MIMXRT1021.h 2.2 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028381283822838328384283852838628387283882838928390283912839228393283942839528396283972839828399284002840128402284032840428405284062840728408284092841028411284122841328414284152841628417284182841928420284212842228423284242842528426284272842828429284302843128432284332843428435284362843728438284392844028441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847328474284752847628477284782847928480284812848228483284842848528486284872848828489284902849128492284932849428495284962849728498284992850028501285022850328504285052850628507285082850928510285112851228513285142851528516285172851828519285202852128522285232852428525285262852728528285292853028531285322853328534285352853628537285382853928540285412854228543285442854528546285472854828549285502855128552285532855428555285562855728558285592856028561285622856328564285652856628567285682856928570285712857228573285742857528576285772857828579285802858128582285832858428585285862858728588285892859028591285922859328594285952859628597285982859928600286012860228603286042860528606286072860828609286102861128612286132861428615286162861728618286192862028621286222862328624286252862628627286282862928630286312863228633286342863528636286372863828639286402864128642286432864428645286462864728648286492865028651286522865328654286552865628657286582865928660286612866228663286642866528666286672866828669286702867128672286732867428675286762867728678286792868028681286822868328684286852868628687286882868928690286912869228693286942869528696286972869828699287002870128702287032870428705287062870728708287092871028711287122871328714287152871628717287182871928720287212872228723287242872528726287272872828729287302873128732287332873428735287362873728738287392874028741287422874328744287452874628747287482874928750287512875228753287542875528756287572875828759287602876128762287632876428765287662876728768287692877028771287722877328774287752877628777287782877928780287812878228783287842878528786287872878828789287902879128792287932879428795287962879728798287992880028801288022880328804288052880628807288082880928810288112881228813288142881528816288172881828819288202882128822288232882428825288262882728828288292883028831288322883328834288352883628837288382883928840288412884228843288442884528846288472884828849288502885128852288532885428855288562885728858288592886028861288622886328864288652886628867288682886928870288712887228873288742887528876288772887828879288802888128882288832888428885288862888728888288892889028891288922889328894288952889628897288982889928900289012890228903289042890528906289072890828909289102891128912289132891428915289162891728918289192892028921289222892328924289252892628927289282892928930289312893228933289342893528936289372893828939289402894128942289432894428945289462894728948289492895028951289522895328954289552895628957289582895928960289612896228963289642896528966289672896828969289702897128972289732897428975289762897728978289792898028981289822898328984289852898628987289882898928990289912899228993289942899528996289972899828999290002900129002290032900429005290062900729008290092901029011290122901329014290152901629017290182901929020290212902229023290242902529026290272902829029290302903129032290332903429035290362903729038290392904029041290422904329044290452904629047290482904929050290512905229053290542905529056290572905829059290602906129062290632906429065290662906729068290692907029071290722907329074290752907629077290782907929080290812908229083290842908529086290872908829089290902909129092290932909429095290962909729098290992910029101291022910329104291052910629107291082910929110291112911229113291142911529116291172911829119291202912129122291232912429125291262912729128291292913029131291322913329134291352913629137291382913929140291412914229143291442914529146291472914829149291502915129152291532915429155291562915729158291592916029161291622916329164291652916629167291682916929170291712917229173291742917529176291772917829179291802918129182291832918429185291862918729188291892919029191291922919329194291952919629197291982919929200292012920229203292042920529206292072920829209292102921129212292132921429215292162921729218292192922029221292222922329224292252922629227292282922929230292312923229233292342923529236292372923829239292402924129242292432924429245292462924729248292492925029251292522925329254292552925629257292582925929260292612926229263292642926529266292672926829269292702927129272292732927429275292762927729278292792928029281292822928329284292852928629287292882928929290292912929229293292942929529296292972929829299293002930129302293032930429305293062930729308293092931029311293122931329314293152931629317293182931929320293212932229323293242932529326293272932829329293302933129332293332933429335293362933729338293392934029341293422934329344293452934629347293482934929350293512935229353293542935529356293572935829359293602936129362293632936429365293662936729368293692937029371293722937329374293752937629377293782937929380293812938229383293842938529386293872938829389293902939129392293932939429395293962939729398293992940029401294022940329404294052940629407294082940929410294112941229413294142941529416294172941829419294202942129422294232942429425294262942729428294292943029431294322943329434294352943629437294382943929440294412944229443294442944529446294472944829449294502945129452294532945429455294562945729458294592946029461294622946329464294652946629467294682946929470294712947229473294742947529476294772947829479294802948129482294832948429485294862948729488294892949029491294922949329494294952949629497294982949929500295012950229503295042950529506295072950829509295102951129512295132951429515295162951729518295192952029521295222952329524295252952629527295282952929530295312953229533295342953529536295372953829539295402954129542295432954429545295462954729548295492955029551295522955329554295552955629557295582955929560295612956229563295642956529566295672956829569295702957129572295732957429575295762957729578295792958029581295822958329584295852958629587295882958929590295912959229593295942959529596295972959829599296002960129602296032960429605296062960729608296092961029611296122961329614296152961629617296182961929620296212962229623296242962529626296272962829629296302963129632296332963429635296362963729638296392964029641296422964329644296452964629647296482964929650296512965229653296542965529656296572965829659296602966129662296632966429665296662966729668296692967029671296722967329674296752967629677296782967929680296812968229683296842968529686296872968829689296902969129692296932969429695296962969729698296992970029701297022970329704297052970629707297082970929710297112971229713297142971529716297172971829719297202972129722297232972429725297262972729728297292973029731297322973329734297352973629737297382973929740297412974229743297442974529746297472974829749297502975129752297532975429755297562975729758297592976029761297622976329764297652976629767297682976929770297712977229773297742977529776297772977829779297802978129782297832978429785297862978729788297892979029791297922979329794297952979629797297982979929800298012980229803298042980529806298072980829809298102981129812298132981429815298162981729818298192982029821298222982329824298252982629827298282982929830298312983229833298342983529836298372983829839298402984129842298432984429845298462984729848298492985029851298522985329854298552985629857298582985929860298612986229863298642986529866298672986829869298702987129872298732987429875298762987729878298792988029881298822988329884298852988629887298882988929890298912989229893298942989529896298972989829899299002990129902299032990429905299062990729908299092991029911299122991329914299152991629917299182991929920299212992229923299242992529926299272992829929299302993129932299332993429935299362993729938299392994029941299422994329944299452994629947299482994929950299512995229953299542995529956299572995829959299602996129962299632996429965299662996729968299692997029971299722997329974299752997629977299782997929980299812998229983299842998529986299872998829989299902999129992299932999429995299962999729998299993000030001300023000330004300053000630007300083000930010300113001230013300143001530016300173001830019300203002130022300233002430025300263002730028300293003030031300323003330034300353003630037300383003930040300413004230043300443004530046300473004830049300503005130052300533005430055300563005730058300593006030061300623006330064300653006630067300683006930070300713007230073300743007530076300773007830079300803008130082300833008430085300863008730088300893009030091300923009330094300953009630097300983009930100301013010230103301043010530106301073010830109301103011130112301133011430115301163011730118301193012030121301223012330124301253012630127301283012930130301313013230133301343013530136301373013830139301403014130142301433014430145301463014730148301493015030151301523015330154301553015630157301583015930160301613016230163301643016530166301673016830169301703017130172301733017430175301763017730178301793018030181301823018330184301853018630187301883018930190301913019230193301943019530196301973019830199302003020130202302033020430205302063020730208302093021030211302123021330214302153021630217302183021930220302213022230223302243022530226302273022830229302303023130232302333023430235302363023730238302393024030241302423024330244302453024630247302483024930250302513025230253302543025530256302573025830259302603026130262302633026430265302663026730268302693027030271302723027330274302753027630277302783027930280302813028230283302843028530286302873028830289302903029130292302933029430295302963029730298302993030030301303023030330304303053030630307303083030930310303113031230313303143031530316303173031830319303203032130322303233032430325303263032730328303293033030331303323033330334303353033630337303383033930340303413034230343303443034530346303473034830349303503035130352303533035430355303563035730358303593036030361303623036330364303653036630367303683036930370303713037230373303743037530376303773037830379303803038130382303833038430385303863038730388303893039030391303923039330394303953039630397303983039930400304013040230403304043040530406304073040830409304103041130412304133041430415304163041730418304193042030421304223042330424304253042630427304283042930430304313043230433304343043530436304373043830439304403044130442304433044430445304463044730448304493045030451304523045330454304553045630457304583045930460304613046230463304643046530466304673046830469304703047130472304733047430475304763047730478304793048030481304823048330484304853048630487304883048930490304913049230493304943049530496304973049830499305003050130502305033050430505305063050730508305093051030511305123051330514305153051630517305183051930520305213052230523305243052530526305273052830529305303053130532305333053430535305363053730538305393054030541305423054330544305453054630547305483054930550305513055230553305543055530556305573055830559305603056130562305633056430565305663056730568305693057030571305723057330574305753057630577305783057930580305813058230583305843058530586305873058830589305903059130592305933059430595305963059730598305993060030601306023060330604306053060630607306083060930610306113061230613306143061530616306173061830619306203062130622306233062430625306263062730628306293063030631306323063330634306353063630637306383063930640306413064230643306443064530646306473064830649306503065130652306533065430655306563065730658306593066030661306623066330664306653066630667306683066930670306713067230673306743067530676306773067830679306803068130682306833068430685306863068730688306893069030691306923069330694306953069630697306983069930700307013070230703307043070530706307073070830709307103071130712307133071430715307163071730718307193072030721307223072330724307253072630727307283072930730307313073230733307343073530736307373073830739307403074130742307433074430745307463074730748307493075030751307523075330754307553075630757307583075930760307613076230763307643076530766307673076830769307703077130772307733077430775307763077730778307793078030781307823078330784307853078630787307883078930790307913079230793307943079530796307973079830799308003080130802308033080430805308063080730808308093081030811308123081330814308153081630817308183081930820308213082230823308243082530826308273082830829308303083130832308333083430835308363083730838308393084030841308423084330844308453084630847308483084930850308513085230853308543085530856308573085830859308603086130862308633086430865308663086730868308693087030871308723087330874308753087630877308783087930880308813088230883308843088530886308873088830889308903089130892308933089430895308963089730898308993090030901309023090330904309053090630907309083090930910309113091230913309143091530916309173091830919309203092130922309233092430925309263092730928309293093030931309323093330934309353093630937309383093930940309413094230943309443094530946309473094830949309503095130952309533095430955309563095730958309593096030961309623096330964309653096630967309683096930970309713097230973309743097530976309773097830979309803098130982309833098430985309863098730988309893099030991309923099330994309953099630997309983099931000310013100231003310043100531006310073100831009310103101131012310133101431015310163101731018310193102031021310223102331024310253102631027310283102931030310313103231033310343103531036310373103831039310403104131042310433104431045310463104731048310493105031051310523105331054310553105631057310583105931060310613106231063310643106531066310673106831069310703107131072310733107431075310763107731078310793108031081310823108331084310853108631087310883108931090310913109231093310943109531096310973109831099311003110131102311033110431105311063110731108311093111031111311123111331114311153111631117311183111931120311213112231123311243112531126311273112831129311303113131132311333113431135311363113731138311393114031141311423114331144311453114631147311483114931150311513115231153311543115531156311573115831159311603116131162311633116431165311663116731168311693117031171311723117331174311753117631177311783117931180311813118231183311843118531186311873118831189311903119131192311933119431195311963119731198311993120031201312023120331204312053120631207312083120931210312113121231213312143121531216312173121831219312203122131222312233122431225312263122731228312293123031231312323123331234312353123631237312383123931240312413124231243312443124531246312473124831249312503125131252312533125431255312563125731258312593126031261312623126331264312653126631267312683126931270312713127231273312743127531276312773127831279312803128131282312833128431285312863128731288312893129031291312923129331294312953129631297312983129931300313013130231303313043130531306313073130831309313103131131312313133131431315313163131731318313193132031321313223132331324313253132631327313283132931330313313133231333313343133531336313373133831339313403134131342313433134431345313463134731348313493135031351313523135331354313553135631357313583135931360313613136231363313643136531366313673136831369313703137131372313733137431375313763137731378313793138031381313823138331384313853138631387313883138931390313913139231393313943139531396313973139831399314003140131402314033140431405314063140731408314093141031411314123141331414314153141631417314183141931420314213142231423314243142531426314273142831429314303143131432314333143431435314363143731438314393144031441314423144331444314453144631447314483144931450314513145231453314543145531456314573145831459314603146131462314633146431465314663146731468314693147031471314723147331474314753147631477314783147931480314813148231483314843148531486314873148831489314903149131492314933149431495314963149731498314993150031501315023150331504315053150631507315083150931510315113151231513315143151531516315173151831519315203152131522315233152431525315263152731528315293153031531315323153331534315353153631537315383153931540315413154231543315443154531546315473154831549315503155131552315533155431555315563155731558315593156031561315623156331564315653156631567315683156931570315713157231573315743157531576315773157831579315803158131582315833158431585315863158731588315893159031591315923159331594315953159631597315983159931600316013160231603316043160531606316073160831609316103161131612316133161431615316163161731618316193162031621316223162331624316253162631627316283162931630316313163231633316343163531636316373163831639316403164131642316433164431645316463164731648316493165031651316523165331654316553165631657316583165931660316613166231663316643166531666316673166831669316703167131672316733167431675316763167731678316793168031681316823168331684316853168631687316883168931690316913169231693316943169531696316973169831699317003170131702317033170431705317063170731708317093171031711317123171331714317153171631717317183171931720317213172231723317243172531726317273172831729317303173131732317333173431735317363173731738317393174031741317423174331744317453174631747317483174931750317513175231753317543175531756317573175831759317603176131762317633176431765317663176731768317693177031771317723177331774317753177631777317783177931780317813178231783317843178531786317873178831789317903179131792317933179431795317963179731798317993180031801318023180331804318053180631807318083180931810318113181231813318143181531816318173181831819318203182131822318233182431825318263182731828318293183031831318323183331834318353183631837318383183931840318413184231843318443184531846318473184831849318503185131852318533185431855318563185731858318593186031861318623186331864318653186631867318683186931870318713187231873318743187531876318773187831879318803188131882318833188431885318863188731888318893189031891318923189331894318953189631897318983189931900319013190231903319043190531906319073190831909319103191131912319133191431915319163191731918319193192031921319223192331924319253192631927319283192931930319313193231933319343193531936319373193831939319403194131942319433194431945319463194731948319493195031951319523195331954319553195631957319583195931960319613196231963319643196531966319673196831969319703197131972319733197431975319763197731978319793198031981319823198331984319853198631987319883198931990319913199231993319943199531996319973199831999320003200132002320033200432005320063200732008320093201032011320123201332014320153201632017320183201932020320213202232023320243202532026320273202832029320303203132032320333203432035320363203732038320393204032041320423204332044320453204632047320483204932050320513205232053320543205532056320573205832059320603206132062320633206432065320663206732068320693207032071320723207332074320753207632077320783207932080320813208232083320843208532086320873208832089320903209132092320933209432095320963209732098320993210032101321023210332104321053210632107321083210932110321113211232113321143211532116321173211832119321203212132122321233212432125321263212732128321293213032131321323213332134321353213632137321383213932140321413214232143321443214532146321473214832149321503215132152321533215432155321563215732158321593216032161321623216332164321653216632167321683216932170321713217232173321743217532176321773217832179321803218132182321833218432185321863218732188321893219032191321923219332194321953219632197321983219932200322013220232203322043220532206322073220832209322103221132212322133221432215322163221732218322193222032221322223222332224322253222632227322283222932230322313223232233322343223532236322373223832239322403224132242322433224432245322463224732248322493225032251322523225332254322553225632257322583225932260322613226232263322643226532266322673226832269322703227132272322733227432275322763227732278322793228032281322823228332284322853228632287322883228932290322913229232293322943229532296322973229832299323003230132302323033230432305323063230732308323093231032311323123231332314323153231632317323183231932320323213232232323323243232532326323273232832329323303233132332323333233432335323363233732338323393234032341323423234332344323453234632347323483234932350323513235232353323543235532356323573235832359323603236132362323633236432365323663236732368323693237032371323723237332374323753237632377323783237932380323813238232383323843238532386323873238832389323903239132392323933239432395323963239732398323993240032401324023240332404324053240632407324083240932410324113241232413324143241532416324173241832419324203242132422324233242432425324263242732428324293243032431324323243332434324353243632437324383243932440324413244232443324443244532446324473244832449324503245132452324533245432455324563245732458324593246032461324623246332464324653246632467324683246932470324713247232473324743247532476324773247832479324803248132482324833248432485324863248732488324893249032491324923249332494324953249632497324983249932500325013250232503325043250532506325073250832509325103251132512325133251432515325163251732518325193252032521325223252332524325253252632527325283252932530325313253232533325343253532536325373253832539325403254132542325433254432545325463254732548325493255032551325523255332554325553255632557325583255932560325613256232563325643256532566325673256832569325703257132572325733257432575325763257732578325793258032581325823258332584325853258632587325883258932590325913259232593325943259532596325973259832599326003260132602326033260432605326063260732608326093261032611326123261332614326153261632617326183261932620326213262232623326243262532626326273262832629326303263132632326333263432635326363263732638326393264032641326423264332644326453264632647326483264932650326513265232653326543265532656326573265832659326603266132662326633266432665326663266732668326693267032671326723267332674326753267632677326783267932680326813268232683326843268532686326873268832689326903269132692326933269432695326963269732698326993270032701327023270332704327053270632707327083270932710327113271232713327143271532716327173271832719327203272132722327233272432725327263272732728327293273032731327323273332734327353273632737327383273932740327413274232743327443274532746327473274832749327503275132752327533275432755327563275732758327593276032761327623276332764327653276632767327683276932770327713277232773327743277532776327773277832779327803278132782327833278432785327863278732788327893279032791327923279332794327953279632797327983279932800328013280232803328043280532806328073280832809328103281132812328133281432815328163281732818328193282032821328223282332824328253282632827328283282932830328313283232833328343283532836328373283832839328403284132842328433284432845328463284732848328493285032851328523285332854328553285632857328583285932860328613286232863328643286532866328673286832869328703287132872328733287432875328763287732878328793288032881328823288332884328853288632887328883288932890328913289232893328943289532896328973289832899329003290132902329033290432905329063290732908329093291032911329123291332914329153291632917329183291932920329213292232923329243292532926329273292832929329303293132932329333293432935329363293732938329393294032941329423294332944329453294632947329483294932950329513295232953329543295532956329573295832959329603296132962329633296432965329663296732968329693297032971329723297332974329753297632977329783297932980329813298232983329843298532986329873298832989329903299132992329933299432995329963299732998329993300033001330023300333004330053300633007330083300933010330113301233013330143301533016330173301833019330203302133022330233302433025330263302733028330293303033031330323303333034330353303633037330383303933040330413304233043330443304533046330473304833049330503305133052330533305433055330563305733058330593306033061330623306333064330653306633067330683306933070330713307233073330743307533076330773307833079330803308133082330833308433085330863308733088330893309033091330923309333094330953309633097330983309933100331013310233103331043310533106331073310833109331103311133112331133311433115331163311733118331193312033121331223312333124331253312633127331283312933130331313313233133331343313533136331373313833139331403314133142331433314433145331463314733148331493315033151331523315333154331553315633157331583315933160331613316233163331643316533166331673316833169331703317133172331733317433175331763317733178331793318033181331823318333184331853318633187331883318933190331913319233193331943319533196331973319833199332003320133202332033320433205332063320733208332093321033211332123321333214332153321633217332183321933220332213322233223332243322533226332273322833229332303323133232332333323433235332363323733238332393324033241332423324333244332453324633247332483324933250332513325233253332543325533256332573325833259332603326133262332633326433265332663326733268332693327033271332723327333274332753327633277332783327933280332813328233283332843328533286332873328833289332903329133292332933329433295332963329733298332993330033301333023330333304333053330633307333083330933310333113331233313333143331533316333173331833319333203332133322333233332433325333263332733328333293333033331333323333333334333353333633337333383333933340333413334233343333443334533346333473334833349333503335133352333533335433355333563335733358333593336033361333623336333364333653336633367333683336933370333713337233373333743337533376333773337833379333803338133382333833338433385333863338733388333893339033391333923339333394333953339633397333983339933400334013340233403334043340533406334073340833409334103341133412334133341433415334163341733418334193342033421334223342333424334253342633427334283342933430334313343233433334343343533436334373343833439334403344133442334433344433445334463344733448334493345033451334523345333454334553345633457334583345933460334613346233463334643346533466334673346833469334703347133472334733347433475334763347733478334793348033481334823348333484334853348633487334883348933490334913349233493334943349533496334973349833499335003350133502335033350433505335063350733508335093351033511335123351333514335153351633517335183351933520335213352233523335243352533526335273352833529335303353133532335333353433535335363353733538335393354033541335423354333544335453354633547335483354933550335513355233553335543355533556335573355833559335603356133562335633356433565335663356733568335693357033571335723357333574335753357633577335783357933580335813358233583335843358533586335873358833589335903359133592335933359433595335963359733598335993360033601336023360333604336053360633607336083360933610336113361233613336143361533616336173361833619336203362133622336233362433625336263362733628336293363033631336323363333634336353363633637336383363933640336413364233643336443364533646336473364833649336503365133652336533365433655336563365733658336593366033661336623366333664336653366633667336683366933670336713367233673336743367533676336773367833679336803368133682336833368433685336863368733688336893369033691336923369333694336953369633697336983369933700337013370233703337043370533706337073370833709337103371133712337133371433715337163371733718337193372033721337223372333724337253372633727337283372933730337313373233733337343373533736337373373833739337403374133742337433374433745337463374733748337493375033751337523375333754337553375633757337583375933760337613376233763337643376533766337673376833769337703377133772337733377433775337763377733778337793378033781337823378333784337853378633787337883378933790337913379233793337943379533796337973379833799338003380133802338033380433805338063380733808338093381033811338123381333814338153381633817338183381933820338213382233823338243382533826338273382833829338303383133832338333383433835338363383733838338393384033841338423384333844338453384633847338483384933850338513385233853338543385533856338573385833859338603386133862338633386433865338663386733868338693387033871338723387333874338753387633877338783387933880338813388233883338843388533886338873388833889338903389133892338933389433895338963389733898338993390033901339023390333904339053390633907339083390933910339113391233913339143391533916339173391833919339203392133922339233392433925339263392733928339293393033931339323393333934339353393633937339383393933940339413394233943339443394533946339473394833949339503395133952339533395433955339563395733958339593396033961339623396333964339653396633967339683396933970339713397233973339743397533976339773397833979339803398133982339833398433985339863398733988339893399033991339923399333994339953399633997339983399934000340013400234003340043400534006340073400834009340103401134012340133401434015340163401734018340193402034021340223402334024340253402634027340283402934030340313403234033340343403534036340373403834039340403404134042340433404434045340463404734048340493405034051340523405334054340553405634057340583405934060340613406234063340643406534066340673406834069340703407134072340733407434075340763407734078340793408034081340823408334084340853408634087340883408934090340913409234093340943409534096340973409834099341003410134102341033410434105341063410734108341093411034111341123411334114341153411634117341183411934120341213412234123341243412534126341273412834129341303413134132341333413434135341363413734138341393414034141341423414334144341453414634147341483414934150341513415234153341543415534156341573415834159341603416134162341633416434165341663416734168341693417034171341723417334174341753417634177341783417934180341813418234183341843418534186341873418834189341903419134192341933419434195341963419734198341993420034201342023420334204342053420634207342083420934210342113421234213342143421534216342173421834219342203422134222342233422434225342263422734228342293423034231342323423334234342353423634237342383423934240342413424234243342443424534246342473424834249342503425134252342533425434255342563425734258342593426034261342623426334264342653426634267342683426934270342713427234273342743427534276342773427834279342803428134282342833428434285342863428734288342893429034291342923429334294342953429634297342983429934300343013430234303343043430534306343073430834309343103431134312343133431434315343163431734318343193432034321343223432334324343253432634327343283432934330343313433234333343343433534336343373433834339343403434134342343433434434345343463434734348343493435034351343523435334354343553435634357343583435934360343613436234363343643436534366343673436834369343703437134372343733437434375343763437734378343793438034381343823438334384343853438634387343883438934390343913439234393343943439534396343973439834399344003440134402344033440434405344063440734408344093441034411344123441334414344153441634417344183441934420344213442234423344243442534426344273442834429344303443134432344333443434435344363443734438344393444034441344423444334444344453444634447344483444934450344513445234453344543445534456344573445834459344603446134462344633446434465344663446734468344693447034471344723447334474344753447634477344783447934480344813448234483344843448534486344873448834489344903449134492344933449434495344963449734498344993450034501345023450334504345053450634507345083450934510345113451234513345143451534516345173451834519345203452134522345233452434525345263452734528345293453034531345323453334534345353453634537345383453934540345413454234543345443454534546345473454834549345503455134552345533455434555345563455734558345593456034561345623456334564345653456634567345683456934570345713457234573345743457534576345773457834579345803458134582345833458434585345863458734588345893459034591345923459334594345953459634597345983459934600346013460234603346043460534606346073460834609346103461134612346133461434615346163461734618346193462034621346223462334624346253462634627346283462934630346313463234633346343463534636346373463834639346403464134642346433464434645346463464734648346493465034651346523465334654346553465634657346583465934660346613466234663346643466534666346673466834669346703467134672346733467434675346763467734678346793468034681346823468334684346853468634687346883468934690346913469234693346943469534696346973469834699347003470134702347033470434705347063470734708347093471034711347123471334714347153471634717347183471934720347213472234723347243472534726347273472834729347303473134732347333473434735347363473734738347393474034741347423474334744347453474634747347483474934750347513475234753347543475534756347573475834759347603476134762347633476434765347663476734768347693477034771347723477334774347753477634777347783477934780347813478234783347843478534786347873478834789347903479134792347933479434795347963479734798347993480034801348023480334804348053480634807348083480934810348113481234813348143481534816348173481834819348203482134822348233482434825348263482734828348293483034831348323483334834348353483634837348383483934840348413484234843348443484534846348473484834849348503485134852348533485434855348563485734858348593486034861348623486334864348653486634867348683486934870348713487234873348743487534876348773487834879348803488134882348833488434885348863488734888348893489034891348923489334894348953489634897348983489934900349013490234903349043490534906349073490834909349103491134912349133491434915349163491734918349193492034921349223492334924349253492634927349283492934930349313493234933349343493534936349373493834939349403494134942349433494434945349463494734948349493495034951349523495334954349553495634957349583495934960349613496234963349643496534966349673496834969349703497134972349733497434975349763497734978349793498034981349823498334984349853498634987349883498934990349913499234993349943499534996349973499834999350003500135002350033500435005350063500735008350093501035011350123501335014350153501635017350183501935020350213502235023350243502535026350273502835029350303503135032350333503435035350363503735038350393504035041350423504335044350453504635047350483504935050350513505235053350543505535056350573505835059350603506135062350633506435065350663506735068350693507035071350723507335074350753507635077350783507935080350813508235083350843508535086350873508835089350903509135092350933509435095350963509735098350993510035101351023510335104351053510635107351083510935110351113511235113351143511535116351173511835119351203512135122351233512435125351263512735128351293513035131351323513335134351353513635137351383513935140351413514235143351443514535146351473514835149351503515135152351533515435155351563515735158351593516035161351623516335164351653516635167351683516935170351713517235173351743517535176351773517835179351803518135182351833518435185351863518735188351893519035191351923519335194351953519635197351983519935200352013520235203352043520535206352073520835209352103521135212352133521435215352163521735218352193522035221352223522335224352253522635227352283522935230352313523235233352343523535236352373523835239352403524135242352433524435245352463524735248352493525035251352523525335254352553525635257352583525935260352613526235263352643526535266352673526835269352703527135272352733527435275352763527735278352793528035281352823528335284352853528635287352883528935290352913529235293352943529535296352973529835299353003530135302353033530435305353063530735308353093531035311353123531335314353153531635317353183531935320353213532235323353243532535326353273532835329353303533135332353333533435335353363533735338353393534035341353423534335344353453534635347353483534935350353513535235353353543535535356353573535835359353603536135362353633536435365353663536735368353693537035371353723537335374353753537635377353783537935380353813538235383353843538535386353873538835389353903539135392353933539435395353963539735398353993540035401354023540335404354053540635407354083540935410354113541235413354143541535416354173541835419354203542135422354233542435425354263542735428354293543035431354323543335434354353543635437354383543935440354413544235443354443544535446354473544835449354503545135452354533545435455354563545735458354593546035461354623546335464354653546635467354683546935470354713547235473354743547535476354773547835479354803548135482354833548435485354863548735488354893549035491354923549335494354953549635497354983549935500355013550235503355043550535506355073550835509355103551135512355133551435515355163551735518355193552035521355223552335524355253552635527355283552935530355313553235533355343553535536355373553835539355403554135542355433554435545355463554735548355493555035551355523555335554355553555635557355583555935560355613556235563355643556535566355673556835569355703557135572355733557435575355763557735578355793558035581355823558335584355853558635587355883558935590355913559235593355943559535596355973559835599356003560135602356033560435605356063560735608356093561035611356123561335614356153561635617356183561935620356213562235623356243562535626356273562835629356303563135632356333563435635356363563735638356393564035641356423564335644356453564635647356483564935650356513565235653356543565535656356573565835659356603566135662356633566435665356663566735668356693567035671356723567335674356753567635677356783567935680356813568235683356843568535686356873568835689356903569135692356933569435695356963569735698356993570035701357023570335704357053570635707357083570935710357113571235713357143571535716357173571835719357203572135722357233572435725357263572735728357293573035731357323573335734357353573635737357383573935740357413574235743357443574535746357473574835749357503575135752357533575435755357563575735758357593576035761357623576335764357653576635767357683576935770357713577235773357743577535776357773577835779357803578135782357833578435785357863578735788357893579035791357923579335794357953579635797357983579935800358013580235803358043580535806358073580835809358103581135812358133581435815358163581735818358193582035821358223582335824358253582635827358283582935830358313583235833358343583535836358373583835839358403584135842358433584435845358463584735848358493585035851358523585335854358553585635857358583585935860358613586235863358643586535866358673586835869358703587135872358733587435875358763587735878358793588035881358823588335884358853588635887358883588935890358913589235893358943589535896358973589835899359003590135902359033590435905359063590735908359093591035911359123591335914359153591635917359183591935920359213592235923359243592535926359273592835929359303593135932359333593435935359363593735938359393594035941359423594335944359453594635947359483594935950359513595235953359543595535956359573595835959359603596135962359633596435965359663596735968359693597035971359723597335974359753597635977359783597935980359813598235983359843598535986359873598835989359903599135992359933599435995359963599735998359993600036001360023600336004360053600636007360083600936010360113601236013360143601536016360173601836019360203602136022360233602436025360263602736028360293603036031360323603336034360353603636037360383603936040360413604236043360443604536046360473604836049360503605136052360533605436055360563605736058360593606036061360623606336064360653606636067360683606936070360713607236073360743607536076360773607836079360803608136082360833608436085360863608736088360893609036091360923609336094360953609636097360983609936100361013610236103361043610536106361073610836109361103611136112361133611436115361163611736118361193612036121361223612336124361253612636127361283612936130361313613236133361343613536136361373613836139361403614136142361433614436145361463614736148361493615036151361523615336154361553615636157361583615936160361613616236163361643616536166361673616836169361703617136172361733617436175361763617736178361793618036181361823618336184361853618636187361883618936190361913619236193361943619536196361973619836199362003620136202362033620436205362063620736208362093621036211362123621336214362153621636217362183621936220362213622236223362243622536226362273622836229362303623136232362333623436235362363623736238362393624036241362423624336244362453624636247362483624936250362513625236253362543625536256362573625836259362603626136262362633626436265362663626736268362693627036271362723627336274362753627636277362783627936280362813628236283362843628536286362873628836289362903629136292362933629436295362963629736298362993630036301363023630336304363053630636307363083630936310363113631236313363143631536316363173631836319363203632136322363233632436325363263632736328363293633036331363323633336334363353633636337363383633936340363413634236343363443634536346363473634836349363503635136352363533635436355363563635736358363593636036361363623636336364363653636636367363683636936370363713637236373363743637536376363773637836379363803638136382363833638436385363863638736388363893639036391363923639336394363953639636397363983639936400364013640236403364043640536406364073640836409364103641136412364133641436415364163641736418364193642036421364223642336424364253642636427364283642936430364313643236433364343643536436364373643836439364403644136442364433644436445364463644736448364493645036451364523645336454364553645636457364583645936460364613646236463364643646536466364673646836469364703647136472364733647436475364763647736478364793648036481364823648336484364853648636487364883648936490364913649236493364943649536496364973649836499365003650136502365033650436505365063650736508365093651036511365123651336514365153651636517365183651936520365213652236523365243652536526365273652836529365303653136532365333653436535365363653736538365393654036541365423654336544365453654636547365483654936550365513655236553365543655536556365573655836559365603656136562365633656436565365663656736568365693657036571365723657336574365753657636577365783657936580365813658236583365843658536586365873658836589365903659136592365933659436595365963659736598365993660036601366023660336604366053660636607366083660936610366113661236613366143661536616366173661836619366203662136622366233662436625366263662736628366293663036631366323663336634366353663636637366383663936640366413664236643366443664536646366473664836649366503665136652366533665436655366563665736658366593666036661366623666336664366653666636667366683666936670366713667236673366743667536676366773667836679366803668136682366833668436685366863668736688366893669036691366923669336694366953669636697366983669936700367013670236703367043670536706367073670836709367103671136712367133671436715367163671736718367193672036721367223672336724367253672636727367283672936730367313673236733367343673536736367373673836739367403674136742367433674436745367463674736748367493675036751367523675336754367553675636757367583675936760367613676236763367643676536766367673676836769367703677136772367733677436775367763677736778367793678036781367823678336784367853678636787367883678936790367913679236793367943679536796367973679836799368003680136802368033680436805368063680736808368093681036811368123681336814368153681636817368183681936820368213682236823368243682536826368273682836829368303683136832368333683436835368363683736838368393684036841368423684336844368453684636847368483684936850368513685236853368543685536856368573685836859368603686136862368633686436865368663686736868368693687036871368723687336874368753687636877368783687936880368813688236883368843688536886368873688836889368903689136892368933689436895368963689736898368993690036901369023690336904369053690636907369083690936910369113691236913369143691536916369173691836919369203692136922369233692436925369263692736928369293693036931369323693336934369353693636937369383693936940369413694236943369443694536946369473694836949369503695136952369533695436955369563695736958369593696036961369623696336964369653696636967369683696936970369713697236973369743697536976369773697836979369803698136982369833698436985369863698736988369893699036991369923699336994369953699636997369983699937000370013700237003370043700537006370073700837009370103701137012370133701437015370163701737018370193702037021370223702337024370253702637027370283702937030370313703237033370343703537036370373703837039370403704137042370433704437045370463704737048370493705037051370523705337054370553705637057370583705937060370613706237063370643706537066370673706837069370703707137072370733707437075370763707737078370793708037081370823708337084370853708637087370883708937090370913709237093370943709537096370973709837099371003710137102371033710437105371063710737108371093711037111371123711337114371153711637117371183711937120371213712237123371243712537126371273712837129371303713137132371333713437135371363713737138371393714037141371423714337144371453714637147371483714937150371513715237153371543715537156371573715837159371603716137162371633716437165371663716737168371693717037171371723717337174371753717637177371783717937180371813718237183371843718537186371873718837189371903719137192371933719437195371963719737198371993720037201372023720337204372053720637207372083720937210372113721237213372143721537216372173721837219372203722137222372233722437225372263722737228372293723037231372323723337234372353723637237372383723937240372413724237243372443724537246372473724837249372503725137252372533725437255372563725737258372593726037261372623726337264372653726637267372683726937270372713727237273372743727537276372773727837279372803728137282372833728437285372863728737288372893729037291372923729337294372953729637297372983729937300373013730237303373043730537306373073730837309373103731137312373133731437315373163731737318373193732037321373223732337324373253732637327373283732937330373313733237333373343733537336373373733837339373403734137342373433734437345373463734737348373493735037351373523735337354373553735637357373583735937360373613736237363373643736537366373673736837369373703737137372373733737437375373763737737378373793738037381373823738337384373853738637387373883738937390373913739237393373943739537396373973739837399374003740137402374033740437405374063740737408374093741037411374123741337414374153741637417374183741937420374213742237423374243742537426374273742837429374303743137432374333743437435374363743737438374393744037441374423744337444374453744637447374483744937450374513745237453374543745537456374573745837459374603746137462374633746437465374663746737468374693747037471374723747337474374753747637477374783747937480374813748237483374843748537486374873748837489374903749137492374933749437495374963749737498374993750037501375023750337504375053750637507375083750937510375113751237513375143751537516375173751837519375203752137522375233752437525375263752737528375293753037531375323753337534375353753637537375383753937540375413754237543375443754537546375473754837549375503755137552375533755437555375563755737558375593756037561375623756337564375653756637567375683756937570375713757237573375743757537576375773757837579375803758137582375833758437585375863758737588375893759037591375923759337594375953759637597375983759937600376013760237603376043760537606376073760837609376103761137612376133761437615376163761737618376193762037621376223762337624376253762637627376283762937630376313763237633376343763537636376373763837639376403764137642376433764437645376463764737648376493765037651376523765337654376553765637657376583765937660376613766237663376643766537666376673766837669376703767137672376733767437675376763767737678376793768037681376823768337684376853768637687376883768937690376913769237693376943769537696376973769837699377003770137702377033770437705377063770737708377093771037711377123771337714377153771637717377183771937720377213772237723377243772537726377273772837729377303773137732377333773437735377363773737738377393774037741377423774337744377453774637747377483774937750377513775237753377543775537756377573775837759377603776137762377633776437765377663776737768377693777037771377723777337774377753777637777377783777937780377813778237783377843778537786377873778837789377903779137792377933779437795377963779737798377993780037801378023780337804378053780637807378083780937810378113781237813378143781537816378173781837819378203782137822378233782437825378263782737828378293783037831378323783337834378353783637837378383783937840378413784237843378443784537846378473784837849378503785137852378533785437855378563785737858378593786037861378623786337864378653786637867378683786937870378713787237873378743787537876378773787837879378803788137882378833788437885378863788737888378893789037891378923789337894378953789637897378983789937900379013790237903379043790537906379073790837909379103791137912379133791437915379163791737918379193792037921379223792337924379253792637927379283792937930379313793237933379343793537936379373793837939379403794137942379433794437945379463794737948379493795037951379523795337954379553795637957379583795937960379613796237963379643796537966379673796837969379703797137972379733797437975379763797737978379793798037981379823798337984379853798637987379883798937990379913799237993379943799537996379973799837999380003800138002380033800438005380063800738008380093801038011380123801338014380153801638017380183801938020380213802238023380243802538026380273802838029380303803138032380333803438035380363803738038380393804038041380423804338044380453804638047380483804938050380513805238053380543805538056380573805838059380603806138062380633806438065380663806738068380693807038071380723807338074380753807638077380783807938080380813808238083380843808538086380873808838089380903809138092380933809438095380963809738098380993810038101381023810338104381053810638107381083810938110381113811238113381143811538116381173811838119381203812138122381233812438125381263812738128381293813038131381323813338134381353813638137381383813938140381413814238143381443814538146381473814838149381503815138152381533815438155381563815738158381593816038161381623816338164381653816638167381683816938170381713817238173381743817538176381773817838179381803818138182381833818438185381863818738188381893819038191381923819338194381953819638197381983819938200382013820238203382043820538206382073820838209382103821138212382133821438215382163821738218382193822038221382223822338224382253822638227382283822938230382313823238233382343823538236382373823838239382403824138242382433824438245382463824738248382493825038251382523825338254382553825638257382583825938260382613826238263382643826538266382673826838269382703827138272382733827438275382763827738278382793828038281382823828338284382853828638287382883828938290382913829238293382943829538296382973829838299383003830138302383033830438305383063830738308383093831038311383123831338314383153831638317383183831938320383213832238323383243832538326383273832838329383303833138332383333833438335383363833738338383393834038341383423834338344383453834638347383483834938350383513835238353383543835538356383573835838359383603836138362383633836438365383663836738368383693837038371383723837338374383753837638377383783837938380383813838238383383843838538386383873838838389383903839138392383933839438395383963839738398383993840038401384023840338404384053840638407384083840938410384113841238413384143841538416384173841838419384203842138422384233842438425384263842738428384293843038431384323843338434384353843638437384383843938440384413844238443384443844538446384473844838449384503845138452384533845438455384563845738458384593846038461384623846338464384653846638467384683846938470384713847238473384743847538476384773847838479384803848138482384833848438485384863848738488384893849038491384923849338494384953849638497384983849938500385013850238503385043850538506385073850838509385103851138512385133851438515385163851738518385193852038521385223852338524385253852638527385283852938530385313853238533385343853538536385373853838539385403854138542385433854438545385463854738548385493855038551385523855338554385553855638557385583855938560385613856238563385643856538566385673856838569385703857138572385733857438575385763857738578385793858038581385823858338584385853858638587385883858938590385913859238593385943859538596385973859838599386003860138602386033860438605386063860738608386093861038611386123861338614386153861638617386183861938620386213862238623386243862538626386273862838629386303863138632386333863438635386363863738638386393864038641386423864338644386453864638647386483864938650386513865238653386543865538656386573865838659386603866138662386633866438665386663866738668386693867038671386723867338674386753867638677386783867938680386813868238683386843868538686386873868838689386903869138692386933869438695386963869738698386993870038701387023870338704387053870638707387083870938710387113871238713387143871538716387173871838719387203872138722387233872438725387263872738728387293873038731387323873338734387353873638737387383873938740387413874238743387443874538746387473874838749387503875138752387533875438755387563875738758387593876038761387623876338764387653876638767387683876938770387713877238773387743877538776387773877838779387803878138782387833878438785387863878738788387893879038791387923879338794387953879638797387983879938800388013880238803388043880538806388073880838809388103881138812388133881438815388163881738818388193882038821388223882338824388253882638827388283882938830388313883238833388343883538836388373883838839388403884138842388433884438845388463884738848388493885038851388523885338854388553885638857388583885938860388613886238863388643886538866388673886838869388703887138872388733887438875388763887738878388793888038881388823888338884388853888638887388883888938890388913889238893388943889538896388973889838899389003890138902389033890438905389063890738908389093891038911389123891338914389153891638917389183891938920389213892238923389243892538926389273892838929389303893138932389333893438935389363893738938389393894038941389423894338944389453894638947389483894938950389513895238953389543895538956389573895838959389603896138962389633896438965389663896738968389693897038971389723897338974389753897638977389783897938980389813898238983389843898538986389873898838989389903899138992389933899438995389963899738998389993900039001390023900339004390053900639007390083900939010390113901239013390143901539016390173901839019390203902139022390233902439025390263902739028390293903039031390323903339034390353903639037390383903939040390413904239043390443904539046390473904839049390503905139052390533905439055390563905739058390593906039061390623906339064390653906639067390683906939070390713907239073390743907539076390773907839079390803908139082390833908439085390863908739088390893909039091390923909339094390953909639097390983909939100391013910239103391043910539106391073910839109391103911139112391133911439115391163911739118391193912039121391223912339124391253912639127391283912939130391313913239133391343913539136391373913839139391403914139142391433914439145391463914739148391493915039151391523915339154391553915639157391583915939160391613916239163391643916539166391673916839169391703917139172391733917439175391763917739178391793918039181391823918339184391853918639187391883918939190391913919239193391943919539196391973919839199392003920139202392033920439205392063920739208392093921039211392123921339214392153921639217392183921939220392213922239223392243922539226392273922839229392303923139232392333923439235392363923739238392393924039241392423924339244392453924639247392483924939250392513925239253392543925539256392573925839259392603926139262392633926439265392663926739268392693927039271392723927339274392753927639277392783927939280392813928239283392843928539286392873928839289392903929139292392933929439295392963929739298392993930039301393023930339304393053930639307393083930939310393113931239313393143931539316393173931839319393203932139322393233932439325393263932739328393293933039331393323933339334393353933639337393383933939340393413934239343393443934539346393473934839349393503935139352393533935439355393563935739358393593936039361393623936339364393653936639367393683936939370393713937239373393743937539376393773937839379393803938139382393833938439385393863938739388393893939039391393923939339394393953939639397393983939939400394013940239403394043940539406394073940839409394103941139412394133941439415394163941739418394193942039421394223942339424394253942639427394283942939430394313943239433394343943539436394373943839439394403944139442394433944439445394463944739448394493945039451394523945339454394553945639457394583945939460394613946239463394643946539466394673946839469394703947139472394733947439475394763947739478394793948039481394823948339484394853948639487394883948939490394913949239493394943949539496394973949839499395003950139502395033950439505395063950739508395093951039511395123951339514395153951639517395183951939520395213952239523395243952539526395273952839529395303953139532395333953439535395363953739538395393954039541395423954339544395453954639547395483954939550395513955239553395543955539556395573955839559395603956139562395633956439565395663956739568395693957039571395723957339574395753957639577395783957939580395813958239583395843958539586395873958839589395903959139592395933959439595395963959739598395993960039601396023960339604396053960639607396083960939610396113961239613396143961539616396173961839619396203962139622396233962439625396263962739628396293963039631396323963339634396353963639637396383963939640396413964239643396443964539646396473964839649396503965139652396533965439655396563965739658396593966039661396623966339664396653966639667396683966939670396713967239673396743967539676396773967839679396803968139682396833968439685396863968739688396893969039691396923969339694396953969639697396983969939700397013970239703397043970539706397073970839709397103971139712397133971439715397163971739718397193972039721397223972339724397253972639727397283972939730397313973239733397343973539736397373973839739397403974139742397433974439745397463974739748397493975039751397523975339754397553975639757397583975939760397613976239763397643976539766397673976839769397703977139772397733977439775397763977739778397793978039781397823978339784397853978639787397883978939790397913979239793397943979539796397973979839799398003980139802398033980439805398063980739808398093981039811398123981339814398153981639817398183981939820398213982239823398243982539826398273982839829398303983139832398333983439835398363983739838398393984039841398423984339844398453984639847398483984939850398513985239853398543985539856398573985839859398603986139862398633986439865398663986739868398693987039871398723987339874398753987639877398783987939880398813988239883398843988539886398873988839889398903989139892398933989439895398963989739898398993990039901399023990339904399053990639907399083990939910399113991239913399143991539916399173991839919399203992139922399233992439925399263992739928399293993039931399323993339934399353993639937399383993939940399413994239943399443994539946399473994839949399503995139952399533995439955399563995739958399593996039961399623996339964399653996639967399683996939970399713997239973399743997539976399773997839979399803998139982399833998439985399863998739988399893999039991399923999339994399953999639997399983999940000400014000240003400044000540006400074000840009400104001140012400134001440015400164001740018400194002040021400224002340024400254002640027400284002940030400314003240033400344003540036400374003840039400404004140042400434004440045400464004740048400494005040051400524005340054400554005640057400584005940060400614006240063400644006540066400674006840069400704007140072400734007440075400764007740078400794008040081400824008340084400854008640087400884008940090400914009240093400944009540096400974009840099401004010140102401034010440105401064010740108401094011040111401124011340114401154011640117401184011940120401214012240123401244012540126401274012840129401304013140132401334013440135401364013740138401394014040141401424014340144401454014640147401484014940150401514015240153401544015540156401574015840159401604016140162401634016440165401664016740168401694017040171401724017340174401754017640177401784017940180401814018240183401844018540186401874018840189401904019140192401934019440195401964019740198401994020040201402024020340204402054020640207402084020940210402114021240213402144021540216402174021840219402204022140222402234022440225402264022740228402294023040231402324023340234402354023640237402384023940240402414024240243402444024540246402474024840249402504025140252402534025440255402564025740258402594026040261402624026340264402654026640267402684026940270402714027240273402744027540276402774027840279402804028140282402834028440285402864028740288402894029040291402924029340294402954029640297402984029940300403014030240303403044030540306403074030840309403104031140312403134031440315403164031740318403194032040321403224032340324403254032640327403284032940330403314033240333403344033540336403374033840339403404034140342403434034440345403464034740348403494035040351403524035340354403554035640357403584035940360403614036240363403644036540366403674036840369403704037140372403734037440375403764037740378403794038040381403824038340384403854038640387403884038940390403914039240393403944039540396403974039840399404004040140402404034040440405404064040740408404094041040411404124041340414404154041640417404184041940420404214042240423404244042540426404274042840429404304043140432404334043440435404364043740438404394044040441404424044340444404454044640447404484044940450404514045240453404544045540456404574045840459404604046140462404634046440465404664046740468404694047040471404724047340474404754047640477404784047940480404814048240483404844048540486404874048840489404904049140492404934049440495404964049740498404994050040501405024050340504405054050640507405084050940510405114051240513405144051540516405174051840519405204052140522405234052440525405264052740528405294053040531405324053340534405354053640537405384053940540405414054240543405444054540546405474054840549405504055140552405534055440555405564055740558405594056040561405624056340564405654056640567405684056940570405714057240573405744057540576405774057840579405804058140582405834058440585405864058740588405894059040591405924059340594405954059640597405984059940600406014060240603406044060540606406074060840609406104061140612406134061440615406164061740618406194062040621406224062340624406254062640627406284062940630406314063240633406344063540636406374063840639406404064140642406434064440645406464064740648406494065040651406524065340654406554065640657406584065940660406614066240663406644066540666406674066840669406704067140672406734067440675406764067740678406794068040681406824068340684406854068640687406884068940690406914069240693406944069540696406974069840699407004070140702407034070440705407064070740708407094071040711407124071340714407154071640717407184071940720407214072240723407244072540726407274072840729407304073140732407334073440735407364073740738407394074040741407424074340744407454074640747407484074940750407514075240753407544075540756407574075840759407604076140762407634076440765407664076740768407694077040771407724077340774407754077640777407784077940780407814078240783407844078540786407874078840789407904079140792407934079440795407964079740798407994080040801408024080340804408054080640807408084080940810408114081240813408144081540816408174081840819408204082140822408234082440825408264082740828408294083040831408324083340834408354083640837408384083940840408414084240843408444084540846408474084840849408504085140852408534085440855408564085740858408594086040861408624086340864408654086640867408684086940870408714087240873408744087540876408774087840879408804088140882408834088440885408864088740888408894089040891408924089340894408954089640897408984089940900409014090240903409044090540906409074090840909409104091140912409134091440915409164091740918409194092040921409224092340924409254092640927409284092940930409314093240933409344093540936409374093840939409404094140942409434094440945409464094740948409494095040951409524095340954409554095640957409584095940960409614096240963409644096540966409674096840969409704097140972409734097440975409764097740978409794098040981409824098340984409854098640987409884098940990409914099240993409944099540996409974099840999410004100141002410034100441005410064100741008410094101041011410124101341014410154101641017410184101941020410214102241023410244102541026410274102841029410304103141032410334103441035410364103741038410394104041041410424104341044410454104641047410484104941050410514105241053410544105541056410574105841059410604106141062410634106441065410664106741068410694107041071410724107341074410754107641077410784107941080410814108241083410844108541086410874108841089410904109141092410934109441095410964109741098410994110041101411024110341104411054110641107411084110941110411114111241113411144111541116411174111841119411204112141122411234112441125411264112741128411294113041131411324113341134411354113641137411384113941140411414114241143411444114541146411474114841149411504115141152411534115441155411564115741158411594116041161411624116341164411654116641167411684116941170411714117241173411744117541176411774117841179411804118141182411834118441185411864118741188411894119041191411924119341194411954119641197411984119941200412014120241203412044120541206412074120841209412104121141212412134121441215412164121741218412194122041221412224122341224412254122641227412284122941230412314123241233412344123541236412374123841239412404124141242412434124441245412464124741248412494125041251412524125341254412554125641257412584125941260412614126241263412644126541266412674126841269412704127141272412734127441275412764127741278412794128041281412824128341284412854128641287412884128941290412914129241293412944129541296412974129841299413004130141302413034130441305413064130741308413094131041311413124131341314413154131641317413184131941320413214132241323413244132541326413274132841329413304133141332413334133441335413364133741338413394134041341413424134341344413454134641347413484134941350413514135241353413544135541356413574135841359413604136141362413634136441365413664136741368413694137041371413724137341374413754137641377413784137941380413814138241383413844138541386413874138841389413904139141392413934139441395413964139741398413994140041401414024140341404414054140641407414084140941410414114141241413414144141541416414174141841419414204142141422414234142441425414264142741428414294143041431414324143341434414354143641437414384143941440414414144241443414444144541446414474144841449414504145141452414534145441455414564145741458414594146041461414624146341464414654146641467414684146941470414714147241473414744147541476414774147841479414804148141482414834148441485414864148741488414894149041491414924149341494414954149641497414984149941500415014150241503415044150541506415074150841509415104151141512415134151441515415164151741518415194152041521415224152341524415254152641527415284152941530415314153241533415344153541536415374153841539415404154141542415434154441545415464154741548415494155041551415524155341554415554155641557415584155941560415614156241563415644156541566415674156841569415704157141572415734157441575415764157741578415794158041581415824158341584415854158641587415884158941590415914159241593415944159541596415974159841599416004160141602416034160441605416064160741608416094161041611416124161341614416154161641617416184161941620416214162241623416244162541626416274162841629416304163141632416334163441635416364163741638416394164041641416424164341644416454164641647416484164941650416514165241653416544165541656416574165841659416604166141662416634166441665416664166741668416694167041671416724167341674416754167641677416784167941680416814168241683416844168541686416874168841689416904169141692416934169441695416964169741698416994170041701417024170341704417054170641707417084170941710417114171241713417144171541716417174171841719417204172141722417234172441725417264172741728417294173041731417324173341734417354173641737417384173941740417414174241743417444174541746417474174841749417504175141752417534175441755417564175741758417594176041761417624176341764417654176641767417684176941770417714177241773417744177541776417774177841779417804178141782417834178441785417864178741788417894179041791417924179341794417954179641797417984179941800418014180241803418044180541806418074180841809418104181141812418134181441815418164181741818418194182041821418224182341824418254182641827418284182941830418314183241833418344183541836418374183841839418404184141842418434184441845418464184741848418494185041851418524185341854418554185641857418584185941860418614186241863418644186541866418674186841869418704187141872418734187441875418764187741878418794188041881418824188341884418854188641887418884188941890418914189241893418944189541896418974189841899419004190141902419034190441905419064190741908419094191041911419124191341914419154191641917419184191941920419214192241923419244192541926419274192841929419304193141932419334193441935419364193741938419394194041941419424194341944419454194641947419484194941950419514195241953419544195541956419574195841959419604196141962419634196441965419664196741968419694197041971419724197341974419754197641977419784197941980419814198241983419844198541986419874198841989419904199141992419934199441995419964199741998419994200042001420024200342004420054200642007420084200942010420114201242013420144201542016420174201842019420204202142022420234202442025420264202742028420294203042031420324203342034420354203642037420384203942040420414204242043420444204542046420474204842049420504205142052420534205442055420564205742058420594206042061420624206342064420654206642067420684206942070420714207242073420744207542076420774207842079420804208142082420834208442085420864208742088420894209042091420924209342094420954209642097420984209942100421014210242103421044210542106421074210842109421104211142112421134211442115421164211742118421194212042121421224212342124421254212642127421284212942130421314213242133421344213542136421374213842139421404214142142421434214442145421464214742148421494215042151421524215342154421554215642157421584215942160421614216242163421644216542166421674216842169421704217142172421734217442175421764217742178421794218042181421824218342184421854218642187421884218942190421914219242193421944219542196421974219842199422004220142202422034220442205422064220742208422094221042211422124221342214422154221642217422184221942220422214222242223422244222542226422274222842229422304223142232422334223442235422364223742238422394224042241422424224342244422454224642247422484224942250422514225242253422544225542256422574225842259422604226142262422634226442265422664226742268422694227042271422724227342274422754227642277422784227942280422814228242283422844228542286422874228842289422904229142292422934229442295422964229742298422994230042301423024230342304423054230642307423084230942310423114231242313423144231542316423174231842319423204232142322423234232442325423264232742328423294233042331423324233342334423354233642337423384233942340423414234242343423444234542346423474234842349423504235142352423534235442355423564235742358423594236042361423624236342364423654236642367423684236942370423714237242373423744237542376423774237842379423804238142382423834238442385423864238742388423894239042391423924239342394423954239642397423984239942400424014240242403424044240542406424074240842409424104241142412424134241442415424164241742418424194242042421424224242342424424254242642427424284242942430424314243242433424344243542436424374243842439424404244142442424434244442445424464244742448424494245042451424524245342454424554245642457424584245942460424614246242463424644246542466424674246842469424704247142472424734247442475424764247742478424794248042481424824248342484424854248642487424884248942490424914249242493424944249542496424974249842499425004250142502425034250442505425064250742508425094251042511425124251342514425154251642517425184251942520425214252242523425244252542526425274252842529425304253142532425334253442535425364253742538425394254042541425424254342544425454254642547425484254942550425514255242553425544255542556425574255842559425604256142562425634256442565425664256742568425694257042571425724257342574425754257642577425784257942580425814258242583425844258542586425874258842589425904259142592425934259442595425964259742598425994260042601426024260342604426054260642607426084260942610426114261242613426144261542616426174261842619426204262142622426234262442625426264262742628426294263042631426324263342634426354263642637426384263942640426414264242643426444264542646426474264842649426504265142652426534265442655426564265742658426594266042661426624266342664426654266642667426684266942670426714267242673426744267542676426774267842679426804268142682426834268442685426864268742688426894269042691426924269342694426954269642697426984269942700427014270242703427044270542706427074270842709427104271142712427134271442715427164271742718427194272042721427224272342724427254272642727427284272942730427314273242733427344273542736427374273842739427404274142742427434274442745427464274742748427494275042751427524275342754427554275642757427584275942760427614276242763427644276542766427674276842769427704277142772427734277442775427764277742778427794278042781427824278342784427854278642787427884278942790427914279242793427944279542796427974279842799428004280142802428034280442805428064280742808428094281042811428124281342814428154281642817428184281942820428214282242823428244282542826428274282842829428304283142832428334283442835428364283742838428394284042841428424284342844428454284642847428484284942850428514285242853428544285542856428574285842859428604286142862428634286442865428664286742868428694287042871428724287342874428754287642877428784287942880428814288242883428844288542886428874288842889428904289142892428934289442895428964289742898428994290042901429024290342904429054290642907429084290942910429114291242913429144291542916429174291842919429204292142922429234292442925429264292742928429294293042931429324293342934429354293642937429384293942940429414294242943429444294542946429474294842949429504295142952429534295442955429564295742958429594296042961429624296342964429654296642967429684296942970429714297242973429744297542976429774297842979429804298142982429834298442985429864298742988429894299042991429924299342994429954299642997429984299943000430014300243003430044300543006430074300843009430104301143012430134301443015430164301743018430194302043021430224302343024430254302643027430284302943030430314303243033430344303543036430374303843039430404304143042430434304443045430464304743048430494305043051430524305343054430554305643057430584305943060430614306243063430644306543066430674306843069430704307143072430734307443075430764307743078430794308043081430824308343084430854308643087430884308943090430914309243093430944309543096430974309843099431004310143102431034310443105431064310743108431094311043111431124311343114431154311643117431184311943120431214312243123431244312543126431274312843129431304313143132431334313443135431364313743138431394314043141431424314343144431454314643147431484314943150431514315243153431544315543156431574315843159431604316143162431634316443165431664316743168431694317043171431724317343174431754317643177431784317943180431814318243183431844318543186431874318843189431904319143192431934319443195431964319743198431994320043201432024320343204432054320643207432084320943210432114321243213432144321543216432174321843219432204322143222432234322443225432264322743228432294323043231432324323343234432354323643237432384323943240432414324243243432444324543246432474324843249432504325143252432534325443255432564325743258432594326043261432624326343264432654326643267432684326943270432714327243273432744327543276432774327843279432804328143282432834328443285432864328743288432894329043291432924329343294432954329643297432984329943300433014330243303433044330543306433074330843309433104331143312433134331443315433164331743318433194332043321433224332343324433254332643327433284332943330433314333243333433344333543336433374333843339433404334143342433434334443345433464334743348433494335043351433524335343354433554335643357433584335943360433614336243363433644336543366433674336843369433704337143372433734337443375433764337743378433794338043381433824338343384433854338643387433884338943390433914339243393433944339543396433974339843399434004340143402434034340443405434064340743408434094341043411434124341343414434154341643417434184341943420434214342243423434244342543426434274342843429434304343143432434334343443435434364343743438434394344043441434424344343444434454344643447434484344943450434514345243453434544345543456434574345843459434604346143462434634346443465434664346743468434694347043471434724347343474434754347643477434784347943480434814348243483434844348543486434874348843489434904349143492434934349443495434964349743498434994350043501435024350343504435054350643507435084350943510435114351243513435144351543516435174351843519435204352143522435234352443525435264352743528435294353043531435324353343534435354353643537435384353943540435414354243543435444354543546435474354843549435504355143552435534355443555435564355743558435594356043561435624356343564435654356643567435684356943570435714357243573435744357543576435774357843579435804358143582435834358443585435864358743588435894359043591435924359343594435954359643597435984359943600436014360243603436044360543606436074360843609436104361143612436134361443615436164361743618436194362043621436224362343624436254362643627436284362943630436314363243633436344363543636436374363843639436404364143642436434364443645436464364743648436494365043651436524365343654436554365643657436584365943660436614366243663436644366543666436674366843669436704367143672436734367443675436764367743678436794368043681436824368343684436854368643687436884368943690436914369243693436944369543696436974369843699437004370143702437034370443705437064370743708437094371043711437124371343714437154371643717437184371943720437214372243723437244372543726437274372843729437304373143732437334373443735437364373743738437394374043741437424374343744437454374643747437484374943750437514375243753437544375543756437574375843759437604376143762437634376443765437664376743768437694377043771437724377343774437754377643777437784377943780437814378243783437844378543786437874378843789437904379143792437934379443795437964379743798437994380043801438024380343804438054380643807438084380943810438114381243813438144381543816438174381843819438204382143822438234382443825438264382743828438294383043831438324383343834438354383643837438384383943840438414384243843438444384543846438474384843849438504385143852438534385443855438564385743858438594386043861438624386343864438654386643867438684386943870438714387243873438744387543876438774387843879438804388143882438834388443885438864388743888438894389043891438924389343894438954389643897438984389943900439014390243903439044390543906439074390843909439104391143912439134391443915439164391743918439194392043921439224392343924439254392643927439284392943930439314393243933439344393543936439374393843939439404394143942439434394443945439464394743948439494395043951439524395343954439554395643957439584395943960439614396243963439644396543966439674396843969439704397143972439734397443975439764397743978439794398043981439824398343984439854398643987439884398943990439914399243993439944399543996439974399843999440004400144002440034400444005440064400744008440094401044011440124401344014440154401644017440184401944020440214402244023440244402544026440274402844029440304403144032440334403444035440364403744038440394404044041440424404344044440454404644047440484404944050440514405244053440544405544056440574405844059440604406144062440634406444065440664406744068440694407044071440724407344074440754407644077440784407944080440814408244083440844408544086440874408844089440904409144092440934409444095440964409744098440994410044101441024410344104441054410644107441084410944110441114411244113441144411544116441174411844119441204412144122441234412444125441264412744128441294413044131441324413344134441354413644137441384413944140441414414244143441444414544146441474414844149441504415144152441534415444155441564415744158441594416044161441624416344164441654416644167441684416944170441714417244173441744417544176441774417844179441804418144182441834418444185441864418744188441894419044191441924419344194441954419644197441984419944200442014420244203442044420544206442074420844209442104421144212442134421444215442164421744218442194422044221442224422344224442254422644227442284422944230442314423244233442344423544236442374423844239442404424144242442434424444245442464424744248442494425044251442524425344254442554425644257442584425944260442614426244263442644426544266442674426844269442704427144272442734427444275442764427744278442794428044281442824428344284442854428644287442884428944290442914429244293442944429544296442974429844299443004430144302443034430444305443064430744308443094431044311443124431344314443154431644317443184431944320443214432244323443244432544326443274432844329443304433144332443334433444335443364433744338443394434044341443424434344344443454434644347443484434944350443514435244353443544435544356443574435844359443604436144362443634436444365443664436744368443694437044371443724437344374443754437644377443784437944380443814438244383443844438544386443874438844389443904439144392443934439444395443964439744398443994440044401444024440344404444054440644407444084440944410444114441244413444144441544416444174441844419444204442144422444234442444425444264442744428444294443044431444324443344434444354443644437444384443944440444414444244443444444444544446444474444844449444504445144452444534445444455444564445744458444594446044461444624446344464444654446644467444684446944470444714447244473444744447544476444774447844479444804448144482444834448444485444864448744488444894449044491444924449344494444954449644497444984449944500445014450244503445044450544506445074450844509445104451144512445134451444515445164451744518445194452044521445224452344524445254452644527445284452944530445314453244533445344453544536445374453844539445404454144542445434454444545445464454744548445494455044551445524455344554445554455644557445584455944560445614456244563445644456544566445674456844569445704457144572445734457444575445764457744578445794458044581445824458344584445854458644587445884458944590445914459244593445944459544596445974459844599446004460144602446034460444605446064460744608446094461044611446124461344614446154461644617446184461944620446214462244623446244462544626446274462844629446304463144632446334463444635446364463744638446394464044641446424464344644446454464644647446484464944650446514465244653446544465544656446574465844659446604466144662446634466444665446664466744668446694467044671446724467344674446754467644677446784467944680446814468244683446844468544686446874468844689446904469144692446934469444695446964469744698446994470044701447024470344704447054470644707447084470944710447114471244713447144471544716447174471844719447204472144722447234472444725447264472744728447294473044731447324473344734447354473644737447384473944740447414474244743447444474544746447474474844749447504475144752447534475444755447564475744758447594476044761447624476344764447654476644767447684476944770447714477244773447744477544776447774477844779447804478144782447834478444785447864478744788447894479044791447924479344794447954479644797447984479944800448014480244803448044480544806448074480844809448104481144812448134481444815448164481744818448194482044821448224482344824448254482644827448284482944830448314483244833448344483544836448374483844839448404484144842448434484444845448464484744848448494485044851448524485344854448554485644857448584485944860448614486244863448644486544866448674486844869448704487144872448734487444875448764487744878448794488044881448824488344884448854488644887448884488944890448914489244893448944489544896448974489844899449004490144902449034490444905449064490744908449094491044911449124491344914449154491644917449184491944920449214492244923449244492544926449274492844929449304493144932449334493444935449364493744938449394494044941449424494344944449454494644947449484494944950449514495244953449544495544956449574495844959449604496144962449634496444965449664496744968449694497044971449724497344974449754497644977449784497944980449814498244983449844498544986449874498844989449904499144992449934499444995449964499744998449994500045001450024500345004450054500645007450084500945010450114501245013450144501545016450174501845019450204502145022450234502445025450264502745028450294503045031450324503345034450354503645037450384503945040450414504245043450444504545046450474504845049450504505145052450534505445055450564505745058450594506045061450624506345064450654506645067450684506945070450714507245073450744507545076450774507845079450804508145082450834508445085450864508745088450894509045091450924509345094450954509645097450984509945100451014510245103451044510545106451074510845109451104511145112451134511445115451164511745118451194512045121451224512345124451254512645127451284512945130451314513245133451344513545136451374513845139451404514145142451434514445145451464514745148451494515045151451524515345154451554515645157451584515945160451614516245163451644516545166451674516845169451704517145172451734517445175451764517745178451794518045181451824518345184451854518645187451884518945190451914519245193451944519545196451974519845199452004520145202452034520445205452064520745208452094521045211452124521345214452154521645217452184521945220452214522245223452244522545226452274522845229452304523145232452334523445235452364523745238452394524045241452424524345244452454524645247452484524945250452514525245253452544525545256452574525845259452604526145262452634526445265452664526745268452694527045271452724527345274452754527645277452784527945280452814528245283452844528545286452874528845289452904529145292452934529445295452964529745298452994530045301453024530345304453054530645307453084530945310453114531245313453144531545316453174531845319453204532145322453234532445325453264532745328453294533045331453324533345334453354533645337453384533945340453414534245343453444534545346453474534845349453504535145352453534535445355453564535745358453594536045361453624536345364453654536645367453684536945370453714537245373453744537545376453774537845379453804538145382453834538445385453864538745388453894539045391453924539345394453954539645397453984539945400454014540245403454044540545406454074540845409454104541145412454134541445415454164541745418454194542045421454224542345424454254542645427454284542945430454314543245433454344543545436454374543845439454404544145442454434544445445454464544745448454494545045451454524545345454454554545645457454584545945460454614546245463454644546545466454674546845469454704547145472454734547445475454764547745478454794548045481454824548345484454854548645487454884548945490454914549245493454944549545496454974549845499455004550145502455034550445505455064550745508455094551045511455124551345514455154551645517455184551945520455214552245523455244552545526455274552845529455304553145532455334553445535455364553745538455394554045541455424554345544455454554645547455484554945550455514555245553455544555545556455574555845559455604556145562455634556445565455664556745568455694557045571455724557345574455754557645577455784557945580455814558245583455844558545586455874558845589455904559145592455934559445595455964559745598455994560045601456024560345604456054560645607456084560945610456114561245613456144561545616456174561845619456204562145622456234562445625456264562745628456294563045631456324563345634456354563645637456384563945640456414564245643456444564545646456474564845649456504565145652456534565445655456564565745658456594566045661456624566345664456654566645667456684566945670456714567245673456744567545676456774567845679456804568145682456834568445685456864568745688456894569045691456924569345694456954569645697456984569945700457014570245703457044570545706457074570845709457104571145712457134571445715457164571745718457194572045721457224572345724457254572645727457284572945730457314573245733457344573545736457374573845739457404574145742457434574445745457464574745748457494575045751457524575345754457554575645757457584575945760457614576245763457644576545766457674576845769457704577145772457734577445775457764577745778457794578045781457824578345784457854578645787457884578945790457914579245793457944579545796457974579845799458004580145802458034580445805458064580745808458094581045811458124581345814458154581645817458184581945820458214582245823458244582545826458274582845829458304583145832458334583445835458364583745838458394584045841458424584345844458454584645847458484584945850458514585245853458544585545856458574585845859458604586145862458634586445865458664586745868458694587045871458724587345874458754587645877458784587945880458814588245883458844588545886458874588845889458904589145892458934589445895458964589745898458994590045901459024590345904459054590645907459084590945910459114591245913459144591545916459174591845919459204592145922459234592445925459264592745928459294593045931459324593345934459354593645937459384593945940459414594245943459444594545946459474594845949459504595145952459534595445955459564595745958459594596045961459624596345964459654596645967459684596945970459714597245973459744597545976459774597845979459804598145982459834598445985459864598745988459894599045991459924599345994459954599645997459984599946000460014600246003460044600546006460074600846009460104601146012460134601446015460164601746018460194602046021460224602346024460254602646027460284602946030460314603246033460344603546036460374603846039460404604146042460434604446045460464604746048460494605046051460524605346054460554605646057460584605946060460614606246063460644606546066460674606846069460704607146072460734607446075460764607746078460794608046081460824608346084460854608646087460884608946090460914609246093460944609546096460974609846099461004610146102461034610446105461064610746108461094611046111461124611346114461154611646117461184611946120461214612246123461244612546126461274612846129461304613146132461334613446135461364613746138461394614046141461424614346144461454614646147461484614946150461514615246153461544615546156461574615846159461604616146162461634616446165461664616746168461694617046171461724617346174461754617646177461784617946180461814618246183461844618546186461874618846189461904619146192461934619446195461964619746198461994620046201462024620346204462054620646207462084620946210462114621246213462144621546216462174621846219462204622146222462234622446225462264622746228462294623046231462324623346234462354623646237462384623946240462414624246243462444624546246462474624846249462504625146252462534625446255462564625746258462594626046261462624626346264462654626646267462684626946270462714627246273462744627546276462774627846279462804628146282462834628446285462864628746288462894629046291462924629346294462954629646297462984629946300463014630246303463044630546306463074630846309463104631146312463134631446315463164631746318463194632046321463224632346324463254632646327463284632946330463314633246333463344633546336463374633846339463404634146342463434634446345463464634746348463494635046351463524635346354463554635646357463584635946360463614636246363463644636546366463674636846369463704637146372463734637446375463764637746378463794638046381463824638346384463854638646387463884638946390463914639246393463944639546396463974639846399464004640146402464034640446405464064640746408464094641046411464124641346414464154641646417464184641946420464214642246423464244642546426464274642846429464304643146432464334643446435464364643746438464394644046441464424644346444464454644646447464484644946450464514645246453464544645546456464574645846459464604646146462464634646446465464664646746468464694647046471464724647346474464754647646477464784647946480464814648246483464844648546486464874648846489464904649146492464934649446495464964649746498464994650046501465024650346504465054650646507465084650946510465114651246513465144651546516465174651846519465204652146522465234652446525465264652746528465294653046531465324653346534465354653646537465384653946540465414654246543465444654546546465474654846549465504655146552465534655446555465564655746558465594656046561465624656346564465654656646567465684656946570465714657246573465744657546576465774657846579465804658146582465834658446585465864658746588465894659046591465924659346594465954659646597465984659946600466014660246603466044660546606466074660846609466104661146612466134661446615466164661746618466194662046621466224662346624466254662646627466284662946630466314663246633466344663546636466374663846639466404664146642466434664446645466464664746648466494665046651466524665346654466554665646657466584665946660466614666246663466644666546666466674666846669466704667146672466734667446675466764667746678466794668046681466824668346684466854668646687466884668946690466914669246693466944669546696466974669846699467004670146702467034670446705467064670746708467094671046711467124671346714467154671646717467184671946720467214672246723467244672546726467274672846729467304673146732467334673446735467364673746738467394674046741467424674346744467454674646747467484674946750467514675246753467544675546756467574675846759467604676146762467634676446765467664676746768467694677046771467724677346774467754677646777467784677946780467814678246783467844678546786467874678846789467904679146792467934679446795467964679746798467994680046801468024680346804468054680646807468084680946810468114681246813468144681546816468174681846819468204682146822468234682446825468264682746828468294683046831468324683346834468354683646837468384683946840468414684246843468444684546846468474684846849468504685146852468534685446855468564685746858468594686046861468624686346864468654686646867468684686946870468714687246873468744687546876468774687846879468804688146882468834688446885468864688746888468894689046891468924689346894468954689646897468984689946900469014690246903469044690546906469074690846909469104691146912469134691446915469164691746918469194692046921469224692346924469254692646927469284692946930469314693246933469344693546936469374693846939469404694146942469434694446945469464694746948469494695046951469524695346954469554695646957469584695946960469614696246963469644696546966469674696846969469704697146972469734697446975469764697746978469794698046981469824698346984469854698646987469884698946990469914699246993469944699546996469974699846999470004700147002470034700447005470064700747008470094701047011470124701347014470154701647017470184701947020470214702247023470244702547026470274702847029470304703147032470334703447035470364703747038470394704047041470424704347044470454704647047470484704947050470514705247053470544705547056470574705847059470604706147062470634706447065470664706747068470694707047071470724707347074470754707647077470784707947080470814708247083470844708547086470874708847089470904709147092470934709447095470964709747098470994710047101471024710347104471054710647107471084710947110471114711247113471144711547116471174711847119471204712147122471234712447125471264712747128471294713047131471324713347134471354713647137471384713947140471414714247143471444714547146471474714847149471504715147152471534715447155471564715747158471594716047161
  1. /*
  2. ** ###################################################################
  3. ** Processors: MIMXRT1021CAF4A
  4. ** MIMXRT1021CAG4A
  5. ** MIMXRT1021DAF5A
  6. ** MIMXRT1021DAG5A
  7. **
  8. ** Compilers: Freescale C/C++ for Embedded ARM
  9. ** GNU C Compiler
  10. ** IAR ANSI C/C++ Compiler for ARM
  11. ** Keil ARM C/C++ Compiler
  12. ** MCUXpresso Compiler
  13. **
  14. ** Reference manual: IMXRT1020RM Rev.2, 01/2021 | IMXRT102XSRM Rev.0
  15. ** Version: rev. 1.2, 2021-08-10
  16. ** Build: b211108
  17. **
  18. ** Abstract:
  19. ** CMSIS Peripheral Access Layer for MIMXRT1021
  20. **
  21. ** Copyright 1997-2016 Freescale Semiconductor, Inc.
  22. ** Copyright 2016-2021 NXP
  23. ** All rights reserved.
  24. **
  25. ** SPDX-License-Identifier: BSD-3-Clause
  26. **
  27. ** http: www.nxp.com
  28. ** mail: support@nxp.com
  29. **
  30. ** Revisions:
  31. ** - rev. 0.1 (2017-11-06)
  32. ** Initial version.
  33. ** - rev. 1.0 (2018-11-27)
  34. ** Update header files to align with IMXRT1020RM Rev.1.
  35. ** - rev. 1.1 (2019-04-29)
  36. ** Add SET/CLR/TOG register group to register CTRL, STAT, CHANNELCTRL, CH0STAT, CH0OPTS, CH1STAT, CH1OPTS, CH2STAT, CH2OPTS, CH3STAT, CH3OPTS of DCP module.
  37. ** - rev. 1.2 (2021-08-10)
  38. ** Update header files to align with IMXRT1020RM Rev.2.
  39. **
  40. ** ###################################################################
  41. */
  42. /*!
  43. * @file MIMXRT1021.h
  44. * @version 1.2
  45. * @date 2021-08-10
  46. * @brief CMSIS Peripheral Access Layer for MIMXRT1021
  47. *
  48. * CMSIS Peripheral Access Layer for MIMXRT1021
  49. */
  50. #ifndef _MIMXRT1021_H_
  51. #define _MIMXRT1021_H_ /**< Symbol preventing repeated inclusion */
  52. /** Memory map major version (memory maps with equal major version number are
  53. * compatible) */
  54. #define MCU_MEM_MAP_VERSION 0x0100U
  55. /** Memory map minor version */
  56. #define MCU_MEM_MAP_VERSION_MINOR 0x0002U
  57. /* ----------------------------------------------------------------------------
  58. -- Interrupt vector numbers
  59. ---------------------------------------------------------------------------- */
  60. /*!
  61. * @addtogroup Interrupt_vector_numbers Interrupt vector numbers
  62. * @{
  63. */
  64. /** Interrupt Number Definitions */
  65. #define NUMBER_OF_INT_VECTORS 158 /**< Number of interrupts in the Vector table */
  66. typedef enum IRQn {
  67. /* Auxiliary constants */
  68. NotAvail_IRQn = -128, /**< Not available device specific interrupt */
  69. /* Core interrupts */
  70. NonMaskableInt_IRQn = -14, /**< Non Maskable Interrupt */
  71. HardFault_IRQn = -13, /**< Cortex-M7 SV Hard Fault Interrupt */
  72. MemoryManagement_IRQn = -12, /**< Cortex-M7 Memory Management Interrupt */
  73. BusFault_IRQn = -11, /**< Cortex-M7 Bus Fault Interrupt */
  74. UsageFault_IRQn = -10, /**< Cortex-M7 Usage Fault Interrupt */
  75. SVCall_IRQn = -5, /**< Cortex-M7 SV Call Interrupt */
  76. DebugMonitor_IRQn = -4, /**< Cortex-M7 Debug Monitor Interrupt */
  77. PendSV_IRQn = -2, /**< Cortex-M7 Pend SV Interrupt */
  78. SysTick_IRQn = -1, /**< Cortex-M7 System Tick Interrupt */
  79. /* Device specific interrupts */
  80. DMA0_DMA16_IRQn = 0, /**< DMA channel 0/16 transfer complete */
  81. DMA1_DMA17_IRQn = 1, /**< DMA channel 1/17 transfer complete */
  82. DMA2_DMA18_IRQn = 2, /**< DMA channel 2/18 transfer complete */
  83. DMA3_DMA19_IRQn = 3, /**< DMA channel 3/19 transfer complete */
  84. DMA4_DMA20_IRQn = 4, /**< DMA channel 4/20 transfer complete */
  85. DMA5_DMA21_IRQn = 5, /**< DMA channel 5/21 transfer complete */
  86. DMA6_DMA22_IRQn = 6, /**< DMA channel 6/22 transfer complete */
  87. DMA7_DMA23_IRQn = 7, /**< DMA channel 7/23 transfer complete */
  88. DMA8_DMA24_IRQn = 8, /**< DMA channel 8/24 transfer complete */
  89. DMA9_DMA25_IRQn = 9, /**< DMA channel 9/25 transfer complete */
  90. DMA10_DMA26_IRQn = 10, /**< DMA channel 10/26 transfer complete */
  91. DMA11_DMA27_IRQn = 11, /**< DMA channel 11/27 transfer complete */
  92. DMA12_DMA28_IRQn = 12, /**< DMA channel 12/28 transfer complete */
  93. DMA13_DMA29_IRQn = 13, /**< DMA channel 13/29 transfer complete */
  94. DMA14_DMA30_IRQn = 14, /**< DMA channel 14/30 transfer complete */
  95. DMA15_DMA31_IRQn = 15, /**< DMA channel 15/31 transfer complete */
  96. DMA_ERROR_IRQn = 16, /**< DMA error interrupt channels 0-15 / 16-31 */
  97. CTI0_ERROR_IRQn = 17, /**< CTI trigger outputs */
  98. CTI1_ERROR_IRQn = 18, /**< CTI trigger outputs */
  99. CORE_IRQn = 19, /**< CorePlatform exception IRQ */
  100. LPUART1_IRQn = 20, /**< LPUART1 TX interrupt and RX interrupt */
  101. LPUART2_IRQn = 21, /**< LPUART2 TX interrupt and RX interrupt */
  102. LPUART3_IRQn = 22, /**< LPUART3 TX interrupt and RX interrupt */
  103. LPUART4_IRQn = 23, /**< LPUART4 TX interrupt and RX interrupt */
  104. LPUART5_IRQn = 24, /**< LPUART5 TX interrupt and RX interrupt */
  105. LPUART6_IRQn = 25, /**< LPUART6 TX interrupt and RX interrupt */
  106. LPUART7_IRQn = 26, /**< LPUART7 TX interrupt and RX interrupt */
  107. LPUART8_IRQn = 27, /**< LPUART8 TX interrupt and RX interrupt */
  108. LPI2C1_IRQn = 28, /**< LPI2C1 interrupt */
  109. LPI2C2_IRQn = 29, /**< LPI2C2 interrupt */
  110. LPI2C3_IRQn = 30, /**< LPI2C3 interrupt */
  111. LPI2C4_IRQn = 31, /**< LPI2C4 interrupt */
  112. LPSPI1_IRQn = 32, /**< LPSPI1 single interrupt vector for all sources */
  113. LPSPI2_IRQn = 33, /**< LPSPI2 single interrupt vector for all sources */
  114. LPSPI3_IRQn = 34, /**< LPSPI3 single interrupt vector for all sources */
  115. LPSPI4_IRQn = 35, /**< LPSPI4 single interrupt vector for all sources */
  116. CAN1_IRQn = 36, /**< CAN1 interrupt */
  117. CAN2_IRQn = 37, /**< CAN2 interrupt */
  118. FLEXRAM_IRQn = 38, /**< FlexRAM address out of range Or access hit IRQ */
  119. KPP_IRQn = 39, /**< Keypad nterrupt */
  120. Reserved56_IRQn = 40, /**< Reserved interrupt */
  121. GPR_IRQ_IRQn = 41, /**< Used to notify cores on exception condition while boot */
  122. Reserved58_IRQn = 42, /**< Reserved interrupt */
  123. Reserved59_IRQn = 43, /**< Reserved interrupt */
  124. Reserved60_IRQn = 44, /**< Reserved interrupt */
  125. WDOG2_IRQn = 45, /**< WDOG2 interrupt */
  126. SNVS_HP_WRAPPER_IRQn = 46, /**< SNVS Functional Interrupt */
  127. SNVS_HP_WRAPPER_TZ_IRQn = 47, /**< SNVS Security Interrupt */
  128. SNVS_LP_HP_WRAPPER_IRQn = 48, /**< ON-OFF button press shorter than 5 secs (pulse event) */
  129. CSU_IRQn = 49, /**< CSU interrupt */
  130. DCP_IRQn = 50, /**< Combined DCP channel interrupts(except channel 0) and CRC interrupt */
  131. DCP_VMI_IRQn = 51, /**< IRQ of DCP channel 0 */
  132. Reserved68_IRQn = 52, /**< Reserved interrupt */
  133. TRNG_IRQn = 53, /**< TRNG interrupt */
  134. Reserved70_IRQn = 54, /**< Reserved interrupt */
  135. BEE_IRQn = 55, /**< BEE interrupt */
  136. SAI1_IRQn = 56, /**< SAI1 interrupt */
  137. SAI2_IRQn = 57, /**< SAI1 interrupt */
  138. SAI3_RX_IRQn = 58, /**< SAI3 interrupt */
  139. SAI3_TX_IRQn = 59, /**< SAI3 interrupt */
  140. SPDIF_IRQn = 60, /**< SPDIF interrupt */
  141. PMU_IRQn = 61, /**< PMU interrupt */
  142. Reserved78_IRQn = 62, /**< Reserved interrupt */
  143. TEMP_LOW_HIGH_IRQn = 63, /**< TEMPMON interrupt */
  144. TEMP_PANIC_IRQn = 64, /**< TEMPMON interrupt */
  145. USB_PHY_IRQn = 65, /**< USBPHY (OTG1 UTMI), Interrupt */
  146. Reserved82_IRQn = 66, /**< Reserved interrupt */
  147. ADC1_IRQn = 67, /**< ADC1 interrupt */
  148. ADC2_IRQn = 68, /**< ADC2 interrupt */
  149. DCDC_IRQn = 69, /**< DCDC interrupt */
  150. Reserved86_IRQn = 70, /**< Reserved interrupt */
  151. Reserved87_IRQn = 71, /**< Reserved interrupt */
  152. GPIO1_INT0_IRQn = 72, /**< Active HIGH Interrupt from INT0 from GPIO */
  153. GPIO1_INT1_IRQn = 73, /**< Active HIGH Interrupt from INT1 from GPIO */
  154. GPIO1_INT2_IRQn = 74, /**< Active HIGH Interrupt from INT2 from GPIO */
  155. GPIO1_INT3_IRQn = 75, /**< Active HIGH Interrupt from INT3 from GPIO */
  156. GPIO1_INT4_IRQn = 76, /**< Active HIGH Interrupt from INT4 from GPIO */
  157. GPIO1_INT5_IRQn = 77, /**< Active HIGH Interrupt from INT5 from GPIO */
  158. GPIO1_INT6_IRQn = 78, /**< Active HIGH Interrupt from INT6 from GPIO */
  159. GPIO1_INT7_IRQn = 79, /**< Active HIGH Interrupt from INT7 from GPIO */
  160. GPIO1_Combined_0_15_IRQn = 80, /**< Combined interrupt indication for GPIO1 signal 0 throughout 15 */
  161. GPIO1_Combined_16_31_IRQn = 81, /**< Combined interrupt indication for GPIO1 signal 16 throughout 31 */
  162. GPIO2_Combined_0_15_IRQn = 82, /**< Combined interrupt indication for GPIO2 signal 0 throughout 15 */
  163. GPIO2_Combined_16_31_IRQn = 83, /**< Combined interrupt indication for GPIO2 signal 16 throughout 31 */
  164. GPIO3_Combined_0_15_IRQn = 84, /**< Combined interrupt indication for GPIO3 signal 0 throughout 15 */
  165. GPIO3_Combined_16_31_IRQn = 85, /**< Combined interrupt indication for GPIO3 signal 16 throughout 31 */
  166. Reserved102_IRQn = 86, /**< Reserved interrupt */
  167. Reserved103_IRQn = 87, /**< Reserved interrupt */
  168. GPIO5_Combined_0_15_IRQn = 88, /**< Combined interrupt indication for GPIO5 signal 0 throughout 15 */
  169. GPIO5_Combined_16_31_IRQn = 89, /**< Combined interrupt indication for GPIO5 signal 16 throughout 31 */
  170. FLEXIO1_IRQn = 90, /**< FLEXIO1 interrupt */
  171. Reserved107_IRQn = 91, /**< Reserved interrupt */
  172. WDOG1_IRQn = 92, /**< WDOG1 interrupt */
  173. RTWDOG_IRQn = 93, /**< RTWDOG interrupt */
  174. EWM_IRQn = 94, /**< EWM interrupt */
  175. CCM_1_IRQn = 95, /**< CCM IRQ1 interrupt */
  176. CCM_2_IRQn = 96, /**< CCM IRQ2 interrupt */
  177. GPC_IRQn = 97, /**< GPC interrupt */
  178. SRC_IRQn = 98, /**< SRC interrupt */
  179. Reserved115_IRQn = 99, /**< Reserved interrupt */
  180. GPT1_IRQn = 100, /**< GPT1 interrupt */
  181. GPT2_IRQn = 101, /**< GPT2 interrupt */
  182. PWM1_0_IRQn = 102, /**< PWM1 capture 0, compare 0, or reload 0 interrupt */
  183. PWM1_1_IRQn = 103, /**< PWM1 capture 1, compare 1, or reload 0 interrupt */
  184. PWM1_2_IRQn = 104, /**< PWM1 capture 2, compare 2, or reload 0 interrupt */
  185. PWM1_3_IRQn = 105, /**< PWM1 capture 3, compare 3, or reload 0 interrupt */
  186. PWM1_FAULT_IRQn = 106, /**< PWM1 fault or reload error interrupt */
  187. Reserved123_IRQn = 107, /**< Reserved interrupt */
  188. FLEXSPI_IRQn = 108, /**< FlexSPI0 interrupt */
  189. SEMC_IRQn = 109, /**< Reserved interrupt */
  190. USDHC1_IRQn = 110, /**< USDHC1 interrupt */
  191. USDHC2_IRQn = 111, /**< USDHC2 interrupt */
  192. Reserved128_IRQn = 112, /**< Reserved interrupt */
  193. USB_OTG1_IRQn = 113, /**< USBO2 USB OTG1 */
  194. ENET_IRQn = 114, /**< ENET interrupt */
  195. ENET_1588_Timer_IRQn = 115, /**< ENET_1588_Timer interrupt */
  196. XBAR1_IRQ_0_1_IRQn = 116, /**< XBAR1 interrupt */
  197. XBAR1_IRQ_2_3_IRQn = 117, /**< XBAR1 interrupt */
  198. ADC_ETC_IRQ0_IRQn = 118, /**< ADCETC IRQ0 interrupt */
  199. ADC_ETC_IRQ1_IRQn = 119, /**< ADCETC IRQ1 interrupt */
  200. ADC_ETC_IRQ2_IRQn = 120, /**< ADCETC IRQ2 interrupt */
  201. ADC_ETC_ERROR_IRQ_IRQn = 121, /**< ADCETC Error IRQ interrupt */
  202. PIT_IRQn = 122, /**< PIT interrupt */
  203. ACMP1_IRQn = 123, /**< ACMP interrupt */
  204. ACMP2_IRQn = 124, /**< ACMP interrupt */
  205. ACMP3_IRQn = 125, /**< ACMP interrupt */
  206. ACMP4_IRQn = 126, /**< ACMP interrupt */
  207. Reserved143_IRQn = 127, /**< Reserved interrupt */
  208. Reserved144_IRQn = 128, /**< Reserved interrupt */
  209. ENC1_IRQn = 129, /**< ENC1 interrupt */
  210. ENC2_IRQn = 130, /**< ENC2 interrupt */
  211. Reserved147_IRQn = 131, /**< Reserved interrupt */
  212. Reserved148_IRQn = 132, /**< Reserved interrupt */
  213. TMR1_IRQn = 133, /**< TMR1 interrupt */
  214. TMR2_IRQn = 134, /**< TMR2 interrupt */
  215. Reserved151_IRQn = 135, /**< Reserved interrupt */
  216. Reserved152_IRQn = 136, /**< Reserved interrupt */
  217. PWM2_0_IRQn = 137, /**< PWM2 capture 0, compare 0, or reload 0 interrupt */
  218. PWM2_1_IRQn = 138, /**< PWM2 capture 1, compare 1, or reload 0 interrupt */
  219. PWM2_2_IRQn = 139, /**< PWM2 capture 2, compare 2, or reload 0 interrupt */
  220. PWM2_3_IRQn = 140, /**< PWM2 capture 3, compare 3, or reload 0 interrupt */
  221. PWM2_FAULT_IRQn = 141 /**< PWM2 fault or reload error interrupt */
  222. } IRQn_Type;
  223. /*!
  224. * @}
  225. */ /* end of group Interrupt_vector_numbers */
  226. /* ----------------------------------------------------------------------------
  227. -- Cortex M7 Core Configuration
  228. ---------------------------------------------------------------------------- */
  229. /*!
  230. * @addtogroup Cortex_Core_Configuration Cortex M7 Core Configuration
  231. * @{
  232. */
  233. #define __MPU_PRESENT 1 /**< Defines if an MPU is present or not */
  234. #define __ICACHE_PRESENT 1 /**< Defines if an ICACHE is present or not */
  235. #define __DCACHE_PRESENT 1 /**< Defines if an DCACHE is present or not */
  236. #define __DTCM_PRESENT 1 /**< Defines if an DTCM is present or not */
  237. #define __NVIC_PRIO_BITS 4 /**< Number of priority bits implemented in the NVIC */
  238. #define __Vendor_SysTickConfig 0 /**< Vendor specific implementation of SysTickConfig is defined */
  239. #define __FPU_PRESENT 1 /**< Defines if an FPU is present or not */
  240. #include "core_cm7.h" /* Core Peripheral Access Layer */
  241. #include "system_MIMXRT1021.h" /* Device specific configuration file */
  242. /*!
  243. * @}
  244. */ /* end of group Cortex_Core_Configuration */
  245. /* ----------------------------------------------------------------------------
  246. -- Mapping Information
  247. ---------------------------------------------------------------------------- */
  248. /*!
  249. * @addtogroup Mapping_Information Mapping Information
  250. * @{
  251. */
  252. /** Mapping Information */
  253. /*!
  254. * @addtogroup iomuxc_pads
  255. * @{ */
  256. /*******************************************************************************
  257. * Definitions
  258. *******************************************************************************/
  259. /*!
  260. * @brief Enumeration for the IOMUXC SW_MUX_CTL_PAD
  261. *
  262. * Defines the enumeration for the IOMUXC SW_MUX_CTL_PAD collections.
  263. */
  264. typedef enum _iomuxc_sw_mux_ctl_pad
  265. {
  266. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_00 = 0U, /**< IOMUXC SW_MUX_CTL_PAD index */
  267. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_01 = 1U, /**< IOMUXC SW_MUX_CTL_PAD index */
  268. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_02 = 2U, /**< IOMUXC SW_MUX_CTL_PAD index */
  269. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_03 = 3U, /**< IOMUXC SW_MUX_CTL_PAD index */
  270. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_04 = 4U, /**< IOMUXC SW_MUX_CTL_PAD index */
  271. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_05 = 5U, /**< IOMUXC SW_MUX_CTL_PAD index */
  272. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_06 = 6U, /**< IOMUXC SW_MUX_CTL_PAD index */
  273. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_07 = 7U, /**< IOMUXC SW_MUX_CTL_PAD index */
  274. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_08 = 8U, /**< IOMUXC SW_MUX_CTL_PAD index */
  275. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_09 = 9U, /**< IOMUXC SW_MUX_CTL_PAD index */
  276. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_10 = 10U, /**< IOMUXC SW_MUX_CTL_PAD index */
  277. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_11 = 11U, /**< IOMUXC SW_MUX_CTL_PAD index */
  278. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_12 = 12U, /**< IOMUXC SW_MUX_CTL_PAD index */
  279. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_13 = 13U, /**< IOMUXC SW_MUX_CTL_PAD index */
  280. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_14 = 14U, /**< IOMUXC SW_MUX_CTL_PAD index */
  281. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_15 = 15U, /**< IOMUXC SW_MUX_CTL_PAD index */
  282. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_16 = 16U, /**< IOMUXC SW_MUX_CTL_PAD index */
  283. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_17 = 17U, /**< IOMUXC SW_MUX_CTL_PAD index */
  284. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_18 = 18U, /**< IOMUXC SW_MUX_CTL_PAD index */
  285. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_19 = 19U, /**< IOMUXC SW_MUX_CTL_PAD index */
  286. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_20 = 20U, /**< IOMUXC SW_MUX_CTL_PAD index */
  287. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_21 = 21U, /**< IOMUXC SW_MUX_CTL_PAD index */
  288. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_22 = 22U, /**< IOMUXC SW_MUX_CTL_PAD index */
  289. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_23 = 23U, /**< IOMUXC SW_MUX_CTL_PAD index */
  290. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_24 = 24U, /**< IOMUXC SW_MUX_CTL_PAD index */
  291. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_25 = 25U, /**< IOMUXC SW_MUX_CTL_PAD index */
  292. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_26 = 26U, /**< IOMUXC SW_MUX_CTL_PAD index */
  293. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_27 = 27U, /**< IOMUXC SW_MUX_CTL_PAD index */
  294. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_28 = 28U, /**< IOMUXC SW_MUX_CTL_PAD index */
  295. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_29 = 29U, /**< IOMUXC SW_MUX_CTL_PAD index */
  296. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_30 = 30U, /**< IOMUXC SW_MUX_CTL_PAD index */
  297. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_31 = 31U, /**< IOMUXC SW_MUX_CTL_PAD index */
  298. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_32 = 32U, /**< IOMUXC SW_MUX_CTL_PAD index */
  299. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_33 = 33U, /**< IOMUXC SW_MUX_CTL_PAD index */
  300. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_34 = 34U, /**< IOMUXC SW_MUX_CTL_PAD index */
  301. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_35 = 35U, /**< IOMUXC SW_MUX_CTL_PAD index */
  302. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_36 = 36U, /**< IOMUXC SW_MUX_CTL_PAD index */
  303. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_37 = 37U, /**< IOMUXC SW_MUX_CTL_PAD index */
  304. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_38 = 38U, /**< IOMUXC SW_MUX_CTL_PAD index */
  305. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_39 = 39U, /**< IOMUXC SW_MUX_CTL_PAD index */
  306. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_40 = 40U, /**< IOMUXC SW_MUX_CTL_PAD index */
  307. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_41 = 41U, /**< IOMUXC SW_MUX_CTL_PAD index */
  308. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_00 = 42U, /**< IOMUXC SW_MUX_CTL_PAD index */
  309. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_01 = 43U, /**< IOMUXC SW_MUX_CTL_PAD index */
  310. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_02 = 44U, /**< IOMUXC SW_MUX_CTL_PAD index */
  311. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_03 = 45U, /**< IOMUXC SW_MUX_CTL_PAD index */
  312. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_04 = 46U, /**< IOMUXC SW_MUX_CTL_PAD index */
  313. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_05 = 47U, /**< IOMUXC SW_MUX_CTL_PAD index */
  314. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_06 = 48U, /**< IOMUXC SW_MUX_CTL_PAD index */
  315. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_07 = 49U, /**< IOMUXC SW_MUX_CTL_PAD index */
  316. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_08 = 50U, /**< IOMUXC SW_MUX_CTL_PAD index */
  317. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_09 = 51U, /**< IOMUXC SW_MUX_CTL_PAD index */
  318. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_10 = 52U, /**< IOMUXC SW_MUX_CTL_PAD index */
  319. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_11 = 53U, /**< IOMUXC SW_MUX_CTL_PAD index */
  320. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_12 = 54U, /**< IOMUXC SW_MUX_CTL_PAD index */
  321. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_13 = 55U, /**< IOMUXC SW_MUX_CTL_PAD index */
  322. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_14 = 56U, /**< IOMUXC SW_MUX_CTL_PAD index */
  323. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_15 = 57U, /**< IOMUXC SW_MUX_CTL_PAD index */
  324. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_00 = 58U, /**< IOMUXC SW_MUX_CTL_PAD index */
  325. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_01 = 59U, /**< IOMUXC SW_MUX_CTL_PAD index */
  326. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_02 = 60U, /**< IOMUXC SW_MUX_CTL_PAD index */
  327. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_03 = 61U, /**< IOMUXC SW_MUX_CTL_PAD index */
  328. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_04 = 62U, /**< IOMUXC SW_MUX_CTL_PAD index */
  329. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_05 = 63U, /**< IOMUXC SW_MUX_CTL_PAD index */
  330. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_06 = 64U, /**< IOMUXC SW_MUX_CTL_PAD index */
  331. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_07 = 65U, /**< IOMUXC SW_MUX_CTL_PAD index */
  332. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_08 = 66U, /**< IOMUXC SW_MUX_CTL_PAD index */
  333. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_09 = 67U, /**< IOMUXC SW_MUX_CTL_PAD index */
  334. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_10 = 68U, /**< IOMUXC SW_MUX_CTL_PAD index */
  335. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_11 = 69U, /**< IOMUXC SW_MUX_CTL_PAD index */
  336. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_12 = 70U, /**< IOMUXC SW_MUX_CTL_PAD index */
  337. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_13 = 71U, /**< IOMUXC SW_MUX_CTL_PAD index */
  338. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_14 = 72U, /**< IOMUXC SW_MUX_CTL_PAD index */
  339. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_15 = 73U, /**< IOMUXC SW_MUX_CTL_PAD index */
  340. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B0_00 = 74U, /**< IOMUXC SW_MUX_CTL_PAD index */
  341. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B0_01 = 75U, /**< IOMUXC SW_MUX_CTL_PAD index */
  342. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B0_02 = 76U, /**< IOMUXC SW_MUX_CTL_PAD index */
  343. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B0_03 = 77U, /**< IOMUXC SW_MUX_CTL_PAD index */
  344. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B0_04 = 78U, /**< IOMUXC SW_MUX_CTL_PAD index */
  345. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B0_05 = 79U, /**< IOMUXC SW_MUX_CTL_PAD index */
  346. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B0_06 = 80U, /**< IOMUXC SW_MUX_CTL_PAD index */
  347. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_00 = 81U, /**< IOMUXC SW_MUX_CTL_PAD index */
  348. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_01 = 82U, /**< IOMUXC SW_MUX_CTL_PAD index */
  349. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_02 = 83U, /**< IOMUXC SW_MUX_CTL_PAD index */
  350. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_03 = 84U, /**< IOMUXC SW_MUX_CTL_PAD index */
  351. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_04 = 85U, /**< IOMUXC SW_MUX_CTL_PAD index */
  352. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_05 = 86U, /**< IOMUXC SW_MUX_CTL_PAD index */
  353. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_06 = 87U, /**< IOMUXC SW_MUX_CTL_PAD index */
  354. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_07 = 88U, /**< IOMUXC SW_MUX_CTL_PAD index */
  355. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_08 = 89U, /**< IOMUXC SW_MUX_CTL_PAD index */
  356. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_09 = 90U, /**< IOMUXC SW_MUX_CTL_PAD index */
  357. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_10 = 91U, /**< IOMUXC SW_MUX_CTL_PAD index */
  358. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_11 = 92U, /**< IOMUXC SW_MUX_CTL_PAD index */
  359. } iomuxc_sw_mux_ctl_pad_t;
  360. /* @} */
  361. /*!
  362. * @addtogroup iomuxc_pads
  363. * @{ */
  364. /*******************************************************************************
  365. * Definitions
  366. *******************************************************************************/
  367. /*!
  368. * @brief Enumeration for the IOMUXC SW_PAD_CTL_PAD
  369. *
  370. * Defines the enumeration for the IOMUXC SW_PAD_CTL_PAD collections.
  371. */
  372. typedef enum _iomuxc_sw_pad_ctl_pad
  373. {
  374. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_00 = 0U, /**< IOMUXC SW_PAD_CTL_PAD index */
  375. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_01 = 1U, /**< IOMUXC SW_PAD_CTL_PAD index */
  376. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_02 = 2U, /**< IOMUXC SW_PAD_CTL_PAD index */
  377. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_03 = 3U, /**< IOMUXC SW_PAD_CTL_PAD index */
  378. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_04 = 4U, /**< IOMUXC SW_PAD_CTL_PAD index */
  379. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_05 = 5U, /**< IOMUXC SW_PAD_CTL_PAD index */
  380. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_06 = 6U, /**< IOMUXC SW_PAD_CTL_PAD index */
  381. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_07 = 7U, /**< IOMUXC SW_PAD_CTL_PAD index */
  382. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_08 = 8U, /**< IOMUXC SW_PAD_CTL_PAD index */
  383. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_09 = 9U, /**< IOMUXC SW_PAD_CTL_PAD index */
  384. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_10 = 10U, /**< IOMUXC SW_PAD_CTL_PAD index */
  385. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_11 = 11U, /**< IOMUXC SW_PAD_CTL_PAD index */
  386. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_12 = 12U, /**< IOMUXC SW_PAD_CTL_PAD index */
  387. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_13 = 13U, /**< IOMUXC SW_PAD_CTL_PAD index */
  388. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_14 = 14U, /**< IOMUXC SW_PAD_CTL_PAD index */
  389. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_15 = 15U, /**< IOMUXC SW_PAD_CTL_PAD index */
  390. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_16 = 16U, /**< IOMUXC SW_PAD_CTL_PAD index */
  391. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_17 = 17U, /**< IOMUXC SW_PAD_CTL_PAD index */
  392. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_18 = 18U, /**< IOMUXC SW_PAD_CTL_PAD index */
  393. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_19 = 19U, /**< IOMUXC SW_PAD_CTL_PAD index */
  394. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_20 = 20U, /**< IOMUXC SW_PAD_CTL_PAD index */
  395. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_21 = 21U, /**< IOMUXC SW_PAD_CTL_PAD index */
  396. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_22 = 22U, /**< IOMUXC SW_PAD_CTL_PAD index */
  397. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_23 = 23U, /**< IOMUXC SW_PAD_CTL_PAD index */
  398. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_24 = 24U, /**< IOMUXC SW_PAD_CTL_PAD index */
  399. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_25 = 25U, /**< IOMUXC SW_PAD_CTL_PAD index */
  400. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_26 = 26U, /**< IOMUXC SW_PAD_CTL_PAD index */
  401. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_27 = 27U, /**< IOMUXC SW_PAD_CTL_PAD index */
  402. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_28 = 28U, /**< IOMUXC SW_PAD_CTL_PAD index */
  403. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_29 = 29U, /**< IOMUXC SW_PAD_CTL_PAD index */
  404. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_30 = 30U, /**< IOMUXC SW_PAD_CTL_PAD index */
  405. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_31 = 31U, /**< IOMUXC SW_PAD_CTL_PAD index */
  406. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_32 = 32U, /**< IOMUXC SW_PAD_CTL_PAD index */
  407. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_33 = 33U, /**< IOMUXC SW_PAD_CTL_PAD index */
  408. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_34 = 34U, /**< IOMUXC SW_PAD_CTL_PAD index */
  409. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_35 = 35U, /**< IOMUXC SW_PAD_CTL_PAD index */
  410. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_36 = 36U, /**< IOMUXC SW_PAD_CTL_PAD index */
  411. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_37 = 37U, /**< IOMUXC SW_PAD_CTL_PAD index */
  412. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_38 = 38U, /**< IOMUXC SW_PAD_CTL_PAD index */
  413. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_39 = 39U, /**< IOMUXC SW_PAD_CTL_PAD index */
  414. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_40 = 40U, /**< IOMUXC SW_PAD_CTL_PAD index */
  415. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_41 = 41U, /**< IOMUXC SW_PAD_CTL_PAD index */
  416. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_00 = 42U, /**< IOMUXC SW_PAD_CTL_PAD index */
  417. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_01 = 43U, /**< IOMUXC SW_PAD_CTL_PAD index */
  418. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_02 = 44U, /**< IOMUXC SW_PAD_CTL_PAD index */
  419. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_03 = 45U, /**< IOMUXC SW_PAD_CTL_PAD index */
  420. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_04 = 46U, /**< IOMUXC SW_PAD_CTL_PAD index */
  421. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_05 = 47U, /**< IOMUXC SW_PAD_CTL_PAD index */
  422. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_06 = 48U, /**< IOMUXC SW_PAD_CTL_PAD index */
  423. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_07 = 49U, /**< IOMUXC SW_PAD_CTL_PAD index */
  424. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_08 = 50U, /**< IOMUXC SW_PAD_CTL_PAD index */
  425. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_09 = 51U, /**< IOMUXC SW_PAD_CTL_PAD index */
  426. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_10 = 52U, /**< IOMUXC SW_PAD_CTL_PAD index */
  427. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_11 = 53U, /**< IOMUXC SW_PAD_CTL_PAD index */
  428. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_12 = 54U, /**< IOMUXC SW_PAD_CTL_PAD index */
  429. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_13 = 55U, /**< IOMUXC SW_PAD_CTL_PAD index */
  430. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_14 = 56U, /**< IOMUXC SW_PAD_CTL_PAD index */
  431. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_15 = 57U, /**< IOMUXC SW_PAD_CTL_PAD index */
  432. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_00 = 58U, /**< IOMUXC SW_PAD_CTL_PAD index */
  433. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_01 = 59U, /**< IOMUXC SW_PAD_CTL_PAD index */
  434. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_02 = 60U, /**< IOMUXC SW_PAD_CTL_PAD index */
  435. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_03 = 61U, /**< IOMUXC SW_PAD_CTL_PAD index */
  436. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_04 = 62U, /**< IOMUXC SW_PAD_CTL_PAD index */
  437. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_05 = 63U, /**< IOMUXC SW_PAD_CTL_PAD index */
  438. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_06 = 64U, /**< IOMUXC SW_PAD_CTL_PAD index */
  439. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_07 = 65U, /**< IOMUXC SW_PAD_CTL_PAD index */
  440. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_08 = 66U, /**< IOMUXC SW_PAD_CTL_PAD index */
  441. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_09 = 67U, /**< IOMUXC SW_PAD_CTL_PAD index */
  442. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_10 = 68U, /**< IOMUXC SW_PAD_CTL_PAD index */
  443. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_11 = 69U, /**< IOMUXC SW_PAD_CTL_PAD index */
  444. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_12 = 70U, /**< IOMUXC SW_PAD_CTL_PAD index */
  445. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_13 = 71U, /**< IOMUXC SW_PAD_CTL_PAD index */
  446. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_14 = 72U, /**< IOMUXC SW_PAD_CTL_PAD index */
  447. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_15 = 73U, /**< IOMUXC SW_PAD_CTL_PAD index */
  448. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B0_00 = 74U, /**< IOMUXC SW_PAD_CTL_PAD index */
  449. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B0_01 = 75U, /**< IOMUXC SW_PAD_CTL_PAD index */
  450. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B0_02 = 76U, /**< IOMUXC SW_PAD_CTL_PAD index */
  451. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B0_03 = 77U, /**< IOMUXC SW_PAD_CTL_PAD index */
  452. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B0_04 = 78U, /**< IOMUXC SW_PAD_CTL_PAD index */
  453. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B0_05 = 79U, /**< IOMUXC SW_PAD_CTL_PAD index */
  454. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B0_06 = 80U, /**< IOMUXC SW_PAD_CTL_PAD index */
  455. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_00 = 81U, /**< IOMUXC SW_PAD_CTL_PAD index */
  456. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_01 = 82U, /**< IOMUXC SW_PAD_CTL_PAD index */
  457. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_02 = 83U, /**< IOMUXC SW_PAD_CTL_PAD index */
  458. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_03 = 84U, /**< IOMUXC SW_PAD_CTL_PAD index */
  459. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_04 = 85U, /**< IOMUXC SW_PAD_CTL_PAD index */
  460. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_05 = 86U, /**< IOMUXC SW_PAD_CTL_PAD index */
  461. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_06 = 87U, /**< IOMUXC SW_PAD_CTL_PAD index */
  462. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_07 = 88U, /**< IOMUXC SW_PAD_CTL_PAD index */
  463. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_08 = 89U, /**< IOMUXC SW_PAD_CTL_PAD index */
  464. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_09 = 90U, /**< IOMUXC SW_PAD_CTL_PAD index */
  465. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_10 = 91U, /**< IOMUXC SW_PAD_CTL_PAD index */
  466. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_11 = 92U, /**< IOMUXC SW_PAD_CTL_PAD index */
  467. } iomuxc_sw_pad_ctl_pad_t;
  468. /* @} */
  469. /*!
  470. * @brief Enumeration for the IOMUXC select input
  471. *
  472. * Defines the enumeration for the IOMUXC select input collections.
  473. */
  474. typedef enum _iomuxc_select_input
  475. {
  476. kIOMUXC_ANATOP_USB_OTG_ID_SELECT_INPUT = 0U, /**< IOMUXC select input index */
  477. kIOMUXC_CCM_PMIC_READY_SELECT_INPUT = 1U, /**< IOMUXC select input index */
  478. kIOMUXC_ENET_RMII_SELECT_INPUT = 2U, /**< IOMUXC select input index */
  479. kIOMUXC_ENET_MDIO_SELECT_INPUT = 3U, /**< IOMUXC select input index */
  480. kIOMUXC_ENET_RX_DATA0_SELECT_INPUT = 4U, /**< IOMUXC select input index */
  481. kIOMUXC_ENET_RX_DATA1_SELECT_INPUT = 5U, /**< IOMUXC select input index */
  482. kIOMUXC_ENET_RX_EN_SELECT_INPUT = 6U, /**< IOMUXC select input index */
  483. kIOMUXC_ENET_RX_ERR_SELECT_INPUT = 7U, /**< IOMUXC select input index */
  484. kIOMUXC_ENET_TX_CLK_SELECT_INPUT = 8U, /**< IOMUXC select input index */
  485. kIOMUXC_FLEXCAN1_RX_SELECT_INPUT = 9U, /**< IOMUXC select input index */
  486. kIOMUXC_FLEXCAN2_RX_SELECT_INPUT = 10U, /**< IOMUXC select input index */
  487. kIOMUXC_FLEXPWM1_PWMA0_SELECT_INPUT = 11U, /**< IOMUXC select input index */
  488. kIOMUXC_FLEXPWM1_PWMA1_SELECT_INPUT = 12U, /**< IOMUXC select input index */
  489. kIOMUXC_FLEXPWM1_PWMA2_SELECT_INPUT = 13U, /**< IOMUXC select input index */
  490. kIOMUXC_FLEXPWM1_PWMA3_SELECT_INPUT = 14U, /**< IOMUXC select input index */
  491. kIOMUXC_FLEXPWM1_PWMB0_SELECT_INPUT = 15U, /**< IOMUXC select input index */
  492. kIOMUXC_FLEXPWM1_PWMB1_SELECT_INPUT = 16U, /**< IOMUXC select input index */
  493. kIOMUXC_FLEXPWM1_PWMB2_SELECT_INPUT = 17U, /**< IOMUXC select input index */
  494. kIOMUXC_FLEXPWM1_PWMB3_SELECT_INPUT = 18U, /**< IOMUXC select input index */
  495. kIOMUXC_FLEXPWM2_PWMA0_SELECT_INPUT = 19U, /**< IOMUXC select input index */
  496. kIOMUXC_FLEXPWM2_PWMA1_SELECT_INPUT = 20U, /**< IOMUXC select input index */
  497. kIOMUXC_FLEXPWM2_PWMA2_SELECT_INPUT = 21U, /**< IOMUXC select input index */
  498. kIOMUXC_FLEXPWM2_PWMA3_SELECT_INPUT = 22U, /**< IOMUXC select input index */
  499. kIOMUXC_FLEXPWM2_PWMB0_SELECT_INPUT = 23U, /**< IOMUXC select input index */
  500. kIOMUXC_FLEXPWM2_PWMB1_SELECT_INPUT = 24U, /**< IOMUXC select input index */
  501. kIOMUXC_FLEXPWM2_PWMB2_SELECT_INPUT = 25U, /**< IOMUXC select input index */
  502. kIOMUXC_FLEXPWM2_PWMB3_SELECT_INPUT = 26U, /**< IOMUXC select input index */
  503. kIOMUXC_FLEXSPI_A_DATA0_SELECT_INPUT = 27U, /**< IOMUXC select input index */
  504. kIOMUXC_FLEXSPI_A_DATA1_SELECT_INPUT = 28U, /**< IOMUXC select input index */
  505. kIOMUXC_FLEXSPI_A_DATA2_SELECT_INPUT = 29U, /**< IOMUXC select input index */
  506. kIOMUXC_FLEXSPI_A_DATA3_SELECT_INPUT = 30U, /**< IOMUXC select input index */
  507. kIOMUXC_FLEXSPI_A_SCLK_SELECT_INPUT = 31U, /**< IOMUXC select input index */
  508. kIOMUXC_LPI2C1_SCL_SELECT_INPUT = 32U, /**< IOMUXC select input index */
  509. kIOMUXC_LPI2C1_SDA_SELECT_INPUT = 33U, /**< IOMUXC select input index */
  510. kIOMUXC_LPI2C2_SCL_SELECT_INPUT = 34U, /**< IOMUXC select input index */
  511. kIOMUXC_LPI2C2_SDA_SELECT_INPUT = 35U, /**< IOMUXC select input index */
  512. kIOMUXC_LPI2C3_SCL_SELECT_INPUT = 36U, /**< IOMUXC select input index */
  513. kIOMUXC_LPI2C3_SDA_SELECT_INPUT = 37U, /**< IOMUXC select input index */
  514. kIOMUXC_LPI2C4_SCL_SELECT_INPUT = 38U, /**< IOMUXC select input index */
  515. kIOMUXC_LPI2C4_SDA_SELECT_INPUT = 39U, /**< IOMUXC select input index */
  516. kIOMUXC_LPSPI1_PCS0_SELECT_INPUT = 40U, /**< IOMUXC select input index */
  517. kIOMUXC_LPSPI1_SCK_SELECT_INPUT = 41U, /**< IOMUXC select input index */
  518. kIOMUXC_LPSPI1_SDI_SELECT_INPUT = 42U, /**< IOMUXC select input index */
  519. kIOMUXC_LPSPI1_SDO_SELECT_INPUT = 43U, /**< IOMUXC select input index */
  520. kIOMUXC_LPSPI2_PCS0_SELECT_INPUT = 44U, /**< IOMUXC select input index */
  521. kIOMUXC_LPSPI2_SCK_SELECT_INPUT = 45U, /**< IOMUXC select input index */
  522. kIOMUXC_LPSPI2_SDI_SELECT_INPUT = 46U, /**< IOMUXC select input index */
  523. kIOMUXC_LPSPI2_SDO_SELECT_INPUT = 47U, /**< IOMUXC select input index */
  524. kIOMUXC_LPSPI4_PCS0_SELECT_INPUT = 48U, /**< IOMUXC select input index */
  525. kIOMUXC_LPSPI4_SCK_SELECT_INPUT = 49U, /**< IOMUXC select input index */
  526. kIOMUXC_LPSPI4_SDI_SELECT_INPUT = 50U, /**< IOMUXC select input index */
  527. kIOMUXC_LPSPI4_SDO_SELECT_INPUT = 51U, /**< IOMUXC select input index */
  528. kIOMUXC_LPUART2_CTS_B_SELECT_INPUT = 52U, /**< IOMUXC select input index */
  529. kIOMUXC_LPUART2_RX_SELECT_INPUT = 53U, /**< IOMUXC select input index */
  530. kIOMUXC_LPUART2_TX_SELECT_INPUT = 54U, /**< IOMUXC select input index */
  531. kIOMUXC_LPUART3_RX_SELECT_INPUT = 55U, /**< IOMUXC select input index */
  532. kIOMUXC_LPUART3_TX_SELECT_INPUT = 56U, /**< IOMUXC select input index */
  533. kIOMUXC_LPUART4_CTS_B_SELECT_INPUT = 57U, /**< IOMUXC select input index */
  534. kIOMUXC_LPUART4_RX_SELECT_INPUT = 58U, /**< IOMUXC select input index */
  535. kIOMUXC_LPUART4_TX_SELECT_INPUT = 59U, /**< IOMUXC select input index */
  536. kIOMUXC_LPUART5_RX_SELECT_INPUT = 60U, /**< IOMUXC select input index */
  537. kIOMUXC_LPUART5_TX_SELECT_INPUT = 61U, /**< IOMUXC select input index */
  538. kIOMUXC_LPUART6_RX_SELECT_INPUT = 62U, /**< IOMUXC select input index */
  539. kIOMUXC_LPUART6_TX_SELECT_INPUT = 63U, /**< IOMUXC select input index */
  540. kIOMUXC_LPUART7_RX_SELECT_INPUT = 64U, /**< IOMUXC select input index */
  541. kIOMUXC_LPUART7_TX_SELECT_INPUT = 65U, /**< IOMUXC select input index */
  542. kIOMUXC_LPUART8_RX_SELECT_INPUT = 66U, /**< IOMUXC select input index */
  543. kIOMUXC_LPUART8_TX_SELECT_INPUT = 67U, /**< IOMUXC select input index */
  544. kIOMUXC_NMI_SELECT_INPUT = 68U, /**< IOMUXC select input index */
  545. kIOMUXC_QTIMER1_TIMER0_INPUT_SELECT_INPUT = 69U, /**< IOMUXC select input index */
  546. kIOMUXC_QTIMER1_TIMER1_INPUT_SELECT_INPUT = 70U, /**< IOMUXC select input index */
  547. kIOMUXC_QTIMER1_TIMER2_INPUT_SELECT_INPUT = 71U, /**< IOMUXC select input index */
  548. kIOMUXC_QTIMER1_TIMER3_INPUT_SELECT_INPUT = 72U, /**< IOMUXC select input index */
  549. kIOMUXC_QTIMER2_TIMER0_INPUT_SELECT_INPUT = 73U, /**< IOMUXC select input index */
  550. kIOMUXC_QTIMER2_TIMER1_INPUT_SELECT_INPUT = 74U, /**< IOMUXC select input index */
  551. kIOMUXC_QTIMER2_TIMER2_INPUT_SELECT_INPUT = 75U, /**< IOMUXC select input index */
  552. kIOMUXC_QTIMER2_TIMER3_INPUT_SELECT_INPUT = 76U, /**< IOMUXC select input index */
  553. kIOMUXC_SAI1_MCLK_SELECT_INPUT = 77U, /**< IOMUXC select input index */
  554. kIOMUXC_SAI1_RX_BCLK_SELECT_INPUT = 78U, /**< IOMUXC select input index */
  555. kIOMUXC_SAI1_RX_DATA0_SELECT_INPUT = 79U, /**< IOMUXC select input index */
  556. kIOMUXC_SAI1_RX_DATA1_SELECT_INPUT = 80U, /**< IOMUXC select input index */
  557. kIOMUXC_SAI1_RX_DATA2_SELECT_INPUT = 81U, /**< IOMUXC select input index */
  558. kIOMUXC_SAI1_RX_DATA3_SELECT_INPUT = 82U, /**< IOMUXC select input index */
  559. kIOMUXC_SAI1_RX_SYNC_SELECT_INPUT = 83U, /**< IOMUXC select input index */
  560. kIOMUXC_SAI1_TX_BCLK_SELECT_INPUT = 84U, /**< IOMUXC select input index */
  561. kIOMUXC_SAI1_TX_SYNC_SELECT_INPUT = 85U, /**< IOMUXC select input index */
  562. kIOMUXC_SAI2_MCLK_SELECT_INPUT = 86U, /**< IOMUXC select input index */
  563. kIOMUXC_SAI2_RX_BCLK_SELECT_INPUT = 87U, /**< IOMUXC select input index */
  564. kIOMUXC_SAI2_RX_DATA0_SELECT_INPUT = 88U, /**< IOMUXC select input index */
  565. kIOMUXC_SAI2_RX_SYNC_SELECT_INPUT = 89U, /**< IOMUXC select input index */
  566. kIOMUXC_SAI2_TX_BCLK_SELECT_INPUT = 90U, /**< IOMUXC select input index */
  567. kIOMUXC_SAI2_TX_SYNC_SELECT_INPUT = 91U, /**< IOMUXC select input index */
  568. kIOMUXC_SAI3_MCLK_SELECT_INPUT = 92U, /**< IOMUXC select input index */
  569. kIOMUXC_SAI3_RX_BCLK_SELECT_INPUT = 93U, /**< IOMUXC select input index */
  570. kIOMUXC_SAI3_RX_DATA0_SELECT_INPUT = 94U, /**< IOMUXC select input index */
  571. kIOMUXC_SAI3_RX_SYNC_SELECT_INPUT = 95U, /**< IOMUXC select input index */
  572. kIOMUXC_SAI3_TX_BCLK_SELECT_INPUT = 96U, /**< IOMUXC select input index */
  573. kIOMUXC_SAI3_TX_SYNC_SELECT_INPUT = 97U, /**< IOMUXC select input index */
  574. kIOMUXC_SEMC_READY_SELECT_INPUT = 98U, /**< IOMUXC select input index */
  575. kIOMUXC_SPDIF_IN_SELECT_INPUT = 99U, /**< IOMUXC select input index */
  576. kIOMUXC_USB_OTG_OC_SELECT_INPUT = 100U, /**< IOMUXC select input index */
  577. kIOMUXC_USDHC1_CD_B_SELECT_INPUT = 101U, /**< IOMUXC select input index */
  578. kIOMUXC_USDHC1_WP_SELECT_INPUT = 102U, /**< IOMUXC select input index */
  579. kIOMUXC_USDHC2_CD_B_SELECT_INPUT = 103U, /**< IOMUXC select input index */
  580. kIOMUXC_USDHC2_WP_SELECT_INPUT = 104U, /**< IOMUXC select input index */
  581. kIOMUXC_XBAR1_IN14_SELECT_INPUT = 105U, /**< IOMUXC select input index */
  582. kIOMUXC_XBAR1_IN15_SELECT_INPUT = 106U, /**< IOMUXC select input index */
  583. kIOMUXC_XBAR1_IN16_SELECT_INPUT = 107U, /**< IOMUXC select input index */
  584. kIOMUXC_XBAR1_IN17_SELECT_INPUT = 108U, /**< IOMUXC select input index */
  585. kIOMUXC_XBAR1_IN10_SELECT_INPUT = 109U, /**< IOMUXC select input index */
  586. kIOMUXC_XBAR1_IN12_SELECT_INPUT = 110U, /**< IOMUXC select input index */
  587. kIOMUXC_XBAR1_IN13_SELECT_INPUT = 111U, /**< IOMUXC select input index */
  588. kIOMUXC_XBAR1_IN18_SELECT_INPUT = 112U, /**< IOMUXC select input index */
  589. kIOMUXC_XBAR1_IN19_SELECT_INPUT = 113U, /**< IOMUXC select input index */
  590. } iomuxc_select_input_t;
  591. typedef enum _xbar_input_signal
  592. {
  593. kXBARA1_InputLogicLow = 0|0x100U, /**< LOGIC_LOW output assigned to XBARA_IN0 input. */
  594. kXBARA1_InputLogicHigh = 1|0x100U, /**< LOGIC_HIGH output assigned to XBARA_IN1 input. */
  595. kXBARA1_InputRESERVED2 = 2|0x100U, /**< XBARA_IN2 input is reserved. */
  596. kXBARA1_InputRESERVED3 = 3|0x100U, /**< XBARA_IN3 input is reserved. */
  597. kXBARA1_InputIomuxXbarInout04 = 4|0x100U, /**< IOMUX_XBAR_INOUT04 output assigned to XBARA_IN4 input. */
  598. kXBARA1_InputIomuxXbarInout05 = 5|0x100U, /**< IOMUX_XBAR_INOUT05 output assigned to XBARA_IN5 input. */
  599. kXBARA1_InputIomuxXbarInout06 = 6|0x100U, /**< IOMUX_XBAR_INOUT06 output assigned to XBARA_IN6 input. */
  600. kXBARA1_InputIomuxXbarInout07 = 7|0x100U, /**< IOMUX_XBAR_INOUT07 output assigned to XBARA_IN7 input. */
  601. kXBARA1_InputIomuxXbarInout08 = 8|0x100U, /**< IOMUX_XBAR_INOUT08 output assigned to XBARA_IN8 input. */
  602. kXBARA1_InputIomuxXbarInout09 = 9|0x100U, /**< IOMUX_XBAR_INOUT09 output assigned to XBARA_IN9 input. */
  603. kXBARA1_InputIomuxXbarInout10 = 10|0x100U, /**< IOMUX_XBAR_INOUT10 output assigned to XBARA_IN10 input. */
  604. kXBARA1_InputIomuxXbarInout11 = 11|0x100U, /**< IOMUX_XBAR_INOUT11 output assigned to XBARA_IN11 input. */
  605. kXBARA1_InputIomuxXbarInout12 = 12|0x100U, /**< IOMUX_XBAR_INOUT12 output assigned to XBARA_IN12 input. */
  606. kXBARA1_InputIomuxXbarInout13 = 13|0x100U, /**< IOMUX_XBAR_INOUT13 output assigned to XBARA_IN13 input. */
  607. kXBARA1_InputIomuxXbarInout14 = 14|0x100U, /**< IOMUX_XBAR_INOUT14 output assigned to XBARA_IN14 input. */
  608. kXBARA1_InputIomuxXbarInout15 = 15|0x100U, /**< IOMUX_XBAR_INOUT15 output assigned to XBARA_IN15 input. */
  609. kXBARA1_InputIomuxXbarInout16 = 16|0x100U, /**< IOMUX_XBAR_INOUT16 output assigned to XBARA_IN16 input. */
  610. kXBARA1_InputIomuxXbarInout17 = 17|0x100U, /**< IOMUX_XBAR_INOUT17 output assigned to XBARA_IN17 input. */
  611. kXBARA1_InputIomuxXbarInout18 = 18|0x100U, /**< IOMUX_XBAR_INOUT18 output assigned to XBARA_IN18 input. */
  612. kXBARA1_InputIomuxXbarInout19 = 19|0x100U, /**< IOMUX_XBAR_INOUT19 output assigned to XBARA_IN19 input. */
  613. kXBARA1_InputRESERVED20 = 20|0x100U, /**< XBARA_IN20 input is reserved. */
  614. kXBARA1_InputRESERVED21 = 21|0x100U, /**< XBARA_IN21 input is reserved. */
  615. kXBARA1_InputRESERVED22 = 22|0x100U, /**< XBARA_IN22 input is reserved. */
  616. kXBARA1_InputRESERVED23 = 23|0x100U, /**< XBARA_IN23 input is reserved. */
  617. kXBARA1_InputRESERVED24 = 24|0x100U, /**< XBARA_IN24 input is reserved. */
  618. kXBARA1_InputRESERVED25 = 25|0x100U, /**< XBARA_IN25 input is reserved. */
  619. kXBARA1_InputAcmp1Out = 26|0x100U, /**< ACMP1_OUT output assigned to XBARA_IN26 input. */
  620. kXBARA1_InputAcmp2Out = 27|0x100U, /**< ACMP2_OUT output assigned to XBARA_IN27 input. */
  621. kXBARA1_InputAcmp3Out = 28|0x100U, /**< ACMP3_OUT output assigned to XBARA_IN28 input. */
  622. kXBARA1_InputAcmp4Out = 29|0x100U, /**< ACMP4_OUT output assigned to XBARA_IN29 input. */
  623. kXBARA1_InputRESERVED30 = 30|0x100U, /**< XBARA_IN30 input is reserved. */
  624. kXBARA1_InputRESERVED31 = 31|0x100U, /**< XBARA_IN31 input is reserved. */
  625. kXBARA1_InputQtimer1Tmr0 = 32|0x100U, /**< QTIMER1_TMR0 output assigned to XBARA_IN32 input. */
  626. kXBARA1_InputQtimer1Tmr1 = 33|0x100U, /**< QTIMER1_TMR1 output assigned to XBARA_IN33 input. */
  627. kXBARA1_InputQtimer1Tmr2 = 34|0x100U, /**< QTIMER1_TMR2 output assigned to XBARA_IN34 input. */
  628. kXBARA1_InputQtimer1Tmr3 = 35|0x100U, /**< QTIMER1_TMR3 output assigned to XBARA_IN35 input. */
  629. kXBARA1_InputQtimer2Tmr0 = 36|0x100U, /**< QTIMER2_TMR0 output assigned to XBARA_IN36 input. */
  630. kXBARA1_InputQtimer2Tmr1 = 37|0x100U, /**< QTIMER2_TMR1 output assigned to XBARA_IN37 input. */
  631. kXBARA1_InputQtimer2Tmr2 = 38|0x100U, /**< QTIMER2_TMR2 output assigned to XBARA_IN38 input. */
  632. kXBARA1_InputQtimer2Tmr3 = 39|0x100U, /**< QTIMER2_TMR3 output assigned to XBARA_IN39 input. */
  633. kXBARA1_InputFlexpwm1Pwm1OutTrig01 = 40|0x100U, /**< FLEXPWM1_PWM1_OUT_TRIG0_1 output assigned to XBARA_IN40 input. */
  634. kXBARA1_InputFlexpwm1Pwm2OutTrig01 = 41|0x100U, /**< FLEXPWM1_PWM2_OUT_TRIG0_1 output assigned to XBARA_IN41 input. */
  635. kXBARA1_InputFlexpwm1Pwm3OutTrig01 = 42|0x100U, /**< FLEXPWM1_PWM3_OUT_TRIG0_1 output assigned to XBARA_IN42 input. */
  636. kXBARA1_InputFlexpwm1Pwm4OutTrig01 = 43|0x100U, /**< FLEXPWM1_PWM4_OUT_TRIG0_1 output assigned to XBARA_IN43 input. */
  637. kXBARA1_InputFlexpwm2Pwm1OutTrig01 = 44|0x100U, /**< FLEXPWM2_PWM1_OUT_TRIG0_1 output assigned to XBARA_IN44 input. */
  638. kXBARA1_InputFlexpwm2Pwm2OutTrig01 = 45|0x100U, /**< FLEXPWM2_PWM2_OUT_TRIG0_1 output assigned to XBARA_IN45 input. */
  639. kXBARA1_InputFlexpwm2Pwm3OutTrig01 = 46|0x100U, /**< FLEXPWM2_PWM3_OUT_TRIG0_1 output assigned to XBARA_IN46 input. */
  640. kXBARA1_InputFlexpwm2Pwm4OutTrig01 = 47|0x100U, /**< FLEXPWM2_PWM4_OUT_TRIG0_1 output assigned to XBARA_IN47 input. */
  641. kXBARA1_InputRESERVED48 = 48|0x100U, /**< XBARA_IN48 input is reserved. */
  642. kXBARA1_InputRESERVED49 = 49|0x100U, /**< XBARA_IN49 input is reserved. */
  643. kXBARA1_InputRESERVED50 = 50|0x100U, /**< XBARA_IN50 input is reserved. */
  644. kXBARA1_InputRESERVED51 = 51|0x100U, /**< XBARA_IN51 input is reserved. */
  645. kXBARA1_InputRESERVED52 = 52|0x100U, /**< XBARA_IN52 input is reserved. */
  646. kXBARA1_InputRESERVED53 = 53|0x100U, /**< XBARA_IN53 input is reserved. */
  647. kXBARA1_InputRESERVED54 = 54|0x100U, /**< XBARA_IN54 input is reserved. */
  648. kXBARA1_InputRESERVED55 = 55|0x100U, /**< XBARA_IN55 input is reserved. */
  649. kXBARA1_InputPitTrigger0 = 56|0x100U, /**< PIT_TRIGGER0 output assigned to XBARA_IN56 input. */
  650. kXBARA1_InputPitTrigger1 = 57|0x100U, /**< PIT_TRIGGER1 output assigned to XBARA_IN57 input. */
  651. kXBARA1_InputPitTrigger2 = 58|0x100U, /**< PIT_TRIGGER2 output assigned to XBARA_IN58 input. */
  652. kXBARA1_InputPitTrigger3 = 59|0x100U, /**< PIT_TRIGGER3 output assigned to XBARA_IN59 input. */
  653. kXBARA1_InputEnc1PosMatch = 60|0x100U, /**< ENC1_POS_MATCH output assigned to XBARA_IN60 input. */
  654. kXBARA1_InputEnc2PosMatch = 61|0x100U, /**< ENC2_POS_MATCH output assigned to XBARA_IN61 input. */
  655. kXBARA1_InputRESERVED62 = 62|0x100U, /**< XBARA_IN62 input is reserved. */
  656. kXBARA1_InputRESERVED63 = 63|0x100U, /**< XBARA_IN63 input is reserved. */
  657. kXBARA1_InputDmaDone0 = 64|0x100U, /**< DMA_DONE0 output assigned to XBARA_IN64 input. */
  658. kXBARA1_InputDmaDone1 = 65|0x100U, /**< DMA_DONE1 output assigned to XBARA_IN65 input. */
  659. kXBARA1_InputDmaDone2 = 66|0x100U, /**< DMA_DONE2 output assigned to XBARA_IN66 input. */
  660. kXBARA1_InputDmaDone3 = 67|0x100U, /**< DMA_DONE3 output assigned to XBARA_IN67 input. */
  661. kXBARA1_InputDmaDone4 = 68|0x100U, /**< DMA_DONE4 output assigned to XBARA_IN68 input. */
  662. kXBARA1_InputDmaDone5 = 69|0x100U, /**< DMA_DONE5 output assigned to XBARA_IN69 input. */
  663. kXBARA1_InputDmaDone6 = 70|0x100U, /**< DMA_DONE6 output assigned to XBARA_IN70 input. */
  664. kXBARA1_InputDmaDone7 = 71|0x100U, /**< DMA_DONE7 output assigned to XBARA_IN71 input. */
  665. kXBARA1_InputAoi1Out0 = 72|0x100U, /**< AOI1_OUT0 output assigned to XBARA_IN72 input. */
  666. kXBARA1_InputAoi1Out1 = 73|0x100U, /**< AOI1_OUT1 output assigned to XBARA_IN73 input. */
  667. kXBARA1_InputAoi1Out2 = 74|0x100U, /**< AOI1_OUT2 output assigned to XBARA_IN74 input. */
  668. kXBARA1_InputAoi1Out3 = 75|0x100U, /**< AOI1_OUT3 output assigned to XBARA_IN75 input. */
  669. kXBARA1_InputRESERVED76 = 76|0x100U, /**< XBARA_IN76 input is reserved. */
  670. kXBARA1_InputRESERVED77 = 77|0x100U, /**< XBARA_IN77 input is reserved. */
  671. kXBARA1_InputRESERVED78 = 78|0x100U, /**< XBARA_IN78 input is reserved. */
  672. kXBARA1_InputRESERVED79 = 79|0x100U, /**< XBARA_IN79 input is reserved. */
  673. kXBARA1_InputAdcEtc0Coco0 = 80|0x100U, /**< ADC_ETC0_COCO0 output assigned to XBARA_IN80 input. */
  674. kXBARA1_InputAdcEtc0Coco1 = 81|0x100U, /**< ADC_ETC0_COCO1 output assigned to XBARA_IN81 input. */
  675. kXBARA1_InputAdcEtc0Coco2 = 82|0x100U, /**< ADC_ETC0_COCO2 output assigned to XBARA_IN82 input. */
  676. kXBARA1_InputAdcEtc0Coco3 = 83|0x100U, /**< ADC_ETC0_COCO3 output assigned to XBARA_IN83 input. */
  677. kXBARA1_InputAdcEtc1Coco0 = 84|0x100U, /**< ADC_ETC1_COCO0 output assigned to XBARA_IN84 input. */
  678. kXBARA1_InputAdcEtc1Coco1 = 85|0x100U, /**< ADC_ETC1_COCO1 output assigned to XBARA_IN85 input. */
  679. kXBARA1_InputAdcEtc1Coco2 = 86|0x100U, /**< ADC_ETC1_COCO2 output assigned to XBARA_IN86 input. */
  680. kXBARA1_InputAdcEtc1Coco3 = 87|0x100U, /**< ADC_ETC1_COCO3 output assigned to XBARA_IN87 input. */
  681. kXBARB2_InputLogicLow = 0|0x200U, /**< LOGIC_LOW output assigned to XBARB_IN0 input. */
  682. kXBARB2_InputLogicHigh = 1|0x200U, /**< LOGIC_HIGH output assigned to XBARB_IN1 input. */
  683. kXBARB2_InputRESERVED2 = 2|0x200U, /**< XBARB_IN2 input is reserved. */
  684. kXBARB2_InputRESERVED3 = 3|0x200U, /**< XBARB_IN3 input is reserved. */
  685. kXBARB2_InputRESERVED4 = 4|0x200U, /**< XBARB_IN4 input is reserved. */
  686. kXBARB2_InputRESERVED5 = 5|0x200U, /**< XBARB_IN5 input is reserved. */
  687. kXBARB2_InputAcmp1Out = 6|0x200U, /**< ACMP1_OUT output assigned to XBARB_IN6 input. */
  688. kXBARB2_InputAcmp2Out = 7|0x200U, /**< ACMP2_OUT output assigned to XBARB_IN7 input. */
  689. kXBARB2_InputAcmp3Out = 8|0x200U, /**< ACMP3_OUT output assigned to XBARB_IN8 input. */
  690. kXBARB2_InputAcmp4Out = 9|0x200U, /**< ACMP4_OUT output assigned to XBARB_IN9 input. */
  691. kXBARB2_InputRESERVED10 = 10|0x200U, /**< XBARB_IN10 input is reserved. */
  692. kXBARB2_InputRESERVED11 = 11|0x200U, /**< XBARB_IN11 input is reserved. */
  693. kXBARB2_InputQtimer1Tmr0 = 12|0x200U, /**< QTIMER1_TMR0 output assigned to XBARB_IN12 input. */
  694. kXBARB2_InputQtimer1Tmr1 = 13|0x200U, /**< QTIMER1_TMR1 output assigned to XBARB_IN13 input. */
  695. kXBARB2_InputQtimer1Tmr2 = 14|0x200U, /**< QTIMER1_TMR2 output assigned to XBARB_IN14 input. */
  696. kXBARB2_InputQtimer1Tmr3 = 15|0x200U, /**< QTIMER1_TMR3 output assigned to XBARB_IN15 input. */
  697. kXBARB2_InputQtimer2Tmr0 = 16|0x200U, /**< QTIMER2_TMR0 output assigned to XBARB_IN16 input. */
  698. kXBARB2_InputQtimer2Tmr1 = 17|0x200U, /**< QTIMER2_TMR1 output assigned to XBARB_IN17 input. */
  699. kXBARB2_InputQtimer2Tmr2 = 18|0x200U, /**< QTIMER2_TMR2 output assigned to XBARB_IN18 input. */
  700. kXBARB2_InputQtimer2Tmr3 = 19|0x200U, /**< QTIMER2_TMR3 output assigned to XBARB_IN19 input. */
  701. kXBARB2_InputFlexpwm1Pwm1OutTrig01 = 20|0x200U, /**< FLEXPWM1_PWM1_OUT_TRIG0_1 output assigned to XBARB_IN20 input. */
  702. kXBARB2_InputFlexpwm1Pwm2OutTrig01 = 21|0x200U, /**< FLEXPWM1_PWM2_OUT_TRIG0_1 output assigned to XBARB_IN21 input. */
  703. kXBARB2_InputFlexpwm1Pwm3OutTrig01 = 22|0x200U, /**< FLEXPWM1_PWM3_OUT_TRIG0_1 output assigned to XBARB_IN22 input. */
  704. kXBARB2_InputFlexpwm1Pwm4OutTrig01 = 23|0x200U, /**< FLEXPWM1_PWM4_OUT_TRIG0_1 output assigned to XBARB_IN23 input. */
  705. kXBARB2_InputFlexpwm2Pwm1OutTrig01 = 24|0x200U, /**< FLEXPWM2_PWM1_OUT_TRIG0_1 output assigned to XBARB_IN24 input. */
  706. kXBARB2_InputFlexpwm2Pwm2OutTrig01 = 25|0x200U, /**< FLEXPWM2_PWM2_OUT_TRIG0_1 output assigned to XBARB_IN25 input. */
  707. kXBARB2_InputFlexpwm2Pwm3OutTrig01 = 26|0x200U, /**< FLEXPWM2_PWM3_OUT_TRIG0_1 output assigned to XBARB_IN26 input. */
  708. kXBARB2_InputFlexpwm2Pwm4OutTrig01 = 27|0x200U, /**< FLEXPWM2_PWM4_OUT_TRIG0_1 output assigned to XBARB_IN27 input. */
  709. kXBARB2_InputRESERVED28 = 28|0x200U, /**< XBARB_IN28 input is reserved. */
  710. kXBARB2_InputRESERVED29 = 29|0x200U, /**< XBARB_IN29 input is reserved. */
  711. kXBARB2_InputRESERVED30 = 30|0x200U, /**< XBARB_IN30 input is reserved. */
  712. kXBARB2_InputRESERVED31 = 31|0x200U, /**< XBARB_IN31 input is reserved. */
  713. kXBARB2_InputRESERVED32 = 32|0x200U, /**< XBARB_IN32 input is reserved. */
  714. kXBARB2_InputRESERVED33 = 33|0x200U, /**< XBARB_IN33 input is reserved. */
  715. kXBARB2_InputRESERVED34 = 34|0x200U, /**< XBARB_IN34 input is reserved. */
  716. kXBARB2_InputRESERVED35 = 35|0x200U, /**< XBARB_IN35 input is reserved. */
  717. kXBARB2_InputPitTrigger0 = 36|0x200U, /**< PIT_TRIGGER0 output assigned to XBARB_IN36 input. */
  718. kXBARB2_InputPitTrigger1 = 37|0x200U, /**< PIT_TRIGGER1 output assigned to XBARB_IN37 input. */
  719. kXBARB2_InputAdcEtc0Coco0 = 38|0x200U, /**< ADC_ETC0_COCO0 output assigned to XBARB_IN38 input. */
  720. kXBARB2_InputAdcEtc0Coco1 = 39|0x200U, /**< ADC_ETC0_COCO1 output assigned to XBARB_IN39 input. */
  721. kXBARB2_InputAdcEtc0Coco2 = 40|0x200U, /**< ADC_ETC0_COCO2 output assigned to XBARB_IN40 input. */
  722. kXBARB2_InputAdcEtc0Coco3 = 41|0x200U, /**< ADC_ETC0_COCO3 output assigned to XBARB_IN41 input. */
  723. kXBARB2_InputAdcEtc1Coco0 = 42|0x200U, /**< ADC_ETC1_COCO0 output assigned to XBARB_IN42 input. */
  724. kXBARB2_InputAdcEtc1Coco1 = 43|0x200U, /**< ADC_ETC1_COCO1 output assigned to XBARB_IN43 input. */
  725. kXBARB2_InputAdcEtc1Coco2 = 44|0x200U, /**< ADC_ETC1_COCO2 output assigned to XBARB_IN44 input. */
  726. kXBARB2_InputAdcEtc1Coco3 = 45|0x200U, /**< ADC_ETC1_COCO3 output assigned to XBARB_IN45 input. */
  727. kXBARB2_InputEnc1PosMatch = 46|0x200U, /**< ENC1_POS_MATCH output assigned to XBARB_IN46 input. */
  728. kXBARB2_InputEnc2PosMatch = 47|0x200U, /**< ENC2_POS_MATCH output assigned to XBARB_IN47 input. */
  729. kXBARB2_InputRESERVED48 = 48|0x200U, /**< XBARB_IN48 input is reserved. */
  730. kXBARB2_InputRESERVED49 = 49|0x200U, /**< XBARB_IN49 input is reserved. */
  731. kXBARB2_InputDmaDone0 = 50|0x200U, /**< DMA_DONE0 output assigned to XBARB_IN50 input. */
  732. kXBARB2_InputDmaDone1 = 51|0x200U, /**< DMA_DONE1 output assigned to XBARB_IN51 input. */
  733. kXBARB2_InputDmaDone2 = 52|0x200U, /**< DMA_DONE2 output assigned to XBARB_IN52 input. */
  734. kXBARB2_InputDmaDone3 = 53|0x200U, /**< DMA_DONE3 output assigned to XBARB_IN53 input. */
  735. kXBARB2_InputDmaDone4 = 54|0x200U, /**< DMA_DONE4 output assigned to XBARB_IN54 input. */
  736. kXBARB2_InputDmaDone5 = 55|0x200U, /**< DMA_DONE5 output assigned to XBARB_IN55 input. */
  737. kXBARB2_InputDmaDone6 = 56|0x200U, /**< DMA_DONE6 output assigned to XBARB_IN56 input. */
  738. kXBARB2_InputDmaDone7 = 57|0x200U, /**< DMA_DONE7 output assigned to XBARB_IN57 input. */
  739. } xbar_input_signal_t;
  740. typedef enum _xbar_output_signal
  741. {
  742. kXBARA1_OutputDmaChMuxReq30 = 0|0x100U, /**< XBARA_OUT0 output assigned to DMA_CH_MUX_REQ30 */
  743. kXBARA1_OutputDmaChMuxReq31 = 1|0x100U, /**< XBARA_OUT1 output assigned to DMA_CH_MUX_REQ31 */
  744. kXBARA1_OutputDmaChMuxReq94 = 2|0x100U, /**< XBARA_OUT2 output assigned to DMA_CH_MUX_REQ94 */
  745. kXBARA1_OutputDmaChMuxReq95 = 3|0x100U, /**< XBARA_OUT3 output assigned to DMA_CH_MUX_REQ95 */
  746. kXBARA1_OutputIomuxXbarInout04 = 4|0x100U, /**< XBARA_OUT4 output assigned to IOMUX_XBAR_INOUT04 */
  747. kXBARA1_OutputIomuxXbarInout05 = 5|0x100U, /**< XBARA_OUT5 output assigned to IOMUX_XBAR_INOUT05 */
  748. kXBARA1_OutputIomuxXbarInout06 = 6|0x100U, /**< XBARA_OUT6 output assigned to IOMUX_XBAR_INOUT06 */
  749. kXBARA1_OutputIomuxXbarInout07 = 7|0x100U, /**< XBARA_OUT7 output assigned to IOMUX_XBAR_INOUT07 */
  750. kXBARA1_OutputIomuxXbarInout08 = 8|0x100U, /**< XBARA_OUT8 output assigned to IOMUX_XBAR_INOUT08 */
  751. kXBARA1_OutputIomuxXbarInout09 = 9|0x100U, /**< XBARA_OUT9 output assigned to IOMUX_XBAR_INOUT09 */
  752. kXBARA1_OutputIomuxXbarInout10 = 10|0x100U, /**< XBARA_OUT10 output assigned to IOMUX_XBAR_INOUT10 */
  753. kXBARA1_OutputIomuxXbarInout11 = 11|0x100U, /**< XBARA_OUT11 output assigned to IOMUX_XBAR_INOUT11 */
  754. kXBARA1_OutputIomuxXbarInout12 = 12|0x100U, /**< XBARA_OUT12 output assigned to IOMUX_XBAR_INOUT12 */
  755. kXBARA1_OutputIomuxXbarInout13 = 13|0x100U, /**< XBARA_OUT13 output assigned to IOMUX_XBAR_INOUT13 */
  756. kXBARA1_OutputIomuxXbarInout14 = 14|0x100U, /**< XBARA_OUT14 output assigned to IOMUX_XBAR_INOUT14 */
  757. kXBARA1_OutputIomuxXbarInout15 = 15|0x100U, /**< XBARA_OUT15 output assigned to IOMUX_XBAR_INOUT15 */
  758. kXBARA1_OutputIomuxXbarInout16 = 16|0x100U, /**< XBARA_OUT16 output assigned to IOMUX_XBAR_INOUT16 */
  759. kXBARA1_OutputIomuxXbarInout17 = 17|0x100U, /**< XBARA_OUT17 output assigned to IOMUX_XBAR_INOUT17 */
  760. kXBARA1_OutputIomuxXbarInout18 = 18|0x100U, /**< XBARA_OUT18 output assigned to IOMUX_XBAR_INOUT18 */
  761. kXBARA1_OutputIomuxXbarInout19 = 19|0x100U, /**< XBARA_OUT19 output assigned to IOMUX_XBAR_INOUT19 */
  762. kXBARA1_OutputAcmp1Sample = 20|0x100U, /**< XBARA_OUT20 output assigned to ACMP1_SAMPLE */
  763. kXBARA1_OutputAcmp2Sample = 21|0x100U, /**< XBARA_OUT21 output assigned to ACMP2_SAMPLE */
  764. kXBARA1_OutputAcmp3Sample = 22|0x100U, /**< XBARA_OUT22 output assigned to ACMP3_SAMPLE */
  765. kXBARA1_OutputAcmp4Sample = 23|0x100U, /**< XBARA_OUT23 output assigned to ACMP4_SAMPLE */
  766. kXBARA1_OutputRESERVED24 = 24|0x100U, /**< XBARA_OUT24 output is reserved. */
  767. kXBARA1_OutputRESERVED25 = 25|0x100U, /**< XBARA_OUT25 output is reserved. */
  768. kXBARA1_OutputFlexpwm1Exta0 = 26|0x100U, /**< XBARA_OUT26 output assigned to FLEXPWM1_EXTA0 */
  769. kXBARA1_OutputFlexpwm1Exta1 = 27|0x100U, /**< XBARA_OUT27 output assigned to FLEXPWM1_EXTA1 */
  770. kXBARA1_OutputFlexpwm1Exta2 = 28|0x100U, /**< XBARA_OUT28 output assigned to FLEXPWM1_EXTA2 */
  771. kXBARA1_OutputFlexpwm1Exta3 = 29|0x100U, /**< XBARA_OUT29 output assigned to FLEXPWM1_EXTA3 */
  772. kXBARA1_OutputFlexpwm1ExtSync0 = 30|0x100U, /**< XBARA_OUT30 output assigned to FLEXPWM1_EXT_SYNC0 */
  773. kXBARA1_OutputFlexpwm1ExtSync1 = 31|0x100U, /**< XBARA_OUT31 output assigned to FLEXPWM1_EXT_SYNC1 */
  774. kXBARA1_OutputFlexpwm1ExtSync2 = 32|0x100U, /**< XBARA_OUT32 output assigned to FLEXPWM1_EXT_SYNC2 */
  775. kXBARA1_OutputFlexpwm1ExtSync3 = 33|0x100U, /**< XBARA_OUT33 output assigned to FLEXPWM1_EXT_SYNC3 */
  776. kXBARA1_OutputFlexpwm1ExtClk = 34|0x100U, /**< XBARA_OUT34 output assigned to FLEXPWM1_EXT_CLK */
  777. kXBARA1_OutputFlexpwm1Fault0 = 35|0x100U, /**< XBARA_OUT35 output assigned to FLEXPWM1_FAULT0 */
  778. kXBARA1_OutputFlexpwm1Fault1 = 36|0x100U, /**< XBARA_OUT36 output assigned to FLEXPWM1_FAULT1 */
  779. kXBARA1_OutputFlexpwm12Fault2 = 37|0x100U, /**< XBARA_OUT37 output assigned to FLEXPWM1_2_FAULT2 */
  780. kXBARA1_OutputFlexpwm12Fault3 = 38|0x100U, /**< XBARA_OUT38 output assigned to FLEXPWM1_2_FAULT3 */
  781. kXBARA1_OutputFlexpwm1ExtForce = 39|0x100U, /**< XBARA_OUT39 output assigned to FLEXPWM1_EXT_FORCE */
  782. kXBARA1_OutputFlexpwm2Exta0 = 40|0x100U, /**< XBARA_OUT40 output assigned to FLEXPWM2_EXTA0 */
  783. kXBARA1_OutputFlexpwm2Exta1 = 41|0x100U, /**< XBARA_OUT41 output assigned to FLEXPWM2_EXTA1 */
  784. kXBARA1_OutputFlexpwm2Exta2 = 42|0x100U, /**< XBARA_OUT42 output assigned to FLEXPWM2_EXTA2 */
  785. kXBARA1_OutputFlexpwm2Exta3 = 43|0x100U, /**< XBARA_OUT43 output assigned to FLEXPWM2_EXTA3 */
  786. kXBARA1_OutputFlexpwm2ExtSync0 = 44|0x100U, /**< XBARA_OUT44 output assigned to FLEXPWM2_EXT_SYNC0 */
  787. kXBARA1_OutputFlexpwm2ExtSync1 = 45|0x100U, /**< XBARA_OUT45 output assigned to FLEXPWM2_EXT_SYNC1 */
  788. kXBARA1_OutputFlexpwm2ExtSync2 = 46|0x100U, /**< XBARA_OUT46 output assigned to FLEXPWM2_EXT_SYNC2 */
  789. kXBARA1_OutputFlexpwm2ExtSync3 = 47|0x100U, /**< XBARA_OUT47 output assigned to FLEXPWM2_EXT_SYNC3 */
  790. kXBARA1_OutputFlexpwm2ExtClk = 48|0x100U, /**< XBARA_OUT48 output assigned to FLEXPWM2_EXT_CLK */
  791. kXBARA1_OutputFlexpwm2Fault0 = 49|0x100U, /**< XBARA_OUT49 output assigned to FLEXPWM2_FAULT0 */
  792. kXBARA1_OutputFlexpwm2Fault1 = 50|0x100U, /**< XBARA_OUT50 output assigned to FLEXPWM2_FAULT1 */
  793. kXBARA1_OutputFlexpwm2ExtForce = 51|0x100U, /**< XBARA_OUT51 output assigned to FLEXPWM2_EXT_FORCE */
  794. kXBARA1_OutputRESERVED52 = 52|0x100U, /**< XBARA_OUT52 output is reserved. */
  795. kXBARA1_OutputRESERVED53 = 53|0x100U, /**< XBARA_OUT53 output is reserved. */
  796. kXBARA1_OutputRESERVED54 = 54|0x100U, /**< XBARA_OUT54 output is reserved. */
  797. kXBARA1_OutputRESERVED55 = 55|0x100U, /**< XBARA_OUT55 output is reserved. */
  798. kXBARA1_OutputRESERVED56 = 56|0x100U, /**< XBARA_OUT56 output is reserved. */
  799. kXBARA1_OutputRESERVED57 = 57|0x100U, /**< XBARA_OUT57 output is reserved. */
  800. kXBARA1_OutputRESERVED58 = 58|0x100U, /**< XBARA_OUT58 output is reserved. */
  801. kXBARA1_OutputRESERVED59 = 59|0x100U, /**< XBARA_OUT59 output is reserved. */
  802. kXBARA1_OutputRESERVED60 = 60|0x100U, /**< XBARA_OUT60 output is reserved. */
  803. kXBARA1_OutputRESERVED61 = 61|0x100U, /**< XBARA_OUT61 output is reserved. */
  804. kXBARA1_OutputRESERVED62 = 62|0x100U, /**< XBARA_OUT62 output is reserved. */
  805. kXBARA1_OutputRESERVED63 = 63|0x100U, /**< XBARA_OUT63 output is reserved. */
  806. kXBARA1_OutputRESERVED64 = 64|0x100U, /**< XBARA_OUT64 output is reserved. */
  807. kXBARA1_OutputRESERVED65 = 65|0x100U, /**< XBARA_OUT65 output is reserved. */
  808. kXBARA1_OutputEnc1PhaseAInput = 66|0x100U, /**< XBARA_OUT66 output assigned to ENC1_PHASE_A_INPUT */
  809. kXBARA1_OutputEnc1PhaseBInput = 67|0x100U, /**< XBARA_OUT67 output assigned to ENC1_PHASE_B_INPUT */
  810. kXBARA1_OutputEnc1Index = 68|0x100U, /**< XBARA_OUT68 output assigned to ENC1_INDEX */
  811. kXBARA1_OutputEnc1Home = 69|0x100U, /**< XBARA_OUT69 output assigned to ENC1_HOME */
  812. kXBARA1_OutputEnc1Trigger = 70|0x100U, /**< XBARA_OUT70 output assigned to ENC1_TRIGGER */
  813. kXBARA1_OutputEnc2PhaseAInput = 71|0x100U, /**< XBARA_OUT71 output assigned to ENC2_PHASE_A_INPUT */
  814. kXBARA1_OutputEnc2PhaseBInput = 72|0x100U, /**< XBARA_OUT72 output assigned to ENC2_PHASE_B_INPUT */
  815. kXBARA1_OutputEnc2Index = 73|0x100U, /**< XBARA_OUT73 output assigned to ENC2_INDEX */
  816. kXBARA1_OutputEnc2Home = 74|0x100U, /**< XBARA_OUT74 output assigned to ENC2_HOME */
  817. kXBARA1_OutputEnc2Trigger = 75|0x100U, /**< XBARA_OUT75 output assigned to ENC2_TRIGGER */
  818. kXBARA1_OutputRESERVED76 = 76|0x100U, /**< XBARA_OUT76 output is reserved. */
  819. kXBARA1_OutputRESERVED77 = 77|0x100U, /**< XBARA_OUT77 output is reserved. */
  820. kXBARA1_OutputRESERVED78 = 78|0x100U, /**< XBARA_OUT78 output is reserved. */
  821. kXBARA1_OutputRESERVED79 = 79|0x100U, /**< XBARA_OUT79 output is reserved. */
  822. kXBARA1_OutputRESERVED80 = 80|0x100U, /**< XBARA_OUT80 output is reserved. */
  823. kXBARA1_OutputRESERVED81 = 81|0x100U, /**< XBARA_OUT81 output is reserved. */
  824. kXBARA1_OutputRESERVED82 = 82|0x100U, /**< XBARA_OUT82 output is reserved. */
  825. kXBARA1_OutputRESERVED83 = 83|0x100U, /**< XBARA_OUT83 output is reserved. */
  826. kXBARA1_OutputRESERVED84 = 84|0x100U, /**< XBARA_OUT84 output is reserved. */
  827. kXBARA1_OutputRESERVED85 = 85|0x100U, /**< XBARA_OUT85 output is reserved. */
  828. kXBARA1_OutputQtimer1Tmr0 = 86|0x100U, /**< XBARA_OUT86 output assigned to QTIMER1_TMR0 */
  829. kXBARA1_OutputQtimer1Tmr1 = 87|0x100U, /**< XBARA_OUT87 output assigned to QTIMER1_TMR1 */
  830. kXBARA1_OutputQtimer1Tmr2 = 88|0x100U, /**< XBARA_OUT88 output assigned to QTIMER1_TMR2 */
  831. kXBARA1_OutputQtimer1Tmr3 = 89|0x100U, /**< XBARA_OUT89 output assigned to QTIMER1_TMR3 */
  832. kXBARA1_OutputQtimer2Tmr0 = 90|0x100U, /**< XBARA_OUT90 output assigned to QTIMER2_TMR0 */
  833. kXBARA1_OutputQtimer2Tmr1 = 91|0x100U, /**< XBARA_OUT91 output assigned to QTIMER2_TMR1 */
  834. kXBARA1_OutputQtimer2Tmr2 = 92|0x100U, /**< XBARA_OUT92 output assigned to QTIMER2_TMR2 */
  835. kXBARA1_OutputQtimer2Tmr3 = 93|0x100U, /**< XBARA_OUT93 output assigned to QTIMER2_TMR3 */
  836. kXBARA1_OutputRESERVED94 = 94|0x100U, /**< XBARA_OUT94 output is reserved. */
  837. kXBARA1_OutputRESERVED95 = 95|0x100U, /**< XBARA_OUT95 output is reserved. */
  838. kXBARA1_OutputRESERVED96 = 96|0x100U, /**< XBARA_OUT96 output is reserved. */
  839. kXBARA1_OutputRESERVED97 = 97|0x100U, /**< XBARA_OUT97 output is reserved. */
  840. kXBARA1_OutputRESERVED98 = 98|0x100U, /**< XBARA_OUT98 output is reserved. */
  841. kXBARA1_OutputRESERVED99 = 99|0x100U, /**< XBARA_OUT99 output is reserved. */
  842. kXBARA1_OutputRESERVED100 = 100|0x100U, /**< XBARA_OUT100 output is reserved. */
  843. kXBARA1_OutputRESERVED101 = 101|0x100U, /**< XBARA_OUT101 output is reserved. */
  844. kXBARA1_OutputEwmEwmIn = 102|0x100U, /**< XBARA_OUT102 output assigned to EWM_EWM_IN */
  845. kXBARA1_OutputAdcEtcTrig00 = 103|0x100U, /**< XBARA_OUT103 output assigned to ADC_ETC_TRIG00 */
  846. kXBARA1_OutputAdcEtcTrig01 = 104|0x100U, /**< XBARA_OUT104 output assigned to ADC_ETC_TRIG01 */
  847. kXBARA1_OutputAdcEtcTrig02 = 105|0x100U, /**< XBARA_OUT105 output assigned to ADC_ETC_TRIG02 */
  848. kXBARA1_OutputAdcEtcTrig03 = 106|0x100U, /**< XBARA_OUT106 output assigned to ADC_ETC_TRIG03 */
  849. kXBARA1_OutputAdcEtcTrig10 = 107|0x100U, /**< XBARA_OUT107 output assigned to ADC_ETC_TRIG10 */
  850. kXBARA1_OutputAdcEtcTrig11 = 108|0x100U, /**< XBARA_OUT108 output assigned to ADC_ETC_TRIG11 */
  851. kXBARA1_OutputAdcEtcTrig12 = 109|0x100U, /**< XBARA_OUT109 output assigned to ADC_ETC_TRIG12 */
  852. kXBARA1_OutputAdcEtcTrig13 = 110|0x100U, /**< XBARA_OUT110 output assigned to ADC_ETC_TRIG13 */
  853. kXBARA1_OutputLpi2c1TrgInput = 111|0x100U, /**< XBARA_OUT111 output assigned to LPI2C1_TRG_INPUT */
  854. kXBARA1_OutputLpi2c2TrgInput = 112|0x100U, /**< XBARA_OUT112 output assigned to LPI2C2_TRG_INPUT */
  855. kXBARA1_OutputLpi2c3TrgInput = 113|0x100U, /**< XBARA_OUT113 output assigned to LPI2C3_TRG_INPUT */
  856. kXBARA1_OutputLpi2c4TrgInput = 114|0x100U, /**< XBARA_OUT114 output assigned to LPI2C4_TRG_INPUT */
  857. kXBARA1_OutputLpspi1TrgInput = 115|0x100U, /**< XBARA_OUT115 output assigned to LPSPI1_TRG_INPUT */
  858. kXBARA1_OutputLpspi2TrgInput = 116|0x100U, /**< XBARA_OUT116 output assigned to LPSPI2_TRG_INPUT */
  859. kXBARA1_OutputLpspi3TrgInput = 117|0x100U, /**< XBARA_OUT117 output assigned to LPSPI3_TRG_INPUT */
  860. kXBARA1_OutputLpspi4TrgInput = 118|0x100U, /**< XBARA_OUT118 output assigned to LPSPI4_TRG_INPUT */
  861. kXBARA1_OutputLpuart1TrgInput = 119|0x100U, /**< XBARA_OUT119 output assigned to LPUART1_TRG_INPUT */
  862. kXBARA1_OutputLpuart2TrgInput = 120|0x100U, /**< XBARA_OUT120 output assigned to LPUART2_TRG_INPUT */
  863. kXBARA1_OutputLpuart3TrgInput = 121|0x100U, /**< XBARA_OUT121 output assigned to LPUART3_TRG_INPUT */
  864. kXBARA1_OutputLpuart4TrgInput = 122|0x100U, /**< XBARA_OUT122 output assigned to LPUART4_TRG_INPUT */
  865. kXBARA1_OutputLpuart5TrgInput = 123|0x100U, /**< XBARA_OUT123 output assigned to LPUART5_TRG_INPUT */
  866. kXBARA1_OutputLpuart6TrgInput = 124|0x100U, /**< XBARA_OUT124 output assigned to LPUART6_TRG_INPUT */
  867. kXBARA1_OutputLpuart7TrgInput = 125|0x100U, /**< XBARA_OUT125 output assigned to LPUART7_TRG_INPUT */
  868. kXBARA1_OutputLpuart8TrgInput = 126|0x100U, /**< XBARA_OUT126 output assigned to LPUART8_TRG_INPUT */
  869. kXBARA1_OutputFlexio1TriggerIn0 = 127|0x100U, /**< XBARA_OUT127 output assigned to FLEXIO1_TRIGGER_IN0 */
  870. kXBARA1_OutputFlexio1TriggerIn1 = 128|0x100U, /**< XBARA_OUT128 output assigned to FLEXIO1_TRIGGER_IN1 */
  871. kXBARA1_OutputRESERVED129 = 129|0x100U, /**< XBARA_OUT129 output is reserved. */
  872. kXBARA1_OutputRESERVED130 = 130|0x100U, /**< XBARA_OUT130 output is reserved. */
  873. kXBARA1_OutputRESERVED131 = 131|0x100U, /**< XBARA_OUT131 output is reserved. */
  874. kXBARB2_OutputAoi1In00 = 0|0x200U, /**< XBARB_OUT0 output assigned to AOI1_IN00 */
  875. kXBARB2_OutputAoi1In01 = 1|0x200U, /**< XBARB_OUT1 output assigned to AOI1_IN01 */
  876. kXBARB2_OutputAoi1In02 = 2|0x200U, /**< XBARB_OUT2 output assigned to AOI1_IN02 */
  877. kXBARB2_OutputAoi1In03 = 3|0x200U, /**< XBARB_OUT3 output assigned to AOI1_IN03 */
  878. kXBARB2_OutputAoi1In04 = 4|0x200U, /**< XBARB_OUT4 output assigned to AOI1_IN04 */
  879. kXBARB2_OutputAoi1In05 = 5|0x200U, /**< XBARB_OUT5 output assigned to AOI1_IN05 */
  880. kXBARB2_OutputAoi1In06 = 6|0x200U, /**< XBARB_OUT6 output assigned to AOI1_IN06 */
  881. kXBARB2_OutputAoi1In07 = 7|0x200U, /**< XBARB_OUT7 output assigned to AOI1_IN07 */
  882. kXBARB2_OutputAoi1In08 = 8|0x200U, /**< XBARB_OUT8 output assigned to AOI1_IN08 */
  883. kXBARB2_OutputAoi1In09 = 9|0x200U, /**< XBARB_OUT9 output assigned to AOI1_IN09 */
  884. kXBARB2_OutputAoi1In10 = 10|0x200U, /**< XBARB_OUT10 output assigned to AOI1_IN10 */
  885. kXBARB2_OutputAoi1In11 = 11|0x200U, /**< XBARB_OUT11 output assigned to AOI1_IN11 */
  886. kXBARB2_OutputAoi1In12 = 12|0x200U, /**< XBARB_OUT12 output assigned to AOI1_IN12 */
  887. kXBARB2_OutputAoi1In13 = 13|0x200U, /**< XBARB_OUT13 output assigned to AOI1_IN13 */
  888. kXBARB2_OutputAoi1In14 = 14|0x200U, /**< XBARB_OUT14 output assigned to AOI1_IN14 */
  889. kXBARB2_OutputAoi1In15 = 15|0x200U, /**< XBARB_OUT15 output assigned to AOI1_IN15 */
  890. } xbar_output_signal_t;
  891. /*!
  892. * @addtogroup edma_request
  893. * @{
  894. */
  895. /*******************************************************************************
  896. * Definitions
  897. ******************************************************************************/
  898. /*!
  899. * @brief Structure for the DMA hardware request
  900. *
  901. * Defines the structure for the DMA hardware request collections. The user can configure the
  902. * hardware request into DMAMUX to trigger the DMA transfer accordingly. The index
  903. * of the hardware request varies according to the to SoC.
  904. */
  905. typedef enum _dma_request_source
  906. {
  907. kDmaRequestMuxFlexIO1Request0Request1 = 0|0x100U, /**< FlexIO1 Request0 and Request1 */
  908. kDmaRequestMuxFlexIO1Request4Request5 = 1|0x100U, /**< FlexIO1 Request4 and Request5 */
  909. kDmaRequestMuxLPUART1Tx = 2|0x100U, /**< LPUART1 Transmit */
  910. kDmaRequestMuxLPUART1Rx = 3|0x100U, /**< LPUART1 Receive */
  911. kDmaRequestMuxLPUART3Tx = 4|0x100U, /**< LPUART3 Transmit */
  912. kDmaRequestMuxLPUART3Rx = 5|0x100U, /**< LPUART3 Receive */
  913. kDmaRequestMuxLPUART5Tx = 6|0x100U, /**< LPUART5 Transmit */
  914. kDmaRequestMuxLPUART5Rx = 7|0x100U, /**< LPUART5 Receive */
  915. kDmaRequestMuxLPUART7Tx = 8|0x100U, /**< LPUART7 Transmit */
  916. kDmaRequestMuxLPUART7Rx = 9|0x100U, /**< LPUART7 Receive */
  917. kDmaRequestMuxLPSPI1Rx = 13|0x100U, /**< LPSPI1 Receive */
  918. kDmaRequestMuxLPSPI1Tx = 14|0x100U, /**< LPSPI1 Transmit */
  919. kDmaRequestMuxLPSPI3Rx = 15|0x100U, /**< LPSPI3 Receive */
  920. kDmaRequestMuxLPSPI3Tx = 16|0x100U, /**< LPSPI3 Transmit */
  921. kDmaRequestMuxLPI2C1 = 17|0x100U, /**< LPI2C1 */
  922. kDmaRequestMuxLPI2C3 = 18|0x100U, /**< LPI2C3 */
  923. kDmaRequestMuxSai1Rx = 19|0x100U, /**< SAI1 Receive */
  924. kDmaRequestMuxSai1Tx = 20|0x100U, /**< SAI1 Transmit */
  925. kDmaRequestMuxSai2Rx = 21|0x100U, /**< SAI2 Receive */
  926. kDmaRequestMuxSai2Tx = 22|0x100U, /**< SAI2 Transmit */
  927. kDmaRequestMuxADC_ETC = 23|0x100U, /**< ADC_ETC */
  928. kDmaRequestMuxADC1 = 24|0x100U, /**< ADC1 */
  929. kDmaRequestMuxACMP1 = 25|0x100U, /**< ACMP1 */
  930. kDmaRequestMuxACMP3 = 26|0x100U, /**< ACMP3 */
  931. kDmaRequestMuxFlexSPIRx = 28|0x100U, /**< FlexSPI Receive */
  932. kDmaRequestMuxFlexSPITx = 29|0x100U, /**< FlexSPI Transmit */
  933. kDmaRequestMuxXBAR1Request0 = 30|0x100U, /**< XBAR1 Request 0 */
  934. kDmaRequestMuxXBAR1Request1 = 31|0x100U, /**< XBAR1 Request 1 */
  935. kDmaRequestMuxFlexPWM1CaptureSub0 = 32|0x100U, /**< FlexPWM1 Capture sub-module0 */
  936. kDmaRequestMuxFlexPWM1CaptureSub1 = 33|0x100U, /**< FlexPWM1 Capture sub-module1 */
  937. kDmaRequestMuxFlexPWM1CaptureSub2 = 34|0x100U, /**< FlexPWM1 Capture sub-module2 */
  938. kDmaRequestMuxFlexPWM1CaptureSub3 = 35|0x100U, /**< FlexPWM1 Capture sub-module3 */
  939. kDmaRequestMuxFlexPWM1ValueSub0 = 36|0x100U, /**< FlexPWM1 Value sub-module0 */
  940. kDmaRequestMuxFlexPWM1ValueSub1 = 37|0x100U, /**< FlexPWM1 Value sub-module1 */
  941. kDmaRequestMuxFlexPWM1ValueSub2 = 38|0x100U, /**< FlexPWM1 Value sub-module2 */
  942. kDmaRequestMuxFlexPWM1ValueSub3 = 39|0x100U, /**< FlexPWM1 Value sub-module3 */
  943. kDmaRequestMuxQTIMER1CaptTimer0 = 48|0x100U, /**< TMR1 Capture timer 0 */
  944. kDmaRequestMuxQTIMER1CaptTimer1 = 49|0x100U, /**< TMR1 Capture timer 1 */
  945. kDmaRequestMuxQTIMER1CaptTimer2 = 50|0x100U, /**< TMR1 Capture timer 2 */
  946. kDmaRequestMuxQTIMER1CaptTimer3 = 51|0x100U, /**< TMR1 Capture timer 3 */
  947. kDmaRequestMuxQTIMER1Cmpld1Timer0Cmpld2Timer1 = 52|0x100U, /**< TMR1 cmpld1 in timer 0 or cmpld2 in timer 1 */
  948. kDmaRequestMuxQTIMER1Cmpld1Timer1Cmpld2Timer0 = 53|0x100U, /**< TMR1 cmpld1 in timer 1 or cmpld2 in timer 0 */
  949. kDmaRequestMuxQTIMER1Cmpld1Timer2Cmpld2Timer3 = 54|0x100U, /**< TMR1 cmpld1 in timer 2 or cmpld2 in timer 3 */
  950. kDmaRequestMuxQTIMER1Cmpld1Timer3Cmpld2Timer2 = 55|0x100U, /**< TMR1 cmpld1 in timer 3 or cmpld2 in timer 2 */
  951. kDmaRequestMuxFlexIO1Request2Request3 = 64|0x100U, /**< FlexIO1 Request2 and Request3 */
  952. kDmaRequestMuxFlexIO1Request6Request7 = 65|0x100U, /**< FlexIO1 Request6 and Request7 */
  953. kDmaRequestMuxLPUART2Tx = 66|0x100U, /**< LPUART2 Transmit */
  954. kDmaRequestMuxLPUART2Rx = 67|0x100U, /**< LPUART2 Receive */
  955. kDmaRequestMuxLPUART4Tx = 68|0x100U, /**< LPUART4 Transmit */
  956. kDmaRequestMuxLPUART4Rx = 69|0x100U, /**< LPUART4 Receive */
  957. kDmaRequestMuxLPUART6Tx = 70|0x100U, /**< LPUART6 Transmit */
  958. kDmaRequestMuxLPUART6Rx = 71|0x100U, /**< LPUART6 Receive */
  959. kDmaRequestMuxLPUART8Tx = 72|0x100U, /**< LPUART8 Transmit */
  960. kDmaRequestMuxLPUART8Rx = 73|0x100U, /**< LPUART8 Receive */
  961. kDmaRequestMuxLPSPI2Rx = 77|0x100U, /**< LPSPI2 Receive */
  962. kDmaRequestMuxLPSPI2Tx = 78|0x100U, /**< LPSPI2 Transmit */
  963. kDmaRequestMuxLPSPI4Rx = 79|0x100U, /**< LPSPI4 Receive */
  964. kDmaRequestMuxLPSPI4Tx = 80|0x100U, /**< LPSPI4 Transmit */
  965. kDmaRequestMuxLPI2C2 = 81|0x100U, /**< LPI2C2 */
  966. kDmaRequestMuxLPI2C4 = 82|0x100U, /**< LPI2C4 */
  967. kDmaRequestMuxSai3Rx = 83|0x100U, /**< SAI3 Receive */
  968. kDmaRequestMuxSai3Tx = 84|0x100U, /**< SAI3 Transmit */
  969. kDmaRequestMuxSpdifRx = 85|0x100U, /**< SPDIF Receive */
  970. kDmaRequestMuxSpdifTx = 86|0x100U, /**< SPDIF Transmit */
  971. kDmaRequestMuxADC2 = 88|0x100U, /**< ADC2 */
  972. kDmaRequestMuxACMP2 = 89|0x100U, /**< ACMP2 */
  973. kDmaRequestMuxACMP4 = 90|0x100U, /**< ACMP4 */
  974. kDmaRequestMuxEnetTimer0 = 92|0x100U, /**< ENET Timer0 */
  975. kDmaRequestMuxEnetTimer1 = 93|0x100U, /**< ENET Timer1 */
  976. kDmaRequestMuxXBAR1Request2 = 94|0x100U, /**< XBAR1 Request 2 */
  977. kDmaRequestMuxXBAR1Request3 = 95|0x100U, /**< XBAR1 Request 3 */
  978. kDmaRequestMuxFlexPWM2CaptureSub0 = 96|0x100U, /**< FlexPWM2 Capture sub-module0 */
  979. kDmaRequestMuxFlexPWM2CaptureSub1 = 97|0x100U, /**< FlexPWM2 Capture sub-module1 */
  980. kDmaRequestMuxFlexPWM2CaptureSub2 = 98|0x100U, /**< FlexPWM2 Capture sub-module2 */
  981. kDmaRequestMuxFlexPWM2CaptureSub3 = 99|0x100U, /**< FlexPWM2 Capture sub-module3 */
  982. kDmaRequestMuxFlexPWM2ValueSub0 = 100|0x100U, /**< FlexPWM2 Value sub-module0 */
  983. kDmaRequestMuxFlexPWM2ValueSub1 = 101|0x100U, /**< FlexPWM2 Value sub-module1 */
  984. kDmaRequestMuxFlexPWM2ValueSub2 = 102|0x100U, /**< FlexPWM2 Value sub-module2 */
  985. kDmaRequestMuxFlexPWM2ValueSub3 = 103|0x100U, /**< FlexPWM2 Value sub-module3 */
  986. kDmaRequestMuxQTIMER2CaptTimer0 = 112|0x100U, /**< TMR2 Capture timer 0 */
  987. kDmaRequestMuxQTIMER2CaptTimer1 = 113|0x100U, /**< TMR2 Capture timer 1 */
  988. kDmaRequestMuxQTIMER2CaptTimer2 = 114|0x100U, /**< TMR2 Capture timer 2 */
  989. kDmaRequestMuxQTIMER2CaptTimer3 = 115|0x100U, /**< TMR2 Capture timer 3 */
  990. kDmaRequestMuxQTIMER2Cmpld1Timer0Cmpld2Timer1 = 116|0x100U, /**< TMR2 cmpld1 in timer 0 or cmpld2 in timer 1 */
  991. kDmaRequestMuxQTIMER2Cmpld1Timer1Cmpld2Timer0 = 117|0x100U, /**< TMR2 cmpld1 in timer 1 or cmpld2 in timer 0 */
  992. kDmaRequestMuxQTIMER2Cmpld1Timer2Cmpld2Timer3 = 118|0x100U, /**< TMR2 cmpld1 in timer 2 or cmpld2 in timer 3 */
  993. kDmaRequestMuxQTIMER2Cmpld1Timer3Cmpld2Timer2 = 119|0x100U, /**< TMR2 cmpld1 in timer 3 or cmpld2 in timer 2 */
  994. } dma_request_source_t;
  995. /* @} */
  996. /*!
  997. * @}
  998. */ /* end of group Mapping_Information */
  999. /* ----------------------------------------------------------------------------
  1000. -- Device Peripheral Access Layer
  1001. ---------------------------------------------------------------------------- */
  1002. /*!
  1003. * @addtogroup Peripheral_access_layer Device Peripheral Access Layer
  1004. * @{
  1005. */
  1006. /*
  1007. ** Start of section using anonymous unions
  1008. */
  1009. #if defined(__ARMCC_VERSION)
  1010. #if (__ARMCC_VERSION >= 6010050)
  1011. #pragma clang diagnostic push
  1012. #else
  1013. #pragma push
  1014. #pragma anon_unions
  1015. #endif
  1016. #elif defined(__CWCC__)
  1017. #pragma push
  1018. #pragma cpp_extensions on
  1019. #elif defined(__GNUC__)
  1020. /* anonymous unions are enabled by default */
  1021. #elif defined(__IAR_SYSTEMS_ICC__)
  1022. #pragma language=extended
  1023. #else
  1024. #error Not supported compiler type
  1025. #endif
  1026. /* ----------------------------------------------------------------------------
  1027. -- ADC Peripheral Access Layer
  1028. ---------------------------------------------------------------------------- */
  1029. /*!
  1030. * @addtogroup ADC_Peripheral_Access_Layer ADC Peripheral Access Layer
  1031. * @{
  1032. */
  1033. /** ADC - Register Layout Typedef */
  1034. typedef struct {
  1035. __IO uint32_t HC[8]; /**< Control register for hardware triggers, array offset: 0x0, array step: 0x4 */
  1036. __I uint32_t HS; /**< Status register for HW triggers, offset: 0x20 */
  1037. __I uint32_t R[8]; /**< Data result register for HW triggers, array offset: 0x24, array step: 0x4 */
  1038. __IO uint32_t CFG; /**< Configuration register, offset: 0x44 */
  1039. __IO uint32_t GC; /**< General control register, offset: 0x48 */
  1040. __IO uint32_t GS; /**< General status register, offset: 0x4C */
  1041. __IO uint32_t CV; /**< Compare value register, offset: 0x50 */
  1042. __IO uint32_t OFS; /**< Offset correction value register, offset: 0x54 */
  1043. __IO uint32_t CAL; /**< Calibration value register, offset: 0x58 */
  1044. } ADC_Type;
  1045. /* ----------------------------------------------------------------------------
  1046. -- ADC Register Masks
  1047. ---------------------------------------------------------------------------- */
  1048. /*!
  1049. * @addtogroup ADC_Register_Masks ADC Register Masks
  1050. * @{
  1051. */
  1052. /*! @name HC - Control register for hardware triggers */
  1053. /*! @{ */
  1054. #define ADC_HC_ADCH_MASK (0x1FU)
  1055. #define ADC_HC_ADCH_SHIFT (0U)
  1056. /*! ADCH - Input Channel Select
  1057. * 0b10000..External channel selection from ADC_ETC
  1058. * 0b11000..Reserved.
  1059. * 0b11001..VREFSH = internal channel, for ADC self-test, hard connected to VRH internally
  1060. * 0b11010..Reserved.
  1061. * 0b11011..Reserved.
  1062. * 0b11111..Conversion Disabled. Hardware Triggers will not initiate any conversion.
  1063. */
  1064. #define ADC_HC_ADCH(x) (((uint32_t)(((uint32_t)(x)) << ADC_HC_ADCH_SHIFT)) & ADC_HC_ADCH_MASK)
  1065. #define ADC_HC_AIEN_MASK (0x80U)
  1066. #define ADC_HC_AIEN_SHIFT (7U)
  1067. /*! AIEN - Conversion Complete Interrupt Enable/Disable Control
  1068. * 0b1..Conversion complete interrupt enabled
  1069. * 0b0..Conversion complete interrupt disabled
  1070. */
  1071. #define ADC_HC_AIEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_HC_AIEN_SHIFT)) & ADC_HC_AIEN_MASK)
  1072. /*! @} */
  1073. /* The count of ADC_HC */
  1074. #define ADC_HC_COUNT (8U)
  1075. /*! @name HS - Status register for HW triggers */
  1076. /*! @{ */
  1077. #define ADC_HS_COCO0_MASK (0x1U)
  1078. #define ADC_HS_COCO0_SHIFT (0U)
  1079. /*! COCO0 - Conversion Complete Flag
  1080. */
  1081. #define ADC_HS_COCO0(x) (((uint32_t)(((uint32_t)(x)) << ADC_HS_COCO0_SHIFT)) & ADC_HS_COCO0_MASK)
  1082. #define ADC_HS_COCO1_MASK (0x2U)
  1083. #define ADC_HS_COCO1_SHIFT (1U)
  1084. /*! COCO1 - Conversion Complete Flag
  1085. */
  1086. #define ADC_HS_COCO1(x) (((uint32_t)(((uint32_t)(x)) << ADC_HS_COCO1_SHIFT)) & ADC_HS_COCO1_MASK)
  1087. #define ADC_HS_COCO2_MASK (0x4U)
  1088. #define ADC_HS_COCO2_SHIFT (2U)
  1089. #define ADC_HS_COCO2(x) (((uint32_t)(((uint32_t)(x)) << ADC_HS_COCO2_SHIFT)) & ADC_HS_COCO2_MASK)
  1090. #define ADC_HS_COCO3_MASK (0x8U)
  1091. #define ADC_HS_COCO3_SHIFT (3U)
  1092. #define ADC_HS_COCO3(x) (((uint32_t)(((uint32_t)(x)) << ADC_HS_COCO3_SHIFT)) & ADC_HS_COCO3_MASK)
  1093. #define ADC_HS_COCO4_MASK (0x10U)
  1094. #define ADC_HS_COCO4_SHIFT (4U)
  1095. #define ADC_HS_COCO4(x) (((uint32_t)(((uint32_t)(x)) << ADC_HS_COCO4_SHIFT)) & ADC_HS_COCO4_MASK)
  1096. #define ADC_HS_COCO5_MASK (0x20U)
  1097. #define ADC_HS_COCO5_SHIFT (5U)
  1098. #define ADC_HS_COCO5(x) (((uint32_t)(((uint32_t)(x)) << ADC_HS_COCO5_SHIFT)) & ADC_HS_COCO5_MASK)
  1099. #define ADC_HS_COCO6_MASK (0x40U)
  1100. #define ADC_HS_COCO6_SHIFT (6U)
  1101. #define ADC_HS_COCO6(x) (((uint32_t)(((uint32_t)(x)) << ADC_HS_COCO6_SHIFT)) & ADC_HS_COCO6_MASK)
  1102. #define ADC_HS_COCO7_MASK (0x80U)
  1103. #define ADC_HS_COCO7_SHIFT (7U)
  1104. #define ADC_HS_COCO7(x) (((uint32_t)(((uint32_t)(x)) << ADC_HS_COCO7_SHIFT)) & ADC_HS_COCO7_MASK)
  1105. /*! @} */
  1106. /*! @name R - Data result register for HW triggers */
  1107. /*! @{ */
  1108. #define ADC_R_CDATA_MASK (0xFFFU)
  1109. #define ADC_R_CDATA_SHIFT (0U)
  1110. /*! CDATA - Data (result of an ADC conversion)
  1111. */
  1112. #define ADC_R_CDATA(x) (((uint32_t)(((uint32_t)(x)) << ADC_R_CDATA_SHIFT)) & ADC_R_CDATA_MASK)
  1113. /*! @} */
  1114. /* The count of ADC_R */
  1115. #define ADC_R_COUNT (8U)
  1116. /*! @name CFG - Configuration register */
  1117. /*! @{ */
  1118. #define ADC_CFG_ADICLK_MASK (0x3U)
  1119. #define ADC_CFG_ADICLK_SHIFT (0U)
  1120. /*! ADICLK - Input Clock Select
  1121. * 0b00..IPG clock
  1122. * 0b01..IPG clock divided by 2
  1123. * 0b10..Reserved
  1124. * 0b11..Asynchronous clock (ADACK)
  1125. */
  1126. #define ADC_CFG_ADICLK(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_ADICLK_SHIFT)) & ADC_CFG_ADICLK_MASK)
  1127. #define ADC_CFG_MODE_MASK (0xCU)
  1128. #define ADC_CFG_MODE_SHIFT (2U)
  1129. /*! MODE - Conversion Mode Selection
  1130. * 0b00..8-bit conversion
  1131. * 0b01..10-bit conversion
  1132. * 0b10..12-bit conversion
  1133. * 0b11..Reserved
  1134. */
  1135. #define ADC_CFG_MODE(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_MODE_SHIFT)) & ADC_CFG_MODE_MASK)
  1136. #define ADC_CFG_ADLSMP_MASK (0x10U)
  1137. #define ADC_CFG_ADLSMP_SHIFT (4U)
  1138. /*! ADLSMP - Long Sample Time Configuration
  1139. * 0b0..Short sample mode.
  1140. * 0b1..Long sample mode.
  1141. */
  1142. #define ADC_CFG_ADLSMP(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_ADLSMP_SHIFT)) & ADC_CFG_ADLSMP_MASK)
  1143. #define ADC_CFG_ADIV_MASK (0x60U)
  1144. #define ADC_CFG_ADIV_SHIFT (5U)
  1145. /*! ADIV - Clock Divide Select
  1146. * 0b00..Input clock
  1147. * 0b01..Input clock / 2
  1148. * 0b10..Input clock / 4
  1149. * 0b11..Input clock / 8
  1150. */
  1151. #define ADC_CFG_ADIV(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_ADIV_SHIFT)) & ADC_CFG_ADIV_MASK)
  1152. #define ADC_CFG_ADLPC_MASK (0x80U)
  1153. #define ADC_CFG_ADLPC_SHIFT (7U)
  1154. /*! ADLPC - Low-Power Configuration
  1155. * 0b0..ADC hard block not in low power mode.
  1156. * 0b1..ADC hard block in low power mode.
  1157. */
  1158. #define ADC_CFG_ADLPC(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_ADLPC_SHIFT)) & ADC_CFG_ADLPC_MASK)
  1159. #define ADC_CFG_ADSTS_MASK (0x300U)
  1160. #define ADC_CFG_ADSTS_SHIFT (8U)
  1161. /*! ADSTS
  1162. * 0b00..Sample period (ADC clocks) = 3 if ADLSMP=0b Sample period (ADC clocks) = 13 if ADLSMP=1b
  1163. * 0b01..Sample period (ADC clocks) = 5 if ADLSMP=0b Sample period (ADC clocks) = 17 if ADLSMP=1b
  1164. * 0b10..Sample period (ADC clocks) = 7 if ADLSMP=0b Sample period (ADC clocks) = 21 if ADLSMP=1b
  1165. * 0b11..Sample period (ADC clocks) = 9 if ADLSMP=0b Sample period (ADC clocks) = 25 if ADLSMP=1b
  1166. */
  1167. #define ADC_CFG_ADSTS(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_ADSTS_SHIFT)) & ADC_CFG_ADSTS_MASK)
  1168. #define ADC_CFG_ADHSC_MASK (0x400U)
  1169. #define ADC_CFG_ADHSC_SHIFT (10U)
  1170. /*! ADHSC - High Speed Configuration
  1171. * 0b0..Normal conversion selected.
  1172. * 0b1..High speed conversion selected.
  1173. */
  1174. #define ADC_CFG_ADHSC(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_ADHSC_SHIFT)) & ADC_CFG_ADHSC_MASK)
  1175. #define ADC_CFG_REFSEL_MASK (0x1800U)
  1176. #define ADC_CFG_REFSEL_SHIFT (11U)
  1177. /*! REFSEL - Voltage Reference Selection
  1178. * 0b00..Selects VREFH/VREFL as reference voltage.
  1179. * 0b01..Reserved
  1180. * 0b10..Reserved
  1181. * 0b11..Reserved
  1182. */
  1183. #define ADC_CFG_REFSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_REFSEL_SHIFT)) & ADC_CFG_REFSEL_MASK)
  1184. #define ADC_CFG_ADTRG_MASK (0x2000U)
  1185. #define ADC_CFG_ADTRG_SHIFT (13U)
  1186. /*! ADTRG - Conversion Trigger Select
  1187. * 0b0..Software trigger selected
  1188. * 0b1..Hardware trigger selected
  1189. */
  1190. #define ADC_CFG_ADTRG(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_ADTRG_SHIFT)) & ADC_CFG_ADTRG_MASK)
  1191. #define ADC_CFG_AVGS_MASK (0xC000U)
  1192. #define ADC_CFG_AVGS_SHIFT (14U)
  1193. /*! AVGS - Hardware Average select
  1194. * 0b00..4 samples averaged
  1195. * 0b01..8 samples averaged
  1196. * 0b10..16 samples averaged
  1197. * 0b11..32 samples averaged
  1198. */
  1199. #define ADC_CFG_AVGS(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_AVGS_SHIFT)) & ADC_CFG_AVGS_MASK)
  1200. #define ADC_CFG_OVWREN_MASK (0x10000U)
  1201. #define ADC_CFG_OVWREN_SHIFT (16U)
  1202. /*! OVWREN - Data Overwrite Enable
  1203. * 0b1..Enable the overwriting.
  1204. * 0b0..Disable the overwriting. Existing Data in Data result register will not be overwritten by subsequent converted data.
  1205. */
  1206. #define ADC_CFG_OVWREN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_OVWREN_SHIFT)) & ADC_CFG_OVWREN_MASK)
  1207. /*! @} */
  1208. /*! @name GC - General control register */
  1209. /*! @{ */
  1210. #define ADC_GC_ADACKEN_MASK (0x1U)
  1211. #define ADC_GC_ADACKEN_SHIFT (0U)
  1212. /*! ADACKEN - Asynchronous clock output enable
  1213. * 0b0..Asynchronous clock output disabled; Asynchronous clock only enabled if selected by ADICLK and a conversion is active.
  1214. * 0b1..Asynchronous clock and clock output enabled regardless of the state of the ADC
  1215. */
  1216. #define ADC_GC_ADACKEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_GC_ADACKEN_SHIFT)) & ADC_GC_ADACKEN_MASK)
  1217. #define ADC_GC_DMAEN_MASK (0x2U)
  1218. #define ADC_GC_DMAEN_SHIFT (1U)
  1219. /*! DMAEN - DMA Enable
  1220. * 0b0..DMA disabled (default)
  1221. * 0b1..DMA enabled
  1222. */
  1223. #define ADC_GC_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_GC_DMAEN_SHIFT)) & ADC_GC_DMAEN_MASK)
  1224. #define ADC_GC_ACREN_MASK (0x4U)
  1225. #define ADC_GC_ACREN_SHIFT (2U)
  1226. /*! ACREN - Compare Function Range Enable
  1227. * 0b0..Range function disabled. Only the compare value 1 of ADC_CV register (CV1) is compared.
  1228. * 0b1..Range function enabled. Both compare values of ADC_CV registers (CV1 and CV2) are compared.
  1229. */
  1230. #define ADC_GC_ACREN(x) (((uint32_t)(((uint32_t)(x)) << ADC_GC_ACREN_SHIFT)) & ADC_GC_ACREN_MASK)
  1231. #define ADC_GC_ACFGT_MASK (0x8U)
  1232. #define ADC_GC_ACFGT_SHIFT (3U)
  1233. /*! ACFGT - Compare Function Greater Than Enable
  1234. * 0b0..Configures "Less Than Threshold, Outside Range Not Inclusive and Inside Range Not Inclusive"
  1235. * functionality based on the values placed in the ADC_CV register.
  1236. * 0b1..Configures "Greater Than Or Equal To Threshold, Outside Range Inclusive and Inside Range Inclusive"
  1237. * functionality based on the values placed in the ADC_CV registers.
  1238. */
  1239. #define ADC_GC_ACFGT(x) (((uint32_t)(((uint32_t)(x)) << ADC_GC_ACFGT_SHIFT)) & ADC_GC_ACFGT_MASK)
  1240. #define ADC_GC_ACFE_MASK (0x10U)
  1241. #define ADC_GC_ACFE_SHIFT (4U)
  1242. /*! ACFE - Compare Function Enable
  1243. * 0b0..Compare function disabled
  1244. * 0b1..Compare function enabled
  1245. */
  1246. #define ADC_GC_ACFE(x) (((uint32_t)(((uint32_t)(x)) << ADC_GC_ACFE_SHIFT)) & ADC_GC_ACFE_MASK)
  1247. #define ADC_GC_AVGE_MASK (0x20U)
  1248. #define ADC_GC_AVGE_SHIFT (5U)
  1249. /*! AVGE - Hardware average enable
  1250. * 0b0..Hardware average function disabled
  1251. * 0b1..Hardware average function enabled
  1252. */
  1253. #define ADC_GC_AVGE(x) (((uint32_t)(((uint32_t)(x)) << ADC_GC_AVGE_SHIFT)) & ADC_GC_AVGE_MASK)
  1254. #define ADC_GC_ADCO_MASK (0x40U)
  1255. #define ADC_GC_ADCO_SHIFT (6U)
  1256. /*! ADCO - Continuous Conversion Enable
  1257. * 0b0..One conversion or one set of conversions if the hardware average function is enabled (AVGE=1) after initiating a conversion.
  1258. * 0b1..Continuous conversions or sets of conversions if the hardware average function is enabled (AVGE=1) after initiating a conversion.
  1259. */
  1260. #define ADC_GC_ADCO(x) (((uint32_t)(((uint32_t)(x)) << ADC_GC_ADCO_SHIFT)) & ADC_GC_ADCO_MASK)
  1261. #define ADC_GC_CAL_MASK (0x80U)
  1262. #define ADC_GC_CAL_SHIFT (7U)
  1263. /*! CAL - Calibration
  1264. */
  1265. #define ADC_GC_CAL(x) (((uint32_t)(((uint32_t)(x)) << ADC_GC_CAL_SHIFT)) & ADC_GC_CAL_MASK)
  1266. /*! @} */
  1267. /*! @name GS - General status register */
  1268. /*! @{ */
  1269. #define ADC_GS_ADACT_MASK (0x1U)
  1270. #define ADC_GS_ADACT_SHIFT (0U)
  1271. /*! ADACT - Conversion Active
  1272. * 0b0..Conversion not in progress.
  1273. * 0b1..Conversion in progress.
  1274. */
  1275. #define ADC_GS_ADACT(x) (((uint32_t)(((uint32_t)(x)) << ADC_GS_ADACT_SHIFT)) & ADC_GS_ADACT_MASK)
  1276. #define ADC_GS_CALF_MASK (0x2U)
  1277. #define ADC_GS_CALF_SHIFT (1U)
  1278. /*! CALF - Calibration Failed Flag
  1279. * 0b0..Calibration completed normally.
  1280. * 0b1..Calibration failed. ADC accuracy specifications are not guaranteed.
  1281. */
  1282. #define ADC_GS_CALF(x) (((uint32_t)(((uint32_t)(x)) << ADC_GS_CALF_SHIFT)) & ADC_GS_CALF_MASK)
  1283. #define ADC_GS_AWKST_MASK (0x4U)
  1284. #define ADC_GS_AWKST_SHIFT (2U)
  1285. /*! AWKST - Asynchronous wakeup interrupt status
  1286. * 0b1..Asynchronous wake up interrupt occurred in stop mode.
  1287. * 0b0..No asynchronous interrupt.
  1288. */
  1289. #define ADC_GS_AWKST(x) (((uint32_t)(((uint32_t)(x)) << ADC_GS_AWKST_SHIFT)) & ADC_GS_AWKST_MASK)
  1290. /*! @} */
  1291. /*! @name CV - Compare value register */
  1292. /*! @{ */
  1293. #define ADC_CV_CV1_MASK (0xFFFU)
  1294. #define ADC_CV_CV1_SHIFT (0U)
  1295. /*! CV1 - Compare Value 1
  1296. */
  1297. #define ADC_CV_CV1(x) (((uint32_t)(((uint32_t)(x)) << ADC_CV_CV1_SHIFT)) & ADC_CV_CV1_MASK)
  1298. #define ADC_CV_CV2_MASK (0xFFF0000U)
  1299. #define ADC_CV_CV2_SHIFT (16U)
  1300. /*! CV2 - Compare Value 2
  1301. */
  1302. #define ADC_CV_CV2(x) (((uint32_t)(((uint32_t)(x)) << ADC_CV_CV2_SHIFT)) & ADC_CV_CV2_MASK)
  1303. /*! @} */
  1304. /*! @name OFS - Offset correction value register */
  1305. /*! @{ */
  1306. #define ADC_OFS_OFS_MASK (0xFFFU)
  1307. #define ADC_OFS_OFS_SHIFT (0U)
  1308. /*! OFS - Offset value
  1309. */
  1310. #define ADC_OFS_OFS(x) (((uint32_t)(((uint32_t)(x)) << ADC_OFS_OFS_SHIFT)) & ADC_OFS_OFS_MASK)
  1311. #define ADC_OFS_SIGN_MASK (0x1000U)
  1312. #define ADC_OFS_SIGN_SHIFT (12U)
  1313. /*! SIGN - Sign bit
  1314. * 0b0..The offset value is added with the raw result
  1315. * 0b1..The offset value is subtracted from the raw converted value
  1316. */
  1317. #define ADC_OFS_SIGN(x) (((uint32_t)(((uint32_t)(x)) << ADC_OFS_SIGN_SHIFT)) & ADC_OFS_SIGN_MASK)
  1318. /*! @} */
  1319. /*! @name CAL - Calibration value register */
  1320. /*! @{ */
  1321. #define ADC_CAL_CAL_CODE_MASK (0xFU)
  1322. #define ADC_CAL_CAL_CODE_SHIFT (0U)
  1323. /*! CAL_CODE - Calibration Result Value
  1324. */
  1325. #define ADC_CAL_CAL_CODE(x) (((uint32_t)(((uint32_t)(x)) << ADC_CAL_CAL_CODE_SHIFT)) & ADC_CAL_CAL_CODE_MASK)
  1326. /*! @} */
  1327. /*!
  1328. * @}
  1329. */ /* end of group ADC_Register_Masks */
  1330. /* ADC - Peripheral instance base addresses */
  1331. /** Peripheral ADC1 base address */
  1332. #define ADC1_BASE (0x400C4000u)
  1333. /** Peripheral ADC1 base pointer */
  1334. #define ADC1 ((ADC_Type *)ADC1_BASE)
  1335. /** Peripheral ADC2 base address */
  1336. #define ADC2_BASE (0x400C8000u)
  1337. /** Peripheral ADC2 base pointer */
  1338. #define ADC2 ((ADC_Type *)ADC2_BASE)
  1339. /** Array initializer of ADC peripheral base addresses */
  1340. #define ADC_BASE_ADDRS { 0u, ADC1_BASE, ADC2_BASE }
  1341. /** Array initializer of ADC peripheral base pointers */
  1342. #define ADC_BASE_PTRS { (ADC_Type *)0u, ADC1, ADC2 }
  1343. /** Interrupt vectors for the ADC peripheral type */
  1344. #define ADC_IRQS { NotAvail_IRQn, ADC1_IRQn, ADC2_IRQn }
  1345. /*!
  1346. * @}
  1347. */ /* end of group ADC_Peripheral_Access_Layer */
  1348. /* ----------------------------------------------------------------------------
  1349. -- ADC_ETC Peripheral Access Layer
  1350. ---------------------------------------------------------------------------- */
  1351. /*!
  1352. * @addtogroup ADC_ETC_Peripheral_Access_Layer ADC_ETC Peripheral Access Layer
  1353. * @{
  1354. */
  1355. /** ADC_ETC - Register Layout Typedef */
  1356. typedef struct {
  1357. __IO uint32_t CTRL; /**< ADC_ETC Global Control Register, offset: 0x0 */
  1358. __IO uint32_t DONE0_1_IRQ; /**< ETC DONE0 and DONE1 IRQ State Register, offset: 0x4 */
  1359. __IO uint32_t DONE2_3_ERR_IRQ; /**< ETC DONE_2 and DONE_ERR IRQ State Register, offset: 0x8 */
  1360. __IO uint32_t DMA_CTRL; /**< ETC DMA control Register, offset: 0xC */
  1361. struct { /* offset: 0x10, array step: 0x28 */
  1362. __IO uint32_t TRIGn_CTRL; /**< ETC_TRIG Control Register, array offset: 0x10, array step: 0x28 */
  1363. __IO uint32_t TRIGn_COUNTER; /**< ETC_TRIG Counter Register, array offset: 0x14, array step: 0x28 */
  1364. __IO uint32_t TRIGn_CHAIN_1_0; /**< ETC_TRIG Chain 0/1 Register, array offset: 0x18, array step: 0x28 */
  1365. __IO uint32_t TRIGn_CHAIN_3_2; /**< ETC_TRIG Chain 2/3 Register, array offset: 0x1C, array step: 0x28 */
  1366. __IO uint32_t TRIGn_CHAIN_5_4; /**< ETC_TRIG Chain 4/5 Register, array offset: 0x20, array step: 0x28 */
  1367. __IO uint32_t TRIGn_CHAIN_7_6; /**< ETC_TRIG Chain 6/7 Register, array offset: 0x24, array step: 0x28 */
  1368. __I uint32_t TRIGn_RESULT_1_0; /**< ETC_TRIG Result Data 1/0 Register, array offset: 0x28, array step: 0x28 */
  1369. __I uint32_t TRIGn_RESULT_3_2; /**< ETC_TRIG Result Data 3/2 Register, array offset: 0x2C, array step: 0x28 */
  1370. __I uint32_t TRIGn_RESULT_5_4; /**< ETC_TRIG Result Data 5/4 Register, array offset: 0x30, array step: 0x28 */
  1371. __I uint32_t TRIGn_RESULT_7_6; /**< ETC_TRIG Result Data 7/6 Register, array offset: 0x34, array step: 0x28 */
  1372. } TRIG[8];
  1373. } ADC_ETC_Type;
  1374. /* ----------------------------------------------------------------------------
  1375. -- ADC_ETC Register Masks
  1376. ---------------------------------------------------------------------------- */
  1377. /*!
  1378. * @addtogroup ADC_ETC_Register_Masks ADC_ETC Register Masks
  1379. * @{
  1380. */
  1381. /*! @name CTRL - ADC_ETC Global Control Register */
  1382. /*! @{ */
  1383. #define ADC_ETC_CTRL_TRIG_ENABLE_MASK (0xFFU)
  1384. #define ADC_ETC_CTRL_TRIG_ENABLE_SHIFT (0U)
  1385. /*! TRIG_ENABLE
  1386. * 0b00000000..disable all 8 external XBAR triggers.
  1387. * 0b00000001..enable external XBAR trigger0.
  1388. * 0b00000010..enable external XBAR trigger1.
  1389. * 0b00000011..enable external XBAR trigger0 and trigger1.
  1390. * 0b11111111..enable all 8 external XBAR triggers.
  1391. */
  1392. #define ADC_ETC_CTRL_TRIG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_CTRL_TRIG_ENABLE_SHIFT)) & ADC_ETC_CTRL_TRIG_ENABLE_MASK)
  1393. #define ADC_ETC_CTRL_PRE_DIVIDER_MASK (0xFF0000U)
  1394. #define ADC_ETC_CTRL_PRE_DIVIDER_SHIFT (16U)
  1395. #define ADC_ETC_CTRL_PRE_DIVIDER(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_CTRL_PRE_DIVIDER_SHIFT)) & ADC_ETC_CTRL_PRE_DIVIDER_MASK)
  1396. #define ADC_ETC_CTRL_DMA_MODE_SEL_MASK (0x20000000U)
  1397. #define ADC_ETC_CTRL_DMA_MODE_SEL_SHIFT (29U)
  1398. /*! DMA_MODE_SEL
  1399. * 0b0..Trig DMA_REQ with latched signal, REQ will be cleared when ACK and source request cleared.
  1400. * 0b1..Trig DMA_REQ with pulsed signal, REQ will be cleared by ACK only.
  1401. */
  1402. #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)
  1403. #define ADC_ETC_CTRL_SOFTRST_MASK (0x80000000U)
  1404. #define ADC_ETC_CTRL_SOFTRST_SHIFT (31U)
  1405. /*! SOFTRST
  1406. * 0b0..ADC_ETC works normally.
  1407. * 0b1..All registers inside ADC_ETC will be reset to the default value.
  1408. */
  1409. #define ADC_ETC_CTRL_SOFTRST(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_CTRL_SOFTRST_SHIFT)) & ADC_ETC_CTRL_SOFTRST_MASK)
  1410. /*! @} */
  1411. /*! @name DONE0_1_IRQ - ETC DONE0 and DONE1 IRQ State Register */
  1412. /*! @{ */
  1413. #define ADC_ETC_DONE0_1_IRQ_TRIG0_DONE0_MASK (0x1U)
  1414. #define ADC_ETC_DONE0_1_IRQ_TRIG0_DONE0_SHIFT (0U)
  1415. /*! TRIG0_DONE0
  1416. * 0b0..No TRIG0_DONE0 interrupt detected
  1417. * 0b1..TRIG0_DONE0 interrupt detected
  1418. */
  1419. #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)
  1420. #define ADC_ETC_DONE0_1_IRQ_TRIG1_DONE0_MASK (0x2U)
  1421. #define ADC_ETC_DONE0_1_IRQ_TRIG1_DONE0_SHIFT (1U)
  1422. /*! TRIG1_DONE0
  1423. * 0b0..No TRIG1_DONE0 interrupt detected
  1424. * 0b1..TRIG1_DONE0 interrupt detected
  1425. */
  1426. #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)
  1427. #define ADC_ETC_DONE0_1_IRQ_TRIG2_DONE0_MASK (0x4U)
  1428. #define ADC_ETC_DONE0_1_IRQ_TRIG2_DONE0_SHIFT (2U)
  1429. /*! TRIG2_DONE0
  1430. * 0b0..No TRIG2_DONE0 interrupt detected
  1431. * 0b1..TRIG2_DONE0 interrupt detected
  1432. */
  1433. #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)
  1434. #define ADC_ETC_DONE0_1_IRQ_TRIG3_DONE0_MASK (0x8U)
  1435. #define ADC_ETC_DONE0_1_IRQ_TRIG3_DONE0_SHIFT (3U)
  1436. /*! TRIG3_DONE0
  1437. * 0b0..No TRIG3_DONE0 interrupt detected
  1438. * 0b1..TRIG3_DONE0 interrupt detected
  1439. */
  1440. #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)
  1441. #define ADC_ETC_DONE0_1_IRQ_TRIG4_DONE0_MASK (0x10U)
  1442. #define ADC_ETC_DONE0_1_IRQ_TRIG4_DONE0_SHIFT (4U)
  1443. /*! TRIG4_DONE0
  1444. * 0b0..No TRIG4_DONE0 interrupt detected
  1445. * 0b1..TRIG4_DONE0 interrupt detected
  1446. */
  1447. #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)
  1448. #define ADC_ETC_DONE0_1_IRQ_TRIG5_DONE0_MASK (0x20U)
  1449. #define ADC_ETC_DONE0_1_IRQ_TRIG5_DONE0_SHIFT (5U)
  1450. /*! TRIG5_DONE0
  1451. * 0b0..No TRIG5_DONE0 interrupt detected
  1452. * 0b1..TRIG5_DONE0 interrupt detected
  1453. */
  1454. #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)
  1455. #define ADC_ETC_DONE0_1_IRQ_TRIG6_DONE0_MASK (0x40U)
  1456. #define ADC_ETC_DONE0_1_IRQ_TRIG6_DONE0_SHIFT (6U)
  1457. /*! TRIG6_DONE0
  1458. * 0b0..No TRIG6_DONE0 interrupt detected
  1459. * 0b1..TRIG6_DONE0 interrupt detected
  1460. */
  1461. #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)
  1462. #define ADC_ETC_DONE0_1_IRQ_TRIG7_DONE0_MASK (0x80U)
  1463. #define ADC_ETC_DONE0_1_IRQ_TRIG7_DONE0_SHIFT (7U)
  1464. /*! TRIG7_DONE0
  1465. * 0b0..No TRIG7_DONE0 interrupt detected
  1466. * 0b1..TRIG7_DONE0 interrupt detected
  1467. */
  1468. #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)
  1469. #define ADC_ETC_DONE0_1_IRQ_TRIG0_DONE1_MASK (0x10000U)
  1470. #define ADC_ETC_DONE0_1_IRQ_TRIG0_DONE1_SHIFT (16U)
  1471. /*! TRIG0_DONE1
  1472. * 0b0..No TRIG0_DONE1 interrupt detected
  1473. * 0b1..TRIG0_DONE1 interrupt detected
  1474. */
  1475. #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)
  1476. #define ADC_ETC_DONE0_1_IRQ_TRIG1_DONE1_MASK (0x20000U)
  1477. #define ADC_ETC_DONE0_1_IRQ_TRIG1_DONE1_SHIFT (17U)
  1478. /*! TRIG1_DONE1
  1479. * 0b0..No TRIG1_DONE1 interrupt detected
  1480. * 0b1..TRIG1_DONE1 interrupt detected
  1481. */
  1482. #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)
  1483. #define ADC_ETC_DONE0_1_IRQ_TRIG2_DONE1_MASK (0x40000U)
  1484. #define ADC_ETC_DONE0_1_IRQ_TRIG2_DONE1_SHIFT (18U)
  1485. /*! TRIG2_DONE1
  1486. * 0b0..No TRIG2_DONE1 interrupt detected
  1487. * 0b1..TRIG2_DONE1 interrupt detected
  1488. */
  1489. #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)
  1490. #define ADC_ETC_DONE0_1_IRQ_TRIG3_DONE1_MASK (0x80000U)
  1491. #define ADC_ETC_DONE0_1_IRQ_TRIG3_DONE1_SHIFT (19U)
  1492. /*! TRIG3_DONE1
  1493. * 0b0..No TRIG3_DONE1 interrupt detected
  1494. * 0b1..TRIG3_DONE1 interrupt detected
  1495. */
  1496. #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)
  1497. #define ADC_ETC_DONE0_1_IRQ_TRIG4_DONE1_MASK (0x100000U)
  1498. #define ADC_ETC_DONE0_1_IRQ_TRIG4_DONE1_SHIFT (20U)
  1499. /*! TRIG4_DONE1
  1500. * 0b0..No TRIG4_DONE1 interrupt detected
  1501. * 0b1..TRIG4_DONE1 interrupt detected
  1502. */
  1503. #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)
  1504. #define ADC_ETC_DONE0_1_IRQ_TRIG5_DONE1_MASK (0x200000U)
  1505. #define ADC_ETC_DONE0_1_IRQ_TRIG5_DONE1_SHIFT (21U)
  1506. /*! TRIG5_DONE1
  1507. * 0b0..No TRIG5_DONE1 interrupt detected
  1508. * 0b1..TRIG5_DONE1 interrupt detected
  1509. */
  1510. #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)
  1511. #define ADC_ETC_DONE0_1_IRQ_TRIG6_DONE1_MASK (0x400000U)
  1512. #define ADC_ETC_DONE0_1_IRQ_TRIG6_DONE1_SHIFT (22U)
  1513. /*! TRIG6_DONE1
  1514. * 0b0..No TRIG6_DONE1 interrupt detected
  1515. * 0b1..TRIG6_DONE1 interrupt detected
  1516. */
  1517. #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)
  1518. #define ADC_ETC_DONE0_1_IRQ_TRIG7_DONE1_MASK (0x800000U)
  1519. #define ADC_ETC_DONE0_1_IRQ_TRIG7_DONE1_SHIFT (23U)
  1520. /*! TRIG7_DONE1
  1521. * 0b0..No TRIG7_DONE1 interrupt detected
  1522. * 0b1..TRIG7_DONE1 interrupt detected
  1523. */
  1524. #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)
  1525. /*! @} */
  1526. /*! @name DONE2_3_ERR_IRQ - ETC DONE_2 and DONE_ERR IRQ State Register */
  1527. /*! @{ */
  1528. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_DONE2_MASK (0x1U)
  1529. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_DONE2_SHIFT (0U)
  1530. /*! TRIG0_DONE2
  1531. * 0b0..No TRIG0_DONE2 interrupt detected
  1532. * 0b1..TRIG0_DONE2 interrupt detected
  1533. */
  1534. #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)
  1535. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_DONE2_MASK (0x2U)
  1536. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_DONE2_SHIFT (1U)
  1537. /*! TRIG1_DONE2
  1538. * 0b0..No TRIG1_DONE2 interrupt detected
  1539. * 0b1..TRIG1_DONE2 interrupt detected
  1540. */
  1541. #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)
  1542. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_DONE2_MASK (0x4U)
  1543. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_DONE2_SHIFT (2U)
  1544. /*! TRIG2_DONE2
  1545. * 0b0..No TRIG2_DONE2 interrupt detected
  1546. * 0b1..TRIG2_DONE2 interrupt detected
  1547. */
  1548. #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)
  1549. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_DONE2_MASK (0x8U)
  1550. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_DONE2_SHIFT (3U)
  1551. /*! TRIG3_DONE2
  1552. * 0b0..No TRIG3_DONE2 interrupt detected
  1553. * 0b1..TRIG3_DONE2 interrupt detected
  1554. */
  1555. #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)
  1556. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_DONE2_MASK (0x10U)
  1557. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_DONE2_SHIFT (4U)
  1558. /*! TRIG4_DONE2
  1559. * 0b0..No TRIG4_DONE2 interrupt detected
  1560. * 0b1..TRIG4_DONE2 interrupt detected
  1561. */
  1562. #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)
  1563. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_DONE2_MASK (0x20U)
  1564. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_DONE2_SHIFT (5U)
  1565. /*! TRIG5_DONE2
  1566. * 0b0..No TRIG5_DONE2 interrupt detected
  1567. * 0b1..TRIG5_DONE2 interrupt detected
  1568. */
  1569. #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)
  1570. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_DONE2_MASK (0x40U)
  1571. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_DONE2_SHIFT (6U)
  1572. /*! TRIG6_DONE2
  1573. * 0b0..No TRIG6_DONE2 interrupt detected
  1574. * 0b1..TRIG6_DONE2 interrupt detected
  1575. */
  1576. #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)
  1577. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_DONE2_MASK (0x80U)
  1578. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_DONE2_SHIFT (7U)
  1579. /*! TRIG7_DONE2
  1580. * 0b0..No TRIG7_DONE2 interrupt detected
  1581. * 0b1..TRIG7_DONE2 interrupt detected
  1582. */
  1583. #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)
  1584. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_ERR_MASK (0x10000U)
  1585. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_ERR_SHIFT (16U)
  1586. /*! TRIG0_ERR
  1587. * 0b0..No TRIG0_ERR interrupt detected
  1588. * 0b1..TRIG0_ERR interrupt detected
  1589. */
  1590. #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)
  1591. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_ERR_MASK (0x20000U)
  1592. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_ERR_SHIFT (17U)
  1593. /*! TRIG1_ERR
  1594. * 0b0..No TRIG1_ERR interrupt detected
  1595. * 0b1..TRIG1_ERR interrupt detected
  1596. */
  1597. #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)
  1598. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_ERR_MASK (0x40000U)
  1599. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_ERR_SHIFT (18U)
  1600. /*! TRIG2_ERR
  1601. * 0b0..No TRIG2_ERR interrupt detected
  1602. * 0b1..TRIG2_ERR interrupt detected
  1603. */
  1604. #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)
  1605. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_ERR_MASK (0x80000U)
  1606. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_ERR_SHIFT (19U)
  1607. /*! TRIG3_ERR
  1608. * 0b0..No TRIG3_ERR interrupt detected
  1609. * 0b1..TRIG3_ERR interrupt detected
  1610. */
  1611. #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)
  1612. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_ERR_MASK (0x100000U)
  1613. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_ERR_SHIFT (20U)
  1614. /*! TRIG4_ERR
  1615. * 0b0..No TRIG4_ERR interrupt detected
  1616. * 0b1..TRIG4_ERR interrupt detected
  1617. */
  1618. #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)
  1619. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_ERR_MASK (0x200000U)
  1620. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_ERR_SHIFT (21U)
  1621. /*! TRIG5_ERR
  1622. * 0b0..No TRIG5_ERR interrupt detected
  1623. * 0b1..TRIG5_ERR interrupt detected
  1624. */
  1625. #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)
  1626. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_ERR_MASK (0x400000U)
  1627. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_ERR_SHIFT (22U)
  1628. /*! TRIG6_ERR
  1629. * 0b0..No TRIG6_ERR interrupt detected
  1630. * 0b1..TRIG6_ERR interrupt detected
  1631. */
  1632. #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)
  1633. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_ERR_MASK (0x800000U)
  1634. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_ERR_SHIFT (23U)
  1635. /*! TRIG7_ERR
  1636. * 0b0..No TRIG7_ERR interrupt detected
  1637. * 0b1..TRIG7_ERR interrupt detected
  1638. */
  1639. #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)
  1640. /*! @} */
  1641. /*! @name DMA_CTRL - ETC DMA control Register */
  1642. /*! @{ */
  1643. #define ADC_ETC_DMA_CTRL_TRIG0_ENABLE_MASK (0x1U)
  1644. #define ADC_ETC_DMA_CTRL_TRIG0_ENABLE_SHIFT (0U)
  1645. /*! TRIG0_ENABLE
  1646. * 0b0..TRIG0 DMA request disabled.
  1647. * 0b1..TRIG0 DMA request enabled.
  1648. */
  1649. #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)
  1650. #define ADC_ETC_DMA_CTRL_TRIG1_ENABLE_MASK (0x2U)
  1651. #define ADC_ETC_DMA_CTRL_TRIG1_ENABLE_SHIFT (1U)
  1652. /*! TRIG1_ENABLE
  1653. * 0b0..TRIG1 DMA request disabled.
  1654. * 0b1..TRIG1 DMA request enabled.
  1655. */
  1656. #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)
  1657. #define ADC_ETC_DMA_CTRL_TRIG2_ENABLE_MASK (0x4U)
  1658. #define ADC_ETC_DMA_CTRL_TRIG2_ENABLE_SHIFT (2U)
  1659. /*! TRIG2_ENABLE
  1660. * 0b0..TRIG2 DMA request disabled.
  1661. * 0b1..TRIG2 DMA request enabled.
  1662. */
  1663. #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)
  1664. #define ADC_ETC_DMA_CTRL_TRIG3_ENABLE_MASK (0x8U)
  1665. #define ADC_ETC_DMA_CTRL_TRIG3_ENABLE_SHIFT (3U)
  1666. /*! TRIG3_ENABLE
  1667. * 0b0..TRIG3 DMA request disabled.
  1668. * 0b1..TRIG3 DMA request enabled.
  1669. */
  1670. #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)
  1671. #define ADC_ETC_DMA_CTRL_TRIG4_ENABLE_MASK (0x10U)
  1672. #define ADC_ETC_DMA_CTRL_TRIG4_ENABLE_SHIFT (4U)
  1673. /*! TRIG4_ENABLE
  1674. * 0b0..TRIG4 DMA request disabled.
  1675. * 0b1..TRIG4 DMA request enabled.
  1676. */
  1677. #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)
  1678. #define ADC_ETC_DMA_CTRL_TRIG5_ENABLE_MASK (0x20U)
  1679. #define ADC_ETC_DMA_CTRL_TRIG5_ENABLE_SHIFT (5U)
  1680. /*! TRIG5_ENABLE
  1681. * 0b0..TRIG5 DMA request disabled.
  1682. * 0b1..TRIG5 DMA request enabled.
  1683. */
  1684. #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)
  1685. #define ADC_ETC_DMA_CTRL_TRIG6_ENABLE_MASK (0x40U)
  1686. #define ADC_ETC_DMA_CTRL_TRIG6_ENABLE_SHIFT (6U)
  1687. /*! TRIG6_ENABLE
  1688. * 0b0..TRIG6 DMA request disabled.
  1689. * 0b1..TRIG6 DMA request enabled.
  1690. */
  1691. #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)
  1692. #define ADC_ETC_DMA_CTRL_TRIG7_ENABLE_MASK (0x80U)
  1693. #define ADC_ETC_DMA_CTRL_TRIG7_ENABLE_SHIFT (7U)
  1694. /*! TRIG7_ENABLE
  1695. * 0b0..TRIG7 DMA request disabled.
  1696. * 0b1..TRIG7 DMA request enabled.
  1697. */
  1698. #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)
  1699. #define ADC_ETC_DMA_CTRL_TRIG0_REQ_MASK (0x10000U)
  1700. #define ADC_ETC_DMA_CTRL_TRIG0_REQ_SHIFT (16U)
  1701. /*! TRIG0_REQ
  1702. * 0b0..TRIG0_REQ not detected.
  1703. * 0b1..TRIG0_REQ detected.
  1704. */
  1705. #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)
  1706. #define ADC_ETC_DMA_CTRL_TRIG1_REQ_MASK (0x20000U)
  1707. #define ADC_ETC_DMA_CTRL_TRIG1_REQ_SHIFT (17U)
  1708. /*! TRIG1_REQ
  1709. * 0b0..TRIG1_REQ not detected.
  1710. * 0b1..TRIG1_REQ detected.
  1711. */
  1712. #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)
  1713. #define ADC_ETC_DMA_CTRL_TRIG2_REQ_MASK (0x40000U)
  1714. #define ADC_ETC_DMA_CTRL_TRIG2_REQ_SHIFT (18U)
  1715. /*! TRIG2_REQ
  1716. * 0b0..TRIG2_REQ not detected.
  1717. * 0b1..TRIG2_REQ detected.
  1718. */
  1719. #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)
  1720. #define ADC_ETC_DMA_CTRL_TRIG3_REQ_MASK (0x80000U)
  1721. #define ADC_ETC_DMA_CTRL_TRIG3_REQ_SHIFT (19U)
  1722. /*! TRIG3_REQ
  1723. * 0b0..TRIG3_REQ not detected.
  1724. * 0b1..TRIG3_REQ detected.
  1725. */
  1726. #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)
  1727. #define ADC_ETC_DMA_CTRL_TRIG4_REQ_MASK (0x100000U)
  1728. #define ADC_ETC_DMA_CTRL_TRIG4_REQ_SHIFT (20U)
  1729. /*! TRIG4_REQ
  1730. * 0b0..TRIG4_REQ not detected.
  1731. * 0b1..TRIG4_REQ detected.
  1732. */
  1733. #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)
  1734. #define ADC_ETC_DMA_CTRL_TRIG5_REQ_MASK (0x200000U)
  1735. #define ADC_ETC_DMA_CTRL_TRIG5_REQ_SHIFT (21U)
  1736. /*! TRIG5_REQ
  1737. * 0b0..TRIG5_REQ not detected.
  1738. * 0b1..TRIG5_REQ detected.
  1739. */
  1740. #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)
  1741. #define ADC_ETC_DMA_CTRL_TRIG6_REQ_MASK (0x400000U)
  1742. #define ADC_ETC_DMA_CTRL_TRIG6_REQ_SHIFT (22U)
  1743. /*! TRIG6_REQ
  1744. * 0b0..TRIG6_REQ not detected.
  1745. * 0b1..TRIG6_REQ detected.
  1746. */
  1747. #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)
  1748. #define ADC_ETC_DMA_CTRL_TRIG7_REQ_MASK (0x800000U)
  1749. #define ADC_ETC_DMA_CTRL_TRIG7_REQ_SHIFT (23U)
  1750. /*! TRIG7_REQ
  1751. * 0b0..TRIG7_REQ not detected.
  1752. * 0b1..TRIG7_REQ detected.
  1753. */
  1754. #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)
  1755. /*! @} */
  1756. /*! @name TRIGn_CTRL - ETC_TRIG Control Register */
  1757. /*! @{ */
  1758. #define ADC_ETC_TRIGn_CTRL_SW_TRIG_MASK (0x1U)
  1759. #define ADC_ETC_TRIGn_CTRL_SW_TRIG_SHIFT (0U)
  1760. /*! SW_TRIG
  1761. * 0b0..No software trigger event generated.
  1762. * 0b1..Software trigger event generated.
  1763. */
  1764. #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)
  1765. #define ADC_ETC_TRIGn_CTRL_TRIG_MODE_MASK (0x10U)
  1766. #define ADC_ETC_TRIGn_CTRL_TRIG_MODE_SHIFT (4U)
  1767. /*! TRIG_MODE
  1768. * 0b0..Hardware trigger. The softerware trigger will be ignored.
  1769. * 0b1..Software trigger. The hardware trigger will be ignored.
  1770. */
  1771. #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)
  1772. #define ADC_ETC_TRIGn_CTRL_TRIG_CHAIN_MASK (0x700U)
  1773. #define ADC_ETC_TRIGn_CTRL_TRIG_CHAIN_SHIFT (8U)
  1774. /*! TRIG_CHAIN
  1775. * 0b000..Trigger chain length is 1
  1776. * 0b001..Trigger chain length is 2
  1777. * 0b010..Trigger chain length is 3
  1778. * 0b011..Trigger chain length is 4
  1779. * 0b100..Trigger chain length is 5
  1780. * 0b101..Trigger chain length is 6
  1781. * 0b110..Trigger chain length is 7
  1782. * 0b111..Trigger chain length is 8
  1783. */
  1784. #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)
  1785. #define ADC_ETC_TRIGn_CTRL_TRIG_PRIORITY_MASK (0x7000U)
  1786. #define ADC_ETC_TRIGn_CTRL_TRIG_PRIORITY_SHIFT (12U)
  1787. #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)
  1788. #define ADC_ETC_TRIGn_CTRL_SYNC_MODE_MASK (0x10000U)
  1789. #define ADC_ETC_TRIGn_CTRL_SYNC_MODE_SHIFT (16U)
  1790. /*! SYNC_MODE
  1791. * 0b0..Synchronization mode disabled, TRIGa and TRIG(a+4) are triggered independently.
  1792. * 0b1..Synchronization mode enabled, TRIGa and TRIG(a+4) are triggered by TRIGa source synchronously.
  1793. */
  1794. #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)
  1795. /*! @} */
  1796. /* The count of ADC_ETC_TRIGn_CTRL */
  1797. #define ADC_ETC_TRIGn_CTRL_COUNT (8U)
  1798. /*! @name TRIGn_COUNTER - ETC_TRIG Counter Register */
  1799. /*! @{ */
  1800. #define ADC_ETC_TRIGn_COUNTER_INIT_DELAY_MASK (0xFFFFU)
  1801. #define ADC_ETC_TRIGn_COUNTER_INIT_DELAY_SHIFT (0U)
  1802. #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)
  1803. #define ADC_ETC_TRIGn_COUNTER_SAMPLE_INTERVAL_MASK (0xFFFF0000U)
  1804. #define ADC_ETC_TRIGn_COUNTER_SAMPLE_INTERVAL_SHIFT (16U)
  1805. #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)
  1806. /*! @} */
  1807. /* The count of ADC_ETC_TRIGn_COUNTER */
  1808. #define ADC_ETC_TRIGn_COUNTER_COUNT (8U)
  1809. /*! @name TRIGn_CHAIN_1_0 - ETC_TRIG Chain 0/1 Register */
  1810. /*! @{ */
  1811. #define ADC_ETC_TRIGn_CHAIN_1_0_CSEL0_MASK (0xFU)
  1812. #define ADC_ETC_TRIGn_CHAIN_1_0_CSEL0_SHIFT (0U)
  1813. /*! CSEL0
  1814. * 0b0000..ADC Channel 0 selected
  1815. * 0b0001..ADC Channel 1 selected.
  1816. * 0b0010..ADC Channel 2 selected.
  1817. * 0b0011..ADC Channel 3 selected.
  1818. * 0b0100..ADC Channel 4 selected.
  1819. * 0b0101..ADC Channel 5 selected.
  1820. * 0b0110..ADC Channel 6 selected.
  1821. * 0b0111..ADC Channel 7 selected.
  1822. * 0b1000..ADC Channel 8 selected.
  1823. * 0b1001..ADC Channel 9 selected.
  1824. * 0b1010..ADC Channel 10 selected.
  1825. * 0b1011..ADC Channel 11 selected.
  1826. * 0b1100..ADC Channel 12 selected.
  1827. * 0b1101..ADC Channel 13 selected.
  1828. * 0b1110..ADC Channel 14 selected.
  1829. * 0b1111..ADC Channel 15 selected.
  1830. */
  1831. #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)
  1832. #define ADC_ETC_TRIGn_CHAIN_1_0_HWTS0_MASK (0xFF0U)
  1833. #define ADC_ETC_TRIGn_CHAIN_1_0_HWTS0_SHIFT (4U)
  1834. /*! HWTS0
  1835. * 0b00000000..no trigger selected
  1836. * 0b00000001..ADC TRIG0 selected
  1837. * 0b00000010..ADC TRIG1 selected
  1838. * 0b00000100..ADC TRIG2 selected
  1839. * 0b00001000..ADC TRIG3 selected
  1840. * 0b00010000..ADC TRIG4 selected
  1841. * 0b00100000..ADC TRIG5 selected
  1842. * 0b01000000..ADC TRIG6 selected
  1843. * 0b10000000..ADC TRIG7 selected
  1844. */
  1845. #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)
  1846. #define ADC_ETC_TRIGn_CHAIN_1_0_B2B0_MASK (0x1000U)
  1847. #define ADC_ETC_TRIGn_CHAIN_1_0_B2B0_SHIFT (12U)
  1848. /*! B2B0
  1849. * 0b0..Disable B2B. Wait until delay value defined by TRIG0_COUNTER[SAMPLE_INTERVAL] is reached
  1850. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  1851. */
  1852. #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)
  1853. #define ADC_ETC_TRIGn_CHAIN_1_0_IE0_MASK (0x6000U)
  1854. #define ADC_ETC_TRIGn_CHAIN_1_0_IE0_SHIFT (13U)
  1855. /*! IE0
  1856. * 0b00..No interrupt when finished
  1857. * 0b01..Generate interrupt on Done0 when segment 0 finish.
  1858. * 0b10..Generate interrupt on Done1 when segment 0 finish.
  1859. * 0b11..Generate interrupt on Done2 when segment 0 finish.
  1860. */
  1861. #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)
  1862. #define ADC_ETC_TRIGn_CHAIN_1_0_CSEL1_MASK (0xF0000U)
  1863. #define ADC_ETC_TRIGn_CHAIN_1_0_CSEL1_SHIFT (16U)
  1864. /*! CSEL1
  1865. * 0b0000..ADC Channel 0 selected
  1866. * 0b0001..ADC Channel 1 selected.
  1867. * 0b0010..ADC Channel 2 selected.
  1868. * 0b0011..ADC Channel 3 selected.
  1869. * 0b0100..ADC Channel 4 selected.
  1870. * 0b0101..ADC Channel 5 selected.
  1871. * 0b0110..ADC Channel 6 selected.
  1872. * 0b0111..ADC Channel 7 selected.
  1873. * 0b1000..ADC Channel 8 selected.
  1874. * 0b1001..ADC Channel 9 selected.
  1875. * 0b1010..ADC Channel 10 selected.
  1876. * 0b1011..ADC Channel 11 selected.
  1877. * 0b1100..ADC Channel 12 selected.
  1878. * 0b1101..ADC Channel 13 selected.
  1879. * 0b1110..ADC Channel 14 selected.
  1880. * 0b1111..ADC Channel 15 selected.
  1881. */
  1882. #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)
  1883. #define ADC_ETC_TRIGn_CHAIN_1_0_HWTS1_MASK (0xFF00000U)
  1884. #define ADC_ETC_TRIGn_CHAIN_1_0_HWTS1_SHIFT (20U)
  1885. /*! HWTS1
  1886. * 0b00000000..no trigger selected
  1887. * 0b00000001..ADC TRIG0 selected
  1888. * 0b00000010..ADC TRIG1 selected
  1889. * 0b00000100..ADC TRIG2 selected
  1890. * 0b00001000..ADC TRIG3 selected
  1891. * 0b00010000..ADC TRIG4 selected
  1892. * 0b00100000..ADC TRIG5 selected
  1893. * 0b01000000..ADC TRIG6 selected
  1894. * 0b10000000..ADC TRIG7 selected
  1895. */
  1896. #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)
  1897. #define ADC_ETC_TRIGn_CHAIN_1_0_B2B1_MASK (0x10000000U)
  1898. #define ADC_ETC_TRIGn_CHAIN_1_0_B2B1_SHIFT (28U)
  1899. /*! B2B1
  1900. * 0b0..Disable B2B. Wait until delay value defined by TRIG1_COUNTER[SAMPLE_INTERVAL] is reached
  1901. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  1902. */
  1903. #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)
  1904. #define ADC_ETC_TRIGn_CHAIN_1_0_IE1_MASK (0x60000000U)
  1905. #define ADC_ETC_TRIGn_CHAIN_1_0_IE1_SHIFT (29U)
  1906. /*! IE1
  1907. * 0b00..No interrupt when finished
  1908. * 0b01..Generate interrupt on Done0 when Segment 1 finish.
  1909. * 0b10..Generate interrupt on Done1 when Segment 1 finish.
  1910. * 0b11..Generate interrupt on Done2 when Segment 1 finish.
  1911. */
  1912. #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)
  1913. /*! @} */
  1914. /* The count of ADC_ETC_TRIGn_CHAIN_1_0 */
  1915. #define ADC_ETC_TRIGn_CHAIN_1_0_COUNT (8U)
  1916. /*! @name TRIGn_CHAIN_3_2 - ETC_TRIG Chain 2/3 Register */
  1917. /*! @{ */
  1918. #define ADC_ETC_TRIGn_CHAIN_3_2_CSEL2_MASK (0xFU)
  1919. #define ADC_ETC_TRIGn_CHAIN_3_2_CSEL2_SHIFT (0U)
  1920. /*! CSEL2
  1921. * 0b0000..ADC Channel 0 selected
  1922. * 0b0001..ADC Channel 1 selected.
  1923. * 0b0010..ADC Channel 2 selected.
  1924. * 0b0011..ADC Channel 3 selected.
  1925. * 0b0100..ADC Channel 4 selected.
  1926. * 0b0101..ADC Channel 5 selected.
  1927. * 0b0110..ADC Channel 6 selected.
  1928. * 0b0111..ADC Channel 7 selected.
  1929. * 0b1000..ADC Channel 8 selected.
  1930. * 0b1001..ADC Channel 9 selected.
  1931. * 0b1010..ADC Channel 10 selected.
  1932. * 0b1011..ADC Channel 11 selected.
  1933. * 0b1100..ADC Channel 12 selected.
  1934. * 0b1101..ADC Channel 13 selected.
  1935. * 0b1110..ADC Channel 14 selected.
  1936. * 0b1111..ADC Channel 15 selected.
  1937. */
  1938. #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)
  1939. #define ADC_ETC_TRIGn_CHAIN_3_2_HWTS2_MASK (0xFF0U)
  1940. #define ADC_ETC_TRIGn_CHAIN_3_2_HWTS2_SHIFT (4U)
  1941. /*! HWTS2
  1942. * 0b00000000..no trigger selected
  1943. * 0b00000001..ADC TRIG0 selected
  1944. * 0b00000010..ADC TRIG1 selected
  1945. * 0b00000100..ADC TRIG2 selected
  1946. * 0b00001000..ADC TRIG3 selected
  1947. * 0b00010000..ADC TRIG4 selected
  1948. * 0b00100000..ADC TRIG5 selected
  1949. * 0b01000000..ADC TRIG6 selected
  1950. * 0b10000000..ADC TRIG7 selected
  1951. */
  1952. #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)
  1953. #define ADC_ETC_TRIGn_CHAIN_3_2_B2B2_MASK (0x1000U)
  1954. #define ADC_ETC_TRIGn_CHAIN_3_2_B2B2_SHIFT (12U)
  1955. /*! B2B2
  1956. * 0b0..Disable B2B. Wait until delay value defined by TRIG2_COUNTER[SAMPLE_INTERVAL] is reached
  1957. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  1958. */
  1959. #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)
  1960. #define ADC_ETC_TRIGn_CHAIN_3_2_IE2_MASK (0x6000U)
  1961. #define ADC_ETC_TRIGn_CHAIN_3_2_IE2_SHIFT (13U)
  1962. /*! IE2
  1963. * 0b00..No interrupt when finished
  1964. * 0b01..Generate interrupt on Done0 when segment 2 finish.
  1965. * 0b10..Generate interrupt on Done1 when segment 2 finish.
  1966. * 0b11..Generate interrupt on Done2 when segment 2 finish.
  1967. */
  1968. #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)
  1969. #define ADC_ETC_TRIGn_CHAIN_3_2_CSEL3_MASK (0xF0000U)
  1970. #define ADC_ETC_TRIGn_CHAIN_3_2_CSEL3_SHIFT (16U)
  1971. /*! CSEL3
  1972. * 0b0000..ADC Channel 0 selected
  1973. * 0b0001..ADC Channel 1 selected.
  1974. * 0b0010..ADC Channel 2 selected.
  1975. * 0b0011..ADC Channel 3 selected.
  1976. * 0b0100..ADC Channel 4 selected.
  1977. * 0b0101..ADC Channel 5 selected.
  1978. * 0b0110..ADC Channel 6 selected.
  1979. * 0b0111..ADC Channel 7 selected.
  1980. * 0b1000..ADC Channel 8 selected.
  1981. * 0b1001..ADC Channel 9 selected.
  1982. * 0b1010..ADC Channel 10 selected.
  1983. * 0b1011..ADC Channel 11 selected.
  1984. * 0b1100..ADC Channel 12 selected.
  1985. * 0b1101..ADC Channel 13 selected.
  1986. * 0b1110..ADC Channel 14 selected.
  1987. * 0b1111..ADC Channel 15 selected.
  1988. */
  1989. #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)
  1990. #define ADC_ETC_TRIGn_CHAIN_3_2_HWTS3_MASK (0xFF00000U)
  1991. #define ADC_ETC_TRIGn_CHAIN_3_2_HWTS3_SHIFT (20U)
  1992. /*! HWTS3
  1993. * 0b00000000..no trigger selected
  1994. * 0b00000001..ADC TRIG0 selected
  1995. * 0b00000010..ADC TRIG1 selected
  1996. * 0b00000100..ADC TRIG2 selected
  1997. * 0b00001000..ADC TRIG3 selected
  1998. * 0b00010000..ADC TRIG4 selected
  1999. * 0b00100000..ADC TRIG5 selected
  2000. * 0b01000000..ADC TRIG6 selected
  2001. * 0b10000000..ADC TRIG7 selected
  2002. */
  2003. #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)
  2004. #define ADC_ETC_TRIGn_CHAIN_3_2_B2B3_MASK (0x10000000U)
  2005. #define ADC_ETC_TRIGn_CHAIN_3_2_B2B3_SHIFT (28U)
  2006. /*! B2B3
  2007. * 0b0..Disable B2B. Wait until delay value defined by TRIG3_COUNTER[SAMPLE_INTERVAL] is reached
  2008. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  2009. */
  2010. #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)
  2011. #define ADC_ETC_TRIGn_CHAIN_3_2_IE3_MASK (0x60000000U)
  2012. #define ADC_ETC_TRIGn_CHAIN_3_2_IE3_SHIFT (29U)
  2013. /*! IE3
  2014. * 0b00..No interrupt when finished
  2015. * 0b01..Generate interrupt on Done0 when segment 3 finish.
  2016. * 0b10..Generate interrupt on Done1 when segment 3 finish.
  2017. * 0b11..Generate interrupt on Done2 when segment 3 finish.
  2018. */
  2019. #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)
  2020. /*! @} */
  2021. /* The count of ADC_ETC_TRIGn_CHAIN_3_2 */
  2022. #define ADC_ETC_TRIGn_CHAIN_3_2_COUNT (8U)
  2023. /*! @name TRIGn_CHAIN_5_4 - ETC_TRIG Chain 4/5 Register */
  2024. /*! @{ */
  2025. #define ADC_ETC_TRIGn_CHAIN_5_4_CSEL4_MASK (0xFU)
  2026. #define ADC_ETC_TRIGn_CHAIN_5_4_CSEL4_SHIFT (0U)
  2027. /*! CSEL4
  2028. * 0b0000..ADC Channel 0 selected
  2029. * 0b0001..ADC Channel 1 selected.
  2030. * 0b0010..ADC Channel 2 selected.
  2031. * 0b0011..ADC Channel 3 selected.
  2032. * 0b0100..ADC Channel 4 selected.
  2033. * 0b0101..ADC Channel 5 selected.
  2034. * 0b0110..ADC Channel 6 selected.
  2035. * 0b0111..ADC Channel 7 selected.
  2036. * 0b1000..ADC Channel 8 selected.
  2037. * 0b1001..ADC Channel 9 selected.
  2038. * 0b1010..ADC Channel 10 selected.
  2039. * 0b1011..ADC Channel 11 selected.
  2040. * 0b1100..ADC Channel 12 selected.
  2041. * 0b1101..ADC Channel 13 selected.
  2042. * 0b1110..ADC Channel 14 selected.
  2043. * 0b1111..ADC Channel 15 selected.
  2044. */
  2045. #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)
  2046. #define ADC_ETC_TRIGn_CHAIN_5_4_HWTS4_MASK (0xFF0U)
  2047. #define ADC_ETC_TRIGn_CHAIN_5_4_HWTS4_SHIFT (4U)
  2048. /*! HWTS4
  2049. * 0b00000000..no trigger selected
  2050. * 0b00000001..ADC TRIG0 selected
  2051. * 0b00000010..ADC TRIG1 selected
  2052. * 0b00000100..ADC TRIG2 selected
  2053. * 0b00001000..ADC TRIG3 selected
  2054. * 0b00010000..ADC TRIG4 selected
  2055. * 0b00100000..ADC TRIG5 selected
  2056. * 0b01000000..ADC TRIG6 selected
  2057. * 0b10000000..ADC TRIG7 selected
  2058. */
  2059. #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)
  2060. #define ADC_ETC_TRIGn_CHAIN_5_4_B2B4_MASK (0x1000U)
  2061. #define ADC_ETC_TRIGn_CHAIN_5_4_B2B4_SHIFT (12U)
  2062. /*! B2B4
  2063. * 0b0..Disable B2B. Wait until delay value defined by TRIG4_COUNTER[SAMPLE_INTERVAL] is reached
  2064. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  2065. */
  2066. #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)
  2067. #define ADC_ETC_TRIGn_CHAIN_5_4_IE4_MASK (0x6000U)
  2068. #define ADC_ETC_TRIGn_CHAIN_5_4_IE4_SHIFT (13U)
  2069. /*! IE4
  2070. * 0b00..No interrupt when finished
  2071. * 0b01..Generate interrupt on Done0 when segment 4 finish.
  2072. * 0b10..Generate interrupt on Done1 when segment 4 finish.
  2073. * 0b11..Generate interrupt on Done2 when segment 4 finish.
  2074. */
  2075. #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)
  2076. #define ADC_ETC_TRIGn_CHAIN_5_4_CSEL5_MASK (0xF0000U)
  2077. #define ADC_ETC_TRIGn_CHAIN_5_4_CSEL5_SHIFT (16U)
  2078. /*! CSEL5
  2079. * 0b0000..ADC Channel 0 selected
  2080. * 0b0001..ADC Channel 1 selected.
  2081. * 0b0010..ADC Channel 2 selected.
  2082. * 0b0011..ADC Channel 3 selected.
  2083. * 0b0100..ADC Channel 4 selected.
  2084. * 0b0101..ADC Channel 5 selected.
  2085. * 0b0110..ADC Channel 6 selected.
  2086. * 0b0111..ADC Channel 7 selected.
  2087. * 0b1000..ADC Channel 8 selected.
  2088. * 0b1001..ADC Channel 9 selected.
  2089. * 0b1010..ADC Channel 10 selected.
  2090. * 0b1011..ADC Channel 11 selected.
  2091. * 0b1100..ADC Channel 12 selected.
  2092. * 0b1101..ADC Channel 13 selected.
  2093. * 0b1110..ADC Channel 14 selected.
  2094. * 0b1111..ADC Channel 15 selected.
  2095. */
  2096. #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)
  2097. #define ADC_ETC_TRIGn_CHAIN_5_4_HWTS5_MASK (0xFF00000U)
  2098. #define ADC_ETC_TRIGn_CHAIN_5_4_HWTS5_SHIFT (20U)
  2099. /*! HWTS5
  2100. * 0b00000000..no trigger selected
  2101. * 0b00000001..ADC TRIG0 selected
  2102. * 0b00000010..ADC TRIG1 selected
  2103. * 0b00000100..ADC TRIG2 selected
  2104. * 0b00001000..ADC TRIG3 selected
  2105. * 0b00010000..ADC TRIG4 selected
  2106. * 0b00100000..ADC TRIG5 selected
  2107. * 0b01000000..ADC TRIG6 selected
  2108. * 0b10000000..ADC TRIG7 selected
  2109. */
  2110. #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)
  2111. #define ADC_ETC_TRIGn_CHAIN_5_4_B2B5_MASK (0x10000000U)
  2112. #define ADC_ETC_TRIGn_CHAIN_5_4_B2B5_SHIFT (28U)
  2113. /*! B2B5
  2114. * 0b0..Disable B2B. Wait until delay value defined by TRIG5_COUNTER[SAMPLE_INTERVAL] is reached
  2115. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  2116. */
  2117. #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)
  2118. #define ADC_ETC_TRIGn_CHAIN_5_4_IE5_MASK (0x60000000U)
  2119. #define ADC_ETC_TRIGn_CHAIN_5_4_IE5_SHIFT (29U)
  2120. /*! IE5
  2121. * 0b00..No interrupt when finished
  2122. * 0b01..Generate interrupt on Done0 when segment 5 finish.
  2123. * 0b10..Generate interrupt on Done1 when segment 5 finish.
  2124. * 0b11..Generate interrupt on Done2 when segment 5 finish.
  2125. */
  2126. #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)
  2127. /*! @} */
  2128. /* The count of ADC_ETC_TRIGn_CHAIN_5_4 */
  2129. #define ADC_ETC_TRIGn_CHAIN_5_4_COUNT (8U)
  2130. /*! @name TRIGn_CHAIN_7_6 - ETC_TRIG Chain 6/7 Register */
  2131. /*! @{ */
  2132. #define ADC_ETC_TRIGn_CHAIN_7_6_CSEL6_MASK (0xFU)
  2133. #define ADC_ETC_TRIGn_CHAIN_7_6_CSEL6_SHIFT (0U)
  2134. /*! CSEL6
  2135. * 0b0000..ADC Channel 0 selected
  2136. * 0b0001..ADC Channel 1 selected.
  2137. * 0b0010..ADC Channel 2 selected.
  2138. * 0b0011..ADC Channel 3 selected.
  2139. * 0b0100..ADC Channel 4 selected.
  2140. * 0b0101..ADC Channel 5 selected.
  2141. * 0b0110..ADC Channel 6 selected.
  2142. * 0b0111..ADC Channel 7 selected.
  2143. * 0b1000..ADC Channel 8 selected.
  2144. * 0b1001..ADC Channel 9 selected.
  2145. * 0b1010..ADC Channel 10 selected.
  2146. * 0b1011..ADC Channel 11 selected.
  2147. * 0b1100..ADC Channel 12 selected.
  2148. * 0b1101..ADC Channel 13 selected.
  2149. * 0b1110..ADC Channel 14 selected.
  2150. * 0b1111..ADC Channel 15 selected.
  2151. */
  2152. #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)
  2153. #define ADC_ETC_TRIGn_CHAIN_7_6_HWTS6_MASK (0xFF0U)
  2154. #define ADC_ETC_TRIGn_CHAIN_7_6_HWTS6_SHIFT (4U)
  2155. /*! HWTS6
  2156. * 0b00000000..no trigger selected
  2157. * 0b00000001..ADC TRIG0 selected
  2158. * 0b00000010..ADC TRIG1 selected
  2159. * 0b00000100..ADC TRIG2 selected
  2160. * 0b00001000..ADC TRIG3 selected
  2161. * 0b00010000..ADC TRIG4 selected
  2162. * 0b00100000..ADC TRIG5 selected
  2163. * 0b01000000..ADC TRIG6 selected
  2164. * 0b10000000..ADC TRIG7 selected
  2165. */
  2166. #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)
  2167. #define ADC_ETC_TRIGn_CHAIN_7_6_B2B6_MASK (0x1000U)
  2168. #define ADC_ETC_TRIGn_CHAIN_7_6_B2B6_SHIFT (12U)
  2169. /*! B2B6
  2170. * 0b0..Disable B2B. Wait until delay value defined by TRIG6_COUNTER[SAMPLE_INTERVAL] is reached
  2171. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  2172. */
  2173. #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)
  2174. #define ADC_ETC_TRIGn_CHAIN_7_6_IE6_MASK (0x6000U)
  2175. #define ADC_ETC_TRIGn_CHAIN_7_6_IE6_SHIFT (13U)
  2176. /*! IE6
  2177. * 0b00..No interrupt when finished
  2178. * 0b01..Generate interrupt on Done0 when segment 6 finish.
  2179. * 0b10..Generate interrupt on Done1 when segment 6 finish.
  2180. * 0b11..Generate interrupt on Done2 when segment 6 finish.
  2181. */
  2182. #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)
  2183. #define ADC_ETC_TRIGn_CHAIN_7_6_CSEL7_MASK (0xF0000U)
  2184. #define ADC_ETC_TRIGn_CHAIN_7_6_CSEL7_SHIFT (16U)
  2185. /*! CSEL7
  2186. * 0b0000..ADC Channel 0 selected.
  2187. * 0b0001..ADC Channel 1 selected.
  2188. * 0b0010..ADC Channel 2 selected.
  2189. * 0b0011..ADC Channel 3 selected.
  2190. * 0b0100..ADC Channel 4 selected.
  2191. * 0b0101..ADC Channel 5 selected.
  2192. * 0b0110..ADC Channel 6 selected.
  2193. * 0b0111..ADC Channel 7 selected.
  2194. * 0b1000..ADC Channel 8 selected.
  2195. * 0b1001..ADC Channel 9 selected.
  2196. * 0b1010..ADC Channel 10 selected.
  2197. * 0b1011..ADC Channel 11 selected.
  2198. * 0b1100..ADC Channel 12 selected.
  2199. * 0b1101..ADC Channel 13 selected.
  2200. * 0b1110..ADC Channel 14 selected.
  2201. * 0b1111..ADC Channel 15 selected.
  2202. */
  2203. #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)
  2204. #define ADC_ETC_TRIGn_CHAIN_7_6_HWTS7_MASK (0xFF00000U)
  2205. #define ADC_ETC_TRIGn_CHAIN_7_6_HWTS7_SHIFT (20U)
  2206. /*! HWTS7
  2207. * 0b00000000..no trigger selected
  2208. * 0b00000001..ADC TRIG0 selected
  2209. * 0b00000010..ADC TRIG1 selected
  2210. * 0b00000100..ADC TRIG2 selected
  2211. * 0b00001000..ADC TRIG3 selected
  2212. * 0b00010000..ADC TRIG4 selected
  2213. * 0b00100000..ADC TRIG5 selected
  2214. * 0b01000000..ADC TRIG6 selected
  2215. * 0b10000000..ADC TRIG7 selected
  2216. */
  2217. #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)
  2218. #define ADC_ETC_TRIGn_CHAIN_7_6_B2B7_MASK (0x10000000U)
  2219. #define ADC_ETC_TRIGn_CHAIN_7_6_B2B7_SHIFT (28U)
  2220. /*! B2B7
  2221. * 0b0..Disable B2B. Wait until delay value defined by TRIG7_COUNTER[SAMPLE_INTERVAL] is reached
  2222. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  2223. */
  2224. #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)
  2225. #define ADC_ETC_TRIGn_CHAIN_7_6_IE7_MASK (0x60000000U)
  2226. #define ADC_ETC_TRIGn_CHAIN_7_6_IE7_SHIFT (29U)
  2227. /*! IE7
  2228. * 0b00..No interrupt when finished
  2229. * 0b01..Generate interrupt on Done0 when segment 7 finish.
  2230. * 0b10..Generate interrupt on Done1 when segment 7 finish.
  2231. * 0b11..Generate interrupt on Done2 when segment 7 finish.
  2232. */
  2233. #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)
  2234. /*! @} */
  2235. /* The count of ADC_ETC_TRIGn_CHAIN_7_6 */
  2236. #define ADC_ETC_TRIGn_CHAIN_7_6_COUNT (8U)
  2237. /*! @name TRIGn_RESULT_1_0 - ETC_TRIG Result Data 1/0 Register */
  2238. /*! @{ */
  2239. #define ADC_ETC_TRIGn_RESULT_1_0_DATA0_MASK (0xFFFU)
  2240. #define ADC_ETC_TRIGn_RESULT_1_0_DATA0_SHIFT (0U)
  2241. #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)
  2242. #define ADC_ETC_TRIGn_RESULT_1_0_DATA1_MASK (0xFFF0000U)
  2243. #define ADC_ETC_TRIGn_RESULT_1_0_DATA1_SHIFT (16U)
  2244. #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)
  2245. /*! @} */
  2246. /* The count of ADC_ETC_TRIGn_RESULT_1_0 */
  2247. #define ADC_ETC_TRIGn_RESULT_1_0_COUNT (8U)
  2248. /*! @name TRIGn_RESULT_3_2 - ETC_TRIG Result Data 3/2 Register */
  2249. /*! @{ */
  2250. #define ADC_ETC_TRIGn_RESULT_3_2_DATA2_MASK (0xFFFU)
  2251. #define ADC_ETC_TRIGn_RESULT_3_2_DATA2_SHIFT (0U)
  2252. #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)
  2253. #define ADC_ETC_TRIGn_RESULT_3_2_DATA3_MASK (0xFFF0000U)
  2254. #define ADC_ETC_TRIGn_RESULT_3_2_DATA3_SHIFT (16U)
  2255. #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)
  2256. /*! @} */
  2257. /* The count of ADC_ETC_TRIGn_RESULT_3_2 */
  2258. #define ADC_ETC_TRIGn_RESULT_3_2_COUNT (8U)
  2259. /*! @name TRIGn_RESULT_5_4 - ETC_TRIG Result Data 5/4 Register */
  2260. /*! @{ */
  2261. #define ADC_ETC_TRIGn_RESULT_5_4_DATA4_MASK (0xFFFU)
  2262. #define ADC_ETC_TRIGn_RESULT_5_4_DATA4_SHIFT (0U)
  2263. #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)
  2264. #define ADC_ETC_TRIGn_RESULT_5_4_DATA5_MASK (0xFFF0000U)
  2265. #define ADC_ETC_TRIGn_RESULT_5_4_DATA5_SHIFT (16U)
  2266. #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)
  2267. /*! @} */
  2268. /* The count of ADC_ETC_TRIGn_RESULT_5_4 */
  2269. #define ADC_ETC_TRIGn_RESULT_5_4_COUNT (8U)
  2270. /*! @name TRIGn_RESULT_7_6 - ETC_TRIG Result Data 7/6 Register */
  2271. /*! @{ */
  2272. #define ADC_ETC_TRIGn_RESULT_7_6_DATA6_MASK (0xFFFU)
  2273. #define ADC_ETC_TRIGn_RESULT_7_6_DATA6_SHIFT (0U)
  2274. #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)
  2275. #define ADC_ETC_TRIGn_RESULT_7_6_DATA7_MASK (0xFFF0000U)
  2276. #define ADC_ETC_TRIGn_RESULT_7_6_DATA7_SHIFT (16U)
  2277. #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)
  2278. /*! @} */
  2279. /* The count of ADC_ETC_TRIGn_RESULT_7_6 */
  2280. #define ADC_ETC_TRIGn_RESULT_7_6_COUNT (8U)
  2281. /*!
  2282. * @}
  2283. */ /* end of group ADC_ETC_Register_Masks */
  2284. /* ADC_ETC - Peripheral instance base addresses */
  2285. /** Peripheral ADC_ETC base address */
  2286. #define ADC_ETC_BASE (0x403B0000u)
  2287. /** Peripheral ADC_ETC base pointer */
  2288. #define ADC_ETC ((ADC_ETC_Type *)ADC_ETC_BASE)
  2289. /** Array initializer of ADC_ETC peripheral base addresses */
  2290. #define ADC_ETC_BASE_ADDRS { ADC_ETC_BASE }
  2291. /** Array initializer of ADC_ETC peripheral base pointers */
  2292. #define ADC_ETC_BASE_PTRS { ADC_ETC }
  2293. /** Interrupt vectors for the ADC_ETC peripheral type */
  2294. #define ADC_ETC_IRQS { { ADC_ETC_IRQ0_IRQn, ADC_ETC_IRQ1_IRQn, ADC_ETC_IRQ2_IRQn } }
  2295. #define ADC_ETC_FAULT_IRQS { ADC_ETC_ERROR_IRQ_IRQn }
  2296. /*!
  2297. * @}
  2298. */ /* end of group ADC_ETC_Peripheral_Access_Layer */
  2299. /* ----------------------------------------------------------------------------
  2300. -- AIPSTZ Peripheral Access Layer
  2301. ---------------------------------------------------------------------------- */
  2302. /*!
  2303. * @addtogroup AIPSTZ_Peripheral_Access_Layer AIPSTZ Peripheral Access Layer
  2304. * @{
  2305. */
  2306. /** AIPSTZ - Register Layout Typedef */
  2307. typedef struct {
  2308. __IO uint32_t MPR; /**< Master Priviledge Registers, offset: 0x0 */
  2309. uint8_t RESERVED_0[60];
  2310. __IO uint32_t OPACR; /**< Off-Platform Peripheral Access Control Registers, offset: 0x40 */
  2311. __IO uint32_t OPACR1; /**< Off-Platform Peripheral Access Control Registers, offset: 0x44 */
  2312. __IO uint32_t OPACR2; /**< Off-Platform Peripheral Access Control Registers, offset: 0x48 */
  2313. __IO uint32_t OPACR3; /**< Off-Platform Peripheral Access Control Registers, offset: 0x4C */
  2314. __IO uint32_t OPACR4; /**< Off-Platform Peripheral Access Control Registers, offset: 0x50 */
  2315. } AIPSTZ_Type;
  2316. /* ----------------------------------------------------------------------------
  2317. -- AIPSTZ Register Masks
  2318. ---------------------------------------------------------------------------- */
  2319. /*!
  2320. * @addtogroup AIPSTZ_Register_Masks AIPSTZ Register Masks
  2321. * @{
  2322. */
  2323. /*! @name MPR - Master Priviledge Registers */
  2324. /*! @{ */
  2325. #define AIPSTZ_MPR_MPROT3_MASK (0xF0000U)
  2326. #define AIPSTZ_MPR_MPROT3_SHIFT (16U)
  2327. /*! MPROT3
  2328. * 0bxxx0..Accesses from this master are forced to user-mode (ips_supervisor_access is forced to zero) regardless of the hprot[1] access attribute.
  2329. * 0bxxx1..Accesses from this master are not forced to user-mode. The hprot[1] access attribute is used directly to determine ips_supervisor_access.
  2330. * 0bxx0x..This master is not trusted for write accesses.
  2331. * 0bxx1x..This master is trusted for write accesses.
  2332. * 0bx0xx..This master is not trusted for read accesses.
  2333. * 0bx1xx..This master is trusted for read accesses.
  2334. * 0b1xxx..Write accesses from this master are allowed to be buffered
  2335. */
  2336. #define AIPSTZ_MPR_MPROT3(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_MPR_MPROT3_SHIFT)) & AIPSTZ_MPR_MPROT3_MASK)
  2337. #define AIPSTZ_MPR_MPROT2_MASK (0xF00000U)
  2338. #define AIPSTZ_MPR_MPROT2_SHIFT (20U)
  2339. /*! MPROT2
  2340. * 0bxxx0..Accesses from this master are forced to user-mode (ips_supervisor_access is forced to zero) regardless of the hprot[1] access attribute.
  2341. * 0bxxx1..Accesses from this master are not forced to user-mode. The hprot[1] access attribute is used directly to determine ips_supervisor_access.
  2342. * 0bxx0x..This master is not trusted for write accesses.
  2343. * 0bxx1x..This master is trusted for write accesses.
  2344. * 0bx0xx..This master is not trusted for read accesses.
  2345. * 0bx1xx..This master is trusted for read accesses.
  2346. * 0b1xxx..Write accesses from this master are allowed to be buffered
  2347. */
  2348. #define AIPSTZ_MPR_MPROT2(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_MPR_MPROT2_SHIFT)) & AIPSTZ_MPR_MPROT2_MASK)
  2349. #define AIPSTZ_MPR_MPROT1_MASK (0xF000000U)
  2350. #define AIPSTZ_MPR_MPROT1_SHIFT (24U)
  2351. /*! MPROT1
  2352. * 0bxxx0..Accesses from this master are forced to user-mode (ips_supervisor_access is forced to zero) regardless of the hprot[1] access attribute.
  2353. * 0bxxx1..Accesses from this master are not forced to user-mode. The hprot[1] access attribute is used directly to determine ips_supervisor_access.
  2354. * 0bxx0x..This master is not trusted for write accesses.
  2355. * 0bxx1x..This master is trusted for write accesses.
  2356. * 0bx0xx..This master is not trusted for read accesses.
  2357. * 0bx1xx..This master is trusted for read accesses.
  2358. * 0b1xxx..Write accesses from this master are allowed to be buffered
  2359. */
  2360. #define AIPSTZ_MPR_MPROT1(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_MPR_MPROT1_SHIFT)) & AIPSTZ_MPR_MPROT1_MASK)
  2361. #define AIPSTZ_MPR_MPROT0_MASK (0xF0000000U)
  2362. #define AIPSTZ_MPR_MPROT0_SHIFT (28U)
  2363. /*! MPROT0
  2364. * 0bxxx0..Accesses from this master are forced to user-mode (ips_supervisor_access is forced to zero) regardless of the hprot[1] access attribute.
  2365. * 0bxxx1..Accesses from this master are not forced to user-mode. The hprot[1] access attribute is used directly to determine ips_supervisor_access.
  2366. * 0bxx0x..This master is not trusted for write accesses.
  2367. * 0bxx1x..This master is trusted for write accesses.
  2368. * 0bx0xx..This master is not trusted for read accesses.
  2369. * 0bx1xx..This master is trusted for read accesses.
  2370. * 0b1xxx..Write accesses from this master are allowed to be buffered
  2371. */
  2372. #define AIPSTZ_MPR_MPROT0(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_MPR_MPROT0_SHIFT)) & AIPSTZ_MPR_MPROT0_MASK)
  2373. /*! @} */
  2374. /*! @name OPACR - Off-Platform Peripheral Access Control Registers */
  2375. /*! @{ */
  2376. #define AIPSTZ_OPACR_OPAC7_MASK (0xFU)
  2377. #define AIPSTZ_OPACR_OPAC7_SHIFT (0U)
  2378. /*! OPAC7
  2379. * 0bxxx0..Accesses from an untrusted master are allowed.
  2380. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2381. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2382. * 0bxx0x..This peripheral allows write accesses.
  2383. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2384. * error response and no peripheral access is initiated on the IPS bus.
  2385. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2386. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2387. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2388. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2389. * on the IPS bus.
  2390. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2391. */
  2392. #define AIPSTZ_OPACR_OPAC7(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR_OPAC7_SHIFT)) & AIPSTZ_OPACR_OPAC7_MASK)
  2393. #define AIPSTZ_OPACR_OPAC6_MASK (0xF0U)
  2394. #define AIPSTZ_OPACR_OPAC6_SHIFT (4U)
  2395. /*! OPAC6
  2396. * 0bxxx0..Accesses from an untrusted master are allowed.
  2397. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2398. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2399. * 0bxx0x..This peripheral allows write accesses.
  2400. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2401. * error response and no peripheral access is initiated on the IPS bus.
  2402. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2403. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2404. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2405. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2406. * on the IPS bus.
  2407. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2408. */
  2409. #define AIPSTZ_OPACR_OPAC6(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR_OPAC6_SHIFT)) & AIPSTZ_OPACR_OPAC6_MASK)
  2410. #define AIPSTZ_OPACR_OPAC5_MASK (0xF00U)
  2411. #define AIPSTZ_OPACR_OPAC5_SHIFT (8U)
  2412. /*! OPAC5
  2413. * 0bxxx0..Accesses from an untrusted master are allowed.
  2414. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2415. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2416. * 0bxx0x..This peripheral allows write accesses.
  2417. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2418. * error response and no peripheral access is initiated on the IPS bus.
  2419. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2420. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2421. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2422. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2423. * on the IPS bus.
  2424. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2425. */
  2426. #define AIPSTZ_OPACR_OPAC5(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR_OPAC5_SHIFT)) & AIPSTZ_OPACR_OPAC5_MASK)
  2427. #define AIPSTZ_OPACR_OPAC4_MASK (0xF000U)
  2428. #define AIPSTZ_OPACR_OPAC4_SHIFT (12U)
  2429. /*! OPAC4
  2430. * 0bxxx0..Accesses from an untrusted master are allowed.
  2431. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2432. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2433. * 0bxx0x..This peripheral allows write accesses.
  2434. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2435. * error response and no peripheral access is initiated on the IPS bus.
  2436. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2437. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2438. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2439. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2440. * on the IPS bus.
  2441. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2442. */
  2443. #define AIPSTZ_OPACR_OPAC4(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR_OPAC4_SHIFT)) & AIPSTZ_OPACR_OPAC4_MASK)
  2444. #define AIPSTZ_OPACR_OPAC3_MASK (0xF0000U)
  2445. #define AIPSTZ_OPACR_OPAC3_SHIFT (16U)
  2446. /*! OPAC3
  2447. * 0bxxx0..Accesses from an untrusted master are allowed.
  2448. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2449. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2450. * 0bxx0x..This peripheral allows write accesses.
  2451. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2452. * error response and no peripheral access is initiated on the IPS bus.
  2453. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2454. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2455. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2456. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2457. * on the IPS bus.
  2458. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2459. */
  2460. #define AIPSTZ_OPACR_OPAC3(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR_OPAC3_SHIFT)) & AIPSTZ_OPACR_OPAC3_MASK)
  2461. #define AIPSTZ_OPACR_OPAC2_MASK (0xF00000U)
  2462. #define AIPSTZ_OPACR_OPAC2_SHIFT (20U)
  2463. /*! OPAC2
  2464. * 0bxxx0..Accesses from an untrusted master are allowed.
  2465. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2466. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2467. * 0bxx0x..This peripheral allows write accesses.
  2468. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2469. * error response and no peripheral access is initiated on the IPS bus.
  2470. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2471. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2472. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2473. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2474. * on the IPS bus.
  2475. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2476. */
  2477. #define AIPSTZ_OPACR_OPAC2(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR_OPAC2_SHIFT)) & AIPSTZ_OPACR_OPAC2_MASK)
  2478. #define AIPSTZ_OPACR_OPAC1_MASK (0xF000000U)
  2479. #define AIPSTZ_OPACR_OPAC1_SHIFT (24U)
  2480. /*! OPAC1
  2481. * 0bxxx0..Accesses from an untrusted master are allowed.
  2482. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2483. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2484. * 0bxx0x..This peripheral allows write accesses.
  2485. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2486. * error response and no peripheral access is initiated on the IPS bus.
  2487. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2488. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2489. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2490. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2491. * on the IPS bus.
  2492. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2493. */
  2494. #define AIPSTZ_OPACR_OPAC1(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR_OPAC1_SHIFT)) & AIPSTZ_OPACR_OPAC1_MASK)
  2495. #define AIPSTZ_OPACR_OPAC0_MASK (0xF0000000U)
  2496. #define AIPSTZ_OPACR_OPAC0_SHIFT (28U)
  2497. /*! OPAC0
  2498. * 0bxxx0..Accesses from an untrusted master are allowed.
  2499. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2500. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2501. * 0bxx0x..This peripheral allows write accesses.
  2502. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2503. * error response and no peripheral access is initiated on the IPS bus.
  2504. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2505. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2506. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2507. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2508. * on the IPS bus.
  2509. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2510. */
  2511. #define AIPSTZ_OPACR_OPAC0(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR_OPAC0_SHIFT)) & AIPSTZ_OPACR_OPAC0_MASK)
  2512. /*! @} */
  2513. /*! @name OPACR1 - Off-Platform Peripheral Access Control Registers */
  2514. /*! @{ */
  2515. #define AIPSTZ_OPACR1_OPAC15_MASK (0xFU)
  2516. #define AIPSTZ_OPACR1_OPAC15_SHIFT (0U)
  2517. /*! OPAC15
  2518. * 0bxxx0..Accesses from an untrusted master are allowed.
  2519. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2520. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2521. * 0bxx0x..This peripheral allows write accesses.
  2522. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2523. * error response and no peripheral access is initiated on the IPS bus.
  2524. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2525. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2526. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2527. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2528. * on the IPS bus.
  2529. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2530. */
  2531. #define AIPSTZ_OPACR1_OPAC15(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR1_OPAC15_SHIFT)) & AIPSTZ_OPACR1_OPAC15_MASK)
  2532. #define AIPSTZ_OPACR1_OPAC14_MASK (0xF0U)
  2533. #define AIPSTZ_OPACR1_OPAC14_SHIFT (4U)
  2534. /*! OPAC14
  2535. * 0bxxx0..Accesses from an untrusted master are allowed.
  2536. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2537. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2538. * 0bxx0x..This peripheral allows write accesses.
  2539. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2540. * error response and no peripheral access is initiated on the IPS bus.
  2541. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2542. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2543. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2544. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2545. * on the IPS bus.
  2546. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2547. */
  2548. #define AIPSTZ_OPACR1_OPAC14(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR1_OPAC14_SHIFT)) & AIPSTZ_OPACR1_OPAC14_MASK)
  2549. #define AIPSTZ_OPACR1_OPAC13_MASK (0xF00U)
  2550. #define AIPSTZ_OPACR1_OPAC13_SHIFT (8U)
  2551. /*! OPAC13
  2552. * 0bxxx0..Accesses from an untrusted master are allowed.
  2553. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2554. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2555. * 0bxx0x..This peripheral allows write accesses.
  2556. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2557. * error response and no peripheral access is initiated on the IPS bus.
  2558. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2559. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2560. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2561. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2562. * on the IPS bus.
  2563. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2564. */
  2565. #define AIPSTZ_OPACR1_OPAC13(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR1_OPAC13_SHIFT)) & AIPSTZ_OPACR1_OPAC13_MASK)
  2566. #define AIPSTZ_OPACR1_OPAC12_MASK (0xF000U)
  2567. #define AIPSTZ_OPACR1_OPAC12_SHIFT (12U)
  2568. /*! OPAC12
  2569. * 0bxxx0..Accesses from an untrusted master are allowed.
  2570. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2571. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2572. * 0bxx0x..This peripheral allows write accesses.
  2573. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2574. * error response and no peripheral access is initiated on the IPS bus.
  2575. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2576. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2577. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2578. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2579. * on the IPS bus.
  2580. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2581. */
  2582. #define AIPSTZ_OPACR1_OPAC12(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR1_OPAC12_SHIFT)) & AIPSTZ_OPACR1_OPAC12_MASK)
  2583. #define AIPSTZ_OPACR1_OPAC11_MASK (0xF0000U)
  2584. #define AIPSTZ_OPACR1_OPAC11_SHIFT (16U)
  2585. /*! OPAC11
  2586. * 0bxxx0..Accesses from an untrusted master are allowed.
  2587. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2588. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2589. * 0bxx0x..This peripheral allows write accesses.
  2590. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2591. * error response and no peripheral access is initiated on the IPS bus.
  2592. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2593. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2594. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2595. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2596. * on the IPS bus.
  2597. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2598. */
  2599. #define AIPSTZ_OPACR1_OPAC11(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR1_OPAC11_SHIFT)) & AIPSTZ_OPACR1_OPAC11_MASK)
  2600. #define AIPSTZ_OPACR1_OPAC10_MASK (0xF00000U)
  2601. #define AIPSTZ_OPACR1_OPAC10_SHIFT (20U)
  2602. /*! OPAC10
  2603. * 0bxxx0..Accesses from an untrusted master are allowed.
  2604. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2605. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2606. * 0bxx0x..This peripheral allows write accesses.
  2607. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2608. * error response and no peripheral access is initiated on the IPS bus.
  2609. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2610. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2611. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2612. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2613. * on the IPS bus.
  2614. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2615. */
  2616. #define AIPSTZ_OPACR1_OPAC10(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR1_OPAC10_SHIFT)) & AIPSTZ_OPACR1_OPAC10_MASK)
  2617. #define AIPSTZ_OPACR1_OPAC9_MASK (0xF000000U)
  2618. #define AIPSTZ_OPACR1_OPAC9_SHIFT (24U)
  2619. /*! OPAC9
  2620. * 0bxxx0..Accesses from an untrusted master are allowed.
  2621. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2622. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2623. * 0bxx0x..This peripheral allows write accesses.
  2624. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2625. * error response and no peripheral access is initiated on the IPS bus.
  2626. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2627. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2628. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2629. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2630. * on the IPS bus.
  2631. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2632. */
  2633. #define AIPSTZ_OPACR1_OPAC9(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR1_OPAC9_SHIFT)) & AIPSTZ_OPACR1_OPAC9_MASK)
  2634. #define AIPSTZ_OPACR1_OPAC8_MASK (0xF0000000U)
  2635. #define AIPSTZ_OPACR1_OPAC8_SHIFT (28U)
  2636. /*! OPAC8
  2637. * 0bxxx0..Accesses from an untrusted master are allowed.
  2638. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2639. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2640. * 0bxx0x..This peripheral allows write accesses.
  2641. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2642. * error response and no peripheral access is initiated on the IPS bus.
  2643. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2644. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2645. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2646. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2647. * on the IPS bus.
  2648. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2649. */
  2650. #define AIPSTZ_OPACR1_OPAC8(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR1_OPAC8_SHIFT)) & AIPSTZ_OPACR1_OPAC8_MASK)
  2651. /*! @} */
  2652. /*! @name OPACR2 - Off-Platform Peripheral Access Control Registers */
  2653. /*! @{ */
  2654. #define AIPSTZ_OPACR2_OPAC23_MASK (0xFU)
  2655. #define AIPSTZ_OPACR2_OPAC23_SHIFT (0U)
  2656. /*! OPAC23
  2657. * 0bxxx0..Accesses from an untrusted master are allowed.
  2658. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2659. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2660. * 0bxx0x..This peripheral allows write accesses.
  2661. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2662. * error response and no peripheral access is initiated on the IPS bus.
  2663. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2664. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2665. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2666. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2667. * on the IPS bus.
  2668. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2669. */
  2670. #define AIPSTZ_OPACR2_OPAC23(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR2_OPAC23_SHIFT)) & AIPSTZ_OPACR2_OPAC23_MASK)
  2671. #define AIPSTZ_OPACR2_OPAC22_MASK (0xF0U)
  2672. #define AIPSTZ_OPACR2_OPAC22_SHIFT (4U)
  2673. /*! OPAC22
  2674. * 0bxxx0..Accesses from an untrusted master are allowed.
  2675. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2676. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2677. * 0bxx0x..This peripheral allows write accesses.
  2678. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2679. * error response and no peripheral access is initiated on the IPS bus.
  2680. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2681. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2682. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2683. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2684. * on the IPS bus.
  2685. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2686. */
  2687. #define AIPSTZ_OPACR2_OPAC22(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR2_OPAC22_SHIFT)) & AIPSTZ_OPACR2_OPAC22_MASK)
  2688. #define AIPSTZ_OPACR2_OPAC21_MASK (0xF00U)
  2689. #define AIPSTZ_OPACR2_OPAC21_SHIFT (8U)
  2690. /*! OPAC21
  2691. * 0bxxx0..Accesses from an untrusted master are allowed.
  2692. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2693. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2694. * 0bxx0x..This peripheral allows write accesses.
  2695. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2696. * error response and no peripheral access is initiated on the IPS bus.
  2697. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2698. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2699. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2700. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2701. * on the IPS bus.
  2702. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2703. */
  2704. #define AIPSTZ_OPACR2_OPAC21(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR2_OPAC21_SHIFT)) & AIPSTZ_OPACR2_OPAC21_MASK)
  2705. #define AIPSTZ_OPACR2_OPAC20_MASK (0xF000U)
  2706. #define AIPSTZ_OPACR2_OPAC20_SHIFT (12U)
  2707. /*! OPAC20
  2708. * 0bxxx0..Accesses from an untrusted master are allowed.
  2709. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2710. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2711. * 0bxx0x..This peripheral allows write accesses.
  2712. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2713. * error response and no peripheral access is initiated on the IPS bus.
  2714. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2715. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2716. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2717. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2718. * on the IPS bus.
  2719. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2720. */
  2721. #define AIPSTZ_OPACR2_OPAC20(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR2_OPAC20_SHIFT)) & AIPSTZ_OPACR2_OPAC20_MASK)
  2722. #define AIPSTZ_OPACR2_OPAC19_MASK (0xF0000U)
  2723. #define AIPSTZ_OPACR2_OPAC19_SHIFT (16U)
  2724. /*! OPAC19
  2725. * 0bxxx0..Accesses from an untrusted master are allowed.
  2726. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2727. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2728. * 0bxx0x..This peripheral allows write accesses.
  2729. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2730. * error response and no peripheral access is initiated on the IPS bus.
  2731. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2732. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2733. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2734. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2735. * on the IPS bus.
  2736. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2737. */
  2738. #define AIPSTZ_OPACR2_OPAC19(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR2_OPAC19_SHIFT)) & AIPSTZ_OPACR2_OPAC19_MASK)
  2739. #define AIPSTZ_OPACR2_OPAC18_MASK (0xF00000U)
  2740. #define AIPSTZ_OPACR2_OPAC18_SHIFT (20U)
  2741. /*! OPAC18
  2742. * 0bxxx0..Accesses from an untrusted master are allowed.
  2743. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2744. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2745. * 0bxx0x..This peripheral allows write accesses.
  2746. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2747. * error response and no peripheral access is initiated on the IPS bus.
  2748. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2749. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2750. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2751. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2752. * on the IPS bus.
  2753. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2754. */
  2755. #define AIPSTZ_OPACR2_OPAC18(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR2_OPAC18_SHIFT)) & AIPSTZ_OPACR2_OPAC18_MASK)
  2756. #define AIPSTZ_OPACR2_OPAC17_MASK (0xF000000U)
  2757. #define AIPSTZ_OPACR2_OPAC17_SHIFT (24U)
  2758. /*! OPAC17
  2759. * 0bxxx0..Accesses from an untrusted master are allowed.
  2760. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2761. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2762. * 0bxx0x..This peripheral allows write accesses.
  2763. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2764. * error response and no peripheral access is initiated on the IPS bus.
  2765. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2766. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2767. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2768. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2769. * on the IPS bus.
  2770. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2771. */
  2772. #define AIPSTZ_OPACR2_OPAC17(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR2_OPAC17_SHIFT)) & AIPSTZ_OPACR2_OPAC17_MASK)
  2773. #define AIPSTZ_OPACR2_OPAC16_MASK (0xF0000000U)
  2774. #define AIPSTZ_OPACR2_OPAC16_SHIFT (28U)
  2775. /*! OPAC16
  2776. * 0bxxx0..Accesses from an untrusted master are allowed.
  2777. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2778. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2779. * 0bxx0x..This peripheral allows write accesses.
  2780. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2781. * error response and no peripheral access is initiated on the IPS bus.
  2782. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2783. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2784. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2785. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2786. * on the IPS bus.
  2787. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2788. */
  2789. #define AIPSTZ_OPACR2_OPAC16(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR2_OPAC16_SHIFT)) & AIPSTZ_OPACR2_OPAC16_MASK)
  2790. /*! @} */
  2791. /*! @name OPACR3 - Off-Platform Peripheral Access Control Registers */
  2792. /*! @{ */
  2793. #define AIPSTZ_OPACR3_OPAC31_MASK (0xFU)
  2794. #define AIPSTZ_OPACR3_OPAC31_SHIFT (0U)
  2795. /*! OPAC31
  2796. * 0bxxx0..Accesses from an untrusted master are allowed.
  2797. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2798. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2799. * 0bxx0x..This peripheral allows write accesses.
  2800. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2801. * error response and no peripheral access is initiated on the IPS bus.
  2802. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2803. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2804. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2805. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2806. * on the IPS bus.
  2807. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2808. */
  2809. #define AIPSTZ_OPACR3_OPAC31(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR3_OPAC31_SHIFT)) & AIPSTZ_OPACR3_OPAC31_MASK)
  2810. #define AIPSTZ_OPACR3_OPAC30_MASK (0xF0U)
  2811. #define AIPSTZ_OPACR3_OPAC30_SHIFT (4U)
  2812. /*! OPAC30
  2813. * 0bxxx0..Accesses from an untrusted master are allowed.
  2814. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2815. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2816. * 0bxx0x..This peripheral allows write accesses.
  2817. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2818. * error response and no peripheral access is initiated on the IPS bus.
  2819. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2820. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2821. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2822. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2823. * on the IPS bus.
  2824. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2825. */
  2826. #define AIPSTZ_OPACR3_OPAC30(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR3_OPAC30_SHIFT)) & AIPSTZ_OPACR3_OPAC30_MASK)
  2827. #define AIPSTZ_OPACR3_OPAC29_MASK (0xF00U)
  2828. #define AIPSTZ_OPACR3_OPAC29_SHIFT (8U)
  2829. /*! OPAC29
  2830. * 0bxxx0..Accesses from an untrusted master are allowed.
  2831. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2832. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2833. * 0bxx0x..This peripheral allows write accesses.
  2834. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2835. * error response and no peripheral access is initiated on the IPS bus.
  2836. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2837. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2838. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2839. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2840. * on the IPS bus.
  2841. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2842. */
  2843. #define AIPSTZ_OPACR3_OPAC29(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR3_OPAC29_SHIFT)) & AIPSTZ_OPACR3_OPAC29_MASK)
  2844. #define AIPSTZ_OPACR3_OPAC28_MASK (0xF000U)
  2845. #define AIPSTZ_OPACR3_OPAC28_SHIFT (12U)
  2846. /*! OPAC28
  2847. * 0bxxx0..Accesses from an untrusted master are allowed.
  2848. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2849. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2850. * 0bxx0x..This peripheral allows write accesses.
  2851. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2852. * error response and no peripheral access is initiated on the IPS bus.
  2853. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2854. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2855. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2856. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2857. * on the IPS bus.
  2858. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2859. */
  2860. #define AIPSTZ_OPACR3_OPAC28(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR3_OPAC28_SHIFT)) & AIPSTZ_OPACR3_OPAC28_MASK)
  2861. #define AIPSTZ_OPACR3_OPAC27_MASK (0xF0000U)
  2862. #define AIPSTZ_OPACR3_OPAC27_SHIFT (16U)
  2863. /*! OPAC27
  2864. * 0bxxx0..Accesses from an untrusted master are allowed.
  2865. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2866. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2867. * 0bxx0x..This peripheral allows write accesses.
  2868. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2869. * error response and no peripheral access is initiated on the IPS bus.
  2870. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2871. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2872. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2873. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2874. * on the IPS bus.
  2875. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2876. */
  2877. #define AIPSTZ_OPACR3_OPAC27(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR3_OPAC27_SHIFT)) & AIPSTZ_OPACR3_OPAC27_MASK)
  2878. #define AIPSTZ_OPACR3_OPAC26_MASK (0xF00000U)
  2879. #define AIPSTZ_OPACR3_OPAC26_SHIFT (20U)
  2880. /*! OPAC26
  2881. * 0bxxx0..Accesses from an untrusted master are allowed.
  2882. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2883. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2884. * 0bxx0x..This peripheral allows write accesses.
  2885. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2886. * error response and no peripheral access is initiated on the IPS bus.
  2887. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2888. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2889. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2890. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2891. * on the IPS bus.
  2892. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2893. */
  2894. #define AIPSTZ_OPACR3_OPAC26(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR3_OPAC26_SHIFT)) & AIPSTZ_OPACR3_OPAC26_MASK)
  2895. #define AIPSTZ_OPACR3_OPAC25_MASK (0xF000000U)
  2896. #define AIPSTZ_OPACR3_OPAC25_SHIFT (24U)
  2897. /*! OPAC25
  2898. * 0bxxx0..Accesses from an untrusted master are allowed.
  2899. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2900. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2901. * 0bxx0x..This peripheral allows write accesses.
  2902. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2903. * error response and no peripheral access is initiated on the IPS bus.
  2904. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2905. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2906. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2907. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2908. * on the IPS bus.
  2909. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2910. */
  2911. #define AIPSTZ_OPACR3_OPAC25(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR3_OPAC25_SHIFT)) & AIPSTZ_OPACR3_OPAC25_MASK)
  2912. #define AIPSTZ_OPACR3_OPAC24_MASK (0xF0000000U)
  2913. #define AIPSTZ_OPACR3_OPAC24_SHIFT (28U)
  2914. /*! OPAC24
  2915. * 0bxxx0..Accesses from an untrusted master are allowed.
  2916. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2917. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2918. * 0bxx0x..This peripheral allows write accesses.
  2919. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2920. * error response and no peripheral access is initiated on the IPS bus.
  2921. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2922. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2923. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2924. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2925. * on the IPS bus.
  2926. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2927. */
  2928. #define AIPSTZ_OPACR3_OPAC24(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR3_OPAC24_SHIFT)) & AIPSTZ_OPACR3_OPAC24_MASK)
  2929. /*! @} */
  2930. /*! @name OPACR4 - Off-Platform Peripheral Access Control Registers */
  2931. /*! @{ */
  2932. #define AIPSTZ_OPACR4_OPAC33_MASK (0xF000000U)
  2933. #define AIPSTZ_OPACR4_OPAC33_SHIFT (24U)
  2934. /*! OPAC33
  2935. * 0bxxx0..Accesses from an untrusted master are allowed.
  2936. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2937. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2938. * 0bxx0x..This peripheral allows write accesses.
  2939. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2940. * error response and no peripheral access is initiated on the IPS bus.
  2941. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2942. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2943. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2944. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2945. * on the IPS bus.
  2946. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2947. */
  2948. #define AIPSTZ_OPACR4_OPAC33(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR4_OPAC33_SHIFT)) & AIPSTZ_OPACR4_OPAC33_MASK)
  2949. #define AIPSTZ_OPACR4_OPAC32_MASK (0xF0000000U)
  2950. #define AIPSTZ_OPACR4_OPAC32_SHIFT (28U)
  2951. /*! OPAC32
  2952. * 0bxxx0..Accesses from an untrusted master are allowed.
  2953. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2954. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2955. * 0bxx0x..This peripheral allows write accesses.
  2956. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2957. * error response and no peripheral access is initiated on the IPS bus.
  2958. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2959. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2960. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2961. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2962. * on the IPS bus.
  2963. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2964. */
  2965. #define AIPSTZ_OPACR4_OPAC32(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR4_OPAC32_SHIFT)) & AIPSTZ_OPACR4_OPAC32_MASK)
  2966. /*! @} */
  2967. /*!
  2968. * @}
  2969. */ /* end of group AIPSTZ_Register_Masks */
  2970. /* AIPSTZ - Peripheral instance base addresses */
  2971. /** Peripheral AIPSTZ1 base address */
  2972. #define AIPSTZ1_BASE (0x4007C000u)
  2973. /** Peripheral AIPSTZ1 base pointer */
  2974. #define AIPSTZ1 ((AIPSTZ_Type *)AIPSTZ1_BASE)
  2975. /** Peripheral AIPSTZ2 base address */
  2976. #define AIPSTZ2_BASE (0x4017C000u)
  2977. /** Peripheral AIPSTZ2 base pointer */
  2978. #define AIPSTZ2 ((AIPSTZ_Type *)AIPSTZ2_BASE)
  2979. /** Peripheral AIPSTZ3 base address */
  2980. #define AIPSTZ3_BASE (0x4027C000u)
  2981. /** Peripheral AIPSTZ3 base pointer */
  2982. #define AIPSTZ3 ((AIPSTZ_Type *)AIPSTZ3_BASE)
  2983. /** Peripheral AIPSTZ4 base address */
  2984. #define AIPSTZ4_BASE (0x4037C000u)
  2985. /** Peripheral AIPSTZ4 base pointer */
  2986. #define AIPSTZ4 ((AIPSTZ_Type *)AIPSTZ4_BASE)
  2987. /** Array initializer of AIPSTZ peripheral base addresses */
  2988. #define AIPSTZ_BASE_ADDRS { 0u, AIPSTZ1_BASE, AIPSTZ2_BASE, AIPSTZ3_BASE, AIPSTZ4_BASE }
  2989. /** Array initializer of AIPSTZ peripheral base pointers */
  2990. #define AIPSTZ_BASE_PTRS { (AIPSTZ_Type *)0u, AIPSTZ1, AIPSTZ2, AIPSTZ3, AIPSTZ4 }
  2991. /*!
  2992. * @}
  2993. */ /* end of group AIPSTZ_Peripheral_Access_Layer */
  2994. /* ----------------------------------------------------------------------------
  2995. -- AOI Peripheral Access Layer
  2996. ---------------------------------------------------------------------------- */
  2997. /*!
  2998. * @addtogroup AOI_Peripheral_Access_Layer AOI Peripheral Access Layer
  2999. * @{
  3000. */
  3001. /** AOI - Register Layout Typedef */
  3002. typedef struct {
  3003. struct { /* offset: 0x0, array step: 0x4 */
  3004. __IO uint16_t BFCRT01; /**< Boolean Function Term 0 and 1 Configuration Register for EVENTn, array offset: 0x0, array step: 0x4 */
  3005. __IO uint16_t BFCRT23; /**< Boolean Function Term 2 and 3 Configuration Register for EVENTn, array offset: 0x2, array step: 0x4 */
  3006. } BFCRT[4];
  3007. } AOI_Type;
  3008. /* ----------------------------------------------------------------------------
  3009. -- AOI Register Masks
  3010. ---------------------------------------------------------------------------- */
  3011. /*!
  3012. * @addtogroup AOI_Register_Masks AOI Register Masks
  3013. * @{
  3014. */
  3015. /*! @name BFCRT01 - Boolean Function Term 0 and 1 Configuration Register for EVENTn */
  3016. /*! @{ */
  3017. #define AOI_BFCRT01_PT1_DC_MASK (0x3U)
  3018. #define AOI_BFCRT01_PT1_DC_SHIFT (0U)
  3019. /*! PT1_DC - Product term 1, D input configuration
  3020. * 0b00..Force the D input in this product term to a logical zero
  3021. * 0b01..Pass the D input in this product term
  3022. * 0b10..Complement the D input in this product term
  3023. * 0b11..Force the D input in this product term to a logical one
  3024. */
  3025. #define AOI_BFCRT01_PT1_DC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT1_DC_SHIFT)) & AOI_BFCRT01_PT1_DC_MASK)
  3026. #define AOI_BFCRT01_PT1_CC_MASK (0xCU)
  3027. #define AOI_BFCRT01_PT1_CC_SHIFT (2U)
  3028. /*! PT1_CC - Product term 1, C input configuration
  3029. * 0b00..Force the C input in this product term to a logical zero
  3030. * 0b01..Pass the C input in this product term
  3031. * 0b10..Complement the C input in this product term
  3032. * 0b11..Force the C input in this product term to a logical one
  3033. */
  3034. #define AOI_BFCRT01_PT1_CC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT1_CC_SHIFT)) & AOI_BFCRT01_PT1_CC_MASK)
  3035. #define AOI_BFCRT01_PT1_BC_MASK (0x30U)
  3036. #define AOI_BFCRT01_PT1_BC_SHIFT (4U)
  3037. /*! PT1_BC - Product term 1, B input configuration
  3038. * 0b00..Force the B input in this product term to a logical zero
  3039. * 0b01..Pass the B input in this product term
  3040. * 0b10..Complement the B input in this product term
  3041. * 0b11..Force the B input in this product term to a logical one
  3042. */
  3043. #define AOI_BFCRT01_PT1_BC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT1_BC_SHIFT)) & AOI_BFCRT01_PT1_BC_MASK)
  3044. #define AOI_BFCRT01_PT1_AC_MASK (0xC0U)
  3045. #define AOI_BFCRT01_PT1_AC_SHIFT (6U)
  3046. /*! PT1_AC - Product term 1, A input configuration
  3047. * 0b00..Force the A input in this product term to a logical zero
  3048. * 0b01..Pass the A input in this product term
  3049. * 0b10..Complement the A input in this product term
  3050. * 0b11..Force the A input in this product term to a logical one
  3051. */
  3052. #define AOI_BFCRT01_PT1_AC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT1_AC_SHIFT)) & AOI_BFCRT01_PT1_AC_MASK)
  3053. #define AOI_BFCRT01_PT0_DC_MASK (0x300U)
  3054. #define AOI_BFCRT01_PT0_DC_SHIFT (8U)
  3055. /*! PT0_DC - Product term 0, D input configuration
  3056. * 0b00..Force the D input in this product term to a logical zero
  3057. * 0b01..Pass the D input in this product term
  3058. * 0b10..Complement the D input in this product term
  3059. * 0b11..Force the D input in this product term to a logical one
  3060. */
  3061. #define AOI_BFCRT01_PT0_DC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT0_DC_SHIFT)) & AOI_BFCRT01_PT0_DC_MASK)
  3062. #define AOI_BFCRT01_PT0_CC_MASK (0xC00U)
  3063. #define AOI_BFCRT01_PT0_CC_SHIFT (10U)
  3064. /*! PT0_CC - Product term 0, C input configuration
  3065. * 0b00..Force the C input in this product term to a logical zero
  3066. * 0b01..Pass the C input in this product term
  3067. * 0b10..Complement the C input in this product term
  3068. * 0b11..Force the C input in this product term to a logical one
  3069. */
  3070. #define AOI_BFCRT01_PT0_CC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT0_CC_SHIFT)) & AOI_BFCRT01_PT0_CC_MASK)
  3071. #define AOI_BFCRT01_PT0_BC_MASK (0x3000U)
  3072. #define AOI_BFCRT01_PT0_BC_SHIFT (12U)
  3073. /*! PT0_BC - Product term 0, B input configuration
  3074. * 0b00..Force the B input in this product term to a logical zero
  3075. * 0b01..Pass the B input in this product term
  3076. * 0b10..Complement the B input in this product term
  3077. * 0b11..Force the B input in this product term to a logical one
  3078. */
  3079. #define AOI_BFCRT01_PT0_BC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT0_BC_SHIFT)) & AOI_BFCRT01_PT0_BC_MASK)
  3080. #define AOI_BFCRT01_PT0_AC_MASK (0xC000U)
  3081. #define AOI_BFCRT01_PT0_AC_SHIFT (14U)
  3082. /*! PT0_AC - Product term 0, A input configuration
  3083. * 0b00..Force the A input in this product term to a logical zero
  3084. * 0b01..Pass the A input in this product term
  3085. * 0b10..Complement the A input in this product term
  3086. * 0b11..Force the A input in this product term to a logical one
  3087. */
  3088. #define AOI_BFCRT01_PT0_AC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT0_AC_SHIFT)) & AOI_BFCRT01_PT0_AC_MASK)
  3089. /*! @} */
  3090. /* The count of AOI_BFCRT01 */
  3091. #define AOI_BFCRT01_COUNT (4U)
  3092. /*! @name BFCRT23 - Boolean Function Term 2 and 3 Configuration Register for EVENTn */
  3093. /*! @{ */
  3094. #define AOI_BFCRT23_PT3_DC_MASK (0x3U)
  3095. #define AOI_BFCRT23_PT3_DC_SHIFT (0U)
  3096. /*! PT3_DC - Product term 3, D input configuration
  3097. * 0b00..Force the D input in this product term to a logical zero
  3098. * 0b01..Pass the D input in this product term
  3099. * 0b10..Complement the D input in this product term
  3100. * 0b11..Force the D input in this product term to a logical one
  3101. */
  3102. #define AOI_BFCRT23_PT3_DC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT3_DC_SHIFT)) & AOI_BFCRT23_PT3_DC_MASK)
  3103. #define AOI_BFCRT23_PT3_CC_MASK (0xCU)
  3104. #define AOI_BFCRT23_PT3_CC_SHIFT (2U)
  3105. /*! PT3_CC - Product term 3, C input configuration
  3106. * 0b00..Force the C input in this product term to a logical zero
  3107. * 0b01..Pass the C input in this product term
  3108. * 0b10..Complement the C input in this product term
  3109. * 0b11..Force the C input in this product term to a logical one
  3110. */
  3111. #define AOI_BFCRT23_PT3_CC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT3_CC_SHIFT)) & AOI_BFCRT23_PT3_CC_MASK)
  3112. #define AOI_BFCRT23_PT3_BC_MASK (0x30U)
  3113. #define AOI_BFCRT23_PT3_BC_SHIFT (4U)
  3114. /*! PT3_BC - Product term 3, B input configuration
  3115. * 0b00..Force the B input in this product term to a logical zero
  3116. * 0b01..Pass the B input in this product term
  3117. * 0b10..Complement the B input in this product term
  3118. * 0b11..Force the B input in this product term to a logical one
  3119. */
  3120. #define AOI_BFCRT23_PT3_BC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT3_BC_SHIFT)) & AOI_BFCRT23_PT3_BC_MASK)
  3121. #define AOI_BFCRT23_PT3_AC_MASK (0xC0U)
  3122. #define AOI_BFCRT23_PT3_AC_SHIFT (6U)
  3123. /*! PT3_AC - Product term 3, A input configuration
  3124. * 0b00..Force the A input in this product term to a logical zero
  3125. * 0b01..Pass the A input in this product term
  3126. * 0b10..Complement the A input in this product term
  3127. * 0b11..Force the A input in this product term to a logical one
  3128. */
  3129. #define AOI_BFCRT23_PT3_AC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT3_AC_SHIFT)) & AOI_BFCRT23_PT3_AC_MASK)
  3130. #define AOI_BFCRT23_PT2_DC_MASK (0x300U)
  3131. #define AOI_BFCRT23_PT2_DC_SHIFT (8U)
  3132. /*! PT2_DC - Product term 2, D input configuration
  3133. * 0b00..Force the D input in this product term to a logical zero
  3134. * 0b01..Pass the D input in this product term
  3135. * 0b10..Complement the D input in this product term
  3136. * 0b11..Force the D input in this product term to a logical one
  3137. */
  3138. #define AOI_BFCRT23_PT2_DC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT2_DC_SHIFT)) & AOI_BFCRT23_PT2_DC_MASK)
  3139. #define AOI_BFCRT23_PT2_CC_MASK (0xC00U)
  3140. #define AOI_BFCRT23_PT2_CC_SHIFT (10U)
  3141. /*! PT2_CC - Product term 2, C input configuration
  3142. * 0b00..Force the C input in this product term to a logical zero
  3143. * 0b01..Pass the C input in this product term
  3144. * 0b10..Complement the C input in this product term
  3145. * 0b11..Force the C input in this product term to a logical one
  3146. */
  3147. #define AOI_BFCRT23_PT2_CC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT2_CC_SHIFT)) & AOI_BFCRT23_PT2_CC_MASK)
  3148. #define AOI_BFCRT23_PT2_BC_MASK (0x3000U)
  3149. #define AOI_BFCRT23_PT2_BC_SHIFT (12U)
  3150. /*! PT2_BC - Product term 2, B input configuration
  3151. * 0b00..Force the B input in this product term to a logical zero
  3152. * 0b01..Pass the B input in this product term
  3153. * 0b10..Complement the B input in this product term
  3154. * 0b11..Force the B input in this product term to a logical one
  3155. */
  3156. #define AOI_BFCRT23_PT2_BC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT2_BC_SHIFT)) & AOI_BFCRT23_PT2_BC_MASK)
  3157. #define AOI_BFCRT23_PT2_AC_MASK (0xC000U)
  3158. #define AOI_BFCRT23_PT2_AC_SHIFT (14U)
  3159. /*! PT2_AC - Product term 2, A input configuration
  3160. * 0b00..Force the A input in this product term to a logical zero
  3161. * 0b01..Pass the A input in this product term
  3162. * 0b10..Complement the A input in this product term
  3163. * 0b11..Force the A input in this product term to a logical one
  3164. */
  3165. #define AOI_BFCRT23_PT2_AC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT2_AC_SHIFT)) & AOI_BFCRT23_PT2_AC_MASK)
  3166. /*! @} */
  3167. /* The count of AOI_BFCRT23 */
  3168. #define AOI_BFCRT23_COUNT (4U)
  3169. /*!
  3170. * @}
  3171. */ /* end of group AOI_Register_Masks */
  3172. /* AOI - Peripheral instance base addresses */
  3173. /** Peripheral AOI base address */
  3174. #define AOI_BASE (0x403B4000u)
  3175. /** Peripheral AOI base pointer */
  3176. #define AOI ((AOI_Type *)AOI_BASE)
  3177. /** Array initializer of AOI peripheral base addresses */
  3178. #define AOI_BASE_ADDRS { AOI_BASE }
  3179. /** Array initializer of AOI peripheral base pointers */
  3180. #define AOI_BASE_PTRS { AOI }
  3181. /*!
  3182. * @}
  3183. */ /* end of group AOI_Peripheral_Access_Layer */
  3184. /* ----------------------------------------------------------------------------
  3185. -- BEE Peripheral Access Layer
  3186. ---------------------------------------------------------------------------- */
  3187. /*!
  3188. * @addtogroup BEE_Peripheral_Access_Layer BEE Peripheral Access Layer
  3189. * @{
  3190. */
  3191. /** BEE - Register Layout Typedef */
  3192. typedef struct {
  3193. __IO uint32_t CTRL; /**< Control Register, offset: 0x0 */
  3194. __IO uint32_t ADDR_OFFSET0; /**< Offset region 0 Register, offset: 0x4 */
  3195. __IO uint32_t ADDR_OFFSET1; /**< Offset region 1 Register, offset: 0x8 */
  3196. __O uint32_t AES_KEY0_W0; /**< AES Key 0 Register, offset: 0xC */
  3197. __O uint32_t AES_KEY0_W1; /**< AES Key 1 Register, offset: 0x10 */
  3198. __O uint32_t AES_KEY0_W2; /**< AES Key 2 Register, offset: 0x14 */
  3199. __O uint32_t AES_KEY0_W3; /**< AES Key 3 Register, offset: 0x18 */
  3200. __IO uint32_t STATUS; /**< Status Register, offset: 0x1C */
  3201. __O uint32_t CTR_NONCE0_W0; /**< NONCE00 Register, offset: 0x20 */
  3202. __O uint32_t CTR_NONCE0_W1; /**< NONCE01 Register, offset: 0x24 */
  3203. __O uint32_t CTR_NONCE0_W2; /**< NONCE02 Register, offset: 0x28 */
  3204. __O uint32_t CTR_NONCE0_W3; /**< NONCE03 Register, offset: 0x2C */
  3205. __O uint32_t CTR_NONCE1_W0; /**< NONCE10 Register, offset: 0x30 */
  3206. __O uint32_t CTR_NONCE1_W1; /**< NONCE11 Register, offset: 0x34 */
  3207. __O uint32_t CTR_NONCE1_W2; /**< NONCE12 Register, offset: 0x38 */
  3208. __O uint32_t CTR_NONCE1_W3; /**< NONCE13 Register, offset: 0x3C */
  3209. __IO uint32_t REGION1_TOP; /**< Region1 Top Address Register, offset: 0x40 */
  3210. __IO uint32_t REGION1_BOT; /**< Region1 Bottom Address Register, offset: 0x44 */
  3211. } BEE_Type;
  3212. /* ----------------------------------------------------------------------------
  3213. -- BEE Register Masks
  3214. ---------------------------------------------------------------------------- */
  3215. /*!
  3216. * @addtogroup BEE_Register_Masks BEE Register Masks
  3217. * @{
  3218. */
  3219. /*! @name CTRL - Control Register */
  3220. /*! @{ */
  3221. #define BEE_CTRL_BEE_ENABLE_MASK (0x1U)
  3222. #define BEE_CTRL_BEE_ENABLE_SHIFT (0U)
  3223. /*! BEE_ENABLE
  3224. * 0b0..Disable BEE
  3225. * 0b1..Enable BEE
  3226. */
  3227. #define BEE_CTRL_BEE_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_BEE_ENABLE_SHIFT)) & BEE_CTRL_BEE_ENABLE_MASK)
  3228. #define BEE_CTRL_CTRL_CLK_EN_MASK (0x2U)
  3229. #define BEE_CTRL_CTRL_CLK_EN_SHIFT (1U)
  3230. #define BEE_CTRL_CTRL_CLK_EN(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_CTRL_CLK_EN_SHIFT)) & BEE_CTRL_CTRL_CLK_EN_MASK)
  3231. #define BEE_CTRL_CTRL_SFTRST_N_MASK (0x4U)
  3232. #define BEE_CTRL_CTRL_SFTRST_N_SHIFT (2U)
  3233. #define BEE_CTRL_CTRL_SFTRST_N(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_CTRL_SFTRST_N_SHIFT)) & BEE_CTRL_CTRL_SFTRST_N_MASK)
  3234. #define BEE_CTRL_KEY_VALID_MASK (0x10U)
  3235. #define BEE_CTRL_KEY_VALID_SHIFT (4U)
  3236. #define BEE_CTRL_KEY_VALID(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_KEY_VALID_SHIFT)) & BEE_CTRL_KEY_VALID_MASK)
  3237. #define BEE_CTRL_KEY_REGION_SEL_MASK (0x20U)
  3238. #define BEE_CTRL_KEY_REGION_SEL_SHIFT (5U)
  3239. /*! KEY_REGION_SEL
  3240. * 0b0..Load AES key for region0
  3241. * 0b1..Load AES key for region1
  3242. */
  3243. #define BEE_CTRL_KEY_REGION_SEL(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_KEY_REGION_SEL_SHIFT)) & BEE_CTRL_KEY_REGION_SEL_MASK)
  3244. #define BEE_CTRL_AC_PROT_EN_MASK (0x40U)
  3245. #define BEE_CTRL_AC_PROT_EN_SHIFT (6U)
  3246. #define BEE_CTRL_AC_PROT_EN(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_AC_PROT_EN_SHIFT)) & BEE_CTRL_AC_PROT_EN_MASK)
  3247. #define BEE_CTRL_LITTLE_ENDIAN_MASK (0x80U)
  3248. #define BEE_CTRL_LITTLE_ENDIAN_SHIFT (7U)
  3249. /*! LITTLE_ENDIAN
  3250. * 0b0..The input and output data of the AES core is swapped as below: {B15,B14,B13,B12,B11,B10,B9,B8,
  3251. * B7,B6,B5,B4,B3,B2,B1,B0} swap to {B0,B1,B2,B3,B4,B5,B6,B7, B8,B9,B10,B11,B12,B13,B14,B15}, where B0~B15 refers to
  3252. * Byte0 to Byte15.
  3253. * 0b1..The input and output data of AES core is not swapped.
  3254. */
  3255. #define BEE_CTRL_LITTLE_ENDIAN(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_LITTLE_ENDIAN_SHIFT)) & BEE_CTRL_LITTLE_ENDIAN_MASK)
  3256. #define BEE_CTRL_SECURITY_LEVEL_R0_MASK (0x300U)
  3257. #define BEE_CTRL_SECURITY_LEVEL_R0_SHIFT (8U)
  3258. #define BEE_CTRL_SECURITY_LEVEL_R0(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_SECURITY_LEVEL_R0_SHIFT)) & BEE_CTRL_SECURITY_LEVEL_R0_MASK)
  3259. #define BEE_CTRL_CTRL_AES_MODE_R0_MASK (0x400U)
  3260. #define BEE_CTRL_CTRL_AES_MODE_R0_SHIFT (10U)
  3261. /*! CTRL_AES_MODE_R0
  3262. * 0b0..ECB
  3263. * 0b1..CTR
  3264. */
  3265. #define BEE_CTRL_CTRL_AES_MODE_R0(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_CTRL_AES_MODE_R0_SHIFT)) & BEE_CTRL_CTRL_AES_MODE_R0_MASK)
  3266. #define BEE_CTRL_SECURITY_LEVEL_R1_MASK (0x3000U)
  3267. #define BEE_CTRL_SECURITY_LEVEL_R1_SHIFT (12U)
  3268. #define BEE_CTRL_SECURITY_LEVEL_R1(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_SECURITY_LEVEL_R1_SHIFT)) & BEE_CTRL_SECURITY_LEVEL_R1_MASK)
  3269. #define BEE_CTRL_CTRL_AES_MODE_R1_MASK (0x4000U)
  3270. #define BEE_CTRL_CTRL_AES_MODE_R1_SHIFT (14U)
  3271. /*! CTRL_AES_MODE_R1
  3272. * 0b0..ECB
  3273. * 0b1..CTR
  3274. */
  3275. #define BEE_CTRL_CTRL_AES_MODE_R1(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_CTRL_AES_MODE_R1_SHIFT)) & BEE_CTRL_CTRL_AES_MODE_R1_MASK)
  3276. #define BEE_CTRL_BEE_ENABLE_LOCK_MASK (0x10000U)
  3277. #define BEE_CTRL_BEE_ENABLE_LOCK_SHIFT (16U)
  3278. #define BEE_CTRL_BEE_ENABLE_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_BEE_ENABLE_LOCK_SHIFT)) & BEE_CTRL_BEE_ENABLE_LOCK_MASK)
  3279. #define BEE_CTRL_CTRL_CLK_EN_LOCK_MASK (0x20000U)
  3280. #define BEE_CTRL_CTRL_CLK_EN_LOCK_SHIFT (17U)
  3281. #define BEE_CTRL_CTRL_CLK_EN_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_CTRL_CLK_EN_LOCK_SHIFT)) & BEE_CTRL_CTRL_CLK_EN_LOCK_MASK)
  3282. #define BEE_CTRL_CTRL_SFTRST_N_LOCK_MASK (0x40000U)
  3283. #define BEE_CTRL_CTRL_SFTRST_N_LOCK_SHIFT (18U)
  3284. #define BEE_CTRL_CTRL_SFTRST_N_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_CTRL_SFTRST_N_LOCK_SHIFT)) & BEE_CTRL_CTRL_SFTRST_N_LOCK_MASK)
  3285. #define BEE_CTRL_REGION1_ADDR_LOCK_MASK (0x80000U)
  3286. #define BEE_CTRL_REGION1_ADDR_LOCK_SHIFT (19U)
  3287. #define BEE_CTRL_REGION1_ADDR_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_REGION1_ADDR_LOCK_SHIFT)) & BEE_CTRL_REGION1_ADDR_LOCK_MASK)
  3288. #define BEE_CTRL_KEY_VALID_LOCK_MASK (0x100000U)
  3289. #define BEE_CTRL_KEY_VALID_LOCK_SHIFT (20U)
  3290. #define BEE_CTRL_KEY_VALID_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_KEY_VALID_LOCK_SHIFT)) & BEE_CTRL_KEY_VALID_LOCK_MASK)
  3291. #define BEE_CTRL_KEY_REGION_SEL_LOCK_MASK (0x200000U)
  3292. #define BEE_CTRL_KEY_REGION_SEL_LOCK_SHIFT (21U)
  3293. #define BEE_CTRL_KEY_REGION_SEL_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_KEY_REGION_SEL_LOCK_SHIFT)) & BEE_CTRL_KEY_REGION_SEL_LOCK_MASK)
  3294. #define BEE_CTRL_AC_PROT_EN_LOCK_MASK (0x400000U)
  3295. #define BEE_CTRL_AC_PROT_EN_LOCK_SHIFT (22U)
  3296. #define BEE_CTRL_AC_PROT_EN_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_AC_PROT_EN_LOCK_SHIFT)) & BEE_CTRL_AC_PROT_EN_LOCK_MASK)
  3297. #define BEE_CTRL_LITTLE_ENDIAN_LOCK_MASK (0x800000U)
  3298. #define BEE_CTRL_LITTLE_ENDIAN_LOCK_SHIFT (23U)
  3299. #define BEE_CTRL_LITTLE_ENDIAN_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_LITTLE_ENDIAN_LOCK_SHIFT)) & BEE_CTRL_LITTLE_ENDIAN_LOCK_MASK)
  3300. #define BEE_CTRL_SECURITY_LEVEL_R0_LOCK_MASK (0x3000000U)
  3301. #define BEE_CTRL_SECURITY_LEVEL_R0_LOCK_SHIFT (24U)
  3302. #define BEE_CTRL_SECURITY_LEVEL_R0_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_SECURITY_LEVEL_R0_LOCK_SHIFT)) & BEE_CTRL_SECURITY_LEVEL_R0_LOCK_MASK)
  3303. #define BEE_CTRL_CTRL_AES_MODE_R0_LOCK_MASK (0x4000000U)
  3304. #define BEE_CTRL_CTRL_AES_MODE_R0_LOCK_SHIFT (26U)
  3305. #define BEE_CTRL_CTRL_AES_MODE_R0_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_CTRL_AES_MODE_R0_LOCK_SHIFT)) & BEE_CTRL_CTRL_AES_MODE_R0_LOCK_MASK)
  3306. #define BEE_CTRL_REGION0_KEY_LOCK_MASK (0x8000000U)
  3307. #define BEE_CTRL_REGION0_KEY_LOCK_SHIFT (27U)
  3308. #define BEE_CTRL_REGION0_KEY_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_REGION0_KEY_LOCK_SHIFT)) & BEE_CTRL_REGION0_KEY_LOCK_MASK)
  3309. #define BEE_CTRL_SECURITY_LEVEL_R1_LOCK_MASK (0x30000000U)
  3310. #define BEE_CTRL_SECURITY_LEVEL_R1_LOCK_SHIFT (28U)
  3311. #define BEE_CTRL_SECURITY_LEVEL_R1_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_SECURITY_LEVEL_R1_LOCK_SHIFT)) & BEE_CTRL_SECURITY_LEVEL_R1_LOCK_MASK)
  3312. #define BEE_CTRL_CTRL_AES_MODE_R1_LOCK_MASK (0x40000000U)
  3313. #define BEE_CTRL_CTRL_AES_MODE_R1_LOCK_SHIFT (30U)
  3314. #define BEE_CTRL_CTRL_AES_MODE_R1_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_CTRL_AES_MODE_R1_LOCK_SHIFT)) & BEE_CTRL_CTRL_AES_MODE_R1_LOCK_MASK)
  3315. #define BEE_CTRL_REGION1_KEY_LOCK_MASK (0x80000000U)
  3316. #define BEE_CTRL_REGION1_KEY_LOCK_SHIFT (31U)
  3317. #define BEE_CTRL_REGION1_KEY_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_REGION1_KEY_LOCK_SHIFT)) & BEE_CTRL_REGION1_KEY_LOCK_MASK)
  3318. /*! @} */
  3319. /*! @name ADDR_OFFSET0 - Offset region 0 Register */
  3320. /*! @{ */
  3321. #define BEE_ADDR_OFFSET0_ADDR_OFFSET0_MASK (0xFFFFU)
  3322. #define BEE_ADDR_OFFSET0_ADDR_OFFSET0_SHIFT (0U)
  3323. #define BEE_ADDR_OFFSET0_ADDR_OFFSET0(x) (((uint32_t)(((uint32_t)(x)) << BEE_ADDR_OFFSET0_ADDR_OFFSET0_SHIFT)) & BEE_ADDR_OFFSET0_ADDR_OFFSET0_MASK)
  3324. #define BEE_ADDR_OFFSET0_ADDR_OFFSET0_LOCK_MASK (0xFFFF0000U)
  3325. #define BEE_ADDR_OFFSET0_ADDR_OFFSET0_LOCK_SHIFT (16U)
  3326. #define BEE_ADDR_OFFSET0_ADDR_OFFSET0_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_ADDR_OFFSET0_ADDR_OFFSET0_LOCK_SHIFT)) & BEE_ADDR_OFFSET0_ADDR_OFFSET0_LOCK_MASK)
  3327. /*! @} */
  3328. /*! @name ADDR_OFFSET1 - Offset region 1 Register */
  3329. /*! @{ */
  3330. #define BEE_ADDR_OFFSET1_ADDR_OFFSET1_MASK (0xFFFFU)
  3331. #define BEE_ADDR_OFFSET1_ADDR_OFFSET1_SHIFT (0U)
  3332. #define BEE_ADDR_OFFSET1_ADDR_OFFSET1(x) (((uint32_t)(((uint32_t)(x)) << BEE_ADDR_OFFSET1_ADDR_OFFSET1_SHIFT)) & BEE_ADDR_OFFSET1_ADDR_OFFSET1_MASK)
  3333. #define BEE_ADDR_OFFSET1_ADDR_OFFSET1_LOCK_MASK (0xFFFF0000U)
  3334. #define BEE_ADDR_OFFSET1_ADDR_OFFSET1_LOCK_SHIFT (16U)
  3335. #define BEE_ADDR_OFFSET1_ADDR_OFFSET1_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_ADDR_OFFSET1_ADDR_OFFSET1_LOCK_SHIFT)) & BEE_ADDR_OFFSET1_ADDR_OFFSET1_LOCK_MASK)
  3336. /*! @} */
  3337. /*! @name AES_KEY0_W0 - AES Key 0 Register */
  3338. /*! @{ */
  3339. #define BEE_AES_KEY0_W0_KEY0_MASK (0xFFFFFFFFU)
  3340. #define BEE_AES_KEY0_W0_KEY0_SHIFT (0U)
  3341. /*! KEY0 - AES 128 key from software
  3342. */
  3343. #define BEE_AES_KEY0_W0_KEY0(x) (((uint32_t)(((uint32_t)(x)) << BEE_AES_KEY0_W0_KEY0_SHIFT)) & BEE_AES_KEY0_W0_KEY0_MASK)
  3344. /*! @} */
  3345. /*! @name AES_KEY0_W1 - AES Key 1 Register */
  3346. /*! @{ */
  3347. #define BEE_AES_KEY0_W1_KEY1_MASK (0xFFFFFFFFU)
  3348. #define BEE_AES_KEY0_W1_KEY1_SHIFT (0U)
  3349. /*! KEY1 - AES 128 key from software
  3350. */
  3351. #define BEE_AES_KEY0_W1_KEY1(x) (((uint32_t)(((uint32_t)(x)) << BEE_AES_KEY0_W1_KEY1_SHIFT)) & BEE_AES_KEY0_W1_KEY1_MASK)
  3352. /*! @} */
  3353. /*! @name AES_KEY0_W2 - AES Key 2 Register */
  3354. /*! @{ */
  3355. #define BEE_AES_KEY0_W2_KEY2_MASK (0xFFFFFFFFU)
  3356. #define BEE_AES_KEY0_W2_KEY2_SHIFT (0U)
  3357. /*! KEY2 - AES 128 key from software
  3358. */
  3359. #define BEE_AES_KEY0_W2_KEY2(x) (((uint32_t)(((uint32_t)(x)) << BEE_AES_KEY0_W2_KEY2_SHIFT)) & BEE_AES_KEY0_W2_KEY2_MASK)
  3360. /*! @} */
  3361. /*! @name AES_KEY0_W3 - AES Key 3 Register */
  3362. /*! @{ */
  3363. #define BEE_AES_KEY0_W3_KEY3_MASK (0xFFFFFFFFU)
  3364. #define BEE_AES_KEY0_W3_KEY3_SHIFT (0U)
  3365. /*! KEY3 - AES 128 key from software
  3366. */
  3367. #define BEE_AES_KEY0_W3_KEY3(x) (((uint32_t)(((uint32_t)(x)) << BEE_AES_KEY0_W3_KEY3_SHIFT)) & BEE_AES_KEY0_W3_KEY3_MASK)
  3368. /*! @} */
  3369. /*! @name STATUS - Status Register */
  3370. /*! @{ */
  3371. #define BEE_STATUS_IRQ_VEC_MASK (0xFFU)
  3372. #define BEE_STATUS_IRQ_VEC_SHIFT (0U)
  3373. #define BEE_STATUS_IRQ_VEC(x) (((uint32_t)(((uint32_t)(x)) << BEE_STATUS_IRQ_VEC_SHIFT)) & BEE_STATUS_IRQ_VEC_MASK)
  3374. #define BEE_STATUS_BEE_IDLE_MASK (0x100U)
  3375. #define BEE_STATUS_BEE_IDLE_SHIFT (8U)
  3376. #define BEE_STATUS_BEE_IDLE(x) (((uint32_t)(((uint32_t)(x)) << BEE_STATUS_BEE_IDLE_SHIFT)) & BEE_STATUS_BEE_IDLE_MASK)
  3377. /*! @} */
  3378. /*! @name CTR_NONCE0_W0 - NONCE00 Register */
  3379. /*! @{ */
  3380. #define BEE_CTR_NONCE0_W0_NONCE00_MASK (0xFFFFFFFFU)
  3381. #define BEE_CTR_NONCE0_W0_NONCE00_SHIFT (0U)
  3382. #define BEE_CTR_NONCE0_W0_NONCE00(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTR_NONCE0_W0_NONCE00_SHIFT)) & BEE_CTR_NONCE0_W0_NONCE00_MASK)
  3383. /*! @} */
  3384. /*! @name CTR_NONCE0_W1 - NONCE01 Register */
  3385. /*! @{ */
  3386. #define BEE_CTR_NONCE0_W1_NONCE01_MASK (0xFFFFFFFFU)
  3387. #define BEE_CTR_NONCE0_W1_NONCE01_SHIFT (0U)
  3388. #define BEE_CTR_NONCE0_W1_NONCE01(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTR_NONCE0_W1_NONCE01_SHIFT)) & BEE_CTR_NONCE0_W1_NONCE01_MASK)
  3389. /*! @} */
  3390. /*! @name CTR_NONCE0_W2 - NONCE02 Register */
  3391. /*! @{ */
  3392. #define BEE_CTR_NONCE0_W2_NONCE02_MASK (0xFFFFFFFFU)
  3393. #define BEE_CTR_NONCE0_W2_NONCE02_SHIFT (0U)
  3394. #define BEE_CTR_NONCE0_W2_NONCE02(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTR_NONCE0_W2_NONCE02_SHIFT)) & BEE_CTR_NONCE0_W2_NONCE02_MASK)
  3395. /*! @} */
  3396. /*! @name CTR_NONCE0_W3 - NONCE03 Register */
  3397. /*! @{ */
  3398. #define BEE_CTR_NONCE0_W3_NONCE03_MASK (0xFFFFFFFFU)
  3399. #define BEE_CTR_NONCE0_W3_NONCE03_SHIFT (0U)
  3400. #define BEE_CTR_NONCE0_W3_NONCE03(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTR_NONCE0_W3_NONCE03_SHIFT)) & BEE_CTR_NONCE0_W3_NONCE03_MASK)
  3401. /*! @} */
  3402. /*! @name CTR_NONCE1_W0 - NONCE10 Register */
  3403. /*! @{ */
  3404. #define BEE_CTR_NONCE1_W0_NONCE10_MASK (0xFFFFFFFFU)
  3405. #define BEE_CTR_NONCE1_W0_NONCE10_SHIFT (0U)
  3406. #define BEE_CTR_NONCE1_W0_NONCE10(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTR_NONCE1_W0_NONCE10_SHIFT)) & BEE_CTR_NONCE1_W0_NONCE10_MASK)
  3407. /*! @} */
  3408. /*! @name CTR_NONCE1_W1 - NONCE11 Register */
  3409. /*! @{ */
  3410. #define BEE_CTR_NONCE1_W1_NONCE11_MASK (0xFFFFFFFFU)
  3411. #define BEE_CTR_NONCE1_W1_NONCE11_SHIFT (0U)
  3412. #define BEE_CTR_NONCE1_W1_NONCE11(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTR_NONCE1_W1_NONCE11_SHIFT)) & BEE_CTR_NONCE1_W1_NONCE11_MASK)
  3413. /*! @} */
  3414. /*! @name CTR_NONCE1_W2 - NONCE12 Register */
  3415. /*! @{ */
  3416. #define BEE_CTR_NONCE1_W2_NONCE12_MASK (0xFFFFFFFFU)
  3417. #define BEE_CTR_NONCE1_W2_NONCE12_SHIFT (0U)
  3418. #define BEE_CTR_NONCE1_W2_NONCE12(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTR_NONCE1_W2_NONCE12_SHIFT)) & BEE_CTR_NONCE1_W2_NONCE12_MASK)
  3419. /*! @} */
  3420. /*! @name CTR_NONCE1_W3 - NONCE13 Register */
  3421. /*! @{ */
  3422. #define BEE_CTR_NONCE1_W3_NONCE13_MASK (0xFFFFFFFFU)
  3423. #define BEE_CTR_NONCE1_W3_NONCE13_SHIFT (0U)
  3424. #define BEE_CTR_NONCE1_W3_NONCE13(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTR_NONCE1_W3_NONCE13_SHIFT)) & BEE_CTR_NONCE1_W3_NONCE13_MASK)
  3425. /*! @} */
  3426. /*! @name REGION1_TOP - Region1 Top Address Register */
  3427. /*! @{ */
  3428. #define BEE_REGION1_TOP_REGION1_TOP_MASK (0xFFFFFFFFU)
  3429. #define BEE_REGION1_TOP_REGION1_TOP_SHIFT (0U)
  3430. /*! REGION1_TOP - Address upper limit of region1
  3431. */
  3432. #define BEE_REGION1_TOP_REGION1_TOP(x) (((uint32_t)(((uint32_t)(x)) << BEE_REGION1_TOP_REGION1_TOP_SHIFT)) & BEE_REGION1_TOP_REGION1_TOP_MASK)
  3433. /*! @} */
  3434. /*! @name REGION1_BOT - Region1 Bottom Address Register */
  3435. /*! @{ */
  3436. #define BEE_REGION1_BOT_REGION1_BOT_MASK (0xFFFFFFFFU)
  3437. #define BEE_REGION1_BOT_REGION1_BOT_SHIFT (0U)
  3438. /*! REGION1_BOT - Address lower limit of region1
  3439. */
  3440. #define BEE_REGION1_BOT_REGION1_BOT(x) (((uint32_t)(((uint32_t)(x)) << BEE_REGION1_BOT_REGION1_BOT_SHIFT)) & BEE_REGION1_BOT_REGION1_BOT_MASK)
  3441. /*! @} */
  3442. /*!
  3443. * @}
  3444. */ /* end of group BEE_Register_Masks */
  3445. /* BEE - Peripheral instance base addresses */
  3446. /** Peripheral BEE base address */
  3447. #define BEE_BASE (0x403EC000u)
  3448. /** Peripheral BEE base pointer */
  3449. #define BEE ((BEE_Type *)BEE_BASE)
  3450. /** Array initializer of BEE peripheral base addresses */
  3451. #define BEE_BASE_ADDRS { BEE_BASE }
  3452. /** Array initializer of BEE peripheral base pointers */
  3453. #define BEE_BASE_PTRS { BEE }
  3454. /*!
  3455. * @}
  3456. */ /* end of group BEE_Peripheral_Access_Layer */
  3457. /* ----------------------------------------------------------------------------
  3458. -- CAN Peripheral Access Layer
  3459. ---------------------------------------------------------------------------- */
  3460. /*!
  3461. * @addtogroup CAN_Peripheral_Access_Layer CAN Peripheral Access Layer
  3462. * @{
  3463. */
  3464. /** CAN - Register Layout Typedef */
  3465. typedef struct {
  3466. __IO uint32_t MCR; /**< Module Configuration Register, offset: 0x0 */
  3467. __IO uint32_t CTRL1; /**< Control 1 Register, offset: 0x4 */
  3468. __IO uint32_t TIMER; /**< Free Running Timer Register, offset: 0x8 */
  3469. uint8_t RESERVED_0[4];
  3470. __IO uint32_t RXMGMASK; /**< Rx Mailboxes Global Mask Register, offset: 0x10 */
  3471. __IO uint32_t RX14MASK; /**< Rx Buffer 14 Mask Register, offset: 0x14 */
  3472. __IO uint32_t RX15MASK; /**< Rx Buffer 15 Mask Register, offset: 0x18 */
  3473. __IO uint32_t ECR; /**< Error Counter Register, offset: 0x1C */
  3474. __IO uint32_t ESR1; /**< Error and Status 1 Register, offset: 0x20 */
  3475. __IO uint32_t IMASK2; /**< Interrupt Masks 2 Register, offset: 0x24 */
  3476. __IO uint32_t IMASK1; /**< Interrupt Masks 1 Register, offset: 0x28 */
  3477. __IO uint32_t IFLAG2; /**< Interrupt Flags 2 Register, offset: 0x2C */
  3478. __IO uint32_t IFLAG1; /**< Interrupt Flags 1 Register, offset: 0x30 */
  3479. __IO uint32_t CTRL2; /**< Control 2 Register, offset: 0x34 */
  3480. __I uint32_t ESR2; /**< Error and Status 2 Register, offset: 0x38 */
  3481. uint8_t RESERVED_1[8];
  3482. __I uint32_t CRCR; /**< CRC Register, offset: 0x44 */
  3483. __IO uint32_t RXFGMASK; /**< Rx FIFO Global Mask Register, offset: 0x48 */
  3484. __I uint32_t RXFIR; /**< Rx FIFO Information Register, offset: 0x4C */
  3485. uint8_t RESERVED_2[8];
  3486. __I uint32_t DBG1; /**< Debug 1 register, offset: 0x58 */
  3487. __I uint32_t DBG2; /**< Debug 2 register, offset: 0x5C */
  3488. uint8_t RESERVED_3[32];
  3489. struct { /* offset: 0x80, array step: 0x10 */
  3490. __IO uint32_t CS; /**< Message Buffer 0 CS Register..Message Buffer 63 CS Register, array offset: 0x80, array step: 0x10 */
  3491. __IO uint32_t ID; /**< Message Buffer 0 ID Register..Message Buffer 63 ID Register, array offset: 0x84, array step: 0x10 */
  3492. __IO uint32_t WORD0; /**< Message Buffer 0 WORD0 Register..Message Buffer 63 WORD0 Register, array offset: 0x88, array step: 0x10 */
  3493. __IO uint32_t WORD1; /**< Message Buffer 0 WORD1 Register..Message Buffer 63 WORD1 Register, array offset: 0x8C, array step: 0x10 */
  3494. } MB[64];
  3495. uint8_t RESERVED_4[1024];
  3496. __IO uint32_t RXIMR[64]; /**< Rx Individual Mask Registers, array offset: 0x880, array step: 0x4 */
  3497. uint8_t RESERVED_5[96];
  3498. __IO uint32_t GFWR; /**< Glitch Filter Width Registers, offset: 0x9E0 */
  3499. } CAN_Type;
  3500. /* ----------------------------------------------------------------------------
  3501. -- CAN Register Masks
  3502. ---------------------------------------------------------------------------- */
  3503. /*!
  3504. * @addtogroup CAN_Register_Masks CAN Register Masks
  3505. * @{
  3506. */
  3507. /*! @name MCR - Module Configuration Register */
  3508. /*! @{ */
  3509. #define CAN_MCR_MAXMB_MASK (0x7FU)
  3510. #define CAN_MCR_MAXMB_SHIFT (0U)
  3511. #define CAN_MCR_MAXMB(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_MAXMB_SHIFT)) & CAN_MCR_MAXMB_MASK)
  3512. #define CAN_MCR_IDAM_MASK (0x300U)
  3513. #define CAN_MCR_IDAM_SHIFT (8U)
  3514. /*! IDAM
  3515. * 0b00..Format A One full ID (standard or extended) per ID filter Table element.
  3516. * 0b01..Format B Two full standard IDs or two partial 14-bit extended IDs per ID filter Table element.
  3517. * 0b10..Format C Four partial 8-bit IDs (standard or extended) per ID filter Table element.
  3518. * 0b11..Format D All frames rejected.
  3519. */
  3520. #define CAN_MCR_IDAM(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_IDAM_SHIFT)) & CAN_MCR_IDAM_MASK)
  3521. #define CAN_MCR_AEN_MASK (0x1000U)
  3522. #define CAN_MCR_AEN_SHIFT (12U)
  3523. /*! AEN
  3524. * 0b1..Abort enabled
  3525. * 0b0..Abort disabled
  3526. */
  3527. #define CAN_MCR_AEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_AEN_SHIFT)) & CAN_MCR_AEN_MASK)
  3528. #define CAN_MCR_LPRIOEN_MASK (0x2000U)
  3529. #define CAN_MCR_LPRIOEN_SHIFT (13U)
  3530. /*! LPRIOEN
  3531. * 0b1..Local Priority enabled
  3532. * 0b0..Local Priority disabled
  3533. */
  3534. #define CAN_MCR_LPRIOEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_LPRIOEN_SHIFT)) & CAN_MCR_LPRIOEN_MASK)
  3535. #define CAN_MCR_IRMQ_MASK (0x10000U)
  3536. #define CAN_MCR_IRMQ_SHIFT (16U)
  3537. /*! IRMQ
  3538. * 0b1..Individual Rx masking and queue feature are enabled.
  3539. * 0b0..Individual Rx masking and queue feature are disabled.For backward compatibility, the reading of C/S word locks the MB even if it is EMPTY.
  3540. */
  3541. #define CAN_MCR_IRMQ(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_IRMQ_SHIFT)) & CAN_MCR_IRMQ_MASK)
  3542. #define CAN_MCR_SRXDIS_MASK (0x20000U)
  3543. #define CAN_MCR_SRXDIS_SHIFT (17U)
  3544. /*! SRXDIS
  3545. * 0b1..Self reception disabled
  3546. * 0b0..Self reception enabled
  3547. */
  3548. #define CAN_MCR_SRXDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SRXDIS_SHIFT)) & CAN_MCR_SRXDIS_MASK)
  3549. #define CAN_MCR_WAKSRC_MASK (0x80000U)
  3550. #define CAN_MCR_WAKSRC_SHIFT (19U)
  3551. /*! WAKSRC
  3552. * 0b1..FLEXCAN uses the filtered FLEXCAN_RX input to detect recessive to dominant edges on the CAN bus
  3553. * 0b0..FLEXCAN uses the unfiltered FLEXCAN_RX input to detect recessive to dominant edges on the CAN bus.
  3554. */
  3555. #define CAN_MCR_WAKSRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_WAKSRC_SHIFT)) & CAN_MCR_WAKSRC_MASK)
  3556. #define CAN_MCR_LPMACK_MASK (0x100000U)
  3557. #define CAN_MCR_LPMACK_SHIFT (20U)
  3558. /*! LPMACK
  3559. * 0b1..FLEXCAN is either in Disable Mode, or Stop mode
  3560. * 0b0..FLEXCAN not in any of the low power modes
  3561. */
  3562. #define CAN_MCR_LPMACK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_LPMACK_SHIFT)) & CAN_MCR_LPMACK_MASK)
  3563. #define CAN_MCR_WRNEN_MASK (0x200000U)
  3564. #define CAN_MCR_WRNEN_SHIFT (21U)
  3565. /*! WRNEN
  3566. * 0b1..TWRN_INT and RWRN_INT bits are set when the respective error counter transition from <96 to >= 96.
  3567. * 0b0..TWRN_INT and RWRN_INT bits are zero, independent of the values in the error counters.
  3568. */
  3569. #define CAN_MCR_WRNEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_WRNEN_SHIFT)) & CAN_MCR_WRNEN_MASK)
  3570. #define CAN_MCR_SLFWAK_MASK (0x400000U)
  3571. #define CAN_MCR_SLFWAK_SHIFT (22U)
  3572. /*! SLFWAK
  3573. * 0b1..FLEXCAN Self Wake Up feature is enabled
  3574. * 0b0..FLEXCAN Self Wake Up feature is disabled
  3575. */
  3576. #define CAN_MCR_SLFWAK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SLFWAK_SHIFT)) & CAN_MCR_SLFWAK_MASK)
  3577. #define CAN_MCR_SUPV_MASK (0x800000U)
  3578. #define CAN_MCR_SUPV_SHIFT (23U)
  3579. /*! SUPV
  3580. * 0b1..FlexCAN is in Supervisor Mode. Affected registers allow only Supervisor access. Unrestricted access
  3581. * behaves as though the access was done to an unimplemented register location
  3582. * 0b0..FlexCAN is in User Mode. Affected registers allow both Supervisor and Unrestricted accesses
  3583. */
  3584. #define CAN_MCR_SUPV(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SUPV_SHIFT)) & CAN_MCR_SUPV_MASK)
  3585. #define CAN_MCR_FRZACK_MASK (0x1000000U)
  3586. #define CAN_MCR_FRZACK_SHIFT (24U)
  3587. /*! FRZACK
  3588. * 0b1..FLEXCAN in Freeze Mode, prescaler stopped
  3589. * 0b0..FLEXCAN not in Freeze Mode, prescaler running
  3590. */
  3591. #define CAN_MCR_FRZACK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_FRZACK_SHIFT)) & CAN_MCR_FRZACK_MASK)
  3592. #define CAN_MCR_SOFTRST_MASK (0x2000000U)
  3593. #define CAN_MCR_SOFTRST_SHIFT (25U)
  3594. /*! SOFTRST
  3595. * 0b1..Reset the registers
  3596. * 0b0..No reset request
  3597. */
  3598. #define CAN_MCR_SOFTRST(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SOFTRST_SHIFT)) & CAN_MCR_SOFTRST_MASK)
  3599. #define CAN_MCR_WAKMSK_MASK (0x4000000U)
  3600. #define CAN_MCR_WAKMSK_SHIFT (26U)
  3601. /*! WAKMSK
  3602. * 0b1..Wake Up Interrupt is enabled
  3603. * 0b0..Wake Up Interrupt is disabled
  3604. */
  3605. #define CAN_MCR_WAKMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_WAKMSK_SHIFT)) & CAN_MCR_WAKMSK_MASK)
  3606. #define CAN_MCR_NOTRDY_MASK (0x8000000U)
  3607. #define CAN_MCR_NOTRDY_SHIFT (27U)
  3608. /*! NOTRDY
  3609. * 0b1..FLEXCAN module is either in Disable Mode, Stop Mode or Freeze Mode
  3610. * 0b0..FLEXCAN module is either in Normal Mode, Listen-Only Mode or Loop-Back Mode
  3611. */
  3612. #define CAN_MCR_NOTRDY(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_NOTRDY_SHIFT)) & CAN_MCR_NOTRDY_MASK)
  3613. #define CAN_MCR_HALT_MASK (0x10000000U)
  3614. #define CAN_MCR_HALT_SHIFT (28U)
  3615. /*! HALT
  3616. * 0b1..Enters Freeze Mode if the FRZ bit is asserted.
  3617. * 0b0..No Freeze Mode request.
  3618. */
  3619. #define CAN_MCR_HALT(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_HALT_SHIFT)) & CAN_MCR_HALT_MASK)
  3620. #define CAN_MCR_RFEN_MASK (0x20000000U)
  3621. #define CAN_MCR_RFEN_SHIFT (29U)
  3622. /*! RFEN
  3623. * 0b1..FIFO enabled
  3624. * 0b0..FIFO not enabled
  3625. */
  3626. #define CAN_MCR_RFEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_RFEN_SHIFT)) & CAN_MCR_RFEN_MASK)
  3627. #define CAN_MCR_FRZ_MASK (0x40000000U)
  3628. #define CAN_MCR_FRZ_SHIFT (30U)
  3629. /*! FRZ
  3630. * 0b1..Enabled to enter Freeze Mode
  3631. * 0b0..Not enabled to enter Freeze Mode
  3632. */
  3633. #define CAN_MCR_FRZ(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_FRZ_SHIFT)) & CAN_MCR_FRZ_MASK)
  3634. #define CAN_MCR_MDIS_MASK (0x80000000U)
  3635. #define CAN_MCR_MDIS_SHIFT (31U)
  3636. /*! MDIS
  3637. * 0b1..Disable the FLEXCAN module
  3638. * 0b0..Enable the FLEXCAN module
  3639. */
  3640. #define CAN_MCR_MDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_MDIS_SHIFT)) & CAN_MCR_MDIS_MASK)
  3641. /*! @} */
  3642. /*! @name CTRL1 - Control 1 Register */
  3643. /*! @{ */
  3644. #define CAN_CTRL1_PROPSEG_MASK (0x7U)
  3645. #define CAN_CTRL1_PROPSEG_SHIFT (0U)
  3646. #define CAN_CTRL1_PROPSEG(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PROPSEG_SHIFT)) & CAN_CTRL1_PROPSEG_MASK)
  3647. #define CAN_CTRL1_LOM_MASK (0x8U)
  3648. #define CAN_CTRL1_LOM_SHIFT (3U)
  3649. /*! LOM
  3650. * 0b1..FLEXCAN module operates in Listen Only Mode
  3651. * 0b0..Listen Only Mode is deactivated
  3652. */
  3653. #define CAN_CTRL1_LOM(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_LOM_SHIFT)) & CAN_CTRL1_LOM_MASK)
  3654. #define CAN_CTRL1_LBUF_MASK (0x10U)
  3655. #define CAN_CTRL1_LBUF_SHIFT (4U)
  3656. /*! LBUF
  3657. * 0b1..Lowest number buffer is transmitted first
  3658. * 0b0..Buffer with highest priority is transmitted first
  3659. */
  3660. #define CAN_CTRL1_LBUF(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_LBUF_SHIFT)) & CAN_CTRL1_LBUF_MASK)
  3661. #define CAN_CTRL1_TSYN_MASK (0x20U)
  3662. #define CAN_CTRL1_TSYN_SHIFT (5U)
  3663. /*! TSYN
  3664. * 0b1..Timer Sync feature enabled
  3665. * 0b0..Timer Sync feature disabled
  3666. */
  3667. #define CAN_CTRL1_TSYN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_TSYN_SHIFT)) & CAN_CTRL1_TSYN_MASK)
  3668. #define CAN_CTRL1_BOFFREC_MASK (0x40U)
  3669. #define CAN_CTRL1_BOFFREC_SHIFT (6U)
  3670. /*! BOFFREC
  3671. * 0b1..Automatic recovering from Bus Off state disabled
  3672. * 0b0..Automatic recovering from Bus Off state enabled, according to CAN Spec 2.0 part B
  3673. */
  3674. #define CAN_CTRL1_BOFFREC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_BOFFREC_SHIFT)) & CAN_CTRL1_BOFFREC_MASK)
  3675. #define CAN_CTRL1_SMP_MASK (0x80U)
  3676. #define CAN_CTRL1_SMP_SHIFT (7U)
  3677. /*! SMP
  3678. * 0b1..Three samples are used to determine the value of the received bit: the regular one (sample point) and 2
  3679. * preceding samples, a majority rule is used
  3680. * 0b0..Just one sample is used to determine the bit value
  3681. */
  3682. #define CAN_CTRL1_SMP(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_SMP_SHIFT)) & CAN_CTRL1_SMP_MASK)
  3683. #define CAN_CTRL1_RWRNMSK_MASK (0x400U)
  3684. #define CAN_CTRL1_RWRNMSK_SHIFT (10U)
  3685. /*! RWRNMSK
  3686. * 0b1..Rx Warning Interrupt enabled
  3687. * 0b0..Rx Warning Interrupt disabled
  3688. */
  3689. #define CAN_CTRL1_RWRNMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_RWRNMSK_SHIFT)) & CAN_CTRL1_RWRNMSK_MASK)
  3690. #define CAN_CTRL1_TWRNMSK_MASK (0x800U)
  3691. #define CAN_CTRL1_TWRNMSK_SHIFT (11U)
  3692. /*! TWRNMSK
  3693. * 0b1..Tx Warning Interrupt enabled
  3694. * 0b0..Tx Warning Interrupt disabled
  3695. */
  3696. #define CAN_CTRL1_TWRNMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_TWRNMSK_SHIFT)) & CAN_CTRL1_TWRNMSK_MASK)
  3697. #define CAN_CTRL1_LPB_MASK (0x1000U)
  3698. #define CAN_CTRL1_LPB_SHIFT (12U)
  3699. /*! LPB
  3700. * 0b1..Loop Back enabled
  3701. * 0b0..Loop Back disabled
  3702. */
  3703. #define CAN_CTRL1_LPB(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_LPB_SHIFT)) & CAN_CTRL1_LPB_MASK)
  3704. #define CAN_CTRL1_ERRMSK_MASK (0x4000U)
  3705. #define CAN_CTRL1_ERRMSK_SHIFT (14U)
  3706. /*! ERRMSK
  3707. * 0b1..Error interrupt enabled
  3708. * 0b0..Error interrupt disabled
  3709. */
  3710. #define CAN_CTRL1_ERRMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_ERRMSK_SHIFT)) & CAN_CTRL1_ERRMSK_MASK)
  3711. #define CAN_CTRL1_BOFFMSK_MASK (0x8000U)
  3712. #define CAN_CTRL1_BOFFMSK_SHIFT (15U)
  3713. /*! BOFFMSK
  3714. * 0b1..Bus Off interrupt enabled
  3715. * 0b0..Bus Off interrupt disabled
  3716. */
  3717. #define CAN_CTRL1_BOFFMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_BOFFMSK_SHIFT)) & CAN_CTRL1_BOFFMSK_MASK)
  3718. #define CAN_CTRL1_PSEG2_MASK (0x70000U)
  3719. #define CAN_CTRL1_PSEG2_SHIFT (16U)
  3720. #define CAN_CTRL1_PSEG2(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PSEG2_SHIFT)) & CAN_CTRL1_PSEG2_MASK)
  3721. #define CAN_CTRL1_PSEG1_MASK (0x380000U)
  3722. #define CAN_CTRL1_PSEG1_SHIFT (19U)
  3723. #define CAN_CTRL1_PSEG1(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PSEG1_SHIFT)) & CAN_CTRL1_PSEG1_MASK)
  3724. #define CAN_CTRL1_RJW_MASK (0xC00000U)
  3725. #define CAN_CTRL1_RJW_SHIFT (22U)
  3726. #define CAN_CTRL1_RJW(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_RJW_SHIFT)) & CAN_CTRL1_RJW_MASK)
  3727. #define CAN_CTRL1_PRESDIV_MASK (0xFF000000U)
  3728. #define CAN_CTRL1_PRESDIV_SHIFT (24U)
  3729. #define CAN_CTRL1_PRESDIV(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PRESDIV_SHIFT)) & CAN_CTRL1_PRESDIV_MASK)
  3730. /*! @} */
  3731. /*! @name TIMER - Free Running Timer Register */
  3732. /*! @{ */
  3733. #define CAN_TIMER_TIMER_MASK (0xFFFFU)
  3734. #define CAN_TIMER_TIMER_SHIFT (0U)
  3735. #define CAN_TIMER_TIMER(x) (((uint32_t)(((uint32_t)(x)) << CAN_TIMER_TIMER_SHIFT)) & CAN_TIMER_TIMER_MASK)
  3736. /*! @} */
  3737. /*! @name RXMGMASK - Rx Mailboxes Global Mask Register */
  3738. /*! @{ */
  3739. #define CAN_RXMGMASK_MG_MASK (0xFFFFFFFFU)
  3740. #define CAN_RXMGMASK_MG_SHIFT (0U)
  3741. /*! MG
  3742. * 0b00000000000000000000000000000001..The corresponding bit in the filter is checked against the one received
  3743. * 0b00000000000000000000000000000000..the corresponding bit in the filter is "don't care"
  3744. */
  3745. #define CAN_RXMGMASK_MG(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXMGMASK_MG_SHIFT)) & CAN_RXMGMASK_MG_MASK)
  3746. /*! @} */
  3747. /*! @name RX14MASK - Rx Buffer 14 Mask Register */
  3748. /*! @{ */
  3749. #define CAN_RX14MASK_RX14M_MASK (0xFFFFFFFFU)
  3750. #define CAN_RX14MASK_RX14M_SHIFT (0U)
  3751. /*! RX14M
  3752. * 0b00000000000000000000000000000001..The corresponding bit in the filter is checked
  3753. * 0b00000000000000000000000000000000..the corresponding bit in the filter is "don't care"
  3754. */
  3755. #define CAN_RX14MASK_RX14M(x) (((uint32_t)(((uint32_t)(x)) << CAN_RX14MASK_RX14M_SHIFT)) & CAN_RX14MASK_RX14M_MASK)
  3756. /*! @} */
  3757. /*! @name RX15MASK - Rx Buffer 15 Mask Register */
  3758. /*! @{ */
  3759. #define CAN_RX15MASK_RX15M_MASK (0xFFFFFFFFU)
  3760. #define CAN_RX15MASK_RX15M_SHIFT (0U)
  3761. /*! RX15M
  3762. * 0b00000000000000000000000000000001..The corresponding bit in the filter is checked
  3763. * 0b00000000000000000000000000000000..the corresponding bit in the filter is "don't care"
  3764. */
  3765. #define CAN_RX15MASK_RX15M(x) (((uint32_t)(((uint32_t)(x)) << CAN_RX15MASK_RX15M_SHIFT)) & CAN_RX15MASK_RX15M_MASK)
  3766. /*! @} */
  3767. /*! @name ECR - Error Counter Register */
  3768. /*! @{ */
  3769. #define CAN_ECR_TX_ERR_COUNTER_MASK (0xFFU)
  3770. #define CAN_ECR_TX_ERR_COUNTER_SHIFT (0U)
  3771. #define CAN_ECR_TX_ERR_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_TX_ERR_COUNTER_SHIFT)) & CAN_ECR_TX_ERR_COUNTER_MASK)
  3772. #define CAN_ECR_RX_ERR_COUNTER_MASK (0xFF00U)
  3773. #define CAN_ECR_RX_ERR_COUNTER_SHIFT (8U)
  3774. #define CAN_ECR_RX_ERR_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_RX_ERR_COUNTER_SHIFT)) & CAN_ECR_RX_ERR_COUNTER_MASK)
  3775. /*! @} */
  3776. /*! @name ESR1 - Error and Status 1 Register */
  3777. /*! @{ */
  3778. #define CAN_ESR1_WAKINT_MASK (0x1U)
  3779. #define CAN_ESR1_WAKINT_SHIFT (0U)
  3780. /*! WAKINT
  3781. * 0b1..Indicates a recessive to dominant transition received on the CAN bus when the FLEXCAN module is in Stop Mode
  3782. * 0b0..No such occurrence
  3783. */
  3784. #define CAN_ESR1_WAKINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_WAKINT_SHIFT)) & CAN_ESR1_WAKINT_MASK)
  3785. #define CAN_ESR1_ERRINT_MASK (0x2U)
  3786. #define CAN_ESR1_ERRINT_SHIFT (1U)
  3787. /*! ERRINT
  3788. * 0b1..Indicates setting of any Error Bit in the Error and Status Register
  3789. * 0b0..No such occurrence
  3790. */
  3791. #define CAN_ESR1_ERRINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ERRINT_SHIFT)) & CAN_ESR1_ERRINT_MASK)
  3792. #define CAN_ESR1_BOFFINT_MASK (0x4U)
  3793. #define CAN_ESR1_BOFFINT_SHIFT (2U)
  3794. /*! BOFFINT
  3795. * 0b1..FLEXCAN module entered 'Bus Off' state
  3796. * 0b0..No such occurrence
  3797. */
  3798. #define CAN_ESR1_BOFFINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BOFFINT_SHIFT)) & CAN_ESR1_BOFFINT_MASK)
  3799. #define CAN_ESR1_RX_MASK (0x8U)
  3800. #define CAN_ESR1_RX_SHIFT (3U)
  3801. /*! RX
  3802. * 0b1..FLEXCAN is transmitting a message
  3803. * 0b0..FLEXCAN is receiving a message
  3804. */
  3805. #define CAN_ESR1_RX(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_RX_SHIFT)) & CAN_ESR1_RX_MASK)
  3806. #define CAN_ESR1_FLTCONF_MASK (0x30U)
  3807. #define CAN_ESR1_FLTCONF_SHIFT (4U)
  3808. /*! FLTCONF
  3809. * 0b00..Error Active
  3810. * 0b01..Error Passive
  3811. * 0b1x..Bus off
  3812. */
  3813. #define CAN_ESR1_FLTCONF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_FLTCONF_SHIFT)) & CAN_ESR1_FLTCONF_MASK)
  3814. #define CAN_ESR1_TX_MASK (0x40U)
  3815. #define CAN_ESR1_TX_SHIFT (6U)
  3816. /*! TX
  3817. * 0b1..FLEXCAN is transmitting a message
  3818. * 0b0..FLEXCAN is receiving a message
  3819. */
  3820. #define CAN_ESR1_TX(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_TX_SHIFT)) & CAN_ESR1_TX_MASK)
  3821. #define CAN_ESR1_IDLE_MASK (0x80U)
  3822. #define CAN_ESR1_IDLE_SHIFT (7U)
  3823. /*! IDLE
  3824. * 0b1..CAN bus is now IDLE
  3825. * 0b0..No such occurrence
  3826. */
  3827. #define CAN_ESR1_IDLE(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_IDLE_SHIFT)) & CAN_ESR1_IDLE_MASK)
  3828. #define CAN_ESR1_RXWRN_MASK (0x100U)
  3829. #define CAN_ESR1_RXWRN_SHIFT (8U)
  3830. /*! RXWRN
  3831. * 0b1..Rx_Err_Counter >= 96
  3832. * 0b0..No such occurrence
  3833. */
  3834. #define CAN_ESR1_RXWRN(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_RXWRN_SHIFT)) & CAN_ESR1_RXWRN_MASK)
  3835. #define CAN_ESR1_TXWRN_MASK (0x200U)
  3836. #define CAN_ESR1_TXWRN_SHIFT (9U)
  3837. /*! TXWRN
  3838. * 0b1..TX_Err_Counter >= 96
  3839. * 0b0..No such occurrence
  3840. */
  3841. #define CAN_ESR1_TXWRN(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_TXWRN_SHIFT)) & CAN_ESR1_TXWRN_MASK)
  3842. #define CAN_ESR1_STFERR_MASK (0x400U)
  3843. #define CAN_ESR1_STFERR_SHIFT (10U)
  3844. /*! STFERR
  3845. * 0b1..A Stuffing Error occurred since last read of this register.
  3846. * 0b0..No such occurrence.
  3847. */
  3848. #define CAN_ESR1_STFERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_STFERR_SHIFT)) & CAN_ESR1_STFERR_MASK)
  3849. #define CAN_ESR1_FRMERR_MASK (0x800U)
  3850. #define CAN_ESR1_FRMERR_SHIFT (11U)
  3851. /*! FRMERR
  3852. * 0b1..A Form Error occurred since last read of this register
  3853. * 0b0..No such occurrence
  3854. */
  3855. #define CAN_ESR1_FRMERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_FRMERR_SHIFT)) & CAN_ESR1_FRMERR_MASK)
  3856. #define CAN_ESR1_CRCERR_MASK (0x1000U)
  3857. #define CAN_ESR1_CRCERR_SHIFT (12U)
  3858. /*! CRCERR
  3859. * 0b1..A CRC error occurred since last read of this register.
  3860. * 0b0..No such occurrence
  3861. */
  3862. #define CAN_ESR1_CRCERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_CRCERR_SHIFT)) & CAN_ESR1_CRCERR_MASK)
  3863. #define CAN_ESR1_ACKERR_MASK (0x2000U)
  3864. #define CAN_ESR1_ACKERR_SHIFT (13U)
  3865. /*! ACKERR
  3866. * 0b1..An ACK error occurred since last read of this register
  3867. * 0b0..No such occurrence
  3868. */
  3869. #define CAN_ESR1_ACKERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ACKERR_SHIFT)) & CAN_ESR1_ACKERR_MASK)
  3870. #define CAN_ESR1_BIT0ERR_MASK (0x4000U)
  3871. #define CAN_ESR1_BIT0ERR_SHIFT (14U)
  3872. /*! BIT0ERR
  3873. * 0b1..At least one bit sent as dominant is received as recessive
  3874. * 0b0..No such occurrence
  3875. */
  3876. #define CAN_ESR1_BIT0ERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT0ERR_SHIFT)) & CAN_ESR1_BIT0ERR_MASK)
  3877. #define CAN_ESR1_BIT1ERR_MASK (0x8000U)
  3878. #define CAN_ESR1_BIT1ERR_SHIFT (15U)
  3879. /*! BIT1ERR
  3880. * 0b1..At least one bit sent as recessive is received as dominant
  3881. * 0b0..No such occurrence
  3882. */
  3883. #define CAN_ESR1_BIT1ERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT1ERR_SHIFT)) & CAN_ESR1_BIT1ERR_MASK)
  3884. #define CAN_ESR1_RWRNINT_MASK (0x10000U)
  3885. #define CAN_ESR1_RWRNINT_SHIFT (16U)
  3886. /*! RWRNINT
  3887. * 0b1..The Rx error counter transition from < 96 to >= 96
  3888. * 0b0..No such occurrence
  3889. */
  3890. #define CAN_ESR1_RWRNINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_RWRNINT_SHIFT)) & CAN_ESR1_RWRNINT_MASK)
  3891. #define CAN_ESR1_TWRNINT_MASK (0x20000U)
  3892. #define CAN_ESR1_TWRNINT_SHIFT (17U)
  3893. /*! TWRNINT
  3894. * 0b1..The Tx error counter transition from < 96 to >= 96
  3895. * 0b0..No such occurrence
  3896. */
  3897. #define CAN_ESR1_TWRNINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_TWRNINT_SHIFT)) & CAN_ESR1_TWRNINT_MASK)
  3898. #define CAN_ESR1_SYNCH_MASK (0x40000U)
  3899. #define CAN_ESR1_SYNCH_SHIFT (18U)
  3900. /*! SYNCH
  3901. * 0b1..FlexCAN is synchronized to the CAN bus
  3902. * 0b0..FlexCAN is not synchronized to the CAN bus
  3903. */
  3904. #define CAN_ESR1_SYNCH(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_SYNCH_SHIFT)) & CAN_ESR1_SYNCH_MASK)
  3905. /*! @} */
  3906. /*! @name IMASK2 - Interrupt Masks 2 Register */
  3907. /*! @{ */
  3908. #define CAN_IMASK2_BUFHM_MASK (0xFFFFFFFFU)
  3909. #define CAN_IMASK2_BUFHM_SHIFT (0U)
  3910. /*! BUFHM
  3911. * 0b00000000000000000000000000000001..The corresponding buffer Interrupt is enabled
  3912. * 0b00000000000000000000000000000000..The corresponding buffer Interrupt is disabled
  3913. */
  3914. #define CAN_IMASK2_BUFHM(x) (((uint32_t)(((uint32_t)(x)) << CAN_IMASK2_BUFHM_SHIFT)) & CAN_IMASK2_BUFHM_MASK)
  3915. /*! @} */
  3916. /*! @name IMASK1 - Interrupt Masks 1 Register */
  3917. /*! @{ */
  3918. #define CAN_IMASK1_BUFLM_MASK (0xFFFFFFFFU)
  3919. #define CAN_IMASK1_BUFLM_SHIFT (0U)
  3920. /*! BUFLM
  3921. * 0b00000000000000000000000000000001..The corresponding buffer Interrupt is enabled
  3922. * 0b00000000000000000000000000000000..The corresponding buffer Interrupt is disabled
  3923. */
  3924. #define CAN_IMASK1_BUFLM(x) (((uint32_t)(((uint32_t)(x)) << CAN_IMASK1_BUFLM_SHIFT)) & CAN_IMASK1_BUFLM_MASK)
  3925. /*! @} */
  3926. /*! @name IFLAG2 - Interrupt Flags 2 Register */
  3927. /*! @{ */
  3928. #define CAN_IFLAG2_BUFHI_MASK (0xFFFFFFFFU)
  3929. #define CAN_IFLAG2_BUFHI_SHIFT (0U)
  3930. /*! BUFHI
  3931. * 0b00000000000000000000000000000001..The corresponding buffer has successfully completed transmission or reception
  3932. * 0b00000000000000000000000000000000..No such occurrence
  3933. */
  3934. #define CAN_IFLAG2_BUFHI(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG2_BUFHI_SHIFT)) & CAN_IFLAG2_BUFHI_MASK)
  3935. /*! @} */
  3936. /*! @name IFLAG1 - Interrupt Flags 1 Register */
  3937. /*! @{ */
  3938. #define CAN_IFLAG1_BUF4TO0I_MASK (0x1FU)
  3939. #define CAN_IFLAG1_BUF4TO0I_SHIFT (0U)
  3940. /*! BUF4TO0I
  3941. * 0b00001..Corresponding MB completed transmission/reception
  3942. * 0b00000..No such occurrence
  3943. */
  3944. #define CAN_IFLAG1_BUF4TO0I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF4TO0I_SHIFT)) & CAN_IFLAG1_BUF4TO0I_MASK)
  3945. #define CAN_IFLAG1_BUF5I_MASK (0x20U)
  3946. #define CAN_IFLAG1_BUF5I_SHIFT (5U)
  3947. /*! BUF5I
  3948. * 0b1..MB5 completed transmission/reception or frames available in the FIFO
  3949. * 0b0..No such occurrence
  3950. */
  3951. #define CAN_IFLAG1_BUF5I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF5I_SHIFT)) & CAN_IFLAG1_BUF5I_MASK)
  3952. #define CAN_IFLAG1_BUF6I_MASK (0x40U)
  3953. #define CAN_IFLAG1_BUF6I_SHIFT (6U)
  3954. /*! BUF6I
  3955. * 0b1..MB6 completed transmission/reception or FIFO almost full
  3956. * 0b0..No such occurrence
  3957. */
  3958. #define CAN_IFLAG1_BUF6I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF6I_SHIFT)) & CAN_IFLAG1_BUF6I_MASK)
  3959. #define CAN_IFLAG1_BUF7I_MASK (0x80U)
  3960. #define CAN_IFLAG1_BUF7I_SHIFT (7U)
  3961. /*! BUF7I
  3962. * 0b1..MB7 completed transmission/reception or FIFO overflow
  3963. * 0b0..No such occurrence
  3964. */
  3965. #define CAN_IFLAG1_BUF7I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF7I_SHIFT)) & CAN_IFLAG1_BUF7I_MASK)
  3966. #define CAN_IFLAG1_BUF31TO8I_MASK (0xFFFFFF00U)
  3967. #define CAN_IFLAG1_BUF31TO8I_SHIFT (8U)
  3968. /*! BUF31TO8I
  3969. * 0b000000000000000000000001..The corresponding MB has successfully completed transmission or reception
  3970. * 0b000000000000000000000000..No such occurrence
  3971. */
  3972. #define CAN_IFLAG1_BUF31TO8I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF31TO8I_SHIFT)) & CAN_IFLAG1_BUF31TO8I_MASK)
  3973. /*! @} */
  3974. /*! @name CTRL2 - Control 2 Register */
  3975. /*! @{ */
  3976. #define CAN_CTRL2_EACEN_MASK (0x10000U)
  3977. #define CAN_CTRL2_EACEN_SHIFT (16U)
  3978. /*! EACEN
  3979. * 0b1..Enables the comparison of both Rx Mailbox filter's IDE and RTR bit with their corresponding bits within
  3980. * the incoming frame. Mask bits do apply.
  3981. * 0b0..Rx Mailbox filter's IDE bit is always compared and RTR is never compared despite mask bits.
  3982. */
  3983. #define CAN_CTRL2_EACEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_EACEN_SHIFT)) & CAN_CTRL2_EACEN_MASK)
  3984. #define CAN_CTRL2_RRS_MASK (0x20000U)
  3985. #define CAN_CTRL2_RRS_SHIFT (17U)
  3986. /*! RRS
  3987. * 0b1..Remote Request Frame is stored
  3988. * 0b0..Remote Response Frame is generated
  3989. */
  3990. #define CAN_CTRL2_RRS(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_RRS_SHIFT)) & CAN_CTRL2_RRS_MASK)
  3991. #define CAN_CTRL2_MRP_MASK (0x40000U)
  3992. #define CAN_CTRL2_MRP_SHIFT (18U)
  3993. /*! MRP
  3994. * 0b1..Matching starts from Mailboxes and continues on Rx FIFO
  3995. * 0b0..Matching starts from Rx FIFO and continues on Mailboxes
  3996. */
  3997. #define CAN_CTRL2_MRP(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_MRP_SHIFT)) & CAN_CTRL2_MRP_MASK)
  3998. #define CAN_CTRL2_TASD_MASK (0xF80000U)
  3999. #define CAN_CTRL2_TASD_SHIFT (19U)
  4000. #define CAN_CTRL2_TASD(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_TASD_SHIFT)) & CAN_CTRL2_TASD_MASK)
  4001. #define CAN_CTRL2_RFFN_MASK (0xF000000U)
  4002. #define CAN_CTRL2_RFFN_SHIFT (24U)
  4003. #define CAN_CTRL2_RFFN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_RFFN_SHIFT)) & CAN_CTRL2_RFFN_MASK)
  4004. #define CAN_CTRL2_WRMFRZ_MASK (0x10000000U)
  4005. #define CAN_CTRL2_WRMFRZ_SHIFT (28U)
  4006. /*! WRMFRZ
  4007. * 0b1..Enable unrestricted write access to FlexCAN memory
  4008. * 0b0..Keep the write access restricted in some regions of FlexCAN memory
  4009. */
  4010. #define CAN_CTRL2_WRMFRZ(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_WRMFRZ_SHIFT)) & CAN_CTRL2_WRMFRZ_MASK)
  4011. /*! @} */
  4012. /*! @name ESR2 - Error and Status 2 Register */
  4013. /*! @{ */
  4014. #define CAN_ESR2_IMB_MASK (0x2000U)
  4015. #define CAN_ESR2_IMB_SHIFT (13U)
  4016. /*! IMB
  4017. * 0b1..If ESR2[VPS] is asserted, there is at least one inactive Mailbox. LPTM content is the number of the first one.
  4018. * 0b0..If ESR2[VPS] is asserted, the ESR2[LPTM] is not an inactive Mailbox.
  4019. */
  4020. #define CAN_ESR2_IMB(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_IMB_SHIFT)) & CAN_ESR2_IMB_MASK)
  4021. #define CAN_ESR2_VPS_MASK (0x4000U)
  4022. #define CAN_ESR2_VPS_SHIFT (14U)
  4023. /*! VPS
  4024. * 0b1..Contents of IMB and LPTM are valid
  4025. * 0b0..Contents of IMB and LPTM are invalid
  4026. */
  4027. #define CAN_ESR2_VPS(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_VPS_SHIFT)) & CAN_ESR2_VPS_MASK)
  4028. #define CAN_ESR2_LPTM_MASK (0x7F0000U)
  4029. #define CAN_ESR2_LPTM_SHIFT (16U)
  4030. #define CAN_ESR2_LPTM(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_LPTM_SHIFT)) & CAN_ESR2_LPTM_MASK)
  4031. /*! @} */
  4032. /*! @name CRCR - CRC Register */
  4033. /*! @{ */
  4034. #define CAN_CRCR_TXCRC_MASK (0x7FFFU)
  4035. #define CAN_CRCR_TXCRC_SHIFT (0U)
  4036. #define CAN_CRCR_TXCRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CRCR_TXCRC_SHIFT)) & CAN_CRCR_TXCRC_MASK)
  4037. #define CAN_CRCR_MBCRC_MASK (0x7F0000U)
  4038. #define CAN_CRCR_MBCRC_SHIFT (16U)
  4039. #define CAN_CRCR_MBCRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CRCR_MBCRC_SHIFT)) & CAN_CRCR_MBCRC_MASK)
  4040. /*! @} */
  4041. /*! @name RXFGMASK - Rx FIFO Global Mask Register */
  4042. /*! @{ */
  4043. #define CAN_RXFGMASK_FGM_MASK (0xFFFFFFFFU)
  4044. #define CAN_RXFGMASK_FGM_SHIFT (0U)
  4045. /*! FGM
  4046. * 0b00000000000000000000000000000001..The corresponding bit in the filter is checked
  4047. * 0b00000000000000000000000000000000..The corresponding bit in the filter is "don't care"
  4048. */
  4049. #define CAN_RXFGMASK_FGM(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXFGMASK_FGM_SHIFT)) & CAN_RXFGMASK_FGM_MASK)
  4050. /*! @} */
  4051. /*! @name RXFIR - Rx FIFO Information Register */
  4052. /*! @{ */
  4053. #define CAN_RXFIR_IDHIT_MASK (0x1FFU)
  4054. #define CAN_RXFIR_IDHIT_SHIFT (0U)
  4055. #define CAN_RXFIR_IDHIT(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXFIR_IDHIT_SHIFT)) & CAN_RXFIR_IDHIT_MASK)
  4056. /*! @} */
  4057. /*! @name DBG1 - Debug 1 register */
  4058. /*! @{ */
  4059. #define CAN_DBG1_CFSM_MASK (0x3FU)
  4060. #define CAN_DBG1_CFSM_SHIFT (0U)
  4061. /*! CFSM - CAN Finite State Machine
  4062. */
  4063. #define CAN_DBG1_CFSM(x) (((uint32_t)(((uint32_t)(x)) << CAN_DBG1_CFSM_SHIFT)) & CAN_DBG1_CFSM_MASK)
  4064. #define CAN_DBG1_CBN_MASK (0x1F000000U)
  4065. #define CAN_DBG1_CBN_SHIFT (24U)
  4066. /*! CBN - CAN Bit Number
  4067. */
  4068. #define CAN_DBG1_CBN(x) (((uint32_t)(((uint32_t)(x)) << CAN_DBG1_CBN_SHIFT)) & CAN_DBG1_CBN_MASK)
  4069. /*! @} */
  4070. /*! @name DBG2 - Debug 2 register */
  4071. /*! @{ */
  4072. #define CAN_DBG2_RMP_MASK (0x7FU)
  4073. #define CAN_DBG2_RMP_SHIFT (0U)
  4074. /*! RMP - Rx Matching Pointer
  4075. */
  4076. #define CAN_DBG2_RMP(x) (((uint32_t)(((uint32_t)(x)) << CAN_DBG2_RMP_SHIFT)) & CAN_DBG2_RMP_MASK)
  4077. #define CAN_DBG2_MPP_MASK (0x80U)
  4078. #define CAN_DBG2_MPP_SHIFT (7U)
  4079. /*! MPP - Matching Process in Progress
  4080. * 0b0..No matching process ongoing.
  4081. * 0b1..Matching process is in progress.
  4082. */
  4083. #define CAN_DBG2_MPP(x) (((uint32_t)(((uint32_t)(x)) << CAN_DBG2_MPP_SHIFT)) & CAN_DBG2_MPP_MASK)
  4084. #define CAN_DBG2_TAP_MASK (0x7F00U)
  4085. #define CAN_DBG2_TAP_SHIFT (8U)
  4086. /*! TAP - Tx Arbitration Pointer
  4087. */
  4088. #define CAN_DBG2_TAP(x) (((uint32_t)(((uint32_t)(x)) << CAN_DBG2_TAP_SHIFT)) & CAN_DBG2_TAP_MASK)
  4089. #define CAN_DBG2_APP_MASK (0x8000U)
  4090. #define CAN_DBG2_APP_SHIFT (15U)
  4091. /*! APP - Arbitration Process in Progress
  4092. * 0b0..No matching process ongoing.
  4093. * 0b1..Matching process is in progress.
  4094. */
  4095. #define CAN_DBG2_APP(x) (((uint32_t)(((uint32_t)(x)) << CAN_DBG2_APP_SHIFT)) & CAN_DBG2_APP_MASK)
  4096. /*! @} */
  4097. /*! @name CS - Message Buffer 0 CS Register..Message Buffer 63 CS Register */
  4098. /*! @{ */
  4099. #define CAN_CS_TIME_STAMP_MASK (0xFFFFU)
  4100. #define CAN_CS_TIME_STAMP_SHIFT (0U)
  4101. /*! TIME_STAMP - Free-Running Counter Time stamp. This 16-bit field is a copy of the Free-Running
  4102. * Timer, captured for Tx and Rx frames at the time when the beginning of the Identifier field
  4103. * appears on the CAN bus.
  4104. */
  4105. #define CAN_CS_TIME_STAMP(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_TIME_STAMP_SHIFT)) & CAN_CS_TIME_STAMP_MASK)
  4106. #define CAN_CS_DLC_MASK (0xF0000U)
  4107. #define CAN_CS_DLC_SHIFT (16U)
  4108. /*! DLC - Length of the data to be stored/transmitted.
  4109. */
  4110. #define CAN_CS_DLC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_DLC_SHIFT)) & CAN_CS_DLC_MASK)
  4111. #define CAN_CS_RTR_MASK (0x100000U)
  4112. #define CAN_CS_RTR_SHIFT (20U)
  4113. /*! RTR - Remote Transmission Request. One/zero for remote/data frame.
  4114. */
  4115. #define CAN_CS_RTR(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_RTR_SHIFT)) & CAN_CS_RTR_MASK)
  4116. #define CAN_CS_IDE_MASK (0x200000U)
  4117. #define CAN_CS_IDE_SHIFT (21U)
  4118. /*! IDE - ID Extended. One/zero for extended/standard format frame.
  4119. */
  4120. #define CAN_CS_IDE(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_IDE_SHIFT)) & CAN_CS_IDE_MASK)
  4121. #define CAN_CS_SRR_MASK (0x400000U)
  4122. #define CAN_CS_SRR_SHIFT (22U)
  4123. /*! SRR - Substitute Remote Request. Contains a fixed recessive bit.
  4124. */
  4125. #define CAN_CS_SRR(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_SRR_SHIFT)) & CAN_CS_SRR_MASK)
  4126. #define CAN_CS_CODE_MASK (0xF000000U)
  4127. #define CAN_CS_CODE_SHIFT (24U)
  4128. /*! CODE - Reserved
  4129. */
  4130. #define CAN_CS_CODE(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_CODE_SHIFT)) & CAN_CS_CODE_MASK)
  4131. /*! @} */
  4132. /* The count of CAN_CS */
  4133. #define CAN_CS_COUNT (64U)
  4134. /*! @name ID - Message Buffer 0 ID Register..Message Buffer 63 ID Register */
  4135. /*! @{ */
  4136. #define CAN_ID_EXT_MASK (0x3FFFFU)
  4137. #define CAN_ID_EXT_SHIFT (0U)
  4138. /*! EXT - Contains extended (LOW word) identifier of message buffer.
  4139. */
  4140. #define CAN_ID_EXT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ID_EXT_SHIFT)) & CAN_ID_EXT_MASK)
  4141. #define CAN_ID_STD_MASK (0x1FFC0000U)
  4142. #define CAN_ID_STD_SHIFT (18U)
  4143. /*! STD - Contains standard/extended (HIGH word) identifier of message buffer.
  4144. */
  4145. #define CAN_ID_STD(x) (((uint32_t)(((uint32_t)(x)) << CAN_ID_STD_SHIFT)) & CAN_ID_STD_MASK)
  4146. #define CAN_ID_PRIO_MASK (0xE0000000U)
  4147. #define CAN_ID_PRIO_SHIFT (29U)
  4148. /*! PRIO - Local priority. This 3-bit fieldis only used when LPRIO_EN bit is set in MCR and it only
  4149. * makes sense for Tx buffers. These bits are not transmitted. They are appended to the regular
  4150. * ID to define the transmission priority.
  4151. */
  4152. #define CAN_ID_PRIO(x) (((uint32_t)(((uint32_t)(x)) << CAN_ID_PRIO_SHIFT)) & CAN_ID_PRIO_MASK)
  4153. /*! @} */
  4154. /* The count of CAN_ID */
  4155. #define CAN_ID_COUNT (64U)
  4156. /*! @name WORD0 - Message Buffer 0 WORD0 Register..Message Buffer 63 WORD0 Register */
  4157. /*! @{ */
  4158. #define CAN_WORD0_DATA_BYTE_3_MASK (0xFFU)
  4159. #define CAN_WORD0_DATA_BYTE_3_SHIFT (0U)
  4160. /*! DATA_BYTE_3 - Data byte 3 of Rx/Tx frame.
  4161. */
  4162. #define CAN_WORD0_DATA_BYTE_3(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_3_SHIFT)) & CAN_WORD0_DATA_BYTE_3_MASK)
  4163. #define CAN_WORD0_DATA_BYTE_2_MASK (0xFF00U)
  4164. #define CAN_WORD0_DATA_BYTE_2_SHIFT (8U)
  4165. /*! DATA_BYTE_2 - Data byte 2 of Rx/Tx frame.
  4166. */
  4167. #define CAN_WORD0_DATA_BYTE_2(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_2_SHIFT)) & CAN_WORD0_DATA_BYTE_2_MASK)
  4168. #define CAN_WORD0_DATA_BYTE_1_MASK (0xFF0000U)
  4169. #define CAN_WORD0_DATA_BYTE_1_SHIFT (16U)
  4170. /*! DATA_BYTE_1 - Data byte 1 of Rx/Tx frame.
  4171. */
  4172. #define CAN_WORD0_DATA_BYTE_1(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_1_SHIFT)) & CAN_WORD0_DATA_BYTE_1_MASK)
  4173. #define CAN_WORD0_DATA_BYTE_0_MASK (0xFF000000U)
  4174. #define CAN_WORD0_DATA_BYTE_0_SHIFT (24U)
  4175. /*! DATA_BYTE_0 - Data byte 0 of Rx/Tx frame.
  4176. */
  4177. #define CAN_WORD0_DATA_BYTE_0(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_0_SHIFT)) & CAN_WORD0_DATA_BYTE_0_MASK)
  4178. /*! @} */
  4179. /* The count of CAN_WORD0 */
  4180. #define CAN_WORD0_COUNT (64U)
  4181. /*! @name WORD1 - Message Buffer 0 WORD1 Register..Message Buffer 63 WORD1 Register */
  4182. /*! @{ */
  4183. #define CAN_WORD1_DATA_BYTE_7_MASK (0xFFU)
  4184. #define CAN_WORD1_DATA_BYTE_7_SHIFT (0U)
  4185. /*! DATA_BYTE_7 - Data byte 7 of Rx/Tx frame.
  4186. */
  4187. #define CAN_WORD1_DATA_BYTE_7(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_7_SHIFT)) & CAN_WORD1_DATA_BYTE_7_MASK)
  4188. #define CAN_WORD1_DATA_BYTE_6_MASK (0xFF00U)
  4189. #define CAN_WORD1_DATA_BYTE_6_SHIFT (8U)
  4190. /*! DATA_BYTE_6 - Data byte 6 of Rx/Tx frame.
  4191. */
  4192. #define CAN_WORD1_DATA_BYTE_6(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_6_SHIFT)) & CAN_WORD1_DATA_BYTE_6_MASK)
  4193. #define CAN_WORD1_DATA_BYTE_5_MASK (0xFF0000U)
  4194. #define CAN_WORD1_DATA_BYTE_5_SHIFT (16U)
  4195. /*! DATA_BYTE_5 - Data byte 5 of Rx/Tx frame.
  4196. */
  4197. #define CAN_WORD1_DATA_BYTE_5(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_5_SHIFT)) & CAN_WORD1_DATA_BYTE_5_MASK)
  4198. #define CAN_WORD1_DATA_BYTE_4_MASK (0xFF000000U)
  4199. #define CAN_WORD1_DATA_BYTE_4_SHIFT (24U)
  4200. /*! DATA_BYTE_4 - Data byte 4 of Rx/Tx frame.
  4201. */
  4202. #define CAN_WORD1_DATA_BYTE_4(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_4_SHIFT)) & CAN_WORD1_DATA_BYTE_4_MASK)
  4203. /*! @} */
  4204. /* The count of CAN_WORD1 */
  4205. #define CAN_WORD1_COUNT (64U)
  4206. /*! @name RXIMR - Rx Individual Mask Registers */
  4207. /*! @{ */
  4208. #define CAN_RXIMR_MI_MASK (0xFFFFFFFFU)
  4209. #define CAN_RXIMR_MI_SHIFT (0U)
  4210. /*! MI
  4211. * 0b00000000000000000000000000000001..The corresponding bit in the filter is checked
  4212. * 0b00000000000000000000000000000000..the corresponding bit in the filter is "don't care"
  4213. */
  4214. #define CAN_RXIMR_MI(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXIMR_MI_SHIFT)) & CAN_RXIMR_MI_MASK)
  4215. /*! @} */
  4216. /* The count of CAN_RXIMR */
  4217. #define CAN_RXIMR_COUNT (64U)
  4218. /*! @name GFWR - Glitch Filter Width Registers */
  4219. /*! @{ */
  4220. #define CAN_GFWR_GFWR_MASK (0xFFU)
  4221. #define CAN_GFWR_GFWR_SHIFT (0U)
  4222. #define CAN_GFWR_GFWR(x) (((uint32_t)(((uint32_t)(x)) << CAN_GFWR_GFWR_SHIFT)) & CAN_GFWR_GFWR_MASK)
  4223. /*! @} */
  4224. /*!
  4225. * @}
  4226. */ /* end of group CAN_Register_Masks */
  4227. /* CAN - Peripheral instance base addresses */
  4228. /** Peripheral CAN1 base address */
  4229. #define CAN1_BASE (0x401D0000u)
  4230. /** Peripheral CAN1 base pointer */
  4231. #define CAN1 ((CAN_Type *)CAN1_BASE)
  4232. /** Peripheral CAN2 base address */
  4233. #define CAN2_BASE (0x401D4000u)
  4234. /** Peripheral CAN2 base pointer */
  4235. #define CAN2 ((CAN_Type *)CAN2_BASE)
  4236. /** Array initializer of CAN peripheral base addresses */
  4237. #define CAN_BASE_ADDRS { 0u, CAN1_BASE, CAN2_BASE }
  4238. /** Array initializer of CAN peripheral base pointers */
  4239. #define CAN_BASE_PTRS { (CAN_Type *)0u, CAN1, CAN2 }
  4240. /** Interrupt vectors for the CAN peripheral type */
  4241. #define CAN_Rx_Warning_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn }
  4242. #define CAN_Tx_Warning_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn }
  4243. #define CAN_Wake_Up_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn }
  4244. #define CAN_Error_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn }
  4245. #define CAN_Bus_Off_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn }
  4246. #define CAN_ORed_Message_buffer_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn }
  4247. /* Backward compatibility */
  4248. #define CAN_ECR_TXERRCNT_MASK CAN_ECR_TX_ERR_COUNTER_MASK
  4249. #define CAN_ECR_TXERRCNT_SHIFT CAN_ECR_TX_ERR_COUNTER_SHIFT
  4250. #define CAN_ECR_TXERRCNT(x) CAN_ECR_TX_ERR_COUNTER(x)
  4251. #define CAN_ECR_RXERRCNT_MASK CAN_ECR_RX_ERR_COUNTER_MASK
  4252. #define CAN_ECR_RXERRCNT_SHIFT CAN_ECR_RX_ERR_COUNTER_SHIFT
  4253. #define CAN_ECR_RXERRCNT(x) CAN_ECR_RX_ERR_COUNTER(x)
  4254. /*!
  4255. * @}
  4256. */ /* end of group CAN_Peripheral_Access_Layer */
  4257. /* ----------------------------------------------------------------------------
  4258. -- CCM Peripheral Access Layer
  4259. ---------------------------------------------------------------------------- */
  4260. /*!
  4261. * @addtogroup CCM_Peripheral_Access_Layer CCM Peripheral Access Layer
  4262. * @{
  4263. */
  4264. /** CCM - Register Layout Typedef */
  4265. typedef struct {
  4266. __IO uint32_t CCR; /**< CCM Control Register, offset: 0x0 */
  4267. uint8_t RESERVED_0[4];
  4268. __I uint32_t CSR; /**< CCM Status Register, offset: 0x8 */
  4269. __IO uint32_t CCSR; /**< CCM Clock Switcher Register, offset: 0xC */
  4270. __IO uint32_t CACRR; /**< CCM Arm Clock Root Register, offset: 0x10 */
  4271. __IO uint32_t CBCDR; /**< CCM Bus Clock Divider Register, offset: 0x14 */
  4272. __IO uint32_t CBCMR; /**< CCM Bus Clock Multiplexer Register, offset: 0x18 */
  4273. __IO uint32_t CSCMR1; /**< CCM Serial Clock Multiplexer Register 1, offset: 0x1C */
  4274. __IO uint32_t CSCMR2; /**< CCM Serial Clock Multiplexer Register 2, offset: 0x20 */
  4275. __IO uint32_t CSCDR1; /**< CCM Serial Clock Divider Register 1, offset: 0x24 */
  4276. __IO uint32_t CS1CDR; /**< CCM Clock Divider Register, offset: 0x28 */
  4277. __IO uint32_t CS2CDR; /**< CCM Clock Divider Register, offset: 0x2C */
  4278. __IO uint32_t CDCDR; /**< CCM D1 Clock Divider Register, offset: 0x30 */
  4279. uint8_t RESERVED_1[4];
  4280. __IO uint32_t CSCDR2; /**< CCM Serial Clock Divider Register 2, offset: 0x38 */
  4281. uint32_t CSCDR3; /**< CCM Serial Clock Divider Register 3, offset: 0x3C */
  4282. uint8_t RESERVED_2[8];
  4283. __I uint32_t CDHIPR; /**< CCM Divider Handshake In-Process Register, offset: 0x48 */
  4284. uint8_t RESERVED_3[8];
  4285. __IO uint32_t CLPCR; /**< CCM Low Power Control Register, offset: 0x54 */
  4286. __IO uint32_t CISR; /**< CCM Interrupt Status Register, offset: 0x58 */
  4287. __IO uint32_t CIMR; /**< CCM Interrupt Mask Register, offset: 0x5C */
  4288. __IO uint32_t CCOSR; /**< CCM Clock Output Source Register, offset: 0x60 */
  4289. __IO uint32_t CGPR; /**< CCM General Purpose Register, offset: 0x64 */
  4290. __IO uint32_t CCGR0; /**< CCM Clock Gating Register 0, offset: 0x68 */
  4291. __IO uint32_t CCGR1; /**< CCM Clock Gating Register 1, offset: 0x6C */
  4292. __IO uint32_t CCGR2; /**< CCM Clock Gating Register 2, offset: 0x70 */
  4293. __IO uint32_t CCGR3; /**< CCM Clock Gating Register 3, offset: 0x74 */
  4294. __IO uint32_t CCGR4; /**< CCM Clock Gating Register 4, offset: 0x78 */
  4295. __IO uint32_t CCGR5; /**< CCM Clock Gating Register 5, offset: 0x7C */
  4296. __IO uint32_t CCGR6; /**< CCM Clock Gating Register 6, offset: 0x80 */
  4297. uint8_t RESERVED_4[4];
  4298. __IO uint32_t CMEOR; /**< CCM Module Enable Overide Register, offset: 0x88 */
  4299. } CCM_Type;
  4300. /* ----------------------------------------------------------------------------
  4301. -- CCM Register Masks
  4302. ---------------------------------------------------------------------------- */
  4303. /*!
  4304. * @addtogroup CCM_Register_Masks CCM Register Masks
  4305. * @{
  4306. */
  4307. /*! @name CCR - CCM Control Register */
  4308. /*! @{ */
  4309. #define CCM_CCR_OSCNT_MASK (0xFFU)
  4310. #define CCM_CCR_OSCNT_SHIFT (0U)
  4311. /*! OSCNT - Oscillator ready counter value. These bits define value of 32KHz counter, that serve as
  4312. * counter for oscillator lock time (count to n+1 ckil's). This is used for oscillator lock time.
  4313. * Current estimation is ~5ms. This counter will be used in ignition sequence and in wake from
  4314. * stop sequence if sbyos bit was defined, to notify that on chip oscillator output is ready for
  4315. * the dpll_ip to use and only then the gate in dpll_ip can be opened.
  4316. */
  4317. #define CCM_CCR_OSCNT(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCR_OSCNT_SHIFT)) & CCM_CCR_OSCNT_MASK)
  4318. #define CCM_CCR_COSC_EN_MASK (0x1000U)
  4319. #define CCM_CCR_COSC_EN_SHIFT (12U)
  4320. /*! COSC_EN
  4321. * 0b0..disable on chip oscillator
  4322. * 0b1..enable on chip oscillator
  4323. */
  4324. #define CCM_CCR_COSC_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCR_COSC_EN_SHIFT)) & CCM_CCR_COSC_EN_MASK)
  4325. #define CCM_CCR_REG_BYPASS_COUNT_MASK (0x7E00000U)
  4326. #define CCM_CCR_REG_BYPASS_COUNT_SHIFT (21U)
  4327. /*! REG_BYPASS_COUNT
  4328. * 0b000000..no delay
  4329. * 0b000001..1 CKIL clock period delay
  4330. * 0b111111..63 CKIL clock periods delay
  4331. */
  4332. #define CCM_CCR_REG_BYPASS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCR_REG_BYPASS_COUNT_SHIFT)) & CCM_CCR_REG_BYPASS_COUNT_MASK)
  4333. #define CCM_CCR_RBC_EN_MASK (0x8000000U)
  4334. #define CCM_CCR_RBC_EN_SHIFT (27U)
  4335. /*! RBC_EN
  4336. * 0b1..REG_BYPASS_COUNTER enabled.
  4337. * 0b0..REG_BYPASS_COUNTER disabled
  4338. */
  4339. #define CCM_CCR_RBC_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCR_RBC_EN_SHIFT)) & CCM_CCR_RBC_EN_MASK)
  4340. /*! @} */
  4341. /*! @name CSR - CCM Status Register */
  4342. /*! @{ */
  4343. #define CCM_CSR_REF_EN_B_MASK (0x1U)
  4344. #define CCM_CSR_REF_EN_B_SHIFT (0U)
  4345. /*! REF_EN_B
  4346. * 0b0..value of CCM_REF_EN_B is '0'
  4347. * 0b1..value of CCM_REF_EN_B is '1'
  4348. */
  4349. #define CCM_CSR_REF_EN_B(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSR_REF_EN_B_SHIFT)) & CCM_CSR_REF_EN_B_MASK)
  4350. #define CCM_CSR_CAMP2_READY_MASK (0x8U)
  4351. #define CCM_CSR_CAMP2_READY_SHIFT (3U)
  4352. /*! CAMP2_READY
  4353. * 0b0..CAMP2 is not ready.
  4354. * 0b1..CAMP2 is ready.
  4355. */
  4356. #define CCM_CSR_CAMP2_READY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSR_CAMP2_READY_SHIFT)) & CCM_CSR_CAMP2_READY_MASK)
  4357. #define CCM_CSR_COSC_READY_MASK (0x20U)
  4358. #define CCM_CSR_COSC_READY_SHIFT (5U)
  4359. /*! COSC_READY
  4360. * 0b0..on board oscillator is not ready.
  4361. * 0b1..on board oscillator is ready.
  4362. */
  4363. #define CCM_CSR_COSC_READY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSR_COSC_READY_SHIFT)) & CCM_CSR_COSC_READY_MASK)
  4364. /*! @} */
  4365. /*! @name CCSR - CCM Clock Switcher Register */
  4366. /*! @{ */
  4367. #define CCM_CCSR_PLL3_SW_CLK_SEL_MASK (0x1U)
  4368. #define CCM_CCSR_PLL3_SW_CLK_SEL_SHIFT (0U)
  4369. /*! PLL3_SW_CLK_SEL
  4370. * 0b0..pll3_main_clk
  4371. * 0b1..pll3 bypass clock
  4372. */
  4373. #define CCM_CCSR_PLL3_SW_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCSR_PLL3_SW_CLK_SEL_SHIFT)) & CCM_CCSR_PLL3_SW_CLK_SEL_MASK)
  4374. /*! @} */
  4375. /*! @name CACRR - CCM Arm Clock Root Register */
  4376. /*! @{ */
  4377. #define CCM_CACRR_ARM_PODF_MASK (0x7U)
  4378. #define CCM_CACRR_ARM_PODF_SHIFT (0U)
  4379. /*! ARM_PODF
  4380. * 0b000..divide by 1
  4381. * 0b001..divide by 2
  4382. * 0b010..divide by 3
  4383. * 0b011..divide by 4
  4384. * 0b100..divide by 5
  4385. * 0b101..divide by 6
  4386. * 0b110..divide by 7
  4387. * 0b111..divide by 8
  4388. */
  4389. #define CCM_CACRR_ARM_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CACRR_ARM_PODF_SHIFT)) & CCM_CACRR_ARM_PODF_MASK)
  4390. /*! @} */
  4391. /*! @name CBCDR - CCM Bus Clock Divider Register */
  4392. /*! @{ */
  4393. #define CCM_CBCDR_SEMC_CLK_SEL_MASK (0x40U)
  4394. #define CCM_CBCDR_SEMC_CLK_SEL_SHIFT (6U)
  4395. /*! SEMC_CLK_SEL
  4396. * 0b0..Periph_clk output will be used as SEMC clock root
  4397. * 0b1..SEMC alternative clock will be used as SEMC clock root
  4398. */
  4399. #define CCM_CBCDR_SEMC_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCDR_SEMC_CLK_SEL_SHIFT)) & CCM_CBCDR_SEMC_CLK_SEL_MASK)
  4400. #define CCM_CBCDR_SEMC_ALT_CLK_SEL_MASK (0x80U)
  4401. #define CCM_CBCDR_SEMC_ALT_CLK_SEL_SHIFT (7U)
  4402. /*! SEMC_ALT_CLK_SEL
  4403. * 0b0..PLL2 PFD2 will be selected as alternative clock for SEMC root clock
  4404. * 0b1..PLL3 PFD1 will be selected as alternative clock for SEMC root clock
  4405. */
  4406. #define CCM_CBCDR_SEMC_ALT_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCDR_SEMC_ALT_CLK_SEL_SHIFT)) & CCM_CBCDR_SEMC_ALT_CLK_SEL_MASK)
  4407. #define CCM_CBCDR_IPG_PODF_MASK (0x300U)
  4408. #define CCM_CBCDR_IPG_PODF_SHIFT (8U)
  4409. /*! IPG_PODF
  4410. * 0b00..divide by 1
  4411. * 0b01..divide by 2
  4412. * 0b10..divide by 3
  4413. * 0b11..divide by 4
  4414. */
  4415. #define CCM_CBCDR_IPG_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCDR_IPG_PODF_SHIFT)) & CCM_CBCDR_IPG_PODF_MASK)
  4416. #define CCM_CBCDR_AHB_PODF_MASK (0x1C00U)
  4417. #define CCM_CBCDR_AHB_PODF_SHIFT (10U)
  4418. /*! AHB_PODF
  4419. * 0b000..divide by 1
  4420. * 0b001..divide by 2
  4421. * 0b010..divide by 3
  4422. * 0b011..divide by 4
  4423. * 0b100..divide by 5
  4424. * 0b101..divide by 6
  4425. * 0b110..divide by 7
  4426. * 0b111..divide by 8
  4427. */
  4428. #define CCM_CBCDR_AHB_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCDR_AHB_PODF_SHIFT)) & CCM_CBCDR_AHB_PODF_MASK)
  4429. #define CCM_CBCDR_SEMC_PODF_MASK (0x70000U)
  4430. #define CCM_CBCDR_SEMC_PODF_SHIFT (16U)
  4431. /*! SEMC_PODF
  4432. * 0b000..divide by 1
  4433. * 0b001..divide by 2
  4434. * 0b010..divide by 3
  4435. * 0b011..divide by 4
  4436. * 0b100..divide by 5
  4437. * 0b101..divide by 6
  4438. * 0b110..divide by 7
  4439. * 0b111..divide by 8
  4440. */
  4441. #define CCM_CBCDR_SEMC_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCDR_SEMC_PODF_SHIFT)) & CCM_CBCDR_SEMC_PODF_MASK)
  4442. #define CCM_CBCDR_PERIPH_CLK_SEL_MASK (0x2000000U)
  4443. #define CCM_CBCDR_PERIPH_CLK_SEL_SHIFT (25U)
  4444. /*! PERIPH_CLK_SEL
  4445. * 0b0..derive clock from pre_periph_clk_sel
  4446. * 0b1..derive clock from periph_clk2_clk_divided
  4447. */
  4448. #define CCM_CBCDR_PERIPH_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCDR_PERIPH_CLK_SEL_SHIFT)) & CCM_CBCDR_PERIPH_CLK_SEL_MASK)
  4449. #define CCM_CBCDR_PERIPH_CLK2_PODF_MASK (0x38000000U)
  4450. #define CCM_CBCDR_PERIPH_CLK2_PODF_SHIFT (27U)
  4451. /*! PERIPH_CLK2_PODF
  4452. * 0b000..divide by 1
  4453. * 0b001..divide by 2
  4454. * 0b010..divide by 3
  4455. * 0b011..divide by 4
  4456. * 0b100..divide by 5
  4457. * 0b101..divide by 6
  4458. * 0b110..divide by 7
  4459. * 0b111..divide by 8
  4460. */
  4461. #define CCM_CBCDR_PERIPH_CLK2_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCDR_PERIPH_CLK2_PODF_SHIFT)) & CCM_CBCDR_PERIPH_CLK2_PODF_MASK)
  4462. /*! @} */
  4463. /*! @name CBCMR - CCM Bus Clock Multiplexer Register */
  4464. /*! @{ */
  4465. #define CCM_CBCMR_LPSPI_CLK_SEL_MASK (0x30U)
  4466. #define CCM_CBCMR_LPSPI_CLK_SEL_SHIFT (4U)
  4467. /*! LPSPI_CLK_SEL
  4468. * 0b00..derive clock from PLL3 PFD1 clk
  4469. * 0b01..derive clock from PLL3 PFD0
  4470. * 0b10..derive clock from PLL2
  4471. * 0b11..derive clock from PLL2 PFD2
  4472. */
  4473. #define CCM_CBCMR_LPSPI_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCMR_LPSPI_CLK_SEL_SHIFT)) & CCM_CBCMR_LPSPI_CLK_SEL_MASK)
  4474. #define CCM_CBCMR_PERIPH_CLK2_SEL_MASK (0x3000U)
  4475. #define CCM_CBCMR_PERIPH_CLK2_SEL_SHIFT (12U)
  4476. /*! PERIPH_CLK2_SEL
  4477. * 0b00..derive clock from pll3_sw_clk
  4478. * 0b01..derive clock from osc_clk
  4479. * 0b10..derive clock from pll2_bypass_clk
  4480. * 0b11..reserved
  4481. */
  4482. #define CCM_CBCMR_PERIPH_CLK2_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCMR_PERIPH_CLK2_SEL_SHIFT)) & CCM_CBCMR_PERIPH_CLK2_SEL_MASK)
  4483. #define CCM_CBCMR_TRACE_CLK_SEL_MASK (0xC000U)
  4484. #define CCM_CBCMR_TRACE_CLK_SEL_SHIFT (14U)
  4485. /*! TRACE_CLK_SEL
  4486. * 0b00..derive clock from PLL2
  4487. * 0b01..derive clock from PLL2 PFD2
  4488. * 0b10..derive clock from PLL2 PFD0
  4489. * 0b11..derive clock from PLL2 PFD1
  4490. */
  4491. #define CCM_CBCMR_TRACE_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCMR_TRACE_CLK_SEL_SHIFT)) & CCM_CBCMR_TRACE_CLK_SEL_MASK)
  4492. #define CCM_CBCMR_PRE_PERIPH_CLK_SEL_MASK (0xC0000U)
  4493. #define CCM_CBCMR_PRE_PERIPH_CLK_SEL_SHIFT (18U)
  4494. /*! PRE_PERIPH_CLK_SEL
  4495. * 0b00..derive clock from PLL2
  4496. * 0b01..derive clock from PLL3 PFD3
  4497. * 0b10..derive clock from PLL2 PFD3
  4498. * 0b11..derive clock from divided PLL6
  4499. */
  4500. #define CCM_CBCMR_PRE_PERIPH_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCMR_PRE_PERIPH_CLK_SEL_SHIFT)) & CCM_CBCMR_PRE_PERIPH_CLK_SEL_MASK)
  4501. #define CCM_CBCMR_LPSPI_PODF_MASK (0x1C000000U)
  4502. #define CCM_CBCMR_LPSPI_PODF_SHIFT (26U)
  4503. /*! LPSPI_PODF
  4504. * 0b000..divide by 1
  4505. * 0b001..divide by 2
  4506. * 0b010..divide by 3
  4507. * 0b011..divide by 4
  4508. * 0b100..divide by 5
  4509. * 0b101..divide by 6
  4510. * 0b110..divide by 7
  4511. * 0b111..divide by 8
  4512. */
  4513. #define CCM_CBCMR_LPSPI_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCMR_LPSPI_PODF_SHIFT)) & CCM_CBCMR_LPSPI_PODF_MASK)
  4514. /*! @} */
  4515. /*! @name CSCMR1 - CCM Serial Clock Multiplexer Register 1 */
  4516. /*! @{ */
  4517. #define CCM_CSCMR1_PERCLK_PODF_MASK (0x3FU)
  4518. #define CCM_CSCMR1_PERCLK_PODF_SHIFT (0U)
  4519. /*! PERCLK_PODF - Divider for perclk podf.
  4520. * 0b000000..Divide by 1
  4521. * 0b000001..Divide by 2
  4522. * 0b000010..Divide by 3
  4523. * 0b000011..Divide by 4
  4524. * 0b000100..Divide by 5
  4525. * 0b000101..Divide by 6
  4526. * 0b000110..Divide by 7
  4527. * 0b000111..Divide by 8
  4528. * 0b001000..Divide by 9
  4529. * 0b001001..Divide by 10
  4530. * 0b001010..Divide by 11
  4531. * 0b001011..Divide by 12
  4532. * 0b001100..Divide by 13
  4533. * 0b001101..Divide by 14
  4534. * 0b001110..Divide by 15
  4535. * 0b001111..Divide by 16
  4536. * 0b010000..Divide by 17
  4537. * 0b010001..Divide by 18
  4538. * 0b010010..Divide by 19
  4539. * 0b010011..Divide by 20
  4540. * 0b010100..Divide by 21
  4541. * 0b010101..Divide by 22
  4542. * 0b010110..Divide by 23
  4543. * 0b010111..Divide by 24
  4544. * 0b011000..Divide by 25
  4545. * 0b011001..Divide by 26
  4546. * 0b011010..Divide by 27
  4547. * 0b011011..Divide by 28
  4548. * 0b011100..Divide by 29
  4549. * 0b011101..Divide by 30
  4550. * 0b011110..Divide by 31
  4551. * 0b011111..Divide by 32
  4552. * 0b100000..Divide by 33
  4553. * 0b100001..Divide by 34
  4554. * 0b100010..Divide by 35
  4555. * 0b100011..Divide by 36
  4556. * 0b100100..Divide by 37
  4557. * 0b100101..Divide by 38
  4558. * 0b100110..Divide by 39
  4559. * 0b100111..Divide by 40
  4560. * 0b101000..Divide by 41
  4561. * 0b101001..Divide by 42
  4562. * 0b101010..Divide by 43
  4563. * 0b101011..Divide by 44
  4564. * 0b101100..Divide by 45
  4565. * 0b101101..Divide by 46
  4566. * 0b101110..Divide by 47
  4567. * 0b101111..Divide by 48
  4568. * 0b110000..Divide by 49
  4569. * 0b110001..Divide by 50
  4570. * 0b110010..Divide by 51
  4571. * 0b110011..Divide by 52
  4572. * 0b110100..Divide by 53
  4573. * 0b110101..Divide by 54
  4574. * 0b110110..Divide by 55
  4575. * 0b110111..Divide by 56
  4576. * 0b111000..Divide by 57
  4577. * 0b111001..Divide by 58
  4578. * 0b111010..Divide by 59
  4579. * 0b111011..Divide by 60
  4580. * 0b111100..Divide by 61
  4581. * 0b111101..Divide by 62
  4582. * 0b111110..Divide by 63
  4583. * 0b111111..Divide by 64
  4584. */
  4585. #define CCM_CSCMR1_PERCLK_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR1_PERCLK_PODF_SHIFT)) & CCM_CSCMR1_PERCLK_PODF_MASK)
  4586. #define CCM_CSCMR1_PERCLK_CLK_SEL_MASK (0x40U)
  4587. #define CCM_CSCMR1_PERCLK_CLK_SEL_SHIFT (6U)
  4588. /*! PERCLK_CLK_SEL
  4589. * 0b0..derive clock from ipg clk root
  4590. * 0b1..derive clock from osc_clk
  4591. */
  4592. #define CCM_CSCMR1_PERCLK_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR1_PERCLK_CLK_SEL_SHIFT)) & CCM_CSCMR1_PERCLK_CLK_SEL_MASK)
  4593. #define CCM_CSCMR1_SAI1_CLK_SEL_MASK (0xC00U)
  4594. #define CCM_CSCMR1_SAI1_CLK_SEL_SHIFT (10U)
  4595. /*! SAI1_CLK_SEL
  4596. * 0b00..derive clock from PLL3 PFD2
  4597. * 0b01..Reserved
  4598. * 0b10..derive clock from PLL4
  4599. * 0b11..Reserved
  4600. */
  4601. #define CCM_CSCMR1_SAI1_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR1_SAI1_CLK_SEL_SHIFT)) & CCM_CSCMR1_SAI1_CLK_SEL_MASK)
  4602. #define CCM_CSCMR1_SAI2_CLK_SEL_MASK (0x3000U)
  4603. #define CCM_CSCMR1_SAI2_CLK_SEL_SHIFT (12U)
  4604. /*! SAI2_CLK_SEL
  4605. * 0b00..derive clock from PLL3 PFD2
  4606. * 0b01..Reserved
  4607. * 0b10..derive clock from PLL4
  4608. * 0b11..Reserved
  4609. */
  4610. #define CCM_CSCMR1_SAI2_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR1_SAI2_CLK_SEL_SHIFT)) & CCM_CSCMR1_SAI2_CLK_SEL_MASK)
  4611. #define CCM_CSCMR1_SAI3_CLK_SEL_MASK (0xC000U)
  4612. #define CCM_CSCMR1_SAI3_CLK_SEL_SHIFT (14U)
  4613. /*! SAI3_CLK_SEL
  4614. * 0b00..derive clock from PLL3 PFD2
  4615. * 0b01..Reserved
  4616. * 0b10..derive clock from PLL4
  4617. * 0b11..Reserved
  4618. */
  4619. #define CCM_CSCMR1_SAI3_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR1_SAI3_CLK_SEL_SHIFT)) & CCM_CSCMR1_SAI3_CLK_SEL_MASK)
  4620. #define CCM_CSCMR1_USDHC1_CLK_SEL_MASK (0x10000U)
  4621. #define CCM_CSCMR1_USDHC1_CLK_SEL_SHIFT (16U)
  4622. /*! USDHC1_CLK_SEL
  4623. * 0b0..derive clock from PLL2 PFD2
  4624. * 0b1..derive clock from PLL2 PFD0
  4625. */
  4626. #define CCM_CSCMR1_USDHC1_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR1_USDHC1_CLK_SEL_SHIFT)) & CCM_CSCMR1_USDHC1_CLK_SEL_MASK)
  4627. #define CCM_CSCMR1_USDHC2_CLK_SEL_MASK (0x20000U)
  4628. #define CCM_CSCMR1_USDHC2_CLK_SEL_SHIFT (17U)
  4629. /*! USDHC2_CLK_SEL
  4630. * 0b0..derive clock from PLL2 PFD2
  4631. * 0b1..derive clock from PLL2 PFD0
  4632. */
  4633. #define CCM_CSCMR1_USDHC2_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR1_USDHC2_CLK_SEL_SHIFT)) & CCM_CSCMR1_USDHC2_CLK_SEL_MASK)
  4634. #define CCM_CSCMR1_FLEXSPI_PODF_MASK (0x3800000U)
  4635. #define CCM_CSCMR1_FLEXSPI_PODF_SHIFT (23U)
  4636. /*! FLEXSPI_PODF
  4637. * 0b000..divide by 1
  4638. * 0b001..divide by 2
  4639. * 0b010..divide by 3
  4640. * 0b011..divide by 4
  4641. * 0b100..divide by 5
  4642. * 0b101..divide by 6
  4643. * 0b110..divide by 7
  4644. * 0b111..divide by 8
  4645. */
  4646. #define CCM_CSCMR1_FLEXSPI_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR1_FLEXSPI_PODF_SHIFT)) & CCM_CSCMR1_FLEXSPI_PODF_MASK)
  4647. #define CCM_CSCMR1_FLEXSPI_CLK_SEL_MASK (0x60000000U)
  4648. #define CCM_CSCMR1_FLEXSPI_CLK_SEL_SHIFT (29U)
  4649. /*! FLEXSPI_CLK_SEL
  4650. * 0b00..derive clock from semc_clk_root_pre
  4651. * 0b01..derive clock from pll3_sw_clk
  4652. * 0b10..derive clock from PLL2 PFD2
  4653. * 0b11..derive clock from PLL3 PFD0
  4654. */
  4655. #define CCM_CSCMR1_FLEXSPI_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR1_FLEXSPI_CLK_SEL_SHIFT)) & CCM_CSCMR1_FLEXSPI_CLK_SEL_MASK)
  4656. /*! @} */
  4657. /*! @name CSCMR2 - CCM Serial Clock Multiplexer Register 2 */
  4658. /*! @{ */
  4659. #define CCM_CSCMR2_CAN_CLK_PODF_MASK (0xFCU)
  4660. #define CCM_CSCMR2_CAN_CLK_PODF_SHIFT (2U)
  4661. /*! CAN_CLK_PODF - Divider for CAN clock podf.
  4662. * 0b000000..Divide by 1
  4663. * 0b000001..Divide by 2
  4664. * 0b000010..Divide by 3
  4665. * 0b000011..Divide by 4
  4666. * 0b000100..Divide by 5
  4667. * 0b000101..Divide by 6
  4668. * 0b000110..Divide by 7
  4669. * 0b000111..Divide by 8
  4670. * 0b001000..Divide by 9
  4671. * 0b001001..Divide by 10
  4672. * 0b001010..Divide by 11
  4673. * 0b001011..Divide by 12
  4674. * 0b001100..Divide by 13
  4675. * 0b001101..Divide by 14
  4676. * 0b001110..Divide by 15
  4677. * 0b001111..Divide by 16
  4678. * 0b010000..Divide by 17
  4679. * 0b010001..Divide by 18
  4680. * 0b010010..Divide by 19
  4681. * 0b010011..Divide by 20
  4682. * 0b010100..Divide by 21
  4683. * 0b010101..Divide by 22
  4684. * 0b010110..Divide by 23
  4685. * 0b010111..Divide by 24
  4686. * 0b011000..Divide by 25
  4687. * 0b011001..Divide by 26
  4688. * 0b011010..Divide by 27
  4689. * 0b011011..Divide by 28
  4690. * 0b011100..Divide by 29
  4691. * 0b011101..Divide by 30
  4692. * 0b011110..Divide by 31
  4693. * 0b011111..Divide by 32
  4694. * 0b100000..Divide by 33
  4695. * 0b100001..Divide by 34
  4696. * 0b100010..Divide by 35
  4697. * 0b100011..Divide by 36
  4698. * 0b100100..Divide by 37
  4699. * 0b100101..Divide by 38
  4700. * 0b100110..Divide by 39
  4701. * 0b100111..Divide by 40
  4702. * 0b101000..Divide by 41
  4703. * 0b101001..Divide by 42
  4704. * 0b101010..Divide by 43
  4705. * 0b101011..Divide by 44
  4706. * 0b101100..Divide by 45
  4707. * 0b101101..Divide by 46
  4708. * 0b101110..Divide by 47
  4709. * 0b101111..Divide by 48
  4710. * 0b110000..Divide by 49
  4711. * 0b110001..Divide by 50
  4712. * 0b110010..Divide by 51
  4713. * 0b110011..Divide by 52
  4714. * 0b110100..Divide by 53
  4715. * 0b110101..Divide by 54
  4716. * 0b110110..Divide by 55
  4717. * 0b110111..Divide by 56
  4718. * 0b111000..Divide by 57
  4719. * 0b111001..Divide by 58
  4720. * 0b111010..Divide by 59
  4721. * 0b111011..Divide by 60
  4722. * 0b111100..Divide by 61
  4723. * 0b111101..Divide by 62
  4724. * 0b111110..Divide by 63
  4725. * 0b111111..Divide by 64
  4726. */
  4727. #define CCM_CSCMR2_CAN_CLK_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR2_CAN_CLK_PODF_SHIFT)) & CCM_CSCMR2_CAN_CLK_PODF_MASK)
  4728. #define CCM_CSCMR2_CAN_CLK_SEL_MASK (0x300U)
  4729. #define CCM_CSCMR2_CAN_CLK_SEL_SHIFT (8U)
  4730. /*! CAN_CLK_SEL
  4731. * 0b00..derive clock from pll3_sw_clk divided clock (60M)
  4732. * 0b01..derive clock from osc_clk (24M)
  4733. * 0b10..derive clock from pll3_sw_clk divided clock (80M)
  4734. */
  4735. #define CCM_CSCMR2_CAN_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR2_CAN_CLK_SEL_SHIFT)) & CCM_CSCMR2_CAN_CLK_SEL_MASK)
  4736. #define CCM_CSCMR2_FLEXIO1_CLK_SEL_MASK (0x180000U)
  4737. #define CCM_CSCMR2_FLEXIO1_CLK_SEL_SHIFT (19U)
  4738. /*! FLEXIO1_CLK_SEL
  4739. * 0b00..derive clock from PLL4 divided clock
  4740. * 0b01..derive clock from PLL3 PFD2 clock
  4741. * 0b10..Reserved
  4742. * 0b11..derive clock from pll3_sw_clk
  4743. */
  4744. #define CCM_CSCMR2_FLEXIO1_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR2_FLEXIO1_CLK_SEL_SHIFT)) & CCM_CSCMR2_FLEXIO1_CLK_SEL_MASK)
  4745. /*! @} */
  4746. /*! @name CSCDR1 - CCM Serial Clock Divider Register 1 */
  4747. /*! @{ */
  4748. #define CCM_CSCDR1_UART_CLK_PODF_MASK (0x3FU)
  4749. #define CCM_CSCDR1_UART_CLK_PODF_SHIFT (0U)
  4750. /*! UART_CLK_PODF - Divider for uart clock podf.
  4751. * 0b000000..Divide by 1
  4752. * 0b000001..Divide by 2
  4753. * 0b000010..Divide by 3
  4754. * 0b000011..Divide by 4
  4755. * 0b000100..Divide by 5
  4756. * 0b000101..Divide by 6
  4757. * 0b000110..Divide by 7
  4758. * 0b000111..Divide by 8
  4759. * 0b001000..Divide by 9
  4760. * 0b001001..Divide by 10
  4761. * 0b001010..Divide by 11
  4762. * 0b001011..Divide by 12
  4763. * 0b001100..Divide by 13
  4764. * 0b001101..Divide by 14
  4765. * 0b001110..Divide by 15
  4766. * 0b001111..Divide by 16
  4767. * 0b010000..Divide by 17
  4768. * 0b010001..Divide by 18
  4769. * 0b010010..Divide by 19
  4770. * 0b010011..Divide by 20
  4771. * 0b010100..Divide by 21
  4772. * 0b010101..Divide by 22
  4773. * 0b010110..Divide by 23
  4774. * 0b010111..Divide by 24
  4775. * 0b011000..Divide by 25
  4776. * 0b011001..Divide by 26
  4777. * 0b011010..Divide by 27
  4778. * 0b011011..Divide by 28
  4779. * 0b011100..Divide by 29
  4780. * 0b011101..Divide by 30
  4781. * 0b011110..Divide by 31
  4782. * 0b011111..Divide by 32
  4783. * 0b100000..Divide by 33
  4784. * 0b100001..Divide by 34
  4785. * 0b100010..Divide by 35
  4786. * 0b100011..Divide by 36
  4787. * 0b100100..Divide by 37
  4788. * 0b100101..Divide by 38
  4789. * 0b100110..Divide by 39
  4790. * 0b100111..Divide by 40
  4791. * 0b101000..Divide by 41
  4792. * 0b101001..Divide by 42
  4793. * 0b101010..Divide by 43
  4794. * 0b101011..Divide by 44
  4795. * 0b101100..Divide by 45
  4796. * 0b101101..Divide by 46
  4797. * 0b101110..Divide by 47
  4798. * 0b101111..Divide by 48
  4799. * 0b110000..Divide by 49
  4800. * 0b110001..Divide by 50
  4801. * 0b110010..Divide by 51
  4802. * 0b110011..Divide by 52
  4803. * 0b110100..Divide by 53
  4804. * 0b110101..Divide by 54
  4805. * 0b110110..Divide by 55
  4806. * 0b110111..Divide by 56
  4807. * 0b111000..Divide by 57
  4808. * 0b111001..Divide by 58
  4809. * 0b111010..Divide by 59
  4810. * 0b111011..Divide by 60
  4811. * 0b111100..Divide by 61
  4812. * 0b111101..Divide by 62
  4813. * 0b111110..Divide by 63
  4814. * 0b111111..Divide by 64
  4815. */
  4816. #define CCM_CSCDR1_UART_CLK_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCDR1_UART_CLK_PODF_SHIFT)) & CCM_CSCDR1_UART_CLK_PODF_MASK)
  4817. #define CCM_CSCDR1_UART_CLK_SEL_MASK (0x40U)
  4818. #define CCM_CSCDR1_UART_CLK_SEL_SHIFT (6U)
  4819. /*! UART_CLK_SEL
  4820. * 0b0..derive clock from pll3_80m
  4821. * 0b1..derive clock from osc_clk
  4822. */
  4823. #define CCM_CSCDR1_UART_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCDR1_UART_CLK_SEL_SHIFT)) & CCM_CSCDR1_UART_CLK_SEL_MASK)
  4824. #define CCM_CSCDR1_USDHC1_PODF_MASK (0x3800U)
  4825. #define CCM_CSCDR1_USDHC1_PODF_SHIFT (11U)
  4826. /*! USDHC1_PODF
  4827. * 0b000..divide by 1
  4828. * 0b001..divide by 2
  4829. * 0b010..divide by 3
  4830. * 0b011..divide by 4
  4831. * 0b100..divide by 5
  4832. * 0b101..divide by 6
  4833. * 0b110..divide by 7
  4834. * 0b111..divide by 8
  4835. */
  4836. #define CCM_CSCDR1_USDHC1_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCDR1_USDHC1_PODF_SHIFT)) & CCM_CSCDR1_USDHC1_PODF_MASK)
  4837. #define CCM_CSCDR1_USDHC2_PODF_MASK (0x70000U)
  4838. #define CCM_CSCDR1_USDHC2_PODF_SHIFT (16U)
  4839. /*! USDHC2_PODF
  4840. * 0b000..divide by 1
  4841. * 0b001..divide by 2
  4842. * 0b010..divide by 3
  4843. * 0b011..divide by 4
  4844. * 0b100..divide by 5
  4845. * 0b101..divide by 6
  4846. * 0b110..divide by 7
  4847. * 0b111..divide by 8
  4848. */
  4849. #define CCM_CSCDR1_USDHC2_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCDR1_USDHC2_PODF_SHIFT)) & CCM_CSCDR1_USDHC2_PODF_MASK)
  4850. #define CCM_CSCDR1_TRACE_PODF_MASK (0x6000000U)
  4851. #define CCM_CSCDR1_TRACE_PODF_SHIFT (25U)
  4852. /*! TRACE_PODF
  4853. * 0b00..divide by 1
  4854. * 0b01..divide by 2
  4855. * 0b10..divide by 3
  4856. * 0b11..divide by 4
  4857. */
  4858. #define CCM_CSCDR1_TRACE_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCDR1_TRACE_PODF_SHIFT)) & CCM_CSCDR1_TRACE_PODF_MASK)
  4859. /*! @} */
  4860. /*! @name CS1CDR - CCM Clock Divider Register */
  4861. /*! @{ */
  4862. #define CCM_CS1CDR_SAI1_CLK_PODF_MASK (0x3FU)
  4863. #define CCM_CS1CDR_SAI1_CLK_PODF_SHIFT (0U)
  4864. /*! SAI1_CLK_PODF - Divider for sai1 clock podf. The input clock to this divider should be lower
  4865. * than 300Mhz, the predivider can be used to achieve this.
  4866. * 0b000000..Divide by 1
  4867. * 0b000001..Divide by 2
  4868. * 0b000010..Divide by 3
  4869. * 0b000011..Divide by 4
  4870. * 0b000100..Divide by 5
  4871. * 0b000101..Divide by 6
  4872. * 0b000110..Divide by 7
  4873. * 0b000111..Divide by 8
  4874. * 0b001000..Divide by 9
  4875. * 0b001001..Divide by 10
  4876. * 0b001010..Divide by 11
  4877. * 0b001011..Divide by 12
  4878. * 0b001100..Divide by 13
  4879. * 0b001101..Divide by 14
  4880. * 0b001110..Divide by 15
  4881. * 0b001111..Divide by 16
  4882. * 0b010000..Divide by 17
  4883. * 0b010001..Divide by 18
  4884. * 0b010010..Divide by 19
  4885. * 0b010011..Divide by 20
  4886. * 0b010100..Divide by 21
  4887. * 0b010101..Divide by 22
  4888. * 0b010110..Divide by 23
  4889. * 0b010111..Divide by 24
  4890. * 0b011000..Divide by 25
  4891. * 0b011001..Divide by 26
  4892. * 0b011010..Divide by 27
  4893. * 0b011011..Divide by 28
  4894. * 0b011100..Divide by 29
  4895. * 0b011101..Divide by 30
  4896. * 0b011110..Divide by 31
  4897. * 0b011111..Divide by 32
  4898. * 0b100000..Divide by 33
  4899. * 0b100001..Divide by 34
  4900. * 0b100010..Divide by 35
  4901. * 0b100011..Divide by 36
  4902. * 0b100100..Divide by 37
  4903. * 0b100101..Divide by 38
  4904. * 0b100110..Divide by 39
  4905. * 0b100111..Divide by 40
  4906. * 0b101000..Divide by 41
  4907. * 0b101001..Divide by 42
  4908. * 0b101010..Divide by 43
  4909. * 0b101011..Divide by 44
  4910. * 0b101100..Divide by 45
  4911. * 0b101101..Divide by 46
  4912. * 0b101110..Divide by 47
  4913. * 0b101111..Divide by 48
  4914. * 0b110000..Divide by 49
  4915. * 0b110001..Divide by 50
  4916. * 0b110010..Divide by 51
  4917. * 0b110011..Divide by 52
  4918. * 0b110100..Divide by 53
  4919. * 0b110101..Divide by 54
  4920. * 0b110110..Divide by 55
  4921. * 0b110111..Divide by 56
  4922. * 0b111000..Divide by 57
  4923. * 0b111001..Divide by 58
  4924. * 0b111010..Divide by 59
  4925. * 0b111011..Divide by 60
  4926. * 0b111100..Divide by 61
  4927. * 0b111101..Divide by 62
  4928. * 0b111110..Divide by 63
  4929. * 0b111111..Divide by 64
  4930. */
  4931. #define CCM_CS1CDR_SAI1_CLK_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CS1CDR_SAI1_CLK_PODF_SHIFT)) & CCM_CS1CDR_SAI1_CLK_PODF_MASK)
  4932. #define CCM_CS1CDR_SAI1_CLK_PRED_MASK (0x1C0U)
  4933. #define CCM_CS1CDR_SAI1_CLK_PRED_SHIFT (6U)
  4934. /*! SAI1_CLK_PRED
  4935. * 0b000..divide by 1
  4936. * 0b001..divide by 2
  4937. * 0b010..divide by 3
  4938. * 0b011..divide by 4
  4939. * 0b100..divide by 5
  4940. * 0b101..divide by 6
  4941. * 0b110..divide by 7
  4942. * 0b111..divide by 8
  4943. */
  4944. #define CCM_CS1CDR_SAI1_CLK_PRED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CS1CDR_SAI1_CLK_PRED_SHIFT)) & CCM_CS1CDR_SAI1_CLK_PRED_MASK)
  4945. #define CCM_CS1CDR_FLEXIO1_CLK_PRED_MASK (0xE00U)
  4946. #define CCM_CS1CDR_FLEXIO1_CLK_PRED_SHIFT (9U)
  4947. /*! FLEXIO1_CLK_PRED
  4948. * 0b000..divide by 1
  4949. * 0b001..divide by 2
  4950. * 0b010..divide by 3
  4951. * 0b011..divide by 4
  4952. * 0b100..divide by 5
  4953. * 0b101..divide by 6
  4954. * 0b110..divide by 7
  4955. * 0b111..divide by 8
  4956. */
  4957. #define CCM_CS1CDR_FLEXIO1_CLK_PRED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CS1CDR_FLEXIO1_CLK_PRED_SHIFT)) & CCM_CS1CDR_FLEXIO1_CLK_PRED_MASK)
  4958. #define CCM_CS1CDR_SAI3_CLK_PODF_MASK (0x3F0000U)
  4959. #define CCM_CS1CDR_SAI3_CLK_PODF_SHIFT (16U)
  4960. /*! SAI3_CLK_PODF - Divider for sai3 clock podf. The input clock to this divider should be lower
  4961. * than 300Mhz, the predivider can be used to achieve this.
  4962. * 0b000000..Divide by 1
  4963. * 0b000001..Divide by 2
  4964. * 0b000010..Divide by 3
  4965. * 0b000011..Divide by 4
  4966. * 0b000100..Divide by 5
  4967. * 0b000101..Divide by 6
  4968. * 0b000110..Divide by 7
  4969. * 0b000111..Divide by 8
  4970. * 0b001000..Divide by 9
  4971. * 0b001001..Divide by 10
  4972. * 0b001010..Divide by 11
  4973. * 0b001011..Divide by 12
  4974. * 0b001100..Divide by 13
  4975. * 0b001101..Divide by 14
  4976. * 0b001110..Divide by 15
  4977. * 0b001111..Divide by 16
  4978. * 0b010000..Divide by 17
  4979. * 0b010001..Divide by 18
  4980. * 0b010010..Divide by 19
  4981. * 0b010011..Divide by 20
  4982. * 0b010100..Divide by 21
  4983. * 0b010101..Divide by 22
  4984. * 0b010110..Divide by 23
  4985. * 0b010111..Divide by 24
  4986. * 0b011000..Divide by 25
  4987. * 0b011001..Divide by 26
  4988. * 0b011010..Divide by 27
  4989. * 0b011011..Divide by 28
  4990. * 0b011100..Divide by 29
  4991. * 0b011101..Divide by 30
  4992. * 0b011110..Divide by 31
  4993. * 0b011111..Divide by 32
  4994. * 0b100000..Divide by 33
  4995. * 0b100001..Divide by 34
  4996. * 0b100010..Divide by 35
  4997. * 0b100011..Divide by 36
  4998. * 0b100100..Divide by 37
  4999. * 0b100101..Divide by 38
  5000. * 0b100110..Divide by 39
  5001. * 0b100111..Divide by 40
  5002. * 0b101000..Divide by 41
  5003. * 0b101001..Divide by 42
  5004. * 0b101010..Divide by 43
  5005. * 0b101011..Divide by 44
  5006. * 0b101100..Divide by 45
  5007. * 0b101101..Divide by 46
  5008. * 0b101110..Divide by 47
  5009. * 0b101111..Divide by 48
  5010. * 0b110000..Divide by 49
  5011. * 0b110001..Divide by 50
  5012. * 0b110010..Divide by 51
  5013. * 0b110011..Divide by 52
  5014. * 0b110100..Divide by 53
  5015. * 0b110101..Divide by 54
  5016. * 0b110110..Divide by 55
  5017. * 0b110111..Divide by 56
  5018. * 0b111000..Divide by 57
  5019. * 0b111001..Divide by 58
  5020. * 0b111010..Divide by 59
  5021. * 0b111011..Divide by 60
  5022. * 0b111100..Divide by 61
  5023. * 0b111101..Divide by 62
  5024. * 0b111110..Divide by 63
  5025. * 0b111111..Divide by 64
  5026. */
  5027. #define CCM_CS1CDR_SAI3_CLK_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CS1CDR_SAI3_CLK_PODF_SHIFT)) & CCM_CS1CDR_SAI3_CLK_PODF_MASK)
  5028. #define CCM_CS1CDR_SAI3_CLK_PRED_MASK (0x1C00000U)
  5029. #define CCM_CS1CDR_SAI3_CLK_PRED_SHIFT (22U)
  5030. /*! SAI3_CLK_PRED
  5031. * 0b000..divide by 1
  5032. * 0b001..divide by 2
  5033. * 0b010..divide by 3
  5034. * 0b011..divide by 4
  5035. * 0b100..divide by 5
  5036. * 0b101..divide by 6
  5037. * 0b110..divide by 7
  5038. * 0b111..divide by 8
  5039. */
  5040. #define CCM_CS1CDR_SAI3_CLK_PRED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CS1CDR_SAI3_CLK_PRED_SHIFT)) & CCM_CS1CDR_SAI3_CLK_PRED_MASK)
  5041. #define CCM_CS1CDR_FLEXIO1_CLK_PODF_MASK (0xE000000U)
  5042. #define CCM_CS1CDR_FLEXIO1_CLK_PODF_SHIFT (25U)
  5043. /*! FLEXIO1_CLK_PODF - Divider for flexio1 clock. Divider should be updated when output clock is gated.
  5044. * 0b000..Divide by 1
  5045. * 0b001..Divide by 2
  5046. * 0b010..Divide by 3
  5047. * 0b011..Divide by 4
  5048. * 0b100..Divide by 5
  5049. * 0b101..Divide by 6
  5050. * 0b110..Divide by 7
  5051. * 0b111..Divide by 8
  5052. */
  5053. #define CCM_CS1CDR_FLEXIO1_CLK_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CS1CDR_FLEXIO1_CLK_PODF_SHIFT)) & CCM_CS1CDR_FLEXIO1_CLK_PODF_MASK)
  5054. /*! @} */
  5055. /*! @name CS2CDR - CCM Clock Divider Register */
  5056. /*! @{ */
  5057. #define CCM_CS2CDR_SAI2_CLK_PODF_MASK (0x3FU)
  5058. #define CCM_CS2CDR_SAI2_CLK_PODF_SHIFT (0U)
  5059. /*! SAI2_CLK_PODF - Divider for sai2 clock podf. The input clock to this divider should be lower
  5060. * than 300Mhz, the predivider can be used to achieve this.
  5061. * 0b000000..Divide by 1
  5062. * 0b000001..Divide by 2
  5063. * 0b000010..Divide by 3
  5064. * 0b000011..Divide by 4
  5065. * 0b000100..Divide by 5
  5066. * 0b000101..Divide by 6
  5067. * 0b000110..Divide by 7
  5068. * 0b000111..Divide by 8
  5069. * 0b001000..Divide by 9
  5070. * 0b001001..Divide by 10
  5071. * 0b001010..Divide by 11
  5072. * 0b001011..Divide by 12
  5073. * 0b001100..Divide by 13
  5074. * 0b001101..Divide by 14
  5075. * 0b001110..Divide by 15
  5076. * 0b001111..Divide by 16
  5077. * 0b010000..Divide by 17
  5078. * 0b010001..Divide by 18
  5079. * 0b010010..Divide by 19
  5080. * 0b010011..Divide by 20
  5081. * 0b010100..Divide by 21
  5082. * 0b010101..Divide by 22
  5083. * 0b010110..Divide by 23
  5084. * 0b010111..Divide by 24
  5085. * 0b011000..Divide by 25
  5086. * 0b011001..Divide by 26
  5087. * 0b011010..Divide by 27
  5088. * 0b011011..Divide by 28
  5089. * 0b011100..Divide by 29
  5090. * 0b011101..Divide by 30
  5091. * 0b011110..Divide by 31
  5092. * 0b011111..Divide by 32
  5093. * 0b100000..Divide by 33
  5094. * 0b100001..Divide by 34
  5095. * 0b100010..Divide by 35
  5096. * 0b100011..Divide by 36
  5097. * 0b100100..Divide by 37
  5098. * 0b100101..Divide by 38
  5099. * 0b100110..Divide by 39
  5100. * 0b100111..Divide by 40
  5101. * 0b101000..Divide by 41
  5102. * 0b101001..Divide by 42
  5103. * 0b101010..Divide by 43
  5104. * 0b101011..Divide by 44
  5105. * 0b101100..Divide by 45
  5106. * 0b101101..Divide by 46
  5107. * 0b101110..Divide by 47
  5108. * 0b101111..Divide by 48
  5109. * 0b110000..Divide by 49
  5110. * 0b110001..Divide by 50
  5111. * 0b110010..Divide by 51
  5112. * 0b110011..Divide by 52
  5113. * 0b110100..Divide by 53
  5114. * 0b110101..Divide by 54
  5115. * 0b110110..Divide by 55
  5116. * 0b110111..Divide by 56
  5117. * 0b111000..Divide by 57
  5118. * 0b111001..Divide by 58
  5119. * 0b111010..Divide by 59
  5120. * 0b111011..Divide by 60
  5121. * 0b111100..Divide by 61
  5122. * 0b111101..Divide by 62
  5123. * 0b111110..Divide by 63
  5124. * 0b111111..Divide by 64
  5125. */
  5126. #define CCM_CS2CDR_SAI2_CLK_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CS2CDR_SAI2_CLK_PODF_SHIFT)) & CCM_CS2CDR_SAI2_CLK_PODF_MASK)
  5127. #define CCM_CS2CDR_SAI2_CLK_PRED_MASK (0x1C0U)
  5128. #define CCM_CS2CDR_SAI2_CLK_PRED_SHIFT (6U)
  5129. /*! SAI2_CLK_PRED
  5130. * 0b000..divide by 1
  5131. * 0b001..divide by 2
  5132. * 0b010..divide by 3
  5133. * 0b011..divide by 4
  5134. * 0b100..divide by 5
  5135. * 0b101..divide by 6
  5136. * 0b110..divide by 7
  5137. * 0b111..divide by 8
  5138. */
  5139. #define CCM_CS2CDR_SAI2_CLK_PRED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CS2CDR_SAI2_CLK_PRED_SHIFT)) & CCM_CS2CDR_SAI2_CLK_PRED_MASK)
  5140. /*! @} */
  5141. /*! @name CDCDR - CCM D1 Clock Divider Register */
  5142. /*! @{ */
  5143. #define CCM_CDCDR_SPDIF0_CLK_SEL_MASK (0x300000U)
  5144. #define CCM_CDCDR_SPDIF0_CLK_SEL_SHIFT (20U)
  5145. /*! SPDIF0_CLK_SEL
  5146. * 0b00..derive clock from PLL4
  5147. * 0b01..derive clock from PLL3 PFD2
  5148. * 0b10..Reserved
  5149. * 0b11..derive clock from pll3_sw_clk
  5150. */
  5151. #define CCM_CDCDR_SPDIF0_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CDCDR_SPDIF0_CLK_SEL_SHIFT)) & CCM_CDCDR_SPDIF0_CLK_SEL_MASK)
  5152. #define CCM_CDCDR_SPDIF0_CLK_PODF_MASK (0x1C00000U)
  5153. #define CCM_CDCDR_SPDIF0_CLK_PODF_SHIFT (22U)
  5154. /*! SPDIF0_CLK_PODF - Divider for spdif0 clock podf. Divider should be updated when output clock is gated.
  5155. * 0b000..Divide by 1
  5156. * 0b001..Divide by 2
  5157. * 0b010..Divide by 3
  5158. * 0b011..Divide by 4
  5159. * 0b100..Divide by 5
  5160. * 0b101..Divide by 6
  5161. * 0b110..Divide by 7
  5162. * 0b111..Divide by 8
  5163. */
  5164. #define CCM_CDCDR_SPDIF0_CLK_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CDCDR_SPDIF0_CLK_PODF_SHIFT)) & CCM_CDCDR_SPDIF0_CLK_PODF_MASK)
  5165. #define CCM_CDCDR_SPDIF0_CLK_PRED_MASK (0xE000000U)
  5166. #define CCM_CDCDR_SPDIF0_CLK_PRED_SHIFT (25U)
  5167. /*! SPDIF0_CLK_PRED - Divider for spdif0 clock pred. Divider should be updated when output clock is gated.
  5168. * 0b000..Divide by 1
  5169. * 0b001..Divide by 2
  5170. * 0b010..Divide by 3
  5171. * 0b011..Divide by 4
  5172. * 0b100..Divide by 5
  5173. * 0b101..Divide by 6
  5174. * 0b110..Divide by 7
  5175. * 0b111..Divide by 8
  5176. */
  5177. #define CCM_CDCDR_SPDIF0_CLK_PRED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CDCDR_SPDIF0_CLK_PRED_SHIFT)) & CCM_CDCDR_SPDIF0_CLK_PRED_MASK)
  5178. /*! @} */
  5179. /*! @name CSCDR2 - CCM Serial Clock Divider Register 2 */
  5180. /*! @{ */
  5181. #define CCM_CSCDR2_LPI2C_CLK_SEL_MASK (0x40000U)
  5182. #define CCM_CSCDR2_LPI2C_CLK_SEL_SHIFT (18U)
  5183. /*! LPI2C_CLK_SEL
  5184. * 0b0..derive clock from pll3_60m
  5185. * 0b1..derive clock from osc_clk
  5186. */
  5187. #define CCM_CSCDR2_LPI2C_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCDR2_LPI2C_CLK_SEL_SHIFT)) & CCM_CSCDR2_LPI2C_CLK_SEL_MASK)
  5188. #define CCM_CSCDR2_LPI2C_CLK_PODF_MASK (0x1F80000U)
  5189. #define CCM_CSCDR2_LPI2C_CLK_PODF_SHIFT (19U)
  5190. /*! LPI2C_CLK_PODF - Divider for lpi2c clock podf. Divider should be updated when output clock is
  5191. * gated. The input clock to this divider should be lower than 300Mhz, the predivider can be used
  5192. * to achieve this.
  5193. * 0b000000..Divide by 1
  5194. * 0b000001..Divide by 2
  5195. * 0b000010..Divide by 3
  5196. * 0b000011..Divide by 4
  5197. * 0b000100..Divide by 5
  5198. * 0b000101..Divide by 6
  5199. * 0b000110..Divide by 7
  5200. * 0b000111..Divide by 8
  5201. * 0b001000..Divide by 9
  5202. * 0b001001..Divide by 10
  5203. * 0b001010..Divide by 11
  5204. * 0b001011..Divide by 12
  5205. * 0b001100..Divide by 13
  5206. * 0b001101..Divide by 14
  5207. * 0b001110..Divide by 15
  5208. * 0b001111..Divide by 16
  5209. * 0b010000..Divide by 17
  5210. * 0b010001..Divide by 18
  5211. * 0b010010..Divide by 19
  5212. * 0b010011..Divide by 20
  5213. * 0b010100..Divide by 21
  5214. * 0b010101..Divide by 22
  5215. * 0b010110..Divide by 23
  5216. * 0b010111..Divide by 24
  5217. * 0b011000..Divide by 25
  5218. * 0b011001..Divide by 26
  5219. * 0b011010..Divide by 27
  5220. * 0b011011..Divide by 28
  5221. * 0b011100..Divide by 29
  5222. * 0b011101..Divide by 30
  5223. * 0b011110..Divide by 31
  5224. * 0b011111..Divide by 32
  5225. * 0b100000..Divide by 33
  5226. * 0b100001..Divide by 34
  5227. * 0b100010..Divide by 35
  5228. * 0b100011..Divide by 36
  5229. * 0b100100..Divide by 37
  5230. * 0b100101..Divide by 38
  5231. * 0b100110..Divide by 39
  5232. * 0b100111..Divide by 40
  5233. * 0b101000..Divide by 41
  5234. * 0b101001..Divide by 42
  5235. * 0b101010..Divide by 43
  5236. * 0b101011..Divide by 44
  5237. * 0b101100..Divide by 45
  5238. * 0b101101..Divide by 46
  5239. * 0b101110..Divide by 47
  5240. * 0b101111..Divide by 48
  5241. * 0b110000..Divide by 49
  5242. * 0b110001..Divide by 50
  5243. * 0b110010..Divide by 51
  5244. * 0b110011..Divide by 52
  5245. * 0b110100..Divide by 53
  5246. * 0b110101..Divide by 54
  5247. * 0b110110..Divide by 55
  5248. * 0b110111..Divide by 56
  5249. * 0b111000..Divide by 57
  5250. * 0b111001..Divide by 58
  5251. * 0b111010..Divide by 59
  5252. * 0b111011..Divide by 60
  5253. * 0b111100..Divide by 61
  5254. * 0b111101..Divide by 62
  5255. * 0b111110..Divide by 63
  5256. * 0b111111..Divide by 64
  5257. */
  5258. #define CCM_CSCDR2_LPI2C_CLK_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCDR2_LPI2C_CLK_PODF_SHIFT)) & CCM_CSCDR2_LPI2C_CLK_PODF_MASK)
  5259. /*! @} */
  5260. /*! @name CDHIPR - CCM Divider Handshake In-Process Register */
  5261. /*! @{ */
  5262. #define CCM_CDHIPR_SEMC_PODF_BUSY_MASK (0x1U)
  5263. #define CCM_CDHIPR_SEMC_PODF_BUSY_SHIFT (0U)
  5264. /*! SEMC_PODF_BUSY
  5265. * 0b0..divider is not busy and its value represents the actual division.
  5266. * 0b1..divider is busy with handshake process with module. The value read in the divider represents the previous
  5267. * value of the division factor, and after the handshake the written value of the semc_podf will be applied.
  5268. */
  5269. #define CCM_CDHIPR_SEMC_PODF_BUSY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CDHIPR_SEMC_PODF_BUSY_SHIFT)) & CCM_CDHIPR_SEMC_PODF_BUSY_MASK)
  5270. #define CCM_CDHIPR_AHB_PODF_BUSY_MASK (0x2U)
  5271. #define CCM_CDHIPR_AHB_PODF_BUSY_SHIFT (1U)
  5272. /*! AHB_PODF_BUSY
  5273. * 0b0..divider is not busy and its value represents the actual division.
  5274. * 0b1..divider is busy with handshake process with module. The value read in the divider represents the previous
  5275. * value of the division factor, and after the handshake the written value of the ahb_podf will be applied.
  5276. */
  5277. #define CCM_CDHIPR_AHB_PODF_BUSY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CDHIPR_AHB_PODF_BUSY_SHIFT)) & CCM_CDHIPR_AHB_PODF_BUSY_MASK)
  5278. #define CCM_CDHIPR_PERIPH2_CLK_SEL_BUSY_MASK (0x8U)
  5279. #define CCM_CDHIPR_PERIPH2_CLK_SEL_BUSY_SHIFT (3U)
  5280. /*! PERIPH2_CLK_SEL_BUSY
  5281. * 0b0..mux is not busy and its value represents the actual division.
  5282. * 0b1..mux is busy with handshake process with module. The value read in the periph2_clk_sel represents the
  5283. * previous value of select, and after the handshake periph2_clk_sel value will be applied.
  5284. */
  5285. #define CCM_CDHIPR_PERIPH2_CLK_SEL_BUSY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CDHIPR_PERIPH2_CLK_SEL_BUSY_SHIFT)) & CCM_CDHIPR_PERIPH2_CLK_SEL_BUSY_MASK)
  5286. #define CCM_CDHIPR_PERIPH_CLK_SEL_BUSY_MASK (0x20U)
  5287. #define CCM_CDHIPR_PERIPH_CLK_SEL_BUSY_SHIFT (5U)
  5288. /*! PERIPH_CLK_SEL_BUSY
  5289. * 0b0..mux is not busy and its value represents the actual division.
  5290. * 0b1..mux is busy with handshake process with module. The value read in the periph_clk_sel represents the
  5291. * previous value of select, and after the handshake periph_clk_sel value will be applied.
  5292. */
  5293. #define CCM_CDHIPR_PERIPH_CLK_SEL_BUSY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CDHIPR_PERIPH_CLK_SEL_BUSY_SHIFT)) & CCM_CDHIPR_PERIPH_CLK_SEL_BUSY_MASK)
  5294. #define CCM_CDHIPR_ARM_PODF_BUSY_MASK (0x10000U)
  5295. #define CCM_CDHIPR_ARM_PODF_BUSY_SHIFT (16U)
  5296. /*! ARM_PODF_BUSY
  5297. * 0b0..divider is not busy and its value represents the actual division.
  5298. * 0b1..divider is busy with handshake process with module. The value read in the divider represents the previous
  5299. * value of the division factor, and after the handshake the written value of the arm_podf will be applied.
  5300. */
  5301. #define CCM_CDHIPR_ARM_PODF_BUSY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CDHIPR_ARM_PODF_BUSY_SHIFT)) & CCM_CDHIPR_ARM_PODF_BUSY_MASK)
  5302. /*! @} */
  5303. /*! @name CLPCR - CCM Low Power Control Register */
  5304. /*! @{ */
  5305. #define CCM_CLPCR_LPM_MASK (0x3U)
  5306. #define CCM_CLPCR_LPM_SHIFT (0U)
  5307. /*! LPM
  5308. * 0b00..Remain in run mode
  5309. * 0b01..Transfer to wait mode
  5310. * 0b10..Transfer to stop mode
  5311. * 0b11..Reserved
  5312. */
  5313. #define CCM_CLPCR_LPM(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_LPM_SHIFT)) & CCM_CLPCR_LPM_MASK)
  5314. #define CCM_CLPCR_ARM_CLK_DIS_ON_LPM_MASK (0x20U)
  5315. #define CCM_CLPCR_ARM_CLK_DIS_ON_LPM_SHIFT (5U)
  5316. /*! ARM_CLK_DIS_ON_LPM
  5317. * 0b0..Arm clock enabled on wait mode.
  5318. * 0b1..Arm clock disabled on wait mode. .
  5319. */
  5320. #define CCM_CLPCR_ARM_CLK_DIS_ON_LPM(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_ARM_CLK_DIS_ON_LPM_SHIFT)) & CCM_CLPCR_ARM_CLK_DIS_ON_LPM_MASK)
  5321. #define CCM_CLPCR_SBYOS_MASK (0x40U)
  5322. #define CCM_CLPCR_SBYOS_SHIFT (6U)
  5323. /*! SBYOS
  5324. * 0b0..On-chip oscillator will not be powered down, after next entrance to STOP mode. (CCM_REF_EN_B will remain
  5325. * asserted - '0' and cosc_pwrdown will remain de asserted - '0')
  5326. * 0b1..On-chip oscillator will be powered down, after next entrance to STOP mode. (CCM_REF_EN_B will be
  5327. * deasserted - '1' and cosc_pwrdown will be asserted - '1'). When returning from STOP mode, external oscillator will
  5328. * be enabled again, on-chip oscillator will return to oscillator mode, and after oscnt count, CCM will
  5329. * continue with the exit from the STOP mode process.
  5330. */
  5331. #define CCM_CLPCR_SBYOS(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_SBYOS_SHIFT)) & CCM_CLPCR_SBYOS_MASK)
  5332. #define CCM_CLPCR_DIS_REF_OSC_MASK (0x80U)
  5333. #define CCM_CLPCR_DIS_REF_OSC_SHIFT (7U)
  5334. /*! DIS_REF_OSC
  5335. * 0b0..external high frequency oscillator will be enabled, i.e. CCM_REF_EN_B = '0'.
  5336. * 0b1..external high frequency oscillator will be disabled, i.e. CCM_REF_EN_B = '1'
  5337. */
  5338. #define CCM_CLPCR_DIS_REF_OSC(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_DIS_REF_OSC_SHIFT)) & CCM_CLPCR_DIS_REF_OSC_MASK)
  5339. #define CCM_CLPCR_VSTBY_MASK (0x100U)
  5340. #define CCM_CLPCR_VSTBY_SHIFT (8U)
  5341. /*! VSTBY
  5342. * 0b0..Voltage will not be changed to standby voltage after next entrance to STOP mode. ( PMIC_STBY_REQ will remain negated - '0')
  5343. * 0b1..Voltage will be requested to change to standby voltage after next entrance to stop mode. ( PMIC_STBY_REQ will be asserted - '1').
  5344. */
  5345. #define CCM_CLPCR_VSTBY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_VSTBY_SHIFT)) & CCM_CLPCR_VSTBY_MASK)
  5346. #define CCM_CLPCR_STBY_COUNT_MASK (0x600U)
  5347. #define CCM_CLPCR_STBY_COUNT_SHIFT (9U)
  5348. /*! STBY_COUNT
  5349. * 0b00..CCM will wait (1*pmic_delay_scaler)+1 ckil clock cycles
  5350. * 0b01..CCM will wait (3*pmic_delay_scaler)+1 ckil clock cycles
  5351. * 0b10..CCM will wait (7*pmic_delay_scaler)+1 ckil clock cycles
  5352. * 0b11..CCM will wait (15*pmic_delay_scaler)+1 ckil clock cycles
  5353. */
  5354. #define CCM_CLPCR_STBY_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_STBY_COUNT_SHIFT)) & CCM_CLPCR_STBY_COUNT_MASK)
  5355. #define CCM_CLPCR_COSC_PWRDOWN_MASK (0x800U)
  5356. #define CCM_CLPCR_COSC_PWRDOWN_SHIFT (11U)
  5357. /*! COSC_PWRDOWN
  5358. * 0b0..On chip oscillator will not be powered down, i.e. cosc_pwrdown = '0'.
  5359. * 0b1..On chip oscillator will be powered down, i.e. cosc_pwrdown = '1'.
  5360. */
  5361. #define CCM_CLPCR_COSC_PWRDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_COSC_PWRDOWN_SHIFT)) & CCM_CLPCR_COSC_PWRDOWN_MASK)
  5362. #define CCM_CLPCR_BYPASS_LPM_HS1_MASK (0x80000U)
  5363. #define CCM_CLPCR_BYPASS_LPM_HS1_SHIFT (19U)
  5364. #define CCM_CLPCR_BYPASS_LPM_HS1(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_BYPASS_LPM_HS1_SHIFT)) & CCM_CLPCR_BYPASS_LPM_HS1_MASK)
  5365. #define CCM_CLPCR_BYPASS_LPM_HS0_MASK (0x200000U)
  5366. #define CCM_CLPCR_BYPASS_LPM_HS0_SHIFT (21U)
  5367. #define CCM_CLPCR_BYPASS_LPM_HS0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_BYPASS_LPM_HS0_SHIFT)) & CCM_CLPCR_BYPASS_LPM_HS0_MASK)
  5368. #define CCM_CLPCR_MASK_CORE0_WFI_MASK (0x400000U)
  5369. #define CCM_CLPCR_MASK_CORE0_WFI_SHIFT (22U)
  5370. /*! MASK_CORE0_WFI
  5371. * 0b0..WFI of core0 is not masked
  5372. * 0b1..WFI of core0 is masked
  5373. */
  5374. #define CCM_CLPCR_MASK_CORE0_WFI(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_MASK_CORE0_WFI_SHIFT)) & CCM_CLPCR_MASK_CORE0_WFI_MASK)
  5375. #define CCM_CLPCR_MASK_SCU_IDLE_MASK (0x4000000U)
  5376. #define CCM_CLPCR_MASK_SCU_IDLE_SHIFT (26U)
  5377. /*! MASK_SCU_IDLE
  5378. * 0b1..SCU IDLE is masked
  5379. * 0b0..SCU IDLE is not masked
  5380. */
  5381. #define CCM_CLPCR_MASK_SCU_IDLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_MASK_SCU_IDLE_SHIFT)) & CCM_CLPCR_MASK_SCU_IDLE_MASK)
  5382. #define CCM_CLPCR_MASK_L2CC_IDLE_MASK (0x8000000U)
  5383. #define CCM_CLPCR_MASK_L2CC_IDLE_SHIFT (27U)
  5384. /*! MASK_L2CC_IDLE
  5385. * 0b1..L2CC IDLE is masked
  5386. * 0b0..L2CC IDLE is not masked
  5387. */
  5388. #define CCM_CLPCR_MASK_L2CC_IDLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_MASK_L2CC_IDLE_SHIFT)) & CCM_CLPCR_MASK_L2CC_IDLE_MASK)
  5389. /*! @} */
  5390. /*! @name CISR - CCM Interrupt Status Register */
  5391. /*! @{ */
  5392. #define CCM_CISR_LRF_PLL_MASK (0x1U)
  5393. #define CCM_CISR_LRF_PLL_SHIFT (0U)
  5394. /*! LRF_PLL
  5395. * 0b0..interrupt is not generated due to lock ready of all enabled and not bypaseed PLLs
  5396. * 0b1..interrupt generated due to lock ready of all enabled and not bypaseed PLLs
  5397. */
  5398. #define CCM_CISR_LRF_PLL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CISR_LRF_PLL_SHIFT)) & CCM_CISR_LRF_PLL_MASK)
  5399. #define CCM_CISR_COSC_READY_MASK (0x40U)
  5400. #define CCM_CISR_COSC_READY_SHIFT (6U)
  5401. /*! COSC_READY
  5402. * 0b0..interrupt is not generated due to on board oscillator ready
  5403. * 0b1..interrupt generated due to on board oscillator ready
  5404. */
  5405. #define CCM_CISR_COSC_READY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CISR_COSC_READY_SHIFT)) & CCM_CISR_COSC_READY_MASK)
  5406. #define CCM_CISR_SEMC_PODF_LOADED_MASK (0x20000U)
  5407. #define CCM_CISR_SEMC_PODF_LOADED_SHIFT (17U)
  5408. /*! SEMC_PODF_LOADED
  5409. * 0b0..interrupt is not generated due to frequency change of semc_podf
  5410. * 0b1..interrupt generated due to frequency change of semc_podf
  5411. */
  5412. #define CCM_CISR_SEMC_PODF_LOADED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CISR_SEMC_PODF_LOADED_SHIFT)) & CCM_CISR_SEMC_PODF_LOADED_MASK)
  5413. #define CCM_CISR_PERIPH2_CLK_SEL_LOADED_MASK (0x80000U)
  5414. #define CCM_CISR_PERIPH2_CLK_SEL_LOADED_SHIFT (19U)
  5415. /*! PERIPH2_CLK_SEL_LOADED
  5416. * 0b0..interrupt is not generated due to frequency change of periph2_clk_sel
  5417. * 0b1..interrupt generated due to frequency change of periph2_clk_sel
  5418. */
  5419. #define CCM_CISR_PERIPH2_CLK_SEL_LOADED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CISR_PERIPH2_CLK_SEL_LOADED_SHIFT)) & CCM_CISR_PERIPH2_CLK_SEL_LOADED_MASK)
  5420. #define CCM_CISR_AHB_PODF_LOADED_MASK (0x100000U)
  5421. #define CCM_CISR_AHB_PODF_LOADED_SHIFT (20U)
  5422. /*! AHB_PODF_LOADED
  5423. * 0b0..interrupt is not generated due to frequency change of ahb_podf
  5424. * 0b1..interrupt generated due to frequency change of ahb_podf
  5425. */
  5426. #define CCM_CISR_AHB_PODF_LOADED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CISR_AHB_PODF_LOADED_SHIFT)) & CCM_CISR_AHB_PODF_LOADED_MASK)
  5427. #define CCM_CISR_PERIPH_CLK_SEL_LOADED_MASK (0x400000U)
  5428. #define CCM_CISR_PERIPH_CLK_SEL_LOADED_SHIFT (22U)
  5429. /*! PERIPH_CLK_SEL_LOADED
  5430. * 0b0..interrupt is not generated due to update of periph_clk_sel.
  5431. * 0b1..interrupt generated due to update of periph_clk_sel.
  5432. */
  5433. #define CCM_CISR_PERIPH_CLK_SEL_LOADED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CISR_PERIPH_CLK_SEL_LOADED_SHIFT)) & CCM_CISR_PERIPH_CLK_SEL_LOADED_MASK)
  5434. #define CCM_CISR_ARM_PODF_LOADED_MASK (0x4000000U)
  5435. #define CCM_CISR_ARM_PODF_LOADED_SHIFT (26U)
  5436. /*! ARM_PODF_LOADED
  5437. * 0b0..interrupt is not generated due to frequency change of arm_podf
  5438. * 0b1..interrupt generated due to frequency change of arm_podf
  5439. */
  5440. #define CCM_CISR_ARM_PODF_LOADED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CISR_ARM_PODF_LOADED_SHIFT)) & CCM_CISR_ARM_PODF_LOADED_MASK)
  5441. /*! @} */
  5442. /*! @name CIMR - CCM Interrupt Mask Register */
  5443. /*! @{ */
  5444. #define CCM_CIMR_MASK_LRF_PLL_MASK (0x1U)
  5445. #define CCM_CIMR_MASK_LRF_PLL_SHIFT (0U)
  5446. /*! MASK_LRF_PLL
  5447. * 0b0..don't mask interrupt due to lrf of PLLs - interrupt will be created
  5448. * 0b1..mask interrupt due to lrf of PLLs
  5449. */
  5450. #define CCM_CIMR_MASK_LRF_PLL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CIMR_MASK_LRF_PLL_SHIFT)) & CCM_CIMR_MASK_LRF_PLL_MASK)
  5451. #define CCM_CIMR_MASK_COSC_READY_MASK (0x40U)
  5452. #define CCM_CIMR_MASK_COSC_READY_SHIFT (6U)
  5453. /*! MASK_COSC_READY
  5454. * 0b0..don't mask interrupt due to on board oscillator ready - interrupt will be created
  5455. * 0b1..mask interrupt due to on board oscillator ready
  5456. */
  5457. #define CCM_CIMR_MASK_COSC_READY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CIMR_MASK_COSC_READY_SHIFT)) & CCM_CIMR_MASK_COSC_READY_MASK)
  5458. #define CCM_CIMR_MASK_SEMC_PODF_LOADED_MASK (0x20000U)
  5459. #define CCM_CIMR_MASK_SEMC_PODF_LOADED_SHIFT (17U)
  5460. /*! MASK_SEMC_PODF_LOADED
  5461. * 0b0..don't mask interrupt due to frequency change of semc_podf - interrupt will be created
  5462. * 0b1..mask interrupt due to frequency change of semc_podf
  5463. */
  5464. #define CCM_CIMR_MASK_SEMC_PODF_LOADED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CIMR_MASK_SEMC_PODF_LOADED_SHIFT)) & CCM_CIMR_MASK_SEMC_PODF_LOADED_MASK)
  5465. #define CCM_CIMR_MASK_PERIPH2_CLK_SEL_LOADED_MASK (0x80000U)
  5466. #define CCM_CIMR_MASK_PERIPH2_CLK_SEL_LOADED_SHIFT (19U)
  5467. /*! MASK_PERIPH2_CLK_SEL_LOADED
  5468. * 0b0..don't mask interrupt due to update of periph2_clk_sel - interrupt will be created
  5469. * 0b1..mask interrupt due to update of periph2_clk_sel
  5470. */
  5471. #define CCM_CIMR_MASK_PERIPH2_CLK_SEL_LOADED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CIMR_MASK_PERIPH2_CLK_SEL_LOADED_SHIFT)) & CCM_CIMR_MASK_PERIPH2_CLK_SEL_LOADED_MASK)
  5472. #define CCM_CIMR_MASK_AHB_PODF_LOADED_MASK (0x100000U)
  5473. #define CCM_CIMR_MASK_AHB_PODF_LOADED_SHIFT (20U)
  5474. /*! MASK_AHB_PODF_LOADED
  5475. * 0b0..don't mask interrupt due to frequency change of ahb_podf - interrupt will be created
  5476. * 0b1..mask interrupt due to frequency change of ahb_podf
  5477. */
  5478. #define CCM_CIMR_MASK_AHB_PODF_LOADED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CIMR_MASK_AHB_PODF_LOADED_SHIFT)) & CCM_CIMR_MASK_AHB_PODF_LOADED_MASK)
  5479. #define CCM_CIMR_MASK_PERIPH_CLK_SEL_LOADED_MASK (0x400000U)
  5480. #define CCM_CIMR_MASK_PERIPH_CLK_SEL_LOADED_SHIFT (22U)
  5481. /*! MASK_PERIPH_CLK_SEL_LOADED
  5482. * 0b0..don't mask interrupt due to update of periph_clk_sel - interrupt will be created
  5483. * 0b1..mask interrupt due to update of periph_clk_sel
  5484. */
  5485. #define CCM_CIMR_MASK_PERIPH_CLK_SEL_LOADED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CIMR_MASK_PERIPH_CLK_SEL_LOADED_SHIFT)) & CCM_CIMR_MASK_PERIPH_CLK_SEL_LOADED_MASK)
  5486. #define CCM_CIMR_ARM_PODF_LOADED_MASK (0x4000000U)
  5487. #define CCM_CIMR_ARM_PODF_LOADED_SHIFT (26U)
  5488. /*! ARM_PODF_LOADED
  5489. * 0b0..don't mask interrupt due to frequency change of arm_podf - interrupt will be created
  5490. * 0b1..mask interrupt due to frequency change of arm_podf
  5491. */
  5492. #define CCM_CIMR_ARM_PODF_LOADED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CIMR_ARM_PODF_LOADED_SHIFT)) & CCM_CIMR_ARM_PODF_LOADED_MASK)
  5493. /*! @} */
  5494. /*! @name CCOSR - CCM Clock Output Source Register */
  5495. /*! @{ */
  5496. #define CCM_CCOSR_CLKO1_SEL_MASK (0xFU)
  5497. #define CCM_CCOSR_CLKO1_SEL_SHIFT (0U)
  5498. /*! CLKO1_SEL
  5499. * 0b0000..pll3_sw_clk (divided by 2)
  5500. * 0b0001..PLL2 (divided by 2)
  5501. * 0b0010..ENET PLL (divided by 2)
  5502. * 0b0011..Reserved
  5503. * 0b0101..semc_clk_root
  5504. * 0b0110..Reserved
  5505. * 0b1010..Reserved
  5506. * 0b1011..ahb_clk_root
  5507. * 0b1100..ipg_clk_root
  5508. * 0b1101..perclk_root
  5509. * 0b1110..Reserved
  5510. * 0b1111..pll4_main_clk
  5511. */
  5512. #define CCM_CCOSR_CLKO1_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCOSR_CLKO1_SEL_SHIFT)) & CCM_CCOSR_CLKO1_SEL_MASK)
  5513. #define CCM_CCOSR_CLKO1_DIV_MASK (0x70U)
  5514. #define CCM_CCOSR_CLKO1_DIV_SHIFT (4U)
  5515. /*! CLKO1_DIV
  5516. * 0b000..divide by 1
  5517. * 0b001..divide by 2
  5518. * 0b010..divide by 3
  5519. * 0b011..divide by 4
  5520. * 0b100..divide by 5
  5521. * 0b101..divide by 6
  5522. * 0b110..divide by 7
  5523. * 0b111..divide by 8
  5524. */
  5525. #define CCM_CCOSR_CLKO1_DIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCOSR_CLKO1_DIV_SHIFT)) & CCM_CCOSR_CLKO1_DIV_MASK)
  5526. #define CCM_CCOSR_CLKO1_EN_MASK (0x80U)
  5527. #define CCM_CCOSR_CLKO1_EN_SHIFT (7U)
  5528. /*! CLKO1_EN
  5529. * 0b0..CCM_CLKO1 disabled.
  5530. * 0b1..CCM_CLKO1 enabled.
  5531. */
  5532. #define CCM_CCOSR_CLKO1_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCOSR_CLKO1_EN_SHIFT)) & CCM_CCOSR_CLKO1_EN_MASK)
  5533. #define CCM_CCOSR_CLK_OUT_SEL_MASK (0x100U)
  5534. #define CCM_CCOSR_CLK_OUT_SEL_SHIFT (8U)
  5535. /*! CLK_OUT_SEL
  5536. * 0b0..CCM_CLKO1 output drives CCM_CLKO1 clock
  5537. * 0b1..CCM_CLKO1 output drives CCM_CLKO2 clock
  5538. */
  5539. #define CCM_CCOSR_CLK_OUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCOSR_CLK_OUT_SEL_SHIFT)) & CCM_CCOSR_CLK_OUT_SEL_MASK)
  5540. #define CCM_CCOSR_CLKO2_SEL_MASK (0x1F0000U)
  5541. #define CCM_CCOSR_CLKO2_SEL_SHIFT (16U)
  5542. /*! CLKO2_SEL
  5543. * 0b00011..usdhc1_clk_root
  5544. * 0b00101..Reserved
  5545. * 0b00110..lpi2c_clk_root
  5546. * 0b01110..osc_clk
  5547. * 0b10000..lpspi_clk_root
  5548. * 0b10001..usdhc2_clk_root
  5549. * 0b10010..sai1_clk_root
  5550. * 0b10011..sai2_clk_root
  5551. * 0b10100..sai3_clk_root
  5552. * 0b10110..trace_clk_root
  5553. * 0b10111..can_clk_root
  5554. * 0b11011..flexspi_clk_root
  5555. * 0b11100..uart_clk_root
  5556. * 0b11101..spdif0_clk_root
  5557. * 0b11111..Reserved
  5558. */
  5559. #define CCM_CCOSR_CLKO2_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCOSR_CLKO2_SEL_SHIFT)) & CCM_CCOSR_CLKO2_SEL_MASK)
  5560. #define CCM_CCOSR_CLKO2_DIV_MASK (0xE00000U)
  5561. #define CCM_CCOSR_CLKO2_DIV_SHIFT (21U)
  5562. /*! CLKO2_DIV
  5563. * 0b000..divide by 1
  5564. * 0b001..divide by 2
  5565. * 0b010..divide by 3
  5566. * 0b011..divide by 4
  5567. * 0b100..divide by 5
  5568. * 0b101..divide by 6
  5569. * 0b110..divide by 7
  5570. * 0b111..divide by 8
  5571. */
  5572. #define CCM_CCOSR_CLKO2_DIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCOSR_CLKO2_DIV_SHIFT)) & CCM_CCOSR_CLKO2_DIV_MASK)
  5573. #define CCM_CCOSR_CLKO2_EN_MASK (0x1000000U)
  5574. #define CCM_CCOSR_CLKO2_EN_SHIFT (24U)
  5575. /*! CLKO2_EN
  5576. * 0b0..CCM_CLKO2 disabled.
  5577. * 0b1..CCM_CLKO2 enabled.
  5578. */
  5579. #define CCM_CCOSR_CLKO2_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCOSR_CLKO2_EN_SHIFT)) & CCM_CCOSR_CLKO2_EN_MASK)
  5580. /*! @} */
  5581. /*! @name CGPR - CCM General Purpose Register */
  5582. /*! @{ */
  5583. #define CCM_CGPR_PMIC_DELAY_SCALER_MASK (0x1U)
  5584. #define CCM_CGPR_PMIC_DELAY_SCALER_SHIFT (0U)
  5585. /*! PMIC_DELAY_SCALER
  5586. * 0b0..clock is not divided
  5587. * 0b1..clock is divided /8
  5588. */
  5589. #define CCM_CGPR_PMIC_DELAY_SCALER(x) (((uint32_t)(((uint32_t)(x)) << CCM_CGPR_PMIC_DELAY_SCALER_SHIFT)) & CCM_CGPR_PMIC_DELAY_SCALER_MASK)
  5590. #define CCM_CGPR_EFUSE_PROG_SUPPLY_GATE_MASK (0x10U)
  5591. #define CCM_CGPR_EFUSE_PROG_SUPPLY_GATE_SHIFT (4U)
  5592. /*! EFUSE_PROG_SUPPLY_GATE
  5593. * 0b0..fuse programing supply voltage is gated off to the efuse module
  5594. * 0b1..allow fuse programing.
  5595. */
  5596. #define CCM_CGPR_EFUSE_PROG_SUPPLY_GATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CGPR_EFUSE_PROG_SUPPLY_GATE_SHIFT)) & CCM_CGPR_EFUSE_PROG_SUPPLY_GATE_MASK)
  5597. #define CCM_CGPR_SYS_MEM_DS_CTRL_MASK (0xC000U)
  5598. #define CCM_CGPR_SYS_MEM_DS_CTRL_SHIFT (14U)
  5599. /*! SYS_MEM_DS_CTRL
  5600. * 0b00..Disable memory DS mode always
  5601. * 0b01..Enable memory (outside Arm platform) DS mode when system STOP and PLL are disabled
  5602. * 0b1x..enable memory (outside Arm platform) DS mode when system is in STOP mode
  5603. */
  5604. #define CCM_CGPR_SYS_MEM_DS_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CGPR_SYS_MEM_DS_CTRL_SHIFT)) & CCM_CGPR_SYS_MEM_DS_CTRL_MASK)
  5605. #define CCM_CGPR_FPL_MASK (0x10000U)
  5606. #define CCM_CGPR_FPL_SHIFT (16U)
  5607. /*! FPL - Fast PLL enable.
  5608. * 0b0..Engage PLL enable default way.
  5609. * 0b1..Engage PLL enable 3 CKIL clocks earlier at exiting low power mode (STOP). Should be used only if 24MHz OSC was active in low power mode.
  5610. */
  5611. #define CCM_CGPR_FPL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CGPR_FPL_SHIFT)) & CCM_CGPR_FPL_MASK)
  5612. #define CCM_CGPR_INT_MEM_CLK_LPM_MASK (0x20000U)
  5613. #define CCM_CGPR_INT_MEM_CLK_LPM_SHIFT (17U)
  5614. /*! INT_MEM_CLK_LPM
  5615. * 0b0..Disable the clock to the Arm platform memories when entering Low Power Mode
  5616. * 0b1..Keep the clocks to the Arm platform memories enabled only if an interrupt is pending when entering Low
  5617. * Power Modes (WAIT and STOP without power gating)
  5618. */
  5619. #define CCM_CGPR_INT_MEM_CLK_LPM(x) (((uint32_t)(((uint32_t)(x)) << CCM_CGPR_INT_MEM_CLK_LPM_SHIFT)) & CCM_CGPR_INT_MEM_CLK_LPM_MASK)
  5620. /*! @} */
  5621. /*! @name CCGR0 - CCM Clock Gating Register 0 */
  5622. /*! @{ */
  5623. #define CCM_CCGR0_CG0_MASK (0x3U)
  5624. #define CCM_CCGR0_CG0_SHIFT (0U)
  5625. #define CCM_CCGR0_CG0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG0_SHIFT)) & CCM_CCGR0_CG0_MASK)
  5626. #define CCM_CCGR0_CG1_MASK (0xCU)
  5627. #define CCM_CCGR0_CG1_SHIFT (2U)
  5628. #define CCM_CCGR0_CG1(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG1_SHIFT)) & CCM_CCGR0_CG1_MASK)
  5629. #define CCM_CCGR0_CG2_MASK (0x30U)
  5630. #define CCM_CCGR0_CG2_SHIFT (4U)
  5631. #define CCM_CCGR0_CG2(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG2_SHIFT)) & CCM_CCGR0_CG2_MASK)
  5632. #define CCM_CCGR0_CG3_MASK (0xC0U)
  5633. #define CCM_CCGR0_CG3_SHIFT (6U)
  5634. #define CCM_CCGR0_CG3(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG3_SHIFT)) & CCM_CCGR0_CG3_MASK)
  5635. #define CCM_CCGR0_CG4_MASK (0x300U)
  5636. #define CCM_CCGR0_CG4_SHIFT (8U)
  5637. #define CCM_CCGR0_CG4(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG4_SHIFT)) & CCM_CCGR0_CG4_MASK)
  5638. #define CCM_CCGR0_CG5_MASK (0xC00U)
  5639. #define CCM_CCGR0_CG5_SHIFT (10U)
  5640. #define CCM_CCGR0_CG5(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG5_SHIFT)) & CCM_CCGR0_CG5_MASK)
  5641. #define CCM_CCGR0_CG6_MASK (0x3000U)
  5642. #define CCM_CCGR0_CG6_SHIFT (12U)
  5643. #define CCM_CCGR0_CG6(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG6_SHIFT)) & CCM_CCGR0_CG6_MASK)
  5644. #define CCM_CCGR0_CG7_MASK (0xC000U)
  5645. #define CCM_CCGR0_CG7_SHIFT (14U)
  5646. #define CCM_CCGR0_CG7(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG7_SHIFT)) & CCM_CCGR0_CG7_MASK)
  5647. #define CCM_CCGR0_CG8_MASK (0x30000U)
  5648. #define CCM_CCGR0_CG8_SHIFT (16U)
  5649. #define CCM_CCGR0_CG8(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG8_SHIFT)) & CCM_CCGR0_CG8_MASK)
  5650. #define CCM_CCGR0_CG9_MASK (0xC0000U)
  5651. #define CCM_CCGR0_CG9_SHIFT (18U)
  5652. #define CCM_CCGR0_CG9(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG9_SHIFT)) & CCM_CCGR0_CG9_MASK)
  5653. #define CCM_CCGR0_CG10_MASK (0x300000U)
  5654. #define CCM_CCGR0_CG10_SHIFT (20U)
  5655. #define CCM_CCGR0_CG10(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG10_SHIFT)) & CCM_CCGR0_CG10_MASK)
  5656. #define CCM_CCGR0_CG11_MASK (0xC00000U)
  5657. #define CCM_CCGR0_CG11_SHIFT (22U)
  5658. #define CCM_CCGR0_CG11(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG11_SHIFT)) & CCM_CCGR0_CG11_MASK)
  5659. #define CCM_CCGR0_CG12_MASK (0x3000000U)
  5660. #define CCM_CCGR0_CG12_SHIFT (24U)
  5661. #define CCM_CCGR0_CG12(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG12_SHIFT)) & CCM_CCGR0_CG12_MASK)
  5662. #define CCM_CCGR0_CG13_MASK (0xC000000U)
  5663. #define CCM_CCGR0_CG13_SHIFT (26U)
  5664. #define CCM_CCGR0_CG13(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG13_SHIFT)) & CCM_CCGR0_CG13_MASK)
  5665. #define CCM_CCGR0_CG14_MASK (0x30000000U)
  5666. #define CCM_CCGR0_CG14_SHIFT (28U)
  5667. #define CCM_CCGR0_CG14(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG14_SHIFT)) & CCM_CCGR0_CG14_MASK)
  5668. #define CCM_CCGR0_CG15_MASK (0xC0000000U)
  5669. #define CCM_CCGR0_CG15_SHIFT (30U)
  5670. #define CCM_CCGR0_CG15(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG15_SHIFT)) & CCM_CCGR0_CG15_MASK)
  5671. /*! @} */
  5672. /*! @name CCGR1 - CCM Clock Gating Register 1 */
  5673. /*! @{ */
  5674. #define CCM_CCGR1_CG0_MASK (0x3U)
  5675. #define CCM_CCGR1_CG0_SHIFT (0U)
  5676. #define CCM_CCGR1_CG0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG0_SHIFT)) & CCM_CCGR1_CG0_MASK)
  5677. #define CCM_CCGR1_CG1_MASK (0xCU)
  5678. #define CCM_CCGR1_CG1_SHIFT (2U)
  5679. #define CCM_CCGR1_CG1(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG1_SHIFT)) & CCM_CCGR1_CG1_MASK)
  5680. #define CCM_CCGR1_CG2_MASK (0x30U)
  5681. #define CCM_CCGR1_CG2_SHIFT (4U)
  5682. #define CCM_CCGR1_CG2(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG2_SHIFT)) & CCM_CCGR1_CG2_MASK)
  5683. #define CCM_CCGR1_CG3_MASK (0xC0U)
  5684. #define CCM_CCGR1_CG3_SHIFT (6U)
  5685. #define CCM_CCGR1_CG3(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG3_SHIFT)) & CCM_CCGR1_CG3_MASK)
  5686. #define CCM_CCGR1_CG4_MASK (0x300U)
  5687. #define CCM_CCGR1_CG4_SHIFT (8U)
  5688. #define CCM_CCGR1_CG4(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG4_SHIFT)) & CCM_CCGR1_CG4_MASK)
  5689. #define CCM_CCGR1_CG5_MASK (0xC00U)
  5690. #define CCM_CCGR1_CG5_SHIFT (10U)
  5691. #define CCM_CCGR1_CG5(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG5_SHIFT)) & CCM_CCGR1_CG5_MASK)
  5692. #define CCM_CCGR1_CG6_MASK (0x3000U)
  5693. #define CCM_CCGR1_CG6_SHIFT (12U)
  5694. #define CCM_CCGR1_CG6(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG6_SHIFT)) & CCM_CCGR1_CG6_MASK)
  5695. #define CCM_CCGR1_CG7_MASK (0xC000U)
  5696. #define CCM_CCGR1_CG7_SHIFT (14U)
  5697. #define CCM_CCGR1_CG7(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG7_SHIFT)) & CCM_CCGR1_CG7_MASK)
  5698. #define CCM_CCGR1_CG8_MASK (0x30000U)
  5699. #define CCM_CCGR1_CG8_SHIFT (16U)
  5700. #define CCM_CCGR1_CG8(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG8_SHIFT)) & CCM_CCGR1_CG8_MASK)
  5701. #define CCM_CCGR1_CG9_MASK (0xC0000U)
  5702. #define CCM_CCGR1_CG9_SHIFT (18U)
  5703. #define CCM_CCGR1_CG9(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG9_SHIFT)) & CCM_CCGR1_CG9_MASK)
  5704. #define CCM_CCGR1_CG10_MASK (0x300000U)
  5705. #define CCM_CCGR1_CG10_SHIFT (20U)
  5706. #define CCM_CCGR1_CG10(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG10_SHIFT)) & CCM_CCGR1_CG10_MASK)
  5707. #define CCM_CCGR1_CG11_MASK (0xC00000U)
  5708. #define CCM_CCGR1_CG11_SHIFT (22U)
  5709. #define CCM_CCGR1_CG11(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG11_SHIFT)) & CCM_CCGR1_CG11_MASK)
  5710. #define CCM_CCGR1_CG12_MASK (0x3000000U)
  5711. #define CCM_CCGR1_CG12_SHIFT (24U)
  5712. #define CCM_CCGR1_CG12(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG12_SHIFT)) & CCM_CCGR1_CG12_MASK)
  5713. #define CCM_CCGR1_CG13_MASK (0xC000000U)
  5714. #define CCM_CCGR1_CG13_SHIFT (26U)
  5715. #define CCM_CCGR1_CG13(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG13_SHIFT)) & CCM_CCGR1_CG13_MASK)
  5716. #define CCM_CCGR1_CG14_MASK (0x30000000U)
  5717. #define CCM_CCGR1_CG14_SHIFT (28U)
  5718. #define CCM_CCGR1_CG14(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG14_SHIFT)) & CCM_CCGR1_CG14_MASK)
  5719. #define CCM_CCGR1_CG15_MASK (0xC0000000U)
  5720. #define CCM_CCGR1_CG15_SHIFT (30U)
  5721. #define CCM_CCGR1_CG15(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG15_SHIFT)) & CCM_CCGR1_CG15_MASK)
  5722. /*! @} */
  5723. /*! @name CCGR2 - CCM Clock Gating Register 2 */
  5724. /*! @{ */
  5725. #define CCM_CCGR2_CG0_MASK (0x3U)
  5726. #define CCM_CCGR2_CG0_SHIFT (0U)
  5727. #define CCM_CCGR2_CG0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG0_SHIFT)) & CCM_CCGR2_CG0_MASK)
  5728. #define CCM_CCGR2_CG1_MASK (0xCU)
  5729. #define CCM_CCGR2_CG1_SHIFT (2U)
  5730. #define CCM_CCGR2_CG1(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG1_SHIFT)) & CCM_CCGR2_CG1_MASK)
  5731. #define CCM_CCGR2_CG2_MASK (0x30U)
  5732. #define CCM_CCGR2_CG2_SHIFT (4U)
  5733. #define CCM_CCGR2_CG2(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG2_SHIFT)) & CCM_CCGR2_CG2_MASK)
  5734. #define CCM_CCGR2_CG3_MASK (0xC0U)
  5735. #define CCM_CCGR2_CG3_SHIFT (6U)
  5736. #define CCM_CCGR2_CG3(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG3_SHIFT)) & CCM_CCGR2_CG3_MASK)
  5737. #define CCM_CCGR2_CG4_MASK (0x300U)
  5738. #define CCM_CCGR2_CG4_SHIFT (8U)
  5739. #define CCM_CCGR2_CG4(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG4_SHIFT)) & CCM_CCGR2_CG4_MASK)
  5740. #define CCM_CCGR2_CG5_MASK (0xC00U)
  5741. #define CCM_CCGR2_CG5_SHIFT (10U)
  5742. #define CCM_CCGR2_CG5(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG5_SHIFT)) & CCM_CCGR2_CG5_MASK)
  5743. #define CCM_CCGR2_CG6_MASK (0x3000U)
  5744. #define CCM_CCGR2_CG6_SHIFT (12U)
  5745. #define CCM_CCGR2_CG6(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG6_SHIFT)) & CCM_CCGR2_CG6_MASK)
  5746. #define CCM_CCGR2_CG7_MASK (0xC000U)
  5747. #define CCM_CCGR2_CG7_SHIFT (14U)
  5748. #define CCM_CCGR2_CG7(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG7_SHIFT)) & CCM_CCGR2_CG7_MASK)
  5749. #define CCM_CCGR2_CG8_MASK (0x30000U)
  5750. #define CCM_CCGR2_CG8_SHIFT (16U)
  5751. #define CCM_CCGR2_CG8(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG8_SHIFT)) & CCM_CCGR2_CG8_MASK)
  5752. #define CCM_CCGR2_CG9_MASK (0xC0000U)
  5753. #define CCM_CCGR2_CG9_SHIFT (18U)
  5754. #define CCM_CCGR2_CG9(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG9_SHIFT)) & CCM_CCGR2_CG9_MASK)
  5755. #define CCM_CCGR2_CG10_MASK (0x300000U)
  5756. #define CCM_CCGR2_CG10_SHIFT (20U)
  5757. #define CCM_CCGR2_CG10(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG10_SHIFT)) & CCM_CCGR2_CG10_MASK)
  5758. #define CCM_CCGR2_CG11_MASK (0xC00000U)
  5759. #define CCM_CCGR2_CG11_SHIFT (22U)
  5760. #define CCM_CCGR2_CG11(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG11_SHIFT)) & CCM_CCGR2_CG11_MASK)
  5761. #define CCM_CCGR2_CG12_MASK (0x3000000U)
  5762. #define CCM_CCGR2_CG12_SHIFT (24U)
  5763. #define CCM_CCGR2_CG12(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG12_SHIFT)) & CCM_CCGR2_CG12_MASK)
  5764. #define CCM_CCGR2_CG13_MASK (0xC000000U)
  5765. #define CCM_CCGR2_CG13_SHIFT (26U)
  5766. #define CCM_CCGR2_CG13(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG13_SHIFT)) & CCM_CCGR2_CG13_MASK)
  5767. #define CCM_CCGR2_CG14_MASK (0x30000000U)
  5768. #define CCM_CCGR2_CG14_SHIFT (28U)
  5769. #define CCM_CCGR2_CG14(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG14_SHIFT)) & CCM_CCGR2_CG14_MASK)
  5770. #define CCM_CCGR2_CG15_MASK (0xC0000000U)
  5771. #define CCM_CCGR2_CG15_SHIFT (30U)
  5772. #define CCM_CCGR2_CG15(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG15_SHIFT)) & CCM_CCGR2_CG15_MASK)
  5773. /*! @} */
  5774. /*! @name CCGR3 - CCM Clock Gating Register 3 */
  5775. /*! @{ */
  5776. #define CCM_CCGR3_CG0_MASK (0x3U)
  5777. #define CCM_CCGR3_CG0_SHIFT (0U)
  5778. #define CCM_CCGR3_CG0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG0_SHIFT)) & CCM_CCGR3_CG0_MASK)
  5779. #define CCM_CCGR3_CG1_MASK (0xCU)
  5780. #define CCM_CCGR3_CG1_SHIFT (2U)
  5781. #define CCM_CCGR3_CG1(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG1_SHIFT)) & CCM_CCGR3_CG1_MASK)
  5782. #define CCM_CCGR3_CG2_MASK (0x30U)
  5783. #define CCM_CCGR3_CG2_SHIFT (4U)
  5784. #define CCM_CCGR3_CG2(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG2_SHIFT)) & CCM_CCGR3_CG2_MASK)
  5785. #define CCM_CCGR3_CG3_MASK (0xC0U)
  5786. #define CCM_CCGR3_CG3_SHIFT (6U)
  5787. #define CCM_CCGR3_CG3(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG3_SHIFT)) & CCM_CCGR3_CG3_MASK)
  5788. #define CCM_CCGR3_CG4_MASK (0x300U)
  5789. #define CCM_CCGR3_CG4_SHIFT (8U)
  5790. #define CCM_CCGR3_CG4(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG4_SHIFT)) & CCM_CCGR3_CG4_MASK)
  5791. #define CCM_CCGR3_CG5_MASK (0xC00U)
  5792. #define CCM_CCGR3_CG5_SHIFT (10U)
  5793. #define CCM_CCGR3_CG5(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG5_SHIFT)) & CCM_CCGR3_CG5_MASK)
  5794. #define CCM_CCGR3_CG6_MASK (0x3000U)
  5795. #define CCM_CCGR3_CG6_SHIFT (12U)
  5796. #define CCM_CCGR3_CG6(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG6_SHIFT)) & CCM_CCGR3_CG6_MASK)
  5797. #define CCM_CCGR3_CG7_MASK (0xC000U)
  5798. #define CCM_CCGR3_CG7_SHIFT (14U)
  5799. #define CCM_CCGR3_CG7(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG7_SHIFT)) & CCM_CCGR3_CG7_MASK)
  5800. #define CCM_CCGR3_CG8_MASK (0x30000U)
  5801. #define CCM_CCGR3_CG8_SHIFT (16U)
  5802. #define CCM_CCGR3_CG8(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG8_SHIFT)) & CCM_CCGR3_CG8_MASK)
  5803. #define CCM_CCGR3_CG9_MASK (0xC0000U)
  5804. #define CCM_CCGR3_CG9_SHIFT (18U)
  5805. #define CCM_CCGR3_CG9(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG9_SHIFT)) & CCM_CCGR3_CG9_MASK)
  5806. #define CCM_CCGR3_CG10_MASK (0x300000U)
  5807. #define CCM_CCGR3_CG10_SHIFT (20U)
  5808. #define CCM_CCGR3_CG10(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG10_SHIFT)) & CCM_CCGR3_CG10_MASK)
  5809. #define CCM_CCGR3_CG11_MASK (0xC00000U)
  5810. #define CCM_CCGR3_CG11_SHIFT (22U)
  5811. #define CCM_CCGR3_CG11(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG11_SHIFT)) & CCM_CCGR3_CG11_MASK)
  5812. #define CCM_CCGR3_CG12_MASK (0x3000000U)
  5813. #define CCM_CCGR3_CG12_SHIFT (24U)
  5814. #define CCM_CCGR3_CG12(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG12_SHIFT)) & CCM_CCGR3_CG12_MASK)
  5815. #define CCM_CCGR3_CG13_MASK (0xC000000U)
  5816. #define CCM_CCGR3_CG13_SHIFT (26U)
  5817. #define CCM_CCGR3_CG13(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG13_SHIFT)) & CCM_CCGR3_CG13_MASK)
  5818. #define CCM_CCGR3_CG14_MASK (0x30000000U)
  5819. #define CCM_CCGR3_CG14_SHIFT (28U)
  5820. /*! CG14 - The OCRAM clock cannot be turned off when the CM cache is running on this device.
  5821. */
  5822. #define CCM_CCGR3_CG14(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG14_SHIFT)) & CCM_CCGR3_CG14_MASK)
  5823. #define CCM_CCGR3_CG15_MASK (0xC0000000U)
  5824. #define CCM_CCGR3_CG15_SHIFT (30U)
  5825. #define CCM_CCGR3_CG15(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG15_SHIFT)) & CCM_CCGR3_CG15_MASK)
  5826. /*! @} */
  5827. /*! @name CCGR4 - CCM Clock Gating Register 4 */
  5828. /*! @{ */
  5829. #define CCM_CCGR4_CG0_MASK (0x3U)
  5830. #define CCM_CCGR4_CG0_SHIFT (0U)
  5831. #define CCM_CCGR4_CG0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG0_SHIFT)) & CCM_CCGR4_CG0_MASK)
  5832. #define CCM_CCGR4_CG1_MASK (0xCU)
  5833. #define CCM_CCGR4_CG1_SHIFT (2U)
  5834. #define CCM_CCGR4_CG1(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG1_SHIFT)) & CCM_CCGR4_CG1_MASK)
  5835. #define CCM_CCGR4_CG2_MASK (0x30U)
  5836. #define CCM_CCGR4_CG2_SHIFT (4U)
  5837. #define CCM_CCGR4_CG2(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG2_SHIFT)) & CCM_CCGR4_CG2_MASK)
  5838. #define CCM_CCGR4_CG3_MASK (0xC0U)
  5839. #define CCM_CCGR4_CG3_SHIFT (6U)
  5840. #define CCM_CCGR4_CG3(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG3_SHIFT)) & CCM_CCGR4_CG3_MASK)
  5841. #define CCM_CCGR4_CG4_MASK (0x300U)
  5842. #define CCM_CCGR4_CG4_SHIFT (8U)
  5843. #define CCM_CCGR4_CG4(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG4_SHIFT)) & CCM_CCGR4_CG4_MASK)
  5844. #define CCM_CCGR4_CG5_MASK (0xC00U)
  5845. #define CCM_CCGR4_CG5_SHIFT (10U)
  5846. #define CCM_CCGR4_CG5(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG5_SHIFT)) & CCM_CCGR4_CG5_MASK)
  5847. #define CCM_CCGR4_CG6_MASK (0x3000U)
  5848. #define CCM_CCGR4_CG6_SHIFT (12U)
  5849. #define CCM_CCGR4_CG6(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG6_SHIFT)) & CCM_CCGR4_CG6_MASK)
  5850. #define CCM_CCGR4_CG7_MASK (0xC000U)
  5851. #define CCM_CCGR4_CG7_SHIFT (14U)
  5852. #define CCM_CCGR4_CG7(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG7_SHIFT)) & CCM_CCGR4_CG7_MASK)
  5853. #define CCM_CCGR4_CG8_MASK (0x30000U)
  5854. #define CCM_CCGR4_CG8_SHIFT (16U)
  5855. #define CCM_CCGR4_CG8(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG8_SHIFT)) & CCM_CCGR4_CG8_MASK)
  5856. #define CCM_CCGR4_CG9_MASK (0xC0000U)
  5857. #define CCM_CCGR4_CG9_SHIFT (18U)
  5858. #define CCM_CCGR4_CG9(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG9_SHIFT)) & CCM_CCGR4_CG9_MASK)
  5859. #define CCM_CCGR4_CG10_MASK (0x300000U)
  5860. #define CCM_CCGR4_CG10_SHIFT (20U)
  5861. #define CCM_CCGR4_CG10(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG10_SHIFT)) & CCM_CCGR4_CG10_MASK)
  5862. #define CCM_CCGR4_CG11_MASK (0xC00000U)
  5863. #define CCM_CCGR4_CG11_SHIFT (22U)
  5864. #define CCM_CCGR4_CG11(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG11_SHIFT)) & CCM_CCGR4_CG11_MASK)
  5865. #define CCM_CCGR4_CG12_MASK (0x3000000U)
  5866. #define CCM_CCGR4_CG12_SHIFT (24U)
  5867. #define CCM_CCGR4_CG12(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG12_SHIFT)) & CCM_CCGR4_CG12_MASK)
  5868. #define CCM_CCGR4_CG13_MASK (0xC000000U)
  5869. #define CCM_CCGR4_CG13_SHIFT (26U)
  5870. #define CCM_CCGR4_CG13(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG13_SHIFT)) & CCM_CCGR4_CG13_MASK)
  5871. #define CCM_CCGR4_CG14_MASK (0x30000000U)
  5872. #define CCM_CCGR4_CG14_SHIFT (28U)
  5873. #define CCM_CCGR4_CG14(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG14_SHIFT)) & CCM_CCGR4_CG14_MASK)
  5874. #define CCM_CCGR4_CG15_MASK (0xC0000000U)
  5875. #define CCM_CCGR4_CG15_SHIFT (30U)
  5876. #define CCM_CCGR4_CG15(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG15_SHIFT)) & CCM_CCGR4_CG15_MASK)
  5877. /*! @} */
  5878. /*! @name CCGR5 - CCM Clock Gating Register 5 */
  5879. /*! @{ */
  5880. #define CCM_CCGR5_CG0_MASK (0x3U)
  5881. #define CCM_CCGR5_CG0_SHIFT (0U)
  5882. #define CCM_CCGR5_CG0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG0_SHIFT)) & CCM_CCGR5_CG0_MASK)
  5883. #define CCM_CCGR5_CG1_MASK (0xCU)
  5884. #define CCM_CCGR5_CG1_SHIFT (2U)
  5885. #define CCM_CCGR5_CG1(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG1_SHIFT)) & CCM_CCGR5_CG1_MASK)
  5886. #define CCM_CCGR5_CG2_MASK (0x30U)
  5887. #define CCM_CCGR5_CG2_SHIFT (4U)
  5888. #define CCM_CCGR5_CG2(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG2_SHIFT)) & CCM_CCGR5_CG2_MASK)
  5889. #define CCM_CCGR5_CG3_MASK (0xC0U)
  5890. #define CCM_CCGR5_CG3_SHIFT (6U)
  5891. #define CCM_CCGR5_CG3(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG3_SHIFT)) & CCM_CCGR5_CG3_MASK)
  5892. #define CCM_CCGR5_CG4_MASK (0x300U)
  5893. #define CCM_CCGR5_CG4_SHIFT (8U)
  5894. #define CCM_CCGR5_CG4(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG4_SHIFT)) & CCM_CCGR5_CG4_MASK)
  5895. #define CCM_CCGR5_CG5_MASK (0xC00U)
  5896. #define CCM_CCGR5_CG5_SHIFT (10U)
  5897. #define CCM_CCGR5_CG5(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG5_SHIFT)) & CCM_CCGR5_CG5_MASK)
  5898. #define CCM_CCGR5_CG6_MASK (0x3000U)
  5899. #define CCM_CCGR5_CG6_SHIFT (12U)
  5900. #define CCM_CCGR5_CG6(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG6_SHIFT)) & CCM_CCGR5_CG6_MASK)
  5901. #define CCM_CCGR5_CG7_MASK (0xC000U)
  5902. #define CCM_CCGR5_CG7_SHIFT (14U)
  5903. #define CCM_CCGR5_CG7(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG7_SHIFT)) & CCM_CCGR5_CG7_MASK)
  5904. #define CCM_CCGR5_CG8_MASK (0x30000U)
  5905. #define CCM_CCGR5_CG8_SHIFT (16U)
  5906. #define CCM_CCGR5_CG8(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG8_SHIFT)) & CCM_CCGR5_CG8_MASK)
  5907. #define CCM_CCGR5_CG9_MASK (0xC0000U)
  5908. #define CCM_CCGR5_CG9_SHIFT (18U)
  5909. #define CCM_CCGR5_CG9(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG9_SHIFT)) & CCM_CCGR5_CG9_MASK)
  5910. #define CCM_CCGR5_CG10_MASK (0x300000U)
  5911. #define CCM_CCGR5_CG10_SHIFT (20U)
  5912. #define CCM_CCGR5_CG10(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG10_SHIFT)) & CCM_CCGR5_CG10_MASK)
  5913. #define CCM_CCGR5_CG11_MASK (0xC00000U)
  5914. #define CCM_CCGR5_CG11_SHIFT (22U)
  5915. #define CCM_CCGR5_CG11(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG11_SHIFT)) & CCM_CCGR5_CG11_MASK)
  5916. #define CCM_CCGR5_CG12_MASK (0x3000000U)
  5917. #define CCM_CCGR5_CG12_SHIFT (24U)
  5918. #define CCM_CCGR5_CG12(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG12_SHIFT)) & CCM_CCGR5_CG12_MASK)
  5919. #define CCM_CCGR5_CG13_MASK (0xC000000U)
  5920. #define CCM_CCGR5_CG13_SHIFT (26U)
  5921. #define CCM_CCGR5_CG13(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG13_SHIFT)) & CCM_CCGR5_CG13_MASK)
  5922. #define CCM_CCGR5_CG14_MASK (0x30000000U)
  5923. #define CCM_CCGR5_CG14_SHIFT (28U)
  5924. #define CCM_CCGR5_CG14(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG14_SHIFT)) & CCM_CCGR5_CG14_MASK)
  5925. #define CCM_CCGR5_CG15_MASK (0xC0000000U)
  5926. #define CCM_CCGR5_CG15_SHIFT (30U)
  5927. #define CCM_CCGR5_CG15(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG15_SHIFT)) & CCM_CCGR5_CG15_MASK)
  5928. /*! @} */
  5929. /*! @name CCGR6 - CCM Clock Gating Register 6 */
  5930. /*! @{ */
  5931. #define CCM_CCGR6_CG0_MASK (0x3U)
  5932. #define CCM_CCGR6_CG0_SHIFT (0U)
  5933. #define CCM_CCGR6_CG0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG0_SHIFT)) & CCM_CCGR6_CG0_MASK)
  5934. #define CCM_CCGR6_CG1_MASK (0xCU)
  5935. #define CCM_CCGR6_CG1_SHIFT (2U)
  5936. #define CCM_CCGR6_CG1(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG1_SHIFT)) & CCM_CCGR6_CG1_MASK)
  5937. #define CCM_CCGR6_CG2_MASK (0x30U)
  5938. #define CCM_CCGR6_CG2_SHIFT (4U)
  5939. #define CCM_CCGR6_CG2(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG2_SHIFT)) & CCM_CCGR6_CG2_MASK)
  5940. #define CCM_CCGR6_CG3_MASK (0xC0U)
  5941. #define CCM_CCGR6_CG3_SHIFT (6U)
  5942. #define CCM_CCGR6_CG3(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG3_SHIFT)) & CCM_CCGR6_CG3_MASK)
  5943. #define CCM_CCGR6_CG4_MASK (0x300U)
  5944. #define CCM_CCGR6_CG4_SHIFT (8U)
  5945. #define CCM_CCGR6_CG4(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG4_SHIFT)) & CCM_CCGR6_CG4_MASK)
  5946. #define CCM_CCGR6_CG5_MASK (0xC00U)
  5947. #define CCM_CCGR6_CG5_SHIFT (10U)
  5948. #define CCM_CCGR6_CG5(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG5_SHIFT)) & CCM_CCGR6_CG5_MASK)
  5949. #define CCM_CCGR6_CG6_MASK (0x3000U)
  5950. #define CCM_CCGR6_CG6_SHIFT (12U)
  5951. #define CCM_CCGR6_CG6(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG6_SHIFT)) & CCM_CCGR6_CG6_MASK)
  5952. #define CCM_CCGR6_CG7_MASK (0xC000U)
  5953. #define CCM_CCGR6_CG7_SHIFT (14U)
  5954. #define CCM_CCGR6_CG7(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG7_SHIFT)) & CCM_CCGR6_CG7_MASK)
  5955. #define CCM_CCGR6_CG8_MASK (0x30000U)
  5956. #define CCM_CCGR6_CG8_SHIFT (16U)
  5957. #define CCM_CCGR6_CG8(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG8_SHIFT)) & CCM_CCGR6_CG8_MASK)
  5958. #define CCM_CCGR6_CG9_MASK (0xC0000U)
  5959. #define CCM_CCGR6_CG9_SHIFT (18U)
  5960. #define CCM_CCGR6_CG9(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG9_SHIFT)) & CCM_CCGR6_CG9_MASK)
  5961. #define CCM_CCGR6_CG10_MASK (0x300000U)
  5962. #define CCM_CCGR6_CG10_SHIFT (20U)
  5963. #define CCM_CCGR6_CG10(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG10_SHIFT)) & CCM_CCGR6_CG10_MASK)
  5964. #define CCM_CCGR6_CG11_MASK (0xC00000U)
  5965. #define CCM_CCGR6_CG11_SHIFT (22U)
  5966. #define CCM_CCGR6_CG11(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG11_SHIFT)) & CCM_CCGR6_CG11_MASK)
  5967. #define CCM_CCGR6_CG12_MASK (0x3000000U)
  5968. #define CCM_CCGR6_CG12_SHIFT (24U)
  5969. #define CCM_CCGR6_CG12(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG12_SHIFT)) & CCM_CCGR6_CG12_MASK)
  5970. #define CCM_CCGR6_CG13_MASK (0xC000000U)
  5971. #define CCM_CCGR6_CG13_SHIFT (26U)
  5972. #define CCM_CCGR6_CG13(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG13_SHIFT)) & CCM_CCGR6_CG13_MASK)
  5973. #define CCM_CCGR6_CG14_MASK (0x30000000U)
  5974. #define CCM_CCGR6_CG14_SHIFT (28U)
  5975. #define CCM_CCGR6_CG14(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG14_SHIFT)) & CCM_CCGR6_CG14_MASK)
  5976. #define CCM_CCGR6_CG15_MASK (0xC0000000U)
  5977. #define CCM_CCGR6_CG15_SHIFT (30U)
  5978. #define CCM_CCGR6_CG15(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG15_SHIFT)) & CCM_CCGR6_CG15_MASK)
  5979. /*! @} */
  5980. /*! @name CMEOR - CCM Module Enable Overide Register */
  5981. /*! @{ */
  5982. #define CCM_CMEOR_MOD_EN_OV_GPT_MASK (0x20U)
  5983. #define CCM_CMEOR_MOD_EN_OV_GPT_SHIFT (5U)
  5984. /*! MOD_EN_OV_GPT
  5985. * 0b0..don't override module enable signal
  5986. * 0b1..override module enable signal
  5987. */
  5988. #define CCM_CMEOR_MOD_EN_OV_GPT(x) (((uint32_t)(((uint32_t)(x)) << CCM_CMEOR_MOD_EN_OV_GPT_SHIFT)) & CCM_CMEOR_MOD_EN_OV_GPT_MASK)
  5989. #define CCM_CMEOR_MOD_EN_OV_PIT_MASK (0x40U)
  5990. #define CCM_CMEOR_MOD_EN_OV_PIT_SHIFT (6U)
  5991. /*! MOD_EN_OV_PIT
  5992. * 0b0..don't override module enable signal
  5993. * 0b1..override module enable signal
  5994. */
  5995. #define CCM_CMEOR_MOD_EN_OV_PIT(x) (((uint32_t)(((uint32_t)(x)) << CCM_CMEOR_MOD_EN_OV_PIT_SHIFT)) & CCM_CMEOR_MOD_EN_OV_PIT_MASK)
  5996. #define CCM_CMEOR_MOD_EN_USDHC_MASK (0x80U)
  5997. #define CCM_CMEOR_MOD_EN_USDHC_SHIFT (7U)
  5998. /*! MOD_EN_USDHC
  5999. * 0b0..don't override module enable signal
  6000. * 0b1..override module enable signal
  6001. */
  6002. #define CCM_CMEOR_MOD_EN_USDHC(x) (((uint32_t)(((uint32_t)(x)) << CCM_CMEOR_MOD_EN_USDHC_SHIFT)) & CCM_CMEOR_MOD_EN_USDHC_MASK)
  6003. #define CCM_CMEOR_MOD_EN_OV_TRNG_MASK (0x200U)
  6004. #define CCM_CMEOR_MOD_EN_OV_TRNG_SHIFT (9U)
  6005. /*! MOD_EN_OV_TRNG
  6006. * 0b0..don't override module enable signal
  6007. * 0b1..override module enable signal
  6008. */
  6009. #define CCM_CMEOR_MOD_EN_OV_TRNG(x) (((uint32_t)(((uint32_t)(x)) << CCM_CMEOR_MOD_EN_OV_TRNG_SHIFT)) & CCM_CMEOR_MOD_EN_OV_TRNG_MASK)
  6010. #define CCM_CMEOR_MOD_EN_OV_CAN2_CPI_MASK (0x10000000U)
  6011. #define CCM_CMEOR_MOD_EN_OV_CAN2_CPI_SHIFT (28U)
  6012. /*! MOD_EN_OV_CAN2_CPI
  6013. * 0b0..don't override module enable signal
  6014. * 0b1..override module enable signal
  6015. */
  6016. #define CCM_CMEOR_MOD_EN_OV_CAN2_CPI(x) (((uint32_t)(((uint32_t)(x)) << CCM_CMEOR_MOD_EN_OV_CAN2_CPI_SHIFT)) & CCM_CMEOR_MOD_EN_OV_CAN2_CPI_MASK)
  6017. #define CCM_CMEOR_MOD_EN_OV_CAN1_CPI_MASK (0x40000000U)
  6018. #define CCM_CMEOR_MOD_EN_OV_CAN1_CPI_SHIFT (30U)
  6019. /*! MOD_EN_OV_CAN1_CPI
  6020. * 0b0..don't overide module enable signal
  6021. * 0b1..overide module enable signal
  6022. */
  6023. #define CCM_CMEOR_MOD_EN_OV_CAN1_CPI(x) (((uint32_t)(((uint32_t)(x)) << CCM_CMEOR_MOD_EN_OV_CAN1_CPI_SHIFT)) & CCM_CMEOR_MOD_EN_OV_CAN1_CPI_MASK)
  6024. /*! @} */
  6025. /*!
  6026. * @}
  6027. */ /* end of group CCM_Register_Masks */
  6028. /* CCM - Peripheral instance base addresses */
  6029. /** Peripheral CCM base address */
  6030. #define CCM_BASE (0x400FC000u)
  6031. /** Peripheral CCM base pointer */
  6032. #define CCM ((CCM_Type *)CCM_BASE)
  6033. /** Array initializer of CCM peripheral base addresses */
  6034. #define CCM_BASE_ADDRS { CCM_BASE }
  6035. /** Array initializer of CCM peripheral base pointers */
  6036. #define CCM_BASE_PTRS { CCM }
  6037. /** Interrupt vectors for the CCM peripheral type */
  6038. #define CCM_IRQS { CCM_1_IRQn, CCM_2_IRQn }
  6039. /*!
  6040. * @}
  6041. */ /* end of group CCM_Peripheral_Access_Layer */
  6042. /* ----------------------------------------------------------------------------
  6043. -- CCM_ANALOG Peripheral Access Layer
  6044. ---------------------------------------------------------------------------- */
  6045. /*!
  6046. * @addtogroup CCM_ANALOG_Peripheral_Access_Layer CCM_ANALOG Peripheral Access Layer
  6047. * @{
  6048. */
  6049. /** CCM_ANALOG - Register Layout Typedef */
  6050. typedef struct {
  6051. uint8_t RESERVED_0[16];
  6052. __IO uint32_t PLL_USB1; /**< Analog USB1 480MHz PLL Control Register, offset: 0x10 */
  6053. __IO uint32_t PLL_USB1_SET; /**< Analog USB1 480MHz PLL Control Register, offset: 0x14 */
  6054. __IO uint32_t PLL_USB1_CLR; /**< Analog USB1 480MHz PLL Control Register, offset: 0x18 */
  6055. __IO uint32_t PLL_USB1_TOG; /**< Analog USB1 480MHz PLL Control Register, offset: 0x1C */
  6056. uint8_t RESERVED_1[16];
  6057. __IO uint32_t PLL_SYS; /**< Analog System PLL Control Register, offset: 0x30 */
  6058. __IO uint32_t PLL_SYS_SET; /**< Analog System PLL Control Register, offset: 0x34 */
  6059. __IO uint32_t PLL_SYS_CLR; /**< Analog System PLL Control Register, offset: 0x38 */
  6060. __IO uint32_t PLL_SYS_TOG; /**< Analog System PLL Control Register, offset: 0x3C */
  6061. __IO uint32_t PLL_SYS_SS; /**< 528MHz System PLL Spread Spectrum Register, offset: 0x40 */
  6062. uint8_t RESERVED_2[12];
  6063. __IO uint32_t PLL_SYS_NUM; /**< Numerator of 528MHz System PLL Fractional Loop Divider Register, offset: 0x50 */
  6064. uint8_t RESERVED_3[12];
  6065. __IO uint32_t PLL_SYS_DENOM; /**< Denominator of 528MHz System PLL Fractional Loop Divider Register, offset: 0x60 */
  6066. uint8_t RESERVED_4[12];
  6067. __IO uint32_t PLL_AUDIO; /**< Analog Audio PLL control Register, offset: 0x70 */
  6068. __IO uint32_t PLL_AUDIO_SET; /**< Analog Audio PLL control Register, offset: 0x74 */
  6069. __IO uint32_t PLL_AUDIO_CLR; /**< Analog Audio PLL control Register, offset: 0x78 */
  6070. __IO uint32_t PLL_AUDIO_TOG; /**< Analog Audio PLL control Register, offset: 0x7C */
  6071. __IO uint32_t PLL_AUDIO_NUM; /**< Numerator of Audio PLL Fractional Loop Divider Register, offset: 0x80 */
  6072. uint8_t RESERVED_5[12];
  6073. __IO uint32_t PLL_AUDIO_DENOM; /**< Denominator of Audio PLL Fractional Loop Divider Register, offset: 0x90 */
  6074. uint8_t RESERVED_6[76];
  6075. __IO uint32_t PLL_ENET; /**< Analog ENET PLL Control Register, offset: 0xE0 */
  6076. __IO uint32_t PLL_ENET_SET; /**< Analog ENET PLL Control Register, offset: 0xE4 */
  6077. __IO uint32_t PLL_ENET_CLR; /**< Analog ENET PLL Control Register, offset: 0xE8 */
  6078. __IO uint32_t PLL_ENET_TOG; /**< Analog ENET PLL Control Register, offset: 0xEC */
  6079. __IO uint32_t PFD_480; /**< 480MHz Clock (PLL3) Phase Fractional Divider Control Register, offset: 0xF0 */
  6080. __IO uint32_t PFD_480_SET; /**< 480MHz Clock (PLL3) Phase Fractional Divider Control Register, offset: 0xF4 */
  6081. __IO uint32_t PFD_480_CLR; /**< 480MHz Clock (PLL3) Phase Fractional Divider Control Register, offset: 0xF8 */
  6082. __IO uint32_t PFD_480_TOG; /**< 480MHz Clock (PLL3) Phase Fractional Divider Control Register, offset: 0xFC */
  6083. __IO uint32_t PFD_528; /**< 528MHz Clock (PLL2) Phase Fractional Divider Control Register, offset: 0x100 */
  6084. __IO uint32_t PFD_528_SET; /**< 528MHz Clock (PLL2) Phase Fractional Divider Control Register, offset: 0x104 */
  6085. __IO uint32_t PFD_528_CLR; /**< 528MHz Clock (PLL2) Phase Fractional Divider Control Register, offset: 0x108 */
  6086. __IO uint32_t PFD_528_TOG; /**< 528MHz Clock (PLL2) Phase Fractional Divider Control Register, offset: 0x10C */
  6087. uint8_t RESERVED_7[64];
  6088. __IO uint32_t MISC0; /**< Miscellaneous Register 0, offset: 0x150 */
  6089. __IO uint32_t MISC0_SET; /**< Miscellaneous Register 0, offset: 0x154 */
  6090. __IO uint32_t MISC0_CLR; /**< Miscellaneous Register 0, offset: 0x158 */
  6091. __IO uint32_t MISC0_TOG; /**< Miscellaneous Register 0, offset: 0x15C */
  6092. __IO uint32_t MISC1; /**< Miscellaneous Register 1, offset: 0x160 */
  6093. __IO uint32_t MISC1_SET; /**< Miscellaneous Register 1, offset: 0x164 */
  6094. __IO uint32_t MISC1_CLR; /**< Miscellaneous Register 1, offset: 0x168 */
  6095. __IO uint32_t MISC1_TOG; /**< Miscellaneous Register 1, offset: 0x16C */
  6096. __IO uint32_t MISC2; /**< Miscellaneous Register 2, offset: 0x170 */
  6097. __IO uint32_t MISC2_SET; /**< Miscellaneous Register 2, offset: 0x174 */
  6098. __IO uint32_t MISC2_CLR; /**< Miscellaneous Register 2, offset: 0x178 */
  6099. __IO uint32_t MISC2_TOG; /**< Miscellaneous Register 2, offset: 0x17C */
  6100. } CCM_ANALOG_Type;
  6101. /* ----------------------------------------------------------------------------
  6102. -- CCM_ANALOG Register Masks
  6103. ---------------------------------------------------------------------------- */
  6104. /*!
  6105. * @addtogroup CCM_ANALOG_Register_Masks CCM_ANALOG Register Masks
  6106. * @{
  6107. */
  6108. /*! @name PLL_USB1 - Analog USB1 480MHz PLL Control Register */
  6109. /*! @{ */
  6110. #define CCM_ANALOG_PLL_USB1_DIV_SELECT_MASK (0x2U)
  6111. #define CCM_ANALOG_PLL_USB1_DIV_SELECT_SHIFT (1U)
  6112. #define CCM_ANALOG_PLL_USB1_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_USB1_DIV_SELECT_MASK)
  6113. #define CCM_ANALOG_PLL_USB1_EN_USB_CLKS_MASK (0x40U)
  6114. #define CCM_ANALOG_PLL_USB1_EN_USB_CLKS_SHIFT (6U)
  6115. /*! EN_USB_CLKS
  6116. * 0b0..PLL outputs for USBPHYn off.
  6117. * 0b1..PLL outputs for USBPHYn on.
  6118. */
  6119. #define CCM_ANALOG_PLL_USB1_EN_USB_CLKS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_EN_USB_CLKS_SHIFT)) & CCM_ANALOG_PLL_USB1_EN_USB_CLKS_MASK)
  6120. #define CCM_ANALOG_PLL_USB1_POWER_MASK (0x1000U)
  6121. #define CCM_ANALOG_PLL_USB1_POWER_SHIFT (12U)
  6122. #define CCM_ANALOG_PLL_USB1_POWER(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_POWER_SHIFT)) & CCM_ANALOG_PLL_USB1_POWER_MASK)
  6123. #define CCM_ANALOG_PLL_USB1_ENABLE_MASK (0x2000U)
  6124. #define CCM_ANALOG_PLL_USB1_ENABLE_SHIFT (13U)
  6125. #define CCM_ANALOG_PLL_USB1_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_ENABLE_SHIFT)) & CCM_ANALOG_PLL_USB1_ENABLE_MASK)
  6126. #define CCM_ANALOG_PLL_USB1_BYPASS_CLK_SRC_MASK (0xC000U)
  6127. #define CCM_ANALOG_PLL_USB1_BYPASS_CLK_SRC_SHIFT (14U)
  6128. /*! BYPASS_CLK_SRC
  6129. * 0b00..Select the 24MHz oscillator as source.
  6130. */
  6131. #define CCM_ANALOG_PLL_USB1_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_USB1_BYPASS_CLK_SRC_MASK)
  6132. #define CCM_ANALOG_PLL_USB1_BYPASS_MASK (0x10000U)
  6133. #define CCM_ANALOG_PLL_USB1_BYPASS_SHIFT (16U)
  6134. #define CCM_ANALOG_PLL_USB1_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_BYPASS_SHIFT)) & CCM_ANALOG_PLL_USB1_BYPASS_MASK)
  6135. #define CCM_ANALOG_PLL_USB1_LOCK_MASK (0x80000000U)
  6136. #define CCM_ANALOG_PLL_USB1_LOCK_SHIFT (31U)
  6137. #define CCM_ANALOG_PLL_USB1_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_LOCK_SHIFT)) & CCM_ANALOG_PLL_USB1_LOCK_MASK)
  6138. /*! @} */
  6139. /*! @name PLL_USB1_SET - Analog USB1 480MHz PLL Control Register */
  6140. /*! @{ */
  6141. #define CCM_ANALOG_PLL_USB1_SET_DIV_SELECT_MASK (0x2U)
  6142. #define CCM_ANALOG_PLL_USB1_SET_DIV_SELECT_SHIFT (1U)
  6143. #define CCM_ANALOG_PLL_USB1_SET_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_SET_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_USB1_SET_DIV_SELECT_MASK)
  6144. #define CCM_ANALOG_PLL_USB1_SET_EN_USB_CLKS_MASK (0x40U)
  6145. #define CCM_ANALOG_PLL_USB1_SET_EN_USB_CLKS_SHIFT (6U)
  6146. /*! EN_USB_CLKS
  6147. * 0b0..PLL outputs for USBPHYn off.
  6148. * 0b1..PLL outputs for USBPHYn on.
  6149. */
  6150. #define CCM_ANALOG_PLL_USB1_SET_EN_USB_CLKS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_SET_EN_USB_CLKS_SHIFT)) & CCM_ANALOG_PLL_USB1_SET_EN_USB_CLKS_MASK)
  6151. #define CCM_ANALOG_PLL_USB1_SET_POWER_MASK (0x1000U)
  6152. #define CCM_ANALOG_PLL_USB1_SET_POWER_SHIFT (12U)
  6153. #define CCM_ANALOG_PLL_USB1_SET_POWER(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_SET_POWER_SHIFT)) & CCM_ANALOG_PLL_USB1_SET_POWER_MASK)
  6154. #define CCM_ANALOG_PLL_USB1_SET_ENABLE_MASK (0x2000U)
  6155. #define CCM_ANALOG_PLL_USB1_SET_ENABLE_SHIFT (13U)
  6156. #define CCM_ANALOG_PLL_USB1_SET_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_SET_ENABLE_SHIFT)) & CCM_ANALOG_PLL_USB1_SET_ENABLE_MASK)
  6157. #define CCM_ANALOG_PLL_USB1_SET_BYPASS_CLK_SRC_MASK (0xC000U)
  6158. #define CCM_ANALOG_PLL_USB1_SET_BYPASS_CLK_SRC_SHIFT (14U)
  6159. /*! BYPASS_CLK_SRC
  6160. * 0b00..Select the 24MHz oscillator as source.
  6161. */
  6162. #define CCM_ANALOG_PLL_USB1_SET_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_SET_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_USB1_SET_BYPASS_CLK_SRC_MASK)
  6163. #define CCM_ANALOG_PLL_USB1_SET_BYPASS_MASK (0x10000U)
  6164. #define CCM_ANALOG_PLL_USB1_SET_BYPASS_SHIFT (16U)
  6165. #define CCM_ANALOG_PLL_USB1_SET_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_SET_BYPASS_SHIFT)) & CCM_ANALOG_PLL_USB1_SET_BYPASS_MASK)
  6166. #define CCM_ANALOG_PLL_USB1_SET_LOCK_MASK (0x80000000U)
  6167. #define CCM_ANALOG_PLL_USB1_SET_LOCK_SHIFT (31U)
  6168. #define CCM_ANALOG_PLL_USB1_SET_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_SET_LOCK_SHIFT)) & CCM_ANALOG_PLL_USB1_SET_LOCK_MASK)
  6169. /*! @} */
  6170. /*! @name PLL_USB1_CLR - Analog USB1 480MHz PLL Control Register */
  6171. /*! @{ */
  6172. #define CCM_ANALOG_PLL_USB1_CLR_DIV_SELECT_MASK (0x2U)
  6173. #define CCM_ANALOG_PLL_USB1_CLR_DIV_SELECT_SHIFT (1U)
  6174. #define CCM_ANALOG_PLL_USB1_CLR_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_CLR_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_USB1_CLR_DIV_SELECT_MASK)
  6175. #define CCM_ANALOG_PLL_USB1_CLR_EN_USB_CLKS_MASK (0x40U)
  6176. #define CCM_ANALOG_PLL_USB1_CLR_EN_USB_CLKS_SHIFT (6U)
  6177. /*! EN_USB_CLKS
  6178. * 0b0..PLL outputs for USBPHYn off.
  6179. * 0b1..PLL outputs for USBPHYn on.
  6180. */
  6181. #define CCM_ANALOG_PLL_USB1_CLR_EN_USB_CLKS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_CLR_EN_USB_CLKS_SHIFT)) & CCM_ANALOG_PLL_USB1_CLR_EN_USB_CLKS_MASK)
  6182. #define CCM_ANALOG_PLL_USB1_CLR_POWER_MASK (0x1000U)
  6183. #define CCM_ANALOG_PLL_USB1_CLR_POWER_SHIFT (12U)
  6184. #define CCM_ANALOG_PLL_USB1_CLR_POWER(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_CLR_POWER_SHIFT)) & CCM_ANALOG_PLL_USB1_CLR_POWER_MASK)
  6185. #define CCM_ANALOG_PLL_USB1_CLR_ENABLE_MASK (0x2000U)
  6186. #define CCM_ANALOG_PLL_USB1_CLR_ENABLE_SHIFT (13U)
  6187. #define CCM_ANALOG_PLL_USB1_CLR_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_CLR_ENABLE_SHIFT)) & CCM_ANALOG_PLL_USB1_CLR_ENABLE_MASK)
  6188. #define CCM_ANALOG_PLL_USB1_CLR_BYPASS_CLK_SRC_MASK (0xC000U)
  6189. #define CCM_ANALOG_PLL_USB1_CLR_BYPASS_CLK_SRC_SHIFT (14U)
  6190. /*! BYPASS_CLK_SRC
  6191. * 0b00..Select the 24MHz oscillator as source.
  6192. */
  6193. #define CCM_ANALOG_PLL_USB1_CLR_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_CLR_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_USB1_CLR_BYPASS_CLK_SRC_MASK)
  6194. #define CCM_ANALOG_PLL_USB1_CLR_BYPASS_MASK (0x10000U)
  6195. #define CCM_ANALOG_PLL_USB1_CLR_BYPASS_SHIFT (16U)
  6196. #define CCM_ANALOG_PLL_USB1_CLR_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_CLR_BYPASS_SHIFT)) & CCM_ANALOG_PLL_USB1_CLR_BYPASS_MASK)
  6197. #define CCM_ANALOG_PLL_USB1_CLR_LOCK_MASK (0x80000000U)
  6198. #define CCM_ANALOG_PLL_USB1_CLR_LOCK_SHIFT (31U)
  6199. #define CCM_ANALOG_PLL_USB1_CLR_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_CLR_LOCK_SHIFT)) & CCM_ANALOG_PLL_USB1_CLR_LOCK_MASK)
  6200. /*! @} */
  6201. /*! @name PLL_USB1_TOG - Analog USB1 480MHz PLL Control Register */
  6202. /*! @{ */
  6203. #define CCM_ANALOG_PLL_USB1_TOG_DIV_SELECT_MASK (0x2U)
  6204. #define CCM_ANALOG_PLL_USB1_TOG_DIV_SELECT_SHIFT (1U)
  6205. #define CCM_ANALOG_PLL_USB1_TOG_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_TOG_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_USB1_TOG_DIV_SELECT_MASK)
  6206. #define CCM_ANALOG_PLL_USB1_TOG_EN_USB_CLKS_MASK (0x40U)
  6207. #define CCM_ANALOG_PLL_USB1_TOG_EN_USB_CLKS_SHIFT (6U)
  6208. /*! EN_USB_CLKS
  6209. * 0b0..PLL outputs for USBPHYn off.
  6210. * 0b1..PLL outputs for USBPHYn on.
  6211. */
  6212. #define CCM_ANALOG_PLL_USB1_TOG_EN_USB_CLKS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_TOG_EN_USB_CLKS_SHIFT)) & CCM_ANALOG_PLL_USB1_TOG_EN_USB_CLKS_MASK)
  6213. #define CCM_ANALOG_PLL_USB1_TOG_POWER_MASK (0x1000U)
  6214. #define CCM_ANALOG_PLL_USB1_TOG_POWER_SHIFT (12U)
  6215. #define CCM_ANALOG_PLL_USB1_TOG_POWER(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_TOG_POWER_SHIFT)) & CCM_ANALOG_PLL_USB1_TOG_POWER_MASK)
  6216. #define CCM_ANALOG_PLL_USB1_TOG_ENABLE_MASK (0x2000U)
  6217. #define CCM_ANALOG_PLL_USB1_TOG_ENABLE_SHIFT (13U)
  6218. #define CCM_ANALOG_PLL_USB1_TOG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_TOG_ENABLE_SHIFT)) & CCM_ANALOG_PLL_USB1_TOG_ENABLE_MASK)
  6219. #define CCM_ANALOG_PLL_USB1_TOG_BYPASS_CLK_SRC_MASK (0xC000U)
  6220. #define CCM_ANALOG_PLL_USB1_TOG_BYPASS_CLK_SRC_SHIFT (14U)
  6221. /*! BYPASS_CLK_SRC
  6222. * 0b00..Select the 24MHz oscillator as source.
  6223. */
  6224. #define CCM_ANALOG_PLL_USB1_TOG_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_TOG_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_USB1_TOG_BYPASS_CLK_SRC_MASK)
  6225. #define CCM_ANALOG_PLL_USB1_TOG_BYPASS_MASK (0x10000U)
  6226. #define CCM_ANALOG_PLL_USB1_TOG_BYPASS_SHIFT (16U)
  6227. #define CCM_ANALOG_PLL_USB1_TOG_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_TOG_BYPASS_SHIFT)) & CCM_ANALOG_PLL_USB1_TOG_BYPASS_MASK)
  6228. #define CCM_ANALOG_PLL_USB1_TOG_LOCK_MASK (0x80000000U)
  6229. #define CCM_ANALOG_PLL_USB1_TOG_LOCK_SHIFT (31U)
  6230. #define CCM_ANALOG_PLL_USB1_TOG_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_TOG_LOCK_SHIFT)) & CCM_ANALOG_PLL_USB1_TOG_LOCK_MASK)
  6231. /*! @} */
  6232. /*! @name PLL_SYS - Analog System PLL Control Register */
  6233. /*! @{ */
  6234. #define CCM_ANALOG_PLL_SYS_DIV_SELECT_MASK (0x1U)
  6235. #define CCM_ANALOG_PLL_SYS_DIV_SELECT_SHIFT (0U)
  6236. #define CCM_ANALOG_PLL_SYS_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_SYS_DIV_SELECT_MASK)
  6237. #define CCM_ANALOG_PLL_SYS_POWERDOWN_MASK (0x1000U)
  6238. #define CCM_ANALOG_PLL_SYS_POWERDOWN_SHIFT (12U)
  6239. #define CCM_ANALOG_PLL_SYS_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_SYS_POWERDOWN_MASK)
  6240. #define CCM_ANALOG_PLL_SYS_ENABLE_MASK (0x2000U)
  6241. #define CCM_ANALOG_PLL_SYS_ENABLE_SHIFT (13U)
  6242. #define CCM_ANALOG_PLL_SYS_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_ENABLE_SHIFT)) & CCM_ANALOG_PLL_SYS_ENABLE_MASK)
  6243. #define CCM_ANALOG_PLL_SYS_BYPASS_CLK_SRC_MASK (0xC000U)
  6244. #define CCM_ANALOG_PLL_SYS_BYPASS_CLK_SRC_SHIFT (14U)
  6245. /*! BYPASS_CLK_SRC
  6246. * 0b00..Select the 24MHz oscillator as source.
  6247. */
  6248. #define CCM_ANALOG_PLL_SYS_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_SYS_BYPASS_CLK_SRC_MASK)
  6249. #define CCM_ANALOG_PLL_SYS_BYPASS_MASK (0x10000U)
  6250. #define CCM_ANALOG_PLL_SYS_BYPASS_SHIFT (16U)
  6251. #define CCM_ANALOG_PLL_SYS_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_BYPASS_SHIFT)) & CCM_ANALOG_PLL_SYS_BYPASS_MASK)
  6252. #define CCM_ANALOG_PLL_SYS_LOCK_MASK (0x80000000U)
  6253. #define CCM_ANALOG_PLL_SYS_LOCK_SHIFT (31U)
  6254. #define CCM_ANALOG_PLL_SYS_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_LOCK_SHIFT)) & CCM_ANALOG_PLL_SYS_LOCK_MASK)
  6255. /*! @} */
  6256. /*! @name PLL_SYS_SET - Analog System PLL Control Register */
  6257. /*! @{ */
  6258. #define CCM_ANALOG_PLL_SYS_SET_DIV_SELECT_MASK (0x1U)
  6259. #define CCM_ANALOG_PLL_SYS_SET_DIV_SELECT_SHIFT (0U)
  6260. #define CCM_ANALOG_PLL_SYS_SET_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_SET_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_SYS_SET_DIV_SELECT_MASK)
  6261. #define CCM_ANALOG_PLL_SYS_SET_POWERDOWN_MASK (0x1000U)
  6262. #define CCM_ANALOG_PLL_SYS_SET_POWERDOWN_SHIFT (12U)
  6263. #define CCM_ANALOG_PLL_SYS_SET_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_SET_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_SYS_SET_POWERDOWN_MASK)
  6264. #define CCM_ANALOG_PLL_SYS_SET_ENABLE_MASK (0x2000U)
  6265. #define CCM_ANALOG_PLL_SYS_SET_ENABLE_SHIFT (13U)
  6266. #define CCM_ANALOG_PLL_SYS_SET_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_SET_ENABLE_SHIFT)) & CCM_ANALOG_PLL_SYS_SET_ENABLE_MASK)
  6267. #define CCM_ANALOG_PLL_SYS_SET_BYPASS_CLK_SRC_MASK (0xC000U)
  6268. #define CCM_ANALOG_PLL_SYS_SET_BYPASS_CLK_SRC_SHIFT (14U)
  6269. /*! BYPASS_CLK_SRC
  6270. * 0b00..Select the 24MHz oscillator as source.
  6271. */
  6272. #define CCM_ANALOG_PLL_SYS_SET_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_SET_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_SYS_SET_BYPASS_CLK_SRC_MASK)
  6273. #define CCM_ANALOG_PLL_SYS_SET_BYPASS_MASK (0x10000U)
  6274. #define CCM_ANALOG_PLL_SYS_SET_BYPASS_SHIFT (16U)
  6275. #define CCM_ANALOG_PLL_SYS_SET_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_SET_BYPASS_SHIFT)) & CCM_ANALOG_PLL_SYS_SET_BYPASS_MASK)
  6276. #define CCM_ANALOG_PLL_SYS_SET_LOCK_MASK (0x80000000U)
  6277. #define CCM_ANALOG_PLL_SYS_SET_LOCK_SHIFT (31U)
  6278. #define CCM_ANALOG_PLL_SYS_SET_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_SET_LOCK_SHIFT)) & CCM_ANALOG_PLL_SYS_SET_LOCK_MASK)
  6279. /*! @} */
  6280. /*! @name PLL_SYS_CLR - Analog System PLL Control Register */
  6281. /*! @{ */
  6282. #define CCM_ANALOG_PLL_SYS_CLR_DIV_SELECT_MASK (0x1U)
  6283. #define CCM_ANALOG_PLL_SYS_CLR_DIV_SELECT_SHIFT (0U)
  6284. #define CCM_ANALOG_PLL_SYS_CLR_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_CLR_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_SYS_CLR_DIV_SELECT_MASK)
  6285. #define CCM_ANALOG_PLL_SYS_CLR_POWERDOWN_MASK (0x1000U)
  6286. #define CCM_ANALOG_PLL_SYS_CLR_POWERDOWN_SHIFT (12U)
  6287. #define CCM_ANALOG_PLL_SYS_CLR_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_CLR_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_SYS_CLR_POWERDOWN_MASK)
  6288. #define CCM_ANALOG_PLL_SYS_CLR_ENABLE_MASK (0x2000U)
  6289. #define CCM_ANALOG_PLL_SYS_CLR_ENABLE_SHIFT (13U)
  6290. #define CCM_ANALOG_PLL_SYS_CLR_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_CLR_ENABLE_SHIFT)) & CCM_ANALOG_PLL_SYS_CLR_ENABLE_MASK)
  6291. #define CCM_ANALOG_PLL_SYS_CLR_BYPASS_CLK_SRC_MASK (0xC000U)
  6292. #define CCM_ANALOG_PLL_SYS_CLR_BYPASS_CLK_SRC_SHIFT (14U)
  6293. /*! BYPASS_CLK_SRC
  6294. * 0b00..Select the 24MHz oscillator as source.
  6295. */
  6296. #define CCM_ANALOG_PLL_SYS_CLR_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_CLR_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_SYS_CLR_BYPASS_CLK_SRC_MASK)
  6297. #define CCM_ANALOG_PLL_SYS_CLR_BYPASS_MASK (0x10000U)
  6298. #define CCM_ANALOG_PLL_SYS_CLR_BYPASS_SHIFT (16U)
  6299. #define CCM_ANALOG_PLL_SYS_CLR_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_CLR_BYPASS_SHIFT)) & CCM_ANALOG_PLL_SYS_CLR_BYPASS_MASK)
  6300. #define CCM_ANALOG_PLL_SYS_CLR_LOCK_MASK (0x80000000U)
  6301. #define CCM_ANALOG_PLL_SYS_CLR_LOCK_SHIFT (31U)
  6302. #define CCM_ANALOG_PLL_SYS_CLR_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_CLR_LOCK_SHIFT)) & CCM_ANALOG_PLL_SYS_CLR_LOCK_MASK)
  6303. /*! @} */
  6304. /*! @name PLL_SYS_TOG - Analog System PLL Control Register */
  6305. /*! @{ */
  6306. #define CCM_ANALOG_PLL_SYS_TOG_DIV_SELECT_MASK (0x1U)
  6307. #define CCM_ANALOG_PLL_SYS_TOG_DIV_SELECT_SHIFT (0U)
  6308. #define CCM_ANALOG_PLL_SYS_TOG_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_TOG_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_SYS_TOG_DIV_SELECT_MASK)
  6309. #define CCM_ANALOG_PLL_SYS_TOG_POWERDOWN_MASK (0x1000U)
  6310. #define CCM_ANALOG_PLL_SYS_TOG_POWERDOWN_SHIFT (12U)
  6311. #define CCM_ANALOG_PLL_SYS_TOG_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_TOG_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_SYS_TOG_POWERDOWN_MASK)
  6312. #define CCM_ANALOG_PLL_SYS_TOG_ENABLE_MASK (0x2000U)
  6313. #define CCM_ANALOG_PLL_SYS_TOG_ENABLE_SHIFT (13U)
  6314. #define CCM_ANALOG_PLL_SYS_TOG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_TOG_ENABLE_SHIFT)) & CCM_ANALOG_PLL_SYS_TOG_ENABLE_MASK)
  6315. #define CCM_ANALOG_PLL_SYS_TOG_BYPASS_CLK_SRC_MASK (0xC000U)
  6316. #define CCM_ANALOG_PLL_SYS_TOG_BYPASS_CLK_SRC_SHIFT (14U)
  6317. /*! BYPASS_CLK_SRC
  6318. * 0b00..Select the 24MHz oscillator as source.
  6319. */
  6320. #define CCM_ANALOG_PLL_SYS_TOG_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_TOG_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_SYS_TOG_BYPASS_CLK_SRC_MASK)
  6321. #define CCM_ANALOG_PLL_SYS_TOG_BYPASS_MASK (0x10000U)
  6322. #define CCM_ANALOG_PLL_SYS_TOG_BYPASS_SHIFT (16U)
  6323. #define CCM_ANALOG_PLL_SYS_TOG_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_TOG_BYPASS_SHIFT)) & CCM_ANALOG_PLL_SYS_TOG_BYPASS_MASK)
  6324. #define CCM_ANALOG_PLL_SYS_TOG_LOCK_MASK (0x80000000U)
  6325. #define CCM_ANALOG_PLL_SYS_TOG_LOCK_SHIFT (31U)
  6326. #define CCM_ANALOG_PLL_SYS_TOG_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_TOG_LOCK_SHIFT)) & CCM_ANALOG_PLL_SYS_TOG_LOCK_MASK)
  6327. /*! @} */
  6328. /*! @name PLL_SYS_SS - 528MHz System PLL Spread Spectrum Register */
  6329. /*! @{ */
  6330. #define CCM_ANALOG_PLL_SYS_SS_STEP_MASK (0x7FFFU)
  6331. #define CCM_ANALOG_PLL_SYS_SS_STEP_SHIFT (0U)
  6332. #define CCM_ANALOG_PLL_SYS_SS_STEP(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_SS_STEP_SHIFT)) & CCM_ANALOG_PLL_SYS_SS_STEP_MASK)
  6333. #define CCM_ANALOG_PLL_SYS_SS_ENABLE_MASK (0x8000U)
  6334. #define CCM_ANALOG_PLL_SYS_SS_ENABLE_SHIFT (15U)
  6335. /*! ENABLE - Enable bit
  6336. * 0b0..Spread spectrum modulation disabled
  6337. * 0b1..Soread spectrum modulation enabled
  6338. */
  6339. #define CCM_ANALOG_PLL_SYS_SS_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_SS_ENABLE_SHIFT)) & CCM_ANALOG_PLL_SYS_SS_ENABLE_MASK)
  6340. #define CCM_ANALOG_PLL_SYS_SS_STOP_MASK (0xFFFF0000U)
  6341. #define CCM_ANALOG_PLL_SYS_SS_STOP_SHIFT (16U)
  6342. #define CCM_ANALOG_PLL_SYS_SS_STOP(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_SS_STOP_SHIFT)) & CCM_ANALOG_PLL_SYS_SS_STOP_MASK)
  6343. /*! @} */
  6344. /*! @name PLL_SYS_NUM - Numerator of 528MHz System PLL Fractional Loop Divider Register */
  6345. /*! @{ */
  6346. #define CCM_ANALOG_PLL_SYS_NUM_A_MASK (0x3FFFFFFFU)
  6347. #define CCM_ANALOG_PLL_SYS_NUM_A_SHIFT (0U)
  6348. #define CCM_ANALOG_PLL_SYS_NUM_A(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_NUM_A_SHIFT)) & CCM_ANALOG_PLL_SYS_NUM_A_MASK)
  6349. /*! @} */
  6350. /*! @name PLL_SYS_DENOM - Denominator of 528MHz System PLL Fractional Loop Divider Register */
  6351. /*! @{ */
  6352. #define CCM_ANALOG_PLL_SYS_DENOM_B_MASK (0x3FFFFFFFU)
  6353. #define CCM_ANALOG_PLL_SYS_DENOM_B_SHIFT (0U)
  6354. #define CCM_ANALOG_PLL_SYS_DENOM_B(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_DENOM_B_SHIFT)) & CCM_ANALOG_PLL_SYS_DENOM_B_MASK)
  6355. /*! @} */
  6356. /*! @name PLL_AUDIO - Analog Audio PLL control Register */
  6357. /*! @{ */
  6358. #define CCM_ANALOG_PLL_AUDIO_DIV_SELECT_MASK (0x7FU)
  6359. #define CCM_ANALOG_PLL_AUDIO_DIV_SELECT_SHIFT (0U)
  6360. #define CCM_ANALOG_PLL_AUDIO_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_AUDIO_DIV_SELECT_MASK)
  6361. #define CCM_ANALOG_PLL_AUDIO_POWERDOWN_MASK (0x1000U)
  6362. #define CCM_ANALOG_PLL_AUDIO_POWERDOWN_SHIFT (12U)
  6363. #define CCM_ANALOG_PLL_AUDIO_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_AUDIO_POWERDOWN_MASK)
  6364. #define CCM_ANALOG_PLL_AUDIO_ENABLE_MASK (0x2000U)
  6365. #define CCM_ANALOG_PLL_AUDIO_ENABLE_SHIFT (13U)
  6366. #define CCM_ANALOG_PLL_AUDIO_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_ENABLE_SHIFT)) & CCM_ANALOG_PLL_AUDIO_ENABLE_MASK)
  6367. #define CCM_ANALOG_PLL_AUDIO_BYPASS_CLK_SRC_MASK (0xC000U)
  6368. #define CCM_ANALOG_PLL_AUDIO_BYPASS_CLK_SRC_SHIFT (14U)
  6369. /*! BYPASS_CLK_SRC
  6370. * 0b00..Select the 24MHz oscillator as source.
  6371. * 0b10..Reserved1
  6372. * 0b11..Reserved2
  6373. */
  6374. #define CCM_ANALOG_PLL_AUDIO_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_AUDIO_BYPASS_CLK_SRC_MASK)
  6375. #define CCM_ANALOG_PLL_AUDIO_BYPASS_MASK (0x10000U)
  6376. #define CCM_ANALOG_PLL_AUDIO_BYPASS_SHIFT (16U)
  6377. #define CCM_ANALOG_PLL_AUDIO_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_BYPASS_SHIFT)) & CCM_ANALOG_PLL_AUDIO_BYPASS_MASK)
  6378. #define CCM_ANALOG_PLL_AUDIO_POST_DIV_SELECT_MASK (0x180000U)
  6379. #define CCM_ANALOG_PLL_AUDIO_POST_DIV_SELECT_SHIFT (19U)
  6380. /*! POST_DIV_SELECT
  6381. * 0b00..Divide by 4.
  6382. * 0b01..Divide by 2.
  6383. * 0b10..Divide by 1.
  6384. * 0b11..Reserved
  6385. */
  6386. #define CCM_ANALOG_PLL_AUDIO_POST_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_POST_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_AUDIO_POST_DIV_SELECT_MASK)
  6387. #define CCM_ANALOG_PLL_AUDIO_LOCK_MASK (0x80000000U)
  6388. #define CCM_ANALOG_PLL_AUDIO_LOCK_SHIFT (31U)
  6389. #define CCM_ANALOG_PLL_AUDIO_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_LOCK_SHIFT)) & CCM_ANALOG_PLL_AUDIO_LOCK_MASK)
  6390. /*! @} */
  6391. /*! @name PLL_AUDIO_SET - Analog Audio PLL control Register */
  6392. /*! @{ */
  6393. #define CCM_ANALOG_PLL_AUDIO_SET_DIV_SELECT_MASK (0x7FU)
  6394. #define CCM_ANALOG_PLL_AUDIO_SET_DIV_SELECT_SHIFT (0U)
  6395. #define CCM_ANALOG_PLL_AUDIO_SET_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_SET_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_AUDIO_SET_DIV_SELECT_MASK)
  6396. #define CCM_ANALOG_PLL_AUDIO_SET_POWERDOWN_MASK (0x1000U)
  6397. #define CCM_ANALOG_PLL_AUDIO_SET_POWERDOWN_SHIFT (12U)
  6398. #define CCM_ANALOG_PLL_AUDIO_SET_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_SET_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_AUDIO_SET_POWERDOWN_MASK)
  6399. #define CCM_ANALOG_PLL_AUDIO_SET_ENABLE_MASK (0x2000U)
  6400. #define CCM_ANALOG_PLL_AUDIO_SET_ENABLE_SHIFT (13U)
  6401. #define CCM_ANALOG_PLL_AUDIO_SET_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_SET_ENABLE_SHIFT)) & CCM_ANALOG_PLL_AUDIO_SET_ENABLE_MASK)
  6402. #define CCM_ANALOG_PLL_AUDIO_SET_BYPASS_CLK_SRC_MASK (0xC000U)
  6403. #define CCM_ANALOG_PLL_AUDIO_SET_BYPASS_CLK_SRC_SHIFT (14U)
  6404. /*! BYPASS_CLK_SRC
  6405. * 0b00..Select the 24MHz oscillator as source.
  6406. * 0b10..Reserved1
  6407. * 0b11..Reserved2
  6408. */
  6409. #define CCM_ANALOG_PLL_AUDIO_SET_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_SET_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_AUDIO_SET_BYPASS_CLK_SRC_MASK)
  6410. #define CCM_ANALOG_PLL_AUDIO_SET_BYPASS_MASK (0x10000U)
  6411. #define CCM_ANALOG_PLL_AUDIO_SET_BYPASS_SHIFT (16U)
  6412. #define CCM_ANALOG_PLL_AUDIO_SET_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_SET_BYPASS_SHIFT)) & CCM_ANALOG_PLL_AUDIO_SET_BYPASS_MASK)
  6413. #define CCM_ANALOG_PLL_AUDIO_SET_POST_DIV_SELECT_MASK (0x180000U)
  6414. #define CCM_ANALOG_PLL_AUDIO_SET_POST_DIV_SELECT_SHIFT (19U)
  6415. /*! POST_DIV_SELECT
  6416. * 0b00..Divide by 4.
  6417. * 0b01..Divide by 2.
  6418. * 0b10..Divide by 1.
  6419. * 0b11..Reserved
  6420. */
  6421. #define CCM_ANALOG_PLL_AUDIO_SET_POST_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_SET_POST_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_AUDIO_SET_POST_DIV_SELECT_MASK)
  6422. #define CCM_ANALOG_PLL_AUDIO_SET_LOCK_MASK (0x80000000U)
  6423. #define CCM_ANALOG_PLL_AUDIO_SET_LOCK_SHIFT (31U)
  6424. #define CCM_ANALOG_PLL_AUDIO_SET_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_SET_LOCK_SHIFT)) & CCM_ANALOG_PLL_AUDIO_SET_LOCK_MASK)
  6425. /*! @} */
  6426. /*! @name PLL_AUDIO_CLR - Analog Audio PLL control Register */
  6427. /*! @{ */
  6428. #define CCM_ANALOG_PLL_AUDIO_CLR_DIV_SELECT_MASK (0x7FU)
  6429. #define CCM_ANALOG_PLL_AUDIO_CLR_DIV_SELECT_SHIFT (0U)
  6430. #define CCM_ANALOG_PLL_AUDIO_CLR_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_CLR_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_AUDIO_CLR_DIV_SELECT_MASK)
  6431. #define CCM_ANALOG_PLL_AUDIO_CLR_POWERDOWN_MASK (0x1000U)
  6432. #define CCM_ANALOG_PLL_AUDIO_CLR_POWERDOWN_SHIFT (12U)
  6433. #define CCM_ANALOG_PLL_AUDIO_CLR_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_CLR_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_AUDIO_CLR_POWERDOWN_MASK)
  6434. #define CCM_ANALOG_PLL_AUDIO_CLR_ENABLE_MASK (0x2000U)
  6435. #define CCM_ANALOG_PLL_AUDIO_CLR_ENABLE_SHIFT (13U)
  6436. #define CCM_ANALOG_PLL_AUDIO_CLR_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_CLR_ENABLE_SHIFT)) & CCM_ANALOG_PLL_AUDIO_CLR_ENABLE_MASK)
  6437. #define CCM_ANALOG_PLL_AUDIO_CLR_BYPASS_CLK_SRC_MASK (0xC000U)
  6438. #define CCM_ANALOG_PLL_AUDIO_CLR_BYPASS_CLK_SRC_SHIFT (14U)
  6439. /*! BYPASS_CLK_SRC
  6440. * 0b00..Select the 24MHz oscillator as source.
  6441. * 0b10..Reserved1
  6442. * 0b11..Reserved2
  6443. */
  6444. #define CCM_ANALOG_PLL_AUDIO_CLR_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_CLR_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_AUDIO_CLR_BYPASS_CLK_SRC_MASK)
  6445. #define CCM_ANALOG_PLL_AUDIO_CLR_BYPASS_MASK (0x10000U)
  6446. #define CCM_ANALOG_PLL_AUDIO_CLR_BYPASS_SHIFT (16U)
  6447. #define CCM_ANALOG_PLL_AUDIO_CLR_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_CLR_BYPASS_SHIFT)) & CCM_ANALOG_PLL_AUDIO_CLR_BYPASS_MASK)
  6448. #define CCM_ANALOG_PLL_AUDIO_CLR_POST_DIV_SELECT_MASK (0x180000U)
  6449. #define CCM_ANALOG_PLL_AUDIO_CLR_POST_DIV_SELECT_SHIFT (19U)
  6450. /*! POST_DIV_SELECT
  6451. * 0b00..Divide by 4.
  6452. * 0b01..Divide by 2.
  6453. * 0b10..Divide by 1.
  6454. * 0b11..Reserved
  6455. */
  6456. #define CCM_ANALOG_PLL_AUDIO_CLR_POST_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_CLR_POST_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_AUDIO_CLR_POST_DIV_SELECT_MASK)
  6457. #define CCM_ANALOG_PLL_AUDIO_CLR_LOCK_MASK (0x80000000U)
  6458. #define CCM_ANALOG_PLL_AUDIO_CLR_LOCK_SHIFT (31U)
  6459. #define CCM_ANALOG_PLL_AUDIO_CLR_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_CLR_LOCK_SHIFT)) & CCM_ANALOG_PLL_AUDIO_CLR_LOCK_MASK)
  6460. /*! @} */
  6461. /*! @name PLL_AUDIO_TOG - Analog Audio PLL control Register */
  6462. /*! @{ */
  6463. #define CCM_ANALOG_PLL_AUDIO_TOG_DIV_SELECT_MASK (0x7FU)
  6464. #define CCM_ANALOG_PLL_AUDIO_TOG_DIV_SELECT_SHIFT (0U)
  6465. #define CCM_ANALOG_PLL_AUDIO_TOG_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_TOG_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_AUDIO_TOG_DIV_SELECT_MASK)
  6466. #define CCM_ANALOG_PLL_AUDIO_TOG_POWERDOWN_MASK (0x1000U)
  6467. #define CCM_ANALOG_PLL_AUDIO_TOG_POWERDOWN_SHIFT (12U)
  6468. #define CCM_ANALOG_PLL_AUDIO_TOG_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_TOG_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_AUDIO_TOG_POWERDOWN_MASK)
  6469. #define CCM_ANALOG_PLL_AUDIO_TOG_ENABLE_MASK (0x2000U)
  6470. #define CCM_ANALOG_PLL_AUDIO_TOG_ENABLE_SHIFT (13U)
  6471. #define CCM_ANALOG_PLL_AUDIO_TOG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_TOG_ENABLE_SHIFT)) & CCM_ANALOG_PLL_AUDIO_TOG_ENABLE_MASK)
  6472. #define CCM_ANALOG_PLL_AUDIO_TOG_BYPASS_CLK_SRC_MASK (0xC000U)
  6473. #define CCM_ANALOG_PLL_AUDIO_TOG_BYPASS_CLK_SRC_SHIFT (14U)
  6474. /*! BYPASS_CLK_SRC
  6475. * 0b00..Select the 24MHz oscillator as source.
  6476. * 0b10..Reserved1
  6477. * 0b11..Reserved2
  6478. */
  6479. #define CCM_ANALOG_PLL_AUDIO_TOG_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_TOG_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_AUDIO_TOG_BYPASS_CLK_SRC_MASK)
  6480. #define CCM_ANALOG_PLL_AUDIO_TOG_BYPASS_MASK (0x10000U)
  6481. #define CCM_ANALOG_PLL_AUDIO_TOG_BYPASS_SHIFT (16U)
  6482. #define CCM_ANALOG_PLL_AUDIO_TOG_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_TOG_BYPASS_SHIFT)) & CCM_ANALOG_PLL_AUDIO_TOG_BYPASS_MASK)
  6483. #define CCM_ANALOG_PLL_AUDIO_TOG_POST_DIV_SELECT_MASK (0x180000U)
  6484. #define CCM_ANALOG_PLL_AUDIO_TOG_POST_DIV_SELECT_SHIFT (19U)
  6485. /*! POST_DIV_SELECT
  6486. * 0b00..Divide by 4.
  6487. * 0b01..Divide by 2.
  6488. * 0b10..Divide by 1.
  6489. * 0b11..Reserved
  6490. */
  6491. #define CCM_ANALOG_PLL_AUDIO_TOG_POST_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_TOG_POST_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_AUDIO_TOG_POST_DIV_SELECT_MASK)
  6492. #define CCM_ANALOG_PLL_AUDIO_TOG_LOCK_MASK (0x80000000U)
  6493. #define CCM_ANALOG_PLL_AUDIO_TOG_LOCK_SHIFT (31U)
  6494. #define CCM_ANALOG_PLL_AUDIO_TOG_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_TOG_LOCK_SHIFT)) & CCM_ANALOG_PLL_AUDIO_TOG_LOCK_MASK)
  6495. /*! @} */
  6496. /*! @name PLL_AUDIO_NUM - Numerator of Audio PLL Fractional Loop Divider Register */
  6497. /*! @{ */
  6498. #define CCM_ANALOG_PLL_AUDIO_NUM_A_MASK (0x3FFFFFFFU)
  6499. #define CCM_ANALOG_PLL_AUDIO_NUM_A_SHIFT (0U)
  6500. #define CCM_ANALOG_PLL_AUDIO_NUM_A(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_NUM_A_SHIFT)) & CCM_ANALOG_PLL_AUDIO_NUM_A_MASK)
  6501. /*! @} */
  6502. /*! @name PLL_AUDIO_DENOM - Denominator of Audio PLL Fractional Loop Divider Register */
  6503. /*! @{ */
  6504. #define CCM_ANALOG_PLL_AUDIO_DENOM_B_MASK (0x3FFFFFFFU)
  6505. #define CCM_ANALOG_PLL_AUDIO_DENOM_B_SHIFT (0U)
  6506. #define CCM_ANALOG_PLL_AUDIO_DENOM_B(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_DENOM_B_SHIFT)) & CCM_ANALOG_PLL_AUDIO_DENOM_B_MASK)
  6507. /*! @} */
  6508. /*! @name PLL_ENET - Analog ENET PLL Control Register */
  6509. /*! @{ */
  6510. #define CCM_ANALOG_PLL_ENET_DIV_SELECT_MASK (0x3U)
  6511. #define CCM_ANALOG_PLL_ENET_DIV_SELECT_SHIFT (0U)
  6512. #define CCM_ANALOG_PLL_ENET_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_ENET_DIV_SELECT_MASK)
  6513. #define CCM_ANALOG_PLL_ENET_POWERDOWN_MASK (0x1000U)
  6514. #define CCM_ANALOG_PLL_ENET_POWERDOWN_SHIFT (12U)
  6515. #define CCM_ANALOG_PLL_ENET_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_ENET_POWERDOWN_MASK)
  6516. #define CCM_ANALOG_PLL_ENET_ENABLE_MASK (0x2000U)
  6517. #define CCM_ANALOG_PLL_ENET_ENABLE_SHIFT (13U)
  6518. #define CCM_ANALOG_PLL_ENET_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_ENABLE_SHIFT)) & CCM_ANALOG_PLL_ENET_ENABLE_MASK)
  6519. #define CCM_ANALOG_PLL_ENET_BYPASS_CLK_SRC_MASK (0xC000U)
  6520. #define CCM_ANALOG_PLL_ENET_BYPASS_CLK_SRC_SHIFT (14U)
  6521. /*! BYPASS_CLK_SRC
  6522. * 0b00..Select the 24MHz oscillator as source.
  6523. * 0b10..Reserved1
  6524. * 0b11..Reserved2
  6525. */
  6526. #define CCM_ANALOG_PLL_ENET_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_ENET_BYPASS_CLK_SRC_MASK)
  6527. #define CCM_ANALOG_PLL_ENET_BYPASS_MASK (0x10000U)
  6528. #define CCM_ANALOG_PLL_ENET_BYPASS_SHIFT (16U)
  6529. #define CCM_ANALOG_PLL_ENET_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_BYPASS_SHIFT)) & CCM_ANALOG_PLL_ENET_BYPASS_MASK)
  6530. #define CCM_ANALOG_PLL_ENET_ENET_25M_REF_EN_MASK (0x200000U)
  6531. #define CCM_ANALOG_PLL_ENET_ENET_25M_REF_EN_SHIFT (21U)
  6532. #define CCM_ANALOG_PLL_ENET_ENET_25M_REF_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_ENET_25M_REF_EN_SHIFT)) & CCM_ANALOG_PLL_ENET_ENET_25M_REF_EN_MASK)
  6533. #define CCM_ANALOG_PLL_ENET_ENET_500M_REF_EN_MASK (0x400000U)
  6534. #define CCM_ANALOG_PLL_ENET_ENET_500M_REF_EN_SHIFT (22U)
  6535. #define CCM_ANALOG_PLL_ENET_ENET_500M_REF_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_ENET_500M_REF_EN_SHIFT)) & CCM_ANALOG_PLL_ENET_ENET_500M_REF_EN_MASK)
  6536. #define CCM_ANALOG_PLL_ENET_LOCK_MASK (0x80000000U)
  6537. #define CCM_ANALOG_PLL_ENET_LOCK_SHIFT (31U)
  6538. #define CCM_ANALOG_PLL_ENET_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_LOCK_SHIFT)) & CCM_ANALOG_PLL_ENET_LOCK_MASK)
  6539. /*! @} */
  6540. /*! @name PLL_ENET_SET - Analog ENET PLL Control Register */
  6541. /*! @{ */
  6542. #define CCM_ANALOG_PLL_ENET_SET_DIV_SELECT_MASK (0x3U)
  6543. #define CCM_ANALOG_PLL_ENET_SET_DIV_SELECT_SHIFT (0U)
  6544. #define CCM_ANALOG_PLL_ENET_SET_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_SET_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_ENET_SET_DIV_SELECT_MASK)
  6545. #define CCM_ANALOG_PLL_ENET_SET_POWERDOWN_MASK (0x1000U)
  6546. #define CCM_ANALOG_PLL_ENET_SET_POWERDOWN_SHIFT (12U)
  6547. #define CCM_ANALOG_PLL_ENET_SET_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_SET_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_ENET_SET_POWERDOWN_MASK)
  6548. #define CCM_ANALOG_PLL_ENET_SET_ENABLE_MASK (0x2000U)
  6549. #define CCM_ANALOG_PLL_ENET_SET_ENABLE_SHIFT (13U)
  6550. #define CCM_ANALOG_PLL_ENET_SET_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_SET_ENABLE_SHIFT)) & CCM_ANALOG_PLL_ENET_SET_ENABLE_MASK)
  6551. #define CCM_ANALOG_PLL_ENET_SET_BYPASS_CLK_SRC_MASK (0xC000U)
  6552. #define CCM_ANALOG_PLL_ENET_SET_BYPASS_CLK_SRC_SHIFT (14U)
  6553. /*! BYPASS_CLK_SRC
  6554. * 0b00..Select the 24MHz oscillator as source.
  6555. * 0b10..Reserved1
  6556. * 0b11..Reserved2
  6557. */
  6558. #define CCM_ANALOG_PLL_ENET_SET_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_SET_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_ENET_SET_BYPASS_CLK_SRC_MASK)
  6559. #define CCM_ANALOG_PLL_ENET_SET_BYPASS_MASK (0x10000U)
  6560. #define CCM_ANALOG_PLL_ENET_SET_BYPASS_SHIFT (16U)
  6561. #define CCM_ANALOG_PLL_ENET_SET_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_SET_BYPASS_SHIFT)) & CCM_ANALOG_PLL_ENET_SET_BYPASS_MASK)
  6562. #define CCM_ANALOG_PLL_ENET_SET_ENET_25M_REF_EN_MASK (0x200000U)
  6563. #define CCM_ANALOG_PLL_ENET_SET_ENET_25M_REF_EN_SHIFT (21U)
  6564. #define CCM_ANALOG_PLL_ENET_SET_ENET_25M_REF_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_SET_ENET_25M_REF_EN_SHIFT)) & CCM_ANALOG_PLL_ENET_SET_ENET_25M_REF_EN_MASK)
  6565. #define CCM_ANALOG_PLL_ENET_SET_ENET_500M_REF_EN_MASK (0x400000U)
  6566. #define CCM_ANALOG_PLL_ENET_SET_ENET_500M_REF_EN_SHIFT (22U)
  6567. #define CCM_ANALOG_PLL_ENET_SET_ENET_500M_REF_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_SET_ENET_500M_REF_EN_SHIFT)) & CCM_ANALOG_PLL_ENET_SET_ENET_500M_REF_EN_MASK)
  6568. #define CCM_ANALOG_PLL_ENET_SET_LOCK_MASK (0x80000000U)
  6569. #define CCM_ANALOG_PLL_ENET_SET_LOCK_SHIFT (31U)
  6570. #define CCM_ANALOG_PLL_ENET_SET_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_SET_LOCK_SHIFT)) & CCM_ANALOG_PLL_ENET_SET_LOCK_MASK)
  6571. /*! @} */
  6572. /*! @name PLL_ENET_CLR - Analog ENET PLL Control Register */
  6573. /*! @{ */
  6574. #define CCM_ANALOG_PLL_ENET_CLR_DIV_SELECT_MASK (0x3U)
  6575. #define CCM_ANALOG_PLL_ENET_CLR_DIV_SELECT_SHIFT (0U)
  6576. #define CCM_ANALOG_PLL_ENET_CLR_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_CLR_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_ENET_CLR_DIV_SELECT_MASK)
  6577. #define CCM_ANALOG_PLL_ENET_CLR_POWERDOWN_MASK (0x1000U)
  6578. #define CCM_ANALOG_PLL_ENET_CLR_POWERDOWN_SHIFT (12U)
  6579. #define CCM_ANALOG_PLL_ENET_CLR_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_CLR_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_ENET_CLR_POWERDOWN_MASK)
  6580. #define CCM_ANALOG_PLL_ENET_CLR_ENABLE_MASK (0x2000U)
  6581. #define CCM_ANALOG_PLL_ENET_CLR_ENABLE_SHIFT (13U)
  6582. #define CCM_ANALOG_PLL_ENET_CLR_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_CLR_ENABLE_SHIFT)) & CCM_ANALOG_PLL_ENET_CLR_ENABLE_MASK)
  6583. #define CCM_ANALOG_PLL_ENET_CLR_BYPASS_CLK_SRC_MASK (0xC000U)
  6584. #define CCM_ANALOG_PLL_ENET_CLR_BYPASS_CLK_SRC_SHIFT (14U)
  6585. /*! BYPASS_CLK_SRC
  6586. * 0b00..Select the 24MHz oscillator as source.
  6587. * 0b10..Reserved1
  6588. * 0b11..Reserved2
  6589. */
  6590. #define CCM_ANALOG_PLL_ENET_CLR_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_CLR_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_ENET_CLR_BYPASS_CLK_SRC_MASK)
  6591. #define CCM_ANALOG_PLL_ENET_CLR_BYPASS_MASK (0x10000U)
  6592. #define CCM_ANALOG_PLL_ENET_CLR_BYPASS_SHIFT (16U)
  6593. #define CCM_ANALOG_PLL_ENET_CLR_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_CLR_BYPASS_SHIFT)) & CCM_ANALOG_PLL_ENET_CLR_BYPASS_MASK)
  6594. #define CCM_ANALOG_PLL_ENET_CLR_ENET_25M_REF_EN_MASK (0x200000U)
  6595. #define CCM_ANALOG_PLL_ENET_CLR_ENET_25M_REF_EN_SHIFT (21U)
  6596. #define CCM_ANALOG_PLL_ENET_CLR_ENET_25M_REF_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_CLR_ENET_25M_REF_EN_SHIFT)) & CCM_ANALOG_PLL_ENET_CLR_ENET_25M_REF_EN_MASK)
  6597. #define CCM_ANALOG_PLL_ENET_CLR_ENET_500M_REF_EN_MASK (0x400000U)
  6598. #define CCM_ANALOG_PLL_ENET_CLR_ENET_500M_REF_EN_SHIFT (22U)
  6599. #define CCM_ANALOG_PLL_ENET_CLR_ENET_500M_REF_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_CLR_ENET_500M_REF_EN_SHIFT)) & CCM_ANALOG_PLL_ENET_CLR_ENET_500M_REF_EN_MASK)
  6600. #define CCM_ANALOG_PLL_ENET_CLR_LOCK_MASK (0x80000000U)
  6601. #define CCM_ANALOG_PLL_ENET_CLR_LOCK_SHIFT (31U)
  6602. #define CCM_ANALOG_PLL_ENET_CLR_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_CLR_LOCK_SHIFT)) & CCM_ANALOG_PLL_ENET_CLR_LOCK_MASK)
  6603. /*! @} */
  6604. /*! @name PLL_ENET_TOG - Analog ENET PLL Control Register */
  6605. /*! @{ */
  6606. #define CCM_ANALOG_PLL_ENET_TOG_DIV_SELECT_MASK (0x3U)
  6607. #define CCM_ANALOG_PLL_ENET_TOG_DIV_SELECT_SHIFT (0U)
  6608. #define CCM_ANALOG_PLL_ENET_TOG_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_TOG_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_ENET_TOG_DIV_SELECT_MASK)
  6609. #define CCM_ANALOG_PLL_ENET_TOG_POWERDOWN_MASK (0x1000U)
  6610. #define CCM_ANALOG_PLL_ENET_TOG_POWERDOWN_SHIFT (12U)
  6611. #define CCM_ANALOG_PLL_ENET_TOG_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_TOG_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_ENET_TOG_POWERDOWN_MASK)
  6612. #define CCM_ANALOG_PLL_ENET_TOG_ENABLE_MASK (0x2000U)
  6613. #define CCM_ANALOG_PLL_ENET_TOG_ENABLE_SHIFT (13U)
  6614. #define CCM_ANALOG_PLL_ENET_TOG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_TOG_ENABLE_SHIFT)) & CCM_ANALOG_PLL_ENET_TOG_ENABLE_MASK)
  6615. #define CCM_ANALOG_PLL_ENET_TOG_BYPASS_CLK_SRC_MASK (0xC000U)
  6616. #define CCM_ANALOG_PLL_ENET_TOG_BYPASS_CLK_SRC_SHIFT (14U)
  6617. /*! BYPASS_CLK_SRC
  6618. * 0b00..Select the 24MHz oscillator as source.
  6619. * 0b10..Reserved1
  6620. * 0b11..Reserved2
  6621. */
  6622. #define CCM_ANALOG_PLL_ENET_TOG_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_TOG_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_ENET_TOG_BYPASS_CLK_SRC_MASK)
  6623. #define CCM_ANALOG_PLL_ENET_TOG_BYPASS_MASK (0x10000U)
  6624. #define CCM_ANALOG_PLL_ENET_TOG_BYPASS_SHIFT (16U)
  6625. #define CCM_ANALOG_PLL_ENET_TOG_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_TOG_BYPASS_SHIFT)) & CCM_ANALOG_PLL_ENET_TOG_BYPASS_MASK)
  6626. #define CCM_ANALOG_PLL_ENET_TOG_ENET_25M_REF_EN_MASK (0x200000U)
  6627. #define CCM_ANALOG_PLL_ENET_TOG_ENET_25M_REF_EN_SHIFT (21U)
  6628. #define CCM_ANALOG_PLL_ENET_TOG_ENET_25M_REF_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_TOG_ENET_25M_REF_EN_SHIFT)) & CCM_ANALOG_PLL_ENET_TOG_ENET_25M_REF_EN_MASK)
  6629. #define CCM_ANALOG_PLL_ENET_TOG_ENET_500M_REF_EN_MASK (0x400000U)
  6630. #define CCM_ANALOG_PLL_ENET_TOG_ENET_500M_REF_EN_SHIFT (22U)
  6631. #define CCM_ANALOG_PLL_ENET_TOG_ENET_500M_REF_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_TOG_ENET_500M_REF_EN_SHIFT)) & CCM_ANALOG_PLL_ENET_TOG_ENET_500M_REF_EN_MASK)
  6632. #define CCM_ANALOG_PLL_ENET_TOG_LOCK_MASK (0x80000000U)
  6633. #define CCM_ANALOG_PLL_ENET_TOG_LOCK_SHIFT (31U)
  6634. #define CCM_ANALOG_PLL_ENET_TOG_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_TOG_LOCK_SHIFT)) & CCM_ANALOG_PLL_ENET_TOG_LOCK_MASK)
  6635. /*! @} */
  6636. /*! @name PFD_480 - 480MHz Clock (PLL3) Phase Fractional Divider Control Register */
  6637. /*! @{ */
  6638. #define CCM_ANALOG_PFD_480_PFD0_FRAC_MASK (0x3FU)
  6639. #define CCM_ANALOG_PFD_480_PFD0_FRAC_SHIFT (0U)
  6640. #define CCM_ANALOG_PFD_480_PFD0_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_PFD0_FRAC_SHIFT)) & CCM_ANALOG_PFD_480_PFD0_FRAC_MASK)
  6641. #define CCM_ANALOG_PFD_480_PFD0_STABLE_MASK (0x40U)
  6642. #define CCM_ANALOG_PFD_480_PFD0_STABLE_SHIFT (6U)
  6643. #define CCM_ANALOG_PFD_480_PFD0_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_PFD0_STABLE_SHIFT)) & CCM_ANALOG_PFD_480_PFD0_STABLE_MASK)
  6644. #define CCM_ANALOG_PFD_480_PFD0_CLKGATE_MASK (0x80U)
  6645. #define CCM_ANALOG_PFD_480_PFD0_CLKGATE_SHIFT (7U)
  6646. #define CCM_ANALOG_PFD_480_PFD0_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_PFD0_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_480_PFD0_CLKGATE_MASK)
  6647. #define CCM_ANALOG_PFD_480_PFD1_FRAC_MASK (0x3F00U)
  6648. #define CCM_ANALOG_PFD_480_PFD1_FRAC_SHIFT (8U)
  6649. #define CCM_ANALOG_PFD_480_PFD1_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_PFD1_FRAC_SHIFT)) & CCM_ANALOG_PFD_480_PFD1_FRAC_MASK)
  6650. #define CCM_ANALOG_PFD_480_PFD1_STABLE_MASK (0x4000U)
  6651. #define CCM_ANALOG_PFD_480_PFD1_STABLE_SHIFT (14U)
  6652. #define CCM_ANALOG_PFD_480_PFD1_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_PFD1_STABLE_SHIFT)) & CCM_ANALOG_PFD_480_PFD1_STABLE_MASK)
  6653. #define CCM_ANALOG_PFD_480_PFD1_CLKGATE_MASK (0x8000U)
  6654. #define CCM_ANALOG_PFD_480_PFD1_CLKGATE_SHIFT (15U)
  6655. #define CCM_ANALOG_PFD_480_PFD1_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_PFD1_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_480_PFD1_CLKGATE_MASK)
  6656. #define CCM_ANALOG_PFD_480_PFD2_FRAC_MASK (0x3F0000U)
  6657. #define CCM_ANALOG_PFD_480_PFD2_FRAC_SHIFT (16U)
  6658. #define CCM_ANALOG_PFD_480_PFD2_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_PFD2_FRAC_SHIFT)) & CCM_ANALOG_PFD_480_PFD2_FRAC_MASK)
  6659. #define CCM_ANALOG_PFD_480_PFD2_STABLE_MASK (0x400000U)
  6660. #define CCM_ANALOG_PFD_480_PFD2_STABLE_SHIFT (22U)
  6661. #define CCM_ANALOG_PFD_480_PFD2_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_PFD2_STABLE_SHIFT)) & CCM_ANALOG_PFD_480_PFD2_STABLE_MASK)
  6662. #define CCM_ANALOG_PFD_480_PFD2_CLKGATE_MASK (0x800000U)
  6663. #define CCM_ANALOG_PFD_480_PFD2_CLKGATE_SHIFT (23U)
  6664. #define CCM_ANALOG_PFD_480_PFD2_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_PFD2_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_480_PFD2_CLKGATE_MASK)
  6665. #define CCM_ANALOG_PFD_480_PFD3_FRAC_MASK (0x3F000000U)
  6666. #define CCM_ANALOG_PFD_480_PFD3_FRAC_SHIFT (24U)
  6667. #define CCM_ANALOG_PFD_480_PFD3_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_PFD3_FRAC_SHIFT)) & CCM_ANALOG_PFD_480_PFD3_FRAC_MASK)
  6668. #define CCM_ANALOG_PFD_480_PFD3_STABLE_MASK (0x40000000U)
  6669. #define CCM_ANALOG_PFD_480_PFD3_STABLE_SHIFT (30U)
  6670. #define CCM_ANALOG_PFD_480_PFD3_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_PFD3_STABLE_SHIFT)) & CCM_ANALOG_PFD_480_PFD3_STABLE_MASK)
  6671. #define CCM_ANALOG_PFD_480_PFD3_CLKGATE_MASK (0x80000000U)
  6672. #define CCM_ANALOG_PFD_480_PFD3_CLKGATE_SHIFT (31U)
  6673. #define CCM_ANALOG_PFD_480_PFD3_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_PFD3_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_480_PFD3_CLKGATE_MASK)
  6674. /*! @} */
  6675. /*! @name PFD_480_SET - 480MHz Clock (PLL3) Phase Fractional Divider Control Register */
  6676. /*! @{ */
  6677. #define CCM_ANALOG_PFD_480_SET_PFD0_FRAC_MASK (0x3FU)
  6678. #define CCM_ANALOG_PFD_480_SET_PFD0_FRAC_SHIFT (0U)
  6679. #define CCM_ANALOG_PFD_480_SET_PFD0_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_SET_PFD0_FRAC_SHIFT)) & CCM_ANALOG_PFD_480_SET_PFD0_FRAC_MASK)
  6680. #define CCM_ANALOG_PFD_480_SET_PFD0_STABLE_MASK (0x40U)
  6681. #define CCM_ANALOG_PFD_480_SET_PFD0_STABLE_SHIFT (6U)
  6682. #define CCM_ANALOG_PFD_480_SET_PFD0_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_SET_PFD0_STABLE_SHIFT)) & CCM_ANALOG_PFD_480_SET_PFD0_STABLE_MASK)
  6683. #define CCM_ANALOG_PFD_480_SET_PFD0_CLKGATE_MASK (0x80U)
  6684. #define CCM_ANALOG_PFD_480_SET_PFD0_CLKGATE_SHIFT (7U)
  6685. #define CCM_ANALOG_PFD_480_SET_PFD0_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_SET_PFD0_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_480_SET_PFD0_CLKGATE_MASK)
  6686. #define CCM_ANALOG_PFD_480_SET_PFD1_FRAC_MASK (0x3F00U)
  6687. #define CCM_ANALOG_PFD_480_SET_PFD1_FRAC_SHIFT (8U)
  6688. #define CCM_ANALOG_PFD_480_SET_PFD1_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_SET_PFD1_FRAC_SHIFT)) & CCM_ANALOG_PFD_480_SET_PFD1_FRAC_MASK)
  6689. #define CCM_ANALOG_PFD_480_SET_PFD1_STABLE_MASK (0x4000U)
  6690. #define CCM_ANALOG_PFD_480_SET_PFD1_STABLE_SHIFT (14U)
  6691. #define CCM_ANALOG_PFD_480_SET_PFD1_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_SET_PFD1_STABLE_SHIFT)) & CCM_ANALOG_PFD_480_SET_PFD1_STABLE_MASK)
  6692. #define CCM_ANALOG_PFD_480_SET_PFD1_CLKGATE_MASK (0x8000U)
  6693. #define CCM_ANALOG_PFD_480_SET_PFD1_CLKGATE_SHIFT (15U)
  6694. #define CCM_ANALOG_PFD_480_SET_PFD1_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_SET_PFD1_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_480_SET_PFD1_CLKGATE_MASK)
  6695. #define CCM_ANALOG_PFD_480_SET_PFD2_FRAC_MASK (0x3F0000U)
  6696. #define CCM_ANALOG_PFD_480_SET_PFD2_FRAC_SHIFT (16U)
  6697. #define CCM_ANALOG_PFD_480_SET_PFD2_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_SET_PFD2_FRAC_SHIFT)) & CCM_ANALOG_PFD_480_SET_PFD2_FRAC_MASK)
  6698. #define CCM_ANALOG_PFD_480_SET_PFD2_STABLE_MASK (0x400000U)
  6699. #define CCM_ANALOG_PFD_480_SET_PFD2_STABLE_SHIFT (22U)
  6700. #define CCM_ANALOG_PFD_480_SET_PFD2_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_SET_PFD2_STABLE_SHIFT)) & CCM_ANALOG_PFD_480_SET_PFD2_STABLE_MASK)
  6701. #define CCM_ANALOG_PFD_480_SET_PFD2_CLKGATE_MASK (0x800000U)
  6702. #define CCM_ANALOG_PFD_480_SET_PFD2_CLKGATE_SHIFT (23U)
  6703. #define CCM_ANALOG_PFD_480_SET_PFD2_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_SET_PFD2_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_480_SET_PFD2_CLKGATE_MASK)
  6704. #define CCM_ANALOG_PFD_480_SET_PFD3_FRAC_MASK (0x3F000000U)
  6705. #define CCM_ANALOG_PFD_480_SET_PFD3_FRAC_SHIFT (24U)
  6706. #define CCM_ANALOG_PFD_480_SET_PFD3_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_SET_PFD3_FRAC_SHIFT)) & CCM_ANALOG_PFD_480_SET_PFD3_FRAC_MASK)
  6707. #define CCM_ANALOG_PFD_480_SET_PFD3_STABLE_MASK (0x40000000U)
  6708. #define CCM_ANALOG_PFD_480_SET_PFD3_STABLE_SHIFT (30U)
  6709. #define CCM_ANALOG_PFD_480_SET_PFD3_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_SET_PFD3_STABLE_SHIFT)) & CCM_ANALOG_PFD_480_SET_PFD3_STABLE_MASK)
  6710. #define CCM_ANALOG_PFD_480_SET_PFD3_CLKGATE_MASK (0x80000000U)
  6711. #define CCM_ANALOG_PFD_480_SET_PFD3_CLKGATE_SHIFT (31U)
  6712. #define CCM_ANALOG_PFD_480_SET_PFD3_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_SET_PFD3_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_480_SET_PFD3_CLKGATE_MASK)
  6713. /*! @} */
  6714. /*! @name PFD_480_CLR - 480MHz Clock (PLL3) Phase Fractional Divider Control Register */
  6715. /*! @{ */
  6716. #define CCM_ANALOG_PFD_480_CLR_PFD0_FRAC_MASK (0x3FU)
  6717. #define CCM_ANALOG_PFD_480_CLR_PFD0_FRAC_SHIFT (0U)
  6718. #define CCM_ANALOG_PFD_480_CLR_PFD0_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_CLR_PFD0_FRAC_SHIFT)) & CCM_ANALOG_PFD_480_CLR_PFD0_FRAC_MASK)
  6719. #define CCM_ANALOG_PFD_480_CLR_PFD0_STABLE_MASK (0x40U)
  6720. #define CCM_ANALOG_PFD_480_CLR_PFD0_STABLE_SHIFT (6U)
  6721. #define CCM_ANALOG_PFD_480_CLR_PFD0_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_CLR_PFD0_STABLE_SHIFT)) & CCM_ANALOG_PFD_480_CLR_PFD0_STABLE_MASK)
  6722. #define CCM_ANALOG_PFD_480_CLR_PFD0_CLKGATE_MASK (0x80U)
  6723. #define CCM_ANALOG_PFD_480_CLR_PFD0_CLKGATE_SHIFT (7U)
  6724. #define CCM_ANALOG_PFD_480_CLR_PFD0_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_CLR_PFD0_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_480_CLR_PFD0_CLKGATE_MASK)
  6725. #define CCM_ANALOG_PFD_480_CLR_PFD1_FRAC_MASK (0x3F00U)
  6726. #define CCM_ANALOG_PFD_480_CLR_PFD1_FRAC_SHIFT (8U)
  6727. #define CCM_ANALOG_PFD_480_CLR_PFD1_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_CLR_PFD1_FRAC_SHIFT)) & CCM_ANALOG_PFD_480_CLR_PFD1_FRAC_MASK)
  6728. #define CCM_ANALOG_PFD_480_CLR_PFD1_STABLE_MASK (0x4000U)
  6729. #define CCM_ANALOG_PFD_480_CLR_PFD1_STABLE_SHIFT (14U)
  6730. #define CCM_ANALOG_PFD_480_CLR_PFD1_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_CLR_PFD1_STABLE_SHIFT)) & CCM_ANALOG_PFD_480_CLR_PFD1_STABLE_MASK)
  6731. #define CCM_ANALOG_PFD_480_CLR_PFD1_CLKGATE_MASK (0x8000U)
  6732. #define CCM_ANALOG_PFD_480_CLR_PFD1_CLKGATE_SHIFT (15U)
  6733. #define CCM_ANALOG_PFD_480_CLR_PFD1_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_CLR_PFD1_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_480_CLR_PFD1_CLKGATE_MASK)
  6734. #define CCM_ANALOG_PFD_480_CLR_PFD2_FRAC_MASK (0x3F0000U)
  6735. #define CCM_ANALOG_PFD_480_CLR_PFD2_FRAC_SHIFT (16U)
  6736. #define CCM_ANALOG_PFD_480_CLR_PFD2_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_CLR_PFD2_FRAC_SHIFT)) & CCM_ANALOG_PFD_480_CLR_PFD2_FRAC_MASK)
  6737. #define CCM_ANALOG_PFD_480_CLR_PFD2_STABLE_MASK (0x400000U)
  6738. #define CCM_ANALOG_PFD_480_CLR_PFD2_STABLE_SHIFT (22U)
  6739. #define CCM_ANALOG_PFD_480_CLR_PFD2_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_CLR_PFD2_STABLE_SHIFT)) & CCM_ANALOG_PFD_480_CLR_PFD2_STABLE_MASK)
  6740. #define CCM_ANALOG_PFD_480_CLR_PFD2_CLKGATE_MASK (0x800000U)
  6741. #define CCM_ANALOG_PFD_480_CLR_PFD2_CLKGATE_SHIFT (23U)
  6742. #define CCM_ANALOG_PFD_480_CLR_PFD2_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_CLR_PFD2_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_480_CLR_PFD2_CLKGATE_MASK)
  6743. #define CCM_ANALOG_PFD_480_CLR_PFD3_FRAC_MASK (0x3F000000U)
  6744. #define CCM_ANALOG_PFD_480_CLR_PFD3_FRAC_SHIFT (24U)
  6745. #define CCM_ANALOG_PFD_480_CLR_PFD3_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_CLR_PFD3_FRAC_SHIFT)) & CCM_ANALOG_PFD_480_CLR_PFD3_FRAC_MASK)
  6746. #define CCM_ANALOG_PFD_480_CLR_PFD3_STABLE_MASK (0x40000000U)
  6747. #define CCM_ANALOG_PFD_480_CLR_PFD3_STABLE_SHIFT (30U)
  6748. #define CCM_ANALOG_PFD_480_CLR_PFD3_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_CLR_PFD3_STABLE_SHIFT)) & CCM_ANALOG_PFD_480_CLR_PFD3_STABLE_MASK)
  6749. #define CCM_ANALOG_PFD_480_CLR_PFD3_CLKGATE_MASK (0x80000000U)
  6750. #define CCM_ANALOG_PFD_480_CLR_PFD3_CLKGATE_SHIFT (31U)
  6751. #define CCM_ANALOG_PFD_480_CLR_PFD3_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_CLR_PFD3_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_480_CLR_PFD3_CLKGATE_MASK)
  6752. /*! @} */
  6753. /*! @name PFD_480_TOG - 480MHz Clock (PLL3) Phase Fractional Divider Control Register */
  6754. /*! @{ */
  6755. #define CCM_ANALOG_PFD_480_TOG_PFD0_FRAC_MASK (0x3FU)
  6756. #define CCM_ANALOG_PFD_480_TOG_PFD0_FRAC_SHIFT (0U)
  6757. #define CCM_ANALOG_PFD_480_TOG_PFD0_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_TOG_PFD0_FRAC_SHIFT)) & CCM_ANALOG_PFD_480_TOG_PFD0_FRAC_MASK)
  6758. #define CCM_ANALOG_PFD_480_TOG_PFD0_STABLE_MASK (0x40U)
  6759. #define CCM_ANALOG_PFD_480_TOG_PFD0_STABLE_SHIFT (6U)
  6760. #define CCM_ANALOG_PFD_480_TOG_PFD0_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_TOG_PFD0_STABLE_SHIFT)) & CCM_ANALOG_PFD_480_TOG_PFD0_STABLE_MASK)
  6761. #define CCM_ANALOG_PFD_480_TOG_PFD0_CLKGATE_MASK (0x80U)
  6762. #define CCM_ANALOG_PFD_480_TOG_PFD0_CLKGATE_SHIFT (7U)
  6763. #define CCM_ANALOG_PFD_480_TOG_PFD0_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_TOG_PFD0_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_480_TOG_PFD0_CLKGATE_MASK)
  6764. #define CCM_ANALOG_PFD_480_TOG_PFD1_FRAC_MASK (0x3F00U)
  6765. #define CCM_ANALOG_PFD_480_TOG_PFD1_FRAC_SHIFT (8U)
  6766. #define CCM_ANALOG_PFD_480_TOG_PFD1_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_TOG_PFD1_FRAC_SHIFT)) & CCM_ANALOG_PFD_480_TOG_PFD1_FRAC_MASK)
  6767. #define CCM_ANALOG_PFD_480_TOG_PFD1_STABLE_MASK (0x4000U)
  6768. #define CCM_ANALOG_PFD_480_TOG_PFD1_STABLE_SHIFT (14U)
  6769. #define CCM_ANALOG_PFD_480_TOG_PFD1_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_TOG_PFD1_STABLE_SHIFT)) & CCM_ANALOG_PFD_480_TOG_PFD1_STABLE_MASK)
  6770. #define CCM_ANALOG_PFD_480_TOG_PFD1_CLKGATE_MASK (0x8000U)
  6771. #define CCM_ANALOG_PFD_480_TOG_PFD1_CLKGATE_SHIFT (15U)
  6772. #define CCM_ANALOG_PFD_480_TOG_PFD1_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_TOG_PFD1_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_480_TOG_PFD1_CLKGATE_MASK)
  6773. #define CCM_ANALOG_PFD_480_TOG_PFD2_FRAC_MASK (0x3F0000U)
  6774. #define CCM_ANALOG_PFD_480_TOG_PFD2_FRAC_SHIFT (16U)
  6775. #define CCM_ANALOG_PFD_480_TOG_PFD2_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_TOG_PFD2_FRAC_SHIFT)) & CCM_ANALOG_PFD_480_TOG_PFD2_FRAC_MASK)
  6776. #define CCM_ANALOG_PFD_480_TOG_PFD2_STABLE_MASK (0x400000U)
  6777. #define CCM_ANALOG_PFD_480_TOG_PFD2_STABLE_SHIFT (22U)
  6778. #define CCM_ANALOG_PFD_480_TOG_PFD2_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_TOG_PFD2_STABLE_SHIFT)) & CCM_ANALOG_PFD_480_TOG_PFD2_STABLE_MASK)
  6779. #define CCM_ANALOG_PFD_480_TOG_PFD2_CLKGATE_MASK (0x800000U)
  6780. #define CCM_ANALOG_PFD_480_TOG_PFD2_CLKGATE_SHIFT (23U)
  6781. #define CCM_ANALOG_PFD_480_TOG_PFD2_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_TOG_PFD2_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_480_TOG_PFD2_CLKGATE_MASK)
  6782. #define CCM_ANALOG_PFD_480_TOG_PFD3_FRAC_MASK (0x3F000000U)
  6783. #define CCM_ANALOG_PFD_480_TOG_PFD3_FRAC_SHIFT (24U)
  6784. #define CCM_ANALOG_PFD_480_TOG_PFD3_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_TOG_PFD3_FRAC_SHIFT)) & CCM_ANALOG_PFD_480_TOG_PFD3_FRAC_MASK)
  6785. #define CCM_ANALOG_PFD_480_TOG_PFD3_STABLE_MASK (0x40000000U)
  6786. #define CCM_ANALOG_PFD_480_TOG_PFD3_STABLE_SHIFT (30U)
  6787. #define CCM_ANALOG_PFD_480_TOG_PFD3_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_TOG_PFD3_STABLE_SHIFT)) & CCM_ANALOG_PFD_480_TOG_PFD3_STABLE_MASK)
  6788. #define CCM_ANALOG_PFD_480_TOG_PFD3_CLKGATE_MASK (0x80000000U)
  6789. #define CCM_ANALOG_PFD_480_TOG_PFD3_CLKGATE_SHIFT (31U)
  6790. #define CCM_ANALOG_PFD_480_TOG_PFD3_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_480_TOG_PFD3_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_480_TOG_PFD3_CLKGATE_MASK)
  6791. /*! @} */
  6792. /*! @name PFD_528 - 528MHz Clock (PLL2) Phase Fractional Divider Control Register */
  6793. /*! @{ */
  6794. #define CCM_ANALOG_PFD_528_PFD0_FRAC_MASK (0x3FU)
  6795. #define CCM_ANALOG_PFD_528_PFD0_FRAC_SHIFT (0U)
  6796. #define CCM_ANALOG_PFD_528_PFD0_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_PFD0_FRAC_SHIFT)) & CCM_ANALOG_PFD_528_PFD0_FRAC_MASK)
  6797. #define CCM_ANALOG_PFD_528_PFD0_STABLE_MASK (0x40U)
  6798. #define CCM_ANALOG_PFD_528_PFD0_STABLE_SHIFT (6U)
  6799. #define CCM_ANALOG_PFD_528_PFD0_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_PFD0_STABLE_SHIFT)) & CCM_ANALOG_PFD_528_PFD0_STABLE_MASK)
  6800. #define CCM_ANALOG_PFD_528_PFD0_CLKGATE_MASK (0x80U)
  6801. #define CCM_ANALOG_PFD_528_PFD0_CLKGATE_SHIFT (7U)
  6802. #define CCM_ANALOG_PFD_528_PFD0_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_PFD0_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_528_PFD0_CLKGATE_MASK)
  6803. #define CCM_ANALOG_PFD_528_PFD1_FRAC_MASK (0x3F00U)
  6804. #define CCM_ANALOG_PFD_528_PFD1_FRAC_SHIFT (8U)
  6805. #define CCM_ANALOG_PFD_528_PFD1_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_PFD1_FRAC_SHIFT)) & CCM_ANALOG_PFD_528_PFD1_FRAC_MASK)
  6806. #define CCM_ANALOG_PFD_528_PFD1_STABLE_MASK (0x4000U)
  6807. #define CCM_ANALOG_PFD_528_PFD1_STABLE_SHIFT (14U)
  6808. #define CCM_ANALOG_PFD_528_PFD1_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_PFD1_STABLE_SHIFT)) & CCM_ANALOG_PFD_528_PFD1_STABLE_MASK)
  6809. #define CCM_ANALOG_PFD_528_PFD1_CLKGATE_MASK (0x8000U)
  6810. #define CCM_ANALOG_PFD_528_PFD1_CLKGATE_SHIFT (15U)
  6811. #define CCM_ANALOG_PFD_528_PFD1_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_PFD1_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_528_PFD1_CLKGATE_MASK)
  6812. #define CCM_ANALOG_PFD_528_PFD2_FRAC_MASK (0x3F0000U)
  6813. #define CCM_ANALOG_PFD_528_PFD2_FRAC_SHIFT (16U)
  6814. #define CCM_ANALOG_PFD_528_PFD2_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_PFD2_FRAC_SHIFT)) & CCM_ANALOG_PFD_528_PFD2_FRAC_MASK)
  6815. #define CCM_ANALOG_PFD_528_PFD2_STABLE_MASK (0x400000U)
  6816. #define CCM_ANALOG_PFD_528_PFD2_STABLE_SHIFT (22U)
  6817. #define CCM_ANALOG_PFD_528_PFD2_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_PFD2_STABLE_SHIFT)) & CCM_ANALOG_PFD_528_PFD2_STABLE_MASK)
  6818. #define CCM_ANALOG_PFD_528_PFD2_CLKGATE_MASK (0x800000U)
  6819. #define CCM_ANALOG_PFD_528_PFD2_CLKGATE_SHIFT (23U)
  6820. #define CCM_ANALOG_PFD_528_PFD2_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_PFD2_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_528_PFD2_CLKGATE_MASK)
  6821. #define CCM_ANALOG_PFD_528_PFD3_FRAC_MASK (0x3F000000U)
  6822. #define CCM_ANALOG_PFD_528_PFD3_FRAC_SHIFT (24U)
  6823. #define CCM_ANALOG_PFD_528_PFD3_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_PFD3_FRAC_SHIFT)) & CCM_ANALOG_PFD_528_PFD3_FRAC_MASK)
  6824. #define CCM_ANALOG_PFD_528_PFD3_STABLE_MASK (0x40000000U)
  6825. #define CCM_ANALOG_PFD_528_PFD3_STABLE_SHIFT (30U)
  6826. #define CCM_ANALOG_PFD_528_PFD3_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_PFD3_STABLE_SHIFT)) & CCM_ANALOG_PFD_528_PFD3_STABLE_MASK)
  6827. #define CCM_ANALOG_PFD_528_PFD3_CLKGATE_MASK (0x80000000U)
  6828. #define CCM_ANALOG_PFD_528_PFD3_CLKGATE_SHIFT (31U)
  6829. #define CCM_ANALOG_PFD_528_PFD3_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_PFD3_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_528_PFD3_CLKGATE_MASK)
  6830. /*! @} */
  6831. /*! @name PFD_528_SET - 528MHz Clock (PLL2) Phase Fractional Divider Control Register */
  6832. /*! @{ */
  6833. #define CCM_ANALOG_PFD_528_SET_PFD0_FRAC_MASK (0x3FU)
  6834. #define CCM_ANALOG_PFD_528_SET_PFD0_FRAC_SHIFT (0U)
  6835. #define CCM_ANALOG_PFD_528_SET_PFD0_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_SET_PFD0_FRAC_SHIFT)) & CCM_ANALOG_PFD_528_SET_PFD0_FRAC_MASK)
  6836. #define CCM_ANALOG_PFD_528_SET_PFD0_STABLE_MASK (0x40U)
  6837. #define CCM_ANALOG_PFD_528_SET_PFD0_STABLE_SHIFT (6U)
  6838. #define CCM_ANALOG_PFD_528_SET_PFD0_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_SET_PFD0_STABLE_SHIFT)) & CCM_ANALOG_PFD_528_SET_PFD0_STABLE_MASK)
  6839. #define CCM_ANALOG_PFD_528_SET_PFD0_CLKGATE_MASK (0x80U)
  6840. #define CCM_ANALOG_PFD_528_SET_PFD0_CLKGATE_SHIFT (7U)
  6841. #define CCM_ANALOG_PFD_528_SET_PFD0_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_SET_PFD0_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_528_SET_PFD0_CLKGATE_MASK)
  6842. #define CCM_ANALOG_PFD_528_SET_PFD1_FRAC_MASK (0x3F00U)
  6843. #define CCM_ANALOG_PFD_528_SET_PFD1_FRAC_SHIFT (8U)
  6844. #define CCM_ANALOG_PFD_528_SET_PFD1_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_SET_PFD1_FRAC_SHIFT)) & CCM_ANALOG_PFD_528_SET_PFD1_FRAC_MASK)
  6845. #define CCM_ANALOG_PFD_528_SET_PFD1_STABLE_MASK (0x4000U)
  6846. #define CCM_ANALOG_PFD_528_SET_PFD1_STABLE_SHIFT (14U)
  6847. #define CCM_ANALOG_PFD_528_SET_PFD1_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_SET_PFD1_STABLE_SHIFT)) & CCM_ANALOG_PFD_528_SET_PFD1_STABLE_MASK)
  6848. #define CCM_ANALOG_PFD_528_SET_PFD1_CLKGATE_MASK (0x8000U)
  6849. #define CCM_ANALOG_PFD_528_SET_PFD1_CLKGATE_SHIFT (15U)
  6850. #define CCM_ANALOG_PFD_528_SET_PFD1_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_SET_PFD1_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_528_SET_PFD1_CLKGATE_MASK)
  6851. #define CCM_ANALOG_PFD_528_SET_PFD2_FRAC_MASK (0x3F0000U)
  6852. #define CCM_ANALOG_PFD_528_SET_PFD2_FRAC_SHIFT (16U)
  6853. #define CCM_ANALOG_PFD_528_SET_PFD2_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_SET_PFD2_FRAC_SHIFT)) & CCM_ANALOG_PFD_528_SET_PFD2_FRAC_MASK)
  6854. #define CCM_ANALOG_PFD_528_SET_PFD2_STABLE_MASK (0x400000U)
  6855. #define CCM_ANALOG_PFD_528_SET_PFD2_STABLE_SHIFT (22U)
  6856. #define CCM_ANALOG_PFD_528_SET_PFD2_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_SET_PFD2_STABLE_SHIFT)) & CCM_ANALOG_PFD_528_SET_PFD2_STABLE_MASK)
  6857. #define CCM_ANALOG_PFD_528_SET_PFD2_CLKGATE_MASK (0x800000U)
  6858. #define CCM_ANALOG_PFD_528_SET_PFD2_CLKGATE_SHIFT (23U)
  6859. #define CCM_ANALOG_PFD_528_SET_PFD2_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_SET_PFD2_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_528_SET_PFD2_CLKGATE_MASK)
  6860. #define CCM_ANALOG_PFD_528_SET_PFD3_FRAC_MASK (0x3F000000U)
  6861. #define CCM_ANALOG_PFD_528_SET_PFD3_FRAC_SHIFT (24U)
  6862. #define CCM_ANALOG_PFD_528_SET_PFD3_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_SET_PFD3_FRAC_SHIFT)) & CCM_ANALOG_PFD_528_SET_PFD3_FRAC_MASK)
  6863. #define CCM_ANALOG_PFD_528_SET_PFD3_STABLE_MASK (0x40000000U)
  6864. #define CCM_ANALOG_PFD_528_SET_PFD3_STABLE_SHIFT (30U)
  6865. #define CCM_ANALOG_PFD_528_SET_PFD3_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_SET_PFD3_STABLE_SHIFT)) & CCM_ANALOG_PFD_528_SET_PFD3_STABLE_MASK)
  6866. #define CCM_ANALOG_PFD_528_SET_PFD3_CLKGATE_MASK (0x80000000U)
  6867. #define CCM_ANALOG_PFD_528_SET_PFD3_CLKGATE_SHIFT (31U)
  6868. #define CCM_ANALOG_PFD_528_SET_PFD3_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_SET_PFD3_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_528_SET_PFD3_CLKGATE_MASK)
  6869. /*! @} */
  6870. /*! @name PFD_528_CLR - 528MHz Clock (PLL2) Phase Fractional Divider Control Register */
  6871. /*! @{ */
  6872. #define CCM_ANALOG_PFD_528_CLR_PFD0_FRAC_MASK (0x3FU)
  6873. #define CCM_ANALOG_PFD_528_CLR_PFD0_FRAC_SHIFT (0U)
  6874. #define CCM_ANALOG_PFD_528_CLR_PFD0_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_CLR_PFD0_FRAC_SHIFT)) & CCM_ANALOG_PFD_528_CLR_PFD0_FRAC_MASK)
  6875. #define CCM_ANALOG_PFD_528_CLR_PFD0_STABLE_MASK (0x40U)
  6876. #define CCM_ANALOG_PFD_528_CLR_PFD0_STABLE_SHIFT (6U)
  6877. #define CCM_ANALOG_PFD_528_CLR_PFD0_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_CLR_PFD0_STABLE_SHIFT)) & CCM_ANALOG_PFD_528_CLR_PFD0_STABLE_MASK)
  6878. #define CCM_ANALOG_PFD_528_CLR_PFD0_CLKGATE_MASK (0x80U)
  6879. #define CCM_ANALOG_PFD_528_CLR_PFD0_CLKGATE_SHIFT (7U)
  6880. #define CCM_ANALOG_PFD_528_CLR_PFD0_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_CLR_PFD0_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_528_CLR_PFD0_CLKGATE_MASK)
  6881. #define CCM_ANALOG_PFD_528_CLR_PFD1_FRAC_MASK (0x3F00U)
  6882. #define CCM_ANALOG_PFD_528_CLR_PFD1_FRAC_SHIFT (8U)
  6883. #define CCM_ANALOG_PFD_528_CLR_PFD1_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_CLR_PFD1_FRAC_SHIFT)) & CCM_ANALOG_PFD_528_CLR_PFD1_FRAC_MASK)
  6884. #define CCM_ANALOG_PFD_528_CLR_PFD1_STABLE_MASK (0x4000U)
  6885. #define CCM_ANALOG_PFD_528_CLR_PFD1_STABLE_SHIFT (14U)
  6886. #define CCM_ANALOG_PFD_528_CLR_PFD1_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_CLR_PFD1_STABLE_SHIFT)) & CCM_ANALOG_PFD_528_CLR_PFD1_STABLE_MASK)
  6887. #define CCM_ANALOG_PFD_528_CLR_PFD1_CLKGATE_MASK (0x8000U)
  6888. #define CCM_ANALOG_PFD_528_CLR_PFD1_CLKGATE_SHIFT (15U)
  6889. #define CCM_ANALOG_PFD_528_CLR_PFD1_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_CLR_PFD1_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_528_CLR_PFD1_CLKGATE_MASK)
  6890. #define CCM_ANALOG_PFD_528_CLR_PFD2_FRAC_MASK (0x3F0000U)
  6891. #define CCM_ANALOG_PFD_528_CLR_PFD2_FRAC_SHIFT (16U)
  6892. #define CCM_ANALOG_PFD_528_CLR_PFD2_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_CLR_PFD2_FRAC_SHIFT)) & CCM_ANALOG_PFD_528_CLR_PFD2_FRAC_MASK)
  6893. #define CCM_ANALOG_PFD_528_CLR_PFD2_STABLE_MASK (0x400000U)
  6894. #define CCM_ANALOG_PFD_528_CLR_PFD2_STABLE_SHIFT (22U)
  6895. #define CCM_ANALOG_PFD_528_CLR_PFD2_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_CLR_PFD2_STABLE_SHIFT)) & CCM_ANALOG_PFD_528_CLR_PFD2_STABLE_MASK)
  6896. #define CCM_ANALOG_PFD_528_CLR_PFD2_CLKGATE_MASK (0x800000U)
  6897. #define CCM_ANALOG_PFD_528_CLR_PFD2_CLKGATE_SHIFT (23U)
  6898. #define CCM_ANALOG_PFD_528_CLR_PFD2_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_CLR_PFD2_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_528_CLR_PFD2_CLKGATE_MASK)
  6899. #define CCM_ANALOG_PFD_528_CLR_PFD3_FRAC_MASK (0x3F000000U)
  6900. #define CCM_ANALOG_PFD_528_CLR_PFD3_FRAC_SHIFT (24U)
  6901. #define CCM_ANALOG_PFD_528_CLR_PFD3_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_CLR_PFD3_FRAC_SHIFT)) & CCM_ANALOG_PFD_528_CLR_PFD3_FRAC_MASK)
  6902. #define CCM_ANALOG_PFD_528_CLR_PFD3_STABLE_MASK (0x40000000U)
  6903. #define CCM_ANALOG_PFD_528_CLR_PFD3_STABLE_SHIFT (30U)
  6904. #define CCM_ANALOG_PFD_528_CLR_PFD3_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_CLR_PFD3_STABLE_SHIFT)) & CCM_ANALOG_PFD_528_CLR_PFD3_STABLE_MASK)
  6905. #define CCM_ANALOG_PFD_528_CLR_PFD3_CLKGATE_MASK (0x80000000U)
  6906. #define CCM_ANALOG_PFD_528_CLR_PFD3_CLKGATE_SHIFT (31U)
  6907. #define CCM_ANALOG_PFD_528_CLR_PFD3_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_CLR_PFD3_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_528_CLR_PFD3_CLKGATE_MASK)
  6908. /*! @} */
  6909. /*! @name PFD_528_TOG - 528MHz Clock (PLL2) Phase Fractional Divider Control Register */
  6910. /*! @{ */
  6911. #define CCM_ANALOG_PFD_528_TOG_PFD0_FRAC_MASK (0x3FU)
  6912. #define CCM_ANALOG_PFD_528_TOG_PFD0_FRAC_SHIFT (0U)
  6913. #define CCM_ANALOG_PFD_528_TOG_PFD0_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_TOG_PFD0_FRAC_SHIFT)) & CCM_ANALOG_PFD_528_TOG_PFD0_FRAC_MASK)
  6914. #define CCM_ANALOG_PFD_528_TOG_PFD0_STABLE_MASK (0x40U)
  6915. #define CCM_ANALOG_PFD_528_TOG_PFD0_STABLE_SHIFT (6U)
  6916. #define CCM_ANALOG_PFD_528_TOG_PFD0_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_TOG_PFD0_STABLE_SHIFT)) & CCM_ANALOG_PFD_528_TOG_PFD0_STABLE_MASK)
  6917. #define CCM_ANALOG_PFD_528_TOG_PFD0_CLKGATE_MASK (0x80U)
  6918. #define CCM_ANALOG_PFD_528_TOG_PFD0_CLKGATE_SHIFT (7U)
  6919. #define CCM_ANALOG_PFD_528_TOG_PFD0_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_TOG_PFD0_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_528_TOG_PFD0_CLKGATE_MASK)
  6920. #define CCM_ANALOG_PFD_528_TOG_PFD1_FRAC_MASK (0x3F00U)
  6921. #define CCM_ANALOG_PFD_528_TOG_PFD1_FRAC_SHIFT (8U)
  6922. #define CCM_ANALOG_PFD_528_TOG_PFD1_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_TOG_PFD1_FRAC_SHIFT)) & CCM_ANALOG_PFD_528_TOG_PFD1_FRAC_MASK)
  6923. #define CCM_ANALOG_PFD_528_TOG_PFD1_STABLE_MASK (0x4000U)
  6924. #define CCM_ANALOG_PFD_528_TOG_PFD1_STABLE_SHIFT (14U)
  6925. #define CCM_ANALOG_PFD_528_TOG_PFD1_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_TOG_PFD1_STABLE_SHIFT)) & CCM_ANALOG_PFD_528_TOG_PFD1_STABLE_MASK)
  6926. #define CCM_ANALOG_PFD_528_TOG_PFD1_CLKGATE_MASK (0x8000U)
  6927. #define CCM_ANALOG_PFD_528_TOG_PFD1_CLKGATE_SHIFT (15U)
  6928. #define CCM_ANALOG_PFD_528_TOG_PFD1_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_TOG_PFD1_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_528_TOG_PFD1_CLKGATE_MASK)
  6929. #define CCM_ANALOG_PFD_528_TOG_PFD2_FRAC_MASK (0x3F0000U)
  6930. #define CCM_ANALOG_PFD_528_TOG_PFD2_FRAC_SHIFT (16U)
  6931. #define CCM_ANALOG_PFD_528_TOG_PFD2_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_TOG_PFD2_FRAC_SHIFT)) & CCM_ANALOG_PFD_528_TOG_PFD2_FRAC_MASK)
  6932. #define CCM_ANALOG_PFD_528_TOG_PFD2_STABLE_MASK (0x400000U)
  6933. #define CCM_ANALOG_PFD_528_TOG_PFD2_STABLE_SHIFT (22U)
  6934. #define CCM_ANALOG_PFD_528_TOG_PFD2_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_TOG_PFD2_STABLE_SHIFT)) & CCM_ANALOG_PFD_528_TOG_PFD2_STABLE_MASK)
  6935. #define CCM_ANALOG_PFD_528_TOG_PFD2_CLKGATE_MASK (0x800000U)
  6936. #define CCM_ANALOG_PFD_528_TOG_PFD2_CLKGATE_SHIFT (23U)
  6937. #define CCM_ANALOG_PFD_528_TOG_PFD2_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_TOG_PFD2_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_528_TOG_PFD2_CLKGATE_MASK)
  6938. #define CCM_ANALOG_PFD_528_TOG_PFD3_FRAC_MASK (0x3F000000U)
  6939. #define CCM_ANALOG_PFD_528_TOG_PFD3_FRAC_SHIFT (24U)
  6940. #define CCM_ANALOG_PFD_528_TOG_PFD3_FRAC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_TOG_PFD3_FRAC_SHIFT)) & CCM_ANALOG_PFD_528_TOG_PFD3_FRAC_MASK)
  6941. #define CCM_ANALOG_PFD_528_TOG_PFD3_STABLE_MASK (0x40000000U)
  6942. #define CCM_ANALOG_PFD_528_TOG_PFD3_STABLE_SHIFT (30U)
  6943. #define CCM_ANALOG_PFD_528_TOG_PFD3_STABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_TOG_PFD3_STABLE_SHIFT)) & CCM_ANALOG_PFD_528_TOG_PFD3_STABLE_MASK)
  6944. #define CCM_ANALOG_PFD_528_TOG_PFD3_CLKGATE_MASK (0x80000000U)
  6945. #define CCM_ANALOG_PFD_528_TOG_PFD3_CLKGATE_SHIFT (31U)
  6946. #define CCM_ANALOG_PFD_528_TOG_PFD3_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PFD_528_TOG_PFD3_CLKGATE_SHIFT)) & CCM_ANALOG_PFD_528_TOG_PFD3_CLKGATE_MASK)
  6947. /*! @} */
  6948. /*! @name MISC0 - Miscellaneous Register 0 */
  6949. /*! @{ */
  6950. #define CCM_ANALOG_MISC0_REFTOP_PWD_MASK (0x1U)
  6951. #define CCM_ANALOG_MISC0_REFTOP_PWD_SHIFT (0U)
  6952. #define CCM_ANALOG_MISC0_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_REFTOP_PWD_SHIFT)) & CCM_ANALOG_MISC0_REFTOP_PWD_MASK)
  6953. #define CCM_ANALOG_MISC0_REFTOP_SELFBIASOFF_MASK (0x8U)
  6954. #define CCM_ANALOG_MISC0_REFTOP_SELFBIASOFF_SHIFT (3U)
  6955. /*! REFTOP_SELFBIASOFF
  6956. * 0b0..Uses coarse bias currents for startup
  6957. * 0b1..Uses bandgap-based bias currents for best performance.
  6958. */
  6959. #define CCM_ANALOG_MISC0_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_REFTOP_SELFBIASOFF_SHIFT)) & CCM_ANALOG_MISC0_REFTOP_SELFBIASOFF_MASK)
  6960. #define CCM_ANALOG_MISC0_REFTOP_VBGADJ_MASK (0x70U)
  6961. #define CCM_ANALOG_MISC0_REFTOP_VBGADJ_SHIFT (4U)
  6962. /*! REFTOP_VBGADJ
  6963. * 0b000..Nominal VBG
  6964. * 0b001..VBG+0.78%
  6965. * 0b010..VBG+1.56%
  6966. * 0b011..VBG+2.34%
  6967. * 0b100..VBG-0.78%
  6968. * 0b101..VBG-1.56%
  6969. * 0b110..VBG-2.34%
  6970. * 0b111..VBG-3.12%
  6971. */
  6972. #define CCM_ANALOG_MISC0_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_REFTOP_VBGADJ_SHIFT)) & CCM_ANALOG_MISC0_REFTOP_VBGADJ_MASK)
  6973. #define CCM_ANALOG_MISC0_REFTOP_VBGUP_MASK (0x80U)
  6974. #define CCM_ANALOG_MISC0_REFTOP_VBGUP_SHIFT (7U)
  6975. #define CCM_ANALOG_MISC0_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_REFTOP_VBGUP_SHIFT)) & CCM_ANALOG_MISC0_REFTOP_VBGUP_MASK)
  6976. #define CCM_ANALOG_MISC0_STOP_MODE_CONFIG_MASK (0xC00U)
  6977. #define CCM_ANALOG_MISC0_STOP_MODE_CONFIG_SHIFT (10U)
  6978. /*! STOP_MODE_CONFIG
  6979. * 0b00..All analog except RTC powered down on stop mode assertion.
  6980. * 0b01..Beside RTC, analog bandgap, 1p1 and 2p5 regulators are also on.
  6981. * 0b10..Beside RTC, 1p1 and 2p5 regulators are also on, low-power bandgap is selected so that the normal analog
  6982. * bandgap together with the rest analog is powered down.
  6983. * 0b11..Beside RTC, low-power bandgap is selected and the rest analog is powered down.
  6984. */
  6985. #define CCM_ANALOG_MISC0_STOP_MODE_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_STOP_MODE_CONFIG_SHIFT)) & CCM_ANALOG_MISC0_STOP_MODE_CONFIG_MASK)
  6986. #define CCM_ANALOG_MISC0_DISCON_HIGH_SNVS_MASK (0x1000U)
  6987. #define CCM_ANALOG_MISC0_DISCON_HIGH_SNVS_SHIFT (12U)
  6988. /*! DISCON_HIGH_SNVS
  6989. * 0b0..Turn on the switch
  6990. * 0b1..Turn off the switch
  6991. */
  6992. #define CCM_ANALOG_MISC0_DISCON_HIGH_SNVS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_DISCON_HIGH_SNVS_SHIFT)) & CCM_ANALOG_MISC0_DISCON_HIGH_SNVS_MASK)
  6993. #define CCM_ANALOG_MISC0_OSC_I_MASK (0x6000U)
  6994. #define CCM_ANALOG_MISC0_OSC_I_SHIFT (13U)
  6995. /*! OSC_I
  6996. * 0b00..Nominal
  6997. * 0b01..Decrease current by 12.5%
  6998. * 0b10..Decrease current by 25.0%
  6999. * 0b11..Decrease current by 37.5%
  7000. */
  7001. #define CCM_ANALOG_MISC0_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_OSC_I_SHIFT)) & CCM_ANALOG_MISC0_OSC_I_MASK)
  7002. #define CCM_ANALOG_MISC0_OSC_XTALOK_MASK (0x8000U)
  7003. #define CCM_ANALOG_MISC0_OSC_XTALOK_SHIFT (15U)
  7004. #define CCM_ANALOG_MISC0_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_OSC_XTALOK_SHIFT)) & CCM_ANALOG_MISC0_OSC_XTALOK_MASK)
  7005. #define CCM_ANALOG_MISC0_OSC_XTALOK_EN_MASK (0x10000U)
  7006. #define CCM_ANALOG_MISC0_OSC_XTALOK_EN_SHIFT (16U)
  7007. #define CCM_ANALOG_MISC0_OSC_XTALOK_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_OSC_XTALOK_EN_SHIFT)) & CCM_ANALOG_MISC0_OSC_XTALOK_EN_MASK)
  7008. #define CCM_ANALOG_MISC0_CLKGATE_CTRL_MASK (0x2000000U)
  7009. #define CCM_ANALOG_MISC0_CLKGATE_CTRL_SHIFT (25U)
  7010. /*! CLKGATE_CTRL
  7011. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  7012. * 0b1..Prevent the logic from ever gating off the clock.
  7013. */
  7014. #define CCM_ANALOG_MISC0_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_CLKGATE_CTRL_SHIFT)) & CCM_ANALOG_MISC0_CLKGATE_CTRL_MASK)
  7015. #define CCM_ANALOG_MISC0_CLKGATE_DELAY_MASK (0x1C000000U)
  7016. #define CCM_ANALOG_MISC0_CLKGATE_DELAY_SHIFT (26U)
  7017. /*! CLKGATE_DELAY
  7018. * 0b000..0.5ms
  7019. * 0b001..1.0ms
  7020. * 0b010..2.0ms
  7021. * 0b011..3.0ms
  7022. * 0b100..4.0ms
  7023. * 0b101..5.0ms
  7024. * 0b110..6.0ms
  7025. * 0b111..7.0ms
  7026. */
  7027. #define CCM_ANALOG_MISC0_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_CLKGATE_DELAY_SHIFT)) & CCM_ANALOG_MISC0_CLKGATE_DELAY_MASK)
  7028. #define CCM_ANALOG_MISC0_RTC_XTAL_SOURCE_MASK (0x20000000U)
  7029. #define CCM_ANALOG_MISC0_RTC_XTAL_SOURCE_SHIFT (29U)
  7030. /*! RTC_XTAL_SOURCE
  7031. * 0b0..Internal ring oscillator
  7032. * 0b1..RTC_XTAL
  7033. */
  7034. #define CCM_ANALOG_MISC0_RTC_XTAL_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_RTC_XTAL_SOURCE_SHIFT)) & CCM_ANALOG_MISC0_RTC_XTAL_SOURCE_MASK)
  7035. #define CCM_ANALOG_MISC0_XTAL_24M_PWD_MASK (0x40000000U)
  7036. #define CCM_ANALOG_MISC0_XTAL_24M_PWD_SHIFT (30U)
  7037. #define CCM_ANALOG_MISC0_XTAL_24M_PWD(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_XTAL_24M_PWD_SHIFT)) & CCM_ANALOG_MISC0_XTAL_24M_PWD_MASK)
  7038. /*! @} */
  7039. /*! @name MISC0_SET - Miscellaneous Register 0 */
  7040. /*! @{ */
  7041. #define CCM_ANALOG_MISC0_SET_REFTOP_PWD_MASK (0x1U)
  7042. #define CCM_ANALOG_MISC0_SET_REFTOP_PWD_SHIFT (0U)
  7043. #define CCM_ANALOG_MISC0_SET_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_SET_REFTOP_PWD_SHIFT)) & CCM_ANALOG_MISC0_SET_REFTOP_PWD_MASK)
  7044. #define CCM_ANALOG_MISC0_SET_REFTOP_SELFBIASOFF_MASK (0x8U)
  7045. #define CCM_ANALOG_MISC0_SET_REFTOP_SELFBIASOFF_SHIFT (3U)
  7046. /*! REFTOP_SELFBIASOFF
  7047. * 0b0..Uses coarse bias currents for startup
  7048. * 0b1..Uses bandgap-based bias currents for best performance.
  7049. */
  7050. #define CCM_ANALOG_MISC0_SET_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_SET_REFTOP_SELFBIASOFF_SHIFT)) & CCM_ANALOG_MISC0_SET_REFTOP_SELFBIASOFF_MASK)
  7051. #define CCM_ANALOG_MISC0_SET_REFTOP_VBGADJ_MASK (0x70U)
  7052. #define CCM_ANALOG_MISC0_SET_REFTOP_VBGADJ_SHIFT (4U)
  7053. /*! REFTOP_VBGADJ
  7054. * 0b000..Nominal VBG
  7055. * 0b001..VBG+0.78%
  7056. * 0b010..VBG+1.56%
  7057. * 0b011..VBG+2.34%
  7058. * 0b100..VBG-0.78%
  7059. * 0b101..VBG-1.56%
  7060. * 0b110..VBG-2.34%
  7061. * 0b111..VBG-3.12%
  7062. */
  7063. #define CCM_ANALOG_MISC0_SET_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_SET_REFTOP_VBGADJ_SHIFT)) & CCM_ANALOG_MISC0_SET_REFTOP_VBGADJ_MASK)
  7064. #define CCM_ANALOG_MISC0_SET_REFTOP_VBGUP_MASK (0x80U)
  7065. #define CCM_ANALOG_MISC0_SET_REFTOP_VBGUP_SHIFT (7U)
  7066. #define CCM_ANALOG_MISC0_SET_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_SET_REFTOP_VBGUP_SHIFT)) & CCM_ANALOG_MISC0_SET_REFTOP_VBGUP_MASK)
  7067. #define CCM_ANALOG_MISC0_SET_STOP_MODE_CONFIG_MASK (0xC00U)
  7068. #define CCM_ANALOG_MISC0_SET_STOP_MODE_CONFIG_SHIFT (10U)
  7069. /*! STOP_MODE_CONFIG
  7070. * 0b00..All analog except RTC powered down on stop mode assertion.
  7071. * 0b01..Beside RTC, analog bandgap, 1p1 and 2p5 regulators are also on.
  7072. * 0b10..Beside RTC, 1p1 and 2p5 regulators are also on, low-power bandgap is selected so that the normal analog
  7073. * bandgap together with the rest analog is powered down.
  7074. * 0b11..Beside RTC, low-power bandgap is selected and the rest analog is powered down.
  7075. */
  7076. #define CCM_ANALOG_MISC0_SET_STOP_MODE_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_SET_STOP_MODE_CONFIG_SHIFT)) & CCM_ANALOG_MISC0_SET_STOP_MODE_CONFIG_MASK)
  7077. #define CCM_ANALOG_MISC0_SET_DISCON_HIGH_SNVS_MASK (0x1000U)
  7078. #define CCM_ANALOG_MISC0_SET_DISCON_HIGH_SNVS_SHIFT (12U)
  7079. /*! DISCON_HIGH_SNVS
  7080. * 0b0..Turn on the switch
  7081. * 0b1..Turn off the switch
  7082. */
  7083. #define CCM_ANALOG_MISC0_SET_DISCON_HIGH_SNVS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_SET_DISCON_HIGH_SNVS_SHIFT)) & CCM_ANALOG_MISC0_SET_DISCON_HIGH_SNVS_MASK)
  7084. #define CCM_ANALOG_MISC0_SET_OSC_I_MASK (0x6000U)
  7085. #define CCM_ANALOG_MISC0_SET_OSC_I_SHIFT (13U)
  7086. /*! OSC_I
  7087. * 0b00..Nominal
  7088. * 0b01..Decrease current by 12.5%
  7089. * 0b10..Decrease current by 25.0%
  7090. * 0b11..Decrease current by 37.5%
  7091. */
  7092. #define CCM_ANALOG_MISC0_SET_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_SET_OSC_I_SHIFT)) & CCM_ANALOG_MISC0_SET_OSC_I_MASK)
  7093. #define CCM_ANALOG_MISC0_SET_OSC_XTALOK_MASK (0x8000U)
  7094. #define CCM_ANALOG_MISC0_SET_OSC_XTALOK_SHIFT (15U)
  7095. #define CCM_ANALOG_MISC0_SET_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_SET_OSC_XTALOK_SHIFT)) & CCM_ANALOG_MISC0_SET_OSC_XTALOK_MASK)
  7096. #define CCM_ANALOG_MISC0_SET_OSC_XTALOK_EN_MASK (0x10000U)
  7097. #define CCM_ANALOG_MISC0_SET_OSC_XTALOK_EN_SHIFT (16U)
  7098. #define CCM_ANALOG_MISC0_SET_OSC_XTALOK_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_SET_OSC_XTALOK_EN_SHIFT)) & CCM_ANALOG_MISC0_SET_OSC_XTALOK_EN_MASK)
  7099. #define CCM_ANALOG_MISC0_SET_CLKGATE_CTRL_MASK (0x2000000U)
  7100. #define CCM_ANALOG_MISC0_SET_CLKGATE_CTRL_SHIFT (25U)
  7101. /*! CLKGATE_CTRL
  7102. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  7103. * 0b1..Prevent the logic from ever gating off the clock.
  7104. */
  7105. #define CCM_ANALOG_MISC0_SET_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_SET_CLKGATE_CTRL_SHIFT)) & CCM_ANALOG_MISC0_SET_CLKGATE_CTRL_MASK)
  7106. #define CCM_ANALOG_MISC0_SET_CLKGATE_DELAY_MASK (0x1C000000U)
  7107. #define CCM_ANALOG_MISC0_SET_CLKGATE_DELAY_SHIFT (26U)
  7108. /*! CLKGATE_DELAY
  7109. * 0b000..0.5ms
  7110. * 0b001..1.0ms
  7111. * 0b010..2.0ms
  7112. * 0b011..3.0ms
  7113. * 0b100..4.0ms
  7114. * 0b101..5.0ms
  7115. * 0b110..6.0ms
  7116. * 0b111..7.0ms
  7117. */
  7118. #define CCM_ANALOG_MISC0_SET_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_SET_CLKGATE_DELAY_SHIFT)) & CCM_ANALOG_MISC0_SET_CLKGATE_DELAY_MASK)
  7119. #define CCM_ANALOG_MISC0_SET_RTC_XTAL_SOURCE_MASK (0x20000000U)
  7120. #define CCM_ANALOG_MISC0_SET_RTC_XTAL_SOURCE_SHIFT (29U)
  7121. /*! RTC_XTAL_SOURCE
  7122. * 0b0..Internal ring oscillator
  7123. * 0b1..RTC_XTAL
  7124. */
  7125. #define CCM_ANALOG_MISC0_SET_RTC_XTAL_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_SET_RTC_XTAL_SOURCE_SHIFT)) & CCM_ANALOG_MISC0_SET_RTC_XTAL_SOURCE_MASK)
  7126. #define CCM_ANALOG_MISC0_SET_XTAL_24M_PWD_MASK (0x40000000U)
  7127. #define CCM_ANALOG_MISC0_SET_XTAL_24M_PWD_SHIFT (30U)
  7128. #define CCM_ANALOG_MISC0_SET_XTAL_24M_PWD(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_SET_XTAL_24M_PWD_SHIFT)) & CCM_ANALOG_MISC0_SET_XTAL_24M_PWD_MASK)
  7129. /*! @} */
  7130. /*! @name MISC0_CLR - Miscellaneous Register 0 */
  7131. /*! @{ */
  7132. #define CCM_ANALOG_MISC0_CLR_REFTOP_PWD_MASK (0x1U)
  7133. #define CCM_ANALOG_MISC0_CLR_REFTOP_PWD_SHIFT (0U)
  7134. #define CCM_ANALOG_MISC0_CLR_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_CLR_REFTOP_PWD_SHIFT)) & CCM_ANALOG_MISC0_CLR_REFTOP_PWD_MASK)
  7135. #define CCM_ANALOG_MISC0_CLR_REFTOP_SELFBIASOFF_MASK (0x8U)
  7136. #define CCM_ANALOG_MISC0_CLR_REFTOP_SELFBIASOFF_SHIFT (3U)
  7137. /*! REFTOP_SELFBIASOFF
  7138. * 0b0..Uses coarse bias currents for startup
  7139. * 0b1..Uses bandgap-based bias currents for best performance.
  7140. */
  7141. #define CCM_ANALOG_MISC0_CLR_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_CLR_REFTOP_SELFBIASOFF_SHIFT)) & CCM_ANALOG_MISC0_CLR_REFTOP_SELFBIASOFF_MASK)
  7142. #define CCM_ANALOG_MISC0_CLR_REFTOP_VBGADJ_MASK (0x70U)
  7143. #define CCM_ANALOG_MISC0_CLR_REFTOP_VBGADJ_SHIFT (4U)
  7144. /*! REFTOP_VBGADJ
  7145. * 0b000..Nominal VBG
  7146. * 0b001..VBG+0.78%
  7147. * 0b010..VBG+1.56%
  7148. * 0b011..VBG+2.34%
  7149. * 0b100..VBG-0.78%
  7150. * 0b101..VBG-1.56%
  7151. * 0b110..VBG-2.34%
  7152. * 0b111..VBG-3.12%
  7153. */
  7154. #define CCM_ANALOG_MISC0_CLR_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_CLR_REFTOP_VBGADJ_SHIFT)) & CCM_ANALOG_MISC0_CLR_REFTOP_VBGADJ_MASK)
  7155. #define CCM_ANALOG_MISC0_CLR_REFTOP_VBGUP_MASK (0x80U)
  7156. #define CCM_ANALOG_MISC0_CLR_REFTOP_VBGUP_SHIFT (7U)
  7157. #define CCM_ANALOG_MISC0_CLR_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_CLR_REFTOP_VBGUP_SHIFT)) & CCM_ANALOG_MISC0_CLR_REFTOP_VBGUP_MASK)
  7158. #define CCM_ANALOG_MISC0_CLR_STOP_MODE_CONFIG_MASK (0xC00U)
  7159. #define CCM_ANALOG_MISC0_CLR_STOP_MODE_CONFIG_SHIFT (10U)
  7160. /*! STOP_MODE_CONFIG
  7161. * 0b00..All analog except RTC powered down on stop mode assertion.
  7162. * 0b01..Beside RTC, analog bandgap, 1p1 and 2p5 regulators are also on.
  7163. * 0b10..Beside RTC, 1p1 and 2p5 regulators are also on, low-power bandgap is selected so that the normal analog
  7164. * bandgap together with the rest analog is powered down.
  7165. * 0b11..Beside RTC, low-power bandgap is selected and the rest analog is powered down.
  7166. */
  7167. #define CCM_ANALOG_MISC0_CLR_STOP_MODE_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_CLR_STOP_MODE_CONFIG_SHIFT)) & CCM_ANALOG_MISC0_CLR_STOP_MODE_CONFIG_MASK)
  7168. #define CCM_ANALOG_MISC0_CLR_DISCON_HIGH_SNVS_MASK (0x1000U)
  7169. #define CCM_ANALOG_MISC0_CLR_DISCON_HIGH_SNVS_SHIFT (12U)
  7170. /*! DISCON_HIGH_SNVS
  7171. * 0b0..Turn on the switch
  7172. * 0b1..Turn off the switch
  7173. */
  7174. #define CCM_ANALOG_MISC0_CLR_DISCON_HIGH_SNVS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_CLR_DISCON_HIGH_SNVS_SHIFT)) & CCM_ANALOG_MISC0_CLR_DISCON_HIGH_SNVS_MASK)
  7175. #define CCM_ANALOG_MISC0_CLR_OSC_I_MASK (0x6000U)
  7176. #define CCM_ANALOG_MISC0_CLR_OSC_I_SHIFT (13U)
  7177. /*! OSC_I
  7178. * 0b00..Nominal
  7179. * 0b01..Decrease current by 12.5%
  7180. * 0b10..Decrease current by 25.0%
  7181. * 0b11..Decrease current by 37.5%
  7182. */
  7183. #define CCM_ANALOG_MISC0_CLR_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_CLR_OSC_I_SHIFT)) & CCM_ANALOG_MISC0_CLR_OSC_I_MASK)
  7184. #define CCM_ANALOG_MISC0_CLR_OSC_XTALOK_MASK (0x8000U)
  7185. #define CCM_ANALOG_MISC0_CLR_OSC_XTALOK_SHIFT (15U)
  7186. #define CCM_ANALOG_MISC0_CLR_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_CLR_OSC_XTALOK_SHIFT)) & CCM_ANALOG_MISC0_CLR_OSC_XTALOK_MASK)
  7187. #define CCM_ANALOG_MISC0_CLR_OSC_XTALOK_EN_MASK (0x10000U)
  7188. #define CCM_ANALOG_MISC0_CLR_OSC_XTALOK_EN_SHIFT (16U)
  7189. #define CCM_ANALOG_MISC0_CLR_OSC_XTALOK_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_CLR_OSC_XTALOK_EN_SHIFT)) & CCM_ANALOG_MISC0_CLR_OSC_XTALOK_EN_MASK)
  7190. #define CCM_ANALOG_MISC0_CLR_CLKGATE_CTRL_MASK (0x2000000U)
  7191. #define CCM_ANALOG_MISC0_CLR_CLKGATE_CTRL_SHIFT (25U)
  7192. /*! CLKGATE_CTRL
  7193. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  7194. * 0b1..Prevent the logic from ever gating off the clock.
  7195. */
  7196. #define CCM_ANALOG_MISC0_CLR_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_CLR_CLKGATE_CTRL_SHIFT)) & CCM_ANALOG_MISC0_CLR_CLKGATE_CTRL_MASK)
  7197. #define CCM_ANALOG_MISC0_CLR_CLKGATE_DELAY_MASK (0x1C000000U)
  7198. #define CCM_ANALOG_MISC0_CLR_CLKGATE_DELAY_SHIFT (26U)
  7199. /*! CLKGATE_DELAY
  7200. * 0b000..0.5ms
  7201. * 0b001..1.0ms
  7202. * 0b010..2.0ms
  7203. * 0b011..3.0ms
  7204. * 0b100..4.0ms
  7205. * 0b101..5.0ms
  7206. * 0b110..6.0ms
  7207. * 0b111..7.0ms
  7208. */
  7209. #define CCM_ANALOG_MISC0_CLR_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_CLR_CLKGATE_DELAY_SHIFT)) & CCM_ANALOG_MISC0_CLR_CLKGATE_DELAY_MASK)
  7210. #define CCM_ANALOG_MISC0_CLR_RTC_XTAL_SOURCE_MASK (0x20000000U)
  7211. #define CCM_ANALOG_MISC0_CLR_RTC_XTAL_SOURCE_SHIFT (29U)
  7212. /*! RTC_XTAL_SOURCE
  7213. * 0b0..Internal ring oscillator
  7214. * 0b1..RTC_XTAL
  7215. */
  7216. #define CCM_ANALOG_MISC0_CLR_RTC_XTAL_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_CLR_RTC_XTAL_SOURCE_SHIFT)) & CCM_ANALOG_MISC0_CLR_RTC_XTAL_SOURCE_MASK)
  7217. #define CCM_ANALOG_MISC0_CLR_XTAL_24M_PWD_MASK (0x40000000U)
  7218. #define CCM_ANALOG_MISC0_CLR_XTAL_24M_PWD_SHIFT (30U)
  7219. #define CCM_ANALOG_MISC0_CLR_XTAL_24M_PWD(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_CLR_XTAL_24M_PWD_SHIFT)) & CCM_ANALOG_MISC0_CLR_XTAL_24M_PWD_MASK)
  7220. /*! @} */
  7221. /*! @name MISC0_TOG - Miscellaneous Register 0 */
  7222. /*! @{ */
  7223. #define CCM_ANALOG_MISC0_TOG_REFTOP_PWD_MASK (0x1U)
  7224. #define CCM_ANALOG_MISC0_TOG_REFTOP_PWD_SHIFT (0U)
  7225. #define CCM_ANALOG_MISC0_TOG_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_TOG_REFTOP_PWD_SHIFT)) & CCM_ANALOG_MISC0_TOG_REFTOP_PWD_MASK)
  7226. #define CCM_ANALOG_MISC0_TOG_REFTOP_SELFBIASOFF_MASK (0x8U)
  7227. #define CCM_ANALOG_MISC0_TOG_REFTOP_SELFBIASOFF_SHIFT (3U)
  7228. /*! REFTOP_SELFBIASOFF
  7229. * 0b0..Uses coarse bias currents for startup
  7230. * 0b1..Uses bandgap-based bias currents for best performance.
  7231. */
  7232. #define CCM_ANALOG_MISC0_TOG_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_TOG_REFTOP_SELFBIASOFF_SHIFT)) & CCM_ANALOG_MISC0_TOG_REFTOP_SELFBIASOFF_MASK)
  7233. #define CCM_ANALOG_MISC0_TOG_REFTOP_VBGADJ_MASK (0x70U)
  7234. #define CCM_ANALOG_MISC0_TOG_REFTOP_VBGADJ_SHIFT (4U)
  7235. /*! REFTOP_VBGADJ
  7236. * 0b000..Nominal VBG
  7237. * 0b001..VBG+0.78%
  7238. * 0b010..VBG+1.56%
  7239. * 0b011..VBG+2.34%
  7240. * 0b100..VBG-0.78%
  7241. * 0b101..VBG-1.56%
  7242. * 0b110..VBG-2.34%
  7243. * 0b111..VBG-3.12%
  7244. */
  7245. #define CCM_ANALOG_MISC0_TOG_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_TOG_REFTOP_VBGADJ_SHIFT)) & CCM_ANALOG_MISC0_TOG_REFTOP_VBGADJ_MASK)
  7246. #define CCM_ANALOG_MISC0_TOG_REFTOP_VBGUP_MASK (0x80U)
  7247. #define CCM_ANALOG_MISC0_TOG_REFTOP_VBGUP_SHIFT (7U)
  7248. #define CCM_ANALOG_MISC0_TOG_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_TOG_REFTOP_VBGUP_SHIFT)) & CCM_ANALOG_MISC0_TOG_REFTOP_VBGUP_MASK)
  7249. #define CCM_ANALOG_MISC0_TOG_STOP_MODE_CONFIG_MASK (0xC00U)
  7250. #define CCM_ANALOG_MISC0_TOG_STOP_MODE_CONFIG_SHIFT (10U)
  7251. /*! STOP_MODE_CONFIG
  7252. * 0b00..All analog except RTC powered down on stop mode assertion.
  7253. * 0b01..Beside RTC, analog bandgap, 1p1 and 2p5 regulators are also on.
  7254. * 0b10..Beside RTC, 1p1 and 2p5 regulators are also on, low-power bandgap is selected so that the normal analog
  7255. * bandgap together with the rest analog is powered down.
  7256. * 0b11..Beside RTC, low-power bandgap is selected and the rest analog is powered down.
  7257. */
  7258. #define CCM_ANALOG_MISC0_TOG_STOP_MODE_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_TOG_STOP_MODE_CONFIG_SHIFT)) & CCM_ANALOG_MISC0_TOG_STOP_MODE_CONFIG_MASK)
  7259. #define CCM_ANALOG_MISC0_TOG_DISCON_HIGH_SNVS_MASK (0x1000U)
  7260. #define CCM_ANALOG_MISC0_TOG_DISCON_HIGH_SNVS_SHIFT (12U)
  7261. /*! DISCON_HIGH_SNVS
  7262. * 0b0..Turn on the switch
  7263. * 0b1..Turn off the switch
  7264. */
  7265. #define CCM_ANALOG_MISC0_TOG_DISCON_HIGH_SNVS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_TOG_DISCON_HIGH_SNVS_SHIFT)) & CCM_ANALOG_MISC0_TOG_DISCON_HIGH_SNVS_MASK)
  7266. #define CCM_ANALOG_MISC0_TOG_OSC_I_MASK (0x6000U)
  7267. #define CCM_ANALOG_MISC0_TOG_OSC_I_SHIFT (13U)
  7268. /*! OSC_I
  7269. * 0b00..Nominal
  7270. * 0b01..Decrease current by 12.5%
  7271. * 0b10..Decrease current by 25.0%
  7272. * 0b11..Decrease current by 37.5%
  7273. */
  7274. #define CCM_ANALOG_MISC0_TOG_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_TOG_OSC_I_SHIFT)) & CCM_ANALOG_MISC0_TOG_OSC_I_MASK)
  7275. #define CCM_ANALOG_MISC0_TOG_OSC_XTALOK_MASK (0x8000U)
  7276. #define CCM_ANALOG_MISC0_TOG_OSC_XTALOK_SHIFT (15U)
  7277. #define CCM_ANALOG_MISC0_TOG_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_TOG_OSC_XTALOK_SHIFT)) & CCM_ANALOG_MISC0_TOG_OSC_XTALOK_MASK)
  7278. #define CCM_ANALOG_MISC0_TOG_OSC_XTALOK_EN_MASK (0x10000U)
  7279. #define CCM_ANALOG_MISC0_TOG_OSC_XTALOK_EN_SHIFT (16U)
  7280. #define CCM_ANALOG_MISC0_TOG_OSC_XTALOK_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_TOG_OSC_XTALOK_EN_SHIFT)) & CCM_ANALOG_MISC0_TOG_OSC_XTALOK_EN_MASK)
  7281. #define CCM_ANALOG_MISC0_TOG_CLKGATE_CTRL_MASK (0x2000000U)
  7282. #define CCM_ANALOG_MISC0_TOG_CLKGATE_CTRL_SHIFT (25U)
  7283. /*! CLKGATE_CTRL
  7284. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  7285. * 0b1..Prevent the logic from ever gating off the clock.
  7286. */
  7287. #define CCM_ANALOG_MISC0_TOG_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_TOG_CLKGATE_CTRL_SHIFT)) & CCM_ANALOG_MISC0_TOG_CLKGATE_CTRL_MASK)
  7288. #define CCM_ANALOG_MISC0_TOG_CLKGATE_DELAY_MASK (0x1C000000U)
  7289. #define CCM_ANALOG_MISC0_TOG_CLKGATE_DELAY_SHIFT (26U)
  7290. /*! CLKGATE_DELAY
  7291. * 0b000..0.5ms
  7292. * 0b001..1.0ms
  7293. * 0b010..2.0ms
  7294. * 0b011..3.0ms
  7295. * 0b100..4.0ms
  7296. * 0b101..5.0ms
  7297. * 0b110..6.0ms
  7298. * 0b111..7.0ms
  7299. */
  7300. #define CCM_ANALOG_MISC0_TOG_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_TOG_CLKGATE_DELAY_SHIFT)) & CCM_ANALOG_MISC0_TOG_CLKGATE_DELAY_MASK)
  7301. #define CCM_ANALOG_MISC0_TOG_RTC_XTAL_SOURCE_MASK (0x20000000U)
  7302. #define CCM_ANALOG_MISC0_TOG_RTC_XTAL_SOURCE_SHIFT (29U)
  7303. /*! RTC_XTAL_SOURCE
  7304. * 0b0..Internal ring oscillator
  7305. * 0b1..RTC_XTAL
  7306. */
  7307. #define CCM_ANALOG_MISC0_TOG_RTC_XTAL_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_TOG_RTC_XTAL_SOURCE_SHIFT)) & CCM_ANALOG_MISC0_TOG_RTC_XTAL_SOURCE_MASK)
  7308. #define CCM_ANALOG_MISC0_TOG_XTAL_24M_PWD_MASK (0x40000000U)
  7309. #define CCM_ANALOG_MISC0_TOG_XTAL_24M_PWD_SHIFT (30U)
  7310. #define CCM_ANALOG_MISC0_TOG_XTAL_24M_PWD(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_TOG_XTAL_24M_PWD_SHIFT)) & CCM_ANALOG_MISC0_TOG_XTAL_24M_PWD_MASK)
  7311. /*! @} */
  7312. /*! @name MISC1 - Miscellaneous Register 1 */
  7313. /*! @{ */
  7314. #define CCM_ANALOG_MISC1_PFD_480_AUTOGATE_EN_MASK (0x10000U)
  7315. #define CCM_ANALOG_MISC1_PFD_480_AUTOGATE_EN_SHIFT (16U)
  7316. #define CCM_ANALOG_MISC1_PFD_480_AUTOGATE_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_PFD_480_AUTOGATE_EN_SHIFT)) & CCM_ANALOG_MISC1_PFD_480_AUTOGATE_EN_MASK)
  7317. #define CCM_ANALOG_MISC1_PFD_528_AUTOGATE_EN_MASK (0x20000U)
  7318. #define CCM_ANALOG_MISC1_PFD_528_AUTOGATE_EN_SHIFT (17U)
  7319. #define CCM_ANALOG_MISC1_PFD_528_AUTOGATE_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_PFD_528_AUTOGATE_EN_SHIFT)) & CCM_ANALOG_MISC1_PFD_528_AUTOGATE_EN_MASK)
  7320. #define CCM_ANALOG_MISC1_IRQ_TEMPPANIC_MASK (0x8000000U)
  7321. #define CCM_ANALOG_MISC1_IRQ_TEMPPANIC_SHIFT (27U)
  7322. #define CCM_ANALOG_MISC1_IRQ_TEMPPANIC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_IRQ_TEMPPANIC_SHIFT)) & CCM_ANALOG_MISC1_IRQ_TEMPPANIC_MASK)
  7323. #define CCM_ANALOG_MISC1_IRQ_TEMPLOW_MASK (0x10000000U)
  7324. #define CCM_ANALOG_MISC1_IRQ_TEMPLOW_SHIFT (28U)
  7325. #define CCM_ANALOG_MISC1_IRQ_TEMPLOW(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_IRQ_TEMPLOW_SHIFT)) & CCM_ANALOG_MISC1_IRQ_TEMPLOW_MASK)
  7326. #define CCM_ANALOG_MISC1_IRQ_TEMPHIGH_MASK (0x20000000U)
  7327. #define CCM_ANALOG_MISC1_IRQ_TEMPHIGH_SHIFT (29U)
  7328. #define CCM_ANALOG_MISC1_IRQ_TEMPHIGH(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_IRQ_TEMPHIGH_SHIFT)) & CCM_ANALOG_MISC1_IRQ_TEMPHIGH_MASK)
  7329. #define CCM_ANALOG_MISC1_IRQ_ANA_BO_MASK (0x40000000U)
  7330. #define CCM_ANALOG_MISC1_IRQ_ANA_BO_SHIFT (30U)
  7331. #define CCM_ANALOG_MISC1_IRQ_ANA_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_IRQ_ANA_BO_SHIFT)) & CCM_ANALOG_MISC1_IRQ_ANA_BO_MASK)
  7332. #define CCM_ANALOG_MISC1_IRQ_DIG_BO_MASK (0x80000000U)
  7333. #define CCM_ANALOG_MISC1_IRQ_DIG_BO_SHIFT (31U)
  7334. #define CCM_ANALOG_MISC1_IRQ_DIG_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_IRQ_DIG_BO_SHIFT)) & CCM_ANALOG_MISC1_IRQ_DIG_BO_MASK)
  7335. /*! @} */
  7336. /*! @name MISC1_SET - Miscellaneous Register 1 */
  7337. /*! @{ */
  7338. #define CCM_ANALOG_MISC1_SET_PFD_480_AUTOGATE_EN_MASK (0x10000U)
  7339. #define CCM_ANALOG_MISC1_SET_PFD_480_AUTOGATE_EN_SHIFT (16U)
  7340. #define CCM_ANALOG_MISC1_SET_PFD_480_AUTOGATE_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_SET_PFD_480_AUTOGATE_EN_SHIFT)) & CCM_ANALOG_MISC1_SET_PFD_480_AUTOGATE_EN_MASK)
  7341. #define CCM_ANALOG_MISC1_SET_PFD_528_AUTOGATE_EN_MASK (0x20000U)
  7342. #define CCM_ANALOG_MISC1_SET_PFD_528_AUTOGATE_EN_SHIFT (17U)
  7343. #define CCM_ANALOG_MISC1_SET_PFD_528_AUTOGATE_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_SET_PFD_528_AUTOGATE_EN_SHIFT)) & CCM_ANALOG_MISC1_SET_PFD_528_AUTOGATE_EN_MASK)
  7344. #define CCM_ANALOG_MISC1_SET_IRQ_TEMPPANIC_MASK (0x8000000U)
  7345. #define CCM_ANALOG_MISC1_SET_IRQ_TEMPPANIC_SHIFT (27U)
  7346. #define CCM_ANALOG_MISC1_SET_IRQ_TEMPPANIC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_SET_IRQ_TEMPPANIC_SHIFT)) & CCM_ANALOG_MISC1_SET_IRQ_TEMPPANIC_MASK)
  7347. #define CCM_ANALOG_MISC1_SET_IRQ_TEMPLOW_MASK (0x10000000U)
  7348. #define CCM_ANALOG_MISC1_SET_IRQ_TEMPLOW_SHIFT (28U)
  7349. #define CCM_ANALOG_MISC1_SET_IRQ_TEMPLOW(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_SET_IRQ_TEMPLOW_SHIFT)) & CCM_ANALOG_MISC1_SET_IRQ_TEMPLOW_MASK)
  7350. #define CCM_ANALOG_MISC1_SET_IRQ_TEMPHIGH_MASK (0x20000000U)
  7351. #define CCM_ANALOG_MISC1_SET_IRQ_TEMPHIGH_SHIFT (29U)
  7352. #define CCM_ANALOG_MISC1_SET_IRQ_TEMPHIGH(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_SET_IRQ_TEMPHIGH_SHIFT)) & CCM_ANALOG_MISC1_SET_IRQ_TEMPHIGH_MASK)
  7353. #define CCM_ANALOG_MISC1_SET_IRQ_ANA_BO_MASK (0x40000000U)
  7354. #define CCM_ANALOG_MISC1_SET_IRQ_ANA_BO_SHIFT (30U)
  7355. #define CCM_ANALOG_MISC1_SET_IRQ_ANA_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_SET_IRQ_ANA_BO_SHIFT)) & CCM_ANALOG_MISC1_SET_IRQ_ANA_BO_MASK)
  7356. #define CCM_ANALOG_MISC1_SET_IRQ_DIG_BO_MASK (0x80000000U)
  7357. #define CCM_ANALOG_MISC1_SET_IRQ_DIG_BO_SHIFT (31U)
  7358. #define CCM_ANALOG_MISC1_SET_IRQ_DIG_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_SET_IRQ_DIG_BO_SHIFT)) & CCM_ANALOG_MISC1_SET_IRQ_DIG_BO_MASK)
  7359. /*! @} */
  7360. /*! @name MISC1_CLR - Miscellaneous Register 1 */
  7361. /*! @{ */
  7362. #define CCM_ANALOG_MISC1_CLR_PFD_480_AUTOGATE_EN_MASK (0x10000U)
  7363. #define CCM_ANALOG_MISC1_CLR_PFD_480_AUTOGATE_EN_SHIFT (16U)
  7364. #define CCM_ANALOG_MISC1_CLR_PFD_480_AUTOGATE_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_CLR_PFD_480_AUTOGATE_EN_SHIFT)) & CCM_ANALOG_MISC1_CLR_PFD_480_AUTOGATE_EN_MASK)
  7365. #define CCM_ANALOG_MISC1_CLR_PFD_528_AUTOGATE_EN_MASK (0x20000U)
  7366. #define CCM_ANALOG_MISC1_CLR_PFD_528_AUTOGATE_EN_SHIFT (17U)
  7367. #define CCM_ANALOG_MISC1_CLR_PFD_528_AUTOGATE_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_CLR_PFD_528_AUTOGATE_EN_SHIFT)) & CCM_ANALOG_MISC1_CLR_PFD_528_AUTOGATE_EN_MASK)
  7368. #define CCM_ANALOG_MISC1_CLR_IRQ_TEMPPANIC_MASK (0x8000000U)
  7369. #define CCM_ANALOG_MISC1_CLR_IRQ_TEMPPANIC_SHIFT (27U)
  7370. #define CCM_ANALOG_MISC1_CLR_IRQ_TEMPPANIC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_CLR_IRQ_TEMPPANIC_SHIFT)) & CCM_ANALOG_MISC1_CLR_IRQ_TEMPPANIC_MASK)
  7371. #define CCM_ANALOG_MISC1_CLR_IRQ_TEMPLOW_MASK (0x10000000U)
  7372. #define CCM_ANALOG_MISC1_CLR_IRQ_TEMPLOW_SHIFT (28U)
  7373. #define CCM_ANALOG_MISC1_CLR_IRQ_TEMPLOW(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_CLR_IRQ_TEMPLOW_SHIFT)) & CCM_ANALOG_MISC1_CLR_IRQ_TEMPLOW_MASK)
  7374. #define CCM_ANALOG_MISC1_CLR_IRQ_TEMPHIGH_MASK (0x20000000U)
  7375. #define CCM_ANALOG_MISC1_CLR_IRQ_TEMPHIGH_SHIFT (29U)
  7376. #define CCM_ANALOG_MISC1_CLR_IRQ_TEMPHIGH(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_CLR_IRQ_TEMPHIGH_SHIFT)) & CCM_ANALOG_MISC1_CLR_IRQ_TEMPHIGH_MASK)
  7377. #define CCM_ANALOG_MISC1_CLR_IRQ_ANA_BO_MASK (0x40000000U)
  7378. #define CCM_ANALOG_MISC1_CLR_IRQ_ANA_BO_SHIFT (30U)
  7379. #define CCM_ANALOG_MISC1_CLR_IRQ_ANA_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_CLR_IRQ_ANA_BO_SHIFT)) & CCM_ANALOG_MISC1_CLR_IRQ_ANA_BO_MASK)
  7380. #define CCM_ANALOG_MISC1_CLR_IRQ_DIG_BO_MASK (0x80000000U)
  7381. #define CCM_ANALOG_MISC1_CLR_IRQ_DIG_BO_SHIFT (31U)
  7382. #define CCM_ANALOG_MISC1_CLR_IRQ_DIG_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_CLR_IRQ_DIG_BO_SHIFT)) & CCM_ANALOG_MISC1_CLR_IRQ_DIG_BO_MASK)
  7383. /*! @} */
  7384. /*! @name MISC1_TOG - Miscellaneous Register 1 */
  7385. /*! @{ */
  7386. #define CCM_ANALOG_MISC1_TOG_PFD_480_AUTOGATE_EN_MASK (0x10000U)
  7387. #define CCM_ANALOG_MISC1_TOG_PFD_480_AUTOGATE_EN_SHIFT (16U)
  7388. #define CCM_ANALOG_MISC1_TOG_PFD_480_AUTOGATE_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_TOG_PFD_480_AUTOGATE_EN_SHIFT)) & CCM_ANALOG_MISC1_TOG_PFD_480_AUTOGATE_EN_MASK)
  7389. #define CCM_ANALOG_MISC1_TOG_PFD_528_AUTOGATE_EN_MASK (0x20000U)
  7390. #define CCM_ANALOG_MISC1_TOG_PFD_528_AUTOGATE_EN_SHIFT (17U)
  7391. #define CCM_ANALOG_MISC1_TOG_PFD_528_AUTOGATE_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_TOG_PFD_528_AUTOGATE_EN_SHIFT)) & CCM_ANALOG_MISC1_TOG_PFD_528_AUTOGATE_EN_MASK)
  7392. #define CCM_ANALOG_MISC1_TOG_IRQ_TEMPPANIC_MASK (0x8000000U)
  7393. #define CCM_ANALOG_MISC1_TOG_IRQ_TEMPPANIC_SHIFT (27U)
  7394. #define CCM_ANALOG_MISC1_TOG_IRQ_TEMPPANIC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_TOG_IRQ_TEMPPANIC_SHIFT)) & CCM_ANALOG_MISC1_TOG_IRQ_TEMPPANIC_MASK)
  7395. #define CCM_ANALOG_MISC1_TOG_IRQ_TEMPLOW_MASK (0x10000000U)
  7396. #define CCM_ANALOG_MISC1_TOG_IRQ_TEMPLOW_SHIFT (28U)
  7397. #define CCM_ANALOG_MISC1_TOG_IRQ_TEMPLOW(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_TOG_IRQ_TEMPLOW_SHIFT)) & CCM_ANALOG_MISC1_TOG_IRQ_TEMPLOW_MASK)
  7398. #define CCM_ANALOG_MISC1_TOG_IRQ_TEMPHIGH_MASK (0x20000000U)
  7399. #define CCM_ANALOG_MISC1_TOG_IRQ_TEMPHIGH_SHIFT (29U)
  7400. #define CCM_ANALOG_MISC1_TOG_IRQ_TEMPHIGH(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_TOG_IRQ_TEMPHIGH_SHIFT)) & CCM_ANALOG_MISC1_TOG_IRQ_TEMPHIGH_MASK)
  7401. #define CCM_ANALOG_MISC1_TOG_IRQ_ANA_BO_MASK (0x40000000U)
  7402. #define CCM_ANALOG_MISC1_TOG_IRQ_ANA_BO_SHIFT (30U)
  7403. #define CCM_ANALOG_MISC1_TOG_IRQ_ANA_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_TOG_IRQ_ANA_BO_SHIFT)) & CCM_ANALOG_MISC1_TOG_IRQ_ANA_BO_MASK)
  7404. #define CCM_ANALOG_MISC1_TOG_IRQ_DIG_BO_MASK (0x80000000U)
  7405. #define CCM_ANALOG_MISC1_TOG_IRQ_DIG_BO_SHIFT (31U)
  7406. #define CCM_ANALOG_MISC1_TOG_IRQ_DIG_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_TOG_IRQ_DIG_BO_SHIFT)) & CCM_ANALOG_MISC1_TOG_IRQ_DIG_BO_MASK)
  7407. /*! @} */
  7408. /*! @name MISC2 - Miscellaneous Register 2 */
  7409. /*! @{ */
  7410. #define CCM_ANALOG_MISC2_REG0_BO_OFFSET_MASK (0x7U)
  7411. #define CCM_ANALOG_MISC2_REG0_BO_OFFSET_SHIFT (0U)
  7412. /*! REG0_BO_OFFSET
  7413. * 0b100..Brownout offset = 0.100V
  7414. * 0b111..Brownout offset = 0.175V
  7415. */
  7416. #define CCM_ANALOG_MISC2_REG0_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_REG0_BO_OFFSET_SHIFT)) & CCM_ANALOG_MISC2_REG0_BO_OFFSET_MASK)
  7417. #define CCM_ANALOG_MISC2_REG0_BO_STATUS_MASK (0x8U)
  7418. #define CCM_ANALOG_MISC2_REG0_BO_STATUS_SHIFT (3U)
  7419. /*! REG0_BO_STATUS
  7420. * 0b1..Brownout, supply is below target minus brownout offset.
  7421. */
  7422. #define CCM_ANALOG_MISC2_REG0_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_REG0_BO_STATUS_SHIFT)) & CCM_ANALOG_MISC2_REG0_BO_STATUS_MASK)
  7423. #define CCM_ANALOG_MISC2_REG0_ENABLE_BO_MASK (0x20U)
  7424. #define CCM_ANALOG_MISC2_REG0_ENABLE_BO_SHIFT (5U)
  7425. #define CCM_ANALOG_MISC2_REG0_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_REG0_ENABLE_BO_SHIFT)) & CCM_ANALOG_MISC2_REG0_ENABLE_BO_MASK)
  7426. #define CCM_ANALOG_MISC2_REG0_OK_MASK (0x40U)
  7427. #define CCM_ANALOG_MISC2_REG0_OK_SHIFT (6U)
  7428. #define CCM_ANALOG_MISC2_REG0_OK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_REG0_OK_SHIFT)) & CCM_ANALOG_MISC2_REG0_OK_MASK)
  7429. #define CCM_ANALOG_MISC2_PLL3_DISABLE_MASK (0x80U)
  7430. #define CCM_ANALOG_MISC2_PLL3_DISABLE_SHIFT (7U)
  7431. /*! PLL3_DISABLE
  7432. * 0b0..PLL3 is being used by peripherals and is enabled when SoC is not in any low power mode
  7433. * 0b1..PLL3 can be disabled when the SoC is not in any low power mode
  7434. */
  7435. #define CCM_ANALOG_MISC2_PLL3_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_PLL3_DISABLE_SHIFT)) & CCM_ANALOG_MISC2_PLL3_DISABLE_MASK)
  7436. #define CCM_ANALOG_MISC2_REG1_BO_OFFSET_MASK (0x700U)
  7437. #define CCM_ANALOG_MISC2_REG1_BO_OFFSET_SHIFT (8U)
  7438. /*! REG1_BO_OFFSET
  7439. * 0b100..Brownout offset = 0.100V
  7440. * 0b111..Brownout offset = 0.175V
  7441. */
  7442. #define CCM_ANALOG_MISC2_REG1_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_REG1_BO_OFFSET_SHIFT)) & CCM_ANALOG_MISC2_REG1_BO_OFFSET_MASK)
  7443. #define CCM_ANALOG_MISC2_REG1_BO_STATUS_MASK (0x800U)
  7444. #define CCM_ANALOG_MISC2_REG1_BO_STATUS_SHIFT (11U)
  7445. /*! REG1_BO_STATUS
  7446. * 0b1..Brownout, supply is below target minus brownout offset.
  7447. */
  7448. #define CCM_ANALOG_MISC2_REG1_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_REG1_BO_STATUS_SHIFT)) & CCM_ANALOG_MISC2_REG1_BO_STATUS_MASK)
  7449. #define CCM_ANALOG_MISC2_REG1_ENABLE_BO_MASK (0x2000U)
  7450. #define CCM_ANALOG_MISC2_REG1_ENABLE_BO_SHIFT (13U)
  7451. #define CCM_ANALOG_MISC2_REG1_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_REG1_ENABLE_BO_SHIFT)) & CCM_ANALOG_MISC2_REG1_ENABLE_BO_MASK)
  7452. #define CCM_ANALOG_MISC2_REG1_OK_MASK (0x4000U)
  7453. #define CCM_ANALOG_MISC2_REG1_OK_SHIFT (14U)
  7454. #define CCM_ANALOG_MISC2_REG1_OK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_REG1_OK_SHIFT)) & CCM_ANALOG_MISC2_REG1_OK_MASK)
  7455. #define CCM_ANALOG_MISC2_AUDIO_DIV_LSB_MASK (0x8000U)
  7456. #define CCM_ANALOG_MISC2_AUDIO_DIV_LSB_SHIFT (15U)
  7457. /*! AUDIO_DIV_LSB
  7458. * 0b0..divide by 1 (Default)
  7459. * 0b1..divide by 2
  7460. */
  7461. #define CCM_ANALOG_MISC2_AUDIO_DIV_LSB(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_AUDIO_DIV_LSB_SHIFT)) & CCM_ANALOG_MISC2_AUDIO_DIV_LSB_MASK)
  7462. #define CCM_ANALOG_MISC2_REG2_BO_OFFSET_MASK (0x70000U)
  7463. #define CCM_ANALOG_MISC2_REG2_BO_OFFSET_SHIFT (16U)
  7464. /*! REG2_BO_OFFSET
  7465. * 0b100..Brownout offset = 0.100V
  7466. * 0b111..Brownout offset = 0.175V
  7467. */
  7468. #define CCM_ANALOG_MISC2_REG2_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_REG2_BO_OFFSET_SHIFT)) & CCM_ANALOG_MISC2_REG2_BO_OFFSET_MASK)
  7469. #define CCM_ANALOG_MISC2_REG2_BO_STATUS_MASK (0x80000U)
  7470. #define CCM_ANALOG_MISC2_REG2_BO_STATUS_SHIFT (19U)
  7471. #define CCM_ANALOG_MISC2_REG2_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_REG2_BO_STATUS_SHIFT)) & CCM_ANALOG_MISC2_REG2_BO_STATUS_MASK)
  7472. #define CCM_ANALOG_MISC2_REG2_ENABLE_BO_MASK (0x200000U)
  7473. #define CCM_ANALOG_MISC2_REG2_ENABLE_BO_SHIFT (21U)
  7474. #define CCM_ANALOG_MISC2_REG2_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_REG2_ENABLE_BO_SHIFT)) & CCM_ANALOG_MISC2_REG2_ENABLE_BO_MASK)
  7475. #define CCM_ANALOG_MISC2_REG2_OK_MASK (0x400000U)
  7476. #define CCM_ANALOG_MISC2_REG2_OK_SHIFT (22U)
  7477. #define CCM_ANALOG_MISC2_REG2_OK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_REG2_OK_SHIFT)) & CCM_ANALOG_MISC2_REG2_OK_MASK)
  7478. #define CCM_ANALOG_MISC2_AUDIO_DIV_MSB_MASK (0x800000U)
  7479. #define CCM_ANALOG_MISC2_AUDIO_DIV_MSB_SHIFT (23U)
  7480. /*! AUDIO_DIV_MSB
  7481. * 0b0..divide by 1 (Default)
  7482. * 0b1..divide by 2
  7483. */
  7484. #define CCM_ANALOG_MISC2_AUDIO_DIV_MSB(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_AUDIO_DIV_MSB_SHIFT)) & CCM_ANALOG_MISC2_AUDIO_DIV_MSB_MASK)
  7485. #define CCM_ANALOG_MISC2_REG0_STEP_TIME_MASK (0x3000000U)
  7486. #define CCM_ANALOG_MISC2_REG0_STEP_TIME_SHIFT (24U)
  7487. /*! REG0_STEP_TIME
  7488. * 0b00..64
  7489. * 0b01..128
  7490. * 0b10..256
  7491. * 0b11..512
  7492. */
  7493. #define CCM_ANALOG_MISC2_REG0_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_REG0_STEP_TIME_SHIFT)) & CCM_ANALOG_MISC2_REG0_STEP_TIME_MASK)
  7494. #define CCM_ANALOG_MISC2_REG1_STEP_TIME_MASK (0xC000000U)
  7495. #define CCM_ANALOG_MISC2_REG1_STEP_TIME_SHIFT (26U)
  7496. /*! REG1_STEP_TIME
  7497. * 0b00..64
  7498. * 0b01..128
  7499. * 0b10..256
  7500. * 0b11..512
  7501. */
  7502. #define CCM_ANALOG_MISC2_REG1_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_REG1_STEP_TIME_SHIFT)) & CCM_ANALOG_MISC2_REG1_STEP_TIME_MASK)
  7503. #define CCM_ANALOG_MISC2_REG2_STEP_TIME_MASK (0x30000000U)
  7504. #define CCM_ANALOG_MISC2_REG2_STEP_TIME_SHIFT (28U)
  7505. /*! REG2_STEP_TIME
  7506. * 0b00..64
  7507. * 0b01..128
  7508. * 0b10..256
  7509. * 0b11..512
  7510. */
  7511. #define CCM_ANALOG_MISC2_REG2_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_REG2_STEP_TIME_SHIFT)) & CCM_ANALOG_MISC2_REG2_STEP_TIME_MASK)
  7512. /*! @} */
  7513. /*! @name MISC2_SET - Miscellaneous Register 2 */
  7514. /*! @{ */
  7515. #define CCM_ANALOG_MISC2_SET_REG0_BO_OFFSET_MASK (0x7U)
  7516. #define CCM_ANALOG_MISC2_SET_REG0_BO_OFFSET_SHIFT (0U)
  7517. /*! REG0_BO_OFFSET
  7518. * 0b100..Brownout offset = 0.100V
  7519. * 0b111..Brownout offset = 0.175V
  7520. */
  7521. #define CCM_ANALOG_MISC2_SET_REG0_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_SET_REG0_BO_OFFSET_SHIFT)) & CCM_ANALOG_MISC2_SET_REG0_BO_OFFSET_MASK)
  7522. #define CCM_ANALOG_MISC2_SET_REG0_BO_STATUS_MASK (0x8U)
  7523. #define CCM_ANALOG_MISC2_SET_REG0_BO_STATUS_SHIFT (3U)
  7524. /*! REG0_BO_STATUS
  7525. * 0b1..Brownout, supply is below target minus brownout offset.
  7526. */
  7527. #define CCM_ANALOG_MISC2_SET_REG0_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_SET_REG0_BO_STATUS_SHIFT)) & CCM_ANALOG_MISC2_SET_REG0_BO_STATUS_MASK)
  7528. #define CCM_ANALOG_MISC2_SET_REG0_ENABLE_BO_MASK (0x20U)
  7529. #define CCM_ANALOG_MISC2_SET_REG0_ENABLE_BO_SHIFT (5U)
  7530. #define CCM_ANALOG_MISC2_SET_REG0_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_SET_REG0_ENABLE_BO_SHIFT)) & CCM_ANALOG_MISC2_SET_REG0_ENABLE_BO_MASK)
  7531. #define CCM_ANALOG_MISC2_SET_REG0_OK_MASK (0x40U)
  7532. #define CCM_ANALOG_MISC2_SET_REG0_OK_SHIFT (6U)
  7533. #define CCM_ANALOG_MISC2_SET_REG0_OK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_SET_REG0_OK_SHIFT)) & CCM_ANALOG_MISC2_SET_REG0_OK_MASK)
  7534. #define CCM_ANALOG_MISC2_SET_PLL3_DISABLE_MASK (0x80U)
  7535. #define CCM_ANALOG_MISC2_SET_PLL3_DISABLE_SHIFT (7U)
  7536. /*! PLL3_DISABLE
  7537. * 0b0..PLL3 is being used by peripherals and is enabled when SoC is not in any low power mode
  7538. * 0b1..PLL3 can be disabled when the SoC is not in any low power mode
  7539. */
  7540. #define CCM_ANALOG_MISC2_SET_PLL3_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_SET_PLL3_DISABLE_SHIFT)) & CCM_ANALOG_MISC2_SET_PLL3_DISABLE_MASK)
  7541. #define CCM_ANALOG_MISC2_SET_REG1_BO_OFFSET_MASK (0x700U)
  7542. #define CCM_ANALOG_MISC2_SET_REG1_BO_OFFSET_SHIFT (8U)
  7543. /*! REG1_BO_OFFSET
  7544. * 0b100..Brownout offset = 0.100V
  7545. * 0b111..Brownout offset = 0.175V
  7546. */
  7547. #define CCM_ANALOG_MISC2_SET_REG1_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_SET_REG1_BO_OFFSET_SHIFT)) & CCM_ANALOG_MISC2_SET_REG1_BO_OFFSET_MASK)
  7548. #define CCM_ANALOG_MISC2_SET_REG1_BO_STATUS_MASK (0x800U)
  7549. #define CCM_ANALOG_MISC2_SET_REG1_BO_STATUS_SHIFT (11U)
  7550. /*! REG1_BO_STATUS
  7551. * 0b1..Brownout, supply is below target minus brownout offset.
  7552. */
  7553. #define CCM_ANALOG_MISC2_SET_REG1_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_SET_REG1_BO_STATUS_SHIFT)) & CCM_ANALOG_MISC2_SET_REG1_BO_STATUS_MASK)
  7554. #define CCM_ANALOG_MISC2_SET_REG1_ENABLE_BO_MASK (0x2000U)
  7555. #define CCM_ANALOG_MISC2_SET_REG1_ENABLE_BO_SHIFT (13U)
  7556. #define CCM_ANALOG_MISC2_SET_REG1_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_SET_REG1_ENABLE_BO_SHIFT)) & CCM_ANALOG_MISC2_SET_REG1_ENABLE_BO_MASK)
  7557. #define CCM_ANALOG_MISC2_SET_REG1_OK_MASK (0x4000U)
  7558. #define CCM_ANALOG_MISC2_SET_REG1_OK_SHIFT (14U)
  7559. #define CCM_ANALOG_MISC2_SET_REG1_OK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_SET_REG1_OK_SHIFT)) & CCM_ANALOG_MISC2_SET_REG1_OK_MASK)
  7560. #define CCM_ANALOG_MISC2_SET_AUDIO_DIV_LSB_MASK (0x8000U)
  7561. #define CCM_ANALOG_MISC2_SET_AUDIO_DIV_LSB_SHIFT (15U)
  7562. /*! AUDIO_DIV_LSB
  7563. * 0b0..divide by 1 (Default)
  7564. * 0b1..divide by 2
  7565. */
  7566. #define CCM_ANALOG_MISC2_SET_AUDIO_DIV_LSB(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_SET_AUDIO_DIV_LSB_SHIFT)) & CCM_ANALOG_MISC2_SET_AUDIO_DIV_LSB_MASK)
  7567. #define CCM_ANALOG_MISC2_SET_REG2_BO_OFFSET_MASK (0x70000U)
  7568. #define CCM_ANALOG_MISC2_SET_REG2_BO_OFFSET_SHIFT (16U)
  7569. /*! REG2_BO_OFFSET
  7570. * 0b100..Brownout offset = 0.100V
  7571. * 0b111..Brownout offset = 0.175V
  7572. */
  7573. #define CCM_ANALOG_MISC2_SET_REG2_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_SET_REG2_BO_OFFSET_SHIFT)) & CCM_ANALOG_MISC2_SET_REG2_BO_OFFSET_MASK)
  7574. #define CCM_ANALOG_MISC2_SET_REG2_BO_STATUS_MASK (0x80000U)
  7575. #define CCM_ANALOG_MISC2_SET_REG2_BO_STATUS_SHIFT (19U)
  7576. #define CCM_ANALOG_MISC2_SET_REG2_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_SET_REG2_BO_STATUS_SHIFT)) & CCM_ANALOG_MISC2_SET_REG2_BO_STATUS_MASK)
  7577. #define CCM_ANALOG_MISC2_SET_REG2_ENABLE_BO_MASK (0x200000U)
  7578. #define CCM_ANALOG_MISC2_SET_REG2_ENABLE_BO_SHIFT (21U)
  7579. #define CCM_ANALOG_MISC2_SET_REG2_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_SET_REG2_ENABLE_BO_SHIFT)) & CCM_ANALOG_MISC2_SET_REG2_ENABLE_BO_MASK)
  7580. #define CCM_ANALOG_MISC2_SET_REG2_OK_MASK (0x400000U)
  7581. #define CCM_ANALOG_MISC2_SET_REG2_OK_SHIFT (22U)
  7582. #define CCM_ANALOG_MISC2_SET_REG2_OK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_SET_REG2_OK_SHIFT)) & CCM_ANALOG_MISC2_SET_REG2_OK_MASK)
  7583. #define CCM_ANALOG_MISC2_SET_AUDIO_DIV_MSB_MASK (0x800000U)
  7584. #define CCM_ANALOG_MISC2_SET_AUDIO_DIV_MSB_SHIFT (23U)
  7585. /*! AUDIO_DIV_MSB
  7586. * 0b0..divide by 1 (Default)
  7587. * 0b1..divide by 2
  7588. */
  7589. #define CCM_ANALOG_MISC2_SET_AUDIO_DIV_MSB(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_SET_AUDIO_DIV_MSB_SHIFT)) & CCM_ANALOG_MISC2_SET_AUDIO_DIV_MSB_MASK)
  7590. #define CCM_ANALOG_MISC2_SET_REG0_STEP_TIME_MASK (0x3000000U)
  7591. #define CCM_ANALOG_MISC2_SET_REG0_STEP_TIME_SHIFT (24U)
  7592. /*! REG0_STEP_TIME
  7593. * 0b00..64
  7594. * 0b01..128
  7595. * 0b10..256
  7596. * 0b11..512
  7597. */
  7598. #define CCM_ANALOG_MISC2_SET_REG0_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_SET_REG0_STEP_TIME_SHIFT)) & CCM_ANALOG_MISC2_SET_REG0_STEP_TIME_MASK)
  7599. #define CCM_ANALOG_MISC2_SET_REG1_STEP_TIME_MASK (0xC000000U)
  7600. #define CCM_ANALOG_MISC2_SET_REG1_STEP_TIME_SHIFT (26U)
  7601. /*! REG1_STEP_TIME
  7602. * 0b00..64
  7603. * 0b01..128
  7604. * 0b10..256
  7605. * 0b11..512
  7606. */
  7607. #define CCM_ANALOG_MISC2_SET_REG1_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_SET_REG1_STEP_TIME_SHIFT)) & CCM_ANALOG_MISC2_SET_REG1_STEP_TIME_MASK)
  7608. #define CCM_ANALOG_MISC2_SET_REG2_STEP_TIME_MASK (0x30000000U)
  7609. #define CCM_ANALOG_MISC2_SET_REG2_STEP_TIME_SHIFT (28U)
  7610. /*! REG2_STEP_TIME
  7611. * 0b00..64
  7612. * 0b01..128
  7613. * 0b10..256
  7614. * 0b11..512
  7615. */
  7616. #define CCM_ANALOG_MISC2_SET_REG2_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_SET_REG2_STEP_TIME_SHIFT)) & CCM_ANALOG_MISC2_SET_REG2_STEP_TIME_MASK)
  7617. /*! @} */
  7618. /*! @name MISC2_CLR - Miscellaneous Register 2 */
  7619. /*! @{ */
  7620. #define CCM_ANALOG_MISC2_CLR_REG0_BO_OFFSET_MASK (0x7U)
  7621. #define CCM_ANALOG_MISC2_CLR_REG0_BO_OFFSET_SHIFT (0U)
  7622. /*! REG0_BO_OFFSET
  7623. * 0b100..Brownout offset = 0.100V
  7624. * 0b111..Brownout offset = 0.175V
  7625. */
  7626. #define CCM_ANALOG_MISC2_CLR_REG0_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_CLR_REG0_BO_OFFSET_SHIFT)) & CCM_ANALOG_MISC2_CLR_REG0_BO_OFFSET_MASK)
  7627. #define CCM_ANALOG_MISC2_CLR_REG0_BO_STATUS_MASK (0x8U)
  7628. #define CCM_ANALOG_MISC2_CLR_REG0_BO_STATUS_SHIFT (3U)
  7629. /*! REG0_BO_STATUS
  7630. * 0b1..Brownout, supply is below target minus brownout offset.
  7631. */
  7632. #define CCM_ANALOG_MISC2_CLR_REG0_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_CLR_REG0_BO_STATUS_SHIFT)) & CCM_ANALOG_MISC2_CLR_REG0_BO_STATUS_MASK)
  7633. #define CCM_ANALOG_MISC2_CLR_REG0_ENABLE_BO_MASK (0x20U)
  7634. #define CCM_ANALOG_MISC2_CLR_REG0_ENABLE_BO_SHIFT (5U)
  7635. #define CCM_ANALOG_MISC2_CLR_REG0_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_CLR_REG0_ENABLE_BO_SHIFT)) & CCM_ANALOG_MISC2_CLR_REG0_ENABLE_BO_MASK)
  7636. #define CCM_ANALOG_MISC2_CLR_REG0_OK_MASK (0x40U)
  7637. #define CCM_ANALOG_MISC2_CLR_REG0_OK_SHIFT (6U)
  7638. #define CCM_ANALOG_MISC2_CLR_REG0_OK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_CLR_REG0_OK_SHIFT)) & CCM_ANALOG_MISC2_CLR_REG0_OK_MASK)
  7639. #define CCM_ANALOG_MISC2_CLR_PLL3_DISABLE_MASK (0x80U)
  7640. #define CCM_ANALOG_MISC2_CLR_PLL3_DISABLE_SHIFT (7U)
  7641. /*! PLL3_DISABLE
  7642. * 0b0..PLL3 is being used by peripherals and is enabled when SoC is not in any low power mode
  7643. * 0b1..PLL3 can be disabled when the SoC is not in any low power mode
  7644. */
  7645. #define CCM_ANALOG_MISC2_CLR_PLL3_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_CLR_PLL3_DISABLE_SHIFT)) & CCM_ANALOG_MISC2_CLR_PLL3_DISABLE_MASK)
  7646. #define CCM_ANALOG_MISC2_CLR_REG1_BO_OFFSET_MASK (0x700U)
  7647. #define CCM_ANALOG_MISC2_CLR_REG1_BO_OFFSET_SHIFT (8U)
  7648. /*! REG1_BO_OFFSET
  7649. * 0b100..Brownout offset = 0.100V
  7650. * 0b111..Brownout offset = 0.175V
  7651. */
  7652. #define CCM_ANALOG_MISC2_CLR_REG1_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_CLR_REG1_BO_OFFSET_SHIFT)) & CCM_ANALOG_MISC2_CLR_REG1_BO_OFFSET_MASK)
  7653. #define CCM_ANALOG_MISC2_CLR_REG1_BO_STATUS_MASK (0x800U)
  7654. #define CCM_ANALOG_MISC2_CLR_REG1_BO_STATUS_SHIFT (11U)
  7655. /*! REG1_BO_STATUS
  7656. * 0b1..Brownout, supply is below target minus brownout offset.
  7657. */
  7658. #define CCM_ANALOG_MISC2_CLR_REG1_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_CLR_REG1_BO_STATUS_SHIFT)) & CCM_ANALOG_MISC2_CLR_REG1_BO_STATUS_MASK)
  7659. #define CCM_ANALOG_MISC2_CLR_REG1_ENABLE_BO_MASK (0x2000U)
  7660. #define CCM_ANALOG_MISC2_CLR_REG1_ENABLE_BO_SHIFT (13U)
  7661. #define CCM_ANALOG_MISC2_CLR_REG1_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_CLR_REG1_ENABLE_BO_SHIFT)) & CCM_ANALOG_MISC2_CLR_REG1_ENABLE_BO_MASK)
  7662. #define CCM_ANALOG_MISC2_CLR_REG1_OK_MASK (0x4000U)
  7663. #define CCM_ANALOG_MISC2_CLR_REG1_OK_SHIFT (14U)
  7664. #define CCM_ANALOG_MISC2_CLR_REG1_OK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_CLR_REG1_OK_SHIFT)) & CCM_ANALOG_MISC2_CLR_REG1_OK_MASK)
  7665. #define CCM_ANALOG_MISC2_CLR_AUDIO_DIV_LSB_MASK (0x8000U)
  7666. #define CCM_ANALOG_MISC2_CLR_AUDIO_DIV_LSB_SHIFT (15U)
  7667. /*! AUDIO_DIV_LSB
  7668. * 0b0..divide by 1 (Default)
  7669. * 0b1..divide by 2
  7670. */
  7671. #define CCM_ANALOG_MISC2_CLR_AUDIO_DIV_LSB(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_CLR_AUDIO_DIV_LSB_SHIFT)) & CCM_ANALOG_MISC2_CLR_AUDIO_DIV_LSB_MASK)
  7672. #define CCM_ANALOG_MISC2_CLR_REG2_BO_OFFSET_MASK (0x70000U)
  7673. #define CCM_ANALOG_MISC2_CLR_REG2_BO_OFFSET_SHIFT (16U)
  7674. /*! REG2_BO_OFFSET
  7675. * 0b100..Brownout offset = 0.100V
  7676. * 0b111..Brownout offset = 0.175V
  7677. */
  7678. #define CCM_ANALOG_MISC2_CLR_REG2_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_CLR_REG2_BO_OFFSET_SHIFT)) & CCM_ANALOG_MISC2_CLR_REG2_BO_OFFSET_MASK)
  7679. #define CCM_ANALOG_MISC2_CLR_REG2_BO_STATUS_MASK (0x80000U)
  7680. #define CCM_ANALOG_MISC2_CLR_REG2_BO_STATUS_SHIFT (19U)
  7681. #define CCM_ANALOG_MISC2_CLR_REG2_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_CLR_REG2_BO_STATUS_SHIFT)) & CCM_ANALOG_MISC2_CLR_REG2_BO_STATUS_MASK)
  7682. #define CCM_ANALOG_MISC2_CLR_REG2_ENABLE_BO_MASK (0x200000U)
  7683. #define CCM_ANALOG_MISC2_CLR_REG2_ENABLE_BO_SHIFT (21U)
  7684. #define CCM_ANALOG_MISC2_CLR_REG2_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_CLR_REG2_ENABLE_BO_SHIFT)) & CCM_ANALOG_MISC2_CLR_REG2_ENABLE_BO_MASK)
  7685. #define CCM_ANALOG_MISC2_CLR_REG2_OK_MASK (0x400000U)
  7686. #define CCM_ANALOG_MISC2_CLR_REG2_OK_SHIFT (22U)
  7687. #define CCM_ANALOG_MISC2_CLR_REG2_OK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_CLR_REG2_OK_SHIFT)) & CCM_ANALOG_MISC2_CLR_REG2_OK_MASK)
  7688. #define CCM_ANALOG_MISC2_CLR_AUDIO_DIV_MSB_MASK (0x800000U)
  7689. #define CCM_ANALOG_MISC2_CLR_AUDIO_DIV_MSB_SHIFT (23U)
  7690. /*! AUDIO_DIV_MSB
  7691. * 0b0..divide by 1 (Default)
  7692. * 0b1..divide by 2
  7693. */
  7694. #define CCM_ANALOG_MISC2_CLR_AUDIO_DIV_MSB(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_CLR_AUDIO_DIV_MSB_SHIFT)) & CCM_ANALOG_MISC2_CLR_AUDIO_DIV_MSB_MASK)
  7695. #define CCM_ANALOG_MISC2_CLR_REG0_STEP_TIME_MASK (0x3000000U)
  7696. #define CCM_ANALOG_MISC2_CLR_REG0_STEP_TIME_SHIFT (24U)
  7697. /*! REG0_STEP_TIME
  7698. * 0b00..64
  7699. * 0b01..128
  7700. * 0b10..256
  7701. * 0b11..512
  7702. */
  7703. #define CCM_ANALOG_MISC2_CLR_REG0_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_CLR_REG0_STEP_TIME_SHIFT)) & CCM_ANALOG_MISC2_CLR_REG0_STEP_TIME_MASK)
  7704. #define CCM_ANALOG_MISC2_CLR_REG1_STEP_TIME_MASK (0xC000000U)
  7705. #define CCM_ANALOG_MISC2_CLR_REG1_STEP_TIME_SHIFT (26U)
  7706. /*! REG1_STEP_TIME
  7707. * 0b00..64
  7708. * 0b01..128
  7709. * 0b10..256
  7710. * 0b11..512
  7711. */
  7712. #define CCM_ANALOG_MISC2_CLR_REG1_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_CLR_REG1_STEP_TIME_SHIFT)) & CCM_ANALOG_MISC2_CLR_REG1_STEP_TIME_MASK)
  7713. #define CCM_ANALOG_MISC2_CLR_REG2_STEP_TIME_MASK (0x30000000U)
  7714. #define CCM_ANALOG_MISC2_CLR_REG2_STEP_TIME_SHIFT (28U)
  7715. /*! REG2_STEP_TIME
  7716. * 0b00..64
  7717. * 0b01..128
  7718. * 0b10..256
  7719. * 0b11..512
  7720. */
  7721. #define CCM_ANALOG_MISC2_CLR_REG2_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_CLR_REG2_STEP_TIME_SHIFT)) & CCM_ANALOG_MISC2_CLR_REG2_STEP_TIME_MASK)
  7722. /*! @} */
  7723. /*! @name MISC2_TOG - Miscellaneous Register 2 */
  7724. /*! @{ */
  7725. #define CCM_ANALOG_MISC2_TOG_REG0_BO_OFFSET_MASK (0x7U)
  7726. #define CCM_ANALOG_MISC2_TOG_REG0_BO_OFFSET_SHIFT (0U)
  7727. /*! REG0_BO_OFFSET
  7728. * 0b100..Brownout offset = 0.100V
  7729. * 0b111..Brownout offset = 0.175V
  7730. */
  7731. #define CCM_ANALOG_MISC2_TOG_REG0_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_TOG_REG0_BO_OFFSET_SHIFT)) & CCM_ANALOG_MISC2_TOG_REG0_BO_OFFSET_MASK)
  7732. #define CCM_ANALOG_MISC2_TOG_REG0_BO_STATUS_MASK (0x8U)
  7733. #define CCM_ANALOG_MISC2_TOG_REG0_BO_STATUS_SHIFT (3U)
  7734. /*! REG0_BO_STATUS
  7735. * 0b1..Brownout, supply is below target minus brownout offset.
  7736. */
  7737. #define CCM_ANALOG_MISC2_TOG_REG0_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_TOG_REG0_BO_STATUS_SHIFT)) & CCM_ANALOG_MISC2_TOG_REG0_BO_STATUS_MASK)
  7738. #define CCM_ANALOG_MISC2_TOG_REG0_ENABLE_BO_MASK (0x20U)
  7739. #define CCM_ANALOG_MISC2_TOG_REG0_ENABLE_BO_SHIFT (5U)
  7740. #define CCM_ANALOG_MISC2_TOG_REG0_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_TOG_REG0_ENABLE_BO_SHIFT)) & CCM_ANALOG_MISC2_TOG_REG0_ENABLE_BO_MASK)
  7741. #define CCM_ANALOG_MISC2_TOG_REG0_OK_MASK (0x40U)
  7742. #define CCM_ANALOG_MISC2_TOG_REG0_OK_SHIFT (6U)
  7743. #define CCM_ANALOG_MISC2_TOG_REG0_OK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_TOG_REG0_OK_SHIFT)) & CCM_ANALOG_MISC2_TOG_REG0_OK_MASK)
  7744. #define CCM_ANALOG_MISC2_TOG_PLL3_DISABLE_MASK (0x80U)
  7745. #define CCM_ANALOG_MISC2_TOG_PLL3_DISABLE_SHIFT (7U)
  7746. /*! PLL3_DISABLE
  7747. * 0b0..PLL3 is being used by peripherals and is enabled when SoC is not in any low power mode
  7748. * 0b1..PLL3 can be disabled when the SoC is not in any low power mode
  7749. */
  7750. #define CCM_ANALOG_MISC2_TOG_PLL3_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_TOG_PLL3_DISABLE_SHIFT)) & CCM_ANALOG_MISC2_TOG_PLL3_DISABLE_MASK)
  7751. #define CCM_ANALOG_MISC2_TOG_REG1_BO_OFFSET_MASK (0x700U)
  7752. #define CCM_ANALOG_MISC2_TOG_REG1_BO_OFFSET_SHIFT (8U)
  7753. /*! REG1_BO_OFFSET
  7754. * 0b100..Brownout offset = 0.100V
  7755. * 0b111..Brownout offset = 0.175V
  7756. */
  7757. #define CCM_ANALOG_MISC2_TOG_REG1_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_TOG_REG1_BO_OFFSET_SHIFT)) & CCM_ANALOG_MISC2_TOG_REG1_BO_OFFSET_MASK)
  7758. #define CCM_ANALOG_MISC2_TOG_REG1_BO_STATUS_MASK (0x800U)
  7759. #define CCM_ANALOG_MISC2_TOG_REG1_BO_STATUS_SHIFT (11U)
  7760. /*! REG1_BO_STATUS
  7761. * 0b1..Brownout, supply is below target minus brownout offset.
  7762. */
  7763. #define CCM_ANALOG_MISC2_TOG_REG1_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_TOG_REG1_BO_STATUS_SHIFT)) & CCM_ANALOG_MISC2_TOG_REG1_BO_STATUS_MASK)
  7764. #define CCM_ANALOG_MISC2_TOG_REG1_ENABLE_BO_MASK (0x2000U)
  7765. #define CCM_ANALOG_MISC2_TOG_REG1_ENABLE_BO_SHIFT (13U)
  7766. #define CCM_ANALOG_MISC2_TOG_REG1_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_TOG_REG1_ENABLE_BO_SHIFT)) & CCM_ANALOG_MISC2_TOG_REG1_ENABLE_BO_MASK)
  7767. #define CCM_ANALOG_MISC2_TOG_REG1_OK_MASK (0x4000U)
  7768. #define CCM_ANALOG_MISC2_TOG_REG1_OK_SHIFT (14U)
  7769. #define CCM_ANALOG_MISC2_TOG_REG1_OK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_TOG_REG1_OK_SHIFT)) & CCM_ANALOG_MISC2_TOG_REG1_OK_MASK)
  7770. #define CCM_ANALOG_MISC2_TOG_AUDIO_DIV_LSB_MASK (0x8000U)
  7771. #define CCM_ANALOG_MISC2_TOG_AUDIO_DIV_LSB_SHIFT (15U)
  7772. /*! AUDIO_DIV_LSB
  7773. * 0b0..divide by 1 (Default)
  7774. * 0b1..divide by 2
  7775. */
  7776. #define CCM_ANALOG_MISC2_TOG_AUDIO_DIV_LSB(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_TOG_AUDIO_DIV_LSB_SHIFT)) & CCM_ANALOG_MISC2_TOG_AUDIO_DIV_LSB_MASK)
  7777. #define CCM_ANALOG_MISC2_TOG_REG2_BO_OFFSET_MASK (0x70000U)
  7778. #define CCM_ANALOG_MISC2_TOG_REG2_BO_OFFSET_SHIFT (16U)
  7779. /*! REG2_BO_OFFSET
  7780. * 0b100..Brownout offset = 0.100V
  7781. * 0b111..Brownout offset = 0.175V
  7782. */
  7783. #define CCM_ANALOG_MISC2_TOG_REG2_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_TOG_REG2_BO_OFFSET_SHIFT)) & CCM_ANALOG_MISC2_TOG_REG2_BO_OFFSET_MASK)
  7784. #define CCM_ANALOG_MISC2_TOG_REG2_BO_STATUS_MASK (0x80000U)
  7785. #define CCM_ANALOG_MISC2_TOG_REG2_BO_STATUS_SHIFT (19U)
  7786. #define CCM_ANALOG_MISC2_TOG_REG2_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_TOG_REG2_BO_STATUS_SHIFT)) & CCM_ANALOG_MISC2_TOG_REG2_BO_STATUS_MASK)
  7787. #define CCM_ANALOG_MISC2_TOG_REG2_ENABLE_BO_MASK (0x200000U)
  7788. #define CCM_ANALOG_MISC2_TOG_REG2_ENABLE_BO_SHIFT (21U)
  7789. #define CCM_ANALOG_MISC2_TOG_REG2_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_TOG_REG2_ENABLE_BO_SHIFT)) & CCM_ANALOG_MISC2_TOG_REG2_ENABLE_BO_MASK)
  7790. #define CCM_ANALOG_MISC2_TOG_REG2_OK_MASK (0x400000U)
  7791. #define CCM_ANALOG_MISC2_TOG_REG2_OK_SHIFT (22U)
  7792. #define CCM_ANALOG_MISC2_TOG_REG2_OK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_TOG_REG2_OK_SHIFT)) & CCM_ANALOG_MISC2_TOG_REG2_OK_MASK)
  7793. #define CCM_ANALOG_MISC2_TOG_AUDIO_DIV_MSB_MASK (0x800000U)
  7794. #define CCM_ANALOG_MISC2_TOG_AUDIO_DIV_MSB_SHIFT (23U)
  7795. /*! AUDIO_DIV_MSB
  7796. * 0b0..divide by 1 (Default)
  7797. * 0b1..divide by 2
  7798. */
  7799. #define CCM_ANALOG_MISC2_TOG_AUDIO_DIV_MSB(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_TOG_AUDIO_DIV_MSB_SHIFT)) & CCM_ANALOG_MISC2_TOG_AUDIO_DIV_MSB_MASK)
  7800. #define CCM_ANALOG_MISC2_TOG_REG0_STEP_TIME_MASK (0x3000000U)
  7801. #define CCM_ANALOG_MISC2_TOG_REG0_STEP_TIME_SHIFT (24U)
  7802. /*! REG0_STEP_TIME
  7803. * 0b00..64
  7804. * 0b01..128
  7805. * 0b10..256
  7806. * 0b11..512
  7807. */
  7808. #define CCM_ANALOG_MISC2_TOG_REG0_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_TOG_REG0_STEP_TIME_SHIFT)) & CCM_ANALOG_MISC2_TOG_REG0_STEP_TIME_MASK)
  7809. #define CCM_ANALOG_MISC2_TOG_REG1_STEP_TIME_MASK (0xC000000U)
  7810. #define CCM_ANALOG_MISC2_TOG_REG1_STEP_TIME_SHIFT (26U)
  7811. /*! REG1_STEP_TIME
  7812. * 0b00..64
  7813. * 0b01..128
  7814. * 0b10..256
  7815. * 0b11..512
  7816. */
  7817. #define CCM_ANALOG_MISC2_TOG_REG1_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_TOG_REG1_STEP_TIME_SHIFT)) & CCM_ANALOG_MISC2_TOG_REG1_STEP_TIME_MASK)
  7818. #define CCM_ANALOG_MISC2_TOG_REG2_STEP_TIME_MASK (0x30000000U)
  7819. #define CCM_ANALOG_MISC2_TOG_REG2_STEP_TIME_SHIFT (28U)
  7820. /*! REG2_STEP_TIME
  7821. * 0b00..64
  7822. * 0b01..128
  7823. * 0b10..256
  7824. * 0b11..512
  7825. */
  7826. #define CCM_ANALOG_MISC2_TOG_REG2_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_TOG_REG2_STEP_TIME_SHIFT)) & CCM_ANALOG_MISC2_TOG_REG2_STEP_TIME_MASK)
  7827. /*! @} */
  7828. /*!
  7829. * @}
  7830. */ /* end of group CCM_ANALOG_Register_Masks */
  7831. /* CCM_ANALOG - Peripheral instance base addresses */
  7832. /** Peripheral CCM_ANALOG base address */
  7833. #define CCM_ANALOG_BASE (0x400D8000u)
  7834. /** Peripheral CCM_ANALOG base pointer */
  7835. #define CCM_ANALOG ((CCM_ANALOG_Type *)CCM_ANALOG_BASE)
  7836. /** Array initializer of CCM_ANALOG peripheral base addresses */
  7837. #define CCM_ANALOG_BASE_ADDRS { CCM_ANALOG_BASE }
  7838. /** Array initializer of CCM_ANALOG peripheral base pointers */
  7839. #define CCM_ANALOG_BASE_PTRS { CCM_ANALOG }
  7840. /*!
  7841. * @}
  7842. */ /* end of group CCM_ANALOG_Peripheral_Access_Layer */
  7843. /* ----------------------------------------------------------------------------
  7844. -- CM7_MCM Peripheral Access Layer
  7845. ---------------------------------------------------------------------------- */
  7846. /*!
  7847. * @addtogroup CM7_MCM_Peripheral_Access_Layer CM7_MCM Peripheral Access Layer
  7848. * @{
  7849. */
  7850. /** CM7_MCM - Register Layout Typedef */
  7851. typedef struct {
  7852. uint8_t RESERVED_0[16];
  7853. __IO uint32_t ISCR; /**< Interrupt Status and Control Register, offset: 0x10 */
  7854. } CM7_MCM_Type;
  7855. /* ----------------------------------------------------------------------------
  7856. -- CM7_MCM Register Masks
  7857. ---------------------------------------------------------------------------- */
  7858. /*!
  7859. * @addtogroup CM7_MCM_Register_Masks CM7_MCM Register Masks
  7860. * @{
  7861. */
  7862. /*! @name ISCR - Interrupt Status and Control Register */
  7863. /*! @{ */
  7864. #define CM7_MCM_ISCR_WABS_MASK (0x20U)
  7865. #define CM7_MCM_ISCR_WABS_SHIFT (5U)
  7866. /*! WABS - Write Abort on Slave
  7867. * 0b0..No abort
  7868. * 0b1..Abort
  7869. */
  7870. #define CM7_MCM_ISCR_WABS(x) (((uint32_t)(((uint32_t)(x)) << CM7_MCM_ISCR_WABS_SHIFT)) & CM7_MCM_ISCR_WABS_MASK)
  7871. #define CM7_MCM_ISCR_WABSO_MASK (0x40U)
  7872. #define CM7_MCM_ISCR_WABSO_SHIFT (6U)
  7873. /*! WABSO - Write Abort on Slave Overrun
  7874. * 0b0..No write abort overrun
  7875. * 0b1..Write abort overrun occurred
  7876. */
  7877. #define CM7_MCM_ISCR_WABSO(x) (((uint32_t)(((uint32_t)(x)) << CM7_MCM_ISCR_WABSO_SHIFT)) & CM7_MCM_ISCR_WABSO_MASK)
  7878. #define CM7_MCM_ISCR_FIOC_MASK (0x100U)
  7879. #define CM7_MCM_ISCR_FIOC_SHIFT (8U)
  7880. /*! FIOC - FPU Invalid Operation interrupt Status
  7881. * 0b0..No interrupt
  7882. * 0b1..Interrupt occured
  7883. */
  7884. #define CM7_MCM_ISCR_FIOC(x) (((uint32_t)(((uint32_t)(x)) << CM7_MCM_ISCR_FIOC_SHIFT)) & CM7_MCM_ISCR_FIOC_MASK)
  7885. #define CM7_MCM_ISCR_FDZC_MASK (0x200U)
  7886. #define CM7_MCM_ISCR_FDZC_SHIFT (9U)
  7887. /*! FDZC - FPU Divide-by-Zero Interrupt Status
  7888. * 0b0..No interrupt
  7889. * 0b1..Interrupt occured
  7890. */
  7891. #define CM7_MCM_ISCR_FDZC(x) (((uint32_t)(((uint32_t)(x)) << CM7_MCM_ISCR_FDZC_SHIFT)) & CM7_MCM_ISCR_FDZC_MASK)
  7892. #define CM7_MCM_ISCR_FOFC_MASK (0x400U)
  7893. #define CM7_MCM_ISCR_FOFC_SHIFT (10U)
  7894. /*! FOFC - FPU Overflow interrupt status
  7895. * 0b0..No interrupt
  7896. * 0b1..Interrupt occured
  7897. */
  7898. #define CM7_MCM_ISCR_FOFC(x) (((uint32_t)(((uint32_t)(x)) << CM7_MCM_ISCR_FOFC_SHIFT)) & CM7_MCM_ISCR_FOFC_MASK)
  7899. #define CM7_MCM_ISCR_FUFC_MASK (0x800U)
  7900. #define CM7_MCM_ISCR_FUFC_SHIFT (11U)
  7901. /*! FUFC - FPU Underflow Interrupt Status
  7902. * 0b0..No interrupt
  7903. * 0b1..Interrupt occured
  7904. */
  7905. #define CM7_MCM_ISCR_FUFC(x) (((uint32_t)(((uint32_t)(x)) << CM7_MCM_ISCR_FUFC_SHIFT)) & CM7_MCM_ISCR_FUFC_MASK)
  7906. #define CM7_MCM_ISCR_FIXC_MASK (0x1000U)
  7907. #define CM7_MCM_ISCR_FIXC_SHIFT (12U)
  7908. /*! FIXC - FPU Inexact Interrupt Status
  7909. * 0b0..No interrupt
  7910. * 0b1..Interrupt occured
  7911. */
  7912. #define CM7_MCM_ISCR_FIXC(x) (((uint32_t)(((uint32_t)(x)) << CM7_MCM_ISCR_FIXC_SHIFT)) & CM7_MCM_ISCR_FIXC_MASK)
  7913. #define CM7_MCM_ISCR_FIDC_MASK (0x8000U)
  7914. #define CM7_MCM_ISCR_FIDC_SHIFT (15U)
  7915. /*! FIDC - FPU Input Denormal Interrupt Status
  7916. * 0b0..No interrupt
  7917. * 0b1..Interrupt occured
  7918. */
  7919. #define CM7_MCM_ISCR_FIDC(x) (((uint32_t)(((uint32_t)(x)) << CM7_MCM_ISCR_FIDC_SHIFT)) & CM7_MCM_ISCR_FIDC_MASK)
  7920. #define CM7_MCM_ISCR_WABE_MASK (0x200000U)
  7921. #define CM7_MCM_ISCR_WABE_SHIFT (21U)
  7922. /*! WABE - TCM Write Abort Interrupt enable
  7923. * 0b0..Disable interrupt
  7924. * 0b1..Enable interrupt
  7925. */
  7926. #define CM7_MCM_ISCR_WABE(x) (((uint32_t)(((uint32_t)(x)) << CM7_MCM_ISCR_WABE_SHIFT)) & CM7_MCM_ISCR_WABE_MASK)
  7927. #define CM7_MCM_ISCR_FIOCE_MASK (0x1000000U)
  7928. #define CM7_MCM_ISCR_FIOCE_SHIFT (24U)
  7929. /*! FIOCE - FPU Invalid Operation Interrupt Enable
  7930. * 0b0..Disable interrupt
  7931. * 0b1..Enable interrupt
  7932. */
  7933. #define CM7_MCM_ISCR_FIOCE(x) (((uint32_t)(((uint32_t)(x)) << CM7_MCM_ISCR_FIOCE_SHIFT)) & CM7_MCM_ISCR_FIOCE_MASK)
  7934. #define CM7_MCM_ISCR_FDZCE_MASK (0x2000000U)
  7935. #define CM7_MCM_ISCR_FDZCE_SHIFT (25U)
  7936. /*! FDZCE - FPU Divide-by-Zero Interrupt Enable
  7937. * 0b0..Disable interrupt
  7938. * 0b1..Enable interrupt
  7939. */
  7940. #define CM7_MCM_ISCR_FDZCE(x) (((uint32_t)(((uint32_t)(x)) << CM7_MCM_ISCR_FDZCE_SHIFT)) & CM7_MCM_ISCR_FDZCE_MASK)
  7941. #define CM7_MCM_ISCR_FOFCE_MASK (0x4000000U)
  7942. #define CM7_MCM_ISCR_FOFCE_SHIFT (26U)
  7943. /*! FOFCE - FPU Overflow Interrupt Enable
  7944. * 0b0..Disable interrupt
  7945. * 0b1..Enable interrupt
  7946. */
  7947. #define CM7_MCM_ISCR_FOFCE(x) (((uint32_t)(((uint32_t)(x)) << CM7_MCM_ISCR_FOFCE_SHIFT)) & CM7_MCM_ISCR_FOFCE_MASK)
  7948. #define CM7_MCM_ISCR_FUFCE_MASK (0x8000000U)
  7949. #define CM7_MCM_ISCR_FUFCE_SHIFT (27U)
  7950. /*! FUFCE - FPU Underflow Interrupt Enable
  7951. * 0b0..Disable interrupt
  7952. * 0b1..Enable interrupt
  7953. */
  7954. #define CM7_MCM_ISCR_FUFCE(x) (((uint32_t)(((uint32_t)(x)) << CM7_MCM_ISCR_FUFCE_SHIFT)) & CM7_MCM_ISCR_FUFCE_MASK)
  7955. #define CM7_MCM_ISCR_FIXCE_MASK (0x10000000U)
  7956. #define CM7_MCM_ISCR_FIXCE_SHIFT (28U)
  7957. /*! FIXCE - FPU Inexact Interrupt Enable
  7958. * 0b0..Disable interrupt
  7959. * 0b1..Enable interrupt
  7960. */
  7961. #define CM7_MCM_ISCR_FIXCE(x) (((uint32_t)(((uint32_t)(x)) << CM7_MCM_ISCR_FIXCE_SHIFT)) & CM7_MCM_ISCR_FIXCE_MASK)
  7962. #define CM7_MCM_ISCR_FIDCE_MASK (0x80000000U)
  7963. #define CM7_MCM_ISCR_FIDCE_SHIFT (31U)
  7964. /*! FIDCE - FPU Input Denormal Interrupt Enable
  7965. * 0b0..Disable interrupt
  7966. * 0b1..Enable interrupt
  7967. */
  7968. #define CM7_MCM_ISCR_FIDCE(x) (((uint32_t)(((uint32_t)(x)) << CM7_MCM_ISCR_FIDCE_SHIFT)) & CM7_MCM_ISCR_FIDCE_MASK)
  7969. /*! @} */
  7970. /*!
  7971. * @}
  7972. */ /* end of group CM7_MCM_Register_Masks */
  7973. /* CM7_MCM - Peripheral instance base addresses */
  7974. /** Peripheral CM7_MCM base address */
  7975. #define CM7_MCM_BASE (0xE0080000u)
  7976. /** Peripheral CM7_MCM base pointer */
  7977. #define CM7_MCM ((CM7_MCM_Type *)CM7_MCM_BASE)
  7978. /** Array initializer of CM7_MCM peripheral base addresses */
  7979. #define CM7_MCM_BASE_ADDRS { CM7_MCM_BASE }
  7980. /** Array initializer of CM7_MCM peripheral base pointers */
  7981. #define CM7_MCM_BASE_PTRS { CM7_MCM }
  7982. /*!
  7983. * @}
  7984. */ /* end of group CM7_MCM_Peripheral_Access_Layer */
  7985. /* ----------------------------------------------------------------------------
  7986. -- CMP Peripheral Access Layer
  7987. ---------------------------------------------------------------------------- */
  7988. /*!
  7989. * @addtogroup CMP_Peripheral_Access_Layer CMP Peripheral Access Layer
  7990. * @{
  7991. */
  7992. /** CMP - Register Layout Typedef */
  7993. typedef struct {
  7994. __IO uint8_t CR0; /**< CMP Control Register 0, offset: 0x0 */
  7995. __IO uint8_t CR1; /**< CMP Control Register 1, offset: 0x1 */
  7996. __IO uint8_t FPR; /**< CMP Filter Period Register, offset: 0x2 */
  7997. __IO uint8_t SCR; /**< CMP Status and Control Register, offset: 0x3 */
  7998. __IO uint8_t DACCR; /**< DAC Control Register, offset: 0x4 */
  7999. __IO uint8_t MUXCR; /**< MUX Control Register, offset: 0x5 */
  8000. } CMP_Type;
  8001. /* ----------------------------------------------------------------------------
  8002. -- CMP Register Masks
  8003. ---------------------------------------------------------------------------- */
  8004. /*!
  8005. * @addtogroup CMP_Register_Masks CMP Register Masks
  8006. * @{
  8007. */
  8008. /*! @name CR0 - CMP Control Register 0 */
  8009. /*! @{ */
  8010. #define CMP_CR0_HYSTCTR_MASK (0x3U)
  8011. #define CMP_CR0_HYSTCTR_SHIFT (0U)
  8012. /*! HYSTCTR - Comparator hard block hysteresis control
  8013. * 0b00..Level 0
  8014. * 0b01..Level 1
  8015. * 0b10..Level 2
  8016. * 0b11..Level 3
  8017. */
  8018. #define CMP_CR0_HYSTCTR(x) (((uint8_t)(((uint8_t)(x)) << CMP_CR0_HYSTCTR_SHIFT)) & CMP_CR0_HYSTCTR_MASK)
  8019. #define CMP_CR0_FILTER_CNT_MASK (0x70U)
  8020. #define CMP_CR0_FILTER_CNT_SHIFT (4U)
  8021. /*! FILTER_CNT - Filter Sample Count
  8022. * 0b000..Filter is disabled. If SE = 1, then COUT is a logic 0. This is not a legal state, and is not recommended. If SE = 0, COUT = COUTA.
  8023. * 0b001..One sample must agree. The comparator output is simply sampled.
  8024. * 0b010..2 consecutive samples must agree.
  8025. * 0b011..3 consecutive samples must agree.
  8026. * 0b100..4 consecutive samples must agree.
  8027. * 0b101..5 consecutive samples must agree.
  8028. * 0b110..6 consecutive samples must agree.
  8029. * 0b111..7 consecutive samples must agree.
  8030. */
  8031. #define CMP_CR0_FILTER_CNT(x) (((uint8_t)(((uint8_t)(x)) << CMP_CR0_FILTER_CNT_SHIFT)) & CMP_CR0_FILTER_CNT_MASK)
  8032. /*! @} */
  8033. /*! @name CR1 - CMP Control Register 1 */
  8034. /*! @{ */
  8035. #define CMP_CR1_EN_MASK (0x1U)
  8036. #define CMP_CR1_EN_SHIFT (0U)
  8037. /*! EN - Comparator Module Enable
  8038. * 0b0..Analog Comparator is disabled.
  8039. * 0b1..Analog Comparator is enabled.
  8040. */
  8041. #define CMP_CR1_EN(x) (((uint8_t)(((uint8_t)(x)) << CMP_CR1_EN_SHIFT)) & CMP_CR1_EN_MASK)
  8042. #define CMP_CR1_OPE_MASK (0x2U)
  8043. #define CMP_CR1_OPE_SHIFT (1U)
  8044. /*! OPE - Comparator Output Pin Enable
  8045. * 0b0..CMPO is not available on the associated CMPO output pin. If the comparator does not own the pin, this field has no effect.
  8046. * 0b1..CMPO is available on the associated CMPO output pin. The comparator output (CMPO) is driven out on the
  8047. * associated CMPO output pin if the comparator owns the pin. If the comparator does not own the field, this
  8048. * bit has no effect.
  8049. */
  8050. #define CMP_CR1_OPE(x) (((uint8_t)(((uint8_t)(x)) << CMP_CR1_OPE_SHIFT)) & CMP_CR1_OPE_MASK)
  8051. #define CMP_CR1_COS_MASK (0x4U)
  8052. #define CMP_CR1_COS_SHIFT (2U)
  8053. /*! COS - Comparator Output Select
  8054. * 0b0..Set the filtered comparator output (CMPO) to equal COUT.
  8055. * 0b1..Set the unfiltered comparator output (CMPO) to equal COUTA.
  8056. */
  8057. #define CMP_CR1_COS(x) (((uint8_t)(((uint8_t)(x)) << CMP_CR1_COS_SHIFT)) & CMP_CR1_COS_MASK)
  8058. #define CMP_CR1_INV_MASK (0x8U)
  8059. #define CMP_CR1_INV_SHIFT (3U)
  8060. /*! INV - Comparator INVERT
  8061. * 0b0..Does not invert the comparator output.
  8062. * 0b1..Inverts the comparator output.
  8063. */
  8064. #define CMP_CR1_INV(x) (((uint8_t)(((uint8_t)(x)) << CMP_CR1_INV_SHIFT)) & CMP_CR1_INV_MASK)
  8065. #define CMP_CR1_PMODE_MASK (0x10U)
  8066. #define CMP_CR1_PMODE_SHIFT (4U)
  8067. /*! PMODE - Power Mode Select
  8068. * 0b0..Low-Speed (LS) Comparison mode selected. In this mode, CMP has slower output propagation delay and lower current consumption.
  8069. * 0b1..High-Speed (HS) Comparison mode selected. In this mode, CMP has faster output propagation delay and higher current consumption.
  8070. */
  8071. #define CMP_CR1_PMODE(x) (((uint8_t)(((uint8_t)(x)) << CMP_CR1_PMODE_SHIFT)) & CMP_CR1_PMODE_MASK)
  8072. #define CMP_CR1_WE_MASK (0x40U)
  8073. #define CMP_CR1_WE_SHIFT (6U)
  8074. /*! WE - Windowing Enable
  8075. * 0b0..Windowing mode is not selected.
  8076. * 0b1..Windowing mode is selected.
  8077. */
  8078. #define CMP_CR1_WE(x) (((uint8_t)(((uint8_t)(x)) << CMP_CR1_WE_SHIFT)) & CMP_CR1_WE_MASK)
  8079. #define CMP_CR1_SE_MASK (0x80U)
  8080. #define CMP_CR1_SE_SHIFT (7U)
  8081. /*! SE - Sample Enable
  8082. * 0b0..Sampling mode is not selected.
  8083. * 0b1..Sampling mode is selected.
  8084. */
  8085. #define CMP_CR1_SE(x) (((uint8_t)(((uint8_t)(x)) << CMP_CR1_SE_SHIFT)) & CMP_CR1_SE_MASK)
  8086. /*! @} */
  8087. /*! @name FPR - CMP Filter Period Register */
  8088. /*! @{ */
  8089. #define CMP_FPR_FILT_PER_MASK (0xFFU)
  8090. #define CMP_FPR_FILT_PER_SHIFT (0U)
  8091. /*! FILT_PER - Filter Sample Period
  8092. */
  8093. #define CMP_FPR_FILT_PER(x) (((uint8_t)(((uint8_t)(x)) << CMP_FPR_FILT_PER_SHIFT)) & CMP_FPR_FILT_PER_MASK)
  8094. /*! @} */
  8095. /*! @name SCR - CMP Status and Control Register */
  8096. /*! @{ */
  8097. #define CMP_SCR_COUT_MASK (0x1U)
  8098. #define CMP_SCR_COUT_SHIFT (0U)
  8099. /*! COUT - Analog Comparator Output
  8100. */
  8101. #define CMP_SCR_COUT(x) (((uint8_t)(((uint8_t)(x)) << CMP_SCR_COUT_SHIFT)) & CMP_SCR_COUT_MASK)
  8102. #define CMP_SCR_CFF_MASK (0x2U)
  8103. #define CMP_SCR_CFF_SHIFT (1U)
  8104. /*! CFF - Analog Comparator Flag Falling
  8105. * 0b0..Falling-edge on COUT has not been detected.
  8106. * 0b1..Falling-edge on COUT has occurred.
  8107. */
  8108. #define CMP_SCR_CFF(x) (((uint8_t)(((uint8_t)(x)) << CMP_SCR_CFF_SHIFT)) & CMP_SCR_CFF_MASK)
  8109. #define CMP_SCR_CFR_MASK (0x4U)
  8110. #define CMP_SCR_CFR_SHIFT (2U)
  8111. /*! CFR - Analog Comparator Flag Rising
  8112. * 0b0..Rising-edge on COUT has not been detected.
  8113. * 0b1..Rising-edge on COUT has occurred.
  8114. */
  8115. #define CMP_SCR_CFR(x) (((uint8_t)(((uint8_t)(x)) << CMP_SCR_CFR_SHIFT)) & CMP_SCR_CFR_MASK)
  8116. #define CMP_SCR_IEF_MASK (0x8U)
  8117. #define CMP_SCR_IEF_SHIFT (3U)
  8118. /*! IEF - Comparator Interrupt Enable Falling
  8119. * 0b0..Interrupt is disabled.
  8120. * 0b1..Interrupt is enabled.
  8121. */
  8122. #define CMP_SCR_IEF(x) (((uint8_t)(((uint8_t)(x)) << CMP_SCR_IEF_SHIFT)) & CMP_SCR_IEF_MASK)
  8123. #define CMP_SCR_IER_MASK (0x10U)
  8124. #define CMP_SCR_IER_SHIFT (4U)
  8125. /*! IER - Comparator Interrupt Enable Rising
  8126. * 0b0..Interrupt is disabled.
  8127. * 0b1..Interrupt is enabled.
  8128. */
  8129. #define CMP_SCR_IER(x) (((uint8_t)(((uint8_t)(x)) << CMP_SCR_IER_SHIFT)) & CMP_SCR_IER_MASK)
  8130. #define CMP_SCR_DMAEN_MASK (0x40U)
  8131. #define CMP_SCR_DMAEN_SHIFT (6U)
  8132. /*! DMAEN - DMA Enable Control
  8133. * 0b0..DMA is disabled.
  8134. * 0b1..DMA is enabled.
  8135. */
  8136. #define CMP_SCR_DMAEN(x) (((uint8_t)(((uint8_t)(x)) << CMP_SCR_DMAEN_SHIFT)) & CMP_SCR_DMAEN_MASK)
  8137. /*! @} */
  8138. /*! @name DACCR - DAC Control Register */
  8139. /*! @{ */
  8140. #define CMP_DACCR_VOSEL_MASK (0x3FU)
  8141. #define CMP_DACCR_VOSEL_SHIFT (0U)
  8142. /*! VOSEL - DAC Output Voltage Select
  8143. */
  8144. #define CMP_DACCR_VOSEL(x) (((uint8_t)(((uint8_t)(x)) << CMP_DACCR_VOSEL_SHIFT)) & CMP_DACCR_VOSEL_MASK)
  8145. #define CMP_DACCR_VRSEL_MASK (0x40U)
  8146. #define CMP_DACCR_VRSEL_SHIFT (6U)
  8147. /*! VRSEL - Supply Voltage Reference Source Select
  8148. * 0b0..Vin1 is selected as resistor ladder network supply reference.
  8149. * 0b1..Vin2 is selected as resistor ladder network supply reference.
  8150. */
  8151. #define CMP_DACCR_VRSEL(x) (((uint8_t)(((uint8_t)(x)) << CMP_DACCR_VRSEL_SHIFT)) & CMP_DACCR_VRSEL_MASK)
  8152. #define CMP_DACCR_DACEN_MASK (0x80U)
  8153. #define CMP_DACCR_DACEN_SHIFT (7U)
  8154. /*! DACEN - DAC Enable
  8155. * 0b0..DAC is disabled.
  8156. * 0b1..DAC is enabled.
  8157. */
  8158. #define CMP_DACCR_DACEN(x) (((uint8_t)(((uint8_t)(x)) << CMP_DACCR_DACEN_SHIFT)) & CMP_DACCR_DACEN_MASK)
  8159. /*! @} */
  8160. /*! @name MUXCR - MUX Control Register */
  8161. /*! @{ */
  8162. #define CMP_MUXCR_MSEL_MASK (0x7U)
  8163. #define CMP_MUXCR_MSEL_SHIFT (0U)
  8164. /*! MSEL - Minus Input Mux Control
  8165. * 0b000..IN0
  8166. * 0b001..IN1
  8167. * 0b010..IN2
  8168. * 0b011..IN3
  8169. * 0b100..IN4
  8170. * 0b101..IN5
  8171. * 0b110..IN6
  8172. * 0b111..IN7
  8173. */
  8174. #define CMP_MUXCR_MSEL(x) (((uint8_t)(((uint8_t)(x)) << CMP_MUXCR_MSEL_SHIFT)) & CMP_MUXCR_MSEL_MASK)
  8175. #define CMP_MUXCR_PSEL_MASK (0x38U)
  8176. #define CMP_MUXCR_PSEL_SHIFT (3U)
  8177. /*! PSEL - Plus Input Mux Control
  8178. * 0b000..IN0
  8179. * 0b001..IN1
  8180. * 0b010..IN2
  8181. * 0b011..IN3
  8182. * 0b100..IN4
  8183. * 0b101..IN5
  8184. * 0b110..IN6
  8185. * 0b111..IN7
  8186. */
  8187. #define CMP_MUXCR_PSEL(x) (((uint8_t)(((uint8_t)(x)) << CMP_MUXCR_PSEL_SHIFT)) & CMP_MUXCR_PSEL_MASK)
  8188. /*! @} */
  8189. /*!
  8190. * @}
  8191. */ /* end of group CMP_Register_Masks */
  8192. /* CMP - Peripheral instance base addresses */
  8193. /** Peripheral CMP1 base address */
  8194. #define CMP1_BASE (0x40094000u)
  8195. /** Peripheral CMP1 base pointer */
  8196. #define CMP1 ((CMP_Type *)CMP1_BASE)
  8197. /** Peripheral CMP2 base address */
  8198. #define CMP2_BASE (0x40094008u)
  8199. /** Peripheral CMP2 base pointer */
  8200. #define CMP2 ((CMP_Type *)CMP2_BASE)
  8201. /** Peripheral CMP3 base address */
  8202. #define CMP3_BASE (0x40094010u)
  8203. /** Peripheral CMP3 base pointer */
  8204. #define CMP3 ((CMP_Type *)CMP3_BASE)
  8205. /** Peripheral CMP4 base address */
  8206. #define CMP4_BASE (0x40094018u)
  8207. /** Peripheral CMP4 base pointer */
  8208. #define CMP4 ((CMP_Type *)CMP4_BASE)
  8209. /** Array initializer of CMP peripheral base addresses */
  8210. #define CMP_BASE_ADDRS { 0u, CMP1_BASE, CMP2_BASE, CMP3_BASE, CMP4_BASE }
  8211. /** Array initializer of CMP peripheral base pointers */
  8212. #define CMP_BASE_PTRS { (CMP_Type *)0u, CMP1, CMP2, CMP3, CMP4 }
  8213. /** Interrupt vectors for the CMP peripheral type */
  8214. #define CMP_IRQS { NotAvail_IRQn, ACMP1_IRQn, ACMP2_IRQn, ACMP3_IRQn, ACMP4_IRQn }
  8215. /*!
  8216. * @}
  8217. */ /* end of group CMP_Peripheral_Access_Layer */
  8218. /* ----------------------------------------------------------------------------
  8219. -- CSU Peripheral Access Layer
  8220. ---------------------------------------------------------------------------- */
  8221. /*!
  8222. * @addtogroup CSU_Peripheral_Access_Layer CSU Peripheral Access Layer
  8223. * @{
  8224. */
  8225. /** CSU - Register Layout Typedef */
  8226. typedef struct {
  8227. __IO uint32_t CSL[32]; /**< Config security level register, array offset: 0x0, array step: 0x4 */
  8228. uint8_t RESERVED_0[384];
  8229. __IO uint32_t HP0; /**< HP0 register, offset: 0x200 */
  8230. uint8_t RESERVED_1[20];
  8231. __IO uint32_t SA; /**< Secure access register, offset: 0x218 */
  8232. uint8_t RESERVED_2[316];
  8233. __IO uint32_t HPCONTROL0; /**< HPCONTROL0 register, offset: 0x358 */
  8234. } CSU_Type;
  8235. /* ----------------------------------------------------------------------------
  8236. -- CSU Register Masks
  8237. ---------------------------------------------------------------------------- */
  8238. /*!
  8239. * @addtogroup CSU_Register_Masks CSU Register Masks
  8240. * @{
  8241. */
  8242. /*! @name CSL - Config security level register */
  8243. /*! @{ */
  8244. #define CSU_CSL_SUR_S2_MASK (0x1U)
  8245. #define CSU_CSL_SUR_S2_SHIFT (0U)
  8246. /*! SUR_S2
  8247. * 0b0..The secure user read access is disabled for the second slave.
  8248. * 0b1..The secure user read access is enabled for the second slave.
  8249. */
  8250. #define CSU_CSL_SUR_S2(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_SUR_S2_SHIFT)) & CSU_CSL_SUR_S2_MASK)
  8251. #define CSU_CSL_SSR_S2_MASK (0x2U)
  8252. #define CSU_CSL_SSR_S2_SHIFT (1U)
  8253. /*! SSR_S2
  8254. * 0b0..The secure supervisor read access is disabled for the second slave.
  8255. * 0b1..The secure supervisor read access is enabled for the second slave.
  8256. */
  8257. #define CSU_CSL_SSR_S2(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_SSR_S2_SHIFT)) & CSU_CSL_SSR_S2_MASK)
  8258. #define CSU_CSL_NUR_S2_MASK (0x4U)
  8259. #define CSU_CSL_NUR_S2_SHIFT (2U)
  8260. /*! NUR_S2
  8261. * 0b0..The non-secure user read access is disabled for the second slave.
  8262. * 0b1..The non-secure user read access is enabled for the second slave.
  8263. */
  8264. #define CSU_CSL_NUR_S2(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_NUR_S2_SHIFT)) & CSU_CSL_NUR_S2_MASK)
  8265. #define CSU_CSL_NSR_S2_MASK (0x8U)
  8266. #define CSU_CSL_NSR_S2_SHIFT (3U)
  8267. /*! NSR_S2
  8268. * 0b0..The non-secure supervisor read access is disabled for the second slave.
  8269. * 0b1..The non-secure supervisor read access is enabled for the second slave.
  8270. */
  8271. #define CSU_CSL_NSR_S2(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_NSR_S2_SHIFT)) & CSU_CSL_NSR_S2_MASK)
  8272. #define CSU_CSL_SUW_S2_MASK (0x10U)
  8273. #define CSU_CSL_SUW_S2_SHIFT (4U)
  8274. /*! SUW_S2
  8275. * 0b0..The secure user write access is disabled for the second slave.
  8276. * 0b1..The secure user write access is enabled for the second slave.
  8277. */
  8278. #define CSU_CSL_SUW_S2(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_SUW_S2_SHIFT)) & CSU_CSL_SUW_S2_MASK)
  8279. #define CSU_CSL_SSW_S2_MASK (0x20U)
  8280. #define CSU_CSL_SSW_S2_SHIFT (5U)
  8281. /*! SSW_S2
  8282. * 0b0..The secure supervisor write access is disabled for the second slave.
  8283. * 0b1..The secure supervisor write access is enabled for the second slave.
  8284. */
  8285. #define CSU_CSL_SSW_S2(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_SSW_S2_SHIFT)) & CSU_CSL_SSW_S2_MASK)
  8286. #define CSU_CSL_NUW_S2_MASK (0x40U)
  8287. #define CSU_CSL_NUW_S2_SHIFT (6U)
  8288. /*! NUW_S2
  8289. * 0b0..The non-secure user write access is disabled for the second slave.
  8290. * 0b1..The non-secure user write access is enabled for the second slave.
  8291. */
  8292. #define CSU_CSL_NUW_S2(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_NUW_S2_SHIFT)) & CSU_CSL_NUW_S2_MASK)
  8293. #define CSU_CSL_NSW_S2_MASK (0x80U)
  8294. #define CSU_CSL_NSW_S2_SHIFT (7U)
  8295. /*! NSW_S2
  8296. * 0b0..The non-secure supervisor write access is disabled for the second slave.
  8297. * 0b1..The non-secure supervisor write access is enabled for the second slave.
  8298. */
  8299. #define CSU_CSL_NSW_S2(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_NSW_S2_SHIFT)) & CSU_CSL_NSW_S2_MASK)
  8300. #define CSU_CSL_LOCK_S2_MASK (0x100U)
  8301. #define CSU_CSL_LOCK_S2_SHIFT (8U)
  8302. /*! LOCK_S2
  8303. * 0b0..Not locked. Bits 7-0 can be written by the software.
  8304. * 0b1..Bits 7-0 are locked and cannot be written by the software
  8305. */
  8306. #define CSU_CSL_LOCK_S2(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_LOCK_S2_SHIFT)) & CSU_CSL_LOCK_S2_MASK)
  8307. #define CSU_CSL_SUR_S1_MASK (0x10000U)
  8308. #define CSU_CSL_SUR_S1_SHIFT (16U)
  8309. /*! SUR_S1
  8310. * 0b0..The secure user read access is disabled for the first slave.
  8311. * 0b1..The secure user read access is enabled for the first slave.
  8312. */
  8313. #define CSU_CSL_SUR_S1(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_SUR_S1_SHIFT)) & CSU_CSL_SUR_S1_MASK)
  8314. #define CSU_CSL_SSR_S1_MASK (0x20000U)
  8315. #define CSU_CSL_SSR_S1_SHIFT (17U)
  8316. /*! SSR_S1
  8317. * 0b0..The secure supervisor read access is disabled for the first slave.
  8318. * 0b1..The secure supervisor read access is enabled for the first slave.
  8319. */
  8320. #define CSU_CSL_SSR_S1(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_SSR_S1_SHIFT)) & CSU_CSL_SSR_S1_MASK)
  8321. #define CSU_CSL_NUR_S1_MASK (0x40000U)
  8322. #define CSU_CSL_NUR_S1_SHIFT (18U)
  8323. /*! NUR_S1
  8324. * 0b0..The non-secure user read access is disabled for the first slave.
  8325. * 0b1..The non-secure user read access is enabled for the first slave.
  8326. */
  8327. #define CSU_CSL_NUR_S1(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_NUR_S1_SHIFT)) & CSU_CSL_NUR_S1_MASK)
  8328. #define CSU_CSL_NSR_S1_MASK (0x80000U)
  8329. #define CSU_CSL_NSR_S1_SHIFT (19U)
  8330. /*! NSR_S1
  8331. * 0b0..The non-secure supervisor read access is disabled for the first slave.
  8332. * 0b1..The non-secure supervisor read access is enabled for the first slave.
  8333. */
  8334. #define CSU_CSL_NSR_S1(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_NSR_S1_SHIFT)) & CSU_CSL_NSR_S1_MASK)
  8335. #define CSU_CSL_SUW_S1_MASK (0x100000U)
  8336. #define CSU_CSL_SUW_S1_SHIFT (20U)
  8337. /*! SUW_S1
  8338. * 0b0..The secure user write access is disabled for the first slave.
  8339. * 0b1..The secure user write access is enabled for the first slave.
  8340. */
  8341. #define CSU_CSL_SUW_S1(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_SUW_S1_SHIFT)) & CSU_CSL_SUW_S1_MASK)
  8342. #define CSU_CSL_SSW_S1_MASK (0x200000U)
  8343. #define CSU_CSL_SSW_S1_SHIFT (21U)
  8344. /*! SSW_S1
  8345. * 0b0..The secure supervisor write access is disabled for the first slave.
  8346. * 0b1..The secure supervisor write access is enabled for the first slave.
  8347. */
  8348. #define CSU_CSL_SSW_S1(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_SSW_S1_SHIFT)) & CSU_CSL_SSW_S1_MASK)
  8349. #define CSU_CSL_NUW_S1_MASK (0x400000U)
  8350. #define CSU_CSL_NUW_S1_SHIFT (22U)
  8351. /*! NUW_S1
  8352. * 0b0..The non-secure user write access is disabled for the first slave.
  8353. * 0b1..The non-secure user write access is enabled for the first slave.
  8354. */
  8355. #define CSU_CSL_NUW_S1(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_NUW_S1_SHIFT)) & CSU_CSL_NUW_S1_MASK)
  8356. #define CSU_CSL_NSW_S1_MASK (0x800000U)
  8357. #define CSU_CSL_NSW_S1_SHIFT (23U)
  8358. /*! NSW_S1
  8359. * 0b0..The non-secure supervisor write access is disabled for the first slave.
  8360. * 0b1..The non-secure supervisor write access is enabled for the first slave
  8361. */
  8362. #define CSU_CSL_NSW_S1(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_NSW_S1_SHIFT)) & CSU_CSL_NSW_S1_MASK)
  8363. #define CSU_CSL_LOCK_S1_MASK (0x1000000U)
  8364. #define CSU_CSL_LOCK_S1_SHIFT (24U)
  8365. /*! LOCK_S1
  8366. * 0b0..Not locked. The bits 16-23 can be written by the software.
  8367. * 0b1..The bits 16-23 are locked and can't be written by the software.
  8368. */
  8369. #define CSU_CSL_LOCK_S1(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_LOCK_S1_SHIFT)) & CSU_CSL_LOCK_S1_MASK)
  8370. /*! @} */
  8371. /* The count of CSU_CSL */
  8372. #define CSU_CSL_COUNT (32U)
  8373. /*! @name HP0 - HP0 register */
  8374. /*! @{ */
  8375. #define CSU_HP0_HP_DMA_MASK (0x4U)
  8376. #define CSU_HP0_HP_DMA_SHIFT (2U)
  8377. /*! HP_DMA
  8378. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  8379. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  8380. */
  8381. #define CSU_HP0_HP_DMA(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_DMA_SHIFT)) & CSU_HP0_HP_DMA_MASK)
  8382. #define CSU_HP0_L_DMA_MASK (0x8U)
  8383. #define CSU_HP0_L_DMA_SHIFT (3U)
  8384. /*! L_DMA
  8385. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8386. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8387. */
  8388. #define CSU_HP0_L_DMA(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_DMA_SHIFT)) & CSU_HP0_L_DMA_MASK)
  8389. #define CSU_HP0_HP_LCDIF_MASK (0x10U)
  8390. #define CSU_HP0_HP_LCDIF_SHIFT (4U)
  8391. /*! HP_LCDIF
  8392. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  8393. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  8394. */
  8395. #define CSU_HP0_HP_LCDIF(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_LCDIF_SHIFT)) & CSU_HP0_HP_LCDIF_MASK)
  8396. #define CSU_HP0_L_LCDIF_MASK (0x20U)
  8397. #define CSU_HP0_L_LCDIF_SHIFT (5U)
  8398. /*! L_LCDIF
  8399. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8400. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8401. */
  8402. #define CSU_HP0_L_LCDIF(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_LCDIF_SHIFT)) & CSU_HP0_L_LCDIF_MASK)
  8403. #define CSU_HP0_HP_CSI_MASK (0x40U)
  8404. #define CSU_HP0_HP_CSI_SHIFT (6U)
  8405. /*! HP_CSI
  8406. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  8407. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  8408. */
  8409. #define CSU_HP0_HP_CSI(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_CSI_SHIFT)) & CSU_HP0_HP_CSI_MASK)
  8410. #define CSU_HP0_L_CSI_MASK (0x80U)
  8411. #define CSU_HP0_L_CSI_SHIFT (7U)
  8412. /*! L_CSI
  8413. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8414. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8415. */
  8416. #define CSU_HP0_L_CSI(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_CSI_SHIFT)) & CSU_HP0_L_CSI_MASK)
  8417. #define CSU_HP0_HP_PXP_MASK (0x100U)
  8418. #define CSU_HP0_HP_PXP_SHIFT (8U)
  8419. /*! HP_PXP
  8420. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  8421. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  8422. */
  8423. #define CSU_HP0_HP_PXP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_PXP_SHIFT)) & CSU_HP0_HP_PXP_MASK)
  8424. #define CSU_HP0_L_PXP_MASK (0x200U)
  8425. #define CSU_HP0_L_PXP_SHIFT (9U)
  8426. /*! L_PXP
  8427. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8428. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8429. */
  8430. #define CSU_HP0_L_PXP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_PXP_SHIFT)) & CSU_HP0_L_PXP_MASK)
  8431. #define CSU_HP0_HP_DCP_MASK (0x400U)
  8432. #define CSU_HP0_HP_DCP_SHIFT (10U)
  8433. /*! HP_DCP
  8434. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  8435. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  8436. */
  8437. #define CSU_HP0_HP_DCP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_DCP_SHIFT)) & CSU_HP0_HP_DCP_MASK)
  8438. #define CSU_HP0_L_DCP_MASK (0x800U)
  8439. #define CSU_HP0_L_DCP_SHIFT (11U)
  8440. /*! L_DCP
  8441. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8442. * 0b1..Lock-the adjacent (next lower) bit cannot be written by the software.
  8443. */
  8444. #define CSU_HP0_L_DCP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_DCP_SHIFT)) & CSU_HP0_L_DCP_MASK)
  8445. #define CSU_HP0_HP_ENET_MASK (0x4000U)
  8446. #define CSU_HP0_HP_ENET_SHIFT (14U)
  8447. /*! HP_ENET
  8448. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  8449. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  8450. */
  8451. #define CSU_HP0_HP_ENET(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_ENET_SHIFT)) & CSU_HP0_HP_ENET_MASK)
  8452. #define CSU_HP0_L_ENET_MASK (0x8000U)
  8453. #define CSU_HP0_L_ENET_SHIFT (15U)
  8454. /*! L_ENET
  8455. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8456. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8457. */
  8458. #define CSU_HP0_L_ENET(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_ENET_SHIFT)) & CSU_HP0_L_ENET_MASK)
  8459. #define CSU_HP0_HP_USDHC1_MASK (0x10000U)
  8460. #define CSU_HP0_HP_USDHC1_SHIFT (16U)
  8461. /*! HP_USDHC1
  8462. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  8463. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  8464. */
  8465. #define CSU_HP0_HP_USDHC1(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_USDHC1_SHIFT)) & CSU_HP0_HP_USDHC1_MASK)
  8466. #define CSU_HP0_L_USDHC1_MASK (0x20000U)
  8467. #define CSU_HP0_L_USDHC1_SHIFT (17U)
  8468. /*! L_USDHC1
  8469. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8470. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8471. */
  8472. #define CSU_HP0_L_USDHC1(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_USDHC1_SHIFT)) & CSU_HP0_L_USDHC1_MASK)
  8473. #define CSU_HP0_HP_USDHC2_MASK (0x40000U)
  8474. #define CSU_HP0_HP_USDHC2_SHIFT (18U)
  8475. /*! HP_USDHC2
  8476. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  8477. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  8478. */
  8479. #define CSU_HP0_HP_USDHC2(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_USDHC2_SHIFT)) & CSU_HP0_HP_USDHC2_MASK)
  8480. #define CSU_HP0_L_USDHC2_MASK (0x80000U)
  8481. #define CSU_HP0_L_USDHC2_SHIFT (19U)
  8482. /*! L_USDHC2
  8483. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8484. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8485. */
  8486. #define CSU_HP0_L_USDHC2(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_USDHC2_SHIFT)) & CSU_HP0_L_USDHC2_MASK)
  8487. #define CSU_HP0_HP_TPSMP_MASK (0x100000U)
  8488. #define CSU_HP0_HP_TPSMP_SHIFT (20U)
  8489. /*! HP_TPSMP
  8490. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  8491. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  8492. */
  8493. #define CSU_HP0_HP_TPSMP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_TPSMP_SHIFT)) & CSU_HP0_HP_TPSMP_MASK)
  8494. #define CSU_HP0_L_TPSMP_MASK (0x200000U)
  8495. #define CSU_HP0_L_TPSMP_SHIFT (21U)
  8496. /*! L_TPSMP
  8497. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8498. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8499. */
  8500. #define CSU_HP0_L_TPSMP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_TPSMP_SHIFT)) & CSU_HP0_L_TPSMP_MASK)
  8501. #define CSU_HP0_HP_USB_MASK (0x400000U)
  8502. #define CSU_HP0_HP_USB_SHIFT (22U)
  8503. /*! HP_USB
  8504. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  8505. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  8506. */
  8507. #define CSU_HP0_HP_USB(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_USB_SHIFT)) & CSU_HP0_HP_USB_MASK)
  8508. #define CSU_HP0_L_USB_MASK (0x800000U)
  8509. #define CSU_HP0_L_USB_SHIFT (23U)
  8510. /*! L_USB
  8511. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8512. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8513. */
  8514. #define CSU_HP0_L_USB(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_USB_SHIFT)) & CSU_HP0_L_USB_MASK)
  8515. /*! @} */
  8516. /*! @name SA - Secure access register */
  8517. /*! @{ */
  8518. #define CSU_SA_NSA_DMA_MASK (0x4U)
  8519. #define CSU_SA_NSA_DMA_SHIFT (2U)
  8520. /*! NSA_DMA - Non-secure access policy indicator bit
  8521. * 0b0..Secure access for the corresponding type-1 master
  8522. * 0b1..Non-secure access for the corresponding type-1 master
  8523. */
  8524. #define CSU_SA_NSA_DMA(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_DMA_SHIFT)) & CSU_SA_NSA_DMA_MASK)
  8525. #define CSU_SA_L_DMA_MASK (0x8U)
  8526. #define CSU_SA_L_DMA_SHIFT (3U)
  8527. /*! L_DMA
  8528. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8529. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8530. */
  8531. #define CSU_SA_L_DMA(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_DMA_SHIFT)) & CSU_SA_L_DMA_MASK)
  8532. #define CSU_SA_NSA_LCDIF_MASK (0x10U)
  8533. #define CSU_SA_NSA_LCDIF_SHIFT (4U)
  8534. /*! NSA_LCDIF - Non-secure access policy indicator bit
  8535. * 0b0..Secure access for the corresponding type-1 master
  8536. * 0b1..Non-secure access for the corresponding type-1 master
  8537. */
  8538. #define CSU_SA_NSA_LCDIF(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_LCDIF_SHIFT)) & CSU_SA_NSA_LCDIF_MASK)
  8539. #define CSU_SA_L_LCDIF_MASK (0x20U)
  8540. #define CSU_SA_L_LCDIF_SHIFT (5U)
  8541. /*! L_LCDIF
  8542. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8543. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8544. */
  8545. #define CSU_SA_L_LCDIF(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_LCDIF_SHIFT)) & CSU_SA_L_LCDIF_MASK)
  8546. #define CSU_SA_NSA_CSI_MASK (0x40U)
  8547. #define CSU_SA_NSA_CSI_SHIFT (6U)
  8548. /*! NSA_CSI - Non-secure access policy indicator bit
  8549. * 0b0..Secure access for the corresponding type-1 master
  8550. * 0b1..Non-secure access for the corresponding type-1 master
  8551. */
  8552. #define CSU_SA_NSA_CSI(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_CSI_SHIFT)) & CSU_SA_NSA_CSI_MASK)
  8553. #define CSU_SA_L_CSI_MASK (0x80U)
  8554. #define CSU_SA_L_CSI_SHIFT (7U)
  8555. /*! L_CSI
  8556. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8557. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8558. */
  8559. #define CSU_SA_L_CSI(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_CSI_SHIFT)) & CSU_SA_L_CSI_MASK)
  8560. #define CSU_SA_NSA_PXP_MASK (0x100U)
  8561. #define CSU_SA_NSA_PXP_SHIFT (8U)
  8562. /*! NSA_PXP - Non-Secure Access Policy indicator bit
  8563. * 0b0..Secure access for the corresponding type-1 master
  8564. * 0b1..Non-secure access for the corresponding type-1 master
  8565. */
  8566. #define CSU_SA_NSA_PXP(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_PXP_SHIFT)) & CSU_SA_NSA_PXP_MASK)
  8567. #define CSU_SA_L_PXP_MASK (0x200U)
  8568. #define CSU_SA_L_PXP_SHIFT (9U)
  8569. /*! L_PXP
  8570. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8571. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8572. */
  8573. #define CSU_SA_L_PXP(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_PXP_SHIFT)) & CSU_SA_L_PXP_MASK)
  8574. #define CSU_SA_NSA_DCP_MASK (0x400U)
  8575. #define CSU_SA_NSA_DCP_SHIFT (10U)
  8576. /*! NSA_DCP - Non-secure access policy indicator bit
  8577. * 0b0..Secure access for the corresponding type-1 master
  8578. * 0b1..Non-secure access for the corresponding type-1 master
  8579. */
  8580. #define CSU_SA_NSA_DCP(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_DCP_SHIFT)) & CSU_SA_NSA_DCP_MASK)
  8581. #define CSU_SA_L_DCP_MASK (0x800U)
  8582. #define CSU_SA_L_DCP_SHIFT (11U)
  8583. /*! L_DCP
  8584. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8585. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8586. */
  8587. #define CSU_SA_L_DCP(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_DCP_SHIFT)) & CSU_SA_L_DCP_MASK)
  8588. #define CSU_SA_NSA_ENET_MASK (0x4000U)
  8589. #define CSU_SA_NSA_ENET_SHIFT (14U)
  8590. /*! NSA_ENET - Non-secure access policy indicator bit
  8591. * 0b0..Secure access for the corresponding type-1 master
  8592. * 0b1..Non-secure access for the corresponding type-1 master
  8593. */
  8594. #define CSU_SA_NSA_ENET(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_ENET_SHIFT)) & CSU_SA_NSA_ENET_MASK)
  8595. #define CSU_SA_L_ENET_MASK (0x8000U)
  8596. #define CSU_SA_L_ENET_SHIFT (15U)
  8597. /*! L_ENET
  8598. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8599. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8600. */
  8601. #define CSU_SA_L_ENET(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_ENET_SHIFT)) & CSU_SA_L_ENET_MASK)
  8602. #define CSU_SA_NSA_USDHC1_MASK (0x10000U)
  8603. #define CSU_SA_NSA_USDHC1_SHIFT (16U)
  8604. /*! NSA_USDHC1 - Non-secure access policy indicator bit
  8605. * 0b0..Secure access for the corresponding type-1 master
  8606. * 0b1..Non-secure access for the corresponding type-1 master
  8607. */
  8608. #define CSU_SA_NSA_USDHC1(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_USDHC1_SHIFT)) & CSU_SA_NSA_USDHC1_MASK)
  8609. #define CSU_SA_L_USDHC1_MASK (0x20000U)
  8610. #define CSU_SA_L_USDHC1_SHIFT (17U)
  8611. /*! L_USDHC1
  8612. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8613. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8614. */
  8615. #define CSU_SA_L_USDHC1(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_USDHC1_SHIFT)) & CSU_SA_L_USDHC1_MASK)
  8616. #define CSU_SA_NSA_USDHC2_MASK (0x40000U)
  8617. #define CSU_SA_NSA_USDHC2_SHIFT (18U)
  8618. /*! NSA_USDHC2 - Non-secure access policy indicator bit
  8619. * 0b0..Secure access for the corresponding type-1 master
  8620. * 0b1..Non-secure access for the corresponding type-1 master
  8621. */
  8622. #define CSU_SA_NSA_USDHC2(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_USDHC2_SHIFT)) & CSU_SA_NSA_USDHC2_MASK)
  8623. #define CSU_SA_L_USDHC2_MASK (0x80000U)
  8624. #define CSU_SA_L_USDHC2_SHIFT (19U)
  8625. /*! L_USDHC2
  8626. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8627. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8628. */
  8629. #define CSU_SA_L_USDHC2(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_USDHC2_SHIFT)) & CSU_SA_L_USDHC2_MASK)
  8630. #define CSU_SA_NSA_TPSMP_MASK (0x100000U)
  8631. #define CSU_SA_NSA_TPSMP_SHIFT (20U)
  8632. /*! NSA_TPSMP - Non-secure access policy indicator bit
  8633. * 0b0..Secure access for the corresponding type-1 master
  8634. * 0b1..Non-secure access for the corresponding type-1 master
  8635. */
  8636. #define CSU_SA_NSA_TPSMP(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_TPSMP_SHIFT)) & CSU_SA_NSA_TPSMP_MASK)
  8637. #define CSU_SA_L_TPSMP_MASK (0x200000U)
  8638. #define CSU_SA_L_TPSMP_SHIFT (21U)
  8639. /*! L_TPSMP
  8640. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8641. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8642. */
  8643. #define CSU_SA_L_TPSMP(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_TPSMP_SHIFT)) & CSU_SA_L_TPSMP_MASK)
  8644. #define CSU_SA_NSA_USB_MASK (0x400000U)
  8645. #define CSU_SA_NSA_USB_SHIFT (22U)
  8646. /*! NSA_USB - Non-secure access policy indicator bit
  8647. * 0b0..Secure access for the corresponding type-1 master
  8648. * 0b1..Non-secure access for the corresponding type-1 master
  8649. */
  8650. #define CSU_SA_NSA_USB(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_USB_SHIFT)) & CSU_SA_NSA_USB_MASK)
  8651. #define CSU_SA_L_USB_MASK (0x800000U)
  8652. #define CSU_SA_L_USB_SHIFT (23U)
  8653. /*! L_USB
  8654. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8655. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8656. */
  8657. #define CSU_SA_L_USB(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_USB_SHIFT)) & CSU_SA_L_USB_MASK)
  8658. /*! @} */
  8659. /*! @name HPCONTROL0 - HPCONTROL0 register */
  8660. /*! @{ */
  8661. #define CSU_HPCONTROL0_HPC_DMA_MASK (0x4U)
  8662. #define CSU_HPCONTROL0_HPC_DMA_SHIFT (2U)
  8663. /*! HPC_DMA
  8664. * 0b0..User mode for the corresponding master
  8665. * 0b1..Supervisor mode for the corresponding master
  8666. */
  8667. #define CSU_HPCONTROL0_HPC_DMA(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_DMA_SHIFT)) & CSU_HPCONTROL0_HPC_DMA_MASK)
  8668. #define CSU_HPCONTROL0_L_DMA_MASK (0x8U)
  8669. #define CSU_HPCONTROL0_L_DMA_SHIFT (3U)
  8670. /*! L_DMA
  8671. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8672. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8673. */
  8674. #define CSU_HPCONTROL0_L_DMA(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_DMA_SHIFT)) & CSU_HPCONTROL0_L_DMA_MASK)
  8675. #define CSU_HPCONTROL0_HPC_LCDIF_MASK (0x10U)
  8676. #define CSU_HPCONTROL0_HPC_LCDIF_SHIFT (4U)
  8677. /*! HPC_LCDIF
  8678. * 0b0..User mode for the corresponding master
  8679. * 0b1..Supervisor mode for the corresponding master
  8680. */
  8681. #define CSU_HPCONTROL0_HPC_LCDIF(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_LCDIF_SHIFT)) & CSU_HPCONTROL0_HPC_LCDIF_MASK)
  8682. #define CSU_HPCONTROL0_L_LCDIF_MASK (0x20U)
  8683. #define CSU_HPCONTROL0_L_LCDIF_SHIFT (5U)
  8684. /*! L_LCDIF
  8685. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8686. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8687. */
  8688. #define CSU_HPCONTROL0_L_LCDIF(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_LCDIF_SHIFT)) & CSU_HPCONTROL0_L_LCDIF_MASK)
  8689. #define CSU_HPCONTROL0_HPC_CSI_MASK (0x40U)
  8690. #define CSU_HPCONTROL0_HPC_CSI_SHIFT (6U)
  8691. /*! HPC_CSI
  8692. * 0b0..User mode for the corresponding master
  8693. * 0b1..Supervisor mode for the corresponding master
  8694. */
  8695. #define CSU_HPCONTROL0_HPC_CSI(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_CSI_SHIFT)) & CSU_HPCONTROL0_HPC_CSI_MASK)
  8696. #define CSU_HPCONTROL0_L_CSI_MASK (0x80U)
  8697. #define CSU_HPCONTROL0_L_CSI_SHIFT (7U)
  8698. /*! L_CSI
  8699. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8700. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8701. */
  8702. #define CSU_HPCONTROL0_L_CSI(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_CSI_SHIFT)) & CSU_HPCONTROL0_L_CSI_MASK)
  8703. #define CSU_HPCONTROL0_HPC_PXP_MASK (0x100U)
  8704. #define CSU_HPCONTROL0_HPC_PXP_SHIFT (8U)
  8705. /*! HPC_PXP
  8706. * 0b0..User mode for the corresponding master
  8707. * 0b1..Supervisor mode for the corresponding master
  8708. */
  8709. #define CSU_HPCONTROL0_HPC_PXP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_PXP_SHIFT)) & CSU_HPCONTROL0_HPC_PXP_MASK)
  8710. #define CSU_HPCONTROL0_L_PXP_MASK (0x200U)
  8711. #define CSU_HPCONTROL0_L_PXP_SHIFT (9U)
  8712. /*! L_PXP
  8713. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8714. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8715. */
  8716. #define CSU_HPCONTROL0_L_PXP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_PXP_SHIFT)) & CSU_HPCONTROL0_L_PXP_MASK)
  8717. #define CSU_HPCONTROL0_HPC_DCP_MASK (0x400U)
  8718. #define CSU_HPCONTROL0_HPC_DCP_SHIFT (10U)
  8719. /*! HPC_DCP
  8720. * 0b0..User mode for the corresponding master
  8721. * 0b1..Supervisor mode for the corresponding master
  8722. */
  8723. #define CSU_HPCONTROL0_HPC_DCP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_DCP_SHIFT)) & CSU_HPCONTROL0_HPC_DCP_MASK)
  8724. #define CSU_HPCONTROL0_L_DCP_MASK (0x800U)
  8725. #define CSU_HPCONTROL0_L_DCP_SHIFT (11U)
  8726. /*! L_DCP
  8727. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8728. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8729. */
  8730. #define CSU_HPCONTROL0_L_DCP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_DCP_SHIFT)) & CSU_HPCONTROL0_L_DCP_MASK)
  8731. #define CSU_HPCONTROL0_HPC_ENET_MASK (0x4000U)
  8732. #define CSU_HPCONTROL0_HPC_ENET_SHIFT (14U)
  8733. /*! HPC_ENET
  8734. * 0b0..User mode for the corresponding master
  8735. * 0b1..Supervisor mode for the corresponding master
  8736. */
  8737. #define CSU_HPCONTROL0_HPC_ENET(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_ENET_SHIFT)) & CSU_HPCONTROL0_HPC_ENET_MASK)
  8738. #define CSU_HPCONTROL0_L_ENET_MASK (0x8000U)
  8739. #define CSU_HPCONTROL0_L_ENET_SHIFT (15U)
  8740. /*! L_ENET
  8741. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8742. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8743. */
  8744. #define CSU_HPCONTROL0_L_ENET(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_ENET_SHIFT)) & CSU_HPCONTROL0_L_ENET_MASK)
  8745. #define CSU_HPCONTROL0_HPC_USDHC1_MASK (0x10000U)
  8746. #define CSU_HPCONTROL0_HPC_USDHC1_SHIFT (16U)
  8747. /*! HPC_USDHC1
  8748. * 0b0..User mode for the corresponding master
  8749. * 0b1..Supervisor mode for the corresponding master
  8750. */
  8751. #define CSU_HPCONTROL0_HPC_USDHC1(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_USDHC1_SHIFT)) & CSU_HPCONTROL0_HPC_USDHC1_MASK)
  8752. #define CSU_HPCONTROL0_L_USDHC1_MASK (0x20000U)
  8753. #define CSU_HPCONTROL0_L_USDHC1_SHIFT (17U)
  8754. /*! L_USDHC1
  8755. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8756. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8757. */
  8758. #define CSU_HPCONTROL0_L_USDHC1(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_USDHC1_SHIFT)) & CSU_HPCONTROL0_L_USDHC1_MASK)
  8759. #define CSU_HPCONTROL0_HPC_USDHC2_MASK (0x40000U)
  8760. #define CSU_HPCONTROL0_HPC_USDHC2_SHIFT (18U)
  8761. /*! HPC_USDHC2
  8762. * 0b0..User mode for the corresponding master
  8763. * 0b1..Supervisor mode for the corresponding master
  8764. */
  8765. #define CSU_HPCONTROL0_HPC_USDHC2(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_USDHC2_SHIFT)) & CSU_HPCONTROL0_HPC_USDHC2_MASK)
  8766. #define CSU_HPCONTROL0_L_USDHC2_MASK (0x80000U)
  8767. #define CSU_HPCONTROL0_L_USDHC2_SHIFT (19U)
  8768. /*! L_USDHC2
  8769. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8770. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8771. */
  8772. #define CSU_HPCONTROL0_L_USDHC2(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_USDHC2_SHIFT)) & CSU_HPCONTROL0_L_USDHC2_MASK)
  8773. #define CSU_HPCONTROL0_HPC_TPSMP_MASK (0x100000U)
  8774. #define CSU_HPCONTROL0_HPC_TPSMP_SHIFT (20U)
  8775. /*! HPC_TPSMP
  8776. * 0b0..User mode for the corresponding master
  8777. * 0b1..Supervisor mode for the corresponding master
  8778. */
  8779. #define CSU_HPCONTROL0_HPC_TPSMP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_TPSMP_SHIFT)) & CSU_HPCONTROL0_HPC_TPSMP_MASK)
  8780. #define CSU_HPCONTROL0_L_TPSMP_MASK (0x200000U)
  8781. #define CSU_HPCONTROL0_L_TPSMP_SHIFT (21U)
  8782. /*! L_TPSMP
  8783. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8784. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8785. */
  8786. #define CSU_HPCONTROL0_L_TPSMP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_TPSMP_SHIFT)) & CSU_HPCONTROL0_L_TPSMP_MASK)
  8787. #define CSU_HPCONTROL0_HPC_USB_MASK (0x400000U)
  8788. #define CSU_HPCONTROL0_HPC_USB_SHIFT (22U)
  8789. /*! HPC_USB
  8790. * 0b0..User mode for the corresponding master
  8791. * 0b1..Supervisor mode for the corresponding master
  8792. */
  8793. #define CSU_HPCONTROL0_HPC_USB(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_USB_SHIFT)) & CSU_HPCONTROL0_HPC_USB_MASK)
  8794. #define CSU_HPCONTROL0_L_USB_MASK (0x800000U)
  8795. #define CSU_HPCONTROL0_L_USB_SHIFT (23U)
  8796. /*! L_USB
  8797. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  8798. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  8799. */
  8800. #define CSU_HPCONTROL0_L_USB(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_USB_SHIFT)) & CSU_HPCONTROL0_L_USB_MASK)
  8801. /*! @} */
  8802. /*!
  8803. * @}
  8804. */ /* end of group CSU_Register_Masks */
  8805. /* CSU - Peripheral instance base addresses */
  8806. /** Peripheral CSU base address */
  8807. #define CSU_BASE (0x400DC000u)
  8808. /** Peripheral CSU base pointer */
  8809. #define CSU ((CSU_Type *)CSU_BASE)
  8810. /** Array initializer of CSU peripheral base addresses */
  8811. #define CSU_BASE_ADDRS { CSU_BASE }
  8812. /** Array initializer of CSU peripheral base pointers */
  8813. #define CSU_BASE_PTRS { CSU }
  8814. /*!
  8815. * @}
  8816. */ /* end of group CSU_Peripheral_Access_Layer */
  8817. /* ----------------------------------------------------------------------------
  8818. -- DCDC Peripheral Access Layer
  8819. ---------------------------------------------------------------------------- */
  8820. /*!
  8821. * @addtogroup DCDC_Peripheral_Access_Layer DCDC Peripheral Access Layer
  8822. * @{
  8823. */
  8824. /** DCDC - Register Layout Typedef */
  8825. typedef struct {
  8826. __IO uint32_t REG0; /**< DCDC Register 0, offset: 0x0 */
  8827. __IO uint32_t REG1; /**< DCDC Register 1, offset: 0x4 */
  8828. __IO uint32_t REG2; /**< DCDC Register 2, offset: 0x8 */
  8829. __IO uint32_t REG3; /**< DCDC Register 3, offset: 0xC */
  8830. } DCDC_Type;
  8831. /* ----------------------------------------------------------------------------
  8832. -- DCDC Register Masks
  8833. ---------------------------------------------------------------------------- */
  8834. /*!
  8835. * @addtogroup DCDC_Register_Masks DCDC Register Masks
  8836. * @{
  8837. */
  8838. /*! @name REG0 - DCDC Register 0 */
  8839. /*! @{ */
  8840. #define DCDC_REG0_PWD_ZCD_MASK (0x1U)
  8841. #define DCDC_REG0_PWD_ZCD_SHIFT (0U)
  8842. /*! PWD_ZCD - Power Down Zero Cross Detection
  8843. * 0b0..Zero cross detetion function powered up
  8844. * 0b1..Zero cross detetion function powered down
  8845. */
  8846. #define DCDC_REG0_PWD_ZCD(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_ZCD_SHIFT)) & DCDC_REG0_PWD_ZCD_MASK)
  8847. #define DCDC_REG0_DISABLE_AUTO_CLK_SWITCH_MASK (0x2U)
  8848. #define DCDC_REG0_DISABLE_AUTO_CLK_SWITCH_SHIFT (1U)
  8849. /*! DISABLE_AUTO_CLK_SWITCH - Disable Auto Clock Switch
  8850. * 0b0..If DISABLE_AUTO_CLK_SWITCH is set to 0 and 24M xtal is OK, the clock source will switch from internal ring OSC to 24M xtal automatically
  8851. * 0b1..If DISABLE_AUTO_CLK_SWITCH is set to 1, SEL_CLK will determine which clock source the DCDC uses
  8852. */
  8853. #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)
  8854. #define DCDC_REG0_SEL_CLK_MASK (0x4U)
  8855. #define DCDC_REG0_SEL_CLK_SHIFT (2U)
  8856. /*! SEL_CLK - Select Clock
  8857. * 0b0..DCDC uses internal ring oscillator
  8858. * 0b1..DCDC uses 24M xtal
  8859. */
  8860. #define DCDC_REG0_SEL_CLK(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_SEL_CLK_SHIFT)) & DCDC_REG0_SEL_CLK_MASK)
  8861. #define DCDC_REG0_PWD_OSC_INT_MASK (0x8U)
  8862. #define DCDC_REG0_PWD_OSC_INT_SHIFT (3U)
  8863. /*! PWD_OSC_INT - Power down internal osc
  8864. * 0b0..Internal oscillator powered up
  8865. * 0b1..Internal oscillator powered down
  8866. */
  8867. #define DCDC_REG0_PWD_OSC_INT(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_OSC_INT_SHIFT)) & DCDC_REG0_PWD_OSC_INT_MASK)
  8868. #define DCDC_REG0_PWD_CUR_SNS_CMP_MASK (0x10U)
  8869. #define DCDC_REG0_PWD_CUR_SNS_CMP_SHIFT (4U)
  8870. /*! PWD_CUR_SNS_CMP - Power down signal of the current detector.
  8871. * 0b0..Current Detector powered up
  8872. * 0b1..Current Detector powered down
  8873. */
  8874. #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)
  8875. #define DCDC_REG0_CUR_SNS_THRSH_MASK (0xE0U)
  8876. #define DCDC_REG0_CUR_SNS_THRSH_SHIFT (5U)
  8877. /*! CUR_SNS_THRSH - Current Sense (detector) Threshold
  8878. * 0b000..150 mA
  8879. * 0b001..250 mA
  8880. * 0b010..350 mA
  8881. * 0b011..450 mA
  8882. * 0b100..550 mA
  8883. * 0b101..650 mA
  8884. */
  8885. #define DCDC_REG0_CUR_SNS_THRSH(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_CUR_SNS_THRSH_SHIFT)) & DCDC_REG0_CUR_SNS_THRSH_MASK)
  8886. #define DCDC_REG0_PWD_OVERCUR_DET_MASK (0x100U)
  8887. #define DCDC_REG0_PWD_OVERCUR_DET_SHIFT (8U)
  8888. /*! PWD_OVERCUR_DET - Power down overcurrent detection comparator
  8889. * 0b0..Overcurrent detection comparator is enabled
  8890. * 0b1..Overcurrent detection comparator is disabled
  8891. */
  8892. #define DCDC_REG0_PWD_OVERCUR_DET(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_OVERCUR_DET_SHIFT)) & DCDC_REG0_PWD_OVERCUR_DET_MASK)
  8893. #define DCDC_REG0_OVERCUR_TRIG_ADJ_MASK (0x600U)
  8894. #define DCDC_REG0_OVERCUR_TRIG_ADJ_SHIFT (9U)
  8895. /*! OVERCUR_TRIG_ADJ - Overcurrent Trigger Adjust
  8896. * 0b00..In Run Mode, 1 A. In Power Save Mode, 0.25 A
  8897. * 0b01..In Run Mode, 2 A. In Power Save Mode, 0.25 A
  8898. * 0b10..In Run Mode, 1 A. In Power Save Mode, 0.2 A
  8899. * 0b11..In Run Mode, 2 A. In Power Save Mode, 0.2 A
  8900. */
  8901. #define DCDC_REG0_OVERCUR_TRIG_ADJ(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_OVERCUR_TRIG_ADJ_SHIFT)) & DCDC_REG0_OVERCUR_TRIG_ADJ_MASK)
  8902. #define DCDC_REG0_PWD_CMP_BATT_DET_MASK (0x800U)
  8903. #define DCDC_REG0_PWD_CMP_BATT_DET_SHIFT (11U)
  8904. /*! PWD_CMP_BATT_DET - Power Down Battery Detection Comparator
  8905. * 0b0..Low voltage detection comparator is enabled
  8906. * 0b1..Low voltage detection comparator is disabled
  8907. */
  8908. #define DCDC_REG0_PWD_CMP_BATT_DET(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_CMP_BATT_DET_SHIFT)) & DCDC_REG0_PWD_CMP_BATT_DET_MASK)
  8909. #define DCDC_REG0_EN_LP_OVERLOAD_SNS_MASK (0x10000U)
  8910. #define DCDC_REG0_EN_LP_OVERLOAD_SNS_SHIFT (16U)
  8911. /*! EN_LP_OVERLOAD_SNS - Low Power Overload Sense Enable
  8912. * 0b0..Overload Detection in power save mode disabled
  8913. * 0b1..Overload Detection in power save mode enabled
  8914. */
  8915. #define DCDC_REG0_EN_LP_OVERLOAD_SNS(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_EN_LP_OVERLOAD_SNS_SHIFT)) & DCDC_REG0_EN_LP_OVERLOAD_SNS_MASK)
  8916. #define DCDC_REG0_PWD_HIGH_VOLT_DET_MASK (0x20000U)
  8917. #define DCDC_REG0_PWD_HIGH_VOLT_DET_SHIFT (17U)
  8918. /*! PWD_HIGH_VOLT_DET - Power Down High Voltage Detection
  8919. * 0b0..Overvoltage detection comparator is enabled
  8920. * 0b1..Overvoltage detection comparator is disabled
  8921. */
  8922. #define DCDC_REG0_PWD_HIGH_VOLT_DET(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_HIGH_VOLT_DET_SHIFT)) & DCDC_REG0_PWD_HIGH_VOLT_DET_MASK)
  8923. #define DCDC_REG0_LP_OVERLOAD_THRSH_MASK (0xC0000U)
  8924. #define DCDC_REG0_LP_OVERLOAD_THRSH_SHIFT (18U)
  8925. /*! LP_OVERLOAD_THRSH - Low Power Overload Threshold
  8926. * 0b00..32
  8927. * 0b01..64
  8928. * 0b10..16
  8929. * 0b11..8
  8930. */
  8931. #define DCDC_REG0_LP_OVERLOAD_THRSH(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_LP_OVERLOAD_THRSH_SHIFT)) & DCDC_REG0_LP_OVERLOAD_THRSH_MASK)
  8932. #define DCDC_REG0_LP_OVERLOAD_FREQ_SEL_MASK (0x100000U)
  8933. #define DCDC_REG0_LP_OVERLOAD_FREQ_SEL_SHIFT (20U)
  8934. /*! LP_OVERLOAD_FREQ_SEL - Low Power Overload Frequency Select
  8935. * 0b0..eight 32k cycle
  8936. * 0b1..sixteen 32k cycle
  8937. */
  8938. #define DCDC_REG0_LP_OVERLOAD_FREQ_SEL(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_LP_OVERLOAD_FREQ_SEL_SHIFT)) & DCDC_REG0_LP_OVERLOAD_FREQ_SEL_MASK)
  8939. #define DCDC_REG0_LP_HIGH_HYS_MASK (0x200000U)
  8940. #define DCDC_REG0_LP_HIGH_HYS_SHIFT (21U)
  8941. /*! LP_HIGH_HYS - Low Power High Hysteric Value
  8942. * 0b0..Adjust hysteretic value in low power to 12.5mV
  8943. * 0b1..Adjust hysteretic value in low power to 25mV
  8944. */
  8945. #define DCDC_REG0_LP_HIGH_HYS(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_LP_HIGH_HYS_SHIFT)) & DCDC_REG0_LP_HIGH_HYS_MASK)
  8946. #define DCDC_REG0_PWD_CMP_OFFSET_MASK (0x4000000U)
  8947. #define DCDC_REG0_PWD_CMP_OFFSET_SHIFT (26U)
  8948. /*! PWD_CMP_OFFSET - Power down output range comparator
  8949. * 0b0..Output range comparator powered up
  8950. * 0b1..Output range comparator powered down
  8951. */
  8952. #define DCDC_REG0_PWD_CMP_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_CMP_OFFSET_SHIFT)) & DCDC_REG0_PWD_CMP_OFFSET_MASK)
  8953. #define DCDC_REG0_XTALOK_DISABLE_MASK (0x8000000U)
  8954. #define DCDC_REG0_XTALOK_DISABLE_SHIFT (27U)
  8955. /*! XTALOK_DISABLE - Disable xtalok detection circuit
  8956. * 0b0..Enable xtalok detection circuit
  8957. * 0b1..Disable xtalok detection circuit and always outputs OK signal "1"
  8958. */
  8959. #define DCDC_REG0_XTALOK_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_XTALOK_DISABLE_SHIFT)) & DCDC_REG0_XTALOK_DISABLE_MASK)
  8960. #define DCDC_REG0_CURRENT_ALERT_RESET_MASK (0x10000000U)
  8961. #define DCDC_REG0_CURRENT_ALERT_RESET_SHIFT (28U)
  8962. /*! CURRENT_ALERT_RESET - Reset Current Alert Signal
  8963. * 0b0..Current Alert Signal not reset
  8964. * 0b1..Current Alert Signal reset
  8965. */
  8966. #define DCDC_REG0_CURRENT_ALERT_RESET(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_CURRENT_ALERT_RESET_SHIFT)) & DCDC_REG0_CURRENT_ALERT_RESET_MASK)
  8967. #define DCDC_REG0_XTAL_24M_OK_MASK (0x20000000U)
  8968. #define DCDC_REG0_XTAL_24M_OK_SHIFT (29U)
  8969. /*! XTAL_24M_OK - 24M XTAL OK
  8970. * 0b0..DCDC uses internal ring OSC
  8971. * 0b1..DCDC uses xtal 24M
  8972. */
  8973. #define DCDC_REG0_XTAL_24M_OK(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_XTAL_24M_OK_SHIFT)) & DCDC_REG0_XTAL_24M_OK_MASK)
  8974. #define DCDC_REG0_STS_DC_OK_MASK (0x80000000U)
  8975. #define DCDC_REG0_STS_DC_OK_SHIFT (31U)
  8976. /*! STS_DC_OK - DCDC Output OK
  8977. * 0b0..DCDC is settling
  8978. * 0b1..DCDC already settled
  8979. */
  8980. #define DCDC_REG0_STS_DC_OK(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_STS_DC_OK_SHIFT)) & DCDC_REG0_STS_DC_OK_MASK)
  8981. /*! @} */
  8982. /*! @name REG1 - DCDC Register 1 */
  8983. /*! @{ */
  8984. #define DCDC_REG1_REG_FBK_SEL_MASK (0x180U)
  8985. #define DCDC_REG1_REG_FBK_SEL_SHIFT (7U)
  8986. /*! REG_FBK_SEL
  8987. * 0b00..The regulator outputs 1.0V with 1.2V reference voltage
  8988. * 0b01..The regulator outputs 1.1V with 1.2V reference voltage
  8989. * 0b10..The regulator outputs 1.0V with 1.3V reference voltage
  8990. * 0b11..The regulator outputs 1.1V with 1.3V reference voltage
  8991. */
  8992. #define DCDC_REG1_REG_FBK_SEL(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_REG_FBK_SEL_SHIFT)) & DCDC_REG1_REG_FBK_SEL_MASK)
  8993. #define DCDC_REG1_REG_RLOAD_SW_MASK (0x200U)
  8994. #define DCDC_REG1_REG_RLOAD_SW_SHIFT (9U)
  8995. /*! REG_RLOAD_SW
  8996. * 0b0..Load resistor disconnected
  8997. * 0b1..Load resistor connected
  8998. */
  8999. #define DCDC_REG1_REG_RLOAD_SW(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_REG_RLOAD_SW_SHIFT)) & DCDC_REG1_REG_RLOAD_SW_MASK)
  9000. #define DCDC_REG1_LP_CMP_ISRC_SEL_MASK (0x3000U)
  9001. #define DCDC_REG1_LP_CMP_ISRC_SEL_SHIFT (12U)
  9002. /*! LP_CMP_ISRC_SEL - Low Power Comparator Current Bias
  9003. * 0b00..50 nA
  9004. * 0b01..100 nA
  9005. * 0b10..200 nA
  9006. * 0b11..400 nA
  9007. */
  9008. #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)
  9009. #define DCDC_REG1_LOOPCTRL_HST_THRESH_MASK (0x200000U)
  9010. #define DCDC_REG1_LOOPCTRL_HST_THRESH_SHIFT (21U)
  9011. /*! LOOPCTRL_HST_THRESH - Increase Threshold Detection
  9012. * 0b0..Lower hysteresis threshold (about 2.5mV in typical, but this value can vary with PVT corners
  9013. * 0b1..Higher hysteresis threshold (about 5mV in typical)
  9014. */
  9015. #define DCDC_REG1_LOOPCTRL_HST_THRESH(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_LOOPCTRL_HST_THRESH_SHIFT)) & DCDC_REG1_LOOPCTRL_HST_THRESH_MASK)
  9016. #define DCDC_REG1_LOOPCTRL_EN_HYST_MASK (0x800000U)
  9017. #define DCDC_REG1_LOOPCTRL_EN_HYST_SHIFT (23U)
  9018. /*! LOOPCTRL_EN_HYST - Enable Hysteresis
  9019. * 0b0..Disable hysteresis in switching converter common mode analog comparators
  9020. * 0b1..Enable hysteresis in switching converter common mode analog comparators
  9021. */
  9022. #define DCDC_REG1_LOOPCTRL_EN_HYST(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_LOOPCTRL_EN_HYST_SHIFT)) & DCDC_REG1_LOOPCTRL_EN_HYST_MASK)
  9023. #define DCDC_REG1_VBG_TRIM_MASK (0x1F000000U)
  9024. #define DCDC_REG1_VBG_TRIM_SHIFT (24U)
  9025. /*! VBG_TRIM - Trim Bandgap Voltage
  9026. */
  9027. #define DCDC_REG1_VBG_TRIM(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_VBG_TRIM_SHIFT)) & DCDC_REG1_VBG_TRIM_MASK)
  9028. /*! @} */
  9029. /*! @name REG2 - DCDC Register 2 */
  9030. /*! @{ */
  9031. #define DCDC_REG2_LOOPCTRL_DC_FF_MASK (0x1C0U)
  9032. #define DCDC_REG2_LOOPCTRL_DC_FF_SHIFT (6U)
  9033. #define DCDC_REG2_LOOPCTRL_DC_FF(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_DC_FF_SHIFT)) & DCDC_REG2_LOOPCTRL_DC_FF_MASK)
  9034. #define DCDC_REG2_LOOPCTRL_EN_RCSCALE_MASK (0xE00U)
  9035. #define DCDC_REG2_LOOPCTRL_EN_RCSCALE_SHIFT (9U)
  9036. /*! LOOPCTRL_EN_RCSCALE - Enable RC Scale
  9037. */
  9038. #define DCDC_REG2_LOOPCTRL_EN_RCSCALE(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_EN_RCSCALE_SHIFT)) & DCDC_REG2_LOOPCTRL_EN_RCSCALE_MASK)
  9039. #define DCDC_REG2_LOOPCTRL_RCSCALE_THRSH_MASK (0x1000U)
  9040. #define DCDC_REG2_LOOPCTRL_RCSCALE_THRSH_SHIFT (12U)
  9041. /*! LOOPCTRL_RCSCALE_THRSH
  9042. * 0b0..Do not increase the threshold detection for RC scale circuit.
  9043. * 0b1..Increase the threshold detection for RC scale circuit.
  9044. */
  9045. #define DCDC_REG2_LOOPCTRL_RCSCALE_THRSH(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_RCSCALE_THRSH_SHIFT)) & DCDC_REG2_LOOPCTRL_RCSCALE_THRSH_MASK)
  9046. #define DCDC_REG2_LOOPCTRL_HYST_SIGN_MASK (0x2000U)
  9047. #define DCDC_REG2_LOOPCTRL_HYST_SIGN_SHIFT (13U)
  9048. /*! LOOPCTRL_HYST_SIGN
  9049. * 0b0..Do not invert sign of the hysteresis
  9050. * 0b1..Invert sign of the hysteresis
  9051. */
  9052. #define DCDC_REG2_LOOPCTRL_HYST_SIGN(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_HYST_SIGN_SHIFT)) & DCDC_REG2_LOOPCTRL_HYST_SIGN_MASK)
  9053. #define DCDC_REG2_DISABLE_PULSE_SKIP_MASK (0x8000000U)
  9054. #define DCDC_REG2_DISABLE_PULSE_SKIP_SHIFT (27U)
  9055. /*! DISABLE_PULSE_SKIP - Disable Pulse Skip
  9056. * 0b0..DCDC will be idle to save current dissipation when the duty cycle get to the low limit which is set by NEGLIMIT_IN.
  9057. * 0b1..DCDC will keep working with the low limited duty cycle NEGLIMIT_IN.
  9058. */
  9059. #define DCDC_REG2_DISABLE_PULSE_SKIP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_DISABLE_PULSE_SKIP_SHIFT)) & DCDC_REG2_DISABLE_PULSE_SKIP_MASK)
  9060. #define DCDC_REG2_DCM_SET_CTRL_MASK (0x10000000U)
  9061. #define DCDC_REG2_DCM_SET_CTRL_SHIFT (28U)
  9062. /*! DCM_SET_CTRL - DCM Set Control
  9063. */
  9064. #define DCDC_REG2_DCM_SET_CTRL(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_DCM_SET_CTRL_SHIFT)) & DCDC_REG2_DCM_SET_CTRL_MASK)
  9065. /*! @} */
  9066. /*! @name REG3 - DCDC Register 3 */
  9067. /*! @{ */
  9068. #define DCDC_REG3_TRG_MASK (0x1FU)
  9069. #define DCDC_REG3_TRG_SHIFT (0U)
  9070. /*! TRG - Target value of VDD_SOC
  9071. */
  9072. #define DCDC_REG3_TRG(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_TRG_SHIFT)) & DCDC_REG3_TRG_MASK)
  9073. #define DCDC_REG3_TARGET_LP_MASK (0x700U)
  9074. #define DCDC_REG3_TARGET_LP_SHIFT (8U)
  9075. /*! TARGET_LP - Low Power Target Value
  9076. * 0b000..0.9 V
  9077. * 0b001..0.925 V
  9078. * 0b010..0.95 V
  9079. * 0b011..0.975 V
  9080. * 0b100..1.0 V
  9081. */
  9082. #define DCDC_REG3_TARGET_LP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_TARGET_LP_SHIFT)) & DCDC_REG3_TARGET_LP_MASK)
  9083. #define DCDC_REG3_MINPWR_DC_HALFCLK_MASK (0x1000000U)
  9084. #define DCDC_REG3_MINPWR_DC_HALFCLK_SHIFT (24U)
  9085. /*! MINPWR_DC_HALFCLK
  9086. * 0b0..DCDC clock remains at full frequency for continuous mode
  9087. * 0b1..DCDC clock set to half frequency for continuous mode
  9088. */
  9089. #define DCDC_REG3_MINPWR_DC_HALFCLK(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_MINPWR_DC_HALFCLK_SHIFT)) & DCDC_REG3_MINPWR_DC_HALFCLK_MASK)
  9090. #define DCDC_REG3_DISABLE_STEP_MASK (0x40000000U)
  9091. #define DCDC_REG3_DISABLE_STEP_SHIFT (30U)
  9092. /*! DISABLE_STEP - Disable Step
  9093. * 0b0..Enable stepping for the output of VDD_SOC of DCDC
  9094. * 0b1..Disable stepping for the output of VDD_SOC of DCDC
  9095. */
  9096. #define DCDC_REG3_DISABLE_STEP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_DISABLE_STEP_SHIFT)) & DCDC_REG3_DISABLE_STEP_MASK)
  9097. /*! @} */
  9098. /*!
  9099. * @}
  9100. */ /* end of group DCDC_Register_Masks */
  9101. /* DCDC - Peripheral instance base addresses */
  9102. /** Peripheral DCDC base address */
  9103. #define DCDC_BASE (0x40080000u)
  9104. /** Peripheral DCDC base pointer */
  9105. #define DCDC ((DCDC_Type *)DCDC_BASE)
  9106. /** Array initializer of DCDC peripheral base addresses */
  9107. #define DCDC_BASE_ADDRS { DCDC_BASE }
  9108. /** Array initializer of DCDC peripheral base pointers */
  9109. #define DCDC_BASE_PTRS { DCDC }
  9110. /** Interrupt vectors for the DCDC peripheral type */
  9111. #define DCDC_IRQS { DCDC_IRQn }
  9112. /*!
  9113. * @}
  9114. */ /* end of group DCDC_Peripheral_Access_Layer */
  9115. /* ----------------------------------------------------------------------------
  9116. -- DCP Peripheral Access Layer
  9117. ---------------------------------------------------------------------------- */
  9118. /*!
  9119. * @addtogroup DCP_Peripheral_Access_Layer DCP Peripheral Access Layer
  9120. * @{
  9121. */
  9122. /** DCP - Register Layout Typedef */
  9123. typedef struct {
  9124. __IO uint32_t CTRL; /**< DCP control register 0, offset: 0x0 */
  9125. __IO uint32_t CTRL_SET; /**< DCP control register 0, offset: 0x4 */
  9126. __IO uint32_t CTRL_CLR; /**< DCP control register 0, offset: 0x8 */
  9127. __IO uint32_t CTRL_TOG; /**< DCP control register 0, offset: 0xC */
  9128. __IO uint32_t STAT; /**< DCP status register, offset: 0x10 */
  9129. __IO uint32_t STAT_SET; /**< DCP status register, offset: 0x14 */
  9130. __IO uint32_t STAT_CLR; /**< DCP status register, offset: 0x18 */
  9131. __IO uint32_t STAT_TOG; /**< DCP status register, offset: 0x1C */
  9132. __IO uint32_t CHANNELCTRL; /**< DCP channel control register, offset: 0x20 */
  9133. __IO uint32_t CHANNELCTRL_SET; /**< DCP channel control register, offset: 0x24 */
  9134. __IO uint32_t CHANNELCTRL_CLR; /**< DCP channel control register, offset: 0x28 */
  9135. __IO uint32_t CHANNELCTRL_TOG; /**< DCP channel control register, offset: 0x2C */
  9136. __IO uint32_t CAPABILITY0; /**< DCP capability 0 register, offset: 0x30 */
  9137. uint8_t RESERVED_0[12];
  9138. __I uint32_t CAPABILITY1; /**< DCP capability 1 register, offset: 0x40 */
  9139. uint8_t RESERVED_1[12];
  9140. __IO uint32_t CONTEXT; /**< DCP context buffer pointer, offset: 0x50 */
  9141. uint8_t RESERVED_2[12];
  9142. __IO uint32_t KEY; /**< DCP key index, offset: 0x60 */
  9143. uint8_t RESERVED_3[12];
  9144. __IO uint32_t KEYDATA; /**< DCP key data, offset: 0x70 */
  9145. uint8_t RESERVED_4[12];
  9146. __I uint32_t PACKET0; /**< DCP work packet 0 status register, offset: 0x80 */
  9147. uint8_t RESERVED_5[12];
  9148. __I uint32_t PACKET1; /**< DCP work packet 1 status register, offset: 0x90 */
  9149. uint8_t RESERVED_6[12];
  9150. __I uint32_t PACKET2; /**< DCP work packet 2 status register, offset: 0xA0 */
  9151. uint8_t RESERVED_7[12];
  9152. __I uint32_t PACKET3; /**< DCP work packet 3 status register, offset: 0xB0 */
  9153. uint8_t RESERVED_8[12];
  9154. __I uint32_t PACKET4; /**< DCP work packet 4 status register, offset: 0xC0 */
  9155. uint8_t RESERVED_9[12];
  9156. __I uint32_t PACKET5; /**< DCP work packet 5 status register, offset: 0xD0 */
  9157. uint8_t RESERVED_10[12];
  9158. __I uint32_t PACKET6; /**< DCP work packet 6 status register, offset: 0xE0 */
  9159. uint8_t RESERVED_11[28];
  9160. __IO uint32_t CH0CMDPTR; /**< DCP channel 0 command pointer address register, offset: 0x100 */
  9161. uint8_t RESERVED_12[12];
  9162. __IO uint32_t CH0SEMA; /**< DCP channel 0 semaphore register, offset: 0x110 */
  9163. uint8_t RESERVED_13[12];
  9164. __IO uint32_t CH0STAT; /**< DCP channel 0 status register, offset: 0x120 */
  9165. __IO uint32_t CH0STAT_SET; /**< DCP channel 0 status register, offset: 0x124 */
  9166. __IO uint32_t CH0STAT_CLR; /**< DCP channel 0 status register, offset: 0x128 */
  9167. __IO uint32_t CH0STAT_TOG; /**< DCP channel 0 status register, offset: 0x12C */
  9168. __IO uint32_t CH0OPTS; /**< DCP channel 0 options register, offset: 0x130 */
  9169. __IO uint32_t CH0OPTS_SET; /**< DCP channel 0 options register, offset: 0x134 */
  9170. __IO uint32_t CH0OPTS_CLR; /**< DCP channel 0 options register, offset: 0x138 */
  9171. __IO uint32_t CH0OPTS_TOG; /**< DCP channel 0 options register, offset: 0x13C */
  9172. __IO uint32_t CH1CMDPTR; /**< DCP channel 1 command pointer address register, offset: 0x140 */
  9173. uint8_t RESERVED_14[12];
  9174. __IO uint32_t CH1SEMA; /**< DCP channel 1 semaphore register, offset: 0x150 */
  9175. uint8_t RESERVED_15[12];
  9176. __IO uint32_t CH1STAT; /**< DCP channel 1 status register, offset: 0x160 */
  9177. __IO uint32_t CH1STAT_SET; /**< DCP channel 1 status register, offset: 0x164 */
  9178. __IO uint32_t CH1STAT_CLR; /**< DCP channel 1 status register, offset: 0x168 */
  9179. __IO uint32_t CH1STAT_TOG; /**< DCP channel 1 status register, offset: 0x16C */
  9180. __IO uint32_t CH1OPTS; /**< DCP channel 1 options register, offset: 0x170 */
  9181. __IO uint32_t CH1OPTS_SET; /**< DCP channel 1 options register, offset: 0x174 */
  9182. __IO uint32_t CH1OPTS_CLR; /**< DCP channel 1 options register, offset: 0x178 */
  9183. __IO uint32_t CH1OPTS_TOG; /**< DCP channel 1 options register, offset: 0x17C */
  9184. __IO uint32_t CH2CMDPTR; /**< DCP channel 2 command pointer address register, offset: 0x180 */
  9185. uint8_t RESERVED_16[12];
  9186. __IO uint32_t CH2SEMA; /**< DCP channel 2 semaphore register, offset: 0x190 */
  9187. uint8_t RESERVED_17[12];
  9188. __IO uint32_t CH2STAT; /**< DCP channel 2 status register, offset: 0x1A0 */
  9189. __IO uint32_t CH2STAT_SET; /**< DCP channel 2 status register, offset: 0x1A4 */
  9190. __IO uint32_t CH2STAT_CLR; /**< DCP channel 2 status register, offset: 0x1A8 */
  9191. __IO uint32_t CH2STAT_TOG; /**< DCP channel 2 status register, offset: 0x1AC */
  9192. __IO uint32_t CH2OPTS; /**< DCP channel 2 options register, offset: 0x1B0 */
  9193. __IO uint32_t CH2OPTS_SET; /**< DCP channel 2 options register, offset: 0x1B4 */
  9194. __IO uint32_t CH2OPTS_CLR; /**< DCP channel 2 options register, offset: 0x1B8 */
  9195. __IO uint32_t CH2OPTS_TOG; /**< DCP channel 2 options register, offset: 0x1BC */
  9196. __IO uint32_t CH3CMDPTR; /**< DCP channel 3 command pointer address register, offset: 0x1C0 */
  9197. uint8_t RESERVED_18[12];
  9198. __IO uint32_t CH3SEMA; /**< DCP channel 3 semaphore register, offset: 0x1D0 */
  9199. uint8_t RESERVED_19[12];
  9200. __IO uint32_t CH3STAT; /**< DCP channel 3 status register, offset: 0x1E0 */
  9201. __IO uint32_t CH3STAT_SET; /**< DCP channel 3 status register, offset: 0x1E4 */
  9202. __IO uint32_t CH3STAT_CLR; /**< DCP channel 3 status register, offset: 0x1E8 */
  9203. __IO uint32_t CH3STAT_TOG; /**< DCP channel 3 status register, offset: 0x1EC */
  9204. __IO uint32_t CH3OPTS; /**< DCP channel 3 options register, offset: 0x1F0 */
  9205. __IO uint32_t CH3OPTS_SET; /**< DCP channel 3 options register, offset: 0x1F4 */
  9206. __IO uint32_t CH3OPTS_CLR; /**< DCP channel 3 options register, offset: 0x1F8 */
  9207. __IO uint32_t CH3OPTS_TOG; /**< DCP channel 3 options register, offset: 0x1FC */
  9208. uint8_t RESERVED_20[512];
  9209. __IO uint32_t DBGSELECT; /**< DCP debug select register, offset: 0x400 */
  9210. uint8_t RESERVED_21[12];
  9211. __I uint32_t DBGDATA; /**< DCP debug data register, offset: 0x410 */
  9212. uint8_t RESERVED_22[12];
  9213. __IO uint32_t PAGETABLE; /**< DCP page table register, offset: 0x420 */
  9214. uint8_t RESERVED_23[12];
  9215. __I uint32_t VERSION; /**< DCP version register, offset: 0x430 */
  9216. } DCP_Type;
  9217. /* ----------------------------------------------------------------------------
  9218. -- DCP Register Masks
  9219. ---------------------------------------------------------------------------- */
  9220. /*!
  9221. * @addtogroup DCP_Register_Masks DCP Register Masks
  9222. * @{
  9223. */
  9224. /*! @name CTRL - DCP control register 0 */
  9225. /*! @{ */
  9226. #define DCP_CTRL_CHANNEL_INTERRUPT_ENABLE_MASK (0xFFU)
  9227. #define DCP_CTRL_CHANNEL_INTERRUPT_ENABLE_SHIFT (0U)
  9228. /*! CHANNEL_INTERRUPT_ENABLE
  9229. * 0b00000001..CH0
  9230. * 0b00000010..CH1
  9231. * 0b00000100..CH2
  9232. * 0b00001000..CH3
  9233. */
  9234. #define DCP_CTRL_CHANNEL_INTERRUPT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_CHANNEL_INTERRUPT_ENABLE_SHIFT)) & DCP_CTRL_CHANNEL_INTERRUPT_ENABLE_MASK)
  9235. #define DCP_CTRL_RSVD_CSC_INTERRUPT_ENABLE_MASK (0x100U)
  9236. #define DCP_CTRL_RSVD_CSC_INTERRUPT_ENABLE_SHIFT (8U)
  9237. #define DCP_CTRL_RSVD_CSC_INTERRUPT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_RSVD_CSC_INTERRUPT_ENABLE_SHIFT)) & DCP_CTRL_RSVD_CSC_INTERRUPT_ENABLE_MASK)
  9238. #define DCP_CTRL_ENABLE_CONTEXT_SWITCHING_MASK (0x200000U)
  9239. #define DCP_CTRL_ENABLE_CONTEXT_SWITCHING_SHIFT (21U)
  9240. #define DCP_CTRL_ENABLE_CONTEXT_SWITCHING(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_ENABLE_CONTEXT_SWITCHING_SHIFT)) & DCP_CTRL_ENABLE_CONTEXT_SWITCHING_MASK)
  9241. #define DCP_CTRL_ENABLE_CONTEXT_CACHING_MASK (0x400000U)
  9242. #define DCP_CTRL_ENABLE_CONTEXT_CACHING_SHIFT (22U)
  9243. #define DCP_CTRL_ENABLE_CONTEXT_CACHING(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_ENABLE_CONTEXT_CACHING_SHIFT)) & DCP_CTRL_ENABLE_CONTEXT_CACHING_MASK)
  9244. #define DCP_CTRL_GATHER_RESIDUAL_WRITES_MASK (0x800000U)
  9245. #define DCP_CTRL_GATHER_RESIDUAL_WRITES_SHIFT (23U)
  9246. #define DCP_CTRL_GATHER_RESIDUAL_WRITES(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_GATHER_RESIDUAL_WRITES_SHIFT)) & DCP_CTRL_GATHER_RESIDUAL_WRITES_MASK)
  9247. #define DCP_CTRL_PRESENT_SHA_MASK (0x10000000U)
  9248. #define DCP_CTRL_PRESENT_SHA_SHIFT (28U)
  9249. /*! PRESENT_SHA
  9250. * 0b1..Present
  9251. * 0b0..Absent
  9252. */
  9253. #define DCP_CTRL_PRESENT_SHA(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_PRESENT_SHA_SHIFT)) & DCP_CTRL_PRESENT_SHA_MASK)
  9254. #define DCP_CTRL_PRESENT_CRYPTO_MASK (0x20000000U)
  9255. #define DCP_CTRL_PRESENT_CRYPTO_SHIFT (29U)
  9256. /*! PRESENT_CRYPTO
  9257. * 0b1..Present
  9258. * 0b0..Absent
  9259. */
  9260. #define DCP_CTRL_PRESENT_CRYPTO(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_PRESENT_CRYPTO_SHIFT)) & DCP_CTRL_PRESENT_CRYPTO_MASK)
  9261. #define DCP_CTRL_CLKGATE_MASK (0x40000000U)
  9262. #define DCP_CTRL_CLKGATE_SHIFT (30U)
  9263. #define DCP_CTRL_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_CLKGATE_SHIFT)) & DCP_CTRL_CLKGATE_MASK)
  9264. #define DCP_CTRL_SFTRST_MASK (0x80000000U)
  9265. #define DCP_CTRL_SFTRST_SHIFT (31U)
  9266. #define DCP_CTRL_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_SFTRST_SHIFT)) & DCP_CTRL_SFTRST_MASK)
  9267. /*! @} */
  9268. /*! @name CTRL_SET - DCP control register 0 */
  9269. /*! @{ */
  9270. #define DCP_CTRL_SET_CHANNEL_INTERRUPT_ENABLE_MASK (0xFFU)
  9271. #define DCP_CTRL_SET_CHANNEL_INTERRUPT_ENABLE_SHIFT (0U)
  9272. /*! CHANNEL_INTERRUPT_ENABLE
  9273. * 0b00000001..CH0
  9274. * 0b00000010..CH1
  9275. * 0b00000100..CH2
  9276. * 0b00001000..CH3
  9277. */
  9278. #define DCP_CTRL_SET_CHANNEL_INTERRUPT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_SET_CHANNEL_INTERRUPT_ENABLE_SHIFT)) & DCP_CTRL_SET_CHANNEL_INTERRUPT_ENABLE_MASK)
  9279. #define DCP_CTRL_SET_RSVD_CSC_INTERRUPT_ENABLE_MASK (0x100U)
  9280. #define DCP_CTRL_SET_RSVD_CSC_INTERRUPT_ENABLE_SHIFT (8U)
  9281. #define DCP_CTRL_SET_RSVD_CSC_INTERRUPT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_SET_RSVD_CSC_INTERRUPT_ENABLE_SHIFT)) & DCP_CTRL_SET_RSVD_CSC_INTERRUPT_ENABLE_MASK)
  9282. #define DCP_CTRL_SET_ENABLE_CONTEXT_SWITCHING_MASK (0x200000U)
  9283. #define DCP_CTRL_SET_ENABLE_CONTEXT_SWITCHING_SHIFT (21U)
  9284. #define DCP_CTRL_SET_ENABLE_CONTEXT_SWITCHING(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_SET_ENABLE_CONTEXT_SWITCHING_SHIFT)) & DCP_CTRL_SET_ENABLE_CONTEXT_SWITCHING_MASK)
  9285. #define DCP_CTRL_SET_ENABLE_CONTEXT_CACHING_MASK (0x400000U)
  9286. #define DCP_CTRL_SET_ENABLE_CONTEXT_CACHING_SHIFT (22U)
  9287. #define DCP_CTRL_SET_ENABLE_CONTEXT_CACHING(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_SET_ENABLE_CONTEXT_CACHING_SHIFT)) & DCP_CTRL_SET_ENABLE_CONTEXT_CACHING_MASK)
  9288. #define DCP_CTRL_SET_GATHER_RESIDUAL_WRITES_MASK (0x800000U)
  9289. #define DCP_CTRL_SET_GATHER_RESIDUAL_WRITES_SHIFT (23U)
  9290. #define DCP_CTRL_SET_GATHER_RESIDUAL_WRITES(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_SET_GATHER_RESIDUAL_WRITES_SHIFT)) & DCP_CTRL_SET_GATHER_RESIDUAL_WRITES_MASK)
  9291. #define DCP_CTRL_SET_PRESENT_SHA_MASK (0x10000000U)
  9292. #define DCP_CTRL_SET_PRESENT_SHA_SHIFT (28U)
  9293. /*! PRESENT_SHA
  9294. * 0b1..Present
  9295. * 0b0..Absent
  9296. */
  9297. #define DCP_CTRL_SET_PRESENT_SHA(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_SET_PRESENT_SHA_SHIFT)) & DCP_CTRL_SET_PRESENT_SHA_MASK)
  9298. #define DCP_CTRL_SET_PRESENT_CRYPTO_MASK (0x20000000U)
  9299. #define DCP_CTRL_SET_PRESENT_CRYPTO_SHIFT (29U)
  9300. /*! PRESENT_CRYPTO
  9301. * 0b1..Present
  9302. * 0b0..Absent
  9303. */
  9304. #define DCP_CTRL_SET_PRESENT_CRYPTO(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_SET_PRESENT_CRYPTO_SHIFT)) & DCP_CTRL_SET_PRESENT_CRYPTO_MASK)
  9305. #define DCP_CTRL_SET_CLKGATE_MASK (0x40000000U)
  9306. #define DCP_CTRL_SET_CLKGATE_SHIFT (30U)
  9307. #define DCP_CTRL_SET_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_SET_CLKGATE_SHIFT)) & DCP_CTRL_SET_CLKGATE_MASK)
  9308. #define DCP_CTRL_SET_SFTRST_MASK (0x80000000U)
  9309. #define DCP_CTRL_SET_SFTRST_SHIFT (31U)
  9310. #define DCP_CTRL_SET_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_SET_SFTRST_SHIFT)) & DCP_CTRL_SET_SFTRST_MASK)
  9311. /*! @} */
  9312. /*! @name CTRL_CLR - DCP control register 0 */
  9313. /*! @{ */
  9314. #define DCP_CTRL_CLR_CHANNEL_INTERRUPT_ENABLE_MASK (0xFFU)
  9315. #define DCP_CTRL_CLR_CHANNEL_INTERRUPT_ENABLE_SHIFT (0U)
  9316. /*! CHANNEL_INTERRUPT_ENABLE
  9317. * 0b00000001..CH0
  9318. * 0b00000010..CH1
  9319. * 0b00000100..CH2
  9320. * 0b00001000..CH3
  9321. */
  9322. #define DCP_CTRL_CLR_CHANNEL_INTERRUPT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_CLR_CHANNEL_INTERRUPT_ENABLE_SHIFT)) & DCP_CTRL_CLR_CHANNEL_INTERRUPT_ENABLE_MASK)
  9323. #define DCP_CTRL_CLR_RSVD_CSC_INTERRUPT_ENABLE_MASK (0x100U)
  9324. #define DCP_CTRL_CLR_RSVD_CSC_INTERRUPT_ENABLE_SHIFT (8U)
  9325. #define DCP_CTRL_CLR_RSVD_CSC_INTERRUPT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_CLR_RSVD_CSC_INTERRUPT_ENABLE_SHIFT)) & DCP_CTRL_CLR_RSVD_CSC_INTERRUPT_ENABLE_MASK)
  9326. #define DCP_CTRL_CLR_ENABLE_CONTEXT_SWITCHING_MASK (0x200000U)
  9327. #define DCP_CTRL_CLR_ENABLE_CONTEXT_SWITCHING_SHIFT (21U)
  9328. #define DCP_CTRL_CLR_ENABLE_CONTEXT_SWITCHING(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_CLR_ENABLE_CONTEXT_SWITCHING_SHIFT)) & DCP_CTRL_CLR_ENABLE_CONTEXT_SWITCHING_MASK)
  9329. #define DCP_CTRL_CLR_ENABLE_CONTEXT_CACHING_MASK (0x400000U)
  9330. #define DCP_CTRL_CLR_ENABLE_CONTEXT_CACHING_SHIFT (22U)
  9331. #define DCP_CTRL_CLR_ENABLE_CONTEXT_CACHING(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_CLR_ENABLE_CONTEXT_CACHING_SHIFT)) & DCP_CTRL_CLR_ENABLE_CONTEXT_CACHING_MASK)
  9332. #define DCP_CTRL_CLR_GATHER_RESIDUAL_WRITES_MASK (0x800000U)
  9333. #define DCP_CTRL_CLR_GATHER_RESIDUAL_WRITES_SHIFT (23U)
  9334. #define DCP_CTRL_CLR_GATHER_RESIDUAL_WRITES(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_CLR_GATHER_RESIDUAL_WRITES_SHIFT)) & DCP_CTRL_CLR_GATHER_RESIDUAL_WRITES_MASK)
  9335. #define DCP_CTRL_CLR_PRESENT_SHA_MASK (0x10000000U)
  9336. #define DCP_CTRL_CLR_PRESENT_SHA_SHIFT (28U)
  9337. /*! PRESENT_SHA
  9338. * 0b1..Present
  9339. * 0b0..Absent
  9340. */
  9341. #define DCP_CTRL_CLR_PRESENT_SHA(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_CLR_PRESENT_SHA_SHIFT)) & DCP_CTRL_CLR_PRESENT_SHA_MASK)
  9342. #define DCP_CTRL_CLR_PRESENT_CRYPTO_MASK (0x20000000U)
  9343. #define DCP_CTRL_CLR_PRESENT_CRYPTO_SHIFT (29U)
  9344. /*! PRESENT_CRYPTO
  9345. * 0b1..Present
  9346. * 0b0..Absent
  9347. */
  9348. #define DCP_CTRL_CLR_PRESENT_CRYPTO(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_CLR_PRESENT_CRYPTO_SHIFT)) & DCP_CTRL_CLR_PRESENT_CRYPTO_MASK)
  9349. #define DCP_CTRL_CLR_CLKGATE_MASK (0x40000000U)
  9350. #define DCP_CTRL_CLR_CLKGATE_SHIFT (30U)
  9351. #define DCP_CTRL_CLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_CLR_CLKGATE_SHIFT)) & DCP_CTRL_CLR_CLKGATE_MASK)
  9352. #define DCP_CTRL_CLR_SFTRST_MASK (0x80000000U)
  9353. #define DCP_CTRL_CLR_SFTRST_SHIFT (31U)
  9354. #define DCP_CTRL_CLR_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_CLR_SFTRST_SHIFT)) & DCP_CTRL_CLR_SFTRST_MASK)
  9355. /*! @} */
  9356. /*! @name CTRL_TOG - DCP control register 0 */
  9357. /*! @{ */
  9358. #define DCP_CTRL_TOG_CHANNEL_INTERRUPT_ENABLE_MASK (0xFFU)
  9359. #define DCP_CTRL_TOG_CHANNEL_INTERRUPT_ENABLE_SHIFT (0U)
  9360. /*! CHANNEL_INTERRUPT_ENABLE
  9361. * 0b00000001..CH0
  9362. * 0b00000010..CH1
  9363. * 0b00000100..CH2
  9364. * 0b00001000..CH3
  9365. */
  9366. #define DCP_CTRL_TOG_CHANNEL_INTERRUPT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_TOG_CHANNEL_INTERRUPT_ENABLE_SHIFT)) & DCP_CTRL_TOG_CHANNEL_INTERRUPT_ENABLE_MASK)
  9367. #define DCP_CTRL_TOG_RSVD_CSC_INTERRUPT_ENABLE_MASK (0x100U)
  9368. #define DCP_CTRL_TOG_RSVD_CSC_INTERRUPT_ENABLE_SHIFT (8U)
  9369. #define DCP_CTRL_TOG_RSVD_CSC_INTERRUPT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_TOG_RSVD_CSC_INTERRUPT_ENABLE_SHIFT)) & DCP_CTRL_TOG_RSVD_CSC_INTERRUPT_ENABLE_MASK)
  9370. #define DCP_CTRL_TOG_ENABLE_CONTEXT_SWITCHING_MASK (0x200000U)
  9371. #define DCP_CTRL_TOG_ENABLE_CONTEXT_SWITCHING_SHIFT (21U)
  9372. #define DCP_CTRL_TOG_ENABLE_CONTEXT_SWITCHING(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_TOG_ENABLE_CONTEXT_SWITCHING_SHIFT)) & DCP_CTRL_TOG_ENABLE_CONTEXT_SWITCHING_MASK)
  9373. #define DCP_CTRL_TOG_ENABLE_CONTEXT_CACHING_MASK (0x400000U)
  9374. #define DCP_CTRL_TOG_ENABLE_CONTEXT_CACHING_SHIFT (22U)
  9375. #define DCP_CTRL_TOG_ENABLE_CONTEXT_CACHING(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_TOG_ENABLE_CONTEXT_CACHING_SHIFT)) & DCP_CTRL_TOG_ENABLE_CONTEXT_CACHING_MASK)
  9376. #define DCP_CTRL_TOG_GATHER_RESIDUAL_WRITES_MASK (0x800000U)
  9377. #define DCP_CTRL_TOG_GATHER_RESIDUAL_WRITES_SHIFT (23U)
  9378. #define DCP_CTRL_TOG_GATHER_RESIDUAL_WRITES(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_TOG_GATHER_RESIDUAL_WRITES_SHIFT)) & DCP_CTRL_TOG_GATHER_RESIDUAL_WRITES_MASK)
  9379. #define DCP_CTRL_TOG_PRESENT_SHA_MASK (0x10000000U)
  9380. #define DCP_CTRL_TOG_PRESENT_SHA_SHIFT (28U)
  9381. /*! PRESENT_SHA
  9382. * 0b1..Present
  9383. * 0b0..Absent
  9384. */
  9385. #define DCP_CTRL_TOG_PRESENT_SHA(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_TOG_PRESENT_SHA_SHIFT)) & DCP_CTRL_TOG_PRESENT_SHA_MASK)
  9386. #define DCP_CTRL_TOG_PRESENT_CRYPTO_MASK (0x20000000U)
  9387. #define DCP_CTRL_TOG_PRESENT_CRYPTO_SHIFT (29U)
  9388. /*! PRESENT_CRYPTO
  9389. * 0b1..Present
  9390. * 0b0..Absent
  9391. */
  9392. #define DCP_CTRL_TOG_PRESENT_CRYPTO(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_TOG_PRESENT_CRYPTO_SHIFT)) & DCP_CTRL_TOG_PRESENT_CRYPTO_MASK)
  9393. #define DCP_CTRL_TOG_CLKGATE_MASK (0x40000000U)
  9394. #define DCP_CTRL_TOG_CLKGATE_SHIFT (30U)
  9395. #define DCP_CTRL_TOG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_TOG_CLKGATE_SHIFT)) & DCP_CTRL_TOG_CLKGATE_MASK)
  9396. #define DCP_CTRL_TOG_SFTRST_MASK (0x80000000U)
  9397. #define DCP_CTRL_TOG_SFTRST_SHIFT (31U)
  9398. #define DCP_CTRL_TOG_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_TOG_SFTRST_SHIFT)) & DCP_CTRL_TOG_SFTRST_MASK)
  9399. /*! @} */
  9400. /*! @name STAT - DCP status register */
  9401. /*! @{ */
  9402. #define DCP_STAT_IRQ_MASK (0xFU)
  9403. #define DCP_STAT_IRQ_SHIFT (0U)
  9404. #define DCP_STAT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_IRQ_SHIFT)) & DCP_STAT_IRQ_MASK)
  9405. #define DCP_STAT_RSVD_IRQ_MASK (0x100U)
  9406. #define DCP_STAT_RSVD_IRQ_SHIFT (8U)
  9407. #define DCP_STAT_RSVD_IRQ(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_RSVD_IRQ_SHIFT)) & DCP_STAT_RSVD_IRQ_MASK)
  9408. #define DCP_STAT_READY_CHANNELS_MASK (0xFF0000U)
  9409. #define DCP_STAT_READY_CHANNELS_SHIFT (16U)
  9410. /*! READY_CHANNELS
  9411. * 0b00000001..CH0
  9412. * 0b00000010..CH1
  9413. * 0b00000100..CH2
  9414. * 0b00001000..CH3
  9415. */
  9416. #define DCP_STAT_READY_CHANNELS(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_READY_CHANNELS_SHIFT)) & DCP_STAT_READY_CHANNELS_MASK)
  9417. #define DCP_STAT_CUR_CHANNEL_MASK (0xF000000U)
  9418. #define DCP_STAT_CUR_CHANNEL_SHIFT (24U)
  9419. /*! CUR_CHANNEL
  9420. * 0b0000..None
  9421. * 0b0001..CH0
  9422. * 0b0010..CH1
  9423. * 0b0011..CH2
  9424. * 0b0100..CH3
  9425. */
  9426. #define DCP_STAT_CUR_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_CUR_CHANNEL_SHIFT)) & DCP_STAT_CUR_CHANNEL_MASK)
  9427. #define DCP_STAT_OTP_KEY_READY_MASK (0x10000000U)
  9428. #define DCP_STAT_OTP_KEY_READY_SHIFT (28U)
  9429. #define DCP_STAT_OTP_KEY_READY(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_OTP_KEY_READY_SHIFT)) & DCP_STAT_OTP_KEY_READY_MASK)
  9430. /*! @} */
  9431. /*! @name STAT_SET - DCP status register */
  9432. /*! @{ */
  9433. #define DCP_STAT_SET_IRQ_MASK (0xFU)
  9434. #define DCP_STAT_SET_IRQ_SHIFT (0U)
  9435. #define DCP_STAT_SET_IRQ(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_SET_IRQ_SHIFT)) & DCP_STAT_SET_IRQ_MASK)
  9436. #define DCP_STAT_SET_RSVD_IRQ_MASK (0x100U)
  9437. #define DCP_STAT_SET_RSVD_IRQ_SHIFT (8U)
  9438. #define DCP_STAT_SET_RSVD_IRQ(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_SET_RSVD_IRQ_SHIFT)) & DCP_STAT_SET_RSVD_IRQ_MASK)
  9439. #define DCP_STAT_SET_READY_CHANNELS_MASK (0xFF0000U)
  9440. #define DCP_STAT_SET_READY_CHANNELS_SHIFT (16U)
  9441. /*! READY_CHANNELS
  9442. * 0b00000001..CH0
  9443. * 0b00000010..CH1
  9444. * 0b00000100..CH2
  9445. * 0b00001000..CH3
  9446. */
  9447. #define DCP_STAT_SET_READY_CHANNELS(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_SET_READY_CHANNELS_SHIFT)) & DCP_STAT_SET_READY_CHANNELS_MASK)
  9448. #define DCP_STAT_SET_CUR_CHANNEL_MASK (0xF000000U)
  9449. #define DCP_STAT_SET_CUR_CHANNEL_SHIFT (24U)
  9450. /*! CUR_CHANNEL
  9451. * 0b0000..None
  9452. * 0b0001..CH0
  9453. * 0b0010..CH1
  9454. * 0b0011..CH2
  9455. * 0b0100..CH3
  9456. */
  9457. #define DCP_STAT_SET_CUR_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_SET_CUR_CHANNEL_SHIFT)) & DCP_STAT_SET_CUR_CHANNEL_MASK)
  9458. #define DCP_STAT_SET_OTP_KEY_READY_MASK (0x10000000U)
  9459. #define DCP_STAT_SET_OTP_KEY_READY_SHIFT (28U)
  9460. #define DCP_STAT_SET_OTP_KEY_READY(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_SET_OTP_KEY_READY_SHIFT)) & DCP_STAT_SET_OTP_KEY_READY_MASK)
  9461. /*! @} */
  9462. /*! @name STAT_CLR - DCP status register */
  9463. /*! @{ */
  9464. #define DCP_STAT_CLR_IRQ_MASK (0xFU)
  9465. #define DCP_STAT_CLR_IRQ_SHIFT (0U)
  9466. #define DCP_STAT_CLR_IRQ(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_CLR_IRQ_SHIFT)) & DCP_STAT_CLR_IRQ_MASK)
  9467. #define DCP_STAT_CLR_RSVD_IRQ_MASK (0x100U)
  9468. #define DCP_STAT_CLR_RSVD_IRQ_SHIFT (8U)
  9469. #define DCP_STAT_CLR_RSVD_IRQ(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_CLR_RSVD_IRQ_SHIFT)) & DCP_STAT_CLR_RSVD_IRQ_MASK)
  9470. #define DCP_STAT_CLR_READY_CHANNELS_MASK (0xFF0000U)
  9471. #define DCP_STAT_CLR_READY_CHANNELS_SHIFT (16U)
  9472. /*! READY_CHANNELS
  9473. * 0b00000001..CH0
  9474. * 0b00000010..CH1
  9475. * 0b00000100..CH2
  9476. * 0b00001000..CH3
  9477. */
  9478. #define DCP_STAT_CLR_READY_CHANNELS(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_CLR_READY_CHANNELS_SHIFT)) & DCP_STAT_CLR_READY_CHANNELS_MASK)
  9479. #define DCP_STAT_CLR_CUR_CHANNEL_MASK (0xF000000U)
  9480. #define DCP_STAT_CLR_CUR_CHANNEL_SHIFT (24U)
  9481. /*! CUR_CHANNEL
  9482. * 0b0000..None
  9483. * 0b0001..CH0
  9484. * 0b0010..CH1
  9485. * 0b0011..CH2
  9486. * 0b0100..CH3
  9487. */
  9488. #define DCP_STAT_CLR_CUR_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_CLR_CUR_CHANNEL_SHIFT)) & DCP_STAT_CLR_CUR_CHANNEL_MASK)
  9489. #define DCP_STAT_CLR_OTP_KEY_READY_MASK (0x10000000U)
  9490. #define DCP_STAT_CLR_OTP_KEY_READY_SHIFT (28U)
  9491. #define DCP_STAT_CLR_OTP_KEY_READY(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_CLR_OTP_KEY_READY_SHIFT)) & DCP_STAT_CLR_OTP_KEY_READY_MASK)
  9492. /*! @} */
  9493. /*! @name STAT_TOG - DCP status register */
  9494. /*! @{ */
  9495. #define DCP_STAT_TOG_IRQ_MASK (0xFU)
  9496. #define DCP_STAT_TOG_IRQ_SHIFT (0U)
  9497. #define DCP_STAT_TOG_IRQ(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_TOG_IRQ_SHIFT)) & DCP_STAT_TOG_IRQ_MASK)
  9498. #define DCP_STAT_TOG_RSVD_IRQ_MASK (0x100U)
  9499. #define DCP_STAT_TOG_RSVD_IRQ_SHIFT (8U)
  9500. #define DCP_STAT_TOG_RSVD_IRQ(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_TOG_RSVD_IRQ_SHIFT)) & DCP_STAT_TOG_RSVD_IRQ_MASK)
  9501. #define DCP_STAT_TOG_READY_CHANNELS_MASK (0xFF0000U)
  9502. #define DCP_STAT_TOG_READY_CHANNELS_SHIFT (16U)
  9503. /*! READY_CHANNELS
  9504. * 0b00000001..CH0
  9505. * 0b00000010..CH1
  9506. * 0b00000100..CH2
  9507. * 0b00001000..CH3
  9508. */
  9509. #define DCP_STAT_TOG_READY_CHANNELS(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_TOG_READY_CHANNELS_SHIFT)) & DCP_STAT_TOG_READY_CHANNELS_MASK)
  9510. #define DCP_STAT_TOG_CUR_CHANNEL_MASK (0xF000000U)
  9511. #define DCP_STAT_TOG_CUR_CHANNEL_SHIFT (24U)
  9512. /*! CUR_CHANNEL
  9513. * 0b0000..None
  9514. * 0b0001..CH0
  9515. * 0b0010..CH1
  9516. * 0b0011..CH2
  9517. * 0b0100..CH3
  9518. */
  9519. #define DCP_STAT_TOG_CUR_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_TOG_CUR_CHANNEL_SHIFT)) & DCP_STAT_TOG_CUR_CHANNEL_MASK)
  9520. #define DCP_STAT_TOG_OTP_KEY_READY_MASK (0x10000000U)
  9521. #define DCP_STAT_TOG_OTP_KEY_READY_SHIFT (28U)
  9522. #define DCP_STAT_TOG_OTP_KEY_READY(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_TOG_OTP_KEY_READY_SHIFT)) & DCP_STAT_TOG_OTP_KEY_READY_MASK)
  9523. /*! @} */
  9524. /*! @name CHANNELCTRL - DCP channel control register */
  9525. /*! @{ */
  9526. #define DCP_CHANNELCTRL_ENABLE_CHANNEL_MASK (0xFFU)
  9527. #define DCP_CHANNELCTRL_ENABLE_CHANNEL_SHIFT (0U)
  9528. /*! ENABLE_CHANNEL
  9529. * 0b00000001..CH0
  9530. * 0b00000010..CH1
  9531. * 0b00000100..CH2
  9532. * 0b00001000..CH3
  9533. */
  9534. #define DCP_CHANNELCTRL_ENABLE_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_ENABLE_CHANNEL_SHIFT)) & DCP_CHANNELCTRL_ENABLE_CHANNEL_MASK)
  9535. #define DCP_CHANNELCTRL_HIGH_PRIORITY_CHANNEL_MASK (0xFF00U)
  9536. #define DCP_CHANNELCTRL_HIGH_PRIORITY_CHANNEL_SHIFT (8U)
  9537. /*! HIGH_PRIORITY_CHANNEL
  9538. * 0b00000001..CH0
  9539. * 0b00000010..CH1
  9540. * 0b00000100..CH2
  9541. * 0b00001000..CH3
  9542. */
  9543. #define DCP_CHANNELCTRL_HIGH_PRIORITY_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_HIGH_PRIORITY_CHANNEL_SHIFT)) & DCP_CHANNELCTRL_HIGH_PRIORITY_CHANNEL_MASK)
  9544. #define DCP_CHANNELCTRL_CH0_IRQ_MERGED_MASK (0x10000U)
  9545. #define DCP_CHANNELCTRL_CH0_IRQ_MERGED_SHIFT (16U)
  9546. #define DCP_CHANNELCTRL_CH0_IRQ_MERGED(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_CH0_IRQ_MERGED_SHIFT)) & DCP_CHANNELCTRL_CH0_IRQ_MERGED_MASK)
  9547. #define DCP_CHANNELCTRL_RSVD_MASK (0xFFFE0000U)
  9548. #define DCP_CHANNELCTRL_RSVD_SHIFT (17U)
  9549. #define DCP_CHANNELCTRL_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_RSVD_SHIFT)) & DCP_CHANNELCTRL_RSVD_MASK)
  9550. /*! @} */
  9551. /*! @name CHANNELCTRL_SET - DCP channel control register */
  9552. /*! @{ */
  9553. #define DCP_CHANNELCTRL_SET_ENABLE_CHANNEL_MASK (0xFFU)
  9554. #define DCP_CHANNELCTRL_SET_ENABLE_CHANNEL_SHIFT (0U)
  9555. /*! ENABLE_CHANNEL
  9556. * 0b00000001..CH0
  9557. * 0b00000010..CH1
  9558. * 0b00000100..CH2
  9559. * 0b00001000..CH3
  9560. */
  9561. #define DCP_CHANNELCTRL_SET_ENABLE_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_SET_ENABLE_CHANNEL_SHIFT)) & DCP_CHANNELCTRL_SET_ENABLE_CHANNEL_MASK)
  9562. #define DCP_CHANNELCTRL_SET_HIGH_PRIORITY_CHANNEL_MASK (0xFF00U)
  9563. #define DCP_CHANNELCTRL_SET_HIGH_PRIORITY_CHANNEL_SHIFT (8U)
  9564. /*! HIGH_PRIORITY_CHANNEL
  9565. * 0b00000001..CH0
  9566. * 0b00000010..CH1
  9567. * 0b00000100..CH2
  9568. * 0b00001000..CH3
  9569. */
  9570. #define DCP_CHANNELCTRL_SET_HIGH_PRIORITY_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_SET_HIGH_PRIORITY_CHANNEL_SHIFT)) & DCP_CHANNELCTRL_SET_HIGH_PRIORITY_CHANNEL_MASK)
  9571. #define DCP_CHANNELCTRL_SET_CH0_IRQ_MERGED_MASK (0x10000U)
  9572. #define DCP_CHANNELCTRL_SET_CH0_IRQ_MERGED_SHIFT (16U)
  9573. #define DCP_CHANNELCTRL_SET_CH0_IRQ_MERGED(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_SET_CH0_IRQ_MERGED_SHIFT)) & DCP_CHANNELCTRL_SET_CH0_IRQ_MERGED_MASK)
  9574. #define DCP_CHANNELCTRL_SET_RSVD_MASK (0xFFFE0000U)
  9575. #define DCP_CHANNELCTRL_SET_RSVD_SHIFT (17U)
  9576. #define DCP_CHANNELCTRL_SET_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_SET_RSVD_SHIFT)) & DCP_CHANNELCTRL_SET_RSVD_MASK)
  9577. /*! @} */
  9578. /*! @name CHANNELCTRL_CLR - DCP channel control register */
  9579. /*! @{ */
  9580. #define DCP_CHANNELCTRL_CLR_ENABLE_CHANNEL_MASK (0xFFU)
  9581. #define DCP_CHANNELCTRL_CLR_ENABLE_CHANNEL_SHIFT (0U)
  9582. /*! ENABLE_CHANNEL
  9583. * 0b00000001..CH0
  9584. * 0b00000010..CH1
  9585. * 0b00000100..CH2
  9586. * 0b00001000..CH3
  9587. */
  9588. #define DCP_CHANNELCTRL_CLR_ENABLE_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_CLR_ENABLE_CHANNEL_SHIFT)) & DCP_CHANNELCTRL_CLR_ENABLE_CHANNEL_MASK)
  9589. #define DCP_CHANNELCTRL_CLR_HIGH_PRIORITY_CHANNEL_MASK (0xFF00U)
  9590. #define DCP_CHANNELCTRL_CLR_HIGH_PRIORITY_CHANNEL_SHIFT (8U)
  9591. /*! HIGH_PRIORITY_CHANNEL
  9592. * 0b00000001..CH0
  9593. * 0b00000010..CH1
  9594. * 0b00000100..CH2
  9595. * 0b00001000..CH3
  9596. */
  9597. #define DCP_CHANNELCTRL_CLR_HIGH_PRIORITY_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_CLR_HIGH_PRIORITY_CHANNEL_SHIFT)) & DCP_CHANNELCTRL_CLR_HIGH_PRIORITY_CHANNEL_MASK)
  9598. #define DCP_CHANNELCTRL_CLR_CH0_IRQ_MERGED_MASK (0x10000U)
  9599. #define DCP_CHANNELCTRL_CLR_CH0_IRQ_MERGED_SHIFT (16U)
  9600. #define DCP_CHANNELCTRL_CLR_CH0_IRQ_MERGED(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_CLR_CH0_IRQ_MERGED_SHIFT)) & DCP_CHANNELCTRL_CLR_CH0_IRQ_MERGED_MASK)
  9601. #define DCP_CHANNELCTRL_CLR_RSVD_MASK (0xFFFE0000U)
  9602. #define DCP_CHANNELCTRL_CLR_RSVD_SHIFT (17U)
  9603. #define DCP_CHANNELCTRL_CLR_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_CLR_RSVD_SHIFT)) & DCP_CHANNELCTRL_CLR_RSVD_MASK)
  9604. /*! @} */
  9605. /*! @name CHANNELCTRL_TOG - DCP channel control register */
  9606. /*! @{ */
  9607. #define DCP_CHANNELCTRL_TOG_ENABLE_CHANNEL_MASK (0xFFU)
  9608. #define DCP_CHANNELCTRL_TOG_ENABLE_CHANNEL_SHIFT (0U)
  9609. /*! ENABLE_CHANNEL
  9610. * 0b00000001..CH0
  9611. * 0b00000010..CH1
  9612. * 0b00000100..CH2
  9613. * 0b00001000..CH3
  9614. */
  9615. #define DCP_CHANNELCTRL_TOG_ENABLE_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_TOG_ENABLE_CHANNEL_SHIFT)) & DCP_CHANNELCTRL_TOG_ENABLE_CHANNEL_MASK)
  9616. #define DCP_CHANNELCTRL_TOG_HIGH_PRIORITY_CHANNEL_MASK (0xFF00U)
  9617. #define DCP_CHANNELCTRL_TOG_HIGH_PRIORITY_CHANNEL_SHIFT (8U)
  9618. /*! HIGH_PRIORITY_CHANNEL
  9619. * 0b00000001..CH0
  9620. * 0b00000010..CH1
  9621. * 0b00000100..CH2
  9622. * 0b00001000..CH3
  9623. */
  9624. #define DCP_CHANNELCTRL_TOG_HIGH_PRIORITY_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_TOG_HIGH_PRIORITY_CHANNEL_SHIFT)) & DCP_CHANNELCTRL_TOG_HIGH_PRIORITY_CHANNEL_MASK)
  9625. #define DCP_CHANNELCTRL_TOG_CH0_IRQ_MERGED_MASK (0x10000U)
  9626. #define DCP_CHANNELCTRL_TOG_CH0_IRQ_MERGED_SHIFT (16U)
  9627. #define DCP_CHANNELCTRL_TOG_CH0_IRQ_MERGED(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_TOG_CH0_IRQ_MERGED_SHIFT)) & DCP_CHANNELCTRL_TOG_CH0_IRQ_MERGED_MASK)
  9628. #define DCP_CHANNELCTRL_TOG_RSVD_MASK (0xFFFE0000U)
  9629. #define DCP_CHANNELCTRL_TOG_RSVD_SHIFT (17U)
  9630. #define DCP_CHANNELCTRL_TOG_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_TOG_RSVD_SHIFT)) & DCP_CHANNELCTRL_TOG_RSVD_MASK)
  9631. /*! @} */
  9632. /*! @name CAPABILITY0 - DCP capability 0 register */
  9633. /*! @{ */
  9634. #define DCP_CAPABILITY0_NUM_KEYS_MASK (0xFFU)
  9635. #define DCP_CAPABILITY0_NUM_KEYS_SHIFT (0U)
  9636. #define DCP_CAPABILITY0_NUM_KEYS(x) (((uint32_t)(((uint32_t)(x)) << DCP_CAPABILITY0_NUM_KEYS_SHIFT)) & DCP_CAPABILITY0_NUM_KEYS_MASK)
  9637. #define DCP_CAPABILITY0_NUM_CHANNELS_MASK (0xF00U)
  9638. #define DCP_CAPABILITY0_NUM_CHANNELS_SHIFT (8U)
  9639. #define DCP_CAPABILITY0_NUM_CHANNELS(x) (((uint32_t)(((uint32_t)(x)) << DCP_CAPABILITY0_NUM_CHANNELS_SHIFT)) & DCP_CAPABILITY0_NUM_CHANNELS_MASK)
  9640. #define DCP_CAPABILITY0_RSVD_MASK (0x1FFFF000U)
  9641. #define DCP_CAPABILITY0_RSVD_SHIFT (12U)
  9642. #define DCP_CAPABILITY0_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CAPABILITY0_RSVD_SHIFT)) & DCP_CAPABILITY0_RSVD_MASK)
  9643. #define DCP_CAPABILITY0_DISABLE_UNIQUE_KEY_MASK (0x20000000U)
  9644. #define DCP_CAPABILITY0_DISABLE_UNIQUE_KEY_SHIFT (29U)
  9645. #define DCP_CAPABILITY0_DISABLE_UNIQUE_KEY(x) (((uint32_t)(((uint32_t)(x)) << DCP_CAPABILITY0_DISABLE_UNIQUE_KEY_SHIFT)) & DCP_CAPABILITY0_DISABLE_UNIQUE_KEY_MASK)
  9646. #define DCP_CAPABILITY0_DISABLE_DECRYPT_MASK (0x80000000U)
  9647. #define DCP_CAPABILITY0_DISABLE_DECRYPT_SHIFT (31U)
  9648. #define DCP_CAPABILITY0_DISABLE_DECRYPT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CAPABILITY0_DISABLE_DECRYPT_SHIFT)) & DCP_CAPABILITY0_DISABLE_DECRYPT_MASK)
  9649. /*! @} */
  9650. /*! @name CAPABILITY1 - DCP capability 1 register */
  9651. /*! @{ */
  9652. #define DCP_CAPABILITY1_CIPHER_ALGORITHMS_MASK (0xFFFFU)
  9653. #define DCP_CAPABILITY1_CIPHER_ALGORITHMS_SHIFT (0U)
  9654. /*! CIPHER_ALGORITHMS
  9655. * 0b0000000000000001..AES128
  9656. */
  9657. #define DCP_CAPABILITY1_CIPHER_ALGORITHMS(x) (((uint32_t)(((uint32_t)(x)) << DCP_CAPABILITY1_CIPHER_ALGORITHMS_SHIFT)) & DCP_CAPABILITY1_CIPHER_ALGORITHMS_MASK)
  9658. #define DCP_CAPABILITY1_HASH_ALGORITHMS_MASK (0xFFFF0000U)
  9659. #define DCP_CAPABILITY1_HASH_ALGORITHMS_SHIFT (16U)
  9660. /*! HASH_ALGORITHMS
  9661. * 0b0000000000000001..SHA1
  9662. * 0b0000000000000010..CRC32
  9663. * 0b0000000000000100..SHA256
  9664. */
  9665. #define DCP_CAPABILITY1_HASH_ALGORITHMS(x) (((uint32_t)(((uint32_t)(x)) << DCP_CAPABILITY1_HASH_ALGORITHMS_SHIFT)) & DCP_CAPABILITY1_HASH_ALGORITHMS_MASK)
  9666. /*! @} */
  9667. /*! @name CONTEXT - DCP context buffer pointer */
  9668. /*! @{ */
  9669. #define DCP_CONTEXT_ADDR_MASK (0xFFFFFFFFU)
  9670. #define DCP_CONTEXT_ADDR_SHIFT (0U)
  9671. #define DCP_CONTEXT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DCP_CONTEXT_ADDR_SHIFT)) & DCP_CONTEXT_ADDR_MASK)
  9672. /*! @} */
  9673. /*! @name KEY - DCP key index */
  9674. /*! @{ */
  9675. #define DCP_KEY_SUBWORD_MASK (0x3U)
  9676. #define DCP_KEY_SUBWORD_SHIFT (0U)
  9677. #define DCP_KEY_SUBWORD(x) (((uint32_t)(((uint32_t)(x)) << DCP_KEY_SUBWORD_SHIFT)) & DCP_KEY_SUBWORD_MASK)
  9678. #define DCP_KEY_RSVD_SUBWORD_MASK (0xCU)
  9679. #define DCP_KEY_RSVD_SUBWORD_SHIFT (2U)
  9680. #define DCP_KEY_RSVD_SUBWORD(x) (((uint32_t)(((uint32_t)(x)) << DCP_KEY_RSVD_SUBWORD_SHIFT)) & DCP_KEY_RSVD_SUBWORD_MASK)
  9681. #define DCP_KEY_INDEX_MASK (0x30U)
  9682. #define DCP_KEY_INDEX_SHIFT (4U)
  9683. #define DCP_KEY_INDEX(x) (((uint32_t)(((uint32_t)(x)) << DCP_KEY_INDEX_SHIFT)) & DCP_KEY_INDEX_MASK)
  9684. #define DCP_KEY_RSVD_INDEX_MASK (0xC0U)
  9685. #define DCP_KEY_RSVD_INDEX_SHIFT (6U)
  9686. #define DCP_KEY_RSVD_INDEX(x) (((uint32_t)(((uint32_t)(x)) << DCP_KEY_RSVD_INDEX_SHIFT)) & DCP_KEY_RSVD_INDEX_MASK)
  9687. #define DCP_KEY_RSVD_MASK (0xFFFFFF00U)
  9688. #define DCP_KEY_RSVD_SHIFT (8U)
  9689. #define DCP_KEY_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_KEY_RSVD_SHIFT)) & DCP_KEY_RSVD_MASK)
  9690. /*! @} */
  9691. /*! @name KEYDATA - DCP key data */
  9692. /*! @{ */
  9693. #define DCP_KEYDATA_DATA_MASK (0xFFFFFFFFU)
  9694. #define DCP_KEYDATA_DATA_SHIFT (0U)
  9695. #define DCP_KEYDATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << DCP_KEYDATA_DATA_SHIFT)) & DCP_KEYDATA_DATA_MASK)
  9696. /*! @} */
  9697. /*! @name PACKET0 - DCP work packet 0 status register */
  9698. /*! @{ */
  9699. #define DCP_PACKET0_ADDR_MASK (0xFFFFFFFFU)
  9700. #define DCP_PACKET0_ADDR_SHIFT (0U)
  9701. #define DCP_PACKET0_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET0_ADDR_SHIFT)) & DCP_PACKET0_ADDR_MASK)
  9702. /*! @} */
  9703. /*! @name PACKET1 - DCP work packet 1 status register */
  9704. /*! @{ */
  9705. #define DCP_PACKET1_INTERRUPT_MASK (0x1U)
  9706. #define DCP_PACKET1_INTERRUPT_SHIFT (0U)
  9707. #define DCP_PACKET1_INTERRUPT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_INTERRUPT_SHIFT)) & DCP_PACKET1_INTERRUPT_MASK)
  9708. #define DCP_PACKET1_DECR_SEMAPHORE_MASK (0x2U)
  9709. #define DCP_PACKET1_DECR_SEMAPHORE_SHIFT (1U)
  9710. #define DCP_PACKET1_DECR_SEMAPHORE(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_DECR_SEMAPHORE_SHIFT)) & DCP_PACKET1_DECR_SEMAPHORE_MASK)
  9711. #define DCP_PACKET1_CHAIN_MASK (0x4U)
  9712. #define DCP_PACKET1_CHAIN_SHIFT (2U)
  9713. #define DCP_PACKET1_CHAIN(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_CHAIN_SHIFT)) & DCP_PACKET1_CHAIN_MASK)
  9714. #define DCP_PACKET1_CHAIN_CONTIGUOUS_MASK (0x8U)
  9715. #define DCP_PACKET1_CHAIN_CONTIGUOUS_SHIFT (3U)
  9716. #define DCP_PACKET1_CHAIN_CONTIGUOUS(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_CHAIN_CONTIGUOUS_SHIFT)) & DCP_PACKET1_CHAIN_CONTIGUOUS_MASK)
  9717. #define DCP_PACKET1_ENABLE_MEMCOPY_MASK (0x10U)
  9718. #define DCP_PACKET1_ENABLE_MEMCOPY_SHIFT (4U)
  9719. #define DCP_PACKET1_ENABLE_MEMCOPY(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_ENABLE_MEMCOPY_SHIFT)) & DCP_PACKET1_ENABLE_MEMCOPY_MASK)
  9720. #define DCP_PACKET1_ENABLE_CIPHER_MASK (0x20U)
  9721. #define DCP_PACKET1_ENABLE_CIPHER_SHIFT (5U)
  9722. #define DCP_PACKET1_ENABLE_CIPHER(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_ENABLE_CIPHER_SHIFT)) & DCP_PACKET1_ENABLE_CIPHER_MASK)
  9723. #define DCP_PACKET1_ENABLE_HASH_MASK (0x40U)
  9724. #define DCP_PACKET1_ENABLE_HASH_SHIFT (6U)
  9725. #define DCP_PACKET1_ENABLE_HASH(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_ENABLE_HASH_SHIFT)) & DCP_PACKET1_ENABLE_HASH_MASK)
  9726. #define DCP_PACKET1_ENABLE_BLIT_MASK (0x80U)
  9727. #define DCP_PACKET1_ENABLE_BLIT_SHIFT (7U)
  9728. #define DCP_PACKET1_ENABLE_BLIT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_ENABLE_BLIT_SHIFT)) & DCP_PACKET1_ENABLE_BLIT_MASK)
  9729. #define DCP_PACKET1_CIPHER_ENCRYPT_MASK (0x100U)
  9730. #define DCP_PACKET1_CIPHER_ENCRYPT_SHIFT (8U)
  9731. /*! CIPHER_ENCRYPT
  9732. * 0b1..ENCRYPT
  9733. * 0b0..DECRYPT
  9734. */
  9735. #define DCP_PACKET1_CIPHER_ENCRYPT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_CIPHER_ENCRYPT_SHIFT)) & DCP_PACKET1_CIPHER_ENCRYPT_MASK)
  9736. #define DCP_PACKET1_CIPHER_INIT_MASK (0x200U)
  9737. #define DCP_PACKET1_CIPHER_INIT_SHIFT (9U)
  9738. #define DCP_PACKET1_CIPHER_INIT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_CIPHER_INIT_SHIFT)) & DCP_PACKET1_CIPHER_INIT_MASK)
  9739. #define DCP_PACKET1_OTP_KEY_MASK (0x400U)
  9740. #define DCP_PACKET1_OTP_KEY_SHIFT (10U)
  9741. #define DCP_PACKET1_OTP_KEY(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_OTP_KEY_SHIFT)) & DCP_PACKET1_OTP_KEY_MASK)
  9742. #define DCP_PACKET1_PAYLOAD_KEY_MASK (0x800U)
  9743. #define DCP_PACKET1_PAYLOAD_KEY_SHIFT (11U)
  9744. #define DCP_PACKET1_PAYLOAD_KEY(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_PAYLOAD_KEY_SHIFT)) & DCP_PACKET1_PAYLOAD_KEY_MASK)
  9745. #define DCP_PACKET1_HASH_INIT_MASK (0x1000U)
  9746. #define DCP_PACKET1_HASH_INIT_SHIFT (12U)
  9747. #define DCP_PACKET1_HASH_INIT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_HASH_INIT_SHIFT)) & DCP_PACKET1_HASH_INIT_MASK)
  9748. #define DCP_PACKET1_HASH_TERM_MASK (0x2000U)
  9749. #define DCP_PACKET1_HASH_TERM_SHIFT (13U)
  9750. #define DCP_PACKET1_HASH_TERM(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_HASH_TERM_SHIFT)) & DCP_PACKET1_HASH_TERM_MASK)
  9751. #define DCP_PACKET1_CHECK_HASH_MASK (0x4000U)
  9752. #define DCP_PACKET1_CHECK_HASH_SHIFT (14U)
  9753. #define DCP_PACKET1_CHECK_HASH(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_CHECK_HASH_SHIFT)) & DCP_PACKET1_CHECK_HASH_MASK)
  9754. #define DCP_PACKET1_HASH_OUTPUT_MASK (0x8000U)
  9755. #define DCP_PACKET1_HASH_OUTPUT_SHIFT (15U)
  9756. /*! HASH_OUTPUT
  9757. * 0b0..INPUT
  9758. * 0b1..OUTPUT
  9759. */
  9760. #define DCP_PACKET1_HASH_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_HASH_OUTPUT_SHIFT)) & DCP_PACKET1_HASH_OUTPUT_MASK)
  9761. #define DCP_PACKET1_CONSTANT_FILL_MASK (0x10000U)
  9762. #define DCP_PACKET1_CONSTANT_FILL_SHIFT (16U)
  9763. #define DCP_PACKET1_CONSTANT_FILL(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_CONSTANT_FILL_SHIFT)) & DCP_PACKET1_CONSTANT_FILL_MASK)
  9764. #define DCP_PACKET1_TEST_SEMA_IRQ_MASK (0x20000U)
  9765. #define DCP_PACKET1_TEST_SEMA_IRQ_SHIFT (17U)
  9766. #define DCP_PACKET1_TEST_SEMA_IRQ(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_TEST_SEMA_IRQ_SHIFT)) & DCP_PACKET1_TEST_SEMA_IRQ_MASK)
  9767. #define DCP_PACKET1_KEY_BYTESWAP_MASK (0x40000U)
  9768. #define DCP_PACKET1_KEY_BYTESWAP_SHIFT (18U)
  9769. #define DCP_PACKET1_KEY_BYTESWAP(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_KEY_BYTESWAP_SHIFT)) & DCP_PACKET1_KEY_BYTESWAP_MASK)
  9770. #define DCP_PACKET1_KEY_WORDSWAP_MASK (0x80000U)
  9771. #define DCP_PACKET1_KEY_WORDSWAP_SHIFT (19U)
  9772. #define DCP_PACKET1_KEY_WORDSWAP(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_KEY_WORDSWAP_SHIFT)) & DCP_PACKET1_KEY_WORDSWAP_MASK)
  9773. #define DCP_PACKET1_INPUT_BYTESWAP_MASK (0x100000U)
  9774. #define DCP_PACKET1_INPUT_BYTESWAP_SHIFT (20U)
  9775. #define DCP_PACKET1_INPUT_BYTESWAP(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_INPUT_BYTESWAP_SHIFT)) & DCP_PACKET1_INPUT_BYTESWAP_MASK)
  9776. #define DCP_PACKET1_INPUT_WORDSWAP_MASK (0x200000U)
  9777. #define DCP_PACKET1_INPUT_WORDSWAP_SHIFT (21U)
  9778. #define DCP_PACKET1_INPUT_WORDSWAP(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_INPUT_WORDSWAP_SHIFT)) & DCP_PACKET1_INPUT_WORDSWAP_MASK)
  9779. #define DCP_PACKET1_OUTPUT_BYTESWAP_MASK (0x400000U)
  9780. #define DCP_PACKET1_OUTPUT_BYTESWAP_SHIFT (22U)
  9781. #define DCP_PACKET1_OUTPUT_BYTESWAP(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_OUTPUT_BYTESWAP_SHIFT)) & DCP_PACKET1_OUTPUT_BYTESWAP_MASK)
  9782. #define DCP_PACKET1_OUTPUT_WORDSWAP_MASK (0x800000U)
  9783. #define DCP_PACKET1_OUTPUT_WORDSWAP_SHIFT (23U)
  9784. #define DCP_PACKET1_OUTPUT_WORDSWAP(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_OUTPUT_WORDSWAP_SHIFT)) & DCP_PACKET1_OUTPUT_WORDSWAP_MASK)
  9785. #define DCP_PACKET1_TAG_MASK (0xFF000000U)
  9786. #define DCP_PACKET1_TAG_SHIFT (24U)
  9787. #define DCP_PACKET1_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_TAG_SHIFT)) & DCP_PACKET1_TAG_MASK)
  9788. /*! @} */
  9789. /*! @name PACKET2 - DCP work packet 2 status register */
  9790. /*! @{ */
  9791. #define DCP_PACKET2_CIPHER_SELECT_MASK (0xFU)
  9792. #define DCP_PACKET2_CIPHER_SELECT_SHIFT (0U)
  9793. /*! CIPHER_SELECT
  9794. * 0b0000..AES128
  9795. */
  9796. #define DCP_PACKET2_CIPHER_SELECT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET2_CIPHER_SELECT_SHIFT)) & DCP_PACKET2_CIPHER_SELECT_MASK)
  9797. #define DCP_PACKET2_CIPHER_MODE_MASK (0xF0U)
  9798. #define DCP_PACKET2_CIPHER_MODE_SHIFT (4U)
  9799. /*! CIPHER_MODE
  9800. * 0b0000..ECB
  9801. * 0b0001..CBC
  9802. */
  9803. #define DCP_PACKET2_CIPHER_MODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET2_CIPHER_MODE_SHIFT)) & DCP_PACKET2_CIPHER_MODE_MASK)
  9804. #define DCP_PACKET2_KEY_SELECT_MASK (0xFF00U)
  9805. #define DCP_PACKET2_KEY_SELECT_SHIFT (8U)
  9806. /*! KEY_SELECT
  9807. * 0b00000000..KEY0
  9808. * 0b00000001..KEY1
  9809. * 0b00000010..KEY2
  9810. * 0b00000011..KEY3
  9811. * 0b11111110..UNIQUE_KEY
  9812. * 0b11111111..OTP_KEY
  9813. */
  9814. #define DCP_PACKET2_KEY_SELECT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET2_KEY_SELECT_SHIFT)) & DCP_PACKET2_KEY_SELECT_MASK)
  9815. #define DCP_PACKET2_HASH_SELECT_MASK (0xF0000U)
  9816. #define DCP_PACKET2_HASH_SELECT_SHIFT (16U)
  9817. /*! HASH_SELECT
  9818. * 0b0000..SHA1
  9819. * 0b0001..CRC32
  9820. * 0b0010..SHA256
  9821. */
  9822. #define DCP_PACKET2_HASH_SELECT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET2_HASH_SELECT_SHIFT)) & DCP_PACKET2_HASH_SELECT_MASK)
  9823. #define DCP_PACKET2_RSVD_MASK (0xF00000U)
  9824. #define DCP_PACKET2_RSVD_SHIFT (20U)
  9825. #define DCP_PACKET2_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET2_RSVD_SHIFT)) & DCP_PACKET2_RSVD_MASK)
  9826. #define DCP_PACKET2_CIPHER_CFG_MASK (0xFF000000U)
  9827. #define DCP_PACKET2_CIPHER_CFG_SHIFT (24U)
  9828. #define DCP_PACKET2_CIPHER_CFG(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET2_CIPHER_CFG_SHIFT)) & DCP_PACKET2_CIPHER_CFG_MASK)
  9829. /*! @} */
  9830. /*! @name PACKET3 - DCP work packet 3 status register */
  9831. /*! @{ */
  9832. #define DCP_PACKET3_ADDR_MASK (0xFFFFFFFFU)
  9833. #define DCP_PACKET3_ADDR_SHIFT (0U)
  9834. #define DCP_PACKET3_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET3_ADDR_SHIFT)) & DCP_PACKET3_ADDR_MASK)
  9835. /*! @} */
  9836. /*! @name PACKET4 - DCP work packet 4 status register */
  9837. /*! @{ */
  9838. #define DCP_PACKET4_ADDR_MASK (0xFFFFFFFFU)
  9839. #define DCP_PACKET4_ADDR_SHIFT (0U)
  9840. #define DCP_PACKET4_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET4_ADDR_SHIFT)) & DCP_PACKET4_ADDR_MASK)
  9841. /*! @} */
  9842. /*! @name PACKET5 - DCP work packet 5 status register */
  9843. /*! @{ */
  9844. #define DCP_PACKET5_COUNT_MASK (0xFFFFFFFFU)
  9845. #define DCP_PACKET5_COUNT_SHIFT (0U)
  9846. #define DCP_PACKET5_COUNT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET5_COUNT_SHIFT)) & DCP_PACKET5_COUNT_MASK)
  9847. /*! @} */
  9848. /*! @name PACKET6 - DCP work packet 6 status register */
  9849. /*! @{ */
  9850. #define DCP_PACKET6_ADDR_MASK (0xFFFFFFFFU)
  9851. #define DCP_PACKET6_ADDR_SHIFT (0U)
  9852. #define DCP_PACKET6_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET6_ADDR_SHIFT)) & DCP_PACKET6_ADDR_MASK)
  9853. /*! @} */
  9854. /*! @name CH0CMDPTR - DCP channel 0 command pointer address register */
  9855. /*! @{ */
  9856. #define DCP_CH0CMDPTR_ADDR_MASK (0xFFFFFFFFU)
  9857. #define DCP_CH0CMDPTR_ADDR_SHIFT (0U)
  9858. #define DCP_CH0CMDPTR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0CMDPTR_ADDR_SHIFT)) & DCP_CH0CMDPTR_ADDR_MASK)
  9859. /*! @} */
  9860. /*! @name CH0SEMA - DCP channel 0 semaphore register */
  9861. /*! @{ */
  9862. #define DCP_CH0SEMA_INCREMENT_MASK (0xFFU)
  9863. #define DCP_CH0SEMA_INCREMENT_SHIFT (0U)
  9864. #define DCP_CH0SEMA_INCREMENT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0SEMA_INCREMENT_SHIFT)) & DCP_CH0SEMA_INCREMENT_MASK)
  9865. #define DCP_CH0SEMA_VALUE_MASK (0xFF0000U)
  9866. #define DCP_CH0SEMA_VALUE_SHIFT (16U)
  9867. #define DCP_CH0SEMA_VALUE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0SEMA_VALUE_SHIFT)) & DCP_CH0SEMA_VALUE_MASK)
  9868. /*! @} */
  9869. /*! @name CH0STAT - DCP channel 0 status register */
  9870. /*! @{ */
  9871. #define DCP_CH0STAT_RSVD_COMPLETE_MASK (0x1U)
  9872. #define DCP_CH0STAT_RSVD_COMPLETE_SHIFT (0U)
  9873. #define DCP_CH0STAT_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_RSVD_COMPLETE_SHIFT)) & DCP_CH0STAT_RSVD_COMPLETE_MASK)
  9874. #define DCP_CH0STAT_HASH_MISMATCH_MASK (0x2U)
  9875. #define DCP_CH0STAT_HASH_MISMATCH_SHIFT (1U)
  9876. #define DCP_CH0STAT_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_HASH_MISMATCH_SHIFT)) & DCP_CH0STAT_HASH_MISMATCH_MASK)
  9877. #define DCP_CH0STAT_ERROR_SETUP_MASK (0x4U)
  9878. #define DCP_CH0STAT_ERROR_SETUP_SHIFT (2U)
  9879. #define DCP_CH0STAT_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_ERROR_SETUP_SHIFT)) & DCP_CH0STAT_ERROR_SETUP_MASK)
  9880. #define DCP_CH0STAT_ERROR_PACKET_MASK (0x8U)
  9881. #define DCP_CH0STAT_ERROR_PACKET_SHIFT (3U)
  9882. #define DCP_CH0STAT_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_ERROR_PACKET_SHIFT)) & DCP_CH0STAT_ERROR_PACKET_MASK)
  9883. #define DCP_CH0STAT_ERROR_SRC_MASK (0x10U)
  9884. #define DCP_CH0STAT_ERROR_SRC_SHIFT (4U)
  9885. #define DCP_CH0STAT_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_ERROR_SRC_SHIFT)) & DCP_CH0STAT_ERROR_SRC_MASK)
  9886. #define DCP_CH0STAT_ERROR_DST_MASK (0x20U)
  9887. #define DCP_CH0STAT_ERROR_DST_SHIFT (5U)
  9888. #define DCP_CH0STAT_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_ERROR_DST_SHIFT)) & DCP_CH0STAT_ERROR_DST_MASK)
  9889. #define DCP_CH0STAT_ERROR_PAGEFAULT_MASK (0x40U)
  9890. #define DCP_CH0STAT_ERROR_PAGEFAULT_SHIFT (6U)
  9891. #define DCP_CH0STAT_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_ERROR_PAGEFAULT_SHIFT)) & DCP_CH0STAT_ERROR_PAGEFAULT_MASK)
  9892. #define DCP_CH0STAT_ERROR_CODE_MASK (0xFF0000U)
  9893. #define DCP_CH0STAT_ERROR_CODE_SHIFT (16U)
  9894. /*! ERROR_CODE
  9895. * 0b00000001..Error signalled because the next pointer is 0x00000000
  9896. * 0b00000010..Error signalled because the semaphore is non-zero and neither chain bit is set
  9897. * 0b00000011..Error signalled because an error is reported reading/writing the context buffer
  9898. * 0b00000100..Error signalled because an error is reported reading/writing the payload
  9899. * 0b00000101..Error signalled because the control packet specifies an invalid mode select (for instance, blit + hash)
  9900. */
  9901. #define DCP_CH0STAT_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_ERROR_CODE_SHIFT)) & DCP_CH0STAT_ERROR_CODE_MASK)
  9902. #define DCP_CH0STAT_TAG_MASK (0xFF000000U)
  9903. #define DCP_CH0STAT_TAG_SHIFT (24U)
  9904. #define DCP_CH0STAT_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TAG_SHIFT)) & DCP_CH0STAT_TAG_MASK)
  9905. /*! @} */
  9906. /*! @name CH0STAT_SET - DCP channel 0 status register */
  9907. /*! @{ */
  9908. #define DCP_CH0STAT_SET_RSVD_COMPLETE_MASK (0x1U)
  9909. #define DCP_CH0STAT_SET_RSVD_COMPLETE_SHIFT (0U)
  9910. #define DCP_CH0STAT_SET_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_SET_RSVD_COMPLETE_SHIFT)) & DCP_CH0STAT_SET_RSVD_COMPLETE_MASK)
  9911. #define DCP_CH0STAT_SET_HASH_MISMATCH_MASK (0x2U)
  9912. #define DCP_CH0STAT_SET_HASH_MISMATCH_SHIFT (1U)
  9913. #define DCP_CH0STAT_SET_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_SET_HASH_MISMATCH_SHIFT)) & DCP_CH0STAT_SET_HASH_MISMATCH_MASK)
  9914. #define DCP_CH0STAT_SET_ERROR_SETUP_MASK (0x4U)
  9915. #define DCP_CH0STAT_SET_ERROR_SETUP_SHIFT (2U)
  9916. #define DCP_CH0STAT_SET_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_SET_ERROR_SETUP_SHIFT)) & DCP_CH0STAT_SET_ERROR_SETUP_MASK)
  9917. #define DCP_CH0STAT_SET_ERROR_PACKET_MASK (0x8U)
  9918. #define DCP_CH0STAT_SET_ERROR_PACKET_SHIFT (3U)
  9919. #define DCP_CH0STAT_SET_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_SET_ERROR_PACKET_SHIFT)) & DCP_CH0STAT_SET_ERROR_PACKET_MASK)
  9920. #define DCP_CH0STAT_SET_ERROR_SRC_MASK (0x10U)
  9921. #define DCP_CH0STAT_SET_ERROR_SRC_SHIFT (4U)
  9922. #define DCP_CH0STAT_SET_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_SET_ERROR_SRC_SHIFT)) & DCP_CH0STAT_SET_ERROR_SRC_MASK)
  9923. #define DCP_CH0STAT_SET_ERROR_DST_MASK (0x20U)
  9924. #define DCP_CH0STAT_SET_ERROR_DST_SHIFT (5U)
  9925. #define DCP_CH0STAT_SET_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_SET_ERROR_DST_SHIFT)) & DCP_CH0STAT_SET_ERROR_DST_MASK)
  9926. #define DCP_CH0STAT_SET_ERROR_PAGEFAULT_MASK (0x40U)
  9927. #define DCP_CH0STAT_SET_ERROR_PAGEFAULT_SHIFT (6U)
  9928. #define DCP_CH0STAT_SET_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_SET_ERROR_PAGEFAULT_SHIFT)) & DCP_CH0STAT_SET_ERROR_PAGEFAULT_MASK)
  9929. #define DCP_CH0STAT_SET_ERROR_CODE_MASK (0xFF0000U)
  9930. #define DCP_CH0STAT_SET_ERROR_CODE_SHIFT (16U)
  9931. /*! ERROR_CODE
  9932. * 0b00000001..Error signalled because the next pointer is 0x00000000
  9933. * 0b00000010..Error signalled because the semaphore is non-zero and neither chain bit is set
  9934. * 0b00000011..Error signalled because an error is reported reading/writing the context buffer
  9935. * 0b00000100..Error signalled because an error is reported reading/writing the payload
  9936. * 0b00000101..Error signalled because the control packet specifies an invalid mode select (for instance, blit + hash)
  9937. */
  9938. #define DCP_CH0STAT_SET_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_SET_ERROR_CODE_SHIFT)) & DCP_CH0STAT_SET_ERROR_CODE_MASK)
  9939. #define DCP_CH0STAT_SET_TAG_MASK (0xFF000000U)
  9940. #define DCP_CH0STAT_SET_TAG_SHIFT (24U)
  9941. #define DCP_CH0STAT_SET_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_SET_TAG_SHIFT)) & DCP_CH0STAT_SET_TAG_MASK)
  9942. /*! @} */
  9943. /*! @name CH0STAT_CLR - DCP channel 0 status register */
  9944. /*! @{ */
  9945. #define DCP_CH0STAT_CLR_RSVD_COMPLETE_MASK (0x1U)
  9946. #define DCP_CH0STAT_CLR_RSVD_COMPLETE_SHIFT (0U)
  9947. #define DCP_CH0STAT_CLR_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_CLR_RSVD_COMPLETE_SHIFT)) & DCP_CH0STAT_CLR_RSVD_COMPLETE_MASK)
  9948. #define DCP_CH0STAT_CLR_HASH_MISMATCH_MASK (0x2U)
  9949. #define DCP_CH0STAT_CLR_HASH_MISMATCH_SHIFT (1U)
  9950. #define DCP_CH0STAT_CLR_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_CLR_HASH_MISMATCH_SHIFT)) & DCP_CH0STAT_CLR_HASH_MISMATCH_MASK)
  9951. #define DCP_CH0STAT_CLR_ERROR_SETUP_MASK (0x4U)
  9952. #define DCP_CH0STAT_CLR_ERROR_SETUP_SHIFT (2U)
  9953. #define DCP_CH0STAT_CLR_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_CLR_ERROR_SETUP_SHIFT)) & DCP_CH0STAT_CLR_ERROR_SETUP_MASK)
  9954. #define DCP_CH0STAT_CLR_ERROR_PACKET_MASK (0x8U)
  9955. #define DCP_CH0STAT_CLR_ERROR_PACKET_SHIFT (3U)
  9956. #define DCP_CH0STAT_CLR_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_CLR_ERROR_PACKET_SHIFT)) & DCP_CH0STAT_CLR_ERROR_PACKET_MASK)
  9957. #define DCP_CH0STAT_CLR_ERROR_SRC_MASK (0x10U)
  9958. #define DCP_CH0STAT_CLR_ERROR_SRC_SHIFT (4U)
  9959. #define DCP_CH0STAT_CLR_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_CLR_ERROR_SRC_SHIFT)) & DCP_CH0STAT_CLR_ERROR_SRC_MASK)
  9960. #define DCP_CH0STAT_CLR_ERROR_DST_MASK (0x20U)
  9961. #define DCP_CH0STAT_CLR_ERROR_DST_SHIFT (5U)
  9962. #define DCP_CH0STAT_CLR_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_CLR_ERROR_DST_SHIFT)) & DCP_CH0STAT_CLR_ERROR_DST_MASK)
  9963. #define DCP_CH0STAT_CLR_ERROR_PAGEFAULT_MASK (0x40U)
  9964. #define DCP_CH0STAT_CLR_ERROR_PAGEFAULT_SHIFT (6U)
  9965. #define DCP_CH0STAT_CLR_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_CLR_ERROR_PAGEFAULT_SHIFT)) & DCP_CH0STAT_CLR_ERROR_PAGEFAULT_MASK)
  9966. #define DCP_CH0STAT_CLR_ERROR_CODE_MASK (0xFF0000U)
  9967. #define DCP_CH0STAT_CLR_ERROR_CODE_SHIFT (16U)
  9968. /*! ERROR_CODE
  9969. * 0b00000001..Error signalled because the next pointer is 0x00000000
  9970. * 0b00000010..Error signalled because the semaphore is non-zero and neither chain bit is set
  9971. * 0b00000011..Error signalled because an error is reported reading/writing the context buffer
  9972. * 0b00000100..Error signalled because an error is reported reading/writing the payload
  9973. * 0b00000101..Error signalled because the control packet specifies an invalid mode select (for instance, blit + hash)
  9974. */
  9975. #define DCP_CH0STAT_CLR_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_CLR_ERROR_CODE_SHIFT)) & DCP_CH0STAT_CLR_ERROR_CODE_MASK)
  9976. #define DCP_CH0STAT_CLR_TAG_MASK (0xFF000000U)
  9977. #define DCP_CH0STAT_CLR_TAG_SHIFT (24U)
  9978. #define DCP_CH0STAT_CLR_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_CLR_TAG_SHIFT)) & DCP_CH0STAT_CLR_TAG_MASK)
  9979. /*! @} */
  9980. /*! @name CH0STAT_TOG - DCP channel 0 status register */
  9981. /*! @{ */
  9982. #define DCP_CH0STAT_TOG_RSVD_COMPLETE_MASK (0x1U)
  9983. #define DCP_CH0STAT_TOG_RSVD_COMPLETE_SHIFT (0U)
  9984. #define DCP_CH0STAT_TOG_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TOG_RSVD_COMPLETE_SHIFT)) & DCP_CH0STAT_TOG_RSVD_COMPLETE_MASK)
  9985. #define DCP_CH0STAT_TOG_HASH_MISMATCH_MASK (0x2U)
  9986. #define DCP_CH0STAT_TOG_HASH_MISMATCH_SHIFT (1U)
  9987. #define DCP_CH0STAT_TOG_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TOG_HASH_MISMATCH_SHIFT)) & DCP_CH0STAT_TOG_HASH_MISMATCH_MASK)
  9988. #define DCP_CH0STAT_TOG_ERROR_SETUP_MASK (0x4U)
  9989. #define DCP_CH0STAT_TOG_ERROR_SETUP_SHIFT (2U)
  9990. #define DCP_CH0STAT_TOG_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TOG_ERROR_SETUP_SHIFT)) & DCP_CH0STAT_TOG_ERROR_SETUP_MASK)
  9991. #define DCP_CH0STAT_TOG_ERROR_PACKET_MASK (0x8U)
  9992. #define DCP_CH0STAT_TOG_ERROR_PACKET_SHIFT (3U)
  9993. #define DCP_CH0STAT_TOG_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TOG_ERROR_PACKET_SHIFT)) & DCP_CH0STAT_TOG_ERROR_PACKET_MASK)
  9994. #define DCP_CH0STAT_TOG_ERROR_SRC_MASK (0x10U)
  9995. #define DCP_CH0STAT_TOG_ERROR_SRC_SHIFT (4U)
  9996. #define DCP_CH0STAT_TOG_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TOG_ERROR_SRC_SHIFT)) & DCP_CH0STAT_TOG_ERROR_SRC_MASK)
  9997. #define DCP_CH0STAT_TOG_ERROR_DST_MASK (0x20U)
  9998. #define DCP_CH0STAT_TOG_ERROR_DST_SHIFT (5U)
  9999. #define DCP_CH0STAT_TOG_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TOG_ERROR_DST_SHIFT)) & DCP_CH0STAT_TOG_ERROR_DST_MASK)
  10000. #define DCP_CH0STAT_TOG_ERROR_PAGEFAULT_MASK (0x40U)
  10001. #define DCP_CH0STAT_TOG_ERROR_PAGEFAULT_SHIFT (6U)
  10002. #define DCP_CH0STAT_TOG_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TOG_ERROR_PAGEFAULT_SHIFT)) & DCP_CH0STAT_TOG_ERROR_PAGEFAULT_MASK)
  10003. #define DCP_CH0STAT_TOG_ERROR_CODE_MASK (0xFF0000U)
  10004. #define DCP_CH0STAT_TOG_ERROR_CODE_SHIFT (16U)
  10005. /*! ERROR_CODE
  10006. * 0b00000001..Error signalled because the next pointer is 0x00000000
  10007. * 0b00000010..Error signalled because the semaphore is non-zero and neither chain bit is set
  10008. * 0b00000011..Error signalled because an error is reported reading/writing the context buffer
  10009. * 0b00000100..Error signalled because an error is reported reading/writing the payload
  10010. * 0b00000101..Error signalled because the control packet specifies an invalid mode select (for instance, blit + hash)
  10011. */
  10012. #define DCP_CH0STAT_TOG_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TOG_ERROR_CODE_SHIFT)) & DCP_CH0STAT_TOG_ERROR_CODE_MASK)
  10013. #define DCP_CH0STAT_TOG_TAG_MASK (0xFF000000U)
  10014. #define DCP_CH0STAT_TOG_TAG_SHIFT (24U)
  10015. #define DCP_CH0STAT_TOG_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TOG_TAG_SHIFT)) & DCP_CH0STAT_TOG_TAG_MASK)
  10016. /*! @} */
  10017. /*! @name CH0OPTS - DCP channel 0 options register */
  10018. /*! @{ */
  10019. #define DCP_CH0OPTS_RECOVERY_TIMER_MASK (0xFFFFU)
  10020. #define DCP_CH0OPTS_RECOVERY_TIMER_SHIFT (0U)
  10021. #define DCP_CH0OPTS_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0OPTS_RECOVERY_TIMER_SHIFT)) & DCP_CH0OPTS_RECOVERY_TIMER_MASK)
  10022. #define DCP_CH0OPTS_RSVD_MASK (0xFFFF0000U)
  10023. #define DCP_CH0OPTS_RSVD_SHIFT (16U)
  10024. #define DCP_CH0OPTS_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0OPTS_RSVD_SHIFT)) & DCP_CH0OPTS_RSVD_MASK)
  10025. /*! @} */
  10026. /*! @name CH0OPTS_SET - DCP channel 0 options register */
  10027. /*! @{ */
  10028. #define DCP_CH0OPTS_SET_RECOVERY_TIMER_MASK (0xFFFFU)
  10029. #define DCP_CH0OPTS_SET_RECOVERY_TIMER_SHIFT (0U)
  10030. #define DCP_CH0OPTS_SET_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0OPTS_SET_RECOVERY_TIMER_SHIFT)) & DCP_CH0OPTS_SET_RECOVERY_TIMER_MASK)
  10031. #define DCP_CH0OPTS_SET_RSVD_MASK (0xFFFF0000U)
  10032. #define DCP_CH0OPTS_SET_RSVD_SHIFT (16U)
  10033. #define DCP_CH0OPTS_SET_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0OPTS_SET_RSVD_SHIFT)) & DCP_CH0OPTS_SET_RSVD_MASK)
  10034. /*! @} */
  10035. /*! @name CH0OPTS_CLR - DCP channel 0 options register */
  10036. /*! @{ */
  10037. #define DCP_CH0OPTS_CLR_RECOVERY_TIMER_MASK (0xFFFFU)
  10038. #define DCP_CH0OPTS_CLR_RECOVERY_TIMER_SHIFT (0U)
  10039. #define DCP_CH0OPTS_CLR_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0OPTS_CLR_RECOVERY_TIMER_SHIFT)) & DCP_CH0OPTS_CLR_RECOVERY_TIMER_MASK)
  10040. #define DCP_CH0OPTS_CLR_RSVD_MASK (0xFFFF0000U)
  10041. #define DCP_CH0OPTS_CLR_RSVD_SHIFT (16U)
  10042. #define DCP_CH0OPTS_CLR_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0OPTS_CLR_RSVD_SHIFT)) & DCP_CH0OPTS_CLR_RSVD_MASK)
  10043. /*! @} */
  10044. /*! @name CH0OPTS_TOG - DCP channel 0 options register */
  10045. /*! @{ */
  10046. #define DCP_CH0OPTS_TOG_RECOVERY_TIMER_MASK (0xFFFFU)
  10047. #define DCP_CH0OPTS_TOG_RECOVERY_TIMER_SHIFT (0U)
  10048. #define DCP_CH0OPTS_TOG_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0OPTS_TOG_RECOVERY_TIMER_SHIFT)) & DCP_CH0OPTS_TOG_RECOVERY_TIMER_MASK)
  10049. #define DCP_CH0OPTS_TOG_RSVD_MASK (0xFFFF0000U)
  10050. #define DCP_CH0OPTS_TOG_RSVD_SHIFT (16U)
  10051. #define DCP_CH0OPTS_TOG_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0OPTS_TOG_RSVD_SHIFT)) & DCP_CH0OPTS_TOG_RSVD_MASK)
  10052. /*! @} */
  10053. /*! @name CH1CMDPTR - DCP channel 1 command pointer address register */
  10054. /*! @{ */
  10055. #define DCP_CH1CMDPTR_ADDR_MASK (0xFFFFFFFFU)
  10056. #define DCP_CH1CMDPTR_ADDR_SHIFT (0U)
  10057. #define DCP_CH1CMDPTR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1CMDPTR_ADDR_SHIFT)) & DCP_CH1CMDPTR_ADDR_MASK)
  10058. /*! @} */
  10059. /*! @name CH1SEMA - DCP channel 1 semaphore register */
  10060. /*! @{ */
  10061. #define DCP_CH1SEMA_INCREMENT_MASK (0xFFU)
  10062. #define DCP_CH1SEMA_INCREMENT_SHIFT (0U)
  10063. #define DCP_CH1SEMA_INCREMENT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1SEMA_INCREMENT_SHIFT)) & DCP_CH1SEMA_INCREMENT_MASK)
  10064. #define DCP_CH1SEMA_VALUE_MASK (0xFF0000U)
  10065. #define DCP_CH1SEMA_VALUE_SHIFT (16U)
  10066. #define DCP_CH1SEMA_VALUE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1SEMA_VALUE_SHIFT)) & DCP_CH1SEMA_VALUE_MASK)
  10067. /*! @} */
  10068. /*! @name CH1STAT - DCP channel 1 status register */
  10069. /*! @{ */
  10070. #define DCP_CH1STAT_RSVD_COMPLETE_MASK (0x1U)
  10071. #define DCP_CH1STAT_RSVD_COMPLETE_SHIFT (0U)
  10072. #define DCP_CH1STAT_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_RSVD_COMPLETE_SHIFT)) & DCP_CH1STAT_RSVD_COMPLETE_MASK)
  10073. #define DCP_CH1STAT_HASH_MISMATCH_MASK (0x2U)
  10074. #define DCP_CH1STAT_HASH_MISMATCH_SHIFT (1U)
  10075. #define DCP_CH1STAT_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_HASH_MISMATCH_SHIFT)) & DCP_CH1STAT_HASH_MISMATCH_MASK)
  10076. #define DCP_CH1STAT_ERROR_SETUP_MASK (0x4U)
  10077. #define DCP_CH1STAT_ERROR_SETUP_SHIFT (2U)
  10078. #define DCP_CH1STAT_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_ERROR_SETUP_SHIFT)) & DCP_CH1STAT_ERROR_SETUP_MASK)
  10079. #define DCP_CH1STAT_ERROR_PACKET_MASK (0x8U)
  10080. #define DCP_CH1STAT_ERROR_PACKET_SHIFT (3U)
  10081. #define DCP_CH1STAT_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_ERROR_PACKET_SHIFT)) & DCP_CH1STAT_ERROR_PACKET_MASK)
  10082. #define DCP_CH1STAT_ERROR_SRC_MASK (0x10U)
  10083. #define DCP_CH1STAT_ERROR_SRC_SHIFT (4U)
  10084. #define DCP_CH1STAT_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_ERROR_SRC_SHIFT)) & DCP_CH1STAT_ERROR_SRC_MASK)
  10085. #define DCP_CH1STAT_ERROR_DST_MASK (0x20U)
  10086. #define DCP_CH1STAT_ERROR_DST_SHIFT (5U)
  10087. #define DCP_CH1STAT_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_ERROR_DST_SHIFT)) & DCP_CH1STAT_ERROR_DST_MASK)
  10088. #define DCP_CH1STAT_ERROR_PAGEFAULT_MASK (0x40U)
  10089. #define DCP_CH1STAT_ERROR_PAGEFAULT_SHIFT (6U)
  10090. #define DCP_CH1STAT_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_ERROR_PAGEFAULT_SHIFT)) & DCP_CH1STAT_ERROR_PAGEFAULT_MASK)
  10091. #define DCP_CH1STAT_ERROR_CODE_MASK (0xFF0000U)
  10092. #define DCP_CH1STAT_ERROR_CODE_SHIFT (16U)
  10093. /*! ERROR_CODE
  10094. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  10095. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  10096. * 0b00000011..Error is signalled because an error was reported when reading/writing the context buffer.
  10097. * 0b00000100..Error is signalled because an error was reported when reading/writing the payload.
  10098. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for example, blit + hash).
  10099. */
  10100. #define DCP_CH1STAT_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_ERROR_CODE_SHIFT)) & DCP_CH1STAT_ERROR_CODE_MASK)
  10101. #define DCP_CH1STAT_TAG_MASK (0xFF000000U)
  10102. #define DCP_CH1STAT_TAG_SHIFT (24U)
  10103. #define DCP_CH1STAT_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TAG_SHIFT)) & DCP_CH1STAT_TAG_MASK)
  10104. /*! @} */
  10105. /*! @name CH1STAT_SET - DCP channel 1 status register */
  10106. /*! @{ */
  10107. #define DCP_CH1STAT_SET_RSVD_COMPLETE_MASK (0x1U)
  10108. #define DCP_CH1STAT_SET_RSVD_COMPLETE_SHIFT (0U)
  10109. #define DCP_CH1STAT_SET_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_SET_RSVD_COMPLETE_SHIFT)) & DCP_CH1STAT_SET_RSVD_COMPLETE_MASK)
  10110. #define DCP_CH1STAT_SET_HASH_MISMATCH_MASK (0x2U)
  10111. #define DCP_CH1STAT_SET_HASH_MISMATCH_SHIFT (1U)
  10112. #define DCP_CH1STAT_SET_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_SET_HASH_MISMATCH_SHIFT)) & DCP_CH1STAT_SET_HASH_MISMATCH_MASK)
  10113. #define DCP_CH1STAT_SET_ERROR_SETUP_MASK (0x4U)
  10114. #define DCP_CH1STAT_SET_ERROR_SETUP_SHIFT (2U)
  10115. #define DCP_CH1STAT_SET_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_SET_ERROR_SETUP_SHIFT)) & DCP_CH1STAT_SET_ERROR_SETUP_MASK)
  10116. #define DCP_CH1STAT_SET_ERROR_PACKET_MASK (0x8U)
  10117. #define DCP_CH1STAT_SET_ERROR_PACKET_SHIFT (3U)
  10118. #define DCP_CH1STAT_SET_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_SET_ERROR_PACKET_SHIFT)) & DCP_CH1STAT_SET_ERROR_PACKET_MASK)
  10119. #define DCP_CH1STAT_SET_ERROR_SRC_MASK (0x10U)
  10120. #define DCP_CH1STAT_SET_ERROR_SRC_SHIFT (4U)
  10121. #define DCP_CH1STAT_SET_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_SET_ERROR_SRC_SHIFT)) & DCP_CH1STAT_SET_ERROR_SRC_MASK)
  10122. #define DCP_CH1STAT_SET_ERROR_DST_MASK (0x20U)
  10123. #define DCP_CH1STAT_SET_ERROR_DST_SHIFT (5U)
  10124. #define DCP_CH1STAT_SET_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_SET_ERROR_DST_SHIFT)) & DCP_CH1STAT_SET_ERROR_DST_MASK)
  10125. #define DCP_CH1STAT_SET_ERROR_PAGEFAULT_MASK (0x40U)
  10126. #define DCP_CH1STAT_SET_ERROR_PAGEFAULT_SHIFT (6U)
  10127. #define DCP_CH1STAT_SET_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_SET_ERROR_PAGEFAULT_SHIFT)) & DCP_CH1STAT_SET_ERROR_PAGEFAULT_MASK)
  10128. #define DCP_CH1STAT_SET_ERROR_CODE_MASK (0xFF0000U)
  10129. #define DCP_CH1STAT_SET_ERROR_CODE_SHIFT (16U)
  10130. /*! ERROR_CODE
  10131. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  10132. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  10133. * 0b00000011..Error is signalled because an error was reported when reading/writing the context buffer.
  10134. * 0b00000100..Error is signalled because an error was reported when reading/writing the payload.
  10135. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for example, blit + hash).
  10136. */
  10137. #define DCP_CH1STAT_SET_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_SET_ERROR_CODE_SHIFT)) & DCP_CH1STAT_SET_ERROR_CODE_MASK)
  10138. #define DCP_CH1STAT_SET_TAG_MASK (0xFF000000U)
  10139. #define DCP_CH1STAT_SET_TAG_SHIFT (24U)
  10140. #define DCP_CH1STAT_SET_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_SET_TAG_SHIFT)) & DCP_CH1STAT_SET_TAG_MASK)
  10141. /*! @} */
  10142. /*! @name CH1STAT_CLR - DCP channel 1 status register */
  10143. /*! @{ */
  10144. #define DCP_CH1STAT_CLR_RSVD_COMPLETE_MASK (0x1U)
  10145. #define DCP_CH1STAT_CLR_RSVD_COMPLETE_SHIFT (0U)
  10146. #define DCP_CH1STAT_CLR_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_CLR_RSVD_COMPLETE_SHIFT)) & DCP_CH1STAT_CLR_RSVD_COMPLETE_MASK)
  10147. #define DCP_CH1STAT_CLR_HASH_MISMATCH_MASK (0x2U)
  10148. #define DCP_CH1STAT_CLR_HASH_MISMATCH_SHIFT (1U)
  10149. #define DCP_CH1STAT_CLR_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_CLR_HASH_MISMATCH_SHIFT)) & DCP_CH1STAT_CLR_HASH_MISMATCH_MASK)
  10150. #define DCP_CH1STAT_CLR_ERROR_SETUP_MASK (0x4U)
  10151. #define DCP_CH1STAT_CLR_ERROR_SETUP_SHIFT (2U)
  10152. #define DCP_CH1STAT_CLR_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_CLR_ERROR_SETUP_SHIFT)) & DCP_CH1STAT_CLR_ERROR_SETUP_MASK)
  10153. #define DCP_CH1STAT_CLR_ERROR_PACKET_MASK (0x8U)
  10154. #define DCP_CH1STAT_CLR_ERROR_PACKET_SHIFT (3U)
  10155. #define DCP_CH1STAT_CLR_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_CLR_ERROR_PACKET_SHIFT)) & DCP_CH1STAT_CLR_ERROR_PACKET_MASK)
  10156. #define DCP_CH1STAT_CLR_ERROR_SRC_MASK (0x10U)
  10157. #define DCP_CH1STAT_CLR_ERROR_SRC_SHIFT (4U)
  10158. #define DCP_CH1STAT_CLR_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_CLR_ERROR_SRC_SHIFT)) & DCP_CH1STAT_CLR_ERROR_SRC_MASK)
  10159. #define DCP_CH1STAT_CLR_ERROR_DST_MASK (0x20U)
  10160. #define DCP_CH1STAT_CLR_ERROR_DST_SHIFT (5U)
  10161. #define DCP_CH1STAT_CLR_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_CLR_ERROR_DST_SHIFT)) & DCP_CH1STAT_CLR_ERROR_DST_MASK)
  10162. #define DCP_CH1STAT_CLR_ERROR_PAGEFAULT_MASK (0x40U)
  10163. #define DCP_CH1STAT_CLR_ERROR_PAGEFAULT_SHIFT (6U)
  10164. #define DCP_CH1STAT_CLR_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_CLR_ERROR_PAGEFAULT_SHIFT)) & DCP_CH1STAT_CLR_ERROR_PAGEFAULT_MASK)
  10165. #define DCP_CH1STAT_CLR_ERROR_CODE_MASK (0xFF0000U)
  10166. #define DCP_CH1STAT_CLR_ERROR_CODE_SHIFT (16U)
  10167. /*! ERROR_CODE
  10168. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  10169. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  10170. * 0b00000011..Error is signalled because an error was reported when reading/writing the context buffer.
  10171. * 0b00000100..Error is signalled because an error was reported when reading/writing the payload.
  10172. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for example, blit + hash).
  10173. */
  10174. #define DCP_CH1STAT_CLR_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_CLR_ERROR_CODE_SHIFT)) & DCP_CH1STAT_CLR_ERROR_CODE_MASK)
  10175. #define DCP_CH1STAT_CLR_TAG_MASK (0xFF000000U)
  10176. #define DCP_CH1STAT_CLR_TAG_SHIFT (24U)
  10177. #define DCP_CH1STAT_CLR_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_CLR_TAG_SHIFT)) & DCP_CH1STAT_CLR_TAG_MASK)
  10178. /*! @} */
  10179. /*! @name CH1STAT_TOG - DCP channel 1 status register */
  10180. /*! @{ */
  10181. #define DCP_CH1STAT_TOG_RSVD_COMPLETE_MASK (0x1U)
  10182. #define DCP_CH1STAT_TOG_RSVD_COMPLETE_SHIFT (0U)
  10183. #define DCP_CH1STAT_TOG_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TOG_RSVD_COMPLETE_SHIFT)) & DCP_CH1STAT_TOG_RSVD_COMPLETE_MASK)
  10184. #define DCP_CH1STAT_TOG_HASH_MISMATCH_MASK (0x2U)
  10185. #define DCP_CH1STAT_TOG_HASH_MISMATCH_SHIFT (1U)
  10186. #define DCP_CH1STAT_TOG_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TOG_HASH_MISMATCH_SHIFT)) & DCP_CH1STAT_TOG_HASH_MISMATCH_MASK)
  10187. #define DCP_CH1STAT_TOG_ERROR_SETUP_MASK (0x4U)
  10188. #define DCP_CH1STAT_TOG_ERROR_SETUP_SHIFT (2U)
  10189. #define DCP_CH1STAT_TOG_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TOG_ERROR_SETUP_SHIFT)) & DCP_CH1STAT_TOG_ERROR_SETUP_MASK)
  10190. #define DCP_CH1STAT_TOG_ERROR_PACKET_MASK (0x8U)
  10191. #define DCP_CH1STAT_TOG_ERROR_PACKET_SHIFT (3U)
  10192. #define DCP_CH1STAT_TOG_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TOG_ERROR_PACKET_SHIFT)) & DCP_CH1STAT_TOG_ERROR_PACKET_MASK)
  10193. #define DCP_CH1STAT_TOG_ERROR_SRC_MASK (0x10U)
  10194. #define DCP_CH1STAT_TOG_ERROR_SRC_SHIFT (4U)
  10195. #define DCP_CH1STAT_TOG_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TOG_ERROR_SRC_SHIFT)) & DCP_CH1STAT_TOG_ERROR_SRC_MASK)
  10196. #define DCP_CH1STAT_TOG_ERROR_DST_MASK (0x20U)
  10197. #define DCP_CH1STAT_TOG_ERROR_DST_SHIFT (5U)
  10198. #define DCP_CH1STAT_TOG_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TOG_ERROR_DST_SHIFT)) & DCP_CH1STAT_TOG_ERROR_DST_MASK)
  10199. #define DCP_CH1STAT_TOG_ERROR_PAGEFAULT_MASK (0x40U)
  10200. #define DCP_CH1STAT_TOG_ERROR_PAGEFAULT_SHIFT (6U)
  10201. #define DCP_CH1STAT_TOG_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TOG_ERROR_PAGEFAULT_SHIFT)) & DCP_CH1STAT_TOG_ERROR_PAGEFAULT_MASK)
  10202. #define DCP_CH1STAT_TOG_ERROR_CODE_MASK (0xFF0000U)
  10203. #define DCP_CH1STAT_TOG_ERROR_CODE_SHIFT (16U)
  10204. /*! ERROR_CODE
  10205. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  10206. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  10207. * 0b00000011..Error is signalled because an error was reported when reading/writing the context buffer.
  10208. * 0b00000100..Error is signalled because an error was reported when reading/writing the payload.
  10209. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for example, blit + hash).
  10210. */
  10211. #define DCP_CH1STAT_TOG_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TOG_ERROR_CODE_SHIFT)) & DCP_CH1STAT_TOG_ERROR_CODE_MASK)
  10212. #define DCP_CH1STAT_TOG_TAG_MASK (0xFF000000U)
  10213. #define DCP_CH1STAT_TOG_TAG_SHIFT (24U)
  10214. #define DCP_CH1STAT_TOG_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TOG_TAG_SHIFT)) & DCP_CH1STAT_TOG_TAG_MASK)
  10215. /*! @} */
  10216. /*! @name CH1OPTS - DCP channel 1 options register */
  10217. /*! @{ */
  10218. #define DCP_CH1OPTS_RECOVERY_TIMER_MASK (0xFFFFU)
  10219. #define DCP_CH1OPTS_RECOVERY_TIMER_SHIFT (0U)
  10220. #define DCP_CH1OPTS_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1OPTS_RECOVERY_TIMER_SHIFT)) & DCP_CH1OPTS_RECOVERY_TIMER_MASK)
  10221. #define DCP_CH1OPTS_RSVD_MASK (0xFFFF0000U)
  10222. #define DCP_CH1OPTS_RSVD_SHIFT (16U)
  10223. #define DCP_CH1OPTS_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1OPTS_RSVD_SHIFT)) & DCP_CH1OPTS_RSVD_MASK)
  10224. /*! @} */
  10225. /*! @name CH1OPTS_SET - DCP channel 1 options register */
  10226. /*! @{ */
  10227. #define DCP_CH1OPTS_SET_RECOVERY_TIMER_MASK (0xFFFFU)
  10228. #define DCP_CH1OPTS_SET_RECOVERY_TIMER_SHIFT (0U)
  10229. #define DCP_CH1OPTS_SET_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1OPTS_SET_RECOVERY_TIMER_SHIFT)) & DCP_CH1OPTS_SET_RECOVERY_TIMER_MASK)
  10230. #define DCP_CH1OPTS_SET_RSVD_MASK (0xFFFF0000U)
  10231. #define DCP_CH1OPTS_SET_RSVD_SHIFT (16U)
  10232. #define DCP_CH1OPTS_SET_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1OPTS_SET_RSVD_SHIFT)) & DCP_CH1OPTS_SET_RSVD_MASK)
  10233. /*! @} */
  10234. /*! @name CH1OPTS_CLR - DCP channel 1 options register */
  10235. /*! @{ */
  10236. #define DCP_CH1OPTS_CLR_RECOVERY_TIMER_MASK (0xFFFFU)
  10237. #define DCP_CH1OPTS_CLR_RECOVERY_TIMER_SHIFT (0U)
  10238. #define DCP_CH1OPTS_CLR_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1OPTS_CLR_RECOVERY_TIMER_SHIFT)) & DCP_CH1OPTS_CLR_RECOVERY_TIMER_MASK)
  10239. #define DCP_CH1OPTS_CLR_RSVD_MASK (0xFFFF0000U)
  10240. #define DCP_CH1OPTS_CLR_RSVD_SHIFT (16U)
  10241. #define DCP_CH1OPTS_CLR_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1OPTS_CLR_RSVD_SHIFT)) & DCP_CH1OPTS_CLR_RSVD_MASK)
  10242. /*! @} */
  10243. /*! @name CH1OPTS_TOG - DCP channel 1 options register */
  10244. /*! @{ */
  10245. #define DCP_CH1OPTS_TOG_RECOVERY_TIMER_MASK (0xFFFFU)
  10246. #define DCP_CH1OPTS_TOG_RECOVERY_TIMER_SHIFT (0U)
  10247. #define DCP_CH1OPTS_TOG_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1OPTS_TOG_RECOVERY_TIMER_SHIFT)) & DCP_CH1OPTS_TOG_RECOVERY_TIMER_MASK)
  10248. #define DCP_CH1OPTS_TOG_RSVD_MASK (0xFFFF0000U)
  10249. #define DCP_CH1OPTS_TOG_RSVD_SHIFT (16U)
  10250. #define DCP_CH1OPTS_TOG_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1OPTS_TOG_RSVD_SHIFT)) & DCP_CH1OPTS_TOG_RSVD_MASK)
  10251. /*! @} */
  10252. /*! @name CH2CMDPTR - DCP channel 2 command pointer address register */
  10253. /*! @{ */
  10254. #define DCP_CH2CMDPTR_ADDR_MASK (0xFFFFFFFFU)
  10255. #define DCP_CH2CMDPTR_ADDR_SHIFT (0U)
  10256. #define DCP_CH2CMDPTR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2CMDPTR_ADDR_SHIFT)) & DCP_CH2CMDPTR_ADDR_MASK)
  10257. /*! @} */
  10258. /*! @name CH2SEMA - DCP channel 2 semaphore register */
  10259. /*! @{ */
  10260. #define DCP_CH2SEMA_INCREMENT_MASK (0xFFU)
  10261. #define DCP_CH2SEMA_INCREMENT_SHIFT (0U)
  10262. #define DCP_CH2SEMA_INCREMENT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2SEMA_INCREMENT_SHIFT)) & DCP_CH2SEMA_INCREMENT_MASK)
  10263. #define DCP_CH2SEMA_VALUE_MASK (0xFF0000U)
  10264. #define DCP_CH2SEMA_VALUE_SHIFT (16U)
  10265. #define DCP_CH2SEMA_VALUE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2SEMA_VALUE_SHIFT)) & DCP_CH2SEMA_VALUE_MASK)
  10266. /*! @} */
  10267. /*! @name CH2STAT - DCP channel 2 status register */
  10268. /*! @{ */
  10269. #define DCP_CH2STAT_RSVD_COMPLETE_MASK (0x1U)
  10270. #define DCP_CH2STAT_RSVD_COMPLETE_SHIFT (0U)
  10271. #define DCP_CH2STAT_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_RSVD_COMPLETE_SHIFT)) & DCP_CH2STAT_RSVD_COMPLETE_MASK)
  10272. #define DCP_CH2STAT_HASH_MISMATCH_MASK (0x2U)
  10273. #define DCP_CH2STAT_HASH_MISMATCH_SHIFT (1U)
  10274. #define DCP_CH2STAT_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_HASH_MISMATCH_SHIFT)) & DCP_CH2STAT_HASH_MISMATCH_MASK)
  10275. #define DCP_CH2STAT_ERROR_SETUP_MASK (0x4U)
  10276. #define DCP_CH2STAT_ERROR_SETUP_SHIFT (2U)
  10277. #define DCP_CH2STAT_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_ERROR_SETUP_SHIFT)) & DCP_CH2STAT_ERROR_SETUP_MASK)
  10278. #define DCP_CH2STAT_ERROR_PACKET_MASK (0x8U)
  10279. #define DCP_CH2STAT_ERROR_PACKET_SHIFT (3U)
  10280. #define DCP_CH2STAT_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_ERROR_PACKET_SHIFT)) & DCP_CH2STAT_ERROR_PACKET_MASK)
  10281. #define DCP_CH2STAT_ERROR_SRC_MASK (0x10U)
  10282. #define DCP_CH2STAT_ERROR_SRC_SHIFT (4U)
  10283. #define DCP_CH2STAT_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_ERROR_SRC_SHIFT)) & DCP_CH2STAT_ERROR_SRC_MASK)
  10284. #define DCP_CH2STAT_ERROR_DST_MASK (0x20U)
  10285. #define DCP_CH2STAT_ERROR_DST_SHIFT (5U)
  10286. #define DCP_CH2STAT_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_ERROR_DST_SHIFT)) & DCP_CH2STAT_ERROR_DST_MASK)
  10287. #define DCP_CH2STAT_ERROR_PAGEFAULT_MASK (0x40U)
  10288. #define DCP_CH2STAT_ERROR_PAGEFAULT_SHIFT (6U)
  10289. #define DCP_CH2STAT_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_ERROR_PAGEFAULT_SHIFT)) & DCP_CH2STAT_ERROR_PAGEFAULT_MASK)
  10290. #define DCP_CH2STAT_ERROR_CODE_MASK (0xFF0000U)
  10291. #define DCP_CH2STAT_ERROR_CODE_SHIFT (16U)
  10292. /*! ERROR_CODE
  10293. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  10294. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  10295. * 0b00000011..Error is signalled because an error was reported while reading/writing the context buffer.
  10296. * 0b00000100..Error is signalled because an error was reported while reading/writing the payload.
  10297. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for instance, blit + hash).
  10298. */
  10299. #define DCP_CH2STAT_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_ERROR_CODE_SHIFT)) & DCP_CH2STAT_ERROR_CODE_MASK)
  10300. #define DCP_CH2STAT_TAG_MASK (0xFF000000U)
  10301. #define DCP_CH2STAT_TAG_SHIFT (24U)
  10302. #define DCP_CH2STAT_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TAG_SHIFT)) & DCP_CH2STAT_TAG_MASK)
  10303. /*! @} */
  10304. /*! @name CH2STAT_SET - DCP channel 2 status register */
  10305. /*! @{ */
  10306. #define DCP_CH2STAT_SET_RSVD_COMPLETE_MASK (0x1U)
  10307. #define DCP_CH2STAT_SET_RSVD_COMPLETE_SHIFT (0U)
  10308. #define DCP_CH2STAT_SET_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_SET_RSVD_COMPLETE_SHIFT)) & DCP_CH2STAT_SET_RSVD_COMPLETE_MASK)
  10309. #define DCP_CH2STAT_SET_HASH_MISMATCH_MASK (0x2U)
  10310. #define DCP_CH2STAT_SET_HASH_MISMATCH_SHIFT (1U)
  10311. #define DCP_CH2STAT_SET_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_SET_HASH_MISMATCH_SHIFT)) & DCP_CH2STAT_SET_HASH_MISMATCH_MASK)
  10312. #define DCP_CH2STAT_SET_ERROR_SETUP_MASK (0x4U)
  10313. #define DCP_CH2STAT_SET_ERROR_SETUP_SHIFT (2U)
  10314. #define DCP_CH2STAT_SET_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_SET_ERROR_SETUP_SHIFT)) & DCP_CH2STAT_SET_ERROR_SETUP_MASK)
  10315. #define DCP_CH2STAT_SET_ERROR_PACKET_MASK (0x8U)
  10316. #define DCP_CH2STAT_SET_ERROR_PACKET_SHIFT (3U)
  10317. #define DCP_CH2STAT_SET_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_SET_ERROR_PACKET_SHIFT)) & DCP_CH2STAT_SET_ERROR_PACKET_MASK)
  10318. #define DCP_CH2STAT_SET_ERROR_SRC_MASK (0x10U)
  10319. #define DCP_CH2STAT_SET_ERROR_SRC_SHIFT (4U)
  10320. #define DCP_CH2STAT_SET_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_SET_ERROR_SRC_SHIFT)) & DCP_CH2STAT_SET_ERROR_SRC_MASK)
  10321. #define DCP_CH2STAT_SET_ERROR_DST_MASK (0x20U)
  10322. #define DCP_CH2STAT_SET_ERROR_DST_SHIFT (5U)
  10323. #define DCP_CH2STAT_SET_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_SET_ERROR_DST_SHIFT)) & DCP_CH2STAT_SET_ERROR_DST_MASK)
  10324. #define DCP_CH2STAT_SET_ERROR_PAGEFAULT_MASK (0x40U)
  10325. #define DCP_CH2STAT_SET_ERROR_PAGEFAULT_SHIFT (6U)
  10326. #define DCP_CH2STAT_SET_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_SET_ERROR_PAGEFAULT_SHIFT)) & DCP_CH2STAT_SET_ERROR_PAGEFAULT_MASK)
  10327. #define DCP_CH2STAT_SET_ERROR_CODE_MASK (0xFF0000U)
  10328. #define DCP_CH2STAT_SET_ERROR_CODE_SHIFT (16U)
  10329. /*! ERROR_CODE
  10330. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  10331. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  10332. * 0b00000011..Error is signalled because an error was reported while reading/writing the context buffer.
  10333. * 0b00000100..Error is signalled because an error was reported while reading/writing the payload.
  10334. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for instance, blit + hash).
  10335. */
  10336. #define DCP_CH2STAT_SET_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_SET_ERROR_CODE_SHIFT)) & DCP_CH2STAT_SET_ERROR_CODE_MASK)
  10337. #define DCP_CH2STAT_SET_TAG_MASK (0xFF000000U)
  10338. #define DCP_CH2STAT_SET_TAG_SHIFT (24U)
  10339. #define DCP_CH2STAT_SET_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_SET_TAG_SHIFT)) & DCP_CH2STAT_SET_TAG_MASK)
  10340. /*! @} */
  10341. /*! @name CH2STAT_CLR - DCP channel 2 status register */
  10342. /*! @{ */
  10343. #define DCP_CH2STAT_CLR_RSVD_COMPLETE_MASK (0x1U)
  10344. #define DCP_CH2STAT_CLR_RSVD_COMPLETE_SHIFT (0U)
  10345. #define DCP_CH2STAT_CLR_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_CLR_RSVD_COMPLETE_SHIFT)) & DCP_CH2STAT_CLR_RSVD_COMPLETE_MASK)
  10346. #define DCP_CH2STAT_CLR_HASH_MISMATCH_MASK (0x2U)
  10347. #define DCP_CH2STAT_CLR_HASH_MISMATCH_SHIFT (1U)
  10348. #define DCP_CH2STAT_CLR_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_CLR_HASH_MISMATCH_SHIFT)) & DCP_CH2STAT_CLR_HASH_MISMATCH_MASK)
  10349. #define DCP_CH2STAT_CLR_ERROR_SETUP_MASK (0x4U)
  10350. #define DCP_CH2STAT_CLR_ERROR_SETUP_SHIFT (2U)
  10351. #define DCP_CH2STAT_CLR_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_CLR_ERROR_SETUP_SHIFT)) & DCP_CH2STAT_CLR_ERROR_SETUP_MASK)
  10352. #define DCP_CH2STAT_CLR_ERROR_PACKET_MASK (0x8U)
  10353. #define DCP_CH2STAT_CLR_ERROR_PACKET_SHIFT (3U)
  10354. #define DCP_CH2STAT_CLR_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_CLR_ERROR_PACKET_SHIFT)) & DCP_CH2STAT_CLR_ERROR_PACKET_MASK)
  10355. #define DCP_CH2STAT_CLR_ERROR_SRC_MASK (0x10U)
  10356. #define DCP_CH2STAT_CLR_ERROR_SRC_SHIFT (4U)
  10357. #define DCP_CH2STAT_CLR_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_CLR_ERROR_SRC_SHIFT)) & DCP_CH2STAT_CLR_ERROR_SRC_MASK)
  10358. #define DCP_CH2STAT_CLR_ERROR_DST_MASK (0x20U)
  10359. #define DCP_CH2STAT_CLR_ERROR_DST_SHIFT (5U)
  10360. #define DCP_CH2STAT_CLR_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_CLR_ERROR_DST_SHIFT)) & DCP_CH2STAT_CLR_ERROR_DST_MASK)
  10361. #define DCP_CH2STAT_CLR_ERROR_PAGEFAULT_MASK (0x40U)
  10362. #define DCP_CH2STAT_CLR_ERROR_PAGEFAULT_SHIFT (6U)
  10363. #define DCP_CH2STAT_CLR_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_CLR_ERROR_PAGEFAULT_SHIFT)) & DCP_CH2STAT_CLR_ERROR_PAGEFAULT_MASK)
  10364. #define DCP_CH2STAT_CLR_ERROR_CODE_MASK (0xFF0000U)
  10365. #define DCP_CH2STAT_CLR_ERROR_CODE_SHIFT (16U)
  10366. /*! ERROR_CODE
  10367. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  10368. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  10369. * 0b00000011..Error is signalled because an error was reported while reading/writing the context buffer.
  10370. * 0b00000100..Error is signalled because an error was reported while reading/writing the payload.
  10371. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for instance, blit + hash).
  10372. */
  10373. #define DCP_CH2STAT_CLR_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_CLR_ERROR_CODE_SHIFT)) & DCP_CH2STAT_CLR_ERROR_CODE_MASK)
  10374. #define DCP_CH2STAT_CLR_TAG_MASK (0xFF000000U)
  10375. #define DCP_CH2STAT_CLR_TAG_SHIFT (24U)
  10376. #define DCP_CH2STAT_CLR_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_CLR_TAG_SHIFT)) & DCP_CH2STAT_CLR_TAG_MASK)
  10377. /*! @} */
  10378. /*! @name CH2STAT_TOG - DCP channel 2 status register */
  10379. /*! @{ */
  10380. #define DCP_CH2STAT_TOG_RSVD_COMPLETE_MASK (0x1U)
  10381. #define DCP_CH2STAT_TOG_RSVD_COMPLETE_SHIFT (0U)
  10382. #define DCP_CH2STAT_TOG_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TOG_RSVD_COMPLETE_SHIFT)) & DCP_CH2STAT_TOG_RSVD_COMPLETE_MASK)
  10383. #define DCP_CH2STAT_TOG_HASH_MISMATCH_MASK (0x2U)
  10384. #define DCP_CH2STAT_TOG_HASH_MISMATCH_SHIFT (1U)
  10385. #define DCP_CH2STAT_TOG_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TOG_HASH_MISMATCH_SHIFT)) & DCP_CH2STAT_TOG_HASH_MISMATCH_MASK)
  10386. #define DCP_CH2STAT_TOG_ERROR_SETUP_MASK (0x4U)
  10387. #define DCP_CH2STAT_TOG_ERROR_SETUP_SHIFT (2U)
  10388. #define DCP_CH2STAT_TOG_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TOG_ERROR_SETUP_SHIFT)) & DCP_CH2STAT_TOG_ERROR_SETUP_MASK)
  10389. #define DCP_CH2STAT_TOG_ERROR_PACKET_MASK (0x8U)
  10390. #define DCP_CH2STAT_TOG_ERROR_PACKET_SHIFT (3U)
  10391. #define DCP_CH2STAT_TOG_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TOG_ERROR_PACKET_SHIFT)) & DCP_CH2STAT_TOG_ERROR_PACKET_MASK)
  10392. #define DCP_CH2STAT_TOG_ERROR_SRC_MASK (0x10U)
  10393. #define DCP_CH2STAT_TOG_ERROR_SRC_SHIFT (4U)
  10394. #define DCP_CH2STAT_TOG_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TOG_ERROR_SRC_SHIFT)) & DCP_CH2STAT_TOG_ERROR_SRC_MASK)
  10395. #define DCP_CH2STAT_TOG_ERROR_DST_MASK (0x20U)
  10396. #define DCP_CH2STAT_TOG_ERROR_DST_SHIFT (5U)
  10397. #define DCP_CH2STAT_TOG_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TOG_ERROR_DST_SHIFT)) & DCP_CH2STAT_TOG_ERROR_DST_MASK)
  10398. #define DCP_CH2STAT_TOG_ERROR_PAGEFAULT_MASK (0x40U)
  10399. #define DCP_CH2STAT_TOG_ERROR_PAGEFAULT_SHIFT (6U)
  10400. #define DCP_CH2STAT_TOG_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TOG_ERROR_PAGEFAULT_SHIFT)) & DCP_CH2STAT_TOG_ERROR_PAGEFAULT_MASK)
  10401. #define DCP_CH2STAT_TOG_ERROR_CODE_MASK (0xFF0000U)
  10402. #define DCP_CH2STAT_TOG_ERROR_CODE_SHIFT (16U)
  10403. /*! ERROR_CODE
  10404. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  10405. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  10406. * 0b00000011..Error is signalled because an error was reported while reading/writing the context buffer.
  10407. * 0b00000100..Error is signalled because an error was reported while reading/writing the payload.
  10408. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for instance, blit + hash).
  10409. */
  10410. #define DCP_CH2STAT_TOG_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TOG_ERROR_CODE_SHIFT)) & DCP_CH2STAT_TOG_ERROR_CODE_MASK)
  10411. #define DCP_CH2STAT_TOG_TAG_MASK (0xFF000000U)
  10412. #define DCP_CH2STAT_TOG_TAG_SHIFT (24U)
  10413. #define DCP_CH2STAT_TOG_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TOG_TAG_SHIFT)) & DCP_CH2STAT_TOG_TAG_MASK)
  10414. /*! @} */
  10415. /*! @name CH2OPTS - DCP channel 2 options register */
  10416. /*! @{ */
  10417. #define DCP_CH2OPTS_RECOVERY_TIMER_MASK (0xFFFFU)
  10418. #define DCP_CH2OPTS_RECOVERY_TIMER_SHIFT (0U)
  10419. #define DCP_CH2OPTS_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2OPTS_RECOVERY_TIMER_SHIFT)) & DCP_CH2OPTS_RECOVERY_TIMER_MASK)
  10420. #define DCP_CH2OPTS_RSVD_MASK (0xFFFF0000U)
  10421. #define DCP_CH2OPTS_RSVD_SHIFT (16U)
  10422. #define DCP_CH2OPTS_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2OPTS_RSVD_SHIFT)) & DCP_CH2OPTS_RSVD_MASK)
  10423. /*! @} */
  10424. /*! @name CH2OPTS_SET - DCP channel 2 options register */
  10425. /*! @{ */
  10426. #define DCP_CH2OPTS_SET_RECOVERY_TIMER_MASK (0xFFFFU)
  10427. #define DCP_CH2OPTS_SET_RECOVERY_TIMER_SHIFT (0U)
  10428. #define DCP_CH2OPTS_SET_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2OPTS_SET_RECOVERY_TIMER_SHIFT)) & DCP_CH2OPTS_SET_RECOVERY_TIMER_MASK)
  10429. #define DCP_CH2OPTS_SET_RSVD_MASK (0xFFFF0000U)
  10430. #define DCP_CH2OPTS_SET_RSVD_SHIFT (16U)
  10431. #define DCP_CH2OPTS_SET_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2OPTS_SET_RSVD_SHIFT)) & DCP_CH2OPTS_SET_RSVD_MASK)
  10432. /*! @} */
  10433. /*! @name CH2OPTS_CLR - DCP channel 2 options register */
  10434. /*! @{ */
  10435. #define DCP_CH2OPTS_CLR_RECOVERY_TIMER_MASK (0xFFFFU)
  10436. #define DCP_CH2OPTS_CLR_RECOVERY_TIMER_SHIFT (0U)
  10437. #define DCP_CH2OPTS_CLR_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2OPTS_CLR_RECOVERY_TIMER_SHIFT)) & DCP_CH2OPTS_CLR_RECOVERY_TIMER_MASK)
  10438. #define DCP_CH2OPTS_CLR_RSVD_MASK (0xFFFF0000U)
  10439. #define DCP_CH2OPTS_CLR_RSVD_SHIFT (16U)
  10440. #define DCP_CH2OPTS_CLR_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2OPTS_CLR_RSVD_SHIFT)) & DCP_CH2OPTS_CLR_RSVD_MASK)
  10441. /*! @} */
  10442. /*! @name CH2OPTS_TOG - DCP channel 2 options register */
  10443. /*! @{ */
  10444. #define DCP_CH2OPTS_TOG_RECOVERY_TIMER_MASK (0xFFFFU)
  10445. #define DCP_CH2OPTS_TOG_RECOVERY_TIMER_SHIFT (0U)
  10446. #define DCP_CH2OPTS_TOG_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2OPTS_TOG_RECOVERY_TIMER_SHIFT)) & DCP_CH2OPTS_TOG_RECOVERY_TIMER_MASK)
  10447. #define DCP_CH2OPTS_TOG_RSVD_MASK (0xFFFF0000U)
  10448. #define DCP_CH2OPTS_TOG_RSVD_SHIFT (16U)
  10449. #define DCP_CH2OPTS_TOG_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2OPTS_TOG_RSVD_SHIFT)) & DCP_CH2OPTS_TOG_RSVD_MASK)
  10450. /*! @} */
  10451. /*! @name CH3CMDPTR - DCP channel 3 command pointer address register */
  10452. /*! @{ */
  10453. #define DCP_CH3CMDPTR_ADDR_MASK (0xFFFFFFFFU)
  10454. #define DCP_CH3CMDPTR_ADDR_SHIFT (0U)
  10455. #define DCP_CH3CMDPTR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3CMDPTR_ADDR_SHIFT)) & DCP_CH3CMDPTR_ADDR_MASK)
  10456. /*! @} */
  10457. /*! @name CH3SEMA - DCP channel 3 semaphore register */
  10458. /*! @{ */
  10459. #define DCP_CH3SEMA_INCREMENT_MASK (0xFFU)
  10460. #define DCP_CH3SEMA_INCREMENT_SHIFT (0U)
  10461. #define DCP_CH3SEMA_INCREMENT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3SEMA_INCREMENT_SHIFT)) & DCP_CH3SEMA_INCREMENT_MASK)
  10462. #define DCP_CH3SEMA_VALUE_MASK (0xFF0000U)
  10463. #define DCP_CH3SEMA_VALUE_SHIFT (16U)
  10464. #define DCP_CH3SEMA_VALUE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3SEMA_VALUE_SHIFT)) & DCP_CH3SEMA_VALUE_MASK)
  10465. /*! @} */
  10466. /*! @name CH3STAT - DCP channel 3 status register */
  10467. /*! @{ */
  10468. #define DCP_CH3STAT_RSVD_COMPLETE_MASK (0x1U)
  10469. #define DCP_CH3STAT_RSVD_COMPLETE_SHIFT (0U)
  10470. #define DCP_CH3STAT_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_RSVD_COMPLETE_SHIFT)) & DCP_CH3STAT_RSVD_COMPLETE_MASK)
  10471. #define DCP_CH3STAT_HASH_MISMATCH_MASK (0x2U)
  10472. #define DCP_CH3STAT_HASH_MISMATCH_SHIFT (1U)
  10473. #define DCP_CH3STAT_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_HASH_MISMATCH_SHIFT)) & DCP_CH3STAT_HASH_MISMATCH_MASK)
  10474. #define DCP_CH3STAT_ERROR_SETUP_MASK (0x4U)
  10475. #define DCP_CH3STAT_ERROR_SETUP_SHIFT (2U)
  10476. #define DCP_CH3STAT_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_ERROR_SETUP_SHIFT)) & DCP_CH3STAT_ERROR_SETUP_MASK)
  10477. #define DCP_CH3STAT_ERROR_PACKET_MASK (0x8U)
  10478. #define DCP_CH3STAT_ERROR_PACKET_SHIFT (3U)
  10479. #define DCP_CH3STAT_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_ERROR_PACKET_SHIFT)) & DCP_CH3STAT_ERROR_PACKET_MASK)
  10480. #define DCP_CH3STAT_ERROR_SRC_MASK (0x10U)
  10481. #define DCP_CH3STAT_ERROR_SRC_SHIFT (4U)
  10482. #define DCP_CH3STAT_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_ERROR_SRC_SHIFT)) & DCP_CH3STAT_ERROR_SRC_MASK)
  10483. #define DCP_CH3STAT_ERROR_DST_MASK (0x20U)
  10484. #define DCP_CH3STAT_ERROR_DST_SHIFT (5U)
  10485. #define DCP_CH3STAT_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_ERROR_DST_SHIFT)) & DCP_CH3STAT_ERROR_DST_MASK)
  10486. #define DCP_CH3STAT_ERROR_PAGEFAULT_MASK (0x40U)
  10487. #define DCP_CH3STAT_ERROR_PAGEFAULT_SHIFT (6U)
  10488. #define DCP_CH3STAT_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_ERROR_PAGEFAULT_SHIFT)) & DCP_CH3STAT_ERROR_PAGEFAULT_MASK)
  10489. #define DCP_CH3STAT_ERROR_CODE_MASK (0xFF0000U)
  10490. #define DCP_CH3STAT_ERROR_CODE_SHIFT (16U)
  10491. /*! ERROR_CODE
  10492. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  10493. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  10494. * 0b00000011..Error is signalled because an error was reported while reading/writing the context buffer.
  10495. * 0b00000100..Error is signalled because an error was reported while reading/writing the payload.
  10496. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for example, blit + hash).
  10497. */
  10498. #define DCP_CH3STAT_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_ERROR_CODE_SHIFT)) & DCP_CH3STAT_ERROR_CODE_MASK)
  10499. #define DCP_CH3STAT_TAG_MASK (0xFF000000U)
  10500. #define DCP_CH3STAT_TAG_SHIFT (24U)
  10501. #define DCP_CH3STAT_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TAG_SHIFT)) & DCP_CH3STAT_TAG_MASK)
  10502. /*! @} */
  10503. /*! @name CH3STAT_SET - DCP channel 3 status register */
  10504. /*! @{ */
  10505. #define DCP_CH3STAT_SET_RSVD_COMPLETE_MASK (0x1U)
  10506. #define DCP_CH3STAT_SET_RSVD_COMPLETE_SHIFT (0U)
  10507. #define DCP_CH3STAT_SET_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_SET_RSVD_COMPLETE_SHIFT)) & DCP_CH3STAT_SET_RSVD_COMPLETE_MASK)
  10508. #define DCP_CH3STAT_SET_HASH_MISMATCH_MASK (0x2U)
  10509. #define DCP_CH3STAT_SET_HASH_MISMATCH_SHIFT (1U)
  10510. #define DCP_CH3STAT_SET_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_SET_HASH_MISMATCH_SHIFT)) & DCP_CH3STAT_SET_HASH_MISMATCH_MASK)
  10511. #define DCP_CH3STAT_SET_ERROR_SETUP_MASK (0x4U)
  10512. #define DCP_CH3STAT_SET_ERROR_SETUP_SHIFT (2U)
  10513. #define DCP_CH3STAT_SET_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_SET_ERROR_SETUP_SHIFT)) & DCP_CH3STAT_SET_ERROR_SETUP_MASK)
  10514. #define DCP_CH3STAT_SET_ERROR_PACKET_MASK (0x8U)
  10515. #define DCP_CH3STAT_SET_ERROR_PACKET_SHIFT (3U)
  10516. #define DCP_CH3STAT_SET_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_SET_ERROR_PACKET_SHIFT)) & DCP_CH3STAT_SET_ERROR_PACKET_MASK)
  10517. #define DCP_CH3STAT_SET_ERROR_SRC_MASK (0x10U)
  10518. #define DCP_CH3STAT_SET_ERROR_SRC_SHIFT (4U)
  10519. #define DCP_CH3STAT_SET_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_SET_ERROR_SRC_SHIFT)) & DCP_CH3STAT_SET_ERROR_SRC_MASK)
  10520. #define DCP_CH3STAT_SET_ERROR_DST_MASK (0x20U)
  10521. #define DCP_CH3STAT_SET_ERROR_DST_SHIFT (5U)
  10522. #define DCP_CH3STAT_SET_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_SET_ERROR_DST_SHIFT)) & DCP_CH3STAT_SET_ERROR_DST_MASK)
  10523. #define DCP_CH3STAT_SET_ERROR_PAGEFAULT_MASK (0x40U)
  10524. #define DCP_CH3STAT_SET_ERROR_PAGEFAULT_SHIFT (6U)
  10525. #define DCP_CH3STAT_SET_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_SET_ERROR_PAGEFAULT_SHIFT)) & DCP_CH3STAT_SET_ERROR_PAGEFAULT_MASK)
  10526. #define DCP_CH3STAT_SET_ERROR_CODE_MASK (0xFF0000U)
  10527. #define DCP_CH3STAT_SET_ERROR_CODE_SHIFT (16U)
  10528. /*! ERROR_CODE
  10529. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  10530. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  10531. * 0b00000011..Error is signalled because an error was reported while reading/writing the context buffer.
  10532. * 0b00000100..Error is signalled because an error was reported while reading/writing the payload.
  10533. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for example, blit + hash).
  10534. */
  10535. #define DCP_CH3STAT_SET_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_SET_ERROR_CODE_SHIFT)) & DCP_CH3STAT_SET_ERROR_CODE_MASK)
  10536. #define DCP_CH3STAT_SET_TAG_MASK (0xFF000000U)
  10537. #define DCP_CH3STAT_SET_TAG_SHIFT (24U)
  10538. #define DCP_CH3STAT_SET_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_SET_TAG_SHIFT)) & DCP_CH3STAT_SET_TAG_MASK)
  10539. /*! @} */
  10540. /*! @name CH3STAT_CLR - DCP channel 3 status register */
  10541. /*! @{ */
  10542. #define DCP_CH3STAT_CLR_RSVD_COMPLETE_MASK (0x1U)
  10543. #define DCP_CH3STAT_CLR_RSVD_COMPLETE_SHIFT (0U)
  10544. #define DCP_CH3STAT_CLR_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_CLR_RSVD_COMPLETE_SHIFT)) & DCP_CH3STAT_CLR_RSVD_COMPLETE_MASK)
  10545. #define DCP_CH3STAT_CLR_HASH_MISMATCH_MASK (0x2U)
  10546. #define DCP_CH3STAT_CLR_HASH_MISMATCH_SHIFT (1U)
  10547. #define DCP_CH3STAT_CLR_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_CLR_HASH_MISMATCH_SHIFT)) & DCP_CH3STAT_CLR_HASH_MISMATCH_MASK)
  10548. #define DCP_CH3STAT_CLR_ERROR_SETUP_MASK (0x4U)
  10549. #define DCP_CH3STAT_CLR_ERROR_SETUP_SHIFT (2U)
  10550. #define DCP_CH3STAT_CLR_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_CLR_ERROR_SETUP_SHIFT)) & DCP_CH3STAT_CLR_ERROR_SETUP_MASK)
  10551. #define DCP_CH3STAT_CLR_ERROR_PACKET_MASK (0x8U)
  10552. #define DCP_CH3STAT_CLR_ERROR_PACKET_SHIFT (3U)
  10553. #define DCP_CH3STAT_CLR_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_CLR_ERROR_PACKET_SHIFT)) & DCP_CH3STAT_CLR_ERROR_PACKET_MASK)
  10554. #define DCP_CH3STAT_CLR_ERROR_SRC_MASK (0x10U)
  10555. #define DCP_CH3STAT_CLR_ERROR_SRC_SHIFT (4U)
  10556. #define DCP_CH3STAT_CLR_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_CLR_ERROR_SRC_SHIFT)) & DCP_CH3STAT_CLR_ERROR_SRC_MASK)
  10557. #define DCP_CH3STAT_CLR_ERROR_DST_MASK (0x20U)
  10558. #define DCP_CH3STAT_CLR_ERROR_DST_SHIFT (5U)
  10559. #define DCP_CH3STAT_CLR_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_CLR_ERROR_DST_SHIFT)) & DCP_CH3STAT_CLR_ERROR_DST_MASK)
  10560. #define DCP_CH3STAT_CLR_ERROR_PAGEFAULT_MASK (0x40U)
  10561. #define DCP_CH3STAT_CLR_ERROR_PAGEFAULT_SHIFT (6U)
  10562. #define DCP_CH3STAT_CLR_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_CLR_ERROR_PAGEFAULT_SHIFT)) & DCP_CH3STAT_CLR_ERROR_PAGEFAULT_MASK)
  10563. #define DCP_CH3STAT_CLR_ERROR_CODE_MASK (0xFF0000U)
  10564. #define DCP_CH3STAT_CLR_ERROR_CODE_SHIFT (16U)
  10565. /*! ERROR_CODE
  10566. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  10567. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  10568. * 0b00000011..Error is signalled because an error was reported while reading/writing the context buffer.
  10569. * 0b00000100..Error is signalled because an error was reported while reading/writing the payload.
  10570. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for example, blit + hash).
  10571. */
  10572. #define DCP_CH3STAT_CLR_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_CLR_ERROR_CODE_SHIFT)) & DCP_CH3STAT_CLR_ERROR_CODE_MASK)
  10573. #define DCP_CH3STAT_CLR_TAG_MASK (0xFF000000U)
  10574. #define DCP_CH3STAT_CLR_TAG_SHIFT (24U)
  10575. #define DCP_CH3STAT_CLR_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_CLR_TAG_SHIFT)) & DCP_CH3STAT_CLR_TAG_MASK)
  10576. /*! @} */
  10577. /*! @name CH3STAT_TOG - DCP channel 3 status register */
  10578. /*! @{ */
  10579. #define DCP_CH3STAT_TOG_RSVD_COMPLETE_MASK (0x1U)
  10580. #define DCP_CH3STAT_TOG_RSVD_COMPLETE_SHIFT (0U)
  10581. #define DCP_CH3STAT_TOG_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TOG_RSVD_COMPLETE_SHIFT)) & DCP_CH3STAT_TOG_RSVD_COMPLETE_MASK)
  10582. #define DCP_CH3STAT_TOG_HASH_MISMATCH_MASK (0x2U)
  10583. #define DCP_CH3STAT_TOG_HASH_MISMATCH_SHIFT (1U)
  10584. #define DCP_CH3STAT_TOG_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TOG_HASH_MISMATCH_SHIFT)) & DCP_CH3STAT_TOG_HASH_MISMATCH_MASK)
  10585. #define DCP_CH3STAT_TOG_ERROR_SETUP_MASK (0x4U)
  10586. #define DCP_CH3STAT_TOG_ERROR_SETUP_SHIFT (2U)
  10587. #define DCP_CH3STAT_TOG_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TOG_ERROR_SETUP_SHIFT)) & DCP_CH3STAT_TOG_ERROR_SETUP_MASK)
  10588. #define DCP_CH3STAT_TOG_ERROR_PACKET_MASK (0x8U)
  10589. #define DCP_CH3STAT_TOG_ERROR_PACKET_SHIFT (3U)
  10590. #define DCP_CH3STAT_TOG_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TOG_ERROR_PACKET_SHIFT)) & DCP_CH3STAT_TOG_ERROR_PACKET_MASK)
  10591. #define DCP_CH3STAT_TOG_ERROR_SRC_MASK (0x10U)
  10592. #define DCP_CH3STAT_TOG_ERROR_SRC_SHIFT (4U)
  10593. #define DCP_CH3STAT_TOG_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TOG_ERROR_SRC_SHIFT)) & DCP_CH3STAT_TOG_ERROR_SRC_MASK)
  10594. #define DCP_CH3STAT_TOG_ERROR_DST_MASK (0x20U)
  10595. #define DCP_CH3STAT_TOG_ERROR_DST_SHIFT (5U)
  10596. #define DCP_CH3STAT_TOG_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TOG_ERROR_DST_SHIFT)) & DCP_CH3STAT_TOG_ERROR_DST_MASK)
  10597. #define DCP_CH3STAT_TOG_ERROR_PAGEFAULT_MASK (0x40U)
  10598. #define DCP_CH3STAT_TOG_ERROR_PAGEFAULT_SHIFT (6U)
  10599. #define DCP_CH3STAT_TOG_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TOG_ERROR_PAGEFAULT_SHIFT)) & DCP_CH3STAT_TOG_ERROR_PAGEFAULT_MASK)
  10600. #define DCP_CH3STAT_TOG_ERROR_CODE_MASK (0xFF0000U)
  10601. #define DCP_CH3STAT_TOG_ERROR_CODE_SHIFT (16U)
  10602. /*! ERROR_CODE
  10603. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  10604. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  10605. * 0b00000011..Error is signalled because an error was reported while reading/writing the context buffer.
  10606. * 0b00000100..Error is signalled because an error was reported while reading/writing the payload.
  10607. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for example, blit + hash).
  10608. */
  10609. #define DCP_CH3STAT_TOG_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TOG_ERROR_CODE_SHIFT)) & DCP_CH3STAT_TOG_ERROR_CODE_MASK)
  10610. #define DCP_CH3STAT_TOG_TAG_MASK (0xFF000000U)
  10611. #define DCP_CH3STAT_TOG_TAG_SHIFT (24U)
  10612. #define DCP_CH3STAT_TOG_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TOG_TAG_SHIFT)) & DCP_CH3STAT_TOG_TAG_MASK)
  10613. /*! @} */
  10614. /*! @name CH3OPTS - DCP channel 3 options register */
  10615. /*! @{ */
  10616. #define DCP_CH3OPTS_RECOVERY_TIMER_MASK (0xFFFFU)
  10617. #define DCP_CH3OPTS_RECOVERY_TIMER_SHIFT (0U)
  10618. #define DCP_CH3OPTS_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3OPTS_RECOVERY_TIMER_SHIFT)) & DCP_CH3OPTS_RECOVERY_TIMER_MASK)
  10619. #define DCP_CH3OPTS_RSVD_MASK (0xFFFF0000U)
  10620. #define DCP_CH3OPTS_RSVD_SHIFT (16U)
  10621. #define DCP_CH3OPTS_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3OPTS_RSVD_SHIFT)) & DCP_CH3OPTS_RSVD_MASK)
  10622. /*! @} */
  10623. /*! @name CH3OPTS_SET - DCP channel 3 options register */
  10624. /*! @{ */
  10625. #define DCP_CH3OPTS_SET_RECOVERY_TIMER_MASK (0xFFFFU)
  10626. #define DCP_CH3OPTS_SET_RECOVERY_TIMER_SHIFT (0U)
  10627. #define DCP_CH3OPTS_SET_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3OPTS_SET_RECOVERY_TIMER_SHIFT)) & DCP_CH3OPTS_SET_RECOVERY_TIMER_MASK)
  10628. #define DCP_CH3OPTS_SET_RSVD_MASK (0xFFFF0000U)
  10629. #define DCP_CH3OPTS_SET_RSVD_SHIFT (16U)
  10630. #define DCP_CH3OPTS_SET_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3OPTS_SET_RSVD_SHIFT)) & DCP_CH3OPTS_SET_RSVD_MASK)
  10631. /*! @} */
  10632. /*! @name CH3OPTS_CLR - DCP channel 3 options register */
  10633. /*! @{ */
  10634. #define DCP_CH3OPTS_CLR_RECOVERY_TIMER_MASK (0xFFFFU)
  10635. #define DCP_CH3OPTS_CLR_RECOVERY_TIMER_SHIFT (0U)
  10636. #define DCP_CH3OPTS_CLR_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3OPTS_CLR_RECOVERY_TIMER_SHIFT)) & DCP_CH3OPTS_CLR_RECOVERY_TIMER_MASK)
  10637. #define DCP_CH3OPTS_CLR_RSVD_MASK (0xFFFF0000U)
  10638. #define DCP_CH3OPTS_CLR_RSVD_SHIFT (16U)
  10639. #define DCP_CH3OPTS_CLR_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3OPTS_CLR_RSVD_SHIFT)) & DCP_CH3OPTS_CLR_RSVD_MASK)
  10640. /*! @} */
  10641. /*! @name CH3OPTS_TOG - DCP channel 3 options register */
  10642. /*! @{ */
  10643. #define DCP_CH3OPTS_TOG_RECOVERY_TIMER_MASK (0xFFFFU)
  10644. #define DCP_CH3OPTS_TOG_RECOVERY_TIMER_SHIFT (0U)
  10645. #define DCP_CH3OPTS_TOG_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3OPTS_TOG_RECOVERY_TIMER_SHIFT)) & DCP_CH3OPTS_TOG_RECOVERY_TIMER_MASK)
  10646. #define DCP_CH3OPTS_TOG_RSVD_MASK (0xFFFF0000U)
  10647. #define DCP_CH3OPTS_TOG_RSVD_SHIFT (16U)
  10648. #define DCP_CH3OPTS_TOG_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3OPTS_TOG_RSVD_SHIFT)) & DCP_CH3OPTS_TOG_RSVD_MASK)
  10649. /*! @} */
  10650. /*! @name DBGSELECT - DCP debug select register */
  10651. /*! @{ */
  10652. #define DCP_DBGSELECT_INDEX_MASK (0xFFU)
  10653. #define DCP_DBGSELECT_INDEX_SHIFT (0U)
  10654. /*! INDEX
  10655. * 0b00000001..CONTROL
  10656. * 0b00010000..OTPKEY0
  10657. * 0b00010001..OTPKEY1
  10658. * 0b00010010..OTPKEY2
  10659. * 0b00010011..OTPKEY3
  10660. */
  10661. #define DCP_DBGSELECT_INDEX(x) (((uint32_t)(((uint32_t)(x)) << DCP_DBGSELECT_INDEX_SHIFT)) & DCP_DBGSELECT_INDEX_MASK)
  10662. #define DCP_DBGSELECT_RSVD_MASK (0xFFFFFF00U)
  10663. #define DCP_DBGSELECT_RSVD_SHIFT (8U)
  10664. #define DCP_DBGSELECT_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_DBGSELECT_RSVD_SHIFT)) & DCP_DBGSELECT_RSVD_MASK)
  10665. /*! @} */
  10666. /*! @name DBGDATA - DCP debug data register */
  10667. /*! @{ */
  10668. #define DCP_DBGDATA_DATA_MASK (0xFFFFFFFFU)
  10669. #define DCP_DBGDATA_DATA_SHIFT (0U)
  10670. #define DCP_DBGDATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << DCP_DBGDATA_DATA_SHIFT)) & DCP_DBGDATA_DATA_MASK)
  10671. /*! @} */
  10672. /*! @name PAGETABLE - DCP page table register */
  10673. /*! @{ */
  10674. #define DCP_PAGETABLE_ENABLE_MASK (0x1U)
  10675. #define DCP_PAGETABLE_ENABLE_SHIFT (0U)
  10676. #define DCP_PAGETABLE_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << DCP_PAGETABLE_ENABLE_SHIFT)) & DCP_PAGETABLE_ENABLE_MASK)
  10677. #define DCP_PAGETABLE_FLUSH_MASK (0x2U)
  10678. #define DCP_PAGETABLE_FLUSH_SHIFT (1U)
  10679. #define DCP_PAGETABLE_FLUSH(x) (((uint32_t)(((uint32_t)(x)) << DCP_PAGETABLE_FLUSH_SHIFT)) & DCP_PAGETABLE_FLUSH_MASK)
  10680. #define DCP_PAGETABLE_BASE_MASK (0xFFFFFFFCU)
  10681. #define DCP_PAGETABLE_BASE_SHIFT (2U)
  10682. #define DCP_PAGETABLE_BASE(x) (((uint32_t)(((uint32_t)(x)) << DCP_PAGETABLE_BASE_SHIFT)) & DCP_PAGETABLE_BASE_MASK)
  10683. /*! @} */
  10684. /*! @name VERSION - DCP version register */
  10685. /*! @{ */
  10686. #define DCP_VERSION_STEP_MASK (0xFFFFU)
  10687. #define DCP_VERSION_STEP_SHIFT (0U)
  10688. #define DCP_VERSION_STEP(x) (((uint32_t)(((uint32_t)(x)) << DCP_VERSION_STEP_SHIFT)) & DCP_VERSION_STEP_MASK)
  10689. #define DCP_VERSION_MINOR_MASK (0xFF0000U)
  10690. #define DCP_VERSION_MINOR_SHIFT (16U)
  10691. #define DCP_VERSION_MINOR(x) (((uint32_t)(((uint32_t)(x)) << DCP_VERSION_MINOR_SHIFT)) & DCP_VERSION_MINOR_MASK)
  10692. #define DCP_VERSION_MAJOR_MASK (0xFF000000U)
  10693. #define DCP_VERSION_MAJOR_SHIFT (24U)
  10694. #define DCP_VERSION_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << DCP_VERSION_MAJOR_SHIFT)) & DCP_VERSION_MAJOR_MASK)
  10695. /*! @} */
  10696. /*!
  10697. * @}
  10698. */ /* end of group DCP_Register_Masks */
  10699. /* DCP - Peripheral instance base addresses */
  10700. /** Peripheral DCP base address */
  10701. #define DCP_BASE (0x402FC000u)
  10702. /** Peripheral DCP base pointer */
  10703. #define DCP ((DCP_Type *)DCP_BASE)
  10704. /** Array initializer of DCP peripheral base addresses */
  10705. #define DCP_BASE_ADDRS { DCP_BASE }
  10706. /** Array initializer of DCP peripheral base pointers */
  10707. #define DCP_BASE_PTRS { DCP }
  10708. /** Interrupt vectors for the DCP peripheral type */
  10709. #define DCP_IRQS { DCP_IRQn }
  10710. #define DCP_VMI_IRQS { DCP_VMI_IRQn }
  10711. /*!
  10712. * @}
  10713. */ /* end of group DCP_Peripheral_Access_Layer */
  10714. /* ----------------------------------------------------------------------------
  10715. -- DMA Peripheral Access Layer
  10716. ---------------------------------------------------------------------------- */
  10717. /*!
  10718. * @addtogroup DMA_Peripheral_Access_Layer DMA Peripheral Access Layer
  10719. * @{
  10720. */
  10721. /** DMA - Register Layout Typedef */
  10722. typedef struct {
  10723. __IO uint32_t CR; /**< Control, offset: 0x0 */
  10724. __I uint32_t ES; /**< Error Status, offset: 0x4 */
  10725. uint8_t RESERVED_0[4];
  10726. __IO uint32_t ERQ; /**< Enable Request, offset: 0xC */
  10727. uint8_t RESERVED_1[4];
  10728. __IO uint32_t EEI; /**< Enable Error Interrupt, offset: 0x14 */
  10729. __O uint8_t CEEI; /**< Clear Enable Error Interrupt, offset: 0x18 */
  10730. __O uint8_t SEEI; /**< Set Enable Error Interrupt, offset: 0x19 */
  10731. __O uint8_t CERQ; /**< Clear Enable Request, offset: 0x1A */
  10732. __O uint8_t SERQ; /**< Set Enable Request, offset: 0x1B */
  10733. __O uint8_t CDNE; /**< Clear DONE Status Bit, offset: 0x1C */
  10734. __O uint8_t SSRT; /**< Set START Bit, offset: 0x1D */
  10735. __O uint8_t CERR; /**< Clear Error, offset: 0x1E */
  10736. __O uint8_t CINT; /**< Clear Interrupt Request, offset: 0x1F */
  10737. uint8_t RESERVED_2[4];
  10738. __IO uint32_t INT; /**< Interrupt Request, offset: 0x24 */
  10739. uint8_t RESERVED_3[4];
  10740. __IO uint32_t ERR; /**< Error, offset: 0x2C */
  10741. uint8_t RESERVED_4[4];
  10742. __I uint32_t HRS; /**< Hardware Request Status, offset: 0x34 */
  10743. uint8_t RESERVED_5[12];
  10744. __IO uint32_t EARS; /**< Enable Asynchronous Request in Stop, offset: 0x44 */
  10745. uint8_t RESERVED_6[184];
  10746. __IO uint8_t DCHPRI3; /**< Channel Priority, offset: 0x100 */
  10747. __IO uint8_t DCHPRI2; /**< Channel Priority, offset: 0x101 */
  10748. __IO uint8_t DCHPRI1; /**< Channel Priority, offset: 0x102 */
  10749. __IO uint8_t DCHPRI0; /**< Channel Priority, offset: 0x103 */
  10750. __IO uint8_t DCHPRI7; /**< Channel Priority, offset: 0x104 */
  10751. __IO uint8_t DCHPRI6; /**< Channel Priority, offset: 0x105 */
  10752. __IO uint8_t DCHPRI5; /**< Channel Priority, offset: 0x106 */
  10753. __IO uint8_t DCHPRI4; /**< Channel Priority, offset: 0x107 */
  10754. __IO uint8_t DCHPRI11; /**< Channel Priority, offset: 0x108 */
  10755. __IO uint8_t DCHPRI10; /**< Channel Priority, offset: 0x109 */
  10756. __IO uint8_t DCHPRI9; /**< Channel Priority, offset: 0x10A */
  10757. __IO uint8_t DCHPRI8; /**< Channel Priority, offset: 0x10B */
  10758. __IO uint8_t DCHPRI15; /**< Channel Priority, offset: 0x10C */
  10759. __IO uint8_t DCHPRI14; /**< Channel Priority, offset: 0x10D */
  10760. __IO uint8_t DCHPRI13; /**< Channel Priority, offset: 0x10E */
  10761. __IO uint8_t DCHPRI12; /**< Channel Priority, offset: 0x10F */
  10762. __IO uint8_t DCHPRI19; /**< Channel Priority, offset: 0x110 */
  10763. __IO uint8_t DCHPRI18; /**< Channel Priority, offset: 0x111 */
  10764. __IO uint8_t DCHPRI17; /**< Channel Priority, offset: 0x112 */
  10765. __IO uint8_t DCHPRI16; /**< Channel Priority, offset: 0x113 */
  10766. __IO uint8_t DCHPRI23; /**< Channel Priority, offset: 0x114 */
  10767. __IO uint8_t DCHPRI22; /**< Channel Priority, offset: 0x115 */
  10768. __IO uint8_t DCHPRI21; /**< Channel Priority, offset: 0x116 */
  10769. __IO uint8_t DCHPRI20; /**< Channel Priority, offset: 0x117 */
  10770. __IO uint8_t DCHPRI27; /**< Channel Priority, offset: 0x118 */
  10771. __IO uint8_t DCHPRI26; /**< Channel Priority, offset: 0x119 */
  10772. __IO uint8_t DCHPRI25; /**< Channel Priority, offset: 0x11A */
  10773. __IO uint8_t DCHPRI24; /**< Channel Priority, offset: 0x11B */
  10774. __IO uint8_t DCHPRI31; /**< Channel Priority, offset: 0x11C */
  10775. __IO uint8_t DCHPRI30; /**< Channel Priority, offset: 0x11D */
  10776. __IO uint8_t DCHPRI29; /**< Channel Priority, offset: 0x11E */
  10777. __IO uint8_t DCHPRI28; /**< Channel Priority, offset: 0x11F */
  10778. uint8_t RESERVED_7[3808];
  10779. struct { /* offset: 0x1000, array step: 0x20 */
  10780. __IO uint32_t SADDR; /**< TCD Source Address, array offset: 0x1000, array step: 0x20 */
  10781. __IO uint16_t SOFF; /**< TCD Signed Source Address Offset, array offset: 0x1004, array step: 0x20 */
  10782. __IO uint16_t ATTR; /**< TCD Transfer Attributes, array offset: 0x1006, array step: 0x20 */
  10783. union { /* offset: 0x1008, array step: 0x20 */
  10784. __IO uint32_t NBYTES_MLNO; /**< TCD Minor Byte Count (Minor Loop Mapping Disabled), array offset: 0x1008, array step: 0x20 */
  10785. __IO uint32_t NBYTES_MLOFFNO; /**< TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled), array offset: 0x1008, array step: 0x20 */
  10786. __IO uint32_t NBYTES_MLOFFYES; /**< TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled), array offset: 0x1008, array step: 0x20 */
  10787. };
  10788. __IO int32_t SLAST; /**< TCD Last Source Address Adjustment, array offset: 0x100C, array step: 0x20 */
  10789. __IO uint32_t DADDR; /**< TCD Destination Address, array offset: 0x1010, array step: 0x20 */
  10790. __IO uint16_t DOFF; /**< TCD Signed Destination Address Offset, array offset: 0x1014, array step: 0x20 */
  10791. union { /* offset: 0x1016, array step: 0x20 */
  10792. __IO uint16_t CITER_ELINKNO; /**< TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled), array offset: 0x1016, array step: 0x20 */
  10793. __IO uint16_t CITER_ELINKYES; /**< TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled), array offset: 0x1016, array step: 0x20 */
  10794. };
  10795. __IO int32_t DLAST_SGA; /**< TCD Last Destination Address Adjustment/Scatter Gather Address, array offset: 0x1018, array step: 0x20 */
  10796. __IO uint16_t CSR; /**< TCD Control and Status, array offset: 0x101C, array step: 0x20 */
  10797. union { /* offset: 0x101E, array step: 0x20 */
  10798. __IO uint16_t BITER_ELINKNO; /**< TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled), array offset: 0x101E, array step: 0x20 */
  10799. __IO uint16_t BITER_ELINKYES; /**< TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled), array offset: 0x101E, array step: 0x20 */
  10800. };
  10801. } TCD[32];
  10802. } DMA_Type;
  10803. /* ----------------------------------------------------------------------------
  10804. -- DMA Register Masks
  10805. ---------------------------------------------------------------------------- */
  10806. /*!
  10807. * @addtogroup DMA_Register_Masks DMA Register Masks
  10808. * @{
  10809. */
  10810. /*! @name CR - Control */
  10811. /*! @{ */
  10812. #define DMA_CR_EDBG_MASK (0x2U)
  10813. #define DMA_CR_EDBG_SHIFT (1U)
  10814. /*! EDBG - Enable Debug
  10815. * 0b0..When the chip is in Debug mode, the eDMA continues to operate.
  10816. * 0b1..When the chip is in debug mode, the DMA stalls the start of a new channel. Executing channels are allowed to complete.
  10817. */
  10818. #define DMA_CR_EDBG(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_EDBG_SHIFT)) & DMA_CR_EDBG_MASK)
  10819. #define DMA_CR_ERCA_MASK (0x4U)
  10820. #define DMA_CR_ERCA_SHIFT (2U)
  10821. /*! ERCA - Enable Round Robin Channel Arbitration
  10822. * 0b0..Fixed priority arbitration within each group
  10823. * 0b1..Round robin arbitration within each group
  10824. */
  10825. #define DMA_CR_ERCA(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ERCA_SHIFT)) & DMA_CR_ERCA_MASK)
  10826. #define DMA_CR_ERGA_MASK (0x8U)
  10827. #define DMA_CR_ERGA_SHIFT (3U)
  10828. /*! ERGA - Enable Round Robin Group Arbitration
  10829. * 0b0..Fixed priority arbitration
  10830. * 0b1..Round robin arbitration
  10831. */
  10832. #define DMA_CR_ERGA(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ERGA_SHIFT)) & DMA_CR_ERGA_MASK)
  10833. #define DMA_CR_HOE_MASK (0x10U)
  10834. #define DMA_CR_HOE_SHIFT (4U)
  10835. /*! HOE - Halt On Error
  10836. * 0b0..Normal operation
  10837. * 0b1..Error causes HALT field to be automatically set to 1
  10838. */
  10839. #define DMA_CR_HOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_HOE_SHIFT)) & DMA_CR_HOE_MASK)
  10840. #define DMA_CR_HALT_MASK (0x20U)
  10841. #define DMA_CR_HALT_SHIFT (5U)
  10842. /*! HALT - Halt eDMA Operations
  10843. * 0b0..Normal operation
  10844. * 0b1..eDMA operations halted
  10845. */
  10846. #define DMA_CR_HALT(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_HALT_SHIFT)) & DMA_CR_HALT_MASK)
  10847. #define DMA_CR_CLM_MASK (0x40U)
  10848. #define DMA_CR_CLM_SHIFT (6U)
  10849. /*! CLM - Continuous Link Mode
  10850. * 0b0..Continuous link mode is off
  10851. * 0b1..Continuous link mode is on
  10852. */
  10853. #define DMA_CR_CLM(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_CLM_SHIFT)) & DMA_CR_CLM_MASK)
  10854. #define DMA_CR_EMLM_MASK (0x80U)
  10855. #define DMA_CR_EMLM_SHIFT (7U)
  10856. /*! EMLM - Enable Minor Loop Mapping
  10857. * 0b0..Disabled
  10858. * 0b1..Enabled
  10859. */
  10860. #define DMA_CR_EMLM(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_EMLM_SHIFT)) & DMA_CR_EMLM_MASK)
  10861. #define DMA_CR_GRP0PRI_MASK (0x100U)
  10862. #define DMA_CR_GRP0PRI_SHIFT (8U)
  10863. /*! GRP0PRI - Channel Group 0 Priority
  10864. */
  10865. #define DMA_CR_GRP0PRI(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_GRP0PRI_SHIFT)) & DMA_CR_GRP0PRI_MASK)
  10866. #define DMA_CR_GRP1PRI_MASK (0x400U)
  10867. #define DMA_CR_GRP1PRI_SHIFT (10U)
  10868. /*! GRP1PRI - Channel Group 1 Priority
  10869. */
  10870. #define DMA_CR_GRP1PRI(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_GRP1PRI_SHIFT)) & DMA_CR_GRP1PRI_MASK)
  10871. #define DMA_CR_ECX_MASK (0x10000U)
  10872. #define DMA_CR_ECX_SHIFT (16U)
  10873. /*! ECX - Error Cancel Transfer
  10874. * 0b0..Normal operation
  10875. * 0b1..Cancel the remaining data transfer
  10876. */
  10877. #define DMA_CR_ECX(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ECX_SHIFT)) & DMA_CR_ECX_MASK)
  10878. #define DMA_CR_CX_MASK (0x20000U)
  10879. #define DMA_CR_CX_SHIFT (17U)
  10880. /*! CX - Cancel Transfer
  10881. * 0b0..Normal operation
  10882. * 0b1..Cancel the remaining data transfer
  10883. */
  10884. #define DMA_CR_CX(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_CX_SHIFT)) & DMA_CR_CX_MASK)
  10885. #define DMA_CR_ACTIVE_MASK (0x80000000U)
  10886. #define DMA_CR_ACTIVE_SHIFT (31U)
  10887. /*! ACTIVE - eDMA Active Status
  10888. * 0b0..eDMA is idle
  10889. * 0b1..eDMA is executing a channel
  10890. */
  10891. #define DMA_CR_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ACTIVE_SHIFT)) & DMA_CR_ACTIVE_MASK)
  10892. /*! @} */
  10893. /*! @name ES - Error Status */
  10894. /*! @{ */
  10895. #define DMA_ES_DBE_MASK (0x1U)
  10896. #define DMA_ES_DBE_SHIFT (0U)
  10897. /*! DBE - Destination Bus Error
  10898. * 0b0..No destination bus error.
  10899. * 0b1..The most-recently recorded error was a bus error on a destination write.
  10900. */
  10901. #define DMA_ES_DBE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_DBE_SHIFT)) & DMA_ES_DBE_MASK)
  10902. #define DMA_ES_SBE_MASK (0x2U)
  10903. #define DMA_ES_SBE_SHIFT (1U)
  10904. /*! SBE - Source Bus Error
  10905. * 0b0..No source bus error.
  10906. * 0b1..The most-recently recorded error was a bus error on a source read.
  10907. */
  10908. #define DMA_ES_SBE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SBE_SHIFT)) & DMA_ES_SBE_MASK)
  10909. #define DMA_ES_SGE_MASK (0x4U)
  10910. #define DMA_ES_SGE_SHIFT (2U)
  10911. /*! SGE - Scatter/Gather Configuration Error
  10912. * 0b0..No scatter/gather configuration error.
  10913. * 0b1..The most-recently recorded error was a configuration error detected in the TCDn_DLASTSGA field.
  10914. */
  10915. #define DMA_ES_SGE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SGE_SHIFT)) & DMA_ES_SGE_MASK)
  10916. #define DMA_ES_NCE_MASK (0x8U)
  10917. #define DMA_ES_NCE_SHIFT (3U)
  10918. /*! NCE - NBYTES/CITER Configuration Error
  10919. * 0b0..No NBYTES/CITER configuration error.
  10920. * 0b1..The most-recently recorded error was a configuration error detected in the TCDn_NBYTES or TCDn_CITER
  10921. * fields. TCDn_NBYTES is not a multiple of TCDn_ATTR[SSIZE] and TCDn_ATTR[DSIZE], or TCDn_CITER[CITER] = 0, or
  10922. * TCDn_CITER[ELINK] is not equal to TCDn_BITER[ELINK].
  10923. */
  10924. #define DMA_ES_NCE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_NCE_SHIFT)) & DMA_ES_NCE_MASK)
  10925. #define DMA_ES_DOE_MASK (0x10U)
  10926. #define DMA_ES_DOE_SHIFT (4U)
  10927. /*! DOE - Destination Offset Error
  10928. * 0b0..No destination offset configuration error.
  10929. * 0b1..The most-recently recorded error was a configuration error detected in the TCDn_DOFF field. TCDn_DOFF is inconsistent with TCDn_ATTR[DSIZE].
  10930. */
  10931. #define DMA_ES_DOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_DOE_SHIFT)) & DMA_ES_DOE_MASK)
  10932. #define DMA_ES_DAE_MASK (0x20U)
  10933. #define DMA_ES_DAE_SHIFT (5U)
  10934. /*! DAE - Destination Address Error
  10935. * 0b0..No destination address configuration error.
  10936. * 0b1..The most-recently recorded error was a configuration error detected in the TCDn_DADDR field. TCDn_DADDR
  10937. * is inconsistent with TCDn_ATTR[DSIZE].
  10938. */
  10939. #define DMA_ES_DAE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_DAE_SHIFT)) & DMA_ES_DAE_MASK)
  10940. #define DMA_ES_SOE_MASK (0x40U)
  10941. #define DMA_ES_SOE_SHIFT (6U)
  10942. /*! SOE - Source Offset Error
  10943. * 0b0..No source offset configuration error.
  10944. * 0b1..The most-recently recorded error was a configuration error detected in the TCDn_SOFF field. TCDn_SOFF is inconsistent with TCDn_ATTR[SSIZE].
  10945. */
  10946. #define DMA_ES_SOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SOE_SHIFT)) & DMA_ES_SOE_MASK)
  10947. #define DMA_ES_SAE_MASK (0x80U)
  10948. #define DMA_ES_SAE_SHIFT (7U)
  10949. /*! SAE - Source Address Error
  10950. * 0b0..No source address configuration error.
  10951. * 0b1..The most-recently recorded error was a configuration error detected in the TCDn_SADDR field. TCDn_SADDR
  10952. * is inconsistent with TCDn_ATTR[SSIZE].
  10953. */
  10954. #define DMA_ES_SAE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SAE_SHIFT)) & DMA_ES_SAE_MASK)
  10955. #define DMA_ES_ERRCHN_MASK (0x1F00U)
  10956. #define DMA_ES_ERRCHN_SHIFT (8U)
  10957. /*! ERRCHN - Error Channel Number or Canceled Channel Number
  10958. */
  10959. #define DMA_ES_ERRCHN(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_ERRCHN_SHIFT)) & DMA_ES_ERRCHN_MASK)
  10960. #define DMA_ES_CPE_MASK (0x4000U)
  10961. #define DMA_ES_CPE_SHIFT (14U)
  10962. /*! CPE - Channel Priority Error
  10963. * 0b0..No channel priority error.
  10964. * 0b1..The most-recently recorded error was a configuration error in the channel priorities within a group.
  10965. * Channel priorities within a group are not unique.
  10966. */
  10967. #define DMA_ES_CPE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_CPE_SHIFT)) & DMA_ES_CPE_MASK)
  10968. #define DMA_ES_GPE_MASK (0x8000U)
  10969. #define DMA_ES_GPE_SHIFT (15U)
  10970. /*! GPE - Group Priority Error
  10971. * 0b0..No group priority error.
  10972. * 0b1..The most-recently recorded error was a configuration error among the group priorities. All group priorities are not unique.
  10973. */
  10974. #define DMA_ES_GPE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_GPE_SHIFT)) & DMA_ES_GPE_MASK)
  10975. #define DMA_ES_ECX_MASK (0x10000U)
  10976. #define DMA_ES_ECX_SHIFT (16U)
  10977. /*! ECX - Transfer Canceled
  10978. * 0b0..No canceled transfers
  10979. * 0b1..The most-recently recorded entry was a canceled transfer initiated by the error cancel transfer field
  10980. */
  10981. #define DMA_ES_ECX(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_ECX_SHIFT)) & DMA_ES_ECX_MASK)
  10982. #define DMA_ES_VLD_MASK (0x80000000U)
  10983. #define DMA_ES_VLD_SHIFT (31U)
  10984. /*! VLD - Logical OR of all ERR status fields
  10985. * 0b0..No ERR fields are 1
  10986. * 0b1..At least one ERR field has a value of 1, indicating a valid error exists that has not been cleared
  10987. */
  10988. #define DMA_ES_VLD(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_VLD_SHIFT)) & DMA_ES_VLD_MASK)
  10989. /*! @} */
  10990. /*! @name ERQ - Enable Request */
  10991. /*! @{ */
  10992. #define DMA_ERQ_ERQ0_MASK (0x1U)
  10993. #define DMA_ERQ_ERQ0_SHIFT (0U)
  10994. /*! ERQ0 - Enable DMA Request 0
  10995. * 0b0..The DMA request signal for channel 0 is disabled
  10996. * 0b1..The DMA request signal for channel 0 is enabled
  10997. */
  10998. #define DMA_ERQ_ERQ0(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ0_SHIFT)) & DMA_ERQ_ERQ0_MASK)
  10999. #define DMA_ERQ_ERQ1_MASK (0x2U)
  11000. #define DMA_ERQ_ERQ1_SHIFT (1U)
  11001. /*! ERQ1 - Enable DMA Request 1
  11002. * 0b0..The DMA request signal for channel 1 is disabled
  11003. * 0b1..The DMA request signal for channel 1 is enabled
  11004. */
  11005. #define DMA_ERQ_ERQ1(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ1_SHIFT)) & DMA_ERQ_ERQ1_MASK)
  11006. #define DMA_ERQ_ERQ2_MASK (0x4U)
  11007. #define DMA_ERQ_ERQ2_SHIFT (2U)
  11008. /*! ERQ2 - Enable DMA Request 2
  11009. * 0b0..The DMA request signal for channel 2 is disabled
  11010. * 0b1..The DMA request signal for channel 2 is enabled
  11011. */
  11012. #define DMA_ERQ_ERQ2(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ2_SHIFT)) & DMA_ERQ_ERQ2_MASK)
  11013. #define DMA_ERQ_ERQ3_MASK (0x8U)
  11014. #define DMA_ERQ_ERQ3_SHIFT (3U)
  11015. /*! ERQ3 - Enable DMA Request 3
  11016. * 0b0..The DMA request signal for channel 3 is disabled
  11017. * 0b1..The DMA request signal for channel 3 is enabled
  11018. */
  11019. #define DMA_ERQ_ERQ3(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ3_SHIFT)) & DMA_ERQ_ERQ3_MASK)
  11020. #define DMA_ERQ_ERQ4_MASK (0x10U)
  11021. #define DMA_ERQ_ERQ4_SHIFT (4U)
  11022. /*! ERQ4 - Enable DMA Request 4
  11023. * 0b0..The DMA request signal for channel 4 is disabled
  11024. * 0b1..The DMA request signal for channel 4 is enabled
  11025. */
  11026. #define DMA_ERQ_ERQ4(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ4_SHIFT)) & DMA_ERQ_ERQ4_MASK)
  11027. #define DMA_ERQ_ERQ5_MASK (0x20U)
  11028. #define DMA_ERQ_ERQ5_SHIFT (5U)
  11029. /*! ERQ5 - Enable DMA Request 5
  11030. * 0b0..The DMA request signal for channel 5 is disabled
  11031. * 0b1..The DMA request signal for channel 5 is enabled
  11032. */
  11033. #define DMA_ERQ_ERQ5(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ5_SHIFT)) & DMA_ERQ_ERQ5_MASK)
  11034. #define DMA_ERQ_ERQ6_MASK (0x40U)
  11035. #define DMA_ERQ_ERQ6_SHIFT (6U)
  11036. /*! ERQ6 - Enable DMA Request 6
  11037. * 0b0..The DMA request signal for channel 6 is disabled
  11038. * 0b1..The DMA request signal for channel 6 is enabled
  11039. */
  11040. #define DMA_ERQ_ERQ6(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ6_SHIFT)) & DMA_ERQ_ERQ6_MASK)
  11041. #define DMA_ERQ_ERQ7_MASK (0x80U)
  11042. #define DMA_ERQ_ERQ7_SHIFT (7U)
  11043. /*! ERQ7 - Enable DMA Request 7
  11044. * 0b0..The DMA request signal for channel 7 is disabled
  11045. * 0b1..The DMA request signal for channel 7 is enabled
  11046. */
  11047. #define DMA_ERQ_ERQ7(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ7_SHIFT)) & DMA_ERQ_ERQ7_MASK)
  11048. #define DMA_ERQ_ERQ8_MASK (0x100U)
  11049. #define DMA_ERQ_ERQ8_SHIFT (8U)
  11050. /*! ERQ8 - Enable DMA Request 8
  11051. * 0b0..The DMA request signal for channel 8 is disabled
  11052. * 0b1..The DMA request signal for channel 8 is enabled
  11053. */
  11054. #define DMA_ERQ_ERQ8(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ8_SHIFT)) & DMA_ERQ_ERQ8_MASK)
  11055. #define DMA_ERQ_ERQ9_MASK (0x200U)
  11056. #define DMA_ERQ_ERQ9_SHIFT (9U)
  11057. /*! ERQ9 - Enable DMA Request 9
  11058. * 0b0..The DMA request signal for channel 9 is disabled
  11059. * 0b1..The DMA request signal for channel 9 is enabled
  11060. */
  11061. #define DMA_ERQ_ERQ9(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ9_SHIFT)) & DMA_ERQ_ERQ9_MASK)
  11062. #define DMA_ERQ_ERQ10_MASK (0x400U)
  11063. #define DMA_ERQ_ERQ10_SHIFT (10U)
  11064. /*! ERQ10 - Enable DMA Request 10
  11065. * 0b0..The DMA request signal for channel 10 is disabled
  11066. * 0b1..The DMA request signal for channel 10 is enabled
  11067. */
  11068. #define DMA_ERQ_ERQ10(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ10_SHIFT)) & DMA_ERQ_ERQ10_MASK)
  11069. #define DMA_ERQ_ERQ11_MASK (0x800U)
  11070. #define DMA_ERQ_ERQ11_SHIFT (11U)
  11071. /*! ERQ11 - Enable DMA Request 11
  11072. * 0b0..The DMA request signal for channel 11 is disabled
  11073. * 0b1..The DMA request signal for channel 11 is enabled
  11074. */
  11075. #define DMA_ERQ_ERQ11(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ11_SHIFT)) & DMA_ERQ_ERQ11_MASK)
  11076. #define DMA_ERQ_ERQ12_MASK (0x1000U)
  11077. #define DMA_ERQ_ERQ12_SHIFT (12U)
  11078. /*! ERQ12 - Enable DMA Request 12
  11079. * 0b0..The DMA request signal for channel 12 is disabled
  11080. * 0b1..The DMA request signal for channel 12 is enabled
  11081. */
  11082. #define DMA_ERQ_ERQ12(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ12_SHIFT)) & DMA_ERQ_ERQ12_MASK)
  11083. #define DMA_ERQ_ERQ13_MASK (0x2000U)
  11084. #define DMA_ERQ_ERQ13_SHIFT (13U)
  11085. /*! ERQ13 - Enable DMA Request 13
  11086. * 0b0..The DMA request signal for channel 13 is disabled
  11087. * 0b1..The DMA request signal for channel 13 is enabled
  11088. */
  11089. #define DMA_ERQ_ERQ13(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ13_SHIFT)) & DMA_ERQ_ERQ13_MASK)
  11090. #define DMA_ERQ_ERQ14_MASK (0x4000U)
  11091. #define DMA_ERQ_ERQ14_SHIFT (14U)
  11092. /*! ERQ14 - Enable DMA Request 14
  11093. * 0b0..The DMA request signal for channel 14 is disabled
  11094. * 0b1..The DMA request signal for channel 14 is enabled
  11095. */
  11096. #define DMA_ERQ_ERQ14(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ14_SHIFT)) & DMA_ERQ_ERQ14_MASK)
  11097. #define DMA_ERQ_ERQ15_MASK (0x8000U)
  11098. #define DMA_ERQ_ERQ15_SHIFT (15U)
  11099. /*! ERQ15 - Enable DMA Request 15
  11100. * 0b0..The DMA request signal for channel 15 is disabled
  11101. * 0b1..The DMA request signal for channel 15 is enabled
  11102. */
  11103. #define DMA_ERQ_ERQ15(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ15_SHIFT)) & DMA_ERQ_ERQ15_MASK)
  11104. #define DMA_ERQ_ERQ16_MASK (0x10000U)
  11105. #define DMA_ERQ_ERQ16_SHIFT (16U)
  11106. /*! ERQ16 - Enable DMA Request 16
  11107. * 0b0..The DMA request signal for channel 16 is disabled
  11108. * 0b1..The DMA request signal for channel 16 is enabled
  11109. */
  11110. #define DMA_ERQ_ERQ16(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ16_SHIFT)) & DMA_ERQ_ERQ16_MASK)
  11111. #define DMA_ERQ_ERQ17_MASK (0x20000U)
  11112. #define DMA_ERQ_ERQ17_SHIFT (17U)
  11113. /*! ERQ17 - Enable DMA Request 17
  11114. * 0b0..The DMA request signal for channel 17 is disabled
  11115. * 0b1..The DMA request signal for channel 17 is enabled
  11116. */
  11117. #define DMA_ERQ_ERQ17(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ17_SHIFT)) & DMA_ERQ_ERQ17_MASK)
  11118. #define DMA_ERQ_ERQ18_MASK (0x40000U)
  11119. #define DMA_ERQ_ERQ18_SHIFT (18U)
  11120. /*! ERQ18 - Enable DMA Request 18
  11121. * 0b0..The DMA request signal for channel 18 is disabled
  11122. * 0b1..The DMA request signal for channel 18 is enabled
  11123. */
  11124. #define DMA_ERQ_ERQ18(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ18_SHIFT)) & DMA_ERQ_ERQ18_MASK)
  11125. #define DMA_ERQ_ERQ19_MASK (0x80000U)
  11126. #define DMA_ERQ_ERQ19_SHIFT (19U)
  11127. /*! ERQ19 - Enable DMA Request 19
  11128. * 0b0..The DMA request signal for channel 19 is disabled
  11129. * 0b1..The DMA request signal for channel 19 is enabled
  11130. */
  11131. #define DMA_ERQ_ERQ19(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ19_SHIFT)) & DMA_ERQ_ERQ19_MASK)
  11132. #define DMA_ERQ_ERQ20_MASK (0x100000U)
  11133. #define DMA_ERQ_ERQ20_SHIFT (20U)
  11134. /*! ERQ20 - Enable DMA Request 20
  11135. * 0b0..The DMA request signal for channel 20 is disabled
  11136. * 0b1..The DMA request signal for channel 20 is enabled
  11137. */
  11138. #define DMA_ERQ_ERQ20(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ20_SHIFT)) & DMA_ERQ_ERQ20_MASK)
  11139. #define DMA_ERQ_ERQ21_MASK (0x200000U)
  11140. #define DMA_ERQ_ERQ21_SHIFT (21U)
  11141. /*! ERQ21 - Enable DMA Request 21
  11142. * 0b0..The DMA request signal for channel 21 is disabled
  11143. * 0b1..The DMA request signal for channel 21 is enabled
  11144. */
  11145. #define DMA_ERQ_ERQ21(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ21_SHIFT)) & DMA_ERQ_ERQ21_MASK)
  11146. #define DMA_ERQ_ERQ22_MASK (0x400000U)
  11147. #define DMA_ERQ_ERQ22_SHIFT (22U)
  11148. /*! ERQ22 - Enable DMA Request 22
  11149. * 0b0..The DMA request signal for channel 22 is disabled
  11150. * 0b1..The DMA request signal for channel 22 is enabled
  11151. */
  11152. #define DMA_ERQ_ERQ22(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ22_SHIFT)) & DMA_ERQ_ERQ22_MASK)
  11153. #define DMA_ERQ_ERQ23_MASK (0x800000U)
  11154. #define DMA_ERQ_ERQ23_SHIFT (23U)
  11155. /*! ERQ23 - Enable DMA Request 23
  11156. * 0b0..The DMA request signal for channel 23 is disabled
  11157. * 0b1..The DMA request signal for channel 23 is enabled
  11158. */
  11159. #define DMA_ERQ_ERQ23(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ23_SHIFT)) & DMA_ERQ_ERQ23_MASK)
  11160. #define DMA_ERQ_ERQ24_MASK (0x1000000U)
  11161. #define DMA_ERQ_ERQ24_SHIFT (24U)
  11162. /*! ERQ24 - Enable DMA Request 24
  11163. * 0b0..The DMA request signal for channel 24 is disabled
  11164. * 0b1..The DMA request signal for channel 24 is enabled
  11165. */
  11166. #define DMA_ERQ_ERQ24(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ24_SHIFT)) & DMA_ERQ_ERQ24_MASK)
  11167. #define DMA_ERQ_ERQ25_MASK (0x2000000U)
  11168. #define DMA_ERQ_ERQ25_SHIFT (25U)
  11169. /*! ERQ25 - Enable DMA Request 25
  11170. * 0b0..The DMA request signal for channel 25 is disabled
  11171. * 0b1..The DMA request signal for channel 25 is enabled
  11172. */
  11173. #define DMA_ERQ_ERQ25(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ25_SHIFT)) & DMA_ERQ_ERQ25_MASK)
  11174. #define DMA_ERQ_ERQ26_MASK (0x4000000U)
  11175. #define DMA_ERQ_ERQ26_SHIFT (26U)
  11176. /*! ERQ26 - Enable DMA Request 26
  11177. * 0b0..The DMA request signal for channel 26 is disabled
  11178. * 0b1..The DMA request signal for channel 26 is enabled
  11179. */
  11180. #define DMA_ERQ_ERQ26(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ26_SHIFT)) & DMA_ERQ_ERQ26_MASK)
  11181. #define DMA_ERQ_ERQ27_MASK (0x8000000U)
  11182. #define DMA_ERQ_ERQ27_SHIFT (27U)
  11183. /*! ERQ27 - Enable DMA Request 27
  11184. * 0b0..The DMA request signal for channel 27 is disabled
  11185. * 0b1..The DMA request signal for channel 27 is enabled
  11186. */
  11187. #define DMA_ERQ_ERQ27(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ27_SHIFT)) & DMA_ERQ_ERQ27_MASK)
  11188. #define DMA_ERQ_ERQ28_MASK (0x10000000U)
  11189. #define DMA_ERQ_ERQ28_SHIFT (28U)
  11190. /*! ERQ28 - Enable DMA Request 28
  11191. * 0b0..The DMA request signal for channel 28 is disabled
  11192. * 0b1..The DMA request signal for channel 28 is enabled
  11193. */
  11194. #define DMA_ERQ_ERQ28(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ28_SHIFT)) & DMA_ERQ_ERQ28_MASK)
  11195. #define DMA_ERQ_ERQ29_MASK (0x20000000U)
  11196. #define DMA_ERQ_ERQ29_SHIFT (29U)
  11197. /*! ERQ29 - Enable DMA Request 29
  11198. * 0b0..The DMA request signal for channel 29 is disabled
  11199. * 0b1..The DMA request signal for channel 29 is enabled
  11200. */
  11201. #define DMA_ERQ_ERQ29(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ29_SHIFT)) & DMA_ERQ_ERQ29_MASK)
  11202. #define DMA_ERQ_ERQ30_MASK (0x40000000U)
  11203. #define DMA_ERQ_ERQ30_SHIFT (30U)
  11204. /*! ERQ30 - Enable DMA Request 30
  11205. * 0b0..The DMA request signal for channel 30 is disabled
  11206. * 0b1..The DMA request signal for channel 30 is enabled
  11207. */
  11208. #define DMA_ERQ_ERQ30(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ30_SHIFT)) & DMA_ERQ_ERQ30_MASK)
  11209. #define DMA_ERQ_ERQ31_MASK (0x80000000U)
  11210. #define DMA_ERQ_ERQ31_SHIFT (31U)
  11211. /*! ERQ31 - Enable DMA Request 31
  11212. * 0b0..The DMA request signal for channel 31 is disabled
  11213. * 0b1..The DMA request signal for channel 31 is enabled
  11214. */
  11215. #define DMA_ERQ_ERQ31(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ31_SHIFT)) & DMA_ERQ_ERQ31_MASK)
  11216. /*! @} */
  11217. /*! @name EEI - Enable Error Interrupt */
  11218. /*! @{ */
  11219. #define DMA_EEI_EEI0_MASK (0x1U)
  11220. #define DMA_EEI_EEI0_SHIFT (0U)
  11221. /*! EEI0 - Enable Error Interrupt 0
  11222. * 0b0..An error on channel 0 does not generate an error interrupt
  11223. * 0b1..An error on channel 0 generates an error interrupt request
  11224. */
  11225. #define DMA_EEI_EEI0(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI0_SHIFT)) & DMA_EEI_EEI0_MASK)
  11226. #define DMA_EEI_EEI1_MASK (0x2U)
  11227. #define DMA_EEI_EEI1_SHIFT (1U)
  11228. /*! EEI1 - Enable Error Interrupt 1
  11229. * 0b0..An error on channel 1 does not generate an error interrupt
  11230. * 0b1..An error on channel 1 generates an error interrupt request
  11231. */
  11232. #define DMA_EEI_EEI1(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI1_SHIFT)) & DMA_EEI_EEI1_MASK)
  11233. #define DMA_EEI_EEI2_MASK (0x4U)
  11234. #define DMA_EEI_EEI2_SHIFT (2U)
  11235. /*! EEI2 - Enable Error Interrupt 2
  11236. * 0b0..An error on channel 2 does not generate an error interrupt
  11237. * 0b1..An error on channel 2 generates an error interrupt request
  11238. */
  11239. #define DMA_EEI_EEI2(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI2_SHIFT)) & DMA_EEI_EEI2_MASK)
  11240. #define DMA_EEI_EEI3_MASK (0x8U)
  11241. #define DMA_EEI_EEI3_SHIFT (3U)
  11242. /*! EEI3 - Enable Error Interrupt 3
  11243. * 0b0..An error on channel 3 does not generate an error interrupt
  11244. * 0b1..An error on channel 3 generates an error interrupt request
  11245. */
  11246. #define DMA_EEI_EEI3(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI3_SHIFT)) & DMA_EEI_EEI3_MASK)
  11247. #define DMA_EEI_EEI4_MASK (0x10U)
  11248. #define DMA_EEI_EEI4_SHIFT (4U)
  11249. /*! EEI4 - Enable Error Interrupt 4
  11250. * 0b0..An error on channel 4 does not generate an error interrupt
  11251. * 0b1..An error on channel 4 generates an error interrupt request
  11252. */
  11253. #define DMA_EEI_EEI4(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI4_SHIFT)) & DMA_EEI_EEI4_MASK)
  11254. #define DMA_EEI_EEI5_MASK (0x20U)
  11255. #define DMA_EEI_EEI5_SHIFT (5U)
  11256. /*! EEI5 - Enable Error Interrupt 5
  11257. * 0b0..An error on channel 5 does not generate an error interrupt
  11258. * 0b1..An error on channel 5 generates an error interrupt request
  11259. */
  11260. #define DMA_EEI_EEI5(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI5_SHIFT)) & DMA_EEI_EEI5_MASK)
  11261. #define DMA_EEI_EEI6_MASK (0x40U)
  11262. #define DMA_EEI_EEI6_SHIFT (6U)
  11263. /*! EEI6 - Enable Error Interrupt 6
  11264. * 0b0..An error on channel 6 does not generate an error interrupt
  11265. * 0b1..An error on channel 6 generates an error interrupt request
  11266. */
  11267. #define DMA_EEI_EEI6(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI6_SHIFT)) & DMA_EEI_EEI6_MASK)
  11268. #define DMA_EEI_EEI7_MASK (0x80U)
  11269. #define DMA_EEI_EEI7_SHIFT (7U)
  11270. /*! EEI7 - Enable Error Interrupt 7
  11271. * 0b0..An error on channel 7 does not generate an error interrupt
  11272. * 0b1..An error on channel 7 generates an error interrupt request
  11273. */
  11274. #define DMA_EEI_EEI7(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI7_SHIFT)) & DMA_EEI_EEI7_MASK)
  11275. #define DMA_EEI_EEI8_MASK (0x100U)
  11276. #define DMA_EEI_EEI8_SHIFT (8U)
  11277. /*! EEI8 - Enable Error Interrupt 8
  11278. * 0b0..An error on channel 8 does not generate an error interrupt
  11279. * 0b1..An error on channel 8 generates an error interrupt request
  11280. */
  11281. #define DMA_EEI_EEI8(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI8_SHIFT)) & DMA_EEI_EEI8_MASK)
  11282. #define DMA_EEI_EEI9_MASK (0x200U)
  11283. #define DMA_EEI_EEI9_SHIFT (9U)
  11284. /*! EEI9 - Enable Error Interrupt 9
  11285. * 0b0..An error on channel 9 does not generate an error interrupt
  11286. * 0b1..An error on channel 9 generates an error interrupt request
  11287. */
  11288. #define DMA_EEI_EEI9(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI9_SHIFT)) & DMA_EEI_EEI9_MASK)
  11289. #define DMA_EEI_EEI10_MASK (0x400U)
  11290. #define DMA_EEI_EEI10_SHIFT (10U)
  11291. /*! EEI10 - Enable Error Interrupt 10
  11292. * 0b0..An error on channel 10 does not generate an error interrupt
  11293. * 0b1..An error on channel 10 generates an error interrupt request
  11294. */
  11295. #define DMA_EEI_EEI10(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI10_SHIFT)) & DMA_EEI_EEI10_MASK)
  11296. #define DMA_EEI_EEI11_MASK (0x800U)
  11297. #define DMA_EEI_EEI11_SHIFT (11U)
  11298. /*! EEI11 - Enable Error Interrupt 11
  11299. * 0b0..An error on channel 11 does not generate an error interrupt
  11300. * 0b1..An error on channel 11 generates an error interrupt request
  11301. */
  11302. #define DMA_EEI_EEI11(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI11_SHIFT)) & DMA_EEI_EEI11_MASK)
  11303. #define DMA_EEI_EEI12_MASK (0x1000U)
  11304. #define DMA_EEI_EEI12_SHIFT (12U)
  11305. /*! EEI12 - Enable Error Interrupt 12
  11306. * 0b0..An error on channel 12 does not generate an error interrupt
  11307. * 0b1..An error on channel 12 generates an error interrupt request
  11308. */
  11309. #define DMA_EEI_EEI12(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI12_SHIFT)) & DMA_EEI_EEI12_MASK)
  11310. #define DMA_EEI_EEI13_MASK (0x2000U)
  11311. #define DMA_EEI_EEI13_SHIFT (13U)
  11312. /*! EEI13 - Enable Error Interrupt 13
  11313. * 0b0..An error on channel 13 does not generate an error interrupt
  11314. * 0b1..An error on channel 13 generates an error interrupt request
  11315. */
  11316. #define DMA_EEI_EEI13(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI13_SHIFT)) & DMA_EEI_EEI13_MASK)
  11317. #define DMA_EEI_EEI14_MASK (0x4000U)
  11318. #define DMA_EEI_EEI14_SHIFT (14U)
  11319. /*! EEI14 - Enable Error Interrupt 14
  11320. * 0b0..An error on channel 14 does not generate an error interrupt
  11321. * 0b1..An error on channel 14 generates an error interrupt request
  11322. */
  11323. #define DMA_EEI_EEI14(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI14_SHIFT)) & DMA_EEI_EEI14_MASK)
  11324. #define DMA_EEI_EEI15_MASK (0x8000U)
  11325. #define DMA_EEI_EEI15_SHIFT (15U)
  11326. /*! EEI15 - Enable Error Interrupt 15
  11327. * 0b0..An error on channel 15 does not generate an error interrupt
  11328. * 0b1..An error on channel 15 generates an error interrupt request
  11329. */
  11330. #define DMA_EEI_EEI15(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI15_SHIFT)) & DMA_EEI_EEI15_MASK)
  11331. #define DMA_EEI_EEI16_MASK (0x10000U)
  11332. #define DMA_EEI_EEI16_SHIFT (16U)
  11333. /*! EEI16 - Enable Error Interrupt 16
  11334. * 0b0..An error on channel 16 does not generate an error interrupt
  11335. * 0b1..An error on channel 16 generates an error interrupt request
  11336. */
  11337. #define DMA_EEI_EEI16(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI16_SHIFT)) & DMA_EEI_EEI16_MASK)
  11338. #define DMA_EEI_EEI17_MASK (0x20000U)
  11339. #define DMA_EEI_EEI17_SHIFT (17U)
  11340. /*! EEI17 - Enable Error Interrupt 17
  11341. * 0b0..An error on channel 17 does not generate an error interrupt
  11342. * 0b1..An error on channel 17 generates an error interrupt request
  11343. */
  11344. #define DMA_EEI_EEI17(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI17_SHIFT)) & DMA_EEI_EEI17_MASK)
  11345. #define DMA_EEI_EEI18_MASK (0x40000U)
  11346. #define DMA_EEI_EEI18_SHIFT (18U)
  11347. /*! EEI18 - Enable Error Interrupt 18
  11348. * 0b0..An error on channel 18 does not generate an error interrupt
  11349. * 0b1..An error on channel 18 generates an error interrupt request
  11350. */
  11351. #define DMA_EEI_EEI18(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI18_SHIFT)) & DMA_EEI_EEI18_MASK)
  11352. #define DMA_EEI_EEI19_MASK (0x80000U)
  11353. #define DMA_EEI_EEI19_SHIFT (19U)
  11354. /*! EEI19 - Enable Error Interrupt 19
  11355. * 0b0..An error on channel 19 does not generate an error interrupt
  11356. * 0b1..An error on channel 19 generates an error interrupt request
  11357. */
  11358. #define DMA_EEI_EEI19(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI19_SHIFT)) & DMA_EEI_EEI19_MASK)
  11359. #define DMA_EEI_EEI20_MASK (0x100000U)
  11360. #define DMA_EEI_EEI20_SHIFT (20U)
  11361. /*! EEI20 - Enable Error Interrupt 20
  11362. * 0b0..An error on channel 20 does not generate an error interrupt
  11363. * 0b1..An error on channel 20 generates an error interrupt request
  11364. */
  11365. #define DMA_EEI_EEI20(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI20_SHIFT)) & DMA_EEI_EEI20_MASK)
  11366. #define DMA_EEI_EEI21_MASK (0x200000U)
  11367. #define DMA_EEI_EEI21_SHIFT (21U)
  11368. /*! EEI21 - Enable Error Interrupt 21
  11369. * 0b0..An error on channel 21 does not generate an error interrupt
  11370. * 0b1..An error on channel 21 generates an error interrupt request
  11371. */
  11372. #define DMA_EEI_EEI21(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI21_SHIFT)) & DMA_EEI_EEI21_MASK)
  11373. #define DMA_EEI_EEI22_MASK (0x400000U)
  11374. #define DMA_EEI_EEI22_SHIFT (22U)
  11375. /*! EEI22 - Enable Error Interrupt 22
  11376. * 0b0..An error on channel 22 does not generate an error interrupt
  11377. * 0b1..An error on channel 22 generates an error interrupt request
  11378. */
  11379. #define DMA_EEI_EEI22(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI22_SHIFT)) & DMA_EEI_EEI22_MASK)
  11380. #define DMA_EEI_EEI23_MASK (0x800000U)
  11381. #define DMA_EEI_EEI23_SHIFT (23U)
  11382. /*! EEI23 - Enable Error Interrupt 23
  11383. * 0b0..An error on channel 23 does not generate an error interrupt
  11384. * 0b1..An error on channel 23 generates an error interrupt request
  11385. */
  11386. #define DMA_EEI_EEI23(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI23_SHIFT)) & DMA_EEI_EEI23_MASK)
  11387. #define DMA_EEI_EEI24_MASK (0x1000000U)
  11388. #define DMA_EEI_EEI24_SHIFT (24U)
  11389. /*! EEI24 - Enable Error Interrupt 24
  11390. * 0b0..An error on channel 24 does not generate an error interrupt
  11391. * 0b1..An error on channel 24 generates an error interrupt request
  11392. */
  11393. #define DMA_EEI_EEI24(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI24_SHIFT)) & DMA_EEI_EEI24_MASK)
  11394. #define DMA_EEI_EEI25_MASK (0x2000000U)
  11395. #define DMA_EEI_EEI25_SHIFT (25U)
  11396. /*! EEI25 - Enable Error Interrupt 25
  11397. * 0b0..An error on channel 25 does not generate an error interrupt
  11398. * 0b1..An error on channel 25 generates an error interrupt request
  11399. */
  11400. #define DMA_EEI_EEI25(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI25_SHIFT)) & DMA_EEI_EEI25_MASK)
  11401. #define DMA_EEI_EEI26_MASK (0x4000000U)
  11402. #define DMA_EEI_EEI26_SHIFT (26U)
  11403. /*! EEI26 - Enable Error Interrupt 26
  11404. * 0b0..An error on channel 26 does not generate an error interrupt
  11405. * 0b1..An error on channel 26 generates an error interrupt request
  11406. */
  11407. #define DMA_EEI_EEI26(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI26_SHIFT)) & DMA_EEI_EEI26_MASK)
  11408. #define DMA_EEI_EEI27_MASK (0x8000000U)
  11409. #define DMA_EEI_EEI27_SHIFT (27U)
  11410. /*! EEI27 - Enable Error Interrupt 27
  11411. * 0b0..An error on channel 27 does not generate an error interrupt
  11412. * 0b1..An error on channel 27 generates an error interrupt request
  11413. */
  11414. #define DMA_EEI_EEI27(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI27_SHIFT)) & DMA_EEI_EEI27_MASK)
  11415. #define DMA_EEI_EEI28_MASK (0x10000000U)
  11416. #define DMA_EEI_EEI28_SHIFT (28U)
  11417. /*! EEI28 - Enable Error Interrupt 28
  11418. * 0b0..An error on channel 28 does not generate an error interrupt
  11419. * 0b1..An error on channel 28 generates an error interrupt request
  11420. */
  11421. #define DMA_EEI_EEI28(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI28_SHIFT)) & DMA_EEI_EEI28_MASK)
  11422. #define DMA_EEI_EEI29_MASK (0x20000000U)
  11423. #define DMA_EEI_EEI29_SHIFT (29U)
  11424. /*! EEI29 - Enable Error Interrupt 29
  11425. * 0b0..An error on channel 29 does not generate an error interrupt
  11426. * 0b1..An error on channel 29 generates an error interrupt request
  11427. */
  11428. #define DMA_EEI_EEI29(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI29_SHIFT)) & DMA_EEI_EEI29_MASK)
  11429. #define DMA_EEI_EEI30_MASK (0x40000000U)
  11430. #define DMA_EEI_EEI30_SHIFT (30U)
  11431. /*! EEI30 - Enable Error Interrupt 30
  11432. * 0b0..An error on channel 30 does not generate an error interrupt
  11433. * 0b1..An error on channel 30 generates an error interrupt request
  11434. */
  11435. #define DMA_EEI_EEI30(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI30_SHIFT)) & DMA_EEI_EEI30_MASK)
  11436. #define DMA_EEI_EEI31_MASK (0x80000000U)
  11437. #define DMA_EEI_EEI31_SHIFT (31U)
  11438. /*! EEI31 - Enable Error Interrupt 31
  11439. * 0b0..An error on channel 31 does not generate an error interrupt
  11440. * 0b1..An error on channel 31 generates an error interrupt request
  11441. */
  11442. #define DMA_EEI_EEI31(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI31_SHIFT)) & DMA_EEI_EEI31_MASK)
  11443. /*! @} */
  11444. /*! @name CEEI - Clear Enable Error Interrupt */
  11445. /*! @{ */
  11446. #define DMA_CEEI_CEEI_MASK (0x1FU)
  11447. #define DMA_CEEI_CEEI_SHIFT (0U)
  11448. /*! CEEI - Clear Enable Error Interrupt
  11449. */
  11450. #define DMA_CEEI_CEEI(x) (((uint8_t)(((uint8_t)(x)) << DMA_CEEI_CEEI_SHIFT)) & DMA_CEEI_CEEI_MASK)
  11451. #define DMA_CEEI_CAEE_MASK (0x40U)
  11452. #define DMA_CEEI_CAEE_SHIFT (6U)
  11453. /*! CAEE - Clear All Enable Error Interrupts
  11454. * 0b0..Write 0 only to the EEI field specified in the CEEI field
  11455. * 0b1..Write 0 to all fields in EEI
  11456. */
  11457. #define DMA_CEEI_CAEE(x) (((uint8_t)(((uint8_t)(x)) << DMA_CEEI_CAEE_SHIFT)) & DMA_CEEI_CAEE_MASK)
  11458. #define DMA_CEEI_NOP_MASK (0x80U)
  11459. #define DMA_CEEI_NOP_SHIFT (7U)
  11460. /*! NOP - No Op Enable
  11461. * 0b0..Normal operation
  11462. * 0b1..No operation, ignore the other fields in this register
  11463. */
  11464. #define DMA_CEEI_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CEEI_NOP_SHIFT)) & DMA_CEEI_NOP_MASK)
  11465. /*! @} */
  11466. /*! @name SEEI - Set Enable Error Interrupt */
  11467. /*! @{ */
  11468. #define DMA_SEEI_SEEI_MASK (0x1FU)
  11469. #define DMA_SEEI_SEEI_SHIFT (0U)
  11470. /*! SEEI - Set Enable Error Interrupt
  11471. */
  11472. #define DMA_SEEI_SEEI(x) (((uint8_t)(((uint8_t)(x)) << DMA_SEEI_SEEI_SHIFT)) & DMA_SEEI_SEEI_MASK)
  11473. #define DMA_SEEI_SAEE_MASK (0x40U)
  11474. #define DMA_SEEI_SAEE_SHIFT (6U)
  11475. /*! SAEE - Set All Enable Error Interrupts
  11476. * 0b0..Write 1 only to the EEI field specified in the SEEI field
  11477. * 0b1..Writes 1 to all fields in EEI
  11478. */
  11479. #define DMA_SEEI_SAEE(x) (((uint8_t)(((uint8_t)(x)) << DMA_SEEI_SAEE_SHIFT)) & DMA_SEEI_SAEE_MASK)
  11480. #define DMA_SEEI_NOP_MASK (0x80U)
  11481. #define DMA_SEEI_NOP_SHIFT (7U)
  11482. /*! NOP - No Op Enable
  11483. * 0b0..Normal operation
  11484. * 0b1..No operation, ignore the other fields in this register
  11485. */
  11486. #define DMA_SEEI_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_SEEI_NOP_SHIFT)) & DMA_SEEI_NOP_MASK)
  11487. /*! @} */
  11488. /*! @name CERQ - Clear Enable Request */
  11489. /*! @{ */
  11490. #define DMA_CERQ_CERQ_MASK (0x1FU)
  11491. #define DMA_CERQ_CERQ_SHIFT (0U)
  11492. /*! CERQ - Clear Enable Request
  11493. */
  11494. #define DMA_CERQ_CERQ(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERQ_CERQ_SHIFT)) & DMA_CERQ_CERQ_MASK)
  11495. #define DMA_CERQ_CAER_MASK (0x40U)
  11496. #define DMA_CERQ_CAER_SHIFT (6U)
  11497. /*! CAER - Clear All Enable Requests
  11498. * 0b0..Write 0 to only the ERQ field specified in the CERQ field
  11499. * 0b1..Write 0 to all fields in ERQ
  11500. */
  11501. #define DMA_CERQ_CAER(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERQ_CAER_SHIFT)) & DMA_CERQ_CAER_MASK)
  11502. #define DMA_CERQ_NOP_MASK (0x80U)
  11503. #define DMA_CERQ_NOP_SHIFT (7U)
  11504. /*! NOP - No Op Enable
  11505. * 0b0..Normal operation
  11506. * 0b1..No operation, ignore the other fields in this register
  11507. */
  11508. #define DMA_CERQ_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERQ_NOP_SHIFT)) & DMA_CERQ_NOP_MASK)
  11509. /*! @} */
  11510. /*! @name SERQ - Set Enable Request */
  11511. /*! @{ */
  11512. #define DMA_SERQ_SERQ_MASK (0x1FU)
  11513. #define DMA_SERQ_SERQ_SHIFT (0U)
  11514. /*! SERQ - Set Enable Request
  11515. */
  11516. #define DMA_SERQ_SERQ(x) (((uint8_t)(((uint8_t)(x)) << DMA_SERQ_SERQ_SHIFT)) & DMA_SERQ_SERQ_MASK)
  11517. #define DMA_SERQ_SAER_MASK (0x40U)
  11518. #define DMA_SERQ_SAER_SHIFT (6U)
  11519. /*! SAER - Set All Enable Requests
  11520. * 0b0..Write 1 to only the ERQ field specified in the SERQ field
  11521. * 0b1..Write 1 to all fields in ERQ
  11522. */
  11523. #define DMA_SERQ_SAER(x) (((uint8_t)(((uint8_t)(x)) << DMA_SERQ_SAER_SHIFT)) & DMA_SERQ_SAER_MASK)
  11524. #define DMA_SERQ_NOP_MASK (0x80U)
  11525. #define DMA_SERQ_NOP_SHIFT (7U)
  11526. /*! NOP - No Op Enable
  11527. * 0b0..Normal operation
  11528. * 0b1..No operation, ignore the other fields in this register
  11529. */
  11530. #define DMA_SERQ_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_SERQ_NOP_SHIFT)) & DMA_SERQ_NOP_MASK)
  11531. /*! @} */
  11532. /*! @name CDNE - Clear DONE Status Bit */
  11533. /*! @{ */
  11534. #define DMA_CDNE_CDNE_MASK (0x1FU)
  11535. #define DMA_CDNE_CDNE_SHIFT (0U)
  11536. /*! CDNE - Clear DONE field
  11537. */
  11538. #define DMA_CDNE_CDNE(x) (((uint8_t)(((uint8_t)(x)) << DMA_CDNE_CDNE_SHIFT)) & DMA_CDNE_CDNE_MASK)
  11539. #define DMA_CDNE_CADN_MASK (0x40U)
  11540. #define DMA_CDNE_CADN_SHIFT (6U)
  11541. /*! CADN - Clears All DONE fields
  11542. * 0b0..Writes 0 to only the TCDn_CSR[DONE] field specified in the CDNE field
  11543. * 0b1..Writes 0 to all bits in TCDn_CSR[DONE]
  11544. */
  11545. #define DMA_CDNE_CADN(x) (((uint8_t)(((uint8_t)(x)) << DMA_CDNE_CADN_SHIFT)) & DMA_CDNE_CADN_MASK)
  11546. #define DMA_CDNE_NOP_MASK (0x80U)
  11547. #define DMA_CDNE_NOP_SHIFT (7U)
  11548. /*! NOP - No Op Enable
  11549. * 0b0..Normal operation
  11550. * 0b1..No operation; all other fields in this register are ignored.
  11551. */
  11552. #define DMA_CDNE_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CDNE_NOP_SHIFT)) & DMA_CDNE_NOP_MASK)
  11553. /*! @} */
  11554. /*! @name SSRT - Set START Bit */
  11555. /*! @{ */
  11556. #define DMA_SSRT_SSRT_MASK (0x1FU)
  11557. #define DMA_SSRT_SSRT_SHIFT (0U)
  11558. /*! SSRT - Set START field
  11559. */
  11560. #define DMA_SSRT_SSRT(x) (((uint8_t)(((uint8_t)(x)) << DMA_SSRT_SSRT_SHIFT)) & DMA_SSRT_SSRT_MASK)
  11561. #define DMA_SSRT_SAST_MASK (0x40U)
  11562. #define DMA_SSRT_SAST_SHIFT (6U)
  11563. /*! SAST - Set All START fields (activates all channels)
  11564. * 0b0..Write 1 to only the TCDn_CSR[START] field specified in the SSRT field
  11565. * 0b1..Write 1 to all bits in TCDn_CSR[START]
  11566. */
  11567. #define DMA_SSRT_SAST(x) (((uint8_t)(((uint8_t)(x)) << DMA_SSRT_SAST_SHIFT)) & DMA_SSRT_SAST_MASK)
  11568. #define DMA_SSRT_NOP_MASK (0x80U)
  11569. #define DMA_SSRT_NOP_SHIFT (7U)
  11570. /*! NOP - No Op Enable
  11571. * 0b0..Normal operation
  11572. * 0b1..No operation; all other fields in this register are ignored.
  11573. */
  11574. #define DMA_SSRT_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_SSRT_NOP_SHIFT)) & DMA_SSRT_NOP_MASK)
  11575. /*! @} */
  11576. /*! @name CERR - Clear Error */
  11577. /*! @{ */
  11578. #define DMA_CERR_CERR_MASK (0x1FU)
  11579. #define DMA_CERR_CERR_SHIFT (0U)
  11580. /*! CERR - Clear Error Indicator
  11581. */
  11582. #define DMA_CERR_CERR(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERR_CERR_SHIFT)) & DMA_CERR_CERR_MASK)
  11583. #define DMA_CERR_CAEI_MASK (0x40U)
  11584. #define DMA_CERR_CAEI_SHIFT (6U)
  11585. /*! CAEI - Clear All Error Indicators
  11586. * 0b0..Write 0 to only the ERR field specified in the CERR field
  11587. * 0b1..Write 0 to all fields in ERR
  11588. */
  11589. #define DMA_CERR_CAEI(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERR_CAEI_SHIFT)) & DMA_CERR_CAEI_MASK)
  11590. #define DMA_CERR_NOP_MASK (0x80U)
  11591. #define DMA_CERR_NOP_SHIFT (7U)
  11592. /*! NOP - No Op Enable
  11593. * 0b0..Normal operation
  11594. * 0b1..No operation; all other fields in this register are ignored.
  11595. */
  11596. #define DMA_CERR_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERR_NOP_SHIFT)) & DMA_CERR_NOP_MASK)
  11597. /*! @} */
  11598. /*! @name CINT - Clear Interrupt Request */
  11599. /*! @{ */
  11600. #define DMA_CINT_CINT_MASK (0x1FU)
  11601. #define DMA_CINT_CINT_SHIFT (0U)
  11602. /*! CINT - Clear Interrupt Request
  11603. */
  11604. #define DMA_CINT_CINT(x) (((uint8_t)(((uint8_t)(x)) << DMA_CINT_CINT_SHIFT)) & DMA_CINT_CINT_MASK)
  11605. #define DMA_CINT_CAIR_MASK (0x40U)
  11606. #define DMA_CINT_CAIR_SHIFT (6U)
  11607. /*! CAIR - Clear All Interrupt Requests
  11608. * 0b0..Clear only the INT field specified in the CINT field
  11609. * 0b1..Clear all bits in INT
  11610. */
  11611. #define DMA_CINT_CAIR(x) (((uint8_t)(((uint8_t)(x)) << DMA_CINT_CAIR_SHIFT)) & DMA_CINT_CAIR_MASK)
  11612. #define DMA_CINT_NOP_MASK (0x80U)
  11613. #define DMA_CINT_NOP_SHIFT (7U)
  11614. /*! NOP - No Op Enable
  11615. * 0b0..Normal operation
  11616. * 0b1..No operation; all other fields in this register are ignored.
  11617. */
  11618. #define DMA_CINT_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CINT_NOP_SHIFT)) & DMA_CINT_NOP_MASK)
  11619. /*! @} */
  11620. /*! @name INT - Interrupt Request */
  11621. /*! @{ */
  11622. #define DMA_INT_INT0_MASK (0x1U)
  11623. #define DMA_INT_INT0_SHIFT (0U)
  11624. /*! INT0 - Interrupt Request 0
  11625. * 0b0..The interrupt request for channel 0 is cleared
  11626. * 0b1..The interrupt request for channel 0 is active
  11627. */
  11628. #define DMA_INT_INT0(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT0_SHIFT)) & DMA_INT_INT0_MASK)
  11629. #define DMA_INT_INT1_MASK (0x2U)
  11630. #define DMA_INT_INT1_SHIFT (1U)
  11631. /*! INT1 - Interrupt Request 1
  11632. * 0b0..The interrupt request for channel 1 is cleared
  11633. * 0b1..The interrupt request for channel 1 is active
  11634. */
  11635. #define DMA_INT_INT1(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT1_SHIFT)) & DMA_INT_INT1_MASK)
  11636. #define DMA_INT_INT2_MASK (0x4U)
  11637. #define DMA_INT_INT2_SHIFT (2U)
  11638. /*! INT2 - Interrupt Request 2
  11639. * 0b0..The interrupt request for channel 2 is cleared
  11640. * 0b1..The interrupt request for channel 2 is active
  11641. */
  11642. #define DMA_INT_INT2(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT2_SHIFT)) & DMA_INT_INT2_MASK)
  11643. #define DMA_INT_INT3_MASK (0x8U)
  11644. #define DMA_INT_INT3_SHIFT (3U)
  11645. /*! INT3 - Interrupt Request 3
  11646. * 0b0..The interrupt request for channel 3 is cleared
  11647. * 0b1..The interrupt request for channel 3 is active
  11648. */
  11649. #define DMA_INT_INT3(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT3_SHIFT)) & DMA_INT_INT3_MASK)
  11650. #define DMA_INT_INT4_MASK (0x10U)
  11651. #define DMA_INT_INT4_SHIFT (4U)
  11652. /*! INT4 - Interrupt Request 4
  11653. * 0b0..The interrupt request for channel 4 is cleared
  11654. * 0b1..The interrupt request for channel 4 is active
  11655. */
  11656. #define DMA_INT_INT4(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT4_SHIFT)) & DMA_INT_INT4_MASK)
  11657. #define DMA_INT_INT5_MASK (0x20U)
  11658. #define DMA_INT_INT5_SHIFT (5U)
  11659. /*! INT5 - Interrupt Request 5
  11660. * 0b0..The interrupt request for channel 5 is cleared
  11661. * 0b1..The interrupt request for channel 5 is active
  11662. */
  11663. #define DMA_INT_INT5(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT5_SHIFT)) & DMA_INT_INT5_MASK)
  11664. #define DMA_INT_INT6_MASK (0x40U)
  11665. #define DMA_INT_INT6_SHIFT (6U)
  11666. /*! INT6 - Interrupt Request 6
  11667. * 0b0..The interrupt request for channel 6 is cleared
  11668. * 0b1..The interrupt request for channel 6 is active
  11669. */
  11670. #define DMA_INT_INT6(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT6_SHIFT)) & DMA_INT_INT6_MASK)
  11671. #define DMA_INT_INT7_MASK (0x80U)
  11672. #define DMA_INT_INT7_SHIFT (7U)
  11673. /*! INT7 - Interrupt Request 7
  11674. * 0b0..The interrupt request for channel 7 is cleared
  11675. * 0b1..The interrupt request for channel 7 is active
  11676. */
  11677. #define DMA_INT_INT7(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT7_SHIFT)) & DMA_INT_INT7_MASK)
  11678. #define DMA_INT_INT8_MASK (0x100U)
  11679. #define DMA_INT_INT8_SHIFT (8U)
  11680. /*! INT8 - Interrupt Request 8
  11681. * 0b0..The interrupt request for channel 8 is cleared
  11682. * 0b1..The interrupt request for channel 8 is active
  11683. */
  11684. #define DMA_INT_INT8(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT8_SHIFT)) & DMA_INT_INT8_MASK)
  11685. #define DMA_INT_INT9_MASK (0x200U)
  11686. #define DMA_INT_INT9_SHIFT (9U)
  11687. /*! INT9 - Interrupt Request 9
  11688. * 0b0..The interrupt request for channel 9 is cleared
  11689. * 0b1..The interrupt request for channel 9 is active
  11690. */
  11691. #define DMA_INT_INT9(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT9_SHIFT)) & DMA_INT_INT9_MASK)
  11692. #define DMA_INT_INT10_MASK (0x400U)
  11693. #define DMA_INT_INT10_SHIFT (10U)
  11694. /*! INT10 - Interrupt Request 10
  11695. * 0b0..The interrupt request for channel 10 is cleared
  11696. * 0b1..The interrupt request for channel 10 is active
  11697. */
  11698. #define DMA_INT_INT10(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT10_SHIFT)) & DMA_INT_INT10_MASK)
  11699. #define DMA_INT_INT11_MASK (0x800U)
  11700. #define DMA_INT_INT11_SHIFT (11U)
  11701. /*! INT11 - Interrupt Request 11
  11702. * 0b0..The interrupt request for channel 11 is cleared
  11703. * 0b1..The interrupt request for channel 11 is active
  11704. */
  11705. #define DMA_INT_INT11(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT11_SHIFT)) & DMA_INT_INT11_MASK)
  11706. #define DMA_INT_INT12_MASK (0x1000U)
  11707. #define DMA_INT_INT12_SHIFT (12U)
  11708. /*! INT12 - Interrupt Request 12
  11709. * 0b0..The interrupt request for channel 12 is cleared
  11710. * 0b1..The interrupt request for channel 12 is active
  11711. */
  11712. #define DMA_INT_INT12(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT12_SHIFT)) & DMA_INT_INT12_MASK)
  11713. #define DMA_INT_INT13_MASK (0x2000U)
  11714. #define DMA_INT_INT13_SHIFT (13U)
  11715. /*! INT13 - Interrupt Request 13
  11716. * 0b0..The interrupt request for channel 13 is cleared
  11717. * 0b1..The interrupt request for channel 13 is active
  11718. */
  11719. #define DMA_INT_INT13(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT13_SHIFT)) & DMA_INT_INT13_MASK)
  11720. #define DMA_INT_INT14_MASK (0x4000U)
  11721. #define DMA_INT_INT14_SHIFT (14U)
  11722. /*! INT14 - Interrupt Request 14
  11723. * 0b0..The interrupt request for channel 14 is cleared
  11724. * 0b1..The interrupt request for channel 14 is active
  11725. */
  11726. #define DMA_INT_INT14(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT14_SHIFT)) & DMA_INT_INT14_MASK)
  11727. #define DMA_INT_INT15_MASK (0x8000U)
  11728. #define DMA_INT_INT15_SHIFT (15U)
  11729. /*! INT15 - Interrupt Request 15
  11730. * 0b0..The interrupt request for channel 15 is cleared
  11731. * 0b1..The interrupt request for channel 15 is active
  11732. */
  11733. #define DMA_INT_INT15(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT15_SHIFT)) & DMA_INT_INT15_MASK)
  11734. #define DMA_INT_INT16_MASK (0x10000U)
  11735. #define DMA_INT_INT16_SHIFT (16U)
  11736. /*! INT16 - Interrupt Request 16
  11737. * 0b0..The interrupt request for channel 16 is cleared
  11738. * 0b1..The interrupt request for channel 16 is active
  11739. */
  11740. #define DMA_INT_INT16(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT16_SHIFT)) & DMA_INT_INT16_MASK)
  11741. #define DMA_INT_INT17_MASK (0x20000U)
  11742. #define DMA_INT_INT17_SHIFT (17U)
  11743. /*! INT17 - Interrupt Request 17
  11744. * 0b0..The interrupt request for channel 17 is cleared
  11745. * 0b1..The interrupt request for channel 17 is active
  11746. */
  11747. #define DMA_INT_INT17(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT17_SHIFT)) & DMA_INT_INT17_MASK)
  11748. #define DMA_INT_INT18_MASK (0x40000U)
  11749. #define DMA_INT_INT18_SHIFT (18U)
  11750. /*! INT18 - Interrupt Request 18
  11751. * 0b0..The interrupt request for channel 18 is cleared
  11752. * 0b1..The interrupt request for channel 18 is active
  11753. */
  11754. #define DMA_INT_INT18(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT18_SHIFT)) & DMA_INT_INT18_MASK)
  11755. #define DMA_INT_INT19_MASK (0x80000U)
  11756. #define DMA_INT_INT19_SHIFT (19U)
  11757. /*! INT19 - Interrupt Request 19
  11758. * 0b0..The interrupt request for channel 19 is cleared
  11759. * 0b1..The interrupt request for channel 19 is active
  11760. */
  11761. #define DMA_INT_INT19(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT19_SHIFT)) & DMA_INT_INT19_MASK)
  11762. #define DMA_INT_INT20_MASK (0x100000U)
  11763. #define DMA_INT_INT20_SHIFT (20U)
  11764. /*! INT20 - Interrupt Request 20
  11765. * 0b0..The interrupt request for channel 20 is cleared
  11766. * 0b1..The interrupt request for channel 20 is active
  11767. */
  11768. #define DMA_INT_INT20(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT20_SHIFT)) & DMA_INT_INT20_MASK)
  11769. #define DMA_INT_INT21_MASK (0x200000U)
  11770. #define DMA_INT_INT21_SHIFT (21U)
  11771. /*! INT21 - Interrupt Request 21
  11772. * 0b0..The interrupt request for channel 21 is cleared
  11773. * 0b1..The interrupt request for channel 21 is active
  11774. */
  11775. #define DMA_INT_INT21(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT21_SHIFT)) & DMA_INT_INT21_MASK)
  11776. #define DMA_INT_INT22_MASK (0x400000U)
  11777. #define DMA_INT_INT22_SHIFT (22U)
  11778. /*! INT22 - Interrupt Request 22
  11779. * 0b0..The interrupt request for channel 22 is cleared
  11780. * 0b1..The interrupt request for channel 22 is active
  11781. */
  11782. #define DMA_INT_INT22(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT22_SHIFT)) & DMA_INT_INT22_MASK)
  11783. #define DMA_INT_INT23_MASK (0x800000U)
  11784. #define DMA_INT_INT23_SHIFT (23U)
  11785. /*! INT23 - Interrupt Request 23
  11786. * 0b0..The interrupt request for channel 23 is cleared
  11787. * 0b1..The interrupt request for channel 23 is active
  11788. */
  11789. #define DMA_INT_INT23(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT23_SHIFT)) & DMA_INT_INT23_MASK)
  11790. #define DMA_INT_INT24_MASK (0x1000000U)
  11791. #define DMA_INT_INT24_SHIFT (24U)
  11792. /*! INT24 - Interrupt Request 24
  11793. * 0b0..The interrupt request for channel 24 is cleared
  11794. * 0b1..The interrupt request for channel 24 is active
  11795. */
  11796. #define DMA_INT_INT24(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT24_SHIFT)) & DMA_INT_INT24_MASK)
  11797. #define DMA_INT_INT25_MASK (0x2000000U)
  11798. #define DMA_INT_INT25_SHIFT (25U)
  11799. /*! INT25 - Interrupt Request 25
  11800. * 0b0..The interrupt request for channel 25 is cleared
  11801. * 0b1..The interrupt request for channel 25 is active
  11802. */
  11803. #define DMA_INT_INT25(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT25_SHIFT)) & DMA_INT_INT25_MASK)
  11804. #define DMA_INT_INT26_MASK (0x4000000U)
  11805. #define DMA_INT_INT26_SHIFT (26U)
  11806. /*! INT26 - Interrupt Request 26
  11807. * 0b0..The interrupt request for channel 26 is cleared
  11808. * 0b1..The interrupt request for channel 26 is active
  11809. */
  11810. #define DMA_INT_INT26(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT26_SHIFT)) & DMA_INT_INT26_MASK)
  11811. #define DMA_INT_INT27_MASK (0x8000000U)
  11812. #define DMA_INT_INT27_SHIFT (27U)
  11813. /*! INT27 - Interrupt Request 27
  11814. * 0b0..The interrupt request for channel 27 is cleared
  11815. * 0b1..The interrupt request for channel 27 is active
  11816. */
  11817. #define DMA_INT_INT27(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT27_SHIFT)) & DMA_INT_INT27_MASK)
  11818. #define DMA_INT_INT28_MASK (0x10000000U)
  11819. #define DMA_INT_INT28_SHIFT (28U)
  11820. /*! INT28 - Interrupt Request 28
  11821. * 0b0..The interrupt request for channel 28 is cleared
  11822. * 0b1..The interrupt request for channel 28 is active
  11823. */
  11824. #define DMA_INT_INT28(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT28_SHIFT)) & DMA_INT_INT28_MASK)
  11825. #define DMA_INT_INT29_MASK (0x20000000U)
  11826. #define DMA_INT_INT29_SHIFT (29U)
  11827. /*! INT29 - Interrupt Request 29
  11828. * 0b0..The interrupt request for channel 29 is cleared
  11829. * 0b1..The interrupt request for channel 29 is active
  11830. */
  11831. #define DMA_INT_INT29(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT29_SHIFT)) & DMA_INT_INT29_MASK)
  11832. #define DMA_INT_INT30_MASK (0x40000000U)
  11833. #define DMA_INT_INT30_SHIFT (30U)
  11834. /*! INT30 - Interrupt Request 30
  11835. * 0b0..The interrupt request for channel 30 is cleared
  11836. * 0b1..The interrupt request for channel 30 is active
  11837. */
  11838. #define DMA_INT_INT30(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT30_SHIFT)) & DMA_INT_INT30_MASK)
  11839. #define DMA_INT_INT31_MASK (0x80000000U)
  11840. #define DMA_INT_INT31_SHIFT (31U)
  11841. /*! INT31 - Interrupt Request 31
  11842. * 0b0..The interrupt request for channel 31 is cleared
  11843. * 0b1..The interrupt request for channel 31 is active
  11844. */
  11845. #define DMA_INT_INT31(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT31_SHIFT)) & DMA_INT_INT31_MASK)
  11846. /*! @} */
  11847. /*! @name ERR - Error */
  11848. /*! @{ */
  11849. #define DMA_ERR_ERR0_MASK (0x1U)
  11850. #define DMA_ERR_ERR0_SHIFT (0U)
  11851. /*! ERR0 - Error In Channel 0
  11852. * 0b0..No error in this channel has occurred
  11853. * 0b1..An error in this channel has occurred
  11854. */
  11855. #define DMA_ERR_ERR0(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR0_SHIFT)) & DMA_ERR_ERR0_MASK)
  11856. #define DMA_ERR_ERR1_MASK (0x2U)
  11857. #define DMA_ERR_ERR1_SHIFT (1U)
  11858. /*! ERR1 - Error In Channel 1
  11859. * 0b0..No error in this channel has occurred
  11860. * 0b1..An error in this channel has occurred
  11861. */
  11862. #define DMA_ERR_ERR1(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR1_SHIFT)) & DMA_ERR_ERR1_MASK)
  11863. #define DMA_ERR_ERR2_MASK (0x4U)
  11864. #define DMA_ERR_ERR2_SHIFT (2U)
  11865. /*! ERR2 - Error In Channel 2
  11866. * 0b0..No error in this channel has occurred
  11867. * 0b1..An error in this channel has occurred
  11868. */
  11869. #define DMA_ERR_ERR2(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR2_SHIFT)) & DMA_ERR_ERR2_MASK)
  11870. #define DMA_ERR_ERR3_MASK (0x8U)
  11871. #define DMA_ERR_ERR3_SHIFT (3U)
  11872. /*! ERR3 - Error In Channel 3
  11873. * 0b0..No error in this channel has occurred
  11874. * 0b1..An error in this channel has occurred
  11875. */
  11876. #define DMA_ERR_ERR3(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR3_SHIFT)) & DMA_ERR_ERR3_MASK)
  11877. #define DMA_ERR_ERR4_MASK (0x10U)
  11878. #define DMA_ERR_ERR4_SHIFT (4U)
  11879. /*! ERR4 - Error In Channel 4
  11880. * 0b0..No error in this channel has occurred
  11881. * 0b1..An error in this channel has occurred
  11882. */
  11883. #define DMA_ERR_ERR4(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR4_SHIFT)) & DMA_ERR_ERR4_MASK)
  11884. #define DMA_ERR_ERR5_MASK (0x20U)
  11885. #define DMA_ERR_ERR5_SHIFT (5U)
  11886. /*! ERR5 - Error In Channel 5
  11887. * 0b0..No error in this channel has occurred
  11888. * 0b1..An error in this channel has occurred
  11889. */
  11890. #define DMA_ERR_ERR5(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR5_SHIFT)) & DMA_ERR_ERR5_MASK)
  11891. #define DMA_ERR_ERR6_MASK (0x40U)
  11892. #define DMA_ERR_ERR6_SHIFT (6U)
  11893. /*! ERR6 - Error In Channel 6
  11894. * 0b0..No error in this channel has occurred
  11895. * 0b1..An error in this channel has occurred
  11896. */
  11897. #define DMA_ERR_ERR6(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR6_SHIFT)) & DMA_ERR_ERR6_MASK)
  11898. #define DMA_ERR_ERR7_MASK (0x80U)
  11899. #define DMA_ERR_ERR7_SHIFT (7U)
  11900. /*! ERR7 - Error In Channel 7
  11901. * 0b0..No error in this channel has occurred
  11902. * 0b1..An error in this channel has occurred
  11903. */
  11904. #define DMA_ERR_ERR7(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR7_SHIFT)) & DMA_ERR_ERR7_MASK)
  11905. #define DMA_ERR_ERR8_MASK (0x100U)
  11906. #define DMA_ERR_ERR8_SHIFT (8U)
  11907. /*! ERR8 - Error In Channel 8
  11908. * 0b0..No error in this channel has occurred
  11909. * 0b1..An error in this channel has occurred
  11910. */
  11911. #define DMA_ERR_ERR8(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR8_SHIFT)) & DMA_ERR_ERR8_MASK)
  11912. #define DMA_ERR_ERR9_MASK (0x200U)
  11913. #define DMA_ERR_ERR9_SHIFT (9U)
  11914. /*! ERR9 - Error In Channel 9
  11915. * 0b0..No error in this channel has occurred
  11916. * 0b1..An error in this channel has occurred
  11917. */
  11918. #define DMA_ERR_ERR9(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR9_SHIFT)) & DMA_ERR_ERR9_MASK)
  11919. #define DMA_ERR_ERR10_MASK (0x400U)
  11920. #define DMA_ERR_ERR10_SHIFT (10U)
  11921. /*! ERR10 - Error In Channel 10
  11922. * 0b0..No error in this channel has occurred
  11923. * 0b1..An error in this channel has occurred
  11924. */
  11925. #define DMA_ERR_ERR10(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR10_SHIFT)) & DMA_ERR_ERR10_MASK)
  11926. #define DMA_ERR_ERR11_MASK (0x800U)
  11927. #define DMA_ERR_ERR11_SHIFT (11U)
  11928. /*! ERR11 - Error In Channel 11
  11929. * 0b0..No error in this channel has occurred
  11930. * 0b1..An error in this channel has occurred
  11931. */
  11932. #define DMA_ERR_ERR11(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR11_SHIFT)) & DMA_ERR_ERR11_MASK)
  11933. #define DMA_ERR_ERR12_MASK (0x1000U)
  11934. #define DMA_ERR_ERR12_SHIFT (12U)
  11935. /*! ERR12 - Error In Channel 12
  11936. * 0b0..No error in this channel has occurred
  11937. * 0b1..An error in this channel has occurred
  11938. */
  11939. #define DMA_ERR_ERR12(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR12_SHIFT)) & DMA_ERR_ERR12_MASK)
  11940. #define DMA_ERR_ERR13_MASK (0x2000U)
  11941. #define DMA_ERR_ERR13_SHIFT (13U)
  11942. /*! ERR13 - Error In Channel 13
  11943. * 0b0..No error in this channel has occurred
  11944. * 0b1..An error in this channel has occurred
  11945. */
  11946. #define DMA_ERR_ERR13(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR13_SHIFT)) & DMA_ERR_ERR13_MASK)
  11947. #define DMA_ERR_ERR14_MASK (0x4000U)
  11948. #define DMA_ERR_ERR14_SHIFT (14U)
  11949. /*! ERR14 - Error In Channel 14
  11950. * 0b0..No error in this channel has occurred
  11951. * 0b1..An error in this channel has occurred
  11952. */
  11953. #define DMA_ERR_ERR14(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR14_SHIFT)) & DMA_ERR_ERR14_MASK)
  11954. #define DMA_ERR_ERR15_MASK (0x8000U)
  11955. #define DMA_ERR_ERR15_SHIFT (15U)
  11956. /*! ERR15 - Error In Channel 15
  11957. * 0b0..No error in this channel has occurred
  11958. * 0b1..An error in this channel has occurred
  11959. */
  11960. #define DMA_ERR_ERR15(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR15_SHIFT)) & DMA_ERR_ERR15_MASK)
  11961. #define DMA_ERR_ERR16_MASK (0x10000U)
  11962. #define DMA_ERR_ERR16_SHIFT (16U)
  11963. /*! ERR16 - Error In Channel 16
  11964. * 0b0..No error in this channel has occurred
  11965. * 0b1..An error in this channel has occurred
  11966. */
  11967. #define DMA_ERR_ERR16(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR16_SHIFT)) & DMA_ERR_ERR16_MASK)
  11968. #define DMA_ERR_ERR17_MASK (0x20000U)
  11969. #define DMA_ERR_ERR17_SHIFT (17U)
  11970. /*! ERR17 - Error In Channel 17
  11971. * 0b0..No error in this channel has occurred
  11972. * 0b1..An error in this channel has occurred
  11973. */
  11974. #define DMA_ERR_ERR17(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR17_SHIFT)) & DMA_ERR_ERR17_MASK)
  11975. #define DMA_ERR_ERR18_MASK (0x40000U)
  11976. #define DMA_ERR_ERR18_SHIFT (18U)
  11977. /*! ERR18 - Error In Channel 18
  11978. * 0b0..No error in this channel has occurred
  11979. * 0b1..An error in this channel has occurred
  11980. */
  11981. #define DMA_ERR_ERR18(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR18_SHIFT)) & DMA_ERR_ERR18_MASK)
  11982. #define DMA_ERR_ERR19_MASK (0x80000U)
  11983. #define DMA_ERR_ERR19_SHIFT (19U)
  11984. /*! ERR19 - Error In Channel 19
  11985. * 0b0..No error in this channel has occurred
  11986. * 0b1..An error in this channel has occurred
  11987. */
  11988. #define DMA_ERR_ERR19(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR19_SHIFT)) & DMA_ERR_ERR19_MASK)
  11989. #define DMA_ERR_ERR20_MASK (0x100000U)
  11990. #define DMA_ERR_ERR20_SHIFT (20U)
  11991. /*! ERR20 - Error In Channel 20
  11992. * 0b0..No error in this channel has occurred
  11993. * 0b1..An error in this channel has occurred
  11994. */
  11995. #define DMA_ERR_ERR20(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR20_SHIFT)) & DMA_ERR_ERR20_MASK)
  11996. #define DMA_ERR_ERR21_MASK (0x200000U)
  11997. #define DMA_ERR_ERR21_SHIFT (21U)
  11998. /*! ERR21 - Error In Channel 21
  11999. * 0b0..No error in this channel has occurred
  12000. * 0b1..An error in this channel has occurred
  12001. */
  12002. #define DMA_ERR_ERR21(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR21_SHIFT)) & DMA_ERR_ERR21_MASK)
  12003. #define DMA_ERR_ERR22_MASK (0x400000U)
  12004. #define DMA_ERR_ERR22_SHIFT (22U)
  12005. /*! ERR22 - Error In Channel 22
  12006. * 0b0..No error in this channel has occurred
  12007. * 0b1..An error in this channel has occurred
  12008. */
  12009. #define DMA_ERR_ERR22(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR22_SHIFT)) & DMA_ERR_ERR22_MASK)
  12010. #define DMA_ERR_ERR23_MASK (0x800000U)
  12011. #define DMA_ERR_ERR23_SHIFT (23U)
  12012. /*! ERR23 - Error In Channel 23
  12013. * 0b0..No error in this channel has occurred
  12014. * 0b1..An error in this channel has occurred
  12015. */
  12016. #define DMA_ERR_ERR23(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR23_SHIFT)) & DMA_ERR_ERR23_MASK)
  12017. #define DMA_ERR_ERR24_MASK (0x1000000U)
  12018. #define DMA_ERR_ERR24_SHIFT (24U)
  12019. /*! ERR24 - Error In Channel 24
  12020. * 0b0..No error in this channel has occurred
  12021. * 0b1..An error in this channel has occurred
  12022. */
  12023. #define DMA_ERR_ERR24(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR24_SHIFT)) & DMA_ERR_ERR24_MASK)
  12024. #define DMA_ERR_ERR25_MASK (0x2000000U)
  12025. #define DMA_ERR_ERR25_SHIFT (25U)
  12026. /*! ERR25 - Error In Channel 25
  12027. * 0b0..No error in this channel has occurred
  12028. * 0b1..An error in this channel has occurred
  12029. */
  12030. #define DMA_ERR_ERR25(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR25_SHIFT)) & DMA_ERR_ERR25_MASK)
  12031. #define DMA_ERR_ERR26_MASK (0x4000000U)
  12032. #define DMA_ERR_ERR26_SHIFT (26U)
  12033. /*! ERR26 - Error In Channel 26
  12034. * 0b0..No error in this channel has occurred
  12035. * 0b1..An error in this channel has occurred
  12036. */
  12037. #define DMA_ERR_ERR26(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR26_SHIFT)) & DMA_ERR_ERR26_MASK)
  12038. #define DMA_ERR_ERR27_MASK (0x8000000U)
  12039. #define DMA_ERR_ERR27_SHIFT (27U)
  12040. /*! ERR27 - Error In Channel 27
  12041. * 0b0..No error in this channel has occurred
  12042. * 0b1..An error in this channel has occurred
  12043. */
  12044. #define DMA_ERR_ERR27(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR27_SHIFT)) & DMA_ERR_ERR27_MASK)
  12045. #define DMA_ERR_ERR28_MASK (0x10000000U)
  12046. #define DMA_ERR_ERR28_SHIFT (28U)
  12047. /*! ERR28 - Error In Channel 28
  12048. * 0b0..No error in this channel has occurred
  12049. * 0b1..An error in this channel has occurred
  12050. */
  12051. #define DMA_ERR_ERR28(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR28_SHIFT)) & DMA_ERR_ERR28_MASK)
  12052. #define DMA_ERR_ERR29_MASK (0x20000000U)
  12053. #define DMA_ERR_ERR29_SHIFT (29U)
  12054. /*! ERR29 - Error In Channel 29
  12055. * 0b0..No error in this channel has occurred
  12056. * 0b1..An error in this channel has occurred
  12057. */
  12058. #define DMA_ERR_ERR29(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR29_SHIFT)) & DMA_ERR_ERR29_MASK)
  12059. #define DMA_ERR_ERR30_MASK (0x40000000U)
  12060. #define DMA_ERR_ERR30_SHIFT (30U)
  12061. /*! ERR30 - Error In Channel 30
  12062. * 0b0..No error in this channel has occurred
  12063. * 0b1..An error in this channel has occurred
  12064. */
  12065. #define DMA_ERR_ERR30(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR30_SHIFT)) & DMA_ERR_ERR30_MASK)
  12066. #define DMA_ERR_ERR31_MASK (0x80000000U)
  12067. #define DMA_ERR_ERR31_SHIFT (31U)
  12068. /*! ERR31 - Error In Channel 31
  12069. * 0b0..No error in this channel has occurred
  12070. * 0b1..An error in this channel has occurred
  12071. */
  12072. #define DMA_ERR_ERR31(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR31_SHIFT)) & DMA_ERR_ERR31_MASK)
  12073. /*! @} */
  12074. /*! @name HRS - Hardware Request Status */
  12075. /*! @{ */
  12076. #define DMA_HRS_HRS0_MASK (0x1U)
  12077. #define DMA_HRS_HRS0_SHIFT (0U)
  12078. /*! HRS0 - Hardware Request Status Channel 0
  12079. * 0b0..A hardware service request for channel 0 is not present
  12080. * 0b1..A hardware service request for channel 0 is present
  12081. */
  12082. #define DMA_HRS_HRS0(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS0_SHIFT)) & DMA_HRS_HRS0_MASK)
  12083. #define DMA_HRS_HRS1_MASK (0x2U)
  12084. #define DMA_HRS_HRS1_SHIFT (1U)
  12085. /*! HRS1 - Hardware Request Status Channel 1
  12086. * 0b0..A hardware service request for channel 1 is not present
  12087. * 0b1..A hardware service request for channel 1 is present
  12088. */
  12089. #define DMA_HRS_HRS1(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS1_SHIFT)) & DMA_HRS_HRS1_MASK)
  12090. #define DMA_HRS_HRS2_MASK (0x4U)
  12091. #define DMA_HRS_HRS2_SHIFT (2U)
  12092. /*! HRS2 - Hardware Request Status Channel 2
  12093. * 0b0..A hardware service request for channel 2 is not present
  12094. * 0b1..A hardware service request for channel 2 is present
  12095. */
  12096. #define DMA_HRS_HRS2(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS2_SHIFT)) & DMA_HRS_HRS2_MASK)
  12097. #define DMA_HRS_HRS3_MASK (0x8U)
  12098. #define DMA_HRS_HRS3_SHIFT (3U)
  12099. /*! HRS3 - Hardware Request Status Channel 3
  12100. * 0b0..A hardware service request for channel 3 is not present
  12101. * 0b1..A hardware service request for channel 3 is present
  12102. */
  12103. #define DMA_HRS_HRS3(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS3_SHIFT)) & DMA_HRS_HRS3_MASK)
  12104. #define DMA_HRS_HRS4_MASK (0x10U)
  12105. #define DMA_HRS_HRS4_SHIFT (4U)
  12106. /*! HRS4 - Hardware Request Status Channel 4
  12107. * 0b0..A hardware service request for channel 4 is not present
  12108. * 0b1..A hardware service request for channel 4 is present
  12109. */
  12110. #define DMA_HRS_HRS4(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS4_SHIFT)) & DMA_HRS_HRS4_MASK)
  12111. #define DMA_HRS_HRS5_MASK (0x20U)
  12112. #define DMA_HRS_HRS5_SHIFT (5U)
  12113. /*! HRS5 - Hardware Request Status Channel 5
  12114. * 0b0..A hardware service request for channel 5 is not present
  12115. * 0b1..A hardware service request for channel 5 is present
  12116. */
  12117. #define DMA_HRS_HRS5(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS5_SHIFT)) & DMA_HRS_HRS5_MASK)
  12118. #define DMA_HRS_HRS6_MASK (0x40U)
  12119. #define DMA_HRS_HRS6_SHIFT (6U)
  12120. /*! HRS6 - Hardware Request Status Channel 6
  12121. * 0b0..A hardware service request for channel 6 is not present
  12122. * 0b1..A hardware service request for channel 6 is present
  12123. */
  12124. #define DMA_HRS_HRS6(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS6_SHIFT)) & DMA_HRS_HRS6_MASK)
  12125. #define DMA_HRS_HRS7_MASK (0x80U)
  12126. #define DMA_HRS_HRS7_SHIFT (7U)
  12127. /*! HRS7 - Hardware Request Status Channel 7
  12128. * 0b0..A hardware service request for channel 7 is not present
  12129. * 0b1..A hardware service request for channel 7 is present
  12130. */
  12131. #define DMA_HRS_HRS7(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS7_SHIFT)) & DMA_HRS_HRS7_MASK)
  12132. #define DMA_HRS_HRS8_MASK (0x100U)
  12133. #define DMA_HRS_HRS8_SHIFT (8U)
  12134. /*! HRS8 - Hardware Request Status Channel 8
  12135. * 0b0..A hardware service request for channel 8 is not present
  12136. * 0b1..A hardware service request for channel 8 is present
  12137. */
  12138. #define DMA_HRS_HRS8(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS8_SHIFT)) & DMA_HRS_HRS8_MASK)
  12139. #define DMA_HRS_HRS9_MASK (0x200U)
  12140. #define DMA_HRS_HRS9_SHIFT (9U)
  12141. /*! HRS9 - Hardware Request Status Channel 9
  12142. * 0b0..A hardware service request for channel 9 is not present
  12143. * 0b1..A hardware service request for channel 9 is present
  12144. */
  12145. #define DMA_HRS_HRS9(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS9_SHIFT)) & DMA_HRS_HRS9_MASK)
  12146. #define DMA_HRS_HRS10_MASK (0x400U)
  12147. #define DMA_HRS_HRS10_SHIFT (10U)
  12148. /*! HRS10 - Hardware Request Status Channel 10
  12149. * 0b0..A hardware service request for channel 10 is not present
  12150. * 0b1..A hardware service request for channel 10 is present
  12151. */
  12152. #define DMA_HRS_HRS10(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS10_SHIFT)) & DMA_HRS_HRS10_MASK)
  12153. #define DMA_HRS_HRS11_MASK (0x800U)
  12154. #define DMA_HRS_HRS11_SHIFT (11U)
  12155. /*! HRS11 - Hardware Request Status Channel 11
  12156. * 0b0..A hardware service request for channel 11 is not present
  12157. * 0b1..A hardware service request for channel 11 is present
  12158. */
  12159. #define DMA_HRS_HRS11(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS11_SHIFT)) & DMA_HRS_HRS11_MASK)
  12160. #define DMA_HRS_HRS12_MASK (0x1000U)
  12161. #define DMA_HRS_HRS12_SHIFT (12U)
  12162. /*! HRS12 - Hardware Request Status Channel 12
  12163. * 0b0..A hardware service request for channel 12 is not present
  12164. * 0b1..A hardware service request for channel 12 is present
  12165. */
  12166. #define DMA_HRS_HRS12(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS12_SHIFT)) & DMA_HRS_HRS12_MASK)
  12167. #define DMA_HRS_HRS13_MASK (0x2000U)
  12168. #define DMA_HRS_HRS13_SHIFT (13U)
  12169. /*! HRS13 - Hardware Request Status Channel 13
  12170. * 0b0..A hardware service request for channel 13 is not present
  12171. * 0b1..A hardware service request for channel 13 is present
  12172. */
  12173. #define DMA_HRS_HRS13(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS13_SHIFT)) & DMA_HRS_HRS13_MASK)
  12174. #define DMA_HRS_HRS14_MASK (0x4000U)
  12175. #define DMA_HRS_HRS14_SHIFT (14U)
  12176. /*! HRS14 - Hardware Request Status Channel 14
  12177. * 0b0..A hardware service request for channel 14 is not present
  12178. * 0b1..A hardware service request for channel 14 is present
  12179. */
  12180. #define DMA_HRS_HRS14(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS14_SHIFT)) & DMA_HRS_HRS14_MASK)
  12181. #define DMA_HRS_HRS15_MASK (0x8000U)
  12182. #define DMA_HRS_HRS15_SHIFT (15U)
  12183. /*! HRS15 - Hardware Request Status Channel 15
  12184. * 0b0..A hardware service request for channel 15 is not present
  12185. * 0b1..A hardware service request for channel 15 is present
  12186. */
  12187. #define DMA_HRS_HRS15(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS15_SHIFT)) & DMA_HRS_HRS15_MASK)
  12188. #define DMA_HRS_HRS16_MASK (0x10000U)
  12189. #define DMA_HRS_HRS16_SHIFT (16U)
  12190. /*! HRS16 - Hardware Request Status Channel 16
  12191. * 0b0..A hardware service request for channel 16 is not present
  12192. * 0b1..A hardware service request for channel 16 is present
  12193. */
  12194. #define DMA_HRS_HRS16(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS16_SHIFT)) & DMA_HRS_HRS16_MASK)
  12195. #define DMA_HRS_HRS17_MASK (0x20000U)
  12196. #define DMA_HRS_HRS17_SHIFT (17U)
  12197. /*! HRS17 - Hardware Request Status Channel 17
  12198. * 0b0..A hardware service request for channel 17 is not present
  12199. * 0b1..A hardware service request for channel 17 is present
  12200. */
  12201. #define DMA_HRS_HRS17(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS17_SHIFT)) & DMA_HRS_HRS17_MASK)
  12202. #define DMA_HRS_HRS18_MASK (0x40000U)
  12203. #define DMA_HRS_HRS18_SHIFT (18U)
  12204. /*! HRS18 - Hardware Request Status Channel 18
  12205. * 0b0..A hardware service request for channel 18 is not present
  12206. * 0b1..A hardware service request for channel 18 is present
  12207. */
  12208. #define DMA_HRS_HRS18(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS18_SHIFT)) & DMA_HRS_HRS18_MASK)
  12209. #define DMA_HRS_HRS19_MASK (0x80000U)
  12210. #define DMA_HRS_HRS19_SHIFT (19U)
  12211. /*! HRS19 - Hardware Request Status Channel 19
  12212. * 0b0..A hardware service request for channel 19 is not present
  12213. * 0b1..A hardware service request for channel 19 is present
  12214. */
  12215. #define DMA_HRS_HRS19(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS19_SHIFT)) & DMA_HRS_HRS19_MASK)
  12216. #define DMA_HRS_HRS20_MASK (0x100000U)
  12217. #define DMA_HRS_HRS20_SHIFT (20U)
  12218. /*! HRS20 - Hardware Request Status Channel 20
  12219. * 0b0..A hardware service request for channel 20 is not present
  12220. * 0b1..A hardware service request for channel 20 is present
  12221. */
  12222. #define DMA_HRS_HRS20(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS20_SHIFT)) & DMA_HRS_HRS20_MASK)
  12223. #define DMA_HRS_HRS21_MASK (0x200000U)
  12224. #define DMA_HRS_HRS21_SHIFT (21U)
  12225. /*! HRS21 - Hardware Request Status Channel 21
  12226. * 0b0..A hardware service request for channel 21 is not present
  12227. * 0b1..A hardware service request for channel 21 is present
  12228. */
  12229. #define DMA_HRS_HRS21(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS21_SHIFT)) & DMA_HRS_HRS21_MASK)
  12230. #define DMA_HRS_HRS22_MASK (0x400000U)
  12231. #define DMA_HRS_HRS22_SHIFT (22U)
  12232. /*! HRS22 - Hardware Request Status Channel 22
  12233. * 0b0..A hardware service request for channel 22 is not present
  12234. * 0b1..A hardware service request for channel 22 is present
  12235. */
  12236. #define DMA_HRS_HRS22(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS22_SHIFT)) & DMA_HRS_HRS22_MASK)
  12237. #define DMA_HRS_HRS23_MASK (0x800000U)
  12238. #define DMA_HRS_HRS23_SHIFT (23U)
  12239. /*! HRS23 - Hardware Request Status Channel 23
  12240. * 0b0..A hardware service request for channel 23 is not present
  12241. * 0b1..A hardware service request for channel 23 is present
  12242. */
  12243. #define DMA_HRS_HRS23(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS23_SHIFT)) & DMA_HRS_HRS23_MASK)
  12244. #define DMA_HRS_HRS24_MASK (0x1000000U)
  12245. #define DMA_HRS_HRS24_SHIFT (24U)
  12246. /*! HRS24 - Hardware Request Status Channel 24
  12247. * 0b0..A hardware service request for channel 24 is not present
  12248. * 0b1..A hardware service request for channel 24 is present
  12249. */
  12250. #define DMA_HRS_HRS24(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS24_SHIFT)) & DMA_HRS_HRS24_MASK)
  12251. #define DMA_HRS_HRS25_MASK (0x2000000U)
  12252. #define DMA_HRS_HRS25_SHIFT (25U)
  12253. /*! HRS25 - Hardware Request Status Channel 25
  12254. * 0b0..A hardware service request for channel 25 is not present
  12255. * 0b1..A hardware service request for channel 25 is present
  12256. */
  12257. #define DMA_HRS_HRS25(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS25_SHIFT)) & DMA_HRS_HRS25_MASK)
  12258. #define DMA_HRS_HRS26_MASK (0x4000000U)
  12259. #define DMA_HRS_HRS26_SHIFT (26U)
  12260. /*! HRS26 - Hardware Request Status Channel 26
  12261. * 0b0..A hardware service request for channel 26 is not present
  12262. * 0b1..A hardware service request for channel 26 is present
  12263. */
  12264. #define DMA_HRS_HRS26(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS26_SHIFT)) & DMA_HRS_HRS26_MASK)
  12265. #define DMA_HRS_HRS27_MASK (0x8000000U)
  12266. #define DMA_HRS_HRS27_SHIFT (27U)
  12267. /*! HRS27 - Hardware Request Status Channel 27
  12268. * 0b0..A hardware service request for channel 27 is not present
  12269. * 0b1..A hardware service request for channel 27 is present
  12270. */
  12271. #define DMA_HRS_HRS27(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS27_SHIFT)) & DMA_HRS_HRS27_MASK)
  12272. #define DMA_HRS_HRS28_MASK (0x10000000U)
  12273. #define DMA_HRS_HRS28_SHIFT (28U)
  12274. /*! HRS28 - Hardware Request Status Channel 28
  12275. * 0b0..A hardware service request for channel 28 is not present
  12276. * 0b1..A hardware service request for channel 28 is present
  12277. */
  12278. #define DMA_HRS_HRS28(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS28_SHIFT)) & DMA_HRS_HRS28_MASK)
  12279. #define DMA_HRS_HRS29_MASK (0x20000000U)
  12280. #define DMA_HRS_HRS29_SHIFT (29U)
  12281. /*! HRS29 - Hardware Request Status Channel 29
  12282. * 0b0..A hardware service request for channel 29 is not preset
  12283. * 0b1..A hardware service request for channel 29 is present
  12284. */
  12285. #define DMA_HRS_HRS29(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS29_SHIFT)) & DMA_HRS_HRS29_MASK)
  12286. #define DMA_HRS_HRS30_MASK (0x40000000U)
  12287. #define DMA_HRS_HRS30_SHIFT (30U)
  12288. /*! HRS30 - Hardware Request Status Channel 30
  12289. * 0b0..A hardware service request for channel 30 is not present
  12290. * 0b1..A hardware service request for channel 30 is present
  12291. */
  12292. #define DMA_HRS_HRS30(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS30_SHIFT)) & DMA_HRS_HRS30_MASK)
  12293. #define DMA_HRS_HRS31_MASK (0x80000000U)
  12294. #define DMA_HRS_HRS31_SHIFT (31U)
  12295. /*! HRS31 - Hardware Request Status Channel 31
  12296. * 0b0..A hardware service request for channel 31 is not present
  12297. * 0b1..A hardware service request for channel 31 is present
  12298. */
  12299. #define DMA_HRS_HRS31(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS31_SHIFT)) & DMA_HRS_HRS31_MASK)
  12300. /*! @} */
  12301. /*! @name EARS - Enable Asynchronous Request in Stop */
  12302. /*! @{ */
  12303. #define DMA_EARS_EDREQ_0_MASK (0x1U)
  12304. #define DMA_EARS_EDREQ_0_SHIFT (0U)
  12305. /*! EDREQ_0 - Enable asynchronous DMA request in stop mode for channel 0.
  12306. * 0b0..Disable asynchronous DMA request for channel 0
  12307. * 0b1..Enable asynchronous DMA request for channel 0
  12308. */
  12309. #define DMA_EARS_EDREQ_0(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_0_SHIFT)) & DMA_EARS_EDREQ_0_MASK)
  12310. #define DMA_EARS_EDREQ_1_MASK (0x2U)
  12311. #define DMA_EARS_EDREQ_1_SHIFT (1U)
  12312. /*! EDREQ_1 - Enable asynchronous DMA request in stop mode for channel 1.
  12313. * 0b0..Disable asynchronous DMA request for channel 1
  12314. * 0b1..Enable asynchronous DMA request for channel 1
  12315. */
  12316. #define DMA_EARS_EDREQ_1(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_1_SHIFT)) & DMA_EARS_EDREQ_1_MASK)
  12317. #define DMA_EARS_EDREQ_2_MASK (0x4U)
  12318. #define DMA_EARS_EDREQ_2_SHIFT (2U)
  12319. /*! EDREQ_2 - Enable asynchronous DMA request in stop mode for channel 2.
  12320. * 0b0..Disable asynchronous DMA request for channel 2
  12321. * 0b1..Enable asynchronous DMA request for channel 2
  12322. */
  12323. #define DMA_EARS_EDREQ_2(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_2_SHIFT)) & DMA_EARS_EDREQ_2_MASK)
  12324. #define DMA_EARS_EDREQ_3_MASK (0x8U)
  12325. #define DMA_EARS_EDREQ_3_SHIFT (3U)
  12326. /*! EDREQ_3 - Enable asynchronous DMA request in stop mode for channel 3.
  12327. * 0b0..Disable asynchronous DMA request for channel 3
  12328. * 0b1..Enable asynchronous DMA request for channel 3
  12329. */
  12330. #define DMA_EARS_EDREQ_3(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_3_SHIFT)) & DMA_EARS_EDREQ_3_MASK)
  12331. #define DMA_EARS_EDREQ_4_MASK (0x10U)
  12332. #define DMA_EARS_EDREQ_4_SHIFT (4U)
  12333. /*! EDREQ_4 - Enable asynchronous DMA request in stop mode for channel 4.
  12334. * 0b0..Disable asynchronous DMA request for channel 4
  12335. * 0b1..Enable asynchronous DMA request for channel 4
  12336. */
  12337. #define DMA_EARS_EDREQ_4(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_4_SHIFT)) & DMA_EARS_EDREQ_4_MASK)
  12338. #define DMA_EARS_EDREQ_5_MASK (0x20U)
  12339. #define DMA_EARS_EDREQ_5_SHIFT (5U)
  12340. /*! EDREQ_5 - Enable asynchronous DMA request in stop mode for channel 5.
  12341. * 0b0..Disable asynchronous DMA request for channel 5
  12342. * 0b1..Enable asynchronous DMA request for channel 5
  12343. */
  12344. #define DMA_EARS_EDREQ_5(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_5_SHIFT)) & DMA_EARS_EDREQ_5_MASK)
  12345. #define DMA_EARS_EDREQ_6_MASK (0x40U)
  12346. #define DMA_EARS_EDREQ_6_SHIFT (6U)
  12347. /*! EDREQ_6 - Enable asynchronous DMA request in stop mode for channel 6.
  12348. * 0b0..Disable asynchronous DMA request for channel 6
  12349. * 0b1..Enable asynchronous DMA request for channel 6
  12350. */
  12351. #define DMA_EARS_EDREQ_6(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_6_SHIFT)) & DMA_EARS_EDREQ_6_MASK)
  12352. #define DMA_EARS_EDREQ_7_MASK (0x80U)
  12353. #define DMA_EARS_EDREQ_7_SHIFT (7U)
  12354. /*! EDREQ_7 - Enable asynchronous DMA request in stop mode for channel 7.
  12355. * 0b0..Disable asynchronous DMA request for channel 7
  12356. * 0b1..Enable asynchronous DMA request for channel 7
  12357. */
  12358. #define DMA_EARS_EDREQ_7(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_7_SHIFT)) & DMA_EARS_EDREQ_7_MASK)
  12359. #define DMA_EARS_EDREQ_8_MASK (0x100U)
  12360. #define DMA_EARS_EDREQ_8_SHIFT (8U)
  12361. /*! EDREQ_8 - Enable asynchronous DMA request in stop mode for channel 8.
  12362. * 0b0..Disable asynchronous DMA request for channel 8
  12363. * 0b1..Enable asynchronous DMA request for channel 8
  12364. */
  12365. #define DMA_EARS_EDREQ_8(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_8_SHIFT)) & DMA_EARS_EDREQ_8_MASK)
  12366. #define DMA_EARS_EDREQ_9_MASK (0x200U)
  12367. #define DMA_EARS_EDREQ_9_SHIFT (9U)
  12368. /*! EDREQ_9 - Enable asynchronous DMA request in stop mode for channel 9.
  12369. * 0b0..Disable asynchronous DMA request for channel 9
  12370. * 0b1..Enable asynchronous DMA request for channel 9
  12371. */
  12372. #define DMA_EARS_EDREQ_9(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_9_SHIFT)) & DMA_EARS_EDREQ_9_MASK)
  12373. #define DMA_EARS_EDREQ_10_MASK (0x400U)
  12374. #define DMA_EARS_EDREQ_10_SHIFT (10U)
  12375. /*! EDREQ_10 - Enable asynchronous DMA request in stop mode for channel 10.
  12376. * 0b0..Disable asynchronous DMA request for channel 10
  12377. * 0b1..Enable asynchronous DMA request for channel 10
  12378. */
  12379. #define DMA_EARS_EDREQ_10(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_10_SHIFT)) & DMA_EARS_EDREQ_10_MASK)
  12380. #define DMA_EARS_EDREQ_11_MASK (0x800U)
  12381. #define DMA_EARS_EDREQ_11_SHIFT (11U)
  12382. /*! EDREQ_11 - Enable asynchronous DMA request in stop mode for channel 11.
  12383. * 0b0..Disable asynchronous DMA request for channel 11
  12384. * 0b1..Enable asynchronous DMA request for channel 11
  12385. */
  12386. #define DMA_EARS_EDREQ_11(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_11_SHIFT)) & DMA_EARS_EDREQ_11_MASK)
  12387. #define DMA_EARS_EDREQ_12_MASK (0x1000U)
  12388. #define DMA_EARS_EDREQ_12_SHIFT (12U)
  12389. /*! EDREQ_12 - Enable asynchronous DMA request in stop mode for channel 12.
  12390. * 0b0..Disable asynchronous DMA request for channel 12
  12391. * 0b1..Enable asynchronous DMA request for channel 12
  12392. */
  12393. #define DMA_EARS_EDREQ_12(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_12_SHIFT)) & DMA_EARS_EDREQ_12_MASK)
  12394. #define DMA_EARS_EDREQ_13_MASK (0x2000U)
  12395. #define DMA_EARS_EDREQ_13_SHIFT (13U)
  12396. /*! EDREQ_13 - Enable asynchronous DMA request in stop mode for channel 13.
  12397. * 0b0..Disable asynchronous DMA request for channel 13
  12398. * 0b1..Enable asynchronous DMA request for channel 13
  12399. */
  12400. #define DMA_EARS_EDREQ_13(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_13_SHIFT)) & DMA_EARS_EDREQ_13_MASK)
  12401. #define DMA_EARS_EDREQ_14_MASK (0x4000U)
  12402. #define DMA_EARS_EDREQ_14_SHIFT (14U)
  12403. /*! EDREQ_14 - Enable asynchronous DMA request in stop mode for channel 14.
  12404. * 0b0..Disable asynchronous DMA request for channel 14
  12405. * 0b1..Enable asynchronous DMA request for channel 14
  12406. */
  12407. #define DMA_EARS_EDREQ_14(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_14_SHIFT)) & DMA_EARS_EDREQ_14_MASK)
  12408. #define DMA_EARS_EDREQ_15_MASK (0x8000U)
  12409. #define DMA_EARS_EDREQ_15_SHIFT (15U)
  12410. /*! EDREQ_15 - Enable asynchronous DMA request in stop mode for channel 15.
  12411. * 0b0..Disable asynchronous DMA request for channel 15
  12412. * 0b1..Enable asynchronous DMA request for channel 15
  12413. */
  12414. #define DMA_EARS_EDREQ_15(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_15_SHIFT)) & DMA_EARS_EDREQ_15_MASK)
  12415. #define DMA_EARS_EDREQ_16_MASK (0x10000U)
  12416. #define DMA_EARS_EDREQ_16_SHIFT (16U)
  12417. /*! EDREQ_16 - Enable asynchronous DMA request in stop mode for channel 16.
  12418. * 0b0..Disable asynchronous DMA request for channel 16
  12419. * 0b1..Enable asynchronous DMA request for channel 16
  12420. */
  12421. #define DMA_EARS_EDREQ_16(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_16_SHIFT)) & DMA_EARS_EDREQ_16_MASK)
  12422. #define DMA_EARS_EDREQ_17_MASK (0x20000U)
  12423. #define DMA_EARS_EDREQ_17_SHIFT (17U)
  12424. /*! EDREQ_17 - Enable asynchronous DMA request in stop mode for channel 17.
  12425. * 0b0..Disable asynchronous DMA request for channel 17
  12426. * 0b1..Enable asynchronous DMA request for channel 17
  12427. */
  12428. #define DMA_EARS_EDREQ_17(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_17_SHIFT)) & DMA_EARS_EDREQ_17_MASK)
  12429. #define DMA_EARS_EDREQ_18_MASK (0x40000U)
  12430. #define DMA_EARS_EDREQ_18_SHIFT (18U)
  12431. /*! EDREQ_18 - Enable asynchronous DMA request in stop mode for channel 18.
  12432. * 0b0..Disable asynchronous DMA request for channel 18
  12433. * 0b1..Enable asynchronous DMA request for channel 18
  12434. */
  12435. #define DMA_EARS_EDREQ_18(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_18_SHIFT)) & DMA_EARS_EDREQ_18_MASK)
  12436. #define DMA_EARS_EDREQ_19_MASK (0x80000U)
  12437. #define DMA_EARS_EDREQ_19_SHIFT (19U)
  12438. /*! EDREQ_19 - Enable asynchronous DMA request in stop mode for channel 19.
  12439. * 0b0..Disable asynchronous DMA request for channel 19
  12440. * 0b1..Enable asynchronous DMA request for channel 19
  12441. */
  12442. #define DMA_EARS_EDREQ_19(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_19_SHIFT)) & DMA_EARS_EDREQ_19_MASK)
  12443. #define DMA_EARS_EDREQ_20_MASK (0x100000U)
  12444. #define DMA_EARS_EDREQ_20_SHIFT (20U)
  12445. /*! EDREQ_20 - Enable asynchronous DMA request in stop mode for channel 20.
  12446. * 0b0..Disable asynchronous DMA request for channel 20
  12447. * 0b1..Enable asynchronous DMA request for channel 20
  12448. */
  12449. #define DMA_EARS_EDREQ_20(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_20_SHIFT)) & DMA_EARS_EDREQ_20_MASK)
  12450. #define DMA_EARS_EDREQ_21_MASK (0x200000U)
  12451. #define DMA_EARS_EDREQ_21_SHIFT (21U)
  12452. /*! EDREQ_21 - Enable asynchronous DMA request in stop mode for channel 21.
  12453. * 0b0..Disable asynchronous DMA request for channel 21
  12454. * 0b1..Enable asynchronous DMA request for channel 21
  12455. */
  12456. #define DMA_EARS_EDREQ_21(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_21_SHIFT)) & DMA_EARS_EDREQ_21_MASK)
  12457. #define DMA_EARS_EDREQ_22_MASK (0x400000U)
  12458. #define DMA_EARS_EDREQ_22_SHIFT (22U)
  12459. /*! EDREQ_22 - Enable asynchronous DMA request in stop mode for channel 22.
  12460. * 0b0..Disable asynchronous DMA request for channel 22
  12461. * 0b1..Enable asynchronous DMA request for channel 22
  12462. */
  12463. #define DMA_EARS_EDREQ_22(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_22_SHIFT)) & DMA_EARS_EDREQ_22_MASK)
  12464. #define DMA_EARS_EDREQ_23_MASK (0x800000U)
  12465. #define DMA_EARS_EDREQ_23_SHIFT (23U)
  12466. /*! EDREQ_23 - Enable asynchronous DMA request in stop mode for channel 23.
  12467. * 0b0..Disable asynchronous DMA request for channel 23
  12468. * 0b1..Enable asynchronous DMA request for channel 23
  12469. */
  12470. #define DMA_EARS_EDREQ_23(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_23_SHIFT)) & DMA_EARS_EDREQ_23_MASK)
  12471. #define DMA_EARS_EDREQ_24_MASK (0x1000000U)
  12472. #define DMA_EARS_EDREQ_24_SHIFT (24U)
  12473. /*! EDREQ_24 - Enable asynchronous DMA request in stop mode for channel 24.
  12474. * 0b0..Disable asynchronous DMA request for channel 24
  12475. * 0b1..Enable asynchronous DMA request for channel 24
  12476. */
  12477. #define DMA_EARS_EDREQ_24(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_24_SHIFT)) & DMA_EARS_EDREQ_24_MASK)
  12478. #define DMA_EARS_EDREQ_25_MASK (0x2000000U)
  12479. #define DMA_EARS_EDREQ_25_SHIFT (25U)
  12480. /*! EDREQ_25 - Enable asynchronous DMA request in stop mode for channel 25.
  12481. * 0b0..Disable asynchronous DMA request for channel 25
  12482. * 0b1..Enable asynchronous DMA request for channel 25
  12483. */
  12484. #define DMA_EARS_EDREQ_25(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_25_SHIFT)) & DMA_EARS_EDREQ_25_MASK)
  12485. #define DMA_EARS_EDREQ_26_MASK (0x4000000U)
  12486. #define DMA_EARS_EDREQ_26_SHIFT (26U)
  12487. /*! EDREQ_26 - Enable asynchronous DMA request in stop mode for channel 26.
  12488. * 0b0..Disable asynchronous DMA request for channel 26
  12489. * 0b1..Enable asynchronous DMA request for channel 26
  12490. */
  12491. #define DMA_EARS_EDREQ_26(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_26_SHIFT)) & DMA_EARS_EDREQ_26_MASK)
  12492. #define DMA_EARS_EDREQ_27_MASK (0x8000000U)
  12493. #define DMA_EARS_EDREQ_27_SHIFT (27U)
  12494. /*! EDREQ_27 - Enable asynchronous DMA request in stop mode for channel 27.
  12495. * 0b0..Disable asynchronous DMA request for channel 27
  12496. * 0b1..Enable asynchronous DMA request for channel 27
  12497. */
  12498. #define DMA_EARS_EDREQ_27(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_27_SHIFT)) & DMA_EARS_EDREQ_27_MASK)
  12499. #define DMA_EARS_EDREQ_28_MASK (0x10000000U)
  12500. #define DMA_EARS_EDREQ_28_SHIFT (28U)
  12501. /*! EDREQ_28 - Enable asynchronous DMA request in stop mode for channel 28.
  12502. * 0b0..Disable asynchronous DMA request for channel 28
  12503. * 0b1..Enable asynchronous DMA request for channel 28
  12504. */
  12505. #define DMA_EARS_EDREQ_28(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_28_SHIFT)) & DMA_EARS_EDREQ_28_MASK)
  12506. #define DMA_EARS_EDREQ_29_MASK (0x20000000U)
  12507. #define DMA_EARS_EDREQ_29_SHIFT (29U)
  12508. /*! EDREQ_29 - Enable asynchronous DMA request in stop mode for channel 29.
  12509. * 0b0..Disable asynchronous DMA request for channel 29
  12510. * 0b1..Enable asynchronous DMA request for channel 29
  12511. */
  12512. #define DMA_EARS_EDREQ_29(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_29_SHIFT)) & DMA_EARS_EDREQ_29_MASK)
  12513. #define DMA_EARS_EDREQ_30_MASK (0x40000000U)
  12514. #define DMA_EARS_EDREQ_30_SHIFT (30U)
  12515. /*! EDREQ_30 - Enable asynchronous DMA request in stop mode for channel 30.
  12516. * 0b0..Disable asynchronous DMA request for channel 30
  12517. * 0b1..Enable asynchronous DMA request for channel 30
  12518. */
  12519. #define DMA_EARS_EDREQ_30(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_30_SHIFT)) & DMA_EARS_EDREQ_30_MASK)
  12520. #define DMA_EARS_EDREQ_31_MASK (0x80000000U)
  12521. #define DMA_EARS_EDREQ_31_SHIFT (31U)
  12522. /*! EDREQ_31 - Enable asynchronous DMA request in stop mode for channel 31.
  12523. * 0b0..Disable asynchronous DMA request for channel 31
  12524. * 0b1..Enable asynchronous DMA request for channel 31
  12525. */
  12526. #define DMA_EARS_EDREQ_31(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_31_SHIFT)) & DMA_EARS_EDREQ_31_MASK)
  12527. /*! @} */
  12528. /*! @name DCHPRI3 - Channel Priority */
  12529. /*! @{ */
  12530. #define DMA_DCHPRI3_CHPRI_MASK (0xFU)
  12531. #define DMA_DCHPRI3_CHPRI_SHIFT (0U)
  12532. /*! CHPRI - Channel n Arbitration Priority
  12533. */
  12534. #define DMA_DCHPRI3_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_CHPRI_SHIFT)) & DMA_DCHPRI3_CHPRI_MASK)
  12535. #define DMA_DCHPRI3_GRPPRI_MASK (0x30U)
  12536. #define DMA_DCHPRI3_GRPPRI_SHIFT (4U)
  12537. /*! GRPPRI - Channel n Current Group Priority
  12538. */
  12539. #define DMA_DCHPRI3_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_GRPPRI_SHIFT)) & DMA_DCHPRI3_GRPPRI_MASK)
  12540. #define DMA_DCHPRI3_DPA_MASK (0x40U)
  12541. #define DMA_DCHPRI3_DPA_SHIFT (6U)
  12542. /*! DPA - Disable Preempt Ability. This field resets to 0.
  12543. * 0b0..Channel n can suspend a lower priority channel
  12544. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  12545. */
  12546. #define DMA_DCHPRI3_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_DPA_SHIFT)) & DMA_DCHPRI3_DPA_MASK)
  12547. #define DMA_DCHPRI3_ECP_MASK (0x80U)
  12548. #define DMA_DCHPRI3_ECP_SHIFT (7U)
  12549. /*! ECP - Enable Channel Preemption. This field resets to 0.
  12550. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  12551. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  12552. */
  12553. #define DMA_DCHPRI3_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_ECP_SHIFT)) & DMA_DCHPRI3_ECP_MASK)
  12554. /*! @} */
  12555. /*! @name DCHPRI2 - Channel Priority */
  12556. /*! @{ */
  12557. #define DMA_DCHPRI2_CHPRI_MASK (0xFU)
  12558. #define DMA_DCHPRI2_CHPRI_SHIFT (0U)
  12559. /*! CHPRI - Channel n Arbitration Priority
  12560. */
  12561. #define DMA_DCHPRI2_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_CHPRI_SHIFT)) & DMA_DCHPRI2_CHPRI_MASK)
  12562. #define DMA_DCHPRI2_GRPPRI_MASK (0x30U)
  12563. #define DMA_DCHPRI2_GRPPRI_SHIFT (4U)
  12564. /*! GRPPRI - Channel n Current Group Priority
  12565. */
  12566. #define DMA_DCHPRI2_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_GRPPRI_SHIFT)) & DMA_DCHPRI2_GRPPRI_MASK)
  12567. #define DMA_DCHPRI2_DPA_MASK (0x40U)
  12568. #define DMA_DCHPRI2_DPA_SHIFT (6U)
  12569. /*! DPA - Disable Preempt Ability. This field resets to 0.
  12570. * 0b0..Channel n can suspend a lower priority channel
  12571. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  12572. */
  12573. #define DMA_DCHPRI2_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_DPA_SHIFT)) & DMA_DCHPRI2_DPA_MASK)
  12574. #define DMA_DCHPRI2_ECP_MASK (0x80U)
  12575. #define DMA_DCHPRI2_ECP_SHIFT (7U)
  12576. /*! ECP - Enable Channel Preemption. This field resets to 0.
  12577. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  12578. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  12579. */
  12580. #define DMA_DCHPRI2_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_ECP_SHIFT)) & DMA_DCHPRI2_ECP_MASK)
  12581. /*! @} */
  12582. /*! @name DCHPRI1 - Channel Priority */
  12583. /*! @{ */
  12584. #define DMA_DCHPRI1_CHPRI_MASK (0xFU)
  12585. #define DMA_DCHPRI1_CHPRI_SHIFT (0U)
  12586. /*! CHPRI - Channel n Arbitration Priority
  12587. */
  12588. #define DMA_DCHPRI1_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_CHPRI_SHIFT)) & DMA_DCHPRI1_CHPRI_MASK)
  12589. #define DMA_DCHPRI1_GRPPRI_MASK (0x30U)
  12590. #define DMA_DCHPRI1_GRPPRI_SHIFT (4U)
  12591. /*! GRPPRI - Channel n Current Group Priority
  12592. */
  12593. #define DMA_DCHPRI1_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_GRPPRI_SHIFT)) & DMA_DCHPRI1_GRPPRI_MASK)
  12594. #define DMA_DCHPRI1_DPA_MASK (0x40U)
  12595. #define DMA_DCHPRI1_DPA_SHIFT (6U)
  12596. /*! DPA - Disable Preempt Ability. This field resets to 0.
  12597. * 0b0..Channel n can suspend a lower priority channel
  12598. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  12599. */
  12600. #define DMA_DCHPRI1_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_DPA_SHIFT)) & DMA_DCHPRI1_DPA_MASK)
  12601. #define DMA_DCHPRI1_ECP_MASK (0x80U)
  12602. #define DMA_DCHPRI1_ECP_SHIFT (7U)
  12603. /*! ECP - Enable Channel Preemption. This field resets to 0.
  12604. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  12605. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  12606. */
  12607. #define DMA_DCHPRI1_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_ECP_SHIFT)) & DMA_DCHPRI1_ECP_MASK)
  12608. /*! @} */
  12609. /*! @name DCHPRI0 - Channel Priority */
  12610. /*! @{ */
  12611. #define DMA_DCHPRI0_CHPRI_MASK (0xFU)
  12612. #define DMA_DCHPRI0_CHPRI_SHIFT (0U)
  12613. /*! CHPRI - Channel n Arbitration Priority
  12614. */
  12615. #define DMA_DCHPRI0_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_CHPRI_SHIFT)) & DMA_DCHPRI0_CHPRI_MASK)
  12616. #define DMA_DCHPRI0_GRPPRI_MASK (0x30U)
  12617. #define DMA_DCHPRI0_GRPPRI_SHIFT (4U)
  12618. /*! GRPPRI - Channel n Current Group Priority
  12619. */
  12620. #define DMA_DCHPRI0_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_GRPPRI_SHIFT)) & DMA_DCHPRI0_GRPPRI_MASK)
  12621. #define DMA_DCHPRI0_DPA_MASK (0x40U)
  12622. #define DMA_DCHPRI0_DPA_SHIFT (6U)
  12623. /*! DPA - Disable Preempt Ability. This field resets to 0.
  12624. * 0b0..Channel n can suspend a lower priority channel
  12625. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  12626. */
  12627. #define DMA_DCHPRI0_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_DPA_SHIFT)) & DMA_DCHPRI0_DPA_MASK)
  12628. #define DMA_DCHPRI0_ECP_MASK (0x80U)
  12629. #define DMA_DCHPRI0_ECP_SHIFT (7U)
  12630. /*! ECP - Enable Channel Preemption. This field resets to 0.
  12631. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  12632. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  12633. */
  12634. #define DMA_DCHPRI0_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_ECP_SHIFT)) & DMA_DCHPRI0_ECP_MASK)
  12635. /*! @} */
  12636. /*! @name DCHPRI7 - Channel Priority */
  12637. /*! @{ */
  12638. #define DMA_DCHPRI7_CHPRI_MASK (0xFU)
  12639. #define DMA_DCHPRI7_CHPRI_SHIFT (0U)
  12640. /*! CHPRI - Channel n Arbitration Priority
  12641. */
  12642. #define DMA_DCHPRI7_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_CHPRI_SHIFT)) & DMA_DCHPRI7_CHPRI_MASK)
  12643. #define DMA_DCHPRI7_GRPPRI_MASK (0x30U)
  12644. #define DMA_DCHPRI7_GRPPRI_SHIFT (4U)
  12645. /*! GRPPRI - Channel n Current Group Priority
  12646. */
  12647. #define DMA_DCHPRI7_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_GRPPRI_SHIFT)) & DMA_DCHPRI7_GRPPRI_MASK)
  12648. #define DMA_DCHPRI7_DPA_MASK (0x40U)
  12649. #define DMA_DCHPRI7_DPA_SHIFT (6U)
  12650. /*! DPA - Disable Preempt Ability. This field resets to 0.
  12651. * 0b0..Channel n can suspend a lower priority channel
  12652. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  12653. */
  12654. #define DMA_DCHPRI7_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_DPA_SHIFT)) & DMA_DCHPRI7_DPA_MASK)
  12655. #define DMA_DCHPRI7_ECP_MASK (0x80U)
  12656. #define DMA_DCHPRI7_ECP_SHIFT (7U)
  12657. /*! ECP - Enable Channel Preemption. This field resets to 0.
  12658. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  12659. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  12660. */
  12661. #define DMA_DCHPRI7_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_ECP_SHIFT)) & DMA_DCHPRI7_ECP_MASK)
  12662. /*! @} */
  12663. /*! @name DCHPRI6 - Channel Priority */
  12664. /*! @{ */
  12665. #define DMA_DCHPRI6_CHPRI_MASK (0xFU)
  12666. #define DMA_DCHPRI6_CHPRI_SHIFT (0U)
  12667. /*! CHPRI - Channel n Arbitration Priority
  12668. */
  12669. #define DMA_DCHPRI6_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_CHPRI_SHIFT)) & DMA_DCHPRI6_CHPRI_MASK)
  12670. #define DMA_DCHPRI6_GRPPRI_MASK (0x30U)
  12671. #define DMA_DCHPRI6_GRPPRI_SHIFT (4U)
  12672. /*! GRPPRI - Channel n Current Group Priority
  12673. */
  12674. #define DMA_DCHPRI6_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_GRPPRI_SHIFT)) & DMA_DCHPRI6_GRPPRI_MASK)
  12675. #define DMA_DCHPRI6_DPA_MASK (0x40U)
  12676. #define DMA_DCHPRI6_DPA_SHIFT (6U)
  12677. /*! DPA - Disable Preempt Ability. This field resets to 0.
  12678. * 0b0..Channel n can suspend a lower priority channel
  12679. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  12680. */
  12681. #define DMA_DCHPRI6_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_DPA_SHIFT)) & DMA_DCHPRI6_DPA_MASK)
  12682. #define DMA_DCHPRI6_ECP_MASK (0x80U)
  12683. #define DMA_DCHPRI6_ECP_SHIFT (7U)
  12684. /*! ECP - Enable Channel Preemption. This field resets to 0.
  12685. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  12686. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  12687. */
  12688. #define DMA_DCHPRI6_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_ECP_SHIFT)) & DMA_DCHPRI6_ECP_MASK)
  12689. /*! @} */
  12690. /*! @name DCHPRI5 - Channel Priority */
  12691. /*! @{ */
  12692. #define DMA_DCHPRI5_CHPRI_MASK (0xFU)
  12693. #define DMA_DCHPRI5_CHPRI_SHIFT (0U)
  12694. /*! CHPRI - Channel n Arbitration Priority
  12695. */
  12696. #define DMA_DCHPRI5_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_CHPRI_SHIFT)) & DMA_DCHPRI5_CHPRI_MASK)
  12697. #define DMA_DCHPRI5_GRPPRI_MASK (0x30U)
  12698. #define DMA_DCHPRI5_GRPPRI_SHIFT (4U)
  12699. /*! GRPPRI - Channel n Current Group Priority
  12700. */
  12701. #define DMA_DCHPRI5_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_GRPPRI_SHIFT)) & DMA_DCHPRI5_GRPPRI_MASK)
  12702. #define DMA_DCHPRI5_DPA_MASK (0x40U)
  12703. #define DMA_DCHPRI5_DPA_SHIFT (6U)
  12704. /*! DPA - Disable Preempt Ability. This field resets to 0.
  12705. * 0b0..Channel n can suspend a lower priority channel
  12706. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  12707. */
  12708. #define DMA_DCHPRI5_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_DPA_SHIFT)) & DMA_DCHPRI5_DPA_MASK)
  12709. #define DMA_DCHPRI5_ECP_MASK (0x80U)
  12710. #define DMA_DCHPRI5_ECP_SHIFT (7U)
  12711. /*! ECP - Enable Channel Preemption. This field resets to 0.
  12712. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  12713. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  12714. */
  12715. #define DMA_DCHPRI5_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_ECP_SHIFT)) & DMA_DCHPRI5_ECP_MASK)
  12716. /*! @} */
  12717. /*! @name DCHPRI4 - Channel Priority */
  12718. /*! @{ */
  12719. #define DMA_DCHPRI4_CHPRI_MASK (0xFU)
  12720. #define DMA_DCHPRI4_CHPRI_SHIFT (0U)
  12721. /*! CHPRI - Channel n Arbitration Priority
  12722. */
  12723. #define DMA_DCHPRI4_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_CHPRI_SHIFT)) & DMA_DCHPRI4_CHPRI_MASK)
  12724. #define DMA_DCHPRI4_GRPPRI_MASK (0x30U)
  12725. #define DMA_DCHPRI4_GRPPRI_SHIFT (4U)
  12726. /*! GRPPRI - Channel n Current Group Priority
  12727. */
  12728. #define DMA_DCHPRI4_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_GRPPRI_SHIFT)) & DMA_DCHPRI4_GRPPRI_MASK)
  12729. #define DMA_DCHPRI4_DPA_MASK (0x40U)
  12730. #define DMA_DCHPRI4_DPA_SHIFT (6U)
  12731. /*! DPA - Disable Preempt Ability. This field resets to 0.
  12732. * 0b0..Channel n can suspend a lower priority channel
  12733. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  12734. */
  12735. #define DMA_DCHPRI4_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_DPA_SHIFT)) & DMA_DCHPRI4_DPA_MASK)
  12736. #define DMA_DCHPRI4_ECP_MASK (0x80U)
  12737. #define DMA_DCHPRI4_ECP_SHIFT (7U)
  12738. /*! ECP - Enable Channel Preemption. This field resets to 0.
  12739. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  12740. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  12741. */
  12742. #define DMA_DCHPRI4_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_ECP_SHIFT)) & DMA_DCHPRI4_ECP_MASK)
  12743. /*! @} */
  12744. /*! @name DCHPRI11 - Channel Priority */
  12745. /*! @{ */
  12746. #define DMA_DCHPRI11_CHPRI_MASK (0xFU)
  12747. #define DMA_DCHPRI11_CHPRI_SHIFT (0U)
  12748. /*! CHPRI - Channel n Arbitration Priority
  12749. */
  12750. #define DMA_DCHPRI11_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI11_CHPRI_SHIFT)) & DMA_DCHPRI11_CHPRI_MASK)
  12751. #define DMA_DCHPRI11_GRPPRI_MASK (0x30U)
  12752. #define DMA_DCHPRI11_GRPPRI_SHIFT (4U)
  12753. /*! GRPPRI - Channel n Current Group Priority
  12754. */
  12755. #define DMA_DCHPRI11_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI11_GRPPRI_SHIFT)) & DMA_DCHPRI11_GRPPRI_MASK)
  12756. #define DMA_DCHPRI11_DPA_MASK (0x40U)
  12757. #define DMA_DCHPRI11_DPA_SHIFT (6U)
  12758. /*! DPA - Disable Preempt Ability. This field resets to 0.
  12759. * 0b0..Channel n can suspend a lower priority channel
  12760. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  12761. */
  12762. #define DMA_DCHPRI11_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI11_DPA_SHIFT)) & DMA_DCHPRI11_DPA_MASK)
  12763. #define DMA_DCHPRI11_ECP_MASK (0x80U)
  12764. #define DMA_DCHPRI11_ECP_SHIFT (7U)
  12765. /*! ECP - Enable Channel Preemption. This field resets to 0.
  12766. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  12767. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  12768. */
  12769. #define DMA_DCHPRI11_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI11_ECP_SHIFT)) & DMA_DCHPRI11_ECP_MASK)
  12770. /*! @} */
  12771. /*! @name DCHPRI10 - Channel Priority */
  12772. /*! @{ */
  12773. #define DMA_DCHPRI10_CHPRI_MASK (0xFU)
  12774. #define DMA_DCHPRI10_CHPRI_SHIFT (0U)
  12775. /*! CHPRI - Channel n Arbitration Priority
  12776. */
  12777. #define DMA_DCHPRI10_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI10_CHPRI_SHIFT)) & DMA_DCHPRI10_CHPRI_MASK)
  12778. #define DMA_DCHPRI10_GRPPRI_MASK (0x30U)
  12779. #define DMA_DCHPRI10_GRPPRI_SHIFT (4U)
  12780. /*! GRPPRI - Channel n Current Group Priority
  12781. */
  12782. #define DMA_DCHPRI10_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI10_GRPPRI_SHIFT)) & DMA_DCHPRI10_GRPPRI_MASK)
  12783. #define DMA_DCHPRI10_DPA_MASK (0x40U)
  12784. #define DMA_DCHPRI10_DPA_SHIFT (6U)
  12785. /*! DPA - Disable Preempt Ability. This field resets to 0.
  12786. * 0b0..Channel n can suspend a lower priority channel
  12787. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  12788. */
  12789. #define DMA_DCHPRI10_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI10_DPA_SHIFT)) & DMA_DCHPRI10_DPA_MASK)
  12790. #define DMA_DCHPRI10_ECP_MASK (0x80U)
  12791. #define DMA_DCHPRI10_ECP_SHIFT (7U)
  12792. /*! ECP - Enable Channel Preemption. This field resets to 0.
  12793. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  12794. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  12795. */
  12796. #define DMA_DCHPRI10_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI10_ECP_SHIFT)) & DMA_DCHPRI10_ECP_MASK)
  12797. /*! @} */
  12798. /*! @name DCHPRI9 - Channel Priority */
  12799. /*! @{ */
  12800. #define DMA_DCHPRI9_CHPRI_MASK (0xFU)
  12801. #define DMA_DCHPRI9_CHPRI_SHIFT (0U)
  12802. /*! CHPRI - Channel n Arbitration Priority
  12803. */
  12804. #define DMA_DCHPRI9_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI9_CHPRI_SHIFT)) & DMA_DCHPRI9_CHPRI_MASK)
  12805. #define DMA_DCHPRI9_GRPPRI_MASK (0x30U)
  12806. #define DMA_DCHPRI9_GRPPRI_SHIFT (4U)
  12807. /*! GRPPRI - Channel n Current Group Priority
  12808. */
  12809. #define DMA_DCHPRI9_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI9_GRPPRI_SHIFT)) & DMA_DCHPRI9_GRPPRI_MASK)
  12810. #define DMA_DCHPRI9_DPA_MASK (0x40U)
  12811. #define DMA_DCHPRI9_DPA_SHIFT (6U)
  12812. /*! DPA - Disable Preempt Ability. This field resets to 0.
  12813. * 0b0..Channel n can suspend a lower priority channel
  12814. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  12815. */
  12816. #define DMA_DCHPRI9_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI9_DPA_SHIFT)) & DMA_DCHPRI9_DPA_MASK)
  12817. #define DMA_DCHPRI9_ECP_MASK (0x80U)
  12818. #define DMA_DCHPRI9_ECP_SHIFT (7U)
  12819. /*! ECP - Enable Channel Preemption. This field resets to 0.
  12820. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  12821. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  12822. */
  12823. #define DMA_DCHPRI9_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI9_ECP_SHIFT)) & DMA_DCHPRI9_ECP_MASK)
  12824. /*! @} */
  12825. /*! @name DCHPRI8 - Channel Priority */
  12826. /*! @{ */
  12827. #define DMA_DCHPRI8_CHPRI_MASK (0xFU)
  12828. #define DMA_DCHPRI8_CHPRI_SHIFT (0U)
  12829. /*! CHPRI - Channel n Arbitration Priority
  12830. */
  12831. #define DMA_DCHPRI8_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI8_CHPRI_SHIFT)) & DMA_DCHPRI8_CHPRI_MASK)
  12832. #define DMA_DCHPRI8_GRPPRI_MASK (0x30U)
  12833. #define DMA_DCHPRI8_GRPPRI_SHIFT (4U)
  12834. /*! GRPPRI - Channel n Current Group Priority
  12835. */
  12836. #define DMA_DCHPRI8_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI8_GRPPRI_SHIFT)) & DMA_DCHPRI8_GRPPRI_MASK)
  12837. #define DMA_DCHPRI8_DPA_MASK (0x40U)
  12838. #define DMA_DCHPRI8_DPA_SHIFT (6U)
  12839. /*! DPA - Disable Preempt Ability. This field resets to 0.
  12840. * 0b0..Channel n can suspend a lower priority channel
  12841. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  12842. */
  12843. #define DMA_DCHPRI8_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI8_DPA_SHIFT)) & DMA_DCHPRI8_DPA_MASK)
  12844. #define DMA_DCHPRI8_ECP_MASK (0x80U)
  12845. #define DMA_DCHPRI8_ECP_SHIFT (7U)
  12846. /*! ECP - Enable Channel Preemption. This field resets to 0.
  12847. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  12848. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  12849. */
  12850. #define DMA_DCHPRI8_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI8_ECP_SHIFT)) & DMA_DCHPRI8_ECP_MASK)
  12851. /*! @} */
  12852. /*! @name DCHPRI15 - Channel Priority */
  12853. /*! @{ */
  12854. #define DMA_DCHPRI15_CHPRI_MASK (0xFU)
  12855. #define DMA_DCHPRI15_CHPRI_SHIFT (0U)
  12856. /*! CHPRI - Channel n Arbitration Priority
  12857. */
  12858. #define DMA_DCHPRI15_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI15_CHPRI_SHIFT)) & DMA_DCHPRI15_CHPRI_MASK)
  12859. #define DMA_DCHPRI15_GRPPRI_MASK (0x30U)
  12860. #define DMA_DCHPRI15_GRPPRI_SHIFT (4U)
  12861. /*! GRPPRI - Channel n Current Group Priority
  12862. */
  12863. #define DMA_DCHPRI15_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI15_GRPPRI_SHIFT)) & DMA_DCHPRI15_GRPPRI_MASK)
  12864. #define DMA_DCHPRI15_DPA_MASK (0x40U)
  12865. #define DMA_DCHPRI15_DPA_SHIFT (6U)
  12866. /*! DPA - Disable Preempt Ability. This field resets to 0.
  12867. * 0b0..Channel n can suspend a lower priority channel
  12868. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  12869. */
  12870. #define DMA_DCHPRI15_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI15_DPA_SHIFT)) & DMA_DCHPRI15_DPA_MASK)
  12871. #define DMA_DCHPRI15_ECP_MASK (0x80U)
  12872. #define DMA_DCHPRI15_ECP_SHIFT (7U)
  12873. /*! ECP - Enable Channel Preemption. This field resets to 0.
  12874. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  12875. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  12876. */
  12877. #define DMA_DCHPRI15_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI15_ECP_SHIFT)) & DMA_DCHPRI15_ECP_MASK)
  12878. /*! @} */
  12879. /*! @name DCHPRI14 - Channel Priority */
  12880. /*! @{ */
  12881. #define DMA_DCHPRI14_CHPRI_MASK (0xFU)
  12882. #define DMA_DCHPRI14_CHPRI_SHIFT (0U)
  12883. /*! CHPRI - Channel n Arbitration Priority
  12884. */
  12885. #define DMA_DCHPRI14_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI14_CHPRI_SHIFT)) & DMA_DCHPRI14_CHPRI_MASK)
  12886. #define DMA_DCHPRI14_GRPPRI_MASK (0x30U)
  12887. #define DMA_DCHPRI14_GRPPRI_SHIFT (4U)
  12888. /*! GRPPRI - Channel n Current Group Priority
  12889. */
  12890. #define DMA_DCHPRI14_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI14_GRPPRI_SHIFT)) & DMA_DCHPRI14_GRPPRI_MASK)
  12891. #define DMA_DCHPRI14_DPA_MASK (0x40U)
  12892. #define DMA_DCHPRI14_DPA_SHIFT (6U)
  12893. /*! DPA - Disable Preempt Ability. This field resets to 0.
  12894. * 0b0..Channel n can suspend a lower priority channel
  12895. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  12896. */
  12897. #define DMA_DCHPRI14_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI14_DPA_SHIFT)) & DMA_DCHPRI14_DPA_MASK)
  12898. #define DMA_DCHPRI14_ECP_MASK (0x80U)
  12899. #define DMA_DCHPRI14_ECP_SHIFT (7U)
  12900. /*! ECP - Enable Channel Preemption. This field resets to 0.
  12901. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  12902. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  12903. */
  12904. #define DMA_DCHPRI14_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI14_ECP_SHIFT)) & DMA_DCHPRI14_ECP_MASK)
  12905. /*! @} */
  12906. /*! @name DCHPRI13 - Channel Priority */
  12907. /*! @{ */
  12908. #define DMA_DCHPRI13_CHPRI_MASK (0xFU)
  12909. #define DMA_DCHPRI13_CHPRI_SHIFT (0U)
  12910. /*! CHPRI - Channel n Arbitration Priority
  12911. */
  12912. #define DMA_DCHPRI13_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI13_CHPRI_SHIFT)) & DMA_DCHPRI13_CHPRI_MASK)
  12913. #define DMA_DCHPRI13_GRPPRI_MASK (0x30U)
  12914. #define DMA_DCHPRI13_GRPPRI_SHIFT (4U)
  12915. /*! GRPPRI - Channel n Current Group Priority
  12916. */
  12917. #define DMA_DCHPRI13_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI13_GRPPRI_SHIFT)) & DMA_DCHPRI13_GRPPRI_MASK)
  12918. #define DMA_DCHPRI13_DPA_MASK (0x40U)
  12919. #define DMA_DCHPRI13_DPA_SHIFT (6U)
  12920. /*! DPA - Disable Preempt Ability. This field resets to 0.
  12921. * 0b0..Channel n can suspend a lower priority channel
  12922. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  12923. */
  12924. #define DMA_DCHPRI13_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI13_DPA_SHIFT)) & DMA_DCHPRI13_DPA_MASK)
  12925. #define DMA_DCHPRI13_ECP_MASK (0x80U)
  12926. #define DMA_DCHPRI13_ECP_SHIFT (7U)
  12927. /*! ECP - Enable Channel Preemption. This field resets to 0.
  12928. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  12929. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  12930. */
  12931. #define DMA_DCHPRI13_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI13_ECP_SHIFT)) & DMA_DCHPRI13_ECP_MASK)
  12932. /*! @} */
  12933. /*! @name DCHPRI12 - Channel Priority */
  12934. /*! @{ */
  12935. #define DMA_DCHPRI12_CHPRI_MASK (0xFU)
  12936. #define DMA_DCHPRI12_CHPRI_SHIFT (0U)
  12937. /*! CHPRI - Channel n Arbitration Priority
  12938. */
  12939. #define DMA_DCHPRI12_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI12_CHPRI_SHIFT)) & DMA_DCHPRI12_CHPRI_MASK)
  12940. #define DMA_DCHPRI12_GRPPRI_MASK (0x30U)
  12941. #define DMA_DCHPRI12_GRPPRI_SHIFT (4U)
  12942. /*! GRPPRI - Channel n Current Group Priority
  12943. */
  12944. #define DMA_DCHPRI12_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI12_GRPPRI_SHIFT)) & DMA_DCHPRI12_GRPPRI_MASK)
  12945. #define DMA_DCHPRI12_DPA_MASK (0x40U)
  12946. #define DMA_DCHPRI12_DPA_SHIFT (6U)
  12947. /*! DPA - Disable Preempt Ability. This field resets to 0.
  12948. * 0b0..Channel n can suspend a lower priority channel
  12949. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  12950. */
  12951. #define DMA_DCHPRI12_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI12_DPA_SHIFT)) & DMA_DCHPRI12_DPA_MASK)
  12952. #define DMA_DCHPRI12_ECP_MASK (0x80U)
  12953. #define DMA_DCHPRI12_ECP_SHIFT (7U)
  12954. /*! ECP - Enable Channel Preemption. This field resets to 0.
  12955. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  12956. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  12957. */
  12958. #define DMA_DCHPRI12_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI12_ECP_SHIFT)) & DMA_DCHPRI12_ECP_MASK)
  12959. /*! @} */
  12960. /*! @name DCHPRI19 - Channel Priority */
  12961. /*! @{ */
  12962. #define DMA_DCHPRI19_CHPRI_MASK (0xFU)
  12963. #define DMA_DCHPRI19_CHPRI_SHIFT (0U)
  12964. /*! CHPRI - Channel n Arbitration Priority
  12965. */
  12966. #define DMA_DCHPRI19_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI19_CHPRI_SHIFT)) & DMA_DCHPRI19_CHPRI_MASK)
  12967. #define DMA_DCHPRI19_GRPPRI_MASK (0x30U)
  12968. #define DMA_DCHPRI19_GRPPRI_SHIFT (4U)
  12969. /*! GRPPRI - Channel n Current Group Priority
  12970. */
  12971. #define DMA_DCHPRI19_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI19_GRPPRI_SHIFT)) & DMA_DCHPRI19_GRPPRI_MASK)
  12972. #define DMA_DCHPRI19_DPA_MASK (0x40U)
  12973. #define DMA_DCHPRI19_DPA_SHIFT (6U)
  12974. /*! DPA - Disable Preempt Ability. This field resets to 0.
  12975. * 0b0..Channel n can suspend a lower priority channel
  12976. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  12977. */
  12978. #define DMA_DCHPRI19_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI19_DPA_SHIFT)) & DMA_DCHPRI19_DPA_MASK)
  12979. #define DMA_DCHPRI19_ECP_MASK (0x80U)
  12980. #define DMA_DCHPRI19_ECP_SHIFT (7U)
  12981. /*! ECP - Enable Channel Preemption. This field resets to 0.
  12982. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  12983. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  12984. */
  12985. #define DMA_DCHPRI19_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI19_ECP_SHIFT)) & DMA_DCHPRI19_ECP_MASK)
  12986. /*! @} */
  12987. /*! @name DCHPRI18 - Channel Priority */
  12988. /*! @{ */
  12989. #define DMA_DCHPRI18_CHPRI_MASK (0xFU)
  12990. #define DMA_DCHPRI18_CHPRI_SHIFT (0U)
  12991. /*! CHPRI - Channel n Arbitration Priority
  12992. */
  12993. #define DMA_DCHPRI18_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI18_CHPRI_SHIFT)) & DMA_DCHPRI18_CHPRI_MASK)
  12994. #define DMA_DCHPRI18_GRPPRI_MASK (0x30U)
  12995. #define DMA_DCHPRI18_GRPPRI_SHIFT (4U)
  12996. /*! GRPPRI - Channel n Current Group Priority
  12997. */
  12998. #define DMA_DCHPRI18_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI18_GRPPRI_SHIFT)) & DMA_DCHPRI18_GRPPRI_MASK)
  12999. #define DMA_DCHPRI18_DPA_MASK (0x40U)
  13000. #define DMA_DCHPRI18_DPA_SHIFT (6U)
  13001. /*! DPA - Disable Preempt Ability. This field resets to 0.
  13002. * 0b0..Channel n can suspend a lower priority channel
  13003. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  13004. */
  13005. #define DMA_DCHPRI18_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI18_DPA_SHIFT)) & DMA_DCHPRI18_DPA_MASK)
  13006. #define DMA_DCHPRI18_ECP_MASK (0x80U)
  13007. #define DMA_DCHPRI18_ECP_SHIFT (7U)
  13008. /*! ECP - Enable Channel Preemption. This field resets to 0.
  13009. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  13010. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  13011. */
  13012. #define DMA_DCHPRI18_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI18_ECP_SHIFT)) & DMA_DCHPRI18_ECP_MASK)
  13013. /*! @} */
  13014. /*! @name DCHPRI17 - Channel Priority */
  13015. /*! @{ */
  13016. #define DMA_DCHPRI17_CHPRI_MASK (0xFU)
  13017. #define DMA_DCHPRI17_CHPRI_SHIFT (0U)
  13018. /*! CHPRI - Channel n Arbitration Priority
  13019. */
  13020. #define DMA_DCHPRI17_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI17_CHPRI_SHIFT)) & DMA_DCHPRI17_CHPRI_MASK)
  13021. #define DMA_DCHPRI17_GRPPRI_MASK (0x30U)
  13022. #define DMA_DCHPRI17_GRPPRI_SHIFT (4U)
  13023. /*! GRPPRI - Channel n Current Group Priority
  13024. */
  13025. #define DMA_DCHPRI17_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI17_GRPPRI_SHIFT)) & DMA_DCHPRI17_GRPPRI_MASK)
  13026. #define DMA_DCHPRI17_DPA_MASK (0x40U)
  13027. #define DMA_DCHPRI17_DPA_SHIFT (6U)
  13028. /*! DPA - Disable Preempt Ability. This field resets to 0.
  13029. * 0b0..Channel n can suspend a lower priority channel
  13030. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  13031. */
  13032. #define DMA_DCHPRI17_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI17_DPA_SHIFT)) & DMA_DCHPRI17_DPA_MASK)
  13033. #define DMA_DCHPRI17_ECP_MASK (0x80U)
  13034. #define DMA_DCHPRI17_ECP_SHIFT (7U)
  13035. /*! ECP - Enable Channel Preemption. This field resets to 0.
  13036. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  13037. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  13038. */
  13039. #define DMA_DCHPRI17_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI17_ECP_SHIFT)) & DMA_DCHPRI17_ECP_MASK)
  13040. /*! @} */
  13041. /*! @name DCHPRI16 - Channel Priority */
  13042. /*! @{ */
  13043. #define DMA_DCHPRI16_CHPRI_MASK (0xFU)
  13044. #define DMA_DCHPRI16_CHPRI_SHIFT (0U)
  13045. /*! CHPRI - Channel n Arbitration Priority
  13046. */
  13047. #define DMA_DCHPRI16_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI16_CHPRI_SHIFT)) & DMA_DCHPRI16_CHPRI_MASK)
  13048. #define DMA_DCHPRI16_GRPPRI_MASK (0x30U)
  13049. #define DMA_DCHPRI16_GRPPRI_SHIFT (4U)
  13050. /*! GRPPRI - Channel n Current Group Priority
  13051. */
  13052. #define DMA_DCHPRI16_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI16_GRPPRI_SHIFT)) & DMA_DCHPRI16_GRPPRI_MASK)
  13053. #define DMA_DCHPRI16_DPA_MASK (0x40U)
  13054. #define DMA_DCHPRI16_DPA_SHIFT (6U)
  13055. /*! DPA - Disable Preempt Ability. This field resets to 0.
  13056. * 0b0..Channel n can suspend a lower priority channel
  13057. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  13058. */
  13059. #define DMA_DCHPRI16_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI16_DPA_SHIFT)) & DMA_DCHPRI16_DPA_MASK)
  13060. #define DMA_DCHPRI16_ECP_MASK (0x80U)
  13061. #define DMA_DCHPRI16_ECP_SHIFT (7U)
  13062. /*! ECP - Enable Channel Preemption. This field resets to 0.
  13063. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  13064. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  13065. */
  13066. #define DMA_DCHPRI16_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI16_ECP_SHIFT)) & DMA_DCHPRI16_ECP_MASK)
  13067. /*! @} */
  13068. /*! @name DCHPRI23 - Channel Priority */
  13069. /*! @{ */
  13070. #define DMA_DCHPRI23_CHPRI_MASK (0xFU)
  13071. #define DMA_DCHPRI23_CHPRI_SHIFT (0U)
  13072. /*! CHPRI - Channel n Arbitration Priority
  13073. */
  13074. #define DMA_DCHPRI23_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI23_CHPRI_SHIFT)) & DMA_DCHPRI23_CHPRI_MASK)
  13075. #define DMA_DCHPRI23_GRPPRI_MASK (0x30U)
  13076. #define DMA_DCHPRI23_GRPPRI_SHIFT (4U)
  13077. /*! GRPPRI - Channel n Current Group Priority
  13078. */
  13079. #define DMA_DCHPRI23_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI23_GRPPRI_SHIFT)) & DMA_DCHPRI23_GRPPRI_MASK)
  13080. #define DMA_DCHPRI23_DPA_MASK (0x40U)
  13081. #define DMA_DCHPRI23_DPA_SHIFT (6U)
  13082. /*! DPA - Disable Preempt Ability. This field resets to 0.
  13083. * 0b0..Channel n can suspend a lower priority channel
  13084. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  13085. */
  13086. #define DMA_DCHPRI23_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI23_DPA_SHIFT)) & DMA_DCHPRI23_DPA_MASK)
  13087. #define DMA_DCHPRI23_ECP_MASK (0x80U)
  13088. #define DMA_DCHPRI23_ECP_SHIFT (7U)
  13089. /*! ECP - Enable Channel Preemption. This field resets to 0.
  13090. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  13091. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  13092. */
  13093. #define DMA_DCHPRI23_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI23_ECP_SHIFT)) & DMA_DCHPRI23_ECP_MASK)
  13094. /*! @} */
  13095. /*! @name DCHPRI22 - Channel Priority */
  13096. /*! @{ */
  13097. #define DMA_DCHPRI22_CHPRI_MASK (0xFU)
  13098. #define DMA_DCHPRI22_CHPRI_SHIFT (0U)
  13099. /*! CHPRI - Channel n Arbitration Priority
  13100. */
  13101. #define DMA_DCHPRI22_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI22_CHPRI_SHIFT)) & DMA_DCHPRI22_CHPRI_MASK)
  13102. #define DMA_DCHPRI22_GRPPRI_MASK (0x30U)
  13103. #define DMA_DCHPRI22_GRPPRI_SHIFT (4U)
  13104. /*! GRPPRI - Channel n Current Group Priority
  13105. */
  13106. #define DMA_DCHPRI22_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI22_GRPPRI_SHIFT)) & DMA_DCHPRI22_GRPPRI_MASK)
  13107. #define DMA_DCHPRI22_DPA_MASK (0x40U)
  13108. #define DMA_DCHPRI22_DPA_SHIFT (6U)
  13109. /*! DPA - Disable Preempt Ability. This field resets to 0.
  13110. * 0b0..Channel n can suspend a lower priority channel
  13111. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  13112. */
  13113. #define DMA_DCHPRI22_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI22_DPA_SHIFT)) & DMA_DCHPRI22_DPA_MASK)
  13114. #define DMA_DCHPRI22_ECP_MASK (0x80U)
  13115. #define DMA_DCHPRI22_ECP_SHIFT (7U)
  13116. /*! ECP - Enable Channel Preemption. This field resets to 0.
  13117. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  13118. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  13119. */
  13120. #define DMA_DCHPRI22_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI22_ECP_SHIFT)) & DMA_DCHPRI22_ECP_MASK)
  13121. /*! @} */
  13122. /*! @name DCHPRI21 - Channel Priority */
  13123. /*! @{ */
  13124. #define DMA_DCHPRI21_CHPRI_MASK (0xFU)
  13125. #define DMA_DCHPRI21_CHPRI_SHIFT (0U)
  13126. /*! CHPRI - Channel n Arbitration Priority
  13127. */
  13128. #define DMA_DCHPRI21_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI21_CHPRI_SHIFT)) & DMA_DCHPRI21_CHPRI_MASK)
  13129. #define DMA_DCHPRI21_GRPPRI_MASK (0x30U)
  13130. #define DMA_DCHPRI21_GRPPRI_SHIFT (4U)
  13131. /*! GRPPRI - Channel n Current Group Priority
  13132. */
  13133. #define DMA_DCHPRI21_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI21_GRPPRI_SHIFT)) & DMA_DCHPRI21_GRPPRI_MASK)
  13134. #define DMA_DCHPRI21_DPA_MASK (0x40U)
  13135. #define DMA_DCHPRI21_DPA_SHIFT (6U)
  13136. /*! DPA - Disable Preempt Ability. This field resets to 0.
  13137. * 0b0..Channel n can suspend a lower priority channel
  13138. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  13139. */
  13140. #define DMA_DCHPRI21_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI21_DPA_SHIFT)) & DMA_DCHPRI21_DPA_MASK)
  13141. #define DMA_DCHPRI21_ECP_MASK (0x80U)
  13142. #define DMA_DCHPRI21_ECP_SHIFT (7U)
  13143. /*! ECP - Enable Channel Preemption. This field resets to 0.
  13144. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  13145. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  13146. */
  13147. #define DMA_DCHPRI21_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI21_ECP_SHIFT)) & DMA_DCHPRI21_ECP_MASK)
  13148. /*! @} */
  13149. /*! @name DCHPRI20 - Channel Priority */
  13150. /*! @{ */
  13151. #define DMA_DCHPRI20_CHPRI_MASK (0xFU)
  13152. #define DMA_DCHPRI20_CHPRI_SHIFT (0U)
  13153. /*! CHPRI - Channel n Arbitration Priority
  13154. */
  13155. #define DMA_DCHPRI20_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI20_CHPRI_SHIFT)) & DMA_DCHPRI20_CHPRI_MASK)
  13156. #define DMA_DCHPRI20_GRPPRI_MASK (0x30U)
  13157. #define DMA_DCHPRI20_GRPPRI_SHIFT (4U)
  13158. /*! GRPPRI - Channel n Current Group Priority
  13159. */
  13160. #define DMA_DCHPRI20_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI20_GRPPRI_SHIFT)) & DMA_DCHPRI20_GRPPRI_MASK)
  13161. #define DMA_DCHPRI20_DPA_MASK (0x40U)
  13162. #define DMA_DCHPRI20_DPA_SHIFT (6U)
  13163. /*! DPA - Disable Preempt Ability. This field resets to 0.
  13164. * 0b0..Channel n can suspend a lower priority channel
  13165. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  13166. */
  13167. #define DMA_DCHPRI20_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI20_DPA_SHIFT)) & DMA_DCHPRI20_DPA_MASK)
  13168. #define DMA_DCHPRI20_ECP_MASK (0x80U)
  13169. #define DMA_DCHPRI20_ECP_SHIFT (7U)
  13170. /*! ECP - Enable Channel Preemption. This field resets to 0.
  13171. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  13172. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  13173. */
  13174. #define DMA_DCHPRI20_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI20_ECP_SHIFT)) & DMA_DCHPRI20_ECP_MASK)
  13175. /*! @} */
  13176. /*! @name DCHPRI27 - Channel Priority */
  13177. /*! @{ */
  13178. #define DMA_DCHPRI27_CHPRI_MASK (0xFU)
  13179. #define DMA_DCHPRI27_CHPRI_SHIFT (0U)
  13180. /*! CHPRI - Channel n Arbitration Priority
  13181. */
  13182. #define DMA_DCHPRI27_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI27_CHPRI_SHIFT)) & DMA_DCHPRI27_CHPRI_MASK)
  13183. #define DMA_DCHPRI27_GRPPRI_MASK (0x30U)
  13184. #define DMA_DCHPRI27_GRPPRI_SHIFT (4U)
  13185. /*! GRPPRI - Channel n Current Group Priority
  13186. */
  13187. #define DMA_DCHPRI27_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI27_GRPPRI_SHIFT)) & DMA_DCHPRI27_GRPPRI_MASK)
  13188. #define DMA_DCHPRI27_DPA_MASK (0x40U)
  13189. #define DMA_DCHPRI27_DPA_SHIFT (6U)
  13190. /*! DPA - Disable Preempt Ability. This field resets to 0.
  13191. * 0b0..Channel n can suspend a lower priority channel
  13192. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  13193. */
  13194. #define DMA_DCHPRI27_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI27_DPA_SHIFT)) & DMA_DCHPRI27_DPA_MASK)
  13195. #define DMA_DCHPRI27_ECP_MASK (0x80U)
  13196. #define DMA_DCHPRI27_ECP_SHIFT (7U)
  13197. /*! ECP - Enable Channel Preemption. This field resets to 0.
  13198. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  13199. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  13200. */
  13201. #define DMA_DCHPRI27_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI27_ECP_SHIFT)) & DMA_DCHPRI27_ECP_MASK)
  13202. /*! @} */
  13203. /*! @name DCHPRI26 - Channel Priority */
  13204. /*! @{ */
  13205. #define DMA_DCHPRI26_CHPRI_MASK (0xFU)
  13206. #define DMA_DCHPRI26_CHPRI_SHIFT (0U)
  13207. /*! CHPRI - Channel n Arbitration Priority
  13208. */
  13209. #define DMA_DCHPRI26_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI26_CHPRI_SHIFT)) & DMA_DCHPRI26_CHPRI_MASK)
  13210. #define DMA_DCHPRI26_GRPPRI_MASK (0x30U)
  13211. #define DMA_DCHPRI26_GRPPRI_SHIFT (4U)
  13212. /*! GRPPRI - Channel n Current Group Priority
  13213. */
  13214. #define DMA_DCHPRI26_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI26_GRPPRI_SHIFT)) & DMA_DCHPRI26_GRPPRI_MASK)
  13215. #define DMA_DCHPRI26_DPA_MASK (0x40U)
  13216. #define DMA_DCHPRI26_DPA_SHIFT (6U)
  13217. /*! DPA - Disable Preempt Ability. This field resets to 0.
  13218. * 0b0..Channel n can suspend a lower priority channel
  13219. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  13220. */
  13221. #define DMA_DCHPRI26_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI26_DPA_SHIFT)) & DMA_DCHPRI26_DPA_MASK)
  13222. #define DMA_DCHPRI26_ECP_MASK (0x80U)
  13223. #define DMA_DCHPRI26_ECP_SHIFT (7U)
  13224. /*! ECP - Enable Channel Preemption. This field resets to 0.
  13225. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  13226. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  13227. */
  13228. #define DMA_DCHPRI26_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI26_ECP_SHIFT)) & DMA_DCHPRI26_ECP_MASK)
  13229. /*! @} */
  13230. /*! @name DCHPRI25 - Channel Priority */
  13231. /*! @{ */
  13232. #define DMA_DCHPRI25_CHPRI_MASK (0xFU)
  13233. #define DMA_DCHPRI25_CHPRI_SHIFT (0U)
  13234. /*! CHPRI - Channel n Arbitration Priority
  13235. */
  13236. #define DMA_DCHPRI25_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI25_CHPRI_SHIFT)) & DMA_DCHPRI25_CHPRI_MASK)
  13237. #define DMA_DCHPRI25_GRPPRI_MASK (0x30U)
  13238. #define DMA_DCHPRI25_GRPPRI_SHIFT (4U)
  13239. /*! GRPPRI - Channel n Current Group Priority
  13240. */
  13241. #define DMA_DCHPRI25_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI25_GRPPRI_SHIFT)) & DMA_DCHPRI25_GRPPRI_MASK)
  13242. #define DMA_DCHPRI25_DPA_MASK (0x40U)
  13243. #define DMA_DCHPRI25_DPA_SHIFT (6U)
  13244. /*! DPA - Disable Preempt Ability. This field resets to 0.
  13245. * 0b0..Channel n can suspend a lower priority channel
  13246. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  13247. */
  13248. #define DMA_DCHPRI25_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI25_DPA_SHIFT)) & DMA_DCHPRI25_DPA_MASK)
  13249. #define DMA_DCHPRI25_ECP_MASK (0x80U)
  13250. #define DMA_DCHPRI25_ECP_SHIFT (7U)
  13251. /*! ECP - Enable Channel Preemption. This field resets to 0.
  13252. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  13253. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  13254. */
  13255. #define DMA_DCHPRI25_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI25_ECP_SHIFT)) & DMA_DCHPRI25_ECP_MASK)
  13256. /*! @} */
  13257. /*! @name DCHPRI24 - Channel Priority */
  13258. /*! @{ */
  13259. #define DMA_DCHPRI24_CHPRI_MASK (0xFU)
  13260. #define DMA_DCHPRI24_CHPRI_SHIFT (0U)
  13261. /*! CHPRI - Channel n Arbitration Priority
  13262. */
  13263. #define DMA_DCHPRI24_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI24_CHPRI_SHIFT)) & DMA_DCHPRI24_CHPRI_MASK)
  13264. #define DMA_DCHPRI24_GRPPRI_MASK (0x30U)
  13265. #define DMA_DCHPRI24_GRPPRI_SHIFT (4U)
  13266. /*! GRPPRI - Channel n Current Group Priority
  13267. */
  13268. #define DMA_DCHPRI24_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI24_GRPPRI_SHIFT)) & DMA_DCHPRI24_GRPPRI_MASK)
  13269. #define DMA_DCHPRI24_DPA_MASK (0x40U)
  13270. #define DMA_DCHPRI24_DPA_SHIFT (6U)
  13271. /*! DPA - Disable Preempt Ability. This field resets to 0.
  13272. * 0b0..Channel n can suspend a lower priority channel
  13273. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  13274. */
  13275. #define DMA_DCHPRI24_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI24_DPA_SHIFT)) & DMA_DCHPRI24_DPA_MASK)
  13276. #define DMA_DCHPRI24_ECP_MASK (0x80U)
  13277. #define DMA_DCHPRI24_ECP_SHIFT (7U)
  13278. /*! ECP - Enable Channel Preemption. This field resets to 0.
  13279. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  13280. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  13281. */
  13282. #define DMA_DCHPRI24_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI24_ECP_SHIFT)) & DMA_DCHPRI24_ECP_MASK)
  13283. /*! @} */
  13284. /*! @name DCHPRI31 - Channel Priority */
  13285. /*! @{ */
  13286. #define DMA_DCHPRI31_CHPRI_MASK (0xFU)
  13287. #define DMA_DCHPRI31_CHPRI_SHIFT (0U)
  13288. /*! CHPRI - Channel n Arbitration Priority
  13289. */
  13290. #define DMA_DCHPRI31_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI31_CHPRI_SHIFT)) & DMA_DCHPRI31_CHPRI_MASK)
  13291. #define DMA_DCHPRI31_GRPPRI_MASK (0x30U)
  13292. #define DMA_DCHPRI31_GRPPRI_SHIFT (4U)
  13293. /*! GRPPRI - Channel n Current Group Priority
  13294. */
  13295. #define DMA_DCHPRI31_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI31_GRPPRI_SHIFT)) & DMA_DCHPRI31_GRPPRI_MASK)
  13296. #define DMA_DCHPRI31_DPA_MASK (0x40U)
  13297. #define DMA_DCHPRI31_DPA_SHIFT (6U)
  13298. /*! DPA - Disable Preempt Ability. This field resets to 0.
  13299. * 0b0..Channel n can suspend a lower priority channel
  13300. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  13301. */
  13302. #define DMA_DCHPRI31_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI31_DPA_SHIFT)) & DMA_DCHPRI31_DPA_MASK)
  13303. #define DMA_DCHPRI31_ECP_MASK (0x80U)
  13304. #define DMA_DCHPRI31_ECP_SHIFT (7U)
  13305. /*! ECP - Enable Channel Preemption. This field resets to 0.
  13306. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  13307. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  13308. */
  13309. #define DMA_DCHPRI31_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI31_ECP_SHIFT)) & DMA_DCHPRI31_ECP_MASK)
  13310. /*! @} */
  13311. /*! @name DCHPRI30 - Channel Priority */
  13312. /*! @{ */
  13313. #define DMA_DCHPRI30_CHPRI_MASK (0xFU)
  13314. #define DMA_DCHPRI30_CHPRI_SHIFT (0U)
  13315. /*! CHPRI - Channel n Arbitration Priority
  13316. */
  13317. #define DMA_DCHPRI30_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI30_CHPRI_SHIFT)) & DMA_DCHPRI30_CHPRI_MASK)
  13318. #define DMA_DCHPRI30_GRPPRI_MASK (0x30U)
  13319. #define DMA_DCHPRI30_GRPPRI_SHIFT (4U)
  13320. /*! GRPPRI - Channel n Current Group Priority
  13321. */
  13322. #define DMA_DCHPRI30_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI30_GRPPRI_SHIFT)) & DMA_DCHPRI30_GRPPRI_MASK)
  13323. #define DMA_DCHPRI30_DPA_MASK (0x40U)
  13324. #define DMA_DCHPRI30_DPA_SHIFT (6U)
  13325. /*! DPA - Disable Preempt Ability. This field resets to 0.
  13326. * 0b0..Channel n can suspend a lower priority channel
  13327. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  13328. */
  13329. #define DMA_DCHPRI30_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI30_DPA_SHIFT)) & DMA_DCHPRI30_DPA_MASK)
  13330. #define DMA_DCHPRI30_ECP_MASK (0x80U)
  13331. #define DMA_DCHPRI30_ECP_SHIFT (7U)
  13332. /*! ECP - Enable Channel Preemption. This field resets to 0.
  13333. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  13334. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  13335. */
  13336. #define DMA_DCHPRI30_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI30_ECP_SHIFT)) & DMA_DCHPRI30_ECP_MASK)
  13337. /*! @} */
  13338. /*! @name DCHPRI29 - Channel Priority */
  13339. /*! @{ */
  13340. #define DMA_DCHPRI29_CHPRI_MASK (0xFU)
  13341. #define DMA_DCHPRI29_CHPRI_SHIFT (0U)
  13342. /*! CHPRI - Channel n Arbitration Priority
  13343. */
  13344. #define DMA_DCHPRI29_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI29_CHPRI_SHIFT)) & DMA_DCHPRI29_CHPRI_MASK)
  13345. #define DMA_DCHPRI29_GRPPRI_MASK (0x30U)
  13346. #define DMA_DCHPRI29_GRPPRI_SHIFT (4U)
  13347. /*! GRPPRI - Channel n Current Group Priority
  13348. */
  13349. #define DMA_DCHPRI29_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI29_GRPPRI_SHIFT)) & DMA_DCHPRI29_GRPPRI_MASK)
  13350. #define DMA_DCHPRI29_DPA_MASK (0x40U)
  13351. #define DMA_DCHPRI29_DPA_SHIFT (6U)
  13352. /*! DPA - Disable Preempt Ability. This field resets to 0.
  13353. * 0b0..Channel n can suspend a lower priority channel
  13354. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  13355. */
  13356. #define DMA_DCHPRI29_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI29_DPA_SHIFT)) & DMA_DCHPRI29_DPA_MASK)
  13357. #define DMA_DCHPRI29_ECP_MASK (0x80U)
  13358. #define DMA_DCHPRI29_ECP_SHIFT (7U)
  13359. /*! ECP - Enable Channel Preemption. This field resets to 0.
  13360. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  13361. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  13362. */
  13363. #define DMA_DCHPRI29_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI29_ECP_SHIFT)) & DMA_DCHPRI29_ECP_MASK)
  13364. /*! @} */
  13365. /*! @name DCHPRI28 - Channel Priority */
  13366. /*! @{ */
  13367. #define DMA_DCHPRI28_CHPRI_MASK (0xFU)
  13368. #define DMA_DCHPRI28_CHPRI_SHIFT (0U)
  13369. /*! CHPRI - Channel n Arbitration Priority
  13370. */
  13371. #define DMA_DCHPRI28_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI28_CHPRI_SHIFT)) & DMA_DCHPRI28_CHPRI_MASK)
  13372. #define DMA_DCHPRI28_GRPPRI_MASK (0x30U)
  13373. #define DMA_DCHPRI28_GRPPRI_SHIFT (4U)
  13374. /*! GRPPRI - Channel n Current Group Priority
  13375. */
  13376. #define DMA_DCHPRI28_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI28_GRPPRI_SHIFT)) & DMA_DCHPRI28_GRPPRI_MASK)
  13377. #define DMA_DCHPRI28_DPA_MASK (0x40U)
  13378. #define DMA_DCHPRI28_DPA_SHIFT (6U)
  13379. /*! DPA - Disable Preempt Ability. This field resets to 0.
  13380. * 0b0..Channel n can suspend a lower priority channel
  13381. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  13382. */
  13383. #define DMA_DCHPRI28_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI28_DPA_SHIFT)) & DMA_DCHPRI28_DPA_MASK)
  13384. #define DMA_DCHPRI28_ECP_MASK (0x80U)
  13385. #define DMA_DCHPRI28_ECP_SHIFT (7U)
  13386. /*! ECP - Enable Channel Preemption. This field resets to 0.
  13387. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  13388. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  13389. */
  13390. #define DMA_DCHPRI28_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI28_ECP_SHIFT)) & DMA_DCHPRI28_ECP_MASK)
  13391. /*! @} */
  13392. /*! @name SADDR - TCD Source Address */
  13393. /*! @{ */
  13394. #define DMA_SADDR_SADDR_MASK (0xFFFFFFFFU)
  13395. #define DMA_SADDR_SADDR_SHIFT (0U)
  13396. /*! SADDR - Source Address
  13397. */
  13398. #define DMA_SADDR_SADDR(x) (((uint32_t)(((uint32_t)(x)) << DMA_SADDR_SADDR_SHIFT)) & DMA_SADDR_SADDR_MASK)
  13399. /*! @} */
  13400. /* The count of DMA_SADDR */
  13401. #define DMA_SADDR_COUNT (32U)
  13402. /*! @name SOFF - TCD Signed Source Address Offset */
  13403. /*! @{ */
  13404. #define DMA_SOFF_SOFF_MASK (0xFFFFU)
  13405. #define DMA_SOFF_SOFF_SHIFT (0U)
  13406. /*! SOFF - Source address signed offset
  13407. */
  13408. #define DMA_SOFF_SOFF(x) (((uint16_t)(((uint16_t)(x)) << DMA_SOFF_SOFF_SHIFT)) & DMA_SOFF_SOFF_MASK)
  13409. /*! @} */
  13410. /* The count of DMA_SOFF */
  13411. #define DMA_SOFF_COUNT (32U)
  13412. /*! @name ATTR - TCD Transfer Attributes */
  13413. /*! @{ */
  13414. #define DMA_ATTR_DSIZE_MASK (0x7U)
  13415. #define DMA_ATTR_DSIZE_SHIFT (0U)
  13416. /*! DSIZE - Destination data transfer size
  13417. */
  13418. #define DMA_ATTR_DSIZE(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_DSIZE_SHIFT)) & DMA_ATTR_DSIZE_MASK)
  13419. #define DMA_ATTR_DMOD_MASK (0xF8U)
  13420. #define DMA_ATTR_DMOD_SHIFT (3U)
  13421. /*! DMOD - Destination Address Modulo
  13422. */
  13423. #define DMA_ATTR_DMOD(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_DMOD_SHIFT)) & DMA_ATTR_DMOD_MASK)
  13424. #define DMA_ATTR_SSIZE_MASK (0x700U)
  13425. #define DMA_ATTR_SSIZE_SHIFT (8U)
  13426. /*! SSIZE - Source data transfer size
  13427. * 0b000..8-bit
  13428. * 0b001..16-bit
  13429. * 0b010..32-bit
  13430. * 0b011..64-bit
  13431. * 0b100..Reserved
  13432. * 0b101..32-byte burst (4 beats of 64 bits)
  13433. * 0b110..Reserved
  13434. * 0b111..Reserved
  13435. */
  13436. #define DMA_ATTR_SSIZE(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_SSIZE_SHIFT)) & DMA_ATTR_SSIZE_MASK)
  13437. #define DMA_ATTR_SMOD_MASK (0xF800U)
  13438. #define DMA_ATTR_SMOD_SHIFT (11U)
  13439. /*! SMOD - Source Address Modulo
  13440. * 0b00000..Source address modulo feature is disabled
  13441. * 0b00001-0b11111..Value defines address range used to set up circular data queue
  13442. */
  13443. #define DMA_ATTR_SMOD(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_SMOD_SHIFT)) & DMA_ATTR_SMOD_MASK)
  13444. /*! @} */
  13445. /* The count of DMA_ATTR */
  13446. #define DMA_ATTR_COUNT (32U)
  13447. /*! @name NBYTES_MLNO - TCD Minor Byte Count (Minor Loop Mapping Disabled) */
  13448. /*! @{ */
  13449. #define DMA_NBYTES_MLNO_NBYTES_MASK (0xFFFFFFFFU)
  13450. #define DMA_NBYTES_MLNO_NBYTES_SHIFT (0U)
  13451. /*! NBYTES - Minor Byte Transfer Count
  13452. */
  13453. #define DMA_NBYTES_MLNO_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLNO_NBYTES_SHIFT)) & DMA_NBYTES_MLNO_NBYTES_MASK)
  13454. /*! @} */
  13455. /* The count of DMA_NBYTES_MLNO */
  13456. #define DMA_NBYTES_MLNO_COUNT (32U)
  13457. /*! @name NBYTES_MLOFFNO - TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled) */
  13458. /*! @{ */
  13459. #define DMA_NBYTES_MLOFFNO_NBYTES_MASK (0x3FFFFFFFU)
  13460. #define DMA_NBYTES_MLOFFNO_NBYTES_SHIFT (0U)
  13461. /*! NBYTES - Minor Byte Transfer Count
  13462. */
  13463. #define DMA_NBYTES_MLOFFNO_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFNO_NBYTES_SHIFT)) & DMA_NBYTES_MLOFFNO_NBYTES_MASK)
  13464. #define DMA_NBYTES_MLOFFNO_DMLOE_MASK (0x40000000U)
  13465. #define DMA_NBYTES_MLOFFNO_DMLOE_SHIFT (30U)
  13466. /*! DMLOE - Destination Minor Loop Offset Enable
  13467. * 0b0..The minor loop offset is not applied to the DADDR
  13468. * 0b1..The minor loop offset is applied to the DADDR
  13469. */
  13470. #define DMA_NBYTES_MLOFFNO_DMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFNO_DMLOE_SHIFT)) & DMA_NBYTES_MLOFFNO_DMLOE_MASK)
  13471. #define DMA_NBYTES_MLOFFNO_SMLOE_MASK (0x80000000U)
  13472. #define DMA_NBYTES_MLOFFNO_SMLOE_SHIFT (31U)
  13473. /*! SMLOE - Source Minor Loop Offset Enable
  13474. * 0b0..The minor loop offset is not applied to the SADDR
  13475. * 0b1..The minor loop offset is applied to the SADDR
  13476. */
  13477. #define DMA_NBYTES_MLOFFNO_SMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFNO_SMLOE_SHIFT)) & DMA_NBYTES_MLOFFNO_SMLOE_MASK)
  13478. /*! @} */
  13479. /* The count of DMA_NBYTES_MLOFFNO */
  13480. #define DMA_NBYTES_MLOFFNO_COUNT (32U)
  13481. /*! @name NBYTES_MLOFFYES - TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled) */
  13482. /*! @{ */
  13483. #define DMA_NBYTES_MLOFFYES_NBYTES_MASK (0x3FFU)
  13484. #define DMA_NBYTES_MLOFFYES_NBYTES_SHIFT (0U)
  13485. /*! NBYTES - Minor Byte Transfer Count
  13486. */
  13487. #define DMA_NBYTES_MLOFFYES_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_NBYTES_SHIFT)) & DMA_NBYTES_MLOFFYES_NBYTES_MASK)
  13488. #define DMA_NBYTES_MLOFFYES_MLOFF_MASK (0x3FFFFC00U)
  13489. #define DMA_NBYTES_MLOFFYES_MLOFF_SHIFT (10U)
  13490. /*! MLOFF - If SMLOE = 1 or DMLOE = 1, this field represents a sign-extended offset applied to the
  13491. * source or destination address to form the next-state value after the minor loop completes.
  13492. */
  13493. #define DMA_NBYTES_MLOFFYES_MLOFF(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_MLOFF_SHIFT)) & DMA_NBYTES_MLOFFYES_MLOFF_MASK)
  13494. #define DMA_NBYTES_MLOFFYES_DMLOE_MASK (0x40000000U)
  13495. #define DMA_NBYTES_MLOFFYES_DMLOE_SHIFT (30U)
  13496. /*! DMLOE - Destination Minor Loop Offset Enable
  13497. * 0b0..The minor loop offset is not applied to the DADDR
  13498. * 0b1..The minor loop offset is applied to the DADDR
  13499. */
  13500. #define DMA_NBYTES_MLOFFYES_DMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_DMLOE_SHIFT)) & DMA_NBYTES_MLOFFYES_DMLOE_MASK)
  13501. #define DMA_NBYTES_MLOFFYES_SMLOE_MASK (0x80000000U)
  13502. #define DMA_NBYTES_MLOFFYES_SMLOE_SHIFT (31U)
  13503. /*! SMLOE - Source Minor Loop Offset Enable
  13504. * 0b0..The minor loop offset is not applied to the SADDR
  13505. * 0b1..The minor loop offset is applied to the SADDR
  13506. */
  13507. #define DMA_NBYTES_MLOFFYES_SMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_SMLOE_SHIFT)) & DMA_NBYTES_MLOFFYES_SMLOE_MASK)
  13508. /*! @} */
  13509. /* The count of DMA_NBYTES_MLOFFYES */
  13510. #define DMA_NBYTES_MLOFFYES_COUNT (32U)
  13511. /*! @name SLAST - TCD Last Source Address Adjustment */
  13512. /*! @{ */
  13513. #define DMA_SLAST_SLAST_MASK (0xFFFFFFFFU)
  13514. #define DMA_SLAST_SLAST_SHIFT (0U)
  13515. /*! SLAST - Last Source Address Adjustment
  13516. */
  13517. #define DMA_SLAST_SLAST(x) (((uint32_t)(((uint32_t)(x)) << DMA_SLAST_SLAST_SHIFT)) & DMA_SLAST_SLAST_MASK)
  13518. /*! @} */
  13519. /* The count of DMA_SLAST */
  13520. #define DMA_SLAST_COUNT (32U)
  13521. /*! @name DADDR - TCD Destination Address */
  13522. /*! @{ */
  13523. #define DMA_DADDR_DADDR_MASK (0xFFFFFFFFU)
  13524. #define DMA_DADDR_DADDR_SHIFT (0U)
  13525. /*! DADDR - Destination Address
  13526. */
  13527. #define DMA_DADDR_DADDR(x) (((uint32_t)(((uint32_t)(x)) << DMA_DADDR_DADDR_SHIFT)) & DMA_DADDR_DADDR_MASK)
  13528. /*! @} */
  13529. /* The count of DMA_DADDR */
  13530. #define DMA_DADDR_COUNT (32U)
  13531. /*! @name DOFF - TCD Signed Destination Address Offset */
  13532. /*! @{ */
  13533. #define DMA_DOFF_DOFF_MASK (0xFFFFU)
  13534. #define DMA_DOFF_DOFF_SHIFT (0U)
  13535. /*! DOFF - Destination Address Signed Offset
  13536. */
  13537. #define DMA_DOFF_DOFF(x) (((uint16_t)(((uint16_t)(x)) << DMA_DOFF_DOFF_SHIFT)) & DMA_DOFF_DOFF_MASK)
  13538. /*! @} */
  13539. /* The count of DMA_DOFF */
  13540. #define DMA_DOFF_COUNT (32U)
  13541. /*! @name CITER_ELINKNO - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled) */
  13542. /*! @{ */
  13543. #define DMA_CITER_ELINKNO_CITER_MASK (0x7FFFU)
  13544. #define DMA_CITER_ELINKNO_CITER_SHIFT (0U)
  13545. /*! CITER - Current Major Iteration Count
  13546. */
  13547. #define DMA_CITER_ELINKNO_CITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKNO_CITER_SHIFT)) & DMA_CITER_ELINKNO_CITER_MASK)
  13548. #define DMA_CITER_ELINKNO_ELINK_MASK (0x8000U)
  13549. #define DMA_CITER_ELINKNO_ELINK_SHIFT (15U)
  13550. /*! ELINK - Enable channel-to-channel linking on minor-loop complete
  13551. * 0b0..Channel-to-channel linking is disabled
  13552. * 0b1..Channel-to-channel linking is enabled
  13553. */
  13554. #define DMA_CITER_ELINKNO_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKNO_ELINK_SHIFT)) & DMA_CITER_ELINKNO_ELINK_MASK)
  13555. /*! @} */
  13556. /* The count of DMA_CITER_ELINKNO */
  13557. #define DMA_CITER_ELINKNO_COUNT (32U)
  13558. /*! @name CITER_ELINKYES - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled) */
  13559. /*! @{ */
  13560. #define DMA_CITER_ELINKYES_CITER_MASK (0x1FFU)
  13561. #define DMA_CITER_ELINKYES_CITER_SHIFT (0U)
  13562. /*! CITER - Current Major Iteration Count
  13563. */
  13564. #define DMA_CITER_ELINKYES_CITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKYES_CITER_SHIFT)) & DMA_CITER_ELINKYES_CITER_MASK)
  13565. #define DMA_CITER_ELINKYES_LINKCH_MASK (0x3E00U)
  13566. #define DMA_CITER_ELINKYES_LINKCH_SHIFT (9U)
  13567. /*! LINKCH - Minor Loop Link Channel Number
  13568. */
  13569. #define DMA_CITER_ELINKYES_LINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKYES_LINKCH_SHIFT)) & DMA_CITER_ELINKYES_LINKCH_MASK)
  13570. #define DMA_CITER_ELINKYES_ELINK_MASK (0x8000U)
  13571. #define DMA_CITER_ELINKYES_ELINK_SHIFT (15U)
  13572. /*! ELINK - Enable channel-to-channel linking on minor-loop complete
  13573. * 0b0..Channel-to-channel linking is disabled
  13574. * 0b1..Channel-to-channel linking is enabled
  13575. */
  13576. #define DMA_CITER_ELINKYES_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKYES_ELINK_SHIFT)) & DMA_CITER_ELINKYES_ELINK_MASK)
  13577. /*! @} */
  13578. /* The count of DMA_CITER_ELINKYES */
  13579. #define DMA_CITER_ELINKYES_COUNT (32U)
  13580. /*! @name DLAST_SGA - TCD Last Destination Address Adjustment/Scatter Gather Address */
  13581. /*! @{ */
  13582. #define DMA_DLAST_SGA_DLASTSGA_MASK (0xFFFFFFFFU)
  13583. #define DMA_DLAST_SGA_DLASTSGA_SHIFT (0U)
  13584. /*! DLASTSGA - Destination last address adjustment, or next memory address TCD for channel (scatter/gather)
  13585. */
  13586. #define DMA_DLAST_SGA_DLASTSGA(x) (((uint32_t)(((uint32_t)(x)) << DMA_DLAST_SGA_DLASTSGA_SHIFT)) & DMA_DLAST_SGA_DLASTSGA_MASK)
  13587. /*! @} */
  13588. /* The count of DMA_DLAST_SGA */
  13589. #define DMA_DLAST_SGA_COUNT (32U)
  13590. /*! @name CSR - TCD Control and Status */
  13591. /*! @{ */
  13592. #define DMA_CSR_START_MASK (0x1U)
  13593. #define DMA_CSR_START_SHIFT (0U)
  13594. /*! START - Channel Start
  13595. * 0b0..Channel is not explicitly started
  13596. * 0b1..Channel is explicitly started via a software initiated service request
  13597. */
  13598. #define DMA_CSR_START(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_START_SHIFT)) & DMA_CSR_START_MASK)
  13599. #define DMA_CSR_INTMAJOR_MASK (0x2U)
  13600. #define DMA_CSR_INTMAJOR_SHIFT (1U)
  13601. /*! INTMAJOR - Enable an interrupt when major iteration count completes.
  13602. * 0b0..End of major loop interrupt is disabled
  13603. * 0b1..End of major loop interrupt is enabled
  13604. */
  13605. #define DMA_CSR_INTMAJOR(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_INTMAJOR_SHIFT)) & DMA_CSR_INTMAJOR_MASK)
  13606. #define DMA_CSR_INTHALF_MASK (0x4U)
  13607. #define DMA_CSR_INTHALF_SHIFT (2U)
  13608. /*! INTHALF - Enable an interrupt when major counter is half complete.
  13609. * 0b0..Half-point interrupt is disabled
  13610. * 0b1..Half-point interrupt is enabled
  13611. */
  13612. #define DMA_CSR_INTHALF(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_INTHALF_SHIFT)) & DMA_CSR_INTHALF_MASK)
  13613. #define DMA_CSR_DREQ_MASK (0x8U)
  13614. #define DMA_CSR_DREQ_SHIFT (3U)
  13615. /*! DREQ - Disable Request
  13616. * 0b0..The channel's ERQ field is not affected
  13617. * 0b1..The channel's ERQ field value changes to 0 when the major loop is complete
  13618. */
  13619. #define DMA_CSR_DREQ(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_DREQ_SHIFT)) & DMA_CSR_DREQ_MASK)
  13620. #define DMA_CSR_ESG_MASK (0x10U)
  13621. #define DMA_CSR_ESG_SHIFT (4U)
  13622. /*! ESG - Enable Scatter/Gather Processing
  13623. * 0b0..The current channel's TCD is normal format
  13624. * 0b1..The current channel's TCD specifies a scatter gather format
  13625. */
  13626. #define DMA_CSR_ESG(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_ESG_SHIFT)) & DMA_CSR_ESG_MASK)
  13627. #define DMA_CSR_MAJORELINK_MASK (0x20U)
  13628. #define DMA_CSR_MAJORELINK_SHIFT (5U)
  13629. /*! MAJORELINK - Enable channel-to-channel linking on major loop complete
  13630. * 0b0..Channel-to-channel linking is disabled
  13631. * 0b1..Channel-to-channel linking is enabled
  13632. */
  13633. #define DMA_CSR_MAJORELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_MAJORELINK_SHIFT)) & DMA_CSR_MAJORELINK_MASK)
  13634. #define DMA_CSR_ACTIVE_MASK (0x40U)
  13635. #define DMA_CSR_ACTIVE_SHIFT (6U)
  13636. /*! ACTIVE - Channel Active
  13637. */
  13638. #define DMA_CSR_ACTIVE(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_ACTIVE_SHIFT)) & DMA_CSR_ACTIVE_MASK)
  13639. #define DMA_CSR_DONE_MASK (0x80U)
  13640. #define DMA_CSR_DONE_SHIFT (7U)
  13641. /*! DONE - Channel Done
  13642. */
  13643. #define DMA_CSR_DONE(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_DONE_SHIFT)) & DMA_CSR_DONE_MASK)
  13644. #define DMA_CSR_MAJORLINKCH_MASK (0x1F00U)
  13645. #define DMA_CSR_MAJORLINKCH_SHIFT (8U)
  13646. /*! MAJORLINKCH - Major Loop Link Channel Number
  13647. */
  13648. #define DMA_CSR_MAJORLINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_MAJORLINKCH_SHIFT)) & DMA_CSR_MAJORLINKCH_MASK)
  13649. #define DMA_CSR_BWC_MASK (0xC000U)
  13650. #define DMA_CSR_BWC_SHIFT (14U)
  13651. /*! BWC - Bandwidth Control
  13652. * 0b00..No eDMA engine stalls
  13653. * 0b01..Reserved
  13654. * 0b10..eDMA engine stalls for 4 cycles after each R/W
  13655. * 0b11..eDMA engine stalls for 8 cycles after each R/W
  13656. */
  13657. #define DMA_CSR_BWC(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_BWC_SHIFT)) & DMA_CSR_BWC_MASK)
  13658. /*! @} */
  13659. /* The count of DMA_CSR */
  13660. #define DMA_CSR_COUNT (32U)
  13661. /*! @name BITER_ELINKNO - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled) */
  13662. /*! @{ */
  13663. #define DMA_BITER_ELINKNO_BITER_MASK (0x7FFFU)
  13664. #define DMA_BITER_ELINKNO_BITER_SHIFT (0U)
  13665. /*! BITER - Starting Major Iteration Count
  13666. */
  13667. #define DMA_BITER_ELINKNO_BITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKNO_BITER_SHIFT)) & DMA_BITER_ELINKNO_BITER_MASK)
  13668. #define DMA_BITER_ELINKNO_ELINK_MASK (0x8000U)
  13669. #define DMA_BITER_ELINKNO_ELINK_SHIFT (15U)
  13670. /*! ELINK - Enables channel-to-channel linking on minor loop complete
  13671. * 0b0..Channel-to-channel linking is disabled
  13672. * 0b1..Channel-to-channel linking is enabled
  13673. */
  13674. #define DMA_BITER_ELINKNO_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKNO_ELINK_SHIFT)) & DMA_BITER_ELINKNO_ELINK_MASK)
  13675. /*! @} */
  13676. /* The count of DMA_BITER_ELINKNO */
  13677. #define DMA_BITER_ELINKNO_COUNT (32U)
  13678. /*! @name BITER_ELINKYES - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled) */
  13679. /*! @{ */
  13680. #define DMA_BITER_ELINKYES_BITER_MASK (0x1FFU)
  13681. #define DMA_BITER_ELINKYES_BITER_SHIFT (0U)
  13682. /*! BITER - Starting major iteration count
  13683. */
  13684. #define DMA_BITER_ELINKYES_BITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKYES_BITER_SHIFT)) & DMA_BITER_ELINKYES_BITER_MASK)
  13685. #define DMA_BITER_ELINKYES_LINKCH_MASK (0x3E00U)
  13686. #define DMA_BITER_ELINKYES_LINKCH_SHIFT (9U)
  13687. /*! LINKCH - Link Channel Number
  13688. */
  13689. #define DMA_BITER_ELINKYES_LINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKYES_LINKCH_SHIFT)) & DMA_BITER_ELINKYES_LINKCH_MASK)
  13690. #define DMA_BITER_ELINKYES_ELINK_MASK (0x8000U)
  13691. #define DMA_BITER_ELINKYES_ELINK_SHIFT (15U)
  13692. /*! ELINK - Enables channel-to-channel linking on minor loop complete
  13693. * 0b0..Channel-to-channel linking is disabled
  13694. * 0b1..Channel-to-channel linking is enabled
  13695. */
  13696. #define DMA_BITER_ELINKYES_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKYES_ELINK_SHIFT)) & DMA_BITER_ELINKYES_ELINK_MASK)
  13697. /*! @} */
  13698. /* The count of DMA_BITER_ELINKYES */
  13699. #define DMA_BITER_ELINKYES_COUNT (32U)
  13700. /*!
  13701. * @}
  13702. */ /* end of group DMA_Register_Masks */
  13703. /* DMA - Peripheral instance base addresses */
  13704. /** Peripheral DMA0 base address */
  13705. #define DMA0_BASE (0x400E8000u)
  13706. /** Peripheral DMA0 base pointer */
  13707. #define DMA0 ((DMA_Type *)DMA0_BASE)
  13708. /** Array initializer of DMA peripheral base addresses */
  13709. #define DMA_BASE_ADDRS { DMA0_BASE }
  13710. /** Array initializer of DMA peripheral base pointers */
  13711. #define DMA_BASE_PTRS { DMA0 }
  13712. /** Interrupt vectors for the DMA peripheral type */
  13713. #define DMA_CHN_IRQS { { DMA0_DMA16_IRQn, DMA1_DMA17_IRQn, DMA2_DMA18_IRQn, DMA3_DMA19_IRQn, DMA4_DMA20_IRQn, DMA5_DMA21_IRQn, DMA6_DMA22_IRQn, DMA7_DMA23_IRQn, DMA8_DMA24_IRQn, DMA9_DMA25_IRQn, DMA10_DMA26_IRQn, DMA11_DMA27_IRQn, DMA12_DMA28_IRQn, DMA13_DMA29_IRQn, DMA14_DMA30_IRQn, DMA15_DMA31_IRQn, DMA0_DMA16_IRQn, DMA1_DMA17_IRQn, DMA2_DMA18_IRQn, DMA3_DMA19_IRQn, DMA4_DMA20_IRQn, DMA5_DMA21_IRQn, DMA6_DMA22_IRQn, DMA7_DMA23_IRQn, DMA8_DMA24_IRQn, DMA9_DMA25_IRQn, DMA10_DMA26_IRQn, DMA11_DMA27_IRQn, DMA12_DMA28_IRQn, DMA13_DMA29_IRQn, DMA14_DMA30_IRQn, DMA15_DMA31_IRQn } }
  13714. #define DMA_ERROR_IRQS { DMA_ERROR_IRQn }
  13715. /*!
  13716. * @}
  13717. */ /* end of group DMA_Peripheral_Access_Layer */
  13718. /* ----------------------------------------------------------------------------
  13719. -- DMAMUX Peripheral Access Layer
  13720. ---------------------------------------------------------------------------- */
  13721. /*!
  13722. * @addtogroup DMAMUX_Peripheral_Access_Layer DMAMUX Peripheral Access Layer
  13723. * @{
  13724. */
  13725. /** DMAMUX - Register Layout Typedef */
  13726. typedef struct {
  13727. __IO uint32_t CHCFG[32]; /**< Channel 0 Configuration Register..Channel 31 Configuration Register, array offset: 0x0, array step: 0x4 */
  13728. } DMAMUX_Type;
  13729. /* ----------------------------------------------------------------------------
  13730. -- DMAMUX Register Masks
  13731. ---------------------------------------------------------------------------- */
  13732. /*!
  13733. * @addtogroup DMAMUX_Register_Masks DMAMUX Register Masks
  13734. * @{
  13735. */
  13736. /*! @name CHCFG - Channel 0 Configuration Register..Channel 31 Configuration Register */
  13737. /*! @{ */
  13738. #define DMAMUX_CHCFG_SOURCE_MASK (0x7FU)
  13739. #define DMAMUX_CHCFG_SOURCE_SHIFT (0U)
  13740. /*! SOURCE - DMA Channel Source (Slot Number)
  13741. */
  13742. #define DMAMUX_CHCFG_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_SOURCE_SHIFT)) & DMAMUX_CHCFG_SOURCE_MASK)
  13743. #define DMAMUX_CHCFG_A_ON_MASK (0x20000000U)
  13744. #define DMAMUX_CHCFG_A_ON_SHIFT (29U)
  13745. /*! A_ON - DMA Channel Always Enable
  13746. * 0b0..DMA Channel Always ON function is disabled
  13747. * 0b1..DMA Channel Always ON function is enabled
  13748. */
  13749. #define DMAMUX_CHCFG_A_ON(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_A_ON_SHIFT)) & DMAMUX_CHCFG_A_ON_MASK)
  13750. #define DMAMUX_CHCFG_TRIG_MASK (0x40000000U)
  13751. #define DMAMUX_CHCFG_TRIG_SHIFT (30U)
  13752. /*! TRIG - DMA Channel Trigger Enable
  13753. * 0b0..Triggering is disabled. If triggering is disabled and ENBL is set, the DMA Channel will simply route the
  13754. * specified source to the DMA channel. (Normal mode)
  13755. * 0b1..Triggering is enabled. If triggering is enabled and ENBL is set, the DMA_CH_MUX is in Periodic Trigger mode.
  13756. */
  13757. #define DMAMUX_CHCFG_TRIG(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_TRIG_SHIFT)) & DMAMUX_CHCFG_TRIG_MASK)
  13758. #define DMAMUX_CHCFG_ENBL_MASK (0x80000000U)
  13759. #define DMAMUX_CHCFG_ENBL_SHIFT (31U)
  13760. /*! ENBL - DMA Mux Channel Enable
  13761. * 0b0..DMA Mux channel is disabled
  13762. * 0b1..DMA Mux channel is enabled
  13763. */
  13764. #define DMAMUX_CHCFG_ENBL(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_ENBL_SHIFT)) & DMAMUX_CHCFG_ENBL_MASK)
  13765. /*! @} */
  13766. /* The count of DMAMUX_CHCFG */
  13767. #define DMAMUX_CHCFG_COUNT (32U)
  13768. /*!
  13769. * @}
  13770. */ /* end of group DMAMUX_Register_Masks */
  13771. /* DMAMUX - Peripheral instance base addresses */
  13772. /** Peripheral DMAMUX base address */
  13773. #define DMAMUX_BASE (0x400EC000u)
  13774. /** Peripheral DMAMUX base pointer */
  13775. #define DMAMUX ((DMAMUX_Type *)DMAMUX_BASE)
  13776. /** Array initializer of DMAMUX peripheral base addresses */
  13777. #define DMAMUX_BASE_ADDRS { DMAMUX_BASE }
  13778. /** Array initializer of DMAMUX peripheral base pointers */
  13779. #define DMAMUX_BASE_PTRS { DMAMUX }
  13780. /*!
  13781. * @}
  13782. */ /* end of group DMAMUX_Peripheral_Access_Layer */
  13783. /* ----------------------------------------------------------------------------
  13784. -- ENC Peripheral Access Layer
  13785. ---------------------------------------------------------------------------- */
  13786. /*!
  13787. * @addtogroup ENC_Peripheral_Access_Layer ENC Peripheral Access Layer
  13788. * @{
  13789. */
  13790. /** ENC - Register Layout Typedef */
  13791. typedef struct {
  13792. __IO uint16_t CTRL; /**< Control Register, offset: 0x0 */
  13793. __IO uint16_t FILT; /**< Input Filter Register, offset: 0x2 */
  13794. __IO uint16_t WTR; /**< Watchdog Timeout Register, offset: 0x4 */
  13795. __IO uint16_t POSD; /**< Position Difference Counter Register, offset: 0x6 */
  13796. __I uint16_t POSDH; /**< Position Difference Hold Register, offset: 0x8 */
  13797. __IO uint16_t REV; /**< Revolution Counter Register, offset: 0xA */
  13798. __I uint16_t REVH; /**< Revolution Hold Register, offset: 0xC */
  13799. __IO uint16_t UPOS; /**< Upper Position Counter Register, offset: 0xE */
  13800. __IO uint16_t LPOS; /**< Lower Position Counter Register, offset: 0x10 */
  13801. __I uint16_t UPOSH; /**< Upper Position Hold Register, offset: 0x12 */
  13802. __I uint16_t LPOSH; /**< Lower Position Hold Register, offset: 0x14 */
  13803. __IO uint16_t UINIT; /**< Upper Initialization Register, offset: 0x16 */
  13804. __IO uint16_t LINIT; /**< Lower Initialization Register, offset: 0x18 */
  13805. __I uint16_t IMR; /**< Input Monitor Register, offset: 0x1A */
  13806. __IO uint16_t TST; /**< Test Register, offset: 0x1C */
  13807. __IO uint16_t CTRL2; /**< Control 2 Register, offset: 0x1E */
  13808. __IO uint16_t UMOD; /**< Upper Modulus Register, offset: 0x20 */
  13809. __IO uint16_t LMOD; /**< Lower Modulus Register, offset: 0x22 */
  13810. __IO uint16_t UCOMP; /**< Upper Position Compare Register, offset: 0x24 */
  13811. __IO uint16_t LCOMP; /**< Lower Position Compare Register, offset: 0x26 */
  13812. } ENC_Type;
  13813. /* ----------------------------------------------------------------------------
  13814. -- ENC Register Masks
  13815. ---------------------------------------------------------------------------- */
  13816. /*!
  13817. * @addtogroup ENC_Register_Masks ENC Register Masks
  13818. * @{
  13819. */
  13820. /*! @name CTRL - Control Register */
  13821. /*! @{ */
  13822. #define ENC_CTRL_CMPIE_MASK (0x1U)
  13823. #define ENC_CTRL_CMPIE_SHIFT (0U)
  13824. /*! CMPIE - Compare Interrupt Enable
  13825. * 0b0..Disabled
  13826. * 0b1..Enabled
  13827. */
  13828. #define ENC_CTRL_CMPIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_CMPIE_SHIFT)) & ENC_CTRL_CMPIE_MASK)
  13829. #define ENC_CTRL_CMPIRQ_MASK (0x2U)
  13830. #define ENC_CTRL_CMPIRQ_SHIFT (1U)
  13831. /*! CMPIRQ - Compare Interrupt Request
  13832. * 0b0..No match has occurred (the counter does not match the COMP value)
  13833. * 0b1..COMP match has occurred (the counter matches the COMP value)
  13834. */
  13835. #define ENC_CTRL_CMPIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_CMPIRQ_SHIFT)) & ENC_CTRL_CMPIRQ_MASK)
  13836. #define ENC_CTRL_WDE_MASK (0x4U)
  13837. #define ENC_CTRL_WDE_SHIFT (2U)
  13838. /*! WDE - Watchdog Enable
  13839. * 0b0..Disabled
  13840. * 0b1..Enabled
  13841. */
  13842. #define ENC_CTRL_WDE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_WDE_SHIFT)) & ENC_CTRL_WDE_MASK)
  13843. #define ENC_CTRL_DIE_MASK (0x8U)
  13844. #define ENC_CTRL_DIE_SHIFT (3U)
  13845. /*! DIE - Watchdog Timeout Interrupt Enable
  13846. * 0b0..Disabled
  13847. * 0b1..Enabled
  13848. */
  13849. #define ENC_CTRL_DIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_DIE_SHIFT)) & ENC_CTRL_DIE_MASK)
  13850. #define ENC_CTRL_DIRQ_MASK (0x10U)
  13851. #define ENC_CTRL_DIRQ_SHIFT (4U)
  13852. /*! DIRQ - Watchdog Timeout Interrupt Request
  13853. * 0b0..No Watchdog timeout interrupt has occurred
  13854. * 0b1..Watchdog timeout interrupt has occurred
  13855. */
  13856. #define ENC_CTRL_DIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_DIRQ_SHIFT)) & ENC_CTRL_DIRQ_MASK)
  13857. #define ENC_CTRL_XNE_MASK (0x20U)
  13858. #define ENC_CTRL_XNE_SHIFT (5U)
  13859. /*! XNE - Use Negative Edge of INDEX Pulse
  13860. * 0b0..Use positive edge of INDEX pulse
  13861. * 0b1..Use negative edge of INDEX pulse
  13862. */
  13863. #define ENC_CTRL_XNE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_XNE_SHIFT)) & ENC_CTRL_XNE_MASK)
  13864. #define ENC_CTRL_XIP_MASK (0x40U)
  13865. #define ENC_CTRL_XIP_SHIFT (6U)
  13866. /*! XIP - INDEX Triggered Initialization of Position Counters UPOS and LPOS
  13867. * 0b0..INDEX pulse does not initialize the position counter
  13868. * 0b1..INDEX pulse initializes the position counter
  13869. */
  13870. #define ENC_CTRL_XIP(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_XIP_SHIFT)) & ENC_CTRL_XIP_MASK)
  13871. #define ENC_CTRL_XIE_MASK (0x80U)
  13872. #define ENC_CTRL_XIE_SHIFT (7U)
  13873. /*! XIE - INDEX Pulse Interrupt Enable
  13874. * 0b0..Disabled
  13875. * 0b1..Enabled
  13876. */
  13877. #define ENC_CTRL_XIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_XIE_SHIFT)) & ENC_CTRL_XIE_MASK)
  13878. #define ENC_CTRL_XIRQ_MASK (0x100U)
  13879. #define ENC_CTRL_XIRQ_SHIFT (8U)
  13880. /*! XIRQ - INDEX Pulse Interrupt Request
  13881. * 0b0..INDEX pulse has not occurred
  13882. * 0b1..INDEX pulse has occurred
  13883. */
  13884. #define ENC_CTRL_XIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_XIRQ_SHIFT)) & ENC_CTRL_XIRQ_MASK)
  13885. #define ENC_CTRL_PH1_MASK (0x200U)
  13886. #define ENC_CTRL_PH1_SHIFT (9U)
  13887. /*! PH1 - Enable Signal Phase Count Mode
  13888. * 0b0..Use the standard quadrature decoder, where PHASEA and PHASEB represent a two-phase quadrature signal.
  13889. * 0b1..Bypass the quadrature decoder. A positive transition of the PHASEA input generates a count signal. The
  13890. * PHASEB input and the REV bit control the counter direction: If CTRL[REV] = 0, PHASEB = 0, then count up If
  13891. * CTRL[REV] = 1, PHASEB = 1, then count up If CTRL[REV] = 0, PHASEB = 1, then count down If CTRL[REV] = 1,
  13892. * PHASEB = 0, then count down
  13893. */
  13894. #define ENC_CTRL_PH1(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_PH1_SHIFT)) & ENC_CTRL_PH1_MASK)
  13895. #define ENC_CTRL_REV_MASK (0x400U)
  13896. #define ENC_CTRL_REV_SHIFT (10U)
  13897. /*! REV - Enable Reverse Direction Counting
  13898. * 0b0..Count normally
  13899. * 0b1..Count in the reverse direction
  13900. */
  13901. #define ENC_CTRL_REV(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_REV_SHIFT)) & ENC_CTRL_REV_MASK)
  13902. #define ENC_CTRL_SWIP_MASK (0x800U)
  13903. #define ENC_CTRL_SWIP_SHIFT (11U)
  13904. /*! SWIP - Software-Triggered Initialization of Position Counters UPOS and LPOS
  13905. * 0b0..No action
  13906. * 0b1..Initialize position counter (using upper and lower initialization registers, UINIT and LINIT)
  13907. */
  13908. #define ENC_CTRL_SWIP(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_SWIP_SHIFT)) & ENC_CTRL_SWIP_MASK)
  13909. #define ENC_CTRL_HNE_MASK (0x1000U)
  13910. #define ENC_CTRL_HNE_SHIFT (12U)
  13911. /*! HNE - Use Negative Edge of HOME Input
  13912. * 0b0..Use positive-going edge-to-trigger initialization of position counters UPOS and LPOS
  13913. * 0b1..Use negative-going edge-to-trigger initialization of position counters UPOS and LPOS
  13914. */
  13915. #define ENC_CTRL_HNE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_HNE_SHIFT)) & ENC_CTRL_HNE_MASK)
  13916. #define ENC_CTRL_HIP_MASK (0x2000U)
  13917. #define ENC_CTRL_HIP_SHIFT (13U)
  13918. /*! HIP - Enable HOME to Initialize Position Counters UPOS and LPOS
  13919. * 0b0..No action
  13920. * 0b1..HOME signal initializes the position counter
  13921. */
  13922. #define ENC_CTRL_HIP(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_HIP_SHIFT)) & ENC_CTRL_HIP_MASK)
  13923. #define ENC_CTRL_HIE_MASK (0x4000U)
  13924. #define ENC_CTRL_HIE_SHIFT (14U)
  13925. /*! HIE - HOME Interrupt Enable
  13926. * 0b0..Disabled
  13927. * 0b1..Enabled
  13928. */
  13929. #define ENC_CTRL_HIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_HIE_SHIFT)) & ENC_CTRL_HIE_MASK)
  13930. #define ENC_CTRL_HIRQ_MASK (0x8000U)
  13931. #define ENC_CTRL_HIRQ_SHIFT (15U)
  13932. /*! HIRQ - HOME Signal Transition Interrupt Request
  13933. * 0b0..No transition on the HOME signal has occurred
  13934. * 0b1..A transition on the HOME signal has occurred
  13935. */
  13936. #define ENC_CTRL_HIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_HIRQ_SHIFT)) & ENC_CTRL_HIRQ_MASK)
  13937. /*! @} */
  13938. /*! @name FILT - Input Filter Register */
  13939. /*! @{ */
  13940. #define ENC_FILT_FILT_PER_MASK (0xFFU)
  13941. #define ENC_FILT_FILT_PER_SHIFT (0U)
  13942. /*! FILT_PER - Input Filter Sample Period
  13943. */
  13944. #define ENC_FILT_FILT_PER(x) (((uint16_t)(((uint16_t)(x)) << ENC_FILT_FILT_PER_SHIFT)) & ENC_FILT_FILT_PER_MASK)
  13945. #define ENC_FILT_FILT_CNT_MASK (0x700U)
  13946. #define ENC_FILT_FILT_CNT_SHIFT (8U)
  13947. /*! FILT_CNT - Input Filter Sample Count
  13948. */
  13949. #define ENC_FILT_FILT_CNT(x) (((uint16_t)(((uint16_t)(x)) << ENC_FILT_FILT_CNT_SHIFT)) & ENC_FILT_FILT_CNT_MASK)
  13950. #define ENC_FILT_FILT_PRSC_MASK (0xE000U)
  13951. #define ENC_FILT_FILT_PRSC_SHIFT (13U)
  13952. /*! FILT_PRSC - prescaler divide IPbus clock to FILT clk
  13953. */
  13954. #define ENC_FILT_FILT_PRSC(x) (((uint16_t)(((uint16_t)(x)) << ENC_FILT_FILT_PRSC_SHIFT)) & ENC_FILT_FILT_PRSC_MASK)
  13955. /*! @} */
  13956. /*! @name WTR - Watchdog Timeout Register */
  13957. /*! @{ */
  13958. #define ENC_WTR_WDOG_MASK (0xFFFFU)
  13959. #define ENC_WTR_WDOG_SHIFT (0U)
  13960. /*! WDOG - WDOG
  13961. */
  13962. #define ENC_WTR_WDOG(x) (((uint16_t)(((uint16_t)(x)) << ENC_WTR_WDOG_SHIFT)) & ENC_WTR_WDOG_MASK)
  13963. /*! @} */
  13964. /*! @name POSD - Position Difference Counter Register */
  13965. /*! @{ */
  13966. #define ENC_POSD_POSD_MASK (0xFFFFU)
  13967. #define ENC_POSD_POSD_SHIFT (0U)
  13968. /*! POSD - POSD
  13969. */
  13970. #define ENC_POSD_POSD(x) (((uint16_t)(((uint16_t)(x)) << ENC_POSD_POSD_SHIFT)) & ENC_POSD_POSD_MASK)
  13971. /*! @} */
  13972. /*! @name POSDH - Position Difference Hold Register */
  13973. /*! @{ */
  13974. #define ENC_POSDH_POSDH_MASK (0xFFFFU)
  13975. #define ENC_POSDH_POSDH_SHIFT (0U)
  13976. /*! POSDH - POSDH
  13977. */
  13978. #define ENC_POSDH_POSDH(x) (((uint16_t)(((uint16_t)(x)) << ENC_POSDH_POSDH_SHIFT)) & ENC_POSDH_POSDH_MASK)
  13979. /*! @} */
  13980. /*! @name REV - Revolution Counter Register */
  13981. /*! @{ */
  13982. #define ENC_REV_REV_MASK (0xFFFFU)
  13983. #define ENC_REV_REV_SHIFT (0U)
  13984. /*! REV - REV
  13985. */
  13986. #define ENC_REV_REV(x) (((uint16_t)(((uint16_t)(x)) << ENC_REV_REV_SHIFT)) & ENC_REV_REV_MASK)
  13987. /*! @} */
  13988. /*! @name REVH - Revolution Hold Register */
  13989. /*! @{ */
  13990. #define ENC_REVH_REVH_MASK (0xFFFFU)
  13991. #define ENC_REVH_REVH_SHIFT (0U)
  13992. /*! REVH - REVH
  13993. */
  13994. #define ENC_REVH_REVH(x) (((uint16_t)(((uint16_t)(x)) << ENC_REVH_REVH_SHIFT)) & ENC_REVH_REVH_MASK)
  13995. /*! @} */
  13996. /*! @name UPOS - Upper Position Counter Register */
  13997. /*! @{ */
  13998. #define ENC_UPOS_POS_MASK (0xFFFFU)
  13999. #define ENC_UPOS_POS_SHIFT (0U)
  14000. /*! POS - POS
  14001. */
  14002. #define ENC_UPOS_POS(x) (((uint16_t)(((uint16_t)(x)) << ENC_UPOS_POS_SHIFT)) & ENC_UPOS_POS_MASK)
  14003. /*! @} */
  14004. /*! @name LPOS - Lower Position Counter Register */
  14005. /*! @{ */
  14006. #define ENC_LPOS_POS_MASK (0xFFFFU)
  14007. #define ENC_LPOS_POS_SHIFT (0U)
  14008. /*! POS - POS
  14009. */
  14010. #define ENC_LPOS_POS(x) (((uint16_t)(((uint16_t)(x)) << ENC_LPOS_POS_SHIFT)) & ENC_LPOS_POS_MASK)
  14011. /*! @} */
  14012. /*! @name UPOSH - Upper Position Hold Register */
  14013. /*! @{ */
  14014. #define ENC_UPOSH_POSH_MASK (0xFFFFU)
  14015. #define ENC_UPOSH_POSH_SHIFT (0U)
  14016. /*! POSH - POSH
  14017. */
  14018. #define ENC_UPOSH_POSH(x) (((uint16_t)(((uint16_t)(x)) << ENC_UPOSH_POSH_SHIFT)) & ENC_UPOSH_POSH_MASK)
  14019. /*! @} */
  14020. /*! @name LPOSH - Lower Position Hold Register */
  14021. /*! @{ */
  14022. #define ENC_LPOSH_POSH_MASK (0xFFFFU)
  14023. #define ENC_LPOSH_POSH_SHIFT (0U)
  14024. /*! POSH - POSH
  14025. */
  14026. #define ENC_LPOSH_POSH(x) (((uint16_t)(((uint16_t)(x)) << ENC_LPOSH_POSH_SHIFT)) & ENC_LPOSH_POSH_MASK)
  14027. /*! @} */
  14028. /*! @name UINIT - Upper Initialization Register */
  14029. /*! @{ */
  14030. #define ENC_UINIT_INIT_MASK (0xFFFFU)
  14031. #define ENC_UINIT_INIT_SHIFT (0U)
  14032. /*! INIT - INIT
  14033. */
  14034. #define ENC_UINIT_INIT(x) (((uint16_t)(((uint16_t)(x)) << ENC_UINIT_INIT_SHIFT)) & ENC_UINIT_INIT_MASK)
  14035. /*! @} */
  14036. /*! @name LINIT - Lower Initialization Register */
  14037. /*! @{ */
  14038. #define ENC_LINIT_INIT_MASK (0xFFFFU)
  14039. #define ENC_LINIT_INIT_SHIFT (0U)
  14040. /*! INIT - INIT
  14041. */
  14042. #define ENC_LINIT_INIT(x) (((uint16_t)(((uint16_t)(x)) << ENC_LINIT_INIT_SHIFT)) & ENC_LINIT_INIT_MASK)
  14043. /*! @} */
  14044. /*! @name IMR - Input Monitor Register */
  14045. /*! @{ */
  14046. #define ENC_IMR_HOME_MASK (0x1U)
  14047. #define ENC_IMR_HOME_SHIFT (0U)
  14048. /*! HOME - HOME
  14049. */
  14050. #define ENC_IMR_HOME(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_HOME_SHIFT)) & ENC_IMR_HOME_MASK)
  14051. #define ENC_IMR_INDEX_MASK (0x2U)
  14052. #define ENC_IMR_INDEX_SHIFT (1U)
  14053. /*! INDEX - INDEX
  14054. */
  14055. #define ENC_IMR_INDEX(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_INDEX_SHIFT)) & ENC_IMR_INDEX_MASK)
  14056. #define ENC_IMR_PHB_MASK (0x4U)
  14057. #define ENC_IMR_PHB_SHIFT (2U)
  14058. /*! PHB - PHB
  14059. */
  14060. #define ENC_IMR_PHB(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_PHB_SHIFT)) & ENC_IMR_PHB_MASK)
  14061. #define ENC_IMR_PHA_MASK (0x8U)
  14062. #define ENC_IMR_PHA_SHIFT (3U)
  14063. /*! PHA - PHA
  14064. */
  14065. #define ENC_IMR_PHA(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_PHA_SHIFT)) & ENC_IMR_PHA_MASK)
  14066. #define ENC_IMR_FHOM_MASK (0x10U)
  14067. #define ENC_IMR_FHOM_SHIFT (4U)
  14068. /*! FHOM - FHOM
  14069. */
  14070. #define ENC_IMR_FHOM(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_FHOM_SHIFT)) & ENC_IMR_FHOM_MASK)
  14071. #define ENC_IMR_FIND_MASK (0x20U)
  14072. #define ENC_IMR_FIND_SHIFT (5U)
  14073. /*! FIND - FIND
  14074. */
  14075. #define ENC_IMR_FIND(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_FIND_SHIFT)) & ENC_IMR_FIND_MASK)
  14076. #define ENC_IMR_FPHB_MASK (0x40U)
  14077. #define ENC_IMR_FPHB_SHIFT (6U)
  14078. /*! FPHB - FPHB
  14079. */
  14080. #define ENC_IMR_FPHB(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_FPHB_SHIFT)) & ENC_IMR_FPHB_MASK)
  14081. #define ENC_IMR_FPHA_MASK (0x80U)
  14082. #define ENC_IMR_FPHA_SHIFT (7U)
  14083. /*! FPHA - FPHA
  14084. */
  14085. #define ENC_IMR_FPHA(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_FPHA_SHIFT)) & ENC_IMR_FPHA_MASK)
  14086. /*! @} */
  14087. /*! @name TST - Test Register */
  14088. /*! @{ */
  14089. #define ENC_TST_TEST_COUNT_MASK (0xFFU)
  14090. #define ENC_TST_TEST_COUNT_SHIFT (0U)
  14091. /*! TEST_COUNT - TEST_COUNT
  14092. */
  14093. #define ENC_TST_TEST_COUNT(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_TEST_COUNT_SHIFT)) & ENC_TST_TEST_COUNT_MASK)
  14094. #define ENC_TST_TEST_PERIOD_MASK (0x1F00U)
  14095. #define ENC_TST_TEST_PERIOD_SHIFT (8U)
  14096. /*! TEST_PERIOD - TEST_PERIOD
  14097. */
  14098. #define ENC_TST_TEST_PERIOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_TEST_PERIOD_SHIFT)) & ENC_TST_TEST_PERIOD_MASK)
  14099. #define ENC_TST_QDN_MASK (0x2000U)
  14100. #define ENC_TST_QDN_SHIFT (13U)
  14101. /*! QDN - Quadrature Decoder Negative Signal
  14102. * 0b0..Generates a positive quadrature decoder signal
  14103. * 0b1..Generates a negative quadrature decoder signal
  14104. */
  14105. #define ENC_TST_QDN(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_QDN_SHIFT)) & ENC_TST_QDN_MASK)
  14106. #define ENC_TST_TCE_MASK (0x4000U)
  14107. #define ENC_TST_TCE_SHIFT (14U)
  14108. /*! TCE - Test Counter Enable
  14109. * 0b0..Disabled
  14110. * 0b1..Enabled
  14111. */
  14112. #define ENC_TST_TCE(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_TCE_SHIFT)) & ENC_TST_TCE_MASK)
  14113. #define ENC_TST_TEN_MASK (0x8000U)
  14114. #define ENC_TST_TEN_SHIFT (15U)
  14115. /*! TEN - Test Mode Enable
  14116. * 0b0..Disabled
  14117. * 0b1..Enabled
  14118. */
  14119. #define ENC_TST_TEN(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_TEN_SHIFT)) & ENC_TST_TEN_MASK)
  14120. /*! @} */
  14121. /*! @name CTRL2 - Control 2 Register */
  14122. /*! @{ */
  14123. #define ENC_CTRL2_UPDHLD_MASK (0x1U)
  14124. #define ENC_CTRL2_UPDHLD_SHIFT (0U)
  14125. /*! UPDHLD - Update Hold Registers
  14126. * 0b0..Disable updates of hold registers on the rising edge of TRIGGER input signal
  14127. * 0b1..Enable updates of hold registers on the rising edge of TRIGGER input signal
  14128. */
  14129. #define ENC_CTRL2_UPDHLD(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_UPDHLD_SHIFT)) & ENC_CTRL2_UPDHLD_MASK)
  14130. #define ENC_CTRL2_UPDPOS_MASK (0x2U)
  14131. #define ENC_CTRL2_UPDPOS_SHIFT (1U)
  14132. /*! UPDPOS - Update Position Registers
  14133. * 0b0..No action for POSD, REV, UPOS and LPOS registers on rising edge of TRIGGER
  14134. * 0b1..Clear POSD, REV, UPOS and LPOS registers on rising edge of TRIGGER
  14135. */
  14136. #define ENC_CTRL2_UPDPOS(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_UPDPOS_SHIFT)) & ENC_CTRL2_UPDPOS_MASK)
  14137. #define ENC_CTRL2_MOD_MASK (0x4U)
  14138. #define ENC_CTRL2_MOD_SHIFT (2U)
  14139. /*! MOD - Enable Modulo Counting
  14140. * 0b0..Disable modulo counting
  14141. * 0b1..Enable modulo counting
  14142. */
  14143. #define ENC_CTRL2_MOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_MOD_SHIFT)) & ENC_CTRL2_MOD_MASK)
  14144. #define ENC_CTRL2_DIR_MASK (0x8U)
  14145. #define ENC_CTRL2_DIR_SHIFT (3U)
  14146. /*! DIR - Count Direction Flag
  14147. * 0b0..Last count was in the down direction
  14148. * 0b1..Last count was in the up direction
  14149. */
  14150. #define ENC_CTRL2_DIR(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_DIR_SHIFT)) & ENC_CTRL2_DIR_MASK)
  14151. #define ENC_CTRL2_RUIE_MASK (0x10U)
  14152. #define ENC_CTRL2_RUIE_SHIFT (4U)
  14153. /*! RUIE - Roll-under Interrupt Enable
  14154. * 0b0..Disabled
  14155. * 0b1..Enabled
  14156. */
  14157. #define ENC_CTRL2_RUIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_RUIE_SHIFT)) & ENC_CTRL2_RUIE_MASK)
  14158. #define ENC_CTRL2_RUIRQ_MASK (0x20U)
  14159. #define ENC_CTRL2_RUIRQ_SHIFT (5U)
  14160. /*! RUIRQ - Roll-under Interrupt Request
  14161. * 0b0..No roll-under has occurred
  14162. * 0b1..Roll-under has occurred
  14163. */
  14164. #define ENC_CTRL2_RUIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_RUIRQ_SHIFT)) & ENC_CTRL2_RUIRQ_MASK)
  14165. #define ENC_CTRL2_ROIE_MASK (0x40U)
  14166. #define ENC_CTRL2_ROIE_SHIFT (6U)
  14167. /*! ROIE - Roll-over Interrupt Enable
  14168. * 0b0..Disabled
  14169. * 0b1..Enabled
  14170. */
  14171. #define ENC_CTRL2_ROIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_ROIE_SHIFT)) & ENC_CTRL2_ROIE_MASK)
  14172. #define ENC_CTRL2_ROIRQ_MASK (0x80U)
  14173. #define ENC_CTRL2_ROIRQ_SHIFT (7U)
  14174. /*! ROIRQ - Roll-over Interrupt Request
  14175. * 0b0..No roll-over has occurred
  14176. * 0b1..Roll-over has occurred
  14177. */
  14178. #define ENC_CTRL2_ROIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_ROIRQ_SHIFT)) & ENC_CTRL2_ROIRQ_MASK)
  14179. #define ENC_CTRL2_REVMOD_MASK (0x100U)
  14180. #define ENC_CTRL2_REVMOD_SHIFT (8U)
  14181. /*! REVMOD - Revolution Counter Modulus Enable
  14182. * 0b0..Use INDEX pulse to increment/decrement revolution counter (REV)
  14183. * 0b1..Use modulus counting roll-over/under to increment/decrement revolution counter (REV)
  14184. */
  14185. #define ENC_CTRL2_REVMOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_REVMOD_SHIFT)) & ENC_CTRL2_REVMOD_MASK)
  14186. #define ENC_CTRL2_OUTCTL_MASK (0x200U)
  14187. #define ENC_CTRL2_OUTCTL_SHIFT (9U)
  14188. /*! OUTCTL - Output Control
  14189. * 0b0..POSMATCH pulses when a match occurs between the position counters (POS) and the corresponding compare value (COMP )
  14190. * 0b1..POSMATCH pulses when the UPOS, LPOS, REV, or POSD registers are read
  14191. */
  14192. #define ENC_CTRL2_OUTCTL(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_OUTCTL_SHIFT)) & ENC_CTRL2_OUTCTL_MASK)
  14193. /*! @} */
  14194. /*! @name UMOD - Upper Modulus Register */
  14195. /*! @{ */
  14196. #define ENC_UMOD_MOD_MASK (0xFFFFU)
  14197. #define ENC_UMOD_MOD_SHIFT (0U)
  14198. /*! MOD - MOD
  14199. */
  14200. #define ENC_UMOD_MOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_UMOD_MOD_SHIFT)) & ENC_UMOD_MOD_MASK)
  14201. /*! @} */
  14202. /*! @name LMOD - Lower Modulus Register */
  14203. /*! @{ */
  14204. #define ENC_LMOD_MOD_MASK (0xFFFFU)
  14205. #define ENC_LMOD_MOD_SHIFT (0U)
  14206. /*! MOD - MOD
  14207. */
  14208. #define ENC_LMOD_MOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_LMOD_MOD_SHIFT)) & ENC_LMOD_MOD_MASK)
  14209. /*! @} */
  14210. /*! @name UCOMP - Upper Position Compare Register */
  14211. /*! @{ */
  14212. #define ENC_UCOMP_COMP_MASK (0xFFFFU)
  14213. #define ENC_UCOMP_COMP_SHIFT (0U)
  14214. /*! COMP - COMP
  14215. */
  14216. #define ENC_UCOMP_COMP(x) (((uint16_t)(((uint16_t)(x)) << ENC_UCOMP_COMP_SHIFT)) & ENC_UCOMP_COMP_MASK)
  14217. /*! @} */
  14218. /*! @name LCOMP - Lower Position Compare Register */
  14219. /*! @{ */
  14220. #define ENC_LCOMP_COMP_MASK (0xFFFFU)
  14221. #define ENC_LCOMP_COMP_SHIFT (0U)
  14222. /*! COMP - COMP
  14223. */
  14224. #define ENC_LCOMP_COMP(x) (((uint16_t)(((uint16_t)(x)) << ENC_LCOMP_COMP_SHIFT)) & ENC_LCOMP_COMP_MASK)
  14225. /*! @} */
  14226. /*!
  14227. * @}
  14228. */ /* end of group ENC_Register_Masks */
  14229. /* ENC - Peripheral instance base addresses */
  14230. /** Peripheral ENC1 base address */
  14231. #define ENC1_BASE (0x403C8000u)
  14232. /** Peripheral ENC1 base pointer */
  14233. #define ENC1 ((ENC_Type *)ENC1_BASE)
  14234. /** Peripheral ENC2 base address */
  14235. #define ENC2_BASE (0x403CC000u)
  14236. /** Peripheral ENC2 base pointer */
  14237. #define ENC2 ((ENC_Type *)ENC2_BASE)
  14238. /** Array initializer of ENC peripheral base addresses */
  14239. #define ENC_BASE_ADDRS { 0u, ENC1_BASE, ENC2_BASE }
  14240. /** Array initializer of ENC peripheral base pointers */
  14241. #define ENC_BASE_PTRS { (ENC_Type *)0u, ENC1, ENC2 }
  14242. /** Interrupt vectors for the ENC peripheral type */
  14243. #define ENC_COMPARE_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn }
  14244. #define ENC_HOME_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn }
  14245. #define ENC_WDOG_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn }
  14246. #define ENC_INDEX_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn }
  14247. #define ENC_INPUT_SWITCH_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn }
  14248. /*!
  14249. * @}
  14250. */ /* end of group ENC_Peripheral_Access_Layer */
  14251. /* ----------------------------------------------------------------------------
  14252. -- ENET Peripheral Access Layer
  14253. ---------------------------------------------------------------------------- */
  14254. /*!
  14255. * @addtogroup ENET_Peripheral_Access_Layer ENET Peripheral Access Layer
  14256. * @{
  14257. */
  14258. /** ENET - Register Layout Typedef */
  14259. typedef struct {
  14260. uint8_t RESERVED_0[4];
  14261. __IO uint32_t EIR; /**< Interrupt Event Register, offset: 0x4 */
  14262. __IO uint32_t EIMR; /**< Interrupt Mask Register, offset: 0x8 */
  14263. uint8_t RESERVED_1[4];
  14264. __IO uint32_t RDAR; /**< Receive Descriptor Active Register - Ring 0, offset: 0x10 */
  14265. __IO uint32_t TDAR; /**< Transmit Descriptor Active Register - Ring 0, offset: 0x14 */
  14266. uint8_t RESERVED_2[12];
  14267. __IO uint32_t ECR; /**< Ethernet Control Register, offset: 0x24 */
  14268. uint8_t RESERVED_3[24];
  14269. __IO uint32_t MMFR; /**< MII Management Frame Register, offset: 0x40 */
  14270. __IO uint32_t MSCR; /**< MII Speed Control Register, offset: 0x44 */
  14271. uint8_t RESERVED_4[28];
  14272. __IO uint32_t MIBC; /**< MIB Control Register, offset: 0x64 */
  14273. uint8_t RESERVED_5[28];
  14274. __IO uint32_t RCR; /**< Receive Control Register, offset: 0x84 */
  14275. uint8_t RESERVED_6[60];
  14276. __IO uint32_t TCR; /**< Transmit Control Register, offset: 0xC4 */
  14277. uint8_t RESERVED_7[28];
  14278. __IO uint32_t PALR; /**< Physical Address Lower Register, offset: 0xE4 */
  14279. __IO uint32_t PAUR; /**< Physical Address Upper Register, offset: 0xE8 */
  14280. __IO uint32_t OPD; /**< Opcode/Pause Duration Register, offset: 0xEC */
  14281. __IO uint32_t TXIC[1]; /**< Transmit Interrupt Coalescing Register, array offset: 0xF0, array step: 0x4 */
  14282. uint8_t RESERVED_8[12];
  14283. __IO uint32_t RXIC[1]; /**< Receive Interrupt Coalescing Register, array offset: 0x100, array step: 0x4 */
  14284. uint8_t RESERVED_9[20];
  14285. __IO uint32_t IAUR; /**< Descriptor Individual Upper Address Register, offset: 0x118 */
  14286. __IO uint32_t IALR; /**< Descriptor Individual Lower Address Register, offset: 0x11C */
  14287. __IO uint32_t GAUR; /**< Descriptor Group Upper Address Register, offset: 0x120 */
  14288. __IO uint32_t GALR; /**< Descriptor Group Lower Address Register, offset: 0x124 */
  14289. uint8_t RESERVED_10[28];
  14290. __IO uint32_t TFWR; /**< Transmit FIFO Watermark Register, offset: 0x144 */
  14291. uint8_t RESERVED_11[56];
  14292. __IO uint32_t RDSR; /**< Receive Descriptor Ring 0 Start Register, offset: 0x180 */
  14293. __IO uint32_t TDSR; /**< Transmit Buffer Descriptor Ring 0 Start Register, offset: 0x184 */
  14294. __IO uint32_t MRBR; /**< Maximum Receive Buffer Size Register - Ring 0, offset: 0x188 */
  14295. uint8_t RESERVED_12[4];
  14296. __IO uint32_t RSFL; /**< Receive FIFO Section Full Threshold, offset: 0x190 */
  14297. __IO uint32_t RSEM; /**< Receive FIFO Section Empty Threshold, offset: 0x194 */
  14298. __IO uint32_t RAEM; /**< Receive FIFO Almost Empty Threshold, offset: 0x198 */
  14299. __IO uint32_t RAFL; /**< Receive FIFO Almost Full Threshold, offset: 0x19C */
  14300. __IO uint32_t TSEM; /**< Transmit FIFO Section Empty Threshold, offset: 0x1A0 */
  14301. __IO uint32_t TAEM; /**< Transmit FIFO Almost Empty Threshold, offset: 0x1A4 */
  14302. __IO uint32_t TAFL; /**< Transmit FIFO Almost Full Threshold, offset: 0x1A8 */
  14303. __IO uint32_t TIPG; /**< Transmit Inter-Packet Gap, offset: 0x1AC */
  14304. __IO uint32_t FTRL; /**< Frame Truncation Length, offset: 0x1B0 */
  14305. uint8_t RESERVED_13[12];
  14306. __IO uint32_t TACC; /**< Transmit Accelerator Function Configuration, offset: 0x1C0 */
  14307. __IO uint32_t RACC; /**< Receive Accelerator Function Configuration, offset: 0x1C4 */
  14308. uint8_t RESERVED_14[60];
  14309. __I uint32_t RMON_T_PACKETS; /**< Tx Packet Count Statistic Register, offset: 0x204 */
  14310. __I uint32_t RMON_T_BC_PKT; /**< Tx Broadcast Packets Statistic Register, offset: 0x208 */
  14311. __I uint32_t RMON_T_MC_PKT; /**< Tx Multicast Packets Statistic Register, offset: 0x20C */
  14312. __I uint32_t RMON_T_CRC_ALIGN; /**< Tx Packets with CRC/Align Error Statistic Register, offset: 0x210 */
  14313. __I uint32_t RMON_T_UNDERSIZE; /**< Tx Packets Less Than Bytes and Good CRC Statistic Register, offset: 0x214 */
  14314. __I uint32_t RMON_T_OVERSIZE; /**< Tx Packets GT MAX_FL bytes and Good CRC Statistic Register, offset: 0x218 */
  14315. __I uint32_t RMON_T_FRAG; /**< Tx Packets Less Than 64 Bytes and Bad CRC Statistic Register, offset: 0x21C */
  14316. __I uint32_t RMON_T_JAB; /**< Tx Packets Greater Than MAX_FL bytes and Bad CRC Statistic Register, offset: 0x220 */
  14317. __I uint32_t RMON_T_COL; /**< Tx Collision Count Statistic Register, offset: 0x224 */
  14318. __I uint32_t RMON_T_P64; /**< Tx 64-Byte Packets Statistic Register, offset: 0x228 */
  14319. __I uint32_t RMON_T_P65TO127; /**< Tx 65- to 127-byte Packets Statistic Register, offset: 0x22C */
  14320. __I uint32_t RMON_T_P128TO255; /**< Tx 128- to 255-byte Packets Statistic Register, offset: 0x230 */
  14321. __I uint32_t RMON_T_P256TO511; /**< Tx 256- to 511-byte Packets Statistic Register, offset: 0x234 */
  14322. __I uint32_t RMON_T_P512TO1023; /**< Tx 512- to 1023-byte Packets Statistic Register, offset: 0x238 */
  14323. __I uint32_t RMON_T_P1024TO2047; /**< Tx 1024- to 2047-byte Packets Statistic Register, offset: 0x23C */
  14324. __I uint32_t RMON_T_P_GTE2048; /**< Tx Packets Greater Than 2048 Bytes Statistic Register, offset: 0x240 */
  14325. __I uint32_t RMON_T_OCTETS; /**< Tx Octets Statistic Register, offset: 0x244 */
  14326. uint8_t RESERVED_15[4];
  14327. __I uint32_t IEEE_T_FRAME_OK; /**< Frames Transmitted OK Statistic Register, offset: 0x24C */
  14328. __I uint32_t IEEE_T_1COL; /**< Frames Transmitted with Single Collision Statistic Register, offset: 0x250 */
  14329. __I uint32_t IEEE_T_MCOL; /**< Frames Transmitted with Multiple Collisions Statistic Register, offset: 0x254 */
  14330. __I uint32_t IEEE_T_DEF; /**< Frames Transmitted after Deferral Delay Statistic Register, offset: 0x258 */
  14331. __I uint32_t IEEE_T_LCOL; /**< Frames Transmitted with Late Collision Statistic Register, offset: 0x25C */
  14332. __I uint32_t IEEE_T_EXCOL; /**< Frames Transmitted with Excessive Collisions Statistic Register, offset: 0x260 */
  14333. __I uint32_t IEEE_T_MACERR; /**< Frames Transmitted with Tx FIFO Underrun Statistic Register, offset: 0x264 */
  14334. __I uint32_t IEEE_T_CSERR; /**< Frames Transmitted with Carrier Sense Error Statistic Register, offset: 0x268 */
  14335. __I uint32_t IEEE_T_SQE; /**< Reserved Statistic Register, offset: 0x26C */
  14336. __I uint32_t IEEE_T_FDXFC; /**< Flow Control Pause Frames Transmitted Statistic Register, offset: 0x270 */
  14337. __I uint32_t IEEE_T_OCTETS_OK; /**< Octet Count for Frames Transmitted w/o Error Statistic Register, offset: 0x274 */
  14338. uint8_t RESERVED_16[12];
  14339. __I uint32_t RMON_R_PACKETS; /**< Rx Packet Count Statistic Register, offset: 0x284 */
  14340. __I uint32_t RMON_R_BC_PKT; /**< Rx Broadcast Packets Statistic Register, offset: 0x288 */
  14341. __I uint32_t RMON_R_MC_PKT; /**< Rx Multicast Packets Statistic Register, offset: 0x28C */
  14342. __I uint32_t RMON_R_CRC_ALIGN; /**< Rx Packets with CRC/Align Error Statistic Register, offset: 0x290 */
  14343. __I uint32_t RMON_R_UNDERSIZE; /**< Rx Packets with Less Than 64 Bytes and Good CRC Statistic Register, offset: 0x294 */
  14344. __I uint32_t RMON_R_OVERSIZE; /**< Rx Packets Greater Than MAX_FL and Good CRC Statistic Register, offset: 0x298 */
  14345. __I uint32_t RMON_R_FRAG; /**< Rx Packets Less Than 64 Bytes and Bad CRC Statistic Register, offset: 0x29C */
  14346. __I uint32_t RMON_R_JAB; /**< Rx Packets Greater Than MAX_FL Bytes and Bad CRC Statistic Register, offset: 0x2A0 */
  14347. uint8_t RESERVED_17[4];
  14348. __I uint32_t RMON_R_P64; /**< Rx 64-Byte Packets Statistic Register, offset: 0x2A8 */
  14349. __I uint32_t RMON_R_P65TO127; /**< Rx 65- to 127-Byte Packets Statistic Register, offset: 0x2AC */
  14350. __I uint32_t RMON_R_P128TO255; /**< Rx 128- to 255-Byte Packets Statistic Register, offset: 0x2B0 */
  14351. __I uint32_t RMON_R_P256TO511; /**< Rx 256- to 511-Byte Packets Statistic Register, offset: 0x2B4 */
  14352. __I uint32_t RMON_R_P512TO1023; /**< Rx 512- to 1023-Byte Packets Statistic Register, offset: 0x2B8 */
  14353. __I uint32_t RMON_R_P1024TO2047; /**< Rx 1024- to 2047-Byte Packets Statistic Register, offset: 0x2BC */
  14354. __I uint32_t RMON_R_P_GTE2048; /**< Rx Packets Greater than 2048 Bytes Statistic Register, offset: 0x2C0 */
  14355. __I uint32_t RMON_R_OCTETS; /**< Rx Octets Statistic Register, offset: 0x2C4 */
  14356. __I uint32_t IEEE_R_DROP; /**< Frames not Counted Correctly Statistic Register, offset: 0x2C8 */
  14357. __I uint32_t IEEE_R_FRAME_OK; /**< Frames Received OK Statistic Register, offset: 0x2CC */
  14358. __I uint32_t IEEE_R_CRC; /**< Frames Received with CRC Error Statistic Register, offset: 0x2D0 */
  14359. __I uint32_t IEEE_R_ALIGN; /**< Frames Received with Alignment Error Statistic Register, offset: 0x2D4 */
  14360. __I uint32_t IEEE_R_MACERR; /**< Receive FIFO Overflow Count Statistic Register, offset: 0x2D8 */
  14361. __I uint32_t IEEE_R_FDXFC; /**< Flow Control Pause Frames Received Statistic Register, offset: 0x2DC */
  14362. __I uint32_t IEEE_R_OCTETS_OK; /**< Octet Count for Frames Received without Error Statistic Register, offset: 0x2E0 */
  14363. uint8_t RESERVED_18[284];
  14364. __IO uint32_t ATCR; /**< Adjustable Timer Control Register, offset: 0x400 */
  14365. __IO uint32_t ATVR; /**< Timer Value Register, offset: 0x404 */
  14366. __IO uint32_t ATOFF; /**< Timer Offset Register, offset: 0x408 */
  14367. __IO uint32_t ATPER; /**< Timer Period Register, offset: 0x40C */
  14368. __IO uint32_t ATCOR; /**< Timer Correction Register, offset: 0x410 */
  14369. __IO uint32_t ATINC; /**< Time-Stamping Clock Period Register, offset: 0x414 */
  14370. __I uint32_t ATSTMP; /**< Timestamp of Last Transmitted Frame, offset: 0x418 */
  14371. uint8_t RESERVED_19[488];
  14372. __IO uint32_t TGSR; /**< Timer Global Status Register, offset: 0x604 */
  14373. struct { /* offset: 0x608, array step: 0x8 */
  14374. __IO uint32_t TCSR; /**< Timer Control Status Register, array offset: 0x608, array step: 0x8 */
  14375. __IO uint32_t TCCR; /**< Timer Compare Capture Register, array offset: 0x60C, array step: 0x8 */
  14376. } CHANNEL[4];
  14377. } ENET_Type;
  14378. /* ----------------------------------------------------------------------------
  14379. -- ENET Register Masks
  14380. ---------------------------------------------------------------------------- */
  14381. /*!
  14382. * @addtogroup ENET_Register_Masks ENET Register Masks
  14383. * @{
  14384. */
  14385. /*! @name EIR - Interrupt Event Register */
  14386. /*! @{ */
  14387. #define ENET_EIR_TS_TIMER_MASK (0x8000U)
  14388. #define ENET_EIR_TS_TIMER_SHIFT (15U)
  14389. /*! TS_TIMER - Timestamp Timer
  14390. */
  14391. #define ENET_EIR_TS_TIMER(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TS_TIMER_SHIFT)) & ENET_EIR_TS_TIMER_MASK)
  14392. #define ENET_EIR_TS_AVAIL_MASK (0x10000U)
  14393. #define ENET_EIR_TS_AVAIL_SHIFT (16U)
  14394. /*! TS_AVAIL - Transmit Timestamp Available
  14395. */
  14396. #define ENET_EIR_TS_AVAIL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TS_AVAIL_SHIFT)) & ENET_EIR_TS_AVAIL_MASK)
  14397. #define ENET_EIR_WAKEUP_MASK (0x20000U)
  14398. #define ENET_EIR_WAKEUP_SHIFT (17U)
  14399. /*! WAKEUP - Node Wakeup Request Indication
  14400. */
  14401. #define ENET_EIR_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_WAKEUP_SHIFT)) & ENET_EIR_WAKEUP_MASK)
  14402. #define ENET_EIR_PLR_MASK (0x40000U)
  14403. #define ENET_EIR_PLR_SHIFT (18U)
  14404. /*! PLR - Payload Receive Error
  14405. */
  14406. #define ENET_EIR_PLR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_PLR_SHIFT)) & ENET_EIR_PLR_MASK)
  14407. #define ENET_EIR_UN_MASK (0x80000U)
  14408. #define ENET_EIR_UN_SHIFT (19U)
  14409. /*! UN - Transmit FIFO Underrun
  14410. */
  14411. #define ENET_EIR_UN(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_UN_SHIFT)) & ENET_EIR_UN_MASK)
  14412. #define ENET_EIR_RL_MASK (0x100000U)
  14413. #define ENET_EIR_RL_SHIFT (20U)
  14414. /*! RL - Collision Retry Limit
  14415. */
  14416. #define ENET_EIR_RL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RL_SHIFT)) & ENET_EIR_RL_MASK)
  14417. #define ENET_EIR_LC_MASK (0x200000U)
  14418. #define ENET_EIR_LC_SHIFT (21U)
  14419. /*! LC - Late Collision
  14420. */
  14421. #define ENET_EIR_LC(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_LC_SHIFT)) & ENET_EIR_LC_MASK)
  14422. #define ENET_EIR_EBERR_MASK (0x400000U)
  14423. #define ENET_EIR_EBERR_SHIFT (22U)
  14424. /*! EBERR - Ethernet Bus Error
  14425. */
  14426. #define ENET_EIR_EBERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_EBERR_SHIFT)) & ENET_EIR_EBERR_MASK)
  14427. #define ENET_EIR_MII_MASK (0x800000U)
  14428. #define ENET_EIR_MII_SHIFT (23U)
  14429. /*! MII - MII Interrupt.
  14430. */
  14431. #define ENET_EIR_MII(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_MII_SHIFT)) & ENET_EIR_MII_MASK)
  14432. #define ENET_EIR_RXB_MASK (0x1000000U)
  14433. #define ENET_EIR_RXB_SHIFT (24U)
  14434. /*! RXB - Receive Buffer Interrupt
  14435. */
  14436. #define ENET_EIR_RXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXB_SHIFT)) & ENET_EIR_RXB_MASK)
  14437. #define ENET_EIR_RXF_MASK (0x2000000U)
  14438. #define ENET_EIR_RXF_SHIFT (25U)
  14439. /*! RXF - Receive Frame Interrupt
  14440. */
  14441. #define ENET_EIR_RXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXF_SHIFT)) & ENET_EIR_RXF_MASK)
  14442. #define ENET_EIR_TXB_MASK (0x4000000U)
  14443. #define ENET_EIR_TXB_SHIFT (26U)
  14444. /*! TXB - Transmit Buffer Interrupt
  14445. */
  14446. #define ENET_EIR_TXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXB_SHIFT)) & ENET_EIR_TXB_MASK)
  14447. #define ENET_EIR_TXF_MASK (0x8000000U)
  14448. #define ENET_EIR_TXF_SHIFT (27U)
  14449. /*! TXF - Transmit Frame Interrupt
  14450. */
  14451. #define ENET_EIR_TXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXF_SHIFT)) & ENET_EIR_TXF_MASK)
  14452. #define ENET_EIR_GRA_MASK (0x10000000U)
  14453. #define ENET_EIR_GRA_SHIFT (28U)
  14454. /*! GRA - Graceful Stop Complete
  14455. */
  14456. #define ENET_EIR_GRA(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_GRA_SHIFT)) & ENET_EIR_GRA_MASK)
  14457. #define ENET_EIR_BABT_MASK (0x20000000U)
  14458. #define ENET_EIR_BABT_SHIFT (29U)
  14459. /*! BABT - Babbling Transmit Error
  14460. */
  14461. #define ENET_EIR_BABT(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_BABT_SHIFT)) & ENET_EIR_BABT_MASK)
  14462. #define ENET_EIR_BABR_MASK (0x40000000U)
  14463. #define ENET_EIR_BABR_SHIFT (30U)
  14464. /*! BABR - Babbling Receive Error
  14465. */
  14466. #define ENET_EIR_BABR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_BABR_SHIFT)) & ENET_EIR_BABR_MASK)
  14467. /*! @} */
  14468. /*! @name EIMR - Interrupt Mask Register */
  14469. /*! @{ */
  14470. #define ENET_EIMR_TS_TIMER_MASK (0x8000U)
  14471. #define ENET_EIMR_TS_TIMER_SHIFT (15U)
  14472. /*! TS_TIMER - TS_TIMER Interrupt Mask
  14473. * 0b0..The corresponding interrupt source is masked.
  14474. * 0b1..The corresponding interrupt source is not masked.
  14475. */
  14476. #define ENET_EIMR_TS_TIMER(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TS_TIMER_SHIFT)) & ENET_EIMR_TS_TIMER_MASK)
  14477. #define ENET_EIMR_TS_AVAIL_MASK (0x10000U)
  14478. #define ENET_EIMR_TS_AVAIL_SHIFT (16U)
  14479. /*! TS_AVAIL - TS_AVAIL Interrupt Mask
  14480. * 0b0..The corresponding interrupt source is masked.
  14481. * 0b1..The corresponding interrupt source is not masked.
  14482. */
  14483. #define ENET_EIMR_TS_AVAIL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TS_AVAIL_SHIFT)) & ENET_EIMR_TS_AVAIL_MASK)
  14484. #define ENET_EIMR_WAKEUP_MASK (0x20000U)
  14485. #define ENET_EIMR_WAKEUP_SHIFT (17U)
  14486. /*! WAKEUP - WAKEUP Interrupt Mask
  14487. * 0b0..The corresponding interrupt source is masked.
  14488. * 0b1..The corresponding interrupt source is not masked.
  14489. */
  14490. #define ENET_EIMR_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_WAKEUP_SHIFT)) & ENET_EIMR_WAKEUP_MASK)
  14491. #define ENET_EIMR_PLR_MASK (0x40000U)
  14492. #define ENET_EIMR_PLR_SHIFT (18U)
  14493. /*! PLR - PLR Interrupt Mask
  14494. * 0b0..The corresponding interrupt source is masked.
  14495. * 0b1..The corresponding interrupt source is not masked.
  14496. */
  14497. #define ENET_EIMR_PLR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_PLR_SHIFT)) & ENET_EIMR_PLR_MASK)
  14498. #define ENET_EIMR_UN_MASK (0x80000U)
  14499. #define ENET_EIMR_UN_SHIFT (19U)
  14500. /*! UN - UN Interrupt Mask
  14501. * 0b0..The corresponding interrupt source is masked.
  14502. * 0b1..The corresponding interrupt source is not masked.
  14503. */
  14504. #define ENET_EIMR_UN(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_UN_SHIFT)) & ENET_EIMR_UN_MASK)
  14505. #define ENET_EIMR_RL_MASK (0x100000U)
  14506. #define ENET_EIMR_RL_SHIFT (20U)
  14507. /*! RL - RL Interrupt Mask
  14508. * 0b0..The corresponding interrupt source is masked.
  14509. * 0b1..The corresponding interrupt source is not masked.
  14510. */
  14511. #define ENET_EIMR_RL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RL_SHIFT)) & ENET_EIMR_RL_MASK)
  14512. #define ENET_EIMR_LC_MASK (0x200000U)
  14513. #define ENET_EIMR_LC_SHIFT (21U)
  14514. /*! LC - LC Interrupt Mask
  14515. * 0b0..The corresponding interrupt source is masked.
  14516. * 0b1..The corresponding interrupt source is not masked.
  14517. */
  14518. #define ENET_EIMR_LC(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_LC_SHIFT)) & ENET_EIMR_LC_MASK)
  14519. #define ENET_EIMR_EBERR_MASK (0x400000U)
  14520. #define ENET_EIMR_EBERR_SHIFT (22U)
  14521. /*! EBERR - EBERR Interrupt Mask
  14522. * 0b0..The corresponding interrupt source is masked.
  14523. * 0b1..The corresponding interrupt source is not masked.
  14524. */
  14525. #define ENET_EIMR_EBERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_EBERR_SHIFT)) & ENET_EIMR_EBERR_MASK)
  14526. #define ENET_EIMR_MII_MASK (0x800000U)
  14527. #define ENET_EIMR_MII_SHIFT (23U)
  14528. /*! MII - MII Interrupt Mask
  14529. * 0b0..The corresponding interrupt source is masked.
  14530. * 0b1..The corresponding interrupt source is not masked.
  14531. */
  14532. #define ENET_EIMR_MII(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_MII_SHIFT)) & ENET_EIMR_MII_MASK)
  14533. #define ENET_EIMR_RXB_MASK (0x1000000U)
  14534. #define ENET_EIMR_RXB_SHIFT (24U)
  14535. /*! RXB - RXB Interrupt Mask
  14536. * 0b0..The corresponding interrupt source is masked.
  14537. * 0b1..The corresponding interrupt source is not masked.
  14538. */
  14539. #define ENET_EIMR_RXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXB_SHIFT)) & ENET_EIMR_RXB_MASK)
  14540. #define ENET_EIMR_RXF_MASK (0x2000000U)
  14541. #define ENET_EIMR_RXF_SHIFT (25U)
  14542. /*! RXF - RXF Interrupt Mask
  14543. * 0b0..The corresponding interrupt source is masked.
  14544. * 0b1..The corresponding interrupt source is not masked.
  14545. */
  14546. #define ENET_EIMR_RXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXF_SHIFT)) & ENET_EIMR_RXF_MASK)
  14547. #define ENET_EIMR_TXB_MASK (0x4000000U)
  14548. #define ENET_EIMR_TXB_SHIFT (26U)
  14549. /*! TXB - TXB Interrupt Mask
  14550. * 0b0..The corresponding interrupt source is masked.
  14551. * 0b1..The corresponding interrupt source is not masked.
  14552. */
  14553. #define ENET_EIMR_TXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXB_SHIFT)) & ENET_EIMR_TXB_MASK)
  14554. #define ENET_EIMR_TXF_MASK (0x8000000U)
  14555. #define ENET_EIMR_TXF_SHIFT (27U)
  14556. /*! TXF - TXF Interrupt Mask
  14557. * 0b0..The corresponding interrupt source is masked.
  14558. * 0b1..The corresponding interrupt source is not masked.
  14559. */
  14560. #define ENET_EIMR_TXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXF_SHIFT)) & ENET_EIMR_TXF_MASK)
  14561. #define ENET_EIMR_GRA_MASK (0x10000000U)
  14562. #define ENET_EIMR_GRA_SHIFT (28U)
  14563. /*! GRA - GRA Interrupt Mask
  14564. * 0b0..The corresponding interrupt source is masked.
  14565. * 0b1..The corresponding interrupt source is not masked.
  14566. */
  14567. #define ENET_EIMR_GRA(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_GRA_SHIFT)) & ENET_EIMR_GRA_MASK)
  14568. #define ENET_EIMR_BABT_MASK (0x20000000U)
  14569. #define ENET_EIMR_BABT_SHIFT (29U)
  14570. /*! BABT - BABT Interrupt Mask
  14571. * 0b0..The corresponding interrupt source is masked.
  14572. * 0b1..The corresponding interrupt source is not masked.
  14573. */
  14574. #define ENET_EIMR_BABT(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_BABT_SHIFT)) & ENET_EIMR_BABT_MASK)
  14575. #define ENET_EIMR_BABR_MASK (0x40000000U)
  14576. #define ENET_EIMR_BABR_SHIFT (30U)
  14577. /*! BABR - BABR Interrupt Mask
  14578. * 0b0..The corresponding interrupt source is masked.
  14579. * 0b1..The corresponding interrupt source is not masked.
  14580. */
  14581. #define ENET_EIMR_BABR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_BABR_SHIFT)) & ENET_EIMR_BABR_MASK)
  14582. /*! @} */
  14583. /*! @name RDAR - Receive Descriptor Active Register - Ring 0 */
  14584. /*! @{ */
  14585. #define ENET_RDAR_RDAR_MASK (0x1000000U)
  14586. #define ENET_RDAR_RDAR_SHIFT (24U)
  14587. /*! RDAR - Receive Descriptor Active
  14588. */
  14589. #define ENET_RDAR_RDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDAR_RDAR_SHIFT)) & ENET_RDAR_RDAR_MASK)
  14590. /*! @} */
  14591. /*! @name TDAR - Transmit Descriptor Active Register - Ring 0 */
  14592. /*! @{ */
  14593. #define ENET_TDAR_TDAR_MASK (0x1000000U)
  14594. #define ENET_TDAR_TDAR_SHIFT (24U)
  14595. /*! TDAR - Transmit Descriptor Active
  14596. */
  14597. #define ENET_TDAR_TDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDAR_TDAR_SHIFT)) & ENET_TDAR_TDAR_MASK)
  14598. /*! @} */
  14599. /*! @name ECR - Ethernet Control Register */
  14600. /*! @{ */
  14601. #define ENET_ECR_RESET_MASK (0x1U)
  14602. #define ENET_ECR_RESET_SHIFT (0U)
  14603. /*! RESET - Ethernet MAC Reset
  14604. */
  14605. #define ENET_ECR_RESET(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_RESET_SHIFT)) & ENET_ECR_RESET_MASK)
  14606. #define ENET_ECR_ETHEREN_MASK (0x2U)
  14607. #define ENET_ECR_ETHEREN_SHIFT (1U)
  14608. /*! ETHEREN - Ethernet Enable
  14609. * 0b0..Reception immediately stops and transmission stops after a bad CRC is appended to any currently transmitted frame.
  14610. * 0b1..MAC is enabled, and reception and transmission are possible.
  14611. */
  14612. #define ENET_ECR_ETHEREN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_ETHEREN_SHIFT)) & ENET_ECR_ETHEREN_MASK)
  14613. #define ENET_ECR_MAGICEN_MASK (0x4U)
  14614. #define ENET_ECR_MAGICEN_SHIFT (2U)
  14615. /*! MAGICEN - Magic Packet Detection Enable
  14616. * 0b0..Magic detection logic disabled.
  14617. * 0b1..The MAC core detects magic packets and asserts EIR[WAKEUP] when a frame is detected.
  14618. */
  14619. #define ENET_ECR_MAGICEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_MAGICEN_SHIFT)) & ENET_ECR_MAGICEN_MASK)
  14620. #define ENET_ECR_SLEEP_MASK (0x8U)
  14621. #define ENET_ECR_SLEEP_SHIFT (3U)
  14622. /*! SLEEP - Sleep Mode Enable
  14623. * 0b0..Normal operating mode.
  14624. * 0b1..Sleep mode.
  14625. */
  14626. #define ENET_ECR_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_SLEEP_SHIFT)) & ENET_ECR_SLEEP_MASK)
  14627. #define ENET_ECR_EN1588_MASK (0x10U)
  14628. #define ENET_ECR_EN1588_SHIFT (4U)
  14629. /*! EN1588 - EN1588 Enable
  14630. * 0b0..Legacy FEC buffer descriptors and functions enabled.
  14631. * 0b1..Enhanced frame time-stamping functions enabled. Has no effect within the MAC besides controlling the DMA control bit ena_1588.
  14632. */
  14633. #define ENET_ECR_EN1588(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_EN1588_SHIFT)) & ENET_ECR_EN1588_MASK)
  14634. #define ENET_ECR_DBGEN_MASK (0x40U)
  14635. #define ENET_ECR_DBGEN_SHIFT (6U)
  14636. /*! DBGEN - Debug Enable
  14637. * 0b0..MAC continues operation in debug mode.
  14638. * 0b1..MAC enters hardware freeze mode when the processor is in debug mode.
  14639. */
  14640. #define ENET_ECR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_DBGEN_SHIFT)) & ENET_ECR_DBGEN_MASK)
  14641. #define ENET_ECR_DBSWP_MASK (0x100U)
  14642. #define ENET_ECR_DBSWP_SHIFT (8U)
  14643. /*! DBSWP - Descriptor Byte Swapping Enable
  14644. * 0b0..The buffer descriptor bytes are not swapped to support big-endian devices.
  14645. * 0b1..The buffer descriptor bytes are swapped to support little-endian devices.
  14646. */
  14647. #define ENET_ECR_DBSWP(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_DBSWP_SHIFT)) & ENET_ECR_DBSWP_MASK)
  14648. /*! @} */
  14649. /*! @name MMFR - MII Management Frame Register */
  14650. /*! @{ */
  14651. #define ENET_MMFR_DATA_MASK (0xFFFFU)
  14652. #define ENET_MMFR_DATA_SHIFT (0U)
  14653. /*! DATA - Management Frame Data
  14654. */
  14655. #define ENET_MMFR_DATA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_DATA_SHIFT)) & ENET_MMFR_DATA_MASK)
  14656. #define ENET_MMFR_TA_MASK (0x30000U)
  14657. #define ENET_MMFR_TA_SHIFT (16U)
  14658. /*! TA - Turn Around
  14659. */
  14660. #define ENET_MMFR_TA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_TA_SHIFT)) & ENET_MMFR_TA_MASK)
  14661. #define ENET_MMFR_RA_MASK (0x7C0000U)
  14662. #define ENET_MMFR_RA_SHIFT (18U)
  14663. /*! RA - Register Address
  14664. */
  14665. #define ENET_MMFR_RA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_RA_SHIFT)) & ENET_MMFR_RA_MASK)
  14666. #define ENET_MMFR_PA_MASK (0xF800000U)
  14667. #define ENET_MMFR_PA_SHIFT (23U)
  14668. /*! PA - PHY Address
  14669. */
  14670. #define ENET_MMFR_PA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_PA_SHIFT)) & ENET_MMFR_PA_MASK)
  14671. #define ENET_MMFR_OP_MASK (0x30000000U)
  14672. #define ENET_MMFR_OP_SHIFT (28U)
  14673. /*! OP - Operation Code
  14674. */
  14675. #define ENET_MMFR_OP(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_OP_SHIFT)) & ENET_MMFR_OP_MASK)
  14676. #define ENET_MMFR_ST_MASK (0xC0000000U)
  14677. #define ENET_MMFR_ST_SHIFT (30U)
  14678. /*! ST - Start Of Frame Delimiter
  14679. */
  14680. #define ENET_MMFR_ST(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_ST_SHIFT)) & ENET_MMFR_ST_MASK)
  14681. /*! @} */
  14682. /*! @name MSCR - MII Speed Control Register */
  14683. /*! @{ */
  14684. #define ENET_MSCR_MII_SPEED_MASK (0x7EU)
  14685. #define ENET_MSCR_MII_SPEED_SHIFT (1U)
  14686. /*! MII_SPEED - MII Speed
  14687. */
  14688. #define ENET_MSCR_MII_SPEED(x) (((uint32_t)(((uint32_t)(x)) << ENET_MSCR_MII_SPEED_SHIFT)) & ENET_MSCR_MII_SPEED_MASK)
  14689. #define ENET_MSCR_DIS_PRE_MASK (0x80U)
  14690. #define ENET_MSCR_DIS_PRE_SHIFT (7U)
  14691. /*! DIS_PRE - Disable Preamble
  14692. * 0b0..Preamble enabled.
  14693. * 0b1..Preamble (32 ones) is not prepended to the MII management frame.
  14694. */
  14695. #define ENET_MSCR_DIS_PRE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MSCR_DIS_PRE_SHIFT)) & ENET_MSCR_DIS_PRE_MASK)
  14696. #define ENET_MSCR_HOLDTIME_MASK (0x700U)
  14697. #define ENET_MSCR_HOLDTIME_SHIFT (8U)
  14698. /*! HOLDTIME - Hold time On MDIO Output
  14699. * 0b000..1 internal module clock cycle
  14700. * 0b001..2 internal module clock cycles
  14701. * 0b010..3 internal module clock cycles
  14702. * 0b111..8 internal module clock cycles
  14703. */
  14704. #define ENET_MSCR_HOLDTIME(x) (((uint32_t)(((uint32_t)(x)) << ENET_MSCR_HOLDTIME_SHIFT)) & ENET_MSCR_HOLDTIME_MASK)
  14705. /*! @} */
  14706. /*! @name MIBC - MIB Control Register */
  14707. /*! @{ */
  14708. #define ENET_MIBC_MIB_CLEAR_MASK (0x20000000U)
  14709. #define ENET_MIBC_MIB_CLEAR_SHIFT (29U)
  14710. /*! MIB_CLEAR - MIB Clear
  14711. * 0b0..See note above.
  14712. * 0b1..All statistics counters are reset to 0.
  14713. */
  14714. #define ENET_MIBC_MIB_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_MIBC_MIB_CLEAR_SHIFT)) & ENET_MIBC_MIB_CLEAR_MASK)
  14715. #define ENET_MIBC_MIB_IDLE_MASK (0x40000000U)
  14716. #define ENET_MIBC_MIB_IDLE_SHIFT (30U)
  14717. /*! MIB_IDLE - MIB Idle
  14718. * 0b0..The MIB block is updating MIB counters.
  14719. * 0b1..The MIB block is not currently updating any MIB counters.
  14720. */
  14721. #define ENET_MIBC_MIB_IDLE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MIBC_MIB_IDLE_SHIFT)) & ENET_MIBC_MIB_IDLE_MASK)
  14722. #define ENET_MIBC_MIB_DIS_MASK (0x80000000U)
  14723. #define ENET_MIBC_MIB_DIS_SHIFT (31U)
  14724. /*! MIB_DIS - Disable MIB Logic
  14725. * 0b0..MIB logic is enabled.
  14726. * 0b1..MIB logic is disabled. The MIB logic halts and does not update any MIB counters.
  14727. */
  14728. #define ENET_MIBC_MIB_DIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MIBC_MIB_DIS_SHIFT)) & ENET_MIBC_MIB_DIS_MASK)
  14729. /*! @} */
  14730. /*! @name RCR - Receive Control Register */
  14731. /*! @{ */
  14732. #define ENET_RCR_LOOP_MASK (0x1U)
  14733. #define ENET_RCR_LOOP_SHIFT (0U)
  14734. /*! LOOP - Internal Loopback
  14735. * 0b0..Loopback disabled.
  14736. * 0b1..Transmitted frames are looped back internal to the device and transmit MII output signals are not asserted. DRT must be cleared.
  14737. */
  14738. #define ENET_RCR_LOOP(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_LOOP_SHIFT)) & ENET_RCR_LOOP_MASK)
  14739. #define ENET_RCR_DRT_MASK (0x2U)
  14740. #define ENET_RCR_DRT_SHIFT (1U)
  14741. /*! DRT - Disable Receive On Transmit
  14742. * 0b0..Receive path operates independently of transmit (i.e., full-duplex mode). Can also be used to monitor transmit activity in half-duplex mode.
  14743. * 0b1..Disable reception of frames while transmitting. (Normally used for half-duplex mode.)
  14744. */
  14745. #define ENET_RCR_DRT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_DRT_SHIFT)) & ENET_RCR_DRT_MASK)
  14746. #define ENET_RCR_MII_MODE_MASK (0x4U)
  14747. #define ENET_RCR_MII_MODE_SHIFT (2U)
  14748. /*! MII_MODE - Media Independent Interface Mode
  14749. * 0b0..Reserved.
  14750. * 0b1..MII or RMII mode, as indicated by the RMII_MODE field.
  14751. */
  14752. #define ENET_RCR_MII_MODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_MII_MODE_SHIFT)) & ENET_RCR_MII_MODE_MASK)
  14753. #define ENET_RCR_PROM_MASK (0x8U)
  14754. #define ENET_RCR_PROM_SHIFT (3U)
  14755. /*! PROM - Promiscuous Mode
  14756. * 0b0..Disabled.
  14757. * 0b1..Enabled.
  14758. */
  14759. #define ENET_RCR_PROM(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_PROM_SHIFT)) & ENET_RCR_PROM_MASK)
  14760. #define ENET_RCR_BC_REJ_MASK (0x10U)
  14761. #define ENET_RCR_BC_REJ_SHIFT (4U)
  14762. /*! BC_REJ - Broadcast Frame Reject
  14763. * 0b0..Will not reject frames as described above
  14764. * 0b1..Will reject frames as described above
  14765. */
  14766. #define ENET_RCR_BC_REJ(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_BC_REJ_SHIFT)) & ENET_RCR_BC_REJ_MASK)
  14767. #define ENET_RCR_FCE_MASK (0x20U)
  14768. #define ENET_RCR_FCE_SHIFT (5U)
  14769. /*! FCE - Flow Control Enable
  14770. * 0b0..Disable flow control
  14771. * 0b1..Enable flow control
  14772. */
  14773. #define ENET_RCR_FCE(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_FCE_SHIFT)) & ENET_RCR_FCE_MASK)
  14774. #define ENET_RCR_RMII_MODE_MASK (0x100U)
  14775. #define ENET_RCR_RMII_MODE_SHIFT (8U)
  14776. /*! RMII_MODE - RMII Mode Enable
  14777. * 0b0..MAC configured for MII mode.
  14778. * 0b1..MAC configured for RMII operation.
  14779. */
  14780. #define ENET_RCR_RMII_MODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_RMII_MODE_SHIFT)) & ENET_RCR_RMII_MODE_MASK)
  14781. #define ENET_RCR_RMII_10T_MASK (0x200U)
  14782. #define ENET_RCR_RMII_10T_SHIFT (9U)
  14783. /*! RMII_10T
  14784. * 0b0..100-Mbit/s operation.
  14785. * 0b1..10-Mbit/s operation.
  14786. */
  14787. #define ENET_RCR_RMII_10T(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_RMII_10T_SHIFT)) & ENET_RCR_RMII_10T_MASK)
  14788. #define ENET_RCR_PADEN_MASK (0x1000U)
  14789. #define ENET_RCR_PADEN_SHIFT (12U)
  14790. /*! PADEN - Enable Frame Padding Remove On Receive
  14791. * 0b0..No padding is removed on receive by the MAC.
  14792. * 0b1..Padding is removed from received frames.
  14793. */
  14794. #define ENET_RCR_PADEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_PADEN_SHIFT)) & ENET_RCR_PADEN_MASK)
  14795. #define ENET_RCR_PAUFWD_MASK (0x2000U)
  14796. #define ENET_RCR_PAUFWD_SHIFT (13U)
  14797. /*! PAUFWD - Terminate/Forward Pause Frames
  14798. * 0b0..Pause frames are terminated and discarded in the MAC.
  14799. * 0b1..Pause frames are forwarded to the user application.
  14800. */
  14801. #define ENET_RCR_PAUFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_PAUFWD_SHIFT)) & ENET_RCR_PAUFWD_MASK)
  14802. #define ENET_RCR_CRCFWD_MASK (0x4000U)
  14803. #define ENET_RCR_CRCFWD_SHIFT (14U)
  14804. /*! CRCFWD - Terminate/Forward Received CRC
  14805. * 0b0..The CRC field of received frames is transmitted to the user application.
  14806. * 0b1..The CRC field is stripped from the frame.
  14807. */
  14808. #define ENET_RCR_CRCFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_CRCFWD_SHIFT)) & ENET_RCR_CRCFWD_MASK)
  14809. #define ENET_RCR_CFEN_MASK (0x8000U)
  14810. #define ENET_RCR_CFEN_SHIFT (15U)
  14811. /*! CFEN - MAC Control Frame Enable
  14812. * 0b0..MAC control frames with any opcode other than 0x0001 (pause frame) are accepted and forwarded to the client interface.
  14813. * 0b1..MAC control frames with any opcode other than 0x0001 (pause frame) are silently discarded.
  14814. */
  14815. #define ENET_RCR_CFEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_CFEN_SHIFT)) & ENET_RCR_CFEN_MASK)
  14816. #define ENET_RCR_MAX_FL_MASK (0x3FFF0000U)
  14817. #define ENET_RCR_MAX_FL_SHIFT (16U)
  14818. /*! MAX_FL - Maximum Frame Length
  14819. */
  14820. #define ENET_RCR_MAX_FL(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_MAX_FL_SHIFT)) & ENET_RCR_MAX_FL_MASK)
  14821. #define ENET_RCR_NLC_MASK (0x40000000U)
  14822. #define ENET_RCR_NLC_SHIFT (30U)
  14823. /*! NLC - Payload Length Check Disable
  14824. * 0b0..The payload length check is disabled.
  14825. * 0b1..The core checks the frame's payload length with the frame length/type field. Errors are indicated in the EIR[PLR] field.
  14826. */
  14827. #define ENET_RCR_NLC(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_NLC_SHIFT)) & ENET_RCR_NLC_MASK)
  14828. #define ENET_RCR_GRS_MASK (0x80000000U)
  14829. #define ENET_RCR_GRS_SHIFT (31U)
  14830. /*! GRS - Graceful Receive Stopped
  14831. * 0b0..Receive not stopped
  14832. * 0b1..Receive stopped
  14833. */
  14834. #define ENET_RCR_GRS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_GRS_SHIFT)) & ENET_RCR_GRS_MASK)
  14835. /*! @} */
  14836. /*! @name TCR - Transmit Control Register */
  14837. /*! @{ */
  14838. #define ENET_TCR_GTS_MASK (0x1U)
  14839. #define ENET_TCR_GTS_SHIFT (0U)
  14840. /*! GTS - Graceful Transmit Stop
  14841. * 0b0..Disable graceful transmit stop
  14842. * 0b1..Enable graceful transmit stop
  14843. */
  14844. #define ENET_TCR_GTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_GTS_SHIFT)) & ENET_TCR_GTS_MASK)
  14845. #define ENET_TCR_FDEN_MASK (0x4U)
  14846. #define ENET_TCR_FDEN_SHIFT (2U)
  14847. /*! FDEN - Full-Duplex Enable
  14848. * 0b0..Disable full-duplex
  14849. * 0b1..Enable full-duplex
  14850. */
  14851. #define ENET_TCR_FDEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_FDEN_SHIFT)) & ENET_TCR_FDEN_MASK)
  14852. #define ENET_TCR_TFC_PAUSE_MASK (0x8U)
  14853. #define ENET_TCR_TFC_PAUSE_SHIFT (3U)
  14854. /*! TFC_PAUSE - Transmit Frame Control Pause
  14855. * 0b0..No PAUSE frame transmitted.
  14856. * 0b1..The MAC stops transmission of data frames after the current transmission is complete.
  14857. */
  14858. #define ENET_TCR_TFC_PAUSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_TFC_PAUSE_SHIFT)) & ENET_TCR_TFC_PAUSE_MASK)
  14859. #define ENET_TCR_RFC_PAUSE_MASK (0x10U)
  14860. #define ENET_TCR_RFC_PAUSE_SHIFT (4U)
  14861. /*! RFC_PAUSE - Receive Frame Control Pause
  14862. */
  14863. #define ENET_TCR_RFC_PAUSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_RFC_PAUSE_SHIFT)) & ENET_TCR_RFC_PAUSE_MASK)
  14864. #define ENET_TCR_ADDSEL_MASK (0xE0U)
  14865. #define ENET_TCR_ADDSEL_SHIFT (5U)
  14866. /*! ADDSEL - Source MAC Address Select On Transmit
  14867. * 0b000..Node MAC address programmed on PADDR1/2 registers.
  14868. * 0b100..Reserved.
  14869. * 0b101..Reserved.
  14870. * 0b110..Reserved.
  14871. */
  14872. #define ENET_TCR_ADDSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_ADDSEL_SHIFT)) & ENET_TCR_ADDSEL_MASK)
  14873. #define ENET_TCR_ADDINS_MASK (0x100U)
  14874. #define ENET_TCR_ADDINS_SHIFT (8U)
  14875. /*! ADDINS - Set MAC Address On Transmit
  14876. * 0b0..The source MAC address is not modified by the MAC.
  14877. * 0b1..The MAC overwrites the source MAC address with the programmed MAC address according to ADDSEL.
  14878. */
  14879. #define ENET_TCR_ADDINS(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_ADDINS_SHIFT)) & ENET_TCR_ADDINS_MASK)
  14880. #define ENET_TCR_CRCFWD_MASK (0x200U)
  14881. #define ENET_TCR_CRCFWD_SHIFT (9U)
  14882. /*! CRCFWD - Forward Frame From Application With CRC
  14883. * 0b0..TxBD[TC] controls whether the frame has a CRC from the application.
  14884. * 0b1..The transmitter does not append any CRC to transmitted frames, as it is expecting a frame with CRC from the application.
  14885. */
  14886. #define ENET_TCR_CRCFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_CRCFWD_SHIFT)) & ENET_TCR_CRCFWD_MASK)
  14887. /*! @} */
  14888. /*! @name PALR - Physical Address Lower Register */
  14889. /*! @{ */
  14890. #define ENET_PALR_PADDR1_MASK (0xFFFFFFFFU)
  14891. #define ENET_PALR_PADDR1_SHIFT (0U)
  14892. /*! PADDR1 - Pause Address
  14893. */
  14894. #define ENET_PALR_PADDR1(x) (((uint32_t)(((uint32_t)(x)) << ENET_PALR_PADDR1_SHIFT)) & ENET_PALR_PADDR1_MASK)
  14895. /*! @} */
  14896. /*! @name PAUR - Physical Address Upper Register */
  14897. /*! @{ */
  14898. #define ENET_PAUR_TYPE_MASK (0xFFFFU)
  14899. #define ENET_PAUR_TYPE_SHIFT (0U)
  14900. /*! TYPE - Type Field In PAUSE Frames
  14901. */
  14902. #define ENET_PAUR_TYPE(x) (((uint32_t)(((uint32_t)(x)) << ENET_PAUR_TYPE_SHIFT)) & ENET_PAUR_TYPE_MASK)
  14903. #define ENET_PAUR_PADDR2_MASK (0xFFFF0000U)
  14904. #define ENET_PAUR_PADDR2_SHIFT (16U)
  14905. #define ENET_PAUR_PADDR2(x) (((uint32_t)(((uint32_t)(x)) << ENET_PAUR_PADDR2_SHIFT)) & ENET_PAUR_PADDR2_MASK)
  14906. /*! @} */
  14907. /*! @name OPD - Opcode/Pause Duration Register */
  14908. /*! @{ */
  14909. #define ENET_OPD_PAUSE_DUR_MASK (0xFFFFU)
  14910. #define ENET_OPD_PAUSE_DUR_SHIFT (0U)
  14911. /*! PAUSE_DUR - Pause Duration
  14912. */
  14913. #define ENET_OPD_PAUSE_DUR(x) (((uint32_t)(((uint32_t)(x)) << ENET_OPD_PAUSE_DUR_SHIFT)) & ENET_OPD_PAUSE_DUR_MASK)
  14914. #define ENET_OPD_OPCODE_MASK (0xFFFF0000U)
  14915. #define ENET_OPD_OPCODE_SHIFT (16U)
  14916. /*! OPCODE - Opcode Field In PAUSE Frames
  14917. */
  14918. #define ENET_OPD_OPCODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_OPD_OPCODE_SHIFT)) & ENET_OPD_OPCODE_MASK)
  14919. /*! @} */
  14920. /*! @name TXIC - Transmit Interrupt Coalescing Register */
  14921. /*! @{ */
  14922. #define ENET_TXIC_ICTT_MASK (0xFFFFU)
  14923. #define ENET_TXIC_ICTT_SHIFT (0U)
  14924. /*! ICTT - Interrupt coalescing timer threshold
  14925. */
  14926. #define ENET_TXIC_ICTT(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICTT_SHIFT)) & ENET_TXIC_ICTT_MASK)
  14927. #define ENET_TXIC_ICFT_MASK (0xFF00000U)
  14928. #define ENET_TXIC_ICFT_SHIFT (20U)
  14929. /*! ICFT - Interrupt coalescing frame count threshold
  14930. */
  14931. #define ENET_TXIC_ICFT(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICFT_SHIFT)) & ENET_TXIC_ICFT_MASK)
  14932. #define ENET_TXIC_ICCS_MASK (0x40000000U)
  14933. #define ENET_TXIC_ICCS_SHIFT (30U)
  14934. /*! ICCS - Interrupt Coalescing Timer Clock Source Select
  14935. * 0b0..Use MII/GMII TX clocks.
  14936. * 0b1..Use ENET system clock.
  14937. */
  14938. #define ENET_TXIC_ICCS(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICCS_SHIFT)) & ENET_TXIC_ICCS_MASK)
  14939. #define ENET_TXIC_ICEN_MASK (0x80000000U)
  14940. #define ENET_TXIC_ICEN_SHIFT (31U)
  14941. /*! ICEN - Interrupt Coalescing Enable
  14942. * 0b0..Disable Interrupt coalescing.
  14943. * 0b1..Enable Interrupt coalescing.
  14944. */
  14945. #define ENET_TXIC_ICEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICEN_SHIFT)) & ENET_TXIC_ICEN_MASK)
  14946. /*! @} */
  14947. /* The count of ENET_TXIC */
  14948. #define ENET_TXIC_COUNT (1U)
  14949. /*! @name RXIC - Receive Interrupt Coalescing Register */
  14950. /*! @{ */
  14951. #define ENET_RXIC_ICTT_MASK (0xFFFFU)
  14952. #define ENET_RXIC_ICTT_SHIFT (0U)
  14953. /*! ICTT - Interrupt coalescing timer threshold
  14954. */
  14955. #define ENET_RXIC_ICTT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICTT_SHIFT)) & ENET_RXIC_ICTT_MASK)
  14956. #define ENET_RXIC_ICFT_MASK (0xFF00000U)
  14957. #define ENET_RXIC_ICFT_SHIFT (20U)
  14958. /*! ICFT - Interrupt coalescing frame count threshold
  14959. */
  14960. #define ENET_RXIC_ICFT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICFT_SHIFT)) & ENET_RXIC_ICFT_MASK)
  14961. #define ENET_RXIC_ICCS_MASK (0x40000000U)
  14962. #define ENET_RXIC_ICCS_SHIFT (30U)
  14963. /*! ICCS - Interrupt Coalescing Timer Clock Source Select
  14964. * 0b0..Use MII/GMII TX clocks.
  14965. * 0b1..Use ENET system clock.
  14966. */
  14967. #define ENET_RXIC_ICCS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICCS_SHIFT)) & ENET_RXIC_ICCS_MASK)
  14968. #define ENET_RXIC_ICEN_MASK (0x80000000U)
  14969. #define ENET_RXIC_ICEN_SHIFT (31U)
  14970. /*! ICEN - Interrupt Coalescing Enable
  14971. * 0b0..Disable Interrupt coalescing.
  14972. * 0b1..Enable Interrupt coalescing.
  14973. */
  14974. #define ENET_RXIC_ICEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICEN_SHIFT)) & ENET_RXIC_ICEN_MASK)
  14975. /*! @} */
  14976. /* The count of ENET_RXIC */
  14977. #define ENET_RXIC_COUNT (1U)
  14978. /*! @name IAUR - Descriptor Individual Upper Address Register */
  14979. /*! @{ */
  14980. #define ENET_IAUR_IADDR1_MASK (0xFFFFFFFFU)
  14981. #define ENET_IAUR_IADDR1_SHIFT (0U)
  14982. #define ENET_IAUR_IADDR1(x) (((uint32_t)(((uint32_t)(x)) << ENET_IAUR_IADDR1_SHIFT)) & ENET_IAUR_IADDR1_MASK)
  14983. /*! @} */
  14984. /*! @name IALR - Descriptor Individual Lower Address Register */
  14985. /*! @{ */
  14986. #define ENET_IALR_IADDR2_MASK (0xFFFFFFFFU)
  14987. #define ENET_IALR_IADDR2_SHIFT (0U)
  14988. #define ENET_IALR_IADDR2(x) (((uint32_t)(((uint32_t)(x)) << ENET_IALR_IADDR2_SHIFT)) & ENET_IALR_IADDR2_MASK)
  14989. /*! @} */
  14990. /*! @name GAUR - Descriptor Group Upper Address Register */
  14991. /*! @{ */
  14992. #define ENET_GAUR_GADDR1_MASK (0xFFFFFFFFU)
  14993. #define ENET_GAUR_GADDR1_SHIFT (0U)
  14994. #define ENET_GAUR_GADDR1(x) (((uint32_t)(((uint32_t)(x)) << ENET_GAUR_GADDR1_SHIFT)) & ENET_GAUR_GADDR1_MASK)
  14995. /*! @} */
  14996. /*! @name GALR - Descriptor Group Lower Address Register */
  14997. /*! @{ */
  14998. #define ENET_GALR_GADDR2_MASK (0xFFFFFFFFU)
  14999. #define ENET_GALR_GADDR2_SHIFT (0U)
  15000. #define ENET_GALR_GADDR2(x) (((uint32_t)(((uint32_t)(x)) << ENET_GALR_GADDR2_SHIFT)) & ENET_GALR_GADDR2_MASK)
  15001. /*! @} */
  15002. /*! @name TFWR - Transmit FIFO Watermark Register */
  15003. /*! @{ */
  15004. #define ENET_TFWR_TFWR_MASK (0x3FU)
  15005. #define ENET_TFWR_TFWR_SHIFT (0U)
  15006. /*! TFWR - Transmit FIFO Write
  15007. * 0b000000..64 bytes written.
  15008. * 0b000001..64 bytes written.
  15009. * 0b000010..128 bytes written.
  15010. * 0b000011..192 bytes written.
  15011. * 0b011111..1984 bytes written.
  15012. */
  15013. #define ENET_TFWR_TFWR(x) (((uint32_t)(((uint32_t)(x)) << ENET_TFWR_TFWR_SHIFT)) & ENET_TFWR_TFWR_MASK)
  15014. #define ENET_TFWR_STRFWD_MASK (0x100U)
  15015. #define ENET_TFWR_STRFWD_SHIFT (8U)
  15016. /*! STRFWD - Store And Forward Enable
  15017. * 0b0..Reset. The transmission start threshold is programmed in TFWR[TFWR].
  15018. * 0b1..Enabled.
  15019. */
  15020. #define ENET_TFWR_STRFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_TFWR_STRFWD_SHIFT)) & ENET_TFWR_STRFWD_MASK)
  15021. /*! @} */
  15022. /*! @name RDSR - Receive Descriptor Ring 0 Start Register */
  15023. /*! @{ */
  15024. #define ENET_RDSR_R_DES_START_MASK (0xFFFFFFF8U)
  15025. #define ENET_RDSR_R_DES_START_SHIFT (3U)
  15026. #define ENET_RDSR_R_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDSR_R_DES_START_SHIFT)) & ENET_RDSR_R_DES_START_MASK)
  15027. /*! @} */
  15028. /*! @name TDSR - Transmit Buffer Descriptor Ring 0 Start Register */
  15029. /*! @{ */
  15030. #define ENET_TDSR_X_DES_START_MASK (0xFFFFFFF8U)
  15031. #define ENET_TDSR_X_DES_START_SHIFT (3U)
  15032. #define ENET_TDSR_X_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDSR_X_DES_START_SHIFT)) & ENET_TDSR_X_DES_START_MASK)
  15033. /*! @} */
  15034. /*! @name MRBR - Maximum Receive Buffer Size Register - Ring 0 */
  15035. /*! @{ */
  15036. #define ENET_MRBR_R_BUF_SIZE_MASK (0x3FF0U)
  15037. #define ENET_MRBR_R_BUF_SIZE_SHIFT (4U)
  15038. #define ENET_MRBR_R_BUF_SIZE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MRBR_R_BUF_SIZE_SHIFT)) & ENET_MRBR_R_BUF_SIZE_MASK)
  15039. /*! @} */
  15040. /*! @name RSFL - Receive FIFO Section Full Threshold */
  15041. /*! @{ */
  15042. #define ENET_RSFL_RX_SECTION_FULL_MASK (0xFFU)
  15043. #define ENET_RSFL_RX_SECTION_FULL_SHIFT (0U)
  15044. /*! RX_SECTION_FULL - Value Of Receive FIFO Section Full Threshold
  15045. */
  15046. #define ENET_RSFL_RX_SECTION_FULL(x) (((uint32_t)(((uint32_t)(x)) << ENET_RSFL_RX_SECTION_FULL_SHIFT)) & ENET_RSFL_RX_SECTION_FULL_MASK)
  15047. /*! @} */
  15048. /*! @name RSEM - Receive FIFO Section Empty Threshold */
  15049. /*! @{ */
  15050. #define ENET_RSEM_RX_SECTION_EMPTY_MASK (0xFFU)
  15051. #define ENET_RSEM_RX_SECTION_EMPTY_SHIFT (0U)
  15052. /*! RX_SECTION_EMPTY - Value Of The Receive FIFO Section Empty Threshold
  15053. */
  15054. #define ENET_RSEM_RX_SECTION_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_RSEM_RX_SECTION_EMPTY_SHIFT)) & ENET_RSEM_RX_SECTION_EMPTY_MASK)
  15055. #define ENET_RSEM_STAT_SECTION_EMPTY_MASK (0x1F0000U)
  15056. #define ENET_RSEM_STAT_SECTION_EMPTY_SHIFT (16U)
  15057. /*! STAT_SECTION_EMPTY - RX Status FIFO Section Empty Threshold
  15058. */
  15059. #define ENET_RSEM_STAT_SECTION_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_RSEM_STAT_SECTION_EMPTY_SHIFT)) & ENET_RSEM_STAT_SECTION_EMPTY_MASK)
  15060. /*! @} */
  15061. /*! @name RAEM - Receive FIFO Almost Empty Threshold */
  15062. /*! @{ */
  15063. #define ENET_RAEM_RX_ALMOST_EMPTY_MASK (0xFFU)
  15064. #define ENET_RAEM_RX_ALMOST_EMPTY_SHIFT (0U)
  15065. /*! RX_ALMOST_EMPTY - Value Of The Receive FIFO Almost Empty Threshold
  15066. */
  15067. #define ENET_RAEM_RX_ALMOST_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_RAEM_RX_ALMOST_EMPTY_SHIFT)) & ENET_RAEM_RX_ALMOST_EMPTY_MASK)
  15068. /*! @} */
  15069. /*! @name RAFL - Receive FIFO Almost Full Threshold */
  15070. /*! @{ */
  15071. #define ENET_RAFL_RX_ALMOST_FULL_MASK (0xFFU)
  15072. #define ENET_RAFL_RX_ALMOST_FULL_SHIFT (0U)
  15073. /*! RX_ALMOST_FULL - Value Of The Receive FIFO Almost Full Threshold
  15074. */
  15075. #define ENET_RAFL_RX_ALMOST_FULL(x) (((uint32_t)(((uint32_t)(x)) << ENET_RAFL_RX_ALMOST_FULL_SHIFT)) & ENET_RAFL_RX_ALMOST_FULL_MASK)
  15076. /*! @} */
  15077. /*! @name TSEM - Transmit FIFO Section Empty Threshold */
  15078. /*! @{ */
  15079. #define ENET_TSEM_TX_SECTION_EMPTY_MASK (0xFFU)
  15080. #define ENET_TSEM_TX_SECTION_EMPTY_SHIFT (0U)
  15081. /*! TX_SECTION_EMPTY - Value Of The Transmit FIFO Section Empty Threshold
  15082. */
  15083. #define ENET_TSEM_TX_SECTION_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_TSEM_TX_SECTION_EMPTY_SHIFT)) & ENET_TSEM_TX_SECTION_EMPTY_MASK)
  15084. /*! @} */
  15085. /*! @name TAEM - Transmit FIFO Almost Empty Threshold */
  15086. /*! @{ */
  15087. #define ENET_TAEM_TX_ALMOST_EMPTY_MASK (0xFFU)
  15088. #define ENET_TAEM_TX_ALMOST_EMPTY_SHIFT (0U)
  15089. /*! TX_ALMOST_EMPTY - Value of Transmit FIFO Almost Empty Threshold
  15090. */
  15091. #define ENET_TAEM_TX_ALMOST_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_TAEM_TX_ALMOST_EMPTY_SHIFT)) & ENET_TAEM_TX_ALMOST_EMPTY_MASK)
  15092. /*! @} */
  15093. /*! @name TAFL - Transmit FIFO Almost Full Threshold */
  15094. /*! @{ */
  15095. #define ENET_TAFL_TX_ALMOST_FULL_MASK (0xFFU)
  15096. #define ENET_TAFL_TX_ALMOST_FULL_SHIFT (0U)
  15097. /*! TX_ALMOST_FULL - Value Of The Transmit FIFO Almost Full Threshold
  15098. */
  15099. #define ENET_TAFL_TX_ALMOST_FULL(x) (((uint32_t)(((uint32_t)(x)) << ENET_TAFL_TX_ALMOST_FULL_SHIFT)) & ENET_TAFL_TX_ALMOST_FULL_MASK)
  15100. /*! @} */
  15101. /*! @name TIPG - Transmit Inter-Packet Gap */
  15102. /*! @{ */
  15103. #define ENET_TIPG_IPG_MASK (0x1FU)
  15104. #define ENET_TIPG_IPG_SHIFT (0U)
  15105. /*! IPG - Transmit Inter-Packet Gap
  15106. */
  15107. #define ENET_TIPG_IPG(x) (((uint32_t)(((uint32_t)(x)) << ENET_TIPG_IPG_SHIFT)) & ENET_TIPG_IPG_MASK)
  15108. /*! @} */
  15109. /*! @name FTRL - Frame Truncation Length */
  15110. /*! @{ */
  15111. #define ENET_FTRL_TRUNC_FL_MASK (0x3FFFU)
  15112. #define ENET_FTRL_TRUNC_FL_SHIFT (0U)
  15113. /*! TRUNC_FL - Frame Truncation Length
  15114. */
  15115. #define ENET_FTRL_TRUNC_FL(x) (((uint32_t)(((uint32_t)(x)) << ENET_FTRL_TRUNC_FL_SHIFT)) & ENET_FTRL_TRUNC_FL_MASK)
  15116. /*! @} */
  15117. /*! @name TACC - Transmit Accelerator Function Configuration */
  15118. /*! @{ */
  15119. #define ENET_TACC_SHIFT16_MASK (0x1U)
  15120. #define ENET_TACC_SHIFT16_SHIFT (0U)
  15121. /*! SHIFT16 - TX FIFO Shift-16
  15122. * 0b0..Disabled.
  15123. * 0b1..Indicates to the transmit data FIFO that the written frames contain two additional octets before the
  15124. * frame data. This means the actual frame begins at bit 16 of the first word written into the FIFO. This
  15125. * function allows putting the frame payload on a 32-bit boundary in memory, as the 14-byte Ethernet header is
  15126. * extended to a 16-byte header.
  15127. */
  15128. #define ENET_TACC_SHIFT16(x) (((uint32_t)(((uint32_t)(x)) << ENET_TACC_SHIFT16_SHIFT)) & ENET_TACC_SHIFT16_MASK)
  15129. #define ENET_TACC_IPCHK_MASK (0x8U)
  15130. #define ENET_TACC_IPCHK_SHIFT (3U)
  15131. /*! IPCHK
  15132. * 0b0..Checksum is not inserted.
  15133. * 0b1..If an IP frame is transmitted, the checksum is inserted automatically. The IP header checksum field must
  15134. * be cleared. If a non-IP frame is transmitted the frame is not modified.
  15135. */
  15136. #define ENET_TACC_IPCHK(x) (((uint32_t)(((uint32_t)(x)) << ENET_TACC_IPCHK_SHIFT)) & ENET_TACC_IPCHK_MASK)
  15137. #define ENET_TACC_PROCHK_MASK (0x10U)
  15138. #define ENET_TACC_PROCHK_SHIFT (4U)
  15139. /*! PROCHK
  15140. * 0b0..Checksum not inserted.
  15141. * 0b1..If an IP frame with a known protocol is transmitted, the checksum is inserted automatically into the
  15142. * frame. The checksum field must be cleared. The other frames are not modified.
  15143. */
  15144. #define ENET_TACC_PROCHK(x) (((uint32_t)(((uint32_t)(x)) << ENET_TACC_PROCHK_SHIFT)) & ENET_TACC_PROCHK_MASK)
  15145. /*! @} */
  15146. /*! @name RACC - Receive Accelerator Function Configuration */
  15147. /*! @{ */
  15148. #define ENET_RACC_PADREM_MASK (0x1U)
  15149. #define ENET_RACC_PADREM_SHIFT (0U)
  15150. /*! PADREM - Enable Padding Removal For Short IP Frames
  15151. * 0b0..Padding not removed.
  15152. * 0b1..Any bytes following the IP payload section of the frame are removed from the frame.
  15153. */
  15154. #define ENET_RACC_PADREM(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_PADREM_SHIFT)) & ENET_RACC_PADREM_MASK)
  15155. #define ENET_RACC_IPDIS_MASK (0x2U)
  15156. #define ENET_RACC_IPDIS_SHIFT (1U)
  15157. /*! IPDIS - Enable Discard Of Frames With Wrong IPv4 Header Checksum
  15158. * 0b0..Frames with wrong IPv4 header checksum are not discarded.
  15159. * 0b1..If an IPv4 frame is received with a mismatching header checksum, the frame is discarded. IPv6 has no
  15160. * header checksum and is not affected by this setting. Discarding is only available when the RX FIFO operates in
  15161. * store and forward mode (RSFL cleared).
  15162. */
  15163. #define ENET_RACC_IPDIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_IPDIS_SHIFT)) & ENET_RACC_IPDIS_MASK)
  15164. #define ENET_RACC_PRODIS_MASK (0x4U)
  15165. #define ENET_RACC_PRODIS_SHIFT (2U)
  15166. /*! PRODIS - Enable Discard Of Frames With Wrong Protocol Checksum
  15167. * 0b0..Frames with wrong checksum are not discarded.
  15168. * 0b1..If a TCP/IP, UDP/IP, or ICMP/IP frame is received that has a wrong TCP, UDP, or ICMP checksum, the frame
  15169. * is discarded. Discarding is only available when the RX FIFO operates in store and forward mode (RSFL
  15170. * cleared).
  15171. */
  15172. #define ENET_RACC_PRODIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_PRODIS_SHIFT)) & ENET_RACC_PRODIS_MASK)
  15173. #define ENET_RACC_LINEDIS_MASK (0x40U)
  15174. #define ENET_RACC_LINEDIS_SHIFT (6U)
  15175. /*! LINEDIS - Enable Discard Of Frames With MAC Layer Errors
  15176. * 0b0..Frames with errors are not discarded.
  15177. * 0b1..Any frame received with a CRC, length, or PHY error is automatically discarded and not forwarded to the user application interface.
  15178. */
  15179. #define ENET_RACC_LINEDIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_LINEDIS_SHIFT)) & ENET_RACC_LINEDIS_MASK)
  15180. #define ENET_RACC_SHIFT16_MASK (0x80U)
  15181. #define ENET_RACC_SHIFT16_SHIFT (7U)
  15182. /*! SHIFT16 - RX FIFO Shift-16
  15183. * 0b0..Disabled.
  15184. * 0b1..Instructs the MAC to write two additional bytes in front of each frame received into the RX FIFO.
  15185. */
  15186. #define ENET_RACC_SHIFT16(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_SHIFT16_SHIFT)) & ENET_RACC_SHIFT16_MASK)
  15187. /*! @} */
  15188. /*! @name RMON_T_PACKETS - Tx Packet Count Statistic Register */
  15189. /*! @{ */
  15190. #define ENET_RMON_T_PACKETS_TXPKTS_MASK (0xFFFFU)
  15191. #define ENET_RMON_T_PACKETS_TXPKTS_SHIFT (0U)
  15192. /*! TXPKTS - Packet count
  15193. */
  15194. #define ENET_RMON_T_PACKETS_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_PACKETS_TXPKTS_SHIFT)) & ENET_RMON_T_PACKETS_TXPKTS_MASK)
  15195. /*! @} */
  15196. /*! @name RMON_T_BC_PKT - Tx Broadcast Packets Statistic Register */
  15197. /*! @{ */
  15198. #define ENET_RMON_T_BC_PKT_TXPKTS_MASK (0xFFFFU)
  15199. #define ENET_RMON_T_BC_PKT_TXPKTS_SHIFT (0U)
  15200. /*! TXPKTS - Number of broadcast packets
  15201. */
  15202. #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)
  15203. /*! @} */
  15204. /*! @name RMON_T_MC_PKT - Tx Multicast Packets Statistic Register */
  15205. /*! @{ */
  15206. #define ENET_RMON_T_MC_PKT_TXPKTS_MASK (0xFFFFU)
  15207. #define ENET_RMON_T_MC_PKT_TXPKTS_SHIFT (0U)
  15208. /*! TXPKTS - Number of multicast packets
  15209. */
  15210. #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)
  15211. /*! @} */
  15212. /*! @name RMON_T_CRC_ALIGN - Tx Packets with CRC/Align Error Statistic Register */
  15213. /*! @{ */
  15214. #define ENET_RMON_T_CRC_ALIGN_TXPKTS_MASK (0xFFFFU)
  15215. #define ENET_RMON_T_CRC_ALIGN_TXPKTS_SHIFT (0U)
  15216. /*! TXPKTS - Number of packets with CRC/align error
  15217. */
  15218. #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)
  15219. /*! @} */
  15220. /*! @name RMON_T_UNDERSIZE - Tx Packets Less Than Bytes and Good CRC Statistic Register */
  15221. /*! @{ */
  15222. #define ENET_RMON_T_UNDERSIZE_TXPKTS_MASK (0xFFFFU)
  15223. #define ENET_RMON_T_UNDERSIZE_TXPKTS_SHIFT (0U)
  15224. /*! TXPKTS - Number of transmit packets less than 64 bytes with good CRC
  15225. */
  15226. #define ENET_RMON_T_UNDERSIZE_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_UNDERSIZE_TXPKTS_SHIFT)) & ENET_RMON_T_UNDERSIZE_TXPKTS_MASK)
  15227. /*! @} */
  15228. /*! @name RMON_T_OVERSIZE - Tx Packets GT MAX_FL bytes and Good CRC Statistic Register */
  15229. /*! @{ */
  15230. #define ENET_RMON_T_OVERSIZE_TXPKTS_MASK (0xFFFFU)
  15231. #define ENET_RMON_T_OVERSIZE_TXPKTS_SHIFT (0U)
  15232. /*! TXPKTS - Number of transmit packets greater than MAX_FL bytes with good CRC
  15233. */
  15234. #define ENET_RMON_T_OVERSIZE_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_OVERSIZE_TXPKTS_SHIFT)) & ENET_RMON_T_OVERSIZE_TXPKTS_MASK)
  15235. /*! @} */
  15236. /*! @name RMON_T_FRAG - Tx Packets Less Than 64 Bytes and Bad CRC Statistic Register */
  15237. /*! @{ */
  15238. #define ENET_RMON_T_FRAG_TXPKTS_MASK (0xFFFFU)
  15239. #define ENET_RMON_T_FRAG_TXPKTS_SHIFT (0U)
  15240. /*! TXPKTS - Number of packets less than 64 bytes with bad CRC
  15241. */
  15242. #define ENET_RMON_T_FRAG_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_FRAG_TXPKTS_SHIFT)) & ENET_RMON_T_FRAG_TXPKTS_MASK)
  15243. /*! @} */
  15244. /*! @name RMON_T_JAB - Tx Packets Greater Than MAX_FL bytes and Bad CRC Statistic Register */
  15245. /*! @{ */
  15246. #define ENET_RMON_T_JAB_TXPKTS_MASK (0xFFFFU)
  15247. #define ENET_RMON_T_JAB_TXPKTS_SHIFT (0U)
  15248. /*! TXPKTS - Number of transmit packets greater than MAX_FL bytes and bad CRC
  15249. */
  15250. #define ENET_RMON_T_JAB_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_JAB_TXPKTS_SHIFT)) & ENET_RMON_T_JAB_TXPKTS_MASK)
  15251. /*! @} */
  15252. /*! @name RMON_T_COL - Tx Collision Count Statistic Register */
  15253. /*! @{ */
  15254. #define ENET_RMON_T_COL_TXPKTS_MASK (0xFFFFU)
  15255. #define ENET_RMON_T_COL_TXPKTS_SHIFT (0U)
  15256. /*! TXPKTS - Number of transmit collisions
  15257. */
  15258. #define ENET_RMON_T_COL_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_COL_TXPKTS_SHIFT)) & ENET_RMON_T_COL_TXPKTS_MASK)
  15259. /*! @} */
  15260. /*! @name RMON_T_P64 - Tx 64-Byte Packets Statistic Register */
  15261. /*! @{ */
  15262. #define ENET_RMON_T_P64_TXPKTS_MASK (0xFFFFU)
  15263. #define ENET_RMON_T_P64_TXPKTS_SHIFT (0U)
  15264. /*! TXPKTS - Number of 64-byte transmit packets
  15265. */
  15266. #define ENET_RMON_T_P64_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P64_TXPKTS_SHIFT)) & ENET_RMON_T_P64_TXPKTS_MASK)
  15267. /*! @} */
  15268. /*! @name RMON_T_P65TO127 - Tx 65- to 127-byte Packets Statistic Register */
  15269. /*! @{ */
  15270. #define ENET_RMON_T_P65TO127_TXPKTS_MASK (0xFFFFU)
  15271. #define ENET_RMON_T_P65TO127_TXPKTS_SHIFT (0U)
  15272. /*! TXPKTS - Number of 65- to 127-byte transmit packets
  15273. */
  15274. #define ENET_RMON_T_P65TO127_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P65TO127_TXPKTS_SHIFT)) & ENET_RMON_T_P65TO127_TXPKTS_MASK)
  15275. /*! @} */
  15276. /*! @name RMON_T_P128TO255 - Tx 128- to 255-byte Packets Statistic Register */
  15277. /*! @{ */
  15278. #define ENET_RMON_T_P128TO255_TXPKTS_MASK (0xFFFFU)
  15279. #define ENET_RMON_T_P128TO255_TXPKTS_SHIFT (0U)
  15280. /*! TXPKTS - Number of 128- to 255-byte transmit packets
  15281. */
  15282. #define ENET_RMON_T_P128TO255_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P128TO255_TXPKTS_SHIFT)) & ENET_RMON_T_P128TO255_TXPKTS_MASK)
  15283. /*! @} */
  15284. /*! @name RMON_T_P256TO511 - Tx 256- to 511-byte Packets Statistic Register */
  15285. /*! @{ */
  15286. #define ENET_RMON_T_P256TO511_TXPKTS_MASK (0xFFFFU)
  15287. #define ENET_RMON_T_P256TO511_TXPKTS_SHIFT (0U)
  15288. /*! TXPKTS - Number of 256- to 511-byte transmit packets
  15289. */
  15290. #define ENET_RMON_T_P256TO511_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P256TO511_TXPKTS_SHIFT)) & ENET_RMON_T_P256TO511_TXPKTS_MASK)
  15291. /*! @} */
  15292. /*! @name RMON_T_P512TO1023 - Tx 512- to 1023-byte Packets Statistic Register */
  15293. /*! @{ */
  15294. #define ENET_RMON_T_P512TO1023_TXPKTS_MASK (0xFFFFU)
  15295. #define ENET_RMON_T_P512TO1023_TXPKTS_SHIFT (0U)
  15296. /*! TXPKTS - Number of 512- to 1023-byte transmit packets
  15297. */
  15298. #define ENET_RMON_T_P512TO1023_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P512TO1023_TXPKTS_SHIFT)) & ENET_RMON_T_P512TO1023_TXPKTS_MASK)
  15299. /*! @} */
  15300. /*! @name RMON_T_P1024TO2047 - Tx 1024- to 2047-byte Packets Statistic Register */
  15301. /*! @{ */
  15302. #define ENET_RMON_T_P1024TO2047_TXPKTS_MASK (0xFFFFU)
  15303. #define ENET_RMON_T_P1024TO2047_TXPKTS_SHIFT (0U)
  15304. /*! TXPKTS - Number of 1024- to 2047-byte transmit packets
  15305. */
  15306. #define ENET_RMON_T_P1024TO2047_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P1024TO2047_TXPKTS_SHIFT)) & ENET_RMON_T_P1024TO2047_TXPKTS_MASK)
  15307. /*! @} */
  15308. /*! @name RMON_T_P_GTE2048 - Tx Packets Greater Than 2048 Bytes Statistic Register */
  15309. /*! @{ */
  15310. #define ENET_RMON_T_P_GTE2048_TXPKTS_MASK (0xFFFFU)
  15311. #define ENET_RMON_T_P_GTE2048_TXPKTS_SHIFT (0U)
  15312. /*! TXPKTS - Number of transmit packets greater than 2048 bytes
  15313. */
  15314. #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)
  15315. /*! @} */
  15316. /*! @name RMON_T_OCTETS - Tx Octets Statistic Register */
  15317. /*! @{ */
  15318. #define ENET_RMON_T_OCTETS_TXOCTS_MASK (0xFFFFFFFFU)
  15319. #define ENET_RMON_T_OCTETS_TXOCTS_SHIFT (0U)
  15320. /*! TXOCTS - Number of transmit octets
  15321. */
  15322. #define ENET_RMON_T_OCTETS_TXOCTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_OCTETS_TXOCTS_SHIFT)) & ENET_RMON_T_OCTETS_TXOCTS_MASK)
  15323. /*! @} */
  15324. /*! @name IEEE_T_FRAME_OK - Frames Transmitted OK Statistic Register */
  15325. /*! @{ */
  15326. #define ENET_IEEE_T_FRAME_OK_COUNT_MASK (0xFFFFU)
  15327. #define ENET_IEEE_T_FRAME_OK_COUNT_SHIFT (0U)
  15328. /*! COUNT - Number of frames transmitted OK
  15329. */
  15330. #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)
  15331. /*! @} */
  15332. /*! @name IEEE_T_1COL - Frames Transmitted with Single Collision Statistic Register */
  15333. /*! @{ */
  15334. #define ENET_IEEE_T_1COL_COUNT_MASK (0xFFFFU)
  15335. #define ENET_IEEE_T_1COL_COUNT_SHIFT (0U)
  15336. /*! COUNT - Number of frames transmitted with one collision
  15337. */
  15338. #define ENET_IEEE_T_1COL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_1COL_COUNT_SHIFT)) & ENET_IEEE_T_1COL_COUNT_MASK)
  15339. /*! @} */
  15340. /*! @name IEEE_T_MCOL - Frames Transmitted with Multiple Collisions Statistic Register */
  15341. /*! @{ */
  15342. #define ENET_IEEE_T_MCOL_COUNT_MASK (0xFFFFU)
  15343. #define ENET_IEEE_T_MCOL_COUNT_SHIFT (0U)
  15344. /*! COUNT - Number of frames transmitted with multiple collisions
  15345. */
  15346. #define ENET_IEEE_T_MCOL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_MCOL_COUNT_SHIFT)) & ENET_IEEE_T_MCOL_COUNT_MASK)
  15347. /*! @} */
  15348. /*! @name IEEE_T_DEF - Frames Transmitted after Deferral Delay Statistic Register */
  15349. /*! @{ */
  15350. #define ENET_IEEE_T_DEF_COUNT_MASK (0xFFFFU)
  15351. #define ENET_IEEE_T_DEF_COUNT_SHIFT (0U)
  15352. /*! COUNT - Number of frames transmitted with deferral delay
  15353. */
  15354. #define ENET_IEEE_T_DEF_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_DEF_COUNT_SHIFT)) & ENET_IEEE_T_DEF_COUNT_MASK)
  15355. /*! @} */
  15356. /*! @name IEEE_T_LCOL - Frames Transmitted with Late Collision Statistic Register */
  15357. /*! @{ */
  15358. #define ENET_IEEE_T_LCOL_COUNT_MASK (0xFFFFU)
  15359. #define ENET_IEEE_T_LCOL_COUNT_SHIFT (0U)
  15360. /*! COUNT - Number of frames transmitted with late collision
  15361. */
  15362. #define ENET_IEEE_T_LCOL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_LCOL_COUNT_SHIFT)) & ENET_IEEE_T_LCOL_COUNT_MASK)
  15363. /*! @} */
  15364. /*! @name IEEE_T_EXCOL - Frames Transmitted with Excessive Collisions Statistic Register */
  15365. /*! @{ */
  15366. #define ENET_IEEE_T_EXCOL_COUNT_MASK (0xFFFFU)
  15367. #define ENET_IEEE_T_EXCOL_COUNT_SHIFT (0U)
  15368. /*! COUNT - Number of frames transmitted with excessive collisions
  15369. */
  15370. #define ENET_IEEE_T_EXCOL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_EXCOL_COUNT_SHIFT)) & ENET_IEEE_T_EXCOL_COUNT_MASK)
  15371. /*! @} */
  15372. /*! @name IEEE_T_MACERR - Frames Transmitted with Tx FIFO Underrun Statistic Register */
  15373. /*! @{ */
  15374. #define ENET_IEEE_T_MACERR_COUNT_MASK (0xFFFFU)
  15375. #define ENET_IEEE_T_MACERR_COUNT_SHIFT (0U)
  15376. /*! COUNT - Number of frames transmitted with transmit FIFO underrun
  15377. */
  15378. #define ENET_IEEE_T_MACERR_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_MACERR_COUNT_SHIFT)) & ENET_IEEE_T_MACERR_COUNT_MASK)
  15379. /*! @} */
  15380. /*! @name IEEE_T_CSERR - Frames Transmitted with Carrier Sense Error Statistic Register */
  15381. /*! @{ */
  15382. #define ENET_IEEE_T_CSERR_COUNT_MASK (0xFFFFU)
  15383. #define ENET_IEEE_T_CSERR_COUNT_SHIFT (0U)
  15384. /*! COUNT - Number of frames transmitted with carrier sense error
  15385. */
  15386. #define ENET_IEEE_T_CSERR_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_CSERR_COUNT_SHIFT)) & ENET_IEEE_T_CSERR_COUNT_MASK)
  15387. /*! @} */
  15388. /*! @name IEEE_T_SQE - Reserved Statistic Register */
  15389. /*! @{ */
  15390. #define ENET_IEEE_T_SQE_COUNT_MASK (0xFFFFU)
  15391. #define ENET_IEEE_T_SQE_COUNT_SHIFT (0U)
  15392. /*! COUNT - This read-only field is reserved and always has the value 0
  15393. */
  15394. #define ENET_IEEE_T_SQE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_SQE_COUNT_SHIFT)) & ENET_IEEE_T_SQE_COUNT_MASK)
  15395. /*! @} */
  15396. /*! @name IEEE_T_FDXFC - Flow Control Pause Frames Transmitted Statistic Register */
  15397. /*! @{ */
  15398. #define ENET_IEEE_T_FDXFC_COUNT_MASK (0xFFFFU)
  15399. #define ENET_IEEE_T_FDXFC_COUNT_SHIFT (0U)
  15400. /*! COUNT - Number of flow-control pause frames transmitted
  15401. */
  15402. #define ENET_IEEE_T_FDXFC_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_FDXFC_COUNT_SHIFT)) & ENET_IEEE_T_FDXFC_COUNT_MASK)
  15403. /*! @} */
  15404. /*! @name IEEE_T_OCTETS_OK - Octet Count for Frames Transmitted w/o Error Statistic Register */
  15405. /*! @{ */
  15406. #define ENET_IEEE_T_OCTETS_OK_COUNT_MASK (0xFFFFFFFFU)
  15407. #define ENET_IEEE_T_OCTETS_OK_COUNT_SHIFT (0U)
  15408. /*! COUNT - Octet count for frames transmitted without error Counts total octets (includes header and FCS fields).
  15409. */
  15410. #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)
  15411. /*! @} */
  15412. /*! @name RMON_R_PACKETS - Rx Packet Count Statistic Register */
  15413. /*! @{ */
  15414. #define ENET_RMON_R_PACKETS_COUNT_MASK (0xFFFFU)
  15415. #define ENET_RMON_R_PACKETS_COUNT_SHIFT (0U)
  15416. /*! COUNT - Number of packets received
  15417. */
  15418. #define ENET_RMON_R_PACKETS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_PACKETS_COUNT_SHIFT)) & ENET_RMON_R_PACKETS_COUNT_MASK)
  15419. /*! @} */
  15420. /*! @name RMON_R_BC_PKT - Rx Broadcast Packets Statistic Register */
  15421. /*! @{ */
  15422. #define ENET_RMON_R_BC_PKT_COUNT_MASK (0xFFFFU)
  15423. #define ENET_RMON_R_BC_PKT_COUNT_SHIFT (0U)
  15424. /*! COUNT - Number of receive broadcast packets
  15425. */
  15426. #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)
  15427. /*! @} */
  15428. /*! @name RMON_R_MC_PKT - Rx Multicast Packets Statistic Register */
  15429. /*! @{ */
  15430. #define ENET_RMON_R_MC_PKT_COUNT_MASK (0xFFFFU)
  15431. #define ENET_RMON_R_MC_PKT_COUNT_SHIFT (0U)
  15432. /*! COUNT - Number of receive multicast packets
  15433. */
  15434. #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)
  15435. /*! @} */
  15436. /*! @name RMON_R_CRC_ALIGN - Rx Packets with CRC/Align Error Statistic Register */
  15437. /*! @{ */
  15438. #define ENET_RMON_R_CRC_ALIGN_COUNT_MASK (0xFFFFU)
  15439. #define ENET_RMON_R_CRC_ALIGN_COUNT_SHIFT (0U)
  15440. /*! COUNT - Number of receive packets with CRC or align error
  15441. */
  15442. #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)
  15443. /*! @} */
  15444. /*! @name RMON_R_UNDERSIZE - Rx Packets with Less Than 64 Bytes and Good CRC Statistic Register */
  15445. /*! @{ */
  15446. #define ENET_RMON_R_UNDERSIZE_COUNT_MASK (0xFFFFU)
  15447. #define ENET_RMON_R_UNDERSIZE_COUNT_SHIFT (0U)
  15448. /*! COUNT - Number of receive packets with less than 64 bytes and good CRC
  15449. */
  15450. #define ENET_RMON_R_UNDERSIZE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_UNDERSIZE_COUNT_SHIFT)) & ENET_RMON_R_UNDERSIZE_COUNT_MASK)
  15451. /*! @} */
  15452. /*! @name RMON_R_OVERSIZE - Rx Packets Greater Than MAX_FL and Good CRC Statistic Register */
  15453. /*! @{ */
  15454. #define ENET_RMON_R_OVERSIZE_COUNT_MASK (0xFFFFU)
  15455. #define ENET_RMON_R_OVERSIZE_COUNT_SHIFT (0U)
  15456. /*! COUNT - Number of receive packets greater than MAX_FL and good CRC
  15457. */
  15458. #define ENET_RMON_R_OVERSIZE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_OVERSIZE_COUNT_SHIFT)) & ENET_RMON_R_OVERSIZE_COUNT_MASK)
  15459. /*! @} */
  15460. /*! @name RMON_R_FRAG - Rx Packets Less Than 64 Bytes and Bad CRC Statistic Register */
  15461. /*! @{ */
  15462. #define ENET_RMON_R_FRAG_COUNT_MASK (0xFFFFU)
  15463. #define ENET_RMON_R_FRAG_COUNT_SHIFT (0U)
  15464. /*! COUNT - Number of receive packets with less than 64 bytes and bad CRC
  15465. */
  15466. #define ENET_RMON_R_FRAG_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_FRAG_COUNT_SHIFT)) & ENET_RMON_R_FRAG_COUNT_MASK)
  15467. /*! @} */
  15468. /*! @name RMON_R_JAB - Rx Packets Greater Than MAX_FL Bytes and Bad CRC Statistic Register */
  15469. /*! @{ */
  15470. #define ENET_RMON_R_JAB_COUNT_MASK (0xFFFFU)
  15471. #define ENET_RMON_R_JAB_COUNT_SHIFT (0U)
  15472. /*! COUNT - Number of receive packets greater than MAX_FL and bad CRC
  15473. */
  15474. #define ENET_RMON_R_JAB_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_JAB_COUNT_SHIFT)) & ENET_RMON_R_JAB_COUNT_MASK)
  15475. /*! @} */
  15476. /*! @name RMON_R_P64 - Rx 64-Byte Packets Statistic Register */
  15477. /*! @{ */
  15478. #define ENET_RMON_R_P64_COUNT_MASK (0xFFFFU)
  15479. #define ENET_RMON_R_P64_COUNT_SHIFT (0U)
  15480. /*! COUNT - Number of 64-byte receive packets
  15481. */
  15482. #define ENET_RMON_R_P64_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P64_COUNT_SHIFT)) & ENET_RMON_R_P64_COUNT_MASK)
  15483. /*! @} */
  15484. /*! @name RMON_R_P65TO127 - Rx 65- to 127-Byte Packets Statistic Register */
  15485. /*! @{ */
  15486. #define ENET_RMON_R_P65TO127_COUNT_MASK (0xFFFFU)
  15487. #define ENET_RMON_R_P65TO127_COUNT_SHIFT (0U)
  15488. /*! COUNT - Number of 65- to 127-byte recieve packets
  15489. */
  15490. #define ENET_RMON_R_P65TO127_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P65TO127_COUNT_SHIFT)) & ENET_RMON_R_P65TO127_COUNT_MASK)
  15491. /*! @} */
  15492. /*! @name RMON_R_P128TO255 - Rx 128- to 255-Byte Packets Statistic Register */
  15493. /*! @{ */
  15494. #define ENET_RMON_R_P128TO255_COUNT_MASK (0xFFFFU)
  15495. #define ENET_RMON_R_P128TO255_COUNT_SHIFT (0U)
  15496. /*! COUNT - Number of 128- to 255-byte recieve packets
  15497. */
  15498. #define ENET_RMON_R_P128TO255_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P128TO255_COUNT_SHIFT)) & ENET_RMON_R_P128TO255_COUNT_MASK)
  15499. /*! @} */
  15500. /*! @name RMON_R_P256TO511 - Rx 256- to 511-Byte Packets Statistic Register */
  15501. /*! @{ */
  15502. #define ENET_RMON_R_P256TO511_COUNT_MASK (0xFFFFU)
  15503. #define ENET_RMON_R_P256TO511_COUNT_SHIFT (0U)
  15504. /*! COUNT - Number of 256- to 511-byte recieve packets
  15505. */
  15506. #define ENET_RMON_R_P256TO511_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P256TO511_COUNT_SHIFT)) & ENET_RMON_R_P256TO511_COUNT_MASK)
  15507. /*! @} */
  15508. /*! @name RMON_R_P512TO1023 - Rx 512- to 1023-Byte Packets Statistic Register */
  15509. /*! @{ */
  15510. #define ENET_RMON_R_P512TO1023_COUNT_MASK (0xFFFFU)
  15511. #define ENET_RMON_R_P512TO1023_COUNT_SHIFT (0U)
  15512. /*! COUNT - Number of 512- to 1023-byte recieve packets
  15513. */
  15514. #define ENET_RMON_R_P512TO1023_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P512TO1023_COUNT_SHIFT)) & ENET_RMON_R_P512TO1023_COUNT_MASK)
  15515. /*! @} */
  15516. /*! @name RMON_R_P1024TO2047 - Rx 1024- to 2047-Byte Packets Statistic Register */
  15517. /*! @{ */
  15518. #define ENET_RMON_R_P1024TO2047_COUNT_MASK (0xFFFFU)
  15519. #define ENET_RMON_R_P1024TO2047_COUNT_SHIFT (0U)
  15520. /*! COUNT - Number of 1024- to 2047-byte recieve packets
  15521. */
  15522. #define ENET_RMON_R_P1024TO2047_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P1024TO2047_COUNT_SHIFT)) & ENET_RMON_R_P1024TO2047_COUNT_MASK)
  15523. /*! @} */
  15524. /*! @name RMON_R_P_GTE2048 - Rx Packets Greater than 2048 Bytes Statistic Register */
  15525. /*! @{ */
  15526. #define ENET_RMON_R_P_GTE2048_COUNT_MASK (0xFFFFU)
  15527. #define ENET_RMON_R_P_GTE2048_COUNT_SHIFT (0U)
  15528. /*! COUNT - Number of greater-than-2048-byte recieve packets
  15529. */
  15530. #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)
  15531. /*! @} */
  15532. /*! @name RMON_R_OCTETS - Rx Octets Statistic Register */
  15533. /*! @{ */
  15534. #define ENET_RMON_R_OCTETS_COUNT_MASK (0xFFFFFFFFU)
  15535. #define ENET_RMON_R_OCTETS_COUNT_SHIFT (0U)
  15536. /*! COUNT - Number of receive octets
  15537. */
  15538. #define ENET_RMON_R_OCTETS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_OCTETS_COUNT_SHIFT)) & ENET_RMON_R_OCTETS_COUNT_MASK)
  15539. /*! @} */
  15540. /*! @name IEEE_R_DROP - Frames not Counted Correctly Statistic Register */
  15541. /*! @{ */
  15542. #define ENET_IEEE_R_DROP_COUNT_MASK (0xFFFFU)
  15543. #define ENET_IEEE_R_DROP_COUNT_SHIFT (0U)
  15544. /*! COUNT - Frame count
  15545. */
  15546. #define ENET_IEEE_R_DROP_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_DROP_COUNT_SHIFT)) & ENET_IEEE_R_DROP_COUNT_MASK)
  15547. /*! @} */
  15548. /*! @name IEEE_R_FRAME_OK - Frames Received OK Statistic Register */
  15549. /*! @{ */
  15550. #define ENET_IEEE_R_FRAME_OK_COUNT_MASK (0xFFFFU)
  15551. #define ENET_IEEE_R_FRAME_OK_COUNT_SHIFT (0U)
  15552. /*! COUNT - Number of frames received OK
  15553. */
  15554. #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)
  15555. /*! @} */
  15556. /*! @name IEEE_R_CRC - Frames Received with CRC Error Statistic Register */
  15557. /*! @{ */
  15558. #define ENET_IEEE_R_CRC_COUNT_MASK (0xFFFFU)
  15559. #define ENET_IEEE_R_CRC_COUNT_SHIFT (0U)
  15560. /*! COUNT - Number of frames received with CRC error
  15561. */
  15562. #define ENET_IEEE_R_CRC_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_CRC_COUNT_SHIFT)) & ENET_IEEE_R_CRC_COUNT_MASK)
  15563. /*! @} */
  15564. /*! @name IEEE_R_ALIGN - Frames Received with Alignment Error Statistic Register */
  15565. /*! @{ */
  15566. #define ENET_IEEE_R_ALIGN_COUNT_MASK (0xFFFFU)
  15567. #define ENET_IEEE_R_ALIGN_COUNT_SHIFT (0U)
  15568. /*! COUNT - Number of frames received with alignment error
  15569. */
  15570. #define ENET_IEEE_R_ALIGN_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_ALIGN_COUNT_SHIFT)) & ENET_IEEE_R_ALIGN_COUNT_MASK)
  15571. /*! @} */
  15572. /*! @name IEEE_R_MACERR - Receive FIFO Overflow Count Statistic Register */
  15573. /*! @{ */
  15574. #define ENET_IEEE_R_MACERR_COUNT_MASK (0xFFFFU)
  15575. #define ENET_IEEE_R_MACERR_COUNT_SHIFT (0U)
  15576. /*! COUNT - Receive FIFO overflow count
  15577. */
  15578. #define ENET_IEEE_R_MACERR_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_MACERR_COUNT_SHIFT)) & ENET_IEEE_R_MACERR_COUNT_MASK)
  15579. /*! @} */
  15580. /*! @name IEEE_R_FDXFC - Flow Control Pause Frames Received Statistic Register */
  15581. /*! @{ */
  15582. #define ENET_IEEE_R_FDXFC_COUNT_MASK (0xFFFFU)
  15583. #define ENET_IEEE_R_FDXFC_COUNT_SHIFT (0U)
  15584. /*! COUNT - Number of flow-control pause frames received
  15585. */
  15586. #define ENET_IEEE_R_FDXFC_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_FDXFC_COUNT_SHIFT)) & ENET_IEEE_R_FDXFC_COUNT_MASK)
  15587. /*! @} */
  15588. /*! @name IEEE_R_OCTETS_OK - Octet Count for Frames Received without Error Statistic Register */
  15589. /*! @{ */
  15590. #define ENET_IEEE_R_OCTETS_OK_COUNT_MASK (0xFFFFFFFFU)
  15591. #define ENET_IEEE_R_OCTETS_OK_COUNT_SHIFT (0U)
  15592. /*! COUNT - Number of octets for frames received without error
  15593. */
  15594. #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)
  15595. /*! @} */
  15596. /*! @name ATCR - Adjustable Timer Control Register */
  15597. /*! @{ */
  15598. #define ENET_ATCR_EN_MASK (0x1U)
  15599. #define ENET_ATCR_EN_SHIFT (0U)
  15600. /*! EN - Enable Timer
  15601. * 0b0..The timer stops at the current value.
  15602. * 0b1..The timer starts incrementing.
  15603. */
  15604. #define ENET_ATCR_EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_EN_SHIFT)) & ENET_ATCR_EN_MASK)
  15605. #define ENET_ATCR_OFFEN_MASK (0x4U)
  15606. #define ENET_ATCR_OFFEN_SHIFT (2U)
  15607. /*! OFFEN - Enable One-Shot Offset Event
  15608. * 0b0..Disable.
  15609. * 0b1..The timer can be reset to zero when the given offset time is reached (offset event). The field is cleared
  15610. * when the offset event is reached, so no further event occurs until the field is set again. The timer
  15611. * offset value must be set before setting this field.
  15612. */
  15613. #define ENET_ATCR_OFFEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_OFFEN_SHIFT)) & ENET_ATCR_OFFEN_MASK)
  15614. #define ENET_ATCR_OFFRST_MASK (0x8U)
  15615. #define ENET_ATCR_OFFRST_SHIFT (3U)
  15616. /*! OFFRST - Reset Timer On Offset Event
  15617. * 0b0..The timer is not affected and no action occurs, besides clearing OFFEN, when the offset is reached.
  15618. * 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.
  15619. */
  15620. #define ENET_ATCR_OFFRST(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_OFFRST_SHIFT)) & ENET_ATCR_OFFRST_MASK)
  15621. #define ENET_ATCR_PEREN_MASK (0x10U)
  15622. #define ENET_ATCR_PEREN_SHIFT (4U)
  15623. /*! PEREN - Enable Periodical Event
  15624. * 0b0..Disable.
  15625. * 0b1..A period event interrupt can be generated (EIR[TS_TIMER]) and the event signal output is asserted when
  15626. * the timer wraps around according to the periodic setting ATPER. The timer period value must be set before
  15627. * setting this bit. Not all devices contain the event signal output. See the chip configuration details.
  15628. */
  15629. #define ENET_ATCR_PEREN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_PEREN_SHIFT)) & ENET_ATCR_PEREN_MASK)
  15630. #define ENET_ATCR_PINPER_MASK (0x80U)
  15631. #define ENET_ATCR_PINPER_SHIFT (7U)
  15632. /*! PINPER - Enables event signal output external pin frc_evt_period assertion on period event
  15633. * 0b0..Disable.
  15634. * 0b1..Enable.
  15635. */
  15636. #define ENET_ATCR_PINPER(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_PINPER_SHIFT)) & ENET_ATCR_PINPER_MASK)
  15637. #define ENET_ATCR_RESTART_MASK (0x200U)
  15638. #define ENET_ATCR_RESTART_SHIFT (9U)
  15639. /*! RESTART - Reset Timer
  15640. */
  15641. #define ENET_ATCR_RESTART(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_RESTART_SHIFT)) & ENET_ATCR_RESTART_MASK)
  15642. #define ENET_ATCR_CAPTURE_MASK (0x800U)
  15643. #define ENET_ATCR_CAPTURE_SHIFT (11U)
  15644. /*! CAPTURE - Capture Timer Value
  15645. * 0b0..No effect.
  15646. * 0b1..The current time is captured and can be read from the ATVR register.
  15647. */
  15648. #define ENET_ATCR_CAPTURE(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_CAPTURE_SHIFT)) & ENET_ATCR_CAPTURE_MASK)
  15649. #define ENET_ATCR_SLAVE_MASK (0x2000U)
  15650. #define ENET_ATCR_SLAVE_SHIFT (13U)
  15651. /*! SLAVE - Enable Timer Slave Mode
  15652. * 0b0..The timer is active and all configuration fields in this register are relevant.
  15653. * 0b1..The internal timer is disabled and the externally provided timer value is used. All other fields, except
  15654. * CAPTURE, in this register have no effect. CAPTURE can still be used to capture the current timer value.
  15655. */
  15656. #define ENET_ATCR_SLAVE(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_SLAVE_SHIFT)) & ENET_ATCR_SLAVE_MASK)
  15657. /*! @} */
  15658. /*! @name ATVR - Timer Value Register */
  15659. /*! @{ */
  15660. #define ENET_ATVR_ATIME_MASK (0xFFFFFFFFU)
  15661. #define ENET_ATVR_ATIME_SHIFT (0U)
  15662. #define ENET_ATVR_ATIME(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATVR_ATIME_SHIFT)) & ENET_ATVR_ATIME_MASK)
  15663. /*! @} */
  15664. /*! @name ATOFF - Timer Offset Register */
  15665. /*! @{ */
  15666. #define ENET_ATOFF_OFFSET_MASK (0xFFFFFFFFU)
  15667. #define ENET_ATOFF_OFFSET_SHIFT (0U)
  15668. #define ENET_ATOFF_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATOFF_OFFSET_SHIFT)) & ENET_ATOFF_OFFSET_MASK)
  15669. /*! @} */
  15670. /*! @name ATPER - Timer Period Register */
  15671. /*! @{ */
  15672. #define ENET_ATPER_PERIOD_MASK (0xFFFFFFFFU)
  15673. #define ENET_ATPER_PERIOD_SHIFT (0U)
  15674. /*! PERIOD - Value for generating periodic events
  15675. */
  15676. #define ENET_ATPER_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATPER_PERIOD_SHIFT)) & ENET_ATPER_PERIOD_MASK)
  15677. /*! @} */
  15678. /*! @name ATCOR - Timer Correction Register */
  15679. /*! @{ */
  15680. #define ENET_ATCOR_COR_MASK (0x7FFFFFFFU)
  15681. #define ENET_ATCOR_COR_SHIFT (0U)
  15682. /*! COR - Correction Counter Wrap-Around Value
  15683. */
  15684. #define ENET_ATCOR_COR(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCOR_COR_SHIFT)) & ENET_ATCOR_COR_MASK)
  15685. /*! @} */
  15686. /*! @name ATINC - Time-Stamping Clock Period Register */
  15687. /*! @{ */
  15688. #define ENET_ATINC_INC_MASK (0x7FU)
  15689. #define ENET_ATINC_INC_SHIFT (0U)
  15690. /*! INC - Clock Period Of The Timestamping Clock (ts_clk) In Nanoseconds
  15691. */
  15692. #define ENET_ATINC_INC(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATINC_INC_SHIFT)) & ENET_ATINC_INC_MASK)
  15693. #define ENET_ATINC_INC_CORR_MASK (0x7F00U)
  15694. #define ENET_ATINC_INC_CORR_SHIFT (8U)
  15695. /*! INC_CORR - Correction Increment Value
  15696. */
  15697. #define ENET_ATINC_INC_CORR(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATINC_INC_CORR_SHIFT)) & ENET_ATINC_INC_CORR_MASK)
  15698. /*! @} */
  15699. /*! @name ATSTMP - Timestamp of Last Transmitted Frame */
  15700. /*! @{ */
  15701. #define ENET_ATSTMP_TIMESTAMP_MASK (0xFFFFFFFFU)
  15702. #define ENET_ATSTMP_TIMESTAMP_SHIFT (0U)
  15703. /*! TIMESTAMP - Timestamp of the last frame transmitted by the core that had TxBD[TS] set the
  15704. * ff_tx_ts_frm signal asserted from the user application
  15705. */
  15706. #define ENET_ATSTMP_TIMESTAMP(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATSTMP_TIMESTAMP_SHIFT)) & ENET_ATSTMP_TIMESTAMP_MASK)
  15707. /*! @} */
  15708. /*! @name TGSR - Timer Global Status Register */
  15709. /*! @{ */
  15710. #define ENET_TGSR_TF0_MASK (0x1U)
  15711. #define ENET_TGSR_TF0_SHIFT (0U)
  15712. /*! TF0 - Copy Of Timer Flag For Channel 0
  15713. * 0b0..Timer Flag for Channel 0 is clear
  15714. * 0b1..Timer Flag for Channel 0 is set
  15715. */
  15716. #define ENET_TGSR_TF0(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF0_SHIFT)) & ENET_TGSR_TF0_MASK)
  15717. #define ENET_TGSR_TF1_MASK (0x2U)
  15718. #define ENET_TGSR_TF1_SHIFT (1U)
  15719. /*! TF1 - Copy Of Timer Flag For Channel 1
  15720. * 0b0..Timer Flag for Channel 1 is clear
  15721. * 0b1..Timer Flag for Channel 1 is set
  15722. */
  15723. #define ENET_TGSR_TF1(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF1_SHIFT)) & ENET_TGSR_TF1_MASK)
  15724. #define ENET_TGSR_TF2_MASK (0x4U)
  15725. #define ENET_TGSR_TF2_SHIFT (2U)
  15726. /*! TF2 - Copy Of Timer Flag For Channel 2
  15727. * 0b0..Timer Flag for Channel 2 is clear
  15728. * 0b1..Timer Flag for Channel 2 is set
  15729. */
  15730. #define ENET_TGSR_TF2(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF2_SHIFT)) & ENET_TGSR_TF2_MASK)
  15731. #define ENET_TGSR_TF3_MASK (0x8U)
  15732. #define ENET_TGSR_TF3_SHIFT (3U)
  15733. /*! TF3 - Copy Of Timer Flag For Channel 3
  15734. * 0b0..Timer Flag for Channel 3 is clear
  15735. * 0b1..Timer Flag for Channel 3 is set
  15736. */
  15737. #define ENET_TGSR_TF3(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF3_SHIFT)) & ENET_TGSR_TF3_MASK)
  15738. /*! @} */
  15739. /*! @name TCSR - Timer Control Status Register */
  15740. /*! @{ */
  15741. #define ENET_TCSR_TDRE_MASK (0x1U)
  15742. #define ENET_TCSR_TDRE_SHIFT (0U)
  15743. /*! TDRE - Timer DMA Request Enable
  15744. * 0b0..DMA request is disabled
  15745. * 0b1..DMA request is enabled
  15746. */
  15747. #define ENET_TCSR_TDRE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TDRE_SHIFT)) & ENET_TCSR_TDRE_MASK)
  15748. #define ENET_TCSR_TMODE_MASK (0x3CU)
  15749. #define ENET_TCSR_TMODE_SHIFT (2U)
  15750. /*! TMODE - Timer Mode
  15751. * 0b0000..Timer Channel is disabled.
  15752. * 0b0001..Timer Channel is configured for Input Capture on rising edge.
  15753. * 0b0010..Timer Channel is configured for Input Capture on falling edge.
  15754. * 0b0011..Timer Channel is configured for Input Capture on both edges.
  15755. * 0b0100..Timer Channel is configured for Output Compare - software only.
  15756. * 0b0101..Timer Channel is configured for Output Compare - toggle output on compare.
  15757. * 0b0110..Timer Channel is configured for Output Compare - clear output on compare.
  15758. * 0b0111..Timer Channel is configured for Output Compare - set output on compare.
  15759. * 0b1000..Reserved
  15760. * 0b1010..Timer Channel is configured for Output Compare - clear output on compare, set output on overflow.
  15761. * 0b10x1..Timer Channel is configured for Output Compare - set output on compare, clear output on overflow.
  15762. * 0b110x..Reserved
  15763. * 0b1110..Timer Channel is configured for Output Compare - pulse output low on compare for 1 to 32 1588-clock cycles as specified by TPWC.
  15764. * 0b1111..Timer Channel is configured for Output Compare - pulse output high on compare for 1 to 32 1588-clock cycles as specified by TPWC.
  15765. */
  15766. #define ENET_TCSR_TMODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TMODE_SHIFT)) & ENET_TCSR_TMODE_MASK)
  15767. #define ENET_TCSR_TIE_MASK (0x40U)
  15768. #define ENET_TCSR_TIE_SHIFT (6U)
  15769. /*! TIE - Timer Interrupt Enable
  15770. * 0b0..Interrupt is disabled
  15771. * 0b1..Interrupt is enabled
  15772. */
  15773. #define ENET_TCSR_TIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TIE_SHIFT)) & ENET_TCSR_TIE_MASK)
  15774. #define ENET_TCSR_TF_MASK (0x80U)
  15775. #define ENET_TCSR_TF_SHIFT (7U)
  15776. /*! TF - Timer Flag
  15777. * 0b0..Input Capture or Output Compare has not occurred.
  15778. * 0b1..Input Capture or Output Compare has occurred.
  15779. */
  15780. #define ENET_TCSR_TF(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TF_SHIFT)) & ENET_TCSR_TF_MASK)
  15781. #define ENET_TCSR_TPWC_MASK (0xF800U)
  15782. #define ENET_TCSR_TPWC_SHIFT (11U)
  15783. /*! TPWC - Timer PulseWidth Control
  15784. * 0b00000..Pulse width is one 1588-clock cycle.
  15785. * 0b00001..Pulse width is two 1588-clock cycles.
  15786. * 0b00010..Pulse width is three 1588-clock cycles.
  15787. * 0b00011..Pulse width is four 1588-clock cycles.
  15788. * 0b11111..Pulse width is 32 1588-clock cycles.
  15789. */
  15790. #define ENET_TCSR_TPWC(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TPWC_SHIFT)) & ENET_TCSR_TPWC_MASK)
  15791. /*! @} */
  15792. /* The count of ENET_TCSR */
  15793. #define ENET_TCSR_COUNT (4U)
  15794. /*! @name TCCR - Timer Compare Capture Register */
  15795. /*! @{ */
  15796. #define ENET_TCCR_TCC_MASK (0xFFFFFFFFU)
  15797. #define ENET_TCCR_TCC_SHIFT (0U)
  15798. /*! TCC - Timer Capture Compare
  15799. */
  15800. #define ENET_TCCR_TCC(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCCR_TCC_SHIFT)) & ENET_TCCR_TCC_MASK)
  15801. /*! @} */
  15802. /* The count of ENET_TCCR */
  15803. #define ENET_TCCR_COUNT (4U)
  15804. /*!
  15805. * @}
  15806. */ /* end of group ENET_Register_Masks */
  15807. /* ENET - Peripheral instance base addresses */
  15808. /** Peripheral ENET base address */
  15809. #define ENET_BASE (0x402D8000u)
  15810. /** Peripheral ENET base pointer */
  15811. #define ENET ((ENET_Type *)ENET_BASE)
  15812. /** Array initializer of ENET peripheral base addresses */
  15813. #define ENET_BASE_ADDRS { ENET_BASE }
  15814. /** Array initializer of ENET peripheral base pointers */
  15815. #define ENET_BASE_PTRS { ENET }
  15816. /** Interrupt vectors for the ENET peripheral type */
  15817. #define ENET_Transmit_IRQS { ENET_IRQn }
  15818. #define ENET_Receive_IRQS { ENET_IRQn }
  15819. #define ENET_Error_IRQS { ENET_IRQn }
  15820. #define ENET_1588_Timer_IRQS { ENET_1588_Timer_IRQn }
  15821. #define ENET_Ts_IRQS { ENET_1588_Timer_IRQn }
  15822. /* ENET Buffer Descriptor and Buffer Address Alignment. */
  15823. #define ENET_BUFF_ALIGNMENT (64U)
  15824. /*!
  15825. * @}
  15826. */ /* end of group ENET_Peripheral_Access_Layer */
  15827. /* ----------------------------------------------------------------------------
  15828. -- EWM Peripheral Access Layer
  15829. ---------------------------------------------------------------------------- */
  15830. /*!
  15831. * @addtogroup EWM_Peripheral_Access_Layer EWM Peripheral Access Layer
  15832. * @{
  15833. */
  15834. /** EWM - Register Layout Typedef */
  15835. typedef struct {
  15836. __IO uint8_t CTRL; /**< Control Register, offset: 0x0 */
  15837. __O uint8_t SERV; /**< Service Register, offset: 0x1 */
  15838. __IO uint8_t CMPL; /**< Compare Low Register, offset: 0x2 */
  15839. __IO uint8_t CMPH; /**< Compare High Register, offset: 0x3 */
  15840. __IO uint8_t CLKCTRL; /**< Clock Control Register, offset: 0x4 */
  15841. __IO uint8_t CLKPRESCALER; /**< Clock Prescaler Register, offset: 0x5 */
  15842. } EWM_Type;
  15843. /* ----------------------------------------------------------------------------
  15844. -- EWM Register Masks
  15845. ---------------------------------------------------------------------------- */
  15846. /*!
  15847. * @addtogroup EWM_Register_Masks EWM Register Masks
  15848. * @{
  15849. */
  15850. /*! @name CTRL - Control Register */
  15851. /*! @{ */
  15852. #define EWM_CTRL_EWMEN_MASK (0x1U)
  15853. #define EWM_CTRL_EWMEN_SHIFT (0U)
  15854. /*! EWMEN - EWM enable.
  15855. * 0b0..EWM module is disabled.
  15856. * 0b1..EWM module is enabled.
  15857. */
  15858. #define EWM_CTRL_EWMEN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_EWMEN_SHIFT)) & EWM_CTRL_EWMEN_MASK)
  15859. #define EWM_CTRL_ASSIN_MASK (0x2U)
  15860. #define EWM_CTRL_ASSIN_SHIFT (1U)
  15861. /*! ASSIN - EWM_in's Assertion State Select.
  15862. * 0b0..Default assert state of the EWM_in signal.
  15863. * 0b1..Inverts the assert state of EWM_in signal.
  15864. */
  15865. #define EWM_CTRL_ASSIN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_ASSIN_SHIFT)) & EWM_CTRL_ASSIN_MASK)
  15866. #define EWM_CTRL_INEN_MASK (0x4U)
  15867. #define EWM_CTRL_INEN_SHIFT (2U)
  15868. /*! INEN - Input Enable.
  15869. * 0b0..EWM_in port is disabled.
  15870. * 0b1..EWM_in port is enabled.
  15871. */
  15872. #define EWM_CTRL_INEN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_INEN_SHIFT)) & EWM_CTRL_INEN_MASK)
  15873. #define EWM_CTRL_INTEN_MASK (0x8U)
  15874. #define EWM_CTRL_INTEN_SHIFT (3U)
  15875. /*! INTEN - Interrupt Enable.
  15876. * 0b1..Generates an interrupt request, when EWM_OUT_b is asserted.
  15877. * 0b0..Deasserts the interrupt request.
  15878. */
  15879. #define EWM_CTRL_INTEN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_INTEN_SHIFT)) & EWM_CTRL_INTEN_MASK)
  15880. /*! @} */
  15881. /*! @name SERV - Service Register */
  15882. /*! @{ */
  15883. #define EWM_SERV_SERVICE_MASK (0xFFU)
  15884. #define EWM_SERV_SERVICE_SHIFT (0U)
  15885. /*! SERVICE - SERVICE
  15886. */
  15887. #define EWM_SERV_SERVICE(x) (((uint8_t)(((uint8_t)(x)) << EWM_SERV_SERVICE_SHIFT)) & EWM_SERV_SERVICE_MASK)
  15888. /*! @} */
  15889. /*! @name CMPL - Compare Low Register */
  15890. /*! @{ */
  15891. #define EWM_CMPL_COMPAREL_MASK (0xFFU)
  15892. #define EWM_CMPL_COMPAREL_SHIFT (0U)
  15893. /*! COMPAREL - COMPAREL
  15894. */
  15895. #define EWM_CMPL_COMPAREL(x) (((uint8_t)(((uint8_t)(x)) << EWM_CMPL_COMPAREL_SHIFT)) & EWM_CMPL_COMPAREL_MASK)
  15896. /*! @} */
  15897. /*! @name CMPH - Compare High Register */
  15898. /*! @{ */
  15899. #define EWM_CMPH_COMPAREH_MASK (0xFFU)
  15900. #define EWM_CMPH_COMPAREH_SHIFT (0U)
  15901. /*! COMPAREH - COMPAREH
  15902. */
  15903. #define EWM_CMPH_COMPAREH(x) (((uint8_t)(((uint8_t)(x)) << EWM_CMPH_COMPAREH_SHIFT)) & EWM_CMPH_COMPAREH_MASK)
  15904. /*! @} */
  15905. /*! @name CLKCTRL - Clock Control Register */
  15906. /*! @{ */
  15907. #define EWM_CLKCTRL_CLKSEL_MASK (0x3U)
  15908. #define EWM_CLKCTRL_CLKSEL_SHIFT (0U)
  15909. /*! CLKSEL - CLKSEL
  15910. */
  15911. #define EWM_CLKCTRL_CLKSEL(x) (((uint8_t)(((uint8_t)(x)) << EWM_CLKCTRL_CLKSEL_SHIFT)) & EWM_CLKCTRL_CLKSEL_MASK)
  15912. /*! @} */
  15913. /*! @name CLKPRESCALER - Clock Prescaler Register */
  15914. /*! @{ */
  15915. #define EWM_CLKPRESCALER_CLK_DIV_MASK (0xFFU)
  15916. #define EWM_CLKPRESCALER_CLK_DIV_SHIFT (0U)
  15917. /*! CLK_DIV - CLK_DIV
  15918. */
  15919. #define EWM_CLKPRESCALER_CLK_DIV(x) (((uint8_t)(((uint8_t)(x)) << EWM_CLKPRESCALER_CLK_DIV_SHIFT)) & EWM_CLKPRESCALER_CLK_DIV_MASK)
  15920. /*! @} */
  15921. /*!
  15922. * @}
  15923. */ /* end of group EWM_Register_Masks */
  15924. /* EWM - Peripheral instance base addresses */
  15925. /** Peripheral EWM base address */
  15926. #define EWM_BASE (0x400B4000u)
  15927. /** Peripheral EWM base pointer */
  15928. #define EWM ((EWM_Type *)EWM_BASE)
  15929. /** Array initializer of EWM peripheral base addresses */
  15930. #define EWM_BASE_ADDRS { EWM_BASE }
  15931. /** Array initializer of EWM peripheral base pointers */
  15932. #define EWM_BASE_PTRS { EWM }
  15933. /** Interrupt vectors for the EWM peripheral type */
  15934. #define EWM_IRQS { EWM_IRQn }
  15935. /*!
  15936. * @}
  15937. */ /* end of group EWM_Peripheral_Access_Layer */
  15938. /* ----------------------------------------------------------------------------
  15939. -- FLEXIO Peripheral Access Layer
  15940. ---------------------------------------------------------------------------- */
  15941. /*!
  15942. * @addtogroup FLEXIO_Peripheral_Access_Layer FLEXIO Peripheral Access Layer
  15943. * @{
  15944. */
  15945. /** FLEXIO - Register Layout Typedef */
  15946. typedef struct {
  15947. __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */
  15948. __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
  15949. __IO uint32_t CTRL; /**< FlexIO Control Register, offset: 0x8 */
  15950. __I uint32_t PIN; /**< Pin State Register, offset: 0xC */
  15951. __IO uint32_t SHIFTSTAT; /**< Shifter Status Register, offset: 0x10 */
  15952. __IO uint32_t SHIFTERR; /**< Shifter Error Register, offset: 0x14 */
  15953. __IO uint32_t TIMSTAT; /**< Timer Status Register, offset: 0x18 */
  15954. uint8_t RESERVED_0[4];
  15955. __IO uint32_t SHIFTSIEN; /**< Shifter Status Interrupt Enable, offset: 0x20 */
  15956. __IO uint32_t SHIFTEIEN; /**< Shifter Error Interrupt Enable, offset: 0x24 */
  15957. __IO uint32_t TIMIEN; /**< Timer Interrupt Enable Register, offset: 0x28 */
  15958. uint8_t RESERVED_1[4];
  15959. __IO uint32_t SHIFTSDEN; /**< Shifter Status DMA Enable, offset: 0x30 */
  15960. uint8_t RESERVED_2[12];
  15961. __IO uint32_t SHIFTSTATE; /**< Shifter State Register, offset: 0x40 */
  15962. uint8_t RESERVED_3[60];
  15963. __IO uint32_t SHIFTCTL[8]; /**< Shifter Control N Register, array offset: 0x80, array step: 0x4 */
  15964. uint8_t RESERVED_4[96];
  15965. __IO uint32_t SHIFTCFG[8]; /**< Shifter Configuration N Register, array offset: 0x100, array step: 0x4 */
  15966. uint8_t RESERVED_5[224];
  15967. __IO uint32_t SHIFTBUF[8]; /**< Shifter Buffer N Register, array offset: 0x200, array step: 0x4 */
  15968. uint8_t RESERVED_6[96];
  15969. __IO uint32_t SHIFTBUFBIS[8]; /**< Shifter Buffer N Bit Swapped Register, array offset: 0x280, array step: 0x4 */
  15970. uint8_t RESERVED_7[96];
  15971. __IO uint32_t SHIFTBUFBYS[8]; /**< Shifter Buffer N Byte Swapped Register, array offset: 0x300, array step: 0x4 */
  15972. uint8_t RESERVED_8[96];
  15973. __IO uint32_t SHIFTBUFBBS[8]; /**< Shifter Buffer N Bit Byte Swapped Register, array offset: 0x380, array step: 0x4 */
  15974. uint8_t RESERVED_9[96];
  15975. __IO uint32_t TIMCTL[8]; /**< Timer Control N Register, array offset: 0x400, array step: 0x4 */
  15976. uint8_t RESERVED_10[96];
  15977. __IO uint32_t TIMCFG[8]; /**< Timer Configuration N Register, array offset: 0x480, array step: 0x4 */
  15978. uint8_t RESERVED_11[96];
  15979. __IO uint32_t TIMCMP[8]; /**< Timer Compare N Register, array offset: 0x500, array step: 0x4 */
  15980. uint8_t RESERVED_12[352];
  15981. __IO uint32_t SHIFTBUFNBS[8]; /**< Shifter Buffer N Nibble Byte Swapped Register, array offset: 0x680, array step: 0x4 */
  15982. uint8_t RESERVED_13[96];
  15983. __IO uint32_t SHIFTBUFHWS[8]; /**< Shifter Buffer N Half Word Swapped Register, array offset: 0x700, array step: 0x4 */
  15984. uint8_t RESERVED_14[96];
  15985. __IO uint32_t SHIFTBUFNIS[8]; /**< Shifter Buffer N Nibble Swapped Register, array offset: 0x780, array step: 0x4 */
  15986. } FLEXIO_Type;
  15987. /* ----------------------------------------------------------------------------
  15988. -- FLEXIO Register Masks
  15989. ---------------------------------------------------------------------------- */
  15990. /*!
  15991. * @addtogroup FLEXIO_Register_Masks FLEXIO Register Masks
  15992. * @{
  15993. */
  15994. /*! @name VERID - Version ID Register */
  15995. /*! @{ */
  15996. #define FLEXIO_VERID_FEATURE_MASK (0xFFFFU)
  15997. #define FLEXIO_VERID_FEATURE_SHIFT (0U)
  15998. /*! FEATURE - Feature Specification Number
  15999. * 0b0000000000000000..Standard features implemented.
  16000. * 0b0000000000000001..Supports state, logic and parallel modes.
  16001. */
  16002. #define FLEXIO_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_FEATURE_SHIFT)) & FLEXIO_VERID_FEATURE_MASK)
  16003. #define FLEXIO_VERID_MINOR_MASK (0xFF0000U)
  16004. #define FLEXIO_VERID_MINOR_SHIFT (16U)
  16005. /*! MINOR - Minor Version Number
  16006. */
  16007. #define FLEXIO_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_MINOR_SHIFT)) & FLEXIO_VERID_MINOR_MASK)
  16008. #define FLEXIO_VERID_MAJOR_MASK (0xFF000000U)
  16009. #define FLEXIO_VERID_MAJOR_SHIFT (24U)
  16010. /*! MAJOR - Major Version Number
  16011. */
  16012. #define FLEXIO_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_MAJOR_SHIFT)) & FLEXIO_VERID_MAJOR_MASK)
  16013. /*! @} */
  16014. /*! @name PARAM - Parameter Register */
  16015. /*! @{ */
  16016. #define FLEXIO_PARAM_SHIFTER_MASK (0xFFU)
  16017. #define FLEXIO_PARAM_SHIFTER_SHIFT (0U)
  16018. /*! SHIFTER - Shifter Number
  16019. */
  16020. #define FLEXIO_PARAM_SHIFTER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_SHIFTER_SHIFT)) & FLEXIO_PARAM_SHIFTER_MASK)
  16021. #define FLEXIO_PARAM_TIMER_MASK (0xFF00U)
  16022. #define FLEXIO_PARAM_TIMER_SHIFT (8U)
  16023. /*! TIMER - Timer Number
  16024. */
  16025. #define FLEXIO_PARAM_TIMER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_TIMER_SHIFT)) & FLEXIO_PARAM_TIMER_MASK)
  16026. #define FLEXIO_PARAM_PIN_MASK (0xFF0000U)
  16027. #define FLEXIO_PARAM_PIN_SHIFT (16U)
  16028. /*! PIN - Pin Number
  16029. */
  16030. #define FLEXIO_PARAM_PIN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_PIN_SHIFT)) & FLEXIO_PARAM_PIN_MASK)
  16031. #define FLEXIO_PARAM_TRIGGER_MASK (0xFF000000U)
  16032. #define FLEXIO_PARAM_TRIGGER_SHIFT (24U)
  16033. /*! TRIGGER - Trigger Number
  16034. */
  16035. #define FLEXIO_PARAM_TRIGGER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_TRIGGER_SHIFT)) & FLEXIO_PARAM_TRIGGER_MASK)
  16036. /*! @} */
  16037. /*! @name CTRL - FlexIO Control Register */
  16038. /*! @{ */
  16039. #define FLEXIO_CTRL_FLEXEN_MASK (0x1U)
  16040. #define FLEXIO_CTRL_FLEXEN_SHIFT (0U)
  16041. /*! FLEXEN - FlexIO Enable
  16042. * 0b0..FlexIO module is disabled.
  16043. * 0b1..FlexIO module is enabled.
  16044. */
  16045. #define FLEXIO_CTRL_FLEXEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_FLEXEN_SHIFT)) & FLEXIO_CTRL_FLEXEN_MASK)
  16046. #define FLEXIO_CTRL_SWRST_MASK (0x2U)
  16047. #define FLEXIO_CTRL_SWRST_SHIFT (1U)
  16048. /*! SWRST - Software Reset
  16049. * 0b0..Software reset is disabled
  16050. * 0b1..Software reset is enabled, all FlexIO registers except the Control Register are reset.
  16051. */
  16052. #define FLEXIO_CTRL_SWRST(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_SWRST_SHIFT)) & FLEXIO_CTRL_SWRST_MASK)
  16053. #define FLEXIO_CTRL_FASTACC_MASK (0x4U)
  16054. #define FLEXIO_CTRL_FASTACC_SHIFT (2U)
  16055. /*! FASTACC - Fast Access
  16056. * 0b0..Configures for normal register accesses to FlexIO
  16057. * 0b1..Configures for fast register accesses to FlexIO
  16058. */
  16059. #define FLEXIO_CTRL_FASTACC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_FASTACC_SHIFT)) & FLEXIO_CTRL_FASTACC_MASK)
  16060. #define FLEXIO_CTRL_DBGE_MASK (0x40000000U)
  16061. #define FLEXIO_CTRL_DBGE_SHIFT (30U)
  16062. /*! DBGE - Debug Enable
  16063. * 0b0..FlexIO is disabled in debug modes.
  16064. * 0b1..FlexIO is enabled in debug modes
  16065. */
  16066. #define FLEXIO_CTRL_DBGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_DBGE_SHIFT)) & FLEXIO_CTRL_DBGE_MASK)
  16067. #define FLEXIO_CTRL_DOZEN_MASK (0x80000000U)
  16068. #define FLEXIO_CTRL_DOZEN_SHIFT (31U)
  16069. /*! DOZEN - Doze Enable
  16070. * 0b0..FlexIO enabled in Doze modes.
  16071. * 0b1..FlexIO disabled in Doze modes.
  16072. */
  16073. #define FLEXIO_CTRL_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_DOZEN_SHIFT)) & FLEXIO_CTRL_DOZEN_MASK)
  16074. /*! @} */
  16075. /*! @name PIN - Pin State Register */
  16076. /*! @{ */
  16077. #define FLEXIO_PIN_PDI_MASK (0xFFFFFFFFU)
  16078. #define FLEXIO_PIN_PDI_SHIFT (0U)
  16079. /*! PDI - Pin Data Input
  16080. */
  16081. #define FLEXIO_PIN_PDI(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PIN_PDI_SHIFT)) & FLEXIO_PIN_PDI_MASK)
  16082. /*! @} */
  16083. /*! @name SHIFTSTAT - Shifter Status Register */
  16084. /*! @{ */
  16085. #define FLEXIO_SHIFTSTAT_SSF_MASK (0xFFU)
  16086. #define FLEXIO_SHIFTSTAT_SSF_SHIFT (0U)
  16087. /*! SSF - Shifter Status Flag
  16088. */
  16089. #define FLEXIO_SHIFTSTAT_SSF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSTAT_SSF_SHIFT)) & FLEXIO_SHIFTSTAT_SSF_MASK)
  16090. /*! @} */
  16091. /*! @name SHIFTERR - Shifter Error Register */
  16092. /*! @{ */
  16093. #define FLEXIO_SHIFTERR_SEF_MASK (0xFFU)
  16094. #define FLEXIO_SHIFTERR_SEF_SHIFT (0U)
  16095. /*! SEF - Shifter Error Flags
  16096. */
  16097. #define FLEXIO_SHIFTERR_SEF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTERR_SEF_SHIFT)) & FLEXIO_SHIFTERR_SEF_MASK)
  16098. /*! @} */
  16099. /*! @name TIMSTAT - Timer Status Register */
  16100. /*! @{ */
  16101. #define FLEXIO_TIMSTAT_TSF_MASK (0xFFU)
  16102. #define FLEXIO_TIMSTAT_TSF_SHIFT (0U)
  16103. /*! TSF - Timer Status Flags
  16104. */
  16105. #define FLEXIO_TIMSTAT_TSF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMSTAT_TSF_SHIFT)) & FLEXIO_TIMSTAT_TSF_MASK)
  16106. /*! @} */
  16107. /*! @name SHIFTSIEN - Shifter Status Interrupt Enable */
  16108. /*! @{ */
  16109. #define FLEXIO_SHIFTSIEN_SSIE_MASK (0xFFU)
  16110. #define FLEXIO_SHIFTSIEN_SSIE_SHIFT (0U)
  16111. /*! SSIE - Shifter Status Interrupt Enable
  16112. */
  16113. #define FLEXIO_SHIFTSIEN_SSIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSIEN_SSIE_SHIFT)) & FLEXIO_SHIFTSIEN_SSIE_MASK)
  16114. /*! @} */
  16115. /*! @name SHIFTEIEN - Shifter Error Interrupt Enable */
  16116. /*! @{ */
  16117. #define FLEXIO_SHIFTEIEN_SEIE_MASK (0xFFU)
  16118. #define FLEXIO_SHIFTEIEN_SEIE_SHIFT (0U)
  16119. /*! SEIE - Shifter Error Interrupt Enable
  16120. */
  16121. #define FLEXIO_SHIFTEIEN_SEIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTEIEN_SEIE_SHIFT)) & FLEXIO_SHIFTEIEN_SEIE_MASK)
  16122. /*! @} */
  16123. /*! @name TIMIEN - Timer Interrupt Enable Register */
  16124. /*! @{ */
  16125. #define FLEXIO_TIMIEN_TEIE_MASK (0xFFU)
  16126. #define FLEXIO_TIMIEN_TEIE_SHIFT (0U)
  16127. /*! TEIE - Timer Status Interrupt Enable
  16128. */
  16129. #define FLEXIO_TIMIEN_TEIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMIEN_TEIE_SHIFT)) & FLEXIO_TIMIEN_TEIE_MASK)
  16130. /*! @} */
  16131. /*! @name SHIFTSDEN - Shifter Status DMA Enable */
  16132. /*! @{ */
  16133. #define FLEXIO_SHIFTSDEN_SSDE_MASK (0xFFU)
  16134. #define FLEXIO_SHIFTSDEN_SSDE_SHIFT (0U)
  16135. /*! SSDE - Shifter Status DMA Enable
  16136. */
  16137. #define FLEXIO_SHIFTSDEN_SSDE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSDEN_SSDE_SHIFT)) & FLEXIO_SHIFTSDEN_SSDE_MASK)
  16138. /*! @} */
  16139. /*! @name SHIFTSTATE - Shifter State Register */
  16140. /*! @{ */
  16141. #define FLEXIO_SHIFTSTATE_STATE_MASK (0x7U)
  16142. #define FLEXIO_SHIFTSTATE_STATE_SHIFT (0U)
  16143. /*! STATE - Current State Pointer
  16144. */
  16145. #define FLEXIO_SHIFTSTATE_STATE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSTATE_STATE_SHIFT)) & FLEXIO_SHIFTSTATE_STATE_MASK)
  16146. /*! @} */
  16147. /*! @name SHIFTCTL - Shifter Control N Register */
  16148. /*! @{ */
  16149. #define FLEXIO_SHIFTCTL_SMOD_MASK (0x7U)
  16150. #define FLEXIO_SHIFTCTL_SMOD_SHIFT (0U)
  16151. /*! SMOD - Shifter Mode
  16152. * 0b000..Disabled.
  16153. * 0b001..Receive mode. Captures the current Shifter content into the SHIFTBUF on expiration of the Timer.
  16154. * 0b010..Transmit mode. Load SHIFTBUF contents into the Shifter on expiration of the Timer.
  16155. * 0b011..Reserved.
  16156. * 0b100..Match Store mode. Shifter data is compared to SHIFTBUF content on expiration of the Timer.
  16157. * 0b101..Match Continuous mode. Shifter data is continuously compared to SHIFTBUF contents.
  16158. * 0b110..State mode. SHIFTBUF contents are used for storing programmable state attributes.
  16159. * 0b111..Logic mode. SHIFTBUF contents are used for implementing programmable logic look up table.
  16160. */
  16161. #define FLEXIO_SHIFTCTL_SMOD(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_SMOD_SHIFT)) & FLEXIO_SHIFTCTL_SMOD_MASK)
  16162. #define FLEXIO_SHIFTCTL_PINPOL_MASK (0x80U)
  16163. #define FLEXIO_SHIFTCTL_PINPOL_SHIFT (7U)
  16164. /*! PINPOL - Shifter Pin Polarity
  16165. * 0b0..Pin is active high
  16166. * 0b1..Pin is active low
  16167. */
  16168. #define FLEXIO_SHIFTCTL_PINPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINPOL_SHIFT)) & FLEXIO_SHIFTCTL_PINPOL_MASK)
  16169. #define FLEXIO_SHIFTCTL_PINSEL_MASK (0x1F00U)
  16170. #define FLEXIO_SHIFTCTL_PINSEL_SHIFT (8U)
  16171. /*! PINSEL - Shifter Pin Select
  16172. */
  16173. #define FLEXIO_SHIFTCTL_PINSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINSEL_SHIFT)) & FLEXIO_SHIFTCTL_PINSEL_MASK)
  16174. #define FLEXIO_SHIFTCTL_PINCFG_MASK (0x30000U)
  16175. #define FLEXIO_SHIFTCTL_PINCFG_SHIFT (16U)
  16176. /*! PINCFG - Shifter Pin Configuration
  16177. * 0b00..Shifter pin output disabled
  16178. * 0b01..Shifter pin open drain or bidirectional output enable
  16179. * 0b10..Shifter pin bidirectional output data
  16180. * 0b11..Shifter pin output
  16181. */
  16182. #define FLEXIO_SHIFTCTL_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINCFG_SHIFT)) & FLEXIO_SHIFTCTL_PINCFG_MASK)
  16183. #define FLEXIO_SHIFTCTL_TIMPOL_MASK (0x800000U)
  16184. #define FLEXIO_SHIFTCTL_TIMPOL_SHIFT (23U)
  16185. /*! TIMPOL - Timer Polarity
  16186. * 0b0..Shift on posedge of Shift clock
  16187. * 0b1..Shift on negedge of Shift clock
  16188. */
  16189. #define FLEXIO_SHIFTCTL_TIMPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_TIMPOL_SHIFT)) & FLEXIO_SHIFTCTL_TIMPOL_MASK)
  16190. #define FLEXIO_SHIFTCTL_TIMSEL_MASK (0x7000000U)
  16191. #define FLEXIO_SHIFTCTL_TIMSEL_SHIFT (24U)
  16192. /*! TIMSEL - Timer Select
  16193. */
  16194. #define FLEXIO_SHIFTCTL_TIMSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_TIMSEL_SHIFT)) & FLEXIO_SHIFTCTL_TIMSEL_MASK)
  16195. /*! @} */
  16196. /* The count of FLEXIO_SHIFTCTL */
  16197. #define FLEXIO_SHIFTCTL_COUNT (8U)
  16198. /*! @name SHIFTCFG - Shifter Configuration N Register */
  16199. /*! @{ */
  16200. #define FLEXIO_SHIFTCFG_SSTART_MASK (0x3U)
  16201. #define FLEXIO_SHIFTCFG_SSTART_SHIFT (0U)
  16202. /*! SSTART - Shifter Start bit
  16203. * 0b00..Start bit disabled for transmitter/receiver/match store, transmitter loads data on enable
  16204. * 0b01..Start bit disabled for transmitter/receiver/match store, transmitter loads data on first shift
  16205. * 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
  16206. * 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
  16207. */
  16208. #define FLEXIO_SHIFTCFG_SSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_SSTART_SHIFT)) & FLEXIO_SHIFTCFG_SSTART_MASK)
  16209. #define FLEXIO_SHIFTCFG_SSTOP_MASK (0x30U)
  16210. #define FLEXIO_SHIFTCFG_SSTOP_SHIFT (4U)
  16211. /*! SSTOP - Shifter Stop bit
  16212. * 0b00..Stop bit disabled for transmitter/receiver/match store
  16213. * 0b01..Reserved for transmitter/receiver/match store
  16214. * 0b10..Transmitter outputs stop bit value 0 on store, receiver/match store sets error flag if stop bit is not 0
  16215. * 0b11..Transmitter outputs stop bit value 1 on store, receiver/match store sets error flag if stop bit is not 1
  16216. */
  16217. #define FLEXIO_SHIFTCFG_SSTOP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_SSTOP_SHIFT)) & FLEXIO_SHIFTCFG_SSTOP_MASK)
  16218. #define FLEXIO_SHIFTCFG_INSRC_MASK (0x100U)
  16219. #define FLEXIO_SHIFTCFG_INSRC_SHIFT (8U)
  16220. /*! INSRC - Input Source
  16221. * 0b0..Pin
  16222. * 0b1..Shifter N+1 Output
  16223. */
  16224. #define FLEXIO_SHIFTCFG_INSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_INSRC_SHIFT)) & FLEXIO_SHIFTCFG_INSRC_MASK)
  16225. #define FLEXIO_SHIFTCFG_PWIDTH_MASK (0x1F0000U)
  16226. #define FLEXIO_SHIFTCFG_PWIDTH_SHIFT (16U)
  16227. /*! PWIDTH - Parallel Width
  16228. */
  16229. #define FLEXIO_SHIFTCFG_PWIDTH(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_PWIDTH_SHIFT)) & FLEXIO_SHIFTCFG_PWIDTH_MASK)
  16230. /*! @} */
  16231. /* The count of FLEXIO_SHIFTCFG */
  16232. #define FLEXIO_SHIFTCFG_COUNT (8U)
  16233. /*! @name SHIFTBUF - Shifter Buffer N Register */
  16234. /*! @{ */
  16235. #define FLEXIO_SHIFTBUF_SHIFTBUF_MASK (0xFFFFFFFFU)
  16236. #define FLEXIO_SHIFTBUF_SHIFTBUF_SHIFT (0U)
  16237. /*! SHIFTBUF - Shift Buffer
  16238. */
  16239. #define FLEXIO_SHIFTBUF_SHIFTBUF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUF_SHIFTBUF_SHIFT)) & FLEXIO_SHIFTBUF_SHIFTBUF_MASK)
  16240. /*! @} */
  16241. /* The count of FLEXIO_SHIFTBUF */
  16242. #define FLEXIO_SHIFTBUF_COUNT (8U)
  16243. /*! @name SHIFTBUFBIS - Shifter Buffer N Bit Swapped Register */
  16244. /*! @{ */
  16245. #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_MASK (0xFFFFFFFFU)
  16246. #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_SHIFT (0U)
  16247. /*! SHIFTBUFBIS - Shift Buffer
  16248. */
  16249. #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_SHIFT)) & FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_MASK)
  16250. /*! @} */
  16251. /* The count of FLEXIO_SHIFTBUFBIS */
  16252. #define FLEXIO_SHIFTBUFBIS_COUNT (8U)
  16253. /*! @name SHIFTBUFBYS - Shifter Buffer N Byte Swapped Register */
  16254. /*! @{ */
  16255. #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_MASK (0xFFFFFFFFU)
  16256. #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_SHIFT (0U)
  16257. /*! SHIFTBUFBYS - Shift Buffer
  16258. */
  16259. #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_SHIFT)) & FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_MASK)
  16260. /*! @} */
  16261. /* The count of FLEXIO_SHIFTBUFBYS */
  16262. #define FLEXIO_SHIFTBUFBYS_COUNT (8U)
  16263. /*! @name SHIFTBUFBBS - Shifter Buffer N Bit Byte Swapped Register */
  16264. /*! @{ */
  16265. #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_MASK (0xFFFFFFFFU)
  16266. #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_SHIFT (0U)
  16267. /*! SHIFTBUFBBS - Shift Buffer
  16268. */
  16269. #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_SHIFT)) & FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_MASK)
  16270. /*! @} */
  16271. /* The count of FLEXIO_SHIFTBUFBBS */
  16272. #define FLEXIO_SHIFTBUFBBS_COUNT (8U)
  16273. /*! @name TIMCTL - Timer Control N Register */
  16274. /*! @{ */
  16275. #define FLEXIO_TIMCTL_TIMOD_MASK (0x3U)
  16276. #define FLEXIO_TIMCTL_TIMOD_SHIFT (0U)
  16277. /*! TIMOD - Timer Mode
  16278. * 0b00..Timer Disabled.
  16279. * 0b01..Dual 8-bit counters baud mode.
  16280. * 0b10..Dual 8-bit counters PWM high mode.
  16281. * 0b11..Single 16-bit counter mode.
  16282. */
  16283. #define FLEXIO_TIMCTL_TIMOD(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TIMOD_SHIFT)) & FLEXIO_TIMCTL_TIMOD_MASK)
  16284. #define FLEXIO_TIMCTL_PINPOL_MASK (0x80U)
  16285. #define FLEXIO_TIMCTL_PINPOL_SHIFT (7U)
  16286. /*! PINPOL - Timer Pin Polarity
  16287. * 0b0..Pin is active high
  16288. * 0b1..Pin is active low
  16289. */
  16290. #define FLEXIO_TIMCTL_PINPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINPOL_SHIFT)) & FLEXIO_TIMCTL_PINPOL_MASK)
  16291. #define FLEXIO_TIMCTL_PINSEL_MASK (0x1F00U)
  16292. #define FLEXIO_TIMCTL_PINSEL_SHIFT (8U)
  16293. /*! PINSEL - Timer Pin Select
  16294. */
  16295. #define FLEXIO_TIMCTL_PINSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINSEL_SHIFT)) & FLEXIO_TIMCTL_PINSEL_MASK)
  16296. #define FLEXIO_TIMCTL_PINCFG_MASK (0x30000U)
  16297. #define FLEXIO_TIMCTL_PINCFG_SHIFT (16U)
  16298. /*! PINCFG - Timer Pin Configuration
  16299. * 0b00..Timer pin output disabled
  16300. * 0b01..Timer pin open drain or bidirectional output enable
  16301. * 0b10..Timer pin bidirectional output data
  16302. * 0b11..Timer pin output
  16303. */
  16304. #define FLEXIO_TIMCTL_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINCFG_SHIFT)) & FLEXIO_TIMCTL_PINCFG_MASK)
  16305. #define FLEXIO_TIMCTL_TRGSRC_MASK (0x400000U)
  16306. #define FLEXIO_TIMCTL_TRGSRC_SHIFT (22U)
  16307. /*! TRGSRC - Trigger Source
  16308. * 0b0..External trigger selected
  16309. * 0b1..Internal trigger selected
  16310. */
  16311. #define FLEXIO_TIMCTL_TRGSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGSRC_SHIFT)) & FLEXIO_TIMCTL_TRGSRC_MASK)
  16312. #define FLEXIO_TIMCTL_TRGPOL_MASK (0x800000U)
  16313. #define FLEXIO_TIMCTL_TRGPOL_SHIFT (23U)
  16314. /*! TRGPOL - Trigger Polarity
  16315. * 0b0..Trigger active high
  16316. * 0b1..Trigger active low
  16317. */
  16318. #define FLEXIO_TIMCTL_TRGPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGPOL_SHIFT)) & FLEXIO_TIMCTL_TRGPOL_MASK)
  16319. #define FLEXIO_TIMCTL_TRGSEL_MASK (0x3F000000U)
  16320. #define FLEXIO_TIMCTL_TRGSEL_SHIFT (24U)
  16321. /*! TRGSEL - Trigger Select
  16322. */
  16323. #define FLEXIO_TIMCTL_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGSEL_SHIFT)) & FLEXIO_TIMCTL_TRGSEL_MASK)
  16324. /*! @} */
  16325. /* The count of FLEXIO_TIMCTL */
  16326. #define FLEXIO_TIMCTL_COUNT (8U)
  16327. /*! @name TIMCFG - Timer Configuration N Register */
  16328. /*! @{ */
  16329. #define FLEXIO_TIMCFG_TSTART_MASK (0x2U)
  16330. #define FLEXIO_TIMCFG_TSTART_SHIFT (1U)
  16331. /*! TSTART - Timer Start Bit
  16332. * 0b0..Start bit disabled
  16333. * 0b1..Start bit enabled
  16334. */
  16335. #define FLEXIO_TIMCFG_TSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TSTART_SHIFT)) & FLEXIO_TIMCFG_TSTART_MASK)
  16336. #define FLEXIO_TIMCFG_TSTOP_MASK (0x30U)
  16337. #define FLEXIO_TIMCFG_TSTOP_SHIFT (4U)
  16338. /*! TSTOP - Timer Stop Bit
  16339. * 0b00..Stop bit disabled
  16340. * 0b01..Stop bit is enabled on timer compare
  16341. * 0b10..Stop bit is enabled on timer disable
  16342. * 0b11..Stop bit is enabled on timer compare and timer disable
  16343. */
  16344. #define FLEXIO_TIMCFG_TSTOP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TSTOP_SHIFT)) & FLEXIO_TIMCFG_TSTOP_MASK)
  16345. #define FLEXIO_TIMCFG_TIMENA_MASK (0x700U)
  16346. #define FLEXIO_TIMCFG_TIMENA_SHIFT (8U)
  16347. /*! TIMENA - Timer Enable
  16348. * 0b000..Timer always enabled
  16349. * 0b001..Timer enabled on Timer N-1 enable
  16350. * 0b010..Timer enabled on Trigger high
  16351. * 0b011..Timer enabled on Trigger high and Pin high
  16352. * 0b100..Timer enabled on Pin rising edge
  16353. * 0b101..Timer enabled on Pin rising edge and Trigger high
  16354. * 0b110..Timer enabled on Trigger rising edge
  16355. * 0b111..Timer enabled on Trigger rising or falling edge
  16356. */
  16357. #define FLEXIO_TIMCFG_TIMENA(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMENA_SHIFT)) & FLEXIO_TIMCFG_TIMENA_MASK)
  16358. #define FLEXIO_TIMCFG_TIMDIS_MASK (0x7000U)
  16359. #define FLEXIO_TIMCFG_TIMDIS_SHIFT (12U)
  16360. /*! TIMDIS - Timer Disable
  16361. * 0b000..Timer never disabled
  16362. * 0b001..Timer disabled on Timer N-1 disable
  16363. * 0b010..Timer disabled on Timer compare (upper 8-bits match and decrement)
  16364. * 0b011..Timer disabled on Timer compare (upper 8-bits match and decrement) and Trigger Low
  16365. * 0b100..Timer disabled on Pin rising or falling edge
  16366. * 0b101..Timer disabled on Pin rising or falling edge provided Trigger is high
  16367. * 0b110..Timer disabled on Trigger falling edge
  16368. * 0b111..Reserved
  16369. */
  16370. #define FLEXIO_TIMCFG_TIMDIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMDIS_SHIFT)) & FLEXIO_TIMCFG_TIMDIS_MASK)
  16371. #define FLEXIO_TIMCFG_TIMRST_MASK (0x70000U)
  16372. #define FLEXIO_TIMCFG_TIMRST_SHIFT (16U)
  16373. /*! TIMRST - Timer Reset
  16374. * 0b000..Timer never reset
  16375. * 0b001..Reserved
  16376. * 0b010..Timer reset on Timer Pin equal to Timer Output
  16377. * 0b011..Timer reset on Timer Trigger equal to Timer Output
  16378. * 0b100..Timer reset on Timer Pin rising edge
  16379. * 0b101..Reserved
  16380. * 0b110..Timer reset on Trigger rising edge
  16381. * 0b111..Timer reset on Trigger rising or falling edge
  16382. */
  16383. #define FLEXIO_TIMCFG_TIMRST(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMRST_SHIFT)) & FLEXIO_TIMCFG_TIMRST_MASK)
  16384. #define FLEXIO_TIMCFG_TIMDEC_MASK (0x300000U)
  16385. #define FLEXIO_TIMCFG_TIMDEC_SHIFT (20U)
  16386. /*! TIMDEC - Timer Decrement
  16387. * 0b00..Decrement counter on FlexIO clock, Shift clock equals Timer output.
  16388. * 0b01..Decrement counter on Trigger input (both edges), Shift clock equals Timer output.
  16389. * 0b10..Decrement counter on Pin input (both edges), Shift clock equals Pin input.
  16390. * 0b11..Decrement counter on Trigger input (both edges), Shift clock equals Trigger input.
  16391. */
  16392. #define FLEXIO_TIMCFG_TIMDEC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMDEC_SHIFT)) & FLEXIO_TIMCFG_TIMDEC_MASK)
  16393. #define FLEXIO_TIMCFG_TIMOUT_MASK (0x3000000U)
  16394. #define FLEXIO_TIMCFG_TIMOUT_SHIFT (24U)
  16395. /*! TIMOUT - Timer Output
  16396. * 0b00..Timer output is logic one when enabled and is not affected by timer reset
  16397. * 0b01..Timer output is logic zero when enabled and is not affected by timer reset
  16398. * 0b10..Timer output is logic one when enabled and on timer reset
  16399. * 0b11..Timer output is logic zero when enabled and on timer reset
  16400. */
  16401. #define FLEXIO_TIMCFG_TIMOUT(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMOUT_SHIFT)) & FLEXIO_TIMCFG_TIMOUT_MASK)
  16402. /*! @} */
  16403. /* The count of FLEXIO_TIMCFG */
  16404. #define FLEXIO_TIMCFG_COUNT (8U)
  16405. /*! @name TIMCMP - Timer Compare N Register */
  16406. /*! @{ */
  16407. #define FLEXIO_TIMCMP_CMP_MASK (0xFFFFU)
  16408. #define FLEXIO_TIMCMP_CMP_SHIFT (0U)
  16409. /*! CMP - Timer Compare Value
  16410. */
  16411. #define FLEXIO_TIMCMP_CMP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCMP_CMP_SHIFT)) & FLEXIO_TIMCMP_CMP_MASK)
  16412. /*! @} */
  16413. /* The count of FLEXIO_TIMCMP */
  16414. #define FLEXIO_TIMCMP_COUNT (8U)
  16415. /*! @name SHIFTBUFNBS - Shifter Buffer N Nibble Byte Swapped Register */
  16416. /*! @{ */
  16417. #define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_MASK (0xFFFFFFFFU)
  16418. #define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_SHIFT (0U)
  16419. /*! SHIFTBUFNBS - Shift Buffer
  16420. */
  16421. #define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_SHIFT)) & FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_MASK)
  16422. /*! @} */
  16423. /* The count of FLEXIO_SHIFTBUFNBS */
  16424. #define FLEXIO_SHIFTBUFNBS_COUNT (8U)
  16425. /*! @name SHIFTBUFHWS - Shifter Buffer N Half Word Swapped Register */
  16426. /*! @{ */
  16427. #define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_MASK (0xFFFFFFFFU)
  16428. #define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_SHIFT (0U)
  16429. /*! SHIFTBUFHWS - Shift Buffer
  16430. */
  16431. #define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_SHIFT)) & FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_MASK)
  16432. /*! @} */
  16433. /* The count of FLEXIO_SHIFTBUFHWS */
  16434. #define FLEXIO_SHIFTBUFHWS_COUNT (8U)
  16435. /*! @name SHIFTBUFNIS - Shifter Buffer N Nibble Swapped Register */
  16436. /*! @{ */
  16437. #define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_MASK (0xFFFFFFFFU)
  16438. #define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_SHIFT (0U)
  16439. /*! SHIFTBUFNIS - Shift Buffer
  16440. */
  16441. #define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_SHIFT)) & FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_MASK)
  16442. /*! @} */
  16443. /* The count of FLEXIO_SHIFTBUFNIS */
  16444. #define FLEXIO_SHIFTBUFNIS_COUNT (8U)
  16445. /*!
  16446. * @}
  16447. */ /* end of group FLEXIO_Register_Masks */
  16448. /* FLEXIO - Peripheral instance base addresses */
  16449. /** Peripheral FLEXIO1 base address */
  16450. #define FLEXIO1_BASE (0x401AC000u)
  16451. /** Peripheral FLEXIO1 base pointer */
  16452. #define FLEXIO1 ((FLEXIO_Type *)FLEXIO1_BASE)
  16453. /** Array initializer of FLEXIO peripheral base addresses */
  16454. #define FLEXIO_BASE_ADDRS { 0u, FLEXIO1_BASE }
  16455. /** Array initializer of FLEXIO peripheral base pointers */
  16456. #define FLEXIO_BASE_PTRS { (FLEXIO_Type *)0u, FLEXIO1 }
  16457. /** Interrupt vectors for the FLEXIO peripheral type */
  16458. #define FLEXIO_IRQS { NotAvail_IRQn, FLEXIO1_IRQn }
  16459. /*!
  16460. * @}
  16461. */ /* end of group FLEXIO_Peripheral_Access_Layer */
  16462. /* ----------------------------------------------------------------------------
  16463. -- FLEXRAM Peripheral Access Layer
  16464. ---------------------------------------------------------------------------- */
  16465. /*!
  16466. * @addtogroup FLEXRAM_Peripheral_Access_Layer FLEXRAM Peripheral Access Layer
  16467. * @{
  16468. */
  16469. /** FLEXRAM - Register Layout Typedef */
  16470. typedef struct {
  16471. __IO uint32_t TCM_CTRL; /**< TCM CRTL Register, offset: 0x0 */
  16472. uint8_t RESERVED_0[12];
  16473. __IO uint32_t INT_STATUS; /**< Interrupt Status Register, offset: 0x10 */
  16474. __IO uint32_t INT_STAT_EN; /**< Interrupt Status Enable Register, offset: 0x14 */
  16475. __IO uint32_t INT_SIG_EN; /**< Interrupt Enable Register, offset: 0x18 */
  16476. } FLEXRAM_Type;
  16477. /* ----------------------------------------------------------------------------
  16478. -- FLEXRAM Register Masks
  16479. ---------------------------------------------------------------------------- */
  16480. /*!
  16481. * @addtogroup FLEXRAM_Register_Masks FLEXRAM Register Masks
  16482. * @{
  16483. */
  16484. /*! @name TCM_CTRL - TCM CRTL Register */
  16485. /*! @{ */
  16486. #define FLEXRAM_TCM_CTRL_TCM_WWAIT_EN_MASK (0x1U)
  16487. #define FLEXRAM_TCM_CTRL_TCM_WWAIT_EN_SHIFT (0U)
  16488. /*! TCM_WWAIT_EN - TCM Write Wait Mode Enable
  16489. * 0b0..TCM write fast mode: Write RAM accesses are expected to be finished in 1-cycle.
  16490. * 0b1..TCM write wait mode: Write RAM accesses are expected to be finished in 2-cycles.
  16491. */
  16492. #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)
  16493. #define FLEXRAM_TCM_CTRL_TCM_RWAIT_EN_MASK (0x2U)
  16494. #define FLEXRAM_TCM_CTRL_TCM_RWAIT_EN_SHIFT (1U)
  16495. /*! TCM_RWAIT_EN - TCM Read Wait Mode Enable
  16496. * 0b0..TCM read fast mode: Read RAM accesses are expected to be finished in 1-cycle.
  16497. * 0b1..TCM read wait mode: Read RAM accesses are expected to be finished in 2-cycles.
  16498. */
  16499. #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)
  16500. #define FLEXRAM_TCM_CTRL_FORCE_CLK_ON_MASK (0x4U)
  16501. #define FLEXRAM_TCM_CTRL_FORCE_CLK_ON_SHIFT (2U)
  16502. /*! FORCE_CLK_ON - Force RAM Clock Always On
  16503. */
  16504. #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)
  16505. #define FLEXRAM_TCM_CTRL_Reserved_MASK (0xFFFFFFF8U)
  16506. #define FLEXRAM_TCM_CTRL_Reserved_SHIFT (3U)
  16507. /*! Reserved - Reserved
  16508. */
  16509. #define FLEXRAM_TCM_CTRL_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_TCM_CTRL_Reserved_SHIFT)) & FLEXRAM_TCM_CTRL_Reserved_MASK)
  16510. /*! @} */
  16511. /*! @name INT_STATUS - Interrupt Status Register */
  16512. /*! @{ */
  16513. #define FLEXRAM_INT_STATUS_Reserved0_MASK (0x1U)
  16514. #define FLEXRAM_INT_STATUS_Reserved0_SHIFT (0U)
  16515. /*! Reserved0 - Reserved
  16516. */
  16517. #define FLEXRAM_INT_STATUS_Reserved0(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_Reserved0_SHIFT)) & FLEXRAM_INT_STATUS_Reserved0_MASK)
  16518. #define FLEXRAM_INT_STATUS_Reserved1_MASK (0x2U)
  16519. #define FLEXRAM_INT_STATUS_Reserved1_SHIFT (1U)
  16520. /*! Reserved1 - Reserved
  16521. */
  16522. #define FLEXRAM_INT_STATUS_Reserved1(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_Reserved1_SHIFT)) & FLEXRAM_INT_STATUS_Reserved1_MASK)
  16523. #define FLEXRAM_INT_STATUS_Reserved2_MASK (0x4U)
  16524. #define FLEXRAM_INT_STATUS_Reserved2_SHIFT (2U)
  16525. /*! Reserved2 - Reserved
  16526. */
  16527. #define FLEXRAM_INT_STATUS_Reserved2(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_Reserved2_SHIFT)) & FLEXRAM_INT_STATUS_Reserved2_MASK)
  16528. #define FLEXRAM_INT_STATUS_ITCM_ERR_STATUS_MASK (0x8U)
  16529. #define FLEXRAM_INT_STATUS_ITCM_ERR_STATUS_SHIFT (3U)
  16530. /*! ITCM_ERR_STATUS - ITCM Access Error Status
  16531. * 0b0..ITCM access error does not happen
  16532. * 0b1..ITCM access error happens.
  16533. */
  16534. #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)
  16535. #define FLEXRAM_INT_STATUS_DTCM_ERR_STATUS_MASK (0x10U)
  16536. #define FLEXRAM_INT_STATUS_DTCM_ERR_STATUS_SHIFT (4U)
  16537. /*! DTCM_ERR_STATUS - DTCM Access Error Status
  16538. * 0b0..DTCM access error does not happen
  16539. * 0b1..DTCM access error happens.
  16540. */
  16541. #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)
  16542. #define FLEXRAM_INT_STATUS_OCRAM_ERR_STATUS_MASK (0x20U)
  16543. #define FLEXRAM_INT_STATUS_OCRAM_ERR_STATUS_SHIFT (5U)
  16544. /*! OCRAM_ERR_STATUS - OCRAM Access Error Status
  16545. * 0b0..OCRAM access error does not happen
  16546. * 0b1..OCRAM access error happens.
  16547. */
  16548. #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)
  16549. #define FLEXRAM_INT_STATUS_Reserved_MASK (0xFFFFFFC0U)
  16550. #define FLEXRAM_INT_STATUS_Reserved_SHIFT (6U)
  16551. /*! Reserved - Reserved
  16552. */
  16553. #define FLEXRAM_INT_STATUS_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_Reserved_SHIFT)) & FLEXRAM_INT_STATUS_Reserved_MASK)
  16554. /*! @} */
  16555. /*! @name INT_STAT_EN - Interrupt Status Enable Register */
  16556. /*! @{ */
  16557. #define FLEXRAM_INT_STAT_EN_Reserved0_MASK (0x1U)
  16558. #define FLEXRAM_INT_STAT_EN_Reserved0_SHIFT (0U)
  16559. /*! Reserved0 - Reserved
  16560. */
  16561. #define FLEXRAM_INT_STAT_EN_Reserved0(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_Reserved0_SHIFT)) & FLEXRAM_INT_STAT_EN_Reserved0_MASK)
  16562. #define FLEXRAM_INT_STAT_EN_Reserved1_MASK (0x2U)
  16563. #define FLEXRAM_INT_STAT_EN_Reserved1_SHIFT (1U)
  16564. /*! Reserved1 - Reserved
  16565. */
  16566. #define FLEXRAM_INT_STAT_EN_Reserved1(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_Reserved1_SHIFT)) & FLEXRAM_INT_STAT_EN_Reserved1_MASK)
  16567. #define FLEXRAM_INT_STAT_EN_Reserved2_MASK (0x4U)
  16568. #define FLEXRAM_INT_STAT_EN_Reserved2_SHIFT (2U)
  16569. /*! Reserved2 - Reserved
  16570. */
  16571. #define FLEXRAM_INT_STAT_EN_Reserved2(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_Reserved2_SHIFT)) & FLEXRAM_INT_STAT_EN_Reserved2_MASK)
  16572. #define FLEXRAM_INT_STAT_EN_ITCM_ERR_STAT_EN_MASK (0x8U)
  16573. #define FLEXRAM_INT_STAT_EN_ITCM_ERR_STAT_EN_SHIFT (3U)
  16574. /*! ITCM_ERR_STAT_EN - ITCM Access Error Status Enable
  16575. * 0b0..Masked
  16576. * 0b1..Enabled
  16577. */
  16578. #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)
  16579. #define FLEXRAM_INT_STAT_EN_DTCM_ERR_STAT_EN_MASK (0x10U)
  16580. #define FLEXRAM_INT_STAT_EN_DTCM_ERR_STAT_EN_SHIFT (4U)
  16581. /*! DTCM_ERR_STAT_EN - DTCM Access Error Status Enable
  16582. * 0b0..Masked
  16583. * 0b1..Enabled
  16584. */
  16585. #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)
  16586. #define FLEXRAM_INT_STAT_EN_OCRAM_ERR_STAT_EN_MASK (0x20U)
  16587. #define FLEXRAM_INT_STAT_EN_OCRAM_ERR_STAT_EN_SHIFT (5U)
  16588. /*! OCRAM_ERR_STAT_EN - OCRAM Access Error Status Enable
  16589. * 0b0..Masked
  16590. * 0b1..Enabled
  16591. */
  16592. #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)
  16593. #define FLEXRAM_INT_STAT_EN_Reserved_MASK (0xFFFFFFC0U)
  16594. #define FLEXRAM_INT_STAT_EN_Reserved_SHIFT (6U)
  16595. /*! Reserved - Reserved
  16596. */
  16597. #define FLEXRAM_INT_STAT_EN_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_Reserved_SHIFT)) & FLEXRAM_INT_STAT_EN_Reserved_MASK)
  16598. /*! @} */
  16599. /*! @name INT_SIG_EN - Interrupt Enable Register */
  16600. /*! @{ */
  16601. #define FLEXRAM_INT_SIG_EN_Reserved0_MASK (0x1U)
  16602. #define FLEXRAM_INT_SIG_EN_Reserved0_SHIFT (0U)
  16603. /*! Reserved0 - Reserved
  16604. */
  16605. #define FLEXRAM_INT_SIG_EN_Reserved0(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_Reserved0_SHIFT)) & FLEXRAM_INT_SIG_EN_Reserved0_MASK)
  16606. #define FLEXRAM_INT_SIG_EN_Reserved1_MASK (0x2U)
  16607. #define FLEXRAM_INT_SIG_EN_Reserved1_SHIFT (1U)
  16608. /*! Reserved1 - Reserved
  16609. */
  16610. #define FLEXRAM_INT_SIG_EN_Reserved1(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_Reserved1_SHIFT)) & FLEXRAM_INT_SIG_EN_Reserved1_MASK)
  16611. #define FLEXRAM_INT_SIG_EN_Reserved2_MASK (0x4U)
  16612. #define FLEXRAM_INT_SIG_EN_Reserved2_SHIFT (2U)
  16613. /*! Reserved2 - Reserved
  16614. */
  16615. #define FLEXRAM_INT_SIG_EN_Reserved2(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_Reserved2_SHIFT)) & FLEXRAM_INT_SIG_EN_Reserved2_MASK)
  16616. #define FLEXRAM_INT_SIG_EN_ITCM_ERR_SIG_EN_MASK (0x8U)
  16617. #define FLEXRAM_INT_SIG_EN_ITCM_ERR_SIG_EN_SHIFT (3U)
  16618. /*! ITCM_ERR_SIG_EN - ITCM Access Error Interrupt Enable
  16619. * 0b0..Masked
  16620. * 0b1..Enabled
  16621. */
  16622. #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)
  16623. #define FLEXRAM_INT_SIG_EN_DTCM_ERR_SIG_EN_MASK (0x10U)
  16624. #define FLEXRAM_INT_SIG_EN_DTCM_ERR_SIG_EN_SHIFT (4U)
  16625. /*! DTCM_ERR_SIG_EN - DTCM Access Error Interrupt Enable
  16626. * 0b0..Masked
  16627. * 0b1..Enabled
  16628. */
  16629. #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)
  16630. #define FLEXRAM_INT_SIG_EN_OCRAM_ERR_SIG_EN_MASK (0x20U)
  16631. #define FLEXRAM_INT_SIG_EN_OCRAM_ERR_SIG_EN_SHIFT (5U)
  16632. /*! OCRAM_ERR_SIG_EN - OCRAM Access Error Interrupt Enable
  16633. * 0b0..Masked
  16634. * 0b1..Enabled
  16635. */
  16636. #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)
  16637. #define FLEXRAM_INT_SIG_EN_Reserved_MASK (0xFFFFFFC0U)
  16638. #define FLEXRAM_INT_SIG_EN_Reserved_SHIFT (6U)
  16639. /*! Reserved - Reserved
  16640. */
  16641. #define FLEXRAM_INT_SIG_EN_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_Reserved_SHIFT)) & FLEXRAM_INT_SIG_EN_Reserved_MASK)
  16642. /*! @} */
  16643. /*!
  16644. * @}
  16645. */ /* end of group FLEXRAM_Register_Masks */
  16646. /* FLEXRAM - Peripheral instance base addresses */
  16647. /** Peripheral FLEXRAM base address */
  16648. #define FLEXRAM_BASE (0x400B0000u)
  16649. /** Peripheral FLEXRAM base pointer */
  16650. #define FLEXRAM ((FLEXRAM_Type *)FLEXRAM_BASE)
  16651. /** Array initializer of FLEXRAM peripheral base addresses */
  16652. #define FLEXRAM_BASE_ADDRS { FLEXRAM_BASE }
  16653. /** Array initializer of FLEXRAM peripheral base pointers */
  16654. #define FLEXRAM_BASE_PTRS { FLEXRAM }
  16655. /** Interrupt vectors for the FLEXRAM peripheral type */
  16656. #define FLEXRAM_IRQS { FLEXRAM_IRQn }
  16657. /*!
  16658. * @}
  16659. */ /* end of group FLEXRAM_Peripheral_Access_Layer */
  16660. /* ----------------------------------------------------------------------------
  16661. -- FLEXSPI Peripheral Access Layer
  16662. ---------------------------------------------------------------------------- */
  16663. /*!
  16664. * @addtogroup FLEXSPI_Peripheral_Access_Layer FLEXSPI Peripheral Access Layer
  16665. * @{
  16666. */
  16667. /** FLEXSPI - Register Layout Typedef */
  16668. typedef struct {
  16669. __IO uint32_t MCR0; /**< Module Control Register 0, offset: 0x0 */
  16670. __IO uint32_t MCR1; /**< Module Control Register 1, offset: 0x4 */
  16671. __IO uint32_t MCR2; /**< Module Control Register 2, offset: 0x8 */
  16672. __IO uint32_t AHBCR; /**< AHB Bus Control Register, offset: 0xC */
  16673. __IO uint32_t INTEN; /**< Interrupt Enable Register, offset: 0x10 */
  16674. __IO uint32_t INTR; /**< Interrupt Register, offset: 0x14 */
  16675. __IO uint32_t LUTKEY; /**< LUT Key Register, offset: 0x18 */
  16676. __IO uint32_t LUTCR; /**< LUT Control Register, offset: 0x1C */
  16677. __IO uint32_t AHBRXBUFCR0[4]; /**< AHB RX Buffer 0 Control Register 0..AHB RX Buffer 3 Control Register 0, array offset: 0x20, array step: 0x4 */
  16678. uint8_t RESERVED_0[48];
  16679. __IO uint32_t FLSHCR0[4]; /**< Flash Control Register 0, array offset: 0x60, array step: 0x4 */
  16680. __IO uint32_t FLSHCR1[4]; /**< Flash Control Register 1, array offset: 0x70, array step: 0x4 */
  16681. __IO uint32_t FLSHCR2[4]; /**< Flash Control Register 2, array offset: 0x80, array step: 0x4 */
  16682. uint8_t RESERVED_1[4];
  16683. __IO uint32_t FLSHCR4; /**< Flash Control Register 4, offset: 0x94 */
  16684. uint8_t RESERVED_2[8];
  16685. __IO uint32_t IPCR0; /**< IP Control Register 0, offset: 0xA0 */
  16686. __IO uint32_t IPCR1; /**< IP Control Register 1, offset: 0xA4 */
  16687. uint8_t RESERVED_3[8];
  16688. __IO uint32_t IPCMD; /**< IP Command Register, offset: 0xB0 */
  16689. uint8_t RESERVED_4[4];
  16690. __IO uint32_t IPRXFCR; /**< IP RX FIFO Control Register, offset: 0xB8 */
  16691. __IO uint32_t IPTXFCR; /**< IP TX FIFO Control Register, offset: 0xBC */
  16692. __IO uint32_t DLLCR[2]; /**< DLL Control Register 0, array offset: 0xC0, array step: 0x4 */
  16693. uint8_t RESERVED_5[24];
  16694. __I uint32_t STS0; /**< Status Register 0, offset: 0xE0 */
  16695. __I uint32_t STS1; /**< Status Register 1, offset: 0xE4 */
  16696. __I uint32_t STS2; /**< Status Register 2, offset: 0xE8 */
  16697. __I uint32_t AHBSPNDSTS; /**< AHB Suspend Status Register, offset: 0xEC */
  16698. __I uint32_t IPRXFSTS; /**< IP RX FIFO Status Register, offset: 0xF0 */
  16699. __I uint32_t IPTXFSTS; /**< IP TX FIFO Status Register, offset: 0xF4 */
  16700. uint8_t RESERVED_6[8];
  16701. __I uint32_t RFDR[32]; /**< IP RX FIFO Data Register 0..IP RX FIFO Data Register 31, array offset: 0x100, array step: 0x4 */
  16702. __O uint32_t TFDR[32]; /**< IP TX FIFO Data Register 0..IP TX FIFO Data Register 31, array offset: 0x180, array step: 0x4 */
  16703. __IO uint32_t LUT[64]; /**< LUT 0..LUT 63, array offset: 0x200, array step: 0x4 */
  16704. } FLEXSPI_Type;
  16705. /* ----------------------------------------------------------------------------
  16706. -- FLEXSPI Register Masks
  16707. ---------------------------------------------------------------------------- */
  16708. /*!
  16709. * @addtogroup FLEXSPI_Register_Masks FLEXSPI Register Masks
  16710. * @{
  16711. */
  16712. /*! @name MCR0 - Module Control Register 0 */
  16713. /*! @{ */
  16714. #define FLEXSPI_MCR0_SWRESET_MASK (0x1U)
  16715. #define FLEXSPI_MCR0_SWRESET_SHIFT (0U)
  16716. /*! SWRESET - Software Reset
  16717. */
  16718. #define FLEXSPI_MCR0_SWRESET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_SWRESET_SHIFT)) & FLEXSPI_MCR0_SWRESET_MASK)
  16719. #define FLEXSPI_MCR0_MDIS_MASK (0x2U)
  16720. #define FLEXSPI_MCR0_MDIS_SHIFT (1U)
  16721. /*! MDIS - Module Disable
  16722. */
  16723. #define FLEXSPI_MCR0_MDIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_MDIS_SHIFT)) & FLEXSPI_MCR0_MDIS_MASK)
  16724. #define FLEXSPI_MCR0_RXCLKSRC_MASK (0x30U)
  16725. #define FLEXSPI_MCR0_RXCLKSRC_SHIFT (4U)
  16726. /*! RXCLKSRC - Sample Clock source selection for Flash Reading
  16727. * 0b00..Dummy Read strobe generated by FlexSPI Controller and loopback internally.
  16728. * 0b01..Dummy Read strobe generated by FlexSPI Controller and loopback from DQS pad.
  16729. * 0b10..Reserved
  16730. * 0b11..Flash provided Read strobe and input from DQS pad
  16731. */
  16732. #define FLEXSPI_MCR0_RXCLKSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_RXCLKSRC_SHIFT)) & FLEXSPI_MCR0_RXCLKSRC_MASK)
  16733. #define FLEXSPI_MCR0_ARDFEN_MASK (0x40U)
  16734. #define FLEXSPI_MCR0_ARDFEN_SHIFT (6U)
  16735. /*! ARDFEN - Enable AHB bus Read Access to IP RX FIFO.
  16736. * 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.
  16737. * 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.
  16738. */
  16739. #define FLEXSPI_MCR0_ARDFEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_ARDFEN_SHIFT)) & FLEXSPI_MCR0_ARDFEN_MASK)
  16740. #define FLEXSPI_MCR0_ATDFEN_MASK (0x80U)
  16741. #define FLEXSPI_MCR0_ATDFEN_SHIFT (7U)
  16742. /*! ATDFEN - Enable AHB bus Write Access to IP TX FIFO.
  16743. * 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.
  16744. * 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.
  16745. */
  16746. #define FLEXSPI_MCR0_ATDFEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_ATDFEN_SHIFT)) & FLEXSPI_MCR0_ATDFEN_MASK)
  16747. #define FLEXSPI_MCR0_SERCLKDIV_MASK (0x700U)
  16748. #define FLEXSPI_MCR0_SERCLKDIV_SHIFT (8U)
  16749. /*! SERCLKDIV - The serial root clock could be divided inside FlexSPI . See Clocks section for more details on clocking.
  16750. * 0b000..Divided by 1
  16751. * 0b001..Divided by 2
  16752. * 0b010..Divided by 3
  16753. * 0b011..Divided by 4
  16754. * 0b100..Divided by 5
  16755. * 0b101..Divided by 6
  16756. * 0b110..Divided by 7
  16757. * 0b111..Divided by 8
  16758. */
  16759. #define FLEXSPI_MCR0_SERCLKDIV(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_SERCLKDIV_SHIFT)) & FLEXSPI_MCR0_SERCLKDIV_MASK)
  16760. #define FLEXSPI_MCR0_HSEN_MASK (0x800U)
  16761. #define FLEXSPI_MCR0_HSEN_SHIFT (11U)
  16762. /*! HSEN - Half Speed Serial Flash access Enable.
  16763. * 0b0..Disable divide by 2 of serial flash clock for half speed commands.
  16764. * 0b1..Enable divide by 2 of serial flash clock for half speed commands.
  16765. */
  16766. #define FLEXSPI_MCR0_HSEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_HSEN_SHIFT)) & FLEXSPI_MCR0_HSEN_MASK)
  16767. #define FLEXSPI_MCR0_DOZEEN_MASK (0x1000U)
  16768. #define FLEXSPI_MCR0_DOZEEN_SHIFT (12U)
  16769. /*! DOZEEN - Doze mode enable bit
  16770. * 0b0..Doze mode support disabled. AHB clock and serial clock will not be gated off when there is doze mode request from system.
  16771. * 0b1..Doze mode support enabled. AHB clock and serial clock will be gated off when there is doze mode request from system.
  16772. */
  16773. #define FLEXSPI_MCR0_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_DOZEEN_SHIFT)) & FLEXSPI_MCR0_DOZEEN_MASK)
  16774. #define FLEXSPI_MCR0_COMBINATIONEN_MASK (0x2000U)
  16775. #define FLEXSPI_MCR0_COMBINATIONEN_SHIFT (13U)
  16776. /*! COMBINATIONEN - This bit is to support Flash Octal mode access by combining Port A and B Data
  16777. * pins (A_DATA[3:0] and B_DATA[3:0]), when Port A and Port B are of 4 bit data width.
  16778. * 0b0..Disable.
  16779. * 0b1..Enable.
  16780. */
  16781. #define FLEXSPI_MCR0_COMBINATIONEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_COMBINATIONEN_SHIFT)) & FLEXSPI_MCR0_COMBINATIONEN_MASK)
  16782. #define FLEXSPI_MCR0_SCKFREERUNEN_MASK (0x4000U)
  16783. #define FLEXSPI_MCR0_SCKFREERUNEN_SHIFT (14U)
  16784. /*! SCKFREERUNEN - This bit is used to force SCLK output free-running. For FPGA applications,
  16785. * external device may use SCLK as reference clock to its internal PLL. If SCLK free-running is
  16786. * enabled, data sampling with loopback clock from SCLK pad is not supported (MCR0[RXCLKSRC]=2).
  16787. * 0b0..Disable.
  16788. * 0b1..Enable.
  16789. */
  16790. #define FLEXSPI_MCR0_SCKFREERUNEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_SCKFREERUNEN_SHIFT)) & FLEXSPI_MCR0_SCKFREERUNEN_MASK)
  16791. #define FLEXSPI_MCR0_IPGRANTWAIT_MASK (0xFF0000U)
  16792. #define FLEXSPI_MCR0_IPGRANTWAIT_SHIFT (16U)
  16793. /*! IPGRANTWAIT - Time out wait cycle for IP command grant.
  16794. */
  16795. #define FLEXSPI_MCR0_IPGRANTWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_IPGRANTWAIT_SHIFT)) & FLEXSPI_MCR0_IPGRANTWAIT_MASK)
  16796. #define FLEXSPI_MCR0_AHBGRANTWAIT_MASK (0xFF000000U)
  16797. #define FLEXSPI_MCR0_AHBGRANTWAIT_SHIFT (24U)
  16798. /*! AHBGRANTWAIT - Timeout wait cycle for AHB command grant.
  16799. */
  16800. #define FLEXSPI_MCR0_AHBGRANTWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_AHBGRANTWAIT_SHIFT)) & FLEXSPI_MCR0_AHBGRANTWAIT_MASK)
  16801. /*! @} */
  16802. /*! @name MCR1 - Module Control Register 1 */
  16803. /*! @{ */
  16804. #define FLEXSPI_MCR1_AHBBUSWAIT_MASK (0xFFFFU)
  16805. #define FLEXSPI_MCR1_AHBBUSWAIT_SHIFT (0U)
  16806. #define FLEXSPI_MCR1_AHBBUSWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR1_AHBBUSWAIT_SHIFT)) & FLEXSPI_MCR1_AHBBUSWAIT_MASK)
  16807. #define FLEXSPI_MCR1_SEQWAIT_MASK (0xFFFF0000U)
  16808. #define FLEXSPI_MCR1_SEQWAIT_SHIFT (16U)
  16809. #define FLEXSPI_MCR1_SEQWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR1_SEQWAIT_SHIFT)) & FLEXSPI_MCR1_SEQWAIT_MASK)
  16810. /*! @} */
  16811. /*! @name MCR2 - Module Control Register 2 */
  16812. /*! @{ */
  16813. #define FLEXSPI_MCR2_CLRAHBBUFOPT_MASK (0x800U)
  16814. #define FLEXSPI_MCR2_CLRAHBBUFOPT_SHIFT (11U)
  16815. /*! CLRAHBBUFOPT - This bit determines whether AHB RX Buffer and AHB TX Buffer will be cleaned
  16816. * automatically when FlexSPI returns STOP mode ACK. Software should set this bit if AHB RX Buffer or
  16817. * AHB TX Buffer will be powered off in STOP mode. Otherwise AHB read access after exiting STOP
  16818. * mode may hit AHB RX Buffer or AHB TX Buffer but their data entries are invalid.
  16819. * 0b0..AHB RX/TX Buffer will not be cleaned automatically when FlexSPI return Stop mode ACK.
  16820. * 0b1..AHB RX/TX Buffer will be cleaned automatically when FlexSPI return Stop mode ACK.
  16821. */
  16822. #define FLEXSPI_MCR2_CLRAHBBUFOPT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_CLRAHBBUFOPT_SHIFT)) & FLEXSPI_MCR2_CLRAHBBUFOPT_MASK)
  16823. #define FLEXSPI_MCR2_SAMEDEVICEEN_MASK (0x8000U)
  16824. #define FLEXSPI_MCR2_SAMEDEVICEEN_SHIFT (15U)
  16825. /*! SAMEDEVICEEN - All external devices are same devices (both in types and size) for A1/A2/B1/B2.
  16826. * 0b0..In Individual mode, FLSHA1CRx/FLSHA2CRx/FLSHB1CRx/FLSHB2CRx register setting will be applied to Flash
  16827. * A1/A2/B1/B2 separately. In Parallel mode, FLSHA1CRx register setting will be applied to Flash A1 and B1,
  16828. * FLSHA2CRx register setting will be applied to Flash A2 and B2. FLSHB1CRx/FLSHB2CRx register settings will be
  16829. * ignored.
  16830. * 0b1..FLSHA1CR0/FLSHA1CR1/FLSHA1CR2 register settings will be applied to Flash A1/A2/B1/B2. FLSHA2CRx/FLSHB1CRx/FLSHB2CRx will be ignored.
  16831. */
  16832. #define FLEXSPI_MCR2_SAMEDEVICEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_SAMEDEVICEEN_SHIFT)) & FLEXSPI_MCR2_SAMEDEVICEEN_MASK)
  16833. #define FLEXSPI_MCR2_SCKBDIFFOPT_MASK (0x80000U)
  16834. #define FLEXSPI_MCR2_SCKBDIFFOPT_SHIFT (19U)
  16835. /*! SCKBDIFFOPT - B_SCLK pad can be used as A_SCLK differential clock output (inverted clock to
  16836. * A_SCLK). In this case, port B flash access is not available. After changing the value of this
  16837. * field, MCR0[SWRESET] should be set.
  16838. * 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.
  16839. * 0b0..B_SCLK pad is used as port B SCLK clock output. Port B flash access is available.
  16840. */
  16841. #define FLEXSPI_MCR2_SCKBDIFFOPT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_SCKBDIFFOPT_SHIFT)) & FLEXSPI_MCR2_SCKBDIFFOPT_MASK)
  16842. #define FLEXSPI_MCR2_RESUMEWAIT_MASK (0xFF000000U)
  16843. #define FLEXSPI_MCR2_RESUMEWAIT_SHIFT (24U)
  16844. /*! RESUMEWAIT - Wait cycle (in AHB clock cycle) for idle state before suspended command sequence resumed.
  16845. */
  16846. #define FLEXSPI_MCR2_RESUMEWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_RESUMEWAIT_SHIFT)) & FLEXSPI_MCR2_RESUMEWAIT_MASK)
  16847. /*! @} */
  16848. /*! @name AHBCR - AHB Bus Control Register */
  16849. /*! @{ */
  16850. #define FLEXSPI_AHBCR_APAREN_MASK (0x1U)
  16851. #define FLEXSPI_AHBCR_APAREN_SHIFT (0U)
  16852. /*! APAREN - Parallel mode enabled for AHB triggered Command (both read and write) .
  16853. * 0b0..Flash will be accessed in Individual mode.
  16854. * 0b1..Flash will be accessed in Parallel mode.
  16855. */
  16856. #define FLEXSPI_AHBCR_APAREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_APAREN_SHIFT)) & FLEXSPI_AHBCR_APAREN_MASK)
  16857. #define FLEXSPI_AHBCR_CLRAHBRXBUF_MASK (0x2U)
  16858. #define FLEXSPI_AHBCR_CLRAHBRXBUF_SHIFT (1U)
  16859. /*! CLRAHBRXBUF - Clear the status/pointers of AHB RX Buffer. Auto-cleared.
  16860. */
  16861. #define FLEXSPI_AHBCR_CLRAHBRXBUF(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_CLRAHBRXBUF_SHIFT)) & FLEXSPI_AHBCR_CLRAHBRXBUF_MASK)
  16862. #define FLEXSPI_AHBCR_CLRAHBTXBUF_MASK (0x4U)
  16863. #define FLEXSPI_AHBCR_CLRAHBTXBUF_SHIFT (2U)
  16864. /*! CLRAHBTXBUF - Clear the status/pointers of AHB TX Buffer. Auto-cleared. For internal use only.
  16865. */
  16866. #define FLEXSPI_AHBCR_CLRAHBTXBUF(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_CLRAHBTXBUF_SHIFT)) & FLEXSPI_AHBCR_CLRAHBTXBUF_MASK)
  16867. #define FLEXSPI_AHBCR_CACHABLEEN_MASK (0x8U)
  16868. #define FLEXSPI_AHBCR_CACHABLEEN_SHIFT (3U)
  16869. /*! CACHABLEEN - Enable AHB bus cachable read access support.
  16870. * 0b0..Disabled. When there is AHB bus cachable read access, FlexSPI will not check whether it hit AHB TX Buffer.
  16871. * 0b1..Enabled. When there is AHB bus cachable read access, FlexSPI will check whether it hit AHB TX Buffer first.
  16872. */
  16873. #define FLEXSPI_AHBCR_CACHABLEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_CACHABLEEN_SHIFT)) & FLEXSPI_AHBCR_CACHABLEEN_MASK)
  16874. #define FLEXSPI_AHBCR_BUFFERABLEEN_MASK (0x10U)
  16875. #define FLEXSPI_AHBCR_BUFFERABLEEN_SHIFT (4U)
  16876. /*! BUFFERABLEEN - Enable AHB bus bufferable write access support. This field affects the last beat
  16877. * of AHB write access, refer for more details about AHB bufferable write.
  16878. * 0b0..Disabled. For all AHB write access (no matter bufferable or non-bufferable ), FlexSPI will return AHB Bus
  16879. * ready after all data is transmitted to External device and AHB command finished.
  16880. * 0b1..Enabled. For AHB bufferable write access, FlexSPI will return AHB Bus ready when the AHB command is
  16881. * granted by arbitrator and will not wait for AHB command finished.
  16882. */
  16883. #define FLEXSPI_AHBCR_BUFFERABLEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_BUFFERABLEEN_SHIFT)) & FLEXSPI_AHBCR_BUFFERABLEEN_MASK)
  16884. #define FLEXSPI_AHBCR_PREFETCHEN_MASK (0x20U)
  16885. #define FLEXSPI_AHBCR_PREFETCHEN_SHIFT (5U)
  16886. /*! PREFETCHEN - AHB Read Prefetch Enable.
  16887. */
  16888. #define FLEXSPI_AHBCR_PREFETCHEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_PREFETCHEN_SHIFT)) & FLEXSPI_AHBCR_PREFETCHEN_MASK)
  16889. #define FLEXSPI_AHBCR_READADDROPT_MASK (0x40U)
  16890. #define FLEXSPI_AHBCR_READADDROPT_SHIFT (6U)
  16891. /*! READADDROPT - AHB Read Address option bit. This option bit is intend to remove AHB burst start address alignment limitation.
  16892. * 0b0..There is AHB read burst start address alignment limitation when flash is accessed in parallel mode or flash is word-addressable.
  16893. * 0b1..There is no AHB read burst start address alignment limitation. FlexSPI will fetch more data than AHB
  16894. * burst required to meet the alignment requirement.
  16895. */
  16896. #define FLEXSPI_AHBCR_READADDROPT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_READADDROPT_SHIFT)) & FLEXSPI_AHBCR_READADDROPT_MASK)
  16897. #define FLEXSPI_AHBCR_READSZALIGN_MASK (0x400U)
  16898. #define FLEXSPI_AHBCR_READSZALIGN_SHIFT (10U)
  16899. /*! READSZALIGN - AHB Read Size Alignment
  16900. * 0b0..AHB read size will be decided by other register setting like PREFETCH_EN
  16901. * 0b1..AHB read size to up size to 8 bytes aligned, no prefetching
  16902. */
  16903. #define FLEXSPI_AHBCR_READSZALIGN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_READSZALIGN_SHIFT)) & FLEXSPI_AHBCR_READSZALIGN_MASK)
  16904. /*! @} */
  16905. /*! @name INTEN - Interrupt Enable Register */
  16906. /*! @{ */
  16907. #define FLEXSPI_INTEN_IPCMDDONEEN_MASK (0x1U)
  16908. #define FLEXSPI_INTEN_IPCMDDONEEN_SHIFT (0U)
  16909. /*! IPCMDDONEEN - IP triggered Command Sequences Execution finished interrupt enable.
  16910. */
  16911. #define FLEXSPI_INTEN_IPCMDDONEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDDONEEN_SHIFT)) & FLEXSPI_INTEN_IPCMDDONEEN_MASK)
  16912. #define FLEXSPI_INTEN_IPCMDGEEN_MASK (0x2U)
  16913. #define FLEXSPI_INTEN_IPCMDGEEN_SHIFT (1U)
  16914. /*! IPCMDGEEN - IP triggered Command Sequences Grant Timeout interrupt enable.
  16915. */
  16916. #define FLEXSPI_INTEN_IPCMDGEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDGEEN_SHIFT)) & FLEXSPI_INTEN_IPCMDGEEN_MASK)
  16917. #define FLEXSPI_INTEN_AHBCMDGEEN_MASK (0x4U)
  16918. #define FLEXSPI_INTEN_AHBCMDGEEN_SHIFT (2U)
  16919. /*! AHBCMDGEEN - AHB triggered Command Sequences Grant Timeout interrupt enable.
  16920. */
  16921. #define FLEXSPI_INTEN_AHBCMDGEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_AHBCMDGEEN_SHIFT)) & FLEXSPI_INTEN_AHBCMDGEEN_MASK)
  16922. #define FLEXSPI_INTEN_IPCMDERREN_MASK (0x8U)
  16923. #define FLEXSPI_INTEN_IPCMDERREN_SHIFT (3U)
  16924. /*! IPCMDERREN - IP triggered Command Sequences Error Detected interrupt enable.
  16925. */
  16926. #define FLEXSPI_INTEN_IPCMDERREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDERREN_SHIFT)) & FLEXSPI_INTEN_IPCMDERREN_MASK)
  16927. #define FLEXSPI_INTEN_AHBCMDERREN_MASK (0x10U)
  16928. #define FLEXSPI_INTEN_AHBCMDERREN_SHIFT (4U)
  16929. /*! AHBCMDERREN - AHB triggered Command Sequences Error Detected interrupt enable.
  16930. */
  16931. #define FLEXSPI_INTEN_AHBCMDERREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_AHBCMDERREN_SHIFT)) & FLEXSPI_INTEN_AHBCMDERREN_MASK)
  16932. #define FLEXSPI_INTEN_IPRXWAEN_MASK (0x20U)
  16933. #define FLEXSPI_INTEN_IPRXWAEN_SHIFT (5U)
  16934. /*! IPRXWAEN - IP RX FIFO WaterMark available interrupt enable.
  16935. */
  16936. #define FLEXSPI_INTEN_IPRXWAEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPRXWAEN_SHIFT)) & FLEXSPI_INTEN_IPRXWAEN_MASK)
  16937. #define FLEXSPI_INTEN_IPTXWEEN_MASK (0x40U)
  16938. #define FLEXSPI_INTEN_IPTXWEEN_SHIFT (6U)
  16939. /*! IPTXWEEN - IP TX FIFO WaterMark empty interrupt enable.
  16940. */
  16941. #define FLEXSPI_INTEN_IPTXWEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPTXWEEN_SHIFT)) & FLEXSPI_INTEN_IPTXWEEN_MASK)
  16942. #define FLEXSPI_INTEN_SCKSTOPBYRDEN_MASK (0x100U)
  16943. #define FLEXSPI_INTEN_SCKSTOPBYRDEN_SHIFT (8U)
  16944. /*! SCKSTOPBYRDEN - SCLK is stopped during command sequence because Async RX FIFO full interrupt enable.
  16945. */
  16946. #define FLEXSPI_INTEN_SCKSTOPBYRDEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_SCKSTOPBYRDEN_SHIFT)) & FLEXSPI_INTEN_SCKSTOPBYRDEN_MASK)
  16947. #define FLEXSPI_INTEN_SCKSTOPBYWREN_MASK (0x200U)
  16948. #define FLEXSPI_INTEN_SCKSTOPBYWREN_SHIFT (9U)
  16949. /*! SCKSTOPBYWREN - SCLK is stopped during command sequence because Async TX FIFO empty interrupt enable.
  16950. */
  16951. #define FLEXSPI_INTEN_SCKSTOPBYWREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_SCKSTOPBYWREN_SHIFT)) & FLEXSPI_INTEN_SCKSTOPBYWREN_MASK)
  16952. #define FLEXSPI_INTEN_AHBBUSTIMEOUTEN_MASK (0x400U)
  16953. #define FLEXSPI_INTEN_AHBBUSTIMEOUTEN_SHIFT (10U)
  16954. /*! AHBBUSTIMEOUTEN - AHB Bus timeout interrupt.Refer Interrupts chapter for more details.
  16955. */
  16956. #define FLEXSPI_INTEN_AHBBUSTIMEOUTEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_AHBBUSTIMEOUTEN_SHIFT)) & FLEXSPI_INTEN_AHBBUSTIMEOUTEN_MASK)
  16957. #define FLEXSPI_INTEN_SEQTIMEOUTEN_MASK (0x800U)
  16958. #define FLEXSPI_INTEN_SEQTIMEOUTEN_SHIFT (11U)
  16959. /*! SEQTIMEOUTEN - Sequence execution timeout interrupt enable.Refer Interrupts chapter for more details.
  16960. */
  16961. #define FLEXSPI_INTEN_SEQTIMEOUTEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_SEQTIMEOUTEN_SHIFT)) & FLEXSPI_INTEN_SEQTIMEOUTEN_MASK)
  16962. /*! @} */
  16963. /*! @name INTR - Interrupt Register */
  16964. /*! @{ */
  16965. #define FLEXSPI_INTR_IPCMDDONE_MASK (0x1U)
  16966. #define FLEXSPI_INTR_IPCMDDONE_SHIFT (0U)
  16967. /*! IPCMDDONE - IP triggered Command Sequences Execution finished interrupt. This interrupt is also
  16968. * generated when there is IPCMDGE or IPCMDERR interrupt generated.
  16969. */
  16970. #define FLEXSPI_INTR_IPCMDDONE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDDONE_SHIFT)) & FLEXSPI_INTR_IPCMDDONE_MASK)
  16971. #define FLEXSPI_INTR_IPCMDGE_MASK (0x2U)
  16972. #define FLEXSPI_INTR_IPCMDGE_SHIFT (1U)
  16973. /*! IPCMDGE - IP triggered Command Sequences Grant Timeout interrupt.
  16974. */
  16975. #define FLEXSPI_INTR_IPCMDGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDGE_SHIFT)) & FLEXSPI_INTR_IPCMDGE_MASK)
  16976. #define FLEXSPI_INTR_AHBCMDGE_MASK (0x4U)
  16977. #define FLEXSPI_INTR_AHBCMDGE_SHIFT (2U)
  16978. /*! AHBCMDGE - AHB triggered Command Sequences Grant Timeout interrupt.
  16979. */
  16980. #define FLEXSPI_INTR_AHBCMDGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_AHBCMDGE_SHIFT)) & FLEXSPI_INTR_AHBCMDGE_MASK)
  16981. #define FLEXSPI_INTR_IPCMDERR_MASK (0x8U)
  16982. #define FLEXSPI_INTR_IPCMDERR_SHIFT (3U)
  16983. /*! IPCMDERR - IP triggered Command Sequences Error Detected interrupt. When an error detected for
  16984. * IP command, this command will be ignored and not executed at all.
  16985. */
  16986. #define FLEXSPI_INTR_IPCMDERR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDERR_SHIFT)) & FLEXSPI_INTR_IPCMDERR_MASK)
  16987. #define FLEXSPI_INTR_AHBCMDERR_MASK (0x10U)
  16988. #define FLEXSPI_INTR_AHBCMDERR_SHIFT (4U)
  16989. /*! AHBCMDERR - AHB triggered Command Sequences Error Detected interrupt. When an error detected for
  16990. * AHB command, this command will be ignored and not executed at all.
  16991. */
  16992. #define FLEXSPI_INTR_AHBCMDERR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_AHBCMDERR_SHIFT)) & FLEXSPI_INTR_AHBCMDERR_MASK)
  16993. #define FLEXSPI_INTR_IPRXWA_MASK (0x20U)
  16994. #define FLEXSPI_INTR_IPRXWA_SHIFT (5U)
  16995. /*! IPRXWA - IP RX FIFO watermark available interrupt.
  16996. */
  16997. #define FLEXSPI_INTR_IPRXWA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPRXWA_SHIFT)) & FLEXSPI_INTR_IPRXWA_MASK)
  16998. #define FLEXSPI_INTR_IPTXWE_MASK (0x40U)
  16999. #define FLEXSPI_INTR_IPTXWE_SHIFT (6U)
  17000. /*! IPTXWE - IP TX FIFO watermark empty interrupt.
  17001. */
  17002. #define FLEXSPI_INTR_IPTXWE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPTXWE_SHIFT)) & FLEXSPI_INTR_IPTXWE_MASK)
  17003. #define FLEXSPI_INTR_SCKSTOPBYRD_MASK (0x100U)
  17004. #define FLEXSPI_INTR_SCKSTOPBYRD_SHIFT (8U)
  17005. /*! SCKSTOPBYRD - SCLK is stopped during command sequence because Async RX FIFO full interrupt.
  17006. */
  17007. #define FLEXSPI_INTR_SCKSTOPBYRD(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_SCKSTOPBYRD_SHIFT)) & FLEXSPI_INTR_SCKSTOPBYRD_MASK)
  17008. #define FLEXSPI_INTR_SCKSTOPBYWR_MASK (0x200U)
  17009. #define FLEXSPI_INTR_SCKSTOPBYWR_SHIFT (9U)
  17010. /*! SCKSTOPBYWR - SCLK is stopped during command sequence because Async TX FIFO empty interrupt.
  17011. */
  17012. #define FLEXSPI_INTR_SCKSTOPBYWR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_SCKSTOPBYWR_SHIFT)) & FLEXSPI_INTR_SCKSTOPBYWR_MASK)
  17013. #define FLEXSPI_INTR_AHBBUSTIMEOUT_MASK (0x400U)
  17014. #define FLEXSPI_INTR_AHBBUSTIMEOUT_SHIFT (10U)
  17015. /*! AHBBUSTIMEOUT - AHB Bus timeout interrupt.Refer Interrupts chapter for more details.
  17016. */
  17017. #define FLEXSPI_INTR_AHBBUSTIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_AHBBUSTIMEOUT_SHIFT)) & FLEXSPI_INTR_AHBBUSTIMEOUT_MASK)
  17018. #define FLEXSPI_INTR_SEQTIMEOUT_MASK (0x800U)
  17019. #define FLEXSPI_INTR_SEQTIMEOUT_SHIFT (11U)
  17020. /*! SEQTIMEOUT - Sequence execution timeout interrupt.
  17021. */
  17022. #define FLEXSPI_INTR_SEQTIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_SEQTIMEOUT_SHIFT)) & FLEXSPI_INTR_SEQTIMEOUT_MASK)
  17023. /*! @} */
  17024. /*! @name LUTKEY - LUT Key Register */
  17025. /*! @{ */
  17026. #define FLEXSPI_LUTKEY_KEY_MASK (0xFFFFFFFFU)
  17027. #define FLEXSPI_LUTKEY_KEY_SHIFT (0U)
  17028. /*! KEY - The Key to lock or unlock LUT.
  17029. */
  17030. #define FLEXSPI_LUTKEY_KEY(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTKEY_KEY_SHIFT)) & FLEXSPI_LUTKEY_KEY_MASK)
  17031. /*! @} */
  17032. /*! @name LUTCR - LUT Control Register */
  17033. /*! @{ */
  17034. #define FLEXSPI_LUTCR_LOCK_MASK (0x1U)
  17035. #define FLEXSPI_LUTCR_LOCK_SHIFT (0U)
  17036. /*! LOCK - Lock LUT
  17037. */
  17038. #define FLEXSPI_LUTCR_LOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTCR_LOCK_SHIFT)) & FLEXSPI_LUTCR_LOCK_MASK)
  17039. #define FLEXSPI_LUTCR_UNLOCK_MASK (0x2U)
  17040. #define FLEXSPI_LUTCR_UNLOCK_SHIFT (1U)
  17041. /*! UNLOCK - Unlock LUT
  17042. */
  17043. #define FLEXSPI_LUTCR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTCR_UNLOCK_SHIFT)) & FLEXSPI_LUTCR_UNLOCK_MASK)
  17044. /*! @} */
  17045. /*! @name AHBRXBUFCR0 - AHB RX Buffer 0 Control Register 0..AHB RX Buffer 3 Control Register 0 */
  17046. /*! @{ */
  17047. #define FLEXSPI_AHBRXBUFCR0_BUFSZ_MASK (0xFFU)
  17048. #define FLEXSPI_AHBRXBUFCR0_BUFSZ_SHIFT (0U)
  17049. /*! BUFSZ - AHB RX Buffer Size in 64 bits.
  17050. */
  17051. #define FLEXSPI_AHBRXBUFCR0_BUFSZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_BUFSZ_SHIFT)) & FLEXSPI_AHBRXBUFCR0_BUFSZ_MASK)
  17052. #define FLEXSPI_AHBRXBUFCR0_MSTRID_MASK (0xF0000U)
  17053. #define FLEXSPI_AHBRXBUFCR0_MSTRID_SHIFT (16U)
  17054. /*! MSTRID - This AHB RX Buffer is assigned according to AHB Master with ID (MSTR_ID).
  17055. */
  17056. #define FLEXSPI_AHBRXBUFCR0_MSTRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_MSTRID_SHIFT)) & FLEXSPI_AHBRXBUFCR0_MSTRID_MASK)
  17057. #define FLEXSPI_AHBRXBUFCR0_PRIORITY_MASK (0x3000000U)
  17058. #define FLEXSPI_AHBRXBUFCR0_PRIORITY_SHIFT (24U)
  17059. /*! PRIORITY - This priority for AHB Master Read which this AHB RX Buffer is assigned. 7 is the highest priority, 0 the lowest.
  17060. */
  17061. #define FLEXSPI_AHBRXBUFCR0_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_PRIORITY_SHIFT)) & FLEXSPI_AHBRXBUFCR0_PRIORITY_MASK)
  17062. #define FLEXSPI_AHBRXBUFCR0_REGIONEN_MASK (0x40000000U)
  17063. #define FLEXSPI_AHBRXBUFCR0_REGIONEN_SHIFT (30U)
  17064. /*! REGIONEN - AHB RX Buffer address region funciton enable
  17065. */
  17066. #define FLEXSPI_AHBRXBUFCR0_REGIONEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_REGIONEN_SHIFT)) & FLEXSPI_AHBRXBUFCR0_REGIONEN_MASK)
  17067. #define FLEXSPI_AHBRXBUFCR0_PREFETCHEN_MASK (0x80000000U)
  17068. #define FLEXSPI_AHBRXBUFCR0_PREFETCHEN_SHIFT (31U)
  17069. /*! PREFETCHEN - AHB Read Prefetch Enable for current AHB RX Buffer corresponding Master.
  17070. */
  17071. #define FLEXSPI_AHBRXBUFCR0_PREFETCHEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_PREFETCHEN_SHIFT)) & FLEXSPI_AHBRXBUFCR0_PREFETCHEN_MASK)
  17072. /*! @} */
  17073. /* The count of FLEXSPI_AHBRXBUFCR0 */
  17074. #define FLEXSPI_AHBRXBUFCR0_COUNT (4U)
  17075. /*! @name FLSHCR0 - Flash Control Register 0 */
  17076. /*! @{ */
  17077. #define FLEXSPI_FLSHCR0_FLSHSZ_MASK (0x7FFFFFU)
  17078. #define FLEXSPI_FLSHCR0_FLSHSZ_SHIFT (0U)
  17079. /*! FLSHSZ - Flash Size in KByte.
  17080. */
  17081. #define FLEXSPI_FLSHCR0_FLSHSZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR0_FLSHSZ_SHIFT)) & FLEXSPI_FLSHCR0_FLSHSZ_MASK)
  17082. /*! @} */
  17083. /* The count of FLEXSPI_FLSHCR0 */
  17084. #define FLEXSPI_FLSHCR0_COUNT (4U)
  17085. /*! @name FLSHCR1 - Flash Control Register 1 */
  17086. /*! @{ */
  17087. #define FLEXSPI_FLSHCR1_TCSS_MASK (0x1FU)
  17088. #define FLEXSPI_FLSHCR1_TCSS_SHIFT (0U)
  17089. /*! TCSS - Serial Flash CS setup time.
  17090. */
  17091. #define FLEXSPI_FLSHCR1_TCSS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_TCSS_SHIFT)) & FLEXSPI_FLSHCR1_TCSS_MASK)
  17092. #define FLEXSPI_FLSHCR1_TCSH_MASK (0x3E0U)
  17093. #define FLEXSPI_FLSHCR1_TCSH_SHIFT (5U)
  17094. /*! TCSH - Serial Flash CS Hold time.
  17095. */
  17096. #define FLEXSPI_FLSHCR1_TCSH(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_TCSH_SHIFT)) & FLEXSPI_FLSHCR1_TCSH_MASK)
  17097. #define FLEXSPI_FLSHCR1_WA_MASK (0x400U)
  17098. #define FLEXSPI_FLSHCR1_WA_SHIFT (10U)
  17099. /*! WA - Word Addressable.
  17100. */
  17101. #define FLEXSPI_FLSHCR1_WA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_WA_SHIFT)) & FLEXSPI_FLSHCR1_WA_MASK)
  17102. #define FLEXSPI_FLSHCR1_CAS_MASK (0x7800U)
  17103. #define FLEXSPI_FLSHCR1_CAS_SHIFT (11U)
  17104. /*! CAS - Column Address Size.
  17105. */
  17106. #define FLEXSPI_FLSHCR1_CAS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_CAS_SHIFT)) & FLEXSPI_FLSHCR1_CAS_MASK)
  17107. #define FLEXSPI_FLSHCR1_CSINTERVALUNIT_MASK (0x8000U)
  17108. #define FLEXSPI_FLSHCR1_CSINTERVALUNIT_SHIFT (15U)
  17109. /*! CSINTERVALUNIT - CS interval unit
  17110. * 0b0..The CS interval unit is 1 serial clock cycle
  17111. * 0b1..The CS interval unit is 256 serial clock cycle
  17112. */
  17113. #define FLEXSPI_FLSHCR1_CSINTERVALUNIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_CSINTERVALUNIT_SHIFT)) & FLEXSPI_FLSHCR1_CSINTERVALUNIT_MASK)
  17114. #define FLEXSPI_FLSHCR1_CSINTERVAL_MASK (0xFFFF0000U)
  17115. #define FLEXSPI_FLSHCR1_CSINTERVAL_SHIFT (16U)
  17116. /*! CSINTERVAL - This field is used to set the minimum interval between flash device Chip selection
  17117. * deassertion and flash device Chip selection assertion. If external flash has a limitation on
  17118. * the interval between command sequences, this field should be set accordingly. If there is no
  17119. * limitation, set this field with value 0x0.
  17120. */
  17121. #define FLEXSPI_FLSHCR1_CSINTERVAL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_CSINTERVAL_SHIFT)) & FLEXSPI_FLSHCR1_CSINTERVAL_MASK)
  17122. /*! @} */
  17123. /* The count of FLEXSPI_FLSHCR1 */
  17124. #define FLEXSPI_FLSHCR1_COUNT (4U)
  17125. /*! @name FLSHCR2 - Flash Control Register 2 */
  17126. /*! @{ */
  17127. #define FLEXSPI_FLSHCR2_ARDSEQID_MASK (0xFU)
  17128. #define FLEXSPI_FLSHCR2_ARDSEQID_SHIFT (0U)
  17129. /*! ARDSEQID - Sequence Index for AHB Read triggered Command in LUT.
  17130. */
  17131. #define FLEXSPI_FLSHCR2_ARDSEQID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_ARDSEQID_SHIFT)) & FLEXSPI_FLSHCR2_ARDSEQID_MASK)
  17132. #define FLEXSPI_FLSHCR2_ARDSEQNUM_MASK (0xE0U)
  17133. #define FLEXSPI_FLSHCR2_ARDSEQNUM_SHIFT (5U)
  17134. /*! ARDSEQNUM - Sequence Number for AHB Read triggered Command in LUT.
  17135. */
  17136. #define FLEXSPI_FLSHCR2_ARDSEQNUM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_ARDSEQNUM_SHIFT)) & FLEXSPI_FLSHCR2_ARDSEQNUM_MASK)
  17137. #define FLEXSPI_FLSHCR2_AWRSEQID_MASK (0xF00U)
  17138. #define FLEXSPI_FLSHCR2_AWRSEQID_SHIFT (8U)
  17139. /*! AWRSEQID - Sequence Index for AHB Write triggered Command.
  17140. */
  17141. #define FLEXSPI_FLSHCR2_AWRSEQID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRSEQID_SHIFT)) & FLEXSPI_FLSHCR2_AWRSEQID_MASK)
  17142. #define FLEXSPI_FLSHCR2_AWRSEQNUM_MASK (0xE000U)
  17143. #define FLEXSPI_FLSHCR2_AWRSEQNUM_SHIFT (13U)
  17144. /*! AWRSEQNUM - Sequence Number for AHB Write triggered Command.
  17145. */
  17146. #define FLEXSPI_FLSHCR2_AWRSEQNUM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRSEQNUM_SHIFT)) & FLEXSPI_FLSHCR2_AWRSEQNUM_MASK)
  17147. #define FLEXSPI_FLSHCR2_AWRWAIT_MASK (0xFFF0000U)
  17148. #define FLEXSPI_FLSHCR2_AWRWAIT_SHIFT (16U)
  17149. #define FLEXSPI_FLSHCR2_AWRWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRWAIT_SHIFT)) & FLEXSPI_FLSHCR2_AWRWAIT_MASK)
  17150. #define FLEXSPI_FLSHCR2_AWRWAITUNIT_MASK (0x70000000U)
  17151. #define FLEXSPI_FLSHCR2_AWRWAITUNIT_SHIFT (28U)
  17152. /*! AWRWAITUNIT - AWRWAIT unit
  17153. * 0b000..The AWRWAIT unit is 2 ahb clock cycle
  17154. * 0b001..The AWRWAIT unit is 8 ahb clock cycle
  17155. * 0b010..The AWRWAIT unit is 32 ahb clock cycle
  17156. * 0b011..The AWRWAIT unit is 128 ahb clock cycle
  17157. * 0b100..The AWRWAIT unit is 512 ahb clock cycle
  17158. * 0b101..The AWRWAIT unit is 2048 ahb clock cycle
  17159. * 0b110..The AWRWAIT unit is 8192 ahb clock cycle
  17160. * 0b111..The AWRWAIT unit is 32768 ahb clock cycle
  17161. */
  17162. #define FLEXSPI_FLSHCR2_AWRWAITUNIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRWAITUNIT_SHIFT)) & FLEXSPI_FLSHCR2_AWRWAITUNIT_MASK)
  17163. #define FLEXSPI_FLSHCR2_CLRINSTRPTR_MASK (0x80000000U)
  17164. #define FLEXSPI_FLSHCR2_CLRINSTRPTR_SHIFT (31U)
  17165. /*! CLRINSTRPTR - Clear the instruction pointer which is internally saved pointer by JMP_ON_CS.
  17166. * Refer Programmable Sequence Engine for details.
  17167. */
  17168. #define FLEXSPI_FLSHCR2_CLRINSTRPTR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_CLRINSTRPTR_SHIFT)) & FLEXSPI_FLSHCR2_CLRINSTRPTR_MASK)
  17169. /*! @} */
  17170. /* The count of FLEXSPI_FLSHCR2 */
  17171. #define FLEXSPI_FLSHCR2_COUNT (4U)
  17172. /*! @name FLSHCR4 - Flash Control Register 4 */
  17173. /*! @{ */
  17174. #define FLEXSPI_FLSHCR4_WMOPT1_MASK (0x1U)
  17175. #define FLEXSPI_FLSHCR4_WMOPT1_SHIFT (0U)
  17176. /*! WMOPT1 - Write mask option bit 1. This option bit could be used to remove AHB write burst start address alignment limitation.
  17177. * 0b0..DQS pin will be used as Write Mask when writing to external device. There is no limitation on AHB write
  17178. * burst start address alignment when flash is accessed in individual mode.
  17179. * 0b1..DQS pin will not be used as Write Mask when writing to external device. There is limitation on AHB write
  17180. * burst start address alignment when flash is accessed in individual mode.
  17181. */
  17182. #define FLEXSPI_FLSHCR4_WMOPT1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMOPT1_SHIFT)) & FLEXSPI_FLSHCR4_WMOPT1_MASK)
  17183. #define FLEXSPI_FLSHCR4_WMENA_MASK (0x4U)
  17184. #define FLEXSPI_FLSHCR4_WMENA_SHIFT (2U)
  17185. /*! WMENA - Write mask enable bit for flash device on port A. When write mask function is needed for
  17186. * memory device on port A, this bit must be set.
  17187. * 0b0..Write mask is disabled, DQS(RWDS) pin will be un-driven when writing to external device.
  17188. * 0b1..Write mask is enabled, DQS(RWDS) pin will be driven by FlexSPI as write mask output when writing to external device.
  17189. */
  17190. #define FLEXSPI_FLSHCR4_WMENA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMENA_SHIFT)) & FLEXSPI_FLSHCR4_WMENA_MASK)
  17191. #define FLEXSPI_FLSHCR4_WMENB_MASK (0x8U)
  17192. #define FLEXSPI_FLSHCR4_WMENB_SHIFT (3U)
  17193. /*! WMENB - Write mask enable bit for flash device on port B. When write mask function is needed for
  17194. * memory device on port B, this bit must be set.
  17195. * 0b0..Write mask is disabled, DQS(RWDS) pin will be un-driven when writing to external device.
  17196. * 0b1..Write mask is enabled, DQS(RWDS) pin will be driven by FlexSPI as write mask output when writing to external device.
  17197. */
  17198. #define FLEXSPI_FLSHCR4_WMENB(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMENB_SHIFT)) & FLEXSPI_FLSHCR4_WMENB_MASK)
  17199. /*! @} */
  17200. /*! @name IPCR0 - IP Control Register 0 */
  17201. /*! @{ */
  17202. #define FLEXSPI_IPCR0_SFAR_MASK (0xFFFFFFFFU)
  17203. #define FLEXSPI_IPCR0_SFAR_SHIFT (0U)
  17204. /*! SFAR - Serial Flash Address for IP command.
  17205. */
  17206. #define FLEXSPI_IPCR0_SFAR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR0_SFAR_SHIFT)) & FLEXSPI_IPCR0_SFAR_MASK)
  17207. /*! @} */
  17208. /*! @name IPCR1 - IP Control Register 1 */
  17209. /*! @{ */
  17210. #define FLEXSPI_IPCR1_IDATSZ_MASK (0xFFFFU)
  17211. #define FLEXSPI_IPCR1_IDATSZ_SHIFT (0U)
  17212. /*! IDATSZ - Flash Read/Program Data Size (in Bytes) for IP command.
  17213. */
  17214. #define FLEXSPI_IPCR1_IDATSZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_IDATSZ_SHIFT)) & FLEXSPI_IPCR1_IDATSZ_MASK)
  17215. #define FLEXSPI_IPCR1_ISEQID_MASK (0xF0000U)
  17216. #define FLEXSPI_IPCR1_ISEQID_SHIFT (16U)
  17217. /*! ISEQID - Sequence Index in LUT for IP command.
  17218. */
  17219. #define FLEXSPI_IPCR1_ISEQID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_ISEQID_SHIFT)) & FLEXSPI_IPCR1_ISEQID_MASK)
  17220. #define FLEXSPI_IPCR1_ISEQNUM_MASK (0x7000000U)
  17221. #define FLEXSPI_IPCR1_ISEQNUM_SHIFT (24U)
  17222. /*! ISEQNUM - Sequence Number for IP command: ISEQNUM+1.
  17223. */
  17224. #define FLEXSPI_IPCR1_ISEQNUM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_ISEQNUM_SHIFT)) & FLEXSPI_IPCR1_ISEQNUM_MASK)
  17225. #define FLEXSPI_IPCR1_IPAREN_MASK (0x80000000U)
  17226. #define FLEXSPI_IPCR1_IPAREN_SHIFT (31U)
  17227. /*! IPAREN - Parallel mode Enabled for IP command.
  17228. * 0b0..Flash will be accessed in Individual mode.
  17229. * 0b1..Flash will be accessed in Parallel mode.
  17230. */
  17231. #define FLEXSPI_IPCR1_IPAREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_IPAREN_SHIFT)) & FLEXSPI_IPCR1_IPAREN_MASK)
  17232. /*! @} */
  17233. /*! @name IPCMD - IP Command Register */
  17234. /*! @{ */
  17235. #define FLEXSPI_IPCMD_TRG_MASK (0x1U)
  17236. #define FLEXSPI_IPCMD_TRG_SHIFT (0U)
  17237. /*! TRG - Setting this bit will trigger an IP Command.
  17238. */
  17239. #define FLEXSPI_IPCMD_TRG(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCMD_TRG_SHIFT)) & FLEXSPI_IPCMD_TRG_MASK)
  17240. /*! @} */
  17241. /*! @name IPRXFCR - IP RX FIFO Control Register */
  17242. /*! @{ */
  17243. #define FLEXSPI_IPRXFCR_CLRIPRXF_MASK (0x1U)
  17244. #define FLEXSPI_IPRXFCR_CLRIPRXF_SHIFT (0U)
  17245. /*! CLRIPRXF - Clear all valid data entries in IP RX FIFO.
  17246. */
  17247. #define FLEXSPI_IPRXFCR_CLRIPRXF(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFCR_CLRIPRXF_SHIFT)) & FLEXSPI_IPRXFCR_CLRIPRXF_MASK)
  17248. #define FLEXSPI_IPRXFCR_RXDMAEN_MASK (0x2U)
  17249. #define FLEXSPI_IPRXFCR_RXDMAEN_SHIFT (1U)
  17250. /*! RXDMAEN - IP RX FIFO reading by DMA enabled.
  17251. * 0b0..IP RX FIFO would be read by processor.
  17252. * 0b1..IP RX FIFO would be read by DMA.
  17253. */
  17254. #define FLEXSPI_IPRXFCR_RXDMAEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFCR_RXDMAEN_SHIFT)) & FLEXSPI_IPRXFCR_RXDMAEN_MASK)
  17255. #define FLEXSPI_IPRXFCR_RXWMRK_MASK (0x3CU)
  17256. #define FLEXSPI_IPRXFCR_RXWMRK_SHIFT (2U)
  17257. /*! RXWMRK - Watermark level is (RXWMRK+1)*64 Bits.
  17258. */
  17259. #define FLEXSPI_IPRXFCR_RXWMRK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFCR_RXWMRK_SHIFT)) & FLEXSPI_IPRXFCR_RXWMRK_MASK)
  17260. /*! @} */
  17261. /*! @name IPTXFCR - IP TX FIFO Control Register */
  17262. /*! @{ */
  17263. #define FLEXSPI_IPTXFCR_CLRIPTXF_MASK (0x1U)
  17264. #define FLEXSPI_IPTXFCR_CLRIPTXF_SHIFT (0U)
  17265. /*! CLRIPTXF - Clear all valid data entries in IP TX FIFO.
  17266. */
  17267. #define FLEXSPI_IPTXFCR_CLRIPTXF(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFCR_CLRIPTXF_SHIFT)) & FLEXSPI_IPTXFCR_CLRIPTXF_MASK)
  17268. #define FLEXSPI_IPTXFCR_TXDMAEN_MASK (0x2U)
  17269. #define FLEXSPI_IPTXFCR_TXDMAEN_SHIFT (1U)
  17270. /*! TXDMAEN - IP TX FIFO filling by DMA enabled.
  17271. * 0b0..IP TX FIFO would be filled by processor.
  17272. * 0b1..IP TX FIFO would be filled by DMA.
  17273. */
  17274. #define FLEXSPI_IPTXFCR_TXDMAEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFCR_TXDMAEN_SHIFT)) & FLEXSPI_IPTXFCR_TXDMAEN_MASK)
  17275. #define FLEXSPI_IPTXFCR_TXWMRK_MASK (0x3CU)
  17276. #define FLEXSPI_IPTXFCR_TXWMRK_SHIFT (2U)
  17277. /*! TXWMRK - Watermark level is (TXWMRK+1)*64 Bits.
  17278. */
  17279. #define FLEXSPI_IPTXFCR_TXWMRK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFCR_TXWMRK_SHIFT)) & FLEXSPI_IPTXFCR_TXWMRK_MASK)
  17280. /*! @} */
  17281. /*! @name DLLCR - DLL Control Register 0 */
  17282. /*! @{ */
  17283. #define FLEXSPI_DLLCR_DLLEN_MASK (0x1U)
  17284. #define FLEXSPI_DLLCR_DLLEN_SHIFT (0U)
  17285. /*! DLLEN - DLL calibration enable.
  17286. */
  17287. #define FLEXSPI_DLLCR_DLLEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_DLLEN_SHIFT)) & FLEXSPI_DLLCR_DLLEN_MASK)
  17288. #define FLEXSPI_DLLCR_DLLRESET_MASK (0x2U)
  17289. #define FLEXSPI_DLLCR_DLLRESET_SHIFT (1U)
  17290. /*! DLLRESET - Software could force a reset on DLL by setting this field to 0x1. This will cause the
  17291. * DLL to lose lock and re-calibrate to detect an ref_clock half period phase shift. The reset
  17292. * action is edge triggered, so software need to clear this bit after set this bit (no delay
  17293. * limitation).
  17294. */
  17295. #define FLEXSPI_DLLCR_DLLRESET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_DLLRESET_SHIFT)) & FLEXSPI_DLLCR_DLLRESET_MASK)
  17296. #define FLEXSPI_DLLCR_SLVDLYTARGET_MASK (0x78U)
  17297. #define FLEXSPI_DLLCR_SLVDLYTARGET_SHIFT (3U)
  17298. /*! SLVDLYTARGET - The delay target for slave delay line is: ((SLVDLYTARGET+1) * 1/32 * clock cycle
  17299. * of reference clock (serial root clock). If serial root clock is >= 100 MHz, DLLEN set to 0x1,
  17300. * OVRDEN set to =0x0, then SLVDLYTARGET setting of 0xF is recommended.
  17301. */
  17302. #define FLEXSPI_DLLCR_SLVDLYTARGET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_SLVDLYTARGET_SHIFT)) & FLEXSPI_DLLCR_SLVDLYTARGET_MASK)
  17303. #define FLEXSPI_DLLCR_OVRDEN_MASK (0x100U)
  17304. #define FLEXSPI_DLLCR_OVRDEN_SHIFT (8U)
  17305. /*! OVRDEN - Slave clock delay line delay cell number selection override enable.
  17306. */
  17307. #define FLEXSPI_DLLCR_OVRDEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_OVRDEN_SHIFT)) & FLEXSPI_DLLCR_OVRDEN_MASK)
  17308. #define FLEXSPI_DLLCR_OVRDVAL_MASK (0x7E00U)
  17309. #define FLEXSPI_DLLCR_OVRDVAL_SHIFT (9U)
  17310. /*! OVRDVAL - Slave clock delay line delay cell number selection override value.
  17311. */
  17312. #define FLEXSPI_DLLCR_OVRDVAL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_OVRDVAL_SHIFT)) & FLEXSPI_DLLCR_OVRDVAL_MASK)
  17313. /*! @} */
  17314. /* The count of FLEXSPI_DLLCR */
  17315. #define FLEXSPI_DLLCR_COUNT (2U)
  17316. /*! @name STS0 - Status Register 0 */
  17317. /*! @{ */
  17318. #define FLEXSPI_STS0_SEQIDLE_MASK (0x1U)
  17319. #define FLEXSPI_STS0_SEQIDLE_SHIFT (0U)
  17320. /*! SEQIDLE - This status bit indicates the state machine in SEQ_CTL is idle and there is command
  17321. * sequence executing on FlexSPI interface.
  17322. */
  17323. #define FLEXSPI_STS0_SEQIDLE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_SEQIDLE_SHIFT)) & FLEXSPI_STS0_SEQIDLE_MASK)
  17324. #define FLEXSPI_STS0_ARBIDLE_MASK (0x2U)
  17325. #define FLEXSPI_STS0_ARBIDLE_SHIFT (1U)
  17326. /*! ARBIDLE - This status bit indicates the state machine in ARB_CTL is busy and there is command
  17327. * sequence granted by arbitrator and not finished yet on FlexSPI interface. When ARB_CTL state
  17328. * (ARBIDLE=0x1) is idle, there will be no transaction on FlexSPI interface also (SEQIDLE=0x1). So
  17329. * this bit should be polled to wait for FlexSPI controller become idle instead of SEQIDLE.
  17330. */
  17331. #define FLEXSPI_STS0_ARBIDLE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_ARBIDLE_SHIFT)) & FLEXSPI_STS0_ARBIDLE_MASK)
  17332. #define FLEXSPI_STS0_ARBCMDSRC_MASK (0xCU)
  17333. #define FLEXSPI_STS0_ARBCMDSRC_SHIFT (2U)
  17334. /*! ARBCMDSRC - This status field indicates the trigger source of current command sequence granted
  17335. * by arbitrator. This field value is meaningless when ARB_CTL is not busy (STS0[ARBIDLE]=0x1).
  17336. * 0b00..Triggered by AHB read command (triggered by AHB read).
  17337. * 0b01..Triggered by AHB write command (triggered by AHB Write).
  17338. * 0b10..Triggered by IP command (triggered by setting register bit IPCMD.TRG).
  17339. * 0b11..Triggered by suspended command (resumed).
  17340. */
  17341. #define FLEXSPI_STS0_ARBCMDSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_ARBCMDSRC_SHIFT)) & FLEXSPI_STS0_ARBCMDSRC_MASK)
  17342. /*! @} */
  17343. /*! @name STS1 - Status Register 1 */
  17344. /*! @{ */
  17345. #define FLEXSPI_STS1_AHBCMDERRID_MASK (0xFU)
  17346. #define FLEXSPI_STS1_AHBCMDERRID_SHIFT (0U)
  17347. /*! AHBCMDERRID - Indicates the sequence index when an AHB command error is detected. This field
  17348. * will be cleared when INTR[AHBCMDERR] is write-1-clear(w1c).
  17349. */
  17350. #define FLEXSPI_STS1_AHBCMDERRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_AHBCMDERRID_SHIFT)) & FLEXSPI_STS1_AHBCMDERRID_MASK)
  17351. #define FLEXSPI_STS1_AHBCMDERRCODE_MASK (0xF00U)
  17352. #define FLEXSPI_STS1_AHBCMDERRCODE_SHIFT (8U)
  17353. /*! AHBCMDERRCODE - Indicates the Error Code when AHB command Error detected. This field will be
  17354. * cleared when INTR[AHBCMDERR] is write-1-clear(w1c).
  17355. * 0b0000..No error.
  17356. * 0b0010..AHB Write command with JMP_ON_CS instruction used in the sequence.
  17357. * 0b0011..There is unknown instruction opcode in the sequence.
  17358. * 0b0100..Instruction DUMMY_SDR/DUMMY_RWDS_SDR used in DDR sequence.
  17359. * 0b0101..Instruction DUMMY_DDR/DUMMY_RWDS_DDR used in SDR sequence.
  17360. * 0b1110..Sequence execution timeout.
  17361. */
  17362. #define FLEXSPI_STS1_AHBCMDERRCODE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_AHBCMDERRCODE_SHIFT)) & FLEXSPI_STS1_AHBCMDERRCODE_MASK)
  17363. #define FLEXSPI_STS1_IPCMDERRID_MASK (0xF0000U)
  17364. #define FLEXSPI_STS1_IPCMDERRID_SHIFT (16U)
  17365. /*! IPCMDERRID - Indicates the sequence Index when IP command error detected. This field will be
  17366. * cleared when INTR[IPCMDERR] is write-1-clear(w1c).
  17367. */
  17368. #define FLEXSPI_STS1_IPCMDERRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_IPCMDERRID_SHIFT)) & FLEXSPI_STS1_IPCMDERRID_MASK)
  17369. #define FLEXSPI_STS1_IPCMDERRCODE_MASK (0xF000000U)
  17370. #define FLEXSPI_STS1_IPCMDERRCODE_SHIFT (24U)
  17371. /*! IPCMDERRCODE - Indicates the Error Code when IP command Error detected. This field will be
  17372. * cleared when INTR[IPCMDERR] is write-1-clear(w1c).
  17373. * 0b0000..No error.
  17374. * 0b0010..IP command with JMP_ON_CS instruction used in the sequence.
  17375. * 0b0011..There is unknown instruction opcode in the sequence.
  17376. * 0b0100..Instruction DUMMY_SDR/DUMMY_RWDS_SDR used in DDR sequence.
  17377. * 0b0101..Instruction DUMMY_DDR/DUMMY_RWDS_DDR used in SDR sequence.
  17378. * 0b0110..Flash access start address exceed the whole flash address range (A1/A2/B1/B2).
  17379. * 0b1110..Sequence execution timeout.
  17380. * 0b1111..Flash boundary crossed.
  17381. */
  17382. #define FLEXSPI_STS1_IPCMDERRCODE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_IPCMDERRCODE_SHIFT)) & FLEXSPI_STS1_IPCMDERRCODE_MASK)
  17383. /*! @} */
  17384. /*! @name STS2 - Status Register 2 */
  17385. /*! @{ */
  17386. #define FLEXSPI_STS2_ASLVLOCK_MASK (0x1U)
  17387. #define FLEXSPI_STS2_ASLVLOCK_SHIFT (0U)
  17388. /*! ASLVLOCK - Flash A sample clock slave delay line locked.
  17389. */
  17390. #define FLEXSPI_STS2_ASLVLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_ASLVLOCK_SHIFT)) & FLEXSPI_STS2_ASLVLOCK_MASK)
  17391. #define FLEXSPI_STS2_AREFLOCK_MASK (0x2U)
  17392. #define FLEXSPI_STS2_AREFLOCK_SHIFT (1U)
  17393. /*! AREFLOCK - Flash A sample clock reference delay line locked.
  17394. */
  17395. #define FLEXSPI_STS2_AREFLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_AREFLOCK_SHIFT)) & FLEXSPI_STS2_AREFLOCK_MASK)
  17396. #define FLEXSPI_STS2_ASLVSEL_MASK (0xFCU)
  17397. #define FLEXSPI_STS2_ASLVSEL_SHIFT (2U)
  17398. /*! ASLVSEL - Flash A sample clock slave delay line delay cell number selection .
  17399. */
  17400. #define FLEXSPI_STS2_ASLVSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_ASLVSEL_SHIFT)) & FLEXSPI_STS2_ASLVSEL_MASK)
  17401. #define FLEXSPI_STS2_AREFSEL_MASK (0x3F00U)
  17402. #define FLEXSPI_STS2_AREFSEL_SHIFT (8U)
  17403. /*! AREFSEL - Flash A sample clock reference delay line delay cell number selection.
  17404. */
  17405. #define FLEXSPI_STS2_AREFSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_AREFSEL_SHIFT)) & FLEXSPI_STS2_AREFSEL_MASK)
  17406. #define FLEXSPI_STS2_BSLVLOCK_MASK (0x10000U)
  17407. #define FLEXSPI_STS2_BSLVLOCK_SHIFT (16U)
  17408. /*! BSLVLOCK - Flash B sample clock slave delay line locked.
  17409. */
  17410. #define FLEXSPI_STS2_BSLVLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BSLVLOCK_SHIFT)) & FLEXSPI_STS2_BSLVLOCK_MASK)
  17411. #define FLEXSPI_STS2_BREFLOCK_MASK (0x20000U)
  17412. #define FLEXSPI_STS2_BREFLOCK_SHIFT (17U)
  17413. /*! BREFLOCK - Flash B sample clock reference delay line locked.
  17414. */
  17415. #define FLEXSPI_STS2_BREFLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BREFLOCK_SHIFT)) & FLEXSPI_STS2_BREFLOCK_MASK)
  17416. #define FLEXSPI_STS2_BSLVSEL_MASK (0xFC0000U)
  17417. #define FLEXSPI_STS2_BSLVSEL_SHIFT (18U)
  17418. /*! BSLVSEL - Flash B sample clock slave delay line delay cell number selection.
  17419. */
  17420. #define FLEXSPI_STS2_BSLVSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BSLVSEL_SHIFT)) & FLEXSPI_STS2_BSLVSEL_MASK)
  17421. #define FLEXSPI_STS2_BREFSEL_MASK (0x3F000000U)
  17422. #define FLEXSPI_STS2_BREFSEL_SHIFT (24U)
  17423. /*! BREFSEL - Flash B sample clock reference delay line delay cell number selection.
  17424. */
  17425. #define FLEXSPI_STS2_BREFSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BREFSEL_SHIFT)) & FLEXSPI_STS2_BREFSEL_MASK)
  17426. /*! @} */
  17427. /*! @name AHBSPNDSTS - AHB Suspend Status Register */
  17428. /*! @{ */
  17429. #define FLEXSPI_AHBSPNDSTS_ACTIVE_MASK (0x1U)
  17430. #define FLEXSPI_AHBSPNDSTS_ACTIVE_SHIFT (0U)
  17431. /*! ACTIVE - Indicates if an AHB read prefetch command sequence has been suspended.
  17432. */
  17433. #define FLEXSPI_AHBSPNDSTS_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBSPNDSTS_ACTIVE_SHIFT)) & FLEXSPI_AHBSPNDSTS_ACTIVE_MASK)
  17434. #define FLEXSPI_AHBSPNDSTS_BUFID_MASK (0xEU)
  17435. #define FLEXSPI_AHBSPNDSTS_BUFID_SHIFT (1U)
  17436. /*! BUFID - AHB RX BUF ID for suspended command sequence.
  17437. */
  17438. #define FLEXSPI_AHBSPNDSTS_BUFID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBSPNDSTS_BUFID_SHIFT)) & FLEXSPI_AHBSPNDSTS_BUFID_MASK)
  17439. #define FLEXSPI_AHBSPNDSTS_DATLFT_MASK (0xFFFF0000U)
  17440. #define FLEXSPI_AHBSPNDSTS_DATLFT_SHIFT (16U)
  17441. /*! DATLFT - Left Data size for suspended command sequence (in byte).
  17442. */
  17443. #define FLEXSPI_AHBSPNDSTS_DATLFT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBSPNDSTS_DATLFT_SHIFT)) & FLEXSPI_AHBSPNDSTS_DATLFT_MASK)
  17444. /*! @} */
  17445. /*! @name IPRXFSTS - IP RX FIFO Status Register */
  17446. /*! @{ */
  17447. #define FLEXSPI_IPRXFSTS_FILL_MASK (0xFFU)
  17448. #define FLEXSPI_IPRXFSTS_FILL_SHIFT (0U)
  17449. /*! FILL - Fill level of IP RX FIFO.
  17450. */
  17451. #define FLEXSPI_IPRXFSTS_FILL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFSTS_FILL_SHIFT)) & FLEXSPI_IPRXFSTS_FILL_MASK)
  17452. #define FLEXSPI_IPRXFSTS_RDCNTR_MASK (0xFFFF0000U)
  17453. #define FLEXSPI_IPRXFSTS_RDCNTR_SHIFT (16U)
  17454. /*! RDCNTR - Total Read Data Counter: RDCNTR * 64 Bits.
  17455. */
  17456. #define FLEXSPI_IPRXFSTS_RDCNTR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFSTS_RDCNTR_SHIFT)) & FLEXSPI_IPRXFSTS_RDCNTR_MASK)
  17457. /*! @} */
  17458. /*! @name IPTXFSTS - IP TX FIFO Status Register */
  17459. /*! @{ */
  17460. #define FLEXSPI_IPTXFSTS_FILL_MASK (0xFFU)
  17461. #define FLEXSPI_IPTXFSTS_FILL_SHIFT (0U)
  17462. /*! FILL - Fill level of IP TX FIFO.
  17463. */
  17464. #define FLEXSPI_IPTXFSTS_FILL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFSTS_FILL_SHIFT)) & FLEXSPI_IPTXFSTS_FILL_MASK)
  17465. #define FLEXSPI_IPTXFSTS_WRCNTR_MASK (0xFFFF0000U)
  17466. #define FLEXSPI_IPTXFSTS_WRCNTR_SHIFT (16U)
  17467. /*! WRCNTR - Total Write Data Counter: WRCNTR * 64 Bits.
  17468. */
  17469. #define FLEXSPI_IPTXFSTS_WRCNTR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFSTS_WRCNTR_SHIFT)) & FLEXSPI_IPTXFSTS_WRCNTR_MASK)
  17470. /*! @} */
  17471. /*! @name RFDR - IP RX FIFO Data Register 0..IP RX FIFO Data Register 31 */
  17472. /*! @{ */
  17473. #define FLEXSPI_RFDR_RXDATA_MASK (0xFFFFFFFFU)
  17474. #define FLEXSPI_RFDR_RXDATA_SHIFT (0U)
  17475. /*! RXDATA - RX Data
  17476. */
  17477. #define FLEXSPI_RFDR_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_RFDR_RXDATA_SHIFT)) & FLEXSPI_RFDR_RXDATA_MASK)
  17478. /*! @} */
  17479. /* The count of FLEXSPI_RFDR */
  17480. #define FLEXSPI_RFDR_COUNT (32U)
  17481. /*! @name TFDR - IP TX FIFO Data Register 0..IP TX FIFO Data Register 31 */
  17482. /*! @{ */
  17483. #define FLEXSPI_TFDR_TXDATA_MASK (0xFFFFFFFFU)
  17484. #define FLEXSPI_TFDR_TXDATA_SHIFT (0U)
  17485. /*! TXDATA - TX Data
  17486. */
  17487. #define FLEXSPI_TFDR_TXDATA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_TFDR_TXDATA_SHIFT)) & FLEXSPI_TFDR_TXDATA_MASK)
  17488. /*! @} */
  17489. /* The count of FLEXSPI_TFDR */
  17490. #define FLEXSPI_TFDR_COUNT (32U)
  17491. /*! @name LUT - LUT 0..LUT 63 */
  17492. /*! @{ */
  17493. #define FLEXSPI_LUT_OPERAND0_MASK (0xFFU)
  17494. #define FLEXSPI_LUT_OPERAND0_SHIFT (0U)
  17495. /*! OPERAND0 - OPERAND0
  17496. */
  17497. #define FLEXSPI_LUT_OPERAND0(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPERAND0_SHIFT)) & FLEXSPI_LUT_OPERAND0_MASK)
  17498. #define FLEXSPI_LUT_NUM_PADS0_MASK (0x300U)
  17499. #define FLEXSPI_LUT_NUM_PADS0_SHIFT (8U)
  17500. /*! NUM_PADS0 - NUM_PADS0
  17501. */
  17502. #define FLEXSPI_LUT_NUM_PADS0(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_NUM_PADS0_SHIFT)) & FLEXSPI_LUT_NUM_PADS0_MASK)
  17503. #define FLEXSPI_LUT_OPCODE0_MASK (0xFC00U)
  17504. #define FLEXSPI_LUT_OPCODE0_SHIFT (10U)
  17505. /*! OPCODE0 - OPCODE
  17506. */
  17507. #define FLEXSPI_LUT_OPCODE0(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPCODE0_SHIFT)) & FLEXSPI_LUT_OPCODE0_MASK)
  17508. #define FLEXSPI_LUT_OPERAND1_MASK (0xFF0000U)
  17509. #define FLEXSPI_LUT_OPERAND1_SHIFT (16U)
  17510. /*! OPERAND1 - OPERAND1
  17511. */
  17512. #define FLEXSPI_LUT_OPERAND1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPERAND1_SHIFT)) & FLEXSPI_LUT_OPERAND1_MASK)
  17513. #define FLEXSPI_LUT_NUM_PADS1_MASK (0x3000000U)
  17514. #define FLEXSPI_LUT_NUM_PADS1_SHIFT (24U)
  17515. /*! NUM_PADS1 - NUM_PADS1
  17516. */
  17517. #define FLEXSPI_LUT_NUM_PADS1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_NUM_PADS1_SHIFT)) & FLEXSPI_LUT_NUM_PADS1_MASK)
  17518. #define FLEXSPI_LUT_OPCODE1_MASK (0xFC000000U)
  17519. #define FLEXSPI_LUT_OPCODE1_SHIFT (26U)
  17520. /*! OPCODE1 - OPCODE1
  17521. */
  17522. #define FLEXSPI_LUT_OPCODE1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPCODE1_SHIFT)) & FLEXSPI_LUT_OPCODE1_MASK)
  17523. /*! @} */
  17524. /* The count of FLEXSPI_LUT */
  17525. #define FLEXSPI_LUT_COUNT (64U)
  17526. /*!
  17527. * @}
  17528. */ /* end of group FLEXSPI_Register_Masks */
  17529. /* FLEXSPI - Peripheral instance base addresses */
  17530. /** Peripheral FLEXSPI base address */
  17531. #define FLEXSPI_BASE (0x402A8000u)
  17532. /** Peripheral FLEXSPI base pointer */
  17533. #define FLEXSPI ((FLEXSPI_Type *)FLEXSPI_BASE)
  17534. /** Array initializer of FLEXSPI peripheral base addresses */
  17535. #define FLEXSPI_BASE_ADDRS { FLEXSPI_BASE }
  17536. /** Array initializer of FLEXSPI peripheral base pointers */
  17537. #define FLEXSPI_BASE_PTRS { FLEXSPI }
  17538. /** Interrupt vectors for the FLEXSPI peripheral type */
  17539. #define FLEXSPI_IRQS { FLEXSPI_IRQn }
  17540. /* FlexSPI AMBA address. */
  17541. #define FlexSPI_AMBA_BASE (0x60000000U)
  17542. /* FlexSPI ASFM address. */
  17543. #define FlexSPI_ASFM_BASE (0x60000000U)
  17544. /* Base Address of AHB address space mapped to IP RX FIFO. */
  17545. #define FlexSPI_ARDF_BASE (0x7FC00000U)
  17546. /* Base Address of AHB address space mapped to IP TX FIFO. */
  17547. #define FlexSPI_ATDF_BASE (0x7F800000U)
  17548. /*!
  17549. * @}
  17550. */ /* end of group FLEXSPI_Peripheral_Access_Layer */
  17551. /* ----------------------------------------------------------------------------
  17552. -- GPC Peripheral Access Layer
  17553. ---------------------------------------------------------------------------- */
  17554. /*!
  17555. * @addtogroup GPC_Peripheral_Access_Layer GPC Peripheral Access Layer
  17556. * @{
  17557. */
  17558. /** GPC - Register Layout Typedef */
  17559. typedef struct {
  17560. __IO uint32_t CNTR; /**< GPC Interface control register, offset: 0x0 */
  17561. uint8_t RESERVED_0[4];
  17562. __IO uint32_t IMR[4]; /**< IRQ masking register 1..IRQ masking register 4, array offset: 0x8, array step: 0x4 */
  17563. __I uint32_t ISR[4]; /**< IRQ status resister 1..IRQ status resister 4, array offset: 0x18, array step: 0x4 */
  17564. uint8_t RESERVED_1[12];
  17565. __IO uint32_t IMR5; /**< IRQ masking register 5, offset: 0x34 */
  17566. __I uint32_t ISR5; /**< IRQ status resister 5, offset: 0x38 */
  17567. } GPC_Type;
  17568. /* ----------------------------------------------------------------------------
  17569. -- GPC Register Masks
  17570. ---------------------------------------------------------------------------- */
  17571. /*!
  17572. * @addtogroup GPC_Register_Masks GPC Register Masks
  17573. * @{
  17574. */
  17575. /*! @name CNTR - GPC Interface control register */
  17576. /*! @{ */
  17577. #define GPC_CNTR_MEGA_PDN_REQ_MASK (0x4U)
  17578. #define GPC_CNTR_MEGA_PDN_REQ_SHIFT (2U)
  17579. /*! MEGA_PDN_REQ
  17580. * 0b0..No Request
  17581. * 0b1..Request power down sequence
  17582. */
  17583. #define GPC_CNTR_MEGA_PDN_REQ(x) (((uint32_t)(((uint32_t)(x)) << GPC_CNTR_MEGA_PDN_REQ_SHIFT)) & GPC_CNTR_MEGA_PDN_REQ_MASK)
  17584. #define GPC_CNTR_MEGA_PUP_REQ_MASK (0x8U)
  17585. #define GPC_CNTR_MEGA_PUP_REQ_SHIFT (3U)
  17586. /*! MEGA_PUP_REQ
  17587. * 0b0..No Request
  17588. * 0b1..Request power up sequence
  17589. */
  17590. #define GPC_CNTR_MEGA_PUP_REQ(x) (((uint32_t)(((uint32_t)(x)) << GPC_CNTR_MEGA_PUP_REQ_SHIFT)) & GPC_CNTR_MEGA_PUP_REQ_MASK)
  17591. #define GPC_CNTR_PDRAM0_PGE_MASK (0x400000U)
  17592. #define GPC_CNTR_PDRAM0_PGE_SHIFT (22U)
  17593. /*! PDRAM0_PGE
  17594. * 0b1..FlexRAM PDRAM0 domain will be powered down when the CPU core is powered down..
  17595. * 0b0..FlexRAM PDRAM0 domain will keep power even if the CPU core is powered down.
  17596. */
  17597. #define GPC_CNTR_PDRAM0_PGE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CNTR_PDRAM0_PGE_SHIFT)) & GPC_CNTR_PDRAM0_PGE_MASK)
  17598. /*! @} */
  17599. /*! @name IMR - IRQ masking register 1..IRQ masking register 4 */
  17600. /*! @{ */
  17601. #define GPC_IMR_IMR1_MASK (0xFFFFFFFFU)
  17602. #define GPC_IMR_IMR1_SHIFT (0U)
  17603. #define GPC_IMR_IMR1(x) (((uint32_t)(((uint32_t)(x)) << GPC_IMR_IMR1_SHIFT)) & GPC_IMR_IMR1_MASK)
  17604. #define GPC_IMR_IMR2_MASK (0xFFFFFFFFU)
  17605. #define GPC_IMR_IMR2_SHIFT (0U)
  17606. #define GPC_IMR_IMR2(x) (((uint32_t)(((uint32_t)(x)) << GPC_IMR_IMR2_SHIFT)) & GPC_IMR_IMR2_MASK)
  17607. #define GPC_IMR_IMR3_MASK (0xFFFFFFFFU)
  17608. #define GPC_IMR_IMR3_SHIFT (0U)
  17609. #define GPC_IMR_IMR3(x) (((uint32_t)(((uint32_t)(x)) << GPC_IMR_IMR3_SHIFT)) & GPC_IMR_IMR3_MASK)
  17610. #define GPC_IMR_IMR4_MASK (0xFFFFFFFFU)
  17611. #define GPC_IMR_IMR4_SHIFT (0U)
  17612. #define GPC_IMR_IMR4(x) (((uint32_t)(((uint32_t)(x)) << GPC_IMR_IMR4_SHIFT)) & GPC_IMR_IMR4_MASK)
  17613. /*! @} */
  17614. /* The count of GPC_IMR */
  17615. #define GPC_IMR_COUNT (4U)
  17616. /*! @name ISR - IRQ status resister 1..IRQ status resister 4 */
  17617. /*! @{ */
  17618. #define GPC_ISR_ISR1_MASK (0xFFFFFFFFU)
  17619. #define GPC_ISR_ISR1_SHIFT (0U)
  17620. #define GPC_ISR_ISR1(x) (((uint32_t)(((uint32_t)(x)) << GPC_ISR_ISR1_SHIFT)) & GPC_ISR_ISR1_MASK)
  17621. #define GPC_ISR_ISR2_MASK (0xFFFFFFFFU)
  17622. #define GPC_ISR_ISR2_SHIFT (0U)
  17623. #define GPC_ISR_ISR2(x) (((uint32_t)(((uint32_t)(x)) << GPC_ISR_ISR2_SHIFT)) & GPC_ISR_ISR2_MASK)
  17624. #define GPC_ISR_ISR3_MASK (0xFFFFFFFFU)
  17625. #define GPC_ISR_ISR3_SHIFT (0U)
  17626. #define GPC_ISR_ISR3(x) (((uint32_t)(((uint32_t)(x)) << GPC_ISR_ISR3_SHIFT)) & GPC_ISR_ISR3_MASK)
  17627. #define GPC_ISR_ISR4_MASK (0xFFFFFFFFU)
  17628. #define GPC_ISR_ISR4_SHIFT (0U)
  17629. #define GPC_ISR_ISR4(x) (((uint32_t)(((uint32_t)(x)) << GPC_ISR_ISR4_SHIFT)) & GPC_ISR_ISR4_MASK)
  17630. /*! @} */
  17631. /* The count of GPC_ISR */
  17632. #define GPC_ISR_COUNT (4U)
  17633. /*! @name IMR5 - IRQ masking register 5 */
  17634. /*! @{ */
  17635. #define GPC_IMR5_IMR5_MASK (0xFFFFFFFFU)
  17636. #define GPC_IMR5_IMR5_SHIFT (0U)
  17637. #define GPC_IMR5_IMR5(x) (((uint32_t)(((uint32_t)(x)) << GPC_IMR5_IMR5_SHIFT)) & GPC_IMR5_IMR5_MASK)
  17638. /*! @} */
  17639. /*! @name ISR5 - IRQ status resister 5 */
  17640. /*! @{ */
  17641. #define GPC_ISR5_ISR5_MASK (0xFFFFFFFFU)
  17642. #define GPC_ISR5_ISR5_SHIFT (0U)
  17643. #define GPC_ISR5_ISR5(x) (((uint32_t)(((uint32_t)(x)) << GPC_ISR5_ISR5_SHIFT)) & GPC_ISR5_ISR5_MASK)
  17644. /*! @} */
  17645. /*!
  17646. * @}
  17647. */ /* end of group GPC_Register_Masks */
  17648. /* GPC - Peripheral instance base addresses */
  17649. /** Peripheral GPC base address */
  17650. #define GPC_BASE (0x400F4000u)
  17651. /** Peripheral GPC base pointer */
  17652. #define GPC ((GPC_Type *)GPC_BASE)
  17653. /** Array initializer of GPC peripheral base addresses */
  17654. #define GPC_BASE_ADDRS { GPC_BASE }
  17655. /** Array initializer of GPC peripheral base pointers */
  17656. #define GPC_BASE_PTRS { GPC }
  17657. /** Interrupt vectors for the GPC peripheral type */
  17658. #define GPC_IRQS { GPC_IRQn }
  17659. /*!
  17660. * @}
  17661. */ /* end of group GPC_Peripheral_Access_Layer */
  17662. /* ----------------------------------------------------------------------------
  17663. -- GPIO Peripheral Access Layer
  17664. ---------------------------------------------------------------------------- */
  17665. /*!
  17666. * @addtogroup GPIO_Peripheral_Access_Layer GPIO Peripheral Access Layer
  17667. * @{
  17668. */
  17669. /** GPIO - Register Layout Typedef */
  17670. typedef struct {
  17671. __IO uint32_t DR; /**< GPIO data register, offset: 0x0 */
  17672. __IO uint32_t GDIR; /**< GPIO direction register, offset: 0x4 */
  17673. __I uint32_t PSR; /**< GPIO pad status register, offset: 0x8 */
  17674. __IO uint32_t ICR1; /**< GPIO interrupt configuration register1, offset: 0xC */
  17675. __IO uint32_t ICR2; /**< GPIO interrupt configuration register2, offset: 0x10 */
  17676. __IO uint32_t IMR; /**< GPIO interrupt mask register, offset: 0x14 */
  17677. __IO uint32_t ISR; /**< GPIO interrupt status register, offset: 0x18 */
  17678. __IO uint32_t EDGE_SEL; /**< GPIO edge select register, offset: 0x1C */
  17679. uint8_t RESERVED_0[100];
  17680. __O uint32_t DR_SET; /**< GPIO data register SET, offset: 0x84 */
  17681. __O uint32_t DR_CLEAR; /**< GPIO data register CLEAR, offset: 0x88 */
  17682. __O uint32_t DR_TOGGLE; /**< GPIO data register TOGGLE, offset: 0x8C */
  17683. } GPIO_Type;
  17684. /* ----------------------------------------------------------------------------
  17685. -- GPIO Register Masks
  17686. ---------------------------------------------------------------------------- */
  17687. /*!
  17688. * @addtogroup GPIO_Register_Masks GPIO Register Masks
  17689. * @{
  17690. */
  17691. /*! @name DR - GPIO data register */
  17692. /*! @{ */
  17693. #define GPIO_DR_DR_MASK (0xFFFFFFFFU)
  17694. #define GPIO_DR_DR_SHIFT (0U)
  17695. /*! DR - DR data bits
  17696. */
  17697. #define GPIO_DR_DR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DR_DR_SHIFT)) & GPIO_DR_DR_MASK)
  17698. /*! @} */
  17699. /*! @name GDIR - GPIO direction register */
  17700. /*! @{ */
  17701. #define GPIO_GDIR_GDIR_MASK (0xFFFFFFFFU)
  17702. #define GPIO_GDIR_GDIR_SHIFT (0U)
  17703. /*! GDIR - GPIO direction bits
  17704. */
  17705. #define GPIO_GDIR_GDIR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_GDIR_GDIR_SHIFT)) & GPIO_GDIR_GDIR_MASK)
  17706. /*! @} */
  17707. /*! @name PSR - GPIO pad status register */
  17708. /*! @{ */
  17709. #define GPIO_PSR_PSR_MASK (0xFFFFFFFFU)
  17710. #define GPIO_PSR_PSR_SHIFT (0U)
  17711. /*! PSR - GPIO pad status bits
  17712. */
  17713. #define GPIO_PSR_PSR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_PSR_PSR_SHIFT)) & GPIO_PSR_PSR_MASK)
  17714. /*! @} */
  17715. /*! @name ICR1 - GPIO interrupt configuration register1 */
  17716. /*! @{ */
  17717. #define GPIO_ICR1_ICR0_MASK (0x3U)
  17718. #define GPIO_ICR1_ICR0_SHIFT (0U)
  17719. /*! ICR0 - Interrupt configuration field for GPIO interrupt 0
  17720. * 0b00..Interrupt 0 is low-level sensitive.
  17721. * 0b01..Interrupt 0 is high-level sensitive.
  17722. * 0b10..Interrupt 0 is rising-edge sensitive.
  17723. * 0b11..Interrupt 0 is falling-edge sensitive.
  17724. */
  17725. #define GPIO_ICR1_ICR0(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR0_SHIFT)) & GPIO_ICR1_ICR0_MASK)
  17726. #define GPIO_ICR1_ICR1_MASK (0xCU)
  17727. #define GPIO_ICR1_ICR1_SHIFT (2U)
  17728. /*! ICR1 - Interrupt configuration field for GPIO interrupt 1
  17729. * 0b00..Interrupt 1 is low-level sensitive.
  17730. * 0b01..Interrupt 1 is high-level sensitive.
  17731. * 0b10..Interrupt 1 is rising-edge sensitive.
  17732. * 0b11..Interrupt 1 is falling-edge sensitive.
  17733. */
  17734. #define GPIO_ICR1_ICR1(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR1_SHIFT)) & GPIO_ICR1_ICR1_MASK)
  17735. #define GPIO_ICR1_ICR2_MASK (0x30U)
  17736. #define GPIO_ICR1_ICR2_SHIFT (4U)
  17737. /*! ICR2 - Interrupt configuration field for GPIO interrupt 2
  17738. * 0b00..Interrupt 2 is low-level sensitive.
  17739. * 0b01..Interrupt 2 is high-level sensitive.
  17740. * 0b10..Interrupt 2 is rising-edge sensitive.
  17741. * 0b11..Interrupt 2 is falling-edge sensitive.
  17742. */
  17743. #define GPIO_ICR1_ICR2(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR2_SHIFT)) & GPIO_ICR1_ICR2_MASK)
  17744. #define GPIO_ICR1_ICR3_MASK (0xC0U)
  17745. #define GPIO_ICR1_ICR3_SHIFT (6U)
  17746. /*! ICR3 - Interrupt configuration field for GPIO interrupt 3
  17747. * 0b00..Interrupt 3 is low-level sensitive.
  17748. * 0b01..Interrupt 3 is high-level sensitive.
  17749. * 0b10..Interrupt 3 is rising-edge sensitive.
  17750. * 0b11..Interrupt 3 is falling-edge sensitive.
  17751. */
  17752. #define GPIO_ICR1_ICR3(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR3_SHIFT)) & GPIO_ICR1_ICR3_MASK)
  17753. #define GPIO_ICR1_ICR4_MASK (0x300U)
  17754. #define GPIO_ICR1_ICR4_SHIFT (8U)
  17755. /*! ICR4 - Interrupt configuration field for GPIO interrupt 4
  17756. * 0b00..Interrupt 4 is low-level sensitive.
  17757. * 0b01..Interrupt 4 is high-level sensitive.
  17758. * 0b10..Interrupt 4 is rising-edge sensitive.
  17759. * 0b11..Interrupt 4 is falling-edge sensitive.
  17760. */
  17761. #define GPIO_ICR1_ICR4(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR4_SHIFT)) & GPIO_ICR1_ICR4_MASK)
  17762. #define GPIO_ICR1_ICR5_MASK (0xC00U)
  17763. #define GPIO_ICR1_ICR5_SHIFT (10U)
  17764. /*! ICR5 - Interrupt configuration field for GPIO interrupt 5
  17765. * 0b00..Interrupt 5 is low-level sensitive.
  17766. * 0b01..Interrupt 5 is high-level sensitive.
  17767. * 0b10..Interrupt 5 is rising-edge sensitive.
  17768. * 0b11..Interrupt 5 is falling-edge sensitive.
  17769. */
  17770. #define GPIO_ICR1_ICR5(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR5_SHIFT)) & GPIO_ICR1_ICR5_MASK)
  17771. #define GPIO_ICR1_ICR6_MASK (0x3000U)
  17772. #define GPIO_ICR1_ICR6_SHIFT (12U)
  17773. /*! ICR6 - Interrupt configuration field for GPIO interrupt 6
  17774. * 0b00..Interrupt 6 is low-level sensitive.
  17775. * 0b01..Interrupt 6 is high-level sensitive.
  17776. * 0b10..Interrupt 6 is rising-edge sensitive.
  17777. * 0b11..Interrupt 6 is falling-edge sensitive.
  17778. */
  17779. #define GPIO_ICR1_ICR6(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR6_SHIFT)) & GPIO_ICR1_ICR6_MASK)
  17780. #define GPIO_ICR1_ICR7_MASK (0xC000U)
  17781. #define GPIO_ICR1_ICR7_SHIFT (14U)
  17782. /*! ICR7 - Interrupt configuration field for GPIO interrupt 7
  17783. * 0b00..Interrupt 7 is low-level sensitive.
  17784. * 0b01..Interrupt 7 is high-level sensitive.
  17785. * 0b10..Interrupt 7 is rising-edge sensitive.
  17786. * 0b11..Interrupt 7 is falling-edge sensitive.
  17787. */
  17788. #define GPIO_ICR1_ICR7(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR7_SHIFT)) & GPIO_ICR1_ICR7_MASK)
  17789. #define GPIO_ICR1_ICR8_MASK (0x30000U)
  17790. #define GPIO_ICR1_ICR8_SHIFT (16U)
  17791. /*! ICR8 - Interrupt configuration field for GPIO interrupt 8
  17792. * 0b00..Interrupt 8 is low-level sensitive.
  17793. * 0b01..Interrupt 8 is high-level sensitive.
  17794. * 0b10..Interrupt 8 is rising-edge sensitive.
  17795. * 0b11..Interrupt 8 is falling-edge sensitive.
  17796. */
  17797. #define GPIO_ICR1_ICR8(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR8_SHIFT)) & GPIO_ICR1_ICR8_MASK)
  17798. #define GPIO_ICR1_ICR9_MASK (0xC0000U)
  17799. #define GPIO_ICR1_ICR9_SHIFT (18U)
  17800. /*! ICR9 - Interrupt configuration field for GPIO interrupt 9
  17801. * 0b00..Interrupt 9 is low-level sensitive.
  17802. * 0b01..Interrupt 9 is high-level sensitive.
  17803. * 0b10..Interrupt 9 is rising-edge sensitive.
  17804. * 0b11..Interrupt 9 is falling-edge sensitive.
  17805. */
  17806. #define GPIO_ICR1_ICR9(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR9_SHIFT)) & GPIO_ICR1_ICR9_MASK)
  17807. #define GPIO_ICR1_ICR10_MASK (0x300000U)
  17808. #define GPIO_ICR1_ICR10_SHIFT (20U)
  17809. /*! ICR10 - Interrupt configuration field for GPIO interrupt 10
  17810. * 0b00..Interrupt 10 is low-level sensitive.
  17811. * 0b01..Interrupt 10 is high-level sensitive.
  17812. * 0b10..Interrupt 10 is rising-edge sensitive.
  17813. * 0b11..Interrupt 10 is falling-edge sensitive.
  17814. */
  17815. #define GPIO_ICR1_ICR10(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR10_SHIFT)) & GPIO_ICR1_ICR10_MASK)
  17816. #define GPIO_ICR1_ICR11_MASK (0xC00000U)
  17817. #define GPIO_ICR1_ICR11_SHIFT (22U)
  17818. /*! ICR11 - Interrupt configuration field for GPIO interrupt 11
  17819. * 0b00..Interrupt 11 is low-level sensitive.
  17820. * 0b01..Interrupt 11 is high-level sensitive.
  17821. * 0b10..Interrupt 11 is rising-edge sensitive.
  17822. * 0b11..Interrupt 11 is falling-edge sensitive.
  17823. */
  17824. #define GPIO_ICR1_ICR11(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR11_SHIFT)) & GPIO_ICR1_ICR11_MASK)
  17825. #define GPIO_ICR1_ICR12_MASK (0x3000000U)
  17826. #define GPIO_ICR1_ICR12_SHIFT (24U)
  17827. /*! ICR12 - Interrupt configuration field for GPIO interrupt 12
  17828. * 0b00..Interrupt 12 is low-level sensitive.
  17829. * 0b01..Interrupt 12 is high-level sensitive.
  17830. * 0b10..Interrupt 12 is rising-edge sensitive.
  17831. * 0b11..Interrupt 12 is falling-edge sensitive.
  17832. */
  17833. #define GPIO_ICR1_ICR12(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR12_SHIFT)) & GPIO_ICR1_ICR12_MASK)
  17834. #define GPIO_ICR1_ICR13_MASK (0xC000000U)
  17835. #define GPIO_ICR1_ICR13_SHIFT (26U)
  17836. /*! ICR13 - Interrupt configuration field for GPIO interrupt 13
  17837. * 0b00..Interrupt 13 is low-level sensitive.
  17838. * 0b01..Interrupt 13 is high-level sensitive.
  17839. * 0b10..Interrupt 13 is rising-edge sensitive.
  17840. * 0b11..Interrupt 13 is falling-edge sensitive.
  17841. */
  17842. #define GPIO_ICR1_ICR13(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR13_SHIFT)) & GPIO_ICR1_ICR13_MASK)
  17843. #define GPIO_ICR1_ICR14_MASK (0x30000000U)
  17844. #define GPIO_ICR1_ICR14_SHIFT (28U)
  17845. /*! ICR14 - Interrupt configuration field for GPIO interrupt 14
  17846. * 0b00..Interrupt 14 is low-level sensitive.
  17847. * 0b01..Interrupt 14 is high-level sensitive.
  17848. * 0b10..Interrupt 14 is rising-edge sensitive.
  17849. * 0b11..Interrupt 14 is falling-edge sensitive.
  17850. */
  17851. #define GPIO_ICR1_ICR14(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR14_SHIFT)) & GPIO_ICR1_ICR14_MASK)
  17852. #define GPIO_ICR1_ICR15_MASK (0xC0000000U)
  17853. #define GPIO_ICR1_ICR15_SHIFT (30U)
  17854. /*! ICR15 - Interrupt configuration field for GPIO interrupt 15
  17855. * 0b00..Interrupt 15 is low-level sensitive.
  17856. * 0b01..Interrupt 15 is high-level sensitive.
  17857. * 0b10..Interrupt 15 is rising-edge sensitive.
  17858. * 0b11..Interrupt 15 is falling-edge sensitive.
  17859. */
  17860. #define GPIO_ICR1_ICR15(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR15_SHIFT)) & GPIO_ICR1_ICR15_MASK)
  17861. /*! @} */
  17862. /*! @name ICR2 - GPIO interrupt configuration register2 */
  17863. /*! @{ */
  17864. #define GPIO_ICR2_ICR16_MASK (0x3U)
  17865. #define GPIO_ICR2_ICR16_SHIFT (0U)
  17866. /*! ICR16 - Interrupt configuration field for GPIO interrupt 16
  17867. * 0b00..Interrupt 16 is low-level sensitive.
  17868. * 0b01..Interrupt 16 is high-level sensitive.
  17869. * 0b10..Interrupt 16 is rising-edge sensitive.
  17870. * 0b11..Interrupt 16 is falling-edge sensitive.
  17871. */
  17872. #define GPIO_ICR2_ICR16(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR16_SHIFT)) & GPIO_ICR2_ICR16_MASK)
  17873. #define GPIO_ICR2_ICR17_MASK (0xCU)
  17874. #define GPIO_ICR2_ICR17_SHIFT (2U)
  17875. /*! ICR17 - Interrupt configuration field for GPIO interrupt 17
  17876. * 0b00..Interrupt 17 is low-level sensitive.
  17877. * 0b01..Interrupt 17 is high-level sensitive.
  17878. * 0b10..Interrupt 17 is rising-edge sensitive.
  17879. * 0b11..Interrupt 17 is falling-edge sensitive.
  17880. */
  17881. #define GPIO_ICR2_ICR17(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR17_SHIFT)) & GPIO_ICR2_ICR17_MASK)
  17882. #define GPIO_ICR2_ICR18_MASK (0x30U)
  17883. #define GPIO_ICR2_ICR18_SHIFT (4U)
  17884. /*! ICR18 - Interrupt configuration field for GPIO interrupt 18
  17885. * 0b00..Interrupt 18 is low-level sensitive.
  17886. * 0b01..Interrupt 18 is high-level sensitive.
  17887. * 0b10..Interrupt 18 is rising-edge sensitive.
  17888. * 0b11..Interrupt 18 is falling-edge sensitive.
  17889. */
  17890. #define GPIO_ICR2_ICR18(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR18_SHIFT)) & GPIO_ICR2_ICR18_MASK)
  17891. #define GPIO_ICR2_ICR19_MASK (0xC0U)
  17892. #define GPIO_ICR2_ICR19_SHIFT (6U)
  17893. /*! ICR19 - Interrupt configuration field for GPIO interrupt 19
  17894. * 0b00..Interrupt 19 is low-level sensitive.
  17895. * 0b01..Interrupt 19 is high-level sensitive.
  17896. * 0b10..Interrupt 19 is rising-edge sensitive.
  17897. * 0b11..Interrupt 19 is falling-edge sensitive.
  17898. */
  17899. #define GPIO_ICR2_ICR19(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR19_SHIFT)) & GPIO_ICR2_ICR19_MASK)
  17900. #define GPIO_ICR2_ICR20_MASK (0x300U)
  17901. #define GPIO_ICR2_ICR20_SHIFT (8U)
  17902. /*! ICR20 - Interrupt configuration field for GPIO interrupt 20
  17903. * 0b00..Interrupt 20 is low-level sensitive.
  17904. * 0b01..Interrupt 20 is high-level sensitive.
  17905. * 0b10..Interrupt 20 is rising-edge sensitive.
  17906. * 0b11..Interrupt 20 is falling-edge sensitive.
  17907. */
  17908. #define GPIO_ICR2_ICR20(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR20_SHIFT)) & GPIO_ICR2_ICR20_MASK)
  17909. #define GPIO_ICR2_ICR21_MASK (0xC00U)
  17910. #define GPIO_ICR2_ICR21_SHIFT (10U)
  17911. /*! ICR21 - Interrupt configuration field for GPIO interrupt 21
  17912. * 0b00..Interrupt 21 is low-level sensitive.
  17913. * 0b01..Interrupt 21 is high-level sensitive.
  17914. * 0b10..Interrupt 21 is rising-edge sensitive.
  17915. * 0b11..Interrupt 21 is falling-edge sensitive.
  17916. */
  17917. #define GPIO_ICR2_ICR21(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR21_SHIFT)) & GPIO_ICR2_ICR21_MASK)
  17918. #define GPIO_ICR2_ICR22_MASK (0x3000U)
  17919. #define GPIO_ICR2_ICR22_SHIFT (12U)
  17920. /*! ICR22 - Interrupt configuration field for GPIO interrupt 22
  17921. * 0b00..Interrupt 22 is low-level sensitive.
  17922. * 0b01..Interrupt 22 is high-level sensitive.
  17923. * 0b10..Interrupt 22 is rising-edge sensitive.
  17924. * 0b11..Interrupt 22 is falling-edge sensitive.
  17925. */
  17926. #define GPIO_ICR2_ICR22(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR22_SHIFT)) & GPIO_ICR2_ICR22_MASK)
  17927. #define GPIO_ICR2_ICR23_MASK (0xC000U)
  17928. #define GPIO_ICR2_ICR23_SHIFT (14U)
  17929. /*! ICR23 - Interrupt configuration field for GPIO interrupt 23
  17930. * 0b00..Interrupt 23 is low-level sensitive.
  17931. * 0b01..Interrupt 23 is high-level sensitive.
  17932. * 0b10..Interrupt 23 is rising-edge sensitive.
  17933. * 0b11..Interrupt 23 is falling-edge sensitive.
  17934. */
  17935. #define GPIO_ICR2_ICR23(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR23_SHIFT)) & GPIO_ICR2_ICR23_MASK)
  17936. #define GPIO_ICR2_ICR24_MASK (0x30000U)
  17937. #define GPIO_ICR2_ICR24_SHIFT (16U)
  17938. /*! ICR24 - Interrupt configuration field for GPIO interrupt 24
  17939. * 0b00..Interrupt 24 is low-level sensitive.
  17940. * 0b01..Interrupt 24 is high-level sensitive.
  17941. * 0b10..Interrupt 24 is rising-edge sensitive.
  17942. * 0b11..Interrupt 24 is falling-edge sensitive.
  17943. */
  17944. #define GPIO_ICR2_ICR24(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR24_SHIFT)) & GPIO_ICR2_ICR24_MASK)
  17945. #define GPIO_ICR2_ICR25_MASK (0xC0000U)
  17946. #define GPIO_ICR2_ICR25_SHIFT (18U)
  17947. /*! ICR25 - Interrupt configuration field for GPIO interrupt 25
  17948. * 0b00..Interrupt 25 is low-level sensitive.
  17949. * 0b01..Interrupt 25 is high-level sensitive.
  17950. * 0b10..Interrupt 25 is rising-edge sensitive.
  17951. * 0b11..Interrupt 25 is falling-edge sensitive.
  17952. */
  17953. #define GPIO_ICR2_ICR25(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR25_SHIFT)) & GPIO_ICR2_ICR25_MASK)
  17954. #define GPIO_ICR2_ICR26_MASK (0x300000U)
  17955. #define GPIO_ICR2_ICR26_SHIFT (20U)
  17956. /*! ICR26 - Interrupt configuration field for GPIO interrupt 26
  17957. * 0b00..Interrupt 26 is low-level sensitive.
  17958. * 0b01..Interrupt 26 is high-level sensitive.
  17959. * 0b10..Interrupt 26 is rising-edge sensitive.
  17960. * 0b11..Interrupt 26 is falling-edge sensitive.
  17961. */
  17962. #define GPIO_ICR2_ICR26(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR26_SHIFT)) & GPIO_ICR2_ICR26_MASK)
  17963. #define GPIO_ICR2_ICR27_MASK (0xC00000U)
  17964. #define GPIO_ICR2_ICR27_SHIFT (22U)
  17965. /*! ICR27 - Interrupt configuration field for GPIO interrupt 27
  17966. * 0b00..Interrupt 27 is low-level sensitive.
  17967. * 0b01..Interrupt 27 is high-level sensitive.
  17968. * 0b10..Interrupt 27 is rising-edge sensitive.
  17969. * 0b11..Interrupt 27 is falling-edge sensitive.
  17970. */
  17971. #define GPIO_ICR2_ICR27(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR27_SHIFT)) & GPIO_ICR2_ICR27_MASK)
  17972. #define GPIO_ICR2_ICR28_MASK (0x3000000U)
  17973. #define GPIO_ICR2_ICR28_SHIFT (24U)
  17974. /*! ICR28 - Interrupt configuration field for GPIO interrupt 28
  17975. * 0b00..Interrupt 28 is low-level sensitive.
  17976. * 0b01..Interrupt 28 is high-level sensitive.
  17977. * 0b10..Interrupt 28 is rising-edge sensitive.
  17978. * 0b11..Interrupt 28 is falling-edge sensitive.
  17979. */
  17980. #define GPIO_ICR2_ICR28(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR28_SHIFT)) & GPIO_ICR2_ICR28_MASK)
  17981. #define GPIO_ICR2_ICR29_MASK (0xC000000U)
  17982. #define GPIO_ICR2_ICR29_SHIFT (26U)
  17983. /*! ICR29 - Interrupt configuration field for GPIO interrupt 29
  17984. * 0b00..Interrupt 29 is low-level sensitive.
  17985. * 0b01..Interrupt 29 is high-level sensitive.
  17986. * 0b10..Interrupt 29 is rising-edge sensitive.
  17987. * 0b11..Interrupt 29 is falling-edge sensitive.
  17988. */
  17989. #define GPIO_ICR2_ICR29(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR29_SHIFT)) & GPIO_ICR2_ICR29_MASK)
  17990. #define GPIO_ICR2_ICR30_MASK (0x30000000U)
  17991. #define GPIO_ICR2_ICR30_SHIFT (28U)
  17992. /*! ICR30 - Interrupt configuration field for GPIO interrupt 30
  17993. * 0b00..Interrupt 30 is low-level sensitive.
  17994. * 0b01..Interrupt 30 is high-level sensitive.
  17995. * 0b10..Interrupt 30 is rising-edge sensitive.
  17996. * 0b11..Interrupt 30 is falling-edge sensitive.
  17997. */
  17998. #define GPIO_ICR2_ICR30(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR30_SHIFT)) & GPIO_ICR2_ICR30_MASK)
  17999. #define GPIO_ICR2_ICR31_MASK (0xC0000000U)
  18000. #define GPIO_ICR2_ICR31_SHIFT (30U)
  18001. /*! ICR31 - Interrupt configuration field for GPIO interrupt 31
  18002. * 0b00..Interrupt 31 is low-level sensitive.
  18003. * 0b01..Interrupt 31 is high-level sensitive.
  18004. * 0b10..Interrupt 31 is rising-edge sensitive.
  18005. * 0b11..Interrupt 31 is falling-edge sensitive.
  18006. */
  18007. #define GPIO_ICR2_ICR31(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR31_SHIFT)) & GPIO_ICR2_ICR31_MASK)
  18008. /*! @} */
  18009. /*! @name IMR - GPIO interrupt mask register */
  18010. /*! @{ */
  18011. #define GPIO_IMR_IMR_MASK (0xFFFFFFFFU)
  18012. #define GPIO_IMR_IMR_SHIFT (0U)
  18013. /*! IMR - Interrupt Mask bits
  18014. */
  18015. #define GPIO_IMR_IMR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_IMR_IMR_SHIFT)) & GPIO_IMR_IMR_MASK)
  18016. /*! @} */
  18017. /*! @name ISR - GPIO interrupt status register */
  18018. /*! @{ */
  18019. #define GPIO_ISR_ISR_MASK (0xFFFFFFFFU)
  18020. #define GPIO_ISR_ISR_SHIFT (0U)
  18021. /*! ISR - Interrupt status bits
  18022. */
  18023. #define GPIO_ISR_ISR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ISR_ISR_SHIFT)) & GPIO_ISR_ISR_MASK)
  18024. /*! @} */
  18025. /*! @name EDGE_SEL - GPIO edge select register */
  18026. /*! @{ */
  18027. #define GPIO_EDGE_SEL_GPIO_EDGE_SEL_MASK (0xFFFFFFFFU)
  18028. #define GPIO_EDGE_SEL_GPIO_EDGE_SEL_SHIFT (0U)
  18029. /*! GPIO_EDGE_SEL - Edge select
  18030. */
  18031. #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)
  18032. /*! @} */
  18033. /*! @name DR_SET - GPIO data register SET */
  18034. /*! @{ */
  18035. #define GPIO_DR_SET_DR_SET_MASK (0xFFFFFFFFU)
  18036. #define GPIO_DR_SET_DR_SET_SHIFT (0U)
  18037. /*! DR_SET - Set
  18038. */
  18039. #define GPIO_DR_SET_DR_SET(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DR_SET_DR_SET_SHIFT)) & GPIO_DR_SET_DR_SET_MASK)
  18040. /*! @} */
  18041. /*! @name DR_CLEAR - GPIO data register CLEAR */
  18042. /*! @{ */
  18043. #define GPIO_DR_CLEAR_DR_CLEAR_MASK (0xFFFFFFFFU)
  18044. #define GPIO_DR_CLEAR_DR_CLEAR_SHIFT (0U)
  18045. /*! DR_CLEAR - Clear
  18046. */
  18047. #define GPIO_DR_CLEAR_DR_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DR_CLEAR_DR_CLEAR_SHIFT)) & GPIO_DR_CLEAR_DR_CLEAR_MASK)
  18048. /*! @} */
  18049. /*! @name DR_TOGGLE - GPIO data register TOGGLE */
  18050. /*! @{ */
  18051. #define GPIO_DR_TOGGLE_DR_TOGGLE_MASK (0xFFFFFFFFU)
  18052. #define GPIO_DR_TOGGLE_DR_TOGGLE_SHIFT (0U)
  18053. /*! DR_TOGGLE - Toggle
  18054. */
  18055. #define GPIO_DR_TOGGLE_DR_TOGGLE(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DR_TOGGLE_DR_TOGGLE_SHIFT)) & GPIO_DR_TOGGLE_DR_TOGGLE_MASK)
  18056. /*! @} */
  18057. /*!
  18058. * @}
  18059. */ /* end of group GPIO_Register_Masks */
  18060. /* GPIO - Peripheral instance base addresses */
  18061. /** Peripheral GPIO1 base address */
  18062. #define GPIO1_BASE (0x401B8000u)
  18063. /** Peripheral GPIO1 base pointer */
  18064. #define GPIO1 ((GPIO_Type *)GPIO1_BASE)
  18065. /** Peripheral GPIO2 base address */
  18066. #define GPIO2_BASE (0x401BC000u)
  18067. /** Peripheral GPIO2 base pointer */
  18068. #define GPIO2 ((GPIO_Type *)GPIO2_BASE)
  18069. /** Peripheral GPIO3 base address */
  18070. #define GPIO3_BASE (0x401C0000u)
  18071. /** Peripheral GPIO3 base pointer */
  18072. #define GPIO3 ((GPIO_Type *)GPIO3_BASE)
  18073. /** Peripheral GPIO5 base address */
  18074. #define GPIO5_BASE (0x400C0000u)
  18075. /** Peripheral GPIO5 base pointer */
  18076. #define GPIO5 ((GPIO_Type *)GPIO5_BASE)
  18077. /** Array initializer of GPIO peripheral base addresses */
  18078. #define GPIO_BASE_ADDRS { 0u, GPIO1_BASE, GPIO2_BASE, GPIO3_BASE, 0u, GPIO5_BASE }
  18079. /** Array initializer of GPIO peripheral base pointers */
  18080. #define GPIO_BASE_PTRS { (GPIO_Type *)0u, GPIO1, GPIO2, GPIO3, (GPIO_Type *)0u, GPIO5 }
  18081. /** Interrupt vectors for the GPIO peripheral type */
  18082. #define GPIO_IRQS { NotAvail_IRQn, GPIO1_INT0_IRQn, GPIO1_INT1_IRQn, GPIO1_INT2_IRQn, GPIO1_INT3_IRQn, GPIO1_INT4_IRQn, GPIO1_INT5_IRQn, GPIO1_INT6_IRQn, GPIO1_INT7_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn }
  18083. #define GPIO_COMBINED_LOW_IRQS { NotAvail_IRQn, GPIO1_Combined_0_15_IRQn, GPIO2_Combined_0_15_IRQn, GPIO3_Combined_0_15_IRQn, NotAvail_IRQn, GPIO5_Combined_0_15_IRQn }
  18084. #define GPIO_COMBINED_HIGH_IRQS { NotAvail_IRQn, GPIO1_Combined_16_31_IRQn, GPIO2_Combined_16_31_IRQn, GPIO3_Combined_16_31_IRQn, NotAvail_IRQn, GPIO5_Combined_16_31_IRQn }
  18085. /*!
  18086. * @}
  18087. */ /* end of group GPIO_Peripheral_Access_Layer */
  18088. /* ----------------------------------------------------------------------------
  18089. -- GPT Peripheral Access Layer
  18090. ---------------------------------------------------------------------------- */
  18091. /*!
  18092. * @addtogroup GPT_Peripheral_Access_Layer GPT Peripheral Access Layer
  18093. * @{
  18094. */
  18095. /** GPT - Register Layout Typedef */
  18096. typedef struct {
  18097. __IO uint32_t CR; /**< GPT Control Register, offset: 0x0 */
  18098. __IO uint32_t PR; /**< GPT Prescaler Register, offset: 0x4 */
  18099. __IO uint32_t SR; /**< GPT Status Register, offset: 0x8 */
  18100. __IO uint32_t IR; /**< GPT Interrupt Register, offset: 0xC */
  18101. __IO uint32_t OCR[3]; /**< GPT Output Compare Register 1..GPT Output Compare Register 3, array offset: 0x10, array step: 0x4 */
  18102. __I uint32_t ICR[2]; /**< GPT Input Capture Register 1..GPT Input Capture Register 2, array offset: 0x1C, array step: 0x4 */
  18103. __I uint32_t CNT; /**< GPT Counter Register, offset: 0x24 */
  18104. } GPT_Type;
  18105. /* ----------------------------------------------------------------------------
  18106. -- GPT Register Masks
  18107. ---------------------------------------------------------------------------- */
  18108. /*!
  18109. * @addtogroup GPT_Register_Masks GPT Register Masks
  18110. * @{
  18111. */
  18112. /*! @name CR - GPT Control Register */
  18113. /*! @{ */
  18114. #define GPT_CR_EN_MASK (0x1U)
  18115. #define GPT_CR_EN_SHIFT (0U)
  18116. /*! EN
  18117. * 0b0..GPT is disabled.
  18118. * 0b1..GPT is enabled.
  18119. */
  18120. #define GPT_CR_EN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_EN_SHIFT)) & GPT_CR_EN_MASK)
  18121. #define GPT_CR_ENMOD_MASK (0x2U)
  18122. #define GPT_CR_ENMOD_SHIFT (1U)
  18123. /*! ENMOD
  18124. * 0b0..GPT counter will retain its value when it is disabled.
  18125. * 0b1..GPT counter value is reset to 0 when it is disabled.
  18126. */
  18127. #define GPT_CR_ENMOD(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_ENMOD_SHIFT)) & GPT_CR_ENMOD_MASK)
  18128. #define GPT_CR_DBGEN_MASK (0x4U)
  18129. #define GPT_CR_DBGEN_SHIFT (2U)
  18130. /*! DBGEN
  18131. * 0b0..GPT is disabled in debug mode.
  18132. * 0b1..GPT is enabled in debug mode.
  18133. */
  18134. #define GPT_CR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_DBGEN_SHIFT)) & GPT_CR_DBGEN_MASK)
  18135. #define GPT_CR_WAITEN_MASK (0x8U)
  18136. #define GPT_CR_WAITEN_SHIFT (3U)
  18137. /*! WAITEN
  18138. * 0b0..GPT is disabled in wait mode.
  18139. * 0b1..GPT is enabled in wait mode.
  18140. */
  18141. #define GPT_CR_WAITEN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_WAITEN_SHIFT)) & GPT_CR_WAITEN_MASK)
  18142. #define GPT_CR_DOZEEN_MASK (0x10U)
  18143. #define GPT_CR_DOZEEN_SHIFT (4U)
  18144. /*! DOZEEN
  18145. * 0b0..GPT is disabled in doze mode.
  18146. * 0b1..GPT is enabled in doze mode.
  18147. */
  18148. #define GPT_CR_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_DOZEEN_SHIFT)) & GPT_CR_DOZEEN_MASK)
  18149. #define GPT_CR_STOPEN_MASK (0x20U)
  18150. #define GPT_CR_STOPEN_SHIFT (5U)
  18151. /*! STOPEN
  18152. * 0b0..GPT is disabled in Stop mode.
  18153. * 0b1..GPT is enabled in Stop mode.
  18154. */
  18155. #define GPT_CR_STOPEN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_STOPEN_SHIFT)) & GPT_CR_STOPEN_MASK)
  18156. #define GPT_CR_CLKSRC_MASK (0x1C0U)
  18157. #define GPT_CR_CLKSRC_SHIFT (6U)
  18158. /*! CLKSRC
  18159. * 0b000..No clock
  18160. * 0b001..Peripheral Clock (ipg_clk)
  18161. * 0b010..High Frequency Reference Clock (ipg_clk_highfreq)
  18162. * 0b011..External Clock
  18163. * 0b100..Low Frequency Reference Clock (ipg_clk_32k)
  18164. * 0b101..Crystal oscillator as Reference Clock (ipg_clk_24M)
  18165. */
  18166. #define GPT_CR_CLKSRC(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_CLKSRC_SHIFT)) & GPT_CR_CLKSRC_MASK)
  18167. #define GPT_CR_FRR_MASK (0x200U)
  18168. #define GPT_CR_FRR_SHIFT (9U)
  18169. /*! FRR
  18170. * 0b0..Restart mode
  18171. * 0b1..Free-Run mode
  18172. */
  18173. #define GPT_CR_FRR(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_FRR_SHIFT)) & GPT_CR_FRR_MASK)
  18174. #define GPT_CR_EN_24M_MASK (0x400U)
  18175. #define GPT_CR_EN_24M_SHIFT (10U)
  18176. /*! EN_24M
  18177. * 0b0..24M clock disabled
  18178. * 0b1..24M clock enabled
  18179. */
  18180. #define GPT_CR_EN_24M(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_EN_24M_SHIFT)) & GPT_CR_EN_24M_MASK)
  18181. #define GPT_CR_SWR_MASK (0x8000U)
  18182. #define GPT_CR_SWR_SHIFT (15U)
  18183. /*! SWR
  18184. * 0b0..GPT is not in reset state
  18185. * 0b1..GPT is in reset state
  18186. */
  18187. #define GPT_CR_SWR(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_SWR_SHIFT)) & GPT_CR_SWR_MASK)
  18188. #define GPT_CR_IM1_MASK (0x30000U)
  18189. #define GPT_CR_IM1_SHIFT (16U)
  18190. #define GPT_CR_IM1(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_IM1_SHIFT)) & GPT_CR_IM1_MASK)
  18191. #define GPT_CR_IM2_MASK (0xC0000U)
  18192. #define GPT_CR_IM2_SHIFT (18U)
  18193. /*! IM2
  18194. * 0b00..capture disabled
  18195. * 0b01..capture on rising edge only
  18196. * 0b10..capture on falling edge only
  18197. * 0b11..capture on both edges
  18198. */
  18199. #define GPT_CR_IM2(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_IM2_SHIFT)) & GPT_CR_IM2_MASK)
  18200. #define GPT_CR_OM1_MASK (0x700000U)
  18201. #define GPT_CR_OM1_SHIFT (20U)
  18202. #define GPT_CR_OM1(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_OM1_SHIFT)) & GPT_CR_OM1_MASK)
  18203. #define GPT_CR_OM2_MASK (0x3800000U)
  18204. #define GPT_CR_OM2_SHIFT (23U)
  18205. #define GPT_CR_OM2(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_OM2_SHIFT)) & GPT_CR_OM2_MASK)
  18206. #define GPT_CR_OM3_MASK (0x1C000000U)
  18207. #define GPT_CR_OM3_SHIFT (26U)
  18208. /*! OM3
  18209. * 0b000..Output disconnected. No response on pin.
  18210. * 0b001..Toggle output pin
  18211. * 0b010..Clear output pin
  18212. * 0b011..Set output pin
  18213. * 0b1xx..Generate an active low pulse (that is one input clock wide) on the output pin.
  18214. */
  18215. #define GPT_CR_OM3(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_OM3_SHIFT)) & GPT_CR_OM3_MASK)
  18216. #define GPT_CR_FO1_MASK (0x20000000U)
  18217. #define GPT_CR_FO1_SHIFT (29U)
  18218. #define GPT_CR_FO1(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_FO1_SHIFT)) & GPT_CR_FO1_MASK)
  18219. #define GPT_CR_FO2_MASK (0x40000000U)
  18220. #define GPT_CR_FO2_SHIFT (30U)
  18221. #define GPT_CR_FO2(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_FO2_SHIFT)) & GPT_CR_FO2_MASK)
  18222. #define GPT_CR_FO3_MASK (0x80000000U)
  18223. #define GPT_CR_FO3_SHIFT (31U)
  18224. /*! FO3
  18225. * 0b0..Writing a 0 has no effect.
  18226. * 0b1..Causes the programmed pin action on the timer Output Compare n pin; the OFn flag is not set.
  18227. */
  18228. #define GPT_CR_FO3(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_FO3_SHIFT)) & GPT_CR_FO3_MASK)
  18229. /*! @} */
  18230. /*! @name PR - GPT Prescaler Register */
  18231. /*! @{ */
  18232. #define GPT_PR_PRESCALER_MASK (0xFFFU)
  18233. #define GPT_PR_PRESCALER_SHIFT (0U)
  18234. /*! PRESCALER
  18235. * 0b000000000000..Divide by 1
  18236. * 0b000000000001..Divide by 2
  18237. * 0b111111111111..Divide by 4096
  18238. */
  18239. #define GPT_PR_PRESCALER(x) (((uint32_t)(((uint32_t)(x)) << GPT_PR_PRESCALER_SHIFT)) & GPT_PR_PRESCALER_MASK)
  18240. #define GPT_PR_PRESCALER24M_MASK (0xF000U)
  18241. #define GPT_PR_PRESCALER24M_SHIFT (12U)
  18242. /*! PRESCALER24M
  18243. * 0b0000..Divide by 1
  18244. * 0b0001..Divide by 2
  18245. * 0b1111..Divide by 16
  18246. */
  18247. #define GPT_PR_PRESCALER24M(x) (((uint32_t)(((uint32_t)(x)) << GPT_PR_PRESCALER24M_SHIFT)) & GPT_PR_PRESCALER24M_MASK)
  18248. /*! @} */
  18249. /*! @name SR - GPT Status Register */
  18250. /*! @{ */
  18251. #define GPT_SR_OF1_MASK (0x1U)
  18252. #define GPT_SR_OF1_SHIFT (0U)
  18253. #define GPT_SR_OF1(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_OF1_SHIFT)) & GPT_SR_OF1_MASK)
  18254. #define GPT_SR_OF2_MASK (0x2U)
  18255. #define GPT_SR_OF2_SHIFT (1U)
  18256. #define GPT_SR_OF2(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_OF2_SHIFT)) & GPT_SR_OF2_MASK)
  18257. #define GPT_SR_OF3_MASK (0x4U)
  18258. #define GPT_SR_OF3_SHIFT (2U)
  18259. /*! OF3
  18260. * 0b0..Compare event has not occurred.
  18261. * 0b1..Compare event has occurred.
  18262. */
  18263. #define GPT_SR_OF3(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_OF3_SHIFT)) & GPT_SR_OF3_MASK)
  18264. #define GPT_SR_IF1_MASK (0x8U)
  18265. #define GPT_SR_IF1_SHIFT (3U)
  18266. #define GPT_SR_IF1(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_IF1_SHIFT)) & GPT_SR_IF1_MASK)
  18267. #define GPT_SR_IF2_MASK (0x10U)
  18268. #define GPT_SR_IF2_SHIFT (4U)
  18269. /*! IF2
  18270. * 0b0..Capture event has not occurred.
  18271. * 0b1..Capture event has occurred.
  18272. */
  18273. #define GPT_SR_IF2(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_IF2_SHIFT)) & GPT_SR_IF2_MASK)
  18274. #define GPT_SR_ROV_MASK (0x20U)
  18275. #define GPT_SR_ROV_SHIFT (5U)
  18276. /*! ROV
  18277. * 0b0..Rollover has not occurred.
  18278. * 0b1..Rollover has occurred.
  18279. */
  18280. #define GPT_SR_ROV(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_ROV_SHIFT)) & GPT_SR_ROV_MASK)
  18281. /*! @} */
  18282. /*! @name IR - GPT Interrupt Register */
  18283. /*! @{ */
  18284. #define GPT_IR_OF1IE_MASK (0x1U)
  18285. #define GPT_IR_OF1IE_SHIFT (0U)
  18286. #define GPT_IR_OF1IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_OF1IE_SHIFT)) & GPT_IR_OF1IE_MASK)
  18287. #define GPT_IR_OF2IE_MASK (0x2U)
  18288. #define GPT_IR_OF2IE_SHIFT (1U)
  18289. #define GPT_IR_OF2IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_OF2IE_SHIFT)) & GPT_IR_OF2IE_MASK)
  18290. #define GPT_IR_OF3IE_MASK (0x4U)
  18291. #define GPT_IR_OF3IE_SHIFT (2U)
  18292. /*! OF3IE
  18293. * 0b0..Output Compare Channel n interrupt is disabled.
  18294. * 0b1..Output Compare Channel n interrupt is enabled.
  18295. */
  18296. #define GPT_IR_OF3IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_OF3IE_SHIFT)) & GPT_IR_OF3IE_MASK)
  18297. #define GPT_IR_IF1IE_MASK (0x8U)
  18298. #define GPT_IR_IF1IE_SHIFT (3U)
  18299. #define GPT_IR_IF1IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_IF1IE_SHIFT)) & GPT_IR_IF1IE_MASK)
  18300. #define GPT_IR_IF2IE_MASK (0x10U)
  18301. #define GPT_IR_IF2IE_SHIFT (4U)
  18302. /*! IF2IE
  18303. * 0b0..IF2IE Input Capture n Interrupt Enable is disabled.
  18304. * 0b1..IF2IE Input Capture n Interrupt Enable is enabled.
  18305. */
  18306. #define GPT_IR_IF2IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_IF2IE_SHIFT)) & GPT_IR_IF2IE_MASK)
  18307. #define GPT_IR_ROVIE_MASK (0x20U)
  18308. #define GPT_IR_ROVIE_SHIFT (5U)
  18309. /*! ROVIE
  18310. * 0b0..Rollover interrupt is disabled.
  18311. * 0b1..Rollover interrupt enabled.
  18312. */
  18313. #define GPT_IR_ROVIE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_ROVIE_SHIFT)) & GPT_IR_ROVIE_MASK)
  18314. /*! @} */
  18315. /*! @name OCR - GPT Output Compare Register 1..GPT Output Compare Register 3 */
  18316. /*! @{ */
  18317. #define GPT_OCR_COMP_MASK (0xFFFFFFFFU)
  18318. #define GPT_OCR_COMP_SHIFT (0U)
  18319. #define GPT_OCR_COMP(x) (((uint32_t)(((uint32_t)(x)) << GPT_OCR_COMP_SHIFT)) & GPT_OCR_COMP_MASK)
  18320. /*! @} */
  18321. /* The count of GPT_OCR */
  18322. #define GPT_OCR_COUNT (3U)
  18323. /*! @name ICR - GPT Input Capture Register 1..GPT Input Capture Register 2 */
  18324. /*! @{ */
  18325. #define GPT_ICR_CAPT_MASK (0xFFFFFFFFU)
  18326. #define GPT_ICR_CAPT_SHIFT (0U)
  18327. #define GPT_ICR_CAPT(x) (((uint32_t)(((uint32_t)(x)) << GPT_ICR_CAPT_SHIFT)) & GPT_ICR_CAPT_MASK)
  18328. /*! @} */
  18329. /* The count of GPT_ICR */
  18330. #define GPT_ICR_COUNT (2U)
  18331. /*! @name CNT - GPT Counter Register */
  18332. /*! @{ */
  18333. #define GPT_CNT_COUNT_MASK (0xFFFFFFFFU)
  18334. #define GPT_CNT_COUNT_SHIFT (0U)
  18335. #define GPT_CNT_COUNT(x) (((uint32_t)(((uint32_t)(x)) << GPT_CNT_COUNT_SHIFT)) & GPT_CNT_COUNT_MASK)
  18336. /*! @} */
  18337. /*!
  18338. * @}
  18339. */ /* end of group GPT_Register_Masks */
  18340. /* GPT - Peripheral instance base addresses */
  18341. /** Peripheral GPT1 base address */
  18342. #define GPT1_BASE (0x401EC000u)
  18343. /** Peripheral GPT1 base pointer */
  18344. #define GPT1 ((GPT_Type *)GPT1_BASE)
  18345. /** Peripheral GPT2 base address */
  18346. #define GPT2_BASE (0x401F0000u)
  18347. /** Peripheral GPT2 base pointer */
  18348. #define GPT2 ((GPT_Type *)GPT2_BASE)
  18349. /** Array initializer of GPT peripheral base addresses */
  18350. #define GPT_BASE_ADDRS { 0u, GPT1_BASE, GPT2_BASE }
  18351. /** Array initializer of GPT peripheral base pointers */
  18352. #define GPT_BASE_PTRS { (GPT_Type *)0u, GPT1, GPT2 }
  18353. /** Interrupt vectors for the GPT peripheral type */
  18354. #define GPT_IRQS { NotAvail_IRQn, GPT1_IRQn, GPT2_IRQn }
  18355. /*!
  18356. * @}
  18357. */ /* end of group GPT_Peripheral_Access_Layer */
  18358. /* ----------------------------------------------------------------------------
  18359. -- I2S Peripheral Access Layer
  18360. ---------------------------------------------------------------------------- */
  18361. /*!
  18362. * @addtogroup I2S_Peripheral_Access_Layer I2S Peripheral Access Layer
  18363. * @{
  18364. */
  18365. /** I2S - Register Layout Typedef */
  18366. typedef struct {
  18367. __I uint32_t VERID; /**< Version ID, offset: 0x0 */
  18368. __I uint32_t PARAM; /**< Parameter, offset: 0x4 */
  18369. __IO uint32_t TCSR; /**< Transmit Control, offset: 0x8 */
  18370. __IO uint32_t TCR1; /**< Transmit Configuration 1, offset: 0xC */
  18371. __IO uint32_t TCR2; /**< Transmit Configuration 2, offset: 0x10 */
  18372. __IO uint32_t TCR3; /**< Transmit Configuration 3, offset: 0x14 */
  18373. __IO uint32_t TCR4; /**< Transmit Configuration 4, offset: 0x18 */
  18374. __IO uint32_t TCR5; /**< Transmit Configuration 5, offset: 0x1C */
  18375. __O uint32_t TDR[4]; /**< Transmit Data, array offset: 0x20, array step: 0x4 */
  18376. uint8_t RESERVED_0[16];
  18377. __I uint32_t TFR[4]; /**< Transmit FIFO, array offset: 0x40, array step: 0x4 */
  18378. uint8_t RESERVED_1[16];
  18379. __IO uint32_t TMR; /**< Transmit Mask, offset: 0x60 */
  18380. uint8_t RESERVED_2[36];
  18381. __IO uint32_t RCSR; /**< Receive Control, offset: 0x88 */
  18382. __IO uint32_t RCR1; /**< Receive Configuration 1, offset: 0x8C */
  18383. __IO uint32_t RCR2; /**< Receive Configuration 2, offset: 0x90 */
  18384. __IO uint32_t RCR3; /**< Receive Configuration 3, offset: 0x94 */
  18385. __IO uint32_t RCR4; /**< Receive Configuration 4, offset: 0x98 */
  18386. __IO uint32_t RCR5; /**< Receive Configuration 5, offset: 0x9C */
  18387. __I uint32_t RDR[4]; /**< Receive Data, array offset: 0xA0, array step: 0x4 */
  18388. uint8_t RESERVED_3[16];
  18389. __I uint32_t RFR[4]; /**< Receive FIFO, array offset: 0xC0, array step: 0x4 */
  18390. uint8_t RESERVED_4[16];
  18391. __IO uint32_t RMR; /**< Receive Mask, offset: 0xE0 */
  18392. } I2S_Type;
  18393. /* ----------------------------------------------------------------------------
  18394. -- I2S Register Masks
  18395. ---------------------------------------------------------------------------- */
  18396. /*!
  18397. * @addtogroup I2S_Register_Masks I2S Register Masks
  18398. * @{
  18399. */
  18400. /*! @name VERID - Version ID */
  18401. /*! @{ */
  18402. #define I2S_VERID_FEATURE_MASK (0xFFFFU)
  18403. #define I2S_VERID_FEATURE_SHIFT (0U)
  18404. /*! FEATURE - Feature Specification Number
  18405. * 0b0000000000000000..Standard feature set.
  18406. */
  18407. #define I2S_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_FEATURE_SHIFT)) & I2S_VERID_FEATURE_MASK)
  18408. #define I2S_VERID_MINOR_MASK (0xFF0000U)
  18409. #define I2S_VERID_MINOR_SHIFT (16U)
  18410. /*! MINOR - Minor Version Number
  18411. */
  18412. #define I2S_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_MINOR_SHIFT)) & I2S_VERID_MINOR_MASK)
  18413. #define I2S_VERID_MAJOR_MASK (0xFF000000U)
  18414. #define I2S_VERID_MAJOR_SHIFT (24U)
  18415. /*! MAJOR - Major Version Number
  18416. */
  18417. #define I2S_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_MAJOR_SHIFT)) & I2S_VERID_MAJOR_MASK)
  18418. /*! @} */
  18419. /*! @name PARAM - Parameter */
  18420. /*! @{ */
  18421. #define I2S_PARAM_DATALINE_MASK (0xFU)
  18422. #define I2S_PARAM_DATALINE_SHIFT (0U)
  18423. /*! DATALINE - Number of Datalines
  18424. */
  18425. #define I2S_PARAM_DATALINE(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_DATALINE_SHIFT)) & I2S_PARAM_DATALINE_MASK)
  18426. #define I2S_PARAM_FIFO_MASK (0xF00U)
  18427. #define I2S_PARAM_FIFO_SHIFT (8U)
  18428. /*! FIFO - FIFO Size
  18429. */
  18430. #define I2S_PARAM_FIFO(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_FIFO_SHIFT)) & I2S_PARAM_FIFO_MASK)
  18431. #define I2S_PARAM_FRAME_MASK (0xF0000U)
  18432. #define I2S_PARAM_FRAME_SHIFT (16U)
  18433. /*! FRAME - Frame Size
  18434. */
  18435. #define I2S_PARAM_FRAME(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_FRAME_SHIFT)) & I2S_PARAM_FRAME_MASK)
  18436. /*! @} */
  18437. /*! @name TCSR - Transmit Control */
  18438. /*! @{ */
  18439. #define I2S_TCSR_FRDE_MASK (0x1U)
  18440. #define I2S_TCSR_FRDE_SHIFT (0U)
  18441. /*! FRDE - FIFO Request DMA Enable
  18442. * 0b0..Disables the DMA request.
  18443. * 0b1..Enables the DMA request.
  18444. */
  18445. #define I2S_TCSR_FRDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRDE_SHIFT)) & I2S_TCSR_FRDE_MASK)
  18446. #define I2S_TCSR_FWDE_MASK (0x2U)
  18447. #define I2S_TCSR_FWDE_SHIFT (1U)
  18448. /*! FWDE - FIFO Warning DMA Enable
  18449. * 0b0..Disables the DMA request.
  18450. * 0b1..Enables the DMA request.
  18451. */
  18452. #define I2S_TCSR_FWDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWDE_SHIFT)) & I2S_TCSR_FWDE_MASK)
  18453. #define I2S_TCSR_FRIE_MASK (0x100U)
  18454. #define I2S_TCSR_FRIE_SHIFT (8U)
  18455. /*! FRIE - FIFO Request Interrupt Enable
  18456. * 0b0..Disables the interrupt.
  18457. * 0b1..Enables the interrupt.
  18458. */
  18459. #define I2S_TCSR_FRIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRIE_SHIFT)) & I2S_TCSR_FRIE_MASK)
  18460. #define I2S_TCSR_FWIE_MASK (0x200U)
  18461. #define I2S_TCSR_FWIE_SHIFT (9U)
  18462. /*! FWIE - FIFO Warning Interrupt Enable
  18463. * 0b0..Disables the interrupt.
  18464. * 0b1..Enables the interrupt.
  18465. */
  18466. #define I2S_TCSR_FWIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWIE_SHIFT)) & I2S_TCSR_FWIE_MASK)
  18467. #define I2S_TCSR_FEIE_MASK (0x400U)
  18468. #define I2S_TCSR_FEIE_SHIFT (10U)
  18469. /*! FEIE - FIFO Error Interrupt Enable
  18470. * 0b0..Disables the interrupt.
  18471. * 0b1..Enables the interrupt.
  18472. */
  18473. #define I2S_TCSR_FEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FEIE_SHIFT)) & I2S_TCSR_FEIE_MASK)
  18474. #define I2S_TCSR_SEIE_MASK (0x800U)
  18475. #define I2S_TCSR_SEIE_SHIFT (11U)
  18476. /*! SEIE - Sync Error Interrupt Enable
  18477. * 0b0..Disables interrupt.
  18478. * 0b1..Enables interrupt.
  18479. */
  18480. #define I2S_TCSR_SEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SEIE_SHIFT)) & I2S_TCSR_SEIE_MASK)
  18481. #define I2S_TCSR_WSIE_MASK (0x1000U)
  18482. #define I2S_TCSR_WSIE_SHIFT (12U)
  18483. /*! WSIE - Word Start Interrupt Enable
  18484. * 0b0..Disables interrupt.
  18485. * 0b1..Enables interrupt.
  18486. */
  18487. #define I2S_TCSR_WSIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_WSIE_SHIFT)) & I2S_TCSR_WSIE_MASK)
  18488. #define I2S_TCSR_FRF_MASK (0x10000U)
  18489. #define I2S_TCSR_FRF_SHIFT (16U)
  18490. /*! FRF - FIFO Request Flag
  18491. * 0b0..Transmit FIFO watermark has not been reached.
  18492. * 0b1..Transmit FIFO watermark has been reached.
  18493. */
  18494. #define I2S_TCSR_FRF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRF_SHIFT)) & I2S_TCSR_FRF_MASK)
  18495. #define I2S_TCSR_FWF_MASK (0x20000U)
  18496. #define I2S_TCSR_FWF_SHIFT (17U)
  18497. /*! FWF - FIFO Warning Flag
  18498. * 0b0..No enabled transmit FIFO is empty.
  18499. * 0b1..Enabled transmit FIFO is empty.
  18500. */
  18501. #define I2S_TCSR_FWF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWF_SHIFT)) & I2S_TCSR_FWF_MASK)
  18502. #define I2S_TCSR_FEF_MASK (0x40000U)
  18503. #define I2S_TCSR_FEF_SHIFT (18U)
  18504. /*! FEF - FIFO Error Flag
  18505. * 0b0..Transmit underrun not detected.
  18506. * 0b1..Transmit underrun detected.
  18507. */
  18508. #define I2S_TCSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FEF_SHIFT)) & I2S_TCSR_FEF_MASK)
  18509. #define I2S_TCSR_SEF_MASK (0x80000U)
  18510. #define I2S_TCSR_SEF_SHIFT (19U)
  18511. /*! SEF - Sync Error Flag
  18512. * 0b0..Sync error not detected.
  18513. * 0b1..Frame sync error detected.
  18514. */
  18515. #define I2S_TCSR_SEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SEF_SHIFT)) & I2S_TCSR_SEF_MASK)
  18516. #define I2S_TCSR_WSF_MASK (0x100000U)
  18517. #define I2S_TCSR_WSF_SHIFT (20U)
  18518. /*! WSF - Word Start Flag
  18519. * 0b0..Start of word not detected.
  18520. * 0b1..Start of word detected.
  18521. */
  18522. #define I2S_TCSR_WSF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_WSF_SHIFT)) & I2S_TCSR_WSF_MASK)
  18523. #define I2S_TCSR_SR_MASK (0x1000000U)
  18524. #define I2S_TCSR_SR_SHIFT (24U)
  18525. /*! SR - Software Reset
  18526. * 0b0..No effect.
  18527. * 0b1..Software reset.
  18528. */
  18529. #define I2S_TCSR_SR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SR_SHIFT)) & I2S_TCSR_SR_MASK)
  18530. #define I2S_TCSR_FR_MASK (0x2000000U)
  18531. #define I2S_TCSR_FR_SHIFT (25U)
  18532. /*! FR - FIFO Reset
  18533. * 0b0..No effect.
  18534. * 0b1..FIFO reset.
  18535. */
  18536. #define I2S_TCSR_FR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FR_SHIFT)) & I2S_TCSR_FR_MASK)
  18537. #define I2S_TCSR_BCE_MASK (0x10000000U)
  18538. #define I2S_TCSR_BCE_SHIFT (28U)
  18539. /*! BCE - Bit Clock Enable
  18540. * 0b0..Transmit bit clock is disabled.
  18541. * 0b1..Transmit bit clock is enabled.
  18542. */
  18543. #define I2S_TCSR_BCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_BCE_SHIFT)) & I2S_TCSR_BCE_MASK)
  18544. #define I2S_TCSR_DBGE_MASK (0x20000000U)
  18545. #define I2S_TCSR_DBGE_SHIFT (29U)
  18546. /*! DBGE - Debug Enable
  18547. * 0b0..Transmitter is disabled in Debug mode, after completing the current frame.
  18548. * 0b1..Transmitter is enabled in Debug mode.
  18549. */
  18550. #define I2S_TCSR_DBGE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_DBGE_SHIFT)) & I2S_TCSR_DBGE_MASK)
  18551. #define I2S_TCSR_STOPE_MASK (0x40000000U)
  18552. #define I2S_TCSR_STOPE_SHIFT (30U)
  18553. /*! STOPE - Stop Enable
  18554. * 0b0..Transmitter disabled in Stop mode.
  18555. * 0b1..Transmitter enabled in Stop mode.
  18556. */
  18557. #define I2S_TCSR_STOPE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_STOPE_SHIFT)) & I2S_TCSR_STOPE_MASK)
  18558. #define I2S_TCSR_TE_MASK (0x80000000U)
  18559. #define I2S_TCSR_TE_SHIFT (31U)
  18560. /*! TE - Transmitter Enable
  18561. * 0b0..Transmitter is disabled.
  18562. * 0b1..Transmitter is enabled, or transmitter has been disabled and has not yet reached end of frame.
  18563. */
  18564. #define I2S_TCSR_TE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_TE_SHIFT)) & I2S_TCSR_TE_MASK)
  18565. /*! @} */
  18566. /*! @name TCR1 - Transmit Configuration 1 */
  18567. /*! @{ */
  18568. #define I2S_TCR1_TFW_MASK (0x1FU)
  18569. #define I2S_TCR1_TFW_SHIFT (0U)
  18570. /*! TFW - Transmit FIFO Watermark
  18571. */
  18572. #define I2S_TCR1_TFW(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR1_TFW_SHIFT)) & I2S_TCR1_TFW_MASK)
  18573. /*! @} */
  18574. /*! @name TCR2 - Transmit Configuration 2 */
  18575. /*! @{ */
  18576. #define I2S_TCR2_DIV_MASK (0xFFU)
  18577. #define I2S_TCR2_DIV_SHIFT (0U)
  18578. /*! DIV - Bit Clock Divide
  18579. */
  18580. #define I2S_TCR2_DIV(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_DIV_SHIFT)) & I2S_TCR2_DIV_MASK)
  18581. #define I2S_TCR2_BCD_MASK (0x1000000U)
  18582. #define I2S_TCR2_BCD_SHIFT (24U)
  18583. /*! BCD - Bit Clock Direction
  18584. * 0b0..Bit clock is generated externally in Slave mode.
  18585. * 0b1..Bit clock is generated internally in Master mode.
  18586. */
  18587. #define I2S_TCR2_BCD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCD_SHIFT)) & I2S_TCR2_BCD_MASK)
  18588. #define I2S_TCR2_BCP_MASK (0x2000000U)
  18589. #define I2S_TCR2_BCP_SHIFT (25U)
  18590. /*! BCP - Bit Clock Polarity
  18591. * 0b0..Bit clock is active high with drive outputs on rising edge and sample inputs on falling edge.
  18592. * 0b1..Bit clock is active low with drive outputs on falling edge and sample inputs on rising edge.
  18593. */
  18594. #define I2S_TCR2_BCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCP_SHIFT)) & I2S_TCR2_BCP_MASK)
  18595. #define I2S_TCR2_MSEL_MASK (0xC000000U)
  18596. #define I2S_TCR2_MSEL_SHIFT (26U)
  18597. /*! MSEL - MCLK Select
  18598. * 0b00..Bus Clock selected.
  18599. * 0b01..Master Clock (MCLK) 1 option selected.
  18600. * 0b10..Master Clock (MCLK) 2 option selected.
  18601. * 0b11..Master Clock (MCLK) 3 option selected.
  18602. */
  18603. #define I2S_TCR2_MSEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_MSEL_SHIFT)) & I2S_TCR2_MSEL_MASK)
  18604. #define I2S_TCR2_BCI_MASK (0x10000000U)
  18605. #define I2S_TCR2_BCI_SHIFT (28U)
  18606. /*! BCI - Bit Clock Input
  18607. * 0b0..No effect.
  18608. * 0b1..Internal logic is clocked as if bit clock was externally generated.
  18609. */
  18610. #define I2S_TCR2_BCI(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCI_SHIFT)) & I2S_TCR2_BCI_MASK)
  18611. #define I2S_TCR2_BCS_MASK (0x20000000U)
  18612. #define I2S_TCR2_BCS_SHIFT (29U)
  18613. /*! BCS - Bit Clock Swap
  18614. * 0b0..Use the normal bit clock source.
  18615. * 0b1..Swap the bit clock source.
  18616. */
  18617. #define I2S_TCR2_BCS(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCS_SHIFT)) & I2S_TCR2_BCS_MASK)
  18618. #define I2S_TCR2_SYNC_MASK (0x40000000U)
  18619. #define I2S_TCR2_SYNC_SHIFT (30U)
  18620. /*! SYNC - Synchronous Mode
  18621. * 0b0..Asynchronous mode.
  18622. * 0b1..Synchronous with receiver.
  18623. */
  18624. #define I2S_TCR2_SYNC(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_SYNC_SHIFT)) & I2S_TCR2_SYNC_MASK)
  18625. /*! @} */
  18626. /*! @name TCR3 - Transmit Configuration 3 */
  18627. /*! @{ */
  18628. #define I2S_TCR3_WDFL_MASK (0x1FU)
  18629. #define I2S_TCR3_WDFL_SHIFT (0U)
  18630. /*! WDFL - Word Flag Configuration
  18631. */
  18632. #define I2S_TCR3_WDFL(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR3_WDFL_SHIFT)) & I2S_TCR3_WDFL_MASK)
  18633. #define I2S_TCR3_TCE_MASK (0xF0000U) /* Merged from fields with different position or width, of widths (1, 4), largest definition used */
  18634. #define I2S_TCR3_TCE_SHIFT (16U)
  18635. /*! TCE - Transmit Channel Enable
  18636. */
  18637. #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 */
  18638. #define I2S_TCR3_CFR_MASK (0xF000000U)
  18639. #define I2S_TCR3_CFR_SHIFT (24U)
  18640. /*! CFR - Channel FIFO Reset
  18641. */
  18642. #define I2S_TCR3_CFR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR3_CFR_SHIFT)) & I2S_TCR3_CFR_MASK)
  18643. /*! @} */
  18644. /*! @name TCR4 - Transmit Configuration 4 */
  18645. /*! @{ */
  18646. #define I2S_TCR4_FSD_MASK (0x1U)
  18647. #define I2S_TCR4_FSD_SHIFT (0U)
  18648. /*! FSD - Frame Sync Direction
  18649. * 0b0..Frame sync is generated externally in Slave mode.
  18650. * 0b1..Frame sync is generated internally in Master mode.
  18651. */
  18652. #define I2S_TCR4_FSD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSD_SHIFT)) & I2S_TCR4_FSD_MASK)
  18653. #define I2S_TCR4_FSP_MASK (0x2U)
  18654. #define I2S_TCR4_FSP_SHIFT (1U)
  18655. /*! FSP - Frame Sync Polarity
  18656. * 0b0..Frame sync is active high.
  18657. * 0b1..Frame sync is active low.
  18658. */
  18659. #define I2S_TCR4_FSP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSP_SHIFT)) & I2S_TCR4_FSP_MASK)
  18660. #define I2S_TCR4_ONDEM_MASK (0x4U)
  18661. #define I2S_TCR4_ONDEM_SHIFT (2U)
  18662. /*! ONDEM - On Demand Mode
  18663. * 0b0..Internal frame sync is generated continuously.
  18664. * 0b1..Internal frame sync is generated when the FIFO warning flag is clear.
  18665. */
  18666. #define I2S_TCR4_ONDEM(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_ONDEM_SHIFT)) & I2S_TCR4_ONDEM_MASK)
  18667. #define I2S_TCR4_FSE_MASK (0x8U)
  18668. #define I2S_TCR4_FSE_SHIFT (3U)
  18669. /*! FSE - Frame Sync Early
  18670. * 0b0..Frame sync asserts with the first bit of the frame.
  18671. * 0b1..Frame sync asserts one bit before the first bit of the frame.
  18672. */
  18673. #define I2S_TCR4_FSE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSE_SHIFT)) & I2S_TCR4_FSE_MASK)
  18674. #define I2S_TCR4_MF_MASK (0x10U)
  18675. #define I2S_TCR4_MF_SHIFT (4U)
  18676. /*! MF - MSB First
  18677. * 0b0..LSB is transmitted first.
  18678. * 0b1..MSB is transmitted first.
  18679. */
  18680. #define I2S_TCR4_MF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_MF_SHIFT)) & I2S_TCR4_MF_MASK)
  18681. #define I2S_TCR4_CHMOD_MASK (0x20U)
  18682. #define I2S_TCR4_CHMOD_SHIFT (5U)
  18683. /*! CHMOD - Channel Mode
  18684. * 0b0..TDM mode, transmit data pins are tri-stated when slots are masked or channels are disabled.
  18685. * 0b1..Output mode, transmit data pins are never tri-stated and will output zero when slots are masked or channels are disabled.
  18686. */
  18687. #define I2S_TCR4_CHMOD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_CHMOD_SHIFT)) & I2S_TCR4_CHMOD_MASK)
  18688. #define I2S_TCR4_SYWD_MASK (0x1F00U)
  18689. #define I2S_TCR4_SYWD_SHIFT (8U)
  18690. /*! SYWD - Sync Width
  18691. */
  18692. #define I2S_TCR4_SYWD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_SYWD_SHIFT)) & I2S_TCR4_SYWD_MASK)
  18693. #define I2S_TCR4_FRSZ_MASK (0x1F0000U)
  18694. #define I2S_TCR4_FRSZ_SHIFT (16U)
  18695. /*! FRSZ - Frame size
  18696. */
  18697. #define I2S_TCR4_FRSZ(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FRSZ_SHIFT)) & I2S_TCR4_FRSZ_MASK)
  18698. #define I2S_TCR4_FPACK_MASK (0x3000000U)
  18699. #define I2S_TCR4_FPACK_SHIFT (24U)
  18700. /*! FPACK - FIFO Packing Mode
  18701. * 0b00..FIFO packing is disabled.
  18702. * 0b01..Reserved
  18703. * 0b10..8-bit FIFO packing is enabled.
  18704. * 0b11..16-bit FIFO packing is enabled.
  18705. */
  18706. #define I2S_TCR4_FPACK(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FPACK_SHIFT)) & I2S_TCR4_FPACK_MASK)
  18707. #define I2S_TCR4_FCOMB_MASK (0xC000000U)
  18708. #define I2S_TCR4_FCOMB_SHIFT (26U)
  18709. /*! FCOMB - FIFO Combine Mode
  18710. * 0b00..FIFO combine mode disabled.
  18711. * 0b01..FIFO combine mode enabled on FIFO reads (from transmit shift registers).
  18712. * 0b10..FIFO combine mode enabled on FIFO writes (by software).
  18713. * 0b11..FIFO combine mode enabled on FIFO reads (from transmit shift registers) and writes (by software).
  18714. */
  18715. #define I2S_TCR4_FCOMB(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FCOMB_SHIFT)) & I2S_TCR4_FCOMB_MASK)
  18716. #define I2S_TCR4_FCONT_MASK (0x10000000U)
  18717. #define I2S_TCR4_FCONT_SHIFT (28U)
  18718. /*! FCONT - FIFO Continue on Error
  18719. * 0b0..On FIFO error, the SAI will continue from the start of the next frame after the FIFO error flag has been cleared.
  18720. * 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.
  18721. */
  18722. #define I2S_TCR4_FCONT(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FCONT_SHIFT)) & I2S_TCR4_FCONT_MASK)
  18723. /*! @} */
  18724. /*! @name TCR5 - Transmit Configuration 5 */
  18725. /*! @{ */
  18726. #define I2S_TCR5_FBT_MASK (0x1F00U)
  18727. #define I2S_TCR5_FBT_SHIFT (8U)
  18728. /*! FBT - First Bit Shifted
  18729. */
  18730. #define I2S_TCR5_FBT(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_FBT_SHIFT)) & I2S_TCR5_FBT_MASK)
  18731. #define I2S_TCR5_W0W_MASK (0x1F0000U)
  18732. #define I2S_TCR5_W0W_SHIFT (16U)
  18733. /*! W0W - Word 0 Width
  18734. */
  18735. #define I2S_TCR5_W0W(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_W0W_SHIFT)) & I2S_TCR5_W0W_MASK)
  18736. #define I2S_TCR5_WNW_MASK (0x1F000000U)
  18737. #define I2S_TCR5_WNW_SHIFT (24U)
  18738. /*! WNW - Word N Width
  18739. */
  18740. #define I2S_TCR5_WNW(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_WNW_SHIFT)) & I2S_TCR5_WNW_MASK)
  18741. /*! @} */
  18742. /*! @name TDR - Transmit Data */
  18743. /*! @{ */
  18744. #define I2S_TDR_TDR_MASK (0xFFFFFFFFU)
  18745. #define I2S_TDR_TDR_SHIFT (0U)
  18746. /*! TDR - Transmit Data Register
  18747. */
  18748. #define I2S_TDR_TDR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TDR_TDR_SHIFT)) & I2S_TDR_TDR_MASK)
  18749. /*! @} */
  18750. /* The count of I2S_TDR */
  18751. #define I2S_TDR_COUNT (4U)
  18752. /*! @name TFR - Transmit FIFO */
  18753. /*! @{ */
  18754. #define I2S_TFR_RFP_MASK (0x3FU)
  18755. #define I2S_TFR_RFP_SHIFT (0U)
  18756. /*! RFP - Read FIFO Pointer
  18757. */
  18758. #define I2S_TFR_RFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_RFP_SHIFT)) & I2S_TFR_RFP_MASK)
  18759. #define I2S_TFR_WFP_MASK (0x3F0000U)
  18760. #define I2S_TFR_WFP_SHIFT (16U)
  18761. /*! WFP - Write FIFO Pointer
  18762. */
  18763. #define I2S_TFR_WFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_WFP_SHIFT)) & I2S_TFR_WFP_MASK)
  18764. #define I2S_TFR_WCP_MASK (0x80000000U)
  18765. #define I2S_TFR_WCP_SHIFT (31U)
  18766. /*! WCP - Write Channel Pointer
  18767. * 0b0..No effect.
  18768. * 0b1..FIFO combine is enabled for FIFO writes and this FIFO will be written on the next FIFO write.
  18769. */
  18770. #define I2S_TFR_WCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_WCP_SHIFT)) & I2S_TFR_WCP_MASK)
  18771. /*! @} */
  18772. /* The count of I2S_TFR */
  18773. #define I2S_TFR_COUNT (4U)
  18774. /*! @name TMR - Transmit Mask */
  18775. /*! @{ */
  18776. #define I2S_TMR_TWM_MASK (0xFFFFFFFFU)
  18777. #define I2S_TMR_TWM_SHIFT (0U)
  18778. /*! TWM - Transmit Word Mask
  18779. * 0b00000000000000000000000000000000..Word N is enabled.
  18780. * 0b00000000000000000000000000000001..Word N is masked. The transmit data pins are tri-stated or drive zero when masked.
  18781. */
  18782. #define I2S_TMR_TWM(x) (((uint32_t)(((uint32_t)(x)) << I2S_TMR_TWM_SHIFT)) & I2S_TMR_TWM_MASK)
  18783. /*! @} */
  18784. /*! @name RCSR - Receive Control */
  18785. /*! @{ */
  18786. #define I2S_RCSR_FRDE_MASK (0x1U)
  18787. #define I2S_RCSR_FRDE_SHIFT (0U)
  18788. /*! FRDE - FIFO Request DMA Enable
  18789. * 0b0..Disables the DMA request.
  18790. * 0b1..Enables the DMA request.
  18791. */
  18792. #define I2S_RCSR_FRDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRDE_SHIFT)) & I2S_RCSR_FRDE_MASK)
  18793. #define I2S_RCSR_FWDE_MASK (0x2U)
  18794. #define I2S_RCSR_FWDE_SHIFT (1U)
  18795. /*! FWDE - FIFO Warning DMA Enable
  18796. * 0b0..Disables the DMA request.
  18797. * 0b1..Enables the DMA request.
  18798. */
  18799. #define I2S_RCSR_FWDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWDE_SHIFT)) & I2S_RCSR_FWDE_MASK)
  18800. #define I2S_RCSR_FRIE_MASK (0x100U)
  18801. #define I2S_RCSR_FRIE_SHIFT (8U)
  18802. /*! FRIE - FIFO Request Interrupt Enable
  18803. * 0b0..Disables the interrupt.
  18804. * 0b1..Enables the interrupt.
  18805. */
  18806. #define I2S_RCSR_FRIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRIE_SHIFT)) & I2S_RCSR_FRIE_MASK)
  18807. #define I2S_RCSR_FWIE_MASK (0x200U)
  18808. #define I2S_RCSR_FWIE_SHIFT (9U)
  18809. /*! FWIE - FIFO Warning Interrupt Enable
  18810. * 0b0..Disables the interrupt.
  18811. * 0b1..Enables the interrupt.
  18812. */
  18813. #define I2S_RCSR_FWIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWIE_SHIFT)) & I2S_RCSR_FWIE_MASK)
  18814. #define I2S_RCSR_FEIE_MASK (0x400U)
  18815. #define I2S_RCSR_FEIE_SHIFT (10U)
  18816. /*! FEIE - FIFO Error Interrupt Enable
  18817. * 0b0..Disables the interrupt.
  18818. * 0b1..Enables the interrupt.
  18819. */
  18820. #define I2S_RCSR_FEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FEIE_SHIFT)) & I2S_RCSR_FEIE_MASK)
  18821. #define I2S_RCSR_SEIE_MASK (0x800U)
  18822. #define I2S_RCSR_SEIE_SHIFT (11U)
  18823. /*! SEIE - Sync Error Interrupt Enable
  18824. * 0b0..Disables interrupt.
  18825. * 0b1..Enables interrupt.
  18826. */
  18827. #define I2S_RCSR_SEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SEIE_SHIFT)) & I2S_RCSR_SEIE_MASK)
  18828. #define I2S_RCSR_WSIE_MASK (0x1000U)
  18829. #define I2S_RCSR_WSIE_SHIFT (12U)
  18830. /*! WSIE - Word Start Interrupt Enable
  18831. * 0b0..Disables interrupt.
  18832. * 0b1..Enables interrupt.
  18833. */
  18834. #define I2S_RCSR_WSIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_WSIE_SHIFT)) & I2S_RCSR_WSIE_MASK)
  18835. #define I2S_RCSR_FRF_MASK (0x10000U)
  18836. #define I2S_RCSR_FRF_SHIFT (16U)
  18837. /*! FRF - FIFO Request Flag
  18838. * 0b0..Receive FIFO watermark not reached.
  18839. * 0b1..Receive FIFO watermark has been reached.
  18840. */
  18841. #define I2S_RCSR_FRF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRF_SHIFT)) & I2S_RCSR_FRF_MASK)
  18842. #define I2S_RCSR_FWF_MASK (0x20000U)
  18843. #define I2S_RCSR_FWF_SHIFT (17U)
  18844. /*! FWF - FIFO Warning Flag
  18845. * 0b0..No enabled receive FIFO is full.
  18846. * 0b1..Enabled receive FIFO is full.
  18847. */
  18848. #define I2S_RCSR_FWF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWF_SHIFT)) & I2S_RCSR_FWF_MASK)
  18849. #define I2S_RCSR_FEF_MASK (0x40000U)
  18850. #define I2S_RCSR_FEF_SHIFT (18U)
  18851. /*! FEF - FIFO Error Flag
  18852. * 0b0..Receive overflow not detected.
  18853. * 0b1..Receive overflow detected.
  18854. */
  18855. #define I2S_RCSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FEF_SHIFT)) & I2S_RCSR_FEF_MASK)
  18856. #define I2S_RCSR_SEF_MASK (0x80000U)
  18857. #define I2S_RCSR_SEF_SHIFT (19U)
  18858. /*! SEF - Sync Error Flag
  18859. * 0b0..Sync error not detected.
  18860. * 0b1..Frame sync error detected.
  18861. */
  18862. #define I2S_RCSR_SEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SEF_SHIFT)) & I2S_RCSR_SEF_MASK)
  18863. #define I2S_RCSR_WSF_MASK (0x100000U)
  18864. #define I2S_RCSR_WSF_SHIFT (20U)
  18865. /*! WSF - Word Start Flag
  18866. * 0b0..Start of word not detected.
  18867. * 0b1..Start of word detected.
  18868. */
  18869. #define I2S_RCSR_WSF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_WSF_SHIFT)) & I2S_RCSR_WSF_MASK)
  18870. #define I2S_RCSR_SR_MASK (0x1000000U)
  18871. #define I2S_RCSR_SR_SHIFT (24U)
  18872. /*! SR - Software Reset
  18873. * 0b0..No effect.
  18874. * 0b1..Software reset.
  18875. */
  18876. #define I2S_RCSR_SR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SR_SHIFT)) & I2S_RCSR_SR_MASK)
  18877. #define I2S_RCSR_FR_MASK (0x2000000U)
  18878. #define I2S_RCSR_FR_SHIFT (25U)
  18879. /*! FR - FIFO Reset
  18880. * 0b0..No effect.
  18881. * 0b1..FIFO reset.
  18882. */
  18883. #define I2S_RCSR_FR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FR_SHIFT)) & I2S_RCSR_FR_MASK)
  18884. #define I2S_RCSR_BCE_MASK (0x10000000U)
  18885. #define I2S_RCSR_BCE_SHIFT (28U)
  18886. /*! BCE - Bit Clock Enable
  18887. * 0b0..Receive bit clock is disabled.
  18888. * 0b1..Receive bit clock is enabled.
  18889. */
  18890. #define I2S_RCSR_BCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_BCE_SHIFT)) & I2S_RCSR_BCE_MASK)
  18891. #define I2S_RCSR_DBGE_MASK (0x20000000U)
  18892. #define I2S_RCSR_DBGE_SHIFT (29U)
  18893. /*! DBGE - Debug Enable
  18894. * 0b0..Receiver is disabled in Debug mode, after completing the current frame.
  18895. * 0b1..Receiver is enabled in Debug mode.
  18896. */
  18897. #define I2S_RCSR_DBGE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_DBGE_SHIFT)) & I2S_RCSR_DBGE_MASK)
  18898. #define I2S_RCSR_STOPE_MASK (0x40000000U)
  18899. #define I2S_RCSR_STOPE_SHIFT (30U)
  18900. /*! STOPE - Stop Enable
  18901. * 0b0..Receiver disabled in Stop mode.
  18902. * 0b1..Receiver enabled in Stop mode.
  18903. */
  18904. #define I2S_RCSR_STOPE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_STOPE_SHIFT)) & I2S_RCSR_STOPE_MASK)
  18905. #define I2S_RCSR_RE_MASK (0x80000000U)
  18906. #define I2S_RCSR_RE_SHIFT (31U)
  18907. /*! RE - Receiver Enable
  18908. * 0b0..Receiver is disabled.
  18909. * 0b1..Receiver is enabled, or receiver has been disabled and has not yet reached end of frame.
  18910. */
  18911. #define I2S_RCSR_RE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_RE_SHIFT)) & I2S_RCSR_RE_MASK)
  18912. /*! @} */
  18913. /*! @name RCR1 - Receive Configuration 1 */
  18914. /*! @{ */
  18915. #define I2S_RCR1_RFW_MASK (0x1FU)
  18916. #define I2S_RCR1_RFW_SHIFT (0U)
  18917. /*! RFW - Receive FIFO Watermark
  18918. */
  18919. #define I2S_RCR1_RFW(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR1_RFW_SHIFT)) & I2S_RCR1_RFW_MASK)
  18920. /*! @} */
  18921. /*! @name RCR2 - Receive Configuration 2 */
  18922. /*! @{ */
  18923. #define I2S_RCR2_DIV_MASK (0xFFU)
  18924. #define I2S_RCR2_DIV_SHIFT (0U)
  18925. /*! DIV - Bit Clock Divide
  18926. */
  18927. #define I2S_RCR2_DIV(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_DIV_SHIFT)) & I2S_RCR2_DIV_MASK)
  18928. #define I2S_RCR2_BCD_MASK (0x1000000U)
  18929. #define I2S_RCR2_BCD_SHIFT (24U)
  18930. /*! BCD - Bit Clock Direction
  18931. * 0b0..Bit clock is generated externally in Slave mode.
  18932. * 0b1..Bit clock is generated internally in Master mode.
  18933. */
  18934. #define I2S_RCR2_BCD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCD_SHIFT)) & I2S_RCR2_BCD_MASK)
  18935. #define I2S_RCR2_BCP_MASK (0x2000000U)
  18936. #define I2S_RCR2_BCP_SHIFT (25U)
  18937. /*! BCP - Bit Clock Polarity
  18938. * 0b0..Bit Clock is active high with drive outputs on rising edge and sample inputs on falling edge.
  18939. * 0b1..Bit Clock is active low with drive outputs on falling edge and sample inputs on rising edge.
  18940. */
  18941. #define I2S_RCR2_BCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCP_SHIFT)) & I2S_RCR2_BCP_MASK)
  18942. #define I2S_RCR2_MSEL_MASK (0xC000000U)
  18943. #define I2S_RCR2_MSEL_SHIFT (26U)
  18944. /*! MSEL - MCLK Select
  18945. * 0b00..Bus Clock selected.
  18946. * 0b01..Master Clock (MCLK) 1 option selected.
  18947. * 0b10..Master Clock (MCLK) 2 option selected.
  18948. * 0b11..Master Clock (MCLK) 3 option selected.
  18949. */
  18950. #define I2S_RCR2_MSEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_MSEL_SHIFT)) & I2S_RCR2_MSEL_MASK)
  18951. #define I2S_RCR2_BCI_MASK (0x10000000U)
  18952. #define I2S_RCR2_BCI_SHIFT (28U)
  18953. /*! BCI - Bit Clock Input
  18954. * 0b0..No effect.
  18955. * 0b1..Internal logic is clocked as if bit clock was externally generated.
  18956. */
  18957. #define I2S_RCR2_BCI(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCI_SHIFT)) & I2S_RCR2_BCI_MASK)
  18958. #define I2S_RCR2_BCS_MASK (0x20000000U)
  18959. #define I2S_RCR2_BCS_SHIFT (29U)
  18960. /*! BCS - Bit Clock Swap
  18961. * 0b0..Use the normal bit clock source.
  18962. * 0b1..Swap the bit clock source.
  18963. */
  18964. #define I2S_RCR2_BCS(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCS_SHIFT)) & I2S_RCR2_BCS_MASK)
  18965. #define I2S_RCR2_SYNC_MASK (0x40000000U)
  18966. #define I2S_RCR2_SYNC_SHIFT (30U)
  18967. /*! SYNC - Synchronous Mode
  18968. * 0b0..Asynchronous mode.
  18969. * 0b1..Synchronous with transmitter.
  18970. */
  18971. #define I2S_RCR2_SYNC(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_SYNC_SHIFT)) & I2S_RCR2_SYNC_MASK)
  18972. /*! @} */
  18973. /*! @name RCR3 - Receive Configuration 3 */
  18974. /*! @{ */
  18975. #define I2S_RCR3_WDFL_MASK (0x1FU)
  18976. #define I2S_RCR3_WDFL_SHIFT (0U)
  18977. /*! WDFL - Word Flag Configuration
  18978. */
  18979. #define I2S_RCR3_WDFL(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR3_WDFL_SHIFT)) & I2S_RCR3_WDFL_MASK)
  18980. #define I2S_RCR3_RCE_MASK (0xF0000U) /* Merged from fields with different position or width, of widths (1, 4), largest definition used */
  18981. #define I2S_RCR3_RCE_SHIFT (16U)
  18982. /*! RCE - Receive Channel Enable
  18983. */
  18984. #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 */
  18985. #define I2S_RCR3_CFR_MASK (0xF000000U)
  18986. #define I2S_RCR3_CFR_SHIFT (24U)
  18987. /*! CFR - Channel FIFO Reset
  18988. */
  18989. #define I2S_RCR3_CFR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR3_CFR_SHIFT)) & I2S_RCR3_CFR_MASK)
  18990. /*! @} */
  18991. /*! @name RCR4 - Receive Configuration 4 */
  18992. /*! @{ */
  18993. #define I2S_RCR4_FSD_MASK (0x1U)
  18994. #define I2S_RCR4_FSD_SHIFT (0U)
  18995. /*! FSD - Frame Sync Direction
  18996. * 0b0..Frame Sync is generated externally in Slave mode.
  18997. * 0b1..Frame Sync is generated internally in Master mode.
  18998. */
  18999. #define I2S_RCR4_FSD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSD_SHIFT)) & I2S_RCR4_FSD_MASK)
  19000. #define I2S_RCR4_FSP_MASK (0x2U)
  19001. #define I2S_RCR4_FSP_SHIFT (1U)
  19002. /*! FSP - Frame Sync Polarity
  19003. * 0b0..Frame sync is active high.
  19004. * 0b1..Frame sync is active low.
  19005. */
  19006. #define I2S_RCR4_FSP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSP_SHIFT)) & I2S_RCR4_FSP_MASK)
  19007. #define I2S_RCR4_ONDEM_MASK (0x4U)
  19008. #define I2S_RCR4_ONDEM_SHIFT (2U)
  19009. /*! ONDEM - On Demand Mode
  19010. * 0b0..Internal frame sync is generated continuously.
  19011. * 0b1..Internal frame sync is generated when the FIFO warning flag is clear.
  19012. */
  19013. #define I2S_RCR4_ONDEM(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_ONDEM_SHIFT)) & I2S_RCR4_ONDEM_MASK)
  19014. #define I2S_RCR4_FSE_MASK (0x8U)
  19015. #define I2S_RCR4_FSE_SHIFT (3U)
  19016. /*! FSE - Frame Sync Early
  19017. * 0b0..Frame sync asserts with the first bit of the frame.
  19018. * 0b1..Frame sync asserts one bit before the first bit of the frame.
  19019. */
  19020. #define I2S_RCR4_FSE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSE_SHIFT)) & I2S_RCR4_FSE_MASK)
  19021. #define I2S_RCR4_MF_MASK (0x10U)
  19022. #define I2S_RCR4_MF_SHIFT (4U)
  19023. /*! MF - MSB First
  19024. * 0b0..LSB is received first.
  19025. * 0b1..MSB is received first.
  19026. */
  19027. #define I2S_RCR4_MF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_MF_SHIFT)) & I2S_RCR4_MF_MASK)
  19028. #define I2S_RCR4_SYWD_MASK (0x1F00U)
  19029. #define I2S_RCR4_SYWD_SHIFT (8U)
  19030. /*! SYWD - Sync Width
  19031. */
  19032. #define I2S_RCR4_SYWD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_SYWD_SHIFT)) & I2S_RCR4_SYWD_MASK)
  19033. #define I2S_RCR4_FRSZ_MASK (0x1F0000U)
  19034. #define I2S_RCR4_FRSZ_SHIFT (16U)
  19035. /*! FRSZ - Frame Size
  19036. */
  19037. #define I2S_RCR4_FRSZ(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FRSZ_SHIFT)) & I2S_RCR4_FRSZ_MASK)
  19038. #define I2S_RCR4_FPACK_MASK (0x3000000U)
  19039. #define I2S_RCR4_FPACK_SHIFT (24U)
  19040. /*! FPACK - FIFO Packing Mode
  19041. * 0b00..FIFO packing is disabled
  19042. * 0b01..Reserved.
  19043. * 0b10..8-bit FIFO packing is enabled
  19044. * 0b11..16-bit FIFO packing is enabled
  19045. */
  19046. #define I2S_RCR4_FPACK(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FPACK_SHIFT)) & I2S_RCR4_FPACK_MASK)
  19047. #define I2S_RCR4_FCOMB_MASK (0xC000000U)
  19048. #define I2S_RCR4_FCOMB_SHIFT (26U)
  19049. /*! FCOMB - FIFO Combine Mode
  19050. * 0b00..FIFO combine mode disabled.
  19051. * 0b01..FIFO combine mode enabled on FIFO writes (from receive shift registers).
  19052. * 0b10..FIFO combine mode enabled on FIFO reads (by software).
  19053. * 0b11..FIFO combine mode enabled on FIFO writes (from receive shift registers) and reads (by software).
  19054. */
  19055. #define I2S_RCR4_FCOMB(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FCOMB_SHIFT)) & I2S_RCR4_FCOMB_MASK)
  19056. #define I2S_RCR4_FCONT_MASK (0x10000000U)
  19057. #define I2S_RCR4_FCONT_SHIFT (28U)
  19058. /*! FCONT - FIFO Continue on Error
  19059. * 0b0..On FIFO error, the SAI will continue from the start of the next frame after the FIFO error flag has been cleared.
  19060. * 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.
  19061. */
  19062. #define I2S_RCR4_FCONT(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FCONT_SHIFT)) & I2S_RCR4_FCONT_MASK)
  19063. /*! @} */
  19064. /*! @name RCR5 - Receive Configuration 5 */
  19065. /*! @{ */
  19066. #define I2S_RCR5_FBT_MASK (0x1F00U)
  19067. #define I2S_RCR5_FBT_SHIFT (8U)
  19068. /*! FBT - First Bit Shifted
  19069. */
  19070. #define I2S_RCR5_FBT(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_FBT_SHIFT)) & I2S_RCR5_FBT_MASK)
  19071. #define I2S_RCR5_W0W_MASK (0x1F0000U)
  19072. #define I2S_RCR5_W0W_SHIFT (16U)
  19073. /*! W0W - Word 0 Width
  19074. */
  19075. #define I2S_RCR5_W0W(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_W0W_SHIFT)) & I2S_RCR5_W0W_MASK)
  19076. #define I2S_RCR5_WNW_MASK (0x1F000000U)
  19077. #define I2S_RCR5_WNW_SHIFT (24U)
  19078. /*! WNW - Word N Width
  19079. */
  19080. #define I2S_RCR5_WNW(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_WNW_SHIFT)) & I2S_RCR5_WNW_MASK)
  19081. /*! @} */
  19082. /*! @name RDR - Receive Data */
  19083. /*! @{ */
  19084. #define I2S_RDR_RDR_MASK (0xFFFFFFFFU)
  19085. #define I2S_RDR_RDR_SHIFT (0U)
  19086. /*! RDR - Receive Data Register
  19087. */
  19088. #define I2S_RDR_RDR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RDR_RDR_SHIFT)) & I2S_RDR_RDR_MASK)
  19089. /*! @} */
  19090. /* The count of I2S_RDR */
  19091. #define I2S_RDR_COUNT (4U)
  19092. /*! @name RFR - Receive FIFO */
  19093. /*! @{ */
  19094. #define I2S_RFR_RFP_MASK (0x3FU)
  19095. #define I2S_RFR_RFP_SHIFT (0U)
  19096. /*! RFP - Read FIFO Pointer
  19097. */
  19098. #define I2S_RFR_RFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_RFP_SHIFT)) & I2S_RFR_RFP_MASK)
  19099. #define I2S_RFR_RCP_MASK (0x8000U)
  19100. #define I2S_RFR_RCP_SHIFT (15U)
  19101. /*! RCP - Receive Channel Pointer
  19102. * 0b0..No effect.
  19103. * 0b1..FIFO combine is enabled for FIFO reads and this FIFO will be read on the next FIFO read.
  19104. */
  19105. #define I2S_RFR_RCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_RCP_SHIFT)) & I2S_RFR_RCP_MASK)
  19106. #define I2S_RFR_WFP_MASK (0x3F0000U)
  19107. #define I2S_RFR_WFP_SHIFT (16U)
  19108. /*! WFP - Write FIFO Pointer
  19109. */
  19110. #define I2S_RFR_WFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_WFP_SHIFT)) & I2S_RFR_WFP_MASK)
  19111. /*! @} */
  19112. /* The count of I2S_RFR */
  19113. #define I2S_RFR_COUNT (4U)
  19114. /*! @name RMR - Receive Mask */
  19115. /*! @{ */
  19116. #define I2S_RMR_RWM_MASK (0xFFFFFFFFU)
  19117. #define I2S_RMR_RWM_SHIFT (0U)
  19118. /*! RWM - Receive Word Mask
  19119. * 0b00000000000000000000000000000000..Word N is enabled.
  19120. * 0b00000000000000000000000000000001..Word N is masked.
  19121. */
  19122. #define I2S_RMR_RWM(x) (((uint32_t)(((uint32_t)(x)) << I2S_RMR_RWM_SHIFT)) & I2S_RMR_RWM_MASK)
  19123. /*! @} */
  19124. /*!
  19125. * @}
  19126. */ /* end of group I2S_Register_Masks */
  19127. /* I2S - Peripheral instance base addresses */
  19128. /** Peripheral SAI1 base address */
  19129. #define SAI1_BASE (0x40384000u)
  19130. /** Peripheral SAI1 base pointer */
  19131. #define SAI1 ((I2S_Type *)SAI1_BASE)
  19132. /** Peripheral SAI2 base address */
  19133. #define SAI2_BASE (0x40388000u)
  19134. /** Peripheral SAI2 base pointer */
  19135. #define SAI2 ((I2S_Type *)SAI2_BASE)
  19136. /** Peripheral SAI3 base address */
  19137. #define SAI3_BASE (0x4038C000u)
  19138. /** Peripheral SAI3 base pointer */
  19139. #define SAI3 ((I2S_Type *)SAI3_BASE)
  19140. /** Array initializer of I2S peripheral base addresses */
  19141. #define I2S_BASE_ADDRS { 0u, SAI1_BASE, SAI2_BASE, SAI3_BASE }
  19142. /** Array initializer of I2S peripheral base pointers */
  19143. #define I2S_BASE_PTRS { (I2S_Type *)0u, SAI1, SAI2, SAI3 }
  19144. /** Interrupt vectors for the I2S peripheral type */
  19145. #define I2S_RX_IRQS { NotAvail_IRQn, SAI1_IRQn, SAI2_IRQn, SAI3_RX_IRQn }
  19146. #define I2S_TX_IRQS { NotAvail_IRQn, SAI1_IRQn, SAI2_IRQn, SAI3_TX_IRQn }
  19147. /*!
  19148. * @}
  19149. */ /* end of group I2S_Peripheral_Access_Layer */
  19150. /* ----------------------------------------------------------------------------
  19151. -- IOMUXC Peripheral Access Layer
  19152. ---------------------------------------------------------------------------- */
  19153. /*!
  19154. * @addtogroup IOMUXC_Peripheral_Access_Layer IOMUXC Peripheral Access Layer
  19155. * @{
  19156. */
  19157. /** IOMUXC - Register Layout Typedef */
  19158. typedef struct {
  19159. uint8_t RESERVED_0[20];
  19160. __IO uint32_t SW_MUX_CTL_PAD[93]; /**< SW_MUX_CTL_PAD_GPIO_EMC_00 SW MUX Control Register..SW_MUX_CTL_PAD_GPIO_SD_B1_11 SW MUX Control Register, array offset: 0x14, array step: 0x4 */
  19161. __IO uint32_t SW_PAD_CTL_PAD[93]; /**< SW_PAD_CTL_PAD_GPIO_EMC_00 SW PAD Control Register..SW_PAD_CTL_PAD_GPIO_SD_B1_11 SW PAD Control Register, array offset: 0x188, array step: 0x4 */
  19162. __IO uint32_t SELECT_INPUT[114]; /**< ANATOP_USB_OTG_ID_SELECT_INPUT DAISY Register..XBAR1_IN19_SELECT_INPUT DAISY Register, array offset: 0x2FC, array step: 0x4 */
  19163. } IOMUXC_Type;
  19164. /* ----------------------------------------------------------------------------
  19165. -- IOMUXC Register Masks
  19166. ---------------------------------------------------------------------------- */
  19167. /*!
  19168. * @addtogroup IOMUXC_Register_Masks IOMUXC Register Masks
  19169. * @{
  19170. */
  19171. /*! @name SW_MUX_CTL_PAD - SW_MUX_CTL_PAD_GPIO_EMC_00 SW MUX Control Register..SW_MUX_CTL_PAD_GPIO_SD_B1_11 SW MUX Control Register */
  19172. /*! @{ */
  19173. #define IOMUXC_SW_MUX_CTL_PAD_MUX_MODE_MASK (0x7U)
  19174. #define IOMUXC_SW_MUX_CTL_PAD_MUX_MODE_SHIFT (0U)
  19175. /*! MUX_MODE - MUX Mode Select Field.
  19176. * 0b000..Select mux mode: ALT0 mux port: SEMC_DATA00 of instance: semc
  19177. * 0b001..Select mux mode: ALT1 mux port: QTIMER2_TIMER0 of instance: qtimer2
  19178. * 0b010..Select mux mode: ALT2 mux port: LPUART4_CTS_B of instance: lpuart4
  19179. * 0b011..Select mux mode: ALT3 mux port: SPDIF_SR_CLK of instance: spdif
  19180. * 0b100..Select mux mode: ALT4 mux port: LPSPI2_SCK of instance: lpspi2
  19181. * 0b101..Select mux mode: ALT5 mux port: GPIO2_IO00 of instance: gpio2
  19182. * 0b110..Select mux mode: ALT6 mux port: FLEXCAN1_TX of instance: flexcan1
  19183. * 0b111..Select mux mode: ALT7 mux port: PIT_TRIGGER02 of instance: pit
  19184. */
  19185. #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)
  19186. #define IOMUXC_SW_MUX_CTL_PAD_SION_MASK (0x10U)
  19187. #define IOMUXC_SW_MUX_CTL_PAD_SION_SHIFT (4U)
  19188. /*! SION - Software Input On Field.
  19189. * 0b1..Force input path of pad GPIO_EMC_00
  19190. * 0b0..Input Path is determined by functionality
  19191. */
  19192. #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)
  19193. /*! @} */
  19194. /* The count of IOMUXC_SW_MUX_CTL_PAD */
  19195. #define IOMUXC_SW_MUX_CTL_PAD_COUNT (93U)
  19196. /*! @name SW_PAD_CTL_PAD - SW_PAD_CTL_PAD_GPIO_EMC_00 SW PAD Control Register..SW_PAD_CTL_PAD_GPIO_SD_B1_11 SW PAD Control Register */
  19197. /*! @{ */
  19198. #define IOMUXC_SW_PAD_CTL_PAD_SRE_MASK (0x1U)
  19199. #define IOMUXC_SW_PAD_CTL_PAD_SRE_SHIFT (0U)
  19200. /*! SRE - Slew Rate Field
  19201. * 0b0..Slow Slew Rate
  19202. * 0b1..Fast Slew Rate
  19203. */
  19204. #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)
  19205. #define IOMUXC_SW_PAD_CTL_PAD_DSE_MASK (0x38U)
  19206. #define IOMUXC_SW_PAD_CTL_PAD_DSE_SHIFT (3U)
  19207. /*! DSE - Drive Strength Field
  19208. * 0b000..output driver disabled;
  19209. * 0b001..R0(150 Ohm @ 3.3V, 260 Ohm@1.8V)
  19210. * 0b010..R0/2
  19211. * 0b011..R0/3
  19212. * 0b100..R0/4
  19213. * 0b101..R0/5
  19214. * 0b110..R0/6
  19215. * 0b111..R0/7
  19216. */
  19217. #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)
  19218. #define IOMUXC_SW_PAD_CTL_PAD_SPEED_MASK (0xC0U)
  19219. #define IOMUXC_SW_PAD_CTL_PAD_SPEED_SHIFT (6U)
  19220. /*! SPEED - Speed Field
  19221. * 0b00..50MHz
  19222. * 0b01..100MHz - 150MHz
  19223. * 0b10..100MHz - 150MHz
  19224. * 0b11..150MHz - 200MHz
  19225. */
  19226. #define IOMUXC_SW_PAD_CTL_PAD_SPEED(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_SPEED_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_SPEED_MASK)
  19227. #define IOMUXC_SW_PAD_CTL_PAD_ODE_MASK (0x800U)
  19228. #define IOMUXC_SW_PAD_CTL_PAD_ODE_SHIFT (11U)
  19229. /*! ODE - Open Drain Enable Field
  19230. * 0b0..Open Drain Disabled
  19231. * 0b1..Open Drain Enabled
  19232. */
  19233. #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)
  19234. #define IOMUXC_SW_PAD_CTL_PAD_PKE_MASK (0x1000U)
  19235. #define IOMUXC_SW_PAD_CTL_PAD_PKE_SHIFT (12U)
  19236. /*! PKE - Pull / Keep Enable Field
  19237. * 0b0..Pull/Keeper Disabled
  19238. * 0b1..Pull/Keeper Enabled
  19239. */
  19240. #define IOMUXC_SW_PAD_CTL_PAD_PKE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_PKE_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_PKE_MASK)
  19241. #define IOMUXC_SW_PAD_CTL_PAD_PUE_MASK (0x2000U)
  19242. #define IOMUXC_SW_PAD_CTL_PAD_PUE_SHIFT (13U)
  19243. /*! PUE - Pull / Keep Select Field
  19244. * 0b0..Keeper
  19245. * 0b1..Pull
  19246. */
  19247. #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)
  19248. #define IOMUXC_SW_PAD_CTL_PAD_PUS_MASK (0xC000U)
  19249. #define IOMUXC_SW_PAD_CTL_PAD_PUS_SHIFT (14U)
  19250. /*! PUS - Pull Up / Down Config. Field
  19251. * 0b00..100K Ohm Pull Down
  19252. * 0b01..47K Ohm Pull Up
  19253. * 0b10..100K Ohm Pull Up
  19254. * 0b11..22K Ohm Pull Up
  19255. */
  19256. #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)
  19257. #define IOMUXC_SW_PAD_CTL_PAD_HYS_MASK (0x10000U)
  19258. #define IOMUXC_SW_PAD_CTL_PAD_HYS_SHIFT (16U)
  19259. /*! HYS - Hyst. Enable Field
  19260. * 0b0..Hysteresis Disabled
  19261. * 0b1..Hysteresis Enabled
  19262. */
  19263. #define IOMUXC_SW_PAD_CTL_PAD_HYS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_HYS_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_HYS_MASK)
  19264. /*! @} */
  19265. /* The count of IOMUXC_SW_PAD_CTL_PAD */
  19266. #define IOMUXC_SW_PAD_CTL_PAD_COUNT (93U)
  19267. /*! @name SELECT_INPUT - ANATOP_USB_OTG_ID_SELECT_INPUT DAISY Register..XBAR1_IN19_SELECT_INPUT DAISY Register */
  19268. /*! @{ */
  19269. #define IOMUXC_SELECT_INPUT_DAISY_MASK (0x7U) /* Merged from fields with different position or width, of widths (1, 2, 3), largest definition used */
  19270. #define IOMUXC_SELECT_INPUT_DAISY_SHIFT (0U)
  19271. /*! DAISY - Selecting Pads Involved in Daisy Chain.
  19272. * 0b00..Selecting Pad: GPIO_AD_B0_05 for Mode: ALT6
  19273. * 0b01..Selecting Pad: GPIO_AD_B1_11 for Mode: ALT0
  19274. * 0b10..Selecting Pad: GPIO_EMC_40 for Mode: ALT3
  19275. */
  19276. #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, 3), largest definition used */
  19277. /*! @} */
  19278. /* The count of IOMUXC_SELECT_INPUT */
  19279. #define IOMUXC_SELECT_INPUT_COUNT (114U)
  19280. /*!
  19281. * @}
  19282. */ /* end of group IOMUXC_Register_Masks */
  19283. /* IOMUXC - Peripheral instance base addresses */
  19284. /** Peripheral IOMUXC base address */
  19285. #define IOMUXC_BASE (0x401F8000u)
  19286. /** Peripheral IOMUXC base pointer */
  19287. #define IOMUXC ((IOMUXC_Type *)IOMUXC_BASE)
  19288. /** Array initializer of IOMUXC peripheral base addresses */
  19289. #define IOMUXC_BASE_ADDRS { IOMUXC_BASE }
  19290. /** Array initializer of IOMUXC peripheral base pointers */
  19291. #define IOMUXC_BASE_PTRS { IOMUXC }
  19292. /*!
  19293. * @}
  19294. */ /* end of group IOMUXC_Peripheral_Access_Layer */
  19295. /* ----------------------------------------------------------------------------
  19296. -- IOMUXC_GPR Peripheral Access Layer
  19297. ---------------------------------------------------------------------------- */
  19298. /*!
  19299. * @addtogroup IOMUXC_GPR_Peripheral_Access_Layer IOMUXC_GPR Peripheral Access Layer
  19300. * @{
  19301. */
  19302. /** IOMUXC_GPR - Register Layout Typedef */
  19303. typedef struct {
  19304. uint32_t GPR0; /**< GPR0 General Purpose Register, offset: 0x0 */
  19305. __IO uint32_t GPR1; /**< GPR1 General Purpose Register, offset: 0x4 */
  19306. __IO uint32_t GPR2; /**< GPR2 General Purpose Register, offset: 0x8 */
  19307. __IO uint32_t GPR3; /**< GPR3 General Purpose Register, offset: 0xC */
  19308. __IO uint32_t GPR4; /**< GPR4 General Purpose Register, offset: 0x10 */
  19309. __IO uint32_t GPR5; /**< GPR5 General Purpose Register, offset: 0x14 */
  19310. __IO uint32_t GPR6; /**< GPR6 General Purpose Register, offset: 0x18 */
  19311. __IO uint32_t GPR7; /**< GPR7 General Purpose Register, offset: 0x1C */
  19312. __IO uint32_t GPR8; /**< GPR8 General Purpose Register, offset: 0x20 */
  19313. uint32_t GPR9; /**< GPR9 General Purpose Register, offset: 0x24 */
  19314. __IO uint32_t GPR10; /**< GPR10 General Purpose Register, offset: 0x28 */
  19315. __IO uint32_t GPR11; /**< GPR11 General Purpose Register, offset: 0x2C */
  19316. __IO uint32_t GPR12; /**< GPR12 General Purpose Register, offset: 0x30 */
  19317. __IO uint32_t GPR13; /**< GPR13 General Purpose Register, offset: 0x34 */
  19318. __IO uint32_t GPR14; /**< GPR14 General Purpose Register, offset: 0x38 */
  19319. uint32_t GPR15; /**< GPR15 General Purpose Register, offset: 0x3C */
  19320. __IO uint32_t GPR16; /**< GPR16 General Purpose Register, offset: 0x40 */
  19321. __IO uint32_t GPR17; /**< GPR17 General Purpose Register, offset: 0x44 */
  19322. __IO uint32_t GPR18; /**< GPR18 General Purpose Register, offset: 0x48 */
  19323. __IO uint32_t GPR19; /**< GPR19 General Purpose Register, offset: 0x4C */
  19324. __IO uint32_t GPR20; /**< GPR20 General Purpose Register, offset: 0x50 */
  19325. __IO uint32_t GPR21; /**< GPR21 General Purpose Register, offset: 0x54 */
  19326. __IO uint32_t GPR22; /**< GPR22 General Purpose Register, offset: 0x58 */
  19327. __IO uint32_t GPR23; /**< GPR23 General Purpose Register, offset: 0x5C */
  19328. __IO uint32_t GPR24; /**< GPR24 General Purpose Register, offset: 0x60 */
  19329. __IO uint32_t GPR25; /**< GPR25 General Purpose Register, offset: 0x64 */
  19330. } IOMUXC_GPR_Type;
  19331. /* ----------------------------------------------------------------------------
  19332. -- IOMUXC_GPR Register Masks
  19333. ---------------------------------------------------------------------------- */
  19334. /*!
  19335. * @addtogroup IOMUXC_GPR_Register_Masks IOMUXC_GPR Register Masks
  19336. * @{
  19337. */
  19338. /*! @name GPR1 - GPR1 General Purpose Register */
  19339. /*! @{ */
  19340. #define IOMUXC_GPR_GPR1_SAI1_MCLK1_SEL_MASK (0x7U)
  19341. #define IOMUXC_GPR_GPR1_SAI1_MCLK1_SEL_SHIFT (0U)
  19342. /*! SAI1_MCLK1_SEL - SAI1 MCLK1 source select
  19343. * 0b000..ccm.ssi1_clk_root
  19344. * 0b001..ccm.ssi2_clk_root
  19345. * 0b010..ccm.ssi3_clk_root
  19346. * 0b011..iomux.sai1_ipg_clk_sai_mclk
  19347. * 0b100..iomux.sai2_ipg_clk_sai_mclk
  19348. * 0b101..iomux.sai3_ipg_clk_sai_mclk
  19349. * 0b110..Reserved
  19350. * 0b111..Reserved
  19351. */
  19352. #define IOMUXC_GPR_GPR1_SAI1_MCLK1_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_SAI1_MCLK1_SEL_SHIFT)) & IOMUXC_GPR_GPR1_SAI1_MCLK1_SEL_MASK)
  19353. #define IOMUXC_GPR_GPR1_SAI1_MCLK2_SEL_MASK (0x38U)
  19354. #define IOMUXC_GPR_GPR1_SAI1_MCLK2_SEL_SHIFT (3U)
  19355. /*! SAI1_MCLK2_SEL - SAI1 MCLK2 source select
  19356. * 0b000..ccm.ssi1_clk_root
  19357. * 0b001..ccm.ssi2_clk_root
  19358. * 0b010..ccm.ssi3_clk_root
  19359. * 0b011..iomux.sai1_ipg_clk_sai_mclk
  19360. * 0b100..iomux.sai2_ipg_clk_sai_mclk
  19361. * 0b101..iomux.sai3_ipg_clk_sai_mclk
  19362. * 0b110..Reserved
  19363. * 0b111..Reserved
  19364. */
  19365. #define IOMUXC_GPR_GPR1_SAI1_MCLK2_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_SAI1_MCLK2_SEL_SHIFT)) & IOMUXC_GPR_GPR1_SAI1_MCLK2_SEL_MASK)
  19366. #define IOMUXC_GPR_GPR1_SAI1_MCLK3_SEL_MASK (0xC0U)
  19367. #define IOMUXC_GPR_GPR1_SAI1_MCLK3_SEL_SHIFT (6U)
  19368. /*! SAI1_MCLK3_SEL - SAI1 MCLK3 source select
  19369. * 0b00..ccm.spdif0_clk_root
  19370. * 0b01..SPDIF_EXT_CLK
  19371. * 0b10..spdif.spdif_srclk
  19372. * 0b11..spdif.spdif_outclock
  19373. */
  19374. #define IOMUXC_GPR_GPR1_SAI1_MCLK3_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_SAI1_MCLK3_SEL_SHIFT)) & IOMUXC_GPR_GPR1_SAI1_MCLK3_SEL_MASK)
  19375. #define IOMUXC_GPR_GPR1_SAI2_MCLK3_SEL_MASK (0x300U)
  19376. #define IOMUXC_GPR_GPR1_SAI2_MCLK3_SEL_SHIFT (8U)
  19377. /*! SAI2_MCLK3_SEL - SAI2 MCLK3 source select
  19378. * 0b00..ccm.spdif0_clk_root
  19379. * 0b01..SPDIF_EXT_CLK
  19380. * 0b10..spdif.spdif_srclk
  19381. * 0b11..spdif.spdif_outclock
  19382. */
  19383. #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)
  19384. #define IOMUXC_GPR_GPR1_SAI3_MCLK3_SEL_MASK (0xC00U)
  19385. #define IOMUXC_GPR_GPR1_SAI3_MCLK3_SEL_SHIFT (10U)
  19386. /*! SAI3_MCLK3_SEL - SAI3 MCLK3 source select
  19387. * 0b00..ccm.spdif0_clk_root
  19388. * 0b01..SPDIF_EXT_CLK
  19389. * 0b10..spdif.spdif_srclk
  19390. * 0b11..spdif.spdif_outclock
  19391. */
  19392. #define IOMUXC_GPR_GPR1_SAI3_MCLK3_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_SAI3_MCLK3_SEL_SHIFT)) & IOMUXC_GPR_GPR1_SAI3_MCLK3_SEL_MASK)
  19393. #define IOMUXC_GPR_GPR1_GINT_MASK (0x1000U)
  19394. #define IOMUXC_GPR_GPR1_GINT_SHIFT (12U)
  19395. /*! GINT - Global Interrupt
  19396. * 0b0..Global interrupt request is not asserted
  19397. * 0b1..Global interrupt request is asserted
  19398. */
  19399. #define IOMUXC_GPR_GPR1_GINT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_GINT_SHIFT)) & IOMUXC_GPR_GPR1_GINT_MASK)
  19400. #define IOMUXC_GPR_GPR1_ENET_TX_CLK_SEL_MASK (0x2000U)
  19401. #define IOMUXC_GPR_GPR1_ENET_TX_CLK_SEL_SHIFT (13U)
  19402. /*! ENET_TX_CLK_SEL - ENET_TX_CLK select
  19403. * 0b0..Do not use.
  19404. * 0b1..ENET_TX_CLK is the 25MHz MII clock.
  19405. */
  19406. #define IOMUXC_GPR_GPR1_ENET_TX_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_ENET_TX_CLK_SEL_SHIFT)) & IOMUXC_GPR_GPR1_ENET_TX_CLK_SEL_MASK)
  19407. #define IOMUXC_GPR_GPR1_ENET_REF_CLK_DIR_MASK (0x20000U)
  19408. #define IOMUXC_GPR_GPR1_ENET_REF_CLK_DIR_SHIFT (17U)
  19409. /*! ENET_REF_CLK_DIR
  19410. * 0b0..ENET_REF_CLK is input
  19411. * 0b1..ENET_REF_CLK is output driven by ref_enetpll0
  19412. */
  19413. #define IOMUXC_GPR_GPR1_ENET_REF_CLK_DIR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_ENET_REF_CLK_DIR_SHIFT)) & IOMUXC_GPR_GPR1_ENET_REF_CLK_DIR_MASK)
  19414. #define IOMUXC_GPR_GPR1_SAI1_MCLK_DIR_MASK (0x80000U)
  19415. #define IOMUXC_GPR_GPR1_SAI1_MCLK_DIR_SHIFT (19U)
  19416. /*! SAI1_MCLK_DIR - sai1.MCLK signal direction control
  19417. * 0b0..sai1.MCLK is input signal
  19418. * 0b1..sai1.MCLK is output signal
  19419. */
  19420. #define IOMUXC_GPR_GPR1_SAI1_MCLK_DIR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_SAI1_MCLK_DIR_SHIFT)) & IOMUXC_GPR_GPR1_SAI1_MCLK_DIR_MASK)
  19421. #define IOMUXC_GPR_GPR1_SAI2_MCLK_DIR_MASK (0x100000U)
  19422. #define IOMUXC_GPR_GPR1_SAI2_MCLK_DIR_SHIFT (20U)
  19423. /*! SAI2_MCLK_DIR - sai2.MCLK signal direction control
  19424. * 0b0..sai2.MCLK is input signal
  19425. * 0b1..sai2.MCLK is output signal
  19426. */
  19427. #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)
  19428. #define IOMUXC_GPR_GPR1_SAI3_MCLK_DIR_MASK (0x200000U)
  19429. #define IOMUXC_GPR_GPR1_SAI3_MCLK_DIR_SHIFT (21U)
  19430. /*! SAI3_MCLK_DIR - sai3.MCLK signal direction control
  19431. * 0b0..sai3.MCLK is input signal
  19432. * 0b1..sai3.MCLK is output signal
  19433. */
  19434. #define IOMUXC_GPR_GPR1_SAI3_MCLK_DIR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_SAI3_MCLK_DIR_SHIFT)) & IOMUXC_GPR_GPR1_SAI3_MCLK_DIR_MASK)
  19435. #define IOMUXC_GPR_GPR1_EXC_MON_MASK (0x400000U)
  19436. #define IOMUXC_GPR_GPR1_EXC_MON_SHIFT (22U)
  19437. /*! EXC_MON - Exclusive monitor response select of illegal command
  19438. * 0b0..OKAY response
  19439. * 0b1..SLVError response
  19440. */
  19441. #define IOMUXC_GPR_GPR1_EXC_MON(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_EXC_MON_SHIFT)) & IOMUXC_GPR_GPR1_EXC_MON_MASK)
  19442. #define IOMUXC_GPR_GPR1_CM7_FORCE_HCLK_EN_MASK (0x80000000U)
  19443. #define IOMUXC_GPR_GPR1_CM7_FORCE_HCLK_EN_SHIFT (31U)
  19444. /*! CM7_FORCE_HCLK_EN - Arm CM7 platform AHB clock enable
  19445. * 0b0..AHB clock is not running (gated) when CM7 is sleeping and TCM is not accessible
  19446. * 0b1..AHB clock is running (enabled) when CM7 is sleeping and TCM is accessible
  19447. */
  19448. #define IOMUXC_GPR_GPR1_CM7_FORCE_HCLK_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_CM7_FORCE_HCLK_EN_SHIFT)) & IOMUXC_GPR_GPR1_CM7_FORCE_HCLK_EN_MASK)
  19449. /*! @} */
  19450. /*! @name GPR2 - GPR2 General Purpose Register */
  19451. /*! @{ */
  19452. #define IOMUXC_GPR_GPR2_L2_MEM_EN_POWERSAVING_MASK (0x1000U)
  19453. #define IOMUXC_GPR_GPR2_L2_MEM_EN_POWERSAVING_SHIFT (12U)
  19454. /*! L2_MEM_EN_POWERSAVING - Enable power saving features on L2 memory
  19455. * 0b0..Enters power saving mode only when chip is in SUSPEND mode
  19456. * 0b1..Controlled by L2_MEM_DEEPSLEEP bitfield
  19457. */
  19458. #define IOMUXC_GPR_GPR2_L2_MEM_EN_POWERSAVING(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_L2_MEM_EN_POWERSAVING_SHIFT)) & IOMUXC_GPR_GPR2_L2_MEM_EN_POWERSAVING_MASK)
  19459. #define IOMUXC_GPR_GPR2_RAM_AUTO_CLK_GATING_EN_MASK (0x2000U)
  19460. #define IOMUXC_GPR_GPR2_RAM_AUTO_CLK_GATING_EN_SHIFT (13U)
  19461. /*! RAM_AUTO_CLK_GATING_EN
  19462. * 0b0..disable automatically gate off RAM clock
  19463. * 0b1..enable automatically gate off RAM clock
  19464. */
  19465. #define IOMUXC_GPR_GPR2_RAM_AUTO_CLK_GATING_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_RAM_AUTO_CLK_GATING_EN_SHIFT)) & IOMUXC_GPR_GPR2_RAM_AUTO_CLK_GATING_EN_MASK)
  19466. #define IOMUXC_GPR_GPR2_L2_MEM_DEEPSLEEP_MASK (0x4000U)
  19467. #define IOMUXC_GPR_GPR2_L2_MEM_DEEPSLEEP_SHIFT (14U)
  19468. /*! L2_MEM_DEEPSLEEP
  19469. * 0b0..No force sleep control supported, memory deep sleep mode only entered when whole system in stop mode (OCRAM in normal mode)
  19470. * 0b1..Force memory into deep sleep mode (OCRAM in power saving mode)
  19471. */
  19472. #define IOMUXC_GPR_GPR2_L2_MEM_DEEPSLEEP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_L2_MEM_DEEPSLEEP_SHIFT)) & IOMUXC_GPR_GPR2_L2_MEM_DEEPSLEEP_MASK)
  19473. #define IOMUXC_GPR_GPR2_MQS_CLK_DIV_MASK (0xFF0000U)
  19474. #define IOMUXC_GPR_GPR2_MQS_CLK_DIV_SHIFT (16U)
  19475. /*! MQS_CLK_DIV - Divider ratio control for mclk from hmclk. mclk frequency = 1/(n+1) * hmclk frequency.
  19476. * 0b00000000..mclk frequency = 1/1 * hmclk frequency
  19477. * 0b00000001..mclk frequency = 1/2 * hmclk frequency
  19478. * 0b00000010..mclk frequency = 1/3 * hmclk frequency
  19479. * 0b00000011..mclk frequency = 1/4 * hmclk frequency
  19480. * 0b00000100..mclk frequency = 1/5 * hmclk frequency
  19481. * 0b00000101..mclk frequency = 1/6 * hmclk frequency
  19482. * 0b00000110..mclk frequency = 1/7 * hmclk frequency
  19483. * 0b00000111..mclk frequency = 1/8 * hmclk frequency
  19484. * 0b00001000..mclk frequency = 1/9 * hmclk frequency
  19485. * 0b00001001..mclk frequency = 1/10 * hmclk frequency
  19486. * 0b00001010..mclk frequency = 1/11 * hmclk frequency
  19487. * 0b00001011..mclk frequency = 1/12 * hmclk frequency
  19488. * 0b00001100..mclk frequency = 1/13 * hmclk frequency
  19489. * 0b00001101..mclk frequency = 1/14 * hmclk frequency
  19490. * 0b00001110..mclk frequency = 1/15 * hmclk frequency
  19491. * 0b00001111..mclk frequency = 1/16 * hmclk frequency
  19492. * 0b00010000..mclk frequency = 1/17 * hmclk frequency
  19493. * 0b00010001..mclk frequency = 1/18 * hmclk frequency
  19494. * 0b00010010..mclk frequency = 1/19 * hmclk frequency
  19495. * 0b00010011..mclk frequency = 1/20 * hmclk frequency
  19496. * 0b00010100..mclk frequency = 1/21 * hmclk frequency
  19497. * 0b00010101..mclk frequency = 1/22 * hmclk frequency
  19498. * 0b00010110..mclk frequency = 1/23 * hmclk frequency
  19499. * 0b00010111..mclk frequency = 1/24 * hmclk frequency
  19500. * 0b00011000..mclk frequency = 1/25 * hmclk frequency
  19501. * 0b00011001..mclk frequency = 1/26 * hmclk frequency
  19502. * 0b00011010..mclk frequency = 1/27 * hmclk frequency
  19503. * 0b00011011..mclk frequency = 1/28 * hmclk frequency
  19504. * 0b00011100..mclk frequency = 1/29 * hmclk frequency
  19505. * 0b00011101..mclk frequency = 1/30 * hmclk frequency
  19506. * 0b00011110..mclk frequency = 1/31 * hmclk frequency
  19507. * 0b00011111..mclk frequency = 1/32 * hmclk frequency
  19508. * 0b00100000..mclk frequency = 1/33 * hmclk frequency
  19509. * 0b00100001..mclk frequency = 1/34 * hmclk frequency
  19510. * 0b00100010..mclk frequency = 1/35 * hmclk frequency
  19511. * 0b00100011..mclk frequency = 1/36 * hmclk frequency
  19512. * 0b00100100..mclk frequency = 1/37 * hmclk frequency
  19513. * 0b00100101..mclk frequency = 1/38 * hmclk frequency
  19514. * 0b00100110..mclk frequency = 1/39 * hmclk frequency
  19515. * 0b00100111..mclk frequency = 1/40 * hmclk frequency
  19516. * 0b00101000..mclk frequency = 1/41 * hmclk frequency
  19517. * 0b00101001..mclk frequency = 1/42 * hmclk frequency
  19518. * 0b00101010..mclk frequency = 1/43 * hmclk frequency
  19519. * 0b00101011..mclk frequency = 1/44 * hmclk frequency
  19520. * 0b00101100..mclk frequency = 1/45 * hmclk frequency
  19521. * 0b00101101..mclk frequency = 1/46 * hmclk frequency
  19522. * 0b00101110..mclk frequency = 1/47 * hmclk frequency
  19523. * 0b00101111..mclk frequency = 1/48 * hmclk frequency
  19524. * 0b00110000..mclk frequency = 1/49 * hmclk frequency
  19525. * 0b00110001..mclk frequency = 1/50 * hmclk frequency
  19526. * 0b00110010..mclk frequency = 1/51 * hmclk frequency
  19527. * 0b00110011..mclk frequency = 1/52 * hmclk frequency
  19528. * 0b00110100..mclk frequency = 1/53 * hmclk frequency
  19529. * 0b00110101..mclk frequency = 1/54 * hmclk frequency
  19530. * 0b00110110..mclk frequency = 1/55 * hmclk frequency
  19531. * 0b00110111..mclk frequency = 1/56 * hmclk frequency
  19532. * 0b00111000..mclk frequency = 1/57 * hmclk frequency
  19533. * 0b00111001..mclk frequency = 1/58 * hmclk frequency
  19534. * 0b00111010..mclk frequency = 1/59 * hmclk frequency
  19535. * 0b00111011..mclk frequency = 1/60 * hmclk frequency
  19536. * 0b00111100..mclk frequency = 1/61 * hmclk frequency
  19537. * 0b00111101..mclk frequency = 1/62 * hmclk frequency
  19538. * 0b00111110..mclk frequency = 1/63 * hmclk frequency
  19539. * 0b00111111..mclk frequency = 1/64 * hmclk frequency
  19540. * 0b01000000..mclk frequency = 1/65 * hmclk frequency
  19541. * 0b01000001..mclk frequency = 1/66 * hmclk frequency
  19542. * 0b01000010..mclk frequency = 1/67 * hmclk frequency
  19543. * 0b01000011..mclk frequency = 1/68 * hmclk frequency
  19544. * 0b01000100..mclk frequency = 1/69 * hmclk frequency
  19545. * 0b01000101..mclk frequency = 1/70 * hmclk frequency
  19546. * 0b01000110..mclk frequency = 1/71 * hmclk frequency
  19547. * 0b01000111..mclk frequency = 1/72 * hmclk frequency
  19548. * 0b01001000..mclk frequency = 1/73 * hmclk frequency
  19549. * 0b01001001..mclk frequency = 1/74 * hmclk frequency
  19550. * 0b01001010..mclk frequency = 1/75 * hmclk frequency
  19551. * 0b01001011..mclk frequency = 1/76 * hmclk frequency
  19552. * 0b01001100..mclk frequency = 1/77 * hmclk frequency
  19553. * 0b01001101..mclk frequency = 1/78 * hmclk frequency
  19554. * 0b01001110..mclk frequency = 1/79 * hmclk frequency
  19555. * 0b01001111..mclk frequency = 1/80 * hmclk frequency
  19556. * 0b01010000..mclk frequency = 1/81 * hmclk frequency
  19557. * 0b01010001..mclk frequency = 1/82 * hmclk frequency
  19558. * 0b01010010..mclk frequency = 1/83 * hmclk frequency
  19559. * 0b01010011..mclk frequency = 1/84 * hmclk frequency
  19560. * 0b01010100..mclk frequency = 1/85 * hmclk frequency
  19561. * 0b01010101..mclk frequency = 1/86 * hmclk frequency
  19562. * 0b01010110..mclk frequency = 1/87 * hmclk frequency
  19563. * 0b01010111..mclk frequency = 1/88 * hmclk frequency
  19564. * 0b01011000..mclk frequency = 1/89 * hmclk frequency
  19565. * 0b01011001..mclk frequency = 1/90 * hmclk frequency
  19566. * 0b01011010..mclk frequency = 1/91 * hmclk frequency
  19567. * 0b01011011..mclk frequency = 1/92 * hmclk frequency
  19568. * 0b01011100..mclk frequency = 1/93 * hmclk frequency
  19569. * 0b01011101..mclk frequency = 1/94 * hmclk frequency
  19570. * 0b01011110..mclk frequency = 1/95 * hmclk frequency
  19571. * 0b01011111..mclk frequency = 1/96 * hmclk frequency
  19572. * 0b01100000..mclk frequency = 1/97 * hmclk frequency
  19573. * 0b01100001..mclk frequency = 1/98 * hmclk frequency
  19574. * 0b01100010..mclk frequency = 1/99 * hmclk frequency
  19575. * 0b01100011..mclk frequency = 1/100 * hmclk frequency
  19576. * 0b01100100..mclk frequency = 1/101 * hmclk frequency
  19577. * 0b01100101..mclk frequency = 1/102 * hmclk frequency
  19578. * 0b01100110..mclk frequency = 1/103 * hmclk frequency
  19579. * 0b01100111..mclk frequency = 1/104 * hmclk frequency
  19580. * 0b01101000..mclk frequency = 1/105 * hmclk frequency
  19581. * 0b01101001..mclk frequency = 1/106 * hmclk frequency
  19582. * 0b01101010..mclk frequency = 1/107 * hmclk frequency
  19583. * 0b01101011..mclk frequency = 1/108 * hmclk frequency
  19584. * 0b01101100..mclk frequency = 1/109 * hmclk frequency
  19585. * 0b01101101..mclk frequency = 1/110 * hmclk frequency
  19586. * 0b01101110..mclk frequency = 1/111 * hmclk frequency
  19587. * 0b01101111..mclk frequency = 1/112 * hmclk frequency
  19588. * 0b01110000..mclk frequency = 1/113 * hmclk frequency
  19589. * 0b01110001..mclk frequency = 1/114 * hmclk frequency
  19590. * 0b01110010..mclk frequency = 1/115 * hmclk frequency
  19591. * 0b01110011..mclk frequency = 1/116 * hmclk frequency
  19592. * 0b01110100..mclk frequency = 1/117 * hmclk frequency
  19593. * 0b01110101..mclk frequency = 1/118 * hmclk frequency
  19594. * 0b01110110..mclk frequency = 1/119 * hmclk frequency
  19595. * 0b01110111..mclk frequency = 1/120 * hmclk frequency
  19596. * 0b01111000..mclk frequency = 1/121 * hmclk frequency
  19597. * 0b01111001..mclk frequency = 1/122 * hmclk frequency
  19598. * 0b01111010..mclk frequency = 1/123 * hmclk frequency
  19599. * 0b01111011..mclk frequency = 1/124 * hmclk frequency
  19600. * 0b01111100..mclk frequency = 1/125 * hmclk frequency
  19601. * 0b01111101..mclk frequency = 1/126 * hmclk frequency
  19602. * 0b01111110..mclk frequency = 1/127 * hmclk frequency
  19603. * 0b01111111..mclk frequency = 1/128 * hmclk frequency
  19604. * 0b10000000..mclk frequency = 1/129 * hmclk frequency
  19605. * 0b10000001..mclk frequency = 1/130 * hmclk frequency
  19606. * 0b10000010..mclk frequency = 1/131 * hmclk frequency
  19607. * 0b10000011..mclk frequency = 1/132 * hmclk frequency
  19608. * 0b10000100..mclk frequency = 1/133 * hmclk frequency
  19609. * 0b10000101..mclk frequency = 1/134 * hmclk frequency
  19610. * 0b10000110..mclk frequency = 1/135 * hmclk frequency
  19611. * 0b10000111..mclk frequency = 1/136 * hmclk frequency
  19612. * 0b10001000..mclk frequency = 1/137 * hmclk frequency
  19613. * 0b10001001..mclk frequency = 1/138 * hmclk frequency
  19614. * 0b10001010..mclk frequency = 1/139 * hmclk frequency
  19615. * 0b10001011..mclk frequency = 1/140 * hmclk frequency
  19616. * 0b10001100..mclk frequency = 1/141 * hmclk frequency
  19617. * 0b10001101..mclk frequency = 1/142 * hmclk frequency
  19618. * 0b10001110..mclk frequency = 1/143 * hmclk frequency
  19619. * 0b10001111..mclk frequency = 1/144 * hmclk frequency
  19620. * 0b10010000..mclk frequency = 1/145 * hmclk frequency
  19621. * 0b10010001..mclk frequency = 1/146 * hmclk frequency
  19622. * 0b10010010..mclk frequency = 1/147 * hmclk frequency
  19623. * 0b10010011..mclk frequency = 1/148 * hmclk frequency
  19624. * 0b10010100..mclk frequency = 1/149 * hmclk frequency
  19625. * 0b10010101..mclk frequency = 1/150 * hmclk frequency
  19626. * 0b10010110..mclk frequency = 1/151 * hmclk frequency
  19627. * 0b10010111..mclk frequency = 1/152 * hmclk frequency
  19628. * 0b10011000..mclk frequency = 1/153 * hmclk frequency
  19629. * 0b10011001..mclk frequency = 1/154 * hmclk frequency
  19630. * 0b10011010..mclk frequency = 1/155 * hmclk frequency
  19631. * 0b10011011..mclk frequency = 1/156 * hmclk frequency
  19632. * 0b10011100..mclk frequency = 1/157 * hmclk frequency
  19633. * 0b10011101..mclk frequency = 1/158 * hmclk frequency
  19634. * 0b10011110..mclk frequency = 1/159 * hmclk frequency
  19635. * 0b10011111..mclk frequency = 1/160 * hmclk frequency
  19636. * 0b10100000..mclk frequency = 1/161 * hmclk frequency
  19637. * 0b10100001..mclk frequency = 1/162 * hmclk frequency
  19638. * 0b10100010..mclk frequency = 1/163 * hmclk frequency
  19639. * 0b10100011..mclk frequency = 1/164 * hmclk frequency
  19640. * 0b10100100..mclk frequency = 1/165 * hmclk frequency
  19641. * 0b10100101..mclk frequency = 1/166 * hmclk frequency
  19642. * 0b10100110..mclk frequency = 1/167 * hmclk frequency
  19643. * 0b10100111..mclk frequency = 1/168 * hmclk frequency
  19644. * 0b10101000..mclk frequency = 1/169 * hmclk frequency
  19645. * 0b10101001..mclk frequency = 1/170 * hmclk frequency
  19646. * 0b10101010..mclk frequency = 1/171 * hmclk frequency
  19647. * 0b10101011..mclk frequency = 1/172 * hmclk frequency
  19648. * 0b10101100..mclk frequency = 1/173 * hmclk frequency
  19649. * 0b10101101..mclk frequency = 1/174 * hmclk frequency
  19650. * 0b10101110..mclk frequency = 1/175 * hmclk frequency
  19651. * 0b10101111..mclk frequency = 1/176 * hmclk frequency
  19652. * 0b10110000..mclk frequency = 1/177 * hmclk frequency
  19653. * 0b10110001..mclk frequency = 1/178 * hmclk frequency
  19654. * 0b10110010..mclk frequency = 1/179 * hmclk frequency
  19655. * 0b10110011..mclk frequency = 1/180 * hmclk frequency
  19656. * 0b10110100..mclk frequency = 1/181 * hmclk frequency
  19657. * 0b10110101..mclk frequency = 1/182 * hmclk frequency
  19658. * 0b10110110..mclk frequency = 1/183 * hmclk frequency
  19659. * 0b10110111..mclk frequency = 1/184 * hmclk frequency
  19660. * 0b10111000..mclk frequency = 1/185 * hmclk frequency
  19661. * 0b10111001..mclk frequency = 1/186 * hmclk frequency
  19662. * 0b10111010..mclk frequency = 1/187 * hmclk frequency
  19663. * 0b10111011..mclk frequency = 1/188 * hmclk frequency
  19664. * 0b10111100..mclk frequency = 1/189 * hmclk frequency
  19665. * 0b10111101..mclk frequency = 1/190 * hmclk frequency
  19666. * 0b10111110..mclk frequency = 1/191 * hmclk frequency
  19667. * 0b10111111..mclk frequency = 1/192 * hmclk frequency
  19668. * 0b11000000..mclk frequency = 1/193 * hmclk frequency
  19669. * 0b11000001..mclk frequency = 1/194 * hmclk frequency
  19670. * 0b11000010..mclk frequency = 1/195 * hmclk frequency
  19671. * 0b11000011..mclk frequency = 1/196 * hmclk frequency
  19672. * 0b11000100..mclk frequency = 1/197 * hmclk frequency
  19673. * 0b11000101..mclk frequency = 1/198 * hmclk frequency
  19674. * 0b11000110..mclk frequency = 1/199 * hmclk frequency
  19675. * 0b11000111..mclk frequency = 1/200 * hmclk frequency
  19676. * 0b11001000..mclk frequency = 1/201 * hmclk frequency
  19677. * 0b11001001..mclk frequency = 1/202 * hmclk frequency
  19678. * 0b11001010..mclk frequency = 1/203 * hmclk frequency
  19679. * 0b11001011..mclk frequency = 1/204 * hmclk frequency
  19680. * 0b11001100..mclk frequency = 1/205 * hmclk frequency
  19681. * 0b11001101..mclk frequency = 1/206 * hmclk frequency
  19682. * 0b11001110..mclk frequency = 1/207 * hmclk frequency
  19683. * 0b11001111..mclk frequency = 1/208 * hmclk frequency
  19684. * 0b11010000..mclk frequency = 1/209 * hmclk frequency
  19685. * 0b11010001..mclk frequency = 1/210 * hmclk frequency
  19686. * 0b11010010..mclk frequency = 1/211 * hmclk frequency
  19687. * 0b11010011..mclk frequency = 1/212 * hmclk frequency
  19688. * 0b11010100..mclk frequency = 1/213 * hmclk frequency
  19689. * 0b11010101..mclk frequency = 1/214 * hmclk frequency
  19690. * 0b11010110..mclk frequency = 1/215 * hmclk frequency
  19691. * 0b11010111..mclk frequency = 1/216 * hmclk frequency
  19692. * 0b11011000..mclk frequency = 1/217 * hmclk frequency
  19693. * 0b11011001..mclk frequency = 1/218 * hmclk frequency
  19694. * 0b11011010..mclk frequency = 1/219 * hmclk frequency
  19695. * 0b11011011..mclk frequency = 1/220 * hmclk frequency
  19696. * 0b11011100..mclk frequency = 1/221 * hmclk frequency
  19697. * 0b11011101..mclk frequency = 1/222 * hmclk frequency
  19698. * 0b11011110..mclk frequency = 1/223 * hmclk frequency
  19699. * 0b11011111..mclk frequency = 1/224 * hmclk frequency
  19700. * 0b11100000..mclk frequency = 1/225 * hmclk frequency
  19701. * 0b11100001..mclk frequency = 1/226 * hmclk frequency
  19702. * 0b11100010..mclk frequency = 1/227 * hmclk frequency
  19703. * 0b11100011..mclk frequency = 1/228 * hmclk frequency
  19704. * 0b11100100..mclk frequency = 1/229 * hmclk frequency
  19705. * 0b11100101..mclk frequency = 1/230 * hmclk frequency
  19706. * 0b11100110..mclk frequency = 1/231 * hmclk frequency
  19707. * 0b11100111..mclk frequency = 1/232 * hmclk frequency
  19708. * 0b11101000..mclk frequency = 1/233 * hmclk frequency
  19709. * 0b11101001..mclk frequency = 1/234 * hmclk frequency
  19710. * 0b11101010..mclk frequency = 1/235 * hmclk frequency
  19711. * 0b11101011..mclk frequency = 1/236 * hmclk frequency
  19712. * 0b11101100..mclk frequency = 1/237 * hmclk frequency
  19713. * 0b11101101..mclk frequency = 1/238 * hmclk frequency
  19714. * 0b11101110..mclk frequency = 1/239 * hmclk frequency
  19715. * 0b11101111..mclk frequency = 1/240 * hmclk frequency
  19716. * 0b11110000..mclk frequency = 1/241 * hmclk frequency
  19717. * 0b11110001..mclk frequency = 1/242 * hmclk frequency
  19718. * 0b11110010..mclk frequency = 1/243 * hmclk frequency
  19719. * 0b11110011..mclk frequency = 1/244 * hmclk frequency
  19720. * 0b11110100..mclk frequency = 1/245 * hmclk frequency
  19721. * 0b11110101..mclk frequency = 1/246 * hmclk frequency
  19722. * 0b11110110..mclk frequency = 1/247 * hmclk frequency
  19723. * 0b11110111..mclk frequency = 1/248 * hmclk frequency
  19724. * 0b11111000..mclk frequency = 1/249 * hmclk frequency
  19725. * 0b11111001..mclk frequency = 1/250 * hmclk frequency
  19726. * 0b11111010..mclk frequency = 1/251 * hmclk frequency
  19727. * 0b11111011..mclk frequency = 1/252 * hmclk frequency
  19728. * 0b11111100..mclk frequency = 1/253 * hmclk frequency
  19729. * 0b11111101..mclk frequency = 1/254 * hmclk frequency
  19730. * 0b11111110..mclk frequency = 1/255 * hmclk frequency
  19731. * 0b11111111..mclk frequency = 1/256 * hmclk frequency
  19732. */
  19733. #define IOMUXC_GPR_GPR2_MQS_CLK_DIV(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_MQS_CLK_DIV_SHIFT)) & IOMUXC_GPR_GPR2_MQS_CLK_DIV_MASK)
  19734. #define IOMUXC_GPR_GPR2_MQS_SW_RST_MASK (0x1000000U)
  19735. #define IOMUXC_GPR_GPR2_MQS_SW_RST_SHIFT (24U)
  19736. /*! MQS_SW_RST
  19737. * 0b0..Exit software reset for MQS
  19738. * 0b1..Enable software reset for MQS
  19739. */
  19740. #define IOMUXC_GPR_GPR2_MQS_SW_RST(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_MQS_SW_RST_SHIFT)) & IOMUXC_GPR_GPR2_MQS_SW_RST_MASK)
  19741. #define IOMUXC_GPR_GPR2_MQS_EN_MASK (0x2000000U)
  19742. #define IOMUXC_GPR_GPR2_MQS_EN_SHIFT (25U)
  19743. /*! MQS_EN
  19744. * 0b0..Disable MQS
  19745. * 0b1..Enable MQS
  19746. */
  19747. #define IOMUXC_GPR_GPR2_MQS_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_MQS_EN_SHIFT)) & IOMUXC_GPR_GPR2_MQS_EN_MASK)
  19748. #define IOMUXC_GPR_GPR2_MQS_OVERSAMPLE_MASK (0x4000000U)
  19749. #define IOMUXC_GPR_GPR2_MQS_OVERSAMPLE_SHIFT (26U)
  19750. /*! MQS_OVERSAMPLE - Medium Quality Sound (MQS) Oversample
  19751. * 0b0..32
  19752. * 0b1..64
  19753. */
  19754. #define IOMUXC_GPR_GPR2_MQS_OVERSAMPLE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_MQS_OVERSAMPLE_SHIFT)) & IOMUXC_GPR_GPR2_MQS_OVERSAMPLE_MASK)
  19755. #define IOMUXC_GPR_GPR2_QTIMER1_TMR_CNTS_FREEZE_MASK (0x10000000U)
  19756. #define IOMUXC_GPR_GPR2_QTIMER1_TMR_CNTS_FREEZE_SHIFT (28U)
  19757. /*! QTIMER1_TMR_CNTS_FREEZE - QTIMER1 timer counter freeze
  19758. * 0b0..Timer counter works normally
  19759. * 0b1..Reset counter and ouput flags
  19760. */
  19761. #define IOMUXC_GPR_GPR2_QTIMER1_TMR_CNTS_FREEZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_QTIMER1_TMR_CNTS_FREEZE_SHIFT)) & IOMUXC_GPR_GPR2_QTIMER1_TMR_CNTS_FREEZE_MASK)
  19762. #define IOMUXC_GPR_GPR2_QTIMER2_TMR_CNTS_FREEZE_MASK (0x20000000U)
  19763. #define IOMUXC_GPR_GPR2_QTIMER2_TMR_CNTS_FREEZE_SHIFT (29U)
  19764. /*! QTIMER2_TMR_CNTS_FREEZE - QTIMER2 timer counter freeze
  19765. * 0b0..Timer counter works normally
  19766. * 0b1..Reset counter and ouput flags
  19767. */
  19768. #define IOMUXC_GPR_GPR2_QTIMER2_TMR_CNTS_FREEZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_QTIMER2_TMR_CNTS_FREEZE_SHIFT)) & IOMUXC_GPR_GPR2_QTIMER2_TMR_CNTS_FREEZE_MASK)
  19769. /*! @} */
  19770. /*! @name GPR3 - GPR3 General Purpose Register */
  19771. /*! @{ */
  19772. #define IOMUXC_GPR_GPR3_DCP_KEY_SEL_MASK (0x10U)
  19773. #define IOMUXC_GPR_GPR3_DCP_KEY_SEL_SHIFT (4U)
  19774. /*! DCP_KEY_SEL - Select 128-bit DCP key from 256-bit key from SNVS Master Key
  19775. * 0b0..Select [127:0] from SNVS Master Key as DCP key
  19776. * 0b1..Select [255:128] from SNVS Master Key as DCP key
  19777. */
  19778. #define IOMUXC_GPR_GPR3_DCP_KEY_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR3_DCP_KEY_SEL_SHIFT)) & IOMUXC_GPR_GPR3_DCP_KEY_SEL_MASK)
  19779. /*! @} */
  19780. /*! @name GPR4 - GPR4 General Purpose Register */
  19781. /*! @{ */
  19782. #define IOMUXC_GPR_GPR4_EDMA_STOP_REQ_MASK (0x1U)
  19783. #define IOMUXC_GPR_GPR4_EDMA_STOP_REQ_SHIFT (0U)
  19784. /*! EDMA_STOP_REQ - EDMA stop request
  19785. * 0b0..stop request off
  19786. * 0b1..stop request on
  19787. */
  19788. #define IOMUXC_GPR_GPR4_EDMA_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_EDMA_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR4_EDMA_STOP_REQ_MASK)
  19789. #define IOMUXC_GPR_GPR4_CAN1_STOP_REQ_MASK (0x2U)
  19790. #define IOMUXC_GPR_GPR4_CAN1_STOP_REQ_SHIFT (1U)
  19791. /*! CAN1_STOP_REQ - CAN1 stop request
  19792. * 0b0..stop request off
  19793. * 0b1..stop request on
  19794. */
  19795. #define IOMUXC_GPR_GPR4_CAN1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_CAN1_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR4_CAN1_STOP_REQ_MASK)
  19796. #define IOMUXC_GPR_GPR4_CAN2_STOP_REQ_MASK (0x4U)
  19797. #define IOMUXC_GPR_GPR4_CAN2_STOP_REQ_SHIFT (2U)
  19798. /*! CAN2_STOP_REQ - CAN2 stop request
  19799. * 0b0..stop request off
  19800. * 0b1..stop request on
  19801. */
  19802. #define IOMUXC_GPR_GPR4_CAN2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_CAN2_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR4_CAN2_STOP_REQ_MASK)
  19803. #define IOMUXC_GPR_GPR4_TRNG_STOP_REQ_MASK (0x8U)
  19804. #define IOMUXC_GPR_GPR4_TRNG_STOP_REQ_SHIFT (3U)
  19805. /*! TRNG_STOP_REQ - TRNG stop request
  19806. * 0b0..stop request off
  19807. * 0b1..stop request on
  19808. */
  19809. #define IOMUXC_GPR_GPR4_TRNG_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_TRNG_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR4_TRNG_STOP_REQ_MASK)
  19810. #define IOMUXC_GPR_GPR4_ENET_STOP_REQ_MASK (0x10U)
  19811. #define IOMUXC_GPR_GPR4_ENET_STOP_REQ_SHIFT (4U)
  19812. /*! ENET_STOP_REQ - ENET stop request
  19813. * 0b0..stop request off
  19814. * 0b1..stop request on
  19815. */
  19816. #define IOMUXC_GPR_GPR4_ENET_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_ENET_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR4_ENET_STOP_REQ_MASK)
  19817. #define IOMUXC_GPR_GPR4_SAI1_STOP_REQ_MASK (0x20U)
  19818. #define IOMUXC_GPR_GPR4_SAI1_STOP_REQ_SHIFT (5U)
  19819. /*! SAI1_STOP_REQ - SAI1 stop request
  19820. * 0b0..stop request off
  19821. * 0b1..stop request on
  19822. */
  19823. #define IOMUXC_GPR_GPR4_SAI1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_SAI1_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR4_SAI1_STOP_REQ_MASK)
  19824. #define IOMUXC_GPR_GPR4_SAI2_STOP_REQ_MASK (0x40U)
  19825. #define IOMUXC_GPR_GPR4_SAI2_STOP_REQ_SHIFT (6U)
  19826. /*! SAI2_STOP_REQ - SAI2 stop request
  19827. * 0b0..stop request off
  19828. * 0b1..stop request on
  19829. */
  19830. #define IOMUXC_GPR_GPR4_SAI2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_SAI2_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR4_SAI2_STOP_REQ_MASK)
  19831. #define IOMUXC_GPR_GPR4_SAI3_STOP_REQ_MASK (0x80U)
  19832. #define IOMUXC_GPR_GPR4_SAI3_STOP_REQ_SHIFT (7U)
  19833. /*! SAI3_STOP_REQ - SAI3 stop request
  19834. * 0b0..stop request off
  19835. * 0b1..stop request on
  19836. */
  19837. #define IOMUXC_GPR_GPR4_SAI3_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_SAI3_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR4_SAI3_STOP_REQ_MASK)
  19838. #define IOMUXC_GPR_GPR4_SEMC_STOP_REQ_MASK (0x200U)
  19839. #define IOMUXC_GPR_GPR4_SEMC_STOP_REQ_SHIFT (9U)
  19840. /*! SEMC_STOP_REQ - SEMC stop request
  19841. * 0b0..stop request off
  19842. * 0b1..stop request on
  19843. */
  19844. #define IOMUXC_GPR_GPR4_SEMC_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_SEMC_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR4_SEMC_STOP_REQ_MASK)
  19845. #define IOMUXC_GPR_GPR4_PIT_STOP_REQ_MASK (0x400U)
  19846. #define IOMUXC_GPR_GPR4_PIT_STOP_REQ_SHIFT (10U)
  19847. /*! PIT_STOP_REQ - PIT stop request
  19848. * 0b0..stop request off
  19849. * 0b1..stop request on
  19850. */
  19851. #define IOMUXC_GPR_GPR4_PIT_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_PIT_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR4_PIT_STOP_REQ_MASK)
  19852. #define IOMUXC_GPR_GPR4_FLEXSPI_STOP_REQ_MASK (0x800U)
  19853. #define IOMUXC_GPR_GPR4_FLEXSPI_STOP_REQ_SHIFT (11U)
  19854. /*! FLEXSPI_STOP_REQ - FlexSPI stop request
  19855. * 0b0..stop request off
  19856. * 0b1..stop request on
  19857. */
  19858. #define IOMUXC_GPR_GPR4_FLEXSPI_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_FLEXSPI_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR4_FLEXSPI_STOP_REQ_MASK)
  19859. #define IOMUXC_GPR_GPR4_FLEXIO1_STOP_REQ_MASK (0x1000U)
  19860. #define IOMUXC_GPR_GPR4_FLEXIO1_STOP_REQ_SHIFT (12U)
  19861. /*! FLEXIO1_STOP_REQ - FlexIO1 stop request
  19862. * 0b0..stop request off
  19863. * 0b1..stop request on
  19864. */
  19865. #define IOMUXC_GPR_GPR4_FLEXIO1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_FLEXIO1_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR4_FLEXIO1_STOP_REQ_MASK)
  19866. #define IOMUXC_GPR_GPR4_EDMA_STOP_ACK_MASK (0x10000U)
  19867. #define IOMUXC_GPR_GPR4_EDMA_STOP_ACK_SHIFT (16U)
  19868. /*! EDMA_STOP_ACK - EDMA stop acknowledge
  19869. * 0b0..EDMA stop acknowledge is not asserted
  19870. * 0b1..EDMA stop acknowledge is asserted (EDMA is in STOP mode)
  19871. */
  19872. #define IOMUXC_GPR_GPR4_EDMA_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_EDMA_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR4_EDMA_STOP_ACK_MASK)
  19873. #define IOMUXC_GPR_GPR4_CAN1_STOP_ACK_MASK (0x20000U)
  19874. #define IOMUXC_GPR_GPR4_CAN1_STOP_ACK_SHIFT (17U)
  19875. /*! CAN1_STOP_ACK - CAN1 stop acknowledge
  19876. * 0b0..CAN1 stop acknowledge is not asserted
  19877. * 0b1..CAN1 stop acknowledge is asserted
  19878. */
  19879. #define IOMUXC_GPR_GPR4_CAN1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_CAN1_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR4_CAN1_STOP_ACK_MASK)
  19880. #define IOMUXC_GPR_GPR4_CAN2_STOP_ACK_MASK (0x40000U)
  19881. #define IOMUXC_GPR_GPR4_CAN2_STOP_ACK_SHIFT (18U)
  19882. /*! CAN2_STOP_ACK - CAN2 stop acknowledge
  19883. * 0b0..CAN2 stop acknowledge is not asserted
  19884. * 0b1..CAN2 stop acknowledge is asserted
  19885. */
  19886. #define IOMUXC_GPR_GPR4_CAN2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_CAN2_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR4_CAN2_STOP_ACK_MASK)
  19887. #define IOMUXC_GPR_GPR4_TRNG_STOP_ACK_MASK (0x80000U)
  19888. #define IOMUXC_GPR_GPR4_TRNG_STOP_ACK_SHIFT (19U)
  19889. /*! TRNG_STOP_ACK - TRNG stop acknowledge
  19890. * 0b0..TRNG stop acknowledge is not asserted
  19891. * 0b1..TRNG stop acknowledge is asserted
  19892. */
  19893. #define IOMUXC_GPR_GPR4_TRNG_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_TRNG_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR4_TRNG_STOP_ACK_MASK)
  19894. #define IOMUXC_GPR_GPR4_ENET_STOP_ACK_MASK (0x100000U)
  19895. #define IOMUXC_GPR_GPR4_ENET_STOP_ACK_SHIFT (20U)
  19896. /*! ENET_STOP_ACK - ENET stop acknowledge
  19897. * 0b0..ENET stop acknowledge is not asserted
  19898. * 0b1..ENET stop acknowledge is asserted
  19899. */
  19900. #define IOMUXC_GPR_GPR4_ENET_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_ENET_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR4_ENET_STOP_ACK_MASK)
  19901. #define IOMUXC_GPR_GPR4_SAI1_STOP_ACK_MASK (0x200000U)
  19902. #define IOMUXC_GPR_GPR4_SAI1_STOP_ACK_SHIFT (21U)
  19903. /*! SAI1_STOP_ACK - SAI1 stop acknowledge
  19904. * 0b0..SAI1 stop acknowledge is not asserted
  19905. * 0b1..SAI1 stop acknowledge is asserted
  19906. */
  19907. #define IOMUXC_GPR_GPR4_SAI1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_SAI1_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR4_SAI1_STOP_ACK_MASK)
  19908. #define IOMUXC_GPR_GPR4_SAI2_STOP_ACK_MASK (0x400000U)
  19909. #define IOMUXC_GPR_GPR4_SAI2_STOP_ACK_SHIFT (22U)
  19910. /*! SAI2_STOP_ACK - SAI2 stop acknowledge
  19911. * 0b0..SAI2 stop acknowledge is not asserted
  19912. * 0b1..SAI2 stop acknowledge is asserted
  19913. */
  19914. #define IOMUXC_GPR_GPR4_SAI2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_SAI2_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR4_SAI2_STOP_ACK_MASK)
  19915. #define IOMUXC_GPR_GPR4_SAI3_STOP_ACK_MASK (0x800000U)
  19916. #define IOMUXC_GPR_GPR4_SAI3_STOP_ACK_SHIFT (23U)
  19917. /*! SAI3_STOP_ACK - SAI3 stop acknowledge
  19918. * 0b0..SAI3 stop acknowledge is not asserted
  19919. * 0b1..SAI3 stop acknowledge is asserted
  19920. */
  19921. #define IOMUXC_GPR_GPR4_SAI3_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_SAI3_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR4_SAI3_STOP_ACK_MASK)
  19922. #define IOMUXC_GPR_GPR4_SEMC_STOP_ACK_MASK (0x2000000U)
  19923. #define IOMUXC_GPR_GPR4_SEMC_STOP_ACK_SHIFT (25U)
  19924. /*! SEMC_STOP_ACK - SEMC stop acknowledge
  19925. * 0b0..SEMC stop acknowledge is not asserted
  19926. * 0b1..SEMC stop acknowledge is asserted
  19927. */
  19928. #define IOMUXC_GPR_GPR4_SEMC_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_SEMC_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR4_SEMC_STOP_ACK_MASK)
  19929. #define IOMUXC_GPR_GPR4_PIT_STOP_ACK_MASK (0x4000000U)
  19930. #define IOMUXC_GPR_GPR4_PIT_STOP_ACK_SHIFT (26U)
  19931. /*! PIT_STOP_ACK - PIT stop acknowledge
  19932. * 0b0..PIT stop acknowledge is not asserted
  19933. * 0b1..PIT stop acknowledge is asserted
  19934. */
  19935. #define IOMUXC_GPR_GPR4_PIT_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_PIT_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR4_PIT_STOP_ACK_MASK)
  19936. #define IOMUXC_GPR_GPR4_FLEXSPI_STOP_ACK_MASK (0x8000000U)
  19937. #define IOMUXC_GPR_GPR4_FLEXSPI_STOP_ACK_SHIFT (27U)
  19938. /*! FLEXSPI_STOP_ACK - FLEXSPI stop acknowledge
  19939. * 0b0..FLEXSPI stop acknowledge is not asserted
  19940. * 0b1..FLEXSPI stop acknowledge is asserted
  19941. */
  19942. #define IOMUXC_GPR_GPR4_FLEXSPI_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_FLEXSPI_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR4_FLEXSPI_STOP_ACK_MASK)
  19943. #define IOMUXC_GPR_GPR4_FLEXIO1_STOP_ACK_MASK (0x10000000U)
  19944. #define IOMUXC_GPR_GPR4_FLEXIO1_STOP_ACK_SHIFT (28U)
  19945. /*! FLEXIO1_STOP_ACK - FLEXIO1 stop acknowledge
  19946. * 0b0..FLEXIO1 stop acknowledge is not asserted
  19947. * 0b1..FLEXIO1 stop acknowledge is asserted
  19948. */
  19949. #define IOMUXC_GPR_GPR4_FLEXIO1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_FLEXIO1_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR4_FLEXIO1_STOP_ACK_MASK)
  19950. /*! @} */
  19951. /*! @name GPR5 - GPR5 General Purpose Register */
  19952. /*! @{ */
  19953. #define IOMUXC_GPR_GPR5_WDOG1_MASK_MASK (0x40U)
  19954. #define IOMUXC_GPR_GPR5_WDOG1_MASK_SHIFT (6U)
  19955. /*! WDOG1_MASK
  19956. * 0b0..WDOG1 Timeout behaves normally
  19957. * 0b1..WDOG1 Timeout is masked
  19958. */
  19959. #define IOMUXC_GPR_GPR5_WDOG1_MASK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR5_WDOG1_MASK_SHIFT)) & IOMUXC_GPR_GPR5_WDOG1_MASK_MASK)
  19960. #define IOMUXC_GPR_GPR5_WDOG2_MASK_MASK (0x80U)
  19961. #define IOMUXC_GPR_GPR5_WDOG2_MASK_SHIFT (7U)
  19962. /*! WDOG2_MASK
  19963. * 0b0..WDOG2 Timeout behaves normally
  19964. * 0b1..WDOG2 Timeout is masked
  19965. */
  19966. #define IOMUXC_GPR_GPR5_WDOG2_MASK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR5_WDOG2_MASK_SHIFT)) & IOMUXC_GPR_GPR5_WDOG2_MASK_MASK)
  19967. #define IOMUXC_GPR_GPR5_GPT2_CAPIN1_SEL_MASK (0x800000U)
  19968. #define IOMUXC_GPR_GPR5_GPT2_CAPIN1_SEL_SHIFT (23U)
  19969. /*! GPT2_CAPIN1_SEL
  19970. * 0b0..source from GPT2_CAPTURE1
  19971. * 0b1..source from ENET_1588_EVENT3_OUT (chnnal 3 of IEEE 1588 timer)
  19972. */
  19973. #define IOMUXC_GPR_GPR5_GPT2_CAPIN1_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR5_GPT2_CAPIN1_SEL_SHIFT)) & IOMUXC_GPR_GPR5_GPT2_CAPIN1_SEL_MASK)
  19974. #define IOMUXC_GPR_GPR5_ENET_EVENT3IN_SEL_MASK (0x2000000U)
  19975. #define IOMUXC_GPR_GPR5_ENET_EVENT3IN_SEL_SHIFT (25U)
  19976. /*! ENET_EVENT3IN_SEL
  19977. * 0b0..event3 source input from ENET_1588_EVENT3_IN
  19978. * 0b1..event3 source input from GPT2.GPT_COMPARE1
  19979. */
  19980. #define IOMUXC_GPR_GPR5_ENET_EVENT3IN_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR5_ENET_EVENT3IN_SEL_SHIFT)) & IOMUXC_GPR_GPR5_ENET_EVENT3IN_SEL_MASK)
  19981. #define IOMUXC_GPR_GPR5_VREF_1M_CLK_GPT1_MASK (0x10000000U)
  19982. #define IOMUXC_GPR_GPR5_VREF_1M_CLK_GPT1_SHIFT (28U)
  19983. /*! VREF_1M_CLK_GPT1
  19984. * 0b0..GPT1 ipg_clk_highfreq driven by IPG_PERCLK. IPG_PERCLK is derived from either BUS clock or OSC_24M clock.
  19985. * See CCM chapter for more information
  19986. * 0b1..GPT1 ipg_clk_highfreq driven by anatop 1 MHz clock. Anatop 1M clock is derived from the OSC_RC_24M clock.
  19987. * It has two versions: corrected by 32k clock or un-corrected. See the XTALOSC24M_OSC_CONFIG2 register for
  19988. * more details
  19989. */
  19990. #define IOMUXC_GPR_GPR5_VREF_1M_CLK_GPT1(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR5_VREF_1M_CLK_GPT1_SHIFT)) & IOMUXC_GPR_GPR5_VREF_1M_CLK_GPT1_MASK)
  19991. #define IOMUXC_GPR_GPR5_VREF_1M_CLK_GPT2_MASK (0x20000000U)
  19992. #define IOMUXC_GPR_GPR5_VREF_1M_CLK_GPT2_SHIFT (29U)
  19993. /*! VREF_1M_CLK_GPT2
  19994. * 0b0..GPT2 ipg_clk_highfreq driven by IPG_PERCLK. IPG_PERCLK is derived from either BUS clock or OSC_24M clock.
  19995. * See CCM chapter for more information
  19996. * 0b1..GPT2 ipg_clk_highfreq driven by anatop 1 MHz clock. Anatop 1M clock is derived from the OSC_RC_24M clock.
  19997. * It has two versions: corrected by 32k clock or un-corrected. See the XTALOSC24M_OSC_CONFIG2 register for
  19998. * more details
  19999. */
  20000. #define IOMUXC_GPR_GPR5_VREF_1M_CLK_GPT2(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR5_VREF_1M_CLK_GPT2_SHIFT)) & IOMUXC_GPR_GPR5_VREF_1M_CLK_GPT2_MASK)
  20001. /*! @} */
  20002. /*! @name GPR6 - GPR6 General Purpose Register */
  20003. /*! @{ */
  20004. #define IOMUXC_GPR_GPR6_QTIMER1_TRM0_INPUT_SEL_MASK (0x1U)
  20005. #define IOMUXC_GPR_GPR6_QTIMER1_TRM0_INPUT_SEL_SHIFT (0U)
  20006. /*! QTIMER1_TRM0_INPUT_SEL
  20007. * 0b0..input from IOMUX
  20008. * 0b1..input from XBAR
  20009. */
  20010. #define IOMUXC_GPR_GPR6_QTIMER1_TRM0_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_QTIMER1_TRM0_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR6_QTIMER1_TRM0_INPUT_SEL_MASK)
  20011. #define IOMUXC_GPR_GPR6_QTIMER1_TRM1_INPUT_SEL_MASK (0x2U)
  20012. #define IOMUXC_GPR_GPR6_QTIMER1_TRM1_INPUT_SEL_SHIFT (1U)
  20013. /*! QTIMER1_TRM1_INPUT_SEL
  20014. * 0b0..input from IOMUX
  20015. * 0b1..input from XBAR
  20016. */
  20017. #define IOMUXC_GPR_GPR6_QTIMER1_TRM1_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_QTIMER1_TRM1_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR6_QTIMER1_TRM1_INPUT_SEL_MASK)
  20018. #define IOMUXC_GPR_GPR6_QTIMER1_TRM2_INPUT_SEL_MASK (0x4U)
  20019. #define IOMUXC_GPR_GPR6_QTIMER1_TRM2_INPUT_SEL_SHIFT (2U)
  20020. /*! QTIMER1_TRM2_INPUT_SEL
  20021. * 0b0..input from IOMUX
  20022. * 0b1..input from XBAR
  20023. */
  20024. #define IOMUXC_GPR_GPR6_QTIMER1_TRM2_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_QTIMER1_TRM2_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR6_QTIMER1_TRM2_INPUT_SEL_MASK)
  20025. #define IOMUXC_GPR_GPR6_QTIMER1_TRM3_INPUT_SEL_MASK (0x8U)
  20026. #define IOMUXC_GPR_GPR6_QTIMER1_TRM3_INPUT_SEL_SHIFT (3U)
  20027. /*! QTIMER1_TRM3_INPUT_SEL
  20028. * 0b0..input from IOMUX
  20029. * 0b1..input from XBAR
  20030. */
  20031. #define IOMUXC_GPR_GPR6_QTIMER1_TRM3_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_QTIMER1_TRM3_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR6_QTIMER1_TRM3_INPUT_SEL_MASK)
  20032. #define IOMUXC_GPR_GPR6_QTIMER2_TRM0_INPUT_SEL_MASK (0x10U)
  20033. #define IOMUXC_GPR_GPR6_QTIMER2_TRM0_INPUT_SEL_SHIFT (4U)
  20034. /*! QTIMER2_TRM0_INPUT_SEL
  20035. * 0b0..input from IOMUX
  20036. * 0b1..input from XBAR
  20037. */
  20038. #define IOMUXC_GPR_GPR6_QTIMER2_TRM0_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_QTIMER2_TRM0_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR6_QTIMER2_TRM0_INPUT_SEL_MASK)
  20039. #define IOMUXC_GPR_GPR6_QTIMER2_TRM1_INPUT_SEL_MASK (0x20U)
  20040. #define IOMUXC_GPR_GPR6_QTIMER2_TRM1_INPUT_SEL_SHIFT (5U)
  20041. /*! QTIMER2_TRM1_INPUT_SEL
  20042. * 0b0..input from IOMUX
  20043. * 0b1..input from XBAR
  20044. */
  20045. #define IOMUXC_GPR_GPR6_QTIMER2_TRM1_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_QTIMER2_TRM1_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR6_QTIMER2_TRM1_INPUT_SEL_MASK)
  20046. #define IOMUXC_GPR_GPR6_QTIMER2_TRM2_INPUT_SEL_MASK (0x40U)
  20047. #define IOMUXC_GPR_GPR6_QTIMER2_TRM2_INPUT_SEL_SHIFT (6U)
  20048. /*! QTIMER2_TRM2_INPUT_SEL
  20049. * 0b0..input from IOMUX
  20050. * 0b1..input from XBAR
  20051. */
  20052. #define IOMUXC_GPR_GPR6_QTIMER2_TRM2_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_QTIMER2_TRM2_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR6_QTIMER2_TRM2_INPUT_SEL_MASK)
  20053. #define IOMUXC_GPR_GPR6_QTIMER2_TRM3_INPUT_SEL_MASK (0x80U)
  20054. #define IOMUXC_GPR_GPR6_QTIMER2_TRM3_INPUT_SEL_SHIFT (7U)
  20055. /*! QTIMER2_TRM3_INPUT_SEL
  20056. * 0b0..input from IOMUX
  20057. * 0b1..input from XBAR
  20058. */
  20059. #define IOMUXC_GPR_GPR6_QTIMER2_TRM3_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_QTIMER2_TRM3_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR6_QTIMER2_TRM3_INPUT_SEL_MASK)
  20060. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_4_MASK (0x10000U)
  20061. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_4_SHIFT (16U)
  20062. /*! IOMUXC_XBAR_DIR_SEL_4
  20063. * 0b0..XBAR_INOUT as input
  20064. * 0b1..XBAR_INOUT as output
  20065. */
  20066. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_4(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_4_SHIFT)) & IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_4_MASK)
  20067. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_5_MASK (0x20000U)
  20068. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_5_SHIFT (17U)
  20069. /*! IOMUXC_XBAR_DIR_SEL_5
  20070. * 0b0..XBAR_INOUT as input
  20071. * 0b1..XBAR_INOUT as output
  20072. */
  20073. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_5(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_5_SHIFT)) & IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_5_MASK)
  20074. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_6_MASK (0x40000U)
  20075. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_6_SHIFT (18U)
  20076. /*! IOMUXC_XBAR_DIR_SEL_6
  20077. * 0b0..XBAR_INOUT as input
  20078. * 0b1..XBAR_INOUT as output
  20079. */
  20080. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_6(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_6_SHIFT)) & IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_6_MASK)
  20081. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_7_MASK (0x80000U)
  20082. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_7_SHIFT (19U)
  20083. /*! IOMUXC_XBAR_DIR_SEL_7
  20084. * 0b0..XBAR_INOUT as input
  20085. * 0b1..XBAR_INOUT as output
  20086. */
  20087. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_7(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_7_SHIFT)) & IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_7_MASK)
  20088. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_8_MASK (0x100000U)
  20089. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_8_SHIFT (20U)
  20090. /*! IOMUXC_XBAR_DIR_SEL_8
  20091. * 0b0..XBAR_INOUT as input
  20092. * 0b1..XBAR_INOUT as output
  20093. */
  20094. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_8(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_8_SHIFT)) & IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_8_MASK)
  20095. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_9_MASK (0x200000U)
  20096. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_9_SHIFT (21U)
  20097. /*! IOMUXC_XBAR_DIR_SEL_9
  20098. * 0b0..XBAR_INOUT as input
  20099. * 0b1..XBAR_INOUT as output
  20100. */
  20101. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_9(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_9_SHIFT)) & IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_9_MASK)
  20102. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_10_MASK (0x400000U)
  20103. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_10_SHIFT (22U)
  20104. /*! IOMUXC_XBAR_DIR_SEL_10
  20105. * 0b0..XBAR_INOUT as input
  20106. * 0b1..XBAR_INOUT as output
  20107. */
  20108. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_10(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_10_SHIFT)) & IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_10_MASK)
  20109. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_11_MASK (0x800000U)
  20110. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_11_SHIFT (23U)
  20111. /*! IOMUXC_XBAR_DIR_SEL_11
  20112. * 0b0..XBAR_INOUT as input
  20113. * 0b1..XBAR_INOUT as output
  20114. */
  20115. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_11(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_11_SHIFT)) & IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_11_MASK)
  20116. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_12_MASK (0x1000000U)
  20117. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_12_SHIFT (24U)
  20118. /*! IOMUXC_XBAR_DIR_SEL_12
  20119. * 0b0..XBAR_INOUT as input
  20120. * 0b1..XBAR_INOUT as output
  20121. */
  20122. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_12(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_12_SHIFT)) & IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_12_MASK)
  20123. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_13_MASK (0x2000000U)
  20124. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_13_SHIFT (25U)
  20125. /*! IOMUXC_XBAR_DIR_SEL_13
  20126. * 0b0..XBAR_INOUT as input
  20127. * 0b1..XBAR_INOUT as output
  20128. */
  20129. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_13(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_13_SHIFT)) & IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_13_MASK)
  20130. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_14_MASK (0x4000000U)
  20131. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_14_SHIFT (26U)
  20132. /*! IOMUXC_XBAR_DIR_SEL_14
  20133. * 0b0..XBAR_INOUT as input
  20134. * 0b1..XBAR_INOUT as output
  20135. */
  20136. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_14(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_14_SHIFT)) & IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_14_MASK)
  20137. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_15_MASK (0x8000000U)
  20138. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_15_SHIFT (27U)
  20139. /*! IOMUXC_XBAR_DIR_SEL_15
  20140. * 0b0..XBAR_INOUT as input
  20141. * 0b1..XBAR_INOUT as output
  20142. */
  20143. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_15(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_15_SHIFT)) & IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_15_MASK)
  20144. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_16_MASK (0x10000000U)
  20145. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_16_SHIFT (28U)
  20146. /*! IOMUXC_XBAR_DIR_SEL_16
  20147. * 0b0..XBAR_INOUT as input
  20148. * 0b1..XBAR_INOUT as output
  20149. */
  20150. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_16(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_16_SHIFT)) & IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_16_MASK)
  20151. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_17_MASK (0x20000000U)
  20152. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_17_SHIFT (29U)
  20153. /*! IOMUXC_XBAR_DIR_SEL_17
  20154. * 0b0..XBAR_INOUT as input
  20155. * 0b1..XBAR_INOUT as output
  20156. */
  20157. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_17(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_17_SHIFT)) & IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_17_MASK)
  20158. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_18_MASK (0x40000000U)
  20159. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_18_SHIFT (30U)
  20160. /*! IOMUXC_XBAR_DIR_SEL_18
  20161. * 0b0..XBAR_INOUT as input
  20162. * 0b1..XBAR_INOUT as output
  20163. */
  20164. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_18(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_18_SHIFT)) & IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_18_MASK)
  20165. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_19_MASK (0x80000000U)
  20166. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_19_SHIFT (31U)
  20167. /*! IOMUXC_XBAR_DIR_SEL_19
  20168. * 0b0..XBAR_INOUT as input
  20169. * 0b1..XBAR_INOUT as output
  20170. */
  20171. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_19(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_19_SHIFT)) & IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_19_MASK)
  20172. /*! @} */
  20173. /*! @name GPR7 - GPR7 General Purpose Register */
  20174. /*! @{ */
  20175. #define IOMUXC_GPR_GPR7_LPI2C1_STOP_REQ_MASK (0x1U)
  20176. #define IOMUXC_GPR_GPR7_LPI2C1_STOP_REQ_SHIFT (0U)
  20177. /*! LPI2C1_STOP_REQ - LPI2C1 stop request
  20178. * 0b0..stop request off
  20179. * 0b1..stop request on
  20180. */
  20181. #define IOMUXC_GPR_GPR7_LPI2C1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPI2C1_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR7_LPI2C1_STOP_REQ_MASK)
  20182. #define IOMUXC_GPR_GPR7_LPI2C2_STOP_REQ_MASK (0x2U)
  20183. #define IOMUXC_GPR_GPR7_LPI2C2_STOP_REQ_SHIFT (1U)
  20184. /*! LPI2C2_STOP_REQ - LPI2C2 stop request
  20185. * 0b0..stop request off
  20186. * 0b1..stop request on
  20187. */
  20188. #define IOMUXC_GPR_GPR7_LPI2C2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPI2C2_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR7_LPI2C2_STOP_REQ_MASK)
  20189. #define IOMUXC_GPR_GPR7_LPI2C3_STOP_REQ_MASK (0x4U)
  20190. #define IOMUXC_GPR_GPR7_LPI2C3_STOP_REQ_SHIFT (2U)
  20191. /*! LPI2C3_STOP_REQ - LPI2C3 stop request
  20192. * 0b0..stop request off
  20193. * 0b1..stop request on
  20194. */
  20195. #define IOMUXC_GPR_GPR7_LPI2C3_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPI2C3_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR7_LPI2C3_STOP_REQ_MASK)
  20196. #define IOMUXC_GPR_GPR7_LPI2C4_STOP_REQ_MASK (0x8U)
  20197. #define IOMUXC_GPR_GPR7_LPI2C4_STOP_REQ_SHIFT (3U)
  20198. /*! LPI2C4_STOP_REQ - LPI2C4 stop request
  20199. * 0b0..stop request off
  20200. * 0b1..stop request on
  20201. */
  20202. #define IOMUXC_GPR_GPR7_LPI2C4_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPI2C4_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR7_LPI2C4_STOP_REQ_MASK)
  20203. #define IOMUXC_GPR_GPR7_LPSPI1_STOP_REQ_MASK (0x10U)
  20204. #define IOMUXC_GPR_GPR7_LPSPI1_STOP_REQ_SHIFT (4U)
  20205. /*! LPSPI1_STOP_REQ - LPSPI1 stop request
  20206. * 0b0..stop request off
  20207. * 0b1..stop request on
  20208. */
  20209. #define IOMUXC_GPR_GPR7_LPSPI1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPSPI1_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR7_LPSPI1_STOP_REQ_MASK)
  20210. #define IOMUXC_GPR_GPR7_LPSPI2_STOP_REQ_MASK (0x20U)
  20211. #define IOMUXC_GPR_GPR7_LPSPI2_STOP_REQ_SHIFT (5U)
  20212. /*! LPSPI2_STOP_REQ - LPSPI2 stop request
  20213. * 0b0..stop request off
  20214. * 0b1..stop request on
  20215. */
  20216. #define IOMUXC_GPR_GPR7_LPSPI2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPSPI2_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR7_LPSPI2_STOP_REQ_MASK)
  20217. #define IOMUXC_GPR_GPR7_LPSPI3_STOP_REQ_MASK (0x40U)
  20218. #define IOMUXC_GPR_GPR7_LPSPI3_STOP_REQ_SHIFT (6U)
  20219. /*! LPSPI3_STOP_REQ - LPSPI3 stop request
  20220. * 0b0..stop request off
  20221. * 0b1..stop request on
  20222. */
  20223. #define IOMUXC_GPR_GPR7_LPSPI3_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPSPI3_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR7_LPSPI3_STOP_REQ_MASK)
  20224. #define IOMUXC_GPR_GPR7_LPSPI4_STOP_REQ_MASK (0x80U)
  20225. #define IOMUXC_GPR_GPR7_LPSPI4_STOP_REQ_SHIFT (7U)
  20226. /*! LPSPI4_STOP_REQ - LPSPI4 stop request
  20227. * 0b0..stop request off
  20228. * 0b1..stop request on
  20229. */
  20230. #define IOMUXC_GPR_GPR7_LPSPI4_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPSPI4_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR7_LPSPI4_STOP_REQ_MASK)
  20231. #define IOMUXC_GPR_GPR7_LPUART1_STOP_REQ_MASK (0x100U)
  20232. #define IOMUXC_GPR_GPR7_LPUART1_STOP_REQ_SHIFT (8U)
  20233. /*! LPUART1_STOP_REQ - LPUART1 stop request
  20234. * 0b0..stop request off
  20235. * 0b1..stop request on
  20236. */
  20237. #define IOMUXC_GPR_GPR7_LPUART1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPUART1_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR7_LPUART1_STOP_REQ_MASK)
  20238. #define IOMUXC_GPR_GPR7_LPUART2_STOP_REQ_MASK (0x200U)
  20239. #define IOMUXC_GPR_GPR7_LPUART2_STOP_REQ_SHIFT (9U)
  20240. /*! LPUART2_STOP_REQ - LPUART2 stop request
  20241. * 0b0..stop request off
  20242. * 0b1..stop request on
  20243. */
  20244. #define IOMUXC_GPR_GPR7_LPUART2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPUART2_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR7_LPUART2_STOP_REQ_MASK)
  20245. #define IOMUXC_GPR_GPR7_LPUART3_STOP_REQ_MASK (0x400U)
  20246. #define IOMUXC_GPR_GPR7_LPUART3_STOP_REQ_SHIFT (10U)
  20247. /*! LPUART3_STOP_REQ - LPUART3 stop request
  20248. * 0b0..stop request off
  20249. * 0b1..stop request on
  20250. */
  20251. #define IOMUXC_GPR_GPR7_LPUART3_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPUART3_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR7_LPUART3_STOP_REQ_MASK)
  20252. #define IOMUXC_GPR_GPR7_LPUART4_STOP_REQ_MASK (0x800U)
  20253. #define IOMUXC_GPR_GPR7_LPUART4_STOP_REQ_SHIFT (11U)
  20254. /*! LPUART4_STOP_REQ - LPUART4 stop request
  20255. * 0b0..stop request off
  20256. * 0b1..stop request on
  20257. */
  20258. #define IOMUXC_GPR_GPR7_LPUART4_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPUART4_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR7_LPUART4_STOP_REQ_MASK)
  20259. #define IOMUXC_GPR_GPR7_LPUART5_STOP_REQ_MASK (0x1000U)
  20260. #define IOMUXC_GPR_GPR7_LPUART5_STOP_REQ_SHIFT (12U)
  20261. /*! LPUART5_STOP_REQ - LPUART5 stop request
  20262. * 0b0..stop request off
  20263. * 0b1..stop request on
  20264. */
  20265. #define IOMUXC_GPR_GPR7_LPUART5_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPUART5_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR7_LPUART5_STOP_REQ_MASK)
  20266. #define IOMUXC_GPR_GPR7_LPUART6_STOP_REQ_MASK (0x2000U)
  20267. #define IOMUXC_GPR_GPR7_LPUART6_STOP_REQ_SHIFT (13U)
  20268. /*! LPUART6_STOP_REQ - LPUART6 stop request
  20269. * 0b0..stop request off
  20270. * 0b1..stop request on
  20271. */
  20272. #define IOMUXC_GPR_GPR7_LPUART6_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPUART6_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR7_LPUART6_STOP_REQ_MASK)
  20273. #define IOMUXC_GPR_GPR7_LPUART7_STOP_REQ_MASK (0x4000U)
  20274. #define IOMUXC_GPR_GPR7_LPUART7_STOP_REQ_SHIFT (14U)
  20275. /*! LPUART7_STOP_REQ - LPUART7 stop request
  20276. * 0b0..stop request off
  20277. * 0b1..stop request on
  20278. */
  20279. #define IOMUXC_GPR_GPR7_LPUART7_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPUART7_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR7_LPUART7_STOP_REQ_MASK)
  20280. #define IOMUXC_GPR_GPR7_LPUART8_STOP_REQ_MASK (0x8000U)
  20281. #define IOMUXC_GPR_GPR7_LPUART8_STOP_REQ_SHIFT (15U)
  20282. /*! LPUART8_STOP_REQ - LPUART8 stop request
  20283. * 0b0..stop request off
  20284. * 0b1..stop request on
  20285. */
  20286. #define IOMUXC_GPR_GPR7_LPUART8_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPUART8_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR7_LPUART8_STOP_REQ_MASK)
  20287. #define IOMUXC_GPR_GPR7_LPI2C1_STOP_ACK_MASK (0x10000U)
  20288. #define IOMUXC_GPR_GPR7_LPI2C1_STOP_ACK_SHIFT (16U)
  20289. /*! LPI2C1_STOP_ACK - LPI2C1 stop acknowledge
  20290. * 0b0..stop acknowledge is not asserted
  20291. * 0b1..stop acknowledge is asserted (the module is in Stop mode)
  20292. */
  20293. #define IOMUXC_GPR_GPR7_LPI2C1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPI2C1_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR7_LPI2C1_STOP_ACK_MASK)
  20294. #define IOMUXC_GPR_GPR7_LPI2C2_STOP_ACK_MASK (0x20000U)
  20295. #define IOMUXC_GPR_GPR7_LPI2C2_STOP_ACK_SHIFT (17U)
  20296. /*! LPI2C2_STOP_ACK - LPI2C2 stop acknowledge
  20297. * 0b0..stop acknowledge is not asserted
  20298. * 0b1..stop acknowledge is asserted
  20299. */
  20300. #define IOMUXC_GPR_GPR7_LPI2C2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPI2C2_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR7_LPI2C2_STOP_ACK_MASK)
  20301. #define IOMUXC_GPR_GPR7_LPI2C3_STOP_ACK_MASK (0x40000U)
  20302. #define IOMUXC_GPR_GPR7_LPI2C3_STOP_ACK_SHIFT (18U)
  20303. /*! LPI2C3_STOP_ACK - LPI2C3 stop acknowledge
  20304. * 0b0..stop acknowledge is not asserted
  20305. * 0b1..stop acknowledge is asserted
  20306. */
  20307. #define IOMUXC_GPR_GPR7_LPI2C3_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPI2C3_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR7_LPI2C3_STOP_ACK_MASK)
  20308. #define IOMUXC_GPR_GPR7_LPI2C4_STOP_ACK_MASK (0x80000U)
  20309. #define IOMUXC_GPR_GPR7_LPI2C4_STOP_ACK_SHIFT (19U)
  20310. /*! LPI2C4_STOP_ACK - LPI2C4 stop acknowledge
  20311. * 0b0..stop acknowledge is not asserted
  20312. * 0b1..stop acknowledge is asserted
  20313. */
  20314. #define IOMUXC_GPR_GPR7_LPI2C4_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPI2C4_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR7_LPI2C4_STOP_ACK_MASK)
  20315. #define IOMUXC_GPR_GPR7_LPSPI1_STOP_ACK_MASK (0x100000U)
  20316. #define IOMUXC_GPR_GPR7_LPSPI1_STOP_ACK_SHIFT (20U)
  20317. /*! LPSPI1_STOP_ACK - LPSPI1 stop acknowledge
  20318. * 0b0..stop acknowledge is not asserted
  20319. * 0b1..stop acknowledge is asserted
  20320. */
  20321. #define IOMUXC_GPR_GPR7_LPSPI1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPSPI1_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR7_LPSPI1_STOP_ACK_MASK)
  20322. #define IOMUXC_GPR_GPR7_LPSPI2_STOP_ACK_MASK (0x200000U)
  20323. #define IOMUXC_GPR_GPR7_LPSPI2_STOP_ACK_SHIFT (21U)
  20324. /*! LPSPI2_STOP_ACK - LPSPI2 stop acknowledge
  20325. * 0b0..stop acknowledge is not asserted
  20326. * 0b1..stop acknowledge is asserted
  20327. */
  20328. #define IOMUXC_GPR_GPR7_LPSPI2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPSPI2_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR7_LPSPI2_STOP_ACK_MASK)
  20329. #define IOMUXC_GPR_GPR7_LPSPI3_STOP_ACK_MASK (0x400000U)
  20330. #define IOMUXC_GPR_GPR7_LPSPI3_STOP_ACK_SHIFT (22U)
  20331. /*! LPSPI3_STOP_ACK - LPSPI3 stop acknowledge
  20332. * 0b0..stop acknowledge is not asserted
  20333. * 0b1..stop acknowledge is asserted
  20334. */
  20335. #define IOMUXC_GPR_GPR7_LPSPI3_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPSPI3_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR7_LPSPI3_STOP_ACK_MASK)
  20336. #define IOMUXC_GPR_GPR7_LPSPI4_STOP_ACK_MASK (0x800000U)
  20337. #define IOMUXC_GPR_GPR7_LPSPI4_STOP_ACK_SHIFT (23U)
  20338. /*! LPSPI4_STOP_ACK - LPSPI4 stop acknowledge
  20339. * 0b0..stop acknowledge is not asserted
  20340. * 0b1..stop acknowledge is asserted
  20341. */
  20342. #define IOMUXC_GPR_GPR7_LPSPI4_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPSPI4_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR7_LPSPI4_STOP_ACK_MASK)
  20343. #define IOMUXC_GPR_GPR7_LPUART1_STOP_ACK_MASK (0x1000000U)
  20344. #define IOMUXC_GPR_GPR7_LPUART1_STOP_ACK_SHIFT (24U)
  20345. /*! LPUART1_STOP_ACK - LPUART1 stop acknowledge
  20346. * 0b0..stop acknowledge is not asserted
  20347. * 0b1..stop acknowledge is asserted
  20348. */
  20349. #define IOMUXC_GPR_GPR7_LPUART1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPUART1_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR7_LPUART1_STOP_ACK_MASK)
  20350. #define IOMUXC_GPR_GPR7_LPUART2_STOP_ACK_MASK (0x2000000U)
  20351. #define IOMUXC_GPR_GPR7_LPUART2_STOP_ACK_SHIFT (25U)
  20352. /*! LPUART2_STOP_ACK - LPUART2 stop acknowledge
  20353. * 0b0..stop acknowledge is not asserted
  20354. * 0b1..stop acknowledge is asserted
  20355. */
  20356. #define IOMUXC_GPR_GPR7_LPUART2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPUART2_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR7_LPUART2_STOP_ACK_MASK)
  20357. #define IOMUXC_GPR_GPR7_LPUART3_STOP_ACK_MASK (0x4000000U)
  20358. #define IOMUXC_GPR_GPR7_LPUART3_STOP_ACK_SHIFT (26U)
  20359. /*! LPUART3_STOP_ACK - LPUART3 stop acknowledge
  20360. * 0b0..stop acknowledge is not asserted
  20361. * 0b1..stop acknowledge is asserted
  20362. */
  20363. #define IOMUXC_GPR_GPR7_LPUART3_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPUART3_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR7_LPUART3_STOP_ACK_MASK)
  20364. #define IOMUXC_GPR_GPR7_LPUART4_STOP_ACK_MASK (0x8000000U)
  20365. #define IOMUXC_GPR_GPR7_LPUART4_STOP_ACK_SHIFT (27U)
  20366. /*! LPUART4_STOP_ACK - LPUART4 stop acknowledge
  20367. * 0b0..stop acknowledge is not asserted
  20368. * 0b1..stop acknowledge is asserted
  20369. */
  20370. #define IOMUXC_GPR_GPR7_LPUART4_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPUART4_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR7_LPUART4_STOP_ACK_MASK)
  20371. #define IOMUXC_GPR_GPR7_LPUART5_STOP_ACK_MASK (0x10000000U)
  20372. #define IOMUXC_GPR_GPR7_LPUART5_STOP_ACK_SHIFT (28U)
  20373. /*! LPUART5_STOP_ACK - LPUART5 stop acknowledge
  20374. * 0b0..stop acknowledge is not asserted
  20375. * 0b1..stop acknowledge is asserted
  20376. */
  20377. #define IOMUXC_GPR_GPR7_LPUART5_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPUART5_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR7_LPUART5_STOP_ACK_MASK)
  20378. #define IOMUXC_GPR_GPR7_LPUART6_STOP_ACK_MASK (0x20000000U)
  20379. #define IOMUXC_GPR_GPR7_LPUART6_STOP_ACK_SHIFT (29U)
  20380. /*! LPUART6_STOP_ACK - LPUART6 stop acknowledge
  20381. * 0b0..stop acknowledge is not asserted
  20382. * 0b1..stop acknowledge is asserted
  20383. */
  20384. #define IOMUXC_GPR_GPR7_LPUART6_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPUART6_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR7_LPUART6_STOP_ACK_MASK)
  20385. #define IOMUXC_GPR_GPR7_LPUART7_STOP_ACK_MASK (0x40000000U)
  20386. #define IOMUXC_GPR_GPR7_LPUART7_STOP_ACK_SHIFT (30U)
  20387. /*! LPUART7_STOP_ACK - LPUART7 stop acknowledge
  20388. * 0b0..stop acknowledge is not asserted
  20389. * 0b1..stop acknowledge is asserted
  20390. */
  20391. #define IOMUXC_GPR_GPR7_LPUART7_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPUART7_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR7_LPUART7_STOP_ACK_MASK)
  20392. #define IOMUXC_GPR_GPR7_LPUART8_STOP_ACK_MASK (0x80000000U)
  20393. #define IOMUXC_GPR_GPR7_LPUART8_STOP_ACK_SHIFT (31U)
  20394. /*! LPUART8_STOP_ACK - LPUART8 stop acknowledge
  20395. * 0b0..stop acknowledge is not asserted
  20396. * 0b1..stop acknowledge is asserted (the module is in Stop mode)
  20397. */
  20398. #define IOMUXC_GPR_GPR7_LPUART8_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_LPUART8_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR7_LPUART8_STOP_ACK_MASK)
  20399. /*! @} */
  20400. /*! @name GPR8 - GPR8 General Purpose Register */
  20401. /*! @{ */
  20402. #define IOMUXC_GPR_GPR8_LPI2C1_IPG_STOP_MODE_MASK (0x1U)
  20403. #define IOMUXC_GPR_GPR8_LPI2C1_IPG_STOP_MODE_SHIFT (0U)
  20404. /*! LPI2C1_IPG_STOP_MODE
  20405. * 0b0..the module is functional in Stop mode
  20406. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  20407. */
  20408. #define IOMUXC_GPR_GPR8_LPI2C1_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPI2C1_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR8_LPI2C1_IPG_STOP_MODE_MASK)
  20409. #define IOMUXC_GPR_GPR8_LPI2C1_IPG_DOZE_MASK (0x2U)
  20410. #define IOMUXC_GPR_GPR8_LPI2C1_IPG_DOZE_SHIFT (1U)
  20411. /*! LPI2C1_IPG_DOZE
  20412. * 0b0..not in doze mode
  20413. * 0b1..in doze mode
  20414. */
  20415. #define IOMUXC_GPR_GPR8_LPI2C1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPI2C1_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR8_LPI2C1_IPG_DOZE_MASK)
  20416. #define IOMUXC_GPR_GPR8_LPI2C2_IPG_STOP_MODE_MASK (0x4U)
  20417. #define IOMUXC_GPR_GPR8_LPI2C2_IPG_STOP_MODE_SHIFT (2U)
  20418. /*! LPI2C2_IPG_STOP_MODE
  20419. * 0b0..the module is functional in Stop mode
  20420. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  20421. */
  20422. #define IOMUXC_GPR_GPR8_LPI2C2_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPI2C2_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR8_LPI2C2_IPG_STOP_MODE_MASK)
  20423. #define IOMUXC_GPR_GPR8_LPI2C2_IPG_DOZE_MASK (0x8U)
  20424. #define IOMUXC_GPR_GPR8_LPI2C2_IPG_DOZE_SHIFT (3U)
  20425. /*! LPI2C2_IPG_DOZE
  20426. * 0b0..not in doze mode
  20427. * 0b1..in doze mode
  20428. */
  20429. #define IOMUXC_GPR_GPR8_LPI2C2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPI2C2_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR8_LPI2C2_IPG_DOZE_MASK)
  20430. #define IOMUXC_GPR_GPR8_LPI2C3_IPG_STOP_MODE_MASK (0x10U)
  20431. #define IOMUXC_GPR_GPR8_LPI2C3_IPG_STOP_MODE_SHIFT (4U)
  20432. /*! LPI2C3_IPG_STOP_MODE
  20433. * 0b0..the module is functional in Stop mode
  20434. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  20435. */
  20436. #define IOMUXC_GPR_GPR8_LPI2C3_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPI2C3_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR8_LPI2C3_IPG_STOP_MODE_MASK)
  20437. #define IOMUXC_GPR_GPR8_LPI2C3_IPG_DOZE_MASK (0x20U)
  20438. #define IOMUXC_GPR_GPR8_LPI2C3_IPG_DOZE_SHIFT (5U)
  20439. /*! LPI2C3_IPG_DOZE
  20440. * 0b0..not in doze mode
  20441. * 0b1..in doze mode
  20442. */
  20443. #define IOMUXC_GPR_GPR8_LPI2C3_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPI2C3_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR8_LPI2C3_IPG_DOZE_MASK)
  20444. #define IOMUXC_GPR_GPR8_LPI2C4_IPG_STOP_MODE_MASK (0x40U)
  20445. #define IOMUXC_GPR_GPR8_LPI2C4_IPG_STOP_MODE_SHIFT (6U)
  20446. /*! LPI2C4_IPG_STOP_MODE
  20447. * 0b0..the module is functional in Stop mode
  20448. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  20449. */
  20450. #define IOMUXC_GPR_GPR8_LPI2C4_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPI2C4_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR8_LPI2C4_IPG_STOP_MODE_MASK)
  20451. #define IOMUXC_GPR_GPR8_LPI2C4_IPG_DOZE_MASK (0x80U)
  20452. #define IOMUXC_GPR_GPR8_LPI2C4_IPG_DOZE_SHIFT (7U)
  20453. /*! LPI2C4_IPG_DOZE
  20454. * 0b0..not in doze mode
  20455. * 0b1..in doze mode
  20456. */
  20457. #define IOMUXC_GPR_GPR8_LPI2C4_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPI2C4_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR8_LPI2C4_IPG_DOZE_MASK)
  20458. #define IOMUXC_GPR_GPR8_LPSPI1_IPG_STOP_MODE_MASK (0x100U)
  20459. #define IOMUXC_GPR_GPR8_LPSPI1_IPG_STOP_MODE_SHIFT (8U)
  20460. /*! LPSPI1_IPG_STOP_MODE
  20461. * 0b0..the module is functional in Stop mode
  20462. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  20463. */
  20464. #define IOMUXC_GPR_GPR8_LPSPI1_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPSPI1_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR8_LPSPI1_IPG_STOP_MODE_MASK)
  20465. #define IOMUXC_GPR_GPR8_LPSPI1_IPG_DOZE_MASK (0x200U)
  20466. #define IOMUXC_GPR_GPR8_LPSPI1_IPG_DOZE_SHIFT (9U)
  20467. /*! LPSPI1_IPG_DOZE
  20468. * 0b0..not in doze mode
  20469. * 0b1..in doze mode
  20470. */
  20471. #define IOMUXC_GPR_GPR8_LPSPI1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPSPI1_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR8_LPSPI1_IPG_DOZE_MASK)
  20472. #define IOMUXC_GPR_GPR8_LPSPI2_IPG_STOP_MODE_MASK (0x400U)
  20473. #define IOMUXC_GPR_GPR8_LPSPI2_IPG_STOP_MODE_SHIFT (10U)
  20474. /*! LPSPI2_IPG_STOP_MODE
  20475. * 0b0..the module is functional in Stop mode
  20476. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  20477. */
  20478. #define IOMUXC_GPR_GPR8_LPSPI2_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPSPI2_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR8_LPSPI2_IPG_STOP_MODE_MASK)
  20479. #define IOMUXC_GPR_GPR8_LPSPI2_IPG_DOZE_MASK (0x800U)
  20480. #define IOMUXC_GPR_GPR8_LPSPI2_IPG_DOZE_SHIFT (11U)
  20481. /*! LPSPI2_IPG_DOZE
  20482. * 0b0..not in doze mode
  20483. * 0b1..in doze mode
  20484. */
  20485. #define IOMUXC_GPR_GPR8_LPSPI2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPSPI2_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR8_LPSPI2_IPG_DOZE_MASK)
  20486. #define IOMUXC_GPR_GPR8_LPSPI3_IPG_STOP_MODE_MASK (0x1000U)
  20487. #define IOMUXC_GPR_GPR8_LPSPI3_IPG_STOP_MODE_SHIFT (12U)
  20488. /*! LPSPI3_IPG_STOP_MODE
  20489. * 0b0..the module is functional in Stop mode
  20490. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  20491. */
  20492. #define IOMUXC_GPR_GPR8_LPSPI3_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPSPI3_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR8_LPSPI3_IPG_STOP_MODE_MASK)
  20493. #define IOMUXC_GPR_GPR8_LPSPI3_IPG_DOZE_MASK (0x2000U)
  20494. #define IOMUXC_GPR_GPR8_LPSPI3_IPG_DOZE_SHIFT (13U)
  20495. /*! LPSPI3_IPG_DOZE
  20496. * 0b0..not in doze mode
  20497. * 0b1..in doze mode
  20498. */
  20499. #define IOMUXC_GPR_GPR8_LPSPI3_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPSPI3_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR8_LPSPI3_IPG_DOZE_MASK)
  20500. #define IOMUXC_GPR_GPR8_LPSPI4_IPG_STOP_MODE_MASK (0x4000U)
  20501. #define IOMUXC_GPR_GPR8_LPSPI4_IPG_STOP_MODE_SHIFT (14U)
  20502. /*! LPSPI4_IPG_STOP_MODE
  20503. * 0b0..the module is functional in Stop mode
  20504. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  20505. */
  20506. #define IOMUXC_GPR_GPR8_LPSPI4_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPSPI4_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR8_LPSPI4_IPG_STOP_MODE_MASK)
  20507. #define IOMUXC_GPR_GPR8_LPSPI4_IPG_DOZE_MASK (0x8000U)
  20508. #define IOMUXC_GPR_GPR8_LPSPI4_IPG_DOZE_SHIFT (15U)
  20509. /*! LPSPI4_IPG_DOZE
  20510. * 0b0..not in doze mode
  20511. * 0b1..in doze mode
  20512. */
  20513. #define IOMUXC_GPR_GPR8_LPSPI4_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPSPI4_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR8_LPSPI4_IPG_DOZE_MASK)
  20514. #define IOMUXC_GPR_GPR8_LPUART1_IPG_STOP_MODE_MASK (0x10000U)
  20515. #define IOMUXC_GPR_GPR8_LPUART1_IPG_STOP_MODE_SHIFT (16U)
  20516. /*! LPUART1_IPG_STOP_MODE
  20517. * 0b0..the module is functional in Stop mode
  20518. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  20519. */
  20520. #define IOMUXC_GPR_GPR8_LPUART1_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPUART1_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR8_LPUART1_IPG_STOP_MODE_MASK)
  20521. #define IOMUXC_GPR_GPR8_LPUART1_IPG_DOZE_MASK (0x20000U)
  20522. #define IOMUXC_GPR_GPR8_LPUART1_IPG_DOZE_SHIFT (17U)
  20523. /*! LPUART1_IPG_DOZE
  20524. * 0b0..not in doze mode
  20525. * 0b1..in doze mode
  20526. */
  20527. #define IOMUXC_GPR_GPR8_LPUART1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPUART1_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR8_LPUART1_IPG_DOZE_MASK)
  20528. #define IOMUXC_GPR_GPR8_LPUART2_IPG_STOP_MODE_MASK (0x40000U)
  20529. #define IOMUXC_GPR_GPR8_LPUART2_IPG_STOP_MODE_SHIFT (18U)
  20530. /*! LPUART2_IPG_STOP_MODE
  20531. * 0b0..the module is functional in Stop mode
  20532. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  20533. */
  20534. #define IOMUXC_GPR_GPR8_LPUART2_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPUART2_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR8_LPUART2_IPG_STOP_MODE_MASK)
  20535. #define IOMUXC_GPR_GPR8_LPUART2_IPG_DOZE_MASK (0x80000U)
  20536. #define IOMUXC_GPR_GPR8_LPUART2_IPG_DOZE_SHIFT (19U)
  20537. /*! LPUART2_IPG_DOZE
  20538. * 0b0..not in doze mode
  20539. * 0b1..in doze mode
  20540. */
  20541. #define IOMUXC_GPR_GPR8_LPUART2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPUART2_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR8_LPUART2_IPG_DOZE_MASK)
  20542. #define IOMUXC_GPR_GPR8_LPUART3_IPG_STOP_MODE_MASK (0x100000U)
  20543. #define IOMUXC_GPR_GPR8_LPUART3_IPG_STOP_MODE_SHIFT (20U)
  20544. /*! LPUART3_IPG_STOP_MODE
  20545. * 0b0..the module is functional in Stop mode
  20546. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  20547. */
  20548. #define IOMUXC_GPR_GPR8_LPUART3_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPUART3_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR8_LPUART3_IPG_STOP_MODE_MASK)
  20549. #define IOMUXC_GPR_GPR8_LPUART3_IPG_DOZE_MASK (0x200000U)
  20550. #define IOMUXC_GPR_GPR8_LPUART3_IPG_DOZE_SHIFT (21U)
  20551. /*! LPUART3_IPG_DOZE
  20552. * 0b0..not in doze mode
  20553. * 0b1..in doze mode
  20554. */
  20555. #define IOMUXC_GPR_GPR8_LPUART3_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPUART3_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR8_LPUART3_IPG_DOZE_MASK)
  20556. #define IOMUXC_GPR_GPR8_LPUART4_IPG_STOP_MODE_MASK (0x400000U)
  20557. #define IOMUXC_GPR_GPR8_LPUART4_IPG_STOP_MODE_SHIFT (22U)
  20558. /*! LPUART4_IPG_STOP_MODE
  20559. * 0b0..the module is functional in Stop mode
  20560. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  20561. */
  20562. #define IOMUXC_GPR_GPR8_LPUART4_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPUART4_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR8_LPUART4_IPG_STOP_MODE_MASK)
  20563. #define IOMUXC_GPR_GPR8_LPUART4_IPG_DOZE_MASK (0x800000U)
  20564. #define IOMUXC_GPR_GPR8_LPUART4_IPG_DOZE_SHIFT (23U)
  20565. /*! LPUART4_IPG_DOZE
  20566. * 0b0..not in doze mode
  20567. * 0b1..in doze mode
  20568. */
  20569. #define IOMUXC_GPR_GPR8_LPUART4_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPUART4_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR8_LPUART4_IPG_DOZE_MASK)
  20570. #define IOMUXC_GPR_GPR8_LPUART5_IPG_STOP_MODE_MASK (0x1000000U)
  20571. #define IOMUXC_GPR_GPR8_LPUART5_IPG_STOP_MODE_SHIFT (24U)
  20572. /*! LPUART5_IPG_STOP_MODE
  20573. * 0b0..the module is functional in Stop mode
  20574. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  20575. */
  20576. #define IOMUXC_GPR_GPR8_LPUART5_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPUART5_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR8_LPUART5_IPG_STOP_MODE_MASK)
  20577. #define IOMUXC_GPR_GPR8_LPUART5_IPG_DOZE_MASK (0x2000000U)
  20578. #define IOMUXC_GPR_GPR8_LPUART5_IPG_DOZE_SHIFT (25U)
  20579. /*! LPUART5_IPG_DOZE
  20580. * 0b0..not in doze mode
  20581. * 0b1..in doze mode
  20582. */
  20583. #define IOMUXC_GPR_GPR8_LPUART5_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPUART5_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR8_LPUART5_IPG_DOZE_MASK)
  20584. #define IOMUXC_GPR_GPR8_LPUART6_IPG_STOP_MODE_MASK (0x4000000U)
  20585. #define IOMUXC_GPR_GPR8_LPUART6_IPG_STOP_MODE_SHIFT (26U)
  20586. /*! LPUART6_IPG_STOP_MODE
  20587. * 0b0..the module is functional in Stop mode
  20588. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  20589. */
  20590. #define IOMUXC_GPR_GPR8_LPUART6_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPUART6_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR8_LPUART6_IPG_STOP_MODE_MASK)
  20591. #define IOMUXC_GPR_GPR8_LPUART6_IPG_DOZE_MASK (0x8000000U)
  20592. #define IOMUXC_GPR_GPR8_LPUART6_IPG_DOZE_SHIFT (27U)
  20593. /*! LPUART6_IPG_DOZE
  20594. * 0b0..not in doze mode
  20595. * 0b1..in doze mode
  20596. */
  20597. #define IOMUXC_GPR_GPR8_LPUART6_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPUART6_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR8_LPUART6_IPG_DOZE_MASK)
  20598. #define IOMUXC_GPR_GPR8_LPUART7_IPG_STOP_MODE_MASK (0x10000000U)
  20599. #define IOMUXC_GPR_GPR8_LPUART7_IPG_STOP_MODE_SHIFT (28U)
  20600. /*! LPUART7_IPG_STOP_MODE
  20601. * 0b0..the module is functional in Stop mode
  20602. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  20603. */
  20604. #define IOMUXC_GPR_GPR8_LPUART7_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPUART7_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR8_LPUART7_IPG_STOP_MODE_MASK)
  20605. #define IOMUXC_GPR_GPR8_LPUART7_IPG_DOZE_MASK (0x20000000U)
  20606. #define IOMUXC_GPR_GPR8_LPUART7_IPG_DOZE_SHIFT (29U)
  20607. /*! LPUART7_IPG_DOZE
  20608. * 0b0..not in doze mode
  20609. * 0b1..in doze mode
  20610. */
  20611. #define IOMUXC_GPR_GPR8_LPUART7_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPUART7_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR8_LPUART7_IPG_DOZE_MASK)
  20612. #define IOMUXC_GPR_GPR8_LPUART8_IPG_STOP_MODE_MASK (0x40000000U)
  20613. #define IOMUXC_GPR_GPR8_LPUART8_IPG_STOP_MODE_SHIFT (30U)
  20614. /*! LPUART8_IPG_STOP_MODE
  20615. * 0b0..the module is functional in Stop mode
  20616. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  20617. */
  20618. #define IOMUXC_GPR_GPR8_LPUART8_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPUART8_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR8_LPUART8_IPG_STOP_MODE_MASK)
  20619. #define IOMUXC_GPR_GPR8_LPUART8_IPG_DOZE_MASK (0x80000000U)
  20620. #define IOMUXC_GPR_GPR8_LPUART8_IPG_DOZE_SHIFT (31U)
  20621. /*! LPUART8_IPG_DOZE
  20622. * 0b0..not in doze mode
  20623. * 0b1..in doze mode
  20624. */
  20625. #define IOMUXC_GPR_GPR8_LPUART8_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_LPUART8_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR8_LPUART8_IPG_DOZE_MASK)
  20626. /*! @} */
  20627. /*! @name GPR10 - GPR10 General Purpose Register */
  20628. /*! @{ */
  20629. #define IOMUXC_GPR_GPR10_NIDEN_MASK (0x1U)
  20630. #define IOMUXC_GPR_GPR10_NIDEN_SHIFT (0U)
  20631. /*! NIDEN - Arm non-secure (non-invasive) debug enable
  20632. * 0b0..Debug turned off
  20633. * 0b1..Debug enabled (default)
  20634. */
  20635. #define IOMUXC_GPR_GPR10_NIDEN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR10_NIDEN_SHIFT)) & IOMUXC_GPR_GPR10_NIDEN_MASK)
  20636. #define IOMUXC_GPR_GPR10_DBG_EN_MASK (0x2U)
  20637. #define IOMUXC_GPR_GPR10_DBG_EN_SHIFT (1U)
  20638. /*! DBG_EN - Arm invasive debug enable
  20639. * 0b0..Debug turned off
  20640. * 0b1..Debug enabled (default)
  20641. */
  20642. #define IOMUXC_GPR_GPR10_DBG_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR10_DBG_EN_SHIFT)) & IOMUXC_GPR_GPR10_DBG_EN_MASK)
  20643. #define IOMUXC_GPR_GPR10_SEC_ERR_RESP_MASK (0x4U)
  20644. #define IOMUXC_GPR_GPR10_SEC_ERR_RESP_SHIFT (2U)
  20645. /*! SEC_ERR_RESP - Security error response enable
  20646. * 0b0..OKEY response
  20647. * 0b1..SLVError (default)
  20648. */
  20649. #define IOMUXC_GPR_GPR10_SEC_ERR_RESP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR10_SEC_ERR_RESP_SHIFT)) & IOMUXC_GPR_GPR10_SEC_ERR_RESP_MASK)
  20650. #define IOMUXC_GPR_GPR10_DCPKEY_OCOTP_OR_KEYMUX_MASK (0x10U)
  20651. #define IOMUXC_GPR_GPR10_DCPKEY_OCOTP_OR_KEYMUX_SHIFT (4U)
  20652. /*! DCPKEY_OCOTP_OR_KEYMUX
  20653. * 0b0..Select key from SNVS Master Key
  20654. * 0b1..Select key from OCOTP (SW_GP2)
  20655. */
  20656. #define IOMUXC_GPR_GPR10_DCPKEY_OCOTP_OR_KEYMUX(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR10_DCPKEY_OCOTP_OR_KEYMUX_SHIFT)) & IOMUXC_GPR_GPR10_DCPKEY_OCOTP_OR_KEYMUX_MASK)
  20657. #define IOMUXC_GPR_GPR10_OCRAM_TZ_EN_MASK (0x100U)
  20658. #define IOMUXC_GPR_GPR10_OCRAM_TZ_EN_SHIFT (8U)
  20659. /*! OCRAM_TZ_EN
  20660. * 0b0..The TrustZone feature is disabled. Entire OCRAM space is available for all access types (secure/non-secure/user/supervisor)
  20661. * 0b1..The TrustZone feature is enabled. Access to address in the range specified by [ENDADDR:STARTADDR] follows
  20662. * the execution mode access policy described in CSU chapter
  20663. */
  20664. #define IOMUXC_GPR_GPR10_OCRAM_TZ_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR10_OCRAM_TZ_EN_SHIFT)) & IOMUXC_GPR_GPR10_OCRAM_TZ_EN_MASK)
  20665. #define IOMUXC_GPR_GPR10_OCRAM_TZ_ADDR_MASK (0x7E00U)
  20666. #define IOMUXC_GPR_GPR10_OCRAM_TZ_ADDR_SHIFT (9U)
  20667. #define IOMUXC_GPR_GPR10_OCRAM_TZ_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR10_OCRAM_TZ_ADDR_SHIFT)) & IOMUXC_GPR_GPR10_OCRAM_TZ_ADDR_MASK)
  20668. #define IOMUXC_GPR_GPR10_LOCK_NIDEN_MASK (0x10000U)
  20669. #define IOMUXC_GPR_GPR10_LOCK_NIDEN_SHIFT (16U)
  20670. /*! LOCK_NIDEN
  20671. * 0b0..Field is not locked
  20672. * 0b1..Field is locked (read access only)
  20673. */
  20674. #define IOMUXC_GPR_GPR10_LOCK_NIDEN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR10_LOCK_NIDEN_SHIFT)) & IOMUXC_GPR_GPR10_LOCK_NIDEN_MASK)
  20675. #define IOMUXC_GPR_GPR10_LOCK_DBG_EN_MASK (0x20000U)
  20676. #define IOMUXC_GPR_GPR10_LOCK_DBG_EN_SHIFT (17U)
  20677. /*! LOCK_DBG_EN
  20678. * 0b0..Field is not locked
  20679. * 0b1..Field is locked (read access only)
  20680. */
  20681. #define IOMUXC_GPR_GPR10_LOCK_DBG_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR10_LOCK_DBG_EN_SHIFT)) & IOMUXC_GPR_GPR10_LOCK_DBG_EN_MASK)
  20682. #define IOMUXC_GPR_GPR10_LOCK_SEC_ERR_RESP_MASK (0x40000U)
  20683. #define IOMUXC_GPR_GPR10_LOCK_SEC_ERR_RESP_SHIFT (18U)
  20684. /*! LOCK_SEC_ERR_RESP
  20685. * 0b0..Field is not locked
  20686. * 0b1..Field is locked (read access only)
  20687. */
  20688. #define IOMUXC_GPR_GPR10_LOCK_SEC_ERR_RESP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR10_LOCK_SEC_ERR_RESP_SHIFT)) & IOMUXC_GPR_GPR10_LOCK_SEC_ERR_RESP_MASK)
  20689. #define IOMUXC_GPR_GPR10_LOCK_DCPKEY_OCOTP_OR_KEYMUX_MASK (0x100000U)
  20690. #define IOMUXC_GPR_GPR10_LOCK_DCPKEY_OCOTP_OR_KEYMUX_SHIFT (20U)
  20691. /*! LOCK_DCPKEY_OCOTP_OR_KEYMUX
  20692. * 0b0..Field is not locked
  20693. * 0b1..Field is locked (read access only)
  20694. */
  20695. #define IOMUXC_GPR_GPR10_LOCK_DCPKEY_OCOTP_OR_KEYMUX(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR10_LOCK_DCPKEY_OCOTP_OR_KEYMUX_SHIFT)) & IOMUXC_GPR_GPR10_LOCK_DCPKEY_OCOTP_OR_KEYMUX_MASK)
  20696. #define IOMUXC_GPR_GPR10_LOCK_OCRAM_TZ_EN_MASK (0x1000000U)
  20697. #define IOMUXC_GPR_GPR10_LOCK_OCRAM_TZ_EN_SHIFT (24U)
  20698. /*! LOCK_OCRAM_TZ_EN
  20699. * 0b0..Field is not locked
  20700. * 0b1..Field is locked (read access only)
  20701. */
  20702. #define IOMUXC_GPR_GPR10_LOCK_OCRAM_TZ_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR10_LOCK_OCRAM_TZ_EN_SHIFT)) & IOMUXC_GPR_GPR10_LOCK_OCRAM_TZ_EN_MASK)
  20703. #define IOMUXC_GPR_GPR10_LOCK_OCRAM_TZ_ADDR_MASK (0xFE000000U)
  20704. #define IOMUXC_GPR_GPR10_LOCK_OCRAM_TZ_ADDR_SHIFT (25U)
  20705. /*! LOCK_OCRAM_TZ_ADDR
  20706. * 0b0000000..Field is not locked
  20707. * 0b0000001..Field is locked (read access only)
  20708. */
  20709. #define IOMUXC_GPR_GPR10_LOCK_OCRAM_TZ_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR10_LOCK_OCRAM_TZ_ADDR_SHIFT)) & IOMUXC_GPR_GPR10_LOCK_OCRAM_TZ_ADDR_MASK)
  20710. /*! @} */
  20711. /*! @name GPR11 - GPR11 General Purpose Register */
  20712. /*! @{ */
  20713. #define IOMUXC_GPR_GPR11_M7_APC_AC_R0_CTRL_MASK (0x3U)
  20714. #define IOMUXC_GPR_GPR11_M7_APC_AC_R0_CTRL_SHIFT (0U)
  20715. /*! M7_APC_AC_R0_CTRL
  20716. * 0b00..No access protection - All accesses are allowed
  20717. * 0b01..M7 debug protection enabled - The APC block will block CM7 breakpoints, watchpoints and trace to the
  20718. * GPR_M7_APC_AC_R0_TOP/BOT specified region (IOMUX_GPR_GPR18 - IOMUX_GPR_GPR19)
  20719. * 0b10..Reserved
  20720. * 0b11..Reserved
  20721. */
  20722. #define IOMUXC_GPR_GPR11_M7_APC_AC_R0_CTRL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR11_M7_APC_AC_R0_CTRL_SHIFT)) & IOMUXC_GPR_GPR11_M7_APC_AC_R0_CTRL_MASK)
  20723. #define IOMUXC_GPR_GPR11_M7_APC_AC_R1_CTRL_MASK (0xCU)
  20724. #define IOMUXC_GPR_GPR11_M7_APC_AC_R1_CTRL_SHIFT (2U)
  20725. /*! M7_APC_AC_R1_CTRL
  20726. * 0b00..No access protection - All accesses are allowed
  20727. * 0b01..M7 debug protection enabled - The APC block will block CM7 breakpoints, watchpoints and trace to the
  20728. * GPR_M7_APC_AC_R1_TOP/BOT specified region (IOMUX_GPR_GPR20 - IOMUX_GPR_GPR21)
  20729. * 0b10..Reserved
  20730. * 0b11..Reserved
  20731. */
  20732. #define IOMUXC_GPR_GPR11_M7_APC_AC_R1_CTRL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR11_M7_APC_AC_R1_CTRL_SHIFT)) & IOMUXC_GPR_GPR11_M7_APC_AC_R1_CTRL_MASK)
  20733. #define IOMUXC_GPR_GPR11_M7_APC_AC_R2_CTRL_MASK (0x30U)
  20734. #define IOMUXC_GPR_GPR11_M7_APC_AC_R2_CTRL_SHIFT (4U)
  20735. /*! M7_APC_AC_R2_CTRL
  20736. * 0b00..No access protection - All accesses are allowed
  20737. * 0b01..M7 debug protection enabled - The APC block will block CM7 breakpoints, watchpoints and trace to the
  20738. * GPR_M7_APC_AC_R2_TOP/BOT specified region (IOMUX_GPR_GPR22 - IOMUX_GPR_GPR23)
  20739. * 0b10..Reserved
  20740. * 0b11..Reserved
  20741. */
  20742. #define IOMUXC_GPR_GPR11_M7_APC_AC_R2_CTRL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR11_M7_APC_AC_R2_CTRL_SHIFT)) & IOMUXC_GPR_GPR11_M7_APC_AC_R2_CTRL_MASK)
  20743. #define IOMUXC_GPR_GPR11_M7_APC_AC_R3_CTRL_MASK (0xC0U)
  20744. #define IOMUXC_GPR_GPR11_M7_APC_AC_R3_CTRL_SHIFT (6U)
  20745. /*! M7_APC_AC_R3_CTRL
  20746. * 0b00..No access protection - All accesses are allowed
  20747. * 0b01..M7 debug protection enabled - The APC block will block CM7 breakpoints, watchpoints and trace to the
  20748. * GPR_M7_APC_AC_R3_TOP/BOT specified region (IOMUX_GPR_GPR24 - IOMUX_GPR_GPR25)
  20749. * 0b10..Reserved
  20750. * 0b11..Reserved
  20751. */
  20752. #define IOMUXC_GPR_GPR11_M7_APC_AC_R3_CTRL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR11_M7_APC_AC_R3_CTRL_SHIFT)) & IOMUXC_GPR_GPR11_M7_APC_AC_R3_CTRL_MASK)
  20753. #define IOMUXC_GPR_GPR11_BEE_DE_RX_EN_MASK (0xF00U)
  20754. #define IOMUXC_GPR_GPR11_BEE_DE_RX_EN_SHIFT (8U)
  20755. /*! BEE_DE_RX_EN
  20756. * 0b0000..FlexSPI data decryption disabled
  20757. * 0b0001..FlexSPI data decryption enabled
  20758. */
  20759. #define IOMUXC_GPR_GPR11_BEE_DE_RX_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR11_BEE_DE_RX_EN_SHIFT)) & IOMUXC_GPR_GPR11_BEE_DE_RX_EN_MASK)
  20760. #define IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R0_CTRL_MASK (0x30000U)
  20761. #define IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R0_CTRL_SHIFT (16U)
  20762. /*! LOCK_M7_APC_AC_R0_CTRL
  20763. * 0b00..Field is not locked
  20764. * 0b01..Field is locked (read access only)
  20765. */
  20766. #define IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R0_CTRL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R0_CTRL_SHIFT)) & IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R0_CTRL_MASK)
  20767. #define IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R1_CTRL_MASK (0xC0000U)
  20768. #define IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R1_CTRL_SHIFT (18U)
  20769. /*! LOCK_M7_APC_AC_R1_CTRL
  20770. * 0b00..Field is not locked
  20771. * 0b01..Field is locked (read access only)
  20772. */
  20773. #define IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R1_CTRL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R1_CTRL_SHIFT)) & IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R1_CTRL_MASK)
  20774. #define IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R2_CTRL_MASK (0x300000U)
  20775. #define IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R2_CTRL_SHIFT (20U)
  20776. /*! LOCK_M7_APC_AC_R2_CTRL
  20777. * 0b00..Field is not locked
  20778. * 0b01..Field is locked (read access only)
  20779. */
  20780. #define IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R2_CTRL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R2_CTRL_SHIFT)) & IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R2_CTRL_MASK)
  20781. #define IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R3_CTRL_MASK (0xC00000U)
  20782. #define IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R3_CTRL_SHIFT (22U)
  20783. /*! LOCK_M7_APC_AC_R3_CTRL
  20784. * 0b00..Field is not locked
  20785. * 0b01..Field is locked (read access only)
  20786. */
  20787. #define IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R3_CTRL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R3_CTRL_SHIFT)) & IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R3_CTRL_MASK)
  20788. #define IOMUXC_GPR_GPR11_LOCK_BEE_DE_RX_EN_MASK (0xF000000U)
  20789. #define IOMUXC_GPR_GPR11_LOCK_BEE_DE_RX_EN_SHIFT (24U)
  20790. /*! LOCK_BEE_DE_RX_EN
  20791. * 0b0000..Field is not locked
  20792. * 0b0001..Field is locked (read access only)
  20793. */
  20794. #define IOMUXC_GPR_GPR11_LOCK_BEE_DE_RX_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR11_LOCK_BEE_DE_RX_EN_SHIFT)) & IOMUXC_GPR_GPR11_LOCK_BEE_DE_RX_EN_MASK)
  20795. /*! @} */
  20796. /*! @name GPR12 - GPR12 General Purpose Register */
  20797. /*! @{ */
  20798. #define IOMUXC_GPR_GPR12_FLEXIO1_IPG_STOP_MODE_MASK (0x1U)
  20799. #define IOMUXC_GPR_GPR12_FLEXIO1_IPG_STOP_MODE_SHIFT (0U)
  20800. /*! FLEXIO1_IPG_STOP_MODE
  20801. * 0b0..FlexIO1 is functional in Stop mode
  20802. * 0b1..When this bit is equal to 1'b1 and ipg_stop is asserted, FlexIO1 is not functional in Stop mode
  20803. */
  20804. #define IOMUXC_GPR_GPR12_FLEXIO1_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR12_FLEXIO1_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR12_FLEXIO1_IPG_STOP_MODE_MASK)
  20805. #define IOMUXC_GPR_GPR12_FLEXIO1_IPG_DOZE_MASK (0x2U)
  20806. #define IOMUXC_GPR_GPR12_FLEXIO1_IPG_DOZE_SHIFT (1U)
  20807. /*! FLEXIO1_IPG_DOZE
  20808. * 0b0..FLEXIO1 is not in doze mode
  20809. * 0b1..FLEXIO1 is in doze mode
  20810. */
  20811. #define IOMUXC_GPR_GPR12_FLEXIO1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR12_FLEXIO1_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR12_FLEXIO1_IPG_DOZE_MASK)
  20812. #define IOMUXC_GPR_GPR12_ACMP_IPG_STOP_MODE_MASK (0x10U)
  20813. #define IOMUXC_GPR_GPR12_ACMP_IPG_STOP_MODE_SHIFT (4U)
  20814. /*! ACMP_IPG_STOP_MODE
  20815. * 0b0..ACMP is functional in Stop mode
  20816. * 0b1..When this bit is equal to 1'b1 and ipg_stop is asserted, ACMP is not functional in Stop mode
  20817. */
  20818. #define IOMUXC_GPR_GPR12_ACMP_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR12_ACMP_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR12_ACMP_IPG_STOP_MODE_MASK)
  20819. /*! @} */
  20820. /*! @name GPR13 - GPR13 General Purpose Register */
  20821. /*! @{ */
  20822. #define IOMUXC_GPR_GPR13_ARCACHE_USDHC_MASK (0x1U)
  20823. #define IOMUXC_GPR_GPR13_ARCACHE_USDHC_SHIFT (0U)
  20824. /*! ARCACHE_USDHC - uSDHC block cacheable attribute value of AXI read transactions
  20825. * 0b0..Cacheable attribute is off for read transactions
  20826. * 0b1..Cacheable attribute is on for read transactions
  20827. */
  20828. #define IOMUXC_GPR_GPR13_ARCACHE_USDHC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR13_ARCACHE_USDHC_SHIFT)) & IOMUXC_GPR_GPR13_ARCACHE_USDHC_MASK)
  20829. #define IOMUXC_GPR_GPR13_AWCACHE_USDHC_MASK (0x2U)
  20830. #define IOMUXC_GPR_GPR13_AWCACHE_USDHC_SHIFT (1U)
  20831. /*! AWCACHE_USDHC - uSDHC block cacheable attribute value of AXI write transactions
  20832. * 0b0..Cacheable attribute is off for write transactions
  20833. * 0b1..Cacheable attribute is on for write transactions
  20834. */
  20835. #define IOMUXC_GPR_GPR13_AWCACHE_USDHC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR13_AWCACHE_USDHC_SHIFT)) & IOMUXC_GPR_GPR13_AWCACHE_USDHC_MASK)
  20836. #define IOMUXC_GPR_GPR13_CACHE_ENET_MASK (0x80U)
  20837. #define IOMUXC_GPR_GPR13_CACHE_ENET_SHIFT (7U)
  20838. /*! CACHE_ENET - ENET block cacheable attribute value of AXI transactions
  20839. * 0b0..Cacheable attribute is off for read/write transactions
  20840. * 0b1..Cacheable attribute is on for read/write transactions
  20841. */
  20842. #define IOMUXC_GPR_GPR13_CACHE_ENET(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR13_CACHE_ENET_SHIFT)) & IOMUXC_GPR_GPR13_CACHE_ENET_MASK)
  20843. #define IOMUXC_GPR_GPR13_CACHE_USB_MASK (0x2000U)
  20844. #define IOMUXC_GPR_GPR13_CACHE_USB_SHIFT (13U)
  20845. /*! CACHE_USB - USB block cacheable attribute value of AXI transactions
  20846. * 0b0..Cacheable attribute is off for read/write transactions
  20847. * 0b1..Cacheable attribute is on for read/write transactions
  20848. */
  20849. #define IOMUXC_GPR_GPR13_CACHE_USB(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR13_CACHE_USB_SHIFT)) & IOMUXC_GPR_GPR13_CACHE_USB_MASK)
  20850. /*! @} */
  20851. /*! @name GPR14 - GPR14 General Purpose Register */
  20852. /*! @{ */
  20853. #define IOMUXC_GPR_GPR14_ACMP1_CMP_IGEN_TRIM_DN_MASK (0x1U)
  20854. #define IOMUXC_GPR_GPR14_ACMP1_CMP_IGEN_TRIM_DN_SHIFT (0U)
  20855. /*! ACMP1_CMP_IGEN_TRIM_DN
  20856. * 0b0..no reduce
  20857. * 0b1..reduces
  20858. */
  20859. #define IOMUXC_GPR_GPR14_ACMP1_CMP_IGEN_TRIM_DN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_ACMP1_CMP_IGEN_TRIM_DN_SHIFT)) & IOMUXC_GPR_GPR14_ACMP1_CMP_IGEN_TRIM_DN_MASK)
  20860. #define IOMUXC_GPR_GPR14_ACMP2_CMP_IGEN_TRIM_DN_MASK (0x2U)
  20861. #define IOMUXC_GPR_GPR14_ACMP2_CMP_IGEN_TRIM_DN_SHIFT (1U)
  20862. /*! ACMP2_CMP_IGEN_TRIM_DN
  20863. * 0b0..no reduce
  20864. * 0b1..reduces
  20865. */
  20866. #define IOMUXC_GPR_GPR14_ACMP2_CMP_IGEN_TRIM_DN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_ACMP2_CMP_IGEN_TRIM_DN_SHIFT)) & IOMUXC_GPR_GPR14_ACMP2_CMP_IGEN_TRIM_DN_MASK)
  20867. #define IOMUXC_GPR_GPR14_ACMP3_CMP_IGEN_TRIM_DN_MASK (0x4U)
  20868. #define IOMUXC_GPR_GPR14_ACMP3_CMP_IGEN_TRIM_DN_SHIFT (2U)
  20869. /*! ACMP3_CMP_IGEN_TRIM_DN
  20870. * 0b0..no reduce
  20871. * 0b1..reduces
  20872. */
  20873. #define IOMUXC_GPR_GPR14_ACMP3_CMP_IGEN_TRIM_DN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_ACMP3_CMP_IGEN_TRIM_DN_SHIFT)) & IOMUXC_GPR_GPR14_ACMP3_CMP_IGEN_TRIM_DN_MASK)
  20874. #define IOMUXC_GPR_GPR14_ACMP4_CMP_IGEN_TRIM_DN_MASK (0x8U)
  20875. #define IOMUXC_GPR_GPR14_ACMP4_CMP_IGEN_TRIM_DN_SHIFT (3U)
  20876. /*! ACMP4_CMP_IGEN_TRIM_DN
  20877. * 0b0..no reduce
  20878. * 0b1..reduces
  20879. */
  20880. #define IOMUXC_GPR_GPR14_ACMP4_CMP_IGEN_TRIM_DN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_ACMP4_CMP_IGEN_TRIM_DN_SHIFT)) & IOMUXC_GPR_GPR14_ACMP4_CMP_IGEN_TRIM_DN_MASK)
  20881. #define IOMUXC_GPR_GPR14_ACMP1_CMP_IGEN_TRIM_UP_MASK (0x10U)
  20882. #define IOMUXC_GPR_GPR14_ACMP1_CMP_IGEN_TRIM_UP_SHIFT (4U)
  20883. /*! ACMP1_CMP_IGEN_TRIM_UP
  20884. * 0b0..no increase
  20885. * 0b1..increases
  20886. */
  20887. #define IOMUXC_GPR_GPR14_ACMP1_CMP_IGEN_TRIM_UP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_ACMP1_CMP_IGEN_TRIM_UP_SHIFT)) & IOMUXC_GPR_GPR14_ACMP1_CMP_IGEN_TRIM_UP_MASK)
  20888. #define IOMUXC_GPR_GPR14_ACMP2_CMP_IGEN_TRIM_UP_MASK (0x20U)
  20889. #define IOMUXC_GPR_GPR14_ACMP2_CMP_IGEN_TRIM_UP_SHIFT (5U)
  20890. /*! ACMP2_CMP_IGEN_TRIM_UP
  20891. * 0b0..no increase
  20892. * 0b1..increases
  20893. */
  20894. #define IOMUXC_GPR_GPR14_ACMP2_CMP_IGEN_TRIM_UP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_ACMP2_CMP_IGEN_TRIM_UP_SHIFT)) & IOMUXC_GPR_GPR14_ACMP2_CMP_IGEN_TRIM_UP_MASK)
  20895. #define IOMUXC_GPR_GPR14_ACMP3_CMP_IGEN_TRIM_UP_MASK (0x40U)
  20896. #define IOMUXC_GPR_GPR14_ACMP3_CMP_IGEN_TRIM_UP_SHIFT (6U)
  20897. /*! ACMP3_CMP_IGEN_TRIM_UP
  20898. * 0b0..no increase
  20899. * 0b1..increases
  20900. */
  20901. #define IOMUXC_GPR_GPR14_ACMP3_CMP_IGEN_TRIM_UP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_ACMP3_CMP_IGEN_TRIM_UP_SHIFT)) & IOMUXC_GPR_GPR14_ACMP3_CMP_IGEN_TRIM_UP_MASK)
  20902. #define IOMUXC_GPR_GPR14_ACMP4_CMP_IGEN_TRIM_UP_MASK (0x80U)
  20903. #define IOMUXC_GPR_GPR14_ACMP4_CMP_IGEN_TRIM_UP_SHIFT (7U)
  20904. /*! ACMP4_CMP_IGEN_TRIM_UP
  20905. * 0b0..no increase
  20906. * 0b1..increases
  20907. */
  20908. #define IOMUXC_GPR_GPR14_ACMP4_CMP_IGEN_TRIM_UP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_ACMP4_CMP_IGEN_TRIM_UP_SHIFT)) & IOMUXC_GPR_GPR14_ACMP4_CMP_IGEN_TRIM_UP_MASK)
  20909. #define IOMUXC_GPR_GPR14_ACMP1_SAMPLE_SYNC_EN_MASK (0x100U)
  20910. #define IOMUXC_GPR_GPR14_ACMP1_SAMPLE_SYNC_EN_SHIFT (8U)
  20911. /*! ACMP1_SAMPLE_SYNC_EN
  20912. * 0b0..select XBAR output
  20913. * 0b1..select synced sample_lv
  20914. */
  20915. #define IOMUXC_GPR_GPR14_ACMP1_SAMPLE_SYNC_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_ACMP1_SAMPLE_SYNC_EN_SHIFT)) & IOMUXC_GPR_GPR14_ACMP1_SAMPLE_SYNC_EN_MASK)
  20916. #define IOMUXC_GPR_GPR14_ACMP2_SAMPLE_SYNC_EN_MASK (0x200U)
  20917. #define IOMUXC_GPR_GPR14_ACMP2_SAMPLE_SYNC_EN_SHIFT (9U)
  20918. /*! ACMP2_SAMPLE_SYNC_EN
  20919. * 0b0..select XBAR output
  20920. * 0b1..select synced sample_lv
  20921. */
  20922. #define IOMUXC_GPR_GPR14_ACMP2_SAMPLE_SYNC_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_ACMP2_SAMPLE_SYNC_EN_SHIFT)) & IOMUXC_GPR_GPR14_ACMP2_SAMPLE_SYNC_EN_MASK)
  20923. #define IOMUXC_GPR_GPR14_ACMP3_SAMPLE_SYNC_EN_MASK (0x400U)
  20924. #define IOMUXC_GPR_GPR14_ACMP3_SAMPLE_SYNC_EN_SHIFT (10U)
  20925. /*! ACMP3_SAMPLE_SYNC_EN
  20926. * 0b0..select XBAR output
  20927. * 0b1..select synced sample_lv
  20928. */
  20929. #define IOMUXC_GPR_GPR14_ACMP3_SAMPLE_SYNC_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_ACMP3_SAMPLE_SYNC_EN_SHIFT)) & IOMUXC_GPR_GPR14_ACMP3_SAMPLE_SYNC_EN_MASK)
  20930. #define IOMUXC_GPR_GPR14_ACMP4_SAMPLE_SYNC_EN_MASK (0x800U)
  20931. #define IOMUXC_GPR_GPR14_ACMP4_SAMPLE_SYNC_EN_SHIFT (11U)
  20932. /*! ACMP4_SAMPLE_SYNC_EN
  20933. * 0b0..select XBAR output
  20934. * 0b1..select synced sample_lv
  20935. */
  20936. #define IOMUXC_GPR_GPR14_ACMP4_SAMPLE_SYNC_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_ACMP4_SAMPLE_SYNC_EN_SHIFT)) & IOMUXC_GPR_GPR14_ACMP4_SAMPLE_SYNC_EN_MASK)
  20937. /*! @} */
  20938. /*! @name GPR16 - GPR16 General Purpose Register */
  20939. /*! @{ */
  20940. #define IOMUXC_GPR_GPR16_FLEXRAM_BANK_CFG_SEL_MASK (0x4U)
  20941. #define IOMUXC_GPR_GPR16_FLEXRAM_BANK_CFG_SEL_SHIFT (2U)
  20942. /*! FLEXRAM_BANK_CFG_SEL
  20943. * 0b0..use fuse value to config
  20944. * 0b1..use FLEXRAM_BANK_CFG to config
  20945. */
  20946. #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)
  20947. #define IOMUXC_GPR_GPR16_CM7_INIT_VTOR_MASK (0xFFFFFF80U)
  20948. #define IOMUXC_GPR_GPR16_CM7_INIT_VTOR_SHIFT (7U)
  20949. #define IOMUXC_GPR_GPR16_CM7_INIT_VTOR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR16_CM7_INIT_VTOR_SHIFT)) & IOMUXC_GPR_GPR16_CM7_INIT_VTOR_MASK)
  20950. /*! @} */
  20951. /*! @name GPR17 - GPR17 General Purpose Register */
  20952. /*! @{ */
  20953. #define IOMUXC_GPR_GPR17_FLEXRAM_BANK_CFG_MASK (0xFFFFU)
  20954. #define IOMUXC_GPR_GPR17_FLEXRAM_BANK_CFG_SHIFT (0U)
  20955. /*! FLEXRAM_BANK_CFG - FlexRAM bank config value
  20956. */
  20957. #define IOMUXC_GPR_GPR17_FLEXRAM_BANK_CFG(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR17_FLEXRAM_BANK_CFG_SHIFT)) & IOMUXC_GPR_GPR17_FLEXRAM_BANK_CFG_MASK)
  20958. /*! @} */
  20959. /*! @name GPR18 - GPR18 General Purpose Register */
  20960. /*! @{ */
  20961. #define IOMUXC_GPR_GPR18_LOCK_M7_APC_AC_R0_BOT_MASK (0x1U)
  20962. #define IOMUXC_GPR_GPR18_LOCK_M7_APC_AC_R0_BOT_SHIFT (0U)
  20963. /*! LOCK_M7_APC_AC_R0_BOT
  20964. * 0b0..M7_APC_AC_R0_BOT is not locked
  20965. * 0b1..M7_APC_AC_R0_BOT is locked (read access only)
  20966. */
  20967. #define IOMUXC_GPR_GPR18_LOCK_M7_APC_AC_R0_BOT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR18_LOCK_M7_APC_AC_R0_BOT_SHIFT)) & IOMUXC_GPR_GPR18_LOCK_M7_APC_AC_R0_BOT_MASK)
  20968. #define IOMUXC_GPR_GPR18_M7_APC_AC_R0_BOT_MASK (0xFFFFFFF8U)
  20969. #define IOMUXC_GPR_GPR18_M7_APC_AC_R0_BOT_SHIFT (3U)
  20970. /*! M7_APC_AC_R0_BOT - Access Permission Controller (APC) end address of memory region-0
  20971. */
  20972. #define IOMUXC_GPR_GPR18_M7_APC_AC_R0_BOT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR18_M7_APC_AC_R0_BOT_SHIFT)) & IOMUXC_GPR_GPR18_M7_APC_AC_R0_BOT_MASK)
  20973. /*! @} */
  20974. /*! @name GPR19 - GPR19 General Purpose Register */
  20975. /*! @{ */
  20976. #define IOMUXC_GPR_GPR19_LOCK_M7_APC_AC_R0_TOP_MASK (0x1U)
  20977. #define IOMUXC_GPR_GPR19_LOCK_M7_APC_AC_R0_TOP_SHIFT (0U)
  20978. /*! LOCK_M7_APC_AC_R0_TOP
  20979. * 0b0..M7_APC_AC_R0_TOP is not locked
  20980. * 0b1..M7_APC_AC_R0_TOP is locked (read access only)
  20981. */
  20982. #define IOMUXC_GPR_GPR19_LOCK_M7_APC_AC_R0_TOP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR19_LOCK_M7_APC_AC_R0_TOP_SHIFT)) & IOMUXC_GPR_GPR19_LOCK_M7_APC_AC_R0_TOP_MASK)
  20983. #define IOMUXC_GPR_GPR19_M7_APC_AC_R0_TOP_MASK (0xFFFFFFF8U)
  20984. #define IOMUXC_GPR_GPR19_M7_APC_AC_R0_TOP_SHIFT (3U)
  20985. /*! M7_APC_AC_R0_TOP - Access Permission Controller (APC) start address of memory region-0
  20986. */
  20987. #define IOMUXC_GPR_GPR19_M7_APC_AC_R0_TOP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR19_M7_APC_AC_R0_TOP_SHIFT)) & IOMUXC_GPR_GPR19_M7_APC_AC_R0_TOP_MASK)
  20988. /*! @} */
  20989. /*! @name GPR20 - GPR20 General Purpose Register */
  20990. /*! @{ */
  20991. #define IOMUXC_GPR_GPR20_LOCK_M7_APC_AC_R1_BOT_MASK (0x1U)
  20992. #define IOMUXC_GPR_GPR20_LOCK_M7_APC_AC_R1_BOT_SHIFT (0U)
  20993. /*! LOCK_M7_APC_AC_R1_BOT
  20994. * 0b0..M7_APC_AC_R1_BOT is not locked
  20995. * 0b1..M7_APC_AC_R1_BOT is locked (read access only)
  20996. */
  20997. #define IOMUXC_GPR_GPR20_LOCK_M7_APC_AC_R1_BOT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_LOCK_M7_APC_AC_R1_BOT_SHIFT)) & IOMUXC_GPR_GPR20_LOCK_M7_APC_AC_R1_BOT_MASK)
  20998. #define IOMUXC_GPR_GPR20_M7_APC_AC_R1_BOT_MASK (0xFFFFFFF8U)
  20999. #define IOMUXC_GPR_GPR20_M7_APC_AC_R1_BOT_SHIFT (3U)
  21000. /*! M7_APC_AC_R1_BOT - Access Permission Controller (APC) end address of memory region-1
  21001. */
  21002. #define IOMUXC_GPR_GPR20_M7_APC_AC_R1_BOT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_M7_APC_AC_R1_BOT_SHIFT)) & IOMUXC_GPR_GPR20_M7_APC_AC_R1_BOT_MASK)
  21003. /*! @} */
  21004. /*! @name GPR21 - GPR21 General Purpose Register */
  21005. /*! @{ */
  21006. #define IOMUXC_GPR_GPR21_LOCK_M7_APC_AC_R1_TOP_MASK (0x1U)
  21007. #define IOMUXC_GPR_GPR21_LOCK_M7_APC_AC_R1_TOP_SHIFT (0U)
  21008. /*! LOCK_M7_APC_AC_R1_TOP
  21009. * 0b0..M7_APC_AC_R1_TOP is not locked
  21010. * 0b1..M7_APC_AC_R1_TOP is locked (read access only)
  21011. */
  21012. #define IOMUXC_GPR_GPR21_LOCK_M7_APC_AC_R1_TOP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR21_LOCK_M7_APC_AC_R1_TOP_SHIFT)) & IOMUXC_GPR_GPR21_LOCK_M7_APC_AC_R1_TOP_MASK)
  21013. #define IOMUXC_GPR_GPR21_M7_APC_AC_R1_TOP_MASK (0xFFFFFFF8U)
  21014. #define IOMUXC_GPR_GPR21_M7_APC_AC_R1_TOP_SHIFT (3U)
  21015. /*! M7_APC_AC_R1_TOP - Access Permission Controller (APC) start address of memory region-1
  21016. */
  21017. #define IOMUXC_GPR_GPR21_M7_APC_AC_R1_TOP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR21_M7_APC_AC_R1_TOP_SHIFT)) & IOMUXC_GPR_GPR21_M7_APC_AC_R1_TOP_MASK)
  21018. /*! @} */
  21019. /*! @name GPR22 - GPR22 General Purpose Register */
  21020. /*! @{ */
  21021. #define IOMUXC_GPR_GPR22_LOCK_M7_APC_AC_R2_BOT_MASK (0x1U)
  21022. #define IOMUXC_GPR_GPR22_LOCK_M7_APC_AC_R2_BOT_SHIFT (0U)
  21023. /*! LOCK_M7_APC_AC_R2_BOT
  21024. * 0b0..M7_APC_AC_R2_BOT is not locked
  21025. * 0b1..M7_APC_AC_R2_BOT is locked (read access only)
  21026. */
  21027. #define IOMUXC_GPR_GPR22_LOCK_M7_APC_AC_R2_BOT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR22_LOCK_M7_APC_AC_R2_BOT_SHIFT)) & IOMUXC_GPR_GPR22_LOCK_M7_APC_AC_R2_BOT_MASK)
  21028. #define IOMUXC_GPR_GPR22_M7_APC_AC_R2_BOT_MASK (0xFFFFFFF8U)
  21029. #define IOMUXC_GPR_GPR22_M7_APC_AC_R2_BOT_SHIFT (3U)
  21030. /*! M7_APC_AC_R2_BOT - Access Permission Controller (APC) end address of memory region-2
  21031. */
  21032. #define IOMUXC_GPR_GPR22_M7_APC_AC_R2_BOT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR22_M7_APC_AC_R2_BOT_SHIFT)) & IOMUXC_GPR_GPR22_M7_APC_AC_R2_BOT_MASK)
  21033. /*! @} */
  21034. /*! @name GPR23 - GPR23 General Purpose Register */
  21035. /*! @{ */
  21036. #define IOMUXC_GPR_GPR23_LOCK_M7_APC_AC_R2_TOP_MASK (0x1U)
  21037. #define IOMUXC_GPR_GPR23_LOCK_M7_APC_AC_R2_TOP_SHIFT (0U)
  21038. /*! LOCK_M7_APC_AC_R2_TOP
  21039. * 0b0..M7_APC_AC_R2_TOP is not locked
  21040. * 0b1..M7_APC_AC_R2_TOP is locked (read access only)
  21041. */
  21042. #define IOMUXC_GPR_GPR23_LOCK_M7_APC_AC_R2_TOP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR23_LOCK_M7_APC_AC_R2_TOP_SHIFT)) & IOMUXC_GPR_GPR23_LOCK_M7_APC_AC_R2_TOP_MASK)
  21043. #define IOMUXC_GPR_GPR23_M7_APC_AC_R2_TOP_MASK (0xFFFFFFF8U)
  21044. #define IOMUXC_GPR_GPR23_M7_APC_AC_R2_TOP_SHIFT (3U)
  21045. /*! M7_APC_AC_R2_TOP - Access Permission Controller (APC) start address of memory region-2
  21046. */
  21047. #define IOMUXC_GPR_GPR23_M7_APC_AC_R2_TOP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR23_M7_APC_AC_R2_TOP_SHIFT)) & IOMUXC_GPR_GPR23_M7_APC_AC_R2_TOP_MASK)
  21048. /*! @} */
  21049. /*! @name GPR24 - GPR24 General Purpose Register */
  21050. /*! @{ */
  21051. #define IOMUXC_GPR_GPR24_LOCK_M7_APC_AC_R3_BOT_MASK (0x1U)
  21052. #define IOMUXC_GPR_GPR24_LOCK_M7_APC_AC_R3_BOT_SHIFT (0U)
  21053. /*! LOCK_M7_APC_AC_R3_BOT
  21054. * 0b0..M7_APC_AC_R3_BOT is not locked
  21055. * 0b1..M7_APC_AC_R3_BOT is locked (read access only)
  21056. */
  21057. #define IOMUXC_GPR_GPR24_LOCK_M7_APC_AC_R3_BOT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR24_LOCK_M7_APC_AC_R3_BOT_SHIFT)) & IOMUXC_GPR_GPR24_LOCK_M7_APC_AC_R3_BOT_MASK)
  21058. #define IOMUXC_GPR_GPR24_M7_APC_AC_R3_BOT_MASK (0xFFFFFFF8U)
  21059. #define IOMUXC_GPR_GPR24_M7_APC_AC_R3_BOT_SHIFT (3U)
  21060. /*! M7_APC_AC_R3_BOT - Access Permission Controller (APC) end address of memory region-3
  21061. */
  21062. #define IOMUXC_GPR_GPR24_M7_APC_AC_R3_BOT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR24_M7_APC_AC_R3_BOT_SHIFT)) & IOMUXC_GPR_GPR24_M7_APC_AC_R3_BOT_MASK)
  21063. /*! @} */
  21064. /*! @name GPR25 - GPR25 General Purpose Register */
  21065. /*! @{ */
  21066. #define IOMUXC_GPR_GPR25_LOCK_M7_APC_AC_R3_TOP_MASK (0x1U)
  21067. #define IOMUXC_GPR_GPR25_LOCK_M7_APC_AC_R3_TOP_SHIFT (0U)
  21068. /*! LOCK_M7_APC_AC_R3_TOP
  21069. * 0b0..M7_APC_AC_R3_TOP is not locked
  21070. * 0b1..M7_APC_AC_R3_TOP is locked (read access only)
  21071. */
  21072. #define IOMUXC_GPR_GPR25_LOCK_M7_APC_AC_R3_TOP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR25_LOCK_M7_APC_AC_R3_TOP_SHIFT)) & IOMUXC_GPR_GPR25_LOCK_M7_APC_AC_R3_TOP_MASK)
  21073. #define IOMUXC_GPR_GPR25_M7_APC_AC_R3_TOP_MASK (0xFFFFFFF8U)
  21074. #define IOMUXC_GPR_GPR25_M7_APC_AC_R3_TOP_SHIFT (3U)
  21075. /*! M7_APC_AC_R3_TOP - Access Permission Controller (APC) start address of memory region-3
  21076. */
  21077. #define IOMUXC_GPR_GPR25_M7_APC_AC_R3_TOP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR25_M7_APC_AC_R3_TOP_SHIFT)) & IOMUXC_GPR_GPR25_M7_APC_AC_R3_TOP_MASK)
  21078. /*! @} */
  21079. /*!
  21080. * @}
  21081. */ /* end of group IOMUXC_GPR_Register_Masks */
  21082. /* IOMUXC_GPR - Peripheral instance base addresses */
  21083. /** Peripheral IOMUXC_GPR base address */
  21084. #define IOMUXC_GPR_BASE (0x400AC000u)
  21085. /** Peripheral IOMUXC_GPR base pointer */
  21086. #define IOMUXC_GPR ((IOMUXC_GPR_Type *)IOMUXC_GPR_BASE)
  21087. /** Array initializer of IOMUXC_GPR peripheral base addresses */
  21088. #define IOMUXC_GPR_BASE_ADDRS { IOMUXC_GPR_BASE }
  21089. /** Array initializer of IOMUXC_GPR peripheral base pointers */
  21090. #define IOMUXC_GPR_BASE_PTRS { IOMUXC_GPR }
  21091. /*!
  21092. * @}
  21093. */ /* end of group IOMUXC_GPR_Peripheral_Access_Layer */
  21094. /* ----------------------------------------------------------------------------
  21095. -- IOMUXC_SNVS Peripheral Access Layer
  21096. ---------------------------------------------------------------------------- */
  21097. /*!
  21098. * @addtogroup IOMUXC_SNVS_Peripheral_Access_Layer IOMUXC_SNVS Peripheral Access Layer
  21099. * @{
  21100. */
  21101. /** IOMUXC_SNVS - Register Layout Typedef */
  21102. typedef struct {
  21103. __IO uint32_t SW_MUX_CTL_PAD_WAKEUP; /**< SW_MUX_CTL_PAD_WAKEUP SW MUX Control Register, offset: 0x0 */
  21104. __IO uint32_t SW_MUX_CTL_PAD_PMIC_ON_REQ; /**< SW_MUX_CTL_PAD_PMIC_ON_REQ SW MUX Control Register, offset: 0x4 */
  21105. __IO uint32_t SW_MUX_CTL_PAD_PMIC_STBY_REQ; /**< SW_MUX_CTL_PAD_PMIC_STBY_REQ SW MUX Control Register, offset: 0x8 */
  21106. __IO uint32_t SW_PAD_CTL_PAD_TEST_MODE; /**< SW_PAD_CTL_PAD_TEST_MODE SW PAD Control Register, offset: 0xC */
  21107. __IO uint32_t SW_PAD_CTL_PAD_POR_B; /**< SW_PAD_CTL_PAD_POR_B SW PAD Control Register, offset: 0x10 */
  21108. __IO uint32_t SW_PAD_CTL_PAD_ONOFF; /**< SW_PAD_CTL_PAD_ONOFF SW PAD Control Register, offset: 0x14 */
  21109. __IO uint32_t SW_PAD_CTL_PAD_WAKEUP; /**< SW_PAD_CTL_PAD_WAKEUP SW PAD Control Register, offset: 0x18 */
  21110. __IO uint32_t SW_PAD_CTL_PAD_PMIC_ON_REQ; /**< SW_PAD_CTL_PAD_PMIC_ON_REQ SW PAD Control Register, offset: 0x1C */
  21111. __IO uint32_t SW_PAD_CTL_PAD_PMIC_STBY_REQ; /**< SW_PAD_CTL_PAD_PMIC_STBY_REQ SW PAD Control Register, offset: 0x20 */
  21112. } IOMUXC_SNVS_Type;
  21113. /* ----------------------------------------------------------------------------
  21114. -- IOMUXC_SNVS Register Masks
  21115. ---------------------------------------------------------------------------- */
  21116. /*!
  21117. * @addtogroup IOMUXC_SNVS_Register_Masks IOMUXC_SNVS Register Masks
  21118. * @{
  21119. */
  21120. /*! @name SW_MUX_CTL_PAD_WAKEUP - SW_MUX_CTL_PAD_WAKEUP SW MUX Control Register */
  21121. /*! @{ */
  21122. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_MUX_MODE_MASK (0x7U)
  21123. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_MUX_MODE_SHIFT (0U)
  21124. /*! MUX_MODE - MUX Mode Select Field.
  21125. * 0b101..Select mux mode: ALT5 mux port: GPIO5_IO00 of instance: gpio5
  21126. * 0b111..Select mux mode: ALT7 mux port: NMI_GLUE_NMI of instance: nmi_glue
  21127. */
  21128. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_MUX_MODE_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_MUX_MODE_MASK)
  21129. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_SION_MASK (0x10U)
  21130. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_SION_SHIFT (4U)
  21131. /*! SION - Software Input On Field.
  21132. * 0b1..Force input path of pad WAKEUP
  21133. * 0b0..Input Path is determined by functionality
  21134. */
  21135. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_SION_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_SION_MASK)
  21136. /*! @} */
  21137. /*! @name SW_MUX_CTL_PAD_PMIC_ON_REQ - SW_MUX_CTL_PAD_PMIC_ON_REQ SW MUX Control Register */
  21138. /*! @{ */
  21139. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_MUX_MODE_MASK (0x7U)
  21140. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_MUX_MODE_SHIFT (0U)
  21141. /*! MUX_MODE - MUX Mode Select Field.
  21142. * 0b000..Select mux mode: ALT0 mux port: SNVS_LP_PMIC_ON_REQ of instance: snvs_lp
  21143. * 0b101..Select mux mode: ALT5 mux port: GPIO5_IO01 of instance: gpio5
  21144. */
  21145. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_MUX_MODE_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_MUX_MODE_MASK)
  21146. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_SION_MASK (0x10U)
  21147. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_SION_SHIFT (4U)
  21148. /*! SION - Software Input On Field.
  21149. * 0b1..Force input path of pad PMIC_ON_REQ
  21150. * 0b0..Input Path is determined by functionality
  21151. */
  21152. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_SION_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_SION_MASK)
  21153. /*! @} */
  21154. /*! @name SW_MUX_CTL_PAD_PMIC_STBY_REQ - SW_MUX_CTL_PAD_PMIC_STBY_REQ SW MUX Control Register */
  21155. /*! @{ */
  21156. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_MUX_MODE_MASK (0x7U)
  21157. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_MUX_MODE_SHIFT (0U)
  21158. /*! MUX_MODE - MUX Mode Select Field.
  21159. * 0b000..Select mux mode: ALT0 mux port: CCM_PMIC_VSTBY_REQ of instance: ccm
  21160. * 0b101..Select mux mode: ALT5 mux port: GPIO5_IO02 of instance: gpio5
  21161. */
  21162. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_MUX_MODE_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_MUX_MODE_MASK)
  21163. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_SION_MASK (0x10U)
  21164. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_SION_SHIFT (4U)
  21165. /*! SION - Software Input On Field.
  21166. * 0b1..Force input path of pad PMIC_STBY_REQ
  21167. * 0b0..Input Path is determined by functionality
  21168. */
  21169. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_SION_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_SION_MASK)
  21170. /*! @} */
  21171. /*! @name SW_PAD_CTL_PAD_TEST_MODE - SW_PAD_CTL_PAD_TEST_MODE SW PAD Control Register */
  21172. /*! @{ */
  21173. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_SRE_MASK (0x1U)
  21174. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_SRE_SHIFT (0U)
  21175. /*! SRE - Slew Rate Field
  21176. * 0b0..Slow Slew Rate
  21177. * 0b1..Fast Slew Rate
  21178. */
  21179. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_SRE_MASK)
  21180. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DSE_MASK (0x38U)
  21181. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DSE_SHIFT (3U)
  21182. /*! DSE - Drive Strength Field
  21183. * 0b000..output driver disabled;
  21184. * 0b001..R0(150 Ohm @ 3.3V, 260 Ohm@1.8V)
  21185. * 0b010..R0/2
  21186. * 0b011..R0/3
  21187. * 0b100..R0/4
  21188. * 0b101..R0/5
  21189. * 0b110..R0/6
  21190. * 0b111..R0/7
  21191. */
  21192. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DSE_MASK)
  21193. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_SPEED_MASK (0xC0U)
  21194. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_SPEED_SHIFT (6U)
  21195. /*! SPEED - Speed Field
  21196. * 0b10..medium(100MHz)
  21197. */
  21198. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_SPEED(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_SPEED_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_SPEED_MASK)
  21199. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_ODE_MASK (0x800U)
  21200. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_ODE_SHIFT (11U)
  21201. /*! ODE - Open Drain Enable Field
  21202. * 0b0..Open Drain Disabled
  21203. * 0b1..Open Drain Enabled
  21204. */
  21205. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_ODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_ODE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_ODE_MASK)
  21206. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PKE_MASK (0x1000U)
  21207. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PKE_SHIFT (12U)
  21208. /*! PKE - Pull / Keep Enable Field
  21209. * 0b0..Pull/Keeper Disabled
  21210. * 0b1..Pull/Keeper Enabled
  21211. */
  21212. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PKE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PKE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PKE_MASK)
  21213. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PUE_MASK (0x2000U)
  21214. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PUE_SHIFT (13U)
  21215. /*! PUE - Pull / Keep Select Field
  21216. * 0b0..Keeper
  21217. * 0b1..Pull
  21218. */
  21219. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PUE_MASK)
  21220. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PUS_MASK (0xC000U)
  21221. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PUS_SHIFT (14U)
  21222. /*! PUS - Pull Up / Down Config. Field
  21223. * 0b00..100K Ohm Pull Down
  21224. * 0b01..47K Ohm Pull Up
  21225. * 0b10..100K Ohm Pull Up
  21226. * 0b11..22K Ohm Pull Up
  21227. */
  21228. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PUS_MASK)
  21229. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_HYS_MASK (0x10000U)
  21230. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_HYS_SHIFT (16U)
  21231. /*! HYS - Hyst. Enable Field
  21232. * 0b0..Hysteresis Disabled
  21233. * 0b1..Hysteresis Enabled
  21234. */
  21235. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_HYS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_HYS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_HYS_MASK)
  21236. /*! @} */
  21237. /*! @name SW_PAD_CTL_PAD_POR_B - SW_PAD_CTL_PAD_POR_B SW PAD Control Register */
  21238. /*! @{ */
  21239. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_SRE_MASK (0x1U)
  21240. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_SRE_SHIFT (0U)
  21241. /*! SRE - Slew Rate Field
  21242. * 0b0..Slow Slew Rate
  21243. * 0b1..Fast Slew Rate
  21244. */
  21245. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_SRE_MASK)
  21246. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DSE_MASK (0x38U)
  21247. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DSE_SHIFT (3U)
  21248. /*! DSE - Drive Strength Field
  21249. * 0b000..output driver disabled;
  21250. * 0b001..R0(150 Ohm @ 3.3V, 260 Ohm@1.8V)
  21251. * 0b010..R0/2
  21252. * 0b011..R0/3
  21253. * 0b100..R0/4
  21254. * 0b101..R0/5
  21255. * 0b110..R0/6
  21256. * 0b111..R0/7
  21257. */
  21258. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DSE_MASK)
  21259. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_SPEED_MASK (0xC0U)
  21260. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_SPEED_SHIFT (6U)
  21261. /*! SPEED - Speed Field
  21262. * 0b10..medium(100MHz)
  21263. */
  21264. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_SPEED(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_SPEED_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_SPEED_MASK)
  21265. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_ODE_MASK (0x800U)
  21266. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_ODE_SHIFT (11U)
  21267. /*! ODE - Open Drain Enable Field
  21268. * 0b0..Open Drain Disabled
  21269. * 0b1..Open Drain Enabled
  21270. */
  21271. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_ODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_ODE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_ODE_MASK)
  21272. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PKE_MASK (0x1000U)
  21273. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PKE_SHIFT (12U)
  21274. /*! PKE - Pull / Keep Enable Field
  21275. * 0b0..Pull/Keeper Disabled
  21276. * 0b1..Pull/Keeper Enabled
  21277. */
  21278. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PKE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PKE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PKE_MASK)
  21279. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PUE_MASK (0x2000U)
  21280. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PUE_SHIFT (13U)
  21281. /*! PUE - Pull / Keep Select Field
  21282. * 0b0..Keeper
  21283. * 0b1..Pull
  21284. */
  21285. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PUE_MASK)
  21286. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PUS_MASK (0xC000U)
  21287. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PUS_SHIFT (14U)
  21288. /*! PUS - Pull Up / Down Config. Field
  21289. * 0b00..100K Ohm Pull Down
  21290. * 0b01..47K Ohm Pull Up
  21291. * 0b10..100K Ohm Pull Up
  21292. * 0b11..22K Ohm Pull Up
  21293. */
  21294. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PUS_MASK)
  21295. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_HYS_MASK (0x10000U)
  21296. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_HYS_SHIFT (16U)
  21297. /*! HYS - Hyst. Enable Field
  21298. * 0b0..Hysteresis Disabled
  21299. * 0b1..Hysteresis Enabled
  21300. */
  21301. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_HYS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_HYS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_HYS_MASK)
  21302. /*! @} */
  21303. /*! @name SW_PAD_CTL_PAD_ONOFF - SW_PAD_CTL_PAD_ONOFF SW PAD Control Register */
  21304. /*! @{ */
  21305. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_SRE_MASK (0x1U)
  21306. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_SRE_SHIFT (0U)
  21307. /*! SRE - Slew Rate Field
  21308. * 0b0..Slow Slew Rate
  21309. * 0b1..Fast Slew Rate
  21310. */
  21311. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_SRE_MASK)
  21312. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DSE_MASK (0x38U)
  21313. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DSE_SHIFT (3U)
  21314. /*! DSE - Drive Strength Field
  21315. * 0b000..output driver disabled;
  21316. * 0b001..R0(150 Ohm @ 3.3V, 260 Ohm@1.8V)
  21317. * 0b010..R0/2
  21318. * 0b011..R0/3
  21319. * 0b100..R0/4
  21320. * 0b101..R0/5
  21321. * 0b110..R0/6
  21322. * 0b111..R0/7
  21323. */
  21324. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DSE_MASK)
  21325. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_SPEED_MASK (0xC0U)
  21326. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_SPEED_SHIFT (6U)
  21327. /*! SPEED - Speed Field
  21328. * 0b10..medium(100MHz)
  21329. */
  21330. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_SPEED(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_SPEED_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_SPEED_MASK)
  21331. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_ODE_MASK (0x800U)
  21332. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_ODE_SHIFT (11U)
  21333. /*! ODE - Open Drain Enable Field
  21334. * 0b0..Open Drain Disabled
  21335. * 0b1..Open Drain Enabled
  21336. */
  21337. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_ODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_ODE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_ODE_MASK)
  21338. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PKE_MASK (0x1000U)
  21339. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PKE_SHIFT (12U)
  21340. /*! PKE - Pull / Keep Enable Field
  21341. * 0b0..Pull/Keeper Disabled
  21342. * 0b1..Pull/Keeper Enabled
  21343. */
  21344. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PKE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PKE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PKE_MASK)
  21345. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PUE_MASK (0x2000U)
  21346. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PUE_SHIFT (13U)
  21347. /*! PUE - Pull / Keep Select Field
  21348. * 0b0..Keeper
  21349. * 0b1..Pull
  21350. */
  21351. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PUE_MASK)
  21352. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PUS_MASK (0xC000U)
  21353. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PUS_SHIFT (14U)
  21354. /*! PUS - Pull Up / Down Config. Field
  21355. * 0b00..100K Ohm Pull Down
  21356. * 0b01..47K Ohm Pull Up
  21357. * 0b10..100K Ohm Pull Up
  21358. * 0b11..22K Ohm Pull Up
  21359. */
  21360. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PUS_MASK)
  21361. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_HYS_MASK (0x10000U)
  21362. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_HYS_SHIFT (16U)
  21363. /*! HYS - Hyst. Enable Field
  21364. * 0b0..Hysteresis Disabled
  21365. * 0b1..Hysteresis Enabled
  21366. */
  21367. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_HYS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_HYS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_HYS_MASK)
  21368. /*! @} */
  21369. /*! @name SW_PAD_CTL_PAD_WAKEUP - SW_PAD_CTL_PAD_WAKEUP SW PAD Control Register */
  21370. /*! @{ */
  21371. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_SRE_MASK (0x1U)
  21372. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_SRE_SHIFT (0U)
  21373. /*! SRE - Slew Rate Field
  21374. * 0b0..Slow Slew Rate
  21375. * 0b1..Fast Slew Rate
  21376. */
  21377. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_SRE_MASK)
  21378. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DSE_MASK (0x38U)
  21379. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DSE_SHIFT (3U)
  21380. /*! DSE - Drive Strength Field
  21381. * 0b000..output driver disabled;
  21382. * 0b001..R0(150 Ohm @ 3.3V, 260 Ohm@1.8V)
  21383. * 0b010..R0/2
  21384. * 0b011..R0/3
  21385. * 0b100..R0/4
  21386. * 0b101..R0/5
  21387. * 0b110..R0/6
  21388. * 0b111..R0/7
  21389. */
  21390. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DSE_MASK)
  21391. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_SPEED_MASK (0xC0U)
  21392. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_SPEED_SHIFT (6U)
  21393. /*! SPEED - Speed Field
  21394. * 0b10..medium(100MHz)
  21395. */
  21396. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_SPEED(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_SPEED_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_SPEED_MASK)
  21397. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_ODE_MASK (0x800U)
  21398. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_ODE_SHIFT (11U)
  21399. /*! ODE - Open Drain Enable Field
  21400. * 0b0..Open Drain Disabled
  21401. * 0b1..Open Drain Enabled
  21402. */
  21403. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_ODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_ODE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_ODE_MASK)
  21404. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PKE_MASK (0x1000U)
  21405. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PKE_SHIFT (12U)
  21406. /*! PKE - Pull / Keep Enable Field
  21407. * 0b0..Pull/Keeper Disabled
  21408. * 0b1..Pull/Keeper Enabled
  21409. */
  21410. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PKE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PKE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PKE_MASK)
  21411. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PUE_MASK (0x2000U)
  21412. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PUE_SHIFT (13U)
  21413. /*! PUE - Pull / Keep Select Field
  21414. * 0b0..Keeper
  21415. * 0b1..Pull
  21416. */
  21417. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PUE_MASK)
  21418. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PUS_MASK (0xC000U)
  21419. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PUS_SHIFT (14U)
  21420. /*! PUS - Pull Up / Down Config. Field
  21421. * 0b00..100K Ohm Pull Down
  21422. * 0b01..47K Ohm Pull Up
  21423. * 0b10..100K Ohm Pull Up
  21424. * 0b11..22K Ohm Pull Up
  21425. */
  21426. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PUS_MASK)
  21427. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_HYS_MASK (0x10000U)
  21428. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_HYS_SHIFT (16U)
  21429. /*! HYS - Hyst. Enable Field
  21430. * 0b0..Hysteresis Disabled
  21431. * 0b1..Hysteresis Enabled
  21432. */
  21433. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_HYS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_HYS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_HYS_MASK)
  21434. /*! @} */
  21435. /*! @name SW_PAD_CTL_PAD_PMIC_ON_REQ - SW_PAD_CTL_PAD_PMIC_ON_REQ SW PAD Control Register */
  21436. /*! @{ */
  21437. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_SRE_MASK (0x1U)
  21438. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_SRE_SHIFT (0U)
  21439. /*! SRE - Slew Rate Field
  21440. * 0b0..Slow Slew Rate
  21441. * 0b1..Fast Slew Rate
  21442. */
  21443. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_SRE_MASK)
  21444. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DSE_MASK (0x38U)
  21445. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DSE_SHIFT (3U)
  21446. /*! DSE - Drive Strength Field
  21447. * 0b000..output driver disabled;
  21448. * 0b001..R0(150 Ohm @ 3.3V, 260 Ohm@1.8V)
  21449. * 0b010..R0/2
  21450. * 0b011..R0/3
  21451. * 0b100..R0/4
  21452. * 0b101..R0/5
  21453. * 0b110..R0/6
  21454. * 0b111..R0/7
  21455. */
  21456. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DSE_MASK)
  21457. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_SPEED_MASK (0xC0U)
  21458. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_SPEED_SHIFT (6U)
  21459. /*! SPEED - Speed Field
  21460. * 0b10..medium(100MHz)
  21461. */
  21462. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_SPEED(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_SPEED_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_SPEED_MASK)
  21463. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_ODE_MASK (0x800U)
  21464. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_ODE_SHIFT (11U)
  21465. /*! ODE - Open Drain Enable Field
  21466. * 0b0..Open Drain Disabled
  21467. * 0b1..Open Drain Enabled
  21468. */
  21469. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_ODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_ODE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_ODE_MASK)
  21470. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PKE_MASK (0x1000U)
  21471. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PKE_SHIFT (12U)
  21472. /*! PKE - Pull / Keep Enable Field
  21473. * 0b0..Pull/Keeper Disabled
  21474. * 0b1..Pull/Keeper Enabled
  21475. */
  21476. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PKE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PKE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PKE_MASK)
  21477. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PUE_MASK (0x2000U)
  21478. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PUE_SHIFT (13U)
  21479. /*! PUE - Pull / Keep Select Field
  21480. * 0b0..Keeper
  21481. * 0b1..Pull
  21482. */
  21483. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PUE_MASK)
  21484. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PUS_MASK (0xC000U)
  21485. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PUS_SHIFT (14U)
  21486. /*! PUS - Pull Up / Down Config. Field
  21487. * 0b00..100K Ohm Pull Down
  21488. * 0b01..47K Ohm Pull Up
  21489. * 0b10..100K Ohm Pull Up
  21490. * 0b11..22K Ohm Pull Up
  21491. */
  21492. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PUS_MASK)
  21493. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_HYS_MASK (0x10000U)
  21494. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_HYS_SHIFT (16U)
  21495. /*! HYS - Hyst. Enable Field
  21496. * 0b0..Hysteresis Disabled
  21497. * 0b1..Hysteresis Enabled
  21498. */
  21499. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_HYS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_HYS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_HYS_MASK)
  21500. /*! @} */
  21501. /*! @name SW_PAD_CTL_PAD_PMIC_STBY_REQ - SW_PAD_CTL_PAD_PMIC_STBY_REQ SW PAD Control Register */
  21502. /*! @{ */
  21503. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_SRE_MASK (0x1U)
  21504. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_SRE_SHIFT (0U)
  21505. /*! SRE - Slew Rate Field
  21506. * 0b0..Slow Slew Rate
  21507. * 0b1..Fast Slew Rate
  21508. */
  21509. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_SRE_MASK)
  21510. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DSE_MASK (0x38U)
  21511. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DSE_SHIFT (3U)
  21512. /*! DSE - Drive Strength Field
  21513. * 0b000..output driver disabled;
  21514. * 0b001..R0(150 Ohm @ 3.3V, 260 Ohm@1.8V)
  21515. * 0b010..R0/2
  21516. * 0b011..R0/3
  21517. * 0b100..R0/4
  21518. * 0b101..R0/5
  21519. * 0b110..R0/6
  21520. * 0b111..R0/7
  21521. */
  21522. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DSE_MASK)
  21523. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_SPEED_MASK (0xC0U)
  21524. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_SPEED_SHIFT (6U)
  21525. /*! SPEED - Speed Field
  21526. * 0b10..medium(100MHz)
  21527. */
  21528. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_SPEED(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_SPEED_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_SPEED_MASK)
  21529. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_ODE_MASK (0x800U)
  21530. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_ODE_SHIFT (11U)
  21531. /*! ODE - Open Drain Enable Field
  21532. * 0b0..Open Drain Disabled
  21533. * 0b1..Open Drain Enabled
  21534. */
  21535. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_ODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_ODE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_ODE_MASK)
  21536. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PKE_MASK (0x1000U)
  21537. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PKE_SHIFT (12U)
  21538. /*! PKE - Pull / Keep Enable Field
  21539. * 0b0..Pull/Keeper Disabled
  21540. * 0b1..Pull/Keeper Enabled
  21541. */
  21542. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PKE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PKE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PKE_MASK)
  21543. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PUE_MASK (0x2000U)
  21544. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PUE_SHIFT (13U)
  21545. /*! PUE - Pull / Keep Select Field
  21546. * 0b0..Keeper
  21547. * 0b1..Pull
  21548. */
  21549. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PUE_MASK)
  21550. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PUS_MASK (0xC000U)
  21551. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PUS_SHIFT (14U)
  21552. /*! PUS - Pull Up / Down Config. Field
  21553. * 0b00..100K Ohm Pull Down
  21554. * 0b01..47K Ohm Pull Up
  21555. * 0b10..100K Ohm Pull Up
  21556. * 0b11..22K Ohm Pull Up
  21557. */
  21558. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PUS_MASK)
  21559. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_HYS_MASK (0x10000U)
  21560. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_HYS_SHIFT (16U)
  21561. /*! HYS - Hyst. Enable Field
  21562. * 0b0..Hysteresis Disabled
  21563. * 0b1..Hysteresis Enabled
  21564. */
  21565. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_HYS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_HYS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_HYS_MASK)
  21566. /*! @} */
  21567. /*!
  21568. * @}
  21569. */ /* end of group IOMUXC_SNVS_Register_Masks */
  21570. /* IOMUXC_SNVS - Peripheral instance base addresses */
  21571. /** Peripheral IOMUXC_SNVS base address */
  21572. #define IOMUXC_SNVS_BASE (0x400A8000u)
  21573. /** Peripheral IOMUXC_SNVS base pointer */
  21574. #define IOMUXC_SNVS ((IOMUXC_SNVS_Type *)IOMUXC_SNVS_BASE)
  21575. /** Array initializer of IOMUXC_SNVS peripheral base addresses */
  21576. #define IOMUXC_SNVS_BASE_ADDRS { IOMUXC_SNVS_BASE }
  21577. /** Array initializer of IOMUXC_SNVS peripheral base pointers */
  21578. #define IOMUXC_SNVS_BASE_PTRS { IOMUXC_SNVS }
  21579. /*!
  21580. * @}
  21581. */ /* end of group IOMUXC_SNVS_Peripheral_Access_Layer */
  21582. /* ----------------------------------------------------------------------------
  21583. -- IOMUXC_SNVS_GPR Peripheral Access Layer
  21584. ---------------------------------------------------------------------------- */
  21585. /*!
  21586. * @addtogroup IOMUXC_SNVS_GPR_Peripheral_Access_Layer IOMUXC_SNVS_GPR Peripheral Access Layer
  21587. * @{
  21588. */
  21589. /** IOMUXC_SNVS_GPR - Register Layout Typedef */
  21590. typedef struct {
  21591. uint32_t GPR0; /**< GPR0 General Purpose Register, offset: 0x0 */
  21592. uint32_t GPR1; /**< GPR1 General Purpose Register, offset: 0x4 */
  21593. uint32_t GPR2; /**< GPR2 General Purpose Register, offset: 0x8 */
  21594. __IO uint32_t GPR3; /**< GPR3 General Purpose Register, offset: 0xC */
  21595. } IOMUXC_SNVS_GPR_Type;
  21596. /* ----------------------------------------------------------------------------
  21597. -- IOMUXC_SNVS_GPR Register Masks
  21598. ---------------------------------------------------------------------------- */
  21599. /*!
  21600. * @addtogroup IOMUXC_SNVS_GPR_Register_Masks IOMUXC_SNVS_GPR Register Masks
  21601. * @{
  21602. */
  21603. /*! @name GPR3 - GPR3 General Purpose Register */
  21604. /*! @{ */
  21605. #define IOMUXC_SNVS_GPR_GPR3_LPSR_MODE_ENABLE_MASK (0x1U)
  21606. #define IOMUXC_SNVS_GPR_GPR3_LPSR_MODE_ENABLE_SHIFT (0U)
  21607. /*! LPSR_MODE_ENABLE
  21608. * 0b0..SNVS domain will reset when system reset happens
  21609. * 0b1..SNVS domain will only reset with SNVS POR
  21610. */
  21611. #define IOMUXC_SNVS_GPR_GPR3_LPSR_MODE_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR3_LPSR_MODE_ENABLE_SHIFT)) & IOMUXC_SNVS_GPR_GPR3_LPSR_MODE_ENABLE_MASK)
  21612. #define IOMUXC_SNVS_GPR_GPR3_DCDC_STATUS_CAPT_CLR_MASK (0x2U)
  21613. #define IOMUXC_SNVS_GPR_GPR3_DCDC_STATUS_CAPT_CLR_SHIFT (1U)
  21614. /*! DCDC_STATUS_CAPT_CLR - DCDC captured status clear
  21615. */
  21616. #define IOMUXC_SNVS_GPR_GPR3_DCDC_STATUS_CAPT_CLR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR3_DCDC_STATUS_CAPT_CLR_SHIFT)) & IOMUXC_SNVS_GPR_GPR3_DCDC_STATUS_CAPT_CLR_MASK)
  21617. #define IOMUXC_SNVS_GPR_GPR3_POR_PULL_TYPE_MASK (0xCU)
  21618. #define IOMUXC_SNVS_GPR_GPR3_POR_PULL_TYPE_SHIFT (2U)
  21619. /*! POR_PULL_TYPE
  21620. * 0b00..100 Ohm pull up enabled for POR_B always
  21621. * 0b01..Disable pull in SNVS mode, 100 Ohm pull up enabled otherwise
  21622. * 0b10..Disable pull of POR_B always
  21623. * 0b11..100 Ohm pull down enabled in SNVS mode, 100 Ohm pull up enabled otherwise
  21624. */
  21625. #define IOMUXC_SNVS_GPR_GPR3_POR_PULL_TYPE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR3_POR_PULL_TYPE_SHIFT)) & IOMUXC_SNVS_GPR_GPR3_POR_PULL_TYPE_MASK)
  21626. #define IOMUXC_SNVS_GPR_GPR3_DCDC_IN_LOW_VOL_MASK (0x10000U)
  21627. #define IOMUXC_SNVS_GPR_GPR3_DCDC_IN_LOW_VOL_SHIFT (16U)
  21628. /*! DCDC_IN_LOW_VOL
  21629. * 0b0..DCDC_IN is ok
  21630. * 0b1..DCDC_IN is too low
  21631. */
  21632. #define IOMUXC_SNVS_GPR_GPR3_DCDC_IN_LOW_VOL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR3_DCDC_IN_LOW_VOL_SHIFT)) & IOMUXC_SNVS_GPR_GPR3_DCDC_IN_LOW_VOL_MASK)
  21633. #define IOMUXC_SNVS_GPR_GPR3_DCDC_OVER_CUR_MASK (0x20000U)
  21634. #define IOMUXC_SNVS_GPR_GPR3_DCDC_OVER_CUR_SHIFT (17U)
  21635. /*! DCDC_OVER_CUR
  21636. * 0b0..No over current detected
  21637. * 0b1..Over current detected
  21638. */
  21639. #define IOMUXC_SNVS_GPR_GPR3_DCDC_OVER_CUR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR3_DCDC_OVER_CUR_SHIFT)) & IOMUXC_SNVS_GPR_GPR3_DCDC_OVER_CUR_MASK)
  21640. #define IOMUXC_SNVS_GPR_GPR3_DCDC_OVER_VOL_MASK (0x40000U)
  21641. #define IOMUXC_SNVS_GPR_GPR3_DCDC_OVER_VOL_SHIFT (18U)
  21642. /*! DCDC_OVER_VOL
  21643. * 0b0..No over voltage detected
  21644. * 0b1..Over voltage detected
  21645. */
  21646. #define IOMUXC_SNVS_GPR_GPR3_DCDC_OVER_VOL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR3_DCDC_OVER_VOL_SHIFT)) & IOMUXC_SNVS_GPR_GPR3_DCDC_OVER_VOL_MASK)
  21647. #define IOMUXC_SNVS_GPR_GPR3_DCDC_STS_DC_OK_MASK (0x80000U)
  21648. #define IOMUXC_SNVS_GPR_GPR3_DCDC_STS_DC_OK_SHIFT (19U)
  21649. /*! DCDC_STS_DC_OK
  21650. * 0b0..DCDC is ramping up and not ready
  21651. * 0b1..DCDC is ready
  21652. */
  21653. #define IOMUXC_SNVS_GPR_GPR3_DCDC_STS_DC_OK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR3_DCDC_STS_DC_OK_SHIFT)) & IOMUXC_SNVS_GPR_GPR3_DCDC_STS_DC_OK_MASK)
  21654. /*! @} */
  21655. /*!
  21656. * @}
  21657. */ /* end of group IOMUXC_SNVS_GPR_Register_Masks */
  21658. /* IOMUXC_SNVS_GPR - Peripheral instance base addresses */
  21659. /** Peripheral IOMUXC_SNVS_GPR base address */
  21660. #define IOMUXC_SNVS_GPR_BASE (0x400A4000u)
  21661. /** Peripheral IOMUXC_SNVS_GPR base pointer */
  21662. #define IOMUXC_SNVS_GPR ((IOMUXC_SNVS_GPR_Type *)IOMUXC_SNVS_GPR_BASE)
  21663. /** Array initializer of IOMUXC_SNVS_GPR peripheral base addresses */
  21664. #define IOMUXC_SNVS_GPR_BASE_ADDRS { IOMUXC_SNVS_GPR_BASE }
  21665. /** Array initializer of IOMUXC_SNVS_GPR peripheral base pointers */
  21666. #define IOMUXC_SNVS_GPR_BASE_PTRS { IOMUXC_SNVS_GPR }
  21667. /*!
  21668. * @}
  21669. */ /* end of group IOMUXC_SNVS_GPR_Peripheral_Access_Layer */
  21670. /* ----------------------------------------------------------------------------
  21671. -- KPP Peripheral Access Layer
  21672. ---------------------------------------------------------------------------- */
  21673. /*!
  21674. * @addtogroup KPP_Peripheral_Access_Layer KPP Peripheral Access Layer
  21675. * @{
  21676. */
  21677. /** KPP - Register Layout Typedef */
  21678. typedef struct {
  21679. __IO uint16_t KPCR; /**< Keypad Control Register, offset: 0x0 */
  21680. __IO uint16_t KPSR; /**< Keypad Status Register, offset: 0x2 */
  21681. __IO uint16_t KDDR; /**< Keypad Data Direction Register, offset: 0x4 */
  21682. __IO uint16_t KPDR; /**< Keypad Data Register, offset: 0x6 */
  21683. } KPP_Type;
  21684. /* ----------------------------------------------------------------------------
  21685. -- KPP Register Masks
  21686. ---------------------------------------------------------------------------- */
  21687. /*!
  21688. * @addtogroup KPP_Register_Masks KPP Register Masks
  21689. * @{
  21690. */
  21691. /*! @name KPCR - Keypad Control Register */
  21692. /*! @{ */
  21693. #define KPP_KPCR_KRE_MASK (0xFFU)
  21694. #define KPP_KPCR_KRE_SHIFT (0U)
  21695. /*! KRE
  21696. * 0b00000000..Row is not included in the keypad key press detect.
  21697. * 0b00000001..Row is included in the keypad key press detect.
  21698. */
  21699. #define KPP_KPCR_KRE(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPCR_KRE_SHIFT)) & KPP_KPCR_KRE_MASK)
  21700. #define KPP_KPCR_KCO_MASK (0xFF00U)
  21701. #define KPP_KPCR_KCO_SHIFT (8U)
  21702. /*! KCO
  21703. * 0b00000000..Column strobe output is totem pole drive.
  21704. * 0b00000001..Column strobe output is open drain.
  21705. */
  21706. #define KPP_KPCR_KCO(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPCR_KCO_SHIFT)) & KPP_KPCR_KCO_MASK)
  21707. /*! @} */
  21708. /*! @name KPSR - Keypad Status Register */
  21709. /*! @{ */
  21710. #define KPP_KPSR_KPKD_MASK (0x1U)
  21711. #define KPP_KPSR_KPKD_SHIFT (0U)
  21712. /*! KPKD
  21713. * 0b0..No key presses detected
  21714. * 0b1..A key has been depressed
  21715. */
  21716. #define KPP_KPSR_KPKD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KPKD_SHIFT)) & KPP_KPSR_KPKD_MASK)
  21717. #define KPP_KPSR_KPKR_MASK (0x2U)
  21718. #define KPP_KPSR_KPKR_SHIFT (1U)
  21719. /*! KPKR
  21720. * 0b0..No key release detected
  21721. * 0b1..All keys have been released
  21722. */
  21723. #define KPP_KPSR_KPKR(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KPKR_SHIFT)) & KPP_KPSR_KPKR_MASK)
  21724. #define KPP_KPSR_KDSC_MASK (0x4U)
  21725. #define KPP_KPSR_KDSC_SHIFT (2U)
  21726. /*! KDSC
  21727. * 0b0..No effect
  21728. * 0b1..Set bits that clear the keypad depress synchronizer chain
  21729. */
  21730. #define KPP_KPSR_KDSC(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KDSC_SHIFT)) & KPP_KPSR_KDSC_MASK)
  21731. #define KPP_KPSR_KRSS_MASK (0x8U)
  21732. #define KPP_KPSR_KRSS_SHIFT (3U)
  21733. /*! KRSS
  21734. * 0b0..No effect
  21735. * 0b1..Set bits which sets keypad release synchronizer chain
  21736. */
  21737. #define KPP_KPSR_KRSS(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KRSS_SHIFT)) & KPP_KPSR_KRSS_MASK)
  21738. #define KPP_KPSR_KDIE_MASK (0x100U)
  21739. #define KPP_KPSR_KDIE_SHIFT (8U)
  21740. /*! KDIE
  21741. * 0b0..No interrupt request is generated when KPKD is set.
  21742. * 0b1..An interrupt request is generated when KPKD is set.
  21743. */
  21744. #define KPP_KPSR_KDIE(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KDIE_SHIFT)) & KPP_KPSR_KDIE_MASK)
  21745. #define KPP_KPSR_KRIE_MASK (0x200U)
  21746. #define KPP_KPSR_KRIE_SHIFT (9U)
  21747. /*! KRIE
  21748. * 0b0..No interrupt request is generated when KPKR is set.
  21749. * 0b1..An interrupt request is generated when KPKR is set.
  21750. */
  21751. #define KPP_KPSR_KRIE(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KRIE_SHIFT)) & KPP_KPSR_KRIE_MASK)
  21752. /*! @} */
  21753. /*! @name KDDR - Keypad Data Direction Register */
  21754. /*! @{ */
  21755. #define KPP_KDDR_KRDD_MASK (0xFFU)
  21756. #define KPP_KDDR_KRDD_SHIFT (0U)
  21757. /*! KRDD
  21758. * 0b00000000..ROWn pin configured as an input.
  21759. * 0b00000001..ROWn pin configured as an output.
  21760. */
  21761. #define KPP_KDDR_KRDD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KDDR_KRDD_SHIFT)) & KPP_KDDR_KRDD_MASK)
  21762. #define KPP_KDDR_KCDD_MASK (0xFF00U)
  21763. #define KPP_KDDR_KCDD_SHIFT (8U)
  21764. /*! KCDD
  21765. * 0b00000000..COLn pin is configured as an input.
  21766. * 0b00000001..COLn pin is configured as an output.
  21767. */
  21768. #define KPP_KDDR_KCDD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KDDR_KCDD_SHIFT)) & KPP_KDDR_KCDD_MASK)
  21769. /*! @} */
  21770. /*! @name KPDR - Keypad Data Register */
  21771. /*! @{ */
  21772. #define KPP_KPDR_KRD_MASK (0xFFU)
  21773. #define KPP_KPDR_KRD_SHIFT (0U)
  21774. #define KPP_KPDR_KRD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPDR_KRD_SHIFT)) & KPP_KPDR_KRD_MASK)
  21775. #define KPP_KPDR_KCD_MASK (0xFF00U)
  21776. #define KPP_KPDR_KCD_SHIFT (8U)
  21777. #define KPP_KPDR_KCD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPDR_KCD_SHIFT)) & KPP_KPDR_KCD_MASK)
  21778. /*! @} */
  21779. /*!
  21780. * @}
  21781. */ /* end of group KPP_Register_Masks */
  21782. /* KPP - Peripheral instance base addresses */
  21783. /** Peripheral KPP base address */
  21784. #define KPP_BASE (0x401FC000u)
  21785. /** Peripheral KPP base pointer */
  21786. #define KPP ((KPP_Type *)KPP_BASE)
  21787. /** Array initializer of KPP peripheral base addresses */
  21788. #define KPP_BASE_ADDRS { KPP_BASE }
  21789. /** Array initializer of KPP peripheral base pointers */
  21790. #define KPP_BASE_PTRS { KPP }
  21791. /** Interrupt vectors for the KPP peripheral type */
  21792. #define KPP_IRQS { KPP_IRQn }
  21793. /*!
  21794. * @}
  21795. */ /* end of group KPP_Peripheral_Access_Layer */
  21796. /* ----------------------------------------------------------------------------
  21797. -- LPI2C Peripheral Access Layer
  21798. ---------------------------------------------------------------------------- */
  21799. /*!
  21800. * @addtogroup LPI2C_Peripheral_Access_Layer LPI2C Peripheral Access Layer
  21801. * @{
  21802. */
  21803. /** LPI2C - Register Layout Typedef */
  21804. typedef struct {
  21805. __I uint32_t VERID; /**< Version ID, offset: 0x0 */
  21806. __I uint32_t PARAM; /**< Parameter, offset: 0x4 */
  21807. uint8_t RESERVED_0[8];
  21808. __IO uint32_t MCR; /**< Master Control, offset: 0x10 */
  21809. __IO uint32_t MSR; /**< Master Status, offset: 0x14 */
  21810. __IO uint32_t MIER; /**< Master Interrupt Enable, offset: 0x18 */
  21811. __IO uint32_t MDER; /**< Master DMA Enable, offset: 0x1C */
  21812. __IO uint32_t MCFGR0; /**< Master Configuration 0, offset: 0x20 */
  21813. __IO uint32_t MCFGR1; /**< Master Configuration 1, offset: 0x24 */
  21814. __IO uint32_t MCFGR2; /**< Master Configuration 2, offset: 0x28 */
  21815. __IO uint32_t MCFGR3; /**< Master Configuration 3, offset: 0x2C */
  21816. uint8_t RESERVED_1[16];
  21817. __IO uint32_t MDMR; /**< Master Data Match, offset: 0x40 */
  21818. uint8_t RESERVED_2[4];
  21819. __IO uint32_t MCCR0; /**< Master Clock Configuration 0, offset: 0x48 */
  21820. uint8_t RESERVED_3[4];
  21821. __IO uint32_t MCCR1; /**< Master Clock Configuration 1, offset: 0x50 */
  21822. uint8_t RESERVED_4[4];
  21823. __IO uint32_t MFCR; /**< Master FIFO Control, offset: 0x58 */
  21824. __I uint32_t MFSR; /**< Master FIFO Status, offset: 0x5C */
  21825. __O uint32_t MTDR; /**< Master Transmit Data, offset: 0x60 */
  21826. uint8_t RESERVED_5[12];
  21827. __I uint32_t MRDR; /**< Master Receive Data, offset: 0x70 */
  21828. uint8_t RESERVED_6[156];
  21829. __IO uint32_t SCR; /**< Slave Control, offset: 0x110 */
  21830. __IO uint32_t SSR; /**< Slave Status, offset: 0x114 */
  21831. __IO uint32_t SIER; /**< Slave Interrupt Enable, offset: 0x118 */
  21832. __IO uint32_t SDER; /**< Slave DMA Enable, offset: 0x11C */
  21833. uint8_t RESERVED_7[4];
  21834. __IO uint32_t SCFGR1; /**< Slave Configuration 1, offset: 0x124 */
  21835. __IO uint32_t SCFGR2; /**< Slave Configuration 2, offset: 0x128 */
  21836. uint8_t RESERVED_8[20];
  21837. __IO uint32_t SAMR; /**< Slave Address Match, offset: 0x140 */
  21838. uint8_t RESERVED_9[12];
  21839. __I uint32_t SASR; /**< Slave Address Status, offset: 0x150 */
  21840. __IO uint32_t STAR; /**< Slave Transmit ACK, offset: 0x154 */
  21841. uint8_t RESERVED_10[8];
  21842. __O uint32_t STDR; /**< Slave Transmit Data, offset: 0x160 */
  21843. uint8_t RESERVED_11[12];
  21844. __I uint32_t SRDR; /**< Slave Receive Data, offset: 0x170 */
  21845. } LPI2C_Type;
  21846. /* ----------------------------------------------------------------------------
  21847. -- LPI2C Register Masks
  21848. ---------------------------------------------------------------------------- */
  21849. /*!
  21850. * @addtogroup LPI2C_Register_Masks LPI2C Register Masks
  21851. * @{
  21852. */
  21853. /*! @name VERID - Version ID */
  21854. /*! @{ */
  21855. #define LPI2C_VERID_FEATURE_MASK (0xFFFFU)
  21856. #define LPI2C_VERID_FEATURE_SHIFT (0U)
  21857. /*! FEATURE - Feature Specification Number
  21858. * 0b0000000000000010..Master only, with standard feature set
  21859. * 0b0000000000000011..Master and slave, with standard feature set
  21860. */
  21861. #define LPI2C_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_FEATURE_SHIFT)) & LPI2C_VERID_FEATURE_MASK)
  21862. #define LPI2C_VERID_MINOR_MASK (0xFF0000U)
  21863. #define LPI2C_VERID_MINOR_SHIFT (16U)
  21864. /*! MINOR - Minor Version Number
  21865. */
  21866. #define LPI2C_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_MINOR_SHIFT)) & LPI2C_VERID_MINOR_MASK)
  21867. #define LPI2C_VERID_MAJOR_MASK (0xFF000000U)
  21868. #define LPI2C_VERID_MAJOR_SHIFT (24U)
  21869. /*! MAJOR - Major Version Number
  21870. */
  21871. #define LPI2C_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_MAJOR_SHIFT)) & LPI2C_VERID_MAJOR_MASK)
  21872. /*! @} */
  21873. /*! @name PARAM - Parameter */
  21874. /*! @{ */
  21875. #define LPI2C_PARAM_MTXFIFO_MASK (0xFU)
  21876. #define LPI2C_PARAM_MTXFIFO_SHIFT (0U)
  21877. /*! MTXFIFO - Master Transmit FIFO Size
  21878. */
  21879. #define LPI2C_PARAM_MTXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_PARAM_MTXFIFO_SHIFT)) & LPI2C_PARAM_MTXFIFO_MASK)
  21880. #define LPI2C_PARAM_MRXFIFO_MASK (0xF00U)
  21881. #define LPI2C_PARAM_MRXFIFO_SHIFT (8U)
  21882. /*! MRXFIFO - Master Receive FIFO Size
  21883. */
  21884. #define LPI2C_PARAM_MRXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_PARAM_MRXFIFO_SHIFT)) & LPI2C_PARAM_MRXFIFO_MASK)
  21885. /*! @} */
  21886. /*! @name MCR - Master Control */
  21887. /*! @{ */
  21888. #define LPI2C_MCR_MEN_MASK (0x1U)
  21889. #define LPI2C_MCR_MEN_SHIFT (0U)
  21890. /*! MEN - Master Enable
  21891. * 0b0..Master logic is disabled
  21892. * 0b1..Master logic is enabled
  21893. */
  21894. #define LPI2C_MCR_MEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_MEN_SHIFT)) & LPI2C_MCR_MEN_MASK)
  21895. #define LPI2C_MCR_RST_MASK (0x2U)
  21896. #define LPI2C_MCR_RST_SHIFT (1U)
  21897. /*! RST - Software Reset
  21898. * 0b0..Master logic is not reset
  21899. * 0b1..Master logic is reset
  21900. */
  21901. #define LPI2C_MCR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RST_SHIFT)) & LPI2C_MCR_RST_MASK)
  21902. #define LPI2C_MCR_DOZEN_MASK (0x4U)
  21903. #define LPI2C_MCR_DOZEN_SHIFT (2U)
  21904. /*! DOZEN - Doze mode enable
  21905. * 0b0..Master is enabled in Doze mode
  21906. * 0b1..Master is disabled in Doze mode
  21907. */
  21908. #define LPI2C_MCR_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_DOZEN_SHIFT)) & LPI2C_MCR_DOZEN_MASK)
  21909. #define LPI2C_MCR_DBGEN_MASK (0x8U)
  21910. #define LPI2C_MCR_DBGEN_SHIFT (3U)
  21911. /*! DBGEN - Debug Enable
  21912. * 0b0..Master is disabled in debug mode
  21913. * 0b1..Master is enabled in debug mode
  21914. */
  21915. #define LPI2C_MCR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_DBGEN_SHIFT)) & LPI2C_MCR_DBGEN_MASK)
  21916. #define LPI2C_MCR_RTF_MASK (0x100U)
  21917. #define LPI2C_MCR_RTF_SHIFT (8U)
  21918. /*! RTF - Reset Transmit FIFO
  21919. * 0b0..No effect
  21920. * 0b1..Transmit FIFO is reset
  21921. */
  21922. #define LPI2C_MCR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RTF_SHIFT)) & LPI2C_MCR_RTF_MASK)
  21923. #define LPI2C_MCR_RRF_MASK (0x200U)
  21924. #define LPI2C_MCR_RRF_SHIFT (9U)
  21925. /*! RRF - Reset Receive FIFO
  21926. * 0b0..No effect
  21927. * 0b1..Receive FIFO is reset
  21928. */
  21929. #define LPI2C_MCR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RRF_SHIFT)) & LPI2C_MCR_RRF_MASK)
  21930. /*! @} */
  21931. /*! @name MSR - Master Status */
  21932. /*! @{ */
  21933. #define LPI2C_MSR_TDF_MASK (0x1U)
  21934. #define LPI2C_MSR_TDF_SHIFT (0U)
  21935. /*! TDF - Transmit Data Flag
  21936. * 0b0..Transmit data is not requested
  21937. * 0b1..Transmit data is requested
  21938. */
  21939. #define LPI2C_MSR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_TDF_SHIFT)) & LPI2C_MSR_TDF_MASK)
  21940. #define LPI2C_MSR_RDF_MASK (0x2U)
  21941. #define LPI2C_MSR_RDF_SHIFT (1U)
  21942. /*! RDF - Receive Data Flag
  21943. * 0b0..Receive Data is not ready
  21944. * 0b1..Receive data is ready
  21945. */
  21946. #define LPI2C_MSR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_RDF_SHIFT)) & LPI2C_MSR_RDF_MASK)
  21947. #define LPI2C_MSR_EPF_MASK (0x100U)
  21948. #define LPI2C_MSR_EPF_SHIFT (8U)
  21949. /*! EPF - End Packet Flag
  21950. * 0b0..Master has not generated a STOP or Repeated START condition
  21951. * 0b1..Master has generated a STOP or Repeated START condition
  21952. */
  21953. #define LPI2C_MSR_EPF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_EPF_SHIFT)) & LPI2C_MSR_EPF_MASK)
  21954. #define LPI2C_MSR_SDF_MASK (0x200U)
  21955. #define LPI2C_MSR_SDF_SHIFT (9U)
  21956. /*! SDF - STOP Detect Flag
  21957. * 0b0..Master has not generated a STOP condition
  21958. * 0b1..Master has generated a STOP condition
  21959. */
  21960. #define LPI2C_MSR_SDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_SDF_SHIFT)) & LPI2C_MSR_SDF_MASK)
  21961. #define LPI2C_MSR_NDF_MASK (0x400U)
  21962. #define LPI2C_MSR_NDF_SHIFT (10U)
  21963. /*! NDF - NACK Detect Flag
  21964. * 0b0..Unexpected NACK was not detected
  21965. * 0b1..Unexpected NACK was detected
  21966. */
  21967. #define LPI2C_MSR_NDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_NDF_SHIFT)) & LPI2C_MSR_NDF_MASK)
  21968. #define LPI2C_MSR_ALF_MASK (0x800U)
  21969. #define LPI2C_MSR_ALF_SHIFT (11U)
  21970. /*! ALF - Arbitration Lost Flag
  21971. * 0b0..Master has not lost arbitration
  21972. * 0b1..Master has lost arbitration
  21973. */
  21974. #define LPI2C_MSR_ALF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_ALF_SHIFT)) & LPI2C_MSR_ALF_MASK)
  21975. #define LPI2C_MSR_FEF_MASK (0x1000U)
  21976. #define LPI2C_MSR_FEF_SHIFT (12U)
  21977. /*! FEF - FIFO Error Flag
  21978. * 0b0..No error
  21979. * 0b1..Master sending or receiving data without a START condition
  21980. */
  21981. #define LPI2C_MSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_FEF_SHIFT)) & LPI2C_MSR_FEF_MASK)
  21982. #define LPI2C_MSR_PLTF_MASK (0x2000U)
  21983. #define LPI2C_MSR_PLTF_SHIFT (13U)
  21984. /*! PLTF - Pin Low Timeout Flag
  21985. * 0b0..Pin low timeout has not occurred or is disabled
  21986. * 0b1..Pin low timeout has occurred
  21987. */
  21988. #define LPI2C_MSR_PLTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_PLTF_SHIFT)) & LPI2C_MSR_PLTF_MASK)
  21989. #define LPI2C_MSR_DMF_MASK (0x4000U)
  21990. #define LPI2C_MSR_DMF_SHIFT (14U)
  21991. /*! DMF - Data Match Flag
  21992. * 0b0..Have not received matching data
  21993. * 0b1..Have received matching data
  21994. */
  21995. #define LPI2C_MSR_DMF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_DMF_SHIFT)) & LPI2C_MSR_DMF_MASK)
  21996. #define LPI2C_MSR_MBF_MASK (0x1000000U)
  21997. #define LPI2C_MSR_MBF_SHIFT (24U)
  21998. /*! MBF - Master Busy Flag
  21999. * 0b0..I2C Master is idle
  22000. * 0b1..I2C Master is busy
  22001. */
  22002. #define LPI2C_MSR_MBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_MBF_SHIFT)) & LPI2C_MSR_MBF_MASK)
  22003. #define LPI2C_MSR_BBF_MASK (0x2000000U)
  22004. #define LPI2C_MSR_BBF_SHIFT (25U)
  22005. /*! BBF - Bus Busy Flag
  22006. * 0b0..I2C Bus is idle
  22007. * 0b1..I2C Bus is busy
  22008. */
  22009. #define LPI2C_MSR_BBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_BBF_SHIFT)) & LPI2C_MSR_BBF_MASK)
  22010. /*! @} */
  22011. /*! @name MIER - Master Interrupt Enable */
  22012. /*! @{ */
  22013. #define LPI2C_MIER_TDIE_MASK (0x1U)
  22014. #define LPI2C_MIER_TDIE_SHIFT (0U)
  22015. /*! TDIE - Transmit Data Interrupt Enable
  22016. * 0b0..Disabled
  22017. * 0b1..Enabled
  22018. */
  22019. #define LPI2C_MIER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_TDIE_SHIFT)) & LPI2C_MIER_TDIE_MASK)
  22020. #define LPI2C_MIER_RDIE_MASK (0x2U)
  22021. #define LPI2C_MIER_RDIE_SHIFT (1U)
  22022. /*! RDIE - Receive Data Interrupt Enable
  22023. * 0b0..Disabled
  22024. * 0b1..Enabled
  22025. */
  22026. #define LPI2C_MIER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_RDIE_SHIFT)) & LPI2C_MIER_RDIE_MASK)
  22027. #define LPI2C_MIER_EPIE_MASK (0x100U)
  22028. #define LPI2C_MIER_EPIE_SHIFT (8U)
  22029. /*! EPIE - End Packet Interrupt Enable
  22030. * 0b0..Disabled
  22031. * 0b1..Enabled
  22032. */
  22033. #define LPI2C_MIER_EPIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_EPIE_SHIFT)) & LPI2C_MIER_EPIE_MASK)
  22034. #define LPI2C_MIER_SDIE_MASK (0x200U)
  22035. #define LPI2C_MIER_SDIE_SHIFT (9U)
  22036. /*! SDIE - STOP Detect Interrupt Enable
  22037. * 0b0..Disabled
  22038. * 0b1..Enabled
  22039. */
  22040. #define LPI2C_MIER_SDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_SDIE_SHIFT)) & LPI2C_MIER_SDIE_MASK)
  22041. #define LPI2C_MIER_NDIE_MASK (0x400U)
  22042. #define LPI2C_MIER_NDIE_SHIFT (10U)
  22043. /*! NDIE - NACK Detect Interrupt Enable
  22044. * 0b0..Disabled
  22045. * 0b1..Enabled
  22046. */
  22047. #define LPI2C_MIER_NDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_NDIE_SHIFT)) & LPI2C_MIER_NDIE_MASK)
  22048. #define LPI2C_MIER_ALIE_MASK (0x800U)
  22049. #define LPI2C_MIER_ALIE_SHIFT (11U)
  22050. /*! ALIE - Arbitration Lost Interrupt Enable
  22051. * 0b0..Disabled
  22052. * 0b1..Enabled
  22053. */
  22054. #define LPI2C_MIER_ALIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_ALIE_SHIFT)) & LPI2C_MIER_ALIE_MASK)
  22055. #define LPI2C_MIER_FEIE_MASK (0x1000U)
  22056. #define LPI2C_MIER_FEIE_SHIFT (12U)
  22057. /*! FEIE - FIFO Error Interrupt Enable
  22058. * 0b0..Enabled
  22059. * 0b1..Disabled
  22060. */
  22061. #define LPI2C_MIER_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_FEIE_SHIFT)) & LPI2C_MIER_FEIE_MASK)
  22062. #define LPI2C_MIER_PLTIE_MASK (0x2000U)
  22063. #define LPI2C_MIER_PLTIE_SHIFT (13U)
  22064. /*! PLTIE - Pin Low Timeout Interrupt Enable
  22065. * 0b0..Disabled
  22066. * 0b1..Enabled
  22067. */
  22068. #define LPI2C_MIER_PLTIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_PLTIE_SHIFT)) & LPI2C_MIER_PLTIE_MASK)
  22069. #define LPI2C_MIER_DMIE_MASK (0x4000U)
  22070. #define LPI2C_MIER_DMIE_SHIFT (14U)
  22071. /*! DMIE - Data Match Interrupt Enable
  22072. * 0b0..Disabled
  22073. * 0b1..Enabled
  22074. */
  22075. #define LPI2C_MIER_DMIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_DMIE_SHIFT)) & LPI2C_MIER_DMIE_MASK)
  22076. /*! @} */
  22077. /*! @name MDER - Master DMA Enable */
  22078. /*! @{ */
  22079. #define LPI2C_MDER_TDDE_MASK (0x1U)
  22080. #define LPI2C_MDER_TDDE_SHIFT (0U)
  22081. /*! TDDE - Transmit Data DMA Enable
  22082. * 0b0..DMA request is disabled
  22083. * 0b1..DMA request is enabled
  22084. */
  22085. #define LPI2C_MDER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDER_TDDE_SHIFT)) & LPI2C_MDER_TDDE_MASK)
  22086. #define LPI2C_MDER_RDDE_MASK (0x2U)
  22087. #define LPI2C_MDER_RDDE_SHIFT (1U)
  22088. /*! RDDE - Receive Data DMA Enable
  22089. * 0b0..DMA request is disabled
  22090. * 0b1..DMA request is enabled
  22091. */
  22092. #define LPI2C_MDER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDER_RDDE_SHIFT)) & LPI2C_MDER_RDDE_MASK)
  22093. /*! @} */
  22094. /*! @name MCFGR0 - Master Configuration 0 */
  22095. /*! @{ */
  22096. #define LPI2C_MCFGR0_HREN_MASK (0x1U)
  22097. #define LPI2C_MCFGR0_HREN_SHIFT (0U)
  22098. /*! HREN - Host Request Enable
  22099. * 0b0..Host request input is disabled
  22100. * 0b1..Host request input is enabled
  22101. */
  22102. #define LPI2C_MCFGR0_HREN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HREN_SHIFT)) & LPI2C_MCFGR0_HREN_MASK)
  22103. #define LPI2C_MCFGR0_HRPOL_MASK (0x2U)
  22104. #define LPI2C_MCFGR0_HRPOL_SHIFT (1U)
  22105. /*! HRPOL - Host Request Polarity
  22106. * 0b0..Active low
  22107. * 0b1..Active high
  22108. */
  22109. #define LPI2C_MCFGR0_HRPOL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HRPOL_SHIFT)) & LPI2C_MCFGR0_HRPOL_MASK)
  22110. #define LPI2C_MCFGR0_HRSEL_MASK (0x4U)
  22111. #define LPI2C_MCFGR0_HRSEL_SHIFT (2U)
  22112. /*! HRSEL - Host Request Select
  22113. * 0b0..Host request input is pin HREQ
  22114. * 0b1..Host request input is input trigger
  22115. */
  22116. #define LPI2C_MCFGR0_HRSEL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HRSEL_SHIFT)) & LPI2C_MCFGR0_HRSEL_MASK)
  22117. #define LPI2C_MCFGR0_CIRFIFO_MASK (0x100U)
  22118. #define LPI2C_MCFGR0_CIRFIFO_SHIFT (8U)
  22119. /*! CIRFIFO - Circular FIFO Enable
  22120. * 0b0..Circular FIFO is disabled
  22121. * 0b1..Circular FIFO is enabled
  22122. */
  22123. #define LPI2C_MCFGR0_CIRFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_CIRFIFO_SHIFT)) & LPI2C_MCFGR0_CIRFIFO_MASK)
  22124. #define LPI2C_MCFGR0_RDMO_MASK (0x200U)
  22125. #define LPI2C_MCFGR0_RDMO_SHIFT (9U)
  22126. /*! RDMO - Receive Data Match Only
  22127. * 0b0..Received data is stored in the receive FIFO
  22128. * 0b1..Received data is discarded unless the the Data Match Flag (MSR[DMF]) is set
  22129. */
  22130. #define LPI2C_MCFGR0_RDMO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_RDMO_SHIFT)) & LPI2C_MCFGR0_RDMO_MASK)
  22131. /*! @} */
  22132. /*! @name MCFGR1 - Master Configuration 1 */
  22133. /*! @{ */
  22134. #define LPI2C_MCFGR1_PRESCALE_MASK (0x7U)
  22135. #define LPI2C_MCFGR1_PRESCALE_SHIFT (0U)
  22136. /*! PRESCALE - Prescaler
  22137. * 0b000..Divide by 1
  22138. * 0b001..Divide by 2
  22139. * 0b010..Divide by 4
  22140. * 0b011..Divide by 8
  22141. * 0b100..Divide by 16
  22142. * 0b101..Divide by 32
  22143. * 0b110..Divide by 64
  22144. * 0b111..Divide by 128
  22145. */
  22146. #define LPI2C_MCFGR1_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_PRESCALE_SHIFT)) & LPI2C_MCFGR1_PRESCALE_MASK)
  22147. #define LPI2C_MCFGR1_AUTOSTOP_MASK (0x100U)
  22148. #define LPI2C_MCFGR1_AUTOSTOP_SHIFT (8U)
  22149. /*! AUTOSTOP - Automatic STOP Generation
  22150. * 0b0..No effect
  22151. * 0b1..STOP condition is automatically generated whenever the transmit FIFO is empty and the LPI2C master is busy
  22152. */
  22153. #define LPI2C_MCFGR1_AUTOSTOP(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_AUTOSTOP_SHIFT)) & LPI2C_MCFGR1_AUTOSTOP_MASK)
  22154. #define LPI2C_MCFGR1_IGNACK_MASK (0x200U)
  22155. #define LPI2C_MCFGR1_IGNACK_SHIFT (9U)
  22156. /*! IGNACK - IGNACK
  22157. * 0b0..LPI2C Master receives ACK and NACK normally
  22158. * 0b1..LPI2C Master treats a received NACK as if it (NACK) was an ACK
  22159. */
  22160. #define LPI2C_MCFGR1_IGNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_IGNACK_SHIFT)) & LPI2C_MCFGR1_IGNACK_MASK)
  22161. #define LPI2C_MCFGR1_TIMECFG_MASK (0x400U)
  22162. #define LPI2C_MCFGR1_TIMECFG_SHIFT (10U)
  22163. /*! TIMECFG - Timeout Configuration
  22164. * 0b0..MSR[PLTF] sets if SCL is low for longer than the configured timeout
  22165. * 0b1..MSR[PLTF] sets if either SCL or SDA is low for longer than the configured timeout
  22166. */
  22167. #define LPI2C_MCFGR1_TIMECFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_TIMECFG_SHIFT)) & LPI2C_MCFGR1_TIMECFG_MASK)
  22168. #define LPI2C_MCFGR1_MATCFG_MASK (0x70000U)
  22169. #define LPI2C_MCFGR1_MATCFG_SHIFT (16U)
  22170. /*! MATCFG - Match Configuration
  22171. * 0b000..Match is disabled
  22172. * 0b001..Reserved
  22173. * 0b010..Match is enabled (1st data word equals MDMR[MATCH0] OR MDMR[MATCH1])
  22174. * 0b011..Match is enabled (any data word equals MDMR[MATCH0] OR MDMR[MATCH1])
  22175. * 0b100..Match is enabled (1st data word equals MDMR[MATCH0] AND 2nd data word equals MDMR[MATCH1)
  22176. * 0b101..Match is enabled (any data word equals MDMR[MATCH0] AND next data word equals MDMR[MATCH1)
  22177. * 0b110..Match is enabled (1st data word AND MDMR[MATCH1] equals MDMR[MATCH0] AND MDMR[MATCH1])
  22178. * 0b111..Match is enabled (any data word AND MDMR[MATCH1] equals MDMR[MATCH0] AND MDMR[MATCH1])
  22179. */
  22180. #define LPI2C_MCFGR1_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_MATCFG_SHIFT)) & LPI2C_MCFGR1_MATCFG_MASK)
  22181. #define LPI2C_MCFGR1_PINCFG_MASK (0x7000000U)
  22182. #define LPI2C_MCFGR1_PINCFG_SHIFT (24U)
  22183. /*! PINCFG - Pin Configuration
  22184. * 0b000..2-pin open drain mode
  22185. * 0b001..2-pin output only mode (ultra-fast mode)
  22186. * 0b010..2-pin push-pull mode
  22187. * 0b011..4-pin push-pull mode
  22188. * 0b100..2-pin open drain mode with separate LPI2C slave
  22189. * 0b101..2-pin output only mode (ultra-fast mode) with separate LPI2C slave
  22190. * 0b110..2-pin push-pull mode with separate LPI2C slave
  22191. * 0b111..4-pin push-pull mode (inverted outputs)
  22192. */
  22193. #define LPI2C_MCFGR1_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_PINCFG_SHIFT)) & LPI2C_MCFGR1_PINCFG_MASK)
  22194. /*! @} */
  22195. /*! @name MCFGR2 - Master Configuration 2 */
  22196. /*! @{ */
  22197. #define LPI2C_MCFGR2_BUSIDLE_MASK (0xFFFU)
  22198. #define LPI2C_MCFGR2_BUSIDLE_SHIFT (0U)
  22199. /*! BUSIDLE - Bus Idle Timeout
  22200. */
  22201. #define LPI2C_MCFGR2_BUSIDLE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_BUSIDLE_SHIFT)) & LPI2C_MCFGR2_BUSIDLE_MASK)
  22202. #define LPI2C_MCFGR2_FILTSCL_MASK (0xF0000U)
  22203. #define LPI2C_MCFGR2_FILTSCL_SHIFT (16U)
  22204. /*! FILTSCL - Glitch Filter SCL
  22205. */
  22206. #define LPI2C_MCFGR2_FILTSCL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_FILTSCL_SHIFT)) & LPI2C_MCFGR2_FILTSCL_MASK)
  22207. #define LPI2C_MCFGR2_FILTSDA_MASK (0xF000000U)
  22208. #define LPI2C_MCFGR2_FILTSDA_SHIFT (24U)
  22209. /*! FILTSDA - Glitch Filter SDA
  22210. */
  22211. #define LPI2C_MCFGR2_FILTSDA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_FILTSDA_SHIFT)) & LPI2C_MCFGR2_FILTSDA_MASK)
  22212. /*! @} */
  22213. /*! @name MCFGR3 - Master Configuration 3 */
  22214. /*! @{ */
  22215. #define LPI2C_MCFGR3_PINLOW_MASK (0xFFF00U)
  22216. #define LPI2C_MCFGR3_PINLOW_SHIFT (8U)
  22217. /*! PINLOW - Pin Low Timeout
  22218. */
  22219. #define LPI2C_MCFGR3_PINLOW(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR3_PINLOW_SHIFT)) & LPI2C_MCFGR3_PINLOW_MASK)
  22220. /*! @} */
  22221. /*! @name MDMR - Master Data Match */
  22222. /*! @{ */
  22223. #define LPI2C_MDMR_MATCH0_MASK (0xFFU)
  22224. #define LPI2C_MDMR_MATCH0_SHIFT (0U)
  22225. /*! MATCH0 - Match 0 Value
  22226. */
  22227. #define LPI2C_MDMR_MATCH0(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDMR_MATCH0_SHIFT)) & LPI2C_MDMR_MATCH0_MASK)
  22228. #define LPI2C_MDMR_MATCH1_MASK (0xFF0000U)
  22229. #define LPI2C_MDMR_MATCH1_SHIFT (16U)
  22230. /*! MATCH1 - Match 1 Value
  22231. */
  22232. #define LPI2C_MDMR_MATCH1(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDMR_MATCH1_SHIFT)) & LPI2C_MDMR_MATCH1_MASK)
  22233. /*! @} */
  22234. /*! @name MCCR0 - Master Clock Configuration 0 */
  22235. /*! @{ */
  22236. #define LPI2C_MCCR0_CLKLO_MASK (0x3FU)
  22237. #define LPI2C_MCCR0_CLKLO_SHIFT (0U)
  22238. /*! CLKLO - Clock Low Period
  22239. */
  22240. #define LPI2C_MCCR0_CLKLO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_CLKLO_SHIFT)) & LPI2C_MCCR0_CLKLO_MASK)
  22241. #define LPI2C_MCCR0_CLKHI_MASK (0x3F00U)
  22242. #define LPI2C_MCCR0_CLKHI_SHIFT (8U)
  22243. /*! CLKHI - Clock High Period
  22244. */
  22245. #define LPI2C_MCCR0_CLKHI(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_CLKHI_SHIFT)) & LPI2C_MCCR0_CLKHI_MASK)
  22246. #define LPI2C_MCCR0_SETHOLD_MASK (0x3F0000U)
  22247. #define LPI2C_MCCR0_SETHOLD_SHIFT (16U)
  22248. /*! SETHOLD - Setup Hold Delay
  22249. */
  22250. #define LPI2C_MCCR0_SETHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_SETHOLD_SHIFT)) & LPI2C_MCCR0_SETHOLD_MASK)
  22251. #define LPI2C_MCCR0_DATAVD_MASK (0x3F000000U)
  22252. #define LPI2C_MCCR0_DATAVD_SHIFT (24U)
  22253. /*! DATAVD - Data Valid Delay
  22254. */
  22255. #define LPI2C_MCCR0_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_DATAVD_SHIFT)) & LPI2C_MCCR0_DATAVD_MASK)
  22256. /*! @} */
  22257. /*! @name MCCR1 - Master Clock Configuration 1 */
  22258. /*! @{ */
  22259. #define LPI2C_MCCR1_CLKLO_MASK (0x3FU)
  22260. #define LPI2C_MCCR1_CLKLO_SHIFT (0U)
  22261. /*! CLKLO - Clock Low Period
  22262. */
  22263. #define LPI2C_MCCR1_CLKLO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_CLKLO_SHIFT)) & LPI2C_MCCR1_CLKLO_MASK)
  22264. #define LPI2C_MCCR1_CLKHI_MASK (0x3F00U)
  22265. #define LPI2C_MCCR1_CLKHI_SHIFT (8U)
  22266. /*! CLKHI - Clock High Period
  22267. */
  22268. #define LPI2C_MCCR1_CLKHI(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_CLKHI_SHIFT)) & LPI2C_MCCR1_CLKHI_MASK)
  22269. #define LPI2C_MCCR1_SETHOLD_MASK (0x3F0000U)
  22270. #define LPI2C_MCCR1_SETHOLD_SHIFT (16U)
  22271. /*! SETHOLD - Setup Hold Delay
  22272. */
  22273. #define LPI2C_MCCR1_SETHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_SETHOLD_SHIFT)) & LPI2C_MCCR1_SETHOLD_MASK)
  22274. #define LPI2C_MCCR1_DATAVD_MASK (0x3F000000U)
  22275. #define LPI2C_MCCR1_DATAVD_SHIFT (24U)
  22276. /*! DATAVD - Data Valid Delay
  22277. */
  22278. #define LPI2C_MCCR1_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_DATAVD_SHIFT)) & LPI2C_MCCR1_DATAVD_MASK)
  22279. /*! @} */
  22280. /*! @name MFCR - Master FIFO Control */
  22281. /*! @{ */
  22282. #define LPI2C_MFCR_TXWATER_MASK (0x3U)
  22283. #define LPI2C_MFCR_TXWATER_SHIFT (0U)
  22284. /*! TXWATER - Transmit FIFO Watermark
  22285. */
  22286. #define LPI2C_MFCR_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFCR_TXWATER_SHIFT)) & LPI2C_MFCR_TXWATER_MASK)
  22287. #define LPI2C_MFCR_RXWATER_MASK (0x30000U)
  22288. #define LPI2C_MFCR_RXWATER_SHIFT (16U)
  22289. /*! RXWATER - Receive FIFO Watermark
  22290. */
  22291. #define LPI2C_MFCR_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFCR_RXWATER_SHIFT)) & LPI2C_MFCR_RXWATER_MASK)
  22292. /*! @} */
  22293. /*! @name MFSR - Master FIFO Status */
  22294. /*! @{ */
  22295. #define LPI2C_MFSR_TXCOUNT_MASK (0x7U)
  22296. #define LPI2C_MFSR_TXCOUNT_SHIFT (0U)
  22297. /*! TXCOUNT - Transmit FIFO Count
  22298. */
  22299. #define LPI2C_MFSR_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFSR_TXCOUNT_SHIFT)) & LPI2C_MFSR_TXCOUNT_MASK)
  22300. #define LPI2C_MFSR_RXCOUNT_MASK (0x70000U)
  22301. #define LPI2C_MFSR_RXCOUNT_SHIFT (16U)
  22302. /*! RXCOUNT - Receive FIFO Count
  22303. */
  22304. #define LPI2C_MFSR_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFSR_RXCOUNT_SHIFT)) & LPI2C_MFSR_RXCOUNT_MASK)
  22305. /*! @} */
  22306. /*! @name MTDR - Master Transmit Data */
  22307. /*! @{ */
  22308. #define LPI2C_MTDR_DATA_MASK (0xFFU)
  22309. #define LPI2C_MTDR_DATA_SHIFT (0U)
  22310. /*! DATA - Transmit Data
  22311. */
  22312. #define LPI2C_MTDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTDR_DATA_SHIFT)) & LPI2C_MTDR_DATA_MASK)
  22313. #define LPI2C_MTDR_CMD_MASK (0x700U)
  22314. #define LPI2C_MTDR_CMD_SHIFT (8U)
  22315. /*! CMD - Command Data
  22316. * 0b000..Transmit DATA[7:0]
  22317. * 0b001..Receive (DATA[7:0] + 1) bytes
  22318. * 0b010..Generate STOP condition
  22319. * 0b011..Receive and discard (DATA[7:0] + 1) bytes
  22320. * 0b100..Generate (repeated) START and transmit address in DATA[7:0]
  22321. * 0b101..Generate (repeated) START and transmit address in DATA[7:0]. This transfer expects a NACK to be returned.
  22322. * 0b110..Generate (repeated) START and transmit address in DATA[7:0] using high speed mode
  22323. * 0b111..Generate (repeated) START and transmit address in DATA[7:0] using high speed mode. This transfer expects a NACK to be returned.
  22324. */
  22325. #define LPI2C_MTDR_CMD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTDR_CMD_SHIFT)) & LPI2C_MTDR_CMD_MASK)
  22326. /*! @} */
  22327. /*! @name MRDR - Master Receive Data */
  22328. /*! @{ */
  22329. #define LPI2C_MRDR_DATA_MASK (0xFFU)
  22330. #define LPI2C_MRDR_DATA_SHIFT (0U)
  22331. /*! DATA - Receive Data
  22332. */
  22333. #define LPI2C_MRDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MRDR_DATA_SHIFT)) & LPI2C_MRDR_DATA_MASK)
  22334. #define LPI2C_MRDR_RXEMPTY_MASK (0x4000U)
  22335. #define LPI2C_MRDR_RXEMPTY_SHIFT (14U)
  22336. /*! RXEMPTY - RX Empty
  22337. * 0b0..Receive FIFO is not empty
  22338. * 0b1..Receive FIFO is empty
  22339. */
  22340. #define LPI2C_MRDR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MRDR_RXEMPTY_SHIFT)) & LPI2C_MRDR_RXEMPTY_MASK)
  22341. /*! @} */
  22342. /*! @name SCR - Slave Control */
  22343. /*! @{ */
  22344. #define LPI2C_SCR_SEN_MASK (0x1U)
  22345. #define LPI2C_SCR_SEN_SHIFT (0U)
  22346. /*! SEN - Slave Enable
  22347. * 0b0..I2C Slave mode is disabled
  22348. * 0b1..I2C Slave mode is enabled
  22349. */
  22350. #define LPI2C_SCR_SEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_SEN_SHIFT)) & LPI2C_SCR_SEN_MASK)
  22351. #define LPI2C_SCR_RST_MASK (0x2U)
  22352. #define LPI2C_SCR_RST_SHIFT (1U)
  22353. /*! RST - Software Reset
  22354. * 0b0..Slave mode logic is not reset
  22355. * 0b1..Slave mode logic is reset
  22356. */
  22357. #define LPI2C_SCR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RST_SHIFT)) & LPI2C_SCR_RST_MASK)
  22358. #define LPI2C_SCR_FILTEN_MASK (0x10U)
  22359. #define LPI2C_SCR_FILTEN_SHIFT (4U)
  22360. /*! FILTEN - Filter Enable
  22361. * 0b0..Disable digital filter and output delay counter for slave mode
  22362. * 0b1..Enable digital filter and output delay counter for slave mode
  22363. */
  22364. #define LPI2C_SCR_FILTEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_FILTEN_SHIFT)) & LPI2C_SCR_FILTEN_MASK)
  22365. #define LPI2C_SCR_FILTDZ_MASK (0x20U)
  22366. #define LPI2C_SCR_FILTDZ_SHIFT (5U)
  22367. /*! FILTDZ - Filter Doze Enable
  22368. * 0b0..Filter remains enabled in Doze mode
  22369. * 0b1..Filter is disabled in Doze mode
  22370. */
  22371. #define LPI2C_SCR_FILTDZ(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_FILTDZ_SHIFT)) & LPI2C_SCR_FILTDZ_MASK)
  22372. #define LPI2C_SCR_RTF_MASK (0x100U)
  22373. #define LPI2C_SCR_RTF_SHIFT (8U)
  22374. /*! RTF - Reset Transmit FIFO
  22375. * 0b0..No effect
  22376. * 0b1..Transmit Data Register is now empty
  22377. */
  22378. #define LPI2C_SCR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RTF_SHIFT)) & LPI2C_SCR_RTF_MASK)
  22379. #define LPI2C_SCR_RRF_MASK (0x200U)
  22380. #define LPI2C_SCR_RRF_SHIFT (9U)
  22381. /*! RRF - Reset Receive FIFO
  22382. * 0b0..No effect
  22383. * 0b1..Receive Data Register is now empty
  22384. */
  22385. #define LPI2C_SCR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RRF_SHIFT)) & LPI2C_SCR_RRF_MASK)
  22386. /*! @} */
  22387. /*! @name SSR - Slave Status */
  22388. /*! @{ */
  22389. #define LPI2C_SSR_TDF_MASK (0x1U)
  22390. #define LPI2C_SSR_TDF_SHIFT (0U)
  22391. /*! TDF - Transmit Data Flag
  22392. * 0b0..Transmit data not requested
  22393. * 0b1..Transmit data is requested
  22394. */
  22395. #define LPI2C_SSR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_TDF_SHIFT)) & LPI2C_SSR_TDF_MASK)
  22396. #define LPI2C_SSR_RDF_MASK (0x2U)
  22397. #define LPI2C_SSR_RDF_SHIFT (1U)
  22398. /*! RDF - Receive Data Flag
  22399. * 0b0..Receive data is not ready
  22400. * 0b1..Receive data is ready
  22401. */
  22402. #define LPI2C_SSR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_RDF_SHIFT)) & LPI2C_SSR_RDF_MASK)
  22403. #define LPI2C_SSR_AVF_MASK (0x4U)
  22404. #define LPI2C_SSR_AVF_SHIFT (2U)
  22405. /*! AVF - Address Valid Flag
  22406. * 0b0..Address Status Register is not valid
  22407. * 0b1..Address Status Register is valid
  22408. */
  22409. #define LPI2C_SSR_AVF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AVF_SHIFT)) & LPI2C_SSR_AVF_MASK)
  22410. #define LPI2C_SSR_TAF_MASK (0x8U)
  22411. #define LPI2C_SSR_TAF_SHIFT (3U)
  22412. /*! TAF - Transmit ACK Flag
  22413. * 0b0..Transmit ACK/NACK is not required
  22414. * 0b1..Transmit ACK/NACK is required
  22415. */
  22416. #define LPI2C_SSR_TAF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_TAF_SHIFT)) & LPI2C_SSR_TAF_MASK)
  22417. #define LPI2C_SSR_RSF_MASK (0x100U)
  22418. #define LPI2C_SSR_RSF_SHIFT (8U)
  22419. /*! RSF - Repeated Start Flag
  22420. * 0b0..Slave has not detected a Repeated START condition
  22421. * 0b1..Slave has detected a Repeated START condition
  22422. */
  22423. #define LPI2C_SSR_RSF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_RSF_SHIFT)) & LPI2C_SSR_RSF_MASK)
  22424. #define LPI2C_SSR_SDF_MASK (0x200U)
  22425. #define LPI2C_SSR_SDF_SHIFT (9U)
  22426. /*! SDF - STOP Detect Flag
  22427. * 0b0..Slave has not detected a STOP condition
  22428. * 0b1..Slave has detected a STOP condition
  22429. */
  22430. #define LPI2C_SSR_SDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SDF_SHIFT)) & LPI2C_SSR_SDF_MASK)
  22431. #define LPI2C_SSR_BEF_MASK (0x400U)
  22432. #define LPI2C_SSR_BEF_SHIFT (10U)
  22433. /*! BEF - Bit Error Flag
  22434. * 0b0..Slave has not detected a bit error
  22435. * 0b1..Slave has detected a bit error
  22436. */
  22437. #define LPI2C_SSR_BEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_BEF_SHIFT)) & LPI2C_SSR_BEF_MASK)
  22438. #define LPI2C_SSR_FEF_MASK (0x800U)
  22439. #define LPI2C_SSR_FEF_SHIFT (11U)
  22440. /*! FEF - FIFO Error Flag
  22441. * 0b0..FIFO underflow or overflow was not detected
  22442. * 0b1..FIFO underflow or overflow was detected
  22443. */
  22444. #define LPI2C_SSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_FEF_SHIFT)) & LPI2C_SSR_FEF_MASK)
  22445. #define LPI2C_SSR_AM0F_MASK (0x1000U)
  22446. #define LPI2C_SSR_AM0F_SHIFT (12U)
  22447. /*! AM0F - Address Match 0 Flag
  22448. * 0b0..Have not received an ADDR0 matching address
  22449. * 0b1..Have received an ADDR0 matching address
  22450. */
  22451. #define LPI2C_SSR_AM0F(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AM0F_SHIFT)) & LPI2C_SSR_AM0F_MASK)
  22452. #define LPI2C_SSR_AM1F_MASK (0x2000U)
  22453. #define LPI2C_SSR_AM1F_SHIFT (13U)
  22454. /*! AM1F - Address Match 1 Flag
  22455. * 0b0..Have not received an ADDR1 or ADDR0/ADDR1 range matching address
  22456. * 0b1..Have received an ADDR1 or ADDR0/ADDR1 range matching address
  22457. */
  22458. #define LPI2C_SSR_AM1F(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AM1F_SHIFT)) & LPI2C_SSR_AM1F_MASK)
  22459. #define LPI2C_SSR_GCF_MASK (0x4000U)
  22460. #define LPI2C_SSR_GCF_SHIFT (14U)
  22461. /*! GCF - General Call Flag
  22462. * 0b0..Slave has not detected the General Call Address or the General Call Address is disabled
  22463. * 0b1..Slave has detected the General Call Address
  22464. */
  22465. #define LPI2C_SSR_GCF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_GCF_SHIFT)) & LPI2C_SSR_GCF_MASK)
  22466. #define LPI2C_SSR_SARF_MASK (0x8000U)
  22467. #define LPI2C_SSR_SARF_SHIFT (15U)
  22468. /*! SARF - SMBus Alert Response Flag
  22469. * 0b0..SMBus Alert Response is disabled or not detected
  22470. * 0b1..SMBus Alert Response is enabled and detected
  22471. */
  22472. #define LPI2C_SSR_SARF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SARF_SHIFT)) & LPI2C_SSR_SARF_MASK)
  22473. #define LPI2C_SSR_SBF_MASK (0x1000000U)
  22474. #define LPI2C_SSR_SBF_SHIFT (24U)
  22475. /*! SBF - Slave Busy Flag
  22476. * 0b0..I2C Slave is idle
  22477. * 0b1..I2C Slave is busy
  22478. */
  22479. #define LPI2C_SSR_SBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SBF_SHIFT)) & LPI2C_SSR_SBF_MASK)
  22480. #define LPI2C_SSR_BBF_MASK (0x2000000U)
  22481. #define LPI2C_SSR_BBF_SHIFT (25U)
  22482. /*! BBF - Bus Busy Flag
  22483. * 0b0..I2C Bus is idle
  22484. * 0b1..I2C Bus is busy
  22485. */
  22486. #define LPI2C_SSR_BBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_BBF_SHIFT)) & LPI2C_SSR_BBF_MASK)
  22487. /*! @} */
  22488. /*! @name SIER - Slave Interrupt Enable */
  22489. /*! @{ */
  22490. #define LPI2C_SIER_TDIE_MASK (0x1U)
  22491. #define LPI2C_SIER_TDIE_SHIFT (0U)
  22492. /*! TDIE - Transmit Data Interrupt Enable
  22493. * 0b0..Disabled
  22494. * 0b1..Enabled
  22495. */
  22496. #define LPI2C_SIER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_TDIE_SHIFT)) & LPI2C_SIER_TDIE_MASK)
  22497. #define LPI2C_SIER_RDIE_MASK (0x2U)
  22498. #define LPI2C_SIER_RDIE_SHIFT (1U)
  22499. /*! RDIE - Receive Data Interrupt Enable
  22500. * 0b0..Disabled
  22501. * 0b1..Enabled
  22502. */
  22503. #define LPI2C_SIER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_RDIE_SHIFT)) & LPI2C_SIER_RDIE_MASK)
  22504. #define LPI2C_SIER_AVIE_MASK (0x4U)
  22505. #define LPI2C_SIER_AVIE_SHIFT (2U)
  22506. /*! AVIE - Address Valid Interrupt Enable
  22507. * 0b0..Disabled
  22508. * 0b1..Enabled
  22509. */
  22510. #define LPI2C_SIER_AVIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AVIE_SHIFT)) & LPI2C_SIER_AVIE_MASK)
  22511. #define LPI2C_SIER_TAIE_MASK (0x8U)
  22512. #define LPI2C_SIER_TAIE_SHIFT (3U)
  22513. /*! TAIE - Transmit ACK Interrupt Enable
  22514. * 0b0..Disabled
  22515. * 0b1..Enabled
  22516. */
  22517. #define LPI2C_SIER_TAIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_TAIE_SHIFT)) & LPI2C_SIER_TAIE_MASK)
  22518. #define LPI2C_SIER_RSIE_MASK (0x100U)
  22519. #define LPI2C_SIER_RSIE_SHIFT (8U)
  22520. /*! RSIE - Repeated Start Interrupt Enable
  22521. * 0b0..Disabled
  22522. * 0b1..Enabled
  22523. */
  22524. #define LPI2C_SIER_RSIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_RSIE_SHIFT)) & LPI2C_SIER_RSIE_MASK)
  22525. #define LPI2C_SIER_SDIE_MASK (0x200U)
  22526. #define LPI2C_SIER_SDIE_SHIFT (9U)
  22527. /*! SDIE - STOP Detect Interrupt Enable
  22528. * 0b0..Disabled
  22529. * 0b1..Enabled
  22530. */
  22531. #define LPI2C_SIER_SDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_SDIE_SHIFT)) & LPI2C_SIER_SDIE_MASK)
  22532. #define LPI2C_SIER_BEIE_MASK (0x400U)
  22533. #define LPI2C_SIER_BEIE_SHIFT (10U)
  22534. /*! BEIE - Bit Error Interrupt Enable
  22535. * 0b0..Disabled
  22536. * 0b1..Enabled
  22537. */
  22538. #define LPI2C_SIER_BEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_BEIE_SHIFT)) & LPI2C_SIER_BEIE_MASK)
  22539. #define LPI2C_SIER_FEIE_MASK (0x800U)
  22540. #define LPI2C_SIER_FEIE_SHIFT (11U)
  22541. /*! FEIE - FIFO Error Interrupt Enable
  22542. * 0b0..Disabled
  22543. * 0b1..Enabled
  22544. */
  22545. #define LPI2C_SIER_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_FEIE_SHIFT)) & LPI2C_SIER_FEIE_MASK)
  22546. #define LPI2C_SIER_AM0IE_MASK (0x1000U)
  22547. #define LPI2C_SIER_AM0IE_SHIFT (12U)
  22548. /*! AM0IE - Address Match 0 Interrupt Enable
  22549. * 0b0..Disabled
  22550. * 0b1..Enabled
  22551. */
  22552. #define LPI2C_SIER_AM0IE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AM0IE_SHIFT)) & LPI2C_SIER_AM0IE_MASK)
  22553. #define LPI2C_SIER_AM1IE_MASK (0x2000U)
  22554. #define LPI2C_SIER_AM1IE_SHIFT (13U)
  22555. /*! AM1IE - Address Match 1 Interrupt Enable
  22556. * 0b0..Disabled
  22557. * 0b1..Enabled
  22558. */
  22559. #define LPI2C_SIER_AM1IE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AM1IE_SHIFT)) & LPI2C_SIER_AM1IE_MASK)
  22560. #define LPI2C_SIER_GCIE_MASK (0x4000U)
  22561. #define LPI2C_SIER_GCIE_SHIFT (14U)
  22562. /*! GCIE - General Call Interrupt Enable
  22563. * 0b0..Disabled
  22564. * 0b1..Enabled
  22565. */
  22566. #define LPI2C_SIER_GCIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_GCIE_SHIFT)) & LPI2C_SIER_GCIE_MASK)
  22567. #define LPI2C_SIER_SARIE_MASK (0x8000U)
  22568. #define LPI2C_SIER_SARIE_SHIFT (15U)
  22569. /*! SARIE - SMBus Alert Response Interrupt Enable
  22570. * 0b0..Disabled
  22571. * 0b1..Enabled
  22572. */
  22573. #define LPI2C_SIER_SARIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_SARIE_SHIFT)) & LPI2C_SIER_SARIE_MASK)
  22574. /*! @} */
  22575. /*! @name SDER - Slave DMA Enable */
  22576. /*! @{ */
  22577. #define LPI2C_SDER_TDDE_MASK (0x1U)
  22578. #define LPI2C_SDER_TDDE_SHIFT (0U)
  22579. /*! TDDE - Transmit Data DMA Enable
  22580. * 0b0..DMA request is disabled
  22581. * 0b1..DMA request is enabled
  22582. */
  22583. #define LPI2C_SDER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_TDDE_SHIFT)) & LPI2C_SDER_TDDE_MASK)
  22584. #define LPI2C_SDER_RDDE_MASK (0x2U)
  22585. #define LPI2C_SDER_RDDE_SHIFT (1U)
  22586. /*! RDDE - Receive Data DMA Enable
  22587. * 0b0..DMA request is disabled
  22588. * 0b1..DMA request is enabled
  22589. */
  22590. #define LPI2C_SDER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_RDDE_SHIFT)) & LPI2C_SDER_RDDE_MASK)
  22591. #define LPI2C_SDER_AVDE_MASK (0x4U)
  22592. #define LPI2C_SDER_AVDE_SHIFT (2U)
  22593. /*! AVDE - Address Valid DMA Enable
  22594. * 0b0..DMA request is disabled
  22595. * 0b1..DMA request is enabled
  22596. */
  22597. #define LPI2C_SDER_AVDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_AVDE_SHIFT)) & LPI2C_SDER_AVDE_MASK)
  22598. /*! @} */
  22599. /*! @name SCFGR1 - Slave Configuration 1 */
  22600. /*! @{ */
  22601. #define LPI2C_SCFGR1_ADRSTALL_MASK (0x1U)
  22602. #define LPI2C_SCFGR1_ADRSTALL_SHIFT (0U)
  22603. /*! ADRSTALL - Address SCL Stall
  22604. * 0b0..Clock stretching is disabled
  22605. * 0b1..Clock stretching is enabled
  22606. */
  22607. #define LPI2C_SCFGR1_ADRSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ADRSTALL_SHIFT)) & LPI2C_SCFGR1_ADRSTALL_MASK)
  22608. #define LPI2C_SCFGR1_RXSTALL_MASK (0x2U)
  22609. #define LPI2C_SCFGR1_RXSTALL_SHIFT (1U)
  22610. /*! RXSTALL - RX SCL Stall
  22611. * 0b0..Clock stretching is disabled
  22612. * 0b1..Clock stretching is enabled
  22613. */
  22614. #define LPI2C_SCFGR1_RXSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_RXSTALL_SHIFT)) & LPI2C_SCFGR1_RXSTALL_MASK)
  22615. #define LPI2C_SCFGR1_TXDSTALL_MASK (0x4U)
  22616. #define LPI2C_SCFGR1_TXDSTALL_SHIFT (2U)
  22617. /*! TXDSTALL - TX Data SCL Stall
  22618. * 0b0..Clock stretching is disabled
  22619. * 0b1..Clock stretching is enabled
  22620. */
  22621. #define LPI2C_SCFGR1_TXDSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_TXDSTALL_SHIFT)) & LPI2C_SCFGR1_TXDSTALL_MASK)
  22622. #define LPI2C_SCFGR1_ACKSTALL_MASK (0x8U)
  22623. #define LPI2C_SCFGR1_ACKSTALL_SHIFT (3U)
  22624. /*! ACKSTALL - ACK SCL Stall
  22625. * 0b0..Clock stretching is disabled
  22626. * 0b1..Clock stretching is enabled
  22627. */
  22628. #define LPI2C_SCFGR1_ACKSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ACKSTALL_SHIFT)) & LPI2C_SCFGR1_ACKSTALL_MASK)
  22629. #define LPI2C_SCFGR1_GCEN_MASK (0x100U)
  22630. #define LPI2C_SCFGR1_GCEN_SHIFT (8U)
  22631. /*! GCEN - General Call Enable
  22632. * 0b0..General Call address is disabled
  22633. * 0b1..General Call address is enabled
  22634. */
  22635. #define LPI2C_SCFGR1_GCEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_GCEN_SHIFT)) & LPI2C_SCFGR1_GCEN_MASK)
  22636. #define LPI2C_SCFGR1_SAEN_MASK (0x200U)
  22637. #define LPI2C_SCFGR1_SAEN_SHIFT (9U)
  22638. /*! SAEN - SMBus Alert Enable
  22639. * 0b0..Disables match on SMBus Alert
  22640. * 0b1..Enables match on SMBus Alert
  22641. */
  22642. #define LPI2C_SCFGR1_SAEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_SAEN_SHIFT)) & LPI2C_SCFGR1_SAEN_MASK)
  22643. #define LPI2C_SCFGR1_TXCFG_MASK (0x400U)
  22644. #define LPI2C_SCFGR1_TXCFG_SHIFT (10U)
  22645. /*! TXCFG - Transmit Flag Configuration
  22646. * 0b0..Transmit Data Flag only asserts during a slave-transmit transfer when the Transmit Data register is empty
  22647. * 0b1..Transmit Data Flag asserts whenever the Transmit Data register is empty
  22648. */
  22649. #define LPI2C_SCFGR1_TXCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_TXCFG_SHIFT)) & LPI2C_SCFGR1_TXCFG_MASK)
  22650. #define LPI2C_SCFGR1_RXCFG_MASK (0x800U)
  22651. #define LPI2C_SCFGR1_RXCFG_SHIFT (11U)
  22652. /*! RXCFG - Receive Data Configuration
  22653. * 0b0..Reading the Receive Data register returns received data and clears the Receive Data flag (MSR[RDF]).
  22654. * 0b1..Reading the Receive Data register when the Address Valid flag (SSR[AVF])is set, returns the Address
  22655. * Status register and clear the Address Valid flag. Reading the Receive Data register when the Address Valid flag
  22656. * is clear, returns received data and clears the Receive Data flag (MSR[RDF]).
  22657. */
  22658. #define LPI2C_SCFGR1_RXCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_RXCFG_SHIFT)) & LPI2C_SCFGR1_RXCFG_MASK)
  22659. #define LPI2C_SCFGR1_IGNACK_MASK (0x1000U)
  22660. #define LPI2C_SCFGR1_IGNACK_SHIFT (12U)
  22661. /*! IGNACK - Ignore NACK
  22662. * 0b0..Slave ends transfer when NACK is detected
  22663. * 0b1..Slave does not end transfer when NACK detected
  22664. */
  22665. #define LPI2C_SCFGR1_IGNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_IGNACK_SHIFT)) & LPI2C_SCFGR1_IGNACK_MASK)
  22666. #define LPI2C_SCFGR1_HSMEN_MASK (0x2000U)
  22667. #define LPI2C_SCFGR1_HSMEN_SHIFT (13U)
  22668. /*! HSMEN - High Speed Mode Enable
  22669. * 0b0..Disables detection of HS-mode master code
  22670. * 0b1..Enables detection of HS-mode master code
  22671. */
  22672. #define LPI2C_SCFGR1_HSMEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_HSMEN_SHIFT)) & LPI2C_SCFGR1_HSMEN_MASK)
  22673. #define LPI2C_SCFGR1_ADDRCFG_MASK (0x70000U)
  22674. #define LPI2C_SCFGR1_ADDRCFG_SHIFT (16U)
  22675. /*! ADDRCFG - Address Configuration
  22676. * 0b000..Address match 0 (7-bit)
  22677. * 0b001..Address match 0 (10-bit)
  22678. * 0b010..Address match 0 (7-bit) or Address match 1 (7-bit)
  22679. * 0b011..Address match 0 (10-bit) or Address match 1 (10-bit)
  22680. * 0b100..Address match 0 (7-bit) or Address match 1 (10-bit)
  22681. * 0b101..Address match 0 (10-bit) or Address match 1 (7-bit)
  22682. * 0b110..From Address match 0 (7-bit) to Address match 1 (7-bit)
  22683. * 0b111..From Address match 0 (10-bit) to Address match 1 (10-bit)
  22684. */
  22685. #define LPI2C_SCFGR1_ADDRCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ADDRCFG_SHIFT)) & LPI2C_SCFGR1_ADDRCFG_MASK)
  22686. /*! @} */
  22687. /*! @name SCFGR2 - Slave Configuration 2 */
  22688. /*! @{ */
  22689. #define LPI2C_SCFGR2_CLKHOLD_MASK (0xFU)
  22690. #define LPI2C_SCFGR2_CLKHOLD_SHIFT (0U)
  22691. /*! CLKHOLD - Clock Hold Time
  22692. */
  22693. #define LPI2C_SCFGR2_CLKHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_CLKHOLD_SHIFT)) & LPI2C_SCFGR2_CLKHOLD_MASK)
  22694. #define LPI2C_SCFGR2_DATAVD_MASK (0x3F00U)
  22695. #define LPI2C_SCFGR2_DATAVD_SHIFT (8U)
  22696. /*! DATAVD - Data Valid Delay
  22697. */
  22698. #define LPI2C_SCFGR2_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_DATAVD_SHIFT)) & LPI2C_SCFGR2_DATAVD_MASK)
  22699. #define LPI2C_SCFGR2_FILTSCL_MASK (0xF0000U)
  22700. #define LPI2C_SCFGR2_FILTSCL_SHIFT (16U)
  22701. /*! FILTSCL - Glitch Filter SCL
  22702. */
  22703. #define LPI2C_SCFGR2_FILTSCL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_FILTSCL_SHIFT)) & LPI2C_SCFGR2_FILTSCL_MASK)
  22704. #define LPI2C_SCFGR2_FILTSDA_MASK (0xF000000U)
  22705. #define LPI2C_SCFGR2_FILTSDA_SHIFT (24U)
  22706. /*! FILTSDA - Glitch Filter SDA
  22707. */
  22708. #define LPI2C_SCFGR2_FILTSDA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_FILTSDA_SHIFT)) & LPI2C_SCFGR2_FILTSDA_MASK)
  22709. /*! @} */
  22710. /*! @name SAMR - Slave Address Match */
  22711. /*! @{ */
  22712. #define LPI2C_SAMR_ADDR0_MASK (0x7FEU)
  22713. #define LPI2C_SAMR_ADDR0_SHIFT (1U)
  22714. /*! ADDR0 - Address 0 Value
  22715. */
  22716. #define LPI2C_SAMR_ADDR0(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SAMR_ADDR0_SHIFT)) & LPI2C_SAMR_ADDR0_MASK)
  22717. #define LPI2C_SAMR_ADDR1_MASK (0x7FE0000U)
  22718. #define LPI2C_SAMR_ADDR1_SHIFT (17U)
  22719. /*! ADDR1 - Address 1 Value
  22720. */
  22721. #define LPI2C_SAMR_ADDR1(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SAMR_ADDR1_SHIFT)) & LPI2C_SAMR_ADDR1_MASK)
  22722. /*! @} */
  22723. /*! @name SASR - Slave Address Status */
  22724. /*! @{ */
  22725. #define LPI2C_SASR_RADDR_MASK (0x7FFU)
  22726. #define LPI2C_SASR_RADDR_SHIFT (0U)
  22727. /*! RADDR - Received Address
  22728. */
  22729. #define LPI2C_SASR_RADDR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SASR_RADDR_SHIFT)) & LPI2C_SASR_RADDR_MASK)
  22730. #define LPI2C_SASR_ANV_MASK (0x4000U)
  22731. #define LPI2C_SASR_ANV_SHIFT (14U)
  22732. /*! ANV - Address Not Valid
  22733. * 0b0..Received Address (RADDR) is valid
  22734. * 0b1..Received Address (RADDR) is not valid
  22735. */
  22736. #define LPI2C_SASR_ANV(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SASR_ANV_SHIFT)) & LPI2C_SASR_ANV_MASK)
  22737. /*! @} */
  22738. /*! @name STAR - Slave Transmit ACK */
  22739. /*! @{ */
  22740. #define LPI2C_STAR_TXNACK_MASK (0x1U)
  22741. #define LPI2C_STAR_TXNACK_SHIFT (0U)
  22742. /*! TXNACK - Transmit NACK
  22743. * 0b0..Write a Transmit ACK for each received word
  22744. * 0b1..Write a Transmit NACK for each received word
  22745. */
  22746. #define LPI2C_STAR_TXNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_STAR_TXNACK_SHIFT)) & LPI2C_STAR_TXNACK_MASK)
  22747. /*! @} */
  22748. /*! @name STDR - Slave Transmit Data */
  22749. /*! @{ */
  22750. #define LPI2C_STDR_DATA_MASK (0xFFU)
  22751. #define LPI2C_STDR_DATA_SHIFT (0U)
  22752. /*! DATA - Transmit Data
  22753. */
  22754. #define LPI2C_STDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_STDR_DATA_SHIFT)) & LPI2C_STDR_DATA_MASK)
  22755. /*! @} */
  22756. /*! @name SRDR - Slave Receive Data */
  22757. /*! @{ */
  22758. #define LPI2C_SRDR_DATA_MASK (0xFFU)
  22759. #define LPI2C_SRDR_DATA_SHIFT (0U)
  22760. /*! DATA - Receive Data
  22761. */
  22762. #define LPI2C_SRDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_DATA_SHIFT)) & LPI2C_SRDR_DATA_MASK)
  22763. #define LPI2C_SRDR_RXEMPTY_MASK (0x4000U)
  22764. #define LPI2C_SRDR_RXEMPTY_SHIFT (14U)
  22765. /*! RXEMPTY - RX Empty
  22766. * 0b0..The Receive Data Register is not empty
  22767. * 0b1..The Receive Data Register is empty
  22768. */
  22769. #define LPI2C_SRDR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_RXEMPTY_SHIFT)) & LPI2C_SRDR_RXEMPTY_MASK)
  22770. #define LPI2C_SRDR_SOF_MASK (0x8000U)
  22771. #define LPI2C_SRDR_SOF_SHIFT (15U)
  22772. /*! SOF - Start Of Frame
  22773. * 0b0..Indicates this is not the first data word since a (repeated) START or STOP condition
  22774. * 0b1..Indicates this is the first data word since a (repeated) START or STOP condition
  22775. */
  22776. #define LPI2C_SRDR_SOF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_SOF_SHIFT)) & LPI2C_SRDR_SOF_MASK)
  22777. /*! @} */
  22778. /*!
  22779. * @}
  22780. */ /* end of group LPI2C_Register_Masks */
  22781. /* LPI2C - Peripheral instance base addresses */
  22782. /** Peripheral LPI2C1 base address */
  22783. #define LPI2C1_BASE (0x403F0000u)
  22784. /** Peripheral LPI2C1 base pointer */
  22785. #define LPI2C1 ((LPI2C_Type *)LPI2C1_BASE)
  22786. /** Peripheral LPI2C2 base address */
  22787. #define LPI2C2_BASE (0x403F4000u)
  22788. /** Peripheral LPI2C2 base pointer */
  22789. #define LPI2C2 ((LPI2C_Type *)LPI2C2_BASE)
  22790. /** Peripheral LPI2C3 base address */
  22791. #define LPI2C3_BASE (0x403F8000u)
  22792. /** Peripheral LPI2C3 base pointer */
  22793. #define LPI2C3 ((LPI2C_Type *)LPI2C3_BASE)
  22794. /** Peripheral LPI2C4 base address */
  22795. #define LPI2C4_BASE (0x403FC000u)
  22796. /** Peripheral LPI2C4 base pointer */
  22797. #define LPI2C4 ((LPI2C_Type *)LPI2C4_BASE)
  22798. /** Array initializer of LPI2C peripheral base addresses */
  22799. #define LPI2C_BASE_ADDRS { 0u, LPI2C1_BASE, LPI2C2_BASE, LPI2C3_BASE, LPI2C4_BASE }
  22800. /** Array initializer of LPI2C peripheral base pointers */
  22801. #define LPI2C_BASE_PTRS { (LPI2C_Type *)0u, LPI2C1, LPI2C2, LPI2C3, LPI2C4 }
  22802. /** Interrupt vectors for the LPI2C peripheral type */
  22803. #define LPI2C_IRQS { NotAvail_IRQn, LPI2C1_IRQn, LPI2C2_IRQn, LPI2C3_IRQn, LPI2C4_IRQn }
  22804. /*!
  22805. * @}
  22806. */ /* end of group LPI2C_Peripheral_Access_Layer */
  22807. /* ----------------------------------------------------------------------------
  22808. -- LPSPI Peripheral Access Layer
  22809. ---------------------------------------------------------------------------- */
  22810. /*!
  22811. * @addtogroup LPSPI_Peripheral_Access_Layer LPSPI Peripheral Access Layer
  22812. * @{
  22813. */
  22814. /** LPSPI - Register Layout Typedef */
  22815. typedef struct {
  22816. __I uint32_t VERID; /**< Version ID, offset: 0x0 */
  22817. __I uint32_t PARAM; /**< Parameter, offset: 0x4 */
  22818. uint8_t RESERVED_0[8];
  22819. __IO uint32_t CR; /**< Control, offset: 0x10 */
  22820. __IO uint32_t SR; /**< Status, offset: 0x14 */
  22821. __IO uint32_t IER; /**< Interrupt Enable, offset: 0x18 */
  22822. __IO uint32_t DER; /**< DMA Enable, offset: 0x1C */
  22823. __IO uint32_t CFGR0; /**< Configuration 0, offset: 0x20 */
  22824. __IO uint32_t CFGR1; /**< Configuration 1, offset: 0x24 */
  22825. uint8_t RESERVED_1[8];
  22826. __IO uint32_t DMR0; /**< Data Match 0, offset: 0x30 */
  22827. __IO uint32_t DMR1; /**< Data Match 1, offset: 0x34 */
  22828. uint8_t RESERVED_2[8];
  22829. __IO uint32_t CCR; /**< Clock Configuration, offset: 0x40 */
  22830. uint8_t RESERVED_3[20];
  22831. __IO uint32_t FCR; /**< FIFO Control, offset: 0x58 */
  22832. __I uint32_t FSR; /**< FIFO Status, offset: 0x5C */
  22833. __IO uint32_t TCR; /**< Transmit Command, offset: 0x60 */
  22834. __O uint32_t TDR; /**< Transmit Data, offset: 0x64 */
  22835. uint8_t RESERVED_4[8];
  22836. __I uint32_t RSR; /**< Receive Status, offset: 0x70 */
  22837. __I uint32_t RDR; /**< Receive Data, offset: 0x74 */
  22838. } LPSPI_Type;
  22839. /* ----------------------------------------------------------------------------
  22840. -- LPSPI Register Masks
  22841. ---------------------------------------------------------------------------- */
  22842. /*!
  22843. * @addtogroup LPSPI_Register_Masks LPSPI Register Masks
  22844. * @{
  22845. */
  22846. /*! @name VERID - Version ID */
  22847. /*! @{ */
  22848. #define LPSPI_VERID_FEATURE_MASK (0xFFFFU)
  22849. #define LPSPI_VERID_FEATURE_SHIFT (0U)
  22850. /*! FEATURE - Module Identification Number
  22851. * 0b0000000000000100..Standard feature set supporting a 32-bit shift register.
  22852. */
  22853. #define LPSPI_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_FEATURE_SHIFT)) & LPSPI_VERID_FEATURE_MASK)
  22854. #define LPSPI_VERID_MINOR_MASK (0xFF0000U)
  22855. #define LPSPI_VERID_MINOR_SHIFT (16U)
  22856. /*! MINOR - Minor Version Number
  22857. */
  22858. #define LPSPI_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_MINOR_SHIFT)) & LPSPI_VERID_MINOR_MASK)
  22859. #define LPSPI_VERID_MAJOR_MASK (0xFF000000U)
  22860. #define LPSPI_VERID_MAJOR_SHIFT (24U)
  22861. /*! MAJOR - Major Version Number
  22862. */
  22863. #define LPSPI_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_MAJOR_SHIFT)) & LPSPI_VERID_MAJOR_MASK)
  22864. /*! @} */
  22865. /*! @name PARAM - Parameter */
  22866. /*! @{ */
  22867. #define LPSPI_PARAM_TXFIFO_MASK (0xFFU)
  22868. #define LPSPI_PARAM_TXFIFO_SHIFT (0U)
  22869. /*! TXFIFO - Transmit FIFO Size
  22870. */
  22871. #define LPSPI_PARAM_TXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_PARAM_TXFIFO_SHIFT)) & LPSPI_PARAM_TXFIFO_MASK)
  22872. #define LPSPI_PARAM_RXFIFO_MASK (0xFF00U)
  22873. #define LPSPI_PARAM_RXFIFO_SHIFT (8U)
  22874. /*! RXFIFO - Receive FIFO Size
  22875. */
  22876. #define LPSPI_PARAM_RXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_PARAM_RXFIFO_SHIFT)) & LPSPI_PARAM_RXFIFO_MASK)
  22877. #define LPSPI_PARAM_PCSNUM_MASK (0xFF0000U)
  22878. #define LPSPI_PARAM_PCSNUM_SHIFT (16U)
  22879. /*! PCSNUM - PCS Number
  22880. */
  22881. #define LPSPI_PARAM_PCSNUM(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_PARAM_PCSNUM_SHIFT)) & LPSPI_PARAM_PCSNUM_MASK)
  22882. /*! @} */
  22883. /*! @name CR - Control */
  22884. /*! @{ */
  22885. #define LPSPI_CR_MEN_MASK (0x1U)
  22886. #define LPSPI_CR_MEN_SHIFT (0U)
  22887. /*! MEN - Module Enable
  22888. * 0b0..Module is disabled
  22889. * 0b1..Module is enabled
  22890. */
  22891. #define LPSPI_CR_MEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_MEN_SHIFT)) & LPSPI_CR_MEN_MASK)
  22892. #define LPSPI_CR_RST_MASK (0x2U)
  22893. #define LPSPI_CR_RST_SHIFT (1U)
  22894. /*! RST - Software Reset
  22895. * 0b0..Module is not reset
  22896. * 0b1..Module is reset
  22897. */
  22898. #define LPSPI_CR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RST_SHIFT)) & LPSPI_CR_RST_MASK)
  22899. #define LPSPI_CR_DOZEN_MASK (0x4U)
  22900. #define LPSPI_CR_DOZEN_SHIFT (2U)
  22901. /*! DOZEN - Doze Mode Enable
  22902. * 0b0..LPSPI module is enabled in Doze mode
  22903. * 0b1..LPSPI module is disabled in Doze mode
  22904. */
  22905. #define LPSPI_CR_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_DOZEN_SHIFT)) & LPSPI_CR_DOZEN_MASK)
  22906. #define LPSPI_CR_DBGEN_MASK (0x8U)
  22907. #define LPSPI_CR_DBGEN_SHIFT (3U)
  22908. /*! DBGEN - Debug Enable
  22909. * 0b0..LPSPI module is disabled in debug mode
  22910. * 0b1..LPSPI module is enabled in debug mode
  22911. */
  22912. #define LPSPI_CR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_DBGEN_SHIFT)) & LPSPI_CR_DBGEN_MASK)
  22913. #define LPSPI_CR_RTF_MASK (0x100U)
  22914. #define LPSPI_CR_RTF_SHIFT (8U)
  22915. /*! RTF - Reset Transmit FIFO
  22916. * 0b0..No effect
  22917. * 0b1..Reset the Transmit FIFO. The register bit always reads zero.
  22918. */
  22919. #define LPSPI_CR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RTF_SHIFT)) & LPSPI_CR_RTF_MASK)
  22920. #define LPSPI_CR_RRF_MASK (0x200U)
  22921. #define LPSPI_CR_RRF_SHIFT (9U)
  22922. /*! RRF - Reset Receive FIFO
  22923. * 0b0..No effect
  22924. * 0b1..Reset the Receive FIFO. The register bit always reads zero.
  22925. */
  22926. #define LPSPI_CR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RRF_SHIFT)) & LPSPI_CR_RRF_MASK)
  22927. /*! @} */
  22928. /*! @name SR - Status */
  22929. /*! @{ */
  22930. #define LPSPI_SR_TDF_MASK (0x1U)
  22931. #define LPSPI_SR_TDF_SHIFT (0U)
  22932. /*! TDF - Transmit Data Flag
  22933. * 0b0..Transmit data not requested
  22934. * 0b1..Transmit data is requested
  22935. */
  22936. #define LPSPI_SR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TDF_SHIFT)) & LPSPI_SR_TDF_MASK)
  22937. #define LPSPI_SR_RDF_MASK (0x2U)
  22938. #define LPSPI_SR_RDF_SHIFT (1U)
  22939. /*! RDF - Receive Data Flag
  22940. * 0b0..Receive Data is not ready
  22941. * 0b1..Receive data is ready
  22942. */
  22943. #define LPSPI_SR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_RDF_SHIFT)) & LPSPI_SR_RDF_MASK)
  22944. #define LPSPI_SR_WCF_MASK (0x100U)
  22945. #define LPSPI_SR_WCF_SHIFT (8U)
  22946. /*! WCF - Word Complete Flag
  22947. * 0b0..Transfer of a received word has not yet completed
  22948. * 0b1..Transfer of a received word has completed
  22949. */
  22950. #define LPSPI_SR_WCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_WCF_SHIFT)) & LPSPI_SR_WCF_MASK)
  22951. #define LPSPI_SR_FCF_MASK (0x200U)
  22952. #define LPSPI_SR_FCF_SHIFT (9U)
  22953. /*! FCF - Frame Complete Flag
  22954. * 0b0..Frame transfer has not completed
  22955. * 0b1..Frame transfer has completed
  22956. */
  22957. #define LPSPI_SR_FCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_FCF_SHIFT)) & LPSPI_SR_FCF_MASK)
  22958. #define LPSPI_SR_TCF_MASK (0x400U)
  22959. #define LPSPI_SR_TCF_SHIFT (10U)
  22960. /*! TCF - Transfer Complete Flag
  22961. * 0b0..All transfers have not completed
  22962. * 0b1..All transfers have completed
  22963. */
  22964. #define LPSPI_SR_TCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TCF_SHIFT)) & LPSPI_SR_TCF_MASK)
  22965. #define LPSPI_SR_TEF_MASK (0x800U)
  22966. #define LPSPI_SR_TEF_SHIFT (11U)
  22967. /*! TEF - Transmit Error Flag
  22968. * 0b0..Transmit FIFO underrun has not occurred
  22969. * 0b1..Transmit FIFO underrun has occurred
  22970. */
  22971. #define LPSPI_SR_TEF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TEF_SHIFT)) & LPSPI_SR_TEF_MASK)
  22972. #define LPSPI_SR_REF_MASK (0x1000U)
  22973. #define LPSPI_SR_REF_SHIFT (12U)
  22974. /*! REF - Receive Error Flag
  22975. * 0b0..Receive FIFO has not overflowed
  22976. * 0b1..Receive FIFO has overflowed
  22977. */
  22978. #define LPSPI_SR_REF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_REF_SHIFT)) & LPSPI_SR_REF_MASK)
  22979. #define LPSPI_SR_DMF_MASK (0x2000U)
  22980. #define LPSPI_SR_DMF_SHIFT (13U)
  22981. /*! DMF - Data Match Flag
  22982. * 0b0..Have not received matching data
  22983. * 0b1..Have received matching data
  22984. */
  22985. #define LPSPI_SR_DMF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_DMF_SHIFT)) & LPSPI_SR_DMF_MASK)
  22986. #define LPSPI_SR_MBF_MASK (0x1000000U)
  22987. #define LPSPI_SR_MBF_SHIFT (24U)
  22988. /*! MBF - Module Busy Flag
  22989. * 0b0..LPSPI is idle
  22990. * 0b1..LPSPI is busy
  22991. */
  22992. #define LPSPI_SR_MBF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_MBF_SHIFT)) & LPSPI_SR_MBF_MASK)
  22993. /*! @} */
  22994. /*! @name IER - Interrupt Enable */
  22995. /*! @{ */
  22996. #define LPSPI_IER_TDIE_MASK (0x1U)
  22997. #define LPSPI_IER_TDIE_SHIFT (0U)
  22998. /*! TDIE - Transmit Data Interrupt Enable
  22999. * 0b0..Disabled
  23000. * 0b1..Enabled
  23001. */
  23002. #define LPSPI_IER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TDIE_SHIFT)) & LPSPI_IER_TDIE_MASK)
  23003. #define LPSPI_IER_RDIE_MASK (0x2U)
  23004. #define LPSPI_IER_RDIE_SHIFT (1U)
  23005. /*! RDIE - Receive Data Interrupt Enable
  23006. * 0b0..Disabled
  23007. * 0b1..Enabled
  23008. */
  23009. #define LPSPI_IER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_RDIE_SHIFT)) & LPSPI_IER_RDIE_MASK)
  23010. #define LPSPI_IER_WCIE_MASK (0x100U)
  23011. #define LPSPI_IER_WCIE_SHIFT (8U)
  23012. /*! WCIE - Word Complete Interrupt Enable
  23013. * 0b0..Disabled
  23014. * 0b1..Enabled
  23015. */
  23016. #define LPSPI_IER_WCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_WCIE_SHIFT)) & LPSPI_IER_WCIE_MASK)
  23017. #define LPSPI_IER_FCIE_MASK (0x200U)
  23018. #define LPSPI_IER_FCIE_SHIFT (9U)
  23019. /*! FCIE - Frame Complete Interrupt Enable
  23020. * 0b0..Disabled
  23021. * 0b1..Enabled
  23022. */
  23023. #define LPSPI_IER_FCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_FCIE_SHIFT)) & LPSPI_IER_FCIE_MASK)
  23024. #define LPSPI_IER_TCIE_MASK (0x400U)
  23025. #define LPSPI_IER_TCIE_SHIFT (10U)
  23026. /*! TCIE - Transfer Complete Interrupt Enable
  23027. * 0b0..Disabled
  23028. * 0b1..Enabled
  23029. */
  23030. #define LPSPI_IER_TCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TCIE_SHIFT)) & LPSPI_IER_TCIE_MASK)
  23031. #define LPSPI_IER_TEIE_MASK (0x800U)
  23032. #define LPSPI_IER_TEIE_SHIFT (11U)
  23033. /*! TEIE - Transmit Error Interrupt Enable
  23034. * 0b0..Disabled
  23035. * 0b1..Enabled
  23036. */
  23037. #define LPSPI_IER_TEIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TEIE_SHIFT)) & LPSPI_IER_TEIE_MASK)
  23038. #define LPSPI_IER_REIE_MASK (0x1000U)
  23039. #define LPSPI_IER_REIE_SHIFT (12U)
  23040. /*! REIE - Receive Error Interrupt Enable
  23041. * 0b0..Disabled
  23042. * 0b1..Enabled
  23043. */
  23044. #define LPSPI_IER_REIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_REIE_SHIFT)) & LPSPI_IER_REIE_MASK)
  23045. #define LPSPI_IER_DMIE_MASK (0x2000U)
  23046. #define LPSPI_IER_DMIE_SHIFT (13U)
  23047. /*! DMIE - Data Match Interrupt Enable
  23048. * 0b0..Disabled
  23049. * 0b1..Enabled
  23050. */
  23051. #define LPSPI_IER_DMIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_DMIE_SHIFT)) & LPSPI_IER_DMIE_MASK)
  23052. /*! @} */
  23053. /*! @name DER - DMA Enable */
  23054. /*! @{ */
  23055. #define LPSPI_DER_TDDE_MASK (0x1U)
  23056. #define LPSPI_DER_TDDE_SHIFT (0U)
  23057. /*! TDDE - Transmit Data DMA Enable
  23058. * 0b0..DMA request is disabled
  23059. * 0b1..DMA request is enabled
  23060. */
  23061. #define LPSPI_DER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DER_TDDE_SHIFT)) & LPSPI_DER_TDDE_MASK)
  23062. #define LPSPI_DER_RDDE_MASK (0x2U)
  23063. #define LPSPI_DER_RDDE_SHIFT (1U)
  23064. /*! RDDE - Receive Data DMA Enable
  23065. * 0b0..DMA request is disabled
  23066. * 0b1..DMA request is enabled
  23067. */
  23068. #define LPSPI_DER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DER_RDDE_SHIFT)) & LPSPI_DER_RDDE_MASK)
  23069. /*! @} */
  23070. /*! @name CFGR0 - Configuration 0 */
  23071. /*! @{ */
  23072. #define LPSPI_CFGR0_HREN_MASK (0x1U)
  23073. #define LPSPI_CFGR0_HREN_SHIFT (0U)
  23074. /*! HREN - Host Request Enable
  23075. * 0b0..Host request is disabled
  23076. * 0b1..Host request is enabled
  23077. */
  23078. #define LPSPI_CFGR0_HREN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_HREN_SHIFT)) & LPSPI_CFGR0_HREN_MASK)
  23079. #define LPSPI_CFGR0_HRPOL_MASK (0x2U)
  23080. #define LPSPI_CFGR0_HRPOL_SHIFT (1U)
  23081. /*! HRPOL - Host Request Polarity
  23082. * 0b0..HREQ pin is active high provided PCSPOL[1] is clear
  23083. * 0b1..HREQ pin is active low provided PCSPOL[1] is clear
  23084. */
  23085. #define LPSPI_CFGR0_HRPOL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_HRPOL_SHIFT)) & LPSPI_CFGR0_HRPOL_MASK)
  23086. #define LPSPI_CFGR0_HRSEL_MASK (0x4U)
  23087. #define LPSPI_CFGR0_HRSEL_SHIFT (2U)
  23088. /*! HRSEL - Host Request Select
  23089. * 0b0..Host request input is the HREQ pin
  23090. * 0b1..Host request input is the input trigger
  23091. */
  23092. #define LPSPI_CFGR0_HRSEL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_HRSEL_SHIFT)) & LPSPI_CFGR0_HRSEL_MASK)
  23093. #define LPSPI_CFGR0_CIRFIFO_MASK (0x100U)
  23094. #define LPSPI_CFGR0_CIRFIFO_SHIFT (8U)
  23095. /*! CIRFIFO - Circular FIFO Enable
  23096. * 0b0..Circular FIFO is disabled
  23097. * 0b1..Circular FIFO is enabled
  23098. */
  23099. #define LPSPI_CFGR0_CIRFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_CIRFIFO_SHIFT)) & LPSPI_CFGR0_CIRFIFO_MASK)
  23100. #define LPSPI_CFGR0_RDMO_MASK (0x200U)
  23101. #define LPSPI_CFGR0_RDMO_SHIFT (9U)
  23102. /*! RDMO - Receive Data Match Only
  23103. * 0b0..Received data is stored in the receive FIFO as in normal operations
  23104. * 0b1..Received data is discarded unless the SR[DMF] = 1
  23105. */
  23106. #define LPSPI_CFGR0_RDMO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_RDMO_SHIFT)) & LPSPI_CFGR0_RDMO_MASK)
  23107. /*! @} */
  23108. /*! @name CFGR1 - Configuration 1 */
  23109. /*! @{ */
  23110. #define LPSPI_CFGR1_MASTER_MASK (0x1U)
  23111. #define LPSPI_CFGR1_MASTER_SHIFT (0U)
  23112. /*! MASTER - Master Mode
  23113. * 0b0..Slave mode
  23114. * 0b1..Master mode
  23115. */
  23116. #define LPSPI_CFGR1_MASTER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_MASTER_SHIFT)) & LPSPI_CFGR1_MASTER_MASK)
  23117. #define LPSPI_CFGR1_SAMPLE_MASK (0x2U)
  23118. #define LPSPI_CFGR1_SAMPLE_SHIFT (1U)
  23119. /*! SAMPLE - Sample Point
  23120. * 0b0..Input data is sampled on SCK edge
  23121. * 0b1..Input data is sampled on delayed SCK edge
  23122. */
  23123. #define LPSPI_CFGR1_SAMPLE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_SAMPLE_SHIFT)) & LPSPI_CFGR1_SAMPLE_MASK)
  23124. #define LPSPI_CFGR1_AUTOPCS_MASK (0x4U)
  23125. #define LPSPI_CFGR1_AUTOPCS_SHIFT (2U)
  23126. /*! AUTOPCS - Automatic PCS
  23127. * 0b0..Automatic PCS generation is disabled
  23128. * 0b1..Automatic PCS generation is enabled
  23129. */
  23130. #define LPSPI_CFGR1_AUTOPCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_AUTOPCS_SHIFT)) & LPSPI_CFGR1_AUTOPCS_MASK)
  23131. #define LPSPI_CFGR1_NOSTALL_MASK (0x8U)
  23132. #define LPSPI_CFGR1_NOSTALL_SHIFT (3U)
  23133. /*! NOSTALL - No Stall
  23134. * 0b0..Transfers stall when the transmit FIFO is empty
  23135. * 0b1..Transfers do not stall, allowing transmit FIFO underruns to occur
  23136. */
  23137. #define LPSPI_CFGR1_NOSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_NOSTALL_SHIFT)) & LPSPI_CFGR1_NOSTALL_MASK)
  23138. #define LPSPI_CFGR1_PCSPOL_MASK (0xF00U)
  23139. #define LPSPI_CFGR1_PCSPOL_SHIFT (8U)
  23140. /*! PCSPOL - Peripheral Chip Select Polarity
  23141. */
  23142. #define LPSPI_CFGR1_PCSPOL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PCSPOL_SHIFT)) & LPSPI_CFGR1_PCSPOL_MASK)
  23143. #define LPSPI_CFGR1_MATCFG_MASK (0x70000U)
  23144. #define LPSPI_CFGR1_MATCFG_SHIFT (16U)
  23145. /*! MATCFG - Match Configuration
  23146. * 0b000..Match is disabled
  23147. * 0b001..Reserved
  23148. * 0b010..Match is enabled is 1st data word is MATCH0 or MATCH1
  23149. * 0b011..Match is enabled on any data word equal MATCH0 or MATCH1
  23150. * 0b100..Match is enabled on data match sequence
  23151. * 0b101..Match is enabled on data match sequence
  23152. * 0b110..Match is enabled
  23153. * 0b111..Match is enabled
  23154. */
  23155. #define LPSPI_CFGR1_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_MATCFG_SHIFT)) & LPSPI_CFGR1_MATCFG_MASK)
  23156. #define LPSPI_CFGR1_PINCFG_MASK (0x3000000U)
  23157. #define LPSPI_CFGR1_PINCFG_SHIFT (24U)
  23158. /*! PINCFG - Pin Configuration
  23159. * 0b00..SIN is used for input data and SOUT is used for output data
  23160. * 0b01..SIN is used for both input and output data, only half-duplex serial transfers are supported
  23161. * 0b10..SOUT is used for both input and output data, only half-duplex serial transfers are supported
  23162. * 0b11..SOUT is used for input data and SIN is used for output data
  23163. */
  23164. #define LPSPI_CFGR1_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PINCFG_SHIFT)) & LPSPI_CFGR1_PINCFG_MASK)
  23165. #define LPSPI_CFGR1_OUTCFG_MASK (0x4000000U)
  23166. #define LPSPI_CFGR1_OUTCFG_SHIFT (26U)
  23167. /*! OUTCFG - Output Configuration
  23168. * 0b0..Output data retains last value when chip select is negated
  23169. * 0b1..Output data is tristated when chip select is negated
  23170. */
  23171. #define LPSPI_CFGR1_OUTCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_OUTCFG_SHIFT)) & LPSPI_CFGR1_OUTCFG_MASK)
  23172. #define LPSPI_CFGR1_PCSCFG_MASK (0x8000000U)
  23173. #define LPSPI_CFGR1_PCSCFG_SHIFT (27U)
  23174. /*! PCSCFG - Peripheral Chip Select Configuration
  23175. * 0b0..PCS[3:2] are configured for chip select function
  23176. * 0b1..PCS[3:2] are configured for half-duplex 4-bit transfers (PCS[3:2] = DATA[3:2])
  23177. */
  23178. #define LPSPI_CFGR1_PCSCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PCSCFG_SHIFT)) & LPSPI_CFGR1_PCSCFG_MASK)
  23179. /*! @} */
  23180. /*! @name DMR0 - Data Match 0 */
  23181. /*! @{ */
  23182. #define LPSPI_DMR0_MATCH0_MASK (0xFFFFFFFFU)
  23183. #define LPSPI_DMR0_MATCH0_SHIFT (0U)
  23184. /*! MATCH0 - Match 0 Value
  23185. */
  23186. #define LPSPI_DMR0_MATCH0(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DMR0_MATCH0_SHIFT)) & LPSPI_DMR0_MATCH0_MASK)
  23187. /*! @} */
  23188. /*! @name DMR1 - Data Match 1 */
  23189. /*! @{ */
  23190. #define LPSPI_DMR1_MATCH1_MASK (0xFFFFFFFFU)
  23191. #define LPSPI_DMR1_MATCH1_SHIFT (0U)
  23192. /*! MATCH1 - Match 1 Value
  23193. */
  23194. #define LPSPI_DMR1_MATCH1(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DMR1_MATCH1_SHIFT)) & LPSPI_DMR1_MATCH1_MASK)
  23195. /*! @} */
  23196. /*! @name CCR - Clock Configuration */
  23197. /*! @{ */
  23198. #define LPSPI_CCR_SCKDIV_MASK (0xFFU)
  23199. #define LPSPI_CCR_SCKDIV_SHIFT (0U)
  23200. /*! SCKDIV - SCK Divider
  23201. */
  23202. #define LPSPI_CCR_SCKDIV(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_SCKDIV_SHIFT)) & LPSPI_CCR_SCKDIV_MASK)
  23203. #define LPSPI_CCR_DBT_MASK (0xFF00U)
  23204. #define LPSPI_CCR_DBT_SHIFT (8U)
  23205. /*! DBT - Delay Between Transfers
  23206. */
  23207. #define LPSPI_CCR_DBT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_DBT_SHIFT)) & LPSPI_CCR_DBT_MASK)
  23208. #define LPSPI_CCR_PCSSCK_MASK (0xFF0000U)
  23209. #define LPSPI_CCR_PCSSCK_SHIFT (16U)
  23210. /*! PCSSCK - PCS-to-SCK Delay
  23211. */
  23212. #define LPSPI_CCR_PCSSCK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_PCSSCK_SHIFT)) & LPSPI_CCR_PCSSCK_MASK)
  23213. #define LPSPI_CCR_SCKPCS_MASK (0xFF000000U)
  23214. #define LPSPI_CCR_SCKPCS_SHIFT (24U)
  23215. /*! SCKPCS - SCK-to-PCS Delay
  23216. */
  23217. #define LPSPI_CCR_SCKPCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_SCKPCS_SHIFT)) & LPSPI_CCR_SCKPCS_MASK)
  23218. /*! @} */
  23219. /*! @name FCR - FIFO Control */
  23220. /*! @{ */
  23221. #define LPSPI_FCR_TXWATER_MASK (0xFU)
  23222. #define LPSPI_FCR_TXWATER_SHIFT (0U)
  23223. /*! TXWATER - Transmit FIFO Watermark
  23224. */
  23225. #define LPSPI_FCR_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FCR_TXWATER_SHIFT)) & LPSPI_FCR_TXWATER_MASK)
  23226. #define LPSPI_FCR_RXWATER_MASK (0xF0000U)
  23227. #define LPSPI_FCR_RXWATER_SHIFT (16U)
  23228. /*! RXWATER - Receive FIFO Watermark
  23229. */
  23230. #define LPSPI_FCR_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FCR_RXWATER_SHIFT)) & LPSPI_FCR_RXWATER_MASK)
  23231. /*! @} */
  23232. /*! @name FSR - FIFO Status */
  23233. /*! @{ */
  23234. #define LPSPI_FSR_TXCOUNT_MASK (0x1FU)
  23235. #define LPSPI_FSR_TXCOUNT_SHIFT (0U)
  23236. /*! TXCOUNT - Transmit FIFO Count
  23237. */
  23238. #define LPSPI_FSR_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FSR_TXCOUNT_SHIFT)) & LPSPI_FSR_TXCOUNT_MASK)
  23239. #define LPSPI_FSR_RXCOUNT_MASK (0x1F0000U)
  23240. #define LPSPI_FSR_RXCOUNT_SHIFT (16U)
  23241. /*! RXCOUNT - Receive FIFO Count
  23242. */
  23243. #define LPSPI_FSR_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FSR_RXCOUNT_SHIFT)) & LPSPI_FSR_RXCOUNT_MASK)
  23244. /*! @} */
  23245. /*! @name TCR - Transmit Command */
  23246. /*! @{ */
  23247. #define LPSPI_TCR_FRAMESZ_MASK (0xFFFU)
  23248. #define LPSPI_TCR_FRAMESZ_SHIFT (0U)
  23249. /*! FRAMESZ - Frame Size
  23250. */
  23251. #define LPSPI_TCR_FRAMESZ(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_FRAMESZ_SHIFT)) & LPSPI_TCR_FRAMESZ_MASK)
  23252. #define LPSPI_TCR_WIDTH_MASK (0x30000U)
  23253. #define LPSPI_TCR_WIDTH_SHIFT (16U)
  23254. /*! WIDTH - Transfer Width
  23255. * 0b00..1 bit transfer
  23256. * 0b01..2 bit transfer
  23257. * 0b10..4 bit transfer
  23258. * 0b11..Reserved
  23259. */
  23260. #define LPSPI_TCR_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_WIDTH_SHIFT)) & LPSPI_TCR_WIDTH_MASK)
  23261. #define LPSPI_TCR_TXMSK_MASK (0x40000U)
  23262. #define LPSPI_TCR_TXMSK_SHIFT (18U)
  23263. /*! TXMSK - Transmit Data Mask
  23264. * 0b0..Normal transfer
  23265. * 0b1..Mask transmit data
  23266. */
  23267. #define LPSPI_TCR_TXMSK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_TXMSK_SHIFT)) & LPSPI_TCR_TXMSK_MASK)
  23268. #define LPSPI_TCR_RXMSK_MASK (0x80000U)
  23269. #define LPSPI_TCR_RXMSK_SHIFT (19U)
  23270. /*! RXMSK - Receive Data Mask
  23271. * 0b0..Normal transfer
  23272. * 0b1..Receive data is masked
  23273. */
  23274. #define LPSPI_TCR_RXMSK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_RXMSK_SHIFT)) & LPSPI_TCR_RXMSK_MASK)
  23275. #define LPSPI_TCR_CONTC_MASK (0x100000U)
  23276. #define LPSPI_TCR_CONTC_SHIFT (20U)
  23277. /*! CONTC - Continuing Command
  23278. * 0b0..Command word for start of new transfer
  23279. * 0b1..Command word for continuing transfer
  23280. */
  23281. #define LPSPI_TCR_CONTC(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CONTC_SHIFT)) & LPSPI_TCR_CONTC_MASK)
  23282. #define LPSPI_TCR_CONT_MASK (0x200000U)
  23283. #define LPSPI_TCR_CONT_SHIFT (21U)
  23284. /*! CONT - Continuous Transfer
  23285. * 0b0..Continuous transfer is disabled
  23286. * 0b1..Continuous transfer is enabled
  23287. */
  23288. #define LPSPI_TCR_CONT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CONT_SHIFT)) & LPSPI_TCR_CONT_MASK)
  23289. #define LPSPI_TCR_BYSW_MASK (0x400000U)
  23290. #define LPSPI_TCR_BYSW_SHIFT (22U)
  23291. /*! BYSW - Byte Swap
  23292. * 0b0..Byte swap is disabled
  23293. * 0b1..Byte swap is enabled
  23294. */
  23295. #define LPSPI_TCR_BYSW(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_BYSW_SHIFT)) & LPSPI_TCR_BYSW_MASK)
  23296. #define LPSPI_TCR_LSBF_MASK (0x800000U)
  23297. #define LPSPI_TCR_LSBF_SHIFT (23U)
  23298. /*! LSBF - LSB First
  23299. * 0b0..Data is transferred MSB first
  23300. * 0b1..Data is transferred LSB first
  23301. */
  23302. #define LPSPI_TCR_LSBF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_LSBF_SHIFT)) & LPSPI_TCR_LSBF_MASK)
  23303. #define LPSPI_TCR_PCS_MASK (0x3000000U)
  23304. #define LPSPI_TCR_PCS_SHIFT (24U)
  23305. /*! PCS - Peripheral Chip Select
  23306. * 0b00..Transfer using PCS[0]
  23307. * 0b01..Transfer using PCS[1]
  23308. * 0b10..Transfer using PCS[2]
  23309. * 0b11..Transfer using PCS[3]
  23310. */
  23311. #define LPSPI_TCR_PCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_PCS_SHIFT)) & LPSPI_TCR_PCS_MASK)
  23312. #define LPSPI_TCR_PRESCALE_MASK (0x38000000U)
  23313. #define LPSPI_TCR_PRESCALE_SHIFT (27U)
  23314. /*! PRESCALE - Prescaler Value
  23315. * 0b000..Divide by 1
  23316. * 0b001..Divide by 2
  23317. * 0b010..Divide by 4
  23318. * 0b011..Divide by 8
  23319. * 0b100..Divide by 16
  23320. * 0b101..Divide by 32
  23321. * 0b110..Divide by 64
  23322. * 0b111..Divide by 128
  23323. */
  23324. #define LPSPI_TCR_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_PRESCALE_SHIFT)) & LPSPI_TCR_PRESCALE_MASK)
  23325. #define LPSPI_TCR_CPHA_MASK (0x40000000U)
  23326. #define LPSPI_TCR_CPHA_SHIFT (30U)
  23327. /*! CPHA - Clock Phase
  23328. * 0b0..Captured
  23329. * 0b1..Changed
  23330. */
  23331. #define LPSPI_TCR_CPHA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CPHA_SHIFT)) & LPSPI_TCR_CPHA_MASK)
  23332. #define LPSPI_TCR_CPOL_MASK (0x80000000U)
  23333. #define LPSPI_TCR_CPOL_SHIFT (31U)
  23334. /*! CPOL - Clock Polarity
  23335. * 0b0..The inactive state value of SCK is low
  23336. * 0b1..The inactive state value of SCK is high
  23337. */
  23338. #define LPSPI_TCR_CPOL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CPOL_SHIFT)) & LPSPI_TCR_CPOL_MASK)
  23339. /*! @} */
  23340. /*! @name TDR - Transmit Data */
  23341. /*! @{ */
  23342. #define LPSPI_TDR_DATA_MASK (0xFFFFFFFFU)
  23343. #define LPSPI_TDR_DATA_SHIFT (0U)
  23344. /*! DATA - Transmit Data
  23345. */
  23346. #define LPSPI_TDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TDR_DATA_SHIFT)) & LPSPI_TDR_DATA_MASK)
  23347. /*! @} */
  23348. /*! @name RSR - Receive Status */
  23349. /*! @{ */
  23350. #define LPSPI_RSR_SOF_MASK (0x1U)
  23351. #define LPSPI_RSR_SOF_SHIFT (0U)
  23352. /*! SOF - Start Of Frame
  23353. * 0b0..Subsequent data word received after PCS assertion
  23354. * 0b1..First data word received after PCS assertion
  23355. */
  23356. #define LPSPI_RSR_SOF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RSR_SOF_SHIFT)) & LPSPI_RSR_SOF_MASK)
  23357. #define LPSPI_RSR_RXEMPTY_MASK (0x2U)
  23358. #define LPSPI_RSR_RXEMPTY_SHIFT (1U)
  23359. /*! RXEMPTY - RX FIFO Empty
  23360. * 0b0..RX FIFO is not empty
  23361. * 0b1..RX FIFO is empty
  23362. */
  23363. #define LPSPI_RSR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RSR_RXEMPTY_SHIFT)) & LPSPI_RSR_RXEMPTY_MASK)
  23364. /*! @} */
  23365. /*! @name RDR - Receive Data */
  23366. /*! @{ */
  23367. #define LPSPI_RDR_DATA_MASK (0xFFFFFFFFU)
  23368. #define LPSPI_RDR_DATA_SHIFT (0U)
  23369. /*! DATA - Receive Data
  23370. */
  23371. #define LPSPI_RDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RDR_DATA_SHIFT)) & LPSPI_RDR_DATA_MASK)
  23372. /*! @} */
  23373. /*!
  23374. * @}
  23375. */ /* end of group LPSPI_Register_Masks */
  23376. /* LPSPI - Peripheral instance base addresses */
  23377. /** Peripheral LPSPI1 base address */
  23378. #define LPSPI1_BASE (0x40394000u)
  23379. /** Peripheral LPSPI1 base pointer */
  23380. #define LPSPI1 ((LPSPI_Type *)LPSPI1_BASE)
  23381. /** Peripheral LPSPI2 base address */
  23382. #define LPSPI2_BASE (0x40398000u)
  23383. /** Peripheral LPSPI2 base pointer */
  23384. #define LPSPI2 ((LPSPI_Type *)LPSPI2_BASE)
  23385. /** Peripheral LPSPI3 base address */
  23386. #define LPSPI3_BASE (0x4039C000u)
  23387. /** Peripheral LPSPI3 base pointer */
  23388. #define LPSPI3 ((LPSPI_Type *)LPSPI3_BASE)
  23389. /** Peripheral LPSPI4 base address */
  23390. #define LPSPI4_BASE (0x403A0000u)
  23391. /** Peripheral LPSPI4 base pointer */
  23392. #define LPSPI4 ((LPSPI_Type *)LPSPI4_BASE)
  23393. /** Array initializer of LPSPI peripheral base addresses */
  23394. #define LPSPI_BASE_ADDRS { 0u, LPSPI1_BASE, LPSPI2_BASE, LPSPI3_BASE, LPSPI4_BASE }
  23395. /** Array initializer of LPSPI peripheral base pointers */
  23396. #define LPSPI_BASE_PTRS { (LPSPI_Type *)0u, LPSPI1, LPSPI2, LPSPI3, LPSPI4 }
  23397. /** Interrupt vectors for the LPSPI peripheral type */
  23398. #define LPSPI_IRQS { NotAvail_IRQn, LPSPI1_IRQn, LPSPI2_IRQn, LPSPI3_IRQn, LPSPI4_IRQn }
  23399. /*!
  23400. * @}
  23401. */ /* end of group LPSPI_Peripheral_Access_Layer */
  23402. /* ----------------------------------------------------------------------------
  23403. -- LPUART Peripheral Access Layer
  23404. ---------------------------------------------------------------------------- */
  23405. /*!
  23406. * @addtogroup LPUART_Peripheral_Access_Layer LPUART Peripheral Access Layer
  23407. * @{
  23408. */
  23409. /** LPUART - Register Layout Typedef */
  23410. typedef struct {
  23411. __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */
  23412. __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
  23413. __IO uint32_t GLOBAL; /**< LPUART Global Register, offset: 0x8 */
  23414. __IO uint32_t PINCFG; /**< LPUART Pin Configuration Register, offset: 0xC */
  23415. __IO uint32_t BAUD; /**< LPUART Baud Rate Register, offset: 0x10 */
  23416. __IO uint32_t STAT; /**< LPUART Status Register, offset: 0x14 */
  23417. __IO uint32_t CTRL; /**< LPUART Control Register, offset: 0x18 */
  23418. __IO uint32_t DATA; /**< LPUART Data Register, offset: 0x1C */
  23419. __IO uint32_t MATCH; /**< LPUART Match Address Register, offset: 0x20 */
  23420. __IO uint32_t MODIR; /**< LPUART Modem IrDA Register, offset: 0x24 */
  23421. __IO uint32_t FIFO; /**< LPUART FIFO Register, offset: 0x28 */
  23422. __IO uint32_t WATER; /**< LPUART Watermark Register, offset: 0x2C */
  23423. } LPUART_Type;
  23424. /* ----------------------------------------------------------------------------
  23425. -- LPUART Register Masks
  23426. ---------------------------------------------------------------------------- */
  23427. /*!
  23428. * @addtogroup LPUART_Register_Masks LPUART Register Masks
  23429. * @{
  23430. */
  23431. /*! @name VERID - Version ID Register */
  23432. /*! @{ */
  23433. #define LPUART_VERID_FEATURE_MASK (0xFFFFU)
  23434. #define LPUART_VERID_FEATURE_SHIFT (0U)
  23435. /*! FEATURE - Feature Identification Number
  23436. * 0b0000000000000001..Standard feature set.
  23437. * 0b0000000000000011..Standard feature set with MODEM/IrDA support.
  23438. */
  23439. #define LPUART_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_FEATURE_SHIFT)) & LPUART_VERID_FEATURE_MASK)
  23440. #define LPUART_VERID_MINOR_MASK (0xFF0000U)
  23441. #define LPUART_VERID_MINOR_SHIFT (16U)
  23442. /*! MINOR - Minor Version Number
  23443. */
  23444. #define LPUART_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_MINOR_SHIFT)) & LPUART_VERID_MINOR_MASK)
  23445. #define LPUART_VERID_MAJOR_MASK (0xFF000000U)
  23446. #define LPUART_VERID_MAJOR_SHIFT (24U)
  23447. /*! MAJOR - Major Version Number
  23448. */
  23449. #define LPUART_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_MAJOR_SHIFT)) & LPUART_VERID_MAJOR_MASK)
  23450. /*! @} */
  23451. /*! @name PARAM - Parameter Register */
  23452. /*! @{ */
  23453. #define LPUART_PARAM_TXFIFO_MASK (0xFFU)
  23454. #define LPUART_PARAM_TXFIFO_SHIFT (0U)
  23455. /*! TXFIFO - Transmit FIFO Size
  23456. */
  23457. #define LPUART_PARAM_TXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PARAM_TXFIFO_SHIFT)) & LPUART_PARAM_TXFIFO_MASK)
  23458. #define LPUART_PARAM_RXFIFO_MASK (0xFF00U)
  23459. #define LPUART_PARAM_RXFIFO_SHIFT (8U)
  23460. /*! RXFIFO - Receive FIFO Size
  23461. */
  23462. #define LPUART_PARAM_RXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PARAM_RXFIFO_SHIFT)) & LPUART_PARAM_RXFIFO_MASK)
  23463. /*! @} */
  23464. /*! @name GLOBAL - LPUART Global Register */
  23465. /*! @{ */
  23466. #define LPUART_GLOBAL_RST_MASK (0x2U)
  23467. #define LPUART_GLOBAL_RST_SHIFT (1U)
  23468. /*! RST - Software Reset
  23469. * 0b0..Module is not reset.
  23470. * 0b1..Module is reset.
  23471. */
  23472. #define LPUART_GLOBAL_RST(x) (((uint32_t)(((uint32_t)(x)) << LPUART_GLOBAL_RST_SHIFT)) & LPUART_GLOBAL_RST_MASK)
  23473. /*! @} */
  23474. /*! @name PINCFG - LPUART Pin Configuration Register */
  23475. /*! @{ */
  23476. #define LPUART_PINCFG_TRGSEL_MASK (0x3U)
  23477. #define LPUART_PINCFG_TRGSEL_SHIFT (0U)
  23478. /*! TRGSEL - Trigger Select
  23479. * 0b00..Input trigger is disabled.
  23480. * 0b01..Input trigger is used instead of RXD pin input.
  23481. * 0b10..Input trigger is used instead of CTS_B pin input.
  23482. * 0b11..Input trigger is used to modulate the TXD pin output. The TXD pin output (after TXINV configuration) is
  23483. * internally ANDed with the input trigger.
  23484. */
  23485. #define LPUART_PINCFG_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PINCFG_TRGSEL_SHIFT)) & LPUART_PINCFG_TRGSEL_MASK)
  23486. /*! @} */
  23487. /*! @name BAUD - LPUART Baud Rate Register */
  23488. /*! @{ */
  23489. #define LPUART_BAUD_SBR_MASK (0x1FFFU)
  23490. #define LPUART_BAUD_SBR_SHIFT (0U)
  23491. /*! SBR - Baud Rate Modulo Divisor.
  23492. */
  23493. #define LPUART_BAUD_SBR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_SBR_SHIFT)) & LPUART_BAUD_SBR_MASK)
  23494. #define LPUART_BAUD_SBNS_MASK (0x2000U)
  23495. #define LPUART_BAUD_SBNS_SHIFT (13U)
  23496. /*! SBNS - Stop Bit Number Select
  23497. * 0b0..One stop bit.
  23498. * 0b1..Two stop bits.
  23499. */
  23500. #define LPUART_BAUD_SBNS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_SBNS_SHIFT)) & LPUART_BAUD_SBNS_MASK)
  23501. #define LPUART_BAUD_RXEDGIE_MASK (0x4000U)
  23502. #define LPUART_BAUD_RXEDGIE_SHIFT (14U)
  23503. /*! RXEDGIE - RX Input Active Edge Interrupt Enable
  23504. * 0b0..Hardware interrupts from STAT[RXEDGIF] are disabled.
  23505. * 0b1..Hardware interrupt is requested when STAT[RXEDGIF] flag is 1.
  23506. */
  23507. #define LPUART_BAUD_RXEDGIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RXEDGIE_SHIFT)) & LPUART_BAUD_RXEDGIE_MASK)
  23508. #define LPUART_BAUD_LBKDIE_MASK (0x8000U)
  23509. #define LPUART_BAUD_LBKDIE_SHIFT (15U)
  23510. /*! LBKDIE - LIN Break Detect Interrupt Enable
  23511. * 0b0..Hardware interrupts from STAT[LBKDIF] flag are disabled (use polling).
  23512. * 0b1..Hardware interrupt is requested when STAT[LBKDIF] flag is 1.
  23513. */
  23514. #define LPUART_BAUD_LBKDIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_LBKDIE_SHIFT)) & LPUART_BAUD_LBKDIE_MASK)
  23515. #define LPUART_BAUD_RESYNCDIS_MASK (0x10000U)
  23516. #define LPUART_BAUD_RESYNCDIS_SHIFT (16U)
  23517. /*! RESYNCDIS - Resynchronization Disable
  23518. * 0b0..Resynchronization during received data word is supported.
  23519. * 0b1..Resynchronization during received data word is disabled.
  23520. */
  23521. #define LPUART_BAUD_RESYNCDIS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RESYNCDIS_SHIFT)) & LPUART_BAUD_RESYNCDIS_MASK)
  23522. #define LPUART_BAUD_BOTHEDGE_MASK (0x20000U)
  23523. #define LPUART_BAUD_BOTHEDGE_SHIFT (17U)
  23524. /*! BOTHEDGE - Both Edge Sampling
  23525. * 0b0..Receiver samples input data using the rising edge of the baud rate clock.
  23526. * 0b1..Receiver samples input data using the rising and falling edge of the baud rate clock.
  23527. */
  23528. #define LPUART_BAUD_BOTHEDGE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_BOTHEDGE_SHIFT)) & LPUART_BAUD_BOTHEDGE_MASK)
  23529. #define LPUART_BAUD_MATCFG_MASK (0xC0000U)
  23530. #define LPUART_BAUD_MATCFG_SHIFT (18U)
  23531. /*! MATCFG - Match Configuration
  23532. * 0b00..Address Match Wakeup
  23533. * 0b01..Idle Match Wakeup
  23534. * 0b10..Match On and Match Off
  23535. * 0b11..Enables RWU on Data Match and Match On/Off for transmitter CTS input
  23536. */
  23537. #define LPUART_BAUD_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MATCFG_SHIFT)) & LPUART_BAUD_MATCFG_MASK)
  23538. #define LPUART_BAUD_RDMAE_MASK (0x200000U)
  23539. #define LPUART_BAUD_RDMAE_SHIFT (21U)
  23540. /*! RDMAE - Receiver Full DMA Enable
  23541. * 0b0..DMA request disabled.
  23542. * 0b1..DMA request enabled.
  23543. */
  23544. #define LPUART_BAUD_RDMAE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RDMAE_SHIFT)) & LPUART_BAUD_RDMAE_MASK)
  23545. #define LPUART_BAUD_TDMAE_MASK (0x800000U)
  23546. #define LPUART_BAUD_TDMAE_SHIFT (23U)
  23547. /*! TDMAE - Transmitter DMA Enable
  23548. * 0b0..DMA request disabled.
  23549. * 0b1..DMA request enabled.
  23550. */
  23551. #define LPUART_BAUD_TDMAE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_TDMAE_SHIFT)) & LPUART_BAUD_TDMAE_MASK)
  23552. #define LPUART_BAUD_OSR_MASK (0x1F000000U)
  23553. #define LPUART_BAUD_OSR_SHIFT (24U)
  23554. /*! OSR - Oversampling Ratio
  23555. * 0b00000..Writing 0 to this field results in an oversampling ratio of 16
  23556. * 0b00001..Reserved
  23557. * 0b00010..Reserved
  23558. * 0b00011..Oversampling ratio of 4, requires BOTHEDGE to be set.
  23559. * 0b00100..Oversampling ratio of 5, requires BOTHEDGE to be set.
  23560. * 0b00101..Oversampling ratio of 6, requires BOTHEDGE to be set.
  23561. * 0b00110..Oversampling ratio of 7, requires BOTHEDGE to be set.
  23562. * 0b00111..Oversampling ratio of 8.
  23563. * 0b01000..Oversampling ratio of 9.
  23564. * 0b01001..Oversampling ratio of 10.
  23565. * 0b01010..Oversampling ratio of 11.
  23566. * 0b01011..Oversampling ratio of 12.
  23567. * 0b01100..Oversampling ratio of 13.
  23568. * 0b01101..Oversampling ratio of 14.
  23569. * 0b01110..Oversampling ratio of 15.
  23570. * 0b01111..Oversampling ratio of 16.
  23571. * 0b10000..Oversampling ratio of 17.
  23572. * 0b10001..Oversampling ratio of 18.
  23573. * 0b10010..Oversampling ratio of 19.
  23574. * 0b10011..Oversampling ratio of 20.
  23575. * 0b10100..Oversampling ratio of 21.
  23576. * 0b10101..Oversampling ratio of 22.
  23577. * 0b10110..Oversampling ratio of 23.
  23578. * 0b10111..Oversampling ratio of 24.
  23579. * 0b11000..Oversampling ratio of 25.
  23580. * 0b11001..Oversampling ratio of 26.
  23581. * 0b11010..Oversampling ratio of 27.
  23582. * 0b11011..Oversampling ratio of 28.
  23583. * 0b11100..Oversampling ratio of 29.
  23584. * 0b11101..Oversampling ratio of 30.
  23585. * 0b11110..Oversampling ratio of 31.
  23586. * 0b11111..Oversampling ratio of 32.
  23587. */
  23588. #define LPUART_BAUD_OSR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_OSR_SHIFT)) & LPUART_BAUD_OSR_MASK)
  23589. #define LPUART_BAUD_M10_MASK (0x20000000U)
  23590. #define LPUART_BAUD_M10_SHIFT (29U)
  23591. /*! M10 - 10-bit Mode select
  23592. * 0b0..Receiver and transmitter use 7-bit to 9-bit data characters.
  23593. * 0b1..Receiver and transmitter use 10-bit data characters.
  23594. */
  23595. #define LPUART_BAUD_M10(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_M10_SHIFT)) & LPUART_BAUD_M10_MASK)
  23596. #define LPUART_BAUD_MAEN2_MASK (0x40000000U)
  23597. #define LPUART_BAUD_MAEN2_SHIFT (30U)
  23598. /*! MAEN2 - Match Address Mode Enable 2
  23599. * 0b0..Normal operation.
  23600. * 0b1..Enables automatic address matching or data matching mode for MATCH[MA2].
  23601. */
  23602. #define LPUART_BAUD_MAEN2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MAEN2_SHIFT)) & LPUART_BAUD_MAEN2_MASK)
  23603. #define LPUART_BAUD_MAEN1_MASK (0x80000000U)
  23604. #define LPUART_BAUD_MAEN1_SHIFT (31U)
  23605. /*! MAEN1 - Match Address Mode Enable 1
  23606. * 0b0..Normal operation.
  23607. * 0b1..Enables automatic address matching or data matching mode for MATCH[MA1].
  23608. */
  23609. #define LPUART_BAUD_MAEN1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MAEN1_SHIFT)) & LPUART_BAUD_MAEN1_MASK)
  23610. /*! @} */
  23611. /*! @name STAT - LPUART Status Register */
  23612. /*! @{ */
  23613. #define LPUART_STAT_MA2F_MASK (0x4000U)
  23614. #define LPUART_STAT_MA2F_SHIFT (14U)
  23615. /*! MA2F - Match 2 Flag
  23616. * 0b0..Received data is not equal to MA2
  23617. * 0b1..Received data is equal to MA2
  23618. */
  23619. #define LPUART_STAT_MA2F(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MA2F_SHIFT)) & LPUART_STAT_MA2F_MASK)
  23620. #define LPUART_STAT_MA1F_MASK (0x8000U)
  23621. #define LPUART_STAT_MA1F_SHIFT (15U)
  23622. /*! MA1F - Match 1 Flag
  23623. * 0b0..Received data is not equal to MA1
  23624. * 0b1..Received data is equal to MA1
  23625. */
  23626. #define LPUART_STAT_MA1F(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MA1F_SHIFT)) & LPUART_STAT_MA1F_MASK)
  23627. #define LPUART_STAT_PF_MASK (0x10000U)
  23628. #define LPUART_STAT_PF_SHIFT (16U)
  23629. /*! PF - Parity Error Flag
  23630. * 0b0..No parity error.
  23631. * 0b1..Parity error.
  23632. */
  23633. #define LPUART_STAT_PF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_PF_SHIFT)) & LPUART_STAT_PF_MASK)
  23634. #define LPUART_STAT_FE_MASK (0x20000U)
  23635. #define LPUART_STAT_FE_SHIFT (17U)
  23636. /*! FE - Framing Error Flag
  23637. * 0b0..No framing error detected. This does not guarantee the framing is correct.
  23638. * 0b1..Framing error.
  23639. */
  23640. #define LPUART_STAT_FE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_FE_SHIFT)) & LPUART_STAT_FE_MASK)
  23641. #define LPUART_STAT_NF_MASK (0x40000U)
  23642. #define LPUART_STAT_NF_SHIFT (18U)
  23643. /*! NF - Noise Flag
  23644. * 0b0..No noise detected.
  23645. * 0b1..Noise detected in the received character in the DATA register.
  23646. */
  23647. #define LPUART_STAT_NF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_NF_SHIFT)) & LPUART_STAT_NF_MASK)
  23648. #define LPUART_STAT_OR_MASK (0x80000U)
  23649. #define LPUART_STAT_OR_SHIFT (19U)
  23650. /*! OR - Receiver Overrun Flag
  23651. * 0b0..No overrun.
  23652. * 0b1..Receive overrun (new LPUART data lost).
  23653. */
  23654. #define LPUART_STAT_OR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_OR_SHIFT)) & LPUART_STAT_OR_MASK)
  23655. #define LPUART_STAT_IDLE_MASK (0x100000U)
  23656. #define LPUART_STAT_IDLE_SHIFT (20U)
  23657. /*! IDLE - Idle Line Flag
  23658. * 0b0..No idle line detected.
  23659. * 0b1..Idle line is detected.
  23660. */
  23661. #define LPUART_STAT_IDLE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_IDLE_SHIFT)) & LPUART_STAT_IDLE_MASK)
  23662. #define LPUART_STAT_RDRF_MASK (0x200000U)
  23663. #define LPUART_STAT_RDRF_SHIFT (21U)
  23664. /*! RDRF - Receive Data Register Full Flag
  23665. * 0b0..Receive FIFO level is less than watermark.
  23666. * 0b1..Receive FIFO level is equal or greater than watermark.
  23667. */
  23668. #define LPUART_STAT_RDRF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RDRF_SHIFT)) & LPUART_STAT_RDRF_MASK)
  23669. #define LPUART_STAT_TC_MASK (0x400000U)
  23670. #define LPUART_STAT_TC_SHIFT (22U)
  23671. /*! TC - Transmission Complete Flag
  23672. * 0b0..Transmitter active (sending data, a preamble, or a break).
  23673. * 0b1..Transmitter idle (transmission activity complete).
  23674. */
  23675. #define LPUART_STAT_TC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_TC_SHIFT)) & LPUART_STAT_TC_MASK)
  23676. #define LPUART_STAT_TDRE_MASK (0x800000U)
  23677. #define LPUART_STAT_TDRE_SHIFT (23U)
  23678. /*! TDRE - Transmit Data Register Empty Flag
  23679. * 0b0..Transmit FIFO level is greater than watermark.
  23680. * 0b1..Transmit FIFO level is equal or less than watermark.
  23681. */
  23682. #define LPUART_STAT_TDRE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_TDRE_SHIFT)) & LPUART_STAT_TDRE_MASK)
  23683. #define LPUART_STAT_RAF_MASK (0x1000000U)
  23684. #define LPUART_STAT_RAF_SHIFT (24U)
  23685. /*! RAF - Receiver Active Flag
  23686. * 0b0..LPUART receiver idle waiting for a start bit.
  23687. * 0b1..LPUART receiver active (RXD input not idle).
  23688. */
  23689. #define LPUART_STAT_RAF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RAF_SHIFT)) & LPUART_STAT_RAF_MASK)
  23690. #define LPUART_STAT_LBKDE_MASK (0x2000000U)
  23691. #define LPUART_STAT_LBKDE_SHIFT (25U)
  23692. /*! LBKDE - LIN Break Detection Enable
  23693. * 0b0..LIN break detect is disabled, normal break character can be detected.
  23694. * 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).
  23695. */
  23696. #define LPUART_STAT_LBKDE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_LBKDE_SHIFT)) & LPUART_STAT_LBKDE_MASK)
  23697. #define LPUART_STAT_BRK13_MASK (0x4000000U)
  23698. #define LPUART_STAT_BRK13_SHIFT (26U)
  23699. /*! BRK13 - Break Character Generation Length
  23700. * 0b0..Break character is transmitted with length of 9 to 13 bit times.
  23701. * 0b1..Break character is transmitted with length of 12 to 15 bit times.
  23702. */
  23703. #define LPUART_STAT_BRK13(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_BRK13_SHIFT)) & LPUART_STAT_BRK13_MASK)
  23704. #define LPUART_STAT_RWUID_MASK (0x8000000U)
  23705. #define LPUART_STAT_RWUID_SHIFT (27U)
  23706. /*! RWUID - Receive Wake Up Idle Detect
  23707. * 0b0..During receive standby state (RWU = 1), the IDLE bit does not get set upon detection of an idle
  23708. * character. During address match wakeup, the IDLE bit does not set when an address does not match.
  23709. * 0b1..During receive standby state (RWU = 1), the IDLE bit gets set upon detection of an idle character. During
  23710. * address match wakeup, the IDLE bit does set when an address does not match.
  23711. */
  23712. #define LPUART_STAT_RWUID(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RWUID_SHIFT)) & LPUART_STAT_RWUID_MASK)
  23713. #define LPUART_STAT_RXINV_MASK (0x10000000U)
  23714. #define LPUART_STAT_RXINV_SHIFT (28U)
  23715. /*! RXINV - Receive Data Inversion
  23716. * 0b0..Receive data not inverted.
  23717. * 0b1..Receive data inverted.
  23718. */
  23719. #define LPUART_STAT_RXINV(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RXINV_SHIFT)) & LPUART_STAT_RXINV_MASK)
  23720. #define LPUART_STAT_MSBF_MASK (0x20000000U)
  23721. #define LPUART_STAT_MSBF_SHIFT (29U)
  23722. /*! MSBF - MSB First
  23723. * 0b0..LSB (bit0) is the first bit that is transmitted following the start bit. Further, the first bit received
  23724. * after the start bit is identified as bit0.
  23725. * 0b1..MSB (identified as bit9, bit8, bit7 or bit6) is the first bit that is transmitted following the start bit
  23726. * depending on the setting of CTRL[M], CTRL[PE] and BAUD[M10]. .
  23727. */
  23728. #define LPUART_STAT_MSBF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MSBF_SHIFT)) & LPUART_STAT_MSBF_MASK)
  23729. #define LPUART_STAT_RXEDGIF_MASK (0x40000000U)
  23730. #define LPUART_STAT_RXEDGIF_SHIFT (30U)
  23731. /*! RXEDGIF - RXD Pin Active Edge Interrupt Flag
  23732. * 0b0..No active edge on the receive pin has occurred.
  23733. * 0b1..An active edge on the receive pin has occurred.
  23734. */
  23735. #define LPUART_STAT_RXEDGIF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RXEDGIF_SHIFT)) & LPUART_STAT_RXEDGIF_MASK)
  23736. #define LPUART_STAT_LBKDIF_MASK (0x80000000U)
  23737. #define LPUART_STAT_LBKDIF_SHIFT (31U)
  23738. /*! LBKDIF - LIN Break Detect Interrupt Flag
  23739. * 0b0..No LIN break character has been detected.
  23740. * 0b1..LIN break character has been detected.
  23741. */
  23742. #define LPUART_STAT_LBKDIF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_LBKDIF_SHIFT)) & LPUART_STAT_LBKDIF_MASK)
  23743. /*! @} */
  23744. /*! @name CTRL - LPUART Control Register */
  23745. /*! @{ */
  23746. #define LPUART_CTRL_PT_MASK (0x1U)
  23747. #define LPUART_CTRL_PT_SHIFT (0U)
  23748. /*! PT - Parity Type
  23749. * 0b0..Even parity.
  23750. * 0b1..Odd parity.
  23751. */
  23752. #define LPUART_CTRL_PT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PT_SHIFT)) & LPUART_CTRL_PT_MASK)
  23753. #define LPUART_CTRL_PE_MASK (0x2U)
  23754. #define LPUART_CTRL_PE_SHIFT (1U)
  23755. /*! PE - Parity Enable
  23756. * 0b0..No hardware parity generation or checking.
  23757. * 0b1..Parity enabled.
  23758. */
  23759. #define LPUART_CTRL_PE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PE_SHIFT)) & LPUART_CTRL_PE_MASK)
  23760. #define LPUART_CTRL_ILT_MASK (0x4U)
  23761. #define LPUART_CTRL_ILT_SHIFT (2U)
  23762. /*! ILT - Idle Line Type Select
  23763. * 0b0..Idle character bit count starts after start bit.
  23764. * 0b1..Idle character bit count starts after stop bit.
  23765. */
  23766. #define LPUART_CTRL_ILT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ILT_SHIFT)) & LPUART_CTRL_ILT_MASK)
  23767. #define LPUART_CTRL_WAKE_MASK (0x8U)
  23768. #define LPUART_CTRL_WAKE_SHIFT (3U)
  23769. /*! WAKE - Receiver Wakeup Method Select
  23770. * 0b0..Configures RWU for idle-line wakeup.
  23771. * 0b1..Configures RWU with address-mark wakeup.
  23772. */
  23773. #define LPUART_CTRL_WAKE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_WAKE_SHIFT)) & LPUART_CTRL_WAKE_MASK)
  23774. #define LPUART_CTRL_M_MASK (0x10U)
  23775. #define LPUART_CTRL_M_SHIFT (4U)
  23776. /*! M - 9-Bit or 8-Bit Mode Select
  23777. * 0b0..Receiver and transmitter use 8-bit data characters.
  23778. * 0b1..Receiver and transmitter use 9-bit data characters.
  23779. */
  23780. #define LPUART_CTRL_M(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_M_SHIFT)) & LPUART_CTRL_M_MASK)
  23781. #define LPUART_CTRL_RSRC_MASK (0x20U)
  23782. #define LPUART_CTRL_RSRC_SHIFT (5U)
  23783. /*! RSRC - Receiver Source Select
  23784. * 0b0..Provided LOOPS is set, RSRC is cleared, selects internal loop back mode and the LPUART does not use the RXD pin.
  23785. * 0b1..Single-wire LPUART mode where the TXD pin is connected to the transmitter output and receiver input.
  23786. */
  23787. #define LPUART_CTRL_RSRC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RSRC_SHIFT)) & LPUART_CTRL_RSRC_MASK)
  23788. #define LPUART_CTRL_DOZEEN_MASK (0x40U)
  23789. #define LPUART_CTRL_DOZEEN_SHIFT (6U)
  23790. /*! DOZEEN - Doze Enable
  23791. * 0b0..LPUART is enabled in Doze mode.
  23792. * 0b1..LPUART is disabled in Doze mode .
  23793. */
  23794. #define LPUART_CTRL_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_DOZEEN_SHIFT)) & LPUART_CTRL_DOZEEN_MASK)
  23795. #define LPUART_CTRL_LOOPS_MASK (0x80U)
  23796. #define LPUART_CTRL_LOOPS_SHIFT (7U)
  23797. /*! LOOPS - Loop Mode Select
  23798. * 0b0..Normal operation - RXD and TXD use separate pins.
  23799. * 0b1..Loop mode or single-wire mode where transmitter outputs are internally connected to receiver input (see RSRC bit).
  23800. */
  23801. #define LPUART_CTRL_LOOPS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_LOOPS_SHIFT)) & LPUART_CTRL_LOOPS_MASK)
  23802. #define LPUART_CTRL_IDLECFG_MASK (0x700U)
  23803. #define LPUART_CTRL_IDLECFG_SHIFT (8U)
  23804. /*! IDLECFG - Idle Configuration
  23805. * 0b000..1 idle character
  23806. * 0b001..2 idle characters
  23807. * 0b010..4 idle characters
  23808. * 0b011..8 idle characters
  23809. * 0b100..16 idle characters
  23810. * 0b101..32 idle characters
  23811. * 0b110..64 idle characters
  23812. * 0b111..128 idle characters
  23813. */
  23814. #define LPUART_CTRL_IDLECFG(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_IDLECFG_SHIFT)) & LPUART_CTRL_IDLECFG_MASK)
  23815. #define LPUART_CTRL_M7_MASK (0x800U)
  23816. #define LPUART_CTRL_M7_SHIFT (11U)
  23817. /*! M7 - 7-Bit Mode Select
  23818. * 0b0..Receiver and transmitter use 8-bit to 10-bit data characters.
  23819. * 0b1..Receiver and transmitter use 7-bit data characters.
  23820. */
  23821. #define LPUART_CTRL_M7(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_M7_SHIFT)) & LPUART_CTRL_M7_MASK)
  23822. #define LPUART_CTRL_MA2IE_MASK (0x4000U)
  23823. #define LPUART_CTRL_MA2IE_SHIFT (14U)
  23824. /*! MA2IE - Match 2 Interrupt Enable
  23825. * 0b0..MA2F interrupt disabled
  23826. * 0b1..MA2F interrupt enabled
  23827. */
  23828. #define LPUART_CTRL_MA2IE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_MA2IE_SHIFT)) & LPUART_CTRL_MA2IE_MASK)
  23829. #define LPUART_CTRL_MA1IE_MASK (0x8000U)
  23830. #define LPUART_CTRL_MA1IE_SHIFT (15U)
  23831. /*! MA1IE - Match 1 Interrupt Enable
  23832. * 0b0..MA1F interrupt disabled
  23833. * 0b1..MA1F interrupt enabled
  23834. */
  23835. #define LPUART_CTRL_MA1IE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_MA1IE_SHIFT)) & LPUART_CTRL_MA1IE_MASK)
  23836. #define LPUART_CTRL_SBK_MASK (0x10000U)
  23837. #define LPUART_CTRL_SBK_SHIFT (16U)
  23838. /*! SBK - Send Break
  23839. * 0b0..Normal transmitter operation.
  23840. * 0b1..Queue break character(s) to be sent.
  23841. */
  23842. #define LPUART_CTRL_SBK(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_SBK_SHIFT)) & LPUART_CTRL_SBK_MASK)
  23843. #define LPUART_CTRL_RWU_MASK (0x20000U)
  23844. #define LPUART_CTRL_RWU_SHIFT (17U)
  23845. /*! RWU - Receiver Wakeup Control
  23846. * 0b0..Normal receiver operation.
  23847. * 0b1..LPUART receiver in standby waiting for wakeup condition.
  23848. */
  23849. #define LPUART_CTRL_RWU(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RWU_SHIFT)) & LPUART_CTRL_RWU_MASK)
  23850. #define LPUART_CTRL_RE_MASK (0x40000U)
  23851. #define LPUART_CTRL_RE_SHIFT (18U)
  23852. /*! RE - Receiver Enable
  23853. * 0b0..Receiver disabled.
  23854. * 0b1..Receiver enabled.
  23855. */
  23856. #define LPUART_CTRL_RE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RE_SHIFT)) & LPUART_CTRL_RE_MASK)
  23857. #define LPUART_CTRL_TE_MASK (0x80000U)
  23858. #define LPUART_CTRL_TE_SHIFT (19U)
  23859. /*! TE - Transmitter Enable
  23860. * 0b0..Transmitter disabled.
  23861. * 0b1..Transmitter enabled.
  23862. */
  23863. #define LPUART_CTRL_TE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TE_SHIFT)) & LPUART_CTRL_TE_MASK)
  23864. #define LPUART_CTRL_ILIE_MASK (0x100000U)
  23865. #define LPUART_CTRL_ILIE_SHIFT (20U)
  23866. /*! ILIE - Idle Line Interrupt Enable
  23867. * 0b0..Hardware interrupts from IDLE disabled; use polling.
  23868. * 0b1..Hardware interrupt is requested when IDLE flag is 1.
  23869. */
  23870. #define LPUART_CTRL_ILIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ILIE_SHIFT)) & LPUART_CTRL_ILIE_MASK)
  23871. #define LPUART_CTRL_RIE_MASK (0x200000U)
  23872. #define LPUART_CTRL_RIE_SHIFT (21U)
  23873. /*! RIE - Receiver Interrupt Enable
  23874. * 0b0..Hardware interrupts from RDRF disabled.
  23875. * 0b1..Hardware interrupt is requested when RDRF flag is 1.
  23876. */
  23877. #define LPUART_CTRL_RIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RIE_SHIFT)) & LPUART_CTRL_RIE_MASK)
  23878. #define LPUART_CTRL_TCIE_MASK (0x400000U)
  23879. #define LPUART_CTRL_TCIE_SHIFT (22U)
  23880. /*! TCIE - Transmission Complete Interrupt Enable for
  23881. * 0b0..Hardware interrupts from TC disabled.
  23882. * 0b1..Hardware interrupt is requested when TC flag is 1.
  23883. */
  23884. #define LPUART_CTRL_TCIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TCIE_SHIFT)) & LPUART_CTRL_TCIE_MASK)
  23885. #define LPUART_CTRL_TIE_MASK (0x800000U)
  23886. #define LPUART_CTRL_TIE_SHIFT (23U)
  23887. /*! TIE - Transmit Interrupt Enable
  23888. * 0b0..Hardware interrupts from TDRE disabled.
  23889. * 0b1..Hardware interrupt is requested when TDRE flag is 1.
  23890. */
  23891. #define LPUART_CTRL_TIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TIE_SHIFT)) & LPUART_CTRL_TIE_MASK)
  23892. #define LPUART_CTRL_PEIE_MASK (0x1000000U)
  23893. #define LPUART_CTRL_PEIE_SHIFT (24U)
  23894. /*! PEIE - Parity Error Interrupt Enable
  23895. * 0b0..PF interrupts disabled; use polling).
  23896. * 0b1..Hardware interrupt is requested when PF is set.
  23897. */
  23898. #define LPUART_CTRL_PEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PEIE_SHIFT)) & LPUART_CTRL_PEIE_MASK)
  23899. #define LPUART_CTRL_FEIE_MASK (0x2000000U)
  23900. #define LPUART_CTRL_FEIE_SHIFT (25U)
  23901. /*! FEIE - Framing Error Interrupt Enable
  23902. * 0b0..FE interrupts disabled; use polling.
  23903. * 0b1..Hardware interrupt is requested when FE is set.
  23904. */
  23905. #define LPUART_CTRL_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_FEIE_SHIFT)) & LPUART_CTRL_FEIE_MASK)
  23906. #define LPUART_CTRL_NEIE_MASK (0x4000000U)
  23907. #define LPUART_CTRL_NEIE_SHIFT (26U)
  23908. /*! NEIE - Noise Error Interrupt Enable
  23909. * 0b0..NF interrupts disabled; use polling.
  23910. * 0b1..Hardware interrupt is requested when NF is set.
  23911. */
  23912. #define LPUART_CTRL_NEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_NEIE_SHIFT)) & LPUART_CTRL_NEIE_MASK)
  23913. #define LPUART_CTRL_ORIE_MASK (0x8000000U)
  23914. #define LPUART_CTRL_ORIE_SHIFT (27U)
  23915. /*! ORIE - Overrun Interrupt Enable
  23916. * 0b0..OR interrupts disabled; use polling.
  23917. * 0b1..Hardware interrupt is requested when OR is set.
  23918. */
  23919. #define LPUART_CTRL_ORIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ORIE_SHIFT)) & LPUART_CTRL_ORIE_MASK)
  23920. #define LPUART_CTRL_TXINV_MASK (0x10000000U)
  23921. #define LPUART_CTRL_TXINV_SHIFT (28U)
  23922. /*! TXINV - Transmit Data Inversion
  23923. * 0b0..Transmit data not inverted.
  23924. * 0b1..Transmit data inverted.
  23925. */
  23926. #define LPUART_CTRL_TXINV(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TXINV_SHIFT)) & LPUART_CTRL_TXINV_MASK)
  23927. #define LPUART_CTRL_TXDIR_MASK (0x20000000U)
  23928. #define LPUART_CTRL_TXDIR_SHIFT (29U)
  23929. /*! TXDIR - TXD Pin Direction in Single-Wire Mode
  23930. * 0b0..TXD pin is an input in single-wire mode.
  23931. * 0b1..TXD pin is an output in single-wire mode.
  23932. */
  23933. #define LPUART_CTRL_TXDIR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TXDIR_SHIFT)) & LPUART_CTRL_TXDIR_MASK)
  23934. #define LPUART_CTRL_R9T8_MASK (0x40000000U)
  23935. #define LPUART_CTRL_R9T8_SHIFT (30U)
  23936. /*! R9T8 - Receive Bit 9 / Transmit Bit 8
  23937. */
  23938. #define LPUART_CTRL_R9T8(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_R9T8_SHIFT)) & LPUART_CTRL_R9T8_MASK)
  23939. #define LPUART_CTRL_R8T9_MASK (0x80000000U)
  23940. #define LPUART_CTRL_R8T9_SHIFT (31U)
  23941. /*! R8T9 - Receive Bit 8 / Transmit Bit 9
  23942. */
  23943. #define LPUART_CTRL_R8T9(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_R8T9_SHIFT)) & LPUART_CTRL_R8T9_MASK)
  23944. /*! @} */
  23945. /*! @name DATA - LPUART Data Register */
  23946. /*! @{ */
  23947. #define LPUART_DATA_R0T0_MASK (0x1U)
  23948. #define LPUART_DATA_R0T0_SHIFT (0U)
  23949. /*! R0T0 - R0T0
  23950. */
  23951. #define LPUART_DATA_R0T0(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R0T0_SHIFT)) & LPUART_DATA_R0T0_MASK)
  23952. #define LPUART_DATA_R1T1_MASK (0x2U)
  23953. #define LPUART_DATA_R1T1_SHIFT (1U)
  23954. /*! R1T1 - R1T1
  23955. */
  23956. #define LPUART_DATA_R1T1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R1T1_SHIFT)) & LPUART_DATA_R1T1_MASK)
  23957. #define LPUART_DATA_R2T2_MASK (0x4U)
  23958. #define LPUART_DATA_R2T2_SHIFT (2U)
  23959. /*! R2T2 - R2T2
  23960. */
  23961. #define LPUART_DATA_R2T2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R2T2_SHIFT)) & LPUART_DATA_R2T2_MASK)
  23962. #define LPUART_DATA_R3T3_MASK (0x8U)
  23963. #define LPUART_DATA_R3T3_SHIFT (3U)
  23964. /*! R3T3 - R3T3
  23965. */
  23966. #define LPUART_DATA_R3T3(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R3T3_SHIFT)) & LPUART_DATA_R3T3_MASK)
  23967. #define LPUART_DATA_R4T4_MASK (0x10U)
  23968. #define LPUART_DATA_R4T4_SHIFT (4U)
  23969. /*! R4T4 - R4T4
  23970. */
  23971. #define LPUART_DATA_R4T4(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R4T4_SHIFT)) & LPUART_DATA_R4T4_MASK)
  23972. #define LPUART_DATA_R5T5_MASK (0x20U)
  23973. #define LPUART_DATA_R5T5_SHIFT (5U)
  23974. /*! R5T5 - R5T5
  23975. */
  23976. #define LPUART_DATA_R5T5(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R5T5_SHIFT)) & LPUART_DATA_R5T5_MASK)
  23977. #define LPUART_DATA_R6T6_MASK (0x40U)
  23978. #define LPUART_DATA_R6T6_SHIFT (6U)
  23979. /*! R6T6 - R6T6
  23980. */
  23981. #define LPUART_DATA_R6T6(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R6T6_SHIFT)) & LPUART_DATA_R6T6_MASK)
  23982. #define LPUART_DATA_R7T7_MASK (0x80U)
  23983. #define LPUART_DATA_R7T7_SHIFT (7U)
  23984. /*! R7T7 - R7T7
  23985. */
  23986. #define LPUART_DATA_R7T7(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R7T7_SHIFT)) & LPUART_DATA_R7T7_MASK)
  23987. #define LPUART_DATA_R8T8_MASK (0x100U)
  23988. #define LPUART_DATA_R8T8_SHIFT (8U)
  23989. /*! R8T8 - R8T8
  23990. */
  23991. #define LPUART_DATA_R8T8(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R8T8_SHIFT)) & LPUART_DATA_R8T8_MASK)
  23992. #define LPUART_DATA_R9T9_MASK (0x200U)
  23993. #define LPUART_DATA_R9T9_SHIFT (9U)
  23994. /*! R9T9 - R9T9
  23995. */
  23996. #define LPUART_DATA_R9T9(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R9T9_SHIFT)) & LPUART_DATA_R9T9_MASK)
  23997. #define LPUART_DATA_IDLINE_MASK (0x800U)
  23998. #define LPUART_DATA_IDLINE_SHIFT (11U)
  23999. /*! IDLINE - Idle Line
  24000. * 0b0..Receiver was not idle before receiving this character.
  24001. * 0b1..Receiver was idle before receiving this character.
  24002. */
  24003. #define LPUART_DATA_IDLINE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_IDLINE_SHIFT)) & LPUART_DATA_IDLINE_MASK)
  24004. #define LPUART_DATA_RXEMPT_MASK (0x1000U)
  24005. #define LPUART_DATA_RXEMPT_SHIFT (12U)
  24006. /*! RXEMPT - Receive Buffer Empty
  24007. * 0b0..Receive buffer contains valid data.
  24008. * 0b1..Receive buffer is empty, data returned on read is not valid.
  24009. */
  24010. #define LPUART_DATA_RXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_RXEMPT_SHIFT)) & LPUART_DATA_RXEMPT_MASK)
  24011. #define LPUART_DATA_FRETSC_MASK (0x2000U)
  24012. #define LPUART_DATA_FRETSC_SHIFT (13U)
  24013. /*! FRETSC - Frame Error / Transmit Special Character
  24014. * 0b0..The dataword is received without a frame error on read, or transmit a normal character on write.
  24015. * 0b1..The dataword is received with a frame error, or transmit an idle or break character on transmit.
  24016. */
  24017. #define LPUART_DATA_FRETSC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_FRETSC_SHIFT)) & LPUART_DATA_FRETSC_MASK)
  24018. #define LPUART_DATA_PARITYE_MASK (0x4000U)
  24019. #define LPUART_DATA_PARITYE_SHIFT (14U)
  24020. /*! PARITYE - Parity Error
  24021. * 0b0..The dataword is received without a parity error.
  24022. * 0b1..The dataword is received with a parity error.
  24023. */
  24024. #define LPUART_DATA_PARITYE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_PARITYE_SHIFT)) & LPUART_DATA_PARITYE_MASK)
  24025. #define LPUART_DATA_NOISY_MASK (0x8000U)
  24026. #define LPUART_DATA_NOISY_SHIFT (15U)
  24027. /*! NOISY - Noisy Data Received
  24028. * 0b0..The dataword is received without noise.
  24029. * 0b1..The data is received with noise.
  24030. */
  24031. #define LPUART_DATA_NOISY(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_NOISY_SHIFT)) & LPUART_DATA_NOISY_MASK)
  24032. /*! @} */
  24033. /*! @name MATCH - LPUART Match Address Register */
  24034. /*! @{ */
  24035. #define LPUART_MATCH_MA1_MASK (0x3FFU)
  24036. #define LPUART_MATCH_MA1_SHIFT (0U)
  24037. /*! MA1 - Match Address 1
  24038. */
  24039. #define LPUART_MATCH_MA1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MATCH_MA1_SHIFT)) & LPUART_MATCH_MA1_MASK)
  24040. #define LPUART_MATCH_MA2_MASK (0x3FF0000U)
  24041. #define LPUART_MATCH_MA2_SHIFT (16U)
  24042. /*! MA2 - Match Address 2
  24043. */
  24044. #define LPUART_MATCH_MA2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MATCH_MA2_SHIFT)) & LPUART_MATCH_MA2_MASK)
  24045. /*! @} */
  24046. /*! @name MODIR - LPUART Modem IrDA Register */
  24047. /*! @{ */
  24048. #define LPUART_MODIR_TXCTSE_MASK (0x1U)
  24049. #define LPUART_MODIR_TXCTSE_SHIFT (0U)
  24050. /*! TXCTSE - Transmitter clear-to-send enable
  24051. * 0b0..CTS has no effect on the transmitter.
  24052. * 0b1..Enables clear-to-send operation. The transmitter checks the state of CTS each time it is ready to send a
  24053. * character. If CTS is asserted, the character is sent. If CTS is deasserted, the signal TXD remains in the
  24054. * mark state and transmission is delayed until CTS is asserted. Changes in CTS as a character is being sent
  24055. * do not affect its transmission.
  24056. */
  24057. #define LPUART_MODIR_TXCTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSE_SHIFT)) & LPUART_MODIR_TXCTSE_MASK)
  24058. #define LPUART_MODIR_TXRTSE_MASK (0x2U)
  24059. #define LPUART_MODIR_TXRTSE_SHIFT (1U)
  24060. /*! TXRTSE - Transmitter request-to-send enable
  24061. * 0b0..The transmitter has no effect on RTS.
  24062. * 0b1..When a character is placed into an empty transmit shift register, RTS asserts one bit time before the
  24063. * start bit is transmitted. RTS deasserts one bit time after all characters in the transmitter FIFO and shift
  24064. * register are completely sent, including the last stop bit.
  24065. */
  24066. #define LPUART_MODIR_TXRTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXRTSE_SHIFT)) & LPUART_MODIR_TXRTSE_MASK)
  24067. #define LPUART_MODIR_TXRTSPOL_MASK (0x4U)
  24068. #define LPUART_MODIR_TXRTSPOL_SHIFT (2U)
  24069. /*! TXRTSPOL - Transmitter request-to-send polarity
  24070. * 0b0..Transmitter RTS is active low.
  24071. * 0b1..Transmitter RTS is active high.
  24072. */
  24073. #define LPUART_MODIR_TXRTSPOL(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXRTSPOL_SHIFT)) & LPUART_MODIR_TXRTSPOL_MASK)
  24074. #define LPUART_MODIR_RXRTSE_MASK (0x8U)
  24075. #define LPUART_MODIR_RXRTSE_SHIFT (3U)
  24076. /*! RXRTSE - Receiver request-to-send enable
  24077. * 0b0..The receiver has no effect on RTS.
  24078. * 0b1..RTS is deasserted if the receiver data register is full or a start bit has been detected that would cause
  24079. * the receiver data register to become full. RTS is asserted if the receiver data register is not full and
  24080. * has not detected a start bit that would cause the receiver data register to become full.
  24081. */
  24082. #define LPUART_MODIR_RXRTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_RXRTSE_SHIFT)) & LPUART_MODIR_RXRTSE_MASK)
  24083. #define LPUART_MODIR_TXCTSC_MASK (0x10U)
  24084. #define LPUART_MODIR_TXCTSC_SHIFT (4U)
  24085. /*! TXCTSC - Transmit CTS Configuration
  24086. * 0b0..CTS input is sampled at the start of each character.
  24087. * 0b1..CTS input is sampled when the transmitter is idle.
  24088. */
  24089. #define LPUART_MODIR_TXCTSC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSC_SHIFT)) & LPUART_MODIR_TXCTSC_MASK)
  24090. #define LPUART_MODIR_TXCTSSRC_MASK (0x20U)
  24091. #define LPUART_MODIR_TXCTSSRC_SHIFT (5U)
  24092. /*! TXCTSSRC - Transmit CTS Source
  24093. * 0b0..CTS input is the CTS_B pin.
  24094. * 0b1..CTS input is an internal connection to the receiver address match result.
  24095. */
  24096. #define LPUART_MODIR_TXCTSSRC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSSRC_SHIFT)) & LPUART_MODIR_TXCTSSRC_MASK)
  24097. #define LPUART_MODIR_RTSWATER_MASK (0x300U)
  24098. #define LPUART_MODIR_RTSWATER_SHIFT (8U)
  24099. /*! RTSWATER - Receive RTS Configuration
  24100. */
  24101. #define LPUART_MODIR_RTSWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_RTSWATER_SHIFT)) & LPUART_MODIR_RTSWATER_MASK)
  24102. #define LPUART_MODIR_TNP_MASK (0x30000U)
  24103. #define LPUART_MODIR_TNP_SHIFT (16U)
  24104. /*! TNP - Transmitter narrow pulse
  24105. * 0b00..1/OSR.
  24106. * 0b01..2/OSR.
  24107. * 0b10..3/OSR.
  24108. * 0b11..4/OSR.
  24109. */
  24110. #define LPUART_MODIR_TNP(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TNP_SHIFT)) & LPUART_MODIR_TNP_MASK)
  24111. #define LPUART_MODIR_IREN_MASK (0x40000U)
  24112. #define LPUART_MODIR_IREN_SHIFT (18U)
  24113. /*! IREN - Infrared enable
  24114. * 0b0..IR disabled.
  24115. * 0b1..IR enabled.
  24116. */
  24117. #define LPUART_MODIR_IREN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_IREN_SHIFT)) & LPUART_MODIR_IREN_MASK)
  24118. /*! @} */
  24119. /*! @name FIFO - LPUART FIFO Register */
  24120. /*! @{ */
  24121. #define LPUART_FIFO_RXFIFOSIZE_MASK (0x7U)
  24122. #define LPUART_FIFO_RXFIFOSIZE_SHIFT (0U)
  24123. /*! RXFIFOSIZE - Receive FIFO Buffer Depth
  24124. * 0b000..Receive FIFO/Buffer depth = 1 dataword.
  24125. * 0b001..Receive FIFO/Buffer depth = 4 datawords.
  24126. * 0b010..Receive FIFO/Buffer depth = 8 datawords.
  24127. * 0b011..Receive FIFO/Buffer depth = 16 datawords.
  24128. * 0b100..Receive FIFO/Buffer depth = 32 datawords.
  24129. * 0b101..Receive FIFO/Buffer depth = 64 datawords.
  24130. * 0b110..Receive FIFO/Buffer depth = 128 datawords.
  24131. * 0b111..Receive FIFO/Buffer depth = 256 datawords.
  24132. */
  24133. #define LPUART_FIFO_RXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFIFOSIZE_SHIFT)) & LPUART_FIFO_RXFIFOSIZE_MASK)
  24134. #define LPUART_FIFO_RXFE_MASK (0x8U)
  24135. #define LPUART_FIFO_RXFE_SHIFT (3U)
  24136. /*! RXFE - Receive FIFO Enable
  24137. * 0b0..Receive FIFO is not enabled. Buffer depth is 1.
  24138. * 0b1..Receive FIFO is enabled. Buffer depth is indicted by RXFIFOSIZE.
  24139. */
  24140. #define LPUART_FIFO_RXFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFE_SHIFT)) & LPUART_FIFO_RXFE_MASK)
  24141. #define LPUART_FIFO_TXFIFOSIZE_MASK (0x70U)
  24142. #define LPUART_FIFO_TXFIFOSIZE_SHIFT (4U)
  24143. /*! TXFIFOSIZE - Transmit FIFO Buffer Depth
  24144. * 0b000..Transmit FIFO/Buffer depth = 1 dataword.
  24145. * 0b001..Transmit FIFO/Buffer depth = 4 datawords.
  24146. * 0b010..Transmit FIFO/Buffer depth = 8 datawords.
  24147. * 0b011..Transmit FIFO/Buffer depth = 16 datawords.
  24148. * 0b100..Transmit FIFO/Buffer depth = 32 datawords.
  24149. * 0b101..Transmit FIFO/Buffer depth = 64 datawords.
  24150. * 0b110..Transmit FIFO/Buffer depth = 128 datawords.
  24151. * 0b111..Transmit FIFO/Buffer depth = 256 datawords
  24152. */
  24153. #define LPUART_FIFO_TXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFIFOSIZE_SHIFT)) & LPUART_FIFO_TXFIFOSIZE_MASK)
  24154. #define LPUART_FIFO_TXFE_MASK (0x80U)
  24155. #define LPUART_FIFO_TXFE_SHIFT (7U)
  24156. /*! TXFE - Transmit FIFO Enable
  24157. * 0b0..Transmit FIFO is not enabled. Buffer depth is 1.
  24158. * 0b1..Transmit FIFO is enabled. Buffer depth is indicated by TXFIFOSIZE.
  24159. */
  24160. #define LPUART_FIFO_TXFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFE_SHIFT)) & LPUART_FIFO_TXFE_MASK)
  24161. #define LPUART_FIFO_RXUFE_MASK (0x100U)
  24162. #define LPUART_FIFO_RXUFE_SHIFT (8U)
  24163. /*! RXUFE - Receive FIFO Underflow Interrupt Enable
  24164. * 0b0..RXUF flag does not generate an interrupt to the host.
  24165. * 0b1..RXUF flag generates an interrupt to the host.
  24166. */
  24167. #define LPUART_FIFO_RXUFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXUFE_SHIFT)) & LPUART_FIFO_RXUFE_MASK)
  24168. #define LPUART_FIFO_TXOFE_MASK (0x200U)
  24169. #define LPUART_FIFO_TXOFE_SHIFT (9U)
  24170. /*! TXOFE - Transmit FIFO Overflow Interrupt Enable
  24171. * 0b0..TXOF flag does not generate an interrupt to the host.
  24172. * 0b1..TXOF flag generates an interrupt to the host.
  24173. */
  24174. #define LPUART_FIFO_TXOFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXOFE_SHIFT)) & LPUART_FIFO_TXOFE_MASK)
  24175. #define LPUART_FIFO_RXIDEN_MASK (0x1C00U)
  24176. #define LPUART_FIFO_RXIDEN_SHIFT (10U)
  24177. /*! RXIDEN - Receiver Idle Empty Enable
  24178. * 0b000..Disable RDRF assertion due to partially filled FIFO when receiver is idle.
  24179. * 0b001..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 1 character.
  24180. * 0b010..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 2 characters.
  24181. * 0b011..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 4 characters.
  24182. * 0b100..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 8 characters.
  24183. * 0b101..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 16 characters.
  24184. * 0b110..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 32 characters.
  24185. * 0b111..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 64 characters.
  24186. */
  24187. #define LPUART_FIFO_RXIDEN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXIDEN_SHIFT)) & LPUART_FIFO_RXIDEN_MASK)
  24188. #define LPUART_FIFO_RXFLUSH_MASK (0x4000U)
  24189. #define LPUART_FIFO_RXFLUSH_SHIFT (14U)
  24190. /*! RXFLUSH - Receive FIFO Flush
  24191. * 0b0..No flush operation occurs.
  24192. * 0b1..All data in the receive FIFO/buffer is cleared out.
  24193. */
  24194. #define LPUART_FIFO_RXFLUSH(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFLUSH_SHIFT)) & LPUART_FIFO_RXFLUSH_MASK)
  24195. #define LPUART_FIFO_TXFLUSH_MASK (0x8000U)
  24196. #define LPUART_FIFO_TXFLUSH_SHIFT (15U)
  24197. /*! TXFLUSH - Transmit FIFO Flush
  24198. * 0b0..No flush operation occurs.
  24199. * 0b1..All data in the transmit FIFO is cleared out.
  24200. */
  24201. #define LPUART_FIFO_TXFLUSH(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFLUSH_SHIFT)) & LPUART_FIFO_TXFLUSH_MASK)
  24202. #define LPUART_FIFO_RXUF_MASK (0x10000U)
  24203. #define LPUART_FIFO_RXUF_SHIFT (16U)
  24204. /*! RXUF - Receiver FIFO Underflow Flag
  24205. * 0b0..No receive FIFO underflow has occurred since the last time the flag was cleared.
  24206. * 0b1..At least one receive FIFO underflow has occurred since the last time the flag was cleared.
  24207. */
  24208. #define LPUART_FIFO_RXUF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXUF_SHIFT)) & LPUART_FIFO_RXUF_MASK)
  24209. #define LPUART_FIFO_TXOF_MASK (0x20000U)
  24210. #define LPUART_FIFO_TXOF_SHIFT (17U)
  24211. /*! TXOF - Transmitter FIFO Overflow Flag
  24212. * 0b0..No transmit FIFO overflow has occurred since the last time the flag was cleared.
  24213. * 0b1..At least one transmit FIFO overflow has occurred since the last time the flag was cleared.
  24214. */
  24215. #define LPUART_FIFO_TXOF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXOF_SHIFT)) & LPUART_FIFO_TXOF_MASK)
  24216. #define LPUART_FIFO_RXEMPT_MASK (0x400000U)
  24217. #define LPUART_FIFO_RXEMPT_SHIFT (22U)
  24218. /*! RXEMPT - Receive FIFO/Buffer Empty
  24219. * 0b0..Receive buffer is not empty.
  24220. * 0b1..Receive buffer is empty.
  24221. */
  24222. #define LPUART_FIFO_RXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXEMPT_SHIFT)) & LPUART_FIFO_RXEMPT_MASK)
  24223. #define LPUART_FIFO_TXEMPT_MASK (0x800000U)
  24224. #define LPUART_FIFO_TXEMPT_SHIFT (23U)
  24225. /*! TXEMPT - Transmit FIFO/Buffer Empty
  24226. * 0b0..Transmit buffer is not empty.
  24227. * 0b1..Transmit buffer is empty.
  24228. */
  24229. #define LPUART_FIFO_TXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXEMPT_SHIFT)) & LPUART_FIFO_TXEMPT_MASK)
  24230. /*! @} */
  24231. /*! @name WATER - LPUART Watermark Register */
  24232. /*! @{ */
  24233. #define LPUART_WATER_TXWATER_MASK (0x3U)
  24234. #define LPUART_WATER_TXWATER_SHIFT (0U)
  24235. /*! TXWATER - Transmit Watermark
  24236. */
  24237. #define LPUART_WATER_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_TXWATER_SHIFT)) & LPUART_WATER_TXWATER_MASK)
  24238. #define LPUART_WATER_TXCOUNT_MASK (0x700U)
  24239. #define LPUART_WATER_TXCOUNT_SHIFT (8U)
  24240. /*! TXCOUNT - Transmit Counter
  24241. */
  24242. #define LPUART_WATER_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_TXCOUNT_SHIFT)) & LPUART_WATER_TXCOUNT_MASK)
  24243. #define LPUART_WATER_RXWATER_MASK (0x30000U)
  24244. #define LPUART_WATER_RXWATER_SHIFT (16U)
  24245. /*! RXWATER - Receive Watermark
  24246. */
  24247. #define LPUART_WATER_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_RXWATER_SHIFT)) & LPUART_WATER_RXWATER_MASK)
  24248. #define LPUART_WATER_RXCOUNT_MASK (0x7000000U)
  24249. #define LPUART_WATER_RXCOUNT_SHIFT (24U)
  24250. /*! RXCOUNT - Receive Counter
  24251. */
  24252. #define LPUART_WATER_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_RXCOUNT_SHIFT)) & LPUART_WATER_RXCOUNT_MASK)
  24253. /*! @} */
  24254. /*!
  24255. * @}
  24256. */ /* end of group LPUART_Register_Masks */
  24257. /* LPUART - Peripheral instance base addresses */
  24258. /** Peripheral LPUART1 base address */
  24259. #define LPUART1_BASE (0x40184000u)
  24260. /** Peripheral LPUART1 base pointer */
  24261. #define LPUART1 ((LPUART_Type *)LPUART1_BASE)
  24262. /** Peripheral LPUART2 base address */
  24263. #define LPUART2_BASE (0x40188000u)
  24264. /** Peripheral LPUART2 base pointer */
  24265. #define LPUART2 ((LPUART_Type *)LPUART2_BASE)
  24266. /** Peripheral LPUART3 base address */
  24267. #define LPUART3_BASE (0x4018C000u)
  24268. /** Peripheral LPUART3 base pointer */
  24269. #define LPUART3 ((LPUART_Type *)LPUART3_BASE)
  24270. /** Peripheral LPUART4 base address */
  24271. #define LPUART4_BASE (0x40190000u)
  24272. /** Peripheral LPUART4 base pointer */
  24273. #define LPUART4 ((LPUART_Type *)LPUART4_BASE)
  24274. /** Peripheral LPUART5 base address */
  24275. #define LPUART5_BASE (0x40194000u)
  24276. /** Peripheral LPUART5 base pointer */
  24277. #define LPUART5 ((LPUART_Type *)LPUART5_BASE)
  24278. /** Peripheral LPUART6 base address */
  24279. #define LPUART6_BASE (0x40198000u)
  24280. /** Peripheral LPUART6 base pointer */
  24281. #define LPUART6 ((LPUART_Type *)LPUART6_BASE)
  24282. /** Peripheral LPUART7 base address */
  24283. #define LPUART7_BASE (0x4019C000u)
  24284. /** Peripheral LPUART7 base pointer */
  24285. #define LPUART7 ((LPUART_Type *)LPUART7_BASE)
  24286. /** Peripheral LPUART8 base address */
  24287. #define LPUART8_BASE (0x401A0000u)
  24288. /** Peripheral LPUART8 base pointer */
  24289. #define LPUART8 ((LPUART_Type *)LPUART8_BASE)
  24290. /** Array initializer of LPUART peripheral base addresses */
  24291. #define LPUART_BASE_ADDRS { 0u, LPUART1_BASE, LPUART2_BASE, LPUART3_BASE, LPUART4_BASE, LPUART5_BASE, LPUART6_BASE, LPUART7_BASE, LPUART8_BASE }
  24292. /** Array initializer of LPUART peripheral base pointers */
  24293. #define LPUART_BASE_PTRS { (LPUART_Type *)0u, LPUART1, LPUART2, LPUART3, LPUART4, LPUART5, LPUART6, LPUART7, LPUART8 }
  24294. /** Interrupt vectors for the LPUART peripheral type */
  24295. #define LPUART_RX_TX_IRQS { NotAvail_IRQn, LPUART1_IRQn, LPUART2_IRQn, LPUART3_IRQn, LPUART4_IRQn, LPUART5_IRQn, LPUART6_IRQn, LPUART7_IRQn, LPUART8_IRQn }
  24296. /*!
  24297. * @}
  24298. */ /* end of group LPUART_Peripheral_Access_Layer */
  24299. /* ----------------------------------------------------------------------------
  24300. -- OCOTP Peripheral Access Layer
  24301. ---------------------------------------------------------------------------- */
  24302. /*!
  24303. * @addtogroup OCOTP_Peripheral_Access_Layer OCOTP Peripheral Access Layer
  24304. * @{
  24305. */
  24306. /** OCOTP - Register Layout Typedef */
  24307. typedef struct {
  24308. __IO uint32_t CTRL; /**< OTP Controller Control and Status Register, offset: 0x0 */
  24309. __IO uint32_t CTRL_SET; /**< OTP Controller Control and Status Register, offset: 0x4 */
  24310. __IO uint32_t CTRL_CLR; /**< OTP Controller Control and Status Register, offset: 0x8 */
  24311. __IO uint32_t CTRL_TOG; /**< OTP Controller Control and Status Register, offset: 0xC */
  24312. __IO uint32_t TIMING; /**< OTP Controller Timing Register, offset: 0x10 */
  24313. uint8_t RESERVED_0[12];
  24314. __IO uint32_t DATA; /**< OTP Controller Write Data Register, offset: 0x20 */
  24315. uint8_t RESERVED_1[12];
  24316. __IO uint32_t READ_CTRL; /**< OTP Controller Write Data Register, offset: 0x30 */
  24317. uint8_t RESERVED_2[12];
  24318. __IO uint32_t READ_FUSE_DATA; /**< OTP Controller Read Data Register, offset: 0x40 */
  24319. uint8_t RESERVED_3[12];
  24320. __IO uint32_t SW_STICKY; /**< Sticky bit Register, offset: 0x50 */
  24321. uint8_t RESERVED_4[12];
  24322. __IO uint32_t SCS; /**< Software Controllable Signals Register, offset: 0x60 */
  24323. __IO uint32_t SCS_SET; /**< Software Controllable Signals Register, offset: 0x64 */
  24324. __IO uint32_t SCS_CLR; /**< Software Controllable Signals Register, offset: 0x68 */
  24325. __IO uint32_t SCS_TOG; /**< Software Controllable Signals Register, offset: 0x6C */
  24326. uint8_t RESERVED_5[32];
  24327. __I uint32_t VERSION; /**< OTP Controller Version Register, offset: 0x90 */
  24328. uint8_t RESERVED_6[108];
  24329. __IO uint32_t TIMING2; /**< OTP Controller Timing Register 2, offset: 0x100 */
  24330. uint8_t RESERVED_7[764];
  24331. __IO uint32_t LOCK; /**< Value of OTP Bank0 Word0 (Lock controls), offset: 0x400 */
  24332. uint8_t RESERVED_8[12];
  24333. __IO uint32_t CFG0; /**< Value of OTP Bank0 Word1 (Configuration and Manufacturing Info.), offset: 0x410 */
  24334. uint8_t RESERVED_9[12];
  24335. __IO uint32_t CFG1; /**< Value of OTP Bank0 Word2 (Configuration and Manufacturing Info.), offset: 0x420 */
  24336. uint8_t RESERVED_10[12];
  24337. __IO uint32_t CFG2; /**< Value of OTP Bank0 Word3 (Configuration and Manufacturing Info.), offset: 0x430 */
  24338. uint8_t RESERVED_11[12];
  24339. __IO uint32_t CFG3; /**< Value of OTP Bank0 Word4 (Configuration and Manufacturing Info.), offset: 0x440 */
  24340. uint8_t RESERVED_12[12];
  24341. __IO uint32_t CFG4; /**< Value of OTP Bank0 Word5 (Configuration and Manufacturing Info.), offset: 0x450 */
  24342. uint8_t RESERVED_13[12];
  24343. __IO uint32_t CFG5; /**< Value of OTP Bank0 Word6 (Configuration and Manufacturing Info.), offset: 0x460 */
  24344. uint8_t RESERVED_14[12];
  24345. __IO uint32_t CFG6; /**< Value of OTP Bank0 Word7 (Configuration and Manufacturing Info.), offset: 0x470 */
  24346. uint8_t RESERVED_15[12];
  24347. __IO uint32_t MEM0; /**< Value of OTP Bank1 Word0 (Memory Related Info.), offset: 0x480 */
  24348. uint8_t RESERVED_16[12];
  24349. __IO uint32_t MEM1; /**< Value of OTP Bank1 Word1 (Memory Related Info.), offset: 0x490 */
  24350. uint8_t RESERVED_17[12];
  24351. __IO uint32_t MEM2; /**< Value of OTP Bank1 Word2 (Memory Related Info.), offset: 0x4A0 */
  24352. uint8_t RESERVED_18[12];
  24353. __IO uint32_t MEM3; /**< Value of OTP Bank1 Word3 (Memory Related Info.), offset: 0x4B0 */
  24354. uint8_t RESERVED_19[12];
  24355. __IO uint32_t MEM4; /**< Value of OTP Bank 1 Word 4 (Memory Related Info.), offset: 0x4C0 */
  24356. uint8_t RESERVED_20[12];
  24357. __IO uint32_t ANA0; /**< Value of OTP Bank 1 Word 5 (Analog Info.), offset: 0x4D0 */
  24358. uint8_t RESERVED_21[12];
  24359. __IO uint32_t ANA1; /**< Value of OTP Bank 1 Word 6 (Analog Info.), offset: 0x4E0 */
  24360. uint8_t RESERVED_22[12];
  24361. __IO uint32_t ANA2; /**< Value of OTP Bank 1 Word 7 (Analog Info.), offset: 0x4F0 */
  24362. uint8_t RESERVED_23[140];
  24363. __IO uint32_t SRK0; /**< Shadow Register for OTP Bank3 Word0 (SRK Hash), offset: 0x580 */
  24364. uint8_t RESERVED_24[12];
  24365. __IO uint32_t SRK1; /**< Shadow Register for OTP Bank3 Word1 (SRK Hash), offset: 0x590 */
  24366. uint8_t RESERVED_25[12];
  24367. __IO uint32_t SRK2; /**< Shadow Register for OTP Bank3 Word2 (SRK Hash), offset: 0x5A0 */
  24368. uint8_t RESERVED_26[12];
  24369. __IO uint32_t SRK3; /**< Shadow Register for OTP Bank3 Word3 (SRK Hash), offset: 0x5B0 */
  24370. uint8_t RESERVED_27[12];
  24371. __IO uint32_t SRK4; /**< Shadow Register for OTP Bank3 Word4 (SRK Hash), offset: 0x5C0 */
  24372. uint8_t RESERVED_28[12];
  24373. __IO uint32_t SRK5; /**< Shadow Register for OTP Bank3 Word5 (SRK Hash), offset: 0x5D0 */
  24374. uint8_t RESERVED_29[12];
  24375. __IO uint32_t SRK6; /**< Shadow Register for OTP Bank3 Word6 (SRK Hash), offset: 0x5E0 */
  24376. uint8_t RESERVED_30[12];
  24377. __IO uint32_t SRK7; /**< Shadow Register for OTP Bank3 Word7 (SRK Hash), offset: 0x5F0 */
  24378. uint8_t RESERVED_31[12];
  24379. __IO uint32_t SJC_RESP0; /**< Value of OTP Bank4 Word0 (Secure JTAG Response Field), offset: 0x600 */
  24380. uint8_t RESERVED_32[12];
  24381. __IO uint32_t SJC_RESP1; /**< Value of OTP Bank4 Word1 (Secure JTAG Response Field), offset: 0x610 */
  24382. uint8_t RESERVED_33[12];
  24383. __IO uint32_t MAC0; /**< Value of OTP Bank4 Word2 (MAC Address), offset: 0x620 */
  24384. uint8_t RESERVED_34[12];
  24385. __IO uint32_t MAC1; /**< Value of OTP Bank4 Word3 (MAC Address), offset: 0x630 */
  24386. uint8_t RESERVED_35[12];
  24387. __IO uint32_t GP3; /**< Value of OTP Bank4 Word4 (MAC Address), offset: 0x640 */
  24388. uint8_t RESERVED_36[28];
  24389. __IO uint32_t GP1; /**< Value of OTP Bank4 Word6 (General Purpose Customer Defined Info), offset: 0x660 */
  24390. uint8_t RESERVED_37[12];
  24391. __IO uint32_t GP2; /**< Value of OTP Bank4 Word7 (General Purpose Customer Defined Info), offset: 0x670 */
  24392. uint8_t RESERVED_38[12];
  24393. __IO uint32_t SW_GP1; /**< Value of OTP Bank5 Word0 (SW GP1), offset: 0x680 */
  24394. uint8_t RESERVED_39[12];
  24395. __IO uint32_t SW_GP20; /**< Value of OTP Bank5 Word1 (SW GP2), offset: 0x690 */
  24396. uint8_t RESERVED_40[12];
  24397. __IO uint32_t SW_GP21; /**< Value of OTP Bank5 Word2 (SW GP2), offset: 0x6A0 */
  24398. uint8_t RESERVED_41[12];
  24399. __IO uint32_t SW_GP22; /**< Value of OTP Bank5 Word3 (SW GP2), offset: 0x6B0 */
  24400. uint8_t RESERVED_42[12];
  24401. __IO uint32_t SW_GP23; /**< Value of OTP Bank5 Word4 (SW GP2), offset: 0x6C0 */
  24402. uint8_t RESERVED_43[12];
  24403. __IO uint32_t MISC_CONF0; /**< Value of OTP Bank5 Word5 (Misc Conf), offset: 0x6D0 */
  24404. uint8_t RESERVED_44[12];
  24405. __IO uint32_t MISC_CONF1; /**< Value of OTP Bank5 Word6 (Misc Conf), offset: 0x6E0 */
  24406. uint8_t RESERVED_45[12];
  24407. __IO uint32_t SRK_REVOKE; /**< Value of OTP Bank5 Word7 (SRK Revoke), offset: 0x6F0 */
  24408. } OCOTP_Type;
  24409. /* ----------------------------------------------------------------------------
  24410. -- OCOTP Register Masks
  24411. ---------------------------------------------------------------------------- */
  24412. /*!
  24413. * @addtogroup OCOTP_Register_Masks OCOTP Register Masks
  24414. * @{
  24415. */
  24416. /*! @name CTRL - OTP Controller Control and Status Register */
  24417. /*! @{ */
  24418. #define OCOTP_CTRL_ADDR_MASK (0x3FU)
  24419. #define OCOTP_CTRL_ADDR_SHIFT (0U)
  24420. /*! ADDR - OTP write and read access address register
  24421. */
  24422. #define OCOTP_CTRL_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_ADDR_SHIFT)) & OCOTP_CTRL_ADDR_MASK)
  24423. #define OCOTP_CTRL_BUSY_MASK (0x100U)
  24424. #define OCOTP_CTRL_BUSY_SHIFT (8U)
  24425. /*! BUSY - OTP controller status bit
  24426. * 0b0..No write or read access to OTP started.
  24427. * 0b1..Write or read access to OTP started.
  24428. */
  24429. #define OCOTP_CTRL_BUSY(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_BUSY_SHIFT)) & OCOTP_CTRL_BUSY_MASK)
  24430. #define OCOTP_CTRL_ERROR_MASK (0x200U)
  24431. #define OCOTP_CTRL_ERROR_SHIFT (9U)
  24432. /*! ERROR - Locked Region Access Error
  24433. * 0b0..No error.
  24434. * 0b1..Error - access to a locked region requested.
  24435. */
  24436. #define OCOTP_CTRL_ERROR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_ERROR_SHIFT)) & OCOTP_CTRL_ERROR_MASK)
  24437. #define OCOTP_CTRL_RELOAD_SHADOWS_MASK (0x400U)
  24438. #define OCOTP_CTRL_RELOAD_SHADOWS_SHIFT (10U)
  24439. /*! RELOAD_SHADOWS - Reload Shadow Registers
  24440. * 0b0..Do not force shadow register re-load.
  24441. * 0b1..Force shadow register re-load. This bit is cleared automatically after shadow registers are re-loaded.
  24442. */
  24443. #define OCOTP_CTRL_RELOAD_SHADOWS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_RELOAD_SHADOWS_SHIFT)) & OCOTP_CTRL_RELOAD_SHADOWS_MASK)
  24444. #define OCOTP_CTRL_WR_UNLOCK_MASK (0xFFFF0000U)
  24445. #define OCOTP_CTRL_WR_UNLOCK_SHIFT (16U)
  24446. /*! WR_UNLOCK - Write Unlock
  24447. * 0b0000000000000000..OTP write access is locked.
  24448. * 0b0011111001110111..OTP write access is unlocked.
  24449. */
  24450. #define OCOTP_CTRL_WR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_WR_UNLOCK_SHIFT)) & OCOTP_CTRL_WR_UNLOCK_MASK)
  24451. /*! @} */
  24452. /*! @name CTRL_SET - OTP Controller Control and Status Register */
  24453. /*! @{ */
  24454. #define OCOTP_CTRL_SET_ADDR_MASK (0x3FU)
  24455. #define OCOTP_CTRL_SET_ADDR_SHIFT (0U)
  24456. /*! ADDR - OTP write and read access address register
  24457. */
  24458. #define OCOTP_CTRL_SET_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_ADDR_SHIFT)) & OCOTP_CTRL_SET_ADDR_MASK)
  24459. #define OCOTP_CTRL_SET_BUSY_MASK (0x100U)
  24460. #define OCOTP_CTRL_SET_BUSY_SHIFT (8U)
  24461. /*! BUSY - OTP controller status bit
  24462. */
  24463. #define OCOTP_CTRL_SET_BUSY(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_BUSY_SHIFT)) & OCOTP_CTRL_SET_BUSY_MASK)
  24464. #define OCOTP_CTRL_SET_ERROR_MASK (0x200U)
  24465. #define OCOTP_CTRL_SET_ERROR_SHIFT (9U)
  24466. /*! ERROR - Locked Region Access Error
  24467. */
  24468. #define OCOTP_CTRL_SET_ERROR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_ERROR_SHIFT)) & OCOTP_CTRL_SET_ERROR_MASK)
  24469. #define OCOTP_CTRL_SET_RELOAD_SHADOWS_MASK (0x400U)
  24470. #define OCOTP_CTRL_SET_RELOAD_SHADOWS_SHIFT (10U)
  24471. /*! RELOAD_SHADOWS - Reload Shadow Registers
  24472. */
  24473. #define OCOTP_CTRL_SET_RELOAD_SHADOWS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_RELOAD_SHADOWS_SHIFT)) & OCOTP_CTRL_SET_RELOAD_SHADOWS_MASK)
  24474. #define OCOTP_CTRL_SET_WR_UNLOCK_MASK (0xFFFF0000U)
  24475. #define OCOTP_CTRL_SET_WR_UNLOCK_SHIFT (16U)
  24476. /*! WR_UNLOCK - Write Unlock
  24477. */
  24478. #define OCOTP_CTRL_SET_WR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_WR_UNLOCK_SHIFT)) & OCOTP_CTRL_SET_WR_UNLOCK_MASK)
  24479. /*! @} */
  24480. /*! @name CTRL_CLR - OTP Controller Control and Status Register */
  24481. /*! @{ */
  24482. #define OCOTP_CTRL_CLR_ADDR_MASK (0x3FU)
  24483. #define OCOTP_CTRL_CLR_ADDR_SHIFT (0U)
  24484. /*! ADDR - OTP write and read access address register
  24485. */
  24486. #define OCOTP_CTRL_CLR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_ADDR_SHIFT)) & OCOTP_CTRL_CLR_ADDR_MASK)
  24487. #define OCOTP_CTRL_CLR_BUSY_MASK (0x100U)
  24488. #define OCOTP_CTRL_CLR_BUSY_SHIFT (8U)
  24489. /*! BUSY - OTP controller status bit
  24490. */
  24491. #define OCOTP_CTRL_CLR_BUSY(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_BUSY_SHIFT)) & OCOTP_CTRL_CLR_BUSY_MASK)
  24492. #define OCOTP_CTRL_CLR_ERROR_MASK (0x200U)
  24493. #define OCOTP_CTRL_CLR_ERROR_SHIFT (9U)
  24494. /*! ERROR - Locked Region Access Error
  24495. */
  24496. #define OCOTP_CTRL_CLR_ERROR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_ERROR_SHIFT)) & OCOTP_CTRL_CLR_ERROR_MASK)
  24497. #define OCOTP_CTRL_CLR_RELOAD_SHADOWS_MASK (0x400U)
  24498. #define OCOTP_CTRL_CLR_RELOAD_SHADOWS_SHIFT (10U)
  24499. /*! RELOAD_SHADOWS - Reload Shadow Registers
  24500. */
  24501. #define OCOTP_CTRL_CLR_RELOAD_SHADOWS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_RELOAD_SHADOWS_SHIFT)) & OCOTP_CTRL_CLR_RELOAD_SHADOWS_MASK)
  24502. #define OCOTP_CTRL_CLR_WR_UNLOCK_MASK (0xFFFF0000U)
  24503. #define OCOTP_CTRL_CLR_WR_UNLOCK_SHIFT (16U)
  24504. /*! WR_UNLOCK - Write Unlock
  24505. */
  24506. #define OCOTP_CTRL_CLR_WR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_WR_UNLOCK_SHIFT)) & OCOTP_CTRL_CLR_WR_UNLOCK_MASK)
  24507. /*! @} */
  24508. /*! @name CTRL_TOG - OTP Controller Control and Status Register */
  24509. /*! @{ */
  24510. #define OCOTP_CTRL_TOG_ADDR_MASK (0x3FU)
  24511. #define OCOTP_CTRL_TOG_ADDR_SHIFT (0U)
  24512. /*! ADDR - OTP write and read access address register
  24513. */
  24514. #define OCOTP_CTRL_TOG_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_ADDR_SHIFT)) & OCOTP_CTRL_TOG_ADDR_MASK)
  24515. #define OCOTP_CTRL_TOG_BUSY_MASK (0x100U)
  24516. #define OCOTP_CTRL_TOG_BUSY_SHIFT (8U)
  24517. /*! BUSY - OTP controller status bit
  24518. */
  24519. #define OCOTP_CTRL_TOG_BUSY(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_BUSY_SHIFT)) & OCOTP_CTRL_TOG_BUSY_MASK)
  24520. #define OCOTP_CTRL_TOG_ERROR_MASK (0x200U)
  24521. #define OCOTP_CTRL_TOG_ERROR_SHIFT (9U)
  24522. /*! ERROR - Locked Region Access Error
  24523. */
  24524. #define OCOTP_CTRL_TOG_ERROR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_ERROR_SHIFT)) & OCOTP_CTRL_TOG_ERROR_MASK)
  24525. #define OCOTP_CTRL_TOG_RELOAD_SHADOWS_MASK (0x400U)
  24526. #define OCOTP_CTRL_TOG_RELOAD_SHADOWS_SHIFT (10U)
  24527. /*! RELOAD_SHADOWS - Reload Shadow Registers
  24528. */
  24529. #define OCOTP_CTRL_TOG_RELOAD_SHADOWS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_RELOAD_SHADOWS_SHIFT)) & OCOTP_CTRL_TOG_RELOAD_SHADOWS_MASK)
  24530. #define OCOTP_CTRL_TOG_WR_UNLOCK_MASK (0xFFFF0000U)
  24531. #define OCOTP_CTRL_TOG_WR_UNLOCK_SHIFT (16U)
  24532. /*! WR_UNLOCK - Write Unlock
  24533. */
  24534. #define OCOTP_CTRL_TOG_WR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_WR_UNLOCK_SHIFT)) & OCOTP_CTRL_TOG_WR_UNLOCK_MASK)
  24535. /*! @} */
  24536. /*! @name TIMING - OTP Controller Timing Register */
  24537. /*! @{ */
  24538. #define OCOTP_TIMING_STROBE_PROG_MASK (0xFFFU)
  24539. #define OCOTP_TIMING_STROBE_PROG_SHIFT (0U)
  24540. /*! STROBE_PROG - Write Strobe Period
  24541. */
  24542. #define OCOTP_TIMING_STROBE_PROG(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_TIMING_STROBE_PROG_SHIFT)) & OCOTP_TIMING_STROBE_PROG_MASK)
  24543. #define OCOTP_TIMING_RELAX_MASK (0xF000U)
  24544. #define OCOTP_TIMING_RELAX_SHIFT (12U)
  24545. /*! RELAX - Relax Count Value
  24546. */
  24547. #define OCOTP_TIMING_RELAX(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_TIMING_RELAX_SHIFT)) & OCOTP_TIMING_RELAX_MASK)
  24548. #define OCOTP_TIMING_STROBE_READ_MASK (0x3F0000U)
  24549. #define OCOTP_TIMING_STROBE_READ_SHIFT (16U)
  24550. /*! STROBE_READ - Read Strobe Period
  24551. */
  24552. #define OCOTP_TIMING_STROBE_READ(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_TIMING_STROBE_READ_SHIFT)) & OCOTP_TIMING_STROBE_READ_MASK)
  24553. #define OCOTP_TIMING_WAIT_MASK (0xFC00000U)
  24554. #define OCOTP_TIMING_WAIT_SHIFT (22U)
  24555. /*! WAIT - Wait Interval
  24556. */
  24557. #define OCOTP_TIMING_WAIT(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_TIMING_WAIT_SHIFT)) & OCOTP_TIMING_WAIT_MASK)
  24558. /*! @} */
  24559. /*! @name DATA - OTP Controller Write Data Register */
  24560. /*! @{ */
  24561. #define OCOTP_DATA_DATA_MASK (0xFFFFFFFFU)
  24562. #define OCOTP_DATA_DATA_SHIFT (0U)
  24563. /*! DATA - Data
  24564. */
  24565. #define OCOTP_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_DATA_DATA_SHIFT)) & OCOTP_DATA_DATA_MASK)
  24566. /*! @} */
  24567. /*! @name READ_CTRL - OTP Controller Write Data Register */
  24568. /*! @{ */
  24569. #define OCOTP_READ_CTRL_READ_FUSE_MASK (0x1U)
  24570. #define OCOTP_READ_CTRL_READ_FUSE_SHIFT (0U)
  24571. /*! READ_FUSE - Read Fuse
  24572. */
  24573. #define OCOTP_READ_CTRL_READ_FUSE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_READ_CTRL_READ_FUSE_SHIFT)) & OCOTP_READ_CTRL_READ_FUSE_MASK)
  24574. /*! @} */
  24575. /*! @name READ_FUSE_DATA - OTP Controller Read Data Register */
  24576. /*! @{ */
  24577. #define OCOTP_READ_FUSE_DATA_DATA_MASK (0xFFFFFFFFU)
  24578. #define OCOTP_READ_FUSE_DATA_DATA_SHIFT (0U)
  24579. /*! DATA - Data
  24580. */
  24581. #define OCOTP_READ_FUSE_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_READ_FUSE_DATA_DATA_SHIFT)) & OCOTP_READ_FUSE_DATA_DATA_MASK)
  24582. /*! @} */
  24583. /*! @name SW_STICKY - Sticky bit Register */
  24584. /*! @{ */
  24585. #define OCOTP_SW_STICKY_SRK_REVOKE_LOCK_MASK (0x2U)
  24586. #define OCOTP_SW_STICKY_SRK_REVOKE_LOCK_SHIFT (1U)
  24587. /*! SRK_REVOKE_LOCK - SRK Revoke Lock
  24588. * 0b0..The writing of this region's shadow register and OTP fuse word are not blocked.
  24589. * 0b1..The writing of this region's shadow register and OTP fuse word are blocked. Once this bit is set, it is always high unless a POR is issued.
  24590. */
  24591. #define OCOTP_SW_STICKY_SRK_REVOKE_LOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SW_STICKY_SRK_REVOKE_LOCK_SHIFT)) & OCOTP_SW_STICKY_SRK_REVOKE_LOCK_MASK)
  24592. #define OCOTP_SW_STICKY_FIELD_RETURN_LOCK_MASK (0x4U)
  24593. #define OCOTP_SW_STICKY_FIELD_RETURN_LOCK_SHIFT (2U)
  24594. /*! FIELD_RETURN_LOCK - Field Return Lock
  24595. * 0b0..Writing to this region's shadow register and OTP fuse word are not blocked.
  24596. * 0b1..Writing to this region's shadow register and OTP fuse word are blocked. Once this bit is set, it is always high unless a POR is issued.
  24597. */
  24598. #define OCOTP_SW_STICKY_FIELD_RETURN_LOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SW_STICKY_FIELD_RETURN_LOCK_SHIFT)) & OCOTP_SW_STICKY_FIELD_RETURN_LOCK_MASK)
  24599. /*! @} */
  24600. /*! @name SCS - Software Controllable Signals Register */
  24601. /*! @{ */
  24602. #define OCOTP_SCS_HAB_JDE_MASK (0x1U)
  24603. #define OCOTP_SCS_HAB_JDE_SHIFT (0U)
  24604. /*! HAB_JDE - HAB JTAG Debug Enable
  24605. * 0b0..JTAG debugging is not enabled by the HAB (it may still be enabled by other mechanisms).
  24606. * 0b1..JTAG debugging is enabled by the HAB (though this signal may be gated off).
  24607. */
  24608. #define OCOTP_SCS_HAB_JDE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_HAB_JDE_SHIFT)) & OCOTP_SCS_HAB_JDE_MASK)
  24609. #define OCOTP_SCS_SPARE_MASK (0x7FFFFFFEU)
  24610. #define OCOTP_SCS_SPARE_SHIFT (1U)
  24611. /*! SPARE - Spare
  24612. */
  24613. #define OCOTP_SCS_SPARE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_SPARE_SHIFT)) & OCOTP_SCS_SPARE_MASK)
  24614. #define OCOTP_SCS_LOCK_MASK (0x80000000U)
  24615. #define OCOTP_SCS_LOCK_SHIFT (31U)
  24616. /*! LOCK - Lock
  24617. * 0b0..Bits in this register are unlocked.
  24618. * 0b1..Bits in this register are locked. When set, all of the bits in this register are locked and can not be
  24619. * changed through SW programming. After this bit is set, it can only be cleared by a POR.
  24620. */
  24621. #define OCOTP_SCS_LOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_LOCK_SHIFT)) & OCOTP_SCS_LOCK_MASK)
  24622. /*! @} */
  24623. /*! @name SCS_SET - Software Controllable Signals Register */
  24624. /*! @{ */
  24625. #define OCOTP_SCS_SET_HAB_JDE_MASK (0x1U)
  24626. #define OCOTP_SCS_SET_HAB_JDE_SHIFT (0U)
  24627. /*! HAB_JDE - HAB JTAG Debug Enable
  24628. */
  24629. #define OCOTP_SCS_SET_HAB_JDE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_SET_HAB_JDE_SHIFT)) & OCOTP_SCS_SET_HAB_JDE_MASK)
  24630. #define OCOTP_SCS_SET_SPARE_MASK (0x7FFFFFFEU)
  24631. #define OCOTP_SCS_SET_SPARE_SHIFT (1U)
  24632. /*! SPARE - Spare
  24633. */
  24634. #define OCOTP_SCS_SET_SPARE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_SET_SPARE_SHIFT)) & OCOTP_SCS_SET_SPARE_MASK)
  24635. #define OCOTP_SCS_SET_LOCK_MASK (0x80000000U)
  24636. #define OCOTP_SCS_SET_LOCK_SHIFT (31U)
  24637. /*! LOCK - Lock
  24638. */
  24639. #define OCOTP_SCS_SET_LOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_SET_LOCK_SHIFT)) & OCOTP_SCS_SET_LOCK_MASK)
  24640. /*! @} */
  24641. /*! @name SCS_CLR - Software Controllable Signals Register */
  24642. /*! @{ */
  24643. #define OCOTP_SCS_CLR_HAB_JDE_MASK (0x1U)
  24644. #define OCOTP_SCS_CLR_HAB_JDE_SHIFT (0U)
  24645. /*! HAB_JDE - HAB JTAG Debug Enable
  24646. */
  24647. #define OCOTP_SCS_CLR_HAB_JDE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_CLR_HAB_JDE_SHIFT)) & OCOTP_SCS_CLR_HAB_JDE_MASK)
  24648. #define OCOTP_SCS_CLR_SPARE_MASK (0x7FFFFFFEU)
  24649. #define OCOTP_SCS_CLR_SPARE_SHIFT (1U)
  24650. /*! SPARE - Spare
  24651. */
  24652. #define OCOTP_SCS_CLR_SPARE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_CLR_SPARE_SHIFT)) & OCOTP_SCS_CLR_SPARE_MASK)
  24653. #define OCOTP_SCS_CLR_LOCK_MASK (0x80000000U)
  24654. #define OCOTP_SCS_CLR_LOCK_SHIFT (31U)
  24655. /*! LOCK - Lock
  24656. */
  24657. #define OCOTP_SCS_CLR_LOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_CLR_LOCK_SHIFT)) & OCOTP_SCS_CLR_LOCK_MASK)
  24658. /*! @} */
  24659. /*! @name SCS_TOG - Software Controllable Signals Register */
  24660. /*! @{ */
  24661. #define OCOTP_SCS_TOG_HAB_JDE_MASK (0x1U)
  24662. #define OCOTP_SCS_TOG_HAB_JDE_SHIFT (0U)
  24663. /*! HAB_JDE - HAB JTAG Debug Enable
  24664. */
  24665. #define OCOTP_SCS_TOG_HAB_JDE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_TOG_HAB_JDE_SHIFT)) & OCOTP_SCS_TOG_HAB_JDE_MASK)
  24666. #define OCOTP_SCS_TOG_SPARE_MASK (0x7FFFFFFEU)
  24667. #define OCOTP_SCS_TOG_SPARE_SHIFT (1U)
  24668. /*! SPARE - Spare
  24669. */
  24670. #define OCOTP_SCS_TOG_SPARE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_TOG_SPARE_SHIFT)) & OCOTP_SCS_TOG_SPARE_MASK)
  24671. #define OCOTP_SCS_TOG_LOCK_MASK (0x80000000U)
  24672. #define OCOTP_SCS_TOG_LOCK_SHIFT (31U)
  24673. /*! LOCK - Lock
  24674. */
  24675. #define OCOTP_SCS_TOG_LOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_TOG_LOCK_SHIFT)) & OCOTP_SCS_TOG_LOCK_MASK)
  24676. /*! @} */
  24677. /*! @name VERSION - OTP Controller Version Register */
  24678. /*! @{ */
  24679. #define OCOTP_VERSION_STEP_MASK (0xFFFFU)
  24680. #define OCOTP_VERSION_STEP_SHIFT (0U)
  24681. /*! STEP - RTL Version Steping
  24682. */
  24683. #define OCOTP_VERSION_STEP(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_VERSION_STEP_SHIFT)) & OCOTP_VERSION_STEP_MASK)
  24684. #define OCOTP_VERSION_MINOR_MASK (0xFF0000U)
  24685. #define OCOTP_VERSION_MINOR_SHIFT (16U)
  24686. /*! MINOR - Minor RTL Version
  24687. */
  24688. #define OCOTP_VERSION_MINOR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_VERSION_MINOR_SHIFT)) & OCOTP_VERSION_MINOR_MASK)
  24689. #define OCOTP_VERSION_MAJOR_MASK (0xFF000000U)
  24690. #define OCOTP_VERSION_MAJOR_SHIFT (24U)
  24691. /*! MAJOR - Major RTL Version
  24692. */
  24693. #define OCOTP_VERSION_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_VERSION_MAJOR_SHIFT)) & OCOTP_VERSION_MAJOR_MASK)
  24694. /*! @} */
  24695. /*! @name TIMING2 - OTP Controller Timing Register 2 */
  24696. /*! @{ */
  24697. #define OCOTP_TIMING2_RELAX_PROG_MASK (0xFFFU)
  24698. #define OCOTP_TIMING2_RELAX_PROG_SHIFT (0U)
  24699. /*! RELAX_PROG - Relax Prog. count value
  24700. */
  24701. #define OCOTP_TIMING2_RELAX_PROG(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_TIMING2_RELAX_PROG_SHIFT)) & OCOTP_TIMING2_RELAX_PROG_MASK)
  24702. #define OCOTP_TIMING2_RELAX_READ_MASK (0x3F0000U)
  24703. #define OCOTP_TIMING2_RELAX_READ_SHIFT (16U)
  24704. /*! RELAX_READ - Relax Read count value
  24705. */
  24706. #define OCOTP_TIMING2_RELAX_READ(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_TIMING2_RELAX_READ_SHIFT)) & OCOTP_TIMING2_RELAX_READ_MASK)
  24707. /*! @} */
  24708. /*! @name LOCK - Value of OTP Bank0 Word0 (Lock controls) */
  24709. /*! @{ */
  24710. #define OCOTP_LOCK_BOOT_CFG_MASK (0xCU)
  24711. #define OCOTP_LOCK_BOOT_CFG_SHIFT (2U)
  24712. /*! BOOT_CFG - BOOT_CFG Write Lock Status
  24713. */
  24714. #define OCOTP_LOCK_BOOT_CFG(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_BOOT_CFG_SHIFT)) & OCOTP_LOCK_BOOT_CFG_MASK)
  24715. #define OCOTP_LOCK_SJC_RESP_MASK (0x40U)
  24716. #define OCOTP_LOCK_SJC_RESP_SHIFT (6U)
  24717. /*! SJC_RESP - SJC_RESP Lock Status
  24718. * 0b0..The writing or reading of this region's shadow register and OTP fuse word are not blocked.
  24719. * 0b1..When set, the writing of this region's shadow register and OTP fuse word are blocked. The read of this
  24720. * region's shadow register and OTP fuse word are also blocked
  24721. */
  24722. #define OCOTP_LOCK_SJC_RESP(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_SJC_RESP_SHIFT)) & OCOTP_LOCK_SJC_RESP_MASK)
  24723. #define OCOTP_LOCK_MAC_ADDR_MASK (0x300U)
  24724. #define OCOTP_LOCK_MAC_ADDR_SHIFT (8U)
  24725. /*! MAC_ADDR - MAC_ADDR Write Lock Status
  24726. */
  24727. #define OCOTP_LOCK_MAC_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_MAC_ADDR_SHIFT)) & OCOTP_LOCK_MAC_ADDR_MASK)
  24728. #define OCOTP_LOCK_GP1_MASK (0xC00U)
  24729. #define OCOTP_LOCK_GP1_SHIFT (10U)
  24730. /*! GP1 - GP1 Write Lock Status
  24731. */
  24732. #define OCOTP_LOCK_GP1(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_GP1_SHIFT)) & OCOTP_LOCK_GP1_MASK)
  24733. #define OCOTP_LOCK_GP2_MASK (0x3000U)
  24734. #define OCOTP_LOCK_GP2_SHIFT (12U)
  24735. /*! GP2 - GP2 Write Lock Status
  24736. */
  24737. #define OCOTP_LOCK_GP2(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_GP2_SHIFT)) & OCOTP_LOCK_GP2_MASK)
  24738. #define OCOTP_LOCK_SW_GP1_MASK (0x10000U)
  24739. #define OCOTP_LOCK_SW_GP1_SHIFT (16U)
  24740. /*! SW_GP1 - SW_GP1 Write Lock Status
  24741. * 0b0..Writing of this region's shadow register and OTP fuse word are not blocked.
  24742. * 0b1..When set, the writing of this region's shadow register and OTP fuse word are blocked.
  24743. */
  24744. #define OCOTP_LOCK_SW_GP1(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_SW_GP1_SHIFT)) & OCOTP_LOCK_SW_GP1_MASK)
  24745. #define OCOTP_LOCK_ANALOG_MASK (0xC0000U)
  24746. #define OCOTP_LOCK_ANALOG_SHIFT (18U)
  24747. /*! ANALOG - ANALOG Write Lock Status
  24748. */
  24749. #define OCOTP_LOCK_ANALOG(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_ANALOG_SHIFT)) & OCOTP_LOCK_ANALOG_MASK)
  24750. #define OCOTP_LOCK_SW_GP2_LOCK_MASK (0x200000U)
  24751. #define OCOTP_LOCK_SW_GP2_LOCK_SHIFT (21U)
  24752. /*! SW_GP2_LOCK - SW_GP2 Write Lock Status
  24753. * 0b0..Writing of this region's shadow register and OTP fuse word are not blocked.
  24754. * 0b1..When set, the writing of this region's shadow register and OTP fuse word are blocked.
  24755. */
  24756. #define OCOTP_LOCK_SW_GP2_LOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_SW_GP2_LOCK_SHIFT)) & OCOTP_LOCK_SW_GP2_LOCK_MASK)
  24757. #define OCOTP_LOCK_MISC_CONF_MASK (0x400000U)
  24758. #define OCOTP_LOCK_MISC_CONF_SHIFT (22U)
  24759. /*! MISC_CONF - MISC_CONF Write Lock Status
  24760. * 0b0..Writing of this region's shadow register and OTP fuse word are not blocked.
  24761. * 0b1..When set, the writing of this region's shadow register and OTP fuse word are blocked.
  24762. */
  24763. #define OCOTP_LOCK_MISC_CONF(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_MISC_CONF_SHIFT)) & OCOTP_LOCK_MISC_CONF_MASK)
  24764. #define OCOTP_LOCK_SW_GP2_RLOCK_MASK (0x800000U)
  24765. #define OCOTP_LOCK_SW_GP2_RLOCK_SHIFT (23U)
  24766. /*! SW_GP2_RLOCK - SW_GP2 Read Lock Status
  24767. * 0b0..The reading of this region's shadow register and OTP fuse word are not blocked.
  24768. * 0b1..When set, the reading of this region's shadow register and OTP fuse word are blocked.
  24769. */
  24770. #define OCOTP_LOCK_SW_GP2_RLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_SW_GP2_RLOCK_SHIFT)) & OCOTP_LOCK_SW_GP2_RLOCK_MASK)
  24771. #define OCOTP_LOCK_GP3_MASK (0xC000000U)
  24772. #define OCOTP_LOCK_GP3_SHIFT (26U)
  24773. /*! GP3 - GP3 Write Lock Status
  24774. */
  24775. #define OCOTP_LOCK_GP3(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_GP3_SHIFT)) & OCOTP_LOCK_GP3_MASK)
  24776. #define OCOTP_LOCK_FIELD_RETURN_MASK (0x80000000U)
  24777. #define OCOTP_LOCK_FIELD_RETURN_SHIFT (31U)
  24778. /*! FIELD_RETURN - FIELD RETURN Status
  24779. * 0b0..The device is a functional part.
  24780. * 0b1..The device is a field returned part.
  24781. */
  24782. #define OCOTP_LOCK_FIELD_RETURN(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_FIELD_RETURN_SHIFT)) & OCOTP_LOCK_FIELD_RETURN_MASK)
  24783. /*! @} */
  24784. /*! @name CFG0 - Value of OTP Bank0 Word1 (Configuration and Manufacturing Info.) */
  24785. /*! @{ */
  24786. #define OCOTP_CFG0_BITS_MASK (0xFFFFFFFFU)
  24787. #define OCOTP_CFG0_BITS_SHIFT (0U)
  24788. /*! BITS - BITS
  24789. */
  24790. #define OCOTP_CFG0_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CFG0_BITS_SHIFT)) & OCOTP_CFG0_BITS_MASK)
  24791. /*! @} */
  24792. /*! @name CFG1 - Value of OTP Bank0 Word2 (Configuration and Manufacturing Info.) */
  24793. /*! @{ */
  24794. #define OCOTP_CFG1_BITS_MASK (0xFFFFFFFFU)
  24795. #define OCOTP_CFG1_BITS_SHIFT (0U)
  24796. /*! BITS - BITS
  24797. */
  24798. #define OCOTP_CFG1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CFG1_BITS_SHIFT)) & OCOTP_CFG1_BITS_MASK)
  24799. /*! @} */
  24800. /*! @name CFG2 - Value of OTP Bank0 Word3 (Configuration and Manufacturing Info.) */
  24801. /*! @{ */
  24802. #define OCOTP_CFG2_BITS_MASK (0xFFFFFFFFU)
  24803. #define OCOTP_CFG2_BITS_SHIFT (0U)
  24804. /*! BITS - BITS
  24805. */
  24806. #define OCOTP_CFG2_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CFG2_BITS_SHIFT)) & OCOTP_CFG2_BITS_MASK)
  24807. /*! @} */
  24808. /*! @name CFG3 - Value of OTP Bank0 Word4 (Configuration and Manufacturing Info.) */
  24809. /*! @{ */
  24810. #define OCOTP_CFG3_BITS_MASK (0xFFFFFFFFU)
  24811. #define OCOTP_CFG3_BITS_SHIFT (0U)
  24812. /*! BITS - BITS
  24813. */
  24814. #define OCOTP_CFG3_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CFG3_BITS_SHIFT)) & OCOTP_CFG3_BITS_MASK)
  24815. /*! @} */
  24816. /*! @name CFG4 - Value of OTP Bank0 Word5 (Configuration and Manufacturing Info.) */
  24817. /*! @{ */
  24818. #define OCOTP_CFG4_BITS_MASK (0xFFFFFFFFU)
  24819. #define OCOTP_CFG4_BITS_SHIFT (0U)
  24820. /*! BITS - BITS
  24821. */
  24822. #define OCOTP_CFG4_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CFG4_BITS_SHIFT)) & OCOTP_CFG4_BITS_MASK)
  24823. /*! @} */
  24824. /*! @name CFG5 - Value of OTP Bank0 Word6 (Configuration and Manufacturing Info.) */
  24825. /*! @{ */
  24826. #define OCOTP_CFG5_BITS_MASK (0xFFFFFFFFU)
  24827. #define OCOTP_CFG5_BITS_SHIFT (0U)
  24828. /*! BITS - BITS
  24829. */
  24830. #define OCOTP_CFG5_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CFG5_BITS_SHIFT)) & OCOTP_CFG5_BITS_MASK)
  24831. /*! @} */
  24832. /*! @name CFG6 - Value of OTP Bank0 Word7 (Configuration and Manufacturing Info.) */
  24833. /*! @{ */
  24834. #define OCOTP_CFG6_BITS_MASK (0xFFFFFFFFU)
  24835. #define OCOTP_CFG6_BITS_SHIFT (0U)
  24836. /*! BITS - BITS
  24837. */
  24838. #define OCOTP_CFG6_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CFG6_BITS_SHIFT)) & OCOTP_CFG6_BITS_MASK)
  24839. /*! @} */
  24840. /*! @name MEM0 - Value of OTP Bank1 Word0 (Memory Related Info.) */
  24841. /*! @{ */
  24842. #define OCOTP_MEM0_BITS_MASK (0xFFFFFFFFU)
  24843. #define OCOTP_MEM0_BITS_SHIFT (0U)
  24844. /*! BITS - BITS
  24845. */
  24846. #define OCOTP_MEM0_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_MEM0_BITS_SHIFT)) & OCOTP_MEM0_BITS_MASK)
  24847. /*! @} */
  24848. /*! @name MEM1 - Value of OTP Bank1 Word1 (Memory Related Info.) */
  24849. /*! @{ */
  24850. #define OCOTP_MEM1_BITS_MASK (0xFFFFFFFFU)
  24851. #define OCOTP_MEM1_BITS_SHIFT (0U)
  24852. /*! BITS - BITS
  24853. */
  24854. #define OCOTP_MEM1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_MEM1_BITS_SHIFT)) & OCOTP_MEM1_BITS_MASK)
  24855. /*! @} */
  24856. /*! @name MEM2 - Value of OTP Bank1 Word2 (Memory Related Info.) */
  24857. /*! @{ */
  24858. #define OCOTP_MEM2_BITS_MASK (0xFFFFFFFFU)
  24859. #define OCOTP_MEM2_BITS_SHIFT (0U)
  24860. /*! BITS - BITS
  24861. */
  24862. #define OCOTP_MEM2_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_MEM2_BITS_SHIFT)) & OCOTP_MEM2_BITS_MASK)
  24863. /*! @} */
  24864. /*! @name MEM3 - Value of OTP Bank1 Word3 (Memory Related Info.) */
  24865. /*! @{ */
  24866. #define OCOTP_MEM3_BITS_MASK (0xFFFFFFFFU)
  24867. #define OCOTP_MEM3_BITS_SHIFT (0U)
  24868. /*! BITS - BITS
  24869. */
  24870. #define OCOTP_MEM3_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_MEM3_BITS_SHIFT)) & OCOTP_MEM3_BITS_MASK)
  24871. /*! @} */
  24872. /*! @name MEM4 - Value of OTP Bank 1 Word 4 (Memory Related Info.) */
  24873. /*! @{ */
  24874. #define OCOTP_MEM4_BITS_MASK (0xFFFFFFFFU)
  24875. #define OCOTP_MEM4_BITS_SHIFT (0U)
  24876. /*! BITS - BITS
  24877. */
  24878. #define OCOTP_MEM4_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_MEM4_BITS_SHIFT)) & OCOTP_MEM4_BITS_MASK)
  24879. /*! @} */
  24880. /*! @name ANA0 - Value of OTP Bank 1 Word 5 (Analog Info.) */
  24881. /*! @{ */
  24882. #define OCOTP_ANA0_BITS_MASK (0xFFFFFFFFU)
  24883. #define OCOTP_ANA0_BITS_SHIFT (0U)
  24884. /*! BITS - BITS
  24885. */
  24886. #define OCOTP_ANA0_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_ANA0_BITS_SHIFT)) & OCOTP_ANA0_BITS_MASK)
  24887. /*! @} */
  24888. /*! @name ANA1 - Value of OTP Bank 1 Word 6 (Analog Info.) */
  24889. /*! @{ */
  24890. #define OCOTP_ANA1_BITS_MASK (0xFFFFFFFFU)
  24891. #define OCOTP_ANA1_BITS_SHIFT (0U)
  24892. /*! BITS - BITS
  24893. */
  24894. #define OCOTP_ANA1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_ANA1_BITS_SHIFT)) & OCOTP_ANA1_BITS_MASK)
  24895. /*! @} */
  24896. /*! @name ANA2 - Value of OTP Bank 1 Word 7 (Analog Info.) */
  24897. /*! @{ */
  24898. #define OCOTP_ANA2_BITS_MASK (0xFFFFFFFFU)
  24899. #define OCOTP_ANA2_BITS_SHIFT (0U)
  24900. /*! BITS - BITS
  24901. */
  24902. #define OCOTP_ANA2_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_ANA2_BITS_SHIFT)) & OCOTP_ANA2_BITS_MASK)
  24903. /*! @} */
  24904. /*! @name SRK0 - Shadow Register for OTP Bank3 Word0 (SRK Hash) */
  24905. /*! @{ */
  24906. #define OCOTP_SRK0_BITS_MASK (0xFFFFFFFFU)
  24907. #define OCOTP_SRK0_BITS_SHIFT (0U)
  24908. /*! BITS - BITS
  24909. */
  24910. #define OCOTP_SRK0_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SRK0_BITS_SHIFT)) & OCOTP_SRK0_BITS_MASK)
  24911. /*! @} */
  24912. /*! @name SRK1 - Shadow Register for OTP Bank3 Word1 (SRK Hash) */
  24913. /*! @{ */
  24914. #define OCOTP_SRK1_BITS_MASK (0xFFFFFFFFU)
  24915. #define OCOTP_SRK1_BITS_SHIFT (0U)
  24916. /*! BITS - BITS
  24917. */
  24918. #define OCOTP_SRK1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SRK1_BITS_SHIFT)) & OCOTP_SRK1_BITS_MASK)
  24919. /*! @} */
  24920. /*! @name SRK2 - Shadow Register for OTP Bank3 Word2 (SRK Hash) */
  24921. /*! @{ */
  24922. #define OCOTP_SRK2_BITS_MASK (0xFFFFFFFFU)
  24923. #define OCOTP_SRK2_BITS_SHIFT (0U)
  24924. /*! BITS - BITS
  24925. */
  24926. #define OCOTP_SRK2_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SRK2_BITS_SHIFT)) & OCOTP_SRK2_BITS_MASK)
  24927. /*! @} */
  24928. /*! @name SRK3 - Shadow Register for OTP Bank3 Word3 (SRK Hash) */
  24929. /*! @{ */
  24930. #define OCOTP_SRK3_BITS_MASK (0xFFFFFFFFU)
  24931. #define OCOTP_SRK3_BITS_SHIFT (0U)
  24932. /*! BITS - BITS
  24933. */
  24934. #define OCOTP_SRK3_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SRK3_BITS_SHIFT)) & OCOTP_SRK3_BITS_MASK)
  24935. /*! @} */
  24936. /*! @name SRK4 - Shadow Register for OTP Bank3 Word4 (SRK Hash) */
  24937. /*! @{ */
  24938. #define OCOTP_SRK4_BITS_MASK (0xFFFFFFFFU)
  24939. #define OCOTP_SRK4_BITS_SHIFT (0U)
  24940. /*! BITS - BITS
  24941. */
  24942. #define OCOTP_SRK4_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SRK4_BITS_SHIFT)) & OCOTP_SRK4_BITS_MASK)
  24943. /*! @} */
  24944. /*! @name SRK5 - Shadow Register for OTP Bank3 Word5 (SRK Hash) */
  24945. /*! @{ */
  24946. #define OCOTP_SRK5_BITS_MASK (0xFFFFFFFFU)
  24947. #define OCOTP_SRK5_BITS_SHIFT (0U)
  24948. /*! BITS - BITS
  24949. */
  24950. #define OCOTP_SRK5_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SRK5_BITS_SHIFT)) & OCOTP_SRK5_BITS_MASK)
  24951. /*! @} */
  24952. /*! @name SRK6 - Shadow Register for OTP Bank3 Word6 (SRK Hash) */
  24953. /*! @{ */
  24954. #define OCOTP_SRK6_BITS_MASK (0xFFFFFFFFU)
  24955. #define OCOTP_SRK6_BITS_SHIFT (0U)
  24956. /*! BITS - BITS
  24957. */
  24958. #define OCOTP_SRK6_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SRK6_BITS_SHIFT)) & OCOTP_SRK6_BITS_MASK)
  24959. /*! @} */
  24960. /*! @name SRK7 - Shadow Register for OTP Bank3 Word7 (SRK Hash) */
  24961. /*! @{ */
  24962. #define OCOTP_SRK7_BITS_MASK (0xFFFFFFFFU)
  24963. #define OCOTP_SRK7_BITS_SHIFT (0U)
  24964. /*! BITS - BITS
  24965. */
  24966. #define OCOTP_SRK7_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SRK7_BITS_SHIFT)) & OCOTP_SRK7_BITS_MASK)
  24967. /*! @} */
  24968. /*! @name SJC_RESP0 - Value of OTP Bank4 Word0 (Secure JTAG Response Field) */
  24969. /*! @{ */
  24970. #define OCOTP_SJC_RESP0_BITS_MASK (0xFFFFFFFFU)
  24971. #define OCOTP_SJC_RESP0_BITS_SHIFT (0U)
  24972. /*! BITS - BITS
  24973. */
  24974. #define OCOTP_SJC_RESP0_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SJC_RESP0_BITS_SHIFT)) & OCOTP_SJC_RESP0_BITS_MASK)
  24975. /*! @} */
  24976. /*! @name SJC_RESP1 - Value of OTP Bank4 Word1 (Secure JTAG Response Field) */
  24977. /*! @{ */
  24978. #define OCOTP_SJC_RESP1_BITS_MASK (0xFFFFFFFFU)
  24979. #define OCOTP_SJC_RESP1_BITS_SHIFT (0U)
  24980. /*! BITS - BITS
  24981. */
  24982. #define OCOTP_SJC_RESP1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SJC_RESP1_BITS_SHIFT)) & OCOTP_SJC_RESP1_BITS_MASK)
  24983. /*! @} */
  24984. /*! @name MAC0 - Value of OTP Bank4 Word2 (MAC Address) */
  24985. /*! @{ */
  24986. #define OCOTP_MAC0_BITS_MASK (0xFFFFFFFFU)
  24987. #define OCOTP_MAC0_BITS_SHIFT (0U)
  24988. /*! BITS - BITS
  24989. */
  24990. #define OCOTP_MAC0_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_MAC0_BITS_SHIFT)) & OCOTP_MAC0_BITS_MASK)
  24991. /*! @} */
  24992. /*! @name MAC1 - Value of OTP Bank4 Word3 (MAC Address) */
  24993. /*! @{ */
  24994. #define OCOTP_MAC1_BITS_MASK (0xFFFFFFFFU)
  24995. #define OCOTP_MAC1_BITS_SHIFT (0U)
  24996. /*! BITS - BITS
  24997. */
  24998. #define OCOTP_MAC1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_MAC1_BITS_SHIFT)) & OCOTP_MAC1_BITS_MASK)
  24999. /*! @} */
  25000. /*! @name GP3 - Value of OTP Bank4 Word4 (MAC Address) */
  25001. /*! @{ */
  25002. #define OCOTP_GP3_BITS_MASK (0xFFFFFFFFU)
  25003. #define OCOTP_GP3_BITS_SHIFT (0U)
  25004. /*! BITS - BITS
  25005. */
  25006. #define OCOTP_GP3_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_GP3_BITS_SHIFT)) & OCOTP_GP3_BITS_MASK)
  25007. /*! @} */
  25008. /*! @name GP1 - Value of OTP Bank4 Word6 (General Purpose Customer Defined Info) */
  25009. /*! @{ */
  25010. #define OCOTP_GP1_BITS_MASK (0xFFFFFFFFU)
  25011. #define OCOTP_GP1_BITS_SHIFT (0U)
  25012. /*! BITS - BITS
  25013. */
  25014. #define OCOTP_GP1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_GP1_BITS_SHIFT)) & OCOTP_GP1_BITS_MASK)
  25015. /*! @} */
  25016. /*! @name GP2 - Value of OTP Bank4 Word7 (General Purpose Customer Defined Info) */
  25017. /*! @{ */
  25018. #define OCOTP_GP2_BITS_MASK (0xFFFFFFFFU)
  25019. #define OCOTP_GP2_BITS_SHIFT (0U)
  25020. /*! BITS - BITS
  25021. */
  25022. #define OCOTP_GP2_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_GP2_BITS_SHIFT)) & OCOTP_GP2_BITS_MASK)
  25023. /*! @} */
  25024. /*! @name SW_GP1 - Value of OTP Bank5 Word0 (SW GP1) */
  25025. /*! @{ */
  25026. #define OCOTP_SW_GP1_BITS_MASK (0xFFFFFFFFU)
  25027. #define OCOTP_SW_GP1_BITS_SHIFT (0U)
  25028. /*! BITS - BITS
  25029. */
  25030. #define OCOTP_SW_GP1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SW_GP1_BITS_SHIFT)) & OCOTP_SW_GP1_BITS_MASK)
  25031. /*! @} */
  25032. /*! @name SW_GP20 - Value of OTP Bank5 Word1 (SW GP2) */
  25033. /*! @{ */
  25034. #define OCOTP_SW_GP20_BITS_MASK (0xFFFFFFFFU)
  25035. #define OCOTP_SW_GP20_BITS_SHIFT (0U)
  25036. /*! BITS - BITS
  25037. */
  25038. #define OCOTP_SW_GP20_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SW_GP20_BITS_SHIFT)) & OCOTP_SW_GP20_BITS_MASK)
  25039. /*! @} */
  25040. /*! @name SW_GP21 - Value of OTP Bank5 Word2 (SW GP2) */
  25041. /*! @{ */
  25042. #define OCOTP_SW_GP21_BITS_MASK (0xFFFFFFFFU)
  25043. #define OCOTP_SW_GP21_BITS_SHIFT (0U)
  25044. /*! BITS - BITS
  25045. */
  25046. #define OCOTP_SW_GP21_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SW_GP21_BITS_SHIFT)) & OCOTP_SW_GP21_BITS_MASK)
  25047. /*! @} */
  25048. /*! @name SW_GP22 - Value of OTP Bank5 Word3 (SW GP2) */
  25049. /*! @{ */
  25050. #define OCOTP_SW_GP22_BITS_MASK (0xFFFFFFFFU)
  25051. #define OCOTP_SW_GP22_BITS_SHIFT (0U)
  25052. /*! BITS - BITS
  25053. */
  25054. #define OCOTP_SW_GP22_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SW_GP22_BITS_SHIFT)) & OCOTP_SW_GP22_BITS_MASK)
  25055. /*! @} */
  25056. /*! @name SW_GP23 - Value of OTP Bank5 Word4 (SW GP2) */
  25057. /*! @{ */
  25058. #define OCOTP_SW_GP23_BITS_MASK (0xFFFFFFFFU)
  25059. #define OCOTP_SW_GP23_BITS_SHIFT (0U)
  25060. /*! BITS - BITS
  25061. */
  25062. #define OCOTP_SW_GP23_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SW_GP23_BITS_SHIFT)) & OCOTP_SW_GP23_BITS_MASK)
  25063. /*! @} */
  25064. /*! @name MISC_CONF0 - Value of OTP Bank5 Word5 (Misc Conf) */
  25065. /*! @{ */
  25066. #define OCOTP_MISC_CONF0_BITS_MASK (0xFFFFFFFFU)
  25067. #define OCOTP_MISC_CONF0_BITS_SHIFT (0U)
  25068. /*! BITS - BITS
  25069. */
  25070. #define OCOTP_MISC_CONF0_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_MISC_CONF0_BITS_SHIFT)) & OCOTP_MISC_CONF0_BITS_MASK)
  25071. /*! @} */
  25072. /*! @name MISC_CONF1 - Value of OTP Bank5 Word6 (Misc Conf) */
  25073. /*! @{ */
  25074. #define OCOTP_MISC_CONF1_BITS_MASK (0xFFFFFFFFU)
  25075. #define OCOTP_MISC_CONF1_BITS_SHIFT (0U)
  25076. /*! BITS - BITS
  25077. */
  25078. #define OCOTP_MISC_CONF1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_MISC_CONF1_BITS_SHIFT)) & OCOTP_MISC_CONF1_BITS_MASK)
  25079. /*! @} */
  25080. /*! @name SRK_REVOKE - Value of OTP Bank5 Word7 (SRK Revoke) */
  25081. /*! @{ */
  25082. #define OCOTP_SRK_REVOKE_BITS_MASK (0xFFFFFFFFU)
  25083. #define OCOTP_SRK_REVOKE_BITS_SHIFT (0U)
  25084. /*! BITS - BITS
  25085. */
  25086. #define OCOTP_SRK_REVOKE_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SRK_REVOKE_BITS_SHIFT)) & OCOTP_SRK_REVOKE_BITS_MASK)
  25087. /*! @} */
  25088. /*!
  25089. * @}
  25090. */ /* end of group OCOTP_Register_Masks */
  25091. /* OCOTP - Peripheral instance base addresses */
  25092. /** Peripheral OCOTP base address */
  25093. #define OCOTP_BASE (0x401F4000u)
  25094. /** Peripheral OCOTP base pointer */
  25095. #define OCOTP ((OCOTP_Type *)OCOTP_BASE)
  25096. /** Array initializer of OCOTP peripheral base addresses */
  25097. #define OCOTP_BASE_ADDRS { OCOTP_BASE }
  25098. /** Array initializer of OCOTP peripheral base pointers */
  25099. #define OCOTP_BASE_PTRS { OCOTP }
  25100. /*!
  25101. * @}
  25102. */ /* end of group OCOTP_Peripheral_Access_Layer */
  25103. /* ----------------------------------------------------------------------------
  25104. -- PGC Peripheral Access Layer
  25105. ---------------------------------------------------------------------------- */
  25106. /*!
  25107. * @addtogroup PGC_Peripheral_Access_Layer PGC Peripheral Access Layer
  25108. * @{
  25109. */
  25110. /** PGC - Register Layout Typedef */
  25111. typedef struct {
  25112. uint8_t RESERVED_0[544];
  25113. __IO uint32_t MEGA_CTRL; /**< PGC Mega Control Register, offset: 0x220 */
  25114. __IO uint32_t MEGA_PUPSCR; /**< PGC Mega Power Up Sequence Control Register, offset: 0x224 */
  25115. __IO uint32_t MEGA_PDNSCR; /**< PGC Mega Pull Down Sequence Control Register, offset: 0x228 */
  25116. __IO uint32_t MEGA_SR; /**< PGC Mega Power Gating Controller Status Register, offset: 0x22C */
  25117. uint8_t RESERVED_1[112];
  25118. __IO uint32_t CPU_CTRL; /**< PGC CPU Control Register, offset: 0x2A0 */
  25119. __IO uint32_t CPU_PUPSCR; /**< PGC CPU Power Up Sequence Control Register, offset: 0x2A4 */
  25120. __IO uint32_t CPU_PDNSCR; /**< PGC CPU Pull Down Sequence Control Register, offset: 0x2A8 */
  25121. __IO uint32_t CPU_SR; /**< PGC CPU Power Gating Controller Status Register, offset: 0x2AC */
  25122. } PGC_Type;
  25123. /* ----------------------------------------------------------------------------
  25124. -- PGC Register Masks
  25125. ---------------------------------------------------------------------------- */
  25126. /*!
  25127. * @addtogroup PGC_Register_Masks PGC Register Masks
  25128. * @{
  25129. */
  25130. /*! @name MEGA_CTRL - PGC Mega Control Register */
  25131. /*! @{ */
  25132. #define PGC_MEGA_CTRL_PCR_MASK (0x1U)
  25133. #define PGC_MEGA_CTRL_PCR_SHIFT (0U)
  25134. /*! PCR
  25135. * 0b0..Do not switch off power even if pdn_req is asserted.
  25136. * 0b1..Switch off power when pdn_req is asserted.
  25137. */
  25138. #define PGC_MEGA_CTRL_PCR(x) (((uint32_t)(((uint32_t)(x)) << PGC_MEGA_CTRL_PCR_SHIFT)) & PGC_MEGA_CTRL_PCR_MASK)
  25139. /*! @} */
  25140. /*! @name MEGA_PUPSCR - PGC Mega Power Up Sequence Control Register */
  25141. /*! @{ */
  25142. #define PGC_MEGA_PUPSCR_SW_MASK (0x3FU)
  25143. #define PGC_MEGA_PUPSCR_SW_SHIFT (0U)
  25144. #define PGC_MEGA_PUPSCR_SW(x) (((uint32_t)(((uint32_t)(x)) << PGC_MEGA_PUPSCR_SW_SHIFT)) & PGC_MEGA_PUPSCR_SW_MASK)
  25145. #define PGC_MEGA_PUPSCR_SW2ISO_MASK (0x3F00U)
  25146. #define PGC_MEGA_PUPSCR_SW2ISO_SHIFT (8U)
  25147. #define PGC_MEGA_PUPSCR_SW2ISO(x) (((uint32_t)(((uint32_t)(x)) << PGC_MEGA_PUPSCR_SW2ISO_SHIFT)) & PGC_MEGA_PUPSCR_SW2ISO_MASK)
  25148. /*! @} */
  25149. /*! @name MEGA_PDNSCR - PGC Mega Pull Down Sequence Control Register */
  25150. /*! @{ */
  25151. #define PGC_MEGA_PDNSCR_ISO_MASK (0x3FU)
  25152. #define PGC_MEGA_PDNSCR_ISO_SHIFT (0U)
  25153. #define PGC_MEGA_PDNSCR_ISO(x) (((uint32_t)(((uint32_t)(x)) << PGC_MEGA_PDNSCR_ISO_SHIFT)) & PGC_MEGA_PDNSCR_ISO_MASK)
  25154. #define PGC_MEGA_PDNSCR_ISO2SW_MASK (0x3F00U)
  25155. #define PGC_MEGA_PDNSCR_ISO2SW_SHIFT (8U)
  25156. #define PGC_MEGA_PDNSCR_ISO2SW(x) (((uint32_t)(((uint32_t)(x)) << PGC_MEGA_PDNSCR_ISO2SW_SHIFT)) & PGC_MEGA_PDNSCR_ISO2SW_MASK)
  25157. /*! @} */
  25158. /*! @name MEGA_SR - PGC Mega Power Gating Controller Status Register */
  25159. /*! @{ */
  25160. #define PGC_MEGA_SR_PSR_MASK (0x1U)
  25161. #define PGC_MEGA_SR_PSR_SHIFT (0U)
  25162. /*! PSR
  25163. * 0b0..The target subsystem was not powered down for the previous power-down request.
  25164. * 0b1..The target subsystem was powered down for the previous power-down request.
  25165. */
  25166. #define PGC_MEGA_SR_PSR(x) (((uint32_t)(((uint32_t)(x)) << PGC_MEGA_SR_PSR_SHIFT)) & PGC_MEGA_SR_PSR_MASK)
  25167. /*! @} */
  25168. /*! @name CPU_CTRL - PGC CPU Control Register */
  25169. /*! @{ */
  25170. #define PGC_CPU_CTRL_PCR_MASK (0x1U)
  25171. #define PGC_CPU_CTRL_PCR_SHIFT (0U)
  25172. /*! PCR
  25173. * 0b0..Do not switch off power even if pdn_req is asserted.
  25174. * 0b1..Switch off power when pdn_req is asserted.
  25175. */
  25176. #define PGC_CPU_CTRL_PCR(x) (((uint32_t)(((uint32_t)(x)) << PGC_CPU_CTRL_PCR_SHIFT)) & PGC_CPU_CTRL_PCR_MASK)
  25177. /*! @} */
  25178. /*! @name CPU_PUPSCR - PGC CPU Power Up Sequence Control Register */
  25179. /*! @{ */
  25180. #define PGC_CPU_PUPSCR_SW_MASK (0x3FU)
  25181. #define PGC_CPU_PUPSCR_SW_SHIFT (0U)
  25182. #define PGC_CPU_PUPSCR_SW(x) (((uint32_t)(((uint32_t)(x)) << PGC_CPU_PUPSCR_SW_SHIFT)) & PGC_CPU_PUPSCR_SW_MASK)
  25183. #define PGC_CPU_PUPSCR_SW2ISO_MASK (0x3F00U)
  25184. #define PGC_CPU_PUPSCR_SW2ISO_SHIFT (8U)
  25185. #define PGC_CPU_PUPSCR_SW2ISO(x) (((uint32_t)(((uint32_t)(x)) << PGC_CPU_PUPSCR_SW2ISO_SHIFT)) & PGC_CPU_PUPSCR_SW2ISO_MASK)
  25186. /*! @} */
  25187. /*! @name CPU_PDNSCR - PGC CPU Pull Down Sequence Control Register */
  25188. /*! @{ */
  25189. #define PGC_CPU_PDNSCR_ISO_MASK (0x3FU)
  25190. #define PGC_CPU_PDNSCR_ISO_SHIFT (0U)
  25191. #define PGC_CPU_PDNSCR_ISO(x) (((uint32_t)(((uint32_t)(x)) << PGC_CPU_PDNSCR_ISO_SHIFT)) & PGC_CPU_PDNSCR_ISO_MASK)
  25192. #define PGC_CPU_PDNSCR_ISO2SW_MASK (0x3F00U)
  25193. #define PGC_CPU_PDNSCR_ISO2SW_SHIFT (8U)
  25194. #define PGC_CPU_PDNSCR_ISO2SW(x) (((uint32_t)(((uint32_t)(x)) << PGC_CPU_PDNSCR_ISO2SW_SHIFT)) & PGC_CPU_PDNSCR_ISO2SW_MASK)
  25195. /*! @} */
  25196. /*! @name CPU_SR - PGC CPU Power Gating Controller Status Register */
  25197. /*! @{ */
  25198. #define PGC_CPU_SR_PSR_MASK (0x1U)
  25199. #define PGC_CPU_SR_PSR_SHIFT (0U)
  25200. /*! PSR
  25201. * 0b0..The target subsystem was not powered down for the previous power-down request.
  25202. * 0b1..The target subsystem was powered down for the previous power-down request.
  25203. */
  25204. #define PGC_CPU_SR_PSR(x) (((uint32_t)(((uint32_t)(x)) << PGC_CPU_SR_PSR_SHIFT)) & PGC_CPU_SR_PSR_MASK)
  25205. /*! @} */
  25206. /*!
  25207. * @}
  25208. */ /* end of group PGC_Register_Masks */
  25209. /* PGC - Peripheral instance base addresses */
  25210. /** Peripheral PGC base address */
  25211. #define PGC_BASE (0x400F4000u)
  25212. /** Peripheral PGC base pointer */
  25213. #define PGC ((PGC_Type *)PGC_BASE)
  25214. /** Array initializer of PGC peripheral base addresses */
  25215. #define PGC_BASE_ADDRS { PGC_BASE }
  25216. /** Array initializer of PGC peripheral base pointers */
  25217. #define PGC_BASE_PTRS { PGC }
  25218. /*!
  25219. * @}
  25220. */ /* end of group PGC_Peripheral_Access_Layer */
  25221. /* ----------------------------------------------------------------------------
  25222. -- PIT Peripheral Access Layer
  25223. ---------------------------------------------------------------------------- */
  25224. /*!
  25225. * @addtogroup PIT_Peripheral_Access_Layer PIT Peripheral Access Layer
  25226. * @{
  25227. */
  25228. /** PIT - Register Layout Typedef */
  25229. typedef struct {
  25230. __IO uint32_t MCR; /**< PIT Module Control Register, offset: 0x0 */
  25231. uint8_t RESERVED_0[220];
  25232. __I uint32_t LTMR64H; /**< PIT Upper Lifetime Timer Register, offset: 0xE0 */
  25233. __I uint32_t LTMR64L; /**< PIT Lower Lifetime Timer Register, offset: 0xE4 */
  25234. uint8_t RESERVED_1[24];
  25235. struct { /* offset: 0x100, array step: 0x10 */
  25236. __IO uint32_t LDVAL; /**< Timer Load Value Register, array offset: 0x100, array step: 0x10 */
  25237. __I uint32_t CVAL; /**< Current Timer Value Register, array offset: 0x104, array step: 0x10 */
  25238. __IO uint32_t TCTRL; /**< Timer Control Register, array offset: 0x108, array step: 0x10 */
  25239. __IO uint32_t TFLG; /**< Timer Flag Register, array offset: 0x10C, array step: 0x10 */
  25240. } CHANNEL[4];
  25241. } PIT_Type;
  25242. /* ----------------------------------------------------------------------------
  25243. -- PIT Register Masks
  25244. ---------------------------------------------------------------------------- */
  25245. /*!
  25246. * @addtogroup PIT_Register_Masks PIT Register Masks
  25247. * @{
  25248. */
  25249. /*! @name MCR - PIT Module Control Register */
  25250. /*! @{ */
  25251. #define PIT_MCR_FRZ_MASK (0x1U)
  25252. #define PIT_MCR_FRZ_SHIFT (0U)
  25253. /*! FRZ - Freeze
  25254. * 0b0..Timers continue to run in Debug mode.
  25255. * 0b1..Timers are stopped in Debug mode.
  25256. */
  25257. #define PIT_MCR_FRZ(x) (((uint32_t)(((uint32_t)(x)) << PIT_MCR_FRZ_SHIFT)) & PIT_MCR_FRZ_MASK)
  25258. #define PIT_MCR_MDIS_MASK (0x2U)
  25259. #define PIT_MCR_MDIS_SHIFT (1U)
  25260. /*! MDIS - Module Disable for PIT
  25261. * 0b0..Clock for standard PIT timers is enabled.
  25262. * 0b1..Clock for standard PIT timers is disabled.
  25263. */
  25264. #define PIT_MCR_MDIS(x) (((uint32_t)(((uint32_t)(x)) << PIT_MCR_MDIS_SHIFT)) & PIT_MCR_MDIS_MASK)
  25265. /*! @} */
  25266. /*! @name LTMR64H - PIT Upper Lifetime Timer Register */
  25267. /*! @{ */
  25268. #define PIT_LTMR64H_LTH_MASK (0xFFFFFFFFU)
  25269. #define PIT_LTMR64H_LTH_SHIFT (0U)
  25270. /*! LTH - Life Timer value
  25271. */
  25272. #define PIT_LTMR64H_LTH(x) (((uint32_t)(((uint32_t)(x)) << PIT_LTMR64H_LTH_SHIFT)) & PIT_LTMR64H_LTH_MASK)
  25273. /*! @} */
  25274. /*! @name LTMR64L - PIT Lower Lifetime Timer Register */
  25275. /*! @{ */
  25276. #define PIT_LTMR64L_LTL_MASK (0xFFFFFFFFU)
  25277. #define PIT_LTMR64L_LTL_SHIFT (0U)
  25278. /*! LTL - Life Timer value
  25279. */
  25280. #define PIT_LTMR64L_LTL(x) (((uint32_t)(((uint32_t)(x)) << PIT_LTMR64L_LTL_SHIFT)) & PIT_LTMR64L_LTL_MASK)
  25281. /*! @} */
  25282. /*! @name LDVAL - Timer Load Value Register */
  25283. /*! @{ */
  25284. #define PIT_LDVAL_TSV_MASK (0xFFFFFFFFU)
  25285. #define PIT_LDVAL_TSV_SHIFT (0U)
  25286. /*! TSV - Timer Start Value
  25287. */
  25288. #define PIT_LDVAL_TSV(x) (((uint32_t)(((uint32_t)(x)) << PIT_LDVAL_TSV_SHIFT)) & PIT_LDVAL_TSV_MASK)
  25289. /*! @} */
  25290. /* The count of PIT_LDVAL */
  25291. #define PIT_LDVAL_COUNT (4U)
  25292. /*! @name CVAL - Current Timer Value Register */
  25293. /*! @{ */
  25294. #define PIT_CVAL_TVL_MASK (0xFFFFFFFFU)
  25295. #define PIT_CVAL_TVL_SHIFT (0U)
  25296. /*! TVL - Current Timer Value
  25297. */
  25298. #define PIT_CVAL_TVL(x) (((uint32_t)(((uint32_t)(x)) << PIT_CVAL_TVL_SHIFT)) & PIT_CVAL_TVL_MASK)
  25299. /*! @} */
  25300. /* The count of PIT_CVAL */
  25301. #define PIT_CVAL_COUNT (4U)
  25302. /*! @name TCTRL - Timer Control Register */
  25303. /*! @{ */
  25304. #define PIT_TCTRL_TEN_MASK (0x1U)
  25305. #define PIT_TCTRL_TEN_SHIFT (0U)
  25306. /*! TEN - Timer Enable
  25307. * 0b0..Timer n is disabled.
  25308. * 0b1..Timer n is enabled.
  25309. */
  25310. #define PIT_TCTRL_TEN(x) (((uint32_t)(((uint32_t)(x)) << PIT_TCTRL_TEN_SHIFT)) & PIT_TCTRL_TEN_MASK)
  25311. #define PIT_TCTRL_TIE_MASK (0x2U)
  25312. #define PIT_TCTRL_TIE_SHIFT (1U)
  25313. /*! TIE - Timer Interrupt Enable
  25314. * 0b0..Interrupt requests from Timer n are disabled.
  25315. * 0b1..Interrupt is requested whenever TIF is set.
  25316. */
  25317. #define PIT_TCTRL_TIE(x) (((uint32_t)(((uint32_t)(x)) << PIT_TCTRL_TIE_SHIFT)) & PIT_TCTRL_TIE_MASK)
  25318. #define PIT_TCTRL_CHN_MASK (0x4U)
  25319. #define PIT_TCTRL_CHN_SHIFT (2U)
  25320. /*! CHN - Chain Mode
  25321. * 0b0..Timer is not chained.
  25322. * 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.
  25323. */
  25324. #define PIT_TCTRL_CHN(x) (((uint32_t)(((uint32_t)(x)) << PIT_TCTRL_CHN_SHIFT)) & PIT_TCTRL_CHN_MASK)
  25325. /*! @} */
  25326. /* The count of PIT_TCTRL */
  25327. #define PIT_TCTRL_COUNT (4U)
  25328. /*! @name TFLG - Timer Flag Register */
  25329. /*! @{ */
  25330. #define PIT_TFLG_TIF_MASK (0x1U)
  25331. #define PIT_TFLG_TIF_SHIFT (0U)
  25332. /*! TIF - Timer Interrupt Flag
  25333. * 0b0..Timeout has not yet occurred.
  25334. * 0b1..Timeout has occurred.
  25335. */
  25336. #define PIT_TFLG_TIF(x) (((uint32_t)(((uint32_t)(x)) << PIT_TFLG_TIF_SHIFT)) & PIT_TFLG_TIF_MASK)
  25337. /*! @} */
  25338. /* The count of PIT_TFLG */
  25339. #define PIT_TFLG_COUNT (4U)
  25340. /*!
  25341. * @}
  25342. */ /* end of group PIT_Register_Masks */
  25343. /* PIT - Peripheral instance base addresses */
  25344. /** Peripheral PIT base address */
  25345. #define PIT_BASE (0x40084000u)
  25346. /** Peripheral PIT base pointer */
  25347. #define PIT ((PIT_Type *)PIT_BASE)
  25348. /** Array initializer of PIT peripheral base addresses */
  25349. #define PIT_BASE_ADDRS { PIT_BASE }
  25350. /** Array initializer of PIT peripheral base pointers */
  25351. #define PIT_BASE_PTRS { PIT }
  25352. /** Interrupt vectors for the PIT peripheral type */
  25353. #define PIT_IRQS { { PIT_IRQn, PIT_IRQn, PIT_IRQn, PIT_IRQn } }
  25354. /*!
  25355. * @}
  25356. */ /* end of group PIT_Peripheral_Access_Layer */
  25357. /* ----------------------------------------------------------------------------
  25358. -- PMU Peripheral Access Layer
  25359. ---------------------------------------------------------------------------- */
  25360. /*!
  25361. * @addtogroup PMU_Peripheral_Access_Layer PMU Peripheral Access Layer
  25362. * @{
  25363. */
  25364. /** PMU - Register Layout Typedef */
  25365. typedef struct {
  25366. uint8_t RESERVED_0[272];
  25367. __IO uint32_t REG_1P1; /**< Regulator 1P1 Register, offset: 0x110 */
  25368. __IO uint32_t REG_1P1_SET; /**< Regulator 1P1 Register, offset: 0x114 */
  25369. __IO uint32_t REG_1P1_CLR; /**< Regulator 1P1 Register, offset: 0x118 */
  25370. __IO uint32_t REG_1P1_TOG; /**< Regulator 1P1 Register, offset: 0x11C */
  25371. __IO uint32_t REG_3P0; /**< Regulator 3P0 Register, offset: 0x120 */
  25372. __IO uint32_t REG_3P0_SET; /**< Regulator 3P0 Register, offset: 0x124 */
  25373. __IO uint32_t REG_3P0_CLR; /**< Regulator 3P0 Register, offset: 0x128 */
  25374. __IO uint32_t REG_3P0_TOG; /**< Regulator 3P0 Register, offset: 0x12C */
  25375. __IO uint32_t REG_2P5; /**< Regulator 2P5 Register, offset: 0x130 */
  25376. __IO uint32_t REG_2P5_SET; /**< Regulator 2P5 Register, offset: 0x134 */
  25377. __IO uint32_t REG_2P5_CLR; /**< Regulator 2P5 Register, offset: 0x138 */
  25378. __IO uint32_t REG_2P5_TOG; /**< Regulator 2P5 Register, offset: 0x13C */
  25379. __IO uint32_t REG_CORE; /**< Digital Regulator Core Register, offset: 0x140 */
  25380. __IO uint32_t REG_CORE_SET; /**< Digital Regulator Core Register, offset: 0x144 */
  25381. __IO uint32_t REG_CORE_CLR; /**< Digital Regulator Core Register, offset: 0x148 */
  25382. __IO uint32_t REG_CORE_TOG; /**< Digital Regulator Core Register, offset: 0x14C */
  25383. __IO uint32_t MISC0; /**< Miscellaneous Register 0, offset: 0x150 */
  25384. __IO uint32_t MISC0_SET; /**< Miscellaneous Register 0, offset: 0x154 */
  25385. __IO uint32_t MISC0_CLR; /**< Miscellaneous Register 0, offset: 0x158 */
  25386. __IO uint32_t MISC0_TOG; /**< Miscellaneous Register 0, offset: 0x15C */
  25387. __IO uint32_t MISC1; /**< Miscellaneous Register 1, offset: 0x160 */
  25388. __IO uint32_t MISC1_SET; /**< Miscellaneous Register 1, offset: 0x164 */
  25389. __IO uint32_t MISC1_CLR; /**< Miscellaneous Register 1, offset: 0x168 */
  25390. __IO uint32_t MISC1_TOG; /**< Miscellaneous Register 1, offset: 0x16C */
  25391. __IO uint32_t MISC2; /**< Miscellaneous Control Register, offset: 0x170 */
  25392. __IO uint32_t MISC2_SET; /**< Miscellaneous Control Register, offset: 0x174 */
  25393. __IO uint32_t MISC2_CLR; /**< Miscellaneous Control Register, offset: 0x178 */
  25394. __IO uint32_t MISC2_TOG; /**< Miscellaneous Control Register, offset: 0x17C */
  25395. } PMU_Type;
  25396. /* ----------------------------------------------------------------------------
  25397. -- PMU Register Masks
  25398. ---------------------------------------------------------------------------- */
  25399. /*!
  25400. * @addtogroup PMU_Register_Masks PMU Register Masks
  25401. * @{
  25402. */
  25403. /*! @name REG_1P1 - Regulator 1P1 Register */
  25404. /*! @{ */
  25405. #define PMU_REG_1P1_ENABLE_LINREG_MASK (0x1U)
  25406. #define PMU_REG_1P1_ENABLE_LINREG_SHIFT (0U)
  25407. #define PMU_REG_1P1_ENABLE_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_ENABLE_LINREG_SHIFT)) & PMU_REG_1P1_ENABLE_LINREG_MASK)
  25408. #define PMU_REG_1P1_ENABLE_BO_MASK (0x2U)
  25409. #define PMU_REG_1P1_ENABLE_BO_SHIFT (1U)
  25410. #define PMU_REG_1P1_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_ENABLE_BO_SHIFT)) & PMU_REG_1P1_ENABLE_BO_MASK)
  25411. #define PMU_REG_1P1_ENABLE_ILIMIT_MASK (0x4U)
  25412. #define PMU_REG_1P1_ENABLE_ILIMIT_SHIFT (2U)
  25413. #define PMU_REG_1P1_ENABLE_ILIMIT(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_ENABLE_ILIMIT_SHIFT)) & PMU_REG_1P1_ENABLE_ILIMIT_MASK)
  25414. #define PMU_REG_1P1_ENABLE_PULLDOWN_MASK (0x8U)
  25415. #define PMU_REG_1P1_ENABLE_PULLDOWN_SHIFT (3U)
  25416. #define PMU_REG_1P1_ENABLE_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_ENABLE_PULLDOWN_SHIFT)) & PMU_REG_1P1_ENABLE_PULLDOWN_MASK)
  25417. #define PMU_REG_1P1_BO_OFFSET_MASK (0x70U)
  25418. #define PMU_REG_1P1_BO_OFFSET_SHIFT (4U)
  25419. #define PMU_REG_1P1_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_BO_OFFSET_SHIFT)) & PMU_REG_1P1_BO_OFFSET_MASK)
  25420. #define PMU_REG_1P1_OUTPUT_TRG_MASK (0x1F00U)
  25421. #define PMU_REG_1P1_OUTPUT_TRG_SHIFT (8U)
  25422. /*! OUTPUT_TRG
  25423. * 0b00100..0.8V
  25424. * 0b10000..1.1V
  25425. * 0b000x1..1.375V
  25426. */
  25427. #define PMU_REG_1P1_OUTPUT_TRG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_OUTPUT_TRG_SHIFT)) & PMU_REG_1P1_OUTPUT_TRG_MASK)
  25428. #define PMU_REG_1P1_BO_VDD1P1_MASK (0x10000U)
  25429. #define PMU_REG_1P1_BO_VDD1P1_SHIFT (16U)
  25430. #define PMU_REG_1P1_BO_VDD1P1(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_BO_VDD1P1_SHIFT)) & PMU_REG_1P1_BO_VDD1P1_MASK)
  25431. #define PMU_REG_1P1_OK_VDD1P1_MASK (0x20000U)
  25432. #define PMU_REG_1P1_OK_VDD1P1_SHIFT (17U)
  25433. #define PMU_REG_1P1_OK_VDD1P1(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_OK_VDD1P1_SHIFT)) & PMU_REG_1P1_OK_VDD1P1_MASK)
  25434. #define PMU_REG_1P1_ENABLE_WEAK_LINREG_MASK (0x40000U)
  25435. #define PMU_REG_1P1_ENABLE_WEAK_LINREG_SHIFT (18U)
  25436. #define PMU_REG_1P1_ENABLE_WEAK_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_ENABLE_WEAK_LINREG_SHIFT)) & PMU_REG_1P1_ENABLE_WEAK_LINREG_MASK)
  25437. #define PMU_REG_1P1_SELREF_WEAK_LINREG_MASK (0x80000U)
  25438. #define PMU_REG_1P1_SELREF_WEAK_LINREG_SHIFT (19U)
  25439. /*! SELREF_WEAK_LINREG
  25440. * 0b0..Weak-linreg output tracks low-power-bandgap voltage
  25441. * 0b1..Weak-linreg output tracks VDD_SOC_IN voltage
  25442. */
  25443. #define PMU_REG_1P1_SELREF_WEAK_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_SELREF_WEAK_LINREG_SHIFT)) & PMU_REG_1P1_SELREF_WEAK_LINREG_MASK)
  25444. /*! @} */
  25445. /*! @name REG_1P1_SET - Regulator 1P1 Register */
  25446. /*! @{ */
  25447. #define PMU_REG_1P1_SET_ENABLE_LINREG_MASK (0x1U)
  25448. #define PMU_REG_1P1_SET_ENABLE_LINREG_SHIFT (0U)
  25449. #define PMU_REG_1P1_SET_ENABLE_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_SET_ENABLE_LINREG_SHIFT)) & PMU_REG_1P1_SET_ENABLE_LINREG_MASK)
  25450. #define PMU_REG_1P1_SET_ENABLE_BO_MASK (0x2U)
  25451. #define PMU_REG_1P1_SET_ENABLE_BO_SHIFT (1U)
  25452. #define PMU_REG_1P1_SET_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_SET_ENABLE_BO_SHIFT)) & PMU_REG_1P1_SET_ENABLE_BO_MASK)
  25453. #define PMU_REG_1P1_SET_ENABLE_ILIMIT_MASK (0x4U)
  25454. #define PMU_REG_1P1_SET_ENABLE_ILIMIT_SHIFT (2U)
  25455. #define PMU_REG_1P1_SET_ENABLE_ILIMIT(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_SET_ENABLE_ILIMIT_SHIFT)) & PMU_REG_1P1_SET_ENABLE_ILIMIT_MASK)
  25456. #define PMU_REG_1P1_SET_ENABLE_PULLDOWN_MASK (0x8U)
  25457. #define PMU_REG_1P1_SET_ENABLE_PULLDOWN_SHIFT (3U)
  25458. #define PMU_REG_1P1_SET_ENABLE_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_SET_ENABLE_PULLDOWN_SHIFT)) & PMU_REG_1P1_SET_ENABLE_PULLDOWN_MASK)
  25459. #define PMU_REG_1P1_SET_BO_OFFSET_MASK (0x70U)
  25460. #define PMU_REG_1P1_SET_BO_OFFSET_SHIFT (4U)
  25461. #define PMU_REG_1P1_SET_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_SET_BO_OFFSET_SHIFT)) & PMU_REG_1P1_SET_BO_OFFSET_MASK)
  25462. #define PMU_REG_1P1_SET_OUTPUT_TRG_MASK (0x1F00U)
  25463. #define PMU_REG_1P1_SET_OUTPUT_TRG_SHIFT (8U)
  25464. /*! OUTPUT_TRG
  25465. * 0b00100..0.8V
  25466. * 0b10000..1.1V
  25467. * 0b000x1..1.375V
  25468. */
  25469. #define PMU_REG_1P1_SET_OUTPUT_TRG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_SET_OUTPUT_TRG_SHIFT)) & PMU_REG_1P1_SET_OUTPUT_TRG_MASK)
  25470. #define PMU_REG_1P1_SET_BO_VDD1P1_MASK (0x10000U)
  25471. #define PMU_REG_1P1_SET_BO_VDD1P1_SHIFT (16U)
  25472. #define PMU_REG_1P1_SET_BO_VDD1P1(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_SET_BO_VDD1P1_SHIFT)) & PMU_REG_1P1_SET_BO_VDD1P1_MASK)
  25473. #define PMU_REG_1P1_SET_OK_VDD1P1_MASK (0x20000U)
  25474. #define PMU_REG_1P1_SET_OK_VDD1P1_SHIFT (17U)
  25475. #define PMU_REG_1P1_SET_OK_VDD1P1(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_SET_OK_VDD1P1_SHIFT)) & PMU_REG_1P1_SET_OK_VDD1P1_MASK)
  25476. #define PMU_REG_1P1_SET_ENABLE_WEAK_LINREG_MASK (0x40000U)
  25477. #define PMU_REG_1P1_SET_ENABLE_WEAK_LINREG_SHIFT (18U)
  25478. #define PMU_REG_1P1_SET_ENABLE_WEAK_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_SET_ENABLE_WEAK_LINREG_SHIFT)) & PMU_REG_1P1_SET_ENABLE_WEAK_LINREG_MASK)
  25479. #define PMU_REG_1P1_SET_SELREF_WEAK_LINREG_MASK (0x80000U)
  25480. #define PMU_REG_1P1_SET_SELREF_WEAK_LINREG_SHIFT (19U)
  25481. /*! SELREF_WEAK_LINREG
  25482. * 0b0..Weak-linreg output tracks low-power-bandgap voltage
  25483. * 0b1..Weak-linreg output tracks VDD_SOC_IN voltage
  25484. */
  25485. #define PMU_REG_1P1_SET_SELREF_WEAK_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_SET_SELREF_WEAK_LINREG_SHIFT)) & PMU_REG_1P1_SET_SELREF_WEAK_LINREG_MASK)
  25486. /*! @} */
  25487. /*! @name REG_1P1_CLR - Regulator 1P1 Register */
  25488. /*! @{ */
  25489. #define PMU_REG_1P1_CLR_ENABLE_LINREG_MASK (0x1U)
  25490. #define PMU_REG_1P1_CLR_ENABLE_LINREG_SHIFT (0U)
  25491. #define PMU_REG_1P1_CLR_ENABLE_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_CLR_ENABLE_LINREG_SHIFT)) & PMU_REG_1P1_CLR_ENABLE_LINREG_MASK)
  25492. #define PMU_REG_1P1_CLR_ENABLE_BO_MASK (0x2U)
  25493. #define PMU_REG_1P1_CLR_ENABLE_BO_SHIFT (1U)
  25494. #define PMU_REG_1P1_CLR_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_CLR_ENABLE_BO_SHIFT)) & PMU_REG_1P1_CLR_ENABLE_BO_MASK)
  25495. #define PMU_REG_1P1_CLR_ENABLE_ILIMIT_MASK (0x4U)
  25496. #define PMU_REG_1P1_CLR_ENABLE_ILIMIT_SHIFT (2U)
  25497. #define PMU_REG_1P1_CLR_ENABLE_ILIMIT(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_CLR_ENABLE_ILIMIT_SHIFT)) & PMU_REG_1P1_CLR_ENABLE_ILIMIT_MASK)
  25498. #define PMU_REG_1P1_CLR_ENABLE_PULLDOWN_MASK (0x8U)
  25499. #define PMU_REG_1P1_CLR_ENABLE_PULLDOWN_SHIFT (3U)
  25500. #define PMU_REG_1P1_CLR_ENABLE_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_CLR_ENABLE_PULLDOWN_SHIFT)) & PMU_REG_1P1_CLR_ENABLE_PULLDOWN_MASK)
  25501. #define PMU_REG_1P1_CLR_BO_OFFSET_MASK (0x70U)
  25502. #define PMU_REG_1P1_CLR_BO_OFFSET_SHIFT (4U)
  25503. #define PMU_REG_1P1_CLR_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_CLR_BO_OFFSET_SHIFT)) & PMU_REG_1P1_CLR_BO_OFFSET_MASK)
  25504. #define PMU_REG_1P1_CLR_OUTPUT_TRG_MASK (0x1F00U)
  25505. #define PMU_REG_1P1_CLR_OUTPUT_TRG_SHIFT (8U)
  25506. /*! OUTPUT_TRG
  25507. * 0b00100..0.8V
  25508. * 0b10000..1.1V
  25509. * 0b000x1..1.375V
  25510. */
  25511. #define PMU_REG_1P1_CLR_OUTPUT_TRG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_CLR_OUTPUT_TRG_SHIFT)) & PMU_REG_1P1_CLR_OUTPUT_TRG_MASK)
  25512. #define PMU_REG_1P1_CLR_BO_VDD1P1_MASK (0x10000U)
  25513. #define PMU_REG_1P1_CLR_BO_VDD1P1_SHIFT (16U)
  25514. #define PMU_REG_1P1_CLR_BO_VDD1P1(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_CLR_BO_VDD1P1_SHIFT)) & PMU_REG_1P1_CLR_BO_VDD1P1_MASK)
  25515. #define PMU_REG_1P1_CLR_OK_VDD1P1_MASK (0x20000U)
  25516. #define PMU_REG_1P1_CLR_OK_VDD1P1_SHIFT (17U)
  25517. #define PMU_REG_1P1_CLR_OK_VDD1P1(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_CLR_OK_VDD1P1_SHIFT)) & PMU_REG_1P1_CLR_OK_VDD1P1_MASK)
  25518. #define PMU_REG_1P1_CLR_ENABLE_WEAK_LINREG_MASK (0x40000U)
  25519. #define PMU_REG_1P1_CLR_ENABLE_WEAK_LINREG_SHIFT (18U)
  25520. #define PMU_REG_1P1_CLR_ENABLE_WEAK_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_CLR_ENABLE_WEAK_LINREG_SHIFT)) & PMU_REG_1P1_CLR_ENABLE_WEAK_LINREG_MASK)
  25521. #define PMU_REG_1P1_CLR_SELREF_WEAK_LINREG_MASK (0x80000U)
  25522. #define PMU_REG_1P1_CLR_SELREF_WEAK_LINREG_SHIFT (19U)
  25523. /*! SELREF_WEAK_LINREG
  25524. * 0b0..Weak-linreg output tracks low-power-bandgap voltage
  25525. * 0b1..Weak-linreg output tracks VDD_SOC_IN voltage
  25526. */
  25527. #define PMU_REG_1P1_CLR_SELREF_WEAK_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_CLR_SELREF_WEAK_LINREG_SHIFT)) & PMU_REG_1P1_CLR_SELREF_WEAK_LINREG_MASK)
  25528. /*! @} */
  25529. /*! @name REG_1P1_TOG - Regulator 1P1 Register */
  25530. /*! @{ */
  25531. #define PMU_REG_1P1_TOG_ENABLE_LINREG_MASK (0x1U)
  25532. #define PMU_REG_1P1_TOG_ENABLE_LINREG_SHIFT (0U)
  25533. #define PMU_REG_1P1_TOG_ENABLE_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_TOG_ENABLE_LINREG_SHIFT)) & PMU_REG_1P1_TOG_ENABLE_LINREG_MASK)
  25534. #define PMU_REG_1P1_TOG_ENABLE_BO_MASK (0x2U)
  25535. #define PMU_REG_1P1_TOG_ENABLE_BO_SHIFT (1U)
  25536. #define PMU_REG_1P1_TOG_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_TOG_ENABLE_BO_SHIFT)) & PMU_REG_1P1_TOG_ENABLE_BO_MASK)
  25537. #define PMU_REG_1P1_TOG_ENABLE_ILIMIT_MASK (0x4U)
  25538. #define PMU_REG_1P1_TOG_ENABLE_ILIMIT_SHIFT (2U)
  25539. #define PMU_REG_1P1_TOG_ENABLE_ILIMIT(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_TOG_ENABLE_ILIMIT_SHIFT)) & PMU_REG_1P1_TOG_ENABLE_ILIMIT_MASK)
  25540. #define PMU_REG_1P1_TOG_ENABLE_PULLDOWN_MASK (0x8U)
  25541. #define PMU_REG_1P1_TOG_ENABLE_PULLDOWN_SHIFT (3U)
  25542. #define PMU_REG_1P1_TOG_ENABLE_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_TOG_ENABLE_PULLDOWN_SHIFT)) & PMU_REG_1P1_TOG_ENABLE_PULLDOWN_MASK)
  25543. #define PMU_REG_1P1_TOG_BO_OFFSET_MASK (0x70U)
  25544. #define PMU_REG_1P1_TOG_BO_OFFSET_SHIFT (4U)
  25545. #define PMU_REG_1P1_TOG_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_TOG_BO_OFFSET_SHIFT)) & PMU_REG_1P1_TOG_BO_OFFSET_MASK)
  25546. #define PMU_REG_1P1_TOG_OUTPUT_TRG_MASK (0x1F00U)
  25547. #define PMU_REG_1P1_TOG_OUTPUT_TRG_SHIFT (8U)
  25548. /*! OUTPUT_TRG
  25549. * 0b00100..0.8V
  25550. * 0b10000..1.1V
  25551. * 0b000x1..1.375V
  25552. */
  25553. #define PMU_REG_1P1_TOG_OUTPUT_TRG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_TOG_OUTPUT_TRG_SHIFT)) & PMU_REG_1P1_TOG_OUTPUT_TRG_MASK)
  25554. #define PMU_REG_1P1_TOG_BO_VDD1P1_MASK (0x10000U)
  25555. #define PMU_REG_1P1_TOG_BO_VDD1P1_SHIFT (16U)
  25556. #define PMU_REG_1P1_TOG_BO_VDD1P1(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_TOG_BO_VDD1P1_SHIFT)) & PMU_REG_1P1_TOG_BO_VDD1P1_MASK)
  25557. #define PMU_REG_1P1_TOG_OK_VDD1P1_MASK (0x20000U)
  25558. #define PMU_REG_1P1_TOG_OK_VDD1P1_SHIFT (17U)
  25559. #define PMU_REG_1P1_TOG_OK_VDD1P1(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_TOG_OK_VDD1P1_SHIFT)) & PMU_REG_1P1_TOG_OK_VDD1P1_MASK)
  25560. #define PMU_REG_1P1_TOG_ENABLE_WEAK_LINREG_MASK (0x40000U)
  25561. #define PMU_REG_1P1_TOG_ENABLE_WEAK_LINREG_SHIFT (18U)
  25562. #define PMU_REG_1P1_TOG_ENABLE_WEAK_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_TOG_ENABLE_WEAK_LINREG_SHIFT)) & PMU_REG_1P1_TOG_ENABLE_WEAK_LINREG_MASK)
  25563. #define PMU_REG_1P1_TOG_SELREF_WEAK_LINREG_MASK (0x80000U)
  25564. #define PMU_REG_1P1_TOG_SELREF_WEAK_LINREG_SHIFT (19U)
  25565. /*! SELREF_WEAK_LINREG
  25566. * 0b0..Weak-linreg output tracks low-power-bandgap voltage
  25567. * 0b1..Weak-linreg output tracks VDD_SOC_IN voltage
  25568. */
  25569. #define PMU_REG_1P1_TOG_SELREF_WEAK_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_TOG_SELREF_WEAK_LINREG_SHIFT)) & PMU_REG_1P1_TOG_SELREF_WEAK_LINREG_MASK)
  25570. /*! @} */
  25571. /*! @name REG_3P0 - Regulator 3P0 Register */
  25572. /*! @{ */
  25573. #define PMU_REG_3P0_ENABLE_LINREG_MASK (0x1U)
  25574. #define PMU_REG_3P0_ENABLE_LINREG_SHIFT (0U)
  25575. #define PMU_REG_3P0_ENABLE_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_ENABLE_LINREG_SHIFT)) & PMU_REG_3P0_ENABLE_LINREG_MASK)
  25576. #define PMU_REG_3P0_ENABLE_BO_MASK (0x2U)
  25577. #define PMU_REG_3P0_ENABLE_BO_SHIFT (1U)
  25578. #define PMU_REG_3P0_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_ENABLE_BO_SHIFT)) & PMU_REG_3P0_ENABLE_BO_MASK)
  25579. #define PMU_REG_3P0_ENABLE_ILIMIT_MASK (0x4U)
  25580. #define PMU_REG_3P0_ENABLE_ILIMIT_SHIFT (2U)
  25581. #define PMU_REG_3P0_ENABLE_ILIMIT(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_ENABLE_ILIMIT_SHIFT)) & PMU_REG_3P0_ENABLE_ILIMIT_MASK)
  25582. #define PMU_REG_3P0_BO_OFFSET_MASK (0x70U)
  25583. #define PMU_REG_3P0_BO_OFFSET_SHIFT (4U)
  25584. #define PMU_REG_3P0_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_BO_OFFSET_SHIFT)) & PMU_REG_3P0_BO_OFFSET_MASK)
  25585. #define PMU_REG_3P0_VBUS_SEL_MASK (0x80U)
  25586. #define PMU_REG_3P0_VBUS_SEL_SHIFT (7U)
  25587. /*! VBUS_SEL
  25588. * 0b1..Utilize VBUS OTG1 power
  25589. * 0b0..Utilize VBUS OTG2 power
  25590. */
  25591. #define PMU_REG_3P0_VBUS_SEL(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_VBUS_SEL_SHIFT)) & PMU_REG_3P0_VBUS_SEL_MASK)
  25592. #define PMU_REG_3P0_OUTPUT_TRG_MASK (0x1F00U)
  25593. #define PMU_REG_3P0_OUTPUT_TRG_SHIFT (8U)
  25594. /*! OUTPUT_TRG
  25595. * 0b00000..2.625V
  25596. * 0b01111..3.000V
  25597. * 0b11111..3.400V
  25598. */
  25599. #define PMU_REG_3P0_OUTPUT_TRG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_OUTPUT_TRG_SHIFT)) & PMU_REG_3P0_OUTPUT_TRG_MASK)
  25600. #define PMU_REG_3P0_BO_VDD3P0_MASK (0x10000U)
  25601. #define PMU_REG_3P0_BO_VDD3P0_SHIFT (16U)
  25602. #define PMU_REG_3P0_BO_VDD3P0(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_BO_VDD3P0_SHIFT)) & PMU_REG_3P0_BO_VDD3P0_MASK)
  25603. #define PMU_REG_3P0_OK_VDD3P0_MASK (0x20000U)
  25604. #define PMU_REG_3P0_OK_VDD3P0_SHIFT (17U)
  25605. #define PMU_REG_3P0_OK_VDD3P0(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_OK_VDD3P0_SHIFT)) & PMU_REG_3P0_OK_VDD3P0_MASK)
  25606. /*! @} */
  25607. /*! @name REG_3P0_SET - Regulator 3P0 Register */
  25608. /*! @{ */
  25609. #define PMU_REG_3P0_SET_ENABLE_LINREG_MASK (0x1U)
  25610. #define PMU_REG_3P0_SET_ENABLE_LINREG_SHIFT (0U)
  25611. #define PMU_REG_3P0_SET_ENABLE_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_SET_ENABLE_LINREG_SHIFT)) & PMU_REG_3P0_SET_ENABLE_LINREG_MASK)
  25612. #define PMU_REG_3P0_SET_ENABLE_BO_MASK (0x2U)
  25613. #define PMU_REG_3P0_SET_ENABLE_BO_SHIFT (1U)
  25614. #define PMU_REG_3P0_SET_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_SET_ENABLE_BO_SHIFT)) & PMU_REG_3P0_SET_ENABLE_BO_MASK)
  25615. #define PMU_REG_3P0_SET_ENABLE_ILIMIT_MASK (0x4U)
  25616. #define PMU_REG_3P0_SET_ENABLE_ILIMIT_SHIFT (2U)
  25617. #define PMU_REG_3P0_SET_ENABLE_ILIMIT(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_SET_ENABLE_ILIMIT_SHIFT)) & PMU_REG_3P0_SET_ENABLE_ILIMIT_MASK)
  25618. #define PMU_REG_3P0_SET_BO_OFFSET_MASK (0x70U)
  25619. #define PMU_REG_3P0_SET_BO_OFFSET_SHIFT (4U)
  25620. #define PMU_REG_3P0_SET_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_SET_BO_OFFSET_SHIFT)) & PMU_REG_3P0_SET_BO_OFFSET_MASK)
  25621. #define PMU_REG_3P0_SET_VBUS_SEL_MASK (0x80U)
  25622. #define PMU_REG_3P0_SET_VBUS_SEL_SHIFT (7U)
  25623. /*! VBUS_SEL
  25624. * 0b1..Utilize VBUS OTG1 power
  25625. * 0b0..Utilize VBUS OTG2 power
  25626. */
  25627. #define PMU_REG_3P0_SET_VBUS_SEL(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_SET_VBUS_SEL_SHIFT)) & PMU_REG_3P0_SET_VBUS_SEL_MASK)
  25628. #define PMU_REG_3P0_SET_OUTPUT_TRG_MASK (0x1F00U)
  25629. #define PMU_REG_3P0_SET_OUTPUT_TRG_SHIFT (8U)
  25630. /*! OUTPUT_TRG
  25631. * 0b00000..2.625V
  25632. * 0b01111..3.000V
  25633. * 0b11111..3.400V
  25634. */
  25635. #define PMU_REG_3P0_SET_OUTPUT_TRG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_SET_OUTPUT_TRG_SHIFT)) & PMU_REG_3P0_SET_OUTPUT_TRG_MASK)
  25636. #define PMU_REG_3P0_SET_BO_VDD3P0_MASK (0x10000U)
  25637. #define PMU_REG_3P0_SET_BO_VDD3P0_SHIFT (16U)
  25638. #define PMU_REG_3P0_SET_BO_VDD3P0(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_SET_BO_VDD3P0_SHIFT)) & PMU_REG_3P0_SET_BO_VDD3P0_MASK)
  25639. #define PMU_REG_3P0_SET_OK_VDD3P0_MASK (0x20000U)
  25640. #define PMU_REG_3P0_SET_OK_VDD3P0_SHIFT (17U)
  25641. #define PMU_REG_3P0_SET_OK_VDD3P0(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_SET_OK_VDD3P0_SHIFT)) & PMU_REG_3P0_SET_OK_VDD3P0_MASK)
  25642. /*! @} */
  25643. /*! @name REG_3P0_CLR - Regulator 3P0 Register */
  25644. /*! @{ */
  25645. #define PMU_REG_3P0_CLR_ENABLE_LINREG_MASK (0x1U)
  25646. #define PMU_REG_3P0_CLR_ENABLE_LINREG_SHIFT (0U)
  25647. #define PMU_REG_3P0_CLR_ENABLE_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_CLR_ENABLE_LINREG_SHIFT)) & PMU_REG_3P0_CLR_ENABLE_LINREG_MASK)
  25648. #define PMU_REG_3P0_CLR_ENABLE_BO_MASK (0x2U)
  25649. #define PMU_REG_3P0_CLR_ENABLE_BO_SHIFT (1U)
  25650. #define PMU_REG_3P0_CLR_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_CLR_ENABLE_BO_SHIFT)) & PMU_REG_3P0_CLR_ENABLE_BO_MASK)
  25651. #define PMU_REG_3P0_CLR_ENABLE_ILIMIT_MASK (0x4U)
  25652. #define PMU_REG_3P0_CLR_ENABLE_ILIMIT_SHIFT (2U)
  25653. #define PMU_REG_3P0_CLR_ENABLE_ILIMIT(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_CLR_ENABLE_ILIMIT_SHIFT)) & PMU_REG_3P0_CLR_ENABLE_ILIMIT_MASK)
  25654. #define PMU_REG_3P0_CLR_BO_OFFSET_MASK (0x70U)
  25655. #define PMU_REG_3P0_CLR_BO_OFFSET_SHIFT (4U)
  25656. #define PMU_REG_3P0_CLR_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_CLR_BO_OFFSET_SHIFT)) & PMU_REG_3P0_CLR_BO_OFFSET_MASK)
  25657. #define PMU_REG_3P0_CLR_VBUS_SEL_MASK (0x80U)
  25658. #define PMU_REG_3P0_CLR_VBUS_SEL_SHIFT (7U)
  25659. /*! VBUS_SEL
  25660. * 0b1..Utilize VBUS OTG1 power
  25661. * 0b0..Utilize VBUS OTG2 power
  25662. */
  25663. #define PMU_REG_3P0_CLR_VBUS_SEL(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_CLR_VBUS_SEL_SHIFT)) & PMU_REG_3P0_CLR_VBUS_SEL_MASK)
  25664. #define PMU_REG_3P0_CLR_OUTPUT_TRG_MASK (0x1F00U)
  25665. #define PMU_REG_3P0_CLR_OUTPUT_TRG_SHIFT (8U)
  25666. /*! OUTPUT_TRG
  25667. * 0b00000..2.625V
  25668. * 0b01111..3.000V
  25669. * 0b11111..3.400V
  25670. */
  25671. #define PMU_REG_3P0_CLR_OUTPUT_TRG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_CLR_OUTPUT_TRG_SHIFT)) & PMU_REG_3P0_CLR_OUTPUT_TRG_MASK)
  25672. #define PMU_REG_3P0_CLR_BO_VDD3P0_MASK (0x10000U)
  25673. #define PMU_REG_3P0_CLR_BO_VDD3P0_SHIFT (16U)
  25674. #define PMU_REG_3P0_CLR_BO_VDD3P0(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_CLR_BO_VDD3P0_SHIFT)) & PMU_REG_3P0_CLR_BO_VDD3P0_MASK)
  25675. #define PMU_REG_3P0_CLR_OK_VDD3P0_MASK (0x20000U)
  25676. #define PMU_REG_3P0_CLR_OK_VDD3P0_SHIFT (17U)
  25677. #define PMU_REG_3P0_CLR_OK_VDD3P0(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_CLR_OK_VDD3P0_SHIFT)) & PMU_REG_3P0_CLR_OK_VDD3P0_MASK)
  25678. /*! @} */
  25679. /*! @name REG_3P0_TOG - Regulator 3P0 Register */
  25680. /*! @{ */
  25681. #define PMU_REG_3P0_TOG_ENABLE_LINREG_MASK (0x1U)
  25682. #define PMU_REG_3P0_TOG_ENABLE_LINREG_SHIFT (0U)
  25683. #define PMU_REG_3P0_TOG_ENABLE_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_TOG_ENABLE_LINREG_SHIFT)) & PMU_REG_3P0_TOG_ENABLE_LINREG_MASK)
  25684. #define PMU_REG_3P0_TOG_ENABLE_BO_MASK (0x2U)
  25685. #define PMU_REG_3P0_TOG_ENABLE_BO_SHIFT (1U)
  25686. #define PMU_REG_3P0_TOG_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_TOG_ENABLE_BO_SHIFT)) & PMU_REG_3P0_TOG_ENABLE_BO_MASK)
  25687. #define PMU_REG_3P0_TOG_ENABLE_ILIMIT_MASK (0x4U)
  25688. #define PMU_REG_3P0_TOG_ENABLE_ILIMIT_SHIFT (2U)
  25689. #define PMU_REG_3P0_TOG_ENABLE_ILIMIT(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_TOG_ENABLE_ILIMIT_SHIFT)) & PMU_REG_3P0_TOG_ENABLE_ILIMIT_MASK)
  25690. #define PMU_REG_3P0_TOG_BO_OFFSET_MASK (0x70U)
  25691. #define PMU_REG_3P0_TOG_BO_OFFSET_SHIFT (4U)
  25692. #define PMU_REG_3P0_TOG_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_TOG_BO_OFFSET_SHIFT)) & PMU_REG_3P0_TOG_BO_OFFSET_MASK)
  25693. #define PMU_REG_3P0_TOG_VBUS_SEL_MASK (0x80U)
  25694. #define PMU_REG_3P0_TOG_VBUS_SEL_SHIFT (7U)
  25695. /*! VBUS_SEL
  25696. * 0b1..Utilize VBUS OTG1 power
  25697. * 0b0..Utilize VBUS OTG2 power
  25698. */
  25699. #define PMU_REG_3P0_TOG_VBUS_SEL(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_TOG_VBUS_SEL_SHIFT)) & PMU_REG_3P0_TOG_VBUS_SEL_MASK)
  25700. #define PMU_REG_3P0_TOG_OUTPUT_TRG_MASK (0x1F00U)
  25701. #define PMU_REG_3P0_TOG_OUTPUT_TRG_SHIFT (8U)
  25702. /*! OUTPUT_TRG
  25703. * 0b00000..2.625V
  25704. * 0b01111..3.000V
  25705. * 0b11111..3.400V
  25706. */
  25707. #define PMU_REG_3P0_TOG_OUTPUT_TRG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_TOG_OUTPUT_TRG_SHIFT)) & PMU_REG_3P0_TOG_OUTPUT_TRG_MASK)
  25708. #define PMU_REG_3P0_TOG_BO_VDD3P0_MASK (0x10000U)
  25709. #define PMU_REG_3P0_TOG_BO_VDD3P0_SHIFT (16U)
  25710. #define PMU_REG_3P0_TOG_BO_VDD3P0(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_TOG_BO_VDD3P0_SHIFT)) & PMU_REG_3P0_TOG_BO_VDD3P0_MASK)
  25711. #define PMU_REG_3P0_TOG_OK_VDD3P0_MASK (0x20000U)
  25712. #define PMU_REG_3P0_TOG_OK_VDD3P0_SHIFT (17U)
  25713. #define PMU_REG_3P0_TOG_OK_VDD3P0(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_TOG_OK_VDD3P0_SHIFT)) & PMU_REG_3P0_TOG_OK_VDD3P0_MASK)
  25714. /*! @} */
  25715. /*! @name REG_2P5 - Regulator 2P5 Register */
  25716. /*! @{ */
  25717. #define PMU_REG_2P5_ENABLE_LINREG_MASK (0x1U)
  25718. #define PMU_REG_2P5_ENABLE_LINREG_SHIFT (0U)
  25719. #define PMU_REG_2P5_ENABLE_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_ENABLE_LINREG_SHIFT)) & PMU_REG_2P5_ENABLE_LINREG_MASK)
  25720. #define PMU_REG_2P5_ENABLE_BO_MASK (0x2U)
  25721. #define PMU_REG_2P5_ENABLE_BO_SHIFT (1U)
  25722. #define PMU_REG_2P5_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_ENABLE_BO_SHIFT)) & PMU_REG_2P5_ENABLE_BO_MASK)
  25723. #define PMU_REG_2P5_ENABLE_ILIMIT_MASK (0x4U)
  25724. #define PMU_REG_2P5_ENABLE_ILIMIT_SHIFT (2U)
  25725. #define PMU_REG_2P5_ENABLE_ILIMIT(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_ENABLE_ILIMIT_SHIFT)) & PMU_REG_2P5_ENABLE_ILIMIT_MASK)
  25726. #define PMU_REG_2P5_ENABLE_PULLDOWN_MASK (0x8U)
  25727. #define PMU_REG_2P5_ENABLE_PULLDOWN_SHIFT (3U)
  25728. #define PMU_REG_2P5_ENABLE_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_ENABLE_PULLDOWN_SHIFT)) & PMU_REG_2P5_ENABLE_PULLDOWN_MASK)
  25729. #define PMU_REG_2P5_BO_OFFSET_MASK (0x70U)
  25730. #define PMU_REG_2P5_BO_OFFSET_SHIFT (4U)
  25731. #define PMU_REG_2P5_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_BO_OFFSET_SHIFT)) & PMU_REG_2P5_BO_OFFSET_MASK)
  25732. #define PMU_REG_2P5_OUTPUT_TRG_MASK (0x1F00U)
  25733. #define PMU_REG_2P5_OUTPUT_TRG_SHIFT (8U)
  25734. /*! OUTPUT_TRG
  25735. * 0b00000..2.10V
  25736. * 0b10000..2.50V
  25737. * 0b11111..2.875V
  25738. */
  25739. #define PMU_REG_2P5_OUTPUT_TRG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_OUTPUT_TRG_SHIFT)) & PMU_REG_2P5_OUTPUT_TRG_MASK)
  25740. #define PMU_REG_2P5_BO_VDD2P5_MASK (0x10000U)
  25741. #define PMU_REG_2P5_BO_VDD2P5_SHIFT (16U)
  25742. #define PMU_REG_2P5_BO_VDD2P5(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_BO_VDD2P5_SHIFT)) & PMU_REG_2P5_BO_VDD2P5_MASK)
  25743. #define PMU_REG_2P5_OK_VDD2P5_MASK (0x20000U)
  25744. #define PMU_REG_2P5_OK_VDD2P5_SHIFT (17U)
  25745. #define PMU_REG_2P5_OK_VDD2P5(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_OK_VDD2P5_SHIFT)) & PMU_REG_2P5_OK_VDD2P5_MASK)
  25746. #define PMU_REG_2P5_ENABLE_WEAK_LINREG_MASK (0x40000U)
  25747. #define PMU_REG_2P5_ENABLE_WEAK_LINREG_SHIFT (18U)
  25748. #define PMU_REG_2P5_ENABLE_WEAK_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_ENABLE_WEAK_LINREG_SHIFT)) & PMU_REG_2P5_ENABLE_WEAK_LINREG_MASK)
  25749. /*! @} */
  25750. /*! @name REG_2P5_SET - Regulator 2P5 Register */
  25751. /*! @{ */
  25752. #define PMU_REG_2P5_SET_ENABLE_LINREG_MASK (0x1U)
  25753. #define PMU_REG_2P5_SET_ENABLE_LINREG_SHIFT (0U)
  25754. #define PMU_REG_2P5_SET_ENABLE_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_SET_ENABLE_LINREG_SHIFT)) & PMU_REG_2P5_SET_ENABLE_LINREG_MASK)
  25755. #define PMU_REG_2P5_SET_ENABLE_BO_MASK (0x2U)
  25756. #define PMU_REG_2P5_SET_ENABLE_BO_SHIFT (1U)
  25757. #define PMU_REG_2P5_SET_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_SET_ENABLE_BO_SHIFT)) & PMU_REG_2P5_SET_ENABLE_BO_MASK)
  25758. #define PMU_REG_2P5_SET_ENABLE_ILIMIT_MASK (0x4U)
  25759. #define PMU_REG_2P5_SET_ENABLE_ILIMIT_SHIFT (2U)
  25760. #define PMU_REG_2P5_SET_ENABLE_ILIMIT(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_SET_ENABLE_ILIMIT_SHIFT)) & PMU_REG_2P5_SET_ENABLE_ILIMIT_MASK)
  25761. #define PMU_REG_2P5_SET_ENABLE_PULLDOWN_MASK (0x8U)
  25762. #define PMU_REG_2P5_SET_ENABLE_PULLDOWN_SHIFT (3U)
  25763. #define PMU_REG_2P5_SET_ENABLE_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_SET_ENABLE_PULLDOWN_SHIFT)) & PMU_REG_2P5_SET_ENABLE_PULLDOWN_MASK)
  25764. #define PMU_REG_2P5_SET_BO_OFFSET_MASK (0x70U)
  25765. #define PMU_REG_2P5_SET_BO_OFFSET_SHIFT (4U)
  25766. #define PMU_REG_2P5_SET_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_SET_BO_OFFSET_SHIFT)) & PMU_REG_2P5_SET_BO_OFFSET_MASK)
  25767. #define PMU_REG_2P5_SET_OUTPUT_TRG_MASK (0x1F00U)
  25768. #define PMU_REG_2P5_SET_OUTPUT_TRG_SHIFT (8U)
  25769. /*! OUTPUT_TRG
  25770. * 0b00000..2.10V
  25771. * 0b10000..2.50V
  25772. * 0b11111..2.875V
  25773. */
  25774. #define PMU_REG_2P5_SET_OUTPUT_TRG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_SET_OUTPUT_TRG_SHIFT)) & PMU_REG_2P5_SET_OUTPUT_TRG_MASK)
  25775. #define PMU_REG_2P5_SET_BO_VDD2P5_MASK (0x10000U)
  25776. #define PMU_REG_2P5_SET_BO_VDD2P5_SHIFT (16U)
  25777. #define PMU_REG_2P5_SET_BO_VDD2P5(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_SET_BO_VDD2P5_SHIFT)) & PMU_REG_2P5_SET_BO_VDD2P5_MASK)
  25778. #define PMU_REG_2P5_SET_OK_VDD2P5_MASK (0x20000U)
  25779. #define PMU_REG_2P5_SET_OK_VDD2P5_SHIFT (17U)
  25780. #define PMU_REG_2P5_SET_OK_VDD2P5(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_SET_OK_VDD2P5_SHIFT)) & PMU_REG_2P5_SET_OK_VDD2P5_MASK)
  25781. #define PMU_REG_2P5_SET_ENABLE_WEAK_LINREG_MASK (0x40000U)
  25782. #define PMU_REG_2P5_SET_ENABLE_WEAK_LINREG_SHIFT (18U)
  25783. #define PMU_REG_2P5_SET_ENABLE_WEAK_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_SET_ENABLE_WEAK_LINREG_SHIFT)) & PMU_REG_2P5_SET_ENABLE_WEAK_LINREG_MASK)
  25784. /*! @} */
  25785. /*! @name REG_2P5_CLR - Regulator 2P5 Register */
  25786. /*! @{ */
  25787. #define PMU_REG_2P5_CLR_ENABLE_LINREG_MASK (0x1U)
  25788. #define PMU_REG_2P5_CLR_ENABLE_LINREG_SHIFT (0U)
  25789. #define PMU_REG_2P5_CLR_ENABLE_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_CLR_ENABLE_LINREG_SHIFT)) & PMU_REG_2P5_CLR_ENABLE_LINREG_MASK)
  25790. #define PMU_REG_2P5_CLR_ENABLE_BO_MASK (0x2U)
  25791. #define PMU_REG_2P5_CLR_ENABLE_BO_SHIFT (1U)
  25792. #define PMU_REG_2P5_CLR_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_CLR_ENABLE_BO_SHIFT)) & PMU_REG_2P5_CLR_ENABLE_BO_MASK)
  25793. #define PMU_REG_2P5_CLR_ENABLE_ILIMIT_MASK (0x4U)
  25794. #define PMU_REG_2P5_CLR_ENABLE_ILIMIT_SHIFT (2U)
  25795. #define PMU_REG_2P5_CLR_ENABLE_ILIMIT(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_CLR_ENABLE_ILIMIT_SHIFT)) & PMU_REG_2P5_CLR_ENABLE_ILIMIT_MASK)
  25796. #define PMU_REG_2P5_CLR_ENABLE_PULLDOWN_MASK (0x8U)
  25797. #define PMU_REG_2P5_CLR_ENABLE_PULLDOWN_SHIFT (3U)
  25798. #define PMU_REG_2P5_CLR_ENABLE_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_CLR_ENABLE_PULLDOWN_SHIFT)) & PMU_REG_2P5_CLR_ENABLE_PULLDOWN_MASK)
  25799. #define PMU_REG_2P5_CLR_BO_OFFSET_MASK (0x70U)
  25800. #define PMU_REG_2P5_CLR_BO_OFFSET_SHIFT (4U)
  25801. #define PMU_REG_2P5_CLR_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_CLR_BO_OFFSET_SHIFT)) & PMU_REG_2P5_CLR_BO_OFFSET_MASK)
  25802. #define PMU_REG_2P5_CLR_OUTPUT_TRG_MASK (0x1F00U)
  25803. #define PMU_REG_2P5_CLR_OUTPUT_TRG_SHIFT (8U)
  25804. /*! OUTPUT_TRG
  25805. * 0b00000..2.10V
  25806. * 0b10000..2.50V
  25807. * 0b11111..2.875V
  25808. */
  25809. #define PMU_REG_2P5_CLR_OUTPUT_TRG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_CLR_OUTPUT_TRG_SHIFT)) & PMU_REG_2P5_CLR_OUTPUT_TRG_MASK)
  25810. #define PMU_REG_2P5_CLR_BO_VDD2P5_MASK (0x10000U)
  25811. #define PMU_REG_2P5_CLR_BO_VDD2P5_SHIFT (16U)
  25812. #define PMU_REG_2P5_CLR_BO_VDD2P5(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_CLR_BO_VDD2P5_SHIFT)) & PMU_REG_2P5_CLR_BO_VDD2P5_MASK)
  25813. #define PMU_REG_2P5_CLR_OK_VDD2P5_MASK (0x20000U)
  25814. #define PMU_REG_2P5_CLR_OK_VDD2P5_SHIFT (17U)
  25815. #define PMU_REG_2P5_CLR_OK_VDD2P5(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_CLR_OK_VDD2P5_SHIFT)) & PMU_REG_2P5_CLR_OK_VDD2P5_MASK)
  25816. #define PMU_REG_2P5_CLR_ENABLE_WEAK_LINREG_MASK (0x40000U)
  25817. #define PMU_REG_2P5_CLR_ENABLE_WEAK_LINREG_SHIFT (18U)
  25818. #define PMU_REG_2P5_CLR_ENABLE_WEAK_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_CLR_ENABLE_WEAK_LINREG_SHIFT)) & PMU_REG_2P5_CLR_ENABLE_WEAK_LINREG_MASK)
  25819. /*! @} */
  25820. /*! @name REG_2P5_TOG - Regulator 2P5 Register */
  25821. /*! @{ */
  25822. #define PMU_REG_2P5_TOG_ENABLE_LINREG_MASK (0x1U)
  25823. #define PMU_REG_2P5_TOG_ENABLE_LINREG_SHIFT (0U)
  25824. #define PMU_REG_2P5_TOG_ENABLE_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_TOG_ENABLE_LINREG_SHIFT)) & PMU_REG_2P5_TOG_ENABLE_LINREG_MASK)
  25825. #define PMU_REG_2P5_TOG_ENABLE_BO_MASK (0x2U)
  25826. #define PMU_REG_2P5_TOG_ENABLE_BO_SHIFT (1U)
  25827. #define PMU_REG_2P5_TOG_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_TOG_ENABLE_BO_SHIFT)) & PMU_REG_2P5_TOG_ENABLE_BO_MASK)
  25828. #define PMU_REG_2P5_TOG_ENABLE_ILIMIT_MASK (0x4U)
  25829. #define PMU_REG_2P5_TOG_ENABLE_ILIMIT_SHIFT (2U)
  25830. #define PMU_REG_2P5_TOG_ENABLE_ILIMIT(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_TOG_ENABLE_ILIMIT_SHIFT)) & PMU_REG_2P5_TOG_ENABLE_ILIMIT_MASK)
  25831. #define PMU_REG_2P5_TOG_ENABLE_PULLDOWN_MASK (0x8U)
  25832. #define PMU_REG_2P5_TOG_ENABLE_PULLDOWN_SHIFT (3U)
  25833. #define PMU_REG_2P5_TOG_ENABLE_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_TOG_ENABLE_PULLDOWN_SHIFT)) & PMU_REG_2P5_TOG_ENABLE_PULLDOWN_MASK)
  25834. #define PMU_REG_2P5_TOG_BO_OFFSET_MASK (0x70U)
  25835. #define PMU_REG_2P5_TOG_BO_OFFSET_SHIFT (4U)
  25836. #define PMU_REG_2P5_TOG_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_TOG_BO_OFFSET_SHIFT)) & PMU_REG_2P5_TOG_BO_OFFSET_MASK)
  25837. #define PMU_REG_2P5_TOG_OUTPUT_TRG_MASK (0x1F00U)
  25838. #define PMU_REG_2P5_TOG_OUTPUT_TRG_SHIFT (8U)
  25839. /*! OUTPUT_TRG
  25840. * 0b00000..2.10V
  25841. * 0b10000..2.50V
  25842. * 0b11111..2.875V
  25843. */
  25844. #define PMU_REG_2P5_TOG_OUTPUT_TRG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_TOG_OUTPUT_TRG_SHIFT)) & PMU_REG_2P5_TOG_OUTPUT_TRG_MASK)
  25845. #define PMU_REG_2P5_TOG_BO_VDD2P5_MASK (0x10000U)
  25846. #define PMU_REG_2P5_TOG_BO_VDD2P5_SHIFT (16U)
  25847. #define PMU_REG_2P5_TOG_BO_VDD2P5(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_TOG_BO_VDD2P5_SHIFT)) & PMU_REG_2P5_TOG_BO_VDD2P5_MASK)
  25848. #define PMU_REG_2P5_TOG_OK_VDD2P5_MASK (0x20000U)
  25849. #define PMU_REG_2P5_TOG_OK_VDD2P5_SHIFT (17U)
  25850. #define PMU_REG_2P5_TOG_OK_VDD2P5(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_TOG_OK_VDD2P5_SHIFT)) & PMU_REG_2P5_TOG_OK_VDD2P5_MASK)
  25851. #define PMU_REG_2P5_TOG_ENABLE_WEAK_LINREG_MASK (0x40000U)
  25852. #define PMU_REG_2P5_TOG_ENABLE_WEAK_LINREG_SHIFT (18U)
  25853. #define PMU_REG_2P5_TOG_ENABLE_WEAK_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_TOG_ENABLE_WEAK_LINREG_SHIFT)) & PMU_REG_2P5_TOG_ENABLE_WEAK_LINREG_MASK)
  25854. /*! @} */
  25855. /*! @name REG_CORE - Digital Regulator Core Register */
  25856. /*! @{ */
  25857. #define PMU_REG_CORE_REG0_TARG_MASK (0x1FU)
  25858. #define PMU_REG_CORE_REG0_TARG_SHIFT (0U)
  25859. /*! REG0_TARG
  25860. * 0b00000..Power gated off
  25861. * 0b00001..Target core voltage = 0.725V
  25862. * 0b00010..Target core voltage = 0.750V
  25863. * 0b00011..Target core voltage = 0.775V
  25864. * 0b10000..Target core voltage = 1.100V
  25865. * 0b11110..Target core voltage = 1.450V
  25866. * 0b11111..Power FET switched full on. No regulation.
  25867. */
  25868. #define PMU_REG_CORE_REG0_TARG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_REG0_TARG_SHIFT)) & PMU_REG_CORE_REG0_TARG_MASK)
  25869. #define PMU_REG_CORE_REG0_ADJ_MASK (0x1E0U)
  25870. #define PMU_REG_CORE_REG0_ADJ_SHIFT (5U)
  25871. /*! REG0_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg0. The
  25872. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  25873. * register.
  25874. * 0b0000..No adjustment
  25875. * 0b0001..+ 0.25%
  25876. * 0b0010..+ 0.50%
  25877. * 0b0011..+ 0.75%
  25878. * 0b0100..+ 1.00%
  25879. * 0b0101..+ 1.25%
  25880. * 0b0110..+ 1.50%
  25881. * 0b0111..+ 1.75%
  25882. * 0b1000..- 0.25%
  25883. * 0b1001..- 0.50%
  25884. * 0b1010..- 0.75%
  25885. * 0b1011..- 1.00%
  25886. * 0b1100..- 1.25%
  25887. * 0b1101..- 1.50%
  25888. * 0b1110..- 1.75%
  25889. * 0b1111..- 2.00%
  25890. */
  25891. #define PMU_REG_CORE_REG0_ADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_REG0_ADJ_SHIFT)) & PMU_REG_CORE_REG0_ADJ_MASK)
  25892. #define PMU_REG_CORE_REG1_TARG_MASK (0x3E00U)
  25893. #define PMU_REG_CORE_REG1_TARG_SHIFT (9U)
  25894. /*! REG1_TARG - This bit field defines the target voltage for the vpu/gpu power domain. Single bit
  25895. * increments reflect 25mV core voltage steps. Not all steps will make sense to use either because
  25896. * of input supply limitations or load operation.
  25897. * 0b00000..Power gated off
  25898. * 0b00001..Target core voltage = 0.725V
  25899. * 0b00010..Target core voltage = 0.750V
  25900. * 0b00011..Target core voltage = 0.775V
  25901. * 0b10000..Target core voltage = 1.100V
  25902. * 0b11110..Target core voltage = 1.450V
  25903. * 0b11111..Power FET switched full on. No regulation.
  25904. */
  25905. #define PMU_REG_CORE_REG1_TARG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_REG1_TARG_SHIFT)) & PMU_REG_CORE_REG1_TARG_MASK)
  25906. #define PMU_REG_CORE_REG1_ADJ_MASK (0x3C000U)
  25907. #define PMU_REG_CORE_REG1_ADJ_SHIFT (14U)
  25908. /*! REG1_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg1. The
  25909. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  25910. * register.
  25911. * 0b0000..No adjustment
  25912. * 0b0001..+ 0.25%
  25913. * 0b0010..+ 0.50%
  25914. * 0b0011..+ 0.75%
  25915. * 0b0100..+ 1.00%
  25916. * 0b0101..+ 1.25%
  25917. * 0b0110..+ 1.50%
  25918. * 0b0111..+ 1.75%
  25919. * 0b1000..- 0.25%
  25920. * 0b1001..- 0.50%
  25921. * 0b1010..- 0.75%
  25922. * 0b1011..- 1.00%
  25923. * 0b1100..- 1.25%
  25924. * 0b1101..- 1.50%
  25925. * 0b1110..- 1.75%
  25926. * 0b1111..- 2.00%
  25927. */
  25928. #define PMU_REG_CORE_REG1_ADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_REG1_ADJ_SHIFT)) & PMU_REG_CORE_REG1_ADJ_MASK)
  25929. #define PMU_REG_CORE_REG2_TARG_MASK (0x7C0000U)
  25930. #define PMU_REG_CORE_REG2_TARG_SHIFT (18U)
  25931. /*! REG2_TARG
  25932. * 0b00000..Power gated off
  25933. * 0b00001..Target core voltage = 0.725V
  25934. * 0b00010..Target core voltage = 0.750V
  25935. * 0b00011..Target core voltage = 0.775V
  25936. * 0b10000..Target core voltage = 1.100V
  25937. * 0b11110..Target core voltage = 1.450V
  25938. * 0b11111..Power FET switched full on. No regulation.
  25939. */
  25940. #define PMU_REG_CORE_REG2_TARG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_REG2_TARG_SHIFT)) & PMU_REG_CORE_REG2_TARG_MASK)
  25941. #define PMU_REG_CORE_REG2_ADJ_MASK (0x7800000U)
  25942. #define PMU_REG_CORE_REG2_ADJ_SHIFT (23U)
  25943. /*! REG2_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg2. The
  25944. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  25945. * register.
  25946. * 0b0000..No adjustment
  25947. * 0b0001..+ 0.25%
  25948. * 0b0010..+ 0.50%
  25949. * 0b0011..+ 0.75%
  25950. * 0b0100..+ 1.00%
  25951. * 0b0101..+ 1.25%
  25952. * 0b0110..+ 1.50%
  25953. * 0b0111..+ 1.75%
  25954. * 0b1000..- 0.25%
  25955. * 0b1001..- 0.50%
  25956. * 0b1010..- 0.75%
  25957. * 0b1011..- 1.00%
  25958. * 0b1100..- 1.25%
  25959. * 0b1101..- 1.50%
  25960. * 0b1110..- 1.75%
  25961. * 0b1111..- 2.00%
  25962. */
  25963. #define PMU_REG_CORE_REG2_ADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_REG2_ADJ_SHIFT)) & PMU_REG_CORE_REG2_ADJ_MASK)
  25964. #define PMU_REG_CORE_RAMP_RATE_MASK (0x18000000U)
  25965. #define PMU_REG_CORE_RAMP_RATE_SHIFT (27U)
  25966. /*! RAMP_RATE
  25967. * 0b00..Fast
  25968. * 0b01..Medium Fast
  25969. * 0b10..Medium Slow
  25970. * 0b11..Slow
  25971. */
  25972. #define PMU_REG_CORE_RAMP_RATE(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_RAMP_RATE_SHIFT)) & PMU_REG_CORE_RAMP_RATE_MASK)
  25973. #define PMU_REG_CORE_FET_ODRIVE_MASK (0x20000000U)
  25974. #define PMU_REG_CORE_FET_ODRIVE_SHIFT (29U)
  25975. #define PMU_REG_CORE_FET_ODRIVE(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_FET_ODRIVE_SHIFT)) & PMU_REG_CORE_FET_ODRIVE_MASK)
  25976. /*! @} */
  25977. /*! @name REG_CORE_SET - Digital Regulator Core Register */
  25978. /*! @{ */
  25979. #define PMU_REG_CORE_SET_REG0_TARG_MASK (0x1FU)
  25980. #define PMU_REG_CORE_SET_REG0_TARG_SHIFT (0U)
  25981. /*! REG0_TARG
  25982. * 0b00000..Power gated off
  25983. * 0b00001..Target core voltage = 0.725V
  25984. * 0b00010..Target core voltage = 0.750V
  25985. * 0b00011..Target core voltage = 0.775V
  25986. * 0b10000..Target core voltage = 1.100V
  25987. * 0b11110..Target core voltage = 1.450V
  25988. * 0b11111..Power FET switched full on. No regulation.
  25989. */
  25990. #define PMU_REG_CORE_SET_REG0_TARG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_SET_REG0_TARG_SHIFT)) & PMU_REG_CORE_SET_REG0_TARG_MASK)
  25991. #define PMU_REG_CORE_SET_REG0_ADJ_MASK (0x1E0U)
  25992. #define PMU_REG_CORE_SET_REG0_ADJ_SHIFT (5U)
  25993. /*! REG0_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg0. The
  25994. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  25995. * register.
  25996. * 0b0000..No adjustment
  25997. * 0b0001..+ 0.25%
  25998. * 0b0010..+ 0.50%
  25999. * 0b0011..+ 0.75%
  26000. * 0b0100..+ 1.00%
  26001. * 0b0101..+ 1.25%
  26002. * 0b0110..+ 1.50%
  26003. * 0b0111..+ 1.75%
  26004. * 0b1000..- 0.25%
  26005. * 0b1001..- 0.50%
  26006. * 0b1010..- 0.75%
  26007. * 0b1011..- 1.00%
  26008. * 0b1100..- 1.25%
  26009. * 0b1101..- 1.50%
  26010. * 0b1110..- 1.75%
  26011. * 0b1111..- 2.00%
  26012. */
  26013. #define PMU_REG_CORE_SET_REG0_ADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_SET_REG0_ADJ_SHIFT)) & PMU_REG_CORE_SET_REG0_ADJ_MASK)
  26014. #define PMU_REG_CORE_SET_REG1_TARG_MASK (0x3E00U)
  26015. #define PMU_REG_CORE_SET_REG1_TARG_SHIFT (9U)
  26016. /*! REG1_TARG - This bit field defines the target voltage for the vpu/gpu power domain. Single bit
  26017. * increments reflect 25mV core voltage steps. Not all steps will make sense to use either because
  26018. * of input supply limitations or load operation.
  26019. * 0b00000..Power gated off
  26020. * 0b00001..Target core voltage = 0.725V
  26021. * 0b00010..Target core voltage = 0.750V
  26022. * 0b00011..Target core voltage = 0.775V
  26023. * 0b10000..Target core voltage = 1.100V
  26024. * 0b11110..Target core voltage = 1.450V
  26025. * 0b11111..Power FET switched full on. No regulation.
  26026. */
  26027. #define PMU_REG_CORE_SET_REG1_TARG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_SET_REG1_TARG_SHIFT)) & PMU_REG_CORE_SET_REG1_TARG_MASK)
  26028. #define PMU_REG_CORE_SET_REG1_ADJ_MASK (0x3C000U)
  26029. #define PMU_REG_CORE_SET_REG1_ADJ_SHIFT (14U)
  26030. /*! REG1_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg1. The
  26031. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  26032. * register.
  26033. * 0b0000..No adjustment
  26034. * 0b0001..+ 0.25%
  26035. * 0b0010..+ 0.50%
  26036. * 0b0011..+ 0.75%
  26037. * 0b0100..+ 1.00%
  26038. * 0b0101..+ 1.25%
  26039. * 0b0110..+ 1.50%
  26040. * 0b0111..+ 1.75%
  26041. * 0b1000..- 0.25%
  26042. * 0b1001..- 0.50%
  26043. * 0b1010..- 0.75%
  26044. * 0b1011..- 1.00%
  26045. * 0b1100..- 1.25%
  26046. * 0b1101..- 1.50%
  26047. * 0b1110..- 1.75%
  26048. * 0b1111..- 2.00%
  26049. */
  26050. #define PMU_REG_CORE_SET_REG1_ADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_SET_REG1_ADJ_SHIFT)) & PMU_REG_CORE_SET_REG1_ADJ_MASK)
  26051. #define PMU_REG_CORE_SET_REG2_TARG_MASK (0x7C0000U)
  26052. #define PMU_REG_CORE_SET_REG2_TARG_SHIFT (18U)
  26053. /*! REG2_TARG
  26054. * 0b00000..Power gated off
  26055. * 0b00001..Target core voltage = 0.725V
  26056. * 0b00010..Target core voltage = 0.750V
  26057. * 0b00011..Target core voltage = 0.775V
  26058. * 0b10000..Target core voltage = 1.100V
  26059. * 0b11110..Target core voltage = 1.450V
  26060. * 0b11111..Power FET switched full on. No regulation.
  26061. */
  26062. #define PMU_REG_CORE_SET_REG2_TARG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_SET_REG2_TARG_SHIFT)) & PMU_REG_CORE_SET_REG2_TARG_MASK)
  26063. #define PMU_REG_CORE_SET_REG2_ADJ_MASK (0x7800000U)
  26064. #define PMU_REG_CORE_SET_REG2_ADJ_SHIFT (23U)
  26065. /*! REG2_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg2. The
  26066. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  26067. * register.
  26068. * 0b0000..No adjustment
  26069. * 0b0001..+ 0.25%
  26070. * 0b0010..+ 0.50%
  26071. * 0b0011..+ 0.75%
  26072. * 0b0100..+ 1.00%
  26073. * 0b0101..+ 1.25%
  26074. * 0b0110..+ 1.50%
  26075. * 0b0111..+ 1.75%
  26076. * 0b1000..- 0.25%
  26077. * 0b1001..- 0.50%
  26078. * 0b1010..- 0.75%
  26079. * 0b1011..- 1.00%
  26080. * 0b1100..- 1.25%
  26081. * 0b1101..- 1.50%
  26082. * 0b1110..- 1.75%
  26083. * 0b1111..- 2.00%
  26084. */
  26085. #define PMU_REG_CORE_SET_REG2_ADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_SET_REG2_ADJ_SHIFT)) & PMU_REG_CORE_SET_REG2_ADJ_MASK)
  26086. #define PMU_REG_CORE_SET_RAMP_RATE_MASK (0x18000000U)
  26087. #define PMU_REG_CORE_SET_RAMP_RATE_SHIFT (27U)
  26088. /*! RAMP_RATE
  26089. * 0b00..Fast
  26090. * 0b01..Medium Fast
  26091. * 0b10..Medium Slow
  26092. * 0b11..Slow
  26093. */
  26094. #define PMU_REG_CORE_SET_RAMP_RATE(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_SET_RAMP_RATE_SHIFT)) & PMU_REG_CORE_SET_RAMP_RATE_MASK)
  26095. #define PMU_REG_CORE_SET_FET_ODRIVE_MASK (0x20000000U)
  26096. #define PMU_REG_CORE_SET_FET_ODRIVE_SHIFT (29U)
  26097. #define PMU_REG_CORE_SET_FET_ODRIVE(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_SET_FET_ODRIVE_SHIFT)) & PMU_REG_CORE_SET_FET_ODRIVE_MASK)
  26098. /*! @} */
  26099. /*! @name REG_CORE_CLR - Digital Regulator Core Register */
  26100. /*! @{ */
  26101. #define PMU_REG_CORE_CLR_REG0_TARG_MASK (0x1FU)
  26102. #define PMU_REG_CORE_CLR_REG0_TARG_SHIFT (0U)
  26103. /*! REG0_TARG
  26104. * 0b00000..Power gated off
  26105. * 0b00001..Target core voltage = 0.725V
  26106. * 0b00010..Target core voltage = 0.750V
  26107. * 0b00011..Target core voltage = 0.775V
  26108. * 0b10000..Target core voltage = 1.100V
  26109. * 0b11110..Target core voltage = 1.450V
  26110. * 0b11111..Power FET switched full on. No regulation.
  26111. */
  26112. #define PMU_REG_CORE_CLR_REG0_TARG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_CLR_REG0_TARG_SHIFT)) & PMU_REG_CORE_CLR_REG0_TARG_MASK)
  26113. #define PMU_REG_CORE_CLR_REG0_ADJ_MASK (0x1E0U)
  26114. #define PMU_REG_CORE_CLR_REG0_ADJ_SHIFT (5U)
  26115. /*! REG0_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg0. The
  26116. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  26117. * register.
  26118. * 0b0000..No adjustment
  26119. * 0b0001..+ 0.25%
  26120. * 0b0010..+ 0.50%
  26121. * 0b0011..+ 0.75%
  26122. * 0b0100..+ 1.00%
  26123. * 0b0101..+ 1.25%
  26124. * 0b0110..+ 1.50%
  26125. * 0b0111..+ 1.75%
  26126. * 0b1000..- 0.25%
  26127. * 0b1001..- 0.50%
  26128. * 0b1010..- 0.75%
  26129. * 0b1011..- 1.00%
  26130. * 0b1100..- 1.25%
  26131. * 0b1101..- 1.50%
  26132. * 0b1110..- 1.75%
  26133. * 0b1111..- 2.00%
  26134. */
  26135. #define PMU_REG_CORE_CLR_REG0_ADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_CLR_REG0_ADJ_SHIFT)) & PMU_REG_CORE_CLR_REG0_ADJ_MASK)
  26136. #define PMU_REG_CORE_CLR_REG1_TARG_MASK (0x3E00U)
  26137. #define PMU_REG_CORE_CLR_REG1_TARG_SHIFT (9U)
  26138. /*! REG1_TARG - This bit field defines the target voltage for the vpu/gpu power domain. Single bit
  26139. * increments reflect 25mV core voltage steps. Not all steps will make sense to use either because
  26140. * of input supply limitations or load operation.
  26141. * 0b00000..Power gated off
  26142. * 0b00001..Target core voltage = 0.725V
  26143. * 0b00010..Target core voltage = 0.750V
  26144. * 0b00011..Target core voltage = 0.775V
  26145. * 0b10000..Target core voltage = 1.100V
  26146. * 0b11110..Target core voltage = 1.450V
  26147. * 0b11111..Power FET switched full on. No regulation.
  26148. */
  26149. #define PMU_REG_CORE_CLR_REG1_TARG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_CLR_REG1_TARG_SHIFT)) & PMU_REG_CORE_CLR_REG1_TARG_MASK)
  26150. #define PMU_REG_CORE_CLR_REG1_ADJ_MASK (0x3C000U)
  26151. #define PMU_REG_CORE_CLR_REG1_ADJ_SHIFT (14U)
  26152. /*! REG1_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg1. The
  26153. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  26154. * register.
  26155. * 0b0000..No adjustment
  26156. * 0b0001..+ 0.25%
  26157. * 0b0010..+ 0.50%
  26158. * 0b0011..+ 0.75%
  26159. * 0b0100..+ 1.00%
  26160. * 0b0101..+ 1.25%
  26161. * 0b0110..+ 1.50%
  26162. * 0b0111..+ 1.75%
  26163. * 0b1000..- 0.25%
  26164. * 0b1001..- 0.50%
  26165. * 0b1010..- 0.75%
  26166. * 0b1011..- 1.00%
  26167. * 0b1100..- 1.25%
  26168. * 0b1101..- 1.50%
  26169. * 0b1110..- 1.75%
  26170. * 0b1111..- 2.00%
  26171. */
  26172. #define PMU_REG_CORE_CLR_REG1_ADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_CLR_REG1_ADJ_SHIFT)) & PMU_REG_CORE_CLR_REG1_ADJ_MASK)
  26173. #define PMU_REG_CORE_CLR_REG2_TARG_MASK (0x7C0000U)
  26174. #define PMU_REG_CORE_CLR_REG2_TARG_SHIFT (18U)
  26175. /*! REG2_TARG
  26176. * 0b00000..Power gated off
  26177. * 0b00001..Target core voltage = 0.725V
  26178. * 0b00010..Target core voltage = 0.750V
  26179. * 0b00011..Target core voltage = 0.775V
  26180. * 0b10000..Target core voltage = 1.100V
  26181. * 0b11110..Target core voltage = 1.450V
  26182. * 0b11111..Power FET switched full on. No regulation.
  26183. */
  26184. #define PMU_REG_CORE_CLR_REG2_TARG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_CLR_REG2_TARG_SHIFT)) & PMU_REG_CORE_CLR_REG2_TARG_MASK)
  26185. #define PMU_REG_CORE_CLR_REG2_ADJ_MASK (0x7800000U)
  26186. #define PMU_REG_CORE_CLR_REG2_ADJ_SHIFT (23U)
  26187. /*! REG2_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg2. The
  26188. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  26189. * register.
  26190. * 0b0000..No adjustment
  26191. * 0b0001..+ 0.25%
  26192. * 0b0010..+ 0.50%
  26193. * 0b0011..+ 0.75%
  26194. * 0b0100..+ 1.00%
  26195. * 0b0101..+ 1.25%
  26196. * 0b0110..+ 1.50%
  26197. * 0b0111..+ 1.75%
  26198. * 0b1000..- 0.25%
  26199. * 0b1001..- 0.50%
  26200. * 0b1010..- 0.75%
  26201. * 0b1011..- 1.00%
  26202. * 0b1100..- 1.25%
  26203. * 0b1101..- 1.50%
  26204. * 0b1110..- 1.75%
  26205. * 0b1111..- 2.00%
  26206. */
  26207. #define PMU_REG_CORE_CLR_REG2_ADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_CLR_REG2_ADJ_SHIFT)) & PMU_REG_CORE_CLR_REG2_ADJ_MASK)
  26208. #define PMU_REG_CORE_CLR_RAMP_RATE_MASK (0x18000000U)
  26209. #define PMU_REG_CORE_CLR_RAMP_RATE_SHIFT (27U)
  26210. /*! RAMP_RATE
  26211. * 0b00..Fast
  26212. * 0b01..Medium Fast
  26213. * 0b10..Medium Slow
  26214. * 0b11..Slow
  26215. */
  26216. #define PMU_REG_CORE_CLR_RAMP_RATE(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_CLR_RAMP_RATE_SHIFT)) & PMU_REG_CORE_CLR_RAMP_RATE_MASK)
  26217. #define PMU_REG_CORE_CLR_FET_ODRIVE_MASK (0x20000000U)
  26218. #define PMU_REG_CORE_CLR_FET_ODRIVE_SHIFT (29U)
  26219. #define PMU_REG_CORE_CLR_FET_ODRIVE(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_CLR_FET_ODRIVE_SHIFT)) & PMU_REG_CORE_CLR_FET_ODRIVE_MASK)
  26220. /*! @} */
  26221. /*! @name REG_CORE_TOG - Digital Regulator Core Register */
  26222. /*! @{ */
  26223. #define PMU_REG_CORE_TOG_REG0_TARG_MASK (0x1FU)
  26224. #define PMU_REG_CORE_TOG_REG0_TARG_SHIFT (0U)
  26225. /*! REG0_TARG
  26226. * 0b00000..Power gated off
  26227. * 0b00001..Target core voltage = 0.725V
  26228. * 0b00010..Target core voltage = 0.750V
  26229. * 0b00011..Target core voltage = 0.775V
  26230. * 0b10000..Target core voltage = 1.100V
  26231. * 0b11110..Target core voltage = 1.450V
  26232. * 0b11111..Power FET switched full on. No regulation.
  26233. */
  26234. #define PMU_REG_CORE_TOG_REG0_TARG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_TOG_REG0_TARG_SHIFT)) & PMU_REG_CORE_TOG_REG0_TARG_MASK)
  26235. #define PMU_REG_CORE_TOG_REG0_ADJ_MASK (0x1E0U)
  26236. #define PMU_REG_CORE_TOG_REG0_ADJ_SHIFT (5U)
  26237. /*! REG0_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg0. The
  26238. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  26239. * register.
  26240. * 0b0000..No adjustment
  26241. * 0b0001..+ 0.25%
  26242. * 0b0010..+ 0.50%
  26243. * 0b0011..+ 0.75%
  26244. * 0b0100..+ 1.00%
  26245. * 0b0101..+ 1.25%
  26246. * 0b0110..+ 1.50%
  26247. * 0b0111..+ 1.75%
  26248. * 0b1000..- 0.25%
  26249. * 0b1001..- 0.50%
  26250. * 0b1010..- 0.75%
  26251. * 0b1011..- 1.00%
  26252. * 0b1100..- 1.25%
  26253. * 0b1101..- 1.50%
  26254. * 0b1110..- 1.75%
  26255. * 0b1111..- 2.00%
  26256. */
  26257. #define PMU_REG_CORE_TOG_REG0_ADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_TOG_REG0_ADJ_SHIFT)) & PMU_REG_CORE_TOG_REG0_ADJ_MASK)
  26258. #define PMU_REG_CORE_TOG_REG1_TARG_MASK (0x3E00U)
  26259. #define PMU_REG_CORE_TOG_REG1_TARG_SHIFT (9U)
  26260. /*! REG1_TARG - This bit field defines the target voltage for the vpu/gpu power domain. Single bit
  26261. * increments reflect 25mV core voltage steps. Not all steps will make sense to use either because
  26262. * of input supply limitations or load operation.
  26263. * 0b00000..Power gated off
  26264. * 0b00001..Target core voltage = 0.725V
  26265. * 0b00010..Target core voltage = 0.750V
  26266. * 0b00011..Target core voltage = 0.775V
  26267. * 0b10000..Target core voltage = 1.100V
  26268. * 0b11110..Target core voltage = 1.450V
  26269. * 0b11111..Power FET switched full on. No regulation.
  26270. */
  26271. #define PMU_REG_CORE_TOG_REG1_TARG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_TOG_REG1_TARG_SHIFT)) & PMU_REG_CORE_TOG_REG1_TARG_MASK)
  26272. #define PMU_REG_CORE_TOG_REG1_ADJ_MASK (0x3C000U)
  26273. #define PMU_REG_CORE_TOG_REG1_ADJ_SHIFT (14U)
  26274. /*! REG1_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg1. The
  26275. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  26276. * register.
  26277. * 0b0000..No adjustment
  26278. * 0b0001..+ 0.25%
  26279. * 0b0010..+ 0.50%
  26280. * 0b0011..+ 0.75%
  26281. * 0b0100..+ 1.00%
  26282. * 0b0101..+ 1.25%
  26283. * 0b0110..+ 1.50%
  26284. * 0b0111..+ 1.75%
  26285. * 0b1000..- 0.25%
  26286. * 0b1001..- 0.50%
  26287. * 0b1010..- 0.75%
  26288. * 0b1011..- 1.00%
  26289. * 0b1100..- 1.25%
  26290. * 0b1101..- 1.50%
  26291. * 0b1110..- 1.75%
  26292. * 0b1111..- 2.00%
  26293. */
  26294. #define PMU_REG_CORE_TOG_REG1_ADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_TOG_REG1_ADJ_SHIFT)) & PMU_REG_CORE_TOG_REG1_ADJ_MASK)
  26295. #define PMU_REG_CORE_TOG_REG2_TARG_MASK (0x7C0000U)
  26296. #define PMU_REG_CORE_TOG_REG2_TARG_SHIFT (18U)
  26297. /*! REG2_TARG
  26298. * 0b00000..Power gated off
  26299. * 0b00001..Target core voltage = 0.725V
  26300. * 0b00010..Target core voltage = 0.750V
  26301. * 0b00011..Target core voltage = 0.775V
  26302. * 0b10000..Target core voltage = 1.100V
  26303. * 0b11110..Target core voltage = 1.450V
  26304. * 0b11111..Power FET switched full on. No regulation.
  26305. */
  26306. #define PMU_REG_CORE_TOG_REG2_TARG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_TOG_REG2_TARG_SHIFT)) & PMU_REG_CORE_TOG_REG2_TARG_MASK)
  26307. #define PMU_REG_CORE_TOG_REG2_ADJ_MASK (0x7800000U)
  26308. #define PMU_REG_CORE_TOG_REG2_ADJ_SHIFT (23U)
  26309. /*! REG2_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg2. The
  26310. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  26311. * register.
  26312. * 0b0000..No adjustment
  26313. * 0b0001..+ 0.25%
  26314. * 0b0010..+ 0.50%
  26315. * 0b0011..+ 0.75%
  26316. * 0b0100..+ 1.00%
  26317. * 0b0101..+ 1.25%
  26318. * 0b0110..+ 1.50%
  26319. * 0b0111..+ 1.75%
  26320. * 0b1000..- 0.25%
  26321. * 0b1001..- 0.50%
  26322. * 0b1010..- 0.75%
  26323. * 0b1011..- 1.00%
  26324. * 0b1100..- 1.25%
  26325. * 0b1101..- 1.50%
  26326. * 0b1110..- 1.75%
  26327. * 0b1111..- 2.00%
  26328. */
  26329. #define PMU_REG_CORE_TOG_REG2_ADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_TOG_REG2_ADJ_SHIFT)) & PMU_REG_CORE_TOG_REG2_ADJ_MASK)
  26330. #define PMU_REG_CORE_TOG_RAMP_RATE_MASK (0x18000000U)
  26331. #define PMU_REG_CORE_TOG_RAMP_RATE_SHIFT (27U)
  26332. /*! RAMP_RATE
  26333. * 0b00..Fast
  26334. * 0b01..Medium Fast
  26335. * 0b10..Medium Slow
  26336. * 0b11..Slow
  26337. */
  26338. #define PMU_REG_CORE_TOG_RAMP_RATE(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_TOG_RAMP_RATE_SHIFT)) & PMU_REG_CORE_TOG_RAMP_RATE_MASK)
  26339. #define PMU_REG_CORE_TOG_FET_ODRIVE_MASK (0x20000000U)
  26340. #define PMU_REG_CORE_TOG_FET_ODRIVE_SHIFT (29U)
  26341. #define PMU_REG_CORE_TOG_FET_ODRIVE(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_TOG_FET_ODRIVE_SHIFT)) & PMU_REG_CORE_TOG_FET_ODRIVE_MASK)
  26342. /*! @} */
  26343. /*! @name MISC0 - Miscellaneous Register 0 */
  26344. /*! @{ */
  26345. #define PMU_MISC0_REFTOP_PWD_MASK (0x1U)
  26346. #define PMU_MISC0_REFTOP_PWD_SHIFT (0U)
  26347. #define PMU_MISC0_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_REFTOP_PWD_SHIFT)) & PMU_MISC0_REFTOP_PWD_MASK)
  26348. #define PMU_MISC0_REFTOP_PWDVBGUP_MASK (0x2U)
  26349. #define PMU_MISC0_REFTOP_PWDVBGUP_SHIFT (1U)
  26350. #define PMU_MISC0_REFTOP_PWDVBGUP(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_REFTOP_PWDVBGUP_SHIFT)) & PMU_MISC0_REFTOP_PWDVBGUP_MASK)
  26351. #define PMU_MISC0_REFTOP_LOWPOWER_MASK (0x4U)
  26352. #define PMU_MISC0_REFTOP_LOWPOWER_SHIFT (2U)
  26353. #define PMU_MISC0_REFTOP_LOWPOWER(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_REFTOP_LOWPOWER_SHIFT)) & PMU_MISC0_REFTOP_LOWPOWER_MASK)
  26354. #define PMU_MISC0_REFTOP_SELFBIASOFF_MASK (0x8U)
  26355. #define PMU_MISC0_REFTOP_SELFBIASOFF_SHIFT (3U)
  26356. /*! REFTOP_SELFBIASOFF
  26357. * 0b0..Uses coarse bias currents for startup
  26358. * 0b1..Uses bandgap-based bias currents for best performance.
  26359. */
  26360. #define PMU_MISC0_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_REFTOP_SELFBIASOFF_SHIFT)) & PMU_MISC0_REFTOP_SELFBIASOFF_MASK)
  26361. #define PMU_MISC0_REFTOP_VBGADJ_MASK (0x70U)
  26362. #define PMU_MISC0_REFTOP_VBGADJ_SHIFT (4U)
  26363. /*! REFTOP_VBGADJ
  26364. * 0b000..Nominal VBG
  26365. * 0b001..VBG+0.78%
  26366. * 0b010..VBG+1.56%
  26367. * 0b011..VBG+2.34%
  26368. * 0b100..VBG-0.78%
  26369. * 0b101..VBG-1.56%
  26370. * 0b110..VBG-2.34%
  26371. * 0b111..VBG-3.12%
  26372. */
  26373. #define PMU_MISC0_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_REFTOP_VBGADJ_SHIFT)) & PMU_MISC0_REFTOP_VBGADJ_MASK)
  26374. #define PMU_MISC0_REFTOP_VBGUP_MASK (0x80U)
  26375. #define PMU_MISC0_REFTOP_VBGUP_SHIFT (7U)
  26376. #define PMU_MISC0_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_REFTOP_VBGUP_SHIFT)) & PMU_MISC0_REFTOP_VBGUP_MASK)
  26377. #define PMU_MISC0_STOP_MODE_CONFIG_MASK (0xC00U)
  26378. #define PMU_MISC0_STOP_MODE_CONFIG_SHIFT (10U)
  26379. /*! STOP_MODE_CONFIG
  26380. * 0b00..SUSPEND (DSM)
  26381. * 0b01..Analog regulators are ON.
  26382. * 0b10..STOP (lower power)
  26383. * 0b11..STOP (very lower power)
  26384. */
  26385. #define PMU_MISC0_STOP_MODE_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_STOP_MODE_CONFIG_SHIFT)) & PMU_MISC0_STOP_MODE_CONFIG_MASK)
  26386. #define PMU_MISC0_DISCON_HIGH_SNVS_MASK (0x1000U)
  26387. #define PMU_MISC0_DISCON_HIGH_SNVS_SHIFT (12U)
  26388. /*! DISCON_HIGH_SNVS
  26389. * 0b0..Turn on the switch
  26390. * 0b1..Turn off the switch
  26391. */
  26392. #define PMU_MISC0_DISCON_HIGH_SNVS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_DISCON_HIGH_SNVS_SHIFT)) & PMU_MISC0_DISCON_HIGH_SNVS_MASK)
  26393. #define PMU_MISC0_OSC_I_MASK (0x6000U)
  26394. #define PMU_MISC0_OSC_I_SHIFT (13U)
  26395. /*! OSC_I
  26396. * 0b00..Nominal
  26397. * 0b01..Decrease current by 12.5%
  26398. * 0b10..Decrease current by 25.0%
  26399. * 0b11..Decrease current by 37.5%
  26400. */
  26401. #define PMU_MISC0_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_OSC_I_SHIFT)) & PMU_MISC0_OSC_I_MASK)
  26402. #define PMU_MISC0_OSC_XTALOK_MASK (0x8000U)
  26403. #define PMU_MISC0_OSC_XTALOK_SHIFT (15U)
  26404. #define PMU_MISC0_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_OSC_XTALOK_SHIFT)) & PMU_MISC0_OSC_XTALOK_MASK)
  26405. #define PMU_MISC0_OSC_XTALOK_EN_MASK (0x10000U)
  26406. #define PMU_MISC0_OSC_XTALOK_EN_SHIFT (16U)
  26407. #define PMU_MISC0_OSC_XTALOK_EN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_OSC_XTALOK_EN_SHIFT)) & PMU_MISC0_OSC_XTALOK_EN_MASK)
  26408. #define PMU_MISC0_CLKGATE_CTRL_MASK (0x2000000U)
  26409. #define PMU_MISC0_CLKGATE_CTRL_SHIFT (25U)
  26410. /*! CLKGATE_CTRL
  26411. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  26412. * 0b1..Prevent the logic from ever gating off the clock.
  26413. */
  26414. #define PMU_MISC0_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLKGATE_CTRL_SHIFT)) & PMU_MISC0_CLKGATE_CTRL_MASK)
  26415. #define PMU_MISC0_CLKGATE_DELAY_MASK (0x1C000000U)
  26416. #define PMU_MISC0_CLKGATE_DELAY_SHIFT (26U)
  26417. /*! CLKGATE_DELAY
  26418. * 0b000..0.5ms
  26419. * 0b001..1.0ms
  26420. * 0b010..2.0ms
  26421. * 0b011..3.0ms
  26422. * 0b100..4.0ms
  26423. * 0b101..5.0ms
  26424. * 0b110..6.0ms
  26425. * 0b111..7.0ms
  26426. */
  26427. #define PMU_MISC0_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLKGATE_DELAY_SHIFT)) & PMU_MISC0_CLKGATE_DELAY_MASK)
  26428. #define PMU_MISC0_RTC_XTAL_SOURCE_MASK (0x20000000U)
  26429. #define PMU_MISC0_RTC_XTAL_SOURCE_SHIFT (29U)
  26430. /*! RTC_XTAL_SOURCE
  26431. * 0b0..Internal ring oscillator
  26432. * 0b1..RTC_XTAL
  26433. */
  26434. #define PMU_MISC0_RTC_XTAL_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_RTC_XTAL_SOURCE_SHIFT)) & PMU_MISC0_RTC_XTAL_SOURCE_MASK)
  26435. #define PMU_MISC0_XTAL_24M_PWD_MASK (0x40000000U)
  26436. #define PMU_MISC0_XTAL_24M_PWD_SHIFT (30U)
  26437. #define PMU_MISC0_XTAL_24M_PWD(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_XTAL_24M_PWD_SHIFT)) & PMU_MISC0_XTAL_24M_PWD_MASK)
  26438. /*! @} */
  26439. /*! @name MISC0_SET - Miscellaneous Register 0 */
  26440. /*! @{ */
  26441. #define PMU_MISC0_SET_REFTOP_PWD_MASK (0x1U)
  26442. #define PMU_MISC0_SET_REFTOP_PWD_SHIFT (0U)
  26443. #define PMU_MISC0_SET_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_REFTOP_PWD_SHIFT)) & PMU_MISC0_SET_REFTOP_PWD_MASK)
  26444. #define PMU_MISC0_SET_REFTOP_PWDVBGUP_MASK (0x2U)
  26445. #define PMU_MISC0_SET_REFTOP_PWDVBGUP_SHIFT (1U)
  26446. #define PMU_MISC0_SET_REFTOP_PWDVBGUP(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_REFTOP_PWDVBGUP_SHIFT)) & PMU_MISC0_SET_REFTOP_PWDVBGUP_MASK)
  26447. #define PMU_MISC0_SET_REFTOP_LOWPOWER_MASK (0x4U)
  26448. #define PMU_MISC0_SET_REFTOP_LOWPOWER_SHIFT (2U)
  26449. #define PMU_MISC0_SET_REFTOP_LOWPOWER(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_REFTOP_LOWPOWER_SHIFT)) & PMU_MISC0_SET_REFTOP_LOWPOWER_MASK)
  26450. #define PMU_MISC0_SET_REFTOP_SELFBIASOFF_MASK (0x8U)
  26451. #define PMU_MISC0_SET_REFTOP_SELFBIASOFF_SHIFT (3U)
  26452. /*! REFTOP_SELFBIASOFF
  26453. * 0b0..Uses coarse bias currents for startup
  26454. * 0b1..Uses bandgap-based bias currents for best performance.
  26455. */
  26456. #define PMU_MISC0_SET_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_REFTOP_SELFBIASOFF_SHIFT)) & PMU_MISC0_SET_REFTOP_SELFBIASOFF_MASK)
  26457. #define PMU_MISC0_SET_REFTOP_VBGADJ_MASK (0x70U)
  26458. #define PMU_MISC0_SET_REFTOP_VBGADJ_SHIFT (4U)
  26459. /*! REFTOP_VBGADJ
  26460. * 0b000..Nominal VBG
  26461. * 0b001..VBG+0.78%
  26462. * 0b010..VBG+1.56%
  26463. * 0b011..VBG+2.34%
  26464. * 0b100..VBG-0.78%
  26465. * 0b101..VBG-1.56%
  26466. * 0b110..VBG-2.34%
  26467. * 0b111..VBG-3.12%
  26468. */
  26469. #define PMU_MISC0_SET_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_REFTOP_VBGADJ_SHIFT)) & PMU_MISC0_SET_REFTOP_VBGADJ_MASK)
  26470. #define PMU_MISC0_SET_REFTOP_VBGUP_MASK (0x80U)
  26471. #define PMU_MISC0_SET_REFTOP_VBGUP_SHIFT (7U)
  26472. #define PMU_MISC0_SET_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_REFTOP_VBGUP_SHIFT)) & PMU_MISC0_SET_REFTOP_VBGUP_MASK)
  26473. #define PMU_MISC0_SET_STOP_MODE_CONFIG_MASK (0xC00U)
  26474. #define PMU_MISC0_SET_STOP_MODE_CONFIG_SHIFT (10U)
  26475. /*! STOP_MODE_CONFIG
  26476. * 0b00..SUSPEND (DSM)
  26477. * 0b01..Analog regulators are ON.
  26478. * 0b10..STOP (lower power)
  26479. * 0b11..STOP (very lower power)
  26480. */
  26481. #define PMU_MISC0_SET_STOP_MODE_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_STOP_MODE_CONFIG_SHIFT)) & PMU_MISC0_SET_STOP_MODE_CONFIG_MASK)
  26482. #define PMU_MISC0_SET_DISCON_HIGH_SNVS_MASK (0x1000U)
  26483. #define PMU_MISC0_SET_DISCON_HIGH_SNVS_SHIFT (12U)
  26484. /*! DISCON_HIGH_SNVS
  26485. * 0b0..Turn on the switch
  26486. * 0b1..Turn off the switch
  26487. */
  26488. #define PMU_MISC0_SET_DISCON_HIGH_SNVS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_DISCON_HIGH_SNVS_SHIFT)) & PMU_MISC0_SET_DISCON_HIGH_SNVS_MASK)
  26489. #define PMU_MISC0_SET_OSC_I_MASK (0x6000U)
  26490. #define PMU_MISC0_SET_OSC_I_SHIFT (13U)
  26491. /*! OSC_I
  26492. * 0b00..Nominal
  26493. * 0b01..Decrease current by 12.5%
  26494. * 0b10..Decrease current by 25.0%
  26495. * 0b11..Decrease current by 37.5%
  26496. */
  26497. #define PMU_MISC0_SET_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_OSC_I_SHIFT)) & PMU_MISC0_SET_OSC_I_MASK)
  26498. #define PMU_MISC0_SET_OSC_XTALOK_MASK (0x8000U)
  26499. #define PMU_MISC0_SET_OSC_XTALOK_SHIFT (15U)
  26500. #define PMU_MISC0_SET_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_OSC_XTALOK_SHIFT)) & PMU_MISC0_SET_OSC_XTALOK_MASK)
  26501. #define PMU_MISC0_SET_OSC_XTALOK_EN_MASK (0x10000U)
  26502. #define PMU_MISC0_SET_OSC_XTALOK_EN_SHIFT (16U)
  26503. #define PMU_MISC0_SET_OSC_XTALOK_EN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_OSC_XTALOK_EN_SHIFT)) & PMU_MISC0_SET_OSC_XTALOK_EN_MASK)
  26504. #define PMU_MISC0_SET_CLKGATE_CTRL_MASK (0x2000000U)
  26505. #define PMU_MISC0_SET_CLKGATE_CTRL_SHIFT (25U)
  26506. /*! CLKGATE_CTRL
  26507. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  26508. * 0b1..Prevent the logic from ever gating off the clock.
  26509. */
  26510. #define PMU_MISC0_SET_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_CLKGATE_CTRL_SHIFT)) & PMU_MISC0_SET_CLKGATE_CTRL_MASK)
  26511. #define PMU_MISC0_SET_CLKGATE_DELAY_MASK (0x1C000000U)
  26512. #define PMU_MISC0_SET_CLKGATE_DELAY_SHIFT (26U)
  26513. /*! CLKGATE_DELAY
  26514. * 0b000..0.5ms
  26515. * 0b001..1.0ms
  26516. * 0b010..2.0ms
  26517. * 0b011..3.0ms
  26518. * 0b100..4.0ms
  26519. * 0b101..5.0ms
  26520. * 0b110..6.0ms
  26521. * 0b111..7.0ms
  26522. */
  26523. #define PMU_MISC0_SET_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_CLKGATE_DELAY_SHIFT)) & PMU_MISC0_SET_CLKGATE_DELAY_MASK)
  26524. #define PMU_MISC0_SET_RTC_XTAL_SOURCE_MASK (0x20000000U)
  26525. #define PMU_MISC0_SET_RTC_XTAL_SOURCE_SHIFT (29U)
  26526. /*! RTC_XTAL_SOURCE
  26527. * 0b0..Internal ring oscillator
  26528. * 0b1..RTC_XTAL
  26529. */
  26530. #define PMU_MISC0_SET_RTC_XTAL_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_RTC_XTAL_SOURCE_SHIFT)) & PMU_MISC0_SET_RTC_XTAL_SOURCE_MASK)
  26531. #define PMU_MISC0_SET_XTAL_24M_PWD_MASK (0x40000000U)
  26532. #define PMU_MISC0_SET_XTAL_24M_PWD_SHIFT (30U)
  26533. #define PMU_MISC0_SET_XTAL_24M_PWD(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_XTAL_24M_PWD_SHIFT)) & PMU_MISC0_SET_XTAL_24M_PWD_MASK)
  26534. /*! @} */
  26535. /*! @name MISC0_CLR - Miscellaneous Register 0 */
  26536. /*! @{ */
  26537. #define PMU_MISC0_CLR_REFTOP_PWD_MASK (0x1U)
  26538. #define PMU_MISC0_CLR_REFTOP_PWD_SHIFT (0U)
  26539. #define PMU_MISC0_CLR_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_REFTOP_PWD_SHIFT)) & PMU_MISC0_CLR_REFTOP_PWD_MASK)
  26540. #define PMU_MISC0_CLR_REFTOP_PWDVBGUP_MASK (0x2U)
  26541. #define PMU_MISC0_CLR_REFTOP_PWDVBGUP_SHIFT (1U)
  26542. #define PMU_MISC0_CLR_REFTOP_PWDVBGUP(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_REFTOP_PWDVBGUP_SHIFT)) & PMU_MISC0_CLR_REFTOP_PWDVBGUP_MASK)
  26543. #define PMU_MISC0_CLR_REFTOP_LOWPOWER_MASK (0x4U)
  26544. #define PMU_MISC0_CLR_REFTOP_LOWPOWER_SHIFT (2U)
  26545. #define PMU_MISC0_CLR_REFTOP_LOWPOWER(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_REFTOP_LOWPOWER_SHIFT)) & PMU_MISC0_CLR_REFTOP_LOWPOWER_MASK)
  26546. #define PMU_MISC0_CLR_REFTOP_SELFBIASOFF_MASK (0x8U)
  26547. #define PMU_MISC0_CLR_REFTOP_SELFBIASOFF_SHIFT (3U)
  26548. /*! REFTOP_SELFBIASOFF
  26549. * 0b0..Uses coarse bias currents for startup
  26550. * 0b1..Uses bandgap-based bias currents for best performance.
  26551. */
  26552. #define PMU_MISC0_CLR_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_REFTOP_SELFBIASOFF_SHIFT)) & PMU_MISC0_CLR_REFTOP_SELFBIASOFF_MASK)
  26553. #define PMU_MISC0_CLR_REFTOP_VBGADJ_MASK (0x70U)
  26554. #define PMU_MISC0_CLR_REFTOP_VBGADJ_SHIFT (4U)
  26555. /*! REFTOP_VBGADJ
  26556. * 0b000..Nominal VBG
  26557. * 0b001..VBG+0.78%
  26558. * 0b010..VBG+1.56%
  26559. * 0b011..VBG+2.34%
  26560. * 0b100..VBG-0.78%
  26561. * 0b101..VBG-1.56%
  26562. * 0b110..VBG-2.34%
  26563. * 0b111..VBG-3.12%
  26564. */
  26565. #define PMU_MISC0_CLR_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_REFTOP_VBGADJ_SHIFT)) & PMU_MISC0_CLR_REFTOP_VBGADJ_MASK)
  26566. #define PMU_MISC0_CLR_REFTOP_VBGUP_MASK (0x80U)
  26567. #define PMU_MISC0_CLR_REFTOP_VBGUP_SHIFT (7U)
  26568. #define PMU_MISC0_CLR_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_REFTOP_VBGUP_SHIFT)) & PMU_MISC0_CLR_REFTOP_VBGUP_MASK)
  26569. #define PMU_MISC0_CLR_STOP_MODE_CONFIG_MASK (0xC00U)
  26570. #define PMU_MISC0_CLR_STOP_MODE_CONFIG_SHIFT (10U)
  26571. /*! STOP_MODE_CONFIG
  26572. * 0b00..SUSPEND (DSM)
  26573. * 0b01..Analog regulators are ON.
  26574. * 0b10..STOP (lower power)
  26575. * 0b11..STOP (very lower power)
  26576. */
  26577. #define PMU_MISC0_CLR_STOP_MODE_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_STOP_MODE_CONFIG_SHIFT)) & PMU_MISC0_CLR_STOP_MODE_CONFIG_MASK)
  26578. #define PMU_MISC0_CLR_DISCON_HIGH_SNVS_MASK (0x1000U)
  26579. #define PMU_MISC0_CLR_DISCON_HIGH_SNVS_SHIFT (12U)
  26580. /*! DISCON_HIGH_SNVS
  26581. * 0b0..Turn on the switch
  26582. * 0b1..Turn off the switch
  26583. */
  26584. #define PMU_MISC0_CLR_DISCON_HIGH_SNVS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_DISCON_HIGH_SNVS_SHIFT)) & PMU_MISC0_CLR_DISCON_HIGH_SNVS_MASK)
  26585. #define PMU_MISC0_CLR_OSC_I_MASK (0x6000U)
  26586. #define PMU_MISC0_CLR_OSC_I_SHIFT (13U)
  26587. /*! OSC_I
  26588. * 0b00..Nominal
  26589. * 0b01..Decrease current by 12.5%
  26590. * 0b10..Decrease current by 25.0%
  26591. * 0b11..Decrease current by 37.5%
  26592. */
  26593. #define PMU_MISC0_CLR_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_OSC_I_SHIFT)) & PMU_MISC0_CLR_OSC_I_MASK)
  26594. #define PMU_MISC0_CLR_OSC_XTALOK_MASK (0x8000U)
  26595. #define PMU_MISC0_CLR_OSC_XTALOK_SHIFT (15U)
  26596. #define PMU_MISC0_CLR_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_OSC_XTALOK_SHIFT)) & PMU_MISC0_CLR_OSC_XTALOK_MASK)
  26597. #define PMU_MISC0_CLR_OSC_XTALOK_EN_MASK (0x10000U)
  26598. #define PMU_MISC0_CLR_OSC_XTALOK_EN_SHIFT (16U)
  26599. #define PMU_MISC0_CLR_OSC_XTALOK_EN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_OSC_XTALOK_EN_SHIFT)) & PMU_MISC0_CLR_OSC_XTALOK_EN_MASK)
  26600. #define PMU_MISC0_CLR_CLKGATE_CTRL_MASK (0x2000000U)
  26601. #define PMU_MISC0_CLR_CLKGATE_CTRL_SHIFT (25U)
  26602. /*! CLKGATE_CTRL
  26603. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  26604. * 0b1..Prevent the logic from ever gating off the clock.
  26605. */
  26606. #define PMU_MISC0_CLR_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_CLKGATE_CTRL_SHIFT)) & PMU_MISC0_CLR_CLKGATE_CTRL_MASK)
  26607. #define PMU_MISC0_CLR_CLKGATE_DELAY_MASK (0x1C000000U)
  26608. #define PMU_MISC0_CLR_CLKGATE_DELAY_SHIFT (26U)
  26609. /*! CLKGATE_DELAY
  26610. * 0b000..0.5ms
  26611. * 0b001..1.0ms
  26612. * 0b010..2.0ms
  26613. * 0b011..3.0ms
  26614. * 0b100..4.0ms
  26615. * 0b101..5.0ms
  26616. * 0b110..6.0ms
  26617. * 0b111..7.0ms
  26618. */
  26619. #define PMU_MISC0_CLR_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_CLKGATE_DELAY_SHIFT)) & PMU_MISC0_CLR_CLKGATE_DELAY_MASK)
  26620. #define PMU_MISC0_CLR_RTC_XTAL_SOURCE_MASK (0x20000000U)
  26621. #define PMU_MISC0_CLR_RTC_XTAL_SOURCE_SHIFT (29U)
  26622. /*! RTC_XTAL_SOURCE
  26623. * 0b0..Internal ring oscillator
  26624. * 0b1..RTC_XTAL
  26625. */
  26626. #define PMU_MISC0_CLR_RTC_XTAL_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_RTC_XTAL_SOURCE_SHIFT)) & PMU_MISC0_CLR_RTC_XTAL_SOURCE_MASK)
  26627. #define PMU_MISC0_CLR_XTAL_24M_PWD_MASK (0x40000000U)
  26628. #define PMU_MISC0_CLR_XTAL_24M_PWD_SHIFT (30U)
  26629. #define PMU_MISC0_CLR_XTAL_24M_PWD(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_XTAL_24M_PWD_SHIFT)) & PMU_MISC0_CLR_XTAL_24M_PWD_MASK)
  26630. /*! @} */
  26631. /*! @name MISC0_TOG - Miscellaneous Register 0 */
  26632. /*! @{ */
  26633. #define PMU_MISC0_TOG_REFTOP_PWD_MASK (0x1U)
  26634. #define PMU_MISC0_TOG_REFTOP_PWD_SHIFT (0U)
  26635. #define PMU_MISC0_TOG_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_REFTOP_PWD_SHIFT)) & PMU_MISC0_TOG_REFTOP_PWD_MASK)
  26636. #define PMU_MISC0_TOG_REFTOP_PWDVBGUP_MASK (0x2U)
  26637. #define PMU_MISC0_TOG_REFTOP_PWDVBGUP_SHIFT (1U)
  26638. #define PMU_MISC0_TOG_REFTOP_PWDVBGUP(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_REFTOP_PWDVBGUP_SHIFT)) & PMU_MISC0_TOG_REFTOP_PWDVBGUP_MASK)
  26639. #define PMU_MISC0_TOG_REFTOP_LOWPOWER_MASK (0x4U)
  26640. #define PMU_MISC0_TOG_REFTOP_LOWPOWER_SHIFT (2U)
  26641. #define PMU_MISC0_TOG_REFTOP_LOWPOWER(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_REFTOP_LOWPOWER_SHIFT)) & PMU_MISC0_TOG_REFTOP_LOWPOWER_MASK)
  26642. #define PMU_MISC0_TOG_REFTOP_SELFBIASOFF_MASK (0x8U)
  26643. #define PMU_MISC0_TOG_REFTOP_SELFBIASOFF_SHIFT (3U)
  26644. /*! REFTOP_SELFBIASOFF
  26645. * 0b0..Uses coarse bias currents for startup
  26646. * 0b1..Uses bandgap-based bias currents for best performance.
  26647. */
  26648. #define PMU_MISC0_TOG_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_REFTOP_SELFBIASOFF_SHIFT)) & PMU_MISC0_TOG_REFTOP_SELFBIASOFF_MASK)
  26649. #define PMU_MISC0_TOG_REFTOP_VBGADJ_MASK (0x70U)
  26650. #define PMU_MISC0_TOG_REFTOP_VBGADJ_SHIFT (4U)
  26651. /*! REFTOP_VBGADJ
  26652. * 0b000..Nominal VBG
  26653. * 0b001..VBG+0.78%
  26654. * 0b010..VBG+1.56%
  26655. * 0b011..VBG+2.34%
  26656. * 0b100..VBG-0.78%
  26657. * 0b101..VBG-1.56%
  26658. * 0b110..VBG-2.34%
  26659. * 0b111..VBG-3.12%
  26660. */
  26661. #define PMU_MISC0_TOG_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_REFTOP_VBGADJ_SHIFT)) & PMU_MISC0_TOG_REFTOP_VBGADJ_MASK)
  26662. #define PMU_MISC0_TOG_REFTOP_VBGUP_MASK (0x80U)
  26663. #define PMU_MISC0_TOG_REFTOP_VBGUP_SHIFT (7U)
  26664. #define PMU_MISC0_TOG_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_REFTOP_VBGUP_SHIFT)) & PMU_MISC0_TOG_REFTOP_VBGUP_MASK)
  26665. #define PMU_MISC0_TOG_STOP_MODE_CONFIG_MASK (0xC00U)
  26666. #define PMU_MISC0_TOG_STOP_MODE_CONFIG_SHIFT (10U)
  26667. /*! STOP_MODE_CONFIG
  26668. * 0b00..SUSPEND (DSM)
  26669. * 0b01..Analog regulators are ON.
  26670. * 0b10..STOP (lower power)
  26671. * 0b11..STOP (very lower power)
  26672. */
  26673. #define PMU_MISC0_TOG_STOP_MODE_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_STOP_MODE_CONFIG_SHIFT)) & PMU_MISC0_TOG_STOP_MODE_CONFIG_MASK)
  26674. #define PMU_MISC0_TOG_DISCON_HIGH_SNVS_MASK (0x1000U)
  26675. #define PMU_MISC0_TOG_DISCON_HIGH_SNVS_SHIFT (12U)
  26676. /*! DISCON_HIGH_SNVS
  26677. * 0b0..Turn on the switch
  26678. * 0b1..Turn off the switch
  26679. */
  26680. #define PMU_MISC0_TOG_DISCON_HIGH_SNVS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_DISCON_HIGH_SNVS_SHIFT)) & PMU_MISC0_TOG_DISCON_HIGH_SNVS_MASK)
  26681. #define PMU_MISC0_TOG_OSC_I_MASK (0x6000U)
  26682. #define PMU_MISC0_TOG_OSC_I_SHIFT (13U)
  26683. /*! OSC_I
  26684. * 0b00..Nominal
  26685. * 0b01..Decrease current by 12.5%
  26686. * 0b10..Decrease current by 25.0%
  26687. * 0b11..Decrease current by 37.5%
  26688. */
  26689. #define PMU_MISC0_TOG_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_OSC_I_SHIFT)) & PMU_MISC0_TOG_OSC_I_MASK)
  26690. #define PMU_MISC0_TOG_OSC_XTALOK_MASK (0x8000U)
  26691. #define PMU_MISC0_TOG_OSC_XTALOK_SHIFT (15U)
  26692. #define PMU_MISC0_TOG_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_OSC_XTALOK_SHIFT)) & PMU_MISC0_TOG_OSC_XTALOK_MASK)
  26693. #define PMU_MISC0_TOG_OSC_XTALOK_EN_MASK (0x10000U)
  26694. #define PMU_MISC0_TOG_OSC_XTALOK_EN_SHIFT (16U)
  26695. #define PMU_MISC0_TOG_OSC_XTALOK_EN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_OSC_XTALOK_EN_SHIFT)) & PMU_MISC0_TOG_OSC_XTALOK_EN_MASK)
  26696. #define PMU_MISC0_TOG_CLKGATE_CTRL_MASK (0x2000000U)
  26697. #define PMU_MISC0_TOG_CLKGATE_CTRL_SHIFT (25U)
  26698. /*! CLKGATE_CTRL
  26699. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  26700. * 0b1..Prevent the logic from ever gating off the clock.
  26701. */
  26702. #define PMU_MISC0_TOG_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_CLKGATE_CTRL_SHIFT)) & PMU_MISC0_TOG_CLKGATE_CTRL_MASK)
  26703. #define PMU_MISC0_TOG_CLKGATE_DELAY_MASK (0x1C000000U)
  26704. #define PMU_MISC0_TOG_CLKGATE_DELAY_SHIFT (26U)
  26705. /*! CLKGATE_DELAY
  26706. * 0b000..0.5ms
  26707. * 0b001..1.0ms
  26708. * 0b010..2.0ms
  26709. * 0b011..3.0ms
  26710. * 0b100..4.0ms
  26711. * 0b101..5.0ms
  26712. * 0b110..6.0ms
  26713. * 0b111..7.0ms
  26714. */
  26715. #define PMU_MISC0_TOG_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_CLKGATE_DELAY_SHIFT)) & PMU_MISC0_TOG_CLKGATE_DELAY_MASK)
  26716. #define PMU_MISC0_TOG_RTC_XTAL_SOURCE_MASK (0x20000000U)
  26717. #define PMU_MISC0_TOG_RTC_XTAL_SOURCE_SHIFT (29U)
  26718. /*! RTC_XTAL_SOURCE
  26719. * 0b0..Internal ring oscillator
  26720. * 0b1..RTC_XTAL
  26721. */
  26722. #define PMU_MISC0_TOG_RTC_XTAL_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_RTC_XTAL_SOURCE_SHIFT)) & PMU_MISC0_TOG_RTC_XTAL_SOURCE_MASK)
  26723. #define PMU_MISC0_TOG_XTAL_24M_PWD_MASK (0x40000000U)
  26724. #define PMU_MISC0_TOG_XTAL_24M_PWD_SHIFT (30U)
  26725. #define PMU_MISC0_TOG_XTAL_24M_PWD(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_XTAL_24M_PWD_SHIFT)) & PMU_MISC0_TOG_XTAL_24M_PWD_MASK)
  26726. /*! @} */
  26727. /*! @name MISC1 - Miscellaneous Register 1 */
  26728. /*! @{ */
  26729. #define PMU_MISC1_PFD_480_AUTOGATE_EN_MASK (0x10000U)
  26730. #define PMU_MISC1_PFD_480_AUTOGATE_EN_SHIFT (16U)
  26731. #define PMU_MISC1_PFD_480_AUTOGATE_EN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_PFD_480_AUTOGATE_EN_SHIFT)) & PMU_MISC1_PFD_480_AUTOGATE_EN_MASK)
  26732. #define PMU_MISC1_PFD_528_AUTOGATE_EN_MASK (0x20000U)
  26733. #define PMU_MISC1_PFD_528_AUTOGATE_EN_SHIFT (17U)
  26734. #define PMU_MISC1_PFD_528_AUTOGATE_EN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_PFD_528_AUTOGATE_EN_SHIFT)) & PMU_MISC1_PFD_528_AUTOGATE_EN_MASK)
  26735. #define PMU_MISC1_IRQ_TEMPPANIC_MASK (0x8000000U)
  26736. #define PMU_MISC1_IRQ_TEMPPANIC_SHIFT (27U)
  26737. #define PMU_MISC1_IRQ_TEMPPANIC(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_IRQ_TEMPPANIC_SHIFT)) & PMU_MISC1_IRQ_TEMPPANIC_MASK)
  26738. #define PMU_MISC1_IRQ_TEMPLOW_MASK (0x10000000U)
  26739. #define PMU_MISC1_IRQ_TEMPLOW_SHIFT (28U)
  26740. #define PMU_MISC1_IRQ_TEMPLOW(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_IRQ_TEMPLOW_SHIFT)) & PMU_MISC1_IRQ_TEMPLOW_MASK)
  26741. #define PMU_MISC1_IRQ_TEMPHIGH_MASK (0x20000000U)
  26742. #define PMU_MISC1_IRQ_TEMPHIGH_SHIFT (29U)
  26743. #define PMU_MISC1_IRQ_TEMPHIGH(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_IRQ_TEMPHIGH_SHIFT)) & PMU_MISC1_IRQ_TEMPHIGH_MASK)
  26744. #define PMU_MISC1_IRQ_ANA_BO_MASK (0x40000000U)
  26745. #define PMU_MISC1_IRQ_ANA_BO_SHIFT (30U)
  26746. #define PMU_MISC1_IRQ_ANA_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_IRQ_ANA_BO_SHIFT)) & PMU_MISC1_IRQ_ANA_BO_MASK)
  26747. #define PMU_MISC1_IRQ_DIG_BO_MASK (0x80000000U)
  26748. #define PMU_MISC1_IRQ_DIG_BO_SHIFT (31U)
  26749. #define PMU_MISC1_IRQ_DIG_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_IRQ_DIG_BO_SHIFT)) & PMU_MISC1_IRQ_DIG_BO_MASK)
  26750. /*! @} */
  26751. /*! @name MISC1_SET - Miscellaneous Register 1 */
  26752. /*! @{ */
  26753. #define PMU_MISC1_SET_PFD_480_AUTOGATE_EN_MASK (0x10000U)
  26754. #define PMU_MISC1_SET_PFD_480_AUTOGATE_EN_SHIFT (16U)
  26755. #define PMU_MISC1_SET_PFD_480_AUTOGATE_EN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_SET_PFD_480_AUTOGATE_EN_SHIFT)) & PMU_MISC1_SET_PFD_480_AUTOGATE_EN_MASK)
  26756. #define PMU_MISC1_SET_PFD_528_AUTOGATE_EN_MASK (0x20000U)
  26757. #define PMU_MISC1_SET_PFD_528_AUTOGATE_EN_SHIFT (17U)
  26758. #define PMU_MISC1_SET_PFD_528_AUTOGATE_EN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_SET_PFD_528_AUTOGATE_EN_SHIFT)) & PMU_MISC1_SET_PFD_528_AUTOGATE_EN_MASK)
  26759. #define PMU_MISC1_SET_IRQ_TEMPPANIC_MASK (0x8000000U)
  26760. #define PMU_MISC1_SET_IRQ_TEMPPANIC_SHIFT (27U)
  26761. #define PMU_MISC1_SET_IRQ_TEMPPANIC(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_SET_IRQ_TEMPPANIC_SHIFT)) & PMU_MISC1_SET_IRQ_TEMPPANIC_MASK)
  26762. #define PMU_MISC1_SET_IRQ_TEMPLOW_MASK (0x10000000U)
  26763. #define PMU_MISC1_SET_IRQ_TEMPLOW_SHIFT (28U)
  26764. #define PMU_MISC1_SET_IRQ_TEMPLOW(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_SET_IRQ_TEMPLOW_SHIFT)) & PMU_MISC1_SET_IRQ_TEMPLOW_MASK)
  26765. #define PMU_MISC1_SET_IRQ_TEMPHIGH_MASK (0x20000000U)
  26766. #define PMU_MISC1_SET_IRQ_TEMPHIGH_SHIFT (29U)
  26767. #define PMU_MISC1_SET_IRQ_TEMPHIGH(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_SET_IRQ_TEMPHIGH_SHIFT)) & PMU_MISC1_SET_IRQ_TEMPHIGH_MASK)
  26768. #define PMU_MISC1_SET_IRQ_ANA_BO_MASK (0x40000000U)
  26769. #define PMU_MISC1_SET_IRQ_ANA_BO_SHIFT (30U)
  26770. #define PMU_MISC1_SET_IRQ_ANA_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_SET_IRQ_ANA_BO_SHIFT)) & PMU_MISC1_SET_IRQ_ANA_BO_MASK)
  26771. #define PMU_MISC1_SET_IRQ_DIG_BO_MASK (0x80000000U)
  26772. #define PMU_MISC1_SET_IRQ_DIG_BO_SHIFT (31U)
  26773. #define PMU_MISC1_SET_IRQ_DIG_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_SET_IRQ_DIG_BO_SHIFT)) & PMU_MISC1_SET_IRQ_DIG_BO_MASK)
  26774. /*! @} */
  26775. /*! @name MISC1_CLR - Miscellaneous Register 1 */
  26776. /*! @{ */
  26777. #define PMU_MISC1_CLR_PFD_480_AUTOGATE_EN_MASK (0x10000U)
  26778. #define PMU_MISC1_CLR_PFD_480_AUTOGATE_EN_SHIFT (16U)
  26779. #define PMU_MISC1_CLR_PFD_480_AUTOGATE_EN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_CLR_PFD_480_AUTOGATE_EN_SHIFT)) & PMU_MISC1_CLR_PFD_480_AUTOGATE_EN_MASK)
  26780. #define PMU_MISC1_CLR_PFD_528_AUTOGATE_EN_MASK (0x20000U)
  26781. #define PMU_MISC1_CLR_PFD_528_AUTOGATE_EN_SHIFT (17U)
  26782. #define PMU_MISC1_CLR_PFD_528_AUTOGATE_EN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_CLR_PFD_528_AUTOGATE_EN_SHIFT)) & PMU_MISC1_CLR_PFD_528_AUTOGATE_EN_MASK)
  26783. #define PMU_MISC1_CLR_IRQ_TEMPPANIC_MASK (0x8000000U)
  26784. #define PMU_MISC1_CLR_IRQ_TEMPPANIC_SHIFT (27U)
  26785. #define PMU_MISC1_CLR_IRQ_TEMPPANIC(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_CLR_IRQ_TEMPPANIC_SHIFT)) & PMU_MISC1_CLR_IRQ_TEMPPANIC_MASK)
  26786. #define PMU_MISC1_CLR_IRQ_TEMPLOW_MASK (0x10000000U)
  26787. #define PMU_MISC1_CLR_IRQ_TEMPLOW_SHIFT (28U)
  26788. #define PMU_MISC1_CLR_IRQ_TEMPLOW(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_CLR_IRQ_TEMPLOW_SHIFT)) & PMU_MISC1_CLR_IRQ_TEMPLOW_MASK)
  26789. #define PMU_MISC1_CLR_IRQ_TEMPHIGH_MASK (0x20000000U)
  26790. #define PMU_MISC1_CLR_IRQ_TEMPHIGH_SHIFT (29U)
  26791. #define PMU_MISC1_CLR_IRQ_TEMPHIGH(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_CLR_IRQ_TEMPHIGH_SHIFT)) & PMU_MISC1_CLR_IRQ_TEMPHIGH_MASK)
  26792. #define PMU_MISC1_CLR_IRQ_ANA_BO_MASK (0x40000000U)
  26793. #define PMU_MISC1_CLR_IRQ_ANA_BO_SHIFT (30U)
  26794. #define PMU_MISC1_CLR_IRQ_ANA_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_CLR_IRQ_ANA_BO_SHIFT)) & PMU_MISC1_CLR_IRQ_ANA_BO_MASK)
  26795. #define PMU_MISC1_CLR_IRQ_DIG_BO_MASK (0x80000000U)
  26796. #define PMU_MISC1_CLR_IRQ_DIG_BO_SHIFT (31U)
  26797. #define PMU_MISC1_CLR_IRQ_DIG_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_CLR_IRQ_DIG_BO_SHIFT)) & PMU_MISC1_CLR_IRQ_DIG_BO_MASK)
  26798. /*! @} */
  26799. /*! @name MISC1_TOG - Miscellaneous Register 1 */
  26800. /*! @{ */
  26801. #define PMU_MISC1_TOG_PFD_480_AUTOGATE_EN_MASK (0x10000U)
  26802. #define PMU_MISC1_TOG_PFD_480_AUTOGATE_EN_SHIFT (16U)
  26803. #define PMU_MISC1_TOG_PFD_480_AUTOGATE_EN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_TOG_PFD_480_AUTOGATE_EN_SHIFT)) & PMU_MISC1_TOG_PFD_480_AUTOGATE_EN_MASK)
  26804. #define PMU_MISC1_TOG_PFD_528_AUTOGATE_EN_MASK (0x20000U)
  26805. #define PMU_MISC1_TOG_PFD_528_AUTOGATE_EN_SHIFT (17U)
  26806. #define PMU_MISC1_TOG_PFD_528_AUTOGATE_EN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_TOG_PFD_528_AUTOGATE_EN_SHIFT)) & PMU_MISC1_TOG_PFD_528_AUTOGATE_EN_MASK)
  26807. #define PMU_MISC1_TOG_IRQ_TEMPPANIC_MASK (0x8000000U)
  26808. #define PMU_MISC1_TOG_IRQ_TEMPPANIC_SHIFT (27U)
  26809. #define PMU_MISC1_TOG_IRQ_TEMPPANIC(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_TOG_IRQ_TEMPPANIC_SHIFT)) & PMU_MISC1_TOG_IRQ_TEMPPANIC_MASK)
  26810. #define PMU_MISC1_TOG_IRQ_TEMPLOW_MASK (0x10000000U)
  26811. #define PMU_MISC1_TOG_IRQ_TEMPLOW_SHIFT (28U)
  26812. #define PMU_MISC1_TOG_IRQ_TEMPLOW(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_TOG_IRQ_TEMPLOW_SHIFT)) & PMU_MISC1_TOG_IRQ_TEMPLOW_MASK)
  26813. #define PMU_MISC1_TOG_IRQ_TEMPHIGH_MASK (0x20000000U)
  26814. #define PMU_MISC1_TOG_IRQ_TEMPHIGH_SHIFT (29U)
  26815. #define PMU_MISC1_TOG_IRQ_TEMPHIGH(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_TOG_IRQ_TEMPHIGH_SHIFT)) & PMU_MISC1_TOG_IRQ_TEMPHIGH_MASK)
  26816. #define PMU_MISC1_TOG_IRQ_ANA_BO_MASK (0x40000000U)
  26817. #define PMU_MISC1_TOG_IRQ_ANA_BO_SHIFT (30U)
  26818. #define PMU_MISC1_TOG_IRQ_ANA_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_TOG_IRQ_ANA_BO_SHIFT)) & PMU_MISC1_TOG_IRQ_ANA_BO_MASK)
  26819. #define PMU_MISC1_TOG_IRQ_DIG_BO_MASK (0x80000000U)
  26820. #define PMU_MISC1_TOG_IRQ_DIG_BO_SHIFT (31U)
  26821. #define PMU_MISC1_TOG_IRQ_DIG_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_TOG_IRQ_DIG_BO_SHIFT)) & PMU_MISC1_TOG_IRQ_DIG_BO_MASK)
  26822. /*! @} */
  26823. /*! @name MISC2 - Miscellaneous Control Register */
  26824. /*! @{ */
  26825. #define PMU_MISC2_REG0_BO_OFFSET_MASK (0x7U)
  26826. #define PMU_MISC2_REG0_BO_OFFSET_SHIFT (0U)
  26827. /*! REG0_BO_OFFSET
  26828. * 0b100..Brownout offset = 0.100V
  26829. * 0b111..Brownout offset = 0.175V
  26830. */
  26831. #define PMU_MISC2_REG0_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG0_BO_OFFSET_SHIFT)) & PMU_MISC2_REG0_BO_OFFSET_MASK)
  26832. #define PMU_MISC2_REG0_BO_STATUS_MASK (0x8U)
  26833. #define PMU_MISC2_REG0_BO_STATUS_SHIFT (3U)
  26834. /*! REG0_BO_STATUS
  26835. * 0b1..Brownout, supply is below target minus brownout offset.
  26836. */
  26837. #define PMU_MISC2_REG0_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG0_BO_STATUS_SHIFT)) & PMU_MISC2_REG0_BO_STATUS_MASK)
  26838. #define PMU_MISC2_REG0_ENABLE_BO_MASK (0x20U)
  26839. #define PMU_MISC2_REG0_ENABLE_BO_SHIFT (5U)
  26840. #define PMU_MISC2_REG0_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG0_ENABLE_BO_SHIFT)) & PMU_MISC2_REG0_ENABLE_BO_MASK)
  26841. #define PMU_MISC2_PLL3_disable_MASK (0x80U)
  26842. #define PMU_MISC2_PLL3_disable_SHIFT (7U)
  26843. #define PMU_MISC2_PLL3_disable(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_PLL3_disable_SHIFT)) & PMU_MISC2_PLL3_disable_MASK)
  26844. #define PMU_MISC2_REG1_BO_OFFSET_MASK (0x700U)
  26845. #define PMU_MISC2_REG1_BO_OFFSET_SHIFT (8U)
  26846. /*! REG1_BO_OFFSET
  26847. * 0b100..Brownout offset = 0.100V
  26848. * 0b111..Brownout offset = 0.175V
  26849. */
  26850. #define PMU_MISC2_REG1_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG1_BO_OFFSET_SHIFT)) & PMU_MISC2_REG1_BO_OFFSET_MASK)
  26851. #define PMU_MISC2_REG1_BO_STATUS_MASK (0x800U)
  26852. #define PMU_MISC2_REG1_BO_STATUS_SHIFT (11U)
  26853. /*! REG1_BO_STATUS
  26854. * 0b1..Brownout, supply is below target minus brownout offset.
  26855. */
  26856. #define PMU_MISC2_REG1_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG1_BO_STATUS_SHIFT)) & PMU_MISC2_REG1_BO_STATUS_MASK)
  26857. #define PMU_MISC2_REG1_ENABLE_BO_MASK (0x2000U)
  26858. #define PMU_MISC2_REG1_ENABLE_BO_SHIFT (13U)
  26859. #define PMU_MISC2_REG1_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG1_ENABLE_BO_SHIFT)) & PMU_MISC2_REG1_ENABLE_BO_MASK)
  26860. #define PMU_MISC2_AUDIO_DIV_LSB_MASK (0x8000U)
  26861. #define PMU_MISC2_AUDIO_DIV_LSB_SHIFT (15U)
  26862. /*! AUDIO_DIV_LSB
  26863. * 0b0..divide by 1 (Default)
  26864. * 0b1..divide by 2
  26865. */
  26866. #define PMU_MISC2_AUDIO_DIV_LSB(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_AUDIO_DIV_LSB_SHIFT)) & PMU_MISC2_AUDIO_DIV_LSB_MASK)
  26867. #define PMU_MISC2_REG2_BO_OFFSET_MASK (0x70000U)
  26868. #define PMU_MISC2_REG2_BO_OFFSET_SHIFT (16U)
  26869. /*! REG2_BO_OFFSET
  26870. * 0b100..Brownout offset = 0.100V
  26871. * 0b111..Brownout offset = 0.175V
  26872. */
  26873. #define PMU_MISC2_REG2_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG2_BO_OFFSET_SHIFT)) & PMU_MISC2_REG2_BO_OFFSET_MASK)
  26874. #define PMU_MISC2_REG2_BO_STATUS_MASK (0x80000U)
  26875. #define PMU_MISC2_REG2_BO_STATUS_SHIFT (19U)
  26876. #define PMU_MISC2_REG2_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG2_BO_STATUS_SHIFT)) & PMU_MISC2_REG2_BO_STATUS_MASK)
  26877. #define PMU_MISC2_REG2_ENABLE_BO_MASK (0x200000U)
  26878. #define PMU_MISC2_REG2_ENABLE_BO_SHIFT (21U)
  26879. #define PMU_MISC2_REG2_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG2_ENABLE_BO_SHIFT)) & PMU_MISC2_REG2_ENABLE_BO_MASK)
  26880. #define PMU_MISC2_REG2_OK_MASK (0x400000U)
  26881. #define PMU_MISC2_REG2_OK_SHIFT (22U)
  26882. #define PMU_MISC2_REG2_OK(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG2_OK_SHIFT)) & PMU_MISC2_REG2_OK_MASK)
  26883. #define PMU_MISC2_AUDIO_DIV_MSB_MASK (0x800000U)
  26884. #define PMU_MISC2_AUDIO_DIV_MSB_SHIFT (23U)
  26885. /*! AUDIO_DIV_MSB
  26886. * 0b0..divide by 1 (Default)
  26887. * 0b1..divide by 2
  26888. */
  26889. #define PMU_MISC2_AUDIO_DIV_MSB(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_AUDIO_DIV_MSB_SHIFT)) & PMU_MISC2_AUDIO_DIV_MSB_MASK)
  26890. #define PMU_MISC2_REG0_STEP_TIME_MASK (0x3000000U)
  26891. #define PMU_MISC2_REG0_STEP_TIME_SHIFT (24U)
  26892. /*! REG0_STEP_TIME
  26893. * 0b00..64
  26894. * 0b01..128
  26895. * 0b10..256
  26896. * 0b11..512
  26897. */
  26898. #define PMU_MISC2_REG0_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG0_STEP_TIME_SHIFT)) & PMU_MISC2_REG0_STEP_TIME_MASK)
  26899. #define PMU_MISC2_REG1_STEP_TIME_MASK (0xC000000U)
  26900. #define PMU_MISC2_REG1_STEP_TIME_SHIFT (26U)
  26901. /*! REG1_STEP_TIME
  26902. * 0b00..64
  26903. * 0b01..128
  26904. * 0b10..256
  26905. * 0b11..512
  26906. */
  26907. #define PMU_MISC2_REG1_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG1_STEP_TIME_SHIFT)) & PMU_MISC2_REG1_STEP_TIME_MASK)
  26908. #define PMU_MISC2_REG2_STEP_TIME_MASK (0x30000000U)
  26909. #define PMU_MISC2_REG2_STEP_TIME_SHIFT (28U)
  26910. /*! REG2_STEP_TIME
  26911. * 0b00..64
  26912. * 0b01..128
  26913. * 0b10..256
  26914. * 0b11..512
  26915. */
  26916. #define PMU_MISC2_REG2_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG2_STEP_TIME_SHIFT)) & PMU_MISC2_REG2_STEP_TIME_MASK)
  26917. /*! @} */
  26918. /*! @name MISC2_SET - Miscellaneous Control Register */
  26919. /*! @{ */
  26920. #define PMU_MISC2_SET_REG0_BO_OFFSET_MASK (0x7U)
  26921. #define PMU_MISC2_SET_REG0_BO_OFFSET_SHIFT (0U)
  26922. /*! REG0_BO_OFFSET
  26923. * 0b100..Brownout offset = 0.100V
  26924. * 0b111..Brownout offset = 0.175V
  26925. */
  26926. #define PMU_MISC2_SET_REG0_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_SET_REG0_BO_OFFSET_SHIFT)) & PMU_MISC2_SET_REG0_BO_OFFSET_MASK)
  26927. #define PMU_MISC2_SET_REG0_BO_STATUS_MASK (0x8U)
  26928. #define PMU_MISC2_SET_REG0_BO_STATUS_SHIFT (3U)
  26929. /*! REG0_BO_STATUS
  26930. * 0b1..Brownout, supply is below target minus brownout offset.
  26931. */
  26932. #define PMU_MISC2_SET_REG0_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_SET_REG0_BO_STATUS_SHIFT)) & PMU_MISC2_SET_REG0_BO_STATUS_MASK)
  26933. #define PMU_MISC2_SET_REG0_ENABLE_BO_MASK (0x20U)
  26934. #define PMU_MISC2_SET_REG0_ENABLE_BO_SHIFT (5U)
  26935. #define PMU_MISC2_SET_REG0_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_SET_REG0_ENABLE_BO_SHIFT)) & PMU_MISC2_SET_REG0_ENABLE_BO_MASK)
  26936. #define PMU_MISC2_SET_PLL3_disable_MASK (0x80U)
  26937. #define PMU_MISC2_SET_PLL3_disable_SHIFT (7U)
  26938. #define PMU_MISC2_SET_PLL3_disable(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_SET_PLL3_disable_SHIFT)) & PMU_MISC2_SET_PLL3_disable_MASK)
  26939. #define PMU_MISC2_SET_REG1_BO_OFFSET_MASK (0x700U)
  26940. #define PMU_MISC2_SET_REG1_BO_OFFSET_SHIFT (8U)
  26941. /*! REG1_BO_OFFSET
  26942. * 0b100..Brownout offset = 0.100V
  26943. * 0b111..Brownout offset = 0.175V
  26944. */
  26945. #define PMU_MISC2_SET_REG1_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_SET_REG1_BO_OFFSET_SHIFT)) & PMU_MISC2_SET_REG1_BO_OFFSET_MASK)
  26946. #define PMU_MISC2_SET_REG1_BO_STATUS_MASK (0x800U)
  26947. #define PMU_MISC2_SET_REG1_BO_STATUS_SHIFT (11U)
  26948. /*! REG1_BO_STATUS
  26949. * 0b1..Brownout, supply is below target minus brownout offset.
  26950. */
  26951. #define PMU_MISC2_SET_REG1_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_SET_REG1_BO_STATUS_SHIFT)) & PMU_MISC2_SET_REG1_BO_STATUS_MASK)
  26952. #define PMU_MISC2_SET_REG1_ENABLE_BO_MASK (0x2000U)
  26953. #define PMU_MISC2_SET_REG1_ENABLE_BO_SHIFT (13U)
  26954. #define PMU_MISC2_SET_REG1_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_SET_REG1_ENABLE_BO_SHIFT)) & PMU_MISC2_SET_REG1_ENABLE_BO_MASK)
  26955. #define PMU_MISC2_SET_AUDIO_DIV_LSB_MASK (0x8000U)
  26956. #define PMU_MISC2_SET_AUDIO_DIV_LSB_SHIFT (15U)
  26957. /*! AUDIO_DIV_LSB
  26958. * 0b0..divide by 1 (Default)
  26959. * 0b1..divide by 2
  26960. */
  26961. #define PMU_MISC2_SET_AUDIO_DIV_LSB(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_SET_AUDIO_DIV_LSB_SHIFT)) & PMU_MISC2_SET_AUDIO_DIV_LSB_MASK)
  26962. #define PMU_MISC2_SET_REG2_BO_OFFSET_MASK (0x70000U)
  26963. #define PMU_MISC2_SET_REG2_BO_OFFSET_SHIFT (16U)
  26964. /*! REG2_BO_OFFSET
  26965. * 0b100..Brownout offset = 0.100V
  26966. * 0b111..Brownout offset = 0.175V
  26967. */
  26968. #define PMU_MISC2_SET_REG2_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_SET_REG2_BO_OFFSET_SHIFT)) & PMU_MISC2_SET_REG2_BO_OFFSET_MASK)
  26969. #define PMU_MISC2_SET_REG2_BO_STATUS_MASK (0x80000U)
  26970. #define PMU_MISC2_SET_REG2_BO_STATUS_SHIFT (19U)
  26971. #define PMU_MISC2_SET_REG2_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_SET_REG2_BO_STATUS_SHIFT)) & PMU_MISC2_SET_REG2_BO_STATUS_MASK)
  26972. #define PMU_MISC2_SET_REG2_ENABLE_BO_MASK (0x200000U)
  26973. #define PMU_MISC2_SET_REG2_ENABLE_BO_SHIFT (21U)
  26974. #define PMU_MISC2_SET_REG2_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_SET_REG2_ENABLE_BO_SHIFT)) & PMU_MISC2_SET_REG2_ENABLE_BO_MASK)
  26975. #define PMU_MISC2_SET_REG2_OK_MASK (0x400000U)
  26976. #define PMU_MISC2_SET_REG2_OK_SHIFT (22U)
  26977. #define PMU_MISC2_SET_REG2_OK(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_SET_REG2_OK_SHIFT)) & PMU_MISC2_SET_REG2_OK_MASK)
  26978. #define PMU_MISC2_SET_AUDIO_DIV_MSB_MASK (0x800000U)
  26979. #define PMU_MISC2_SET_AUDIO_DIV_MSB_SHIFT (23U)
  26980. /*! AUDIO_DIV_MSB
  26981. * 0b0..divide by 1 (Default)
  26982. * 0b1..divide by 2
  26983. */
  26984. #define PMU_MISC2_SET_AUDIO_DIV_MSB(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_SET_AUDIO_DIV_MSB_SHIFT)) & PMU_MISC2_SET_AUDIO_DIV_MSB_MASK)
  26985. #define PMU_MISC2_SET_REG0_STEP_TIME_MASK (0x3000000U)
  26986. #define PMU_MISC2_SET_REG0_STEP_TIME_SHIFT (24U)
  26987. /*! REG0_STEP_TIME
  26988. * 0b00..64
  26989. * 0b01..128
  26990. * 0b10..256
  26991. * 0b11..512
  26992. */
  26993. #define PMU_MISC2_SET_REG0_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_SET_REG0_STEP_TIME_SHIFT)) & PMU_MISC2_SET_REG0_STEP_TIME_MASK)
  26994. #define PMU_MISC2_SET_REG1_STEP_TIME_MASK (0xC000000U)
  26995. #define PMU_MISC2_SET_REG1_STEP_TIME_SHIFT (26U)
  26996. /*! REG1_STEP_TIME
  26997. * 0b00..64
  26998. * 0b01..128
  26999. * 0b10..256
  27000. * 0b11..512
  27001. */
  27002. #define PMU_MISC2_SET_REG1_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_SET_REG1_STEP_TIME_SHIFT)) & PMU_MISC2_SET_REG1_STEP_TIME_MASK)
  27003. #define PMU_MISC2_SET_REG2_STEP_TIME_MASK (0x30000000U)
  27004. #define PMU_MISC2_SET_REG2_STEP_TIME_SHIFT (28U)
  27005. /*! REG2_STEP_TIME
  27006. * 0b00..64
  27007. * 0b01..128
  27008. * 0b10..256
  27009. * 0b11..512
  27010. */
  27011. #define PMU_MISC2_SET_REG2_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_SET_REG2_STEP_TIME_SHIFT)) & PMU_MISC2_SET_REG2_STEP_TIME_MASK)
  27012. /*! @} */
  27013. /*! @name MISC2_CLR - Miscellaneous Control Register */
  27014. /*! @{ */
  27015. #define PMU_MISC2_CLR_REG0_BO_OFFSET_MASK (0x7U)
  27016. #define PMU_MISC2_CLR_REG0_BO_OFFSET_SHIFT (0U)
  27017. /*! REG0_BO_OFFSET
  27018. * 0b100..Brownout offset = 0.100V
  27019. * 0b111..Brownout offset = 0.175V
  27020. */
  27021. #define PMU_MISC2_CLR_REG0_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_CLR_REG0_BO_OFFSET_SHIFT)) & PMU_MISC2_CLR_REG0_BO_OFFSET_MASK)
  27022. #define PMU_MISC2_CLR_REG0_BO_STATUS_MASK (0x8U)
  27023. #define PMU_MISC2_CLR_REG0_BO_STATUS_SHIFT (3U)
  27024. /*! REG0_BO_STATUS
  27025. * 0b1..Brownout, supply is below target minus brownout offset.
  27026. */
  27027. #define PMU_MISC2_CLR_REG0_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_CLR_REG0_BO_STATUS_SHIFT)) & PMU_MISC2_CLR_REG0_BO_STATUS_MASK)
  27028. #define PMU_MISC2_CLR_REG0_ENABLE_BO_MASK (0x20U)
  27029. #define PMU_MISC2_CLR_REG0_ENABLE_BO_SHIFT (5U)
  27030. #define PMU_MISC2_CLR_REG0_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_CLR_REG0_ENABLE_BO_SHIFT)) & PMU_MISC2_CLR_REG0_ENABLE_BO_MASK)
  27031. #define PMU_MISC2_CLR_PLL3_disable_MASK (0x80U)
  27032. #define PMU_MISC2_CLR_PLL3_disable_SHIFT (7U)
  27033. #define PMU_MISC2_CLR_PLL3_disable(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_CLR_PLL3_disable_SHIFT)) & PMU_MISC2_CLR_PLL3_disable_MASK)
  27034. #define PMU_MISC2_CLR_REG1_BO_OFFSET_MASK (0x700U)
  27035. #define PMU_MISC2_CLR_REG1_BO_OFFSET_SHIFT (8U)
  27036. /*! REG1_BO_OFFSET
  27037. * 0b100..Brownout offset = 0.100V
  27038. * 0b111..Brownout offset = 0.175V
  27039. */
  27040. #define PMU_MISC2_CLR_REG1_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_CLR_REG1_BO_OFFSET_SHIFT)) & PMU_MISC2_CLR_REG1_BO_OFFSET_MASK)
  27041. #define PMU_MISC2_CLR_REG1_BO_STATUS_MASK (0x800U)
  27042. #define PMU_MISC2_CLR_REG1_BO_STATUS_SHIFT (11U)
  27043. /*! REG1_BO_STATUS
  27044. * 0b1..Brownout, supply is below target minus brownout offset.
  27045. */
  27046. #define PMU_MISC2_CLR_REG1_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_CLR_REG1_BO_STATUS_SHIFT)) & PMU_MISC2_CLR_REG1_BO_STATUS_MASK)
  27047. #define PMU_MISC2_CLR_REG1_ENABLE_BO_MASK (0x2000U)
  27048. #define PMU_MISC2_CLR_REG1_ENABLE_BO_SHIFT (13U)
  27049. #define PMU_MISC2_CLR_REG1_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_CLR_REG1_ENABLE_BO_SHIFT)) & PMU_MISC2_CLR_REG1_ENABLE_BO_MASK)
  27050. #define PMU_MISC2_CLR_AUDIO_DIV_LSB_MASK (0x8000U)
  27051. #define PMU_MISC2_CLR_AUDIO_DIV_LSB_SHIFT (15U)
  27052. /*! AUDIO_DIV_LSB
  27053. * 0b0..divide by 1 (Default)
  27054. * 0b1..divide by 2
  27055. */
  27056. #define PMU_MISC2_CLR_AUDIO_DIV_LSB(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_CLR_AUDIO_DIV_LSB_SHIFT)) & PMU_MISC2_CLR_AUDIO_DIV_LSB_MASK)
  27057. #define PMU_MISC2_CLR_REG2_BO_OFFSET_MASK (0x70000U)
  27058. #define PMU_MISC2_CLR_REG2_BO_OFFSET_SHIFT (16U)
  27059. /*! REG2_BO_OFFSET
  27060. * 0b100..Brownout offset = 0.100V
  27061. * 0b111..Brownout offset = 0.175V
  27062. */
  27063. #define PMU_MISC2_CLR_REG2_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_CLR_REG2_BO_OFFSET_SHIFT)) & PMU_MISC2_CLR_REG2_BO_OFFSET_MASK)
  27064. #define PMU_MISC2_CLR_REG2_BO_STATUS_MASK (0x80000U)
  27065. #define PMU_MISC2_CLR_REG2_BO_STATUS_SHIFT (19U)
  27066. #define PMU_MISC2_CLR_REG2_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_CLR_REG2_BO_STATUS_SHIFT)) & PMU_MISC2_CLR_REG2_BO_STATUS_MASK)
  27067. #define PMU_MISC2_CLR_REG2_ENABLE_BO_MASK (0x200000U)
  27068. #define PMU_MISC2_CLR_REG2_ENABLE_BO_SHIFT (21U)
  27069. #define PMU_MISC2_CLR_REG2_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_CLR_REG2_ENABLE_BO_SHIFT)) & PMU_MISC2_CLR_REG2_ENABLE_BO_MASK)
  27070. #define PMU_MISC2_CLR_REG2_OK_MASK (0x400000U)
  27071. #define PMU_MISC2_CLR_REG2_OK_SHIFT (22U)
  27072. #define PMU_MISC2_CLR_REG2_OK(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_CLR_REG2_OK_SHIFT)) & PMU_MISC2_CLR_REG2_OK_MASK)
  27073. #define PMU_MISC2_CLR_AUDIO_DIV_MSB_MASK (0x800000U)
  27074. #define PMU_MISC2_CLR_AUDIO_DIV_MSB_SHIFT (23U)
  27075. /*! AUDIO_DIV_MSB
  27076. * 0b0..divide by 1 (Default)
  27077. * 0b1..divide by 2
  27078. */
  27079. #define PMU_MISC2_CLR_AUDIO_DIV_MSB(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_CLR_AUDIO_DIV_MSB_SHIFT)) & PMU_MISC2_CLR_AUDIO_DIV_MSB_MASK)
  27080. #define PMU_MISC2_CLR_REG0_STEP_TIME_MASK (0x3000000U)
  27081. #define PMU_MISC2_CLR_REG0_STEP_TIME_SHIFT (24U)
  27082. /*! REG0_STEP_TIME
  27083. * 0b00..64
  27084. * 0b01..128
  27085. * 0b10..256
  27086. * 0b11..512
  27087. */
  27088. #define PMU_MISC2_CLR_REG0_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_CLR_REG0_STEP_TIME_SHIFT)) & PMU_MISC2_CLR_REG0_STEP_TIME_MASK)
  27089. #define PMU_MISC2_CLR_REG1_STEP_TIME_MASK (0xC000000U)
  27090. #define PMU_MISC2_CLR_REG1_STEP_TIME_SHIFT (26U)
  27091. /*! REG1_STEP_TIME
  27092. * 0b00..64
  27093. * 0b01..128
  27094. * 0b10..256
  27095. * 0b11..512
  27096. */
  27097. #define PMU_MISC2_CLR_REG1_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_CLR_REG1_STEP_TIME_SHIFT)) & PMU_MISC2_CLR_REG1_STEP_TIME_MASK)
  27098. #define PMU_MISC2_CLR_REG2_STEP_TIME_MASK (0x30000000U)
  27099. #define PMU_MISC2_CLR_REG2_STEP_TIME_SHIFT (28U)
  27100. /*! REG2_STEP_TIME
  27101. * 0b00..64
  27102. * 0b01..128
  27103. * 0b10..256
  27104. * 0b11..512
  27105. */
  27106. #define PMU_MISC2_CLR_REG2_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_CLR_REG2_STEP_TIME_SHIFT)) & PMU_MISC2_CLR_REG2_STEP_TIME_MASK)
  27107. /*! @} */
  27108. /*! @name MISC2_TOG - Miscellaneous Control Register */
  27109. /*! @{ */
  27110. #define PMU_MISC2_TOG_REG0_BO_OFFSET_MASK (0x7U)
  27111. #define PMU_MISC2_TOG_REG0_BO_OFFSET_SHIFT (0U)
  27112. /*! REG0_BO_OFFSET
  27113. * 0b100..Brownout offset = 0.100V
  27114. * 0b111..Brownout offset = 0.175V
  27115. */
  27116. #define PMU_MISC2_TOG_REG0_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_TOG_REG0_BO_OFFSET_SHIFT)) & PMU_MISC2_TOG_REG0_BO_OFFSET_MASK)
  27117. #define PMU_MISC2_TOG_REG0_BO_STATUS_MASK (0x8U)
  27118. #define PMU_MISC2_TOG_REG0_BO_STATUS_SHIFT (3U)
  27119. /*! REG0_BO_STATUS
  27120. * 0b1..Brownout, supply is below target minus brownout offset.
  27121. */
  27122. #define PMU_MISC2_TOG_REG0_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_TOG_REG0_BO_STATUS_SHIFT)) & PMU_MISC2_TOG_REG0_BO_STATUS_MASK)
  27123. #define PMU_MISC2_TOG_REG0_ENABLE_BO_MASK (0x20U)
  27124. #define PMU_MISC2_TOG_REG0_ENABLE_BO_SHIFT (5U)
  27125. #define PMU_MISC2_TOG_REG0_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_TOG_REG0_ENABLE_BO_SHIFT)) & PMU_MISC2_TOG_REG0_ENABLE_BO_MASK)
  27126. #define PMU_MISC2_TOG_PLL3_disable_MASK (0x80U)
  27127. #define PMU_MISC2_TOG_PLL3_disable_SHIFT (7U)
  27128. #define PMU_MISC2_TOG_PLL3_disable(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_TOG_PLL3_disable_SHIFT)) & PMU_MISC2_TOG_PLL3_disable_MASK)
  27129. #define PMU_MISC2_TOG_REG1_BO_OFFSET_MASK (0x700U)
  27130. #define PMU_MISC2_TOG_REG1_BO_OFFSET_SHIFT (8U)
  27131. /*! REG1_BO_OFFSET
  27132. * 0b100..Brownout offset = 0.100V
  27133. * 0b111..Brownout offset = 0.175V
  27134. */
  27135. #define PMU_MISC2_TOG_REG1_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_TOG_REG1_BO_OFFSET_SHIFT)) & PMU_MISC2_TOG_REG1_BO_OFFSET_MASK)
  27136. #define PMU_MISC2_TOG_REG1_BO_STATUS_MASK (0x800U)
  27137. #define PMU_MISC2_TOG_REG1_BO_STATUS_SHIFT (11U)
  27138. /*! REG1_BO_STATUS
  27139. * 0b1..Brownout, supply is below target minus brownout offset.
  27140. */
  27141. #define PMU_MISC2_TOG_REG1_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_TOG_REG1_BO_STATUS_SHIFT)) & PMU_MISC2_TOG_REG1_BO_STATUS_MASK)
  27142. #define PMU_MISC2_TOG_REG1_ENABLE_BO_MASK (0x2000U)
  27143. #define PMU_MISC2_TOG_REG1_ENABLE_BO_SHIFT (13U)
  27144. #define PMU_MISC2_TOG_REG1_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_TOG_REG1_ENABLE_BO_SHIFT)) & PMU_MISC2_TOG_REG1_ENABLE_BO_MASK)
  27145. #define PMU_MISC2_TOG_AUDIO_DIV_LSB_MASK (0x8000U)
  27146. #define PMU_MISC2_TOG_AUDIO_DIV_LSB_SHIFT (15U)
  27147. /*! AUDIO_DIV_LSB
  27148. * 0b0..divide by 1 (Default)
  27149. * 0b1..divide by 2
  27150. */
  27151. #define PMU_MISC2_TOG_AUDIO_DIV_LSB(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_TOG_AUDIO_DIV_LSB_SHIFT)) & PMU_MISC2_TOG_AUDIO_DIV_LSB_MASK)
  27152. #define PMU_MISC2_TOG_REG2_BO_OFFSET_MASK (0x70000U)
  27153. #define PMU_MISC2_TOG_REG2_BO_OFFSET_SHIFT (16U)
  27154. /*! REG2_BO_OFFSET
  27155. * 0b100..Brownout offset = 0.100V
  27156. * 0b111..Brownout offset = 0.175V
  27157. */
  27158. #define PMU_MISC2_TOG_REG2_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_TOG_REG2_BO_OFFSET_SHIFT)) & PMU_MISC2_TOG_REG2_BO_OFFSET_MASK)
  27159. #define PMU_MISC2_TOG_REG2_BO_STATUS_MASK (0x80000U)
  27160. #define PMU_MISC2_TOG_REG2_BO_STATUS_SHIFT (19U)
  27161. #define PMU_MISC2_TOG_REG2_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_TOG_REG2_BO_STATUS_SHIFT)) & PMU_MISC2_TOG_REG2_BO_STATUS_MASK)
  27162. #define PMU_MISC2_TOG_REG2_ENABLE_BO_MASK (0x200000U)
  27163. #define PMU_MISC2_TOG_REG2_ENABLE_BO_SHIFT (21U)
  27164. #define PMU_MISC2_TOG_REG2_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_TOG_REG2_ENABLE_BO_SHIFT)) & PMU_MISC2_TOG_REG2_ENABLE_BO_MASK)
  27165. #define PMU_MISC2_TOG_REG2_OK_MASK (0x400000U)
  27166. #define PMU_MISC2_TOG_REG2_OK_SHIFT (22U)
  27167. #define PMU_MISC2_TOG_REG2_OK(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_TOG_REG2_OK_SHIFT)) & PMU_MISC2_TOG_REG2_OK_MASK)
  27168. #define PMU_MISC2_TOG_AUDIO_DIV_MSB_MASK (0x800000U)
  27169. #define PMU_MISC2_TOG_AUDIO_DIV_MSB_SHIFT (23U)
  27170. /*! AUDIO_DIV_MSB
  27171. * 0b0..divide by 1 (Default)
  27172. * 0b1..divide by 2
  27173. */
  27174. #define PMU_MISC2_TOG_AUDIO_DIV_MSB(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_TOG_AUDIO_DIV_MSB_SHIFT)) & PMU_MISC2_TOG_AUDIO_DIV_MSB_MASK)
  27175. #define PMU_MISC2_TOG_REG0_STEP_TIME_MASK (0x3000000U)
  27176. #define PMU_MISC2_TOG_REG0_STEP_TIME_SHIFT (24U)
  27177. /*! REG0_STEP_TIME
  27178. * 0b00..64
  27179. * 0b01..128
  27180. * 0b10..256
  27181. * 0b11..512
  27182. */
  27183. #define PMU_MISC2_TOG_REG0_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_TOG_REG0_STEP_TIME_SHIFT)) & PMU_MISC2_TOG_REG0_STEP_TIME_MASK)
  27184. #define PMU_MISC2_TOG_REG1_STEP_TIME_MASK (0xC000000U)
  27185. #define PMU_MISC2_TOG_REG1_STEP_TIME_SHIFT (26U)
  27186. /*! REG1_STEP_TIME
  27187. * 0b00..64
  27188. * 0b01..128
  27189. * 0b10..256
  27190. * 0b11..512
  27191. */
  27192. #define PMU_MISC2_TOG_REG1_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_TOG_REG1_STEP_TIME_SHIFT)) & PMU_MISC2_TOG_REG1_STEP_TIME_MASK)
  27193. #define PMU_MISC2_TOG_REG2_STEP_TIME_MASK (0x30000000U)
  27194. #define PMU_MISC2_TOG_REG2_STEP_TIME_SHIFT (28U)
  27195. /*! REG2_STEP_TIME
  27196. * 0b00..64
  27197. * 0b01..128
  27198. * 0b10..256
  27199. * 0b11..512
  27200. */
  27201. #define PMU_MISC2_TOG_REG2_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_TOG_REG2_STEP_TIME_SHIFT)) & PMU_MISC2_TOG_REG2_STEP_TIME_MASK)
  27202. /*! @} */
  27203. /*!
  27204. * @}
  27205. */ /* end of group PMU_Register_Masks */
  27206. /* PMU - Peripheral instance base addresses */
  27207. /** Peripheral PMU base address */
  27208. #define PMU_BASE (0x400D8000u)
  27209. /** Peripheral PMU base pointer */
  27210. #define PMU ((PMU_Type *)PMU_BASE)
  27211. /** Array initializer of PMU peripheral base addresses */
  27212. #define PMU_BASE_ADDRS { PMU_BASE }
  27213. /** Array initializer of PMU peripheral base pointers */
  27214. #define PMU_BASE_PTRS { PMU }
  27215. /*!
  27216. * @}
  27217. */ /* end of group PMU_Peripheral_Access_Layer */
  27218. /* ----------------------------------------------------------------------------
  27219. -- PWM Peripheral Access Layer
  27220. ---------------------------------------------------------------------------- */
  27221. /*!
  27222. * @addtogroup PWM_Peripheral_Access_Layer PWM Peripheral Access Layer
  27223. * @{
  27224. */
  27225. /** PWM - Register Layout Typedef */
  27226. typedef struct {
  27227. struct { /* offset: 0x0, array step: 0x60 */
  27228. __I uint16_t CNT; /**< Counter Register, array offset: 0x0, array step: 0x60 */
  27229. __IO uint16_t INIT; /**< Initial Count Register, array offset: 0x2, array step: 0x60 */
  27230. __IO uint16_t CTRL2; /**< Control 2 Register, array offset: 0x4, array step: 0x60 */
  27231. __IO uint16_t CTRL; /**< Control Register, array offset: 0x6, array step: 0x60 */
  27232. uint8_t RESERVED_0[2];
  27233. __IO uint16_t VAL0; /**< Value Register 0, array offset: 0xA, array step: 0x60 */
  27234. __IO uint16_t FRACVAL1; /**< Fractional Value Register 1, array offset: 0xC, array step: 0x60 */
  27235. __IO uint16_t VAL1; /**< Value Register 1, array offset: 0xE, array step: 0x60 */
  27236. __IO uint16_t FRACVAL2; /**< Fractional Value Register 2, array offset: 0x10, array step: 0x60 */
  27237. __IO uint16_t VAL2; /**< Value Register 2, array offset: 0x12, array step: 0x60 */
  27238. __IO uint16_t FRACVAL3; /**< Fractional Value Register 3, array offset: 0x14, array step: 0x60 */
  27239. __IO uint16_t VAL3; /**< Value Register 3, array offset: 0x16, array step: 0x60 */
  27240. __IO uint16_t FRACVAL4; /**< Fractional Value Register 4, array offset: 0x18, array step: 0x60 */
  27241. __IO uint16_t VAL4; /**< Value Register 4, array offset: 0x1A, array step: 0x60 */
  27242. __IO uint16_t FRACVAL5; /**< Fractional Value Register 5, array offset: 0x1C, array step: 0x60 */
  27243. __IO uint16_t VAL5; /**< Value Register 5, array offset: 0x1E, array step: 0x60 */
  27244. __IO uint16_t FRCTRL; /**< Fractional Control Register, array offset: 0x20, array step: 0x60 */
  27245. __IO uint16_t OCTRL; /**< Output Control Register, array offset: 0x22, array step: 0x60 */
  27246. __IO uint16_t STS; /**< Status Register, array offset: 0x24, array step: 0x60 */
  27247. __IO uint16_t INTEN; /**< Interrupt Enable Register, array offset: 0x26, array step: 0x60 */
  27248. __IO uint16_t DMAEN; /**< DMA Enable Register, array offset: 0x28, array step: 0x60 */
  27249. __IO uint16_t TCTRL; /**< Output Trigger Control Register, array offset: 0x2A, array step: 0x60 */
  27250. __IO uint16_t DISMAP[1]; /**< Fault Disable Mapping Register 0, array offset: 0x2C, array step: index*0x60, index2*0x2 */
  27251. uint8_t RESERVED_1[2];
  27252. __IO uint16_t DTCNT0; /**< Deadtime Count Register 0, array offset: 0x30, array step: 0x60 */
  27253. __IO uint16_t DTCNT1; /**< Deadtime Count Register 1, array offset: 0x32, array step: 0x60 */
  27254. __IO uint16_t CAPTCTRLA; /**< Capture Control A Register, array offset: 0x34, array step: 0x60 */
  27255. __IO uint16_t CAPTCOMPA; /**< Capture Compare A Register, array offset: 0x36, array step: 0x60 */
  27256. __IO uint16_t CAPTCTRLB; /**< Capture Control B Register, array offset: 0x38, array step: 0x60 */
  27257. __IO uint16_t CAPTCOMPB; /**< Capture Compare B Register, array offset: 0x3A, array step: 0x60 */
  27258. __IO uint16_t CAPTCTRLX; /**< Capture Control X Register, array offset: 0x3C, array step: 0x60 */
  27259. __IO uint16_t CAPTCOMPX; /**< Capture Compare X Register, array offset: 0x3E, array step: 0x60 */
  27260. __I uint16_t CVAL0; /**< Capture Value 0 Register, array offset: 0x40, array step: 0x60 */
  27261. __I uint16_t CVAL0CYC; /**< Capture Value 0 Cycle Register, array offset: 0x42, array step: 0x60 */
  27262. __I uint16_t CVAL1; /**< Capture Value 1 Register, array offset: 0x44, array step: 0x60 */
  27263. __I uint16_t CVAL1CYC; /**< Capture Value 1 Cycle Register, array offset: 0x46, array step: 0x60 */
  27264. __I uint16_t CVAL2; /**< Capture Value 2 Register, array offset: 0x48, array step: 0x60 */
  27265. __I uint16_t CVAL2CYC; /**< Capture Value 2 Cycle Register, array offset: 0x4A, array step: 0x60 */
  27266. __I uint16_t CVAL3; /**< Capture Value 3 Register, array offset: 0x4C, array step: 0x60 */
  27267. __I uint16_t CVAL3CYC; /**< Capture Value 3 Cycle Register, array offset: 0x4E, array step: 0x60 */
  27268. __I uint16_t CVAL4; /**< Capture Value 4 Register, array offset: 0x50, array step: 0x60 */
  27269. __I uint16_t CVAL4CYC; /**< Capture Value 4 Cycle Register, array offset: 0x52, array step: 0x60 */
  27270. __I uint16_t CVAL5; /**< Capture Value 5 Register, array offset: 0x54, array step: 0x60 */
  27271. __I uint16_t CVAL5CYC; /**< Capture Value 5 Cycle Register, array offset: 0x56, array step: 0x60 */
  27272. uint8_t RESERVED_2[8];
  27273. } SM[4];
  27274. __IO uint16_t OUTEN; /**< Output Enable Register, offset: 0x180 */
  27275. __IO uint16_t MASK; /**< Mask Register, offset: 0x182 */
  27276. __IO uint16_t SWCOUT; /**< Software Controlled Output Register, offset: 0x184 */
  27277. __IO uint16_t DTSRCSEL; /**< PWM Source Select Register, offset: 0x186 */
  27278. __IO uint16_t MCTRL; /**< Master Control Register, offset: 0x188 */
  27279. __IO uint16_t MCTRL2; /**< Master Control 2 Register, offset: 0x18A */
  27280. __IO uint16_t FCTRL; /**< Fault Control Register, offset: 0x18C */
  27281. __IO uint16_t FSTS; /**< Fault Status Register, offset: 0x18E */
  27282. __IO uint16_t FFILT; /**< Fault Filter Register, offset: 0x190 */
  27283. __IO uint16_t FTST; /**< Fault Test Register, offset: 0x192 */
  27284. __IO uint16_t FCTRL2; /**< Fault Control 2 Register, offset: 0x194 */
  27285. } PWM_Type;
  27286. /* ----------------------------------------------------------------------------
  27287. -- PWM Register Masks
  27288. ---------------------------------------------------------------------------- */
  27289. /*!
  27290. * @addtogroup PWM_Register_Masks PWM Register Masks
  27291. * @{
  27292. */
  27293. /*! @name CNT - Counter Register */
  27294. /*! @{ */
  27295. #define PWM_CNT_CNT_MASK (0xFFFFU)
  27296. #define PWM_CNT_CNT_SHIFT (0U)
  27297. /*! CNT - Counter Register Bits
  27298. */
  27299. #define PWM_CNT_CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CNT_CNT_SHIFT)) & PWM_CNT_CNT_MASK)
  27300. /*! @} */
  27301. /* The count of PWM_CNT */
  27302. #define PWM_CNT_COUNT (4U)
  27303. /*! @name INIT - Initial Count Register */
  27304. /*! @{ */
  27305. #define PWM_INIT_INIT_MASK (0xFFFFU)
  27306. #define PWM_INIT_INIT_SHIFT (0U)
  27307. /*! INIT - Initial Count Register Bits
  27308. */
  27309. #define PWM_INIT_INIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_INIT_INIT_SHIFT)) & PWM_INIT_INIT_MASK)
  27310. /*! @} */
  27311. /* The count of PWM_INIT */
  27312. #define PWM_INIT_COUNT (4U)
  27313. /*! @name CTRL2 - Control 2 Register */
  27314. /*! @{ */
  27315. #define PWM_CTRL2_CLK_SEL_MASK (0x3U)
  27316. #define PWM_CTRL2_CLK_SEL_SHIFT (0U)
  27317. /*! CLK_SEL - Clock Source Select
  27318. * 0b00..The IPBus clock is used as the clock for the local prescaler and counter.
  27319. * 0b01..EXT_CLK is used as the clock for the local prescaler and counter.
  27320. * 0b10..Submodule 0's clock (AUX_CLK) is used as the source clock for the local prescaler and counter. This
  27321. * setting should not be used in submodule 0 as it will force the clock to logic 0.
  27322. * 0b11..reserved
  27323. */
  27324. #define PWM_CTRL2_CLK_SEL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_CLK_SEL_SHIFT)) & PWM_CTRL2_CLK_SEL_MASK)
  27325. #define PWM_CTRL2_RELOAD_SEL_MASK (0x4U)
  27326. #define PWM_CTRL2_RELOAD_SEL_SHIFT (2U)
  27327. /*! RELOAD_SEL - Reload Source Select
  27328. * 0b0..The local RELOAD signal is used to reload registers.
  27329. * 0b1..The master RELOAD signal (from submodule 0) is used to reload registers. This setting should not be used
  27330. * in submodule 0 as it will force the RELOAD signal to logic 0.
  27331. */
  27332. #define PWM_CTRL2_RELOAD_SEL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_RELOAD_SEL_SHIFT)) & PWM_CTRL2_RELOAD_SEL_MASK)
  27333. #define PWM_CTRL2_FORCE_SEL_MASK (0x38U)
  27334. #define PWM_CTRL2_FORCE_SEL_SHIFT (3U)
  27335. /*! FORCE_SEL - This read/write bit determines the source of the FORCE OUTPUT signal for this submodule.
  27336. * 0b000..The local force signal, CTRL2[FORCE], from this submodule is used to force updates.
  27337. * 0b001..The master force signal from submodule 0 is used to force updates. This setting should not be used in
  27338. * submodule 0 as it will hold the FORCE OUTPUT signal to logic 0.
  27339. * 0b010..The local reload signal from this submodule is used to force updates without regard to the state of LDOK.
  27340. * 0b011..The master reload signal from submodule0 is used to force updates if LDOK is set. This setting should
  27341. * not be used in submodule0 as it will hold the FORCE OUTPUT signal to logic 0.
  27342. * 0b100..The local sync signal from this submodule is used to force updates.
  27343. * 0b101..The master sync signal from submodule0 is used to force updates. This setting should not be used in
  27344. * submodule0 as it will hold the FORCE OUTPUT signal to logic 0.
  27345. * 0b110..The external force signal, EXT_FORCE, from outside the PWM module causes updates.
  27346. * 0b111..The external sync signal, EXT_SYNC, from outside the PWM module causes updates.
  27347. */
  27348. #define PWM_CTRL2_FORCE_SEL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_FORCE_SEL_SHIFT)) & PWM_CTRL2_FORCE_SEL_MASK)
  27349. #define PWM_CTRL2_FORCE_MASK (0x40U)
  27350. #define PWM_CTRL2_FORCE_SHIFT (6U)
  27351. /*! FORCE - Force Initialization
  27352. */
  27353. #define PWM_CTRL2_FORCE(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_FORCE_SHIFT)) & PWM_CTRL2_FORCE_MASK)
  27354. #define PWM_CTRL2_FRCEN_MASK (0x80U)
  27355. #define PWM_CTRL2_FRCEN_SHIFT (7U)
  27356. /*! FRCEN - FRCEN
  27357. * 0b0..Initialization from a FORCE_OUT is disabled.
  27358. * 0b1..Initialization from a FORCE_OUT is enabled.
  27359. */
  27360. #define PWM_CTRL2_FRCEN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_FRCEN_SHIFT)) & PWM_CTRL2_FRCEN_MASK)
  27361. #define PWM_CTRL2_INIT_SEL_MASK (0x300U)
  27362. #define PWM_CTRL2_INIT_SEL_SHIFT (8U)
  27363. /*! INIT_SEL - Initialization Control Select
  27364. * 0b00..Local sync (PWM_X) causes initialization.
  27365. * 0b01..Master reload from submodule 0 causes initialization. This setting should not be used in submodule 0 as
  27366. * it will force the INIT signal to logic 0. The submodule counter will only reinitialize when a master
  27367. * reload occurs.
  27368. * 0b10..Master sync from submodule 0 causes initialization. This setting should not be used in submodule 0 as it
  27369. * will force the INIT signal to logic 0.
  27370. * 0b11..EXT_SYNC causes initialization.
  27371. */
  27372. #define PWM_CTRL2_INIT_SEL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_INIT_SEL_SHIFT)) & PWM_CTRL2_INIT_SEL_MASK)
  27373. #define PWM_CTRL2_PWMX_INIT_MASK (0x400U)
  27374. #define PWM_CTRL2_PWMX_INIT_SHIFT (10U)
  27375. /*! PWMX_INIT - PWM_X Initial Value
  27376. */
  27377. #define PWM_CTRL2_PWMX_INIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_PWMX_INIT_SHIFT)) & PWM_CTRL2_PWMX_INIT_MASK)
  27378. #define PWM_CTRL2_PWM45_INIT_MASK (0x800U)
  27379. #define PWM_CTRL2_PWM45_INIT_SHIFT (11U)
  27380. /*! PWM45_INIT - PWM45 Initial Value
  27381. */
  27382. #define PWM_CTRL2_PWM45_INIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_PWM45_INIT_SHIFT)) & PWM_CTRL2_PWM45_INIT_MASK)
  27383. #define PWM_CTRL2_PWM23_INIT_MASK (0x1000U)
  27384. #define PWM_CTRL2_PWM23_INIT_SHIFT (12U)
  27385. /*! PWM23_INIT - PWM23 Initial Value
  27386. */
  27387. #define PWM_CTRL2_PWM23_INIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_PWM23_INIT_SHIFT)) & PWM_CTRL2_PWM23_INIT_MASK)
  27388. #define PWM_CTRL2_INDEP_MASK (0x2000U)
  27389. #define PWM_CTRL2_INDEP_SHIFT (13U)
  27390. /*! INDEP - Independent or Complementary Pair Operation
  27391. * 0b0..PWM_A and PWM_B form a complementary PWM pair.
  27392. * 0b1..PWM_A and PWM_B outputs are independent PWMs.
  27393. */
  27394. #define PWM_CTRL2_INDEP(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_INDEP_SHIFT)) & PWM_CTRL2_INDEP_MASK)
  27395. #define PWM_CTRL2_WAITEN_MASK (0x4000U)
  27396. #define PWM_CTRL2_WAITEN_SHIFT (14U)
  27397. /*! WAITEN - WAIT Enable
  27398. */
  27399. #define PWM_CTRL2_WAITEN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_WAITEN_SHIFT)) & PWM_CTRL2_WAITEN_MASK)
  27400. #define PWM_CTRL2_DBGEN_MASK (0x8000U)
  27401. #define PWM_CTRL2_DBGEN_SHIFT (15U)
  27402. /*! DBGEN - Debug Enable
  27403. */
  27404. #define PWM_CTRL2_DBGEN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_DBGEN_SHIFT)) & PWM_CTRL2_DBGEN_MASK)
  27405. /*! @} */
  27406. /* The count of PWM_CTRL2 */
  27407. #define PWM_CTRL2_COUNT (4U)
  27408. /*! @name CTRL - Control Register */
  27409. /*! @{ */
  27410. #define PWM_CTRL_DBLEN_MASK (0x1U)
  27411. #define PWM_CTRL_DBLEN_SHIFT (0U)
  27412. /*! DBLEN - Double Switching Enable
  27413. * 0b0..Double switching disabled.
  27414. * 0b1..Double switching enabled.
  27415. */
  27416. #define PWM_CTRL_DBLEN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_DBLEN_SHIFT)) & PWM_CTRL_DBLEN_MASK)
  27417. #define PWM_CTRL_DBLX_MASK (0x2U)
  27418. #define PWM_CTRL_DBLX_SHIFT (1U)
  27419. /*! DBLX - PWMX Double Switching Enable
  27420. * 0b0..PWMX double pulse disabled.
  27421. * 0b1..PWMX double pulse enabled.
  27422. */
  27423. #define PWM_CTRL_DBLX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_DBLX_SHIFT)) & PWM_CTRL_DBLX_MASK)
  27424. #define PWM_CTRL_LDMOD_MASK (0x4U)
  27425. #define PWM_CTRL_LDMOD_SHIFT (2U)
  27426. /*! LDMOD - Load Mode Select
  27427. * 0b0..Buffered registers of this submodule are loaded and take effect at the next PWM reload if MCTRL[LDOK] is set.
  27428. * 0b1..Buffered registers of this submodule are loaded and take effect immediately upon MCTRL[LDOK] being set.
  27429. * In this case it is not necessary to set CTRL[FULL] or CTRL[HALF].
  27430. */
  27431. #define PWM_CTRL_LDMOD(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_LDMOD_SHIFT)) & PWM_CTRL_LDMOD_MASK)
  27432. #define PWM_CTRL_SPLIT_MASK (0x8U)
  27433. #define PWM_CTRL_SPLIT_SHIFT (3U)
  27434. /*! SPLIT - Split the DBLPWM signal to PWMA and PWMB
  27435. * 0b0..DBLPWM is not split. PWMA and PWMB each have double pulses.
  27436. * 0b1..DBLPWM is split to PWMA and PWMB.
  27437. */
  27438. #define PWM_CTRL_SPLIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_SPLIT_SHIFT)) & PWM_CTRL_SPLIT_MASK)
  27439. #define PWM_CTRL_PRSC_MASK (0x70U)
  27440. #define PWM_CTRL_PRSC_SHIFT (4U)
  27441. /*! PRSC - Prescaler
  27442. * 0b000..Prescaler 1
  27443. * 0b001..Prescaler 2
  27444. * 0b010..Prescaler 4
  27445. * 0b011..Prescaler 8
  27446. * 0b100..Prescaler 16
  27447. * 0b101..Prescaler 32
  27448. * 0b110..Prescaler 64
  27449. * 0b111..Prescaler 128
  27450. */
  27451. #define PWM_CTRL_PRSC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_PRSC_SHIFT)) & PWM_CTRL_PRSC_MASK)
  27452. #define PWM_CTRL_COMPMODE_MASK (0x80U)
  27453. #define PWM_CTRL_COMPMODE_SHIFT (7U)
  27454. /*! COMPMODE - Compare Mode
  27455. * 0b0..The VAL* registers and the PWM counter are compared using an "equal to" method. This means that PWM edges
  27456. * are only produced when the counter is equal to one of the VAL* register values. This implies that a PWMA
  27457. * output that is high at the end of a period will maintain this state until a match with VAL3 clears the
  27458. * output in the following period.
  27459. * 0b1..The VAL* registers and the PWM counter are compared using an "equal to or greater than" method. This
  27460. * means that PWM edges are produced when the counter is equal to or greater than one of the VAL* register
  27461. * values. This implies that a PWMA output that is high at the end of a period could go low at the start of the
  27462. * next period if the starting counter value is greater than (but not necessarily equal to) the new VAL3 value.
  27463. */
  27464. #define PWM_CTRL_COMPMODE(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_COMPMODE_SHIFT)) & PWM_CTRL_COMPMODE_MASK)
  27465. #define PWM_CTRL_DT_MASK (0x300U)
  27466. #define PWM_CTRL_DT_SHIFT (8U)
  27467. /*! DT - Deadtime
  27468. */
  27469. #define PWM_CTRL_DT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_DT_SHIFT)) & PWM_CTRL_DT_MASK)
  27470. #define PWM_CTRL_FULL_MASK (0x400U)
  27471. #define PWM_CTRL_FULL_SHIFT (10U)
  27472. /*! FULL - Full Cycle Reload
  27473. * 0b0..Full-cycle reloads disabled.
  27474. * 0b1..Full-cycle reloads enabled.
  27475. */
  27476. #define PWM_CTRL_FULL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_FULL_SHIFT)) & PWM_CTRL_FULL_MASK)
  27477. #define PWM_CTRL_HALF_MASK (0x800U)
  27478. #define PWM_CTRL_HALF_SHIFT (11U)
  27479. /*! HALF - Half Cycle Reload
  27480. * 0b0..Half-cycle reloads disabled.
  27481. * 0b1..Half-cycle reloads enabled.
  27482. */
  27483. #define PWM_CTRL_HALF(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_HALF_SHIFT)) & PWM_CTRL_HALF_MASK)
  27484. #define PWM_CTRL_LDFQ_MASK (0xF000U)
  27485. #define PWM_CTRL_LDFQ_SHIFT (12U)
  27486. /*! LDFQ - Load Frequency
  27487. * 0b0000..Every PWM opportunity
  27488. * 0b0001..Every 2 PWM opportunities
  27489. * 0b0010..Every 3 PWM opportunities
  27490. * 0b0011..Every 4 PWM opportunities
  27491. * 0b0100..Every 5 PWM opportunities
  27492. * 0b0101..Every 6 PWM opportunities
  27493. * 0b0110..Every 7 PWM opportunities
  27494. * 0b0111..Every 8 PWM opportunities
  27495. * 0b1000..Every 9 PWM opportunities
  27496. * 0b1001..Every 10 PWM opportunities
  27497. * 0b1010..Every 11 PWM opportunities
  27498. * 0b1011..Every 12 PWM opportunities
  27499. * 0b1100..Every 13 PWM opportunities
  27500. * 0b1101..Every 14 PWM opportunities
  27501. * 0b1110..Every 15 PWM opportunities
  27502. * 0b1111..Every 16 PWM opportunities
  27503. */
  27504. #define PWM_CTRL_LDFQ(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_LDFQ_SHIFT)) & PWM_CTRL_LDFQ_MASK)
  27505. /*! @} */
  27506. /* The count of PWM_CTRL */
  27507. #define PWM_CTRL_COUNT (4U)
  27508. /*! @name VAL0 - Value Register 0 */
  27509. /*! @{ */
  27510. #define PWM_VAL0_VAL0_MASK (0xFFFFU)
  27511. #define PWM_VAL0_VAL0_SHIFT (0U)
  27512. /*! VAL0 - Value Register 0
  27513. */
  27514. #define PWM_VAL0_VAL0(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL0_VAL0_SHIFT)) & PWM_VAL0_VAL0_MASK)
  27515. /*! @} */
  27516. /* The count of PWM_VAL0 */
  27517. #define PWM_VAL0_COUNT (4U)
  27518. /*! @name FRACVAL1 - Fractional Value Register 1 */
  27519. /*! @{ */
  27520. #define PWM_FRACVAL1_FRACVAL1_MASK (0xF800U)
  27521. #define PWM_FRACVAL1_FRACVAL1_SHIFT (11U)
  27522. /*! FRACVAL1 - Fractional Value 1 Register
  27523. */
  27524. #define PWM_FRACVAL1_FRACVAL1(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL1_FRACVAL1_SHIFT)) & PWM_FRACVAL1_FRACVAL1_MASK)
  27525. /*! @} */
  27526. /* The count of PWM_FRACVAL1 */
  27527. #define PWM_FRACVAL1_COUNT (4U)
  27528. /*! @name VAL1 - Value Register 1 */
  27529. /*! @{ */
  27530. #define PWM_VAL1_VAL1_MASK (0xFFFFU)
  27531. #define PWM_VAL1_VAL1_SHIFT (0U)
  27532. /*! VAL1 - Value Register 1
  27533. */
  27534. #define PWM_VAL1_VAL1(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL1_VAL1_SHIFT)) & PWM_VAL1_VAL1_MASK)
  27535. /*! @} */
  27536. /* The count of PWM_VAL1 */
  27537. #define PWM_VAL1_COUNT (4U)
  27538. /*! @name FRACVAL2 - Fractional Value Register 2 */
  27539. /*! @{ */
  27540. #define PWM_FRACVAL2_FRACVAL2_MASK (0xF800U)
  27541. #define PWM_FRACVAL2_FRACVAL2_SHIFT (11U)
  27542. /*! FRACVAL2 - Fractional Value 2
  27543. */
  27544. #define PWM_FRACVAL2_FRACVAL2(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL2_FRACVAL2_SHIFT)) & PWM_FRACVAL2_FRACVAL2_MASK)
  27545. /*! @} */
  27546. /* The count of PWM_FRACVAL2 */
  27547. #define PWM_FRACVAL2_COUNT (4U)
  27548. /*! @name VAL2 - Value Register 2 */
  27549. /*! @{ */
  27550. #define PWM_VAL2_VAL2_MASK (0xFFFFU)
  27551. #define PWM_VAL2_VAL2_SHIFT (0U)
  27552. /*! VAL2 - Value Register 2
  27553. */
  27554. #define PWM_VAL2_VAL2(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL2_VAL2_SHIFT)) & PWM_VAL2_VAL2_MASK)
  27555. /*! @} */
  27556. /* The count of PWM_VAL2 */
  27557. #define PWM_VAL2_COUNT (4U)
  27558. /*! @name FRACVAL3 - Fractional Value Register 3 */
  27559. /*! @{ */
  27560. #define PWM_FRACVAL3_FRACVAL3_MASK (0xF800U)
  27561. #define PWM_FRACVAL3_FRACVAL3_SHIFT (11U)
  27562. /*! FRACVAL3 - Fractional Value 3
  27563. */
  27564. #define PWM_FRACVAL3_FRACVAL3(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL3_FRACVAL3_SHIFT)) & PWM_FRACVAL3_FRACVAL3_MASK)
  27565. /*! @} */
  27566. /* The count of PWM_FRACVAL3 */
  27567. #define PWM_FRACVAL3_COUNT (4U)
  27568. /*! @name VAL3 - Value Register 3 */
  27569. /*! @{ */
  27570. #define PWM_VAL3_VAL3_MASK (0xFFFFU)
  27571. #define PWM_VAL3_VAL3_SHIFT (0U)
  27572. /*! VAL3 - Value Register 3
  27573. */
  27574. #define PWM_VAL3_VAL3(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL3_VAL3_SHIFT)) & PWM_VAL3_VAL3_MASK)
  27575. /*! @} */
  27576. /* The count of PWM_VAL3 */
  27577. #define PWM_VAL3_COUNT (4U)
  27578. /*! @name FRACVAL4 - Fractional Value Register 4 */
  27579. /*! @{ */
  27580. #define PWM_FRACVAL4_FRACVAL4_MASK (0xF800U)
  27581. #define PWM_FRACVAL4_FRACVAL4_SHIFT (11U)
  27582. /*! FRACVAL4 - Fractional Value 4
  27583. */
  27584. #define PWM_FRACVAL4_FRACVAL4(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL4_FRACVAL4_SHIFT)) & PWM_FRACVAL4_FRACVAL4_MASK)
  27585. /*! @} */
  27586. /* The count of PWM_FRACVAL4 */
  27587. #define PWM_FRACVAL4_COUNT (4U)
  27588. /*! @name VAL4 - Value Register 4 */
  27589. /*! @{ */
  27590. #define PWM_VAL4_VAL4_MASK (0xFFFFU)
  27591. #define PWM_VAL4_VAL4_SHIFT (0U)
  27592. /*! VAL4 - Value Register 4
  27593. */
  27594. #define PWM_VAL4_VAL4(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL4_VAL4_SHIFT)) & PWM_VAL4_VAL4_MASK)
  27595. /*! @} */
  27596. /* The count of PWM_VAL4 */
  27597. #define PWM_VAL4_COUNT (4U)
  27598. /*! @name FRACVAL5 - Fractional Value Register 5 */
  27599. /*! @{ */
  27600. #define PWM_FRACVAL5_FRACVAL5_MASK (0xF800U)
  27601. #define PWM_FRACVAL5_FRACVAL5_SHIFT (11U)
  27602. /*! FRACVAL5 - Fractional Value 5
  27603. */
  27604. #define PWM_FRACVAL5_FRACVAL5(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL5_FRACVAL5_SHIFT)) & PWM_FRACVAL5_FRACVAL5_MASK)
  27605. /*! @} */
  27606. /* The count of PWM_FRACVAL5 */
  27607. #define PWM_FRACVAL5_COUNT (4U)
  27608. /*! @name VAL5 - Value Register 5 */
  27609. /*! @{ */
  27610. #define PWM_VAL5_VAL5_MASK (0xFFFFU)
  27611. #define PWM_VAL5_VAL5_SHIFT (0U)
  27612. /*! VAL5 - Value Register 5
  27613. */
  27614. #define PWM_VAL5_VAL5(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL5_VAL5_SHIFT)) & PWM_VAL5_VAL5_MASK)
  27615. /*! @} */
  27616. /* The count of PWM_VAL5 */
  27617. #define PWM_VAL5_COUNT (4U)
  27618. /*! @name FRCTRL - Fractional Control Register */
  27619. /*! @{ */
  27620. #define PWM_FRCTRL_FRAC1_EN_MASK (0x2U)
  27621. #define PWM_FRCTRL_FRAC1_EN_SHIFT (1U)
  27622. /*! FRAC1_EN - Fractional Cycle PWM Period Enable
  27623. * 0b0..Disable fractional cycle length for the PWM period.
  27624. * 0b1..Enable fractional cycle length for the PWM period.
  27625. */
  27626. #define PWM_FRCTRL_FRAC1_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRCTRL_FRAC1_EN_SHIFT)) & PWM_FRCTRL_FRAC1_EN_MASK)
  27627. #define PWM_FRCTRL_FRAC23_EN_MASK (0x4U)
  27628. #define PWM_FRCTRL_FRAC23_EN_SHIFT (2U)
  27629. /*! FRAC23_EN - Fractional Cycle Placement Enable for PWM_A
  27630. * 0b0..Disable fractional cycle placement for PWM_A.
  27631. * 0b1..Enable fractional cycle placement for PWM_A.
  27632. */
  27633. #define PWM_FRCTRL_FRAC23_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRCTRL_FRAC23_EN_SHIFT)) & PWM_FRCTRL_FRAC23_EN_MASK)
  27634. #define PWM_FRCTRL_FRAC45_EN_MASK (0x10U)
  27635. #define PWM_FRCTRL_FRAC45_EN_SHIFT (4U)
  27636. /*! FRAC45_EN - Fractional Cycle Placement Enable for PWM_B
  27637. * 0b0..Disable fractional cycle placement for PWM_B.
  27638. * 0b1..Enable fractional cycle placement for PWM_B.
  27639. */
  27640. #define PWM_FRCTRL_FRAC45_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRCTRL_FRAC45_EN_SHIFT)) & PWM_FRCTRL_FRAC45_EN_MASK)
  27641. #define PWM_FRCTRL_FRAC_PU_MASK (0x100U)
  27642. #define PWM_FRCTRL_FRAC_PU_SHIFT (8U)
  27643. /*! FRAC_PU - Fractional Delay Circuit Power Up
  27644. * 0b0..Turn off fractional delay logic.
  27645. * 0b1..Power up fractional delay logic.
  27646. */
  27647. #define PWM_FRCTRL_FRAC_PU(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRCTRL_FRAC_PU_SHIFT)) & PWM_FRCTRL_FRAC_PU_MASK)
  27648. #define PWM_FRCTRL_TEST_MASK (0x8000U)
  27649. #define PWM_FRCTRL_TEST_SHIFT (15U)
  27650. /*! TEST - Test Status Bit
  27651. */
  27652. #define PWM_FRCTRL_TEST(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRCTRL_TEST_SHIFT)) & PWM_FRCTRL_TEST_MASK)
  27653. /*! @} */
  27654. /* The count of PWM_FRCTRL */
  27655. #define PWM_FRCTRL_COUNT (4U)
  27656. /*! @name OCTRL - Output Control Register */
  27657. /*! @{ */
  27658. #define PWM_OCTRL_PWMXFS_MASK (0x3U)
  27659. #define PWM_OCTRL_PWMXFS_SHIFT (0U)
  27660. /*! PWMXFS - PWM_X Fault State
  27661. * 0b00..Output is forced to logic 0 state prior to consideration of output polarity control.
  27662. * 0b01..Output is forced to logic 1 state prior to consideration of output polarity control.
  27663. * 0b10, 0b11..Output is tristated.
  27664. */
  27665. #define PWM_OCTRL_PWMXFS(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMXFS_SHIFT)) & PWM_OCTRL_PWMXFS_MASK)
  27666. #define PWM_OCTRL_PWMBFS_MASK (0xCU)
  27667. #define PWM_OCTRL_PWMBFS_SHIFT (2U)
  27668. /*! PWMBFS - PWM_B Fault State
  27669. * 0b00..Output is forced to logic 0 state prior to consideration of output polarity control.
  27670. * 0b01..Output is forced to logic 1 state prior to consideration of output polarity control.
  27671. * 0b10, 0b11..Output is tristated.
  27672. */
  27673. #define PWM_OCTRL_PWMBFS(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMBFS_SHIFT)) & PWM_OCTRL_PWMBFS_MASK)
  27674. #define PWM_OCTRL_PWMAFS_MASK (0x30U)
  27675. #define PWM_OCTRL_PWMAFS_SHIFT (4U)
  27676. /*! PWMAFS - PWM_A Fault State
  27677. * 0b00..Output is forced to logic 0 state prior to consideration of output polarity control.
  27678. * 0b01..Output is forced to logic 1 state prior to consideration of output polarity control.
  27679. * 0b10, 0b11..Output is tristated.
  27680. */
  27681. #define PWM_OCTRL_PWMAFS(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMAFS_SHIFT)) & PWM_OCTRL_PWMAFS_MASK)
  27682. #define PWM_OCTRL_POLX_MASK (0x100U)
  27683. #define PWM_OCTRL_POLX_SHIFT (8U)
  27684. /*! POLX - PWM_X Output Polarity
  27685. * 0b0..PWM_X output not inverted. A high level on the PWM_X pin represents the "on" or "active" state.
  27686. * 0b1..PWM_X output inverted. A low level on the PWM_X pin represents the "on" or "active" state.
  27687. */
  27688. #define PWM_OCTRL_POLX(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_POLX_SHIFT)) & PWM_OCTRL_POLX_MASK)
  27689. #define PWM_OCTRL_POLB_MASK (0x200U)
  27690. #define PWM_OCTRL_POLB_SHIFT (9U)
  27691. /*! POLB - PWM_B Output Polarity
  27692. * 0b0..PWM_B output not inverted. A high level on the PWM_B pin represents the "on" or "active" state.
  27693. * 0b1..PWM_B output inverted. A low level on the PWM_B pin represents the "on" or "active" state.
  27694. */
  27695. #define PWM_OCTRL_POLB(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_POLB_SHIFT)) & PWM_OCTRL_POLB_MASK)
  27696. #define PWM_OCTRL_POLA_MASK (0x400U)
  27697. #define PWM_OCTRL_POLA_SHIFT (10U)
  27698. /*! POLA - PWM_A Output Polarity
  27699. * 0b0..PWM_A output not inverted. A high level on the PWM_A pin represents the "on" or "active" state.
  27700. * 0b1..PWM_A output inverted. A low level on the PWM_A pin represents the "on" or "active" state.
  27701. */
  27702. #define PWM_OCTRL_POLA(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_POLA_SHIFT)) & PWM_OCTRL_POLA_MASK)
  27703. #define PWM_OCTRL_PWMX_IN_MASK (0x2000U)
  27704. #define PWM_OCTRL_PWMX_IN_SHIFT (13U)
  27705. /*! PWMX_IN - PWM_X Input
  27706. */
  27707. #define PWM_OCTRL_PWMX_IN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMX_IN_SHIFT)) & PWM_OCTRL_PWMX_IN_MASK)
  27708. #define PWM_OCTRL_PWMB_IN_MASK (0x4000U)
  27709. #define PWM_OCTRL_PWMB_IN_SHIFT (14U)
  27710. /*! PWMB_IN - PWM_B Input
  27711. */
  27712. #define PWM_OCTRL_PWMB_IN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMB_IN_SHIFT)) & PWM_OCTRL_PWMB_IN_MASK)
  27713. #define PWM_OCTRL_PWMA_IN_MASK (0x8000U)
  27714. #define PWM_OCTRL_PWMA_IN_SHIFT (15U)
  27715. /*! PWMA_IN - PWM_A Input
  27716. */
  27717. #define PWM_OCTRL_PWMA_IN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMA_IN_SHIFT)) & PWM_OCTRL_PWMA_IN_MASK)
  27718. /*! @} */
  27719. /* The count of PWM_OCTRL */
  27720. #define PWM_OCTRL_COUNT (4U)
  27721. /*! @name STS - Status Register */
  27722. /*! @{ */
  27723. #define PWM_STS_CMPF_MASK (0x3FU)
  27724. #define PWM_STS_CMPF_SHIFT (0U)
  27725. /*! CMPF - Compare Flags
  27726. * 0b000000..No compare event has occurred for a particular VALx value.
  27727. * 0b000001..A compare event has occurred for a particular VALx value.
  27728. */
  27729. #define PWM_STS_CMPF(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CMPF_SHIFT)) & PWM_STS_CMPF_MASK)
  27730. #define PWM_STS_CFX0_MASK (0x40U)
  27731. #define PWM_STS_CFX0_SHIFT (6U)
  27732. /*! CFX0 - Capture Flag X0
  27733. */
  27734. #define PWM_STS_CFX0(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFX0_SHIFT)) & PWM_STS_CFX0_MASK)
  27735. #define PWM_STS_CFX1_MASK (0x80U)
  27736. #define PWM_STS_CFX1_SHIFT (7U)
  27737. /*! CFX1 - Capture Flag X1
  27738. */
  27739. #define PWM_STS_CFX1(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFX1_SHIFT)) & PWM_STS_CFX1_MASK)
  27740. #define PWM_STS_CFB0_MASK (0x100U)
  27741. #define PWM_STS_CFB0_SHIFT (8U)
  27742. /*! CFB0 - Capture Flag B0
  27743. */
  27744. #define PWM_STS_CFB0(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFB0_SHIFT)) & PWM_STS_CFB0_MASK)
  27745. #define PWM_STS_CFB1_MASK (0x200U)
  27746. #define PWM_STS_CFB1_SHIFT (9U)
  27747. /*! CFB1 - Capture Flag B1
  27748. */
  27749. #define PWM_STS_CFB1(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFB1_SHIFT)) & PWM_STS_CFB1_MASK)
  27750. #define PWM_STS_CFA0_MASK (0x400U)
  27751. #define PWM_STS_CFA0_SHIFT (10U)
  27752. /*! CFA0 - Capture Flag A0
  27753. */
  27754. #define PWM_STS_CFA0(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFA0_SHIFT)) & PWM_STS_CFA0_MASK)
  27755. #define PWM_STS_CFA1_MASK (0x800U)
  27756. #define PWM_STS_CFA1_SHIFT (11U)
  27757. /*! CFA1 - Capture Flag A1
  27758. */
  27759. #define PWM_STS_CFA1(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFA1_SHIFT)) & PWM_STS_CFA1_MASK)
  27760. #define PWM_STS_RF_MASK (0x1000U)
  27761. #define PWM_STS_RF_SHIFT (12U)
  27762. /*! RF - Reload Flag
  27763. * 0b0..No new reload cycle since last STS[RF] clearing
  27764. * 0b1..New reload cycle since last STS[RF] clearing
  27765. */
  27766. #define PWM_STS_RF(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_RF_SHIFT)) & PWM_STS_RF_MASK)
  27767. #define PWM_STS_REF_MASK (0x2000U)
  27768. #define PWM_STS_REF_SHIFT (13U)
  27769. /*! REF - Reload Error Flag
  27770. * 0b0..No reload error occurred.
  27771. * 0b1..Reload signal occurred with non-coherent data and MCTRL[LDOK] = 0.
  27772. */
  27773. #define PWM_STS_REF(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_REF_SHIFT)) & PWM_STS_REF_MASK)
  27774. #define PWM_STS_RUF_MASK (0x4000U)
  27775. #define PWM_STS_RUF_SHIFT (14U)
  27776. /*! RUF - Registers Updated Flag
  27777. * 0b0..No register update has occurred since last reload.
  27778. * 0b1..At least one of the double buffered registers has been updated since the last reload.
  27779. */
  27780. #define PWM_STS_RUF(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_RUF_SHIFT)) & PWM_STS_RUF_MASK)
  27781. /*! @} */
  27782. /* The count of PWM_STS */
  27783. #define PWM_STS_COUNT (4U)
  27784. /*! @name INTEN - Interrupt Enable Register */
  27785. /*! @{ */
  27786. #define PWM_INTEN_CMPIE_MASK (0x3FU)
  27787. #define PWM_INTEN_CMPIE_SHIFT (0U)
  27788. /*! CMPIE - Compare Interrupt Enables
  27789. * 0b000000..The corresponding STS[CMPF] bit will not cause an interrupt request.
  27790. * 0b000001..The corresponding STS[CMPF] bit will cause an interrupt request.
  27791. */
  27792. #define PWM_INTEN_CMPIE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CMPIE_SHIFT)) & PWM_INTEN_CMPIE_MASK)
  27793. #define PWM_INTEN_CX0IE_MASK (0x40U)
  27794. #define PWM_INTEN_CX0IE_SHIFT (6U)
  27795. /*! CX0IE - Capture X 0 Interrupt Enable
  27796. * 0b0..Interrupt request disabled for STS[CFX0].
  27797. * 0b1..Interrupt request enabled for STS[CFX0].
  27798. */
  27799. #define PWM_INTEN_CX0IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CX0IE_SHIFT)) & PWM_INTEN_CX0IE_MASK)
  27800. #define PWM_INTEN_CX1IE_MASK (0x80U)
  27801. #define PWM_INTEN_CX1IE_SHIFT (7U)
  27802. /*! CX1IE - Capture X 1 Interrupt Enable
  27803. * 0b0..Interrupt request disabled for STS[CFX1].
  27804. * 0b1..Interrupt request enabled for STS[CFX1].
  27805. */
  27806. #define PWM_INTEN_CX1IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CX1IE_SHIFT)) & PWM_INTEN_CX1IE_MASK)
  27807. #define PWM_INTEN_CB0IE_MASK (0x100U)
  27808. #define PWM_INTEN_CB0IE_SHIFT (8U)
  27809. /*! CB0IE - Capture B 0 Interrupt Enable
  27810. * 0b0..Interrupt request disabled for STS[CFB0].
  27811. * 0b1..Interrupt request enabled for STS[CFB0].
  27812. */
  27813. #define PWM_INTEN_CB0IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CB0IE_SHIFT)) & PWM_INTEN_CB0IE_MASK)
  27814. #define PWM_INTEN_CB1IE_MASK (0x200U)
  27815. #define PWM_INTEN_CB1IE_SHIFT (9U)
  27816. /*! CB1IE - Capture B 1 Interrupt Enable
  27817. * 0b0..Interrupt request disabled for STS[CFB1].
  27818. * 0b1..Interrupt request enabled for STS[CFB1].
  27819. */
  27820. #define PWM_INTEN_CB1IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CB1IE_SHIFT)) & PWM_INTEN_CB1IE_MASK)
  27821. #define PWM_INTEN_CA0IE_MASK (0x400U)
  27822. #define PWM_INTEN_CA0IE_SHIFT (10U)
  27823. /*! CA0IE - Capture A 0 Interrupt Enable
  27824. * 0b0..Interrupt request disabled for STS[CFA0].
  27825. * 0b1..Interrupt request enabled for STS[CFA0].
  27826. */
  27827. #define PWM_INTEN_CA0IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CA0IE_SHIFT)) & PWM_INTEN_CA0IE_MASK)
  27828. #define PWM_INTEN_CA1IE_MASK (0x800U)
  27829. #define PWM_INTEN_CA1IE_SHIFT (11U)
  27830. /*! CA1IE - Capture A 1 Interrupt Enable
  27831. * 0b0..Interrupt request disabled for STS[CFA1].
  27832. * 0b1..Interrupt request enabled for STS[CFA1].
  27833. */
  27834. #define PWM_INTEN_CA1IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CA1IE_SHIFT)) & PWM_INTEN_CA1IE_MASK)
  27835. #define PWM_INTEN_RIE_MASK (0x1000U)
  27836. #define PWM_INTEN_RIE_SHIFT (12U)
  27837. /*! RIE - Reload Interrupt Enable
  27838. * 0b0..STS[RF] CPU interrupt requests disabled
  27839. * 0b1..STS[RF] CPU interrupt requests enabled
  27840. */
  27841. #define PWM_INTEN_RIE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_RIE_SHIFT)) & PWM_INTEN_RIE_MASK)
  27842. #define PWM_INTEN_REIE_MASK (0x2000U)
  27843. #define PWM_INTEN_REIE_SHIFT (13U)
  27844. /*! REIE - Reload Error Interrupt Enable
  27845. * 0b0..STS[REF] CPU interrupt requests disabled
  27846. * 0b1..STS[REF] CPU interrupt requests enabled
  27847. */
  27848. #define PWM_INTEN_REIE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_REIE_SHIFT)) & PWM_INTEN_REIE_MASK)
  27849. /*! @} */
  27850. /* The count of PWM_INTEN */
  27851. #define PWM_INTEN_COUNT (4U)
  27852. /*! @name DMAEN - DMA Enable Register */
  27853. /*! @{ */
  27854. #define PWM_DMAEN_CX0DE_MASK (0x1U)
  27855. #define PWM_DMAEN_CX0DE_SHIFT (0U)
  27856. /*! CX0DE - Capture X0 FIFO DMA Enable
  27857. */
  27858. #define PWM_DMAEN_CX0DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CX0DE_SHIFT)) & PWM_DMAEN_CX0DE_MASK)
  27859. #define PWM_DMAEN_CX1DE_MASK (0x2U)
  27860. #define PWM_DMAEN_CX1DE_SHIFT (1U)
  27861. /*! CX1DE - Capture X1 FIFO DMA Enable
  27862. */
  27863. #define PWM_DMAEN_CX1DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CX1DE_SHIFT)) & PWM_DMAEN_CX1DE_MASK)
  27864. #define PWM_DMAEN_CB0DE_MASK (0x4U)
  27865. #define PWM_DMAEN_CB0DE_SHIFT (2U)
  27866. /*! CB0DE - Capture B0 FIFO DMA Enable
  27867. */
  27868. #define PWM_DMAEN_CB0DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CB0DE_SHIFT)) & PWM_DMAEN_CB0DE_MASK)
  27869. #define PWM_DMAEN_CB1DE_MASK (0x8U)
  27870. #define PWM_DMAEN_CB1DE_SHIFT (3U)
  27871. /*! CB1DE - Capture B1 FIFO DMA Enable
  27872. */
  27873. #define PWM_DMAEN_CB1DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CB1DE_SHIFT)) & PWM_DMAEN_CB1DE_MASK)
  27874. #define PWM_DMAEN_CA0DE_MASK (0x10U)
  27875. #define PWM_DMAEN_CA0DE_SHIFT (4U)
  27876. /*! CA0DE - Capture A0 FIFO DMA Enable
  27877. */
  27878. #define PWM_DMAEN_CA0DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CA0DE_SHIFT)) & PWM_DMAEN_CA0DE_MASK)
  27879. #define PWM_DMAEN_CA1DE_MASK (0x20U)
  27880. #define PWM_DMAEN_CA1DE_SHIFT (5U)
  27881. /*! CA1DE - Capture A1 FIFO DMA Enable
  27882. */
  27883. #define PWM_DMAEN_CA1DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CA1DE_SHIFT)) & PWM_DMAEN_CA1DE_MASK)
  27884. #define PWM_DMAEN_CAPTDE_MASK (0xC0U)
  27885. #define PWM_DMAEN_CAPTDE_SHIFT (6U)
  27886. /*! CAPTDE - Capture DMA Enable Source Select
  27887. * 0b00..Read DMA requests disabled.
  27888. * 0b01..Exceeding a FIFO watermark sets the DMA read request. This requires at least one of DMAEN[CA1DE],
  27889. * DMAEN[CA0DE], DMAEN[CB1DE], DMAEN[CB0DE], DMAEN[CX1DE], or DMAEN[CX0DE] to also be set in order to determine to
  27890. * which watermark(s) the DMA request is sensitive.
  27891. * 0b10..A local sync (VAL1 matches counter) sets the read DMA request.
  27892. * 0b11..A local reload (STS[RF] being set) sets the read DMA request.
  27893. */
  27894. #define PWM_DMAEN_CAPTDE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CAPTDE_SHIFT)) & PWM_DMAEN_CAPTDE_MASK)
  27895. #define PWM_DMAEN_FAND_MASK (0x100U)
  27896. #define PWM_DMAEN_FAND_SHIFT (8U)
  27897. /*! FAND - FIFO Watermark AND Control
  27898. * 0b0..Selected FIFO watermarks are OR'ed together.
  27899. * 0b1..Selected FIFO watermarks are AND'ed together.
  27900. */
  27901. #define PWM_DMAEN_FAND(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_FAND_SHIFT)) & PWM_DMAEN_FAND_MASK)
  27902. #define PWM_DMAEN_VALDE_MASK (0x200U)
  27903. #define PWM_DMAEN_VALDE_SHIFT (9U)
  27904. /*! VALDE - Value Registers DMA Enable
  27905. * 0b0..DMA write requests disabled
  27906. * 0b1..Enabled
  27907. */
  27908. #define PWM_DMAEN_VALDE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_VALDE_SHIFT)) & PWM_DMAEN_VALDE_MASK)
  27909. /*! @} */
  27910. /* The count of PWM_DMAEN */
  27911. #define PWM_DMAEN_COUNT (4U)
  27912. /*! @name TCTRL - Output Trigger Control Register */
  27913. /*! @{ */
  27914. #define PWM_TCTRL_OUT_TRIG_EN_MASK (0x3FU)
  27915. #define PWM_TCTRL_OUT_TRIG_EN_SHIFT (0U)
  27916. /*! OUT_TRIG_EN - Output Trigger Enables
  27917. * 0bxxxxx1..PWM_OUT_TRIG0 will set when the counter value matches the VAL0 value.
  27918. * 0bxxxx1x..PWM_OUT_TRIG1 will set when the counter value matches the VAL1 value.
  27919. * 0bxxx1xx..PWM_OUT_TRIG0 will set when the counter value matches the VAL2 value.
  27920. * 0bxx1xxx..PWM_OUT_TRIG1 will set when the counter value matches the VAL3 value.
  27921. * 0bx1xxxx..PWM_OUT_TRIG0 will set when the counter value matches the VAL4 value.
  27922. * 0b1xxxxx..PWM_OUT_TRIG1 will set when the counter value matches the VAL5 value.
  27923. */
  27924. #define PWM_TCTRL_OUT_TRIG_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_TCTRL_OUT_TRIG_EN_SHIFT)) & PWM_TCTRL_OUT_TRIG_EN_MASK)
  27925. #define PWM_TCTRL_TRGFRQ_MASK (0x1000U)
  27926. #define PWM_TCTRL_TRGFRQ_SHIFT (12U)
  27927. /*! TRGFRQ - Trigger frequency
  27928. * 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.
  27929. * 0b1..Trigger outputs are generated only during the final PWM period prior to a reload opportunity when the PWM
  27930. * is not reloaded every period due to CTRL[LDFQ] being non-zero.
  27931. */
  27932. #define PWM_TCTRL_TRGFRQ(x) (((uint16_t)(((uint16_t)(x)) << PWM_TCTRL_TRGFRQ_SHIFT)) & PWM_TCTRL_TRGFRQ_MASK)
  27933. #define PWM_TCTRL_PWBOT1_MASK (0x4000U)
  27934. #define PWM_TCTRL_PWBOT1_SHIFT (14U)
  27935. /*! PWBOT1 - Output Trigger 1 Source Select
  27936. * 0b0..Route the PWM_OUT_TRIG1 signal to PWM_OUT_TRIG1 port.
  27937. * 0b1..Route the PWMB output to the PWM_OUT_TRIG1 port.
  27938. */
  27939. #define PWM_TCTRL_PWBOT1(x) (((uint16_t)(((uint16_t)(x)) << PWM_TCTRL_PWBOT1_SHIFT)) & PWM_TCTRL_PWBOT1_MASK)
  27940. #define PWM_TCTRL_PWAOT0_MASK (0x8000U)
  27941. #define PWM_TCTRL_PWAOT0_SHIFT (15U)
  27942. /*! PWAOT0 - Output Trigger 0 Source Select
  27943. * 0b0..Route the PWM_OUT_TRIG0 signal to PWM_OUT_TRIG0 port.
  27944. * 0b1..Route the PWMA output to the PWM_OUT_TRIG0 port.
  27945. */
  27946. #define PWM_TCTRL_PWAOT0(x) (((uint16_t)(((uint16_t)(x)) << PWM_TCTRL_PWAOT0_SHIFT)) & PWM_TCTRL_PWAOT0_MASK)
  27947. /*! @} */
  27948. /* The count of PWM_TCTRL */
  27949. #define PWM_TCTRL_COUNT (4U)
  27950. /*! @name DISMAP - Fault Disable Mapping Register 0 */
  27951. /*! @{ */
  27952. #define PWM_DISMAP_DIS0A_MASK (0xFU)
  27953. #define PWM_DISMAP_DIS0A_SHIFT (0U)
  27954. /*! DIS0A - PWM_A Fault Disable Mask 0
  27955. */
  27956. #define PWM_DISMAP_DIS0A(x) (((uint16_t)(((uint16_t)(x)) << PWM_DISMAP_DIS0A_SHIFT)) & PWM_DISMAP_DIS0A_MASK)
  27957. #define PWM_DISMAP_DIS0B_MASK (0xF0U)
  27958. #define PWM_DISMAP_DIS0B_SHIFT (4U)
  27959. /*! DIS0B - PWM_B Fault Disable Mask 0
  27960. */
  27961. #define PWM_DISMAP_DIS0B(x) (((uint16_t)(((uint16_t)(x)) << PWM_DISMAP_DIS0B_SHIFT)) & PWM_DISMAP_DIS0B_MASK)
  27962. #define PWM_DISMAP_DIS0X_MASK (0xF00U)
  27963. #define PWM_DISMAP_DIS0X_SHIFT (8U)
  27964. /*! DIS0X - PWM_X Fault Disable Mask 0
  27965. */
  27966. #define PWM_DISMAP_DIS0X(x) (((uint16_t)(((uint16_t)(x)) << PWM_DISMAP_DIS0X_SHIFT)) & PWM_DISMAP_DIS0X_MASK)
  27967. /*! @} */
  27968. /* The count of PWM_DISMAP */
  27969. #define PWM_DISMAP_COUNT (4U)
  27970. /* The count of PWM_DISMAP */
  27971. #define PWM_DISMAP_COUNT2 (1U)
  27972. /*! @name DTCNT0 - Deadtime Count Register 0 */
  27973. /*! @{ */
  27974. #define PWM_DTCNT0_DTCNT0_MASK (0xFFFFU)
  27975. #define PWM_DTCNT0_DTCNT0_SHIFT (0U)
  27976. /*! DTCNT0 - DTCNT0
  27977. */
  27978. #define PWM_DTCNT0_DTCNT0(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTCNT0_DTCNT0_SHIFT)) & PWM_DTCNT0_DTCNT0_MASK)
  27979. /*! @} */
  27980. /* The count of PWM_DTCNT0 */
  27981. #define PWM_DTCNT0_COUNT (4U)
  27982. /*! @name DTCNT1 - Deadtime Count Register 1 */
  27983. /*! @{ */
  27984. #define PWM_DTCNT1_DTCNT1_MASK (0xFFFFU)
  27985. #define PWM_DTCNT1_DTCNT1_SHIFT (0U)
  27986. /*! DTCNT1 - DTCNT1
  27987. */
  27988. #define PWM_DTCNT1_DTCNT1(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTCNT1_DTCNT1_SHIFT)) & PWM_DTCNT1_DTCNT1_MASK)
  27989. /*! @} */
  27990. /* The count of PWM_DTCNT1 */
  27991. #define PWM_DTCNT1_COUNT (4U)
  27992. /*! @name CAPTCTRLA - Capture Control A Register */
  27993. /*! @{ */
  27994. #define PWM_CAPTCTRLA_ARMA_MASK (0x1U)
  27995. #define PWM_CAPTCTRLA_ARMA_SHIFT (0U)
  27996. /*! ARMA - Arm A
  27997. * 0b0..Input capture operation is disabled.
  27998. * 0b1..Input capture operation as specified by CAPTCTRLA[EDGAx] is enabled.
  27999. */
  28000. #define PWM_CAPTCTRLA_ARMA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_ARMA_SHIFT)) & PWM_CAPTCTRLA_ARMA_MASK)
  28001. #define PWM_CAPTCTRLA_ONESHOTA_MASK (0x2U)
  28002. #define PWM_CAPTCTRLA_ONESHOTA_SHIFT (1U)
  28003. /*! ONESHOTA - One Shot Mode A
  28004. * 0b0..Free Running
  28005. * 0b1..One Shot
  28006. */
  28007. #define PWM_CAPTCTRLA_ONESHOTA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_ONESHOTA_SHIFT)) & PWM_CAPTCTRLA_ONESHOTA_MASK)
  28008. #define PWM_CAPTCTRLA_EDGA0_MASK (0xCU)
  28009. #define PWM_CAPTCTRLA_EDGA0_SHIFT (2U)
  28010. /*! EDGA0 - Edge A 0
  28011. * 0b00..Disabled
  28012. * 0b01..Capture falling edges
  28013. * 0b10..Capture rising edges
  28014. * 0b11..Capture any edge
  28015. */
  28016. #define PWM_CAPTCTRLA_EDGA0(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_EDGA0_SHIFT)) & PWM_CAPTCTRLA_EDGA0_MASK)
  28017. #define PWM_CAPTCTRLA_EDGA1_MASK (0x30U)
  28018. #define PWM_CAPTCTRLA_EDGA1_SHIFT (4U)
  28019. /*! EDGA1 - Edge A 1
  28020. * 0b00..Disabled
  28021. * 0b01..Capture falling edges
  28022. * 0b10..Capture rising edges
  28023. * 0b11..Capture any edge
  28024. */
  28025. #define PWM_CAPTCTRLA_EDGA1(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_EDGA1_SHIFT)) & PWM_CAPTCTRLA_EDGA1_MASK)
  28026. #define PWM_CAPTCTRLA_INP_SELA_MASK (0x40U)
  28027. #define PWM_CAPTCTRLA_INP_SELA_SHIFT (6U)
  28028. /*! INP_SELA - Input Select A
  28029. * 0b0..Raw PWM_A input signal selected as source.
  28030. * 0b1..Edge Counter
  28031. */
  28032. #define PWM_CAPTCTRLA_INP_SELA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_INP_SELA_SHIFT)) & PWM_CAPTCTRLA_INP_SELA_MASK)
  28033. #define PWM_CAPTCTRLA_EDGCNTA_EN_MASK (0x80U)
  28034. #define PWM_CAPTCTRLA_EDGCNTA_EN_SHIFT (7U)
  28035. /*! EDGCNTA_EN - Edge Counter A Enable
  28036. * 0b0..Edge counter disabled and held in reset
  28037. * 0b1..Edge counter enabled
  28038. */
  28039. #define PWM_CAPTCTRLA_EDGCNTA_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_EDGCNTA_EN_SHIFT)) & PWM_CAPTCTRLA_EDGCNTA_EN_MASK)
  28040. #define PWM_CAPTCTRLA_CFAWM_MASK (0x300U)
  28041. #define PWM_CAPTCTRLA_CFAWM_SHIFT (8U)
  28042. /*! CFAWM - Capture A FIFOs Water Mark
  28043. */
  28044. #define PWM_CAPTCTRLA_CFAWM(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_CFAWM_SHIFT)) & PWM_CAPTCTRLA_CFAWM_MASK)
  28045. #define PWM_CAPTCTRLA_CA0CNT_MASK (0x1C00U)
  28046. #define PWM_CAPTCTRLA_CA0CNT_SHIFT (10U)
  28047. /*! CA0CNT - Capture A0 FIFO Word Count
  28048. */
  28049. #define PWM_CAPTCTRLA_CA0CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_CA0CNT_SHIFT)) & PWM_CAPTCTRLA_CA0CNT_MASK)
  28050. #define PWM_CAPTCTRLA_CA1CNT_MASK (0xE000U)
  28051. #define PWM_CAPTCTRLA_CA1CNT_SHIFT (13U)
  28052. /*! CA1CNT - Capture A1 FIFO Word Count
  28053. */
  28054. #define PWM_CAPTCTRLA_CA1CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_CA1CNT_SHIFT)) & PWM_CAPTCTRLA_CA1CNT_MASK)
  28055. /*! @} */
  28056. /* The count of PWM_CAPTCTRLA */
  28057. #define PWM_CAPTCTRLA_COUNT (4U)
  28058. /*! @name CAPTCOMPA - Capture Compare A Register */
  28059. /*! @{ */
  28060. #define PWM_CAPTCOMPA_EDGCMPA_MASK (0xFFU)
  28061. #define PWM_CAPTCOMPA_EDGCMPA_SHIFT (0U)
  28062. /*! EDGCMPA - Edge Compare A
  28063. */
  28064. #define PWM_CAPTCOMPA_EDGCMPA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPA_EDGCMPA_SHIFT)) & PWM_CAPTCOMPA_EDGCMPA_MASK)
  28065. #define PWM_CAPTCOMPA_EDGCNTA_MASK (0xFF00U)
  28066. #define PWM_CAPTCOMPA_EDGCNTA_SHIFT (8U)
  28067. /*! EDGCNTA - Edge Counter A
  28068. */
  28069. #define PWM_CAPTCOMPA_EDGCNTA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPA_EDGCNTA_SHIFT)) & PWM_CAPTCOMPA_EDGCNTA_MASK)
  28070. /*! @} */
  28071. /* The count of PWM_CAPTCOMPA */
  28072. #define PWM_CAPTCOMPA_COUNT (4U)
  28073. /*! @name CAPTCTRLB - Capture Control B Register */
  28074. /*! @{ */
  28075. #define PWM_CAPTCTRLB_ARMB_MASK (0x1U)
  28076. #define PWM_CAPTCTRLB_ARMB_SHIFT (0U)
  28077. /*! ARMB - Arm B
  28078. * 0b0..Input capture operation is disabled.
  28079. * 0b1..Input capture operation as specified by CAPTCTRLB[EDGBx] is enabled.
  28080. */
  28081. #define PWM_CAPTCTRLB_ARMB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_ARMB_SHIFT)) & PWM_CAPTCTRLB_ARMB_MASK)
  28082. #define PWM_CAPTCTRLB_ONESHOTB_MASK (0x2U)
  28083. #define PWM_CAPTCTRLB_ONESHOTB_SHIFT (1U)
  28084. /*! ONESHOTB - One Shot Mode B
  28085. * 0b0..Free Running
  28086. * 0b1..One Shot
  28087. */
  28088. #define PWM_CAPTCTRLB_ONESHOTB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_ONESHOTB_SHIFT)) & PWM_CAPTCTRLB_ONESHOTB_MASK)
  28089. #define PWM_CAPTCTRLB_EDGB0_MASK (0xCU)
  28090. #define PWM_CAPTCTRLB_EDGB0_SHIFT (2U)
  28091. /*! EDGB0 - Edge B 0
  28092. * 0b00..Disabled
  28093. * 0b01..Capture falling edges
  28094. * 0b10..Capture rising edges
  28095. * 0b11..Capture any edge
  28096. */
  28097. #define PWM_CAPTCTRLB_EDGB0(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_EDGB0_SHIFT)) & PWM_CAPTCTRLB_EDGB0_MASK)
  28098. #define PWM_CAPTCTRLB_EDGB1_MASK (0x30U)
  28099. #define PWM_CAPTCTRLB_EDGB1_SHIFT (4U)
  28100. /*! EDGB1 - Edge B 1
  28101. * 0b00..Disabled
  28102. * 0b01..Capture falling edges
  28103. * 0b10..Capture rising edges
  28104. * 0b11..Capture any edge
  28105. */
  28106. #define PWM_CAPTCTRLB_EDGB1(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_EDGB1_SHIFT)) & PWM_CAPTCTRLB_EDGB1_MASK)
  28107. #define PWM_CAPTCTRLB_INP_SELB_MASK (0x40U)
  28108. #define PWM_CAPTCTRLB_INP_SELB_SHIFT (6U)
  28109. /*! INP_SELB - Input Select B
  28110. * 0b0..Raw PWM_B input signal selected as source.
  28111. * 0b1..Edge Counter
  28112. */
  28113. #define PWM_CAPTCTRLB_INP_SELB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_INP_SELB_SHIFT)) & PWM_CAPTCTRLB_INP_SELB_MASK)
  28114. #define PWM_CAPTCTRLB_EDGCNTB_EN_MASK (0x80U)
  28115. #define PWM_CAPTCTRLB_EDGCNTB_EN_SHIFT (7U)
  28116. /*! EDGCNTB_EN - Edge Counter B Enable
  28117. * 0b0..Edge counter disabled and held in reset
  28118. * 0b1..Edge counter enabled
  28119. */
  28120. #define PWM_CAPTCTRLB_EDGCNTB_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_EDGCNTB_EN_SHIFT)) & PWM_CAPTCTRLB_EDGCNTB_EN_MASK)
  28121. #define PWM_CAPTCTRLB_CFBWM_MASK (0x300U)
  28122. #define PWM_CAPTCTRLB_CFBWM_SHIFT (8U)
  28123. /*! CFBWM - Capture B FIFOs Water Mark
  28124. */
  28125. #define PWM_CAPTCTRLB_CFBWM(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_CFBWM_SHIFT)) & PWM_CAPTCTRLB_CFBWM_MASK)
  28126. #define PWM_CAPTCTRLB_CB0CNT_MASK (0x1C00U)
  28127. #define PWM_CAPTCTRLB_CB0CNT_SHIFT (10U)
  28128. /*! CB0CNT - Capture B0 FIFO Word Count
  28129. */
  28130. #define PWM_CAPTCTRLB_CB0CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_CB0CNT_SHIFT)) & PWM_CAPTCTRLB_CB0CNT_MASK)
  28131. #define PWM_CAPTCTRLB_CB1CNT_MASK (0xE000U)
  28132. #define PWM_CAPTCTRLB_CB1CNT_SHIFT (13U)
  28133. /*! CB1CNT - Capture B1 FIFO Word Count
  28134. */
  28135. #define PWM_CAPTCTRLB_CB1CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_CB1CNT_SHIFT)) & PWM_CAPTCTRLB_CB1CNT_MASK)
  28136. /*! @} */
  28137. /* The count of PWM_CAPTCTRLB */
  28138. #define PWM_CAPTCTRLB_COUNT (4U)
  28139. /*! @name CAPTCOMPB - Capture Compare B Register */
  28140. /*! @{ */
  28141. #define PWM_CAPTCOMPB_EDGCMPB_MASK (0xFFU)
  28142. #define PWM_CAPTCOMPB_EDGCMPB_SHIFT (0U)
  28143. /*! EDGCMPB - Edge Compare B
  28144. */
  28145. #define PWM_CAPTCOMPB_EDGCMPB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPB_EDGCMPB_SHIFT)) & PWM_CAPTCOMPB_EDGCMPB_MASK)
  28146. #define PWM_CAPTCOMPB_EDGCNTB_MASK (0xFF00U)
  28147. #define PWM_CAPTCOMPB_EDGCNTB_SHIFT (8U)
  28148. /*! EDGCNTB - Edge Counter B
  28149. */
  28150. #define PWM_CAPTCOMPB_EDGCNTB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPB_EDGCNTB_SHIFT)) & PWM_CAPTCOMPB_EDGCNTB_MASK)
  28151. /*! @} */
  28152. /* The count of PWM_CAPTCOMPB */
  28153. #define PWM_CAPTCOMPB_COUNT (4U)
  28154. /*! @name CAPTCTRLX - Capture Control X Register */
  28155. /*! @{ */
  28156. #define PWM_CAPTCTRLX_ARMX_MASK (0x1U)
  28157. #define PWM_CAPTCTRLX_ARMX_SHIFT (0U)
  28158. /*! ARMX - Arm X
  28159. * 0b0..Input capture operation is disabled.
  28160. * 0b1..Input capture operation as specified by CAPTCTRLX[EDGXx] is enabled.
  28161. */
  28162. #define PWM_CAPTCTRLX_ARMX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_ARMX_SHIFT)) & PWM_CAPTCTRLX_ARMX_MASK)
  28163. #define PWM_CAPTCTRLX_ONESHOTX_MASK (0x2U)
  28164. #define PWM_CAPTCTRLX_ONESHOTX_SHIFT (1U)
  28165. /*! ONESHOTX - One Shot Mode Aux
  28166. * 0b0..Free Running
  28167. * 0b1..One Shot
  28168. */
  28169. #define PWM_CAPTCTRLX_ONESHOTX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_ONESHOTX_SHIFT)) & PWM_CAPTCTRLX_ONESHOTX_MASK)
  28170. #define PWM_CAPTCTRLX_EDGX0_MASK (0xCU)
  28171. #define PWM_CAPTCTRLX_EDGX0_SHIFT (2U)
  28172. /*! EDGX0 - Edge X 0
  28173. * 0b00..Disabled
  28174. * 0b01..Capture falling edges
  28175. * 0b10..Capture rising edges
  28176. * 0b11..Capture any edge
  28177. */
  28178. #define PWM_CAPTCTRLX_EDGX0(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_EDGX0_SHIFT)) & PWM_CAPTCTRLX_EDGX0_MASK)
  28179. #define PWM_CAPTCTRLX_EDGX1_MASK (0x30U)
  28180. #define PWM_CAPTCTRLX_EDGX1_SHIFT (4U)
  28181. /*! EDGX1 - Edge X 1
  28182. * 0b00..Disabled
  28183. * 0b01..Capture falling edges
  28184. * 0b10..Capture rising edges
  28185. * 0b11..Capture any edge
  28186. */
  28187. #define PWM_CAPTCTRLX_EDGX1(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_EDGX1_SHIFT)) & PWM_CAPTCTRLX_EDGX1_MASK)
  28188. #define PWM_CAPTCTRLX_INP_SELX_MASK (0x40U)
  28189. #define PWM_CAPTCTRLX_INP_SELX_SHIFT (6U)
  28190. /*! INP_SELX - Input Select X
  28191. * 0b0..Raw PWM_X input signal selected as source.
  28192. * 0b1..Edge Counter
  28193. */
  28194. #define PWM_CAPTCTRLX_INP_SELX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_INP_SELX_SHIFT)) & PWM_CAPTCTRLX_INP_SELX_MASK)
  28195. #define PWM_CAPTCTRLX_EDGCNTX_EN_MASK (0x80U)
  28196. #define PWM_CAPTCTRLX_EDGCNTX_EN_SHIFT (7U)
  28197. /*! EDGCNTX_EN - Edge Counter X Enable
  28198. * 0b0..Edge counter disabled and held in reset
  28199. * 0b1..Edge counter enabled
  28200. */
  28201. #define PWM_CAPTCTRLX_EDGCNTX_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_EDGCNTX_EN_SHIFT)) & PWM_CAPTCTRLX_EDGCNTX_EN_MASK)
  28202. #define PWM_CAPTCTRLX_CFXWM_MASK (0x300U)
  28203. #define PWM_CAPTCTRLX_CFXWM_SHIFT (8U)
  28204. /*! CFXWM - Capture X FIFOs Water Mark
  28205. */
  28206. #define PWM_CAPTCTRLX_CFXWM(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_CFXWM_SHIFT)) & PWM_CAPTCTRLX_CFXWM_MASK)
  28207. #define PWM_CAPTCTRLX_CX0CNT_MASK (0x1C00U)
  28208. #define PWM_CAPTCTRLX_CX0CNT_SHIFT (10U)
  28209. /*! CX0CNT - Capture X0 FIFO Word Count
  28210. */
  28211. #define PWM_CAPTCTRLX_CX0CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_CX0CNT_SHIFT)) & PWM_CAPTCTRLX_CX0CNT_MASK)
  28212. #define PWM_CAPTCTRLX_CX1CNT_MASK (0xE000U)
  28213. #define PWM_CAPTCTRLX_CX1CNT_SHIFT (13U)
  28214. /*! CX1CNT - Capture X1 FIFO Word Count
  28215. */
  28216. #define PWM_CAPTCTRLX_CX1CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_CX1CNT_SHIFT)) & PWM_CAPTCTRLX_CX1CNT_MASK)
  28217. /*! @} */
  28218. /* The count of PWM_CAPTCTRLX */
  28219. #define PWM_CAPTCTRLX_COUNT (4U)
  28220. /*! @name CAPTCOMPX - Capture Compare X Register */
  28221. /*! @{ */
  28222. #define PWM_CAPTCOMPX_EDGCMPX_MASK (0xFFU)
  28223. #define PWM_CAPTCOMPX_EDGCMPX_SHIFT (0U)
  28224. /*! EDGCMPX - Edge Compare X
  28225. */
  28226. #define PWM_CAPTCOMPX_EDGCMPX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPX_EDGCMPX_SHIFT)) & PWM_CAPTCOMPX_EDGCMPX_MASK)
  28227. #define PWM_CAPTCOMPX_EDGCNTX_MASK (0xFF00U)
  28228. #define PWM_CAPTCOMPX_EDGCNTX_SHIFT (8U)
  28229. /*! EDGCNTX - Edge Counter X
  28230. */
  28231. #define PWM_CAPTCOMPX_EDGCNTX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPX_EDGCNTX_SHIFT)) & PWM_CAPTCOMPX_EDGCNTX_MASK)
  28232. /*! @} */
  28233. /* The count of PWM_CAPTCOMPX */
  28234. #define PWM_CAPTCOMPX_COUNT (4U)
  28235. /*! @name CVAL0 - Capture Value 0 Register */
  28236. /*! @{ */
  28237. #define PWM_CVAL0_CAPTVAL0_MASK (0xFFFFU)
  28238. #define PWM_CVAL0_CAPTVAL0_SHIFT (0U)
  28239. /*! CAPTVAL0 - CAPTVAL0
  28240. */
  28241. #define PWM_CVAL0_CAPTVAL0(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL0_CAPTVAL0_SHIFT)) & PWM_CVAL0_CAPTVAL0_MASK)
  28242. /*! @} */
  28243. /* The count of PWM_CVAL0 */
  28244. #define PWM_CVAL0_COUNT (4U)
  28245. /*! @name CVAL0CYC - Capture Value 0 Cycle Register */
  28246. /*! @{ */
  28247. #define PWM_CVAL0CYC_CVAL0CYC_MASK (0xFU)
  28248. #define PWM_CVAL0CYC_CVAL0CYC_SHIFT (0U)
  28249. /*! CVAL0CYC - CVAL0CYC
  28250. */
  28251. #define PWM_CVAL0CYC_CVAL0CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL0CYC_CVAL0CYC_SHIFT)) & PWM_CVAL0CYC_CVAL0CYC_MASK)
  28252. /*! @} */
  28253. /* The count of PWM_CVAL0CYC */
  28254. #define PWM_CVAL0CYC_COUNT (4U)
  28255. /*! @name CVAL1 - Capture Value 1 Register */
  28256. /*! @{ */
  28257. #define PWM_CVAL1_CAPTVAL1_MASK (0xFFFFU)
  28258. #define PWM_CVAL1_CAPTVAL1_SHIFT (0U)
  28259. /*! CAPTVAL1 - CAPTVAL1
  28260. */
  28261. #define PWM_CVAL1_CAPTVAL1(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL1_CAPTVAL1_SHIFT)) & PWM_CVAL1_CAPTVAL1_MASK)
  28262. /*! @} */
  28263. /* The count of PWM_CVAL1 */
  28264. #define PWM_CVAL1_COUNT (4U)
  28265. /*! @name CVAL1CYC - Capture Value 1 Cycle Register */
  28266. /*! @{ */
  28267. #define PWM_CVAL1CYC_CVAL1CYC_MASK (0xFU)
  28268. #define PWM_CVAL1CYC_CVAL1CYC_SHIFT (0U)
  28269. /*! CVAL1CYC - CVAL1CYC
  28270. */
  28271. #define PWM_CVAL1CYC_CVAL1CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL1CYC_CVAL1CYC_SHIFT)) & PWM_CVAL1CYC_CVAL1CYC_MASK)
  28272. /*! @} */
  28273. /* The count of PWM_CVAL1CYC */
  28274. #define PWM_CVAL1CYC_COUNT (4U)
  28275. /*! @name CVAL2 - Capture Value 2 Register */
  28276. /*! @{ */
  28277. #define PWM_CVAL2_CAPTVAL2_MASK (0xFFFFU)
  28278. #define PWM_CVAL2_CAPTVAL2_SHIFT (0U)
  28279. /*! CAPTVAL2 - CAPTVAL2
  28280. */
  28281. #define PWM_CVAL2_CAPTVAL2(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL2_CAPTVAL2_SHIFT)) & PWM_CVAL2_CAPTVAL2_MASK)
  28282. /*! @} */
  28283. /* The count of PWM_CVAL2 */
  28284. #define PWM_CVAL2_COUNT (4U)
  28285. /*! @name CVAL2CYC - Capture Value 2 Cycle Register */
  28286. /*! @{ */
  28287. #define PWM_CVAL2CYC_CVAL2CYC_MASK (0xFU)
  28288. #define PWM_CVAL2CYC_CVAL2CYC_SHIFT (0U)
  28289. /*! CVAL2CYC - CVAL2CYC
  28290. */
  28291. #define PWM_CVAL2CYC_CVAL2CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL2CYC_CVAL2CYC_SHIFT)) & PWM_CVAL2CYC_CVAL2CYC_MASK)
  28292. /*! @} */
  28293. /* The count of PWM_CVAL2CYC */
  28294. #define PWM_CVAL2CYC_COUNT (4U)
  28295. /*! @name CVAL3 - Capture Value 3 Register */
  28296. /*! @{ */
  28297. #define PWM_CVAL3_CAPTVAL3_MASK (0xFFFFU)
  28298. #define PWM_CVAL3_CAPTVAL3_SHIFT (0U)
  28299. /*! CAPTVAL3 - CAPTVAL3
  28300. */
  28301. #define PWM_CVAL3_CAPTVAL3(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL3_CAPTVAL3_SHIFT)) & PWM_CVAL3_CAPTVAL3_MASK)
  28302. /*! @} */
  28303. /* The count of PWM_CVAL3 */
  28304. #define PWM_CVAL3_COUNT (4U)
  28305. /*! @name CVAL3CYC - Capture Value 3 Cycle Register */
  28306. /*! @{ */
  28307. #define PWM_CVAL3CYC_CVAL3CYC_MASK (0xFU)
  28308. #define PWM_CVAL3CYC_CVAL3CYC_SHIFT (0U)
  28309. /*! CVAL3CYC - CVAL3CYC
  28310. */
  28311. #define PWM_CVAL3CYC_CVAL3CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL3CYC_CVAL3CYC_SHIFT)) & PWM_CVAL3CYC_CVAL3CYC_MASK)
  28312. /*! @} */
  28313. /* The count of PWM_CVAL3CYC */
  28314. #define PWM_CVAL3CYC_COUNT (4U)
  28315. /*! @name CVAL4 - Capture Value 4 Register */
  28316. /*! @{ */
  28317. #define PWM_CVAL4_CAPTVAL4_MASK (0xFFFFU)
  28318. #define PWM_CVAL4_CAPTVAL4_SHIFT (0U)
  28319. /*! CAPTVAL4 - CAPTVAL4
  28320. */
  28321. #define PWM_CVAL4_CAPTVAL4(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL4_CAPTVAL4_SHIFT)) & PWM_CVAL4_CAPTVAL4_MASK)
  28322. /*! @} */
  28323. /* The count of PWM_CVAL4 */
  28324. #define PWM_CVAL4_COUNT (4U)
  28325. /*! @name CVAL4CYC - Capture Value 4 Cycle Register */
  28326. /*! @{ */
  28327. #define PWM_CVAL4CYC_CVAL4CYC_MASK (0xFU)
  28328. #define PWM_CVAL4CYC_CVAL4CYC_SHIFT (0U)
  28329. /*! CVAL4CYC - CVAL4CYC
  28330. */
  28331. #define PWM_CVAL4CYC_CVAL4CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL4CYC_CVAL4CYC_SHIFT)) & PWM_CVAL4CYC_CVAL4CYC_MASK)
  28332. /*! @} */
  28333. /* The count of PWM_CVAL4CYC */
  28334. #define PWM_CVAL4CYC_COUNT (4U)
  28335. /*! @name CVAL5 - Capture Value 5 Register */
  28336. /*! @{ */
  28337. #define PWM_CVAL5_CAPTVAL5_MASK (0xFFFFU)
  28338. #define PWM_CVAL5_CAPTVAL5_SHIFT (0U)
  28339. /*! CAPTVAL5 - CAPTVAL5
  28340. */
  28341. #define PWM_CVAL5_CAPTVAL5(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL5_CAPTVAL5_SHIFT)) & PWM_CVAL5_CAPTVAL5_MASK)
  28342. /*! @} */
  28343. /* The count of PWM_CVAL5 */
  28344. #define PWM_CVAL5_COUNT (4U)
  28345. /*! @name CVAL5CYC - Capture Value 5 Cycle Register */
  28346. /*! @{ */
  28347. #define PWM_CVAL5CYC_CVAL5CYC_MASK (0xFU)
  28348. #define PWM_CVAL5CYC_CVAL5CYC_SHIFT (0U)
  28349. /*! CVAL5CYC - CVAL5CYC
  28350. */
  28351. #define PWM_CVAL5CYC_CVAL5CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL5CYC_CVAL5CYC_SHIFT)) & PWM_CVAL5CYC_CVAL5CYC_MASK)
  28352. /*! @} */
  28353. /* The count of PWM_CVAL5CYC */
  28354. #define PWM_CVAL5CYC_COUNT (4U)
  28355. /*! @name OUTEN - Output Enable Register */
  28356. /*! @{ */
  28357. #define PWM_OUTEN_PWMX_EN_MASK (0xFU)
  28358. #define PWM_OUTEN_PWMX_EN_SHIFT (0U)
  28359. /*! PWMX_EN - PWM_X Output Enables
  28360. * 0b0000..PWM_X output disabled.
  28361. * 0b0001..PWM_X output enabled.
  28362. */
  28363. #define PWM_OUTEN_PWMX_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OUTEN_PWMX_EN_SHIFT)) & PWM_OUTEN_PWMX_EN_MASK)
  28364. #define PWM_OUTEN_PWMB_EN_MASK (0xF0U)
  28365. #define PWM_OUTEN_PWMB_EN_SHIFT (4U)
  28366. /*! PWMB_EN - PWM_B Output Enables
  28367. * 0b0000..PWM_B output disabled.
  28368. * 0b0001..PWM_B output enabled.
  28369. */
  28370. #define PWM_OUTEN_PWMB_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OUTEN_PWMB_EN_SHIFT)) & PWM_OUTEN_PWMB_EN_MASK)
  28371. #define PWM_OUTEN_PWMA_EN_MASK (0xF00U)
  28372. #define PWM_OUTEN_PWMA_EN_SHIFT (8U)
  28373. /*! PWMA_EN - PWM_A Output Enables
  28374. * 0b0000..PWM_A output disabled.
  28375. * 0b0001..PWM_A output enabled.
  28376. */
  28377. #define PWM_OUTEN_PWMA_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OUTEN_PWMA_EN_SHIFT)) & PWM_OUTEN_PWMA_EN_MASK)
  28378. /*! @} */
  28379. /*! @name MASK - Mask Register */
  28380. /*! @{ */
  28381. #define PWM_MASK_MASKX_MASK (0xFU)
  28382. #define PWM_MASK_MASKX_SHIFT (0U)
  28383. /*! MASKX - PWM_X Masks
  28384. * 0b0000..PWM_X output normal.
  28385. * 0b0001..PWM_X output masked.
  28386. */
  28387. #define PWM_MASK_MASKX(x) (((uint16_t)(((uint16_t)(x)) << PWM_MASK_MASKX_SHIFT)) & PWM_MASK_MASKX_MASK)
  28388. #define PWM_MASK_MASKB_MASK (0xF0U)
  28389. #define PWM_MASK_MASKB_SHIFT (4U)
  28390. /*! MASKB - PWM_B Masks
  28391. * 0b0000..PWM_B output normal.
  28392. * 0b0001..PWM_B output masked.
  28393. */
  28394. #define PWM_MASK_MASKB(x) (((uint16_t)(((uint16_t)(x)) << PWM_MASK_MASKB_SHIFT)) & PWM_MASK_MASKB_MASK)
  28395. #define PWM_MASK_MASKA_MASK (0xF00U)
  28396. #define PWM_MASK_MASKA_SHIFT (8U)
  28397. /*! MASKA - PWM_A Masks
  28398. * 0b0000..PWM_A output normal.
  28399. * 0b0001..PWM_A output masked.
  28400. */
  28401. #define PWM_MASK_MASKA(x) (((uint16_t)(((uint16_t)(x)) << PWM_MASK_MASKA_SHIFT)) & PWM_MASK_MASKA_MASK)
  28402. #define PWM_MASK_UPDATE_MASK_MASK (0xF000U)
  28403. #define PWM_MASK_UPDATE_MASK_SHIFT (12U)
  28404. /*! UPDATE_MASK - Update Mask Bits Immediately
  28405. * 0b0000..Normal operation. MASK* bits within the corresponding submodule are not updated until a FORCE_OUT event occurs within the submodule.
  28406. * 0b0001..Immediate operation. MASK* bits within the corresponding submodule are updated on the following clock edge after setting this bit.
  28407. */
  28408. #define PWM_MASK_UPDATE_MASK(x) (((uint16_t)(((uint16_t)(x)) << PWM_MASK_UPDATE_MASK_SHIFT)) & PWM_MASK_UPDATE_MASK_MASK)
  28409. /*! @} */
  28410. /*! @name SWCOUT - Software Controlled Output Register */
  28411. /*! @{ */
  28412. #define PWM_SWCOUT_SM0OUT45_MASK (0x1U)
  28413. #define PWM_SWCOUT_SM0OUT45_SHIFT (0U)
  28414. /*! SM0OUT45 - Submodule 0 Software Controlled Output 45
  28415. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 0 instead of PWM45.
  28416. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 0 instead of PWM45.
  28417. */
  28418. #define PWM_SWCOUT_SM0OUT45(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM0OUT45_SHIFT)) & PWM_SWCOUT_SM0OUT45_MASK)
  28419. #define PWM_SWCOUT_SM0OUT23_MASK (0x2U)
  28420. #define PWM_SWCOUT_SM0OUT23_SHIFT (1U)
  28421. /*! SM0OUT23 - Submodule 0 Software Controlled Output 23
  28422. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 0 instead of PWM23.
  28423. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 0 instead of PWM23.
  28424. */
  28425. #define PWM_SWCOUT_SM0OUT23(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM0OUT23_SHIFT)) & PWM_SWCOUT_SM0OUT23_MASK)
  28426. #define PWM_SWCOUT_SM1OUT45_MASK (0x4U)
  28427. #define PWM_SWCOUT_SM1OUT45_SHIFT (2U)
  28428. /*! SM1OUT45 - Submodule 1 Software Controlled Output 45
  28429. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 1 instead of PWM45.
  28430. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 1 instead of PWM45.
  28431. */
  28432. #define PWM_SWCOUT_SM1OUT45(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM1OUT45_SHIFT)) & PWM_SWCOUT_SM1OUT45_MASK)
  28433. #define PWM_SWCOUT_SM1OUT23_MASK (0x8U)
  28434. #define PWM_SWCOUT_SM1OUT23_SHIFT (3U)
  28435. /*! SM1OUT23 - Submodule 1 Software Controlled Output 23
  28436. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 1 instead of PWM23.
  28437. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 1 instead of PWM23.
  28438. */
  28439. #define PWM_SWCOUT_SM1OUT23(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM1OUT23_SHIFT)) & PWM_SWCOUT_SM1OUT23_MASK)
  28440. #define PWM_SWCOUT_SM2OUT45_MASK (0x10U)
  28441. #define PWM_SWCOUT_SM2OUT45_SHIFT (4U)
  28442. /*! SM2OUT45 - Submodule 2 Software Controlled Output 45
  28443. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 2 instead of PWM45.
  28444. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 2 instead of PWM45.
  28445. */
  28446. #define PWM_SWCOUT_SM2OUT45(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM2OUT45_SHIFT)) & PWM_SWCOUT_SM2OUT45_MASK)
  28447. #define PWM_SWCOUT_SM2OUT23_MASK (0x20U)
  28448. #define PWM_SWCOUT_SM2OUT23_SHIFT (5U)
  28449. /*! SM2OUT23 - Submodule 2 Software Controlled Output 23
  28450. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 2 instead of PWM23.
  28451. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 2 instead of PWM23.
  28452. */
  28453. #define PWM_SWCOUT_SM2OUT23(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM2OUT23_SHIFT)) & PWM_SWCOUT_SM2OUT23_MASK)
  28454. #define PWM_SWCOUT_SM3OUT45_MASK (0x40U)
  28455. #define PWM_SWCOUT_SM3OUT45_SHIFT (6U)
  28456. /*! SM3OUT45 - Submodule 3 Software Controlled Output 45
  28457. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 3 instead of PWM45.
  28458. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 3 instead of PWM45.
  28459. */
  28460. #define PWM_SWCOUT_SM3OUT45(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM3OUT45_SHIFT)) & PWM_SWCOUT_SM3OUT45_MASK)
  28461. #define PWM_SWCOUT_SM3OUT23_MASK (0x80U)
  28462. #define PWM_SWCOUT_SM3OUT23_SHIFT (7U)
  28463. /*! SM3OUT23 - Submodule 3 Software Controlled Output 23
  28464. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 3 instead of PWM23.
  28465. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 3 instead of PWM23.
  28466. */
  28467. #define PWM_SWCOUT_SM3OUT23(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM3OUT23_SHIFT)) & PWM_SWCOUT_SM3OUT23_MASK)
  28468. /*! @} */
  28469. /*! @name DTSRCSEL - PWM Source Select Register */
  28470. /*! @{ */
  28471. #define PWM_DTSRCSEL_SM0SEL45_MASK (0x3U)
  28472. #define PWM_DTSRCSEL_SM0SEL45_SHIFT (0U)
  28473. /*! SM0SEL45 - Submodule 0 PWM45 Control Select
  28474. * 0b00..Generated SM0PWM45 signal is used by the deadtime logic.
  28475. * 0b01..Inverted generated SM0PWM45 signal is used by the deadtime logic.
  28476. * 0b10..SWCOUT[SM0OUT45] is used by the deadtime logic.
  28477. * 0b11..PWM0_EXTB signal is used by the deadtime logic.
  28478. */
  28479. #define PWM_DTSRCSEL_SM0SEL45(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM0SEL45_SHIFT)) & PWM_DTSRCSEL_SM0SEL45_MASK)
  28480. #define PWM_DTSRCSEL_SM0SEL23_MASK (0xCU)
  28481. #define PWM_DTSRCSEL_SM0SEL23_SHIFT (2U)
  28482. /*! SM0SEL23 - Submodule 0 PWM23 Control Select
  28483. * 0b00..Generated SM0PWM23 signal is used by the deadtime logic.
  28484. * 0b01..Inverted generated SM0PWM23 signal is used by the deadtime logic.
  28485. * 0b10..SWCOUT[SM0OUT23] is used by the deadtime logic.
  28486. * 0b11..PWM0_EXTA signal is used by the deadtime logic.
  28487. */
  28488. #define PWM_DTSRCSEL_SM0SEL23(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM0SEL23_SHIFT)) & PWM_DTSRCSEL_SM0SEL23_MASK)
  28489. #define PWM_DTSRCSEL_SM1SEL45_MASK (0x30U)
  28490. #define PWM_DTSRCSEL_SM1SEL45_SHIFT (4U)
  28491. /*! SM1SEL45 - Submodule 1 PWM45 Control Select
  28492. * 0b00..Generated SM1PWM45 signal is used by the deadtime logic.
  28493. * 0b01..Inverted generated SM1PWM45 signal is used by the deadtime logic.
  28494. * 0b10..SWCOUT[SM1OUT45] is used by the deadtime logic.
  28495. * 0b11..PWM1_EXTB signal is used by the deadtime logic.
  28496. */
  28497. #define PWM_DTSRCSEL_SM1SEL45(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM1SEL45_SHIFT)) & PWM_DTSRCSEL_SM1SEL45_MASK)
  28498. #define PWM_DTSRCSEL_SM1SEL23_MASK (0xC0U)
  28499. #define PWM_DTSRCSEL_SM1SEL23_SHIFT (6U)
  28500. /*! SM1SEL23 - Submodule 1 PWM23 Control Select
  28501. * 0b00..Generated SM1PWM23 signal is used by the deadtime logic.
  28502. * 0b01..Inverted generated SM1PWM23 signal is used by the deadtime logic.
  28503. * 0b10..SWCOUT[SM1OUT23] is used by the deadtime logic.
  28504. * 0b11..PWM1_EXTA signal is used by the deadtime logic.
  28505. */
  28506. #define PWM_DTSRCSEL_SM1SEL23(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM1SEL23_SHIFT)) & PWM_DTSRCSEL_SM1SEL23_MASK)
  28507. #define PWM_DTSRCSEL_SM2SEL45_MASK (0x300U)
  28508. #define PWM_DTSRCSEL_SM2SEL45_SHIFT (8U)
  28509. /*! SM2SEL45 - Submodule 2 PWM45 Control Select
  28510. * 0b00..Generated SM2PWM45 signal is used by the deadtime logic.
  28511. * 0b01..Inverted generated SM2PWM45 signal is used by the deadtime logic.
  28512. * 0b10..SWCOUT[SM2OUT45] is used by the deadtime logic.
  28513. * 0b11..PWM2_EXTB signal is used by the deadtime logic.
  28514. */
  28515. #define PWM_DTSRCSEL_SM2SEL45(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM2SEL45_SHIFT)) & PWM_DTSRCSEL_SM2SEL45_MASK)
  28516. #define PWM_DTSRCSEL_SM2SEL23_MASK (0xC00U)
  28517. #define PWM_DTSRCSEL_SM2SEL23_SHIFT (10U)
  28518. /*! SM2SEL23 - Submodule 2 PWM23 Control Select
  28519. * 0b00..Generated SM2PWM23 signal is used by the deadtime logic.
  28520. * 0b01..Inverted generated SM2PWM23 signal is used by the deadtime logic.
  28521. * 0b10..SWCOUT[SM2OUT23] is used by the deadtime logic.
  28522. * 0b11..PWM2_EXTA signal is used by the deadtime logic.
  28523. */
  28524. #define PWM_DTSRCSEL_SM2SEL23(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM2SEL23_SHIFT)) & PWM_DTSRCSEL_SM2SEL23_MASK)
  28525. #define PWM_DTSRCSEL_SM3SEL45_MASK (0x3000U)
  28526. #define PWM_DTSRCSEL_SM3SEL45_SHIFT (12U)
  28527. /*! SM3SEL45 - Submodule 3 PWM45 Control Select
  28528. * 0b00..Generated SM3PWM45 signal is used by the deadtime logic.
  28529. * 0b01..Inverted generated SM3PWM45 signal is used by the deadtime logic.
  28530. * 0b10..SWCOUT[SM3OUT45] is used by the deadtime logic.
  28531. * 0b11..PWM3_EXTB signal is used by the deadtime logic.
  28532. */
  28533. #define PWM_DTSRCSEL_SM3SEL45(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM3SEL45_SHIFT)) & PWM_DTSRCSEL_SM3SEL45_MASK)
  28534. #define PWM_DTSRCSEL_SM3SEL23_MASK (0xC000U)
  28535. #define PWM_DTSRCSEL_SM3SEL23_SHIFT (14U)
  28536. /*! SM3SEL23 - Submodule 3 PWM23 Control Select
  28537. * 0b00..Generated SM3PWM23 signal is used by the deadtime logic.
  28538. * 0b01..Inverted generated SM3PWM23 signal is used by the deadtime logic.
  28539. * 0b10..SWCOUT[SM3OUT23] is used by the deadtime logic.
  28540. * 0b11..PWM3_EXTA signal is used by the deadtime logic.
  28541. */
  28542. #define PWM_DTSRCSEL_SM3SEL23(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM3SEL23_SHIFT)) & PWM_DTSRCSEL_SM3SEL23_MASK)
  28543. /*! @} */
  28544. /*! @name MCTRL - Master Control Register */
  28545. /*! @{ */
  28546. #define PWM_MCTRL_LDOK_MASK (0xFU)
  28547. #define PWM_MCTRL_LDOK_SHIFT (0U)
  28548. /*! LDOK - Load Okay
  28549. * 0b0000..Do not load new values.
  28550. * 0b0001..Load prescaler, modulus, and PWM values of the corresponding submodule.
  28551. */
  28552. #define PWM_MCTRL_LDOK(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL_LDOK_SHIFT)) & PWM_MCTRL_LDOK_MASK)
  28553. #define PWM_MCTRL_CLDOK_MASK (0xF0U)
  28554. #define PWM_MCTRL_CLDOK_SHIFT (4U)
  28555. /*! CLDOK - Clear Load Okay
  28556. */
  28557. #define PWM_MCTRL_CLDOK(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL_CLDOK_SHIFT)) & PWM_MCTRL_CLDOK_MASK)
  28558. #define PWM_MCTRL_RUN_MASK (0xF00U)
  28559. #define PWM_MCTRL_RUN_SHIFT (8U)
  28560. /*! RUN - Run
  28561. * 0b0000..PWM counter is stopped, but PWM outputs will hold the current state.
  28562. * 0b0001..PWM counter is started in the corresponding submodule.
  28563. */
  28564. #define PWM_MCTRL_RUN(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL_RUN_SHIFT)) & PWM_MCTRL_RUN_MASK)
  28565. #define PWM_MCTRL_IPOL_MASK (0xF000U)
  28566. #define PWM_MCTRL_IPOL_SHIFT (12U)
  28567. /*! IPOL - Current Polarity
  28568. * 0b0000..PWM23 is used to generate complementary PWM pair in the corresponding submodule.
  28569. * 0b0001..PWM45 is used to generate complementary PWM pair in the corresponding submodule.
  28570. */
  28571. #define PWM_MCTRL_IPOL(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL_IPOL_SHIFT)) & PWM_MCTRL_IPOL_MASK)
  28572. /*! @} */
  28573. /*! @name MCTRL2 - Master Control 2 Register */
  28574. /*! @{ */
  28575. #define PWM_MCTRL2_MONPLL_MASK (0x3U)
  28576. #define PWM_MCTRL2_MONPLL_SHIFT (0U)
  28577. /*! MONPLL - Monitor PLL State
  28578. * 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.
  28579. * 0b01..Not locked. Monitor PLL operation to automatically disable the fractional delay block when the PLL encounters problems.
  28580. * 0b10..Locked. Do not monitor PLL operation. Resetting of the fractional delay block in case of PLL losing lock
  28581. * will be controlled by software. These bits are write protected until the next reset.
  28582. * 0b11..Locked. Monitor PLL operation to automatically disable the fractional delay block when the PLL
  28583. * encounters problems. These bits are write protected until the next reset.
  28584. */
  28585. #define PWM_MCTRL2_MONPLL(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL2_MONPLL_SHIFT)) & PWM_MCTRL2_MONPLL_MASK)
  28586. /*! @} */
  28587. /*! @name FCTRL - Fault Control Register */
  28588. /*! @{ */
  28589. #define PWM_FCTRL_FIE_MASK (0xFU)
  28590. #define PWM_FCTRL_FIE_SHIFT (0U)
  28591. /*! FIE - Fault Interrupt Enables
  28592. * 0b0000..FAULTx CPU interrupt requests disabled.
  28593. * 0b0001..FAULTx CPU interrupt requests enabled.
  28594. */
  28595. #define PWM_FCTRL_FIE(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL_FIE_SHIFT)) & PWM_FCTRL_FIE_MASK)
  28596. #define PWM_FCTRL_FSAFE_MASK (0xF0U)
  28597. #define PWM_FCTRL_FSAFE_SHIFT (4U)
  28598. /*! FSAFE - Fault Safety Mode
  28599. * 0b0000..Normal mode. PWM outputs disabled by this fault are not enabled until FSTS[FFLAGx] is clear at the
  28600. * start of a half cycle or full cycle depending on the states of FSTS[FHALF] and FSTS[FFULL] without regard
  28601. * to the state of FSTS[FFPINx]. If neither FHALF nor FFULL is set then the fault condition cannot be
  28602. * cleared. The PWM outputs disabled by this fault input will not be re-enabled until the actual FAULTx input
  28603. * signal de-asserts since the fault input will combinationally disable the PWM outputs (as programmed in
  28604. * DISMAPn).
  28605. * 0b0001..Safe mode. PWM outputs disabled by this fault are not enabled until FSTS[FFLAGx] is clear and
  28606. * FSTS[FFPINx] is clear at the start of a half cycle or full cycle depending on the states of FSTS[FHALF] and
  28607. * FSTS[FFULL]. If neither FHLAF nor FFULL is set, then the fault condition cannot be cleared.
  28608. */
  28609. #define PWM_FCTRL_FSAFE(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL_FSAFE_SHIFT)) & PWM_FCTRL_FSAFE_MASK)
  28610. #define PWM_FCTRL_FAUTO_MASK (0xF00U)
  28611. #define PWM_FCTRL_FAUTO_SHIFT (8U)
  28612. /*! FAUTO - Automatic Fault Clearing
  28613. * 0b0000..Manual fault clearing. PWM outputs disabled by this fault are not enabled until FSTS[FFLAGx] is clear
  28614. * at the start of a half cycle or full cycle depending the states of FSTS[FHALF] and FSTS[FFULL]. If
  28615. * neither FFULL nor FHALF is set, then the fault condition cannot be cleared. This is further controlled by
  28616. * FCTRL[FSAFE].
  28617. * 0b0001..Automatic fault clearing. PWM outputs disabled by this fault are enabled when FSTS[FFPINx] is clear at
  28618. * the start of a half cycle or full cycle depending on the states of FSTS[FHALF] and FSTS[FFULL] without
  28619. * regard to the state of FSTS[FFLAGx]. If neither FFULL nor FHALF is set, then the fault condition
  28620. * cannot be cleared.
  28621. */
  28622. #define PWM_FCTRL_FAUTO(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL_FAUTO_SHIFT)) & PWM_FCTRL_FAUTO_MASK)
  28623. #define PWM_FCTRL_FLVL_MASK (0xF000U)
  28624. #define PWM_FCTRL_FLVL_SHIFT (12U)
  28625. /*! FLVL - Fault Level
  28626. * 0b0000..A logic 0 on the fault input indicates a fault condition.
  28627. * 0b0001..A logic 1 on the fault input indicates a fault condition.
  28628. */
  28629. #define PWM_FCTRL_FLVL(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL_FLVL_SHIFT)) & PWM_FCTRL_FLVL_MASK)
  28630. /*! @} */
  28631. /*! @name FSTS - Fault Status Register */
  28632. /*! @{ */
  28633. #define PWM_FSTS_FFLAG_MASK (0xFU)
  28634. #define PWM_FSTS_FFLAG_SHIFT (0U)
  28635. /*! FFLAG - Fault Flags
  28636. * 0b0000..No fault on the FAULTx pin.
  28637. * 0b0001..Fault on the FAULTx pin.
  28638. */
  28639. #define PWM_FSTS_FFLAG(x) (((uint16_t)(((uint16_t)(x)) << PWM_FSTS_FFLAG_SHIFT)) & PWM_FSTS_FFLAG_MASK)
  28640. #define PWM_FSTS_FFULL_MASK (0xF0U)
  28641. #define PWM_FSTS_FFULL_SHIFT (4U)
  28642. /*! FFULL - Full Cycle
  28643. * 0b0000..PWM outputs are not re-enabled at the start of a full cycle
  28644. * 0b0001..PWM outputs are re-enabled at the start of a full cycle
  28645. */
  28646. #define PWM_FSTS_FFULL(x) (((uint16_t)(((uint16_t)(x)) << PWM_FSTS_FFULL_SHIFT)) & PWM_FSTS_FFULL_MASK)
  28647. #define PWM_FSTS_FFPIN_MASK (0xF00U)
  28648. #define PWM_FSTS_FFPIN_SHIFT (8U)
  28649. /*! FFPIN - Filtered Fault Pins
  28650. */
  28651. #define PWM_FSTS_FFPIN(x) (((uint16_t)(((uint16_t)(x)) << PWM_FSTS_FFPIN_SHIFT)) & PWM_FSTS_FFPIN_MASK)
  28652. #define PWM_FSTS_FHALF_MASK (0xF000U)
  28653. #define PWM_FSTS_FHALF_SHIFT (12U)
  28654. /*! FHALF - Half Cycle Fault Recovery
  28655. * 0b0000..PWM outputs are not re-enabled at the start of a half cycle.
  28656. * 0b0001..PWM outputs are re-enabled at the start of a half cycle (as defined by VAL0).
  28657. */
  28658. #define PWM_FSTS_FHALF(x) (((uint16_t)(((uint16_t)(x)) << PWM_FSTS_FHALF_SHIFT)) & PWM_FSTS_FHALF_MASK)
  28659. /*! @} */
  28660. /*! @name FFILT - Fault Filter Register */
  28661. /*! @{ */
  28662. #define PWM_FFILT_FILT_PER_MASK (0xFFU)
  28663. #define PWM_FFILT_FILT_PER_SHIFT (0U)
  28664. /*! FILT_PER - Fault Filter Period
  28665. */
  28666. #define PWM_FFILT_FILT_PER(x) (((uint16_t)(((uint16_t)(x)) << PWM_FFILT_FILT_PER_SHIFT)) & PWM_FFILT_FILT_PER_MASK)
  28667. #define PWM_FFILT_FILT_CNT_MASK (0x700U)
  28668. #define PWM_FFILT_FILT_CNT_SHIFT (8U)
  28669. /*! FILT_CNT - Fault Filter Count
  28670. */
  28671. #define PWM_FFILT_FILT_CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_FFILT_FILT_CNT_SHIFT)) & PWM_FFILT_FILT_CNT_MASK)
  28672. #define PWM_FFILT_GSTR_MASK (0x8000U)
  28673. #define PWM_FFILT_GSTR_SHIFT (15U)
  28674. /*! GSTR - Fault Glitch Stretch Enable
  28675. * 0b0..Fault input glitch stretching is disabled.
  28676. * 0b1..Input fault signals will be stretched to at least 2 IPBus clock cycles.
  28677. */
  28678. #define PWM_FFILT_GSTR(x) (((uint16_t)(((uint16_t)(x)) << PWM_FFILT_GSTR_SHIFT)) & PWM_FFILT_GSTR_MASK)
  28679. /*! @} */
  28680. /*! @name FTST - Fault Test Register */
  28681. /*! @{ */
  28682. #define PWM_FTST_FTEST_MASK (0x1U)
  28683. #define PWM_FTST_FTEST_SHIFT (0U)
  28684. /*! FTEST - Fault Test
  28685. * 0b0..No fault
  28686. * 0b1..Cause a simulated fault
  28687. */
  28688. #define PWM_FTST_FTEST(x) (((uint16_t)(((uint16_t)(x)) << PWM_FTST_FTEST_SHIFT)) & PWM_FTST_FTEST_MASK)
  28689. /*! @} */
  28690. /*! @name FCTRL2 - Fault Control 2 Register */
  28691. /*! @{ */
  28692. #define PWM_FCTRL2_NOCOMB_MASK (0xFU)
  28693. #define PWM_FCTRL2_NOCOMB_SHIFT (0U)
  28694. /*! NOCOMB - No Combinational Path From Fault Input To PWM Output
  28695. * 0b0000..There is a combinational link from the fault inputs to the PWM outputs. The fault inputs are combined
  28696. * with the filtered and latched fault signals to disable the PWM outputs.
  28697. * 0b0001..The direct combinational path from the fault inputs to the PWM outputs is disabled and the filtered
  28698. * and latched fault signals are used to disable the PWM outputs.
  28699. */
  28700. #define PWM_FCTRL2_NOCOMB(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL2_NOCOMB_SHIFT)) & PWM_FCTRL2_NOCOMB_MASK)
  28701. /*! @} */
  28702. /*!
  28703. * @}
  28704. */ /* end of group PWM_Register_Masks */
  28705. /* PWM - Peripheral instance base addresses */
  28706. /** Peripheral PWM1 base address */
  28707. #define PWM1_BASE (0x403DC000u)
  28708. /** Peripheral PWM1 base pointer */
  28709. #define PWM1 ((PWM_Type *)PWM1_BASE)
  28710. /** Peripheral PWM2 base address */
  28711. #define PWM2_BASE (0x403E0000u)
  28712. /** Peripheral PWM2 base pointer */
  28713. #define PWM2 ((PWM_Type *)PWM2_BASE)
  28714. /** Array initializer of PWM peripheral base addresses */
  28715. #define PWM_BASE_ADDRS { 0u, PWM1_BASE, PWM2_BASE }
  28716. /** Array initializer of PWM peripheral base pointers */
  28717. #define PWM_BASE_PTRS { (PWM_Type *)0u, PWM1, PWM2 }
  28718. /** Interrupt vectors for the PWM peripheral type */
  28719. #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 } }
  28720. #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 } }
  28721. #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 } }
  28722. #define PWM_FAULT_IRQS { NotAvail_IRQn, PWM1_FAULT_IRQn, PWM2_FAULT_IRQn }
  28723. #define PWM_RELOAD_ERROR_IRQS { NotAvail_IRQn, PWM1_FAULT_IRQn, PWM2_FAULT_IRQn }
  28724. /*!
  28725. * @}
  28726. */ /* end of group PWM_Peripheral_Access_Layer */
  28727. /* ----------------------------------------------------------------------------
  28728. -- RTWDOG Peripheral Access Layer
  28729. ---------------------------------------------------------------------------- */
  28730. /*!
  28731. * @addtogroup RTWDOG_Peripheral_Access_Layer RTWDOG Peripheral Access Layer
  28732. * @{
  28733. */
  28734. /** RTWDOG - Register Layout Typedef */
  28735. typedef struct {
  28736. __IO uint32_t CS; /**< Watchdog Control and Status Register, offset: 0x0 */
  28737. __IO uint32_t CNT; /**< Watchdog Counter Register, offset: 0x4 */
  28738. __IO uint32_t TOVAL; /**< Watchdog Timeout Value Register, offset: 0x8 */
  28739. __IO uint32_t WIN; /**< Watchdog Window Register, offset: 0xC */
  28740. } RTWDOG_Type;
  28741. /* ----------------------------------------------------------------------------
  28742. -- RTWDOG Register Masks
  28743. ---------------------------------------------------------------------------- */
  28744. /*!
  28745. * @addtogroup RTWDOG_Register_Masks RTWDOG Register Masks
  28746. * @{
  28747. */
  28748. /*! @name CS - Watchdog Control and Status Register */
  28749. /*! @{ */
  28750. #define RTWDOG_CS_STOP_MASK (0x1U)
  28751. #define RTWDOG_CS_STOP_SHIFT (0U)
  28752. /*! STOP - Stop Enable
  28753. * 0b0..Watchdog disabled in chip stop mode.
  28754. * 0b1..Watchdog enabled in chip stop mode.
  28755. */
  28756. #define RTWDOG_CS_STOP(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_STOP_SHIFT)) & RTWDOG_CS_STOP_MASK)
  28757. #define RTWDOG_CS_WAIT_MASK (0x2U)
  28758. #define RTWDOG_CS_WAIT_SHIFT (1U)
  28759. /*! WAIT - Wait Enable
  28760. * 0b0..Watchdog disabled in chip wait mode.
  28761. * 0b1..Watchdog enabled in chip wait mode.
  28762. */
  28763. #define RTWDOG_CS_WAIT(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_WAIT_SHIFT)) & RTWDOG_CS_WAIT_MASK)
  28764. #define RTWDOG_CS_DBG_MASK (0x4U)
  28765. #define RTWDOG_CS_DBG_SHIFT (2U)
  28766. /*! DBG - Debug Enable
  28767. * 0b0..Watchdog disabled in chip debug mode.
  28768. * 0b1..Watchdog enabled in chip debug mode.
  28769. */
  28770. #define RTWDOG_CS_DBG(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_DBG_SHIFT)) & RTWDOG_CS_DBG_MASK)
  28771. #define RTWDOG_CS_TST_MASK (0x18U)
  28772. #define RTWDOG_CS_TST_SHIFT (3U)
  28773. /*! TST - Watchdog Test
  28774. * 0b00..Watchdog test mode disabled.
  28775. * 0b01..Watchdog user mode enabled. (Watchdog test mode disabled.) After testing the watchdog, software should
  28776. * use this setting to indicate that the watchdog is functioning normally in user mode.
  28777. * 0b10..Watchdog test mode enabled, only the low byte is used. CNT[CNTLOW] is compared with TOVAL[TOVALLOW].
  28778. * 0b11..Watchdog test mode enabled, only the high byte is used. CNT[CNTHIGH] is compared with TOVAL[TOVALHIGH].
  28779. */
  28780. #define RTWDOG_CS_TST(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_TST_SHIFT)) & RTWDOG_CS_TST_MASK)
  28781. #define RTWDOG_CS_UPDATE_MASK (0x20U)
  28782. #define RTWDOG_CS_UPDATE_SHIFT (5U)
  28783. /*! UPDATE - Allow updates
  28784. * 0b0..Updates not allowed. After the initial configuration, the watchdog cannot be later modified without forcing a reset.
  28785. * 0b1..Updates allowed. Software can modify the watchdog configuration registers within 128 bus clocks after performing the unlock write sequence.
  28786. */
  28787. #define RTWDOG_CS_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_UPDATE_SHIFT)) & RTWDOG_CS_UPDATE_MASK)
  28788. #define RTWDOG_CS_INT_MASK (0x40U)
  28789. #define RTWDOG_CS_INT_SHIFT (6U)
  28790. /*! INT - Watchdog Interrupt
  28791. * 0b0..Watchdog interrupts are disabled. Watchdog resets are not delayed.
  28792. * 0b1..Watchdog interrupts are enabled. Watchdog resets are delayed by 128 bus clocks from the interrupt vector fetch.
  28793. */
  28794. #define RTWDOG_CS_INT(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_INT_SHIFT)) & RTWDOG_CS_INT_MASK)
  28795. #define RTWDOG_CS_EN_MASK (0x80U)
  28796. #define RTWDOG_CS_EN_SHIFT (7U)
  28797. /*! EN - Watchdog Enable
  28798. * 0b0..Watchdog disabled.
  28799. * 0b1..Watchdog enabled.
  28800. */
  28801. #define RTWDOG_CS_EN(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_EN_SHIFT)) & RTWDOG_CS_EN_MASK)
  28802. #define RTWDOG_CS_CLK_MASK (0x300U)
  28803. #define RTWDOG_CS_CLK_SHIFT (8U)
  28804. /*! CLK - Watchdog Clock
  28805. */
  28806. #define RTWDOG_CS_CLK(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_CLK_SHIFT)) & RTWDOG_CS_CLK_MASK)
  28807. #define RTWDOG_CS_RCS_MASK (0x400U)
  28808. #define RTWDOG_CS_RCS_SHIFT (10U)
  28809. /*! RCS - Reconfiguration Success
  28810. * 0b0..Reconfiguring WDOG.
  28811. * 0b1..Reconfiguration is successful.
  28812. */
  28813. #define RTWDOG_CS_RCS(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_RCS_SHIFT)) & RTWDOG_CS_RCS_MASK)
  28814. #define RTWDOG_CS_ULK_MASK (0x800U)
  28815. #define RTWDOG_CS_ULK_SHIFT (11U)
  28816. /*! ULK - Unlock status
  28817. * 0b0..WDOG is locked.
  28818. * 0b1..WDOG is unlocked.
  28819. */
  28820. #define RTWDOG_CS_ULK(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_ULK_SHIFT)) & RTWDOG_CS_ULK_MASK)
  28821. #define RTWDOG_CS_PRES_MASK (0x1000U)
  28822. #define RTWDOG_CS_PRES_SHIFT (12U)
  28823. /*! PRES - Watchdog prescaler
  28824. * 0b0..256 prescaler disabled.
  28825. * 0b1..256 prescaler enabled.
  28826. */
  28827. #define RTWDOG_CS_PRES(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_PRES_SHIFT)) & RTWDOG_CS_PRES_MASK)
  28828. #define RTWDOG_CS_CMD32EN_MASK (0x2000U)
  28829. #define RTWDOG_CS_CMD32EN_SHIFT (13U)
  28830. /*! CMD32EN - Enables or disables WDOG support for 32-bit (otherwise 16-bit or 8-bit) refresh/unlock command write words
  28831. * 0b0..Disables support for 32-bit refresh/unlock command write words. Only 16-bit or 8-bit is supported.
  28832. * 0b1..Enables support for 32-bit refresh/unlock command write words. 16-bit or 8-bit is NOT supported.
  28833. */
  28834. #define RTWDOG_CS_CMD32EN(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_CMD32EN_SHIFT)) & RTWDOG_CS_CMD32EN_MASK)
  28835. #define RTWDOG_CS_FLG_MASK (0x4000U)
  28836. #define RTWDOG_CS_FLG_SHIFT (14U)
  28837. /*! FLG - Watchdog Interrupt Flag
  28838. * 0b0..No interrupt occurred.
  28839. * 0b1..An interrupt occurred.
  28840. */
  28841. #define RTWDOG_CS_FLG(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_FLG_SHIFT)) & RTWDOG_CS_FLG_MASK)
  28842. #define RTWDOG_CS_WIN_MASK (0x8000U)
  28843. #define RTWDOG_CS_WIN_SHIFT (15U)
  28844. /*! WIN - Watchdog Window
  28845. * 0b0..Window mode disabled.
  28846. * 0b1..Window mode enabled.
  28847. */
  28848. #define RTWDOG_CS_WIN(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_WIN_SHIFT)) & RTWDOG_CS_WIN_MASK)
  28849. /*! @} */
  28850. /*! @name CNT - Watchdog Counter Register */
  28851. /*! @{ */
  28852. #define RTWDOG_CNT_CNTLOW_MASK (0xFFU)
  28853. #define RTWDOG_CNT_CNTLOW_SHIFT (0U)
  28854. /*! CNTLOW - Low byte of the Watchdog Counter
  28855. */
  28856. #define RTWDOG_CNT_CNTLOW(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CNT_CNTLOW_SHIFT)) & RTWDOG_CNT_CNTLOW_MASK)
  28857. #define RTWDOG_CNT_CNTHIGH_MASK (0xFF00U)
  28858. #define RTWDOG_CNT_CNTHIGH_SHIFT (8U)
  28859. /*! CNTHIGH - High byte of the Watchdog Counter
  28860. */
  28861. #define RTWDOG_CNT_CNTHIGH(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CNT_CNTHIGH_SHIFT)) & RTWDOG_CNT_CNTHIGH_MASK)
  28862. /*! @} */
  28863. /*! @name TOVAL - Watchdog Timeout Value Register */
  28864. /*! @{ */
  28865. #define RTWDOG_TOVAL_TOVALLOW_MASK (0xFFU)
  28866. #define RTWDOG_TOVAL_TOVALLOW_SHIFT (0U)
  28867. /*! TOVALLOW - Low byte of the timeout value
  28868. */
  28869. #define RTWDOG_TOVAL_TOVALLOW(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_TOVAL_TOVALLOW_SHIFT)) & RTWDOG_TOVAL_TOVALLOW_MASK)
  28870. #define RTWDOG_TOVAL_TOVALHIGH_MASK (0xFF00U)
  28871. #define RTWDOG_TOVAL_TOVALHIGH_SHIFT (8U)
  28872. /*! TOVALHIGH - High byte of the timeout value
  28873. */
  28874. #define RTWDOG_TOVAL_TOVALHIGH(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_TOVAL_TOVALHIGH_SHIFT)) & RTWDOG_TOVAL_TOVALHIGH_MASK)
  28875. /*! @} */
  28876. /*! @name WIN - Watchdog Window Register */
  28877. /*! @{ */
  28878. #define RTWDOG_WIN_WINLOW_MASK (0xFFU)
  28879. #define RTWDOG_WIN_WINLOW_SHIFT (0U)
  28880. /*! WINLOW - Low byte of Watchdog Window
  28881. */
  28882. #define RTWDOG_WIN_WINLOW(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_WIN_WINLOW_SHIFT)) & RTWDOG_WIN_WINLOW_MASK)
  28883. #define RTWDOG_WIN_WINHIGH_MASK (0xFF00U)
  28884. #define RTWDOG_WIN_WINHIGH_SHIFT (8U)
  28885. /*! WINHIGH - High byte of Watchdog Window
  28886. */
  28887. #define RTWDOG_WIN_WINHIGH(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_WIN_WINHIGH_SHIFT)) & RTWDOG_WIN_WINHIGH_MASK)
  28888. /*! @} */
  28889. /*!
  28890. * @}
  28891. */ /* end of group RTWDOG_Register_Masks */
  28892. /* RTWDOG - Peripheral instance base addresses */
  28893. /** Peripheral RTWDOG base address */
  28894. #define RTWDOG_BASE (0x400BC000u)
  28895. /** Peripheral RTWDOG base pointer */
  28896. #define RTWDOG ((RTWDOG_Type *)RTWDOG_BASE)
  28897. /** Array initializer of RTWDOG peripheral base addresses */
  28898. #define RTWDOG_BASE_ADDRS { RTWDOG_BASE }
  28899. /** Array initializer of RTWDOG peripheral base pointers */
  28900. #define RTWDOG_BASE_PTRS { RTWDOG }
  28901. /** Interrupt vectors for the RTWDOG peripheral type */
  28902. #define RTWDOG_IRQS { RTWDOG_IRQn }
  28903. /* Extra definition */
  28904. #define RTWDOG_UPDATE_KEY (0xD928C520U)
  28905. #define RTWDOG_REFRESH_KEY (0xB480A602U)
  28906. /*!
  28907. * @}
  28908. */ /* end of group RTWDOG_Peripheral_Access_Layer */
  28909. /* ----------------------------------------------------------------------------
  28910. -- SEMC Peripheral Access Layer
  28911. ---------------------------------------------------------------------------- */
  28912. /*!
  28913. * @addtogroup SEMC_Peripheral_Access_Layer SEMC Peripheral Access Layer
  28914. * @{
  28915. */
  28916. /** SEMC - Register Layout Typedef */
  28917. typedef struct {
  28918. __IO uint32_t MCR; /**< Module Control Register, offset: 0x0 */
  28919. __IO uint32_t IOCR; /**< IO MUX Control Register, offset: 0x4 */
  28920. __IO uint32_t BMCR0; /**< Bus (AXI) Master Control Register 0, offset: 0x8 */
  28921. __IO uint32_t BMCR1; /**< Bus (AXI) Master Control Register 1, offset: 0xC */
  28922. __IO uint32_t BR[9]; /**< Base Register 0..Base Register 8, array offset: 0x10, array step: 0x4 */
  28923. uint8_t RESERVED_0[4];
  28924. __IO uint32_t INTEN; /**< Interrupt Enable Register, offset: 0x38 */
  28925. __IO uint32_t INTR; /**< Interrupt Register, offset: 0x3C */
  28926. __IO uint32_t SDRAMCR0; /**< SDRAM Control Register 0, offset: 0x40 */
  28927. __IO uint32_t SDRAMCR1; /**< SDRAM Control Register 1, offset: 0x44 */
  28928. __IO uint32_t SDRAMCR2; /**< SDRAM Control Register 2, offset: 0x48 */
  28929. __IO uint32_t SDRAMCR3; /**< SDRAM Control Register 3, offset: 0x4C */
  28930. __IO uint32_t NANDCR0; /**< NAND Control Register 0, offset: 0x50 */
  28931. __IO uint32_t NANDCR1; /**< NAND Control Register 1, offset: 0x54 */
  28932. __IO uint32_t NANDCR2; /**< NAND Control Register 2, offset: 0x58 */
  28933. __IO uint32_t NANDCR3; /**< NAND Control Register 3, offset: 0x5C */
  28934. __IO uint32_t NORCR0; /**< NOR Control Register 0, offset: 0x60 */
  28935. __IO uint32_t NORCR1; /**< NOR Control Register 1, offset: 0x64 */
  28936. __IO uint32_t NORCR2; /**< NOR Control Register 2, offset: 0x68 */
  28937. uint32_t NORCR3; /**< NOR Control Register 3, offset: 0x6C */
  28938. __IO uint32_t SRAMCR0; /**< SRAM Control Register 0, offset: 0x70 */
  28939. __IO uint32_t SRAMCR1; /**< SRAM Control Register 1, offset: 0x74 */
  28940. __IO uint32_t SRAMCR2; /**< SRAM Control Register 2, offset: 0x78 */
  28941. uint32_t SRAMCR3; /**< SRAM Control Register 3, offset: 0x7C */
  28942. __IO uint32_t DBICR0; /**< DBI-B Control Register 0, offset: 0x80 */
  28943. __IO uint32_t DBICR1; /**< DBI-B Control Register 1, offset: 0x84 */
  28944. uint8_t RESERVED_1[8];
  28945. __IO uint32_t IPCR0; /**< IP Command Control Register 0, offset: 0x90 */
  28946. __IO uint32_t IPCR1; /**< IP Command Control Register 1, offset: 0x94 */
  28947. __IO uint32_t IPCR2; /**< IP Command Control Register 2, offset: 0x98 */
  28948. __IO uint32_t IPCMD; /**< IP Command Register, offset: 0x9C */
  28949. __IO uint32_t IPTXDAT; /**< TX DATA Register, offset: 0xA0 */
  28950. uint8_t RESERVED_2[12];
  28951. __I uint32_t IPRXDAT; /**< RX DATA Register, offset: 0xB0 */
  28952. uint8_t RESERVED_3[12];
  28953. __I uint32_t STS0; /**< Status Register 0, offset: 0xC0 */
  28954. uint32_t STS1; /**< Status Register 1, offset: 0xC4 */
  28955. __I uint32_t STS2; /**< Status Register 2, offset: 0xC8 */
  28956. uint32_t STS3; /**< Status Register 3, offset: 0xCC */
  28957. uint32_t STS4; /**< Status Register 4, offset: 0xD0 */
  28958. uint32_t STS5; /**< Status Register 5, offset: 0xD4 */
  28959. uint32_t STS6; /**< Status Register 6, offset: 0xD8 */
  28960. uint32_t STS7; /**< Status Register 7, offset: 0xDC */
  28961. uint32_t STS8; /**< Status Register 8, offset: 0xE0 */
  28962. uint32_t STS9; /**< Status Register 9, offset: 0xE4 */
  28963. uint32_t STS10; /**< Status Register 10, offset: 0xE8 */
  28964. uint32_t STS11; /**< Status Register 11, offset: 0xEC */
  28965. __I uint32_t STS12; /**< Status Register 12, offset: 0xF0 */
  28966. uint32_t STS13; /**< Status Register 13, offset: 0xF4 */
  28967. uint32_t STS14; /**< Status Register 14, offset: 0xF8 */
  28968. uint32_t STS15; /**< Status Register 15, offset: 0xFC */
  28969. } SEMC_Type;
  28970. /* ----------------------------------------------------------------------------
  28971. -- SEMC Register Masks
  28972. ---------------------------------------------------------------------------- */
  28973. /*!
  28974. * @addtogroup SEMC_Register_Masks SEMC Register Masks
  28975. * @{
  28976. */
  28977. /*! @name MCR - Module Control Register */
  28978. /*! @{ */
  28979. #define SEMC_MCR_SWRST_MASK (0x1U)
  28980. #define SEMC_MCR_SWRST_SHIFT (0U)
  28981. /*! SWRST - Software Reset
  28982. * 0b0..No reset
  28983. * 0b1..Reset
  28984. */
  28985. #define SEMC_MCR_SWRST(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_SWRST_SHIFT)) & SEMC_MCR_SWRST_MASK)
  28986. #define SEMC_MCR_MDIS_MASK (0x2U)
  28987. #define SEMC_MCR_MDIS_SHIFT (1U)
  28988. /*! MDIS - Module Disable
  28989. * 0b0..Module enabled
  28990. * 0b1..Module disabled
  28991. */
  28992. #define SEMC_MCR_MDIS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_MDIS_SHIFT)) & SEMC_MCR_MDIS_MASK)
  28993. #define SEMC_MCR_DQSMD_MASK (0x4U)
  28994. #define SEMC_MCR_DQSMD_SHIFT (2U)
  28995. /*! DQSMD - DQS (read strobe) mode
  28996. * 0b0..Dummy read strobe loopbacked internally
  28997. * 0b1..Dummy read strobe loopbacked from DQS pad
  28998. */
  28999. #define SEMC_MCR_DQSMD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_DQSMD_SHIFT)) & SEMC_MCR_DQSMD_MASK)
  29000. #define SEMC_MCR_WPOL0_MASK (0x40U)
  29001. #define SEMC_MCR_WPOL0_SHIFT (6U)
  29002. /*! WPOL0 - WAIT/RDY polarity for SRAM/NOR
  29003. * 0b0..WAIT/RDY polarity is not changed.
  29004. * 0b1..WAIT/RDY polarity is inverted.
  29005. */
  29006. #define SEMC_MCR_WPOL0(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_WPOL0_SHIFT)) & SEMC_MCR_WPOL0_MASK)
  29007. #define SEMC_MCR_WPOL1_MASK (0x80U)
  29008. #define SEMC_MCR_WPOL1_SHIFT (7U)
  29009. /*! WPOL1 - R/B# polarity for NAND device
  29010. * 0b0..R/B# polarity is not changed.
  29011. * 0b1..R/B# polarity is inverted.
  29012. */
  29013. #define SEMC_MCR_WPOL1(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_WPOL1_SHIFT)) & SEMC_MCR_WPOL1_MASK)
  29014. #define SEMC_MCR_CTO_MASK (0xFF0000U)
  29015. #define SEMC_MCR_CTO_SHIFT (16U)
  29016. /*! CTO - Command Execution timeout cycles
  29017. */
  29018. #define SEMC_MCR_CTO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_CTO_SHIFT)) & SEMC_MCR_CTO_MASK)
  29019. #define SEMC_MCR_BTO_MASK (0x1F000000U)
  29020. #define SEMC_MCR_BTO_SHIFT (24U)
  29021. /*! BTO - Bus timeout cycles
  29022. * 0b00000..255*1
  29023. * 0b00001..255*2
  29024. * 0b11111..255*231
  29025. */
  29026. #define SEMC_MCR_BTO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_BTO_SHIFT)) & SEMC_MCR_BTO_MASK)
  29027. /*! @} */
  29028. /*! @name IOCR - IO MUX Control Register */
  29029. /*! @{ */
  29030. #define SEMC_IOCR_MUX_A8_MASK (0x7U)
  29031. #define SEMC_IOCR_MUX_A8_SHIFT (0U)
  29032. /*! MUX_A8 - SEMC_ADDR08 output selection
  29033. * 0b000..SDRAM Address bit 8 (A8) or NOR/SRAM Address bit 24 (A24) in ADMUX 16bit mode
  29034. * 0b001..NAND CE#
  29035. * 0b010..NOR CE#
  29036. * 0b011..SRAM CE#
  29037. * 0b100..DBI CSX
  29038. * 0b101-0b111..SDRAM Address bit 8 (A8) or NOR/SRAM Address bit 24 (A24) in ADMUX 16bit mode
  29039. */
  29040. #define SEMC_IOCR_MUX_A8(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_A8_SHIFT)) & SEMC_IOCR_MUX_A8_MASK)
  29041. #define SEMC_IOCR_MUX_CSX0_MASK (0x38U)
  29042. #define SEMC_IOCR_MUX_CSX0_SHIFT (3U)
  29043. /*! MUX_CSX0 - SEMC_CSX0 output selection
  29044. * 0b000..Reserved
  29045. * 0b001..SDRAM CS1
  29046. * 0b010..SDRAM CS2
  29047. * 0b011..SDRAM CS3
  29048. * 0b100..NAND CE#
  29049. * 0b101..NOR CE#
  29050. * 0b110..SRAM CE#
  29051. * 0b111..DBI CSX
  29052. */
  29053. #define SEMC_IOCR_MUX_CSX0(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CSX0_SHIFT)) & SEMC_IOCR_MUX_CSX0_MASK)
  29054. #define SEMC_IOCR_MUX_CSX1_MASK (0x1C0U)
  29055. #define SEMC_IOCR_MUX_CSX1_SHIFT (6U)
  29056. /*! MUX_CSX1 - SEMC_CSX1 output selection
  29057. * 0b000..Reserved
  29058. * 0b001..SDRAM CS1
  29059. * 0b010..SDRAM CS2
  29060. * 0b011..SDRAM CS3
  29061. * 0b100..NAND CE#
  29062. * 0b101..NOR CE#
  29063. * 0b110..SRAM CE#
  29064. * 0b111..DBI CSX
  29065. */
  29066. #define SEMC_IOCR_MUX_CSX1(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CSX1_SHIFT)) & SEMC_IOCR_MUX_CSX1_MASK)
  29067. #define SEMC_IOCR_MUX_CSX2_MASK (0xE00U)
  29068. #define SEMC_IOCR_MUX_CSX2_SHIFT (9U)
  29069. /*! MUX_CSX2 - SEMC_CSX2 output selection
  29070. * 0b000..Reserved
  29071. * 0b001..SDRAM CS1
  29072. * 0b010..SDRAM CS2
  29073. * 0b011..SDRAM CS3
  29074. * 0b100..NAND CE#
  29075. * 0b101..NOR CE#
  29076. * 0b110..SRAM CE#
  29077. * 0b111..DBI CSX
  29078. */
  29079. #define SEMC_IOCR_MUX_CSX2(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CSX2_SHIFT)) & SEMC_IOCR_MUX_CSX2_MASK)
  29080. #define SEMC_IOCR_MUX_CSX3_MASK (0x7000U)
  29081. #define SEMC_IOCR_MUX_CSX3_SHIFT (12U)
  29082. /*! MUX_CSX3 - SEMC_CSX3 output selection
  29083. * 0b000..Reserved
  29084. * 0b001..SDRAM CS1
  29085. * 0b010..SDRAM CS2
  29086. * 0b011..SDRAM CS3
  29087. * 0b100..NAND CE#
  29088. * 0b101..NOR CE#
  29089. * 0b110..SRAM CE#
  29090. * 0b111..DBI CSX
  29091. */
  29092. #define SEMC_IOCR_MUX_CSX3(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CSX3_SHIFT)) & SEMC_IOCR_MUX_CSX3_MASK)
  29093. #define SEMC_IOCR_MUX_RDY_MASK (0x38000U)
  29094. #define SEMC_IOCR_MUX_RDY_SHIFT (15U)
  29095. /*! MUX_RDY - SEMC_RDY function selection
  29096. * 0b000..NAND R/B# input
  29097. * 0b001..SDRAM CS1
  29098. * 0b010..SDRAM CS2
  29099. * 0b011..SDRAM CS3
  29100. * 0b100..NOR CE#
  29101. * 0b101..SRAM CE#
  29102. * 0b110..DBI CSX
  29103. * 0b111..Reserved
  29104. */
  29105. #define SEMC_IOCR_MUX_RDY(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_RDY_SHIFT)) & SEMC_IOCR_MUX_RDY_MASK)
  29106. /*! @} */
  29107. /*! @name BMCR0 - Bus (AXI) Master Control Register 0 */
  29108. /*! @{ */
  29109. #define SEMC_BMCR0_WQOS_MASK (0xFU)
  29110. #define SEMC_BMCR0_WQOS_SHIFT (0U)
  29111. /*! WQOS - Weight of QOS
  29112. */
  29113. #define SEMC_BMCR0_WQOS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR0_WQOS_SHIFT)) & SEMC_BMCR0_WQOS_MASK)
  29114. #define SEMC_BMCR0_WAGE_MASK (0xF0U)
  29115. #define SEMC_BMCR0_WAGE_SHIFT (4U)
  29116. /*! WAGE - Weight of AGE
  29117. */
  29118. #define SEMC_BMCR0_WAGE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR0_WAGE_SHIFT)) & SEMC_BMCR0_WAGE_MASK)
  29119. #define SEMC_BMCR0_WSH_MASK (0xFF00U)
  29120. #define SEMC_BMCR0_WSH_SHIFT (8U)
  29121. /*! WSH - Weight of Slave Hit without read/write switch
  29122. */
  29123. #define SEMC_BMCR0_WSH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR0_WSH_SHIFT)) & SEMC_BMCR0_WSH_MASK)
  29124. #define SEMC_BMCR0_WRWS_MASK (0xFF0000U)
  29125. #define SEMC_BMCR0_WRWS_SHIFT (16U)
  29126. /*! WRWS - Weight of slave hit with Read/Write Switch
  29127. */
  29128. #define SEMC_BMCR0_WRWS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR0_WRWS_SHIFT)) & SEMC_BMCR0_WRWS_MASK)
  29129. /*! @} */
  29130. /*! @name BMCR1 - Bus (AXI) Master Control Register 1 */
  29131. /*! @{ */
  29132. #define SEMC_BMCR1_WQOS_MASK (0xFU)
  29133. #define SEMC_BMCR1_WQOS_SHIFT (0U)
  29134. /*! WQOS - Weight of QOS
  29135. */
  29136. #define SEMC_BMCR1_WQOS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WQOS_SHIFT)) & SEMC_BMCR1_WQOS_MASK)
  29137. #define SEMC_BMCR1_WAGE_MASK (0xF0U)
  29138. #define SEMC_BMCR1_WAGE_SHIFT (4U)
  29139. /*! WAGE - Weight of AGE
  29140. */
  29141. #define SEMC_BMCR1_WAGE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WAGE_SHIFT)) & SEMC_BMCR1_WAGE_MASK)
  29142. #define SEMC_BMCR1_WPH_MASK (0xFF00U)
  29143. #define SEMC_BMCR1_WPH_SHIFT (8U)
  29144. /*! WPH - Weight of Page Hit
  29145. */
  29146. #define SEMC_BMCR1_WPH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WPH_SHIFT)) & SEMC_BMCR1_WPH_MASK)
  29147. #define SEMC_BMCR1_WRWS_MASK (0xFF0000U)
  29148. #define SEMC_BMCR1_WRWS_SHIFT (16U)
  29149. /*! WRWS - Weight of slave hit without Read/Write Switch
  29150. */
  29151. #define SEMC_BMCR1_WRWS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WRWS_SHIFT)) & SEMC_BMCR1_WRWS_MASK)
  29152. #define SEMC_BMCR1_WBR_MASK (0xFF000000U)
  29153. #define SEMC_BMCR1_WBR_SHIFT (24U)
  29154. /*! WBR - Weight of Bank Rotation
  29155. */
  29156. #define SEMC_BMCR1_WBR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WBR_SHIFT)) & SEMC_BMCR1_WBR_MASK)
  29157. /*! @} */
  29158. /*! @name BR - Base Register 0..Base Register 8 */
  29159. /*! @{ */
  29160. #define SEMC_BR_VLD_MASK (0x1U)
  29161. #define SEMC_BR_VLD_SHIFT (0U)
  29162. /*! VLD - Valid
  29163. * 0b0..The memory is invalid, can not be accessed.
  29164. * 0b1..The memory is valid, can be accessed.
  29165. */
  29166. #define SEMC_BR_VLD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR_VLD_SHIFT)) & SEMC_BR_VLD_MASK)
  29167. #define SEMC_BR_MS_MASK (0x3EU)
  29168. #define SEMC_BR_MS_SHIFT (1U)
  29169. /*! MS - Memory size
  29170. * 0b00000..4KB
  29171. * 0b00001..8KB
  29172. * 0b00010..16KB
  29173. * 0b00011..32KB
  29174. * 0b00100..64KB
  29175. * 0b00101..128KB
  29176. * 0b00110..256KB
  29177. * 0b00111..512KB
  29178. * 0b01000..1MB
  29179. * 0b01001..2MB
  29180. * 0b01010..4MB
  29181. * 0b01011..8MB
  29182. * 0b01100..16MB
  29183. * 0b01101..32MB
  29184. * 0b01110..64MB
  29185. * 0b01111..128MB
  29186. * 0b10000..256MB
  29187. * 0b10001..512MB
  29188. * 0b10010..1GB
  29189. * 0b10011..2GB
  29190. * 0b10100-0b11111..4GB
  29191. */
  29192. #define SEMC_BR_MS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR_MS_SHIFT)) & SEMC_BR_MS_MASK)
  29193. #define SEMC_BR_BA_MASK (0xFFFFF000U)
  29194. #define SEMC_BR_BA_SHIFT (12U)
  29195. /*! BA - Base Address
  29196. */
  29197. #define SEMC_BR_BA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR_BA_SHIFT)) & SEMC_BR_BA_MASK)
  29198. /*! @} */
  29199. /* The count of SEMC_BR */
  29200. #define SEMC_BR_COUNT (9U)
  29201. /*! @name INTEN - Interrupt Enable Register */
  29202. /*! @{ */
  29203. #define SEMC_INTEN_IPCMDDONEEN_MASK (0x1U)
  29204. #define SEMC_INTEN_IPCMDDONEEN_SHIFT (0U)
  29205. /*! IPCMDDONEEN - IP command done interrupt enable
  29206. * 0b0..Interrupt is disabled
  29207. * 0b1..Interrupt is enabled
  29208. */
  29209. #define SEMC_INTEN_IPCMDDONEEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_IPCMDDONEEN_SHIFT)) & SEMC_INTEN_IPCMDDONEEN_MASK)
  29210. #define SEMC_INTEN_IPCMDERREN_MASK (0x2U)
  29211. #define SEMC_INTEN_IPCMDERREN_SHIFT (1U)
  29212. /*! IPCMDERREN - IP command error interrupt enable
  29213. * 0b0..Interrupt is disabled
  29214. * 0b1..Interrupt is enabled
  29215. */
  29216. #define SEMC_INTEN_IPCMDERREN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_IPCMDERREN_SHIFT)) & SEMC_INTEN_IPCMDERREN_MASK)
  29217. #define SEMC_INTEN_AXICMDERREN_MASK (0x4U)
  29218. #define SEMC_INTEN_AXICMDERREN_SHIFT (2U)
  29219. /*! AXICMDERREN - AXI command error interrupt enable
  29220. * 0b0..Interrupt is disabled
  29221. * 0b1..Interrupt is enabled
  29222. */
  29223. #define SEMC_INTEN_AXICMDERREN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_AXICMDERREN_SHIFT)) & SEMC_INTEN_AXICMDERREN_MASK)
  29224. #define SEMC_INTEN_AXIBUSERREN_MASK (0x8U)
  29225. #define SEMC_INTEN_AXIBUSERREN_SHIFT (3U)
  29226. /*! AXIBUSERREN - AXI bus error interrupt enable
  29227. * 0b0..Interrupt is disabled
  29228. * 0b1..Interrupt is enabled
  29229. */
  29230. #define SEMC_INTEN_AXIBUSERREN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_AXIBUSERREN_SHIFT)) & SEMC_INTEN_AXIBUSERREN_MASK)
  29231. #define SEMC_INTEN_NDPAGEENDEN_MASK (0x10U)
  29232. #define SEMC_INTEN_NDPAGEENDEN_SHIFT (4U)
  29233. /*! NDPAGEENDEN - NAND page end interrupt enable
  29234. * 0b0..Interrupt is disabled
  29235. * 0b1..Interrupt is enabled
  29236. */
  29237. #define SEMC_INTEN_NDPAGEENDEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_NDPAGEENDEN_SHIFT)) & SEMC_INTEN_NDPAGEENDEN_MASK)
  29238. #define SEMC_INTEN_NDNOPENDEN_MASK (0x20U)
  29239. #define SEMC_INTEN_NDNOPENDEN_SHIFT (5U)
  29240. /*! NDNOPENDEN - NAND no pending AXI access interrupt enable
  29241. * 0b0..Interrupt is disabled
  29242. * 0b1..Interrupt is enabled
  29243. */
  29244. #define SEMC_INTEN_NDNOPENDEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_NDNOPENDEN_SHIFT)) & SEMC_INTEN_NDNOPENDEN_MASK)
  29245. /*! @} */
  29246. /*! @name INTR - Interrupt Register */
  29247. /*! @{ */
  29248. #define SEMC_INTR_IPCMDDONE_MASK (0x1U)
  29249. #define SEMC_INTR_IPCMDDONE_SHIFT (0U)
  29250. /*! IPCMDDONE - IP command normal done interrupt
  29251. * 0b0..IP command is not done.
  29252. * 0b1..IP command is done.
  29253. */
  29254. #define SEMC_INTR_IPCMDDONE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_IPCMDDONE_SHIFT)) & SEMC_INTR_IPCMDDONE_MASK)
  29255. #define SEMC_INTR_IPCMDERR_MASK (0x2U)
  29256. #define SEMC_INTR_IPCMDERR_SHIFT (1U)
  29257. /*! IPCMDERR - IP command error done interrupt
  29258. * 0b0..No IP command error.
  29259. * 0b1..IP command error occurs.
  29260. */
  29261. #define SEMC_INTR_IPCMDERR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_IPCMDERR_SHIFT)) & SEMC_INTR_IPCMDERR_MASK)
  29262. #define SEMC_INTR_AXICMDERR_MASK (0x4U)
  29263. #define SEMC_INTR_AXICMDERR_SHIFT (2U)
  29264. /*! AXICMDERR - AXI command error interrupt
  29265. * 0b0..No AXI command error.
  29266. * 0b1..AXI command error occurs.
  29267. */
  29268. #define SEMC_INTR_AXICMDERR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_AXICMDERR_SHIFT)) & SEMC_INTR_AXICMDERR_MASK)
  29269. #define SEMC_INTR_AXIBUSERR_MASK (0x8U)
  29270. #define SEMC_INTR_AXIBUSERR_SHIFT (3U)
  29271. /*! AXIBUSERR - AXI bus error interrupt
  29272. * 0b0..No AXI bus error.
  29273. * 0b1..AXI bus error occurs.
  29274. */
  29275. #define SEMC_INTR_AXIBUSERR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_AXIBUSERR_SHIFT)) & SEMC_INTR_AXIBUSERR_MASK)
  29276. #define SEMC_INTR_NDPAGEEND_MASK (0x10U)
  29277. #define SEMC_INTR_NDPAGEEND_SHIFT (4U)
  29278. /*! NDPAGEEND - NAND page end interrupt
  29279. * 0b0..The last address of main space in the NAND is not written by AXI command.
  29280. * 0b1..The last address of main space in the NAND is written by AXI command.
  29281. */
  29282. #define SEMC_INTR_NDPAGEEND(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_NDPAGEEND_SHIFT)) & SEMC_INTR_NDPAGEEND_MASK)
  29283. #define SEMC_INTR_NDNOPEND_MASK (0x20U)
  29284. #define SEMC_INTR_NDNOPEND_SHIFT (5U)
  29285. /*! NDNOPEND - NAND no pending AXI write transaction interrupt
  29286. * 0b0..At least one NAND AXI write transaction is pending or no NAND write transaction is sent to the queue.
  29287. * 0b1..All NAND AXI write pending transactions are finished.
  29288. */
  29289. #define SEMC_INTR_NDNOPEND(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_NDNOPEND_SHIFT)) & SEMC_INTR_NDNOPEND_MASK)
  29290. /*! @} */
  29291. /*! @name SDRAMCR0 - SDRAM Control Register 0 */
  29292. /*! @{ */
  29293. #define SEMC_SDRAMCR0_PS_MASK (0x1U)
  29294. #define SEMC_SDRAMCR0_PS_SHIFT (0U)
  29295. /*! PS - Port Size
  29296. * 0b0..8bit
  29297. * 0b1..16bit
  29298. */
  29299. #define SEMC_SDRAMCR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_PS_SHIFT)) & SEMC_SDRAMCR0_PS_MASK)
  29300. #define SEMC_SDRAMCR0_BL_MASK (0x70U)
  29301. #define SEMC_SDRAMCR0_BL_SHIFT (4U)
  29302. /*! BL - Burst Length
  29303. * 0b000..1
  29304. * 0b001..2
  29305. * 0b010..4
  29306. * 0b011..8
  29307. * 0b100..8
  29308. * 0b101..8
  29309. * 0b110..8
  29310. * 0b111..8
  29311. */
  29312. #define SEMC_SDRAMCR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_BL_SHIFT)) & SEMC_SDRAMCR0_BL_MASK)
  29313. #define SEMC_SDRAMCR0_COL_MASK (0x300U)
  29314. #define SEMC_SDRAMCR0_COL_SHIFT (8U)
  29315. /*! COL - Column address bit number
  29316. * 0b00..12
  29317. * 0b01..11
  29318. * 0b10..10
  29319. * 0b11..9
  29320. */
  29321. #define SEMC_SDRAMCR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_COL_SHIFT)) & SEMC_SDRAMCR0_COL_MASK)
  29322. #define SEMC_SDRAMCR0_CL_MASK (0xC00U)
  29323. #define SEMC_SDRAMCR0_CL_SHIFT (10U)
  29324. /*! CL - CAS Latency
  29325. * 0b00..1
  29326. * 0b01..1
  29327. * 0b10..2
  29328. * 0b11..3
  29329. */
  29330. #define SEMC_SDRAMCR0_CL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_CL_SHIFT)) & SEMC_SDRAMCR0_CL_MASK)
  29331. /*! @} */
  29332. /*! @name SDRAMCR1 - SDRAM Control Register 1 */
  29333. /*! @{ */
  29334. #define SEMC_SDRAMCR1_PRE2ACT_MASK (0xFU)
  29335. #define SEMC_SDRAMCR1_PRE2ACT_SHIFT (0U)
  29336. /*! PRE2ACT - PRECHARGE to ACTIVE/REFRESH command wait time
  29337. */
  29338. #define SEMC_SDRAMCR1_PRE2ACT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_PRE2ACT_SHIFT)) & SEMC_SDRAMCR1_PRE2ACT_MASK)
  29339. #define SEMC_SDRAMCR1_ACT2RW_MASK (0xF0U)
  29340. #define SEMC_SDRAMCR1_ACT2RW_SHIFT (4U)
  29341. /*! ACT2RW - ACTIVE to READ/WRITE delay
  29342. */
  29343. #define SEMC_SDRAMCR1_ACT2RW(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_ACT2RW_SHIFT)) & SEMC_SDRAMCR1_ACT2RW_MASK)
  29344. #define SEMC_SDRAMCR1_RFRC_MASK (0x1F00U)
  29345. #define SEMC_SDRAMCR1_RFRC_SHIFT (8U)
  29346. /*! RFRC - REFRESH recovery time
  29347. */
  29348. #define SEMC_SDRAMCR1_RFRC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_RFRC_SHIFT)) & SEMC_SDRAMCR1_RFRC_MASK)
  29349. #define SEMC_SDRAMCR1_WRC_MASK (0xE000U)
  29350. #define SEMC_SDRAMCR1_WRC_SHIFT (13U)
  29351. /*! WRC - WRITE recovery time
  29352. */
  29353. #define SEMC_SDRAMCR1_WRC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_WRC_SHIFT)) & SEMC_SDRAMCR1_WRC_MASK)
  29354. #define SEMC_SDRAMCR1_CKEOFF_MASK (0xF0000U)
  29355. #define SEMC_SDRAMCR1_CKEOFF_SHIFT (16U)
  29356. /*! CKEOFF - CKE off minimum time
  29357. */
  29358. #define SEMC_SDRAMCR1_CKEOFF(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_CKEOFF_SHIFT)) & SEMC_SDRAMCR1_CKEOFF_MASK)
  29359. #define SEMC_SDRAMCR1_ACT2PRE_MASK (0xF00000U)
  29360. #define SEMC_SDRAMCR1_ACT2PRE_SHIFT (20U)
  29361. /*! ACT2PRE - ACTIVE to PRECHARGE minimum time
  29362. */
  29363. #define SEMC_SDRAMCR1_ACT2PRE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_ACT2PRE_SHIFT)) & SEMC_SDRAMCR1_ACT2PRE_MASK)
  29364. /*! @} */
  29365. /*! @name SDRAMCR2 - SDRAM Control Register 2 */
  29366. /*! @{ */
  29367. #define SEMC_SDRAMCR2_SRRC_MASK (0xFFU)
  29368. #define SEMC_SDRAMCR2_SRRC_SHIFT (0U)
  29369. /*! SRRC - SELF REFRESH recovery time
  29370. */
  29371. #define SEMC_SDRAMCR2_SRRC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR2_SRRC_SHIFT)) & SEMC_SDRAMCR2_SRRC_MASK)
  29372. #define SEMC_SDRAMCR2_REF2REF_MASK (0xFF00U)
  29373. #define SEMC_SDRAMCR2_REF2REF_SHIFT (8U)
  29374. /*! REF2REF - REFRESH to REFRESH delay
  29375. */
  29376. #define SEMC_SDRAMCR2_REF2REF(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR2_REF2REF_SHIFT)) & SEMC_SDRAMCR2_REF2REF_MASK)
  29377. #define SEMC_SDRAMCR2_ACT2ACT_MASK (0xFF0000U)
  29378. #define SEMC_SDRAMCR2_ACT2ACT_SHIFT (16U)
  29379. /*! ACT2ACT - ACTIVE to ACTIVE delay
  29380. */
  29381. #define SEMC_SDRAMCR2_ACT2ACT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR2_ACT2ACT_SHIFT)) & SEMC_SDRAMCR2_ACT2ACT_MASK)
  29382. #define SEMC_SDRAMCR2_ITO_MASK (0xFF000000U)
  29383. #define SEMC_SDRAMCR2_ITO_SHIFT (24U)
  29384. /*! ITO - SDRAM idle timeout
  29385. * 0b00000000..IDLE timeout period is 256*Prescale period.
  29386. * 0b00000001-0b11111111..IDLE timeout period is ITO*Prescale period.
  29387. */
  29388. #define SEMC_SDRAMCR2_ITO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR2_ITO_SHIFT)) & SEMC_SDRAMCR2_ITO_MASK)
  29389. /*! @} */
  29390. /*! @name SDRAMCR3 - SDRAM Control Register 3 */
  29391. /*! @{ */
  29392. #define SEMC_SDRAMCR3_REN_MASK (0x1U)
  29393. #define SEMC_SDRAMCR3_REN_SHIFT (0U)
  29394. /*! REN - Refresh enable
  29395. * 0b0..The SEMC does not send AUTO REFRESH command automatically
  29396. * 0b1..The SEMC sends AUTO REFRESH command automatically
  29397. */
  29398. #define SEMC_SDRAMCR3_REN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_REN_SHIFT)) & SEMC_SDRAMCR3_REN_MASK)
  29399. #define SEMC_SDRAMCR3_REBL_MASK (0xEU)
  29400. #define SEMC_SDRAMCR3_REBL_SHIFT (1U)
  29401. /*! REBL - Refresh burst length
  29402. * 0b000..1
  29403. * 0b001..2
  29404. * 0b010..3
  29405. * 0b011..4
  29406. * 0b100..5
  29407. * 0b101..6
  29408. * 0b110..7
  29409. * 0b111..8
  29410. */
  29411. #define SEMC_SDRAMCR3_REBL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_REBL_SHIFT)) & SEMC_SDRAMCR3_REBL_MASK)
  29412. #define SEMC_SDRAMCR3_PRESCALE_MASK (0xFF00U)
  29413. #define SEMC_SDRAMCR3_PRESCALE_SHIFT (8U)
  29414. /*! PRESCALE - Prescaler period
  29415. * 0b00000000..(256*16+1) clock cycles
  29416. * 0b00000001-0b11111111..(PRESCALE*16+1) clock cycles
  29417. */
  29418. #define SEMC_SDRAMCR3_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_PRESCALE_SHIFT)) & SEMC_SDRAMCR3_PRESCALE_MASK)
  29419. #define SEMC_SDRAMCR3_RT_MASK (0xFF0000U)
  29420. #define SEMC_SDRAMCR3_RT_SHIFT (16U)
  29421. /*! RT - Refresh timer period
  29422. * 0b00000000..(256+1)*(Prescaler period)
  29423. * 0b00000001-0b11111111..(RT+1)*(Prescaler period)
  29424. */
  29425. #define SEMC_SDRAMCR3_RT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_RT_SHIFT)) & SEMC_SDRAMCR3_RT_MASK)
  29426. #define SEMC_SDRAMCR3_UT_MASK (0xFF000000U)
  29427. #define SEMC_SDRAMCR3_UT_SHIFT (24U)
  29428. /*! UT - Urgent refresh threshold
  29429. * 0b00000000..256*(Prescaler period)
  29430. * 0b00000001-0b11111111..UT*(Prescaler period)
  29431. */
  29432. #define SEMC_SDRAMCR3_UT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_UT_SHIFT)) & SEMC_SDRAMCR3_UT_MASK)
  29433. /*! @} */
  29434. /*! @name NANDCR0 - NAND Control Register 0 */
  29435. /*! @{ */
  29436. #define SEMC_NANDCR0_PS_MASK (0x1U)
  29437. #define SEMC_NANDCR0_PS_SHIFT (0U)
  29438. /*! PS - Port Size
  29439. * 0b0..8bit
  29440. * 0b1..16bit
  29441. */
  29442. #define SEMC_NANDCR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR0_PS_SHIFT)) & SEMC_NANDCR0_PS_MASK)
  29443. #define SEMC_NANDCR0_BL_MASK (0x70U)
  29444. #define SEMC_NANDCR0_BL_SHIFT (4U)
  29445. /*! BL - Burst Length
  29446. * 0b000..1
  29447. * 0b001..2
  29448. * 0b010..4
  29449. * 0b011..8
  29450. * 0b100..16
  29451. * 0b101..32
  29452. * 0b110..64
  29453. * 0b111..64
  29454. */
  29455. #define SEMC_NANDCR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR0_BL_SHIFT)) & SEMC_NANDCR0_BL_MASK)
  29456. #define SEMC_NANDCR0_EDO_MASK (0x80U)
  29457. #define SEMC_NANDCR0_EDO_SHIFT (7U)
  29458. /*! EDO - EDO mode enabled
  29459. * 0b0..EDO mode disabled
  29460. * 0b1..EDO mode enabled
  29461. */
  29462. #define SEMC_NANDCR0_EDO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR0_EDO_SHIFT)) & SEMC_NANDCR0_EDO_MASK)
  29463. #define SEMC_NANDCR0_COL_MASK (0x700U)
  29464. #define SEMC_NANDCR0_COL_SHIFT (8U)
  29465. /*! COL - Column address bit number
  29466. * 0b000..16
  29467. * 0b001..15
  29468. * 0b010..14
  29469. * 0b011..13
  29470. * 0b100..12
  29471. * 0b101..11
  29472. * 0b110..10
  29473. * 0b111..9
  29474. */
  29475. #define SEMC_NANDCR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR0_COL_SHIFT)) & SEMC_NANDCR0_COL_MASK)
  29476. /*! @} */
  29477. /*! @name NANDCR1 - NAND Control Register 1 */
  29478. /*! @{ */
  29479. #define SEMC_NANDCR1_CES_MASK (0xFU)
  29480. #define SEMC_NANDCR1_CES_SHIFT (0U)
  29481. /*! CES - CE# setup time
  29482. */
  29483. #define SEMC_NANDCR1_CES(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_CES_SHIFT)) & SEMC_NANDCR1_CES_MASK)
  29484. #define SEMC_NANDCR1_CEH_MASK (0xF0U)
  29485. #define SEMC_NANDCR1_CEH_SHIFT (4U)
  29486. /*! CEH - CE# hold time
  29487. */
  29488. #define SEMC_NANDCR1_CEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_CEH_SHIFT)) & SEMC_NANDCR1_CEH_MASK)
  29489. #define SEMC_NANDCR1_WEL_MASK (0xF00U)
  29490. #define SEMC_NANDCR1_WEL_SHIFT (8U)
  29491. /*! WEL - WE# low time
  29492. */
  29493. #define SEMC_NANDCR1_WEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_WEL_SHIFT)) & SEMC_NANDCR1_WEL_MASK)
  29494. #define SEMC_NANDCR1_WEH_MASK (0xF000U)
  29495. #define SEMC_NANDCR1_WEH_SHIFT (12U)
  29496. /*! WEH - WE# high time
  29497. */
  29498. #define SEMC_NANDCR1_WEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_WEH_SHIFT)) & SEMC_NANDCR1_WEH_MASK)
  29499. #define SEMC_NANDCR1_REL_MASK (0xF0000U)
  29500. #define SEMC_NANDCR1_REL_SHIFT (16U)
  29501. /*! REL - RE# low time
  29502. */
  29503. #define SEMC_NANDCR1_REL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_REL_SHIFT)) & SEMC_NANDCR1_REL_MASK)
  29504. #define SEMC_NANDCR1_REH_MASK (0xF00000U)
  29505. #define SEMC_NANDCR1_REH_SHIFT (20U)
  29506. /*! REH - RE# high time
  29507. */
  29508. #define SEMC_NANDCR1_REH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_REH_SHIFT)) & SEMC_NANDCR1_REH_MASK)
  29509. #define SEMC_NANDCR1_TA_MASK (0xF000000U)
  29510. #define SEMC_NANDCR1_TA_SHIFT (24U)
  29511. /*! TA - Turnaround time
  29512. */
  29513. #define SEMC_NANDCR1_TA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_TA_SHIFT)) & SEMC_NANDCR1_TA_MASK)
  29514. #define SEMC_NANDCR1_CEITV_MASK (0xF0000000U)
  29515. #define SEMC_NANDCR1_CEITV_SHIFT (28U)
  29516. /*! CEITV - CE# interval time
  29517. */
  29518. #define SEMC_NANDCR1_CEITV(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_CEITV_SHIFT)) & SEMC_NANDCR1_CEITV_MASK)
  29519. /*! @} */
  29520. /*! @name NANDCR2 - NAND Control Register 2 */
  29521. /*! @{ */
  29522. #define SEMC_NANDCR2_TWHR_MASK (0x3FU)
  29523. #define SEMC_NANDCR2_TWHR_SHIFT (0U)
  29524. /*! TWHR - WE# high to RE# low time
  29525. */
  29526. #define SEMC_NANDCR2_TWHR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TWHR_SHIFT)) & SEMC_NANDCR2_TWHR_MASK)
  29527. #define SEMC_NANDCR2_TRHW_MASK (0xFC0U)
  29528. #define SEMC_NANDCR2_TRHW_SHIFT (6U)
  29529. /*! TRHW - RE# high to WE# low time
  29530. */
  29531. #define SEMC_NANDCR2_TRHW(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TRHW_SHIFT)) & SEMC_NANDCR2_TRHW_MASK)
  29532. #define SEMC_NANDCR2_TADL_MASK (0x3F000U)
  29533. #define SEMC_NANDCR2_TADL_SHIFT (12U)
  29534. /*! TADL - Address cycle to data loading time
  29535. */
  29536. #define SEMC_NANDCR2_TADL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TADL_SHIFT)) & SEMC_NANDCR2_TADL_MASK)
  29537. #define SEMC_NANDCR2_TRR_MASK (0xFC0000U)
  29538. #define SEMC_NANDCR2_TRR_SHIFT (18U)
  29539. /*! TRR - Ready to RE# low time
  29540. */
  29541. #define SEMC_NANDCR2_TRR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TRR_SHIFT)) & SEMC_NANDCR2_TRR_MASK)
  29542. #define SEMC_NANDCR2_TWB_MASK (0x3F000000U)
  29543. #define SEMC_NANDCR2_TWB_SHIFT (24U)
  29544. /*! TWB - WE# high to busy time
  29545. */
  29546. #define SEMC_NANDCR2_TWB(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TWB_SHIFT)) & SEMC_NANDCR2_TWB_MASK)
  29547. /*! @} */
  29548. /*! @name NANDCR3 - NAND Control Register 3 */
  29549. /*! @{ */
  29550. #define SEMC_NANDCR3_NDOPT1_MASK (0x1U)
  29551. #define SEMC_NANDCR3_NDOPT1_SHIFT (0U)
  29552. /*! NDOPT1 - NAND option bit 1
  29553. */
  29554. #define SEMC_NANDCR3_NDOPT1(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_NDOPT1_SHIFT)) & SEMC_NANDCR3_NDOPT1_MASK)
  29555. #define SEMC_NANDCR3_NDOPT2_MASK (0x2U)
  29556. #define SEMC_NANDCR3_NDOPT2_SHIFT (1U)
  29557. /*! NDOPT2 - NAND option bit 2
  29558. */
  29559. #define SEMC_NANDCR3_NDOPT2(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_NDOPT2_SHIFT)) & SEMC_NANDCR3_NDOPT2_MASK)
  29560. #define SEMC_NANDCR3_NDOPT3_MASK (0x4U)
  29561. #define SEMC_NANDCR3_NDOPT3_SHIFT (2U)
  29562. /*! NDOPT3 - NAND option bit 3
  29563. */
  29564. #define SEMC_NANDCR3_NDOPT3(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_NDOPT3_SHIFT)) & SEMC_NANDCR3_NDOPT3_MASK)
  29565. /*! @} */
  29566. /*! @name NORCR0 - NOR Control Register 0 */
  29567. /*! @{ */
  29568. #define SEMC_NORCR0_PS_MASK (0x1U)
  29569. #define SEMC_NORCR0_PS_SHIFT (0U)
  29570. /*! PS - Port Size
  29571. * 0b0..8bit
  29572. * 0b1..16bit
  29573. */
  29574. #define SEMC_NORCR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_PS_SHIFT)) & SEMC_NORCR0_PS_MASK)
  29575. #define SEMC_NORCR0_BL_MASK (0x70U)
  29576. #define SEMC_NORCR0_BL_SHIFT (4U)
  29577. /*! BL - Burst Length
  29578. * 0b000..1
  29579. * 0b001..2
  29580. * 0b010..4
  29581. * 0b011..8
  29582. * 0b100..16
  29583. * 0b101..32
  29584. * 0b110..64
  29585. * 0b111..64
  29586. */
  29587. #define SEMC_NORCR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_BL_SHIFT)) & SEMC_NORCR0_BL_MASK)
  29588. #define SEMC_NORCR0_AM_MASK (0x300U)
  29589. #define SEMC_NORCR0_AM_SHIFT (8U)
  29590. /*! AM - Address Mode
  29591. * 0b00..Address/Data MUX mode (ADMUX)
  29592. * 0b01..Advanced Address/Data MUX mode (AADM)
  29593. * 0b10..Reserved
  29594. * 0b11..Reserved
  29595. */
  29596. #define SEMC_NORCR0_AM(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_AM_SHIFT)) & SEMC_NORCR0_AM_MASK)
  29597. #define SEMC_NORCR0_ADVP_MASK (0x400U)
  29598. #define SEMC_NORCR0_ADVP_SHIFT (10U)
  29599. /*! ADVP - ADV# Polarity
  29600. * 0b0..ADV# is active low.
  29601. * 0b1..ADV# is active high.
  29602. */
  29603. #define SEMC_NORCR0_ADVP(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_ADVP_SHIFT)) & SEMC_NORCR0_ADVP_MASK)
  29604. #define SEMC_NORCR0_COL_MASK (0xF000U)
  29605. #define SEMC_NORCR0_COL_SHIFT (12U)
  29606. /*! COL - Column Address bit width
  29607. * 0b0000..12 Bits
  29608. * 0b0001..11 Bits
  29609. * 0b0010..10 Bits
  29610. * 0b0011..9 Bits
  29611. * 0b0100..8 Bits
  29612. * 0b0101..7 Bits
  29613. * 0b0110..6 Bits
  29614. * 0b0111..5 Bits
  29615. * 0b1000..4 Bits
  29616. * 0b1001..3 Bits
  29617. * 0b1010..2 Bits
  29618. * 0b1011..12 Bits
  29619. * 0b1100..12 Bits
  29620. * 0b1101..12 Bits
  29621. * 0b1110..12 Bits
  29622. * 0b1111..12 Bits
  29623. */
  29624. #define SEMC_NORCR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_COL_SHIFT)) & SEMC_NORCR0_COL_MASK)
  29625. /*! @} */
  29626. /*! @name NORCR1 - NOR Control Register 1 */
  29627. /*! @{ */
  29628. #define SEMC_NORCR1_CES_MASK (0xFU)
  29629. #define SEMC_NORCR1_CES_SHIFT (0U)
  29630. /*! CES - CE setup time
  29631. */
  29632. #define SEMC_NORCR1_CES(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_CES_SHIFT)) & SEMC_NORCR1_CES_MASK)
  29633. #define SEMC_NORCR1_CEH_MASK (0xF0U)
  29634. #define SEMC_NORCR1_CEH_SHIFT (4U)
  29635. /*! CEH - CE hold time
  29636. */
  29637. #define SEMC_NORCR1_CEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_CEH_SHIFT)) & SEMC_NORCR1_CEH_MASK)
  29638. #define SEMC_NORCR1_AS_MASK (0xF00U)
  29639. #define SEMC_NORCR1_AS_SHIFT (8U)
  29640. /*! AS - Address setup time
  29641. */
  29642. #define SEMC_NORCR1_AS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_AS_SHIFT)) & SEMC_NORCR1_AS_MASK)
  29643. #define SEMC_NORCR1_AH_MASK (0xF000U)
  29644. #define SEMC_NORCR1_AH_SHIFT (12U)
  29645. /*! AH - Address hold time
  29646. */
  29647. #define SEMC_NORCR1_AH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_AH_SHIFT)) & SEMC_NORCR1_AH_MASK)
  29648. #define SEMC_NORCR1_WEL_MASK (0xF0000U)
  29649. #define SEMC_NORCR1_WEL_SHIFT (16U)
  29650. /*! WEL - WE low time
  29651. */
  29652. #define SEMC_NORCR1_WEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_WEL_SHIFT)) & SEMC_NORCR1_WEL_MASK)
  29653. #define SEMC_NORCR1_WEH_MASK (0xF00000U)
  29654. #define SEMC_NORCR1_WEH_SHIFT (20U)
  29655. /*! WEH - WE high time
  29656. */
  29657. #define SEMC_NORCR1_WEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_WEH_SHIFT)) & SEMC_NORCR1_WEH_MASK)
  29658. #define SEMC_NORCR1_REL_MASK (0xF000000U)
  29659. #define SEMC_NORCR1_REL_SHIFT (24U)
  29660. /*! REL - RE low time
  29661. */
  29662. #define SEMC_NORCR1_REL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_REL_SHIFT)) & SEMC_NORCR1_REL_MASK)
  29663. #define SEMC_NORCR1_REH_MASK (0xF0000000U)
  29664. #define SEMC_NORCR1_REH_SHIFT (28U)
  29665. /*! REH - RE high time
  29666. */
  29667. #define SEMC_NORCR1_REH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_REH_SHIFT)) & SEMC_NORCR1_REH_MASK)
  29668. /*! @} */
  29669. /*! @name NORCR2 - NOR Control Register 2 */
  29670. /*! @{ */
  29671. #define SEMC_NORCR2_TA_MASK (0xF00U)
  29672. #define SEMC_NORCR2_TA_SHIFT (8U)
  29673. /*! TA - Turnaround time
  29674. */
  29675. #define SEMC_NORCR2_TA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_TA_SHIFT)) & SEMC_NORCR2_TA_MASK)
  29676. #define SEMC_NORCR2_AWDH_MASK (0xF000U)
  29677. #define SEMC_NORCR2_AWDH_SHIFT (12U)
  29678. /*! AWDH - Address to write data hold time
  29679. */
  29680. #define SEMC_NORCR2_AWDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_AWDH_SHIFT)) & SEMC_NORCR2_AWDH_MASK)
  29681. #define SEMC_NORCR2_CEITV_MASK (0xF000000U)
  29682. #define SEMC_NORCR2_CEITV_SHIFT (24U)
  29683. /*! CEITV - CE# interval time
  29684. */
  29685. #define SEMC_NORCR2_CEITV(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_CEITV_SHIFT)) & SEMC_NORCR2_CEITV_MASK)
  29686. /*! @} */
  29687. /*! @name SRAMCR0 - SRAM Control Register 0 */
  29688. /*! @{ */
  29689. #define SEMC_SRAMCR0_PS_MASK (0x1U)
  29690. #define SEMC_SRAMCR0_PS_SHIFT (0U)
  29691. /*! PS - Port Size
  29692. * 0b0..8bit
  29693. * 0b1..16bit
  29694. */
  29695. #define SEMC_SRAMCR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_PS_SHIFT)) & SEMC_SRAMCR0_PS_MASK)
  29696. #define SEMC_SRAMCR0_WAITEN_MASK (0x4U)
  29697. #define SEMC_SRAMCR0_WAITEN_SHIFT (2U)
  29698. /*! WAITEN - Wait Enable
  29699. * 0b0..The SEMC does not monitor wait pin.
  29700. * 0b1..The SEMC monitors wait pin. The SEMC does not transfer/receive data when wait pin is asserted.
  29701. */
  29702. #define SEMC_SRAMCR0_WAITEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_WAITEN_SHIFT)) & SEMC_SRAMCR0_WAITEN_MASK)
  29703. #define SEMC_SRAMCR0_WAITSP_MASK (0x8U)
  29704. #define SEMC_SRAMCR0_WAITSP_SHIFT (3U)
  29705. /*! WAITSP - Wait Sample
  29706. * 0b0..Wait pin is directly used by the SEMC.
  29707. * 0b1..Wait pin is sampled by internal clock before it is used.
  29708. */
  29709. #define SEMC_SRAMCR0_WAITSP(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_WAITSP_SHIFT)) & SEMC_SRAMCR0_WAITSP_MASK)
  29710. #define SEMC_SRAMCR0_BL_MASK (0x70U)
  29711. #define SEMC_SRAMCR0_BL_SHIFT (4U)
  29712. /*! BL - Burst Length
  29713. * 0b000..1
  29714. * 0b001..2
  29715. * 0b010..4
  29716. * 0b011..8
  29717. * 0b100..16
  29718. * 0b101..32
  29719. * 0b110..64
  29720. * 0b111..64
  29721. */
  29722. #define SEMC_SRAMCR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_BL_SHIFT)) & SEMC_SRAMCR0_BL_MASK)
  29723. #define SEMC_SRAMCR0_AM_MASK (0x300U)
  29724. #define SEMC_SRAMCR0_AM_SHIFT (8U)
  29725. /*! AM - Address Mode
  29726. * 0b00..Address/Data MUX mode (ADMUX)
  29727. * 0b01..Advanced Address/Data MUX mode (AADM)
  29728. * 0b10..Reserved
  29729. * 0b11..Reserved
  29730. */
  29731. #define SEMC_SRAMCR0_AM(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_AM_SHIFT)) & SEMC_SRAMCR0_AM_MASK)
  29732. #define SEMC_SRAMCR0_ADVP_MASK (0x400U)
  29733. #define SEMC_SRAMCR0_ADVP_SHIFT (10U)
  29734. /*! ADVP - ADV# polarity
  29735. * 0b0..ADV# is active low.
  29736. * 0b1..ADV# is active high.
  29737. */
  29738. #define SEMC_SRAMCR0_ADVP(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_ADVP_SHIFT)) & SEMC_SRAMCR0_ADVP_MASK)
  29739. #define SEMC_SRAMCR0_COL_MASK (0xF000U)
  29740. #define SEMC_SRAMCR0_COL_SHIFT (12U)
  29741. /*! COL - Column Address bit width
  29742. * 0b0000..12 Bits
  29743. * 0b0001..11 Bits
  29744. * 0b0010..10 Bits
  29745. * 0b0011..9 Bits
  29746. * 0b0100..8 Bits
  29747. * 0b0101..7 Bits
  29748. * 0b0110..6 Bits
  29749. * 0b0111..5 Bits
  29750. * 0b1000..4 Bits
  29751. * 0b1001..3 Bits
  29752. * 0b1010..2 Bits
  29753. * 0b1011..12 Bits
  29754. * 0b1100..12 Bits
  29755. * 0b1101..12 Bits
  29756. * 0b1110..12 Bits
  29757. * 0b1111..12 Bits
  29758. */
  29759. #define SEMC_SRAMCR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_COL_SHIFT)) & SEMC_SRAMCR0_COL_MASK)
  29760. /*! @} */
  29761. /*! @name SRAMCR1 - SRAM Control Register 1 */
  29762. /*! @{ */
  29763. #define SEMC_SRAMCR1_CES_MASK (0xFU)
  29764. #define SEMC_SRAMCR1_CES_SHIFT (0U)
  29765. /*! CES - CE setup time
  29766. */
  29767. #define SEMC_SRAMCR1_CES(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_CES_SHIFT)) & SEMC_SRAMCR1_CES_MASK)
  29768. #define SEMC_SRAMCR1_CEH_MASK (0xF0U)
  29769. #define SEMC_SRAMCR1_CEH_SHIFT (4U)
  29770. /*! CEH - CE hold time
  29771. */
  29772. #define SEMC_SRAMCR1_CEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_CEH_SHIFT)) & SEMC_SRAMCR1_CEH_MASK)
  29773. #define SEMC_SRAMCR1_AS_MASK (0xF00U)
  29774. #define SEMC_SRAMCR1_AS_SHIFT (8U)
  29775. /*! AS - Address setup time
  29776. */
  29777. #define SEMC_SRAMCR1_AS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_AS_SHIFT)) & SEMC_SRAMCR1_AS_MASK)
  29778. #define SEMC_SRAMCR1_AH_MASK (0xF000U)
  29779. #define SEMC_SRAMCR1_AH_SHIFT (12U)
  29780. /*! AH - Address hold time
  29781. */
  29782. #define SEMC_SRAMCR1_AH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_AH_SHIFT)) & SEMC_SRAMCR1_AH_MASK)
  29783. #define SEMC_SRAMCR1_WEL_MASK (0xF0000U)
  29784. #define SEMC_SRAMCR1_WEL_SHIFT (16U)
  29785. /*! WEL - WE low time
  29786. */
  29787. #define SEMC_SRAMCR1_WEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_WEL_SHIFT)) & SEMC_SRAMCR1_WEL_MASK)
  29788. #define SEMC_SRAMCR1_WEH_MASK (0xF00000U)
  29789. #define SEMC_SRAMCR1_WEH_SHIFT (20U)
  29790. /*! WEH - WE high time
  29791. */
  29792. #define SEMC_SRAMCR1_WEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_WEH_SHIFT)) & SEMC_SRAMCR1_WEH_MASK)
  29793. #define SEMC_SRAMCR1_REL_MASK (0xF000000U)
  29794. #define SEMC_SRAMCR1_REL_SHIFT (24U)
  29795. /*! REL - RE low time
  29796. */
  29797. #define SEMC_SRAMCR1_REL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_REL_SHIFT)) & SEMC_SRAMCR1_REL_MASK)
  29798. #define SEMC_SRAMCR1_REH_MASK (0xF0000000U)
  29799. #define SEMC_SRAMCR1_REH_SHIFT (28U)
  29800. /*! REH - RE high time
  29801. */
  29802. #define SEMC_SRAMCR1_REH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_REH_SHIFT)) & SEMC_SRAMCR1_REH_MASK)
  29803. /*! @} */
  29804. /*! @name SRAMCR2 - SRAM Control Register 2 */
  29805. /*! @{ */
  29806. #define SEMC_SRAMCR2_TA_MASK (0xF00U)
  29807. #define SEMC_SRAMCR2_TA_SHIFT (8U)
  29808. /*! TA - Turnaround time
  29809. */
  29810. #define SEMC_SRAMCR2_TA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_TA_SHIFT)) & SEMC_SRAMCR2_TA_MASK)
  29811. #define SEMC_SRAMCR2_AWDH_MASK (0xF000U)
  29812. #define SEMC_SRAMCR2_AWDH_SHIFT (12U)
  29813. /*! AWDH - Address to write data hold time
  29814. */
  29815. #define SEMC_SRAMCR2_AWDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_AWDH_SHIFT)) & SEMC_SRAMCR2_AWDH_MASK)
  29816. #define SEMC_SRAMCR2_CEITV_MASK (0xF000000U)
  29817. #define SEMC_SRAMCR2_CEITV_SHIFT (24U)
  29818. /*! CEITV - CE# interval time
  29819. */
  29820. #define SEMC_SRAMCR2_CEITV(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_CEITV_SHIFT)) & SEMC_SRAMCR2_CEITV_MASK)
  29821. /*! @} */
  29822. /*! @name DBICR0 - DBI-B Control Register 0 */
  29823. /*! @{ */
  29824. #define SEMC_DBICR0_PS_MASK (0x1U)
  29825. #define SEMC_DBICR0_PS_SHIFT (0U)
  29826. /*! PS - Port Size
  29827. * 0b0..8bit
  29828. * 0b1..16bit
  29829. */
  29830. #define SEMC_DBICR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR0_PS_SHIFT)) & SEMC_DBICR0_PS_MASK)
  29831. #define SEMC_DBICR0_BL_MASK (0x70U)
  29832. #define SEMC_DBICR0_BL_SHIFT (4U)
  29833. /*! BL - Burst Length
  29834. * 0b000..1
  29835. * 0b001..2
  29836. * 0b010..4
  29837. * 0b011..8
  29838. * 0b100..16
  29839. * 0b101..32
  29840. * 0b110..64
  29841. * 0b111..64
  29842. */
  29843. #define SEMC_DBICR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR0_BL_SHIFT)) & SEMC_DBICR0_BL_MASK)
  29844. #define SEMC_DBICR0_COL_MASK (0xF000U)
  29845. #define SEMC_DBICR0_COL_SHIFT (12U)
  29846. /*! COL - Column Address bit width
  29847. * 0b0000..12 Bits
  29848. * 0b0001..11 Bits
  29849. * 0b0010..10 Bits
  29850. * 0b0011..9 Bits
  29851. * 0b0100..8 Bits
  29852. * 0b0101..7 Bits
  29853. * 0b0110..6 Bits
  29854. * 0b0111..5 Bits
  29855. * 0b1000..4 Bits
  29856. * 0b1001..3 Bits
  29857. * 0b1010..2 Bits
  29858. * 0b1011..12 Bits
  29859. * 0b1100..12 Bits
  29860. * 0b1101..12 Bits
  29861. * 0b1110..12 Bits
  29862. * 0b1111..12 Bits
  29863. */
  29864. #define SEMC_DBICR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR0_COL_SHIFT)) & SEMC_DBICR0_COL_MASK)
  29865. /*! @} */
  29866. /*! @name DBICR1 - DBI-B Control Register 1 */
  29867. /*! @{ */
  29868. #define SEMC_DBICR1_CES_MASK (0xFU)
  29869. #define SEMC_DBICR1_CES_SHIFT (0U)
  29870. /*! CES - CSX Setup Time
  29871. */
  29872. #define SEMC_DBICR1_CES(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_CES_SHIFT)) & SEMC_DBICR1_CES_MASK)
  29873. #define SEMC_DBICR1_CEH_MASK (0xF0U)
  29874. #define SEMC_DBICR1_CEH_SHIFT (4U)
  29875. /*! CEH - CSX Hold Time
  29876. */
  29877. #define SEMC_DBICR1_CEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_CEH_SHIFT)) & SEMC_DBICR1_CEH_MASK)
  29878. #define SEMC_DBICR1_WEL_MASK (0xF00U)
  29879. #define SEMC_DBICR1_WEL_SHIFT (8U)
  29880. /*! WEL - WRX Low Time
  29881. */
  29882. #define SEMC_DBICR1_WEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_WEL_SHIFT)) & SEMC_DBICR1_WEL_MASK)
  29883. #define SEMC_DBICR1_WEH_MASK (0xF000U)
  29884. #define SEMC_DBICR1_WEH_SHIFT (12U)
  29885. /*! WEH - WRX High Time
  29886. */
  29887. #define SEMC_DBICR1_WEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_WEH_SHIFT)) & SEMC_DBICR1_WEH_MASK)
  29888. #define SEMC_DBICR1_REL_MASK (0xF0000U)
  29889. #define SEMC_DBICR1_REL_SHIFT (16U)
  29890. /*! REL - RDX Low Time bit [3:0]
  29891. */
  29892. #define SEMC_DBICR1_REL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_REL_SHIFT)) & SEMC_DBICR1_REL_MASK)
  29893. #define SEMC_DBICR1_REH_MASK (0xF00000U)
  29894. #define SEMC_DBICR1_REH_SHIFT (20U)
  29895. /*! REH - RDX High Time bit [3:0]
  29896. */
  29897. #define SEMC_DBICR1_REH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_REH_SHIFT)) & SEMC_DBICR1_REH_MASK)
  29898. #define SEMC_DBICR1_CEITV_MASK (0xF000000U)
  29899. #define SEMC_DBICR1_CEITV_SHIFT (24U)
  29900. /*! CEITV - CSX interval time
  29901. */
  29902. #define SEMC_DBICR1_CEITV(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_CEITV_SHIFT)) & SEMC_DBICR1_CEITV_MASK)
  29903. /*! @} */
  29904. /*! @name IPCR0 - IP Command Control Register 0 */
  29905. /*! @{ */
  29906. #define SEMC_IPCR0_SA_MASK (0xFFFFFFFFU)
  29907. #define SEMC_IPCR0_SA_SHIFT (0U)
  29908. /*! SA - Slave address
  29909. */
  29910. #define SEMC_IPCR0_SA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR0_SA_SHIFT)) & SEMC_IPCR0_SA_MASK)
  29911. /*! @} */
  29912. /*! @name IPCR1 - IP Command Control Register 1 */
  29913. /*! @{ */
  29914. #define SEMC_IPCR1_DATSZ_MASK (0x7U)
  29915. #define SEMC_IPCR1_DATSZ_SHIFT (0U)
  29916. /*! DATSZ - Data Size in Byte
  29917. * 0b000..4
  29918. * 0b001..1
  29919. * 0b010..2
  29920. * 0b011..3
  29921. * 0b100..4
  29922. * 0b101..4
  29923. * 0b110..4
  29924. * 0b111..4
  29925. */
  29926. #define SEMC_IPCR1_DATSZ(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR1_DATSZ_SHIFT)) & SEMC_IPCR1_DATSZ_MASK)
  29927. /*! @} */
  29928. /*! @name IPCR2 - IP Command Control Register 2 */
  29929. /*! @{ */
  29930. #define SEMC_IPCR2_BM0_MASK (0x1U)
  29931. #define SEMC_IPCR2_BM0_SHIFT (0U)
  29932. /*! BM0 - Byte Mask for Byte 0 (IPTXDAT bit 7:0)
  29933. * 0b0..Byte is unmasked
  29934. * 0b1..Byte is masked
  29935. */
  29936. #define SEMC_IPCR2_BM0(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR2_BM0_SHIFT)) & SEMC_IPCR2_BM0_MASK)
  29937. #define SEMC_IPCR2_BM1_MASK (0x2U)
  29938. #define SEMC_IPCR2_BM1_SHIFT (1U)
  29939. /*! BM1 - Byte Mask for Byte 1 (IPTXDAT bit 15:8)
  29940. * 0b0..Byte is unmasked
  29941. * 0b1..Byte is masked
  29942. */
  29943. #define SEMC_IPCR2_BM1(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR2_BM1_SHIFT)) & SEMC_IPCR2_BM1_MASK)
  29944. #define SEMC_IPCR2_BM2_MASK (0x4U)
  29945. #define SEMC_IPCR2_BM2_SHIFT (2U)
  29946. /*! BM2 - Byte Mask for Byte 2 (IPTXDAT bit 23:16)
  29947. * 0b0..Byte is unmasked
  29948. * 0b1..Byte is masked
  29949. */
  29950. #define SEMC_IPCR2_BM2(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR2_BM2_SHIFT)) & SEMC_IPCR2_BM2_MASK)
  29951. #define SEMC_IPCR2_BM3_MASK (0x8U)
  29952. #define SEMC_IPCR2_BM3_SHIFT (3U)
  29953. /*! BM3 - Byte Mask for Byte 3 (IPTXDAT bit 31:24)
  29954. * 0b0..Byte is unmasked
  29955. * 0b1..Byte is masked
  29956. */
  29957. #define SEMC_IPCR2_BM3(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR2_BM3_SHIFT)) & SEMC_IPCR2_BM3_MASK)
  29958. /*! @} */
  29959. /*! @name IPCMD - IP Command Register */
  29960. /*! @{ */
  29961. #define SEMC_IPCMD_CMD_MASK (0xFFFFU)
  29962. #define SEMC_IPCMD_CMD_SHIFT (0U)
  29963. #define SEMC_IPCMD_CMD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCMD_CMD_SHIFT)) & SEMC_IPCMD_CMD_MASK)
  29964. #define SEMC_IPCMD_KEY_MASK (0xFFFF0000U)
  29965. #define SEMC_IPCMD_KEY_SHIFT (16U)
  29966. /*! KEY - This field should be written with 0xA55A when trigging an IP command.
  29967. */
  29968. #define SEMC_IPCMD_KEY(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCMD_KEY_SHIFT)) & SEMC_IPCMD_KEY_MASK)
  29969. /*! @} */
  29970. /*! @name IPTXDAT - TX DATA Register */
  29971. /*! @{ */
  29972. #define SEMC_IPTXDAT_DAT_MASK (0xFFFFFFFFU)
  29973. #define SEMC_IPTXDAT_DAT_SHIFT (0U)
  29974. #define SEMC_IPTXDAT_DAT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPTXDAT_DAT_SHIFT)) & SEMC_IPTXDAT_DAT_MASK)
  29975. /*! @} */
  29976. /*! @name IPRXDAT - RX DATA Register */
  29977. /*! @{ */
  29978. #define SEMC_IPRXDAT_DAT_MASK (0xFFFFFFFFU)
  29979. #define SEMC_IPRXDAT_DAT_SHIFT (0U)
  29980. #define SEMC_IPRXDAT_DAT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPRXDAT_DAT_SHIFT)) & SEMC_IPRXDAT_DAT_MASK)
  29981. /*! @} */
  29982. /*! @name STS0 - Status Register 0 */
  29983. /*! @{ */
  29984. #define SEMC_STS0_IDLE_MASK (0x1U)
  29985. #define SEMC_STS0_IDLE_SHIFT (0U)
  29986. /*! IDLE - Indicating whether the SEMC is in idle state.
  29987. */
  29988. #define SEMC_STS0_IDLE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS0_IDLE_SHIFT)) & SEMC_STS0_IDLE_MASK)
  29989. #define SEMC_STS0_NARDY_MASK (0x2U)
  29990. #define SEMC_STS0_NARDY_SHIFT (1U)
  29991. /*! NARDY - Indicating NAND device Ready/WAIT# pin level.
  29992. * 0b0..NAND device is not ready
  29993. * 0b1..NAND device is ready
  29994. */
  29995. #define SEMC_STS0_NARDY(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS0_NARDY_SHIFT)) & SEMC_STS0_NARDY_MASK)
  29996. /*! @} */
  29997. /*! @name STS2 - Status Register 2 */
  29998. /*! @{ */
  29999. #define SEMC_STS2_NDWRPEND_MASK (0x8U)
  30000. #define SEMC_STS2_NDWRPEND_SHIFT (3U)
  30001. /*! NDWRPEND - This field indicating whether there is pending AXI command (write) to NAND device.
  30002. * 0b0..No pending
  30003. * 0b1..Pending
  30004. */
  30005. #define SEMC_STS2_NDWRPEND(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS2_NDWRPEND_SHIFT)) & SEMC_STS2_NDWRPEND_MASK)
  30006. /*! @} */
  30007. /*! @name STS12 - Status Register 12 */
  30008. /*! @{ */
  30009. #define SEMC_STS12_NDADDR_MASK (0xFFFFFFFFU)
  30010. #define SEMC_STS12_NDADDR_SHIFT (0U)
  30011. /*! NDADDR - This field indicating the last write address (AXI command) to NAND device (without base address in SEMC_BR4).
  30012. */
  30013. #define SEMC_STS12_NDADDR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS12_NDADDR_SHIFT)) & SEMC_STS12_NDADDR_MASK)
  30014. /*! @} */
  30015. /*!
  30016. * @}
  30017. */ /* end of group SEMC_Register_Masks */
  30018. /* SEMC - Peripheral instance base addresses */
  30019. /** Peripheral SEMC base address */
  30020. #define SEMC_BASE (0x402F0000u)
  30021. /** Peripheral SEMC base pointer */
  30022. #define SEMC ((SEMC_Type *)SEMC_BASE)
  30023. /** Array initializer of SEMC peripheral base addresses */
  30024. #define SEMC_BASE_ADDRS { SEMC_BASE }
  30025. /** Array initializer of SEMC peripheral base pointers */
  30026. #define SEMC_BASE_PTRS { SEMC }
  30027. /** Interrupt vectors for the SEMC peripheral type */
  30028. #define SEMC_IRQS { SEMC_IRQn }
  30029. /*!
  30030. * @}
  30031. */ /* end of group SEMC_Peripheral_Access_Layer */
  30032. /* ----------------------------------------------------------------------------
  30033. -- SNVS Peripheral Access Layer
  30034. ---------------------------------------------------------------------------- */
  30035. /*!
  30036. * @addtogroup SNVS_Peripheral_Access_Layer SNVS Peripheral Access Layer
  30037. * @{
  30038. */
  30039. /** SNVS - Register Layout Typedef */
  30040. typedef struct {
  30041. __IO uint32_t HPLR; /**< SNVS_HP Lock Register, offset: 0x0 */
  30042. __IO uint32_t HPCOMR; /**< SNVS_HP Command Register, offset: 0x4 */
  30043. __IO uint32_t HPCR; /**< SNVS_HP Control Register, offset: 0x8 */
  30044. __IO uint32_t HPSICR; /**< SNVS_HP Security Interrupt Control Register, offset: 0xC */
  30045. __IO uint32_t HPSVCR; /**< SNVS_HP Security Violation Control Register, offset: 0x10 */
  30046. __IO uint32_t HPSR; /**< SNVS_HP Status Register, offset: 0x14 */
  30047. __IO uint32_t HPSVSR; /**< SNVS_HP Security Violation Status Register, offset: 0x18 */
  30048. __IO uint32_t HPHACIVR; /**< SNVS_HP High Assurance Counter IV Register, offset: 0x1C */
  30049. __I uint32_t HPHACR; /**< SNVS_HP High Assurance Counter Register, offset: 0x20 */
  30050. __IO uint32_t HPRTCMR; /**< SNVS_HP Real Time Counter MSB Register, offset: 0x24 */
  30051. __IO uint32_t HPRTCLR; /**< SNVS_HP Real Time Counter LSB Register, offset: 0x28 */
  30052. __IO uint32_t HPTAMR; /**< SNVS_HP Time Alarm MSB Register, offset: 0x2C */
  30053. __IO uint32_t HPTALR; /**< SNVS_HP Time Alarm LSB Register, offset: 0x30 */
  30054. __IO uint32_t LPLR; /**< SNVS_LP Lock Register, offset: 0x34 */
  30055. __IO uint32_t LPCR; /**< SNVS_LP Control Register, offset: 0x38 */
  30056. __IO uint32_t LPMKCR; /**< SNVS_LP Master Key Control Register, offset: 0x3C */
  30057. __IO uint32_t LPSVCR; /**< SNVS_LP Security Violation Control Register, offset: 0x40 */
  30058. uint8_t RESERVED_0[4];
  30059. __IO uint32_t LPSECR; /**< SNVS_LP Security Events Configuration Register, offset: 0x48 */
  30060. __IO uint32_t LPSR; /**< SNVS_LP Status Register, offset: 0x4C */
  30061. __IO uint32_t LPSRTCMR; /**< SNVS_LP Secure Real Time Counter MSB Register, offset: 0x50 */
  30062. __IO uint32_t LPSRTCLR; /**< SNVS_LP Secure Real Time Counter LSB Register, offset: 0x54 */
  30063. __IO uint32_t LPTAR; /**< SNVS_LP Time Alarm Register, offset: 0x58 */
  30064. __IO uint32_t LPSMCMR; /**< SNVS_LP Secure Monotonic Counter MSB Register, offset: 0x5C */
  30065. __IO uint32_t LPSMCLR; /**< SNVS_LP Secure Monotonic Counter LSB Register, offset: 0x60 */
  30066. __IO uint32_t LPLVDR; /**< SNVS_LP Digital Low-Voltage Detector Register, offset: 0x64 */
  30067. __IO uint32_t LPGPR0_LEGACY_ALIAS; /**< SNVS_LP General Purpose Register 0 (legacy alias), offset: 0x68 */
  30068. __IO uint32_t LPZMKR[8]; /**< SNVS_LP Zeroizable Master Key Register, array offset: 0x6C, array step: 0x4 */
  30069. uint8_t RESERVED_1[4];
  30070. __IO uint32_t LPGPR_ALIAS[4]; /**< SNVS_LP General Purpose Registers 0 .. 3, array offset: 0x90, array step: 0x4 */
  30071. uint8_t RESERVED_2[96];
  30072. __IO uint32_t LPGPR[8]; /**< SNVS_LP General Purpose Registers 0 .. 7, array offset: 0x100, array step: 0x4 */
  30073. uint8_t RESERVED_3[2776];
  30074. __I uint32_t HPVIDR1; /**< SNVS_HP Version ID Register 1, offset: 0xBF8 */
  30075. __I uint32_t HPVIDR2; /**< SNVS_HP Version ID Register 2, offset: 0xBFC */
  30076. } SNVS_Type;
  30077. /* ----------------------------------------------------------------------------
  30078. -- SNVS Register Masks
  30079. ---------------------------------------------------------------------------- */
  30080. /*!
  30081. * @addtogroup SNVS_Register_Masks SNVS Register Masks
  30082. * @{
  30083. */
  30084. /*! @name HPLR - SNVS_HP Lock Register */
  30085. /*! @{ */
  30086. #define SNVS_HPLR_ZMK_WSL_MASK (0x1U)
  30087. #define SNVS_HPLR_ZMK_WSL_SHIFT (0U)
  30088. /*! ZMK_WSL
  30089. * 0b0..Write access is allowed
  30090. * 0b1..Write access is not allowed
  30091. */
  30092. #define SNVS_HPLR_ZMK_WSL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_ZMK_WSL_SHIFT)) & SNVS_HPLR_ZMK_WSL_MASK)
  30093. #define SNVS_HPLR_ZMK_RSL_MASK (0x2U)
  30094. #define SNVS_HPLR_ZMK_RSL_SHIFT (1U)
  30095. /*! ZMK_RSL
  30096. * 0b0..Read access is allowed (only in software Programming mode)
  30097. * 0b1..Read access is not allowed
  30098. */
  30099. #define SNVS_HPLR_ZMK_RSL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_ZMK_RSL_SHIFT)) & SNVS_HPLR_ZMK_RSL_MASK)
  30100. #define SNVS_HPLR_SRTC_SL_MASK (0x4U)
  30101. #define SNVS_HPLR_SRTC_SL_SHIFT (2U)
  30102. /*! SRTC_SL
  30103. * 0b0..Write access is allowed
  30104. * 0b1..Write access is not allowed
  30105. */
  30106. #define SNVS_HPLR_SRTC_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_SRTC_SL_SHIFT)) & SNVS_HPLR_SRTC_SL_MASK)
  30107. #define SNVS_HPLR_LPCALB_SL_MASK (0x8U)
  30108. #define SNVS_HPLR_LPCALB_SL_SHIFT (3U)
  30109. /*! LPCALB_SL
  30110. * 0b0..Write access is allowed
  30111. * 0b1..Write access is not allowed
  30112. */
  30113. #define SNVS_HPLR_LPCALB_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_LPCALB_SL_SHIFT)) & SNVS_HPLR_LPCALB_SL_MASK)
  30114. #define SNVS_HPLR_MC_SL_MASK (0x10U)
  30115. #define SNVS_HPLR_MC_SL_SHIFT (4U)
  30116. /*! MC_SL
  30117. * 0b0..Write access (increment) is allowed
  30118. * 0b1..Write access (increment) is not allowed
  30119. */
  30120. #define SNVS_HPLR_MC_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_MC_SL_SHIFT)) & SNVS_HPLR_MC_SL_MASK)
  30121. #define SNVS_HPLR_GPR_SL_MASK (0x20U)
  30122. #define SNVS_HPLR_GPR_SL_SHIFT (5U)
  30123. /*! GPR_SL
  30124. * 0b0..Write access is allowed
  30125. * 0b1..Write access is not allowed
  30126. */
  30127. #define SNVS_HPLR_GPR_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_GPR_SL_SHIFT)) & SNVS_HPLR_GPR_SL_MASK)
  30128. #define SNVS_HPLR_LPSVCR_SL_MASK (0x40U)
  30129. #define SNVS_HPLR_LPSVCR_SL_SHIFT (6U)
  30130. /*! LPSVCR_SL
  30131. * 0b0..Write access is allowed
  30132. * 0b1..Write access is not allowed
  30133. */
  30134. #define SNVS_HPLR_LPSVCR_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_LPSVCR_SL_SHIFT)) & SNVS_HPLR_LPSVCR_SL_MASK)
  30135. #define SNVS_HPLR_LPSECR_SL_MASK (0x100U)
  30136. #define SNVS_HPLR_LPSECR_SL_SHIFT (8U)
  30137. /*! LPSECR_SL
  30138. * 0b0..Write access is allowed
  30139. * 0b1..Write access is not allowed
  30140. */
  30141. #define SNVS_HPLR_LPSECR_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_LPSECR_SL_SHIFT)) & SNVS_HPLR_LPSECR_SL_MASK)
  30142. #define SNVS_HPLR_MKS_SL_MASK (0x200U)
  30143. #define SNVS_HPLR_MKS_SL_SHIFT (9U)
  30144. /*! MKS_SL
  30145. * 0b0..Write access is allowed
  30146. * 0b1..Write access is not allowed
  30147. */
  30148. #define SNVS_HPLR_MKS_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_MKS_SL_SHIFT)) & SNVS_HPLR_MKS_SL_MASK)
  30149. #define SNVS_HPLR_HPSVCR_L_MASK (0x10000U)
  30150. #define SNVS_HPLR_HPSVCR_L_SHIFT (16U)
  30151. /*! HPSVCR_L
  30152. * 0b0..Write access is allowed
  30153. * 0b1..Write access is not allowed
  30154. */
  30155. #define SNVS_HPLR_HPSVCR_L(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_HPSVCR_L_SHIFT)) & SNVS_HPLR_HPSVCR_L_MASK)
  30156. #define SNVS_HPLR_HPSICR_L_MASK (0x20000U)
  30157. #define SNVS_HPLR_HPSICR_L_SHIFT (17U)
  30158. /*! HPSICR_L
  30159. * 0b0..Write access is allowed
  30160. * 0b1..Write access is not allowed
  30161. */
  30162. #define SNVS_HPLR_HPSICR_L(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_HPSICR_L_SHIFT)) & SNVS_HPLR_HPSICR_L_MASK)
  30163. #define SNVS_HPLR_HAC_L_MASK (0x40000U)
  30164. #define SNVS_HPLR_HAC_L_SHIFT (18U)
  30165. /*! HAC_L
  30166. * 0b0..Write access is allowed
  30167. * 0b1..Write access is not allowed
  30168. */
  30169. #define SNVS_HPLR_HAC_L(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_HAC_L_SHIFT)) & SNVS_HPLR_HAC_L_MASK)
  30170. /*! @} */
  30171. /*! @name HPCOMR - SNVS_HP Command Register */
  30172. /*! @{ */
  30173. #define SNVS_HPCOMR_SSM_ST_MASK (0x1U)
  30174. #define SNVS_HPCOMR_SSM_ST_SHIFT (0U)
  30175. #define SNVS_HPCOMR_SSM_ST(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SSM_ST_SHIFT)) & SNVS_HPCOMR_SSM_ST_MASK)
  30176. #define SNVS_HPCOMR_SSM_ST_DIS_MASK (0x2U)
  30177. #define SNVS_HPCOMR_SSM_ST_DIS_SHIFT (1U)
  30178. /*! SSM_ST_DIS
  30179. * 0b0..Secure to Trusted State transition is enabled
  30180. * 0b1..Secure to Trusted State transition is disabled
  30181. */
  30182. #define SNVS_HPCOMR_SSM_ST_DIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SSM_ST_DIS_SHIFT)) & SNVS_HPCOMR_SSM_ST_DIS_MASK)
  30183. #define SNVS_HPCOMR_SSM_SFNS_DIS_MASK (0x4U)
  30184. #define SNVS_HPCOMR_SSM_SFNS_DIS_SHIFT (2U)
  30185. /*! SSM_SFNS_DIS
  30186. * 0b0..Soft Fail to Non-Secure State transition is enabled
  30187. * 0b1..Soft Fail to Non-Secure State transition is disabled
  30188. */
  30189. #define SNVS_HPCOMR_SSM_SFNS_DIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SSM_SFNS_DIS_SHIFT)) & SNVS_HPCOMR_SSM_SFNS_DIS_MASK)
  30190. #define SNVS_HPCOMR_LP_SWR_MASK (0x10U)
  30191. #define SNVS_HPCOMR_LP_SWR_SHIFT (4U)
  30192. /*! LP_SWR
  30193. * 0b0..No Action
  30194. * 0b1..Reset LP section
  30195. */
  30196. #define SNVS_HPCOMR_LP_SWR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_LP_SWR_SHIFT)) & SNVS_HPCOMR_LP_SWR_MASK)
  30197. #define SNVS_HPCOMR_LP_SWR_DIS_MASK (0x20U)
  30198. #define SNVS_HPCOMR_LP_SWR_DIS_SHIFT (5U)
  30199. /*! LP_SWR_DIS
  30200. * 0b0..LP software reset is enabled
  30201. * 0b1..LP software reset is disabled
  30202. */
  30203. #define SNVS_HPCOMR_LP_SWR_DIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_LP_SWR_DIS_SHIFT)) & SNVS_HPCOMR_LP_SWR_DIS_MASK)
  30204. #define SNVS_HPCOMR_SW_SV_MASK (0x100U)
  30205. #define SNVS_HPCOMR_SW_SV_SHIFT (8U)
  30206. #define SNVS_HPCOMR_SW_SV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SW_SV_SHIFT)) & SNVS_HPCOMR_SW_SV_MASK)
  30207. #define SNVS_HPCOMR_SW_FSV_MASK (0x200U)
  30208. #define SNVS_HPCOMR_SW_FSV_SHIFT (9U)
  30209. #define SNVS_HPCOMR_SW_FSV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SW_FSV_SHIFT)) & SNVS_HPCOMR_SW_FSV_MASK)
  30210. #define SNVS_HPCOMR_SW_LPSV_MASK (0x400U)
  30211. #define SNVS_HPCOMR_SW_LPSV_SHIFT (10U)
  30212. #define SNVS_HPCOMR_SW_LPSV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SW_LPSV_SHIFT)) & SNVS_HPCOMR_SW_LPSV_MASK)
  30213. #define SNVS_HPCOMR_PROG_ZMK_MASK (0x1000U)
  30214. #define SNVS_HPCOMR_PROG_ZMK_SHIFT (12U)
  30215. /*! PROG_ZMK
  30216. * 0b0..No Action
  30217. * 0b1..Activate hardware key programming mechanism
  30218. */
  30219. #define SNVS_HPCOMR_PROG_ZMK(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_PROG_ZMK_SHIFT)) & SNVS_HPCOMR_PROG_ZMK_MASK)
  30220. #define SNVS_HPCOMR_MKS_EN_MASK (0x2000U)
  30221. #define SNVS_HPCOMR_MKS_EN_SHIFT (13U)
  30222. /*! MKS_EN
  30223. * 0b0..OTP master key is selected as an SNVS master key
  30224. * 0b1..SNVS master key is selected according to the setting of the MASTER_KEY_SEL field of LPMKCR
  30225. */
  30226. #define SNVS_HPCOMR_MKS_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_MKS_EN_SHIFT)) & SNVS_HPCOMR_MKS_EN_MASK)
  30227. #define SNVS_HPCOMR_HAC_EN_MASK (0x10000U)
  30228. #define SNVS_HPCOMR_HAC_EN_SHIFT (16U)
  30229. /*! HAC_EN
  30230. * 0b0..High Assurance Counter is disabled
  30231. * 0b1..High Assurance Counter is enabled
  30232. */
  30233. #define SNVS_HPCOMR_HAC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_HAC_EN_SHIFT)) & SNVS_HPCOMR_HAC_EN_MASK)
  30234. #define SNVS_HPCOMR_HAC_LOAD_MASK (0x20000U)
  30235. #define SNVS_HPCOMR_HAC_LOAD_SHIFT (17U)
  30236. /*! HAC_LOAD
  30237. * 0b0..No Action
  30238. * 0b1..Load the HAC
  30239. */
  30240. #define SNVS_HPCOMR_HAC_LOAD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_HAC_LOAD_SHIFT)) & SNVS_HPCOMR_HAC_LOAD_MASK)
  30241. #define SNVS_HPCOMR_HAC_CLEAR_MASK (0x40000U)
  30242. #define SNVS_HPCOMR_HAC_CLEAR_SHIFT (18U)
  30243. /*! HAC_CLEAR
  30244. * 0b0..No Action
  30245. * 0b1..Clear the HAC
  30246. */
  30247. #define SNVS_HPCOMR_HAC_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_HAC_CLEAR_SHIFT)) & SNVS_HPCOMR_HAC_CLEAR_MASK)
  30248. #define SNVS_HPCOMR_HAC_STOP_MASK (0x80000U)
  30249. #define SNVS_HPCOMR_HAC_STOP_SHIFT (19U)
  30250. #define SNVS_HPCOMR_HAC_STOP(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_HAC_STOP_SHIFT)) & SNVS_HPCOMR_HAC_STOP_MASK)
  30251. #define SNVS_HPCOMR_NPSWA_EN_MASK (0x80000000U)
  30252. #define SNVS_HPCOMR_NPSWA_EN_SHIFT (31U)
  30253. #define SNVS_HPCOMR_NPSWA_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_NPSWA_EN_SHIFT)) & SNVS_HPCOMR_NPSWA_EN_MASK)
  30254. /*! @} */
  30255. /*! @name HPCR - SNVS_HP Control Register */
  30256. /*! @{ */
  30257. #define SNVS_HPCR_RTC_EN_MASK (0x1U)
  30258. #define SNVS_HPCR_RTC_EN_SHIFT (0U)
  30259. /*! RTC_EN
  30260. * 0b0..RTC is disabled
  30261. * 0b1..RTC is enabled
  30262. */
  30263. #define SNVS_HPCR_RTC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_RTC_EN_SHIFT)) & SNVS_HPCR_RTC_EN_MASK)
  30264. #define SNVS_HPCR_HPTA_EN_MASK (0x2U)
  30265. #define SNVS_HPCR_HPTA_EN_SHIFT (1U)
  30266. /*! HPTA_EN
  30267. * 0b0..HP Time Alarm Interrupt is disabled
  30268. * 0b1..HP Time Alarm Interrupt is enabled
  30269. */
  30270. #define SNVS_HPCR_HPTA_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_HPTA_EN_SHIFT)) & SNVS_HPCR_HPTA_EN_MASK)
  30271. #define SNVS_HPCR_DIS_PI_MASK (0x4U)
  30272. #define SNVS_HPCR_DIS_PI_SHIFT (2U)
  30273. /*! DIS_PI
  30274. * 0b0..Periodic interrupt will trigger a functional interrupt
  30275. * 0b1..Disable periodic interrupt in the function interrupt
  30276. */
  30277. #define SNVS_HPCR_DIS_PI(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_DIS_PI_SHIFT)) & SNVS_HPCR_DIS_PI_MASK)
  30278. #define SNVS_HPCR_PI_EN_MASK (0x8U)
  30279. #define SNVS_HPCR_PI_EN_SHIFT (3U)
  30280. /*! PI_EN
  30281. * 0b0..HP Periodic Interrupt is disabled
  30282. * 0b1..HP Periodic Interrupt is enabled
  30283. */
  30284. #define SNVS_HPCR_PI_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_PI_EN_SHIFT)) & SNVS_HPCR_PI_EN_MASK)
  30285. #define SNVS_HPCR_PI_FREQ_MASK (0xF0U)
  30286. #define SNVS_HPCR_PI_FREQ_SHIFT (4U)
  30287. /*! PI_FREQ
  30288. * 0b0000..- bit 0 of the HPRTCLR is selected as a source of the periodic interrupt
  30289. * 0b0001..- bit 1 of the HPRTCLR is selected as a source of the periodic interrupt
  30290. * 0b0010..- bit 2 of the HPRTCLR is selected as a source of the periodic interrupt
  30291. * 0b0011..- bit 3 of the HPRTCLR is selected as a source of the periodic interrupt
  30292. * 0b0100..- bit 4 of the HPRTCLR is selected as a source of the periodic interrupt
  30293. * 0b0101..- bit 5 of the HPRTCLR is selected as a source of the periodic interrupt
  30294. * 0b0110..- bit 6 of the HPRTCLR is selected as a source of the periodic interrupt
  30295. * 0b0111..- bit 7 of the HPRTCLR is selected as a source of the periodic interrupt
  30296. * 0b1000..- bit 8 of the HPRTCLR is selected as a source of the periodic interrupt
  30297. * 0b1001..- bit 9 of the HPRTCLR is selected as a source of the periodic interrupt
  30298. * 0b1010..- bit 10 of the HPRTCLR is selected as a source of the periodic interrupt
  30299. * 0b1011..- bit 11 of the HPRTCLR is selected as a source of the periodic interrupt
  30300. * 0b1100..- bit 12 of the HPRTCLR is selected as a source of the periodic interrupt
  30301. * 0b1101..- bit 13 of the HPRTCLR is selected as a source of the periodic interrupt
  30302. * 0b1110..- bit 14 of the HPRTCLR is selected as a source of the periodic interrupt
  30303. * 0b1111..- bit 15 of the HPRTCLR is selected as a source of the periodic interrupt
  30304. */
  30305. #define SNVS_HPCR_PI_FREQ(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_PI_FREQ_SHIFT)) & SNVS_HPCR_PI_FREQ_MASK)
  30306. #define SNVS_HPCR_HPCALB_EN_MASK (0x100U)
  30307. #define SNVS_HPCR_HPCALB_EN_SHIFT (8U)
  30308. /*! HPCALB_EN
  30309. * 0b0..HP Timer calibration disabled
  30310. * 0b1..HP Timer calibration enabled
  30311. */
  30312. #define SNVS_HPCR_HPCALB_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_HPCALB_EN_SHIFT)) & SNVS_HPCR_HPCALB_EN_MASK)
  30313. #define SNVS_HPCR_HPCALB_VAL_MASK (0x7C00U)
  30314. #define SNVS_HPCR_HPCALB_VAL_SHIFT (10U)
  30315. /*! HPCALB_VAL
  30316. * 0b00000..+0 counts per each 32768 ticks of the counter
  30317. * 0b00001..+1 counts per each 32768 ticks of the counter
  30318. * 0b00010..+2 counts per each 32768 ticks of the counter
  30319. * 0b01111..+15 counts per each 32768 ticks of the counter
  30320. * 0b10000..-16 counts per each 32768 ticks of the counter
  30321. * 0b10001..-15 counts per each 32768 ticks of the counter
  30322. * 0b11110..-2 counts per each 32768 ticks of the counter
  30323. * 0b11111..-1 counts per each 32768 ticks of the counter
  30324. */
  30325. #define SNVS_HPCR_HPCALB_VAL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_HPCALB_VAL_SHIFT)) & SNVS_HPCR_HPCALB_VAL_MASK)
  30326. #define SNVS_HPCR_HP_TS_MASK (0x10000U)
  30327. #define SNVS_HPCR_HP_TS_SHIFT (16U)
  30328. /*! HP_TS
  30329. * 0b0..No Action
  30330. * 0b1..Synchronize the HP Time Counter to the LP Time Counter
  30331. */
  30332. #define SNVS_HPCR_HP_TS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_HP_TS_SHIFT)) & SNVS_HPCR_HP_TS_MASK)
  30333. #define SNVS_HPCR_BTN_CONFIG_MASK (0x7000000U)
  30334. #define SNVS_HPCR_BTN_CONFIG_SHIFT (24U)
  30335. #define SNVS_HPCR_BTN_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_BTN_CONFIG_SHIFT)) & SNVS_HPCR_BTN_CONFIG_MASK)
  30336. #define SNVS_HPCR_BTN_MASK_MASK (0x8000000U)
  30337. #define SNVS_HPCR_BTN_MASK_SHIFT (27U)
  30338. #define SNVS_HPCR_BTN_MASK(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_BTN_MASK_SHIFT)) & SNVS_HPCR_BTN_MASK_MASK)
  30339. /*! @} */
  30340. /*! @name HPSICR - SNVS_HP Security Interrupt Control Register */
  30341. /*! @{ */
  30342. #define SNVS_HPSICR_SV0_EN_MASK (0x1U)
  30343. #define SNVS_HPSICR_SV0_EN_SHIFT (0U)
  30344. /*! SV0_EN
  30345. * 0b0..Security Violation 0 Interrupt is Disabled
  30346. * 0b1..Security Violation 0 Interrupt is Enabled
  30347. */
  30348. #define SNVS_HPSICR_SV0_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_SV0_EN_SHIFT)) & SNVS_HPSICR_SV0_EN_MASK)
  30349. #define SNVS_HPSICR_SV1_EN_MASK (0x2U)
  30350. #define SNVS_HPSICR_SV1_EN_SHIFT (1U)
  30351. /*! SV1_EN
  30352. * 0b0..Security Violation 1 Interrupt is Disabled
  30353. * 0b1..Security Violation 1 Interrupt is Enabled
  30354. */
  30355. #define SNVS_HPSICR_SV1_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_SV1_EN_SHIFT)) & SNVS_HPSICR_SV1_EN_MASK)
  30356. #define SNVS_HPSICR_SV2_EN_MASK (0x4U)
  30357. #define SNVS_HPSICR_SV2_EN_SHIFT (2U)
  30358. /*! SV2_EN
  30359. * 0b0..Security Violation 2 Interrupt is Disabled
  30360. * 0b1..Security Violation 2 Interrupt is Enabled
  30361. */
  30362. #define SNVS_HPSICR_SV2_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_SV2_EN_SHIFT)) & SNVS_HPSICR_SV2_EN_MASK)
  30363. #define SNVS_HPSICR_SV3_EN_MASK (0x8U)
  30364. #define SNVS_HPSICR_SV3_EN_SHIFT (3U)
  30365. /*! SV3_EN
  30366. * 0b0..Security Violation 3 Interrupt is Disabled
  30367. * 0b1..Security Violation 3 Interrupt is Enabled
  30368. */
  30369. #define SNVS_HPSICR_SV3_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_SV3_EN_SHIFT)) & SNVS_HPSICR_SV3_EN_MASK)
  30370. #define SNVS_HPSICR_SV4_EN_MASK (0x10U)
  30371. #define SNVS_HPSICR_SV4_EN_SHIFT (4U)
  30372. /*! SV4_EN
  30373. * 0b0..Security Violation 4 Interrupt is Disabled
  30374. * 0b1..Security Violation 4 Interrupt is Enabled
  30375. */
  30376. #define SNVS_HPSICR_SV4_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_SV4_EN_SHIFT)) & SNVS_HPSICR_SV4_EN_MASK)
  30377. #define SNVS_HPSICR_SV5_EN_MASK (0x20U)
  30378. #define SNVS_HPSICR_SV5_EN_SHIFT (5U)
  30379. /*! SV5_EN
  30380. * 0b0..Security Violation 5 Interrupt is Disabled
  30381. * 0b1..Security Violation 5 Interrupt is Enabled
  30382. */
  30383. #define SNVS_HPSICR_SV5_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_SV5_EN_SHIFT)) & SNVS_HPSICR_SV5_EN_MASK)
  30384. #define SNVS_HPSICR_LPSVI_EN_MASK (0x80000000U)
  30385. #define SNVS_HPSICR_LPSVI_EN_SHIFT (31U)
  30386. /*! LPSVI_EN
  30387. * 0b0..LP Security Violation Interrupt is Disabled
  30388. * 0b1..LP Security Violation Interrupt is Enabled
  30389. */
  30390. #define SNVS_HPSICR_LPSVI_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_LPSVI_EN_SHIFT)) & SNVS_HPSICR_LPSVI_EN_MASK)
  30391. /*! @} */
  30392. /*! @name HPSVCR - SNVS_HP Security Violation Control Register */
  30393. /*! @{ */
  30394. #define SNVS_HPSVCR_SV0_CFG_MASK (0x1U)
  30395. #define SNVS_HPSVCR_SV0_CFG_SHIFT (0U)
  30396. /*! SV0_CFG
  30397. * 0b0..Security Violation 0 is a non-fatal violation
  30398. * 0b1..Security Violation 0 is a fatal violation
  30399. */
  30400. #define SNVS_HPSVCR_SV0_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_SV0_CFG_SHIFT)) & SNVS_HPSVCR_SV0_CFG_MASK)
  30401. #define SNVS_HPSVCR_SV1_CFG_MASK (0x2U)
  30402. #define SNVS_HPSVCR_SV1_CFG_SHIFT (1U)
  30403. /*! SV1_CFG
  30404. * 0b0..Security Violation 1 is a non-fatal violation
  30405. * 0b1..Security Violation 1 is a fatal violation
  30406. */
  30407. #define SNVS_HPSVCR_SV1_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_SV1_CFG_SHIFT)) & SNVS_HPSVCR_SV1_CFG_MASK)
  30408. #define SNVS_HPSVCR_SV2_CFG_MASK (0x4U)
  30409. #define SNVS_HPSVCR_SV2_CFG_SHIFT (2U)
  30410. /*! SV2_CFG
  30411. * 0b0..Security Violation 2 is a non-fatal violation
  30412. * 0b1..Security Violation 2 is a fatal violation
  30413. */
  30414. #define SNVS_HPSVCR_SV2_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_SV2_CFG_SHIFT)) & SNVS_HPSVCR_SV2_CFG_MASK)
  30415. #define SNVS_HPSVCR_SV3_CFG_MASK (0x8U)
  30416. #define SNVS_HPSVCR_SV3_CFG_SHIFT (3U)
  30417. /*! SV3_CFG
  30418. * 0b0..Security Violation 3 is a non-fatal violation
  30419. * 0b1..Security Violation 3 is a fatal violation
  30420. */
  30421. #define SNVS_HPSVCR_SV3_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_SV3_CFG_SHIFT)) & SNVS_HPSVCR_SV3_CFG_MASK)
  30422. #define SNVS_HPSVCR_SV4_CFG_MASK (0x10U)
  30423. #define SNVS_HPSVCR_SV4_CFG_SHIFT (4U)
  30424. /*! SV4_CFG
  30425. * 0b0..Security Violation 4 is a non-fatal violation
  30426. * 0b1..Security Violation 4 is a fatal violation
  30427. */
  30428. #define SNVS_HPSVCR_SV4_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_SV4_CFG_SHIFT)) & SNVS_HPSVCR_SV4_CFG_MASK)
  30429. #define SNVS_HPSVCR_SV5_CFG_MASK (0x60U)
  30430. #define SNVS_HPSVCR_SV5_CFG_SHIFT (5U)
  30431. /*! SV5_CFG
  30432. * 0b00..Security Violation 5 is disabled
  30433. * 0b01..Security Violation 5 is a non-fatal violation
  30434. * 0b1x..Security Violation 5 is a fatal violation
  30435. */
  30436. #define SNVS_HPSVCR_SV5_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_SV5_CFG_SHIFT)) & SNVS_HPSVCR_SV5_CFG_MASK)
  30437. #define SNVS_HPSVCR_LPSV_CFG_MASK (0xC0000000U)
  30438. #define SNVS_HPSVCR_LPSV_CFG_SHIFT (30U)
  30439. /*! LPSV_CFG
  30440. * 0b00..LP security violation is disabled
  30441. * 0b01..LP security violation is a non-fatal violation
  30442. * 0b1x..LP security violation is a fatal violation
  30443. */
  30444. #define SNVS_HPSVCR_LPSV_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_LPSV_CFG_SHIFT)) & SNVS_HPSVCR_LPSV_CFG_MASK)
  30445. /*! @} */
  30446. /*! @name HPSR - SNVS_HP Status Register */
  30447. /*! @{ */
  30448. #define SNVS_HPSR_HPTA_MASK (0x1U)
  30449. #define SNVS_HPSR_HPTA_SHIFT (0U)
  30450. /*! HPTA
  30451. * 0b0..No time alarm interrupt occurred.
  30452. * 0b1..A time alarm interrupt occurred.
  30453. */
  30454. #define SNVS_HPSR_HPTA(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_HPTA_SHIFT)) & SNVS_HPSR_HPTA_MASK)
  30455. #define SNVS_HPSR_PI_MASK (0x2U)
  30456. #define SNVS_HPSR_PI_SHIFT (1U)
  30457. /*! PI
  30458. * 0b0..No periodic interrupt occurred.
  30459. * 0b1..A periodic interrupt occurred.
  30460. */
  30461. #define SNVS_HPSR_PI(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_PI_SHIFT)) & SNVS_HPSR_PI_MASK)
  30462. #define SNVS_HPSR_LPDIS_MASK (0x10U)
  30463. #define SNVS_HPSR_LPDIS_SHIFT (4U)
  30464. #define SNVS_HPSR_LPDIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_LPDIS_SHIFT)) & SNVS_HPSR_LPDIS_MASK)
  30465. #define SNVS_HPSR_BTN_MASK (0x40U)
  30466. #define SNVS_HPSR_BTN_SHIFT (6U)
  30467. #define SNVS_HPSR_BTN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_BTN_SHIFT)) & SNVS_HPSR_BTN_MASK)
  30468. #define SNVS_HPSR_BI_MASK (0x80U)
  30469. #define SNVS_HPSR_BI_SHIFT (7U)
  30470. #define SNVS_HPSR_BI(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_BI_SHIFT)) & SNVS_HPSR_BI_MASK)
  30471. #define SNVS_HPSR_SSM_STATE_MASK (0xF00U)
  30472. #define SNVS_HPSR_SSM_STATE_SHIFT (8U)
  30473. /*! SSM_STATE
  30474. * 0b0000..Init
  30475. * 0b0001..Hard Fail
  30476. * 0b0011..Soft Fail
  30477. * 0b1000..Init Intermediate (transition state between Init and Check - SSM stays in this state only one clock cycle)
  30478. * 0b1001..Check
  30479. * 0b1011..Non-Secure
  30480. * 0b1101..Trusted
  30481. * 0b1111..Secure
  30482. */
  30483. #define SNVS_HPSR_SSM_STATE(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_SSM_STATE_SHIFT)) & SNVS_HPSR_SSM_STATE_MASK)
  30484. #define SNVS_HPSR_SYS_SECURITY_CFG_MASK (0x7000U)
  30485. #define SNVS_HPSR_SYS_SECURITY_CFG_SHIFT (12U)
  30486. /*! SYS_SECURITY_CFG
  30487. * 0b000..Fab Configuration - the default configuration of newly fabricated chips
  30488. * 0b001..Open Configuration - the configuration after NXP-programmable fuses have been blown
  30489. * 0b011..Closed Configuration - the configuration after OEM-programmable fuses have been blown
  30490. * 0b111..Field Return Configuration - the configuration of chips that are returned to NXP for analysis
  30491. */
  30492. #define SNVS_HPSR_SYS_SECURITY_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_SYS_SECURITY_CFG_SHIFT)) & SNVS_HPSR_SYS_SECURITY_CFG_MASK)
  30493. #define SNVS_HPSR_SYS_SECURE_BOOT_MASK (0x8000U)
  30494. #define SNVS_HPSR_SYS_SECURE_BOOT_SHIFT (15U)
  30495. #define SNVS_HPSR_SYS_SECURE_BOOT(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_SYS_SECURE_BOOT_SHIFT)) & SNVS_HPSR_SYS_SECURE_BOOT_MASK)
  30496. #define SNVS_HPSR_OTPMK_SYNDROME_MASK (0x1FF0000U)
  30497. #define SNVS_HPSR_OTPMK_SYNDROME_SHIFT (16U)
  30498. #define SNVS_HPSR_OTPMK_SYNDROME(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_OTPMK_SYNDROME_SHIFT)) & SNVS_HPSR_OTPMK_SYNDROME_MASK)
  30499. #define SNVS_HPSR_OTPMK_ZERO_MASK (0x8000000U)
  30500. #define SNVS_HPSR_OTPMK_ZERO_SHIFT (27U)
  30501. /*! OTPMK_ZERO
  30502. * 0b0..The OTPMK is not zero.
  30503. * 0b1..The OTPMK is zero.
  30504. */
  30505. #define SNVS_HPSR_OTPMK_ZERO(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_OTPMK_ZERO_SHIFT)) & SNVS_HPSR_OTPMK_ZERO_MASK)
  30506. #define SNVS_HPSR_ZMK_ZERO_MASK (0x80000000U)
  30507. #define SNVS_HPSR_ZMK_ZERO_SHIFT (31U)
  30508. /*! ZMK_ZERO
  30509. * 0b0..The ZMK is not zero.
  30510. * 0b1..The ZMK is zero.
  30511. */
  30512. #define SNVS_HPSR_ZMK_ZERO(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_ZMK_ZERO_SHIFT)) & SNVS_HPSR_ZMK_ZERO_MASK)
  30513. /*! @} */
  30514. /*! @name HPSVSR - SNVS_HP Security Violation Status Register */
  30515. /*! @{ */
  30516. #define SNVS_HPSVSR_SV0_MASK (0x1U)
  30517. #define SNVS_HPSVSR_SV0_SHIFT (0U)
  30518. /*! SV0
  30519. * 0b0..No Security Violation 0 security violation was detected.
  30520. * 0b1..Security Violation 0 security violation was detected.
  30521. */
  30522. #define SNVS_HPSVSR_SV0(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SV0_SHIFT)) & SNVS_HPSVSR_SV0_MASK)
  30523. #define SNVS_HPSVSR_SV1_MASK (0x2U)
  30524. #define SNVS_HPSVSR_SV1_SHIFT (1U)
  30525. /*! SV1
  30526. * 0b0..No Security Violation 1 security violation was detected.
  30527. * 0b1..Security Violation 1 security violation was detected.
  30528. */
  30529. #define SNVS_HPSVSR_SV1(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SV1_SHIFT)) & SNVS_HPSVSR_SV1_MASK)
  30530. #define SNVS_HPSVSR_SV2_MASK (0x4U)
  30531. #define SNVS_HPSVSR_SV2_SHIFT (2U)
  30532. /*! SV2
  30533. * 0b0..No Security Violation 2 security violation was detected.
  30534. * 0b1..Security Violation 2 security violation was detected.
  30535. */
  30536. #define SNVS_HPSVSR_SV2(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SV2_SHIFT)) & SNVS_HPSVSR_SV2_MASK)
  30537. #define SNVS_HPSVSR_SV3_MASK (0x8U)
  30538. #define SNVS_HPSVSR_SV3_SHIFT (3U)
  30539. /*! SV3
  30540. * 0b0..No Security Violation 3 security violation was detected.
  30541. * 0b1..Security Violation 3 security violation was detected.
  30542. */
  30543. #define SNVS_HPSVSR_SV3(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SV3_SHIFT)) & SNVS_HPSVSR_SV3_MASK)
  30544. #define SNVS_HPSVSR_SV4_MASK (0x10U)
  30545. #define SNVS_HPSVSR_SV4_SHIFT (4U)
  30546. /*! SV4
  30547. * 0b0..No Security Violation 4 security violation was detected.
  30548. * 0b1..Security Violation 4 security violation was detected.
  30549. */
  30550. #define SNVS_HPSVSR_SV4(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SV4_SHIFT)) & SNVS_HPSVSR_SV4_MASK)
  30551. #define SNVS_HPSVSR_SV5_MASK (0x20U)
  30552. #define SNVS_HPSVSR_SV5_SHIFT (5U)
  30553. /*! SV5
  30554. * 0b0..No Security Violation 5 security violation was detected.
  30555. * 0b1..Security Violation 5 security violation was detected.
  30556. */
  30557. #define SNVS_HPSVSR_SV5(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SV5_SHIFT)) & SNVS_HPSVSR_SV5_MASK)
  30558. #define SNVS_HPSVSR_SW_SV_MASK (0x2000U)
  30559. #define SNVS_HPSVSR_SW_SV_SHIFT (13U)
  30560. #define SNVS_HPSVSR_SW_SV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SW_SV_SHIFT)) & SNVS_HPSVSR_SW_SV_MASK)
  30561. #define SNVS_HPSVSR_SW_FSV_MASK (0x4000U)
  30562. #define SNVS_HPSVSR_SW_FSV_SHIFT (14U)
  30563. #define SNVS_HPSVSR_SW_FSV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SW_FSV_SHIFT)) & SNVS_HPSVSR_SW_FSV_MASK)
  30564. #define SNVS_HPSVSR_SW_LPSV_MASK (0x8000U)
  30565. #define SNVS_HPSVSR_SW_LPSV_SHIFT (15U)
  30566. #define SNVS_HPSVSR_SW_LPSV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SW_LPSV_SHIFT)) & SNVS_HPSVSR_SW_LPSV_MASK)
  30567. #define SNVS_HPSVSR_ZMK_SYNDROME_MASK (0x1FF0000U)
  30568. #define SNVS_HPSVSR_ZMK_SYNDROME_SHIFT (16U)
  30569. #define SNVS_HPSVSR_ZMK_SYNDROME(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_ZMK_SYNDROME_SHIFT)) & SNVS_HPSVSR_ZMK_SYNDROME_MASK)
  30570. #define SNVS_HPSVSR_ZMK_ECC_FAIL_MASK (0x8000000U)
  30571. #define SNVS_HPSVSR_ZMK_ECC_FAIL_SHIFT (27U)
  30572. /*! ZMK_ECC_FAIL
  30573. * 0b0..ZMK ECC Failure was not detected.
  30574. * 0b1..ZMK ECC Failure was detected.
  30575. */
  30576. #define SNVS_HPSVSR_ZMK_ECC_FAIL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_ZMK_ECC_FAIL_SHIFT)) & SNVS_HPSVSR_ZMK_ECC_FAIL_MASK)
  30577. #define SNVS_HPSVSR_LP_SEC_VIO_MASK (0x80000000U)
  30578. #define SNVS_HPSVSR_LP_SEC_VIO_SHIFT (31U)
  30579. #define SNVS_HPSVSR_LP_SEC_VIO(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_LP_SEC_VIO_SHIFT)) & SNVS_HPSVSR_LP_SEC_VIO_MASK)
  30580. /*! @} */
  30581. /*! @name HPHACIVR - SNVS_HP High Assurance Counter IV Register */
  30582. /*! @{ */
  30583. #define SNVS_HPHACIVR_HAC_COUNTER_IV_MASK (0xFFFFFFFFU)
  30584. #define SNVS_HPHACIVR_HAC_COUNTER_IV_SHIFT (0U)
  30585. #define SNVS_HPHACIVR_HAC_COUNTER_IV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPHACIVR_HAC_COUNTER_IV_SHIFT)) & SNVS_HPHACIVR_HAC_COUNTER_IV_MASK)
  30586. /*! @} */
  30587. /*! @name HPHACR - SNVS_HP High Assurance Counter Register */
  30588. /*! @{ */
  30589. #define SNVS_HPHACR_HAC_COUNTER_MASK (0xFFFFFFFFU)
  30590. #define SNVS_HPHACR_HAC_COUNTER_SHIFT (0U)
  30591. #define SNVS_HPHACR_HAC_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPHACR_HAC_COUNTER_SHIFT)) & SNVS_HPHACR_HAC_COUNTER_MASK)
  30592. /*! @} */
  30593. /*! @name HPRTCMR - SNVS_HP Real Time Counter MSB Register */
  30594. /*! @{ */
  30595. #define SNVS_HPRTCMR_RTC_MASK (0x7FFFU)
  30596. #define SNVS_HPRTCMR_RTC_SHIFT (0U)
  30597. #define SNVS_HPRTCMR_RTC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPRTCMR_RTC_SHIFT)) & SNVS_HPRTCMR_RTC_MASK)
  30598. /*! @} */
  30599. /*! @name HPRTCLR - SNVS_HP Real Time Counter LSB Register */
  30600. /*! @{ */
  30601. #define SNVS_HPRTCLR_RTC_MASK (0xFFFFFFFFU)
  30602. #define SNVS_HPRTCLR_RTC_SHIFT (0U)
  30603. #define SNVS_HPRTCLR_RTC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPRTCLR_RTC_SHIFT)) & SNVS_HPRTCLR_RTC_MASK)
  30604. /*! @} */
  30605. /*! @name HPTAMR - SNVS_HP Time Alarm MSB Register */
  30606. /*! @{ */
  30607. #define SNVS_HPTAMR_HPTA_MS_MASK (0x7FFFU)
  30608. #define SNVS_HPTAMR_HPTA_MS_SHIFT (0U)
  30609. #define SNVS_HPTAMR_HPTA_MS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPTAMR_HPTA_MS_SHIFT)) & SNVS_HPTAMR_HPTA_MS_MASK)
  30610. /*! @} */
  30611. /*! @name HPTALR - SNVS_HP Time Alarm LSB Register */
  30612. /*! @{ */
  30613. #define SNVS_HPTALR_HPTA_LS_MASK (0xFFFFFFFFU)
  30614. #define SNVS_HPTALR_HPTA_LS_SHIFT (0U)
  30615. #define SNVS_HPTALR_HPTA_LS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPTALR_HPTA_LS_SHIFT)) & SNVS_HPTALR_HPTA_LS_MASK)
  30616. /*! @} */
  30617. /*! @name LPLR - SNVS_LP Lock Register */
  30618. /*! @{ */
  30619. #define SNVS_LPLR_ZMK_WHL_MASK (0x1U)
  30620. #define SNVS_LPLR_ZMK_WHL_SHIFT (0U)
  30621. /*! ZMK_WHL
  30622. * 0b0..Write access is allowed.
  30623. * 0b1..Write access is not allowed.
  30624. */
  30625. #define SNVS_LPLR_ZMK_WHL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_ZMK_WHL_SHIFT)) & SNVS_LPLR_ZMK_WHL_MASK)
  30626. #define SNVS_LPLR_ZMK_RHL_MASK (0x2U)
  30627. #define SNVS_LPLR_ZMK_RHL_SHIFT (1U)
  30628. /*! ZMK_RHL
  30629. * 0b0..Read access is allowed (only in software programming mode).
  30630. * 0b1..Read access is not allowed.
  30631. */
  30632. #define SNVS_LPLR_ZMK_RHL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_ZMK_RHL_SHIFT)) & SNVS_LPLR_ZMK_RHL_MASK)
  30633. #define SNVS_LPLR_SRTC_HL_MASK (0x4U)
  30634. #define SNVS_LPLR_SRTC_HL_SHIFT (2U)
  30635. /*! SRTC_HL
  30636. * 0b0..Write access is allowed.
  30637. * 0b1..Write access is not allowed.
  30638. */
  30639. #define SNVS_LPLR_SRTC_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_SRTC_HL_SHIFT)) & SNVS_LPLR_SRTC_HL_MASK)
  30640. #define SNVS_LPLR_LPCALB_HL_MASK (0x8U)
  30641. #define SNVS_LPLR_LPCALB_HL_SHIFT (3U)
  30642. /*! LPCALB_HL
  30643. * 0b0..Write access is allowed.
  30644. * 0b1..Write access is not allowed.
  30645. */
  30646. #define SNVS_LPLR_LPCALB_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_LPCALB_HL_SHIFT)) & SNVS_LPLR_LPCALB_HL_MASK)
  30647. #define SNVS_LPLR_MC_HL_MASK (0x10U)
  30648. #define SNVS_LPLR_MC_HL_SHIFT (4U)
  30649. /*! MC_HL
  30650. * 0b0..Write access (increment) is allowed.
  30651. * 0b1..Write access (increment) is not allowed.
  30652. */
  30653. #define SNVS_LPLR_MC_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_MC_HL_SHIFT)) & SNVS_LPLR_MC_HL_MASK)
  30654. #define SNVS_LPLR_GPR_HL_MASK (0x20U)
  30655. #define SNVS_LPLR_GPR_HL_SHIFT (5U)
  30656. /*! GPR_HL
  30657. * 0b0..Write access is allowed.
  30658. * 0b1..Write access is not allowed.
  30659. */
  30660. #define SNVS_LPLR_GPR_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_GPR_HL_SHIFT)) & SNVS_LPLR_GPR_HL_MASK)
  30661. #define SNVS_LPLR_LPSVCR_HL_MASK (0x40U)
  30662. #define SNVS_LPLR_LPSVCR_HL_SHIFT (6U)
  30663. /*! LPSVCR_HL
  30664. * 0b0..Write access is allowed.
  30665. * 0b1..Write access is not allowed.
  30666. */
  30667. #define SNVS_LPLR_LPSVCR_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_LPSVCR_HL_SHIFT)) & SNVS_LPLR_LPSVCR_HL_MASK)
  30668. #define SNVS_LPLR_LPSECR_HL_MASK (0x100U)
  30669. #define SNVS_LPLR_LPSECR_HL_SHIFT (8U)
  30670. /*! LPSECR_HL
  30671. * 0b0..Write access is allowed.
  30672. * 0b1..Write access is not allowed.
  30673. */
  30674. #define SNVS_LPLR_LPSECR_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_LPSECR_HL_SHIFT)) & SNVS_LPLR_LPSECR_HL_MASK)
  30675. #define SNVS_LPLR_MKS_HL_MASK (0x200U)
  30676. #define SNVS_LPLR_MKS_HL_SHIFT (9U)
  30677. /*! MKS_HL
  30678. * 0b0..Write access is allowed.
  30679. * 0b1..Write access is not allowed.
  30680. */
  30681. #define SNVS_LPLR_MKS_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_MKS_HL_SHIFT)) & SNVS_LPLR_MKS_HL_MASK)
  30682. /*! @} */
  30683. /*! @name LPCR - SNVS_LP Control Register */
  30684. /*! @{ */
  30685. #define SNVS_LPCR_SRTC_ENV_MASK (0x1U)
  30686. #define SNVS_LPCR_SRTC_ENV_SHIFT (0U)
  30687. /*! SRTC_ENV
  30688. * 0b0..SRTC is disabled or invalid.
  30689. * 0b1..SRTC is enabled and valid.
  30690. */
  30691. #define SNVS_LPCR_SRTC_ENV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_SRTC_ENV_SHIFT)) & SNVS_LPCR_SRTC_ENV_MASK)
  30692. #define SNVS_LPCR_LPTA_EN_MASK (0x2U)
  30693. #define SNVS_LPCR_LPTA_EN_SHIFT (1U)
  30694. /*! LPTA_EN
  30695. * 0b0..LP time alarm interrupt is disabled.
  30696. * 0b1..LP time alarm interrupt is enabled.
  30697. */
  30698. #define SNVS_LPCR_LPTA_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_LPTA_EN_SHIFT)) & SNVS_LPCR_LPTA_EN_MASK)
  30699. #define SNVS_LPCR_MC_ENV_MASK (0x4U)
  30700. #define SNVS_LPCR_MC_ENV_SHIFT (2U)
  30701. /*! MC_ENV
  30702. * 0b0..MC is disabled or invalid.
  30703. * 0b1..MC is enabled and valid.
  30704. */
  30705. #define SNVS_LPCR_MC_ENV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_MC_ENV_SHIFT)) & SNVS_LPCR_MC_ENV_MASK)
  30706. #define SNVS_LPCR_LPWUI_EN_MASK (0x8U)
  30707. #define SNVS_LPCR_LPWUI_EN_SHIFT (3U)
  30708. #define SNVS_LPCR_LPWUI_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_LPWUI_EN_SHIFT)) & SNVS_LPCR_LPWUI_EN_MASK)
  30709. #define SNVS_LPCR_SRTC_INV_EN_MASK (0x10U)
  30710. #define SNVS_LPCR_SRTC_INV_EN_SHIFT (4U)
  30711. /*! SRTC_INV_EN
  30712. * 0b0..SRTC stays valid in the case of security violation (other than a software violation (HPSVSR[SW_LPSV] = 1 or HPCOMR[SW_LPSV] = 1)).
  30713. * 0b1..SRTC is invalidated in the case of security violation.
  30714. */
  30715. #define SNVS_LPCR_SRTC_INV_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_SRTC_INV_EN_SHIFT)) & SNVS_LPCR_SRTC_INV_EN_MASK)
  30716. #define SNVS_LPCR_DP_EN_MASK (0x20U)
  30717. #define SNVS_LPCR_DP_EN_SHIFT (5U)
  30718. /*! DP_EN
  30719. * 0b0..Smart PMIC enabled.
  30720. * 0b1..Dumb PMIC enabled.
  30721. */
  30722. #define SNVS_LPCR_DP_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_DP_EN_SHIFT)) & SNVS_LPCR_DP_EN_MASK)
  30723. #define SNVS_LPCR_TOP_MASK (0x40U)
  30724. #define SNVS_LPCR_TOP_SHIFT (6U)
  30725. /*! TOP
  30726. * 0b0..Leave system power on.
  30727. * 0b1..Turn off system power.
  30728. */
  30729. #define SNVS_LPCR_TOP(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_TOP_SHIFT)) & SNVS_LPCR_TOP_MASK)
  30730. #define SNVS_LPCR_LVD_EN_MASK (0x80U)
  30731. #define SNVS_LPCR_LVD_EN_SHIFT (7U)
  30732. #define SNVS_LPCR_LVD_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_LVD_EN_SHIFT)) & SNVS_LPCR_LVD_EN_MASK)
  30733. #define SNVS_LPCR_LPCALB_EN_MASK (0x100U)
  30734. #define SNVS_LPCR_LPCALB_EN_SHIFT (8U)
  30735. /*! LPCALB_EN
  30736. * 0b0..SRTC Time calibration is disabled.
  30737. * 0b1..SRTC Time calibration is enabled.
  30738. */
  30739. #define SNVS_LPCR_LPCALB_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_LPCALB_EN_SHIFT)) & SNVS_LPCR_LPCALB_EN_MASK)
  30740. #define SNVS_LPCR_LPCALB_VAL_MASK (0x7C00U)
  30741. #define SNVS_LPCR_LPCALB_VAL_SHIFT (10U)
  30742. /*! LPCALB_VAL
  30743. * 0b00000..+0 counts per each 32768 ticks of the counter clock
  30744. * 0b00001..+1 counts per each 32768 ticks of the counter clock
  30745. * 0b00010..+2 counts per each 32768 ticks of the counter clock
  30746. * 0b01111..+15 counts per each 32768 ticks of the counter clock
  30747. * 0b10000..-16 counts per each 32768 ticks of the counter clock
  30748. * 0b10001..-15 counts per each 32768 ticks of the counter clock
  30749. * 0b11110..-2 counts per each 32768 ticks of the counter clock
  30750. * 0b11111..-1 counts per each 32768 ticks of the counter clock
  30751. */
  30752. #define SNVS_LPCR_LPCALB_VAL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_LPCALB_VAL_SHIFT)) & SNVS_LPCR_LPCALB_VAL_MASK)
  30753. #define SNVS_LPCR_BTN_PRESS_TIME_MASK (0x30000U)
  30754. #define SNVS_LPCR_BTN_PRESS_TIME_SHIFT (16U)
  30755. #define SNVS_LPCR_BTN_PRESS_TIME(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_BTN_PRESS_TIME_SHIFT)) & SNVS_LPCR_BTN_PRESS_TIME_MASK)
  30756. #define SNVS_LPCR_DEBOUNCE_MASK (0xC0000U)
  30757. #define SNVS_LPCR_DEBOUNCE_SHIFT (18U)
  30758. #define SNVS_LPCR_DEBOUNCE(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_DEBOUNCE_SHIFT)) & SNVS_LPCR_DEBOUNCE_MASK)
  30759. #define SNVS_LPCR_ON_TIME_MASK (0x300000U)
  30760. #define SNVS_LPCR_ON_TIME_SHIFT (20U)
  30761. #define SNVS_LPCR_ON_TIME(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_ON_TIME_SHIFT)) & SNVS_LPCR_ON_TIME_MASK)
  30762. #define SNVS_LPCR_PK_EN_MASK (0x400000U)
  30763. #define SNVS_LPCR_PK_EN_SHIFT (22U)
  30764. #define SNVS_LPCR_PK_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_PK_EN_SHIFT)) & SNVS_LPCR_PK_EN_MASK)
  30765. #define SNVS_LPCR_PK_OVERRIDE_MASK (0x800000U)
  30766. #define SNVS_LPCR_PK_OVERRIDE_SHIFT (23U)
  30767. #define SNVS_LPCR_PK_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_PK_OVERRIDE_SHIFT)) & SNVS_LPCR_PK_OVERRIDE_MASK)
  30768. #define SNVS_LPCR_GPR_Z_DIS_MASK (0x1000000U)
  30769. #define SNVS_LPCR_GPR_Z_DIS_SHIFT (24U)
  30770. #define SNVS_LPCR_GPR_Z_DIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_GPR_Z_DIS_SHIFT)) & SNVS_LPCR_GPR_Z_DIS_MASK)
  30771. /*! @} */
  30772. /*! @name LPMKCR - SNVS_LP Master Key Control Register */
  30773. /*! @{ */
  30774. #define SNVS_LPMKCR_MASTER_KEY_SEL_MASK (0x3U)
  30775. #define SNVS_LPMKCR_MASTER_KEY_SEL_SHIFT (0U)
  30776. /*! MASTER_KEY_SEL
  30777. * 0b0x..Select one time programmable master key.
  30778. * 0b10..Select zeroizable master key when MKS_EN bit is set .
  30779. * 0b11..Select combined master key when MKS_EN bit is set .
  30780. */
  30781. #define SNVS_LPMKCR_MASTER_KEY_SEL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_MASTER_KEY_SEL_SHIFT)) & SNVS_LPMKCR_MASTER_KEY_SEL_MASK)
  30782. #define SNVS_LPMKCR_ZMK_HWP_MASK (0x4U)
  30783. #define SNVS_LPMKCR_ZMK_HWP_SHIFT (2U)
  30784. /*! ZMK_HWP
  30785. * 0b0..ZMK is in the software programming mode.
  30786. * 0b1..ZMK is in the hardware programming mode.
  30787. */
  30788. #define SNVS_LPMKCR_ZMK_HWP(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_ZMK_HWP_SHIFT)) & SNVS_LPMKCR_ZMK_HWP_MASK)
  30789. #define SNVS_LPMKCR_ZMK_VAL_MASK (0x8U)
  30790. #define SNVS_LPMKCR_ZMK_VAL_SHIFT (3U)
  30791. /*! ZMK_VAL
  30792. * 0b0..ZMK is not valid.
  30793. * 0b1..ZMK is valid.
  30794. */
  30795. #define SNVS_LPMKCR_ZMK_VAL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_ZMK_VAL_SHIFT)) & SNVS_LPMKCR_ZMK_VAL_MASK)
  30796. #define SNVS_LPMKCR_ZMK_ECC_EN_MASK (0x10U)
  30797. #define SNVS_LPMKCR_ZMK_ECC_EN_SHIFT (4U)
  30798. /*! ZMK_ECC_EN
  30799. * 0b0..ZMK ECC check is disabled.
  30800. * 0b1..ZMK ECC check is enabled.
  30801. */
  30802. #define SNVS_LPMKCR_ZMK_ECC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_ZMK_ECC_EN_SHIFT)) & SNVS_LPMKCR_ZMK_ECC_EN_MASK)
  30803. #define SNVS_LPMKCR_ZMK_ECC_VALUE_MASK (0xFF80U)
  30804. #define SNVS_LPMKCR_ZMK_ECC_VALUE_SHIFT (7U)
  30805. #define SNVS_LPMKCR_ZMK_ECC_VALUE(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_ZMK_ECC_VALUE_SHIFT)) & SNVS_LPMKCR_ZMK_ECC_VALUE_MASK)
  30806. /*! @} */
  30807. /*! @name LPSVCR - SNVS_LP Security Violation Control Register */
  30808. /*! @{ */
  30809. #define SNVS_LPSVCR_SV0_EN_MASK (0x1U)
  30810. #define SNVS_LPSVCR_SV0_EN_SHIFT (0U)
  30811. /*! SV0_EN
  30812. * 0b0..Security Violation 0 is disabled in the LP domain.
  30813. * 0b1..Security Violation 0 is enabled in the LP domain.
  30814. */
  30815. #define SNVS_LPSVCR_SV0_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_SV0_EN_SHIFT)) & SNVS_LPSVCR_SV0_EN_MASK)
  30816. #define SNVS_LPSVCR_SV1_EN_MASK (0x2U)
  30817. #define SNVS_LPSVCR_SV1_EN_SHIFT (1U)
  30818. /*! SV1_EN
  30819. * 0b0..Security Violation 1 is disabled in the LP domain.
  30820. * 0b1..Security Violation 1 is enabled in the LP domain.
  30821. */
  30822. #define SNVS_LPSVCR_SV1_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_SV1_EN_SHIFT)) & SNVS_LPSVCR_SV1_EN_MASK)
  30823. #define SNVS_LPSVCR_SV2_EN_MASK (0x4U)
  30824. #define SNVS_LPSVCR_SV2_EN_SHIFT (2U)
  30825. /*! SV2_EN
  30826. * 0b0..Security Violation 2 is disabled in the LP domain.
  30827. * 0b1..Security Violation 2 is enabled in the LP domain.
  30828. */
  30829. #define SNVS_LPSVCR_SV2_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_SV2_EN_SHIFT)) & SNVS_LPSVCR_SV2_EN_MASK)
  30830. #define SNVS_LPSVCR_SV3_EN_MASK (0x8U)
  30831. #define SNVS_LPSVCR_SV3_EN_SHIFT (3U)
  30832. /*! SV3_EN
  30833. * 0b0..Security Violation 3 is disabled in the LP domain.
  30834. * 0b1..Security Violation 3 is enabled in the LP domain.
  30835. */
  30836. #define SNVS_LPSVCR_SV3_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_SV3_EN_SHIFT)) & SNVS_LPSVCR_SV3_EN_MASK)
  30837. #define SNVS_LPSVCR_SV4_EN_MASK (0x10U)
  30838. #define SNVS_LPSVCR_SV4_EN_SHIFT (4U)
  30839. /*! SV4_EN
  30840. * 0b0..Security Violation 4 is disabled in the LP domain.
  30841. * 0b1..Security Violation 4 is enabled in the LP domain.
  30842. */
  30843. #define SNVS_LPSVCR_SV4_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_SV4_EN_SHIFT)) & SNVS_LPSVCR_SV4_EN_MASK)
  30844. #define SNVS_LPSVCR_SV5_EN_MASK (0x20U)
  30845. #define SNVS_LPSVCR_SV5_EN_SHIFT (5U)
  30846. /*! SV5_EN
  30847. * 0b0..Security Violation 5 is disabled in the LP domain.
  30848. * 0b1..Security Violation 5 is enabled in the LP domain.
  30849. */
  30850. #define SNVS_LPSVCR_SV5_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_SV5_EN_SHIFT)) & SNVS_LPSVCR_SV5_EN_MASK)
  30851. /*! @} */
  30852. /*! @name LPSECR - SNVS_LP Security Events Configuration Register */
  30853. /*! @{ */
  30854. #define SNVS_LPSECR_SRTCR_EN_MASK (0x2U)
  30855. #define SNVS_LPSECR_SRTCR_EN_SHIFT (1U)
  30856. /*! SRTCR_EN
  30857. * 0b0..SRTC rollover is disabled.
  30858. * 0b1..SRTC rollover is enabled.
  30859. */
  30860. #define SNVS_LPSECR_SRTCR_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSECR_SRTCR_EN_SHIFT)) & SNVS_LPSECR_SRTCR_EN_MASK)
  30861. #define SNVS_LPSECR_MCR_EN_MASK (0x4U)
  30862. #define SNVS_LPSECR_MCR_EN_SHIFT (2U)
  30863. /*! MCR_EN
  30864. * 0b0..MC rollover is disabled.
  30865. * 0b1..MC rollover is enabled.
  30866. */
  30867. #define SNVS_LPSECR_MCR_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSECR_MCR_EN_SHIFT)) & SNVS_LPSECR_MCR_EN_MASK)
  30868. #define SNVS_LPSECR_PFD_OBSERV_MASK (0x4000U)
  30869. #define SNVS_LPSECR_PFD_OBSERV_SHIFT (14U)
  30870. #define SNVS_LPSECR_PFD_OBSERV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSECR_PFD_OBSERV_SHIFT)) & SNVS_LPSECR_PFD_OBSERV_MASK)
  30871. #define SNVS_LPSECR_POR_OBSERV_MASK (0x8000U)
  30872. #define SNVS_LPSECR_POR_OBSERV_SHIFT (15U)
  30873. #define SNVS_LPSECR_POR_OBSERV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSECR_POR_OBSERV_SHIFT)) & SNVS_LPSECR_POR_OBSERV_MASK)
  30874. #define SNVS_LPSECR_LTDC_MASK (0x70000U)
  30875. #define SNVS_LPSECR_LTDC_SHIFT (16U)
  30876. #define SNVS_LPSECR_LTDC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSECR_LTDC_SHIFT)) & SNVS_LPSECR_LTDC_MASK)
  30877. #define SNVS_LPSECR_HTDC_MASK (0x700000U)
  30878. #define SNVS_LPSECR_HTDC_SHIFT (20U)
  30879. #define SNVS_LPSECR_HTDC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSECR_HTDC_SHIFT)) & SNVS_LPSECR_HTDC_MASK)
  30880. #define SNVS_LPSECR_VRC_MASK (0x7000000U)
  30881. #define SNVS_LPSECR_VRC_SHIFT (24U)
  30882. #define SNVS_LPSECR_VRC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSECR_VRC_SHIFT)) & SNVS_LPSECR_VRC_MASK)
  30883. #define SNVS_LPSECR_OSCB_MASK (0x10000000U)
  30884. #define SNVS_LPSECR_OSCB_SHIFT (28U)
  30885. /*! OSCB
  30886. * 0b0..Normal SRTC clock oscillator not bypassed.
  30887. * 0b1..Normal SRTC clock oscillator bypassed. Alternate clock can drive the SRTC clock source.
  30888. */
  30889. #define SNVS_LPSECR_OSCB(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSECR_OSCB_SHIFT)) & SNVS_LPSECR_OSCB_MASK)
  30890. /*! @} */
  30891. /*! @name LPSR - SNVS_LP Status Register */
  30892. /*! @{ */
  30893. #define SNVS_LPSR_LPTA_MASK (0x1U)
  30894. #define SNVS_LPSR_LPTA_SHIFT (0U)
  30895. /*! LPTA
  30896. * 0b0..No time alarm interrupt occurred.
  30897. * 0b1..A time alarm interrupt occurred.
  30898. */
  30899. #define SNVS_LPSR_LPTA(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_LPTA_SHIFT)) & SNVS_LPSR_LPTA_MASK)
  30900. #define SNVS_LPSR_SRTCR_MASK (0x2U)
  30901. #define SNVS_LPSR_SRTCR_SHIFT (1U)
  30902. /*! SRTCR
  30903. * 0b0..SRTC has not reached its maximum value.
  30904. * 0b1..SRTC has reached its maximum value.
  30905. */
  30906. #define SNVS_LPSR_SRTCR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_SRTCR_SHIFT)) & SNVS_LPSR_SRTCR_MASK)
  30907. #define SNVS_LPSR_MCR_MASK (0x4U)
  30908. #define SNVS_LPSR_MCR_SHIFT (2U)
  30909. /*! MCR
  30910. * 0b0..MC has not reached its maximum value.
  30911. * 0b1..MC has reached its maximum value.
  30912. */
  30913. #define SNVS_LPSR_MCR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_MCR_SHIFT)) & SNVS_LPSR_MCR_MASK)
  30914. #define SNVS_LPSR_LVD_MASK (0x8U)
  30915. #define SNVS_LPSR_LVD_SHIFT (3U)
  30916. /*! LVD
  30917. * 0b0..No low voltage event detected.
  30918. * 0b1..Low voltage event is detected.
  30919. */
  30920. #define SNVS_LPSR_LVD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_LVD_SHIFT)) & SNVS_LPSR_LVD_MASK)
  30921. #define SNVS_LPSR_ESVD_MASK (0x10000U)
  30922. #define SNVS_LPSR_ESVD_SHIFT (16U)
  30923. /*! ESVD
  30924. * 0b0..No external security violation.
  30925. * 0b1..External security violation is detected.
  30926. */
  30927. #define SNVS_LPSR_ESVD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_ESVD_SHIFT)) & SNVS_LPSR_ESVD_MASK)
  30928. #define SNVS_LPSR_EO_MASK (0x20000U)
  30929. #define SNVS_LPSR_EO_SHIFT (17U)
  30930. /*! EO
  30931. * 0b0..Emergency off was not detected.
  30932. * 0b1..Emergency off was detected.
  30933. */
  30934. #define SNVS_LPSR_EO(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_EO_SHIFT)) & SNVS_LPSR_EO_MASK)
  30935. #define SNVS_LPSR_SPOF_MASK (0x40000U)
  30936. #define SNVS_LPSR_SPOF_SHIFT (18U)
  30937. /*! SPOF
  30938. * 0b0..Set Power Off was not detected.
  30939. * 0b1..Set Power Off was detected.
  30940. */
  30941. #define SNVS_LPSR_SPOF(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_SPOF_SHIFT)) & SNVS_LPSR_SPOF_MASK)
  30942. #define SNVS_LPSR_SPON_MASK (0x80000U)
  30943. #define SNVS_LPSR_SPON_SHIFT (19U)
  30944. /*! SPON
  30945. * 0b0..Set Power On Interrupt was not detected.
  30946. * 0b1..Set Power On Interrupt was detected.
  30947. */
  30948. #define SNVS_LPSR_SPON(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_SPON_SHIFT)) & SNVS_LPSR_SPON_MASK)
  30949. #define SNVS_LPSR_LPNS_MASK (0x40000000U)
  30950. #define SNVS_LPSR_LPNS_SHIFT (30U)
  30951. /*! LPNS
  30952. * 0b0..LP section was not programmed in the non-secure state.
  30953. * 0b1..LP section was programmed in the non-secure state.
  30954. */
  30955. #define SNVS_LPSR_LPNS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_LPNS_SHIFT)) & SNVS_LPSR_LPNS_MASK)
  30956. #define SNVS_LPSR_LPS_MASK (0x80000000U)
  30957. #define SNVS_LPSR_LPS_SHIFT (31U)
  30958. /*! LPS
  30959. * 0b0..LP section was not programmed in secure or trusted state.
  30960. * 0b1..LP section was programmed in secure or trusted state.
  30961. */
  30962. #define SNVS_LPSR_LPS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_LPS_SHIFT)) & SNVS_LPSR_LPS_MASK)
  30963. /*! @} */
  30964. /*! @name LPSRTCMR - SNVS_LP Secure Real Time Counter MSB Register */
  30965. /*! @{ */
  30966. #define SNVS_LPSRTCMR_SRTC_MASK (0x7FFFU)
  30967. #define SNVS_LPSRTCMR_SRTC_SHIFT (0U)
  30968. #define SNVS_LPSRTCMR_SRTC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSRTCMR_SRTC_SHIFT)) & SNVS_LPSRTCMR_SRTC_MASK)
  30969. /*! @} */
  30970. /*! @name LPSRTCLR - SNVS_LP Secure Real Time Counter LSB Register */
  30971. /*! @{ */
  30972. #define SNVS_LPSRTCLR_SRTC_MASK (0xFFFFFFFFU)
  30973. #define SNVS_LPSRTCLR_SRTC_SHIFT (0U)
  30974. #define SNVS_LPSRTCLR_SRTC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSRTCLR_SRTC_SHIFT)) & SNVS_LPSRTCLR_SRTC_MASK)
  30975. /*! @} */
  30976. /*! @name LPTAR - SNVS_LP Time Alarm Register */
  30977. /*! @{ */
  30978. #define SNVS_LPTAR_LPTA_MASK (0xFFFFFFFFU)
  30979. #define SNVS_LPTAR_LPTA_SHIFT (0U)
  30980. #define SNVS_LPTAR_LPTA(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTAR_LPTA_SHIFT)) & SNVS_LPTAR_LPTA_MASK)
  30981. /*! @} */
  30982. /*! @name LPSMCMR - SNVS_LP Secure Monotonic Counter MSB Register */
  30983. /*! @{ */
  30984. #define SNVS_LPSMCMR_MON_COUNTER_MASK (0xFFFFU)
  30985. #define SNVS_LPSMCMR_MON_COUNTER_SHIFT (0U)
  30986. #define SNVS_LPSMCMR_MON_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSMCMR_MON_COUNTER_SHIFT)) & SNVS_LPSMCMR_MON_COUNTER_MASK)
  30987. #define SNVS_LPSMCMR_MC_ERA_BITS_MASK (0xFFFF0000U)
  30988. #define SNVS_LPSMCMR_MC_ERA_BITS_SHIFT (16U)
  30989. #define SNVS_LPSMCMR_MC_ERA_BITS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSMCMR_MC_ERA_BITS_SHIFT)) & SNVS_LPSMCMR_MC_ERA_BITS_MASK)
  30990. /*! @} */
  30991. /*! @name LPSMCLR - SNVS_LP Secure Monotonic Counter LSB Register */
  30992. /*! @{ */
  30993. #define SNVS_LPSMCLR_MON_COUNTER_MASK (0xFFFFFFFFU)
  30994. #define SNVS_LPSMCLR_MON_COUNTER_SHIFT (0U)
  30995. #define SNVS_LPSMCLR_MON_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSMCLR_MON_COUNTER_SHIFT)) & SNVS_LPSMCLR_MON_COUNTER_MASK)
  30996. /*! @} */
  30997. /*! @name LPLVDR - SNVS_LP Digital Low-Voltage Detector Register */
  30998. /*! @{ */
  30999. #define SNVS_LPLVDR_LVD_MASK (0xFFFFFFFFU)
  31000. #define SNVS_LPLVDR_LVD_SHIFT (0U)
  31001. #define SNVS_LPLVDR_LVD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLVDR_LVD_SHIFT)) & SNVS_LPLVDR_LVD_MASK)
  31002. /*! @} */
  31003. /*! @name LPGPR0_LEGACY_ALIAS - SNVS_LP General Purpose Register 0 (legacy alias) */
  31004. /*! @{ */
  31005. #define SNVS_LPGPR0_LEGACY_ALIAS_GPR_MASK (0xFFFFFFFFU)
  31006. #define SNVS_LPGPR0_LEGACY_ALIAS_GPR_SHIFT (0U)
  31007. #define SNVS_LPGPR0_LEGACY_ALIAS_GPR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPGPR0_LEGACY_ALIAS_GPR_SHIFT)) & SNVS_LPGPR0_LEGACY_ALIAS_GPR_MASK)
  31008. /*! @} */
  31009. /*! @name LPZMKR - SNVS_LP Zeroizable Master Key Register */
  31010. /*! @{ */
  31011. #define SNVS_LPZMKR_ZMK_MASK (0xFFFFFFFFU)
  31012. #define SNVS_LPZMKR_ZMK_SHIFT (0U)
  31013. #define SNVS_LPZMKR_ZMK(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPZMKR_ZMK_SHIFT)) & SNVS_LPZMKR_ZMK_MASK)
  31014. /*! @} */
  31015. /* The count of SNVS_LPZMKR */
  31016. #define SNVS_LPZMKR_COUNT (8U)
  31017. /*! @name LPGPR_ALIAS - SNVS_LP General Purpose Registers 0 .. 3 */
  31018. /*! @{ */
  31019. #define SNVS_LPGPR_ALIAS_GPR_MASK (0xFFFFFFFFU)
  31020. #define SNVS_LPGPR_ALIAS_GPR_SHIFT (0U)
  31021. #define SNVS_LPGPR_ALIAS_GPR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPGPR_ALIAS_GPR_SHIFT)) & SNVS_LPGPR_ALIAS_GPR_MASK)
  31022. /*! @} */
  31023. /* The count of SNVS_LPGPR_ALIAS */
  31024. #define SNVS_LPGPR_ALIAS_COUNT (4U)
  31025. /*! @name LPGPR - SNVS_LP General Purpose Registers 0 .. 7 */
  31026. /*! @{ */
  31027. #define SNVS_LPGPR_GPR_MASK (0xFFFFFFFFU)
  31028. #define SNVS_LPGPR_GPR_SHIFT (0U)
  31029. #define SNVS_LPGPR_GPR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPGPR_GPR_SHIFT)) & SNVS_LPGPR_GPR_MASK)
  31030. /*! @} */
  31031. /* The count of SNVS_LPGPR */
  31032. #define SNVS_LPGPR_COUNT (8U)
  31033. /*! @name HPVIDR1 - SNVS_HP Version ID Register 1 */
  31034. /*! @{ */
  31035. #define SNVS_HPVIDR1_MINOR_REV_MASK (0xFFU)
  31036. #define SNVS_HPVIDR1_MINOR_REV_SHIFT (0U)
  31037. #define SNVS_HPVIDR1_MINOR_REV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR1_MINOR_REV_SHIFT)) & SNVS_HPVIDR1_MINOR_REV_MASK)
  31038. #define SNVS_HPVIDR1_MAJOR_REV_MASK (0xFF00U)
  31039. #define SNVS_HPVIDR1_MAJOR_REV_SHIFT (8U)
  31040. #define SNVS_HPVIDR1_MAJOR_REV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR1_MAJOR_REV_SHIFT)) & SNVS_HPVIDR1_MAJOR_REV_MASK)
  31041. #define SNVS_HPVIDR1_IP_ID_MASK (0xFFFF0000U)
  31042. #define SNVS_HPVIDR1_IP_ID_SHIFT (16U)
  31043. #define SNVS_HPVIDR1_IP_ID(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR1_IP_ID_SHIFT)) & SNVS_HPVIDR1_IP_ID_MASK)
  31044. /*! @} */
  31045. /*! @name HPVIDR2 - SNVS_HP Version ID Register 2 */
  31046. /*! @{ */
  31047. #define SNVS_HPVIDR2_CONFIG_OPT_MASK (0xFFU)
  31048. #define SNVS_HPVIDR2_CONFIG_OPT_SHIFT (0U)
  31049. #define SNVS_HPVIDR2_CONFIG_OPT(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR2_CONFIG_OPT_SHIFT)) & SNVS_HPVIDR2_CONFIG_OPT_MASK)
  31050. #define SNVS_HPVIDR2_ECO_REV_MASK (0xFF00U)
  31051. #define SNVS_HPVIDR2_ECO_REV_SHIFT (8U)
  31052. #define SNVS_HPVIDR2_ECO_REV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR2_ECO_REV_SHIFT)) & SNVS_HPVIDR2_ECO_REV_MASK)
  31053. #define SNVS_HPVIDR2_INTG_OPT_MASK (0xFF0000U)
  31054. #define SNVS_HPVIDR2_INTG_OPT_SHIFT (16U)
  31055. #define SNVS_HPVIDR2_INTG_OPT(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR2_INTG_OPT_SHIFT)) & SNVS_HPVIDR2_INTG_OPT_MASK)
  31056. #define SNVS_HPVIDR2_IP_ERA_MASK (0xFF000000U)
  31057. #define SNVS_HPVIDR2_IP_ERA_SHIFT (24U)
  31058. #define SNVS_HPVIDR2_IP_ERA(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR2_IP_ERA_SHIFT)) & SNVS_HPVIDR2_IP_ERA_MASK)
  31059. /*! @} */
  31060. /*!
  31061. * @}
  31062. */ /* end of group SNVS_Register_Masks */
  31063. /* SNVS - Peripheral instance base addresses */
  31064. /** Peripheral SNVS base address */
  31065. #define SNVS_BASE (0x400D4000u)
  31066. /** Peripheral SNVS base pointer */
  31067. #define SNVS ((SNVS_Type *)SNVS_BASE)
  31068. /** Array initializer of SNVS peripheral base addresses */
  31069. #define SNVS_BASE_ADDRS { SNVS_BASE }
  31070. /** Array initializer of SNVS peripheral base pointers */
  31071. #define SNVS_BASE_PTRS { SNVS }
  31072. /** Interrupt vectors for the SNVS peripheral type */
  31073. #define SNVS_IRQS { SNVS_LP_HP_WRAPPER_IRQn }
  31074. #define SNVS_CONSOLIDATED_IRQS { SNVS_HP_WRAPPER_IRQn }
  31075. #define SNVS_SECURITY_IRQS { SNVS_HP_WRAPPER_TZ_IRQn }
  31076. /*!
  31077. * @}
  31078. */ /* end of group SNVS_Peripheral_Access_Layer */
  31079. /* ----------------------------------------------------------------------------
  31080. -- SPDIF Peripheral Access Layer
  31081. ---------------------------------------------------------------------------- */
  31082. /*!
  31083. * @addtogroup SPDIF_Peripheral_Access_Layer SPDIF Peripheral Access Layer
  31084. * @{
  31085. */
  31086. /** SPDIF - Register Layout Typedef */
  31087. typedef struct {
  31088. __IO uint32_t SCR; /**< SPDIF Configuration Register, offset: 0x0 */
  31089. __IO uint32_t SRCD; /**< CDText Control Register, offset: 0x4 */
  31090. __IO uint32_t SRPC; /**< PhaseConfig Register, offset: 0x8 */
  31091. __IO uint32_t SIE; /**< InterruptEn Register, offset: 0xC */
  31092. union { /* offset: 0x10 */
  31093. __O uint32_t SIC; /**< InterruptClear Register, offset: 0x10 */
  31094. __I uint32_t SIS; /**< InterruptStat Register, offset: 0x10 */
  31095. };
  31096. __I uint32_t SRL; /**< SPDIFRxLeft Register, offset: 0x14 */
  31097. __I uint32_t SRR; /**< SPDIFRxRight Register, offset: 0x18 */
  31098. __I uint32_t SRCSH; /**< SPDIFRxCChannel_h Register, offset: 0x1C */
  31099. __I uint32_t SRCSL; /**< SPDIFRxCChannel_l Register, offset: 0x20 */
  31100. __I uint32_t SRU; /**< UchannelRx Register, offset: 0x24 */
  31101. __I uint32_t SRQ; /**< QchannelRx Register, offset: 0x28 */
  31102. __O uint32_t STL; /**< SPDIFTxLeft Register, offset: 0x2C */
  31103. __O uint32_t STR; /**< SPDIFTxRight Register, offset: 0x30 */
  31104. __IO uint32_t STCSCH; /**< SPDIFTxCChannelCons_h Register, offset: 0x34 */
  31105. __IO uint32_t STCSCL; /**< SPDIFTxCChannelCons_l Register, offset: 0x38 */
  31106. uint8_t RESERVED_0[8];
  31107. __I uint32_t SRFM; /**< FreqMeas Register, offset: 0x44 */
  31108. uint8_t RESERVED_1[8];
  31109. __IO uint32_t STC; /**< SPDIFTxClk Register, offset: 0x50 */
  31110. } SPDIF_Type;
  31111. /* ----------------------------------------------------------------------------
  31112. -- SPDIF Register Masks
  31113. ---------------------------------------------------------------------------- */
  31114. /*!
  31115. * @addtogroup SPDIF_Register_Masks SPDIF Register Masks
  31116. * @{
  31117. */
  31118. /*! @name SCR - SPDIF Configuration Register */
  31119. /*! @{ */
  31120. #define SPDIF_SCR_USRC_SEL_MASK (0x3U)
  31121. #define SPDIF_SCR_USRC_SEL_SHIFT (0U)
  31122. /*! USrc_Sel
  31123. * 0b00..No embedded U channel
  31124. * 0b01..U channel from SPDIF receive block (CD mode)
  31125. * 0b10..Reserved
  31126. * 0b11..U channel from on chip transmitter
  31127. */
  31128. #define SPDIF_SCR_USRC_SEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_USRC_SEL_SHIFT)) & SPDIF_SCR_USRC_SEL_MASK)
  31129. #define SPDIF_SCR_TXSEL_MASK (0x1CU)
  31130. #define SPDIF_SCR_TXSEL_SHIFT (2U)
  31131. /*! TxSel
  31132. * 0b000..Off and output 0
  31133. * 0b001..Feed-through SPDIFIN
  31134. * 0b101..Tx Normal operation
  31135. */
  31136. #define SPDIF_SCR_TXSEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_TXSEL_SHIFT)) & SPDIF_SCR_TXSEL_MASK)
  31137. #define SPDIF_SCR_VALCTRL_MASK (0x20U)
  31138. #define SPDIF_SCR_VALCTRL_SHIFT (5U)
  31139. /*! ValCtrl
  31140. * 0b0..Outgoing Validity always set
  31141. * 0b1..Outgoing Validity always clear
  31142. */
  31143. #define SPDIF_SCR_VALCTRL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_VALCTRL_SHIFT)) & SPDIF_SCR_VALCTRL_MASK)
  31144. #define SPDIF_SCR_DMA_TX_EN_MASK (0x100U)
  31145. #define SPDIF_SCR_DMA_TX_EN_SHIFT (8U)
  31146. #define SPDIF_SCR_DMA_TX_EN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_DMA_TX_EN_SHIFT)) & SPDIF_SCR_DMA_TX_EN_MASK)
  31147. #define SPDIF_SCR_DMA_RX_EN_MASK (0x200U)
  31148. #define SPDIF_SCR_DMA_RX_EN_SHIFT (9U)
  31149. #define SPDIF_SCR_DMA_RX_EN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_DMA_RX_EN_SHIFT)) & SPDIF_SCR_DMA_RX_EN_MASK)
  31150. #define SPDIF_SCR_TXFIFO_CTRL_MASK (0xC00U)
  31151. #define SPDIF_SCR_TXFIFO_CTRL_SHIFT (10U)
  31152. /*! TxFIFO_Ctrl
  31153. * 0b00..Send out digital zero on SPDIF Tx
  31154. * 0b01..Tx Normal operation
  31155. * 0b10..Reset to 1 sample remaining
  31156. * 0b11..Reserved
  31157. */
  31158. #define SPDIF_SCR_TXFIFO_CTRL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_TXFIFO_CTRL_SHIFT)) & SPDIF_SCR_TXFIFO_CTRL_MASK)
  31159. #define SPDIF_SCR_SOFT_RESET_MASK (0x1000U)
  31160. #define SPDIF_SCR_SOFT_RESET_SHIFT (12U)
  31161. #define SPDIF_SCR_SOFT_RESET(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_SOFT_RESET_SHIFT)) & SPDIF_SCR_SOFT_RESET_MASK)
  31162. #define SPDIF_SCR_LOW_POWER_MASK (0x2000U)
  31163. #define SPDIF_SCR_LOW_POWER_SHIFT (13U)
  31164. #define SPDIF_SCR_LOW_POWER(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_LOW_POWER_SHIFT)) & SPDIF_SCR_LOW_POWER_MASK)
  31165. #define SPDIF_SCR_TXFIFOEMPTY_SEL_MASK (0x18000U)
  31166. #define SPDIF_SCR_TXFIFOEMPTY_SEL_SHIFT (15U)
  31167. /*! TxFIFOEmpty_Sel
  31168. * 0b00..Empty interrupt if 0 sample in Tx left and right FIFOs
  31169. * 0b01..Empty interrupt if at most 4 sample in Tx left and right FIFOs
  31170. * 0b10..Empty interrupt if at most 8 sample in Tx left and right FIFOs
  31171. * 0b11..Empty interrupt if at most 12 sample in Tx left and right FIFOs
  31172. */
  31173. #define SPDIF_SCR_TXFIFOEMPTY_SEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_TXFIFOEMPTY_SEL_SHIFT)) & SPDIF_SCR_TXFIFOEMPTY_SEL_MASK)
  31174. #define SPDIF_SCR_TXAUTOSYNC_MASK (0x20000U)
  31175. #define SPDIF_SCR_TXAUTOSYNC_SHIFT (17U)
  31176. /*! TxAutoSync
  31177. * 0b0..Tx FIFO auto sync off
  31178. * 0b1..Tx FIFO auto sync on
  31179. */
  31180. #define SPDIF_SCR_TXAUTOSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_TXAUTOSYNC_SHIFT)) & SPDIF_SCR_TXAUTOSYNC_MASK)
  31181. #define SPDIF_SCR_RXAUTOSYNC_MASK (0x40000U)
  31182. #define SPDIF_SCR_RXAUTOSYNC_SHIFT (18U)
  31183. /*! RxAutoSync
  31184. * 0b0..Rx FIFO auto sync off
  31185. * 0b1..RxFIFO auto sync on
  31186. */
  31187. #define SPDIF_SCR_RXAUTOSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXAUTOSYNC_SHIFT)) & SPDIF_SCR_RXAUTOSYNC_MASK)
  31188. #define SPDIF_SCR_RXFIFOFULL_SEL_MASK (0x180000U)
  31189. #define SPDIF_SCR_RXFIFOFULL_SEL_SHIFT (19U)
  31190. /*! RxFIFOFull_Sel
  31191. * 0b00..Full interrupt if at least 1 sample in Rx left and right FIFOs
  31192. * 0b01..Full interrupt if at least 4 sample in Rx left and right FIFOs
  31193. * 0b10..Full interrupt if at least 8 sample in Rx left and right FIFOs
  31194. * 0b11..Full interrupt if at least 16 sample in Rx left and right FIFO
  31195. */
  31196. #define SPDIF_SCR_RXFIFOFULL_SEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXFIFOFULL_SEL_SHIFT)) & SPDIF_SCR_RXFIFOFULL_SEL_MASK)
  31197. #define SPDIF_SCR_RXFIFO_RST_MASK (0x200000U)
  31198. #define SPDIF_SCR_RXFIFO_RST_SHIFT (21U)
  31199. /*! RxFIFO_Rst
  31200. * 0b0..Normal operation
  31201. * 0b1..Reset register to 1 sample remaining
  31202. */
  31203. #define SPDIF_SCR_RXFIFO_RST(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXFIFO_RST_SHIFT)) & SPDIF_SCR_RXFIFO_RST_MASK)
  31204. #define SPDIF_SCR_RXFIFO_OFF_ON_MASK (0x400000U)
  31205. #define SPDIF_SCR_RXFIFO_OFF_ON_SHIFT (22U)
  31206. /*! RxFIFO_Off_On
  31207. * 0b0..SPDIF Rx FIFO is on
  31208. * 0b1..SPDIF Rx FIFO is off. Does not accept data from interface
  31209. */
  31210. #define SPDIF_SCR_RXFIFO_OFF_ON(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXFIFO_OFF_ON_SHIFT)) & SPDIF_SCR_RXFIFO_OFF_ON_MASK)
  31211. #define SPDIF_SCR_RXFIFO_CTRL_MASK (0x800000U)
  31212. #define SPDIF_SCR_RXFIFO_CTRL_SHIFT (23U)
  31213. /*! RxFIFO_Ctrl
  31214. * 0b0..Normal operation
  31215. * 0b1..Always read zero from Rx data register
  31216. */
  31217. #define SPDIF_SCR_RXFIFO_CTRL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXFIFO_CTRL_SHIFT)) & SPDIF_SCR_RXFIFO_CTRL_MASK)
  31218. /*! @} */
  31219. /*! @name SRCD - CDText Control Register */
  31220. /*! @{ */
  31221. #define SPDIF_SRCD_USYNCMODE_MASK (0x2U)
  31222. #define SPDIF_SRCD_USYNCMODE_SHIFT (1U)
  31223. /*! USyncMode
  31224. * 0b0..Non-CD data
  31225. * 0b1..CD user channel subcode
  31226. */
  31227. #define SPDIF_SRCD_USYNCMODE(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRCD_USYNCMODE_SHIFT)) & SPDIF_SRCD_USYNCMODE_MASK)
  31228. /*! @} */
  31229. /*! @name SRPC - PhaseConfig Register */
  31230. /*! @{ */
  31231. #define SPDIF_SRPC_GAINSEL_MASK (0x38U)
  31232. #define SPDIF_SRPC_GAINSEL_SHIFT (3U)
  31233. /*! GainSel
  31234. * 0b000..24*(2**10)
  31235. * 0b001..16*(2**10)
  31236. * 0b010..12*(2**10)
  31237. * 0b011..8*(2**10)
  31238. * 0b100..6*(2**10)
  31239. * 0b101..4*(2**10)
  31240. * 0b110..3*(2**10)
  31241. */
  31242. #define SPDIF_SRPC_GAINSEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRPC_GAINSEL_SHIFT)) & SPDIF_SRPC_GAINSEL_MASK)
  31243. #define SPDIF_SRPC_LOCK_MASK (0x40U)
  31244. #define SPDIF_SRPC_LOCK_SHIFT (6U)
  31245. #define SPDIF_SRPC_LOCK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRPC_LOCK_SHIFT)) & SPDIF_SRPC_LOCK_MASK)
  31246. #define SPDIF_SRPC_CLKSRC_SEL_MASK (0x780U)
  31247. #define SPDIF_SRPC_CLKSRC_SEL_SHIFT (7U)
  31248. /*! ClkSrc_Sel
  31249. * 0b0000..if (DPLL Locked) SPDIF_RxClk else REF_CLK_32K (XTALOSC)
  31250. * 0b0001..if (DPLL Locked) SPDIF_RxClk else tx_clk (SPDIF0_CLK_ROOT)
  31251. * 0b0011..if (DPLL Locked) SPDIF_RxClk else SPDIF_EXT_CLK
  31252. * 0b0101..REF_CLK_32K (XTALOSC)
  31253. * 0b0110..tx_clk (SPDIF0_CLK_ROOT)
  31254. * 0b1000..SPDIF_EXT_CLK
  31255. */
  31256. #define SPDIF_SRPC_CLKSRC_SEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRPC_CLKSRC_SEL_SHIFT)) & SPDIF_SRPC_CLKSRC_SEL_MASK)
  31257. /*! @} */
  31258. /*! @name SIE - InterruptEn Register */
  31259. /*! @{ */
  31260. #define SPDIF_SIE_RXFIFOFUL_MASK (0x1U)
  31261. #define SPDIF_SIE_RXFIFOFUL_SHIFT (0U)
  31262. #define SPDIF_SIE_RXFIFOFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_RXFIFOFUL_SHIFT)) & SPDIF_SIE_RXFIFOFUL_MASK)
  31263. #define SPDIF_SIE_TXEM_MASK (0x2U)
  31264. #define SPDIF_SIE_TXEM_SHIFT (1U)
  31265. #define SPDIF_SIE_TXEM(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_TXEM_SHIFT)) & SPDIF_SIE_TXEM_MASK)
  31266. #define SPDIF_SIE_LOCKLOSS_MASK (0x4U)
  31267. #define SPDIF_SIE_LOCKLOSS_SHIFT (2U)
  31268. #define SPDIF_SIE_LOCKLOSS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_LOCKLOSS_SHIFT)) & SPDIF_SIE_LOCKLOSS_MASK)
  31269. #define SPDIF_SIE_RXFIFORESYN_MASK (0x8U)
  31270. #define SPDIF_SIE_RXFIFORESYN_SHIFT (3U)
  31271. #define SPDIF_SIE_RXFIFORESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_RXFIFORESYN_SHIFT)) & SPDIF_SIE_RXFIFORESYN_MASK)
  31272. #define SPDIF_SIE_RXFIFOUNOV_MASK (0x10U)
  31273. #define SPDIF_SIE_RXFIFOUNOV_SHIFT (4U)
  31274. #define SPDIF_SIE_RXFIFOUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_RXFIFOUNOV_SHIFT)) & SPDIF_SIE_RXFIFOUNOV_MASK)
  31275. #define SPDIF_SIE_UQERR_MASK (0x20U)
  31276. #define SPDIF_SIE_UQERR_SHIFT (5U)
  31277. #define SPDIF_SIE_UQERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_UQERR_SHIFT)) & SPDIF_SIE_UQERR_MASK)
  31278. #define SPDIF_SIE_UQSYNC_MASK (0x40U)
  31279. #define SPDIF_SIE_UQSYNC_SHIFT (6U)
  31280. #define SPDIF_SIE_UQSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_UQSYNC_SHIFT)) & SPDIF_SIE_UQSYNC_MASK)
  31281. #define SPDIF_SIE_QRXOV_MASK (0x80U)
  31282. #define SPDIF_SIE_QRXOV_SHIFT (7U)
  31283. #define SPDIF_SIE_QRXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_QRXOV_SHIFT)) & SPDIF_SIE_QRXOV_MASK)
  31284. #define SPDIF_SIE_QRXFUL_MASK (0x100U)
  31285. #define SPDIF_SIE_QRXFUL_SHIFT (8U)
  31286. #define SPDIF_SIE_QRXFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_QRXFUL_SHIFT)) & SPDIF_SIE_QRXFUL_MASK)
  31287. #define SPDIF_SIE_URXOV_MASK (0x200U)
  31288. #define SPDIF_SIE_URXOV_SHIFT (9U)
  31289. #define SPDIF_SIE_URXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_URXOV_SHIFT)) & SPDIF_SIE_URXOV_MASK)
  31290. #define SPDIF_SIE_URXFUL_MASK (0x400U)
  31291. #define SPDIF_SIE_URXFUL_SHIFT (10U)
  31292. #define SPDIF_SIE_URXFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_URXFUL_SHIFT)) & SPDIF_SIE_URXFUL_MASK)
  31293. #define SPDIF_SIE_BITERR_MASK (0x4000U)
  31294. #define SPDIF_SIE_BITERR_SHIFT (14U)
  31295. #define SPDIF_SIE_BITERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_BITERR_SHIFT)) & SPDIF_SIE_BITERR_MASK)
  31296. #define SPDIF_SIE_SYMERR_MASK (0x8000U)
  31297. #define SPDIF_SIE_SYMERR_SHIFT (15U)
  31298. #define SPDIF_SIE_SYMERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_SYMERR_SHIFT)) & SPDIF_SIE_SYMERR_MASK)
  31299. #define SPDIF_SIE_VALNOGOOD_MASK (0x10000U)
  31300. #define SPDIF_SIE_VALNOGOOD_SHIFT (16U)
  31301. #define SPDIF_SIE_VALNOGOOD(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_VALNOGOOD_SHIFT)) & SPDIF_SIE_VALNOGOOD_MASK)
  31302. #define SPDIF_SIE_CNEW_MASK (0x20000U)
  31303. #define SPDIF_SIE_CNEW_SHIFT (17U)
  31304. #define SPDIF_SIE_CNEW(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_CNEW_SHIFT)) & SPDIF_SIE_CNEW_MASK)
  31305. #define SPDIF_SIE_TXRESYN_MASK (0x40000U)
  31306. #define SPDIF_SIE_TXRESYN_SHIFT (18U)
  31307. #define SPDIF_SIE_TXRESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_TXRESYN_SHIFT)) & SPDIF_SIE_TXRESYN_MASK)
  31308. #define SPDIF_SIE_TXUNOV_MASK (0x80000U)
  31309. #define SPDIF_SIE_TXUNOV_SHIFT (19U)
  31310. #define SPDIF_SIE_TXUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_TXUNOV_SHIFT)) & SPDIF_SIE_TXUNOV_MASK)
  31311. #define SPDIF_SIE_LOCK_MASK (0x100000U)
  31312. #define SPDIF_SIE_LOCK_SHIFT (20U)
  31313. #define SPDIF_SIE_LOCK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_LOCK_SHIFT)) & SPDIF_SIE_LOCK_MASK)
  31314. /*! @} */
  31315. /*! @name SIC - InterruptClear Register */
  31316. /*! @{ */
  31317. #define SPDIF_SIC_LOCKLOSS_MASK (0x4U)
  31318. #define SPDIF_SIC_LOCKLOSS_SHIFT (2U)
  31319. #define SPDIF_SIC_LOCKLOSS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_LOCKLOSS_SHIFT)) & SPDIF_SIC_LOCKLOSS_MASK)
  31320. #define SPDIF_SIC_RXFIFORESYN_MASK (0x8U)
  31321. #define SPDIF_SIC_RXFIFORESYN_SHIFT (3U)
  31322. #define SPDIF_SIC_RXFIFORESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_RXFIFORESYN_SHIFT)) & SPDIF_SIC_RXFIFORESYN_MASK)
  31323. #define SPDIF_SIC_RXFIFOUNOV_MASK (0x10U)
  31324. #define SPDIF_SIC_RXFIFOUNOV_SHIFT (4U)
  31325. #define SPDIF_SIC_RXFIFOUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_RXFIFOUNOV_SHIFT)) & SPDIF_SIC_RXFIFOUNOV_MASK)
  31326. #define SPDIF_SIC_UQERR_MASK (0x20U)
  31327. #define SPDIF_SIC_UQERR_SHIFT (5U)
  31328. #define SPDIF_SIC_UQERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_UQERR_SHIFT)) & SPDIF_SIC_UQERR_MASK)
  31329. #define SPDIF_SIC_UQSYNC_MASK (0x40U)
  31330. #define SPDIF_SIC_UQSYNC_SHIFT (6U)
  31331. #define SPDIF_SIC_UQSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_UQSYNC_SHIFT)) & SPDIF_SIC_UQSYNC_MASK)
  31332. #define SPDIF_SIC_QRXOV_MASK (0x80U)
  31333. #define SPDIF_SIC_QRXOV_SHIFT (7U)
  31334. #define SPDIF_SIC_QRXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_QRXOV_SHIFT)) & SPDIF_SIC_QRXOV_MASK)
  31335. #define SPDIF_SIC_URXOV_MASK (0x200U)
  31336. #define SPDIF_SIC_URXOV_SHIFT (9U)
  31337. #define SPDIF_SIC_URXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_URXOV_SHIFT)) & SPDIF_SIC_URXOV_MASK)
  31338. #define SPDIF_SIC_BITERR_MASK (0x4000U)
  31339. #define SPDIF_SIC_BITERR_SHIFT (14U)
  31340. #define SPDIF_SIC_BITERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_BITERR_SHIFT)) & SPDIF_SIC_BITERR_MASK)
  31341. #define SPDIF_SIC_SYMERR_MASK (0x8000U)
  31342. #define SPDIF_SIC_SYMERR_SHIFT (15U)
  31343. #define SPDIF_SIC_SYMERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_SYMERR_SHIFT)) & SPDIF_SIC_SYMERR_MASK)
  31344. #define SPDIF_SIC_VALNOGOOD_MASK (0x10000U)
  31345. #define SPDIF_SIC_VALNOGOOD_SHIFT (16U)
  31346. #define SPDIF_SIC_VALNOGOOD(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_VALNOGOOD_SHIFT)) & SPDIF_SIC_VALNOGOOD_MASK)
  31347. #define SPDIF_SIC_CNEW_MASK (0x20000U)
  31348. #define SPDIF_SIC_CNEW_SHIFT (17U)
  31349. #define SPDIF_SIC_CNEW(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_CNEW_SHIFT)) & SPDIF_SIC_CNEW_MASK)
  31350. #define SPDIF_SIC_TXRESYN_MASK (0x40000U)
  31351. #define SPDIF_SIC_TXRESYN_SHIFT (18U)
  31352. #define SPDIF_SIC_TXRESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_TXRESYN_SHIFT)) & SPDIF_SIC_TXRESYN_MASK)
  31353. #define SPDIF_SIC_TXUNOV_MASK (0x80000U)
  31354. #define SPDIF_SIC_TXUNOV_SHIFT (19U)
  31355. #define SPDIF_SIC_TXUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_TXUNOV_SHIFT)) & SPDIF_SIC_TXUNOV_MASK)
  31356. #define SPDIF_SIC_LOCK_MASK (0x100000U)
  31357. #define SPDIF_SIC_LOCK_SHIFT (20U)
  31358. #define SPDIF_SIC_LOCK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_LOCK_SHIFT)) & SPDIF_SIC_LOCK_MASK)
  31359. /*! @} */
  31360. /*! @name SIS - InterruptStat Register */
  31361. /*! @{ */
  31362. #define SPDIF_SIS_RXFIFOFUL_MASK (0x1U)
  31363. #define SPDIF_SIS_RXFIFOFUL_SHIFT (0U)
  31364. #define SPDIF_SIS_RXFIFOFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_RXFIFOFUL_SHIFT)) & SPDIF_SIS_RXFIFOFUL_MASK)
  31365. #define SPDIF_SIS_TXEM_MASK (0x2U)
  31366. #define SPDIF_SIS_TXEM_SHIFT (1U)
  31367. #define SPDIF_SIS_TXEM(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_TXEM_SHIFT)) & SPDIF_SIS_TXEM_MASK)
  31368. #define SPDIF_SIS_LOCKLOSS_MASK (0x4U)
  31369. #define SPDIF_SIS_LOCKLOSS_SHIFT (2U)
  31370. #define SPDIF_SIS_LOCKLOSS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_LOCKLOSS_SHIFT)) & SPDIF_SIS_LOCKLOSS_MASK)
  31371. #define SPDIF_SIS_RXFIFORESYN_MASK (0x8U)
  31372. #define SPDIF_SIS_RXFIFORESYN_SHIFT (3U)
  31373. #define SPDIF_SIS_RXFIFORESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_RXFIFORESYN_SHIFT)) & SPDIF_SIS_RXFIFORESYN_MASK)
  31374. #define SPDIF_SIS_RXFIFOUNOV_MASK (0x10U)
  31375. #define SPDIF_SIS_RXFIFOUNOV_SHIFT (4U)
  31376. #define SPDIF_SIS_RXFIFOUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_RXFIFOUNOV_SHIFT)) & SPDIF_SIS_RXFIFOUNOV_MASK)
  31377. #define SPDIF_SIS_UQERR_MASK (0x20U)
  31378. #define SPDIF_SIS_UQERR_SHIFT (5U)
  31379. #define SPDIF_SIS_UQERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_UQERR_SHIFT)) & SPDIF_SIS_UQERR_MASK)
  31380. #define SPDIF_SIS_UQSYNC_MASK (0x40U)
  31381. #define SPDIF_SIS_UQSYNC_SHIFT (6U)
  31382. #define SPDIF_SIS_UQSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_UQSYNC_SHIFT)) & SPDIF_SIS_UQSYNC_MASK)
  31383. #define SPDIF_SIS_QRXOV_MASK (0x80U)
  31384. #define SPDIF_SIS_QRXOV_SHIFT (7U)
  31385. #define SPDIF_SIS_QRXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_QRXOV_SHIFT)) & SPDIF_SIS_QRXOV_MASK)
  31386. #define SPDIF_SIS_QRXFUL_MASK (0x100U)
  31387. #define SPDIF_SIS_QRXFUL_SHIFT (8U)
  31388. #define SPDIF_SIS_QRXFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_QRXFUL_SHIFT)) & SPDIF_SIS_QRXFUL_MASK)
  31389. #define SPDIF_SIS_URXOV_MASK (0x200U)
  31390. #define SPDIF_SIS_URXOV_SHIFT (9U)
  31391. #define SPDIF_SIS_URXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_URXOV_SHIFT)) & SPDIF_SIS_URXOV_MASK)
  31392. #define SPDIF_SIS_URXFUL_MASK (0x400U)
  31393. #define SPDIF_SIS_URXFUL_SHIFT (10U)
  31394. #define SPDIF_SIS_URXFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_URXFUL_SHIFT)) & SPDIF_SIS_URXFUL_MASK)
  31395. #define SPDIF_SIS_BITERR_MASK (0x4000U)
  31396. #define SPDIF_SIS_BITERR_SHIFT (14U)
  31397. #define SPDIF_SIS_BITERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_BITERR_SHIFT)) & SPDIF_SIS_BITERR_MASK)
  31398. #define SPDIF_SIS_SYMERR_MASK (0x8000U)
  31399. #define SPDIF_SIS_SYMERR_SHIFT (15U)
  31400. #define SPDIF_SIS_SYMERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_SYMERR_SHIFT)) & SPDIF_SIS_SYMERR_MASK)
  31401. #define SPDIF_SIS_VALNOGOOD_MASK (0x10000U)
  31402. #define SPDIF_SIS_VALNOGOOD_SHIFT (16U)
  31403. #define SPDIF_SIS_VALNOGOOD(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_VALNOGOOD_SHIFT)) & SPDIF_SIS_VALNOGOOD_MASK)
  31404. #define SPDIF_SIS_CNEW_MASK (0x20000U)
  31405. #define SPDIF_SIS_CNEW_SHIFT (17U)
  31406. #define SPDIF_SIS_CNEW(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_CNEW_SHIFT)) & SPDIF_SIS_CNEW_MASK)
  31407. #define SPDIF_SIS_TXRESYN_MASK (0x40000U)
  31408. #define SPDIF_SIS_TXRESYN_SHIFT (18U)
  31409. #define SPDIF_SIS_TXRESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_TXRESYN_SHIFT)) & SPDIF_SIS_TXRESYN_MASK)
  31410. #define SPDIF_SIS_TXUNOV_MASK (0x80000U)
  31411. #define SPDIF_SIS_TXUNOV_SHIFT (19U)
  31412. #define SPDIF_SIS_TXUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_TXUNOV_SHIFT)) & SPDIF_SIS_TXUNOV_MASK)
  31413. #define SPDIF_SIS_LOCK_MASK (0x100000U)
  31414. #define SPDIF_SIS_LOCK_SHIFT (20U)
  31415. #define SPDIF_SIS_LOCK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_LOCK_SHIFT)) & SPDIF_SIS_LOCK_MASK)
  31416. /*! @} */
  31417. /*! @name SRL - SPDIFRxLeft Register */
  31418. /*! @{ */
  31419. #define SPDIF_SRL_RXDATALEFT_MASK (0xFFFFFFU)
  31420. #define SPDIF_SRL_RXDATALEFT_SHIFT (0U)
  31421. #define SPDIF_SRL_RXDATALEFT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRL_RXDATALEFT_SHIFT)) & SPDIF_SRL_RXDATALEFT_MASK)
  31422. /*! @} */
  31423. /*! @name SRR - SPDIFRxRight Register */
  31424. /*! @{ */
  31425. #define SPDIF_SRR_RXDATARIGHT_MASK (0xFFFFFFU)
  31426. #define SPDIF_SRR_RXDATARIGHT_SHIFT (0U)
  31427. #define SPDIF_SRR_RXDATARIGHT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRR_RXDATARIGHT_SHIFT)) & SPDIF_SRR_RXDATARIGHT_MASK)
  31428. /*! @} */
  31429. /*! @name SRCSH - SPDIFRxCChannel_h Register */
  31430. /*! @{ */
  31431. #define SPDIF_SRCSH_RXCCHANNEL_H_MASK (0xFFFFFFU)
  31432. #define SPDIF_SRCSH_RXCCHANNEL_H_SHIFT (0U)
  31433. #define SPDIF_SRCSH_RXCCHANNEL_H(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRCSH_RXCCHANNEL_H_SHIFT)) & SPDIF_SRCSH_RXCCHANNEL_H_MASK)
  31434. /*! @} */
  31435. /*! @name SRCSL - SPDIFRxCChannel_l Register */
  31436. /*! @{ */
  31437. #define SPDIF_SRCSL_RXCCHANNEL_L_MASK (0xFFFFFFU)
  31438. #define SPDIF_SRCSL_RXCCHANNEL_L_SHIFT (0U)
  31439. #define SPDIF_SRCSL_RXCCHANNEL_L(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRCSL_RXCCHANNEL_L_SHIFT)) & SPDIF_SRCSL_RXCCHANNEL_L_MASK)
  31440. /*! @} */
  31441. /*! @name SRU - UchannelRx Register */
  31442. /*! @{ */
  31443. #define SPDIF_SRU_RXUCHANNEL_MASK (0xFFFFFFU)
  31444. #define SPDIF_SRU_RXUCHANNEL_SHIFT (0U)
  31445. #define SPDIF_SRU_RXUCHANNEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRU_RXUCHANNEL_SHIFT)) & SPDIF_SRU_RXUCHANNEL_MASK)
  31446. /*! @} */
  31447. /*! @name SRQ - QchannelRx Register */
  31448. /*! @{ */
  31449. #define SPDIF_SRQ_RXQCHANNEL_MASK (0xFFFFFFU)
  31450. #define SPDIF_SRQ_RXQCHANNEL_SHIFT (0U)
  31451. #define SPDIF_SRQ_RXQCHANNEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRQ_RXQCHANNEL_SHIFT)) & SPDIF_SRQ_RXQCHANNEL_MASK)
  31452. /*! @} */
  31453. /*! @name STL - SPDIFTxLeft Register */
  31454. /*! @{ */
  31455. #define SPDIF_STL_TXDATALEFT_MASK (0xFFFFFFU)
  31456. #define SPDIF_STL_TXDATALEFT_SHIFT (0U)
  31457. #define SPDIF_STL_TXDATALEFT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STL_TXDATALEFT_SHIFT)) & SPDIF_STL_TXDATALEFT_MASK)
  31458. /*! @} */
  31459. /*! @name STR - SPDIFTxRight Register */
  31460. /*! @{ */
  31461. #define SPDIF_STR_TXDATARIGHT_MASK (0xFFFFFFU)
  31462. #define SPDIF_STR_TXDATARIGHT_SHIFT (0U)
  31463. #define SPDIF_STR_TXDATARIGHT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STR_TXDATARIGHT_SHIFT)) & SPDIF_STR_TXDATARIGHT_MASK)
  31464. /*! @} */
  31465. /*! @name STCSCH - SPDIFTxCChannelCons_h Register */
  31466. /*! @{ */
  31467. #define SPDIF_STCSCH_TXCCHANNELCONS_H_MASK (0xFFFFFFU)
  31468. #define SPDIF_STCSCH_TXCCHANNELCONS_H_SHIFT (0U)
  31469. #define SPDIF_STCSCH_TXCCHANNELCONS_H(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STCSCH_TXCCHANNELCONS_H_SHIFT)) & SPDIF_STCSCH_TXCCHANNELCONS_H_MASK)
  31470. /*! @} */
  31471. /*! @name STCSCL - SPDIFTxCChannelCons_l Register */
  31472. /*! @{ */
  31473. #define SPDIF_STCSCL_TXCCHANNELCONS_L_MASK (0xFFFFFFU)
  31474. #define SPDIF_STCSCL_TXCCHANNELCONS_L_SHIFT (0U)
  31475. #define SPDIF_STCSCL_TXCCHANNELCONS_L(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STCSCL_TXCCHANNELCONS_L_SHIFT)) & SPDIF_STCSCL_TXCCHANNELCONS_L_MASK)
  31476. /*! @} */
  31477. /*! @name SRFM - FreqMeas Register */
  31478. /*! @{ */
  31479. #define SPDIF_SRFM_FREQMEAS_MASK (0xFFFFFFU)
  31480. #define SPDIF_SRFM_FREQMEAS_SHIFT (0U)
  31481. #define SPDIF_SRFM_FREQMEAS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRFM_FREQMEAS_SHIFT)) & SPDIF_SRFM_FREQMEAS_MASK)
  31482. /*! @} */
  31483. /*! @name STC - SPDIFTxClk Register */
  31484. /*! @{ */
  31485. #define SPDIF_STC_TXCLK_DF_MASK (0x7FU)
  31486. #define SPDIF_STC_TXCLK_DF_SHIFT (0U)
  31487. /*! TxClk_DF
  31488. * 0b0000000..divider factor is 1
  31489. * 0b0000001..divider factor is 2
  31490. * 0b1111111..divider factor is 128
  31491. */
  31492. #define SPDIF_STC_TXCLK_DF(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STC_TXCLK_DF_SHIFT)) & SPDIF_STC_TXCLK_DF_MASK)
  31493. #define SPDIF_STC_TX_ALL_CLK_EN_MASK (0x80U)
  31494. #define SPDIF_STC_TX_ALL_CLK_EN_SHIFT (7U)
  31495. /*! tx_all_clk_en
  31496. * 0b0..disable transfer clock.
  31497. * 0b1..enable transfer clock.
  31498. */
  31499. #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)
  31500. #define SPDIF_STC_TXCLK_SOURCE_MASK (0x700U)
  31501. #define SPDIF_STC_TXCLK_SOURCE_SHIFT (8U)
  31502. /*! TxClk_Source
  31503. * 0b000..XTALOSC input (XTALOSC clock)
  31504. * 0b001..tx_clk input (from SPDIF0_CLK_ROOT. See CCM.)
  31505. * 0b010..tx_clk1 (from SAI1)
  31506. * 0b011..tx_clk2 SPDIF_EXT_CLK, from pads
  31507. * 0b100..tx_clk3 (from SAI2)
  31508. * 0b101..ipg_clk input (frequency divided)
  31509. * 0b110..tx_clk4 (from SAI3)
  31510. */
  31511. #define SPDIF_STC_TXCLK_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STC_TXCLK_SOURCE_SHIFT)) & SPDIF_STC_TXCLK_SOURCE_MASK)
  31512. #define SPDIF_STC_SYSCLK_DF_MASK (0xFF800U)
  31513. #define SPDIF_STC_SYSCLK_DF_SHIFT (11U)
  31514. /*! SYSCLK_DF
  31515. * 0b000000000..no clock signal
  31516. * 0b000000001..divider factor is 2
  31517. * 0b111111111..divider factor is 512
  31518. */
  31519. #define SPDIF_STC_SYSCLK_DF(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STC_SYSCLK_DF_SHIFT)) & SPDIF_STC_SYSCLK_DF_MASK)
  31520. /*! @} */
  31521. /*!
  31522. * @}
  31523. */ /* end of group SPDIF_Register_Masks */
  31524. /* SPDIF - Peripheral instance base addresses */
  31525. /** Peripheral SPDIF base address */
  31526. #define SPDIF_BASE (0x40380000u)
  31527. /** Peripheral SPDIF base pointer */
  31528. #define SPDIF ((SPDIF_Type *)SPDIF_BASE)
  31529. /** Array initializer of SPDIF peripheral base addresses */
  31530. #define SPDIF_BASE_ADDRS { SPDIF_BASE }
  31531. /** Array initializer of SPDIF peripheral base pointers */
  31532. #define SPDIF_BASE_PTRS { SPDIF }
  31533. /** Interrupt vectors for the SPDIF peripheral type */
  31534. #define SPDIF_IRQS { SPDIF_IRQn }
  31535. /*!
  31536. * @}
  31537. */ /* end of group SPDIF_Peripheral_Access_Layer */
  31538. /* ----------------------------------------------------------------------------
  31539. -- SRC Peripheral Access Layer
  31540. ---------------------------------------------------------------------------- */
  31541. /*!
  31542. * @addtogroup SRC_Peripheral_Access_Layer SRC Peripheral Access Layer
  31543. * @{
  31544. */
  31545. /** SRC - Register Layout Typedef */
  31546. typedef struct {
  31547. __IO uint32_t SCR; /**< SRC Control Register, offset: 0x0 */
  31548. __I uint32_t SBMR1; /**< SRC Boot Mode Register 1, offset: 0x4 */
  31549. __IO uint32_t SRSR; /**< SRC Reset Status Register, offset: 0x8 */
  31550. uint8_t RESERVED_0[16];
  31551. __I uint32_t SBMR2; /**< SRC Boot Mode Register 2, offset: 0x1C */
  31552. __IO uint32_t GPR[10]; /**< SRC General Purpose Register 1..SRC General Purpose Register 10, array offset: 0x20, array step: 0x4 */
  31553. } SRC_Type;
  31554. /* ----------------------------------------------------------------------------
  31555. -- SRC Register Masks
  31556. ---------------------------------------------------------------------------- */
  31557. /*!
  31558. * @addtogroup SRC_Register_Masks SRC Register Masks
  31559. * @{
  31560. */
  31561. /*! @name SCR - SRC Control Register */
  31562. /*! @{ */
  31563. #define SRC_SCR_LOCKUP_RST_MASK (0x10U)
  31564. #define SRC_SCR_LOCKUP_RST_SHIFT (4U)
  31565. /*! lockup_rst
  31566. * 0b0..disabled
  31567. * 0b1..enabled
  31568. */
  31569. #define SRC_SCR_LOCKUP_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_SCR_LOCKUP_RST_SHIFT)) & SRC_SCR_LOCKUP_RST_MASK)
  31570. #define SRC_SCR_MASK_WDOG_RST_MASK (0x780U)
  31571. #define SRC_SCR_MASK_WDOG_RST_SHIFT (7U)
  31572. /*! mask_wdog_rst
  31573. * 0b0101..wdog_rst_b is masked
  31574. * 0b1010..wdog_rst_b is not masked (default)
  31575. */
  31576. #define SRC_SCR_MASK_WDOG_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_SCR_MASK_WDOG_RST_SHIFT)) & SRC_SCR_MASK_WDOG_RST_MASK)
  31577. #define SRC_SCR_CORE0_RST_MASK (0x2000U)
  31578. #define SRC_SCR_CORE0_RST_SHIFT (13U)
  31579. /*! core0_rst
  31580. * 0b0..do not assert core0 reset
  31581. * 0b1..assert core0 reset
  31582. */
  31583. #define SRC_SCR_CORE0_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_SCR_CORE0_RST_SHIFT)) & SRC_SCR_CORE0_RST_MASK)
  31584. #define SRC_SCR_CORE0_DBG_RST_MASK (0x20000U)
  31585. #define SRC_SCR_CORE0_DBG_RST_SHIFT (17U)
  31586. /*! core0_dbg_rst
  31587. * 0b0..do not assert core0 debug reset
  31588. * 0b1..assert core0 debug reset
  31589. */
  31590. #define SRC_SCR_CORE0_DBG_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_SCR_CORE0_DBG_RST_SHIFT)) & SRC_SCR_CORE0_DBG_RST_MASK)
  31591. #define SRC_SCR_DBG_RST_MSK_PG_MASK (0x2000000U)
  31592. #define SRC_SCR_DBG_RST_MSK_PG_SHIFT (25U)
  31593. /*! dbg_rst_msk_pg
  31594. * 0b0..do not mask core debug resets (debug resets will be asserted after power gating event)
  31595. * 0b1..mask core debug resets (debug resets won't be asserted after power gating event)
  31596. */
  31597. #define SRC_SCR_DBG_RST_MSK_PG(x) (((uint32_t)(((uint32_t)(x)) << SRC_SCR_DBG_RST_MSK_PG_SHIFT)) & SRC_SCR_DBG_RST_MSK_PG_MASK)
  31598. #define SRC_SCR_MASK_WDOG3_RST_MASK (0xF0000000U)
  31599. #define SRC_SCR_MASK_WDOG3_RST_SHIFT (28U)
  31600. /*! mask_wdog3_rst
  31601. * 0b0101..wdog3_rst_b is masked
  31602. * 0b1010..wdog3_rst_b is not masked
  31603. */
  31604. #define SRC_SCR_MASK_WDOG3_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_SCR_MASK_WDOG3_RST_SHIFT)) & SRC_SCR_MASK_WDOG3_RST_MASK)
  31605. /*! @} */
  31606. /*! @name SBMR1 - SRC Boot Mode Register 1 */
  31607. /*! @{ */
  31608. #define SRC_SBMR1_BOOT_CFG1_MASK (0xFFU)
  31609. #define SRC_SBMR1_BOOT_CFG1_SHIFT (0U)
  31610. #define SRC_SBMR1_BOOT_CFG1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR1_BOOT_CFG1_SHIFT)) & SRC_SBMR1_BOOT_CFG1_MASK)
  31611. #define SRC_SBMR1_BOOT_CFG2_MASK (0xFF00U)
  31612. #define SRC_SBMR1_BOOT_CFG2_SHIFT (8U)
  31613. #define SRC_SBMR1_BOOT_CFG2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR1_BOOT_CFG2_SHIFT)) & SRC_SBMR1_BOOT_CFG2_MASK)
  31614. #define SRC_SBMR1_BOOT_CFG3_MASK (0xFF0000U)
  31615. #define SRC_SBMR1_BOOT_CFG3_SHIFT (16U)
  31616. #define SRC_SBMR1_BOOT_CFG3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR1_BOOT_CFG3_SHIFT)) & SRC_SBMR1_BOOT_CFG3_MASK)
  31617. #define SRC_SBMR1_BOOT_CFG4_MASK (0xFF000000U)
  31618. #define SRC_SBMR1_BOOT_CFG4_SHIFT (24U)
  31619. #define SRC_SBMR1_BOOT_CFG4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR1_BOOT_CFG4_SHIFT)) & SRC_SBMR1_BOOT_CFG4_MASK)
  31620. /*! @} */
  31621. /*! @name SRSR - SRC Reset Status Register */
  31622. /*! @{ */
  31623. #define SRC_SRSR_IPP_RESET_B_MASK (0x1U)
  31624. #define SRC_SRSR_IPP_RESET_B_SHIFT (0U)
  31625. /*! ipp_reset_b
  31626. * 0b0..Reset is not a result of ipp_reset_b pin.
  31627. * 0b1..Reset is a result of ipp_reset_b pin.
  31628. */
  31629. #define SRC_SRSR_IPP_RESET_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_IPP_RESET_B_SHIFT)) & SRC_SRSR_IPP_RESET_B_MASK)
  31630. #define SRC_SRSR_LOCKUP_MASK (0x2U)
  31631. #define SRC_SRSR_LOCKUP_SHIFT (1U)
  31632. /*! lockup
  31633. * 0b0..Reset is not a result of the mentioned case.
  31634. * 0b1..Reset is a result of the mentioned case.
  31635. */
  31636. #define SRC_SRSR_LOCKUP(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_LOCKUP_SHIFT)) & SRC_SRSR_LOCKUP_MASK)
  31637. #define SRC_SRSR_CSU_RESET_B_MASK (0x4U)
  31638. #define SRC_SRSR_CSU_RESET_B_SHIFT (2U)
  31639. /*! csu_reset_b
  31640. * 0b0..Reset is not a result of the csu_reset_b event.
  31641. * 0b1..Reset is a result of the csu_reset_b event.
  31642. */
  31643. #define SRC_SRSR_CSU_RESET_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_CSU_RESET_B_SHIFT)) & SRC_SRSR_CSU_RESET_B_MASK)
  31644. #define SRC_SRSR_IPP_USER_RESET_B_MASK (0x8U)
  31645. #define SRC_SRSR_IPP_USER_RESET_B_SHIFT (3U)
  31646. /*! ipp_user_reset_b
  31647. * 0b0..Reset is not a result of the ipp_user_reset_b qualified as COLD reset event.
  31648. * 0b1..Reset is a result of the ipp_user_reset_b qualified as COLD reset event.
  31649. */
  31650. #define SRC_SRSR_IPP_USER_RESET_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_IPP_USER_RESET_B_SHIFT)) & SRC_SRSR_IPP_USER_RESET_B_MASK)
  31651. #define SRC_SRSR_WDOG_RST_B_MASK (0x10U)
  31652. #define SRC_SRSR_WDOG_RST_B_SHIFT (4U)
  31653. /*! wdog_rst_b
  31654. * 0b0..Reset is not a result of the watchdog time-out event.
  31655. * 0b1..Reset is a result of the watchdog time-out event.
  31656. */
  31657. #define SRC_SRSR_WDOG_RST_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_WDOG_RST_B_SHIFT)) & SRC_SRSR_WDOG_RST_B_MASK)
  31658. #define SRC_SRSR_JTAG_RST_B_MASK (0x20U)
  31659. #define SRC_SRSR_JTAG_RST_B_SHIFT (5U)
  31660. /*! jtag_rst_b
  31661. * 0b0..Reset is not a result of HIGH-Z reset from JTAG.
  31662. * 0b1..Reset is a result of HIGH-Z reset from JTAG.
  31663. */
  31664. #define SRC_SRSR_JTAG_RST_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_JTAG_RST_B_SHIFT)) & SRC_SRSR_JTAG_RST_B_MASK)
  31665. #define SRC_SRSR_JTAG_SW_RST_MASK (0x40U)
  31666. #define SRC_SRSR_JTAG_SW_RST_SHIFT (6U)
  31667. /*! jtag_sw_rst
  31668. * 0b0..Reset is not a result of the mentioned case.
  31669. * 0b1..Reset is a result of the mentioned case.
  31670. */
  31671. #define SRC_SRSR_JTAG_SW_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_JTAG_SW_RST_SHIFT)) & SRC_SRSR_JTAG_SW_RST_MASK)
  31672. #define SRC_SRSR_WDOG3_RST_B_MASK (0x80U)
  31673. #define SRC_SRSR_WDOG3_RST_B_SHIFT (7U)
  31674. /*! wdog3_rst_b
  31675. * 0b0..Reset is not a result of the watchdog3 time-out event.
  31676. * 0b1..Reset is a result of the watchdog3 time-out event.
  31677. */
  31678. #define SRC_SRSR_WDOG3_RST_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_WDOG3_RST_B_SHIFT)) & SRC_SRSR_WDOG3_RST_B_MASK)
  31679. #define SRC_SRSR_TEMPSENSE_RST_B_MASK (0x100U)
  31680. #define SRC_SRSR_TEMPSENSE_RST_B_SHIFT (8U)
  31681. /*! tempsense_rst_b
  31682. * 0b0..Reset is not a result of software reset from Temperature Sensor.
  31683. * 0b1..Reset is a result of software reset from Temperature Sensor.
  31684. */
  31685. #define SRC_SRSR_TEMPSENSE_RST_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_TEMPSENSE_RST_B_SHIFT)) & SRC_SRSR_TEMPSENSE_RST_B_MASK)
  31686. /*! @} */
  31687. /*! @name SBMR2 - SRC Boot Mode Register 2 */
  31688. /*! @{ */
  31689. #define SRC_SBMR2_SEC_CONFIG_MASK (0x3U)
  31690. #define SRC_SBMR2_SEC_CONFIG_SHIFT (0U)
  31691. #define SRC_SBMR2_SEC_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR2_SEC_CONFIG_SHIFT)) & SRC_SBMR2_SEC_CONFIG_MASK)
  31692. #define SRC_SBMR2_BT_FUSE_SEL_MASK (0x10U)
  31693. #define SRC_SBMR2_BT_FUSE_SEL_SHIFT (4U)
  31694. #define SRC_SBMR2_BT_FUSE_SEL(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR2_BT_FUSE_SEL_SHIFT)) & SRC_SBMR2_BT_FUSE_SEL_MASK)
  31695. #define SRC_SBMR2_BMOD_MASK (0x3000000U)
  31696. #define SRC_SBMR2_BMOD_SHIFT (24U)
  31697. #define SRC_SBMR2_BMOD(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR2_BMOD_SHIFT)) & SRC_SBMR2_BMOD_MASK)
  31698. /*! @} */
  31699. /*! @name GPR - SRC General Purpose Register 1..SRC General Purpose Register 10 */
  31700. /*! @{ */
  31701. #define SRC_GPR_PERSISTENT_ARG0_MASK (0xFFFFFFFFU)
  31702. #define SRC_GPR_PERSISTENT_ARG0_SHIFT (0U)
  31703. #define SRC_GPR_PERSISTENT_ARG0(x) (((uint32_t)(((uint32_t)(x)) << SRC_GPR_PERSISTENT_ARG0_SHIFT)) & SRC_GPR_PERSISTENT_ARG0_MASK)
  31704. #define SRC_GPR_PERSISTENT_ENTRY0_MASK (0xFFFFFFFFU)
  31705. #define SRC_GPR_PERSISTENT_ENTRY0_SHIFT (0U)
  31706. #define SRC_GPR_PERSISTENT_ENTRY0(x) (((uint32_t)(((uint32_t)(x)) << SRC_GPR_PERSISTENT_ENTRY0_SHIFT)) & SRC_GPR_PERSISTENT_ENTRY0_MASK)
  31707. #define SRC_GPR_PERSIST_REDUNDANT_BOOT_MASK (0xC000000U)
  31708. #define SRC_GPR_PERSIST_REDUNDANT_BOOT_SHIFT (26U)
  31709. #define SRC_GPR_PERSIST_REDUNDANT_BOOT(x) (((uint32_t)(((uint32_t)(x)) << SRC_GPR_PERSIST_REDUNDANT_BOOT_SHIFT)) & SRC_GPR_PERSIST_REDUNDANT_BOOT_MASK)
  31710. #define SRC_GPR_PERSIST_SECONDARY_BOOT_MASK (0x40000000U)
  31711. #define SRC_GPR_PERSIST_SECONDARY_BOOT_SHIFT (30U)
  31712. #define SRC_GPR_PERSIST_SECONDARY_BOOT(x) (((uint32_t)(((uint32_t)(x)) << SRC_GPR_PERSIST_SECONDARY_BOOT_SHIFT)) & SRC_GPR_PERSIST_SECONDARY_BOOT_MASK)
  31713. /*! @} */
  31714. /* The count of SRC_GPR */
  31715. #define SRC_GPR_COUNT (10U)
  31716. /*!
  31717. * @}
  31718. */ /* end of group SRC_Register_Masks */
  31719. /* SRC - Peripheral instance base addresses */
  31720. /** Peripheral SRC base address */
  31721. #define SRC_BASE (0x400F8000u)
  31722. /** Peripheral SRC base pointer */
  31723. #define SRC ((SRC_Type *)SRC_BASE)
  31724. /** Array initializer of SRC peripheral base addresses */
  31725. #define SRC_BASE_ADDRS { SRC_BASE }
  31726. /** Array initializer of SRC peripheral base pointers */
  31727. #define SRC_BASE_PTRS { SRC }
  31728. /** Interrupt vectors for the SRC peripheral type */
  31729. #define SRC_IRQS { SRC_IRQn }
  31730. /* Backward compatibility */
  31731. #define SRC_SCR_MWDR_MASK SRC_SCR_MASK_WDOG_RST_MASK
  31732. #define SRC_SCR_MWDR_SHIFT SRC_SCR_MASK_WDOG_RST_SHIFT
  31733. #define SRC_SCR_MWDR(x) SRC_SCR_MASK_WDOG_RST(x)
  31734. #define SRC_SRSR_WDOG_MASK SRC_SRSR_WDOG_RST_B_MASK
  31735. #define SRC_SRSR_WDOG_SHIFT SRC_SRSR_WDOG_RST_B_SHIFT
  31736. #define SRC_SRSR_WDOG(x) SRC_SRSR_WDOG_RST_B(x)
  31737. #define SRC_SRSR_JTAG_MASK SRC_SRSR_JTAG_RST_B_MASK
  31738. #define SRC_SRSR_JTAG_SHIFT SRC_SRSR_JTAG_RST_B_SHIFT
  31739. #define SRC_SRSR_JTAG(x) SRC_SRSR_JTAG_RST_B(x)
  31740. #define SRC_SRSR_SJC_MASK SRC_SRSR_JTAG_SW_RST_MASK
  31741. #define SRC_SRSR_SJC_SHIFT SRC_SRSR_JTAG_SW_RST_SHIFT
  31742. #define SRC_SRSR_SJC(x) SRC_SRSR_JTAG_SW_RST(x)
  31743. #define SRC_SRSR_TSR_MASK SRC_SRSR_TEMPSENSE_RST_B_MASK
  31744. #define SRC_SRSR_TSR_SHIFT SRC_SRSR_TEMPSENSE_RST_B_SHIFT
  31745. #define SRC_SRSR_TSR(x) SRC_SRSR_TEMPSENSE_RST_B(x)
  31746. /* Extra definition */
  31747. #define SRC_SRSR_W1C_BITS_MASK ( SRC_SRSR_WDOG3_RST_B_MASK \
  31748. | SRC_SRSR_JTAG_SW_RST_MASK \
  31749. | SRC_SRSR_JTAG_RST_B_MASK \
  31750. | SRC_SRSR_WDOG_RST_B_MASK \
  31751. | SRC_SRSR_IPP_USER_RESET_B_MASK \
  31752. | SRC_SRSR_CSU_RESET_B_MASK \
  31753. | SRC_SRSR_LOCKUP_MASK \
  31754. | SRC_SRSR_IPP_RESET_B_MASK)
  31755. /*!
  31756. * @}
  31757. */ /* end of group SRC_Peripheral_Access_Layer */
  31758. /* ----------------------------------------------------------------------------
  31759. -- TEMPMON Peripheral Access Layer
  31760. ---------------------------------------------------------------------------- */
  31761. /*!
  31762. * @addtogroup TEMPMON_Peripheral_Access_Layer TEMPMON Peripheral Access Layer
  31763. * @{
  31764. */
  31765. /** TEMPMON - Register Layout Typedef */
  31766. typedef struct {
  31767. uint8_t RESERVED_0[384];
  31768. __IO uint32_t TEMPSENSE0; /**< Tempsensor Control Register 0, offset: 0x180 */
  31769. __IO uint32_t TEMPSENSE0_SET; /**< Tempsensor Control Register 0, offset: 0x184 */
  31770. __IO uint32_t TEMPSENSE0_CLR; /**< Tempsensor Control Register 0, offset: 0x188 */
  31771. __IO uint32_t TEMPSENSE0_TOG; /**< Tempsensor Control Register 0, offset: 0x18C */
  31772. __IO uint32_t TEMPSENSE1; /**< Tempsensor Control Register 1, offset: 0x190 */
  31773. __IO uint32_t TEMPSENSE1_SET; /**< Tempsensor Control Register 1, offset: 0x194 */
  31774. __IO uint32_t TEMPSENSE1_CLR; /**< Tempsensor Control Register 1, offset: 0x198 */
  31775. __IO uint32_t TEMPSENSE1_TOG; /**< Tempsensor Control Register 1, offset: 0x19C */
  31776. uint8_t RESERVED_1[240];
  31777. __IO uint32_t TEMPSENSE2; /**< Tempsensor Control Register 2, offset: 0x290 */
  31778. __IO uint32_t TEMPSENSE2_SET; /**< Tempsensor Control Register 2, offset: 0x294 */
  31779. __IO uint32_t TEMPSENSE2_CLR; /**< Tempsensor Control Register 2, offset: 0x298 */
  31780. __IO uint32_t TEMPSENSE2_TOG; /**< Tempsensor Control Register 2, offset: 0x29C */
  31781. } TEMPMON_Type;
  31782. /* ----------------------------------------------------------------------------
  31783. -- TEMPMON Register Masks
  31784. ---------------------------------------------------------------------------- */
  31785. /*!
  31786. * @addtogroup TEMPMON_Register_Masks TEMPMON Register Masks
  31787. * @{
  31788. */
  31789. /*! @name TEMPSENSE0 - Tempsensor Control Register 0 */
  31790. /*! @{ */
  31791. #define TEMPMON_TEMPSENSE0_POWER_DOWN_MASK (0x1U)
  31792. #define TEMPMON_TEMPSENSE0_POWER_DOWN_SHIFT (0U)
  31793. /*! POWER_DOWN
  31794. * 0b0..Enable power to the temperature sensor.
  31795. * 0b1..Power down the temperature sensor.
  31796. */
  31797. #define TEMPMON_TEMPSENSE0_POWER_DOWN(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_POWER_DOWN_SHIFT)) & TEMPMON_TEMPSENSE0_POWER_DOWN_MASK)
  31798. #define TEMPMON_TEMPSENSE0_MEASURE_TEMP_MASK (0x2U)
  31799. #define TEMPMON_TEMPSENSE0_MEASURE_TEMP_SHIFT (1U)
  31800. /*! MEASURE_TEMP
  31801. * 0b0..Do not start the measurement process.
  31802. * 0b1..Start the measurement process.
  31803. */
  31804. #define TEMPMON_TEMPSENSE0_MEASURE_TEMP(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_MEASURE_TEMP_SHIFT)) & TEMPMON_TEMPSENSE0_MEASURE_TEMP_MASK)
  31805. #define TEMPMON_TEMPSENSE0_FINISHED_MASK (0x4U)
  31806. #define TEMPMON_TEMPSENSE0_FINISHED_SHIFT (2U)
  31807. /*! FINISHED
  31808. * 0b0..Last measurement is not ready yet.
  31809. * 0b1..Last measurement is valid.
  31810. */
  31811. #define TEMPMON_TEMPSENSE0_FINISHED(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_FINISHED_SHIFT)) & TEMPMON_TEMPSENSE0_FINISHED_MASK)
  31812. #define TEMPMON_TEMPSENSE0_TEMP_CNT_MASK (0xFFF00U)
  31813. #define TEMPMON_TEMPSENSE0_TEMP_CNT_SHIFT (8U)
  31814. #define TEMPMON_TEMPSENSE0_TEMP_CNT(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_TEMP_CNT_SHIFT)) & TEMPMON_TEMPSENSE0_TEMP_CNT_MASK)
  31815. #define TEMPMON_TEMPSENSE0_ALARM_VALUE_MASK (0xFFF00000U)
  31816. #define TEMPMON_TEMPSENSE0_ALARM_VALUE_SHIFT (20U)
  31817. #define TEMPMON_TEMPSENSE0_ALARM_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_ALARM_VALUE_SHIFT)) & TEMPMON_TEMPSENSE0_ALARM_VALUE_MASK)
  31818. /*! @} */
  31819. /*! @name TEMPSENSE0_SET - Tempsensor Control Register 0 */
  31820. /*! @{ */
  31821. #define TEMPMON_TEMPSENSE0_SET_POWER_DOWN_MASK (0x1U)
  31822. #define TEMPMON_TEMPSENSE0_SET_POWER_DOWN_SHIFT (0U)
  31823. /*! POWER_DOWN
  31824. * 0b0..Enable power to the temperature sensor.
  31825. * 0b1..Power down the temperature sensor.
  31826. */
  31827. #define TEMPMON_TEMPSENSE0_SET_POWER_DOWN(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_SET_POWER_DOWN_SHIFT)) & TEMPMON_TEMPSENSE0_SET_POWER_DOWN_MASK)
  31828. #define TEMPMON_TEMPSENSE0_SET_MEASURE_TEMP_MASK (0x2U)
  31829. #define TEMPMON_TEMPSENSE0_SET_MEASURE_TEMP_SHIFT (1U)
  31830. /*! MEASURE_TEMP
  31831. * 0b0..Do not start the measurement process.
  31832. * 0b1..Start the measurement process.
  31833. */
  31834. #define TEMPMON_TEMPSENSE0_SET_MEASURE_TEMP(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_SET_MEASURE_TEMP_SHIFT)) & TEMPMON_TEMPSENSE0_SET_MEASURE_TEMP_MASK)
  31835. #define TEMPMON_TEMPSENSE0_SET_FINISHED_MASK (0x4U)
  31836. #define TEMPMON_TEMPSENSE0_SET_FINISHED_SHIFT (2U)
  31837. /*! FINISHED
  31838. * 0b0..Last measurement is not ready yet.
  31839. * 0b1..Last measurement is valid.
  31840. */
  31841. #define TEMPMON_TEMPSENSE0_SET_FINISHED(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_SET_FINISHED_SHIFT)) & TEMPMON_TEMPSENSE0_SET_FINISHED_MASK)
  31842. #define TEMPMON_TEMPSENSE0_SET_TEMP_CNT_MASK (0xFFF00U)
  31843. #define TEMPMON_TEMPSENSE0_SET_TEMP_CNT_SHIFT (8U)
  31844. #define TEMPMON_TEMPSENSE0_SET_TEMP_CNT(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_SET_TEMP_CNT_SHIFT)) & TEMPMON_TEMPSENSE0_SET_TEMP_CNT_MASK)
  31845. #define TEMPMON_TEMPSENSE0_SET_ALARM_VALUE_MASK (0xFFF00000U)
  31846. #define TEMPMON_TEMPSENSE0_SET_ALARM_VALUE_SHIFT (20U)
  31847. #define TEMPMON_TEMPSENSE0_SET_ALARM_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_SET_ALARM_VALUE_SHIFT)) & TEMPMON_TEMPSENSE0_SET_ALARM_VALUE_MASK)
  31848. /*! @} */
  31849. /*! @name TEMPSENSE0_CLR - Tempsensor Control Register 0 */
  31850. /*! @{ */
  31851. #define TEMPMON_TEMPSENSE0_CLR_POWER_DOWN_MASK (0x1U)
  31852. #define TEMPMON_TEMPSENSE0_CLR_POWER_DOWN_SHIFT (0U)
  31853. /*! POWER_DOWN
  31854. * 0b0..Enable power to the temperature sensor.
  31855. * 0b1..Power down the temperature sensor.
  31856. */
  31857. #define TEMPMON_TEMPSENSE0_CLR_POWER_DOWN(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_CLR_POWER_DOWN_SHIFT)) & TEMPMON_TEMPSENSE0_CLR_POWER_DOWN_MASK)
  31858. #define TEMPMON_TEMPSENSE0_CLR_MEASURE_TEMP_MASK (0x2U)
  31859. #define TEMPMON_TEMPSENSE0_CLR_MEASURE_TEMP_SHIFT (1U)
  31860. /*! MEASURE_TEMP
  31861. * 0b0..Do not start the measurement process.
  31862. * 0b1..Start the measurement process.
  31863. */
  31864. #define TEMPMON_TEMPSENSE0_CLR_MEASURE_TEMP(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_CLR_MEASURE_TEMP_SHIFT)) & TEMPMON_TEMPSENSE0_CLR_MEASURE_TEMP_MASK)
  31865. #define TEMPMON_TEMPSENSE0_CLR_FINISHED_MASK (0x4U)
  31866. #define TEMPMON_TEMPSENSE0_CLR_FINISHED_SHIFT (2U)
  31867. /*! FINISHED
  31868. * 0b0..Last measurement is not ready yet.
  31869. * 0b1..Last measurement is valid.
  31870. */
  31871. #define TEMPMON_TEMPSENSE0_CLR_FINISHED(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_CLR_FINISHED_SHIFT)) & TEMPMON_TEMPSENSE0_CLR_FINISHED_MASK)
  31872. #define TEMPMON_TEMPSENSE0_CLR_TEMP_CNT_MASK (0xFFF00U)
  31873. #define TEMPMON_TEMPSENSE0_CLR_TEMP_CNT_SHIFT (8U)
  31874. #define TEMPMON_TEMPSENSE0_CLR_TEMP_CNT(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_CLR_TEMP_CNT_SHIFT)) & TEMPMON_TEMPSENSE0_CLR_TEMP_CNT_MASK)
  31875. #define TEMPMON_TEMPSENSE0_CLR_ALARM_VALUE_MASK (0xFFF00000U)
  31876. #define TEMPMON_TEMPSENSE0_CLR_ALARM_VALUE_SHIFT (20U)
  31877. #define TEMPMON_TEMPSENSE0_CLR_ALARM_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_CLR_ALARM_VALUE_SHIFT)) & TEMPMON_TEMPSENSE0_CLR_ALARM_VALUE_MASK)
  31878. /*! @} */
  31879. /*! @name TEMPSENSE0_TOG - Tempsensor Control Register 0 */
  31880. /*! @{ */
  31881. #define TEMPMON_TEMPSENSE0_TOG_POWER_DOWN_MASK (0x1U)
  31882. #define TEMPMON_TEMPSENSE0_TOG_POWER_DOWN_SHIFT (0U)
  31883. /*! POWER_DOWN
  31884. * 0b0..Enable power to the temperature sensor.
  31885. * 0b1..Power down the temperature sensor.
  31886. */
  31887. #define TEMPMON_TEMPSENSE0_TOG_POWER_DOWN(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_TOG_POWER_DOWN_SHIFT)) & TEMPMON_TEMPSENSE0_TOG_POWER_DOWN_MASK)
  31888. #define TEMPMON_TEMPSENSE0_TOG_MEASURE_TEMP_MASK (0x2U)
  31889. #define TEMPMON_TEMPSENSE0_TOG_MEASURE_TEMP_SHIFT (1U)
  31890. /*! MEASURE_TEMP
  31891. * 0b0..Do not start the measurement process.
  31892. * 0b1..Start the measurement process.
  31893. */
  31894. #define TEMPMON_TEMPSENSE0_TOG_MEASURE_TEMP(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_TOG_MEASURE_TEMP_SHIFT)) & TEMPMON_TEMPSENSE0_TOG_MEASURE_TEMP_MASK)
  31895. #define TEMPMON_TEMPSENSE0_TOG_FINISHED_MASK (0x4U)
  31896. #define TEMPMON_TEMPSENSE0_TOG_FINISHED_SHIFT (2U)
  31897. /*! FINISHED
  31898. * 0b0..Last measurement is not ready yet.
  31899. * 0b1..Last measurement is valid.
  31900. */
  31901. #define TEMPMON_TEMPSENSE0_TOG_FINISHED(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_TOG_FINISHED_SHIFT)) & TEMPMON_TEMPSENSE0_TOG_FINISHED_MASK)
  31902. #define TEMPMON_TEMPSENSE0_TOG_TEMP_CNT_MASK (0xFFF00U)
  31903. #define TEMPMON_TEMPSENSE0_TOG_TEMP_CNT_SHIFT (8U)
  31904. #define TEMPMON_TEMPSENSE0_TOG_TEMP_CNT(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_TOG_TEMP_CNT_SHIFT)) & TEMPMON_TEMPSENSE0_TOG_TEMP_CNT_MASK)
  31905. #define TEMPMON_TEMPSENSE0_TOG_ALARM_VALUE_MASK (0xFFF00000U)
  31906. #define TEMPMON_TEMPSENSE0_TOG_ALARM_VALUE_SHIFT (20U)
  31907. #define TEMPMON_TEMPSENSE0_TOG_ALARM_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_TOG_ALARM_VALUE_SHIFT)) & TEMPMON_TEMPSENSE0_TOG_ALARM_VALUE_MASK)
  31908. /*! @} */
  31909. /*! @name TEMPSENSE1 - Tempsensor Control Register 1 */
  31910. /*! @{ */
  31911. #define TEMPMON_TEMPSENSE1_MEASURE_FREQ_MASK (0xFFFFU)
  31912. #define TEMPMON_TEMPSENSE1_MEASURE_FREQ_SHIFT (0U)
  31913. #define TEMPMON_TEMPSENSE1_MEASURE_FREQ(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE1_MEASURE_FREQ_SHIFT)) & TEMPMON_TEMPSENSE1_MEASURE_FREQ_MASK)
  31914. /*! @} */
  31915. /*! @name TEMPSENSE1_SET - Tempsensor Control Register 1 */
  31916. /*! @{ */
  31917. #define TEMPMON_TEMPSENSE1_SET_MEASURE_FREQ_MASK (0xFFFFU)
  31918. #define TEMPMON_TEMPSENSE1_SET_MEASURE_FREQ_SHIFT (0U)
  31919. #define TEMPMON_TEMPSENSE1_SET_MEASURE_FREQ(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE1_SET_MEASURE_FREQ_SHIFT)) & TEMPMON_TEMPSENSE1_SET_MEASURE_FREQ_MASK)
  31920. /*! @} */
  31921. /*! @name TEMPSENSE1_CLR - Tempsensor Control Register 1 */
  31922. /*! @{ */
  31923. #define TEMPMON_TEMPSENSE1_CLR_MEASURE_FREQ_MASK (0xFFFFU)
  31924. #define TEMPMON_TEMPSENSE1_CLR_MEASURE_FREQ_SHIFT (0U)
  31925. #define TEMPMON_TEMPSENSE1_CLR_MEASURE_FREQ(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE1_CLR_MEASURE_FREQ_SHIFT)) & TEMPMON_TEMPSENSE1_CLR_MEASURE_FREQ_MASK)
  31926. /*! @} */
  31927. /*! @name TEMPSENSE1_TOG - Tempsensor Control Register 1 */
  31928. /*! @{ */
  31929. #define TEMPMON_TEMPSENSE1_TOG_MEASURE_FREQ_MASK (0xFFFFU)
  31930. #define TEMPMON_TEMPSENSE1_TOG_MEASURE_FREQ_SHIFT (0U)
  31931. #define TEMPMON_TEMPSENSE1_TOG_MEASURE_FREQ(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE1_TOG_MEASURE_FREQ_SHIFT)) & TEMPMON_TEMPSENSE1_TOG_MEASURE_FREQ_MASK)
  31932. /*! @} */
  31933. /*! @name TEMPSENSE2 - Tempsensor Control Register 2 */
  31934. /*! @{ */
  31935. #define TEMPMON_TEMPSENSE2_LOW_ALARM_VALUE_MASK (0xFFFU)
  31936. #define TEMPMON_TEMPSENSE2_LOW_ALARM_VALUE_SHIFT (0U)
  31937. #define TEMPMON_TEMPSENSE2_LOW_ALARM_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE2_LOW_ALARM_VALUE_SHIFT)) & TEMPMON_TEMPSENSE2_LOW_ALARM_VALUE_MASK)
  31938. #define TEMPMON_TEMPSENSE2_PANIC_ALARM_VALUE_MASK (0xFFF0000U)
  31939. #define TEMPMON_TEMPSENSE2_PANIC_ALARM_VALUE_SHIFT (16U)
  31940. #define TEMPMON_TEMPSENSE2_PANIC_ALARM_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE2_PANIC_ALARM_VALUE_SHIFT)) & TEMPMON_TEMPSENSE2_PANIC_ALARM_VALUE_MASK)
  31941. /*! @} */
  31942. /*! @name TEMPSENSE2_SET - Tempsensor Control Register 2 */
  31943. /*! @{ */
  31944. #define TEMPMON_TEMPSENSE2_SET_LOW_ALARM_VALUE_MASK (0xFFFU)
  31945. #define TEMPMON_TEMPSENSE2_SET_LOW_ALARM_VALUE_SHIFT (0U)
  31946. #define TEMPMON_TEMPSENSE2_SET_LOW_ALARM_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE2_SET_LOW_ALARM_VALUE_SHIFT)) & TEMPMON_TEMPSENSE2_SET_LOW_ALARM_VALUE_MASK)
  31947. #define TEMPMON_TEMPSENSE2_SET_PANIC_ALARM_VALUE_MASK (0xFFF0000U)
  31948. #define TEMPMON_TEMPSENSE2_SET_PANIC_ALARM_VALUE_SHIFT (16U)
  31949. #define TEMPMON_TEMPSENSE2_SET_PANIC_ALARM_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE2_SET_PANIC_ALARM_VALUE_SHIFT)) & TEMPMON_TEMPSENSE2_SET_PANIC_ALARM_VALUE_MASK)
  31950. /*! @} */
  31951. /*! @name TEMPSENSE2_CLR - Tempsensor Control Register 2 */
  31952. /*! @{ */
  31953. #define TEMPMON_TEMPSENSE2_CLR_LOW_ALARM_VALUE_MASK (0xFFFU)
  31954. #define TEMPMON_TEMPSENSE2_CLR_LOW_ALARM_VALUE_SHIFT (0U)
  31955. #define TEMPMON_TEMPSENSE2_CLR_LOW_ALARM_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE2_CLR_LOW_ALARM_VALUE_SHIFT)) & TEMPMON_TEMPSENSE2_CLR_LOW_ALARM_VALUE_MASK)
  31956. #define TEMPMON_TEMPSENSE2_CLR_PANIC_ALARM_VALUE_MASK (0xFFF0000U)
  31957. #define TEMPMON_TEMPSENSE2_CLR_PANIC_ALARM_VALUE_SHIFT (16U)
  31958. #define TEMPMON_TEMPSENSE2_CLR_PANIC_ALARM_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE2_CLR_PANIC_ALARM_VALUE_SHIFT)) & TEMPMON_TEMPSENSE2_CLR_PANIC_ALARM_VALUE_MASK)
  31959. /*! @} */
  31960. /*! @name TEMPSENSE2_TOG - Tempsensor Control Register 2 */
  31961. /*! @{ */
  31962. #define TEMPMON_TEMPSENSE2_TOG_LOW_ALARM_VALUE_MASK (0xFFFU)
  31963. #define TEMPMON_TEMPSENSE2_TOG_LOW_ALARM_VALUE_SHIFT (0U)
  31964. #define TEMPMON_TEMPSENSE2_TOG_LOW_ALARM_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE2_TOG_LOW_ALARM_VALUE_SHIFT)) & TEMPMON_TEMPSENSE2_TOG_LOW_ALARM_VALUE_MASK)
  31965. #define TEMPMON_TEMPSENSE2_TOG_PANIC_ALARM_VALUE_MASK (0xFFF0000U)
  31966. #define TEMPMON_TEMPSENSE2_TOG_PANIC_ALARM_VALUE_SHIFT (16U)
  31967. #define TEMPMON_TEMPSENSE2_TOG_PANIC_ALARM_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE2_TOG_PANIC_ALARM_VALUE_SHIFT)) & TEMPMON_TEMPSENSE2_TOG_PANIC_ALARM_VALUE_MASK)
  31968. /*! @} */
  31969. /*!
  31970. * @}
  31971. */ /* end of group TEMPMON_Register_Masks */
  31972. /* TEMPMON - Peripheral instance base addresses */
  31973. /** Peripheral TEMPMON base address */
  31974. #define TEMPMON_BASE (0x400D8000u)
  31975. /** Peripheral TEMPMON base pointer */
  31976. #define TEMPMON ((TEMPMON_Type *)TEMPMON_BASE)
  31977. /** Array initializer of TEMPMON peripheral base addresses */
  31978. #define TEMPMON_BASE_ADDRS { TEMPMON_BASE }
  31979. /** Array initializer of TEMPMON peripheral base pointers */
  31980. #define TEMPMON_BASE_PTRS { TEMPMON }
  31981. /*!
  31982. * @}
  31983. */ /* end of group TEMPMON_Peripheral_Access_Layer */
  31984. /* ----------------------------------------------------------------------------
  31985. -- TMR Peripheral Access Layer
  31986. ---------------------------------------------------------------------------- */
  31987. /*!
  31988. * @addtogroup TMR_Peripheral_Access_Layer TMR Peripheral Access Layer
  31989. * @{
  31990. */
  31991. /** TMR - Register Layout Typedef */
  31992. typedef struct {
  31993. struct { /* offset: 0x0, array step: 0x20 */
  31994. __IO uint16_t COMP1; /**< Timer Channel Compare Register 1, array offset: 0x0, array step: 0x20 */
  31995. __IO uint16_t COMP2; /**< Timer Channel Compare Register 2, array offset: 0x2, array step: 0x20 */
  31996. __IO uint16_t CAPT; /**< Timer Channel Capture Register, array offset: 0x4, array step: 0x20 */
  31997. __IO uint16_t LOAD; /**< Timer Channel Load Register, array offset: 0x6, array step: 0x20 */
  31998. __IO uint16_t HOLD; /**< Timer Channel Hold Register, array offset: 0x8, array step: 0x20 */
  31999. __IO uint16_t CNTR; /**< Timer Channel Counter Register, array offset: 0xA, array step: 0x20 */
  32000. __IO uint16_t CTRL; /**< Timer Channel Control Register, array offset: 0xC, array step: 0x20 */
  32001. __IO uint16_t SCTRL; /**< Timer Channel Status and Control Register, array offset: 0xE, array step: 0x20 */
  32002. __IO uint16_t CMPLD1; /**< Timer Channel Comparator Load Register 1, array offset: 0x10, array step: 0x20 */
  32003. __IO uint16_t CMPLD2; /**< Timer Channel Comparator Load Register 2, array offset: 0x12, array step: 0x20 */
  32004. __IO uint16_t CSCTRL; /**< Timer Channel Comparator Status and Control Register, array offset: 0x14, array step: 0x20 */
  32005. __IO uint16_t FILT; /**< Timer Channel Input Filter Register, array offset: 0x16, array step: 0x20 */
  32006. __IO uint16_t DMA; /**< Timer Channel DMA Enable Register, array offset: 0x18, array step: 0x20 */
  32007. uint8_t RESERVED_0[4];
  32008. __IO uint16_t ENBL; /**< Timer Channel Enable Register, array offset: 0x1E, array step: 0x20, this item is not available for all array instances */
  32009. } CHANNEL[4];
  32010. } TMR_Type;
  32011. /* ----------------------------------------------------------------------------
  32012. -- TMR Register Masks
  32013. ---------------------------------------------------------------------------- */
  32014. /*!
  32015. * @addtogroup TMR_Register_Masks TMR Register Masks
  32016. * @{
  32017. */
  32018. /*! @name COMP1 - Timer Channel Compare Register 1 */
  32019. /*! @{ */
  32020. #define TMR_COMP1_COMPARISON_1_MASK (0xFFFFU)
  32021. #define TMR_COMP1_COMPARISON_1_SHIFT (0U)
  32022. /*! COMPARISON_1 - Comparison Value 1
  32023. */
  32024. #define TMR_COMP1_COMPARISON_1(x) (((uint16_t)(((uint16_t)(x)) << TMR_COMP1_COMPARISON_1_SHIFT)) & TMR_COMP1_COMPARISON_1_MASK)
  32025. /*! @} */
  32026. /* The count of TMR_COMP1 */
  32027. #define TMR_COMP1_COUNT (4U)
  32028. /*! @name COMP2 - Timer Channel Compare Register 2 */
  32029. /*! @{ */
  32030. #define TMR_COMP2_COMPARISON_2_MASK (0xFFFFU)
  32031. #define TMR_COMP2_COMPARISON_2_SHIFT (0U)
  32032. /*! COMPARISON_2 - Comparison Value 2
  32033. */
  32034. #define TMR_COMP2_COMPARISON_2(x) (((uint16_t)(((uint16_t)(x)) << TMR_COMP2_COMPARISON_2_SHIFT)) & TMR_COMP2_COMPARISON_2_MASK)
  32035. /*! @} */
  32036. /* The count of TMR_COMP2 */
  32037. #define TMR_COMP2_COUNT (4U)
  32038. /*! @name CAPT - Timer Channel Capture Register */
  32039. /*! @{ */
  32040. #define TMR_CAPT_CAPTURE_MASK (0xFFFFU)
  32041. #define TMR_CAPT_CAPTURE_SHIFT (0U)
  32042. /*! CAPTURE - Capture Value
  32043. */
  32044. #define TMR_CAPT_CAPTURE(x) (((uint16_t)(((uint16_t)(x)) << TMR_CAPT_CAPTURE_SHIFT)) & TMR_CAPT_CAPTURE_MASK)
  32045. /*! @} */
  32046. /* The count of TMR_CAPT */
  32047. #define TMR_CAPT_COUNT (4U)
  32048. /*! @name LOAD - Timer Channel Load Register */
  32049. /*! @{ */
  32050. #define TMR_LOAD_LOAD_MASK (0xFFFFU)
  32051. #define TMR_LOAD_LOAD_SHIFT (0U)
  32052. /*! LOAD - Timer Load Register
  32053. */
  32054. #define TMR_LOAD_LOAD(x) (((uint16_t)(((uint16_t)(x)) << TMR_LOAD_LOAD_SHIFT)) & TMR_LOAD_LOAD_MASK)
  32055. /*! @} */
  32056. /* The count of TMR_LOAD */
  32057. #define TMR_LOAD_COUNT (4U)
  32058. /*! @name HOLD - Timer Channel Hold Register */
  32059. /*! @{ */
  32060. #define TMR_HOLD_HOLD_MASK (0xFFFFU)
  32061. #define TMR_HOLD_HOLD_SHIFT (0U)
  32062. /*! HOLD - HOLD
  32063. */
  32064. #define TMR_HOLD_HOLD(x) (((uint16_t)(((uint16_t)(x)) << TMR_HOLD_HOLD_SHIFT)) & TMR_HOLD_HOLD_MASK)
  32065. /*! @} */
  32066. /* The count of TMR_HOLD */
  32067. #define TMR_HOLD_COUNT (4U)
  32068. /*! @name CNTR - Timer Channel Counter Register */
  32069. /*! @{ */
  32070. #define TMR_CNTR_COUNTER_MASK (0xFFFFU)
  32071. #define TMR_CNTR_COUNTER_SHIFT (0U)
  32072. /*! COUNTER - COUNTER
  32073. */
  32074. #define TMR_CNTR_COUNTER(x) (((uint16_t)(((uint16_t)(x)) << TMR_CNTR_COUNTER_SHIFT)) & TMR_CNTR_COUNTER_MASK)
  32075. /*! @} */
  32076. /* The count of TMR_CNTR */
  32077. #define TMR_CNTR_COUNT (4U)
  32078. /*! @name CTRL - Timer Channel Control Register */
  32079. /*! @{ */
  32080. #define TMR_CTRL_OUTMODE_MASK (0x7U)
  32081. #define TMR_CTRL_OUTMODE_SHIFT (0U)
  32082. /*! OUTMODE - Output Mode
  32083. * 0b000..Asserted while counter is active
  32084. * 0b001..Clear OFLAG output on successful compare
  32085. * 0b010..Set OFLAG output on successful compare
  32086. * 0b011..Toggle OFLAG output on successful compare
  32087. * 0b100..Toggle OFLAG output using alternating compare registers
  32088. * 0b101..Set on compare, cleared on secondary source input edge
  32089. * 0b110..Set on compare, cleared on counter rollover
  32090. * 0b111..Enable gated clock output while counter is active
  32091. */
  32092. #define TMR_CTRL_OUTMODE(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_OUTMODE_SHIFT)) & TMR_CTRL_OUTMODE_MASK)
  32093. #define TMR_CTRL_COINIT_MASK (0x8U)
  32094. #define TMR_CTRL_COINIT_SHIFT (3U)
  32095. /*! COINIT - Co-Channel Initialization
  32096. * 0b0..Co-channel counter/timers cannot force a re-initialization of this counter/timer
  32097. * 0b1..Co-channel counter/timers may force a re-initialization of this counter/timer
  32098. */
  32099. #define TMR_CTRL_COINIT(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_COINIT_SHIFT)) & TMR_CTRL_COINIT_MASK)
  32100. #define TMR_CTRL_DIR_MASK (0x10U)
  32101. #define TMR_CTRL_DIR_SHIFT (4U)
  32102. /*! DIR - Count Direction
  32103. * 0b0..Count up.
  32104. * 0b1..Count down.
  32105. */
  32106. #define TMR_CTRL_DIR(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_DIR_SHIFT)) & TMR_CTRL_DIR_MASK)
  32107. #define TMR_CTRL_LENGTH_MASK (0x20U)
  32108. #define TMR_CTRL_LENGTH_SHIFT (5U)
  32109. /*! LENGTH - Count Length
  32110. * 0b0..Count until roll over at $FFFF and continue from $0000.
  32111. * 0b1..Count until compare, then re-initialize. If counting up, a successful compare occurs when the counter
  32112. * reaches a COMP1 value. If counting down, a successful compare occurs when the counter reaches a COMP2 value.
  32113. * When output mode $4 is used, alternating values of COMP1 and COMP2 are used to generate successful
  32114. * comparisons. For example, the counter counts until a COMP1 value is reached, re-initializes, counts until COMP2
  32115. * value is reached, re-initializes, counts until COMP1 value is reached, and so on.
  32116. */
  32117. #define TMR_CTRL_LENGTH(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_LENGTH_SHIFT)) & TMR_CTRL_LENGTH_MASK)
  32118. #define TMR_CTRL_ONCE_MASK (0x40U)
  32119. #define TMR_CTRL_ONCE_SHIFT (6U)
  32120. /*! ONCE - Count Once
  32121. * 0b0..Count repeatedly.
  32122. * 0b1..Count until compare and then stop. If counting up, a successful compare occurs when the counter reaches a
  32123. * COMP1 value. If counting down, a successful compare occurs when the counter reaches a COMP2 value. When
  32124. * output mode $4 is used, the counter re-initializes after reaching the COMP1 value, continues to count to
  32125. * the COMP2 value, and then stops.
  32126. */
  32127. #define TMR_CTRL_ONCE(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_ONCE_SHIFT)) & TMR_CTRL_ONCE_MASK)
  32128. #define TMR_CTRL_SCS_MASK (0x180U)
  32129. #define TMR_CTRL_SCS_SHIFT (7U)
  32130. /*! SCS - Secondary Count Source
  32131. * 0b00..Counter 0 input pin
  32132. * 0b01..Counter 1 input pin
  32133. * 0b10..Counter 2 input pin
  32134. * 0b11..Counter 3 input pin
  32135. */
  32136. #define TMR_CTRL_SCS(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_SCS_SHIFT)) & TMR_CTRL_SCS_MASK)
  32137. #define TMR_CTRL_PCS_MASK (0x1E00U)
  32138. #define TMR_CTRL_PCS_SHIFT (9U)
  32139. /*! PCS - Primary Count Source
  32140. * 0b0000..Counter 0 input pin
  32141. * 0b0001..Counter 1 input pin
  32142. * 0b0010..Counter 2 input pin
  32143. * 0b0011..Counter 3 input pin
  32144. * 0b0100..Counter 0 output
  32145. * 0b0101..Counter 1 output
  32146. * 0b0110..Counter 2 output
  32147. * 0b0111..Counter 3 output
  32148. * 0b1000..IP bus clock divide by 1 prescaler
  32149. * 0b1001..IP bus clock divide by 2 prescaler
  32150. * 0b1010..IP bus clock divide by 4 prescaler
  32151. * 0b1011..IP bus clock divide by 8 prescaler
  32152. * 0b1100..IP bus clock divide by 16 prescaler
  32153. * 0b1101..IP bus clock divide by 32 prescaler
  32154. * 0b1110..IP bus clock divide by 64 prescaler
  32155. * 0b1111..IP bus clock divide by 128 prescaler
  32156. */
  32157. #define TMR_CTRL_PCS(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_PCS_SHIFT)) & TMR_CTRL_PCS_MASK)
  32158. #define TMR_CTRL_CM_MASK (0xE000U)
  32159. #define TMR_CTRL_CM_SHIFT (13U)
  32160. /*! CM - Count Mode
  32161. * 0b000..No operation
  32162. * 0b001..Count rising edges of primary sourceRising edges are counted only when SCTRL[IPS] = 0. Falling edges
  32163. * are counted when SCTRL[IPS] = 1. If the primary count source is IP bus clock divide by 1, only rising
  32164. * edges are counted regardless of the value of SCTRL[IPS].
  32165. * 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.
  32166. * 0b011..Count rising edges of primary source while secondary input high active
  32167. * 0b100..Quadrature count mode, uses primary and secondary sources
  32168. * 0b101..Count rising edges of primary source; secondary source specifies directionRising edges are counted only
  32169. * when SCTRL[IPS] = 0. Falling edges are counted when SCTRL[IPS] = 1.
  32170. * 0b110..Edge of secondary source triggers primary count until compare
  32171. * 0b111..Cascaded counter mode (up/down)The primary count source must be set to one of the counter outputs.
  32172. */
  32173. #define TMR_CTRL_CM(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_CM_SHIFT)) & TMR_CTRL_CM_MASK)
  32174. /*! @} */
  32175. /* The count of TMR_CTRL */
  32176. #define TMR_CTRL_COUNT (4U)
  32177. /*! @name SCTRL - Timer Channel Status and Control Register */
  32178. /*! @{ */
  32179. #define TMR_SCTRL_OEN_MASK (0x1U)
  32180. #define TMR_SCTRL_OEN_SHIFT (0U)
  32181. /*! OEN - Output Enable
  32182. * 0b0..The external pin is configured as an input.
  32183. * 0b1..The OFLAG output signal is driven on the external pin. Other timer groups using this external pin as
  32184. * their input see the driven value. The polarity of the signal is determined by OPS.
  32185. */
  32186. #define TMR_SCTRL_OEN(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_OEN_SHIFT)) & TMR_SCTRL_OEN_MASK)
  32187. #define TMR_SCTRL_OPS_MASK (0x2U)
  32188. #define TMR_SCTRL_OPS_SHIFT (1U)
  32189. /*! OPS - Output Polarity Select
  32190. * 0b0..True polarity.
  32191. * 0b1..Inverted polarity.
  32192. */
  32193. #define TMR_SCTRL_OPS(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_OPS_SHIFT)) & TMR_SCTRL_OPS_MASK)
  32194. #define TMR_SCTRL_FORCE_MASK (0x4U)
  32195. #define TMR_SCTRL_FORCE_SHIFT (2U)
  32196. /*! FORCE - Force OFLAG Output
  32197. */
  32198. #define TMR_SCTRL_FORCE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_FORCE_SHIFT)) & TMR_SCTRL_FORCE_MASK)
  32199. #define TMR_SCTRL_VAL_MASK (0x8U)
  32200. #define TMR_SCTRL_VAL_SHIFT (3U)
  32201. /*! VAL - Forced OFLAG Value
  32202. */
  32203. #define TMR_SCTRL_VAL(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_VAL_SHIFT)) & TMR_SCTRL_VAL_MASK)
  32204. #define TMR_SCTRL_EEOF_MASK (0x10U)
  32205. #define TMR_SCTRL_EEOF_SHIFT (4U)
  32206. /*! EEOF - Enable External OFLAG Force
  32207. */
  32208. #define TMR_SCTRL_EEOF(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_EEOF_SHIFT)) & TMR_SCTRL_EEOF_MASK)
  32209. #define TMR_SCTRL_MSTR_MASK (0x20U)
  32210. #define TMR_SCTRL_MSTR_SHIFT (5U)
  32211. /*! MSTR - Master Mode
  32212. */
  32213. #define TMR_SCTRL_MSTR(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_MSTR_SHIFT)) & TMR_SCTRL_MSTR_MASK)
  32214. #define TMR_SCTRL_CAPTURE_MODE_MASK (0xC0U)
  32215. #define TMR_SCTRL_CAPTURE_MODE_SHIFT (6U)
  32216. /*! CAPTURE_MODE - Input Capture Mode
  32217. * 0b00..Capture function is disabled
  32218. * 0b01..Load capture register on rising edge (when IPS=0) or falling edge (when IPS=1) of input
  32219. * 0b10..Load capture register on falling edge (when IPS=0) or rising edge (when IPS=1) of input
  32220. * 0b11..Load capture register on both edges of input
  32221. */
  32222. #define TMR_SCTRL_CAPTURE_MODE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_CAPTURE_MODE_SHIFT)) & TMR_SCTRL_CAPTURE_MODE_MASK)
  32223. #define TMR_SCTRL_INPUT_MASK (0x100U)
  32224. #define TMR_SCTRL_INPUT_SHIFT (8U)
  32225. /*! INPUT - External Input Signal
  32226. */
  32227. #define TMR_SCTRL_INPUT(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_INPUT_SHIFT)) & TMR_SCTRL_INPUT_MASK)
  32228. #define TMR_SCTRL_IPS_MASK (0x200U)
  32229. #define TMR_SCTRL_IPS_SHIFT (9U)
  32230. /*! IPS - Input Polarity Select
  32231. */
  32232. #define TMR_SCTRL_IPS(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_IPS_SHIFT)) & TMR_SCTRL_IPS_MASK)
  32233. #define TMR_SCTRL_IEFIE_MASK (0x400U)
  32234. #define TMR_SCTRL_IEFIE_SHIFT (10U)
  32235. /*! IEFIE - Input Edge Flag Interrupt Enable
  32236. */
  32237. #define TMR_SCTRL_IEFIE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_IEFIE_SHIFT)) & TMR_SCTRL_IEFIE_MASK)
  32238. #define TMR_SCTRL_IEF_MASK (0x800U)
  32239. #define TMR_SCTRL_IEF_SHIFT (11U)
  32240. /*! IEF - Input Edge Flag
  32241. */
  32242. #define TMR_SCTRL_IEF(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_IEF_SHIFT)) & TMR_SCTRL_IEF_MASK)
  32243. #define TMR_SCTRL_TOFIE_MASK (0x1000U)
  32244. #define TMR_SCTRL_TOFIE_SHIFT (12U)
  32245. /*! TOFIE - Timer Overflow Flag Interrupt Enable
  32246. */
  32247. #define TMR_SCTRL_TOFIE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_TOFIE_SHIFT)) & TMR_SCTRL_TOFIE_MASK)
  32248. #define TMR_SCTRL_TOF_MASK (0x2000U)
  32249. #define TMR_SCTRL_TOF_SHIFT (13U)
  32250. /*! TOF - Timer Overflow Flag
  32251. */
  32252. #define TMR_SCTRL_TOF(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_TOF_SHIFT)) & TMR_SCTRL_TOF_MASK)
  32253. #define TMR_SCTRL_TCFIE_MASK (0x4000U)
  32254. #define TMR_SCTRL_TCFIE_SHIFT (14U)
  32255. /*! TCFIE - Timer Compare Flag Interrupt Enable
  32256. */
  32257. #define TMR_SCTRL_TCFIE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_TCFIE_SHIFT)) & TMR_SCTRL_TCFIE_MASK)
  32258. #define TMR_SCTRL_TCF_MASK (0x8000U)
  32259. #define TMR_SCTRL_TCF_SHIFT (15U)
  32260. /*! TCF - Timer Compare Flag
  32261. */
  32262. #define TMR_SCTRL_TCF(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_TCF_SHIFT)) & TMR_SCTRL_TCF_MASK)
  32263. /*! @} */
  32264. /* The count of TMR_SCTRL */
  32265. #define TMR_SCTRL_COUNT (4U)
  32266. /*! @name CMPLD1 - Timer Channel Comparator Load Register 1 */
  32267. /*! @{ */
  32268. #define TMR_CMPLD1_COMPARATOR_LOAD_1_MASK (0xFFFFU)
  32269. #define TMR_CMPLD1_COMPARATOR_LOAD_1_SHIFT (0U)
  32270. /*! COMPARATOR_LOAD_1 - COMPARATOR_LOAD_1
  32271. */
  32272. #define TMR_CMPLD1_COMPARATOR_LOAD_1(x) (((uint16_t)(((uint16_t)(x)) << TMR_CMPLD1_COMPARATOR_LOAD_1_SHIFT)) & TMR_CMPLD1_COMPARATOR_LOAD_1_MASK)
  32273. /*! @} */
  32274. /* The count of TMR_CMPLD1 */
  32275. #define TMR_CMPLD1_COUNT (4U)
  32276. /*! @name CMPLD2 - Timer Channel Comparator Load Register 2 */
  32277. /*! @{ */
  32278. #define TMR_CMPLD2_COMPARATOR_LOAD_2_MASK (0xFFFFU)
  32279. #define TMR_CMPLD2_COMPARATOR_LOAD_2_SHIFT (0U)
  32280. /*! COMPARATOR_LOAD_2 - COMPARATOR_LOAD_2
  32281. */
  32282. #define TMR_CMPLD2_COMPARATOR_LOAD_2(x) (((uint16_t)(((uint16_t)(x)) << TMR_CMPLD2_COMPARATOR_LOAD_2_SHIFT)) & TMR_CMPLD2_COMPARATOR_LOAD_2_MASK)
  32283. /*! @} */
  32284. /* The count of TMR_CMPLD2 */
  32285. #define TMR_CMPLD2_COUNT (4U)
  32286. /*! @name CSCTRL - Timer Channel Comparator Status and Control Register */
  32287. /*! @{ */
  32288. #define TMR_CSCTRL_CL1_MASK (0x3U)
  32289. #define TMR_CSCTRL_CL1_SHIFT (0U)
  32290. /*! CL1 - Compare Load Control 1
  32291. * 0b00..Never preload
  32292. * 0b01..Load upon successful compare with the value in COMP1
  32293. * 0b10..Load upon successful compare with the value in COMP2
  32294. * 0b11..Reserved
  32295. */
  32296. #define TMR_CSCTRL_CL1(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_CL1_SHIFT)) & TMR_CSCTRL_CL1_MASK)
  32297. #define TMR_CSCTRL_CL2_MASK (0xCU)
  32298. #define TMR_CSCTRL_CL2_SHIFT (2U)
  32299. /*! CL2 - Compare Load Control 2
  32300. * 0b00..Never preload
  32301. * 0b01..Load upon successful compare with the value in COMP1
  32302. * 0b10..Load upon successful compare with the value in COMP2
  32303. * 0b11..Reserved
  32304. */
  32305. #define TMR_CSCTRL_CL2(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_CL2_SHIFT)) & TMR_CSCTRL_CL2_MASK)
  32306. #define TMR_CSCTRL_TCF1_MASK (0x10U)
  32307. #define TMR_CSCTRL_TCF1_SHIFT (4U)
  32308. /*! TCF1 - Timer Compare 1 Interrupt Flag
  32309. */
  32310. #define TMR_CSCTRL_TCF1(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCF1_SHIFT)) & TMR_CSCTRL_TCF1_MASK)
  32311. #define TMR_CSCTRL_TCF2_MASK (0x20U)
  32312. #define TMR_CSCTRL_TCF2_SHIFT (5U)
  32313. /*! TCF2 - Timer Compare 2 Interrupt Flag
  32314. */
  32315. #define TMR_CSCTRL_TCF2(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCF2_SHIFT)) & TMR_CSCTRL_TCF2_MASK)
  32316. #define TMR_CSCTRL_TCF1EN_MASK (0x40U)
  32317. #define TMR_CSCTRL_TCF1EN_SHIFT (6U)
  32318. /*! TCF1EN - Timer Compare 1 Interrupt Enable
  32319. */
  32320. #define TMR_CSCTRL_TCF1EN(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCF1EN_SHIFT)) & TMR_CSCTRL_TCF1EN_MASK)
  32321. #define TMR_CSCTRL_TCF2EN_MASK (0x80U)
  32322. #define TMR_CSCTRL_TCF2EN_SHIFT (7U)
  32323. /*! TCF2EN - Timer Compare 2 Interrupt Enable
  32324. */
  32325. #define TMR_CSCTRL_TCF2EN(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCF2EN_SHIFT)) & TMR_CSCTRL_TCF2EN_MASK)
  32326. #define TMR_CSCTRL_UP_MASK (0x200U)
  32327. #define TMR_CSCTRL_UP_SHIFT (9U)
  32328. /*! UP - Counting Direction Indicator
  32329. * 0b0..The last count was in the DOWN direction.
  32330. * 0b1..The last count was in the UP direction.
  32331. */
  32332. #define TMR_CSCTRL_UP(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_UP_SHIFT)) & TMR_CSCTRL_UP_MASK)
  32333. #define TMR_CSCTRL_TCI_MASK (0x400U)
  32334. #define TMR_CSCTRL_TCI_SHIFT (10U)
  32335. /*! TCI - Triggered Count Initialization Control
  32336. * 0b0..Stop counter upon receiving a second trigger event while still counting from the first trigger event.
  32337. * 0b1..Reload the counter upon receiving a second trigger event while still counting from the first trigger event.
  32338. */
  32339. #define TMR_CSCTRL_TCI(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCI_SHIFT)) & TMR_CSCTRL_TCI_MASK)
  32340. #define TMR_CSCTRL_ROC_MASK (0x800U)
  32341. #define TMR_CSCTRL_ROC_SHIFT (11U)
  32342. /*! ROC - Reload on Capture
  32343. * 0b0..Do not reload the counter on a capture event.
  32344. * 0b1..Reload the counter on a capture event.
  32345. */
  32346. #define TMR_CSCTRL_ROC(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_ROC_SHIFT)) & TMR_CSCTRL_ROC_MASK)
  32347. #define TMR_CSCTRL_ALT_LOAD_MASK (0x1000U)
  32348. #define TMR_CSCTRL_ALT_LOAD_SHIFT (12U)
  32349. /*! ALT_LOAD - Alternative Load Enable
  32350. * 0b0..Counter can be re-initialized only with the LOAD register.
  32351. * 0b1..Counter can be re-initialized with the LOAD or CMPLD2 registers depending on count direction.
  32352. */
  32353. #define TMR_CSCTRL_ALT_LOAD(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_ALT_LOAD_SHIFT)) & TMR_CSCTRL_ALT_LOAD_MASK)
  32354. #define TMR_CSCTRL_FAULT_MASK (0x2000U)
  32355. #define TMR_CSCTRL_FAULT_SHIFT (13U)
  32356. /*! FAULT - Fault Enable
  32357. * 0b0..Fault function disabled.
  32358. * 0b1..Fault function enabled.
  32359. */
  32360. #define TMR_CSCTRL_FAULT(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_FAULT_SHIFT)) & TMR_CSCTRL_FAULT_MASK)
  32361. #define TMR_CSCTRL_DBG_EN_MASK (0xC000U)
  32362. #define TMR_CSCTRL_DBG_EN_SHIFT (14U)
  32363. /*! DBG_EN - Debug Actions Enable
  32364. * 0b00..Continue with normal operation during debug mode. (default)
  32365. * 0b01..Halt TMR counter during debug mode.
  32366. * 0b10..Force TMR output to logic 0 (prior to consideration of SCTRL[OPS]).
  32367. * 0b11..Both halt counter and force output to 0 during debug mode.
  32368. */
  32369. #define TMR_CSCTRL_DBG_EN(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_DBG_EN_SHIFT)) & TMR_CSCTRL_DBG_EN_MASK)
  32370. /*! @} */
  32371. /* The count of TMR_CSCTRL */
  32372. #define TMR_CSCTRL_COUNT (4U)
  32373. /*! @name FILT - Timer Channel Input Filter Register */
  32374. /*! @{ */
  32375. #define TMR_FILT_FILT_PER_MASK (0xFFU)
  32376. #define TMR_FILT_FILT_PER_SHIFT (0U)
  32377. /*! FILT_PER - Input Filter Sample Period
  32378. */
  32379. #define TMR_FILT_FILT_PER(x) (((uint16_t)(((uint16_t)(x)) << TMR_FILT_FILT_PER_SHIFT)) & TMR_FILT_FILT_PER_MASK)
  32380. #define TMR_FILT_FILT_CNT_MASK (0x700U)
  32381. #define TMR_FILT_FILT_CNT_SHIFT (8U)
  32382. /*! FILT_CNT - Input Filter Sample Count
  32383. */
  32384. #define TMR_FILT_FILT_CNT(x) (((uint16_t)(((uint16_t)(x)) << TMR_FILT_FILT_CNT_SHIFT)) & TMR_FILT_FILT_CNT_MASK)
  32385. /*! @} */
  32386. /* The count of TMR_FILT */
  32387. #define TMR_FILT_COUNT (4U)
  32388. /*! @name DMA - Timer Channel DMA Enable Register */
  32389. /*! @{ */
  32390. #define TMR_DMA_IEFDE_MASK (0x1U)
  32391. #define TMR_DMA_IEFDE_SHIFT (0U)
  32392. /*! IEFDE - Input Edge Flag DMA Enable
  32393. */
  32394. #define TMR_DMA_IEFDE(x) (((uint16_t)(((uint16_t)(x)) << TMR_DMA_IEFDE_SHIFT)) & TMR_DMA_IEFDE_MASK)
  32395. #define TMR_DMA_CMPLD1DE_MASK (0x2U)
  32396. #define TMR_DMA_CMPLD1DE_SHIFT (1U)
  32397. /*! CMPLD1DE - Comparator Preload Register 1 DMA Enable
  32398. */
  32399. #define TMR_DMA_CMPLD1DE(x) (((uint16_t)(((uint16_t)(x)) << TMR_DMA_CMPLD1DE_SHIFT)) & TMR_DMA_CMPLD1DE_MASK)
  32400. #define TMR_DMA_CMPLD2DE_MASK (0x4U)
  32401. #define TMR_DMA_CMPLD2DE_SHIFT (2U)
  32402. /*! CMPLD2DE - Comparator Preload Register 2 DMA Enable
  32403. */
  32404. #define TMR_DMA_CMPLD2DE(x) (((uint16_t)(((uint16_t)(x)) << TMR_DMA_CMPLD2DE_SHIFT)) & TMR_DMA_CMPLD2DE_MASK)
  32405. /*! @} */
  32406. /* The count of TMR_DMA */
  32407. #define TMR_DMA_COUNT (4U)
  32408. /*! @name ENBL - Timer Channel Enable Register */
  32409. /*! @{ */
  32410. #define TMR_ENBL_ENBL_MASK (0xFU)
  32411. #define TMR_ENBL_ENBL_SHIFT (0U)
  32412. /*! ENBL - Timer Channel Enable
  32413. * 0b0000..Timer channel is disabled.
  32414. * 0b0001..Timer channel is enabled. (default)
  32415. */
  32416. #define TMR_ENBL_ENBL(x) (((uint16_t)(((uint16_t)(x)) << TMR_ENBL_ENBL_SHIFT)) & TMR_ENBL_ENBL_MASK)
  32417. /*! @} */
  32418. /* The count of TMR_ENBL */
  32419. #define TMR_ENBL_COUNT (4U)
  32420. /*!
  32421. * @}
  32422. */ /* end of group TMR_Register_Masks */
  32423. /* TMR - Peripheral instance base addresses */
  32424. /** Peripheral TMR1 base address */
  32425. #define TMR1_BASE (0x401DC000u)
  32426. /** Peripheral TMR1 base pointer */
  32427. #define TMR1 ((TMR_Type *)TMR1_BASE)
  32428. /** Peripheral TMR2 base address */
  32429. #define TMR2_BASE (0x401E0000u)
  32430. /** Peripheral TMR2 base pointer */
  32431. #define TMR2 ((TMR_Type *)TMR2_BASE)
  32432. /** Array initializer of TMR peripheral base addresses */
  32433. #define TMR_BASE_ADDRS { 0u, TMR1_BASE, TMR2_BASE }
  32434. /** Array initializer of TMR peripheral base pointers */
  32435. #define TMR_BASE_PTRS { (TMR_Type *)0u, TMR1, TMR2 }
  32436. /** Interrupt vectors for the TMR peripheral type */
  32437. #define TMR_IRQS { NotAvail_IRQn, TMR1_IRQn, TMR2_IRQn }
  32438. /*!
  32439. * @}
  32440. */ /* end of group TMR_Peripheral_Access_Layer */
  32441. /* ----------------------------------------------------------------------------
  32442. -- TRNG Peripheral Access Layer
  32443. ---------------------------------------------------------------------------- */
  32444. /*!
  32445. * @addtogroup TRNG_Peripheral_Access_Layer TRNG Peripheral Access Layer
  32446. * @{
  32447. */
  32448. /** TRNG - Register Layout Typedef */
  32449. typedef struct {
  32450. __IO uint32_t MCTL; /**< Miscellaneous Control Register, offset: 0x0 */
  32451. __IO uint32_t SCMISC; /**< Statistical Check Miscellaneous Register, offset: 0x4 */
  32452. __IO uint32_t PKRRNG; /**< Poker Range Register, offset: 0x8 */
  32453. union { /* offset: 0xC */
  32454. __IO uint32_t PKRMAX; /**< Poker Maximum Limit Register, offset: 0xC */
  32455. __I uint32_t PKRSQ; /**< Poker Square Calculation Result Register, offset: 0xC */
  32456. };
  32457. __IO uint32_t SDCTL; /**< Seed Control Register, offset: 0x10 */
  32458. union { /* offset: 0x14 */
  32459. __IO uint32_t SBLIM; /**< Sparse Bit Limit Register, offset: 0x14 */
  32460. __I uint32_t TOTSAM; /**< Total Samples Register, offset: 0x14 */
  32461. };
  32462. __IO uint32_t FRQMIN; /**< Frequency Count Minimum Limit Register, offset: 0x18 */
  32463. union { /* offset: 0x1C */
  32464. __I uint32_t FRQCNT; /**< Frequency Count Register, offset: 0x1C */
  32465. __IO uint32_t FRQMAX; /**< Frequency Count Maximum Limit Register, offset: 0x1C */
  32466. };
  32467. union { /* offset: 0x20 */
  32468. __I uint32_t SCMC; /**< Statistical Check Monobit Count Register, offset: 0x20 */
  32469. __IO uint32_t SCML; /**< Statistical Check Monobit Limit Register, offset: 0x20 */
  32470. };
  32471. union { /* offset: 0x24 */
  32472. __I uint32_t SCR1C; /**< Statistical Check Run Length 1 Count Register, offset: 0x24 */
  32473. __IO uint32_t SCR1L; /**< Statistical Check Run Length 1 Limit Register, offset: 0x24 */
  32474. };
  32475. union { /* offset: 0x28 */
  32476. __I uint32_t SCR2C; /**< Statistical Check Run Length 2 Count Register, offset: 0x28 */
  32477. __IO uint32_t SCR2L; /**< Statistical Check Run Length 2 Limit Register, offset: 0x28 */
  32478. };
  32479. union { /* offset: 0x2C */
  32480. __I uint32_t SCR3C; /**< Statistical Check Run Length 3 Count Register, offset: 0x2C */
  32481. __IO uint32_t SCR3L; /**< Statistical Check Run Length 3 Limit Register, offset: 0x2C */
  32482. };
  32483. union { /* offset: 0x30 */
  32484. __I uint32_t SCR4C; /**< Statistical Check Run Length 4 Count Register, offset: 0x30 */
  32485. __IO uint32_t SCR4L; /**< Statistical Check Run Length 4 Limit Register, offset: 0x30 */
  32486. };
  32487. union { /* offset: 0x34 */
  32488. __I uint32_t SCR5C; /**< Statistical Check Run Length 5 Count Register, offset: 0x34 */
  32489. __IO uint32_t SCR5L; /**< Statistical Check Run Length 5 Limit Register, offset: 0x34 */
  32490. };
  32491. union { /* offset: 0x38 */
  32492. __I uint32_t SCR6PC; /**< Statistical Check Run Length 6+ Count Register, offset: 0x38 */
  32493. __IO uint32_t SCR6PL; /**< Statistical Check Run Length 6+ Limit Register, offset: 0x38 */
  32494. };
  32495. __I uint32_t STATUS; /**< Status Register, offset: 0x3C */
  32496. __I uint32_t ENT[16]; /**< Entropy Read Register, array offset: 0x40, array step: 0x4 */
  32497. __I uint32_t PKRCNT10; /**< Statistical Check Poker Count 1 and 0 Register, offset: 0x80 */
  32498. __I uint32_t PKRCNT32; /**< Statistical Check Poker Count 3 and 2 Register, offset: 0x84 */
  32499. __I uint32_t PKRCNT54; /**< Statistical Check Poker Count 5 and 4 Register, offset: 0x88 */
  32500. __I uint32_t PKRCNT76; /**< Statistical Check Poker Count 7 and 6 Register, offset: 0x8C */
  32501. __I uint32_t PKRCNT98; /**< Statistical Check Poker Count 9 and 8 Register, offset: 0x90 */
  32502. __I uint32_t PKRCNTBA; /**< Statistical Check Poker Count B and A Register, offset: 0x94 */
  32503. __I uint32_t PKRCNTDC; /**< Statistical Check Poker Count D and C Register, offset: 0x98 */
  32504. __I uint32_t PKRCNTFE; /**< Statistical Check Poker Count F and E Register, offset: 0x9C */
  32505. __IO uint32_t SEC_CFG; /**< Security Configuration Register, offset: 0xA0 */
  32506. __IO uint32_t INT_CTRL; /**< Interrupt Control Register, offset: 0xA4 */
  32507. __IO uint32_t INT_MASK; /**< Mask Register, offset: 0xA8 */
  32508. __I uint32_t INT_STATUS; /**< Interrupt Status Register, offset: 0xAC */
  32509. uint8_t RESERVED_0[64];
  32510. __I uint32_t VID1; /**< Version ID Register (MS), offset: 0xF0 */
  32511. __I uint32_t VID2; /**< Version ID Register (LS), offset: 0xF4 */
  32512. } TRNG_Type;
  32513. /* ----------------------------------------------------------------------------
  32514. -- TRNG Register Masks
  32515. ---------------------------------------------------------------------------- */
  32516. /*!
  32517. * @addtogroup TRNG_Register_Masks TRNG Register Masks
  32518. * @{
  32519. */
  32520. /*! @name MCTL - Miscellaneous Control Register */
  32521. /*! @{ */
  32522. #define TRNG_MCTL_SAMP_MODE_MASK (0x3U)
  32523. #define TRNG_MCTL_SAMP_MODE_SHIFT (0U)
  32524. /*! SAMP_MODE
  32525. * 0b00..use Von Neumann data into both Entropy shifter and Statistical Checker
  32526. * 0b01..use raw data into both Entropy shifter and Statistical Checker
  32527. * 0b10..use Von Neumann data into Entropy shifter. Use raw data into Statistical Checker
  32528. * 0b11..undefined/reserved.
  32529. */
  32530. #define TRNG_MCTL_SAMP_MODE(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_SAMP_MODE_SHIFT)) & TRNG_MCTL_SAMP_MODE_MASK)
  32531. #define TRNG_MCTL_OSC_DIV_MASK (0xCU)
  32532. #define TRNG_MCTL_OSC_DIV_SHIFT (2U)
  32533. /*! OSC_DIV
  32534. * 0b00..use ring oscillator with no divide
  32535. * 0b01..use ring oscillator divided-by-2
  32536. * 0b10..use ring oscillator divided-by-4
  32537. * 0b11..use ring oscillator divided-by-8
  32538. */
  32539. #define TRNG_MCTL_OSC_DIV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_OSC_DIV_SHIFT)) & TRNG_MCTL_OSC_DIV_MASK)
  32540. #define TRNG_MCTL_UNUSED4_MASK (0x10U)
  32541. #define TRNG_MCTL_UNUSED4_SHIFT (4U)
  32542. #define TRNG_MCTL_UNUSED4(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_UNUSED4_SHIFT)) & TRNG_MCTL_UNUSED4_MASK)
  32543. #define TRNG_MCTL_UNUSED5_MASK (0x20U)
  32544. #define TRNG_MCTL_UNUSED5_SHIFT (5U)
  32545. #define TRNG_MCTL_UNUSED5(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_UNUSED5_SHIFT)) & TRNG_MCTL_UNUSED5_MASK)
  32546. #define TRNG_MCTL_RST_DEF_MASK (0x40U)
  32547. #define TRNG_MCTL_RST_DEF_SHIFT (6U)
  32548. #define TRNG_MCTL_RST_DEF(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_RST_DEF_SHIFT)) & TRNG_MCTL_RST_DEF_MASK)
  32549. #define TRNG_MCTL_FOR_SCLK_MASK (0x80U)
  32550. #define TRNG_MCTL_FOR_SCLK_SHIFT (7U)
  32551. #define TRNG_MCTL_FOR_SCLK(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_FOR_SCLK_SHIFT)) & TRNG_MCTL_FOR_SCLK_MASK)
  32552. #define TRNG_MCTL_FCT_FAIL_MASK (0x100U)
  32553. #define TRNG_MCTL_FCT_FAIL_SHIFT (8U)
  32554. #define TRNG_MCTL_FCT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_FCT_FAIL_SHIFT)) & TRNG_MCTL_FCT_FAIL_MASK)
  32555. #define TRNG_MCTL_FCT_VAL_MASK (0x200U)
  32556. #define TRNG_MCTL_FCT_VAL_SHIFT (9U)
  32557. #define TRNG_MCTL_FCT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_FCT_VAL_SHIFT)) & TRNG_MCTL_FCT_VAL_MASK)
  32558. #define TRNG_MCTL_ENT_VAL_MASK (0x400U)
  32559. #define TRNG_MCTL_ENT_VAL_SHIFT (10U)
  32560. #define TRNG_MCTL_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_ENT_VAL_SHIFT)) & TRNG_MCTL_ENT_VAL_MASK)
  32561. #define TRNG_MCTL_TST_OUT_MASK (0x800U)
  32562. #define TRNG_MCTL_TST_OUT_SHIFT (11U)
  32563. #define TRNG_MCTL_TST_OUT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_TST_OUT_SHIFT)) & TRNG_MCTL_TST_OUT_MASK)
  32564. #define TRNG_MCTL_ERR_MASK (0x1000U)
  32565. #define TRNG_MCTL_ERR_SHIFT (12U)
  32566. #define TRNG_MCTL_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_ERR_SHIFT)) & TRNG_MCTL_ERR_MASK)
  32567. #define TRNG_MCTL_TSTOP_OK_MASK (0x2000U)
  32568. #define TRNG_MCTL_TSTOP_OK_SHIFT (13U)
  32569. #define TRNG_MCTL_TSTOP_OK(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_TSTOP_OK_SHIFT)) & TRNG_MCTL_TSTOP_OK_MASK)
  32570. #define TRNG_MCTL_LRUN_CONT_MASK (0x4000U)
  32571. #define TRNG_MCTL_LRUN_CONT_SHIFT (14U)
  32572. #define TRNG_MCTL_LRUN_CONT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_LRUN_CONT_SHIFT)) & TRNG_MCTL_LRUN_CONT_MASK)
  32573. #define TRNG_MCTL_PRGM_MASK (0x10000U)
  32574. #define TRNG_MCTL_PRGM_SHIFT (16U)
  32575. #define TRNG_MCTL_PRGM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_PRGM_SHIFT)) & TRNG_MCTL_PRGM_MASK)
  32576. /*! @} */
  32577. /*! @name SCMISC - Statistical Check Miscellaneous Register */
  32578. /*! @{ */
  32579. #define TRNG_SCMISC_LRUN_MAX_MASK (0xFFU)
  32580. #define TRNG_SCMISC_LRUN_MAX_SHIFT (0U)
  32581. #define TRNG_SCMISC_LRUN_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCMISC_LRUN_MAX_SHIFT)) & TRNG_SCMISC_LRUN_MAX_MASK)
  32582. #define TRNG_SCMISC_RTY_CT_MASK (0xF0000U)
  32583. #define TRNG_SCMISC_RTY_CT_SHIFT (16U)
  32584. #define TRNG_SCMISC_RTY_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCMISC_RTY_CT_SHIFT)) & TRNG_SCMISC_RTY_CT_MASK)
  32585. /*! @} */
  32586. /*! @name PKRRNG - Poker Range Register */
  32587. /*! @{ */
  32588. #define TRNG_PKRRNG_PKR_RNG_MASK (0xFFFFU)
  32589. #define TRNG_PKRRNG_PKR_RNG_SHIFT (0U)
  32590. #define TRNG_PKRRNG_PKR_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRRNG_PKR_RNG_SHIFT)) & TRNG_PKRRNG_PKR_RNG_MASK)
  32591. /*! @} */
  32592. /*! @name PKRMAX - Poker Maximum Limit Register */
  32593. /*! @{ */
  32594. #define TRNG_PKRMAX_PKR_MAX_MASK (0xFFFFFFU)
  32595. #define TRNG_PKRMAX_PKR_MAX_SHIFT (0U)
  32596. /*! PKR_MAX - Poker Maximum Limit.
  32597. */
  32598. #define TRNG_PKRMAX_PKR_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRMAX_PKR_MAX_SHIFT)) & TRNG_PKRMAX_PKR_MAX_MASK)
  32599. /*! @} */
  32600. /*! @name PKRSQ - Poker Square Calculation Result Register */
  32601. /*! @{ */
  32602. #define TRNG_PKRSQ_PKR_SQ_MASK (0xFFFFFFU)
  32603. #define TRNG_PKRSQ_PKR_SQ_SHIFT (0U)
  32604. /*! PKR_SQ - Poker Square Calculation Result.
  32605. */
  32606. #define TRNG_PKRSQ_PKR_SQ(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRSQ_PKR_SQ_SHIFT)) & TRNG_PKRSQ_PKR_SQ_MASK)
  32607. /*! @} */
  32608. /*! @name SDCTL - Seed Control Register */
  32609. /*! @{ */
  32610. #define TRNG_SDCTL_SAMP_SIZE_MASK (0xFFFFU)
  32611. #define TRNG_SDCTL_SAMP_SIZE_SHIFT (0U)
  32612. #define TRNG_SDCTL_SAMP_SIZE(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SDCTL_SAMP_SIZE_SHIFT)) & TRNG_SDCTL_SAMP_SIZE_MASK)
  32613. #define TRNG_SDCTL_ENT_DLY_MASK (0xFFFF0000U)
  32614. #define TRNG_SDCTL_ENT_DLY_SHIFT (16U)
  32615. #define TRNG_SDCTL_ENT_DLY(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SDCTL_ENT_DLY_SHIFT)) & TRNG_SDCTL_ENT_DLY_MASK)
  32616. /*! @} */
  32617. /*! @name SBLIM - Sparse Bit Limit Register */
  32618. /*! @{ */
  32619. #define TRNG_SBLIM_SB_LIM_MASK (0x3FFU)
  32620. #define TRNG_SBLIM_SB_LIM_SHIFT (0U)
  32621. #define TRNG_SBLIM_SB_LIM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SBLIM_SB_LIM_SHIFT)) & TRNG_SBLIM_SB_LIM_MASK)
  32622. /*! @} */
  32623. /*! @name TOTSAM - Total Samples Register */
  32624. /*! @{ */
  32625. #define TRNG_TOTSAM_TOT_SAM_MASK (0xFFFFFU)
  32626. #define TRNG_TOTSAM_TOT_SAM_SHIFT (0U)
  32627. #define TRNG_TOTSAM_TOT_SAM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_TOTSAM_TOT_SAM_SHIFT)) & TRNG_TOTSAM_TOT_SAM_MASK)
  32628. /*! @} */
  32629. /*! @name FRQMIN - Frequency Count Minimum Limit Register */
  32630. /*! @{ */
  32631. #define TRNG_FRQMIN_FRQ_MIN_MASK (0x3FFFFFU)
  32632. #define TRNG_FRQMIN_FRQ_MIN_SHIFT (0U)
  32633. #define TRNG_FRQMIN_FRQ_MIN(x) (((uint32_t)(((uint32_t)(x)) << TRNG_FRQMIN_FRQ_MIN_SHIFT)) & TRNG_FRQMIN_FRQ_MIN_MASK)
  32634. /*! @} */
  32635. /*! @name FRQCNT - Frequency Count Register */
  32636. /*! @{ */
  32637. #define TRNG_FRQCNT_FRQ_CT_MASK (0x3FFFFFU)
  32638. #define TRNG_FRQCNT_FRQ_CT_SHIFT (0U)
  32639. #define TRNG_FRQCNT_FRQ_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_FRQCNT_FRQ_CT_SHIFT)) & TRNG_FRQCNT_FRQ_CT_MASK)
  32640. /*! @} */
  32641. /*! @name FRQMAX - Frequency Count Maximum Limit Register */
  32642. /*! @{ */
  32643. #define TRNG_FRQMAX_FRQ_MAX_MASK (0x3FFFFFU)
  32644. #define TRNG_FRQMAX_FRQ_MAX_SHIFT (0U)
  32645. #define TRNG_FRQMAX_FRQ_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_FRQMAX_FRQ_MAX_SHIFT)) & TRNG_FRQMAX_FRQ_MAX_MASK)
  32646. /*! @} */
  32647. /*! @name SCMC - Statistical Check Monobit Count Register */
  32648. /*! @{ */
  32649. #define TRNG_SCMC_MONO_CT_MASK (0xFFFFU)
  32650. #define TRNG_SCMC_MONO_CT_SHIFT (0U)
  32651. #define TRNG_SCMC_MONO_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCMC_MONO_CT_SHIFT)) & TRNG_SCMC_MONO_CT_MASK)
  32652. /*! @} */
  32653. /*! @name SCML - Statistical Check Monobit Limit Register */
  32654. /*! @{ */
  32655. #define TRNG_SCML_MONO_MAX_MASK (0xFFFFU)
  32656. #define TRNG_SCML_MONO_MAX_SHIFT (0U)
  32657. #define TRNG_SCML_MONO_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCML_MONO_MAX_SHIFT)) & TRNG_SCML_MONO_MAX_MASK)
  32658. #define TRNG_SCML_MONO_RNG_MASK (0xFFFF0000U)
  32659. #define TRNG_SCML_MONO_RNG_SHIFT (16U)
  32660. #define TRNG_SCML_MONO_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCML_MONO_RNG_SHIFT)) & TRNG_SCML_MONO_RNG_MASK)
  32661. /*! @} */
  32662. /*! @name SCR1C - Statistical Check Run Length 1 Count Register */
  32663. /*! @{ */
  32664. #define TRNG_SCR1C_R1_0_CT_MASK (0x7FFFU)
  32665. #define TRNG_SCR1C_R1_0_CT_SHIFT (0U)
  32666. #define TRNG_SCR1C_R1_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1C_R1_0_CT_SHIFT)) & TRNG_SCR1C_R1_0_CT_MASK)
  32667. #define TRNG_SCR1C_R1_1_CT_MASK (0x7FFF0000U)
  32668. #define TRNG_SCR1C_R1_1_CT_SHIFT (16U)
  32669. #define TRNG_SCR1C_R1_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1C_R1_1_CT_SHIFT)) & TRNG_SCR1C_R1_1_CT_MASK)
  32670. /*! @} */
  32671. /*! @name SCR1L - Statistical Check Run Length 1 Limit Register */
  32672. /*! @{ */
  32673. #define TRNG_SCR1L_RUN1_MAX_MASK (0x7FFFU)
  32674. #define TRNG_SCR1L_RUN1_MAX_SHIFT (0U)
  32675. #define TRNG_SCR1L_RUN1_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1L_RUN1_MAX_SHIFT)) & TRNG_SCR1L_RUN1_MAX_MASK)
  32676. #define TRNG_SCR1L_RUN1_RNG_MASK (0x7FFF0000U)
  32677. #define TRNG_SCR1L_RUN1_RNG_SHIFT (16U)
  32678. #define TRNG_SCR1L_RUN1_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1L_RUN1_RNG_SHIFT)) & TRNG_SCR1L_RUN1_RNG_MASK)
  32679. /*! @} */
  32680. /*! @name SCR2C - Statistical Check Run Length 2 Count Register */
  32681. /*! @{ */
  32682. #define TRNG_SCR2C_R2_0_CT_MASK (0x3FFFU)
  32683. #define TRNG_SCR2C_R2_0_CT_SHIFT (0U)
  32684. #define TRNG_SCR2C_R2_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2C_R2_0_CT_SHIFT)) & TRNG_SCR2C_R2_0_CT_MASK)
  32685. #define TRNG_SCR2C_R2_1_CT_MASK (0x3FFF0000U)
  32686. #define TRNG_SCR2C_R2_1_CT_SHIFT (16U)
  32687. #define TRNG_SCR2C_R2_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2C_R2_1_CT_SHIFT)) & TRNG_SCR2C_R2_1_CT_MASK)
  32688. /*! @} */
  32689. /*! @name SCR2L - Statistical Check Run Length 2 Limit Register */
  32690. /*! @{ */
  32691. #define TRNG_SCR2L_RUN2_MAX_MASK (0x3FFFU)
  32692. #define TRNG_SCR2L_RUN2_MAX_SHIFT (0U)
  32693. #define TRNG_SCR2L_RUN2_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2L_RUN2_MAX_SHIFT)) & TRNG_SCR2L_RUN2_MAX_MASK)
  32694. #define TRNG_SCR2L_RUN2_RNG_MASK (0x3FFF0000U)
  32695. #define TRNG_SCR2L_RUN2_RNG_SHIFT (16U)
  32696. #define TRNG_SCR2L_RUN2_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2L_RUN2_RNG_SHIFT)) & TRNG_SCR2L_RUN2_RNG_MASK)
  32697. /*! @} */
  32698. /*! @name SCR3C - Statistical Check Run Length 3 Count Register */
  32699. /*! @{ */
  32700. #define TRNG_SCR3C_R3_0_CT_MASK (0x1FFFU)
  32701. #define TRNG_SCR3C_R3_0_CT_SHIFT (0U)
  32702. #define TRNG_SCR3C_R3_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3C_R3_0_CT_SHIFT)) & TRNG_SCR3C_R3_0_CT_MASK)
  32703. #define TRNG_SCR3C_R3_1_CT_MASK (0x1FFF0000U)
  32704. #define TRNG_SCR3C_R3_1_CT_SHIFT (16U)
  32705. #define TRNG_SCR3C_R3_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3C_R3_1_CT_SHIFT)) & TRNG_SCR3C_R3_1_CT_MASK)
  32706. /*! @} */
  32707. /*! @name SCR3L - Statistical Check Run Length 3 Limit Register */
  32708. /*! @{ */
  32709. #define TRNG_SCR3L_RUN3_MAX_MASK (0x1FFFU)
  32710. #define TRNG_SCR3L_RUN3_MAX_SHIFT (0U)
  32711. #define TRNG_SCR3L_RUN3_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3L_RUN3_MAX_SHIFT)) & TRNG_SCR3L_RUN3_MAX_MASK)
  32712. #define TRNG_SCR3L_RUN3_RNG_MASK (0x1FFF0000U)
  32713. #define TRNG_SCR3L_RUN3_RNG_SHIFT (16U)
  32714. #define TRNG_SCR3L_RUN3_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3L_RUN3_RNG_SHIFT)) & TRNG_SCR3L_RUN3_RNG_MASK)
  32715. /*! @} */
  32716. /*! @name SCR4C - Statistical Check Run Length 4 Count Register */
  32717. /*! @{ */
  32718. #define TRNG_SCR4C_R4_0_CT_MASK (0xFFFU)
  32719. #define TRNG_SCR4C_R4_0_CT_SHIFT (0U)
  32720. #define TRNG_SCR4C_R4_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4C_R4_0_CT_SHIFT)) & TRNG_SCR4C_R4_0_CT_MASK)
  32721. #define TRNG_SCR4C_R4_1_CT_MASK (0xFFF0000U)
  32722. #define TRNG_SCR4C_R4_1_CT_SHIFT (16U)
  32723. #define TRNG_SCR4C_R4_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4C_R4_1_CT_SHIFT)) & TRNG_SCR4C_R4_1_CT_MASK)
  32724. /*! @} */
  32725. /*! @name SCR4L - Statistical Check Run Length 4 Limit Register */
  32726. /*! @{ */
  32727. #define TRNG_SCR4L_RUN4_MAX_MASK (0xFFFU)
  32728. #define TRNG_SCR4L_RUN4_MAX_SHIFT (0U)
  32729. #define TRNG_SCR4L_RUN4_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4L_RUN4_MAX_SHIFT)) & TRNG_SCR4L_RUN4_MAX_MASK)
  32730. #define TRNG_SCR4L_RUN4_RNG_MASK (0xFFF0000U)
  32731. #define TRNG_SCR4L_RUN4_RNG_SHIFT (16U)
  32732. #define TRNG_SCR4L_RUN4_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4L_RUN4_RNG_SHIFT)) & TRNG_SCR4L_RUN4_RNG_MASK)
  32733. /*! @} */
  32734. /*! @name SCR5C - Statistical Check Run Length 5 Count Register */
  32735. /*! @{ */
  32736. #define TRNG_SCR5C_R5_0_CT_MASK (0x7FFU)
  32737. #define TRNG_SCR5C_R5_0_CT_SHIFT (0U)
  32738. #define TRNG_SCR5C_R5_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5C_R5_0_CT_SHIFT)) & TRNG_SCR5C_R5_0_CT_MASK)
  32739. #define TRNG_SCR5C_R5_1_CT_MASK (0x7FF0000U)
  32740. #define TRNG_SCR5C_R5_1_CT_SHIFT (16U)
  32741. #define TRNG_SCR5C_R5_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5C_R5_1_CT_SHIFT)) & TRNG_SCR5C_R5_1_CT_MASK)
  32742. /*! @} */
  32743. /*! @name SCR5L - Statistical Check Run Length 5 Limit Register */
  32744. /*! @{ */
  32745. #define TRNG_SCR5L_RUN5_MAX_MASK (0x7FFU)
  32746. #define TRNG_SCR5L_RUN5_MAX_SHIFT (0U)
  32747. #define TRNG_SCR5L_RUN5_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5L_RUN5_MAX_SHIFT)) & TRNG_SCR5L_RUN5_MAX_MASK)
  32748. #define TRNG_SCR5L_RUN5_RNG_MASK (0x7FF0000U)
  32749. #define TRNG_SCR5L_RUN5_RNG_SHIFT (16U)
  32750. #define TRNG_SCR5L_RUN5_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5L_RUN5_RNG_SHIFT)) & TRNG_SCR5L_RUN5_RNG_MASK)
  32751. /*! @} */
  32752. /*! @name SCR6PC - Statistical Check Run Length 6+ Count Register */
  32753. /*! @{ */
  32754. #define TRNG_SCR6PC_R6P_0_CT_MASK (0x7FFU)
  32755. #define TRNG_SCR6PC_R6P_0_CT_SHIFT (0U)
  32756. #define TRNG_SCR6PC_R6P_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PC_R6P_0_CT_SHIFT)) & TRNG_SCR6PC_R6P_0_CT_MASK)
  32757. #define TRNG_SCR6PC_R6P_1_CT_MASK (0x7FF0000U)
  32758. #define TRNG_SCR6PC_R6P_1_CT_SHIFT (16U)
  32759. #define TRNG_SCR6PC_R6P_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PC_R6P_1_CT_SHIFT)) & TRNG_SCR6PC_R6P_1_CT_MASK)
  32760. /*! @} */
  32761. /*! @name SCR6PL - Statistical Check Run Length 6+ Limit Register */
  32762. /*! @{ */
  32763. #define TRNG_SCR6PL_RUN6P_MAX_MASK (0x7FFU)
  32764. #define TRNG_SCR6PL_RUN6P_MAX_SHIFT (0U)
  32765. #define TRNG_SCR6PL_RUN6P_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PL_RUN6P_MAX_SHIFT)) & TRNG_SCR6PL_RUN6P_MAX_MASK)
  32766. #define TRNG_SCR6PL_RUN6P_RNG_MASK (0x7FF0000U)
  32767. #define TRNG_SCR6PL_RUN6P_RNG_SHIFT (16U)
  32768. #define TRNG_SCR6PL_RUN6P_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PL_RUN6P_RNG_SHIFT)) & TRNG_SCR6PL_RUN6P_RNG_MASK)
  32769. /*! @} */
  32770. /*! @name STATUS - Status Register */
  32771. /*! @{ */
  32772. #define TRNG_STATUS_TF1BR0_MASK (0x1U)
  32773. #define TRNG_STATUS_TF1BR0_SHIFT (0U)
  32774. #define TRNG_STATUS_TF1BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF1BR0_SHIFT)) & TRNG_STATUS_TF1BR0_MASK)
  32775. #define TRNG_STATUS_TF1BR1_MASK (0x2U)
  32776. #define TRNG_STATUS_TF1BR1_SHIFT (1U)
  32777. #define TRNG_STATUS_TF1BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF1BR1_SHIFT)) & TRNG_STATUS_TF1BR1_MASK)
  32778. #define TRNG_STATUS_TF2BR0_MASK (0x4U)
  32779. #define TRNG_STATUS_TF2BR0_SHIFT (2U)
  32780. #define TRNG_STATUS_TF2BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF2BR0_SHIFT)) & TRNG_STATUS_TF2BR0_MASK)
  32781. #define TRNG_STATUS_TF2BR1_MASK (0x8U)
  32782. #define TRNG_STATUS_TF2BR1_SHIFT (3U)
  32783. #define TRNG_STATUS_TF2BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF2BR1_SHIFT)) & TRNG_STATUS_TF2BR1_MASK)
  32784. #define TRNG_STATUS_TF3BR0_MASK (0x10U)
  32785. #define TRNG_STATUS_TF3BR0_SHIFT (4U)
  32786. #define TRNG_STATUS_TF3BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF3BR0_SHIFT)) & TRNG_STATUS_TF3BR0_MASK)
  32787. #define TRNG_STATUS_TF3BR1_MASK (0x20U)
  32788. #define TRNG_STATUS_TF3BR1_SHIFT (5U)
  32789. #define TRNG_STATUS_TF3BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF3BR1_SHIFT)) & TRNG_STATUS_TF3BR1_MASK)
  32790. #define TRNG_STATUS_TF4BR0_MASK (0x40U)
  32791. #define TRNG_STATUS_TF4BR0_SHIFT (6U)
  32792. #define TRNG_STATUS_TF4BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF4BR0_SHIFT)) & TRNG_STATUS_TF4BR0_MASK)
  32793. #define TRNG_STATUS_TF4BR1_MASK (0x80U)
  32794. #define TRNG_STATUS_TF4BR1_SHIFT (7U)
  32795. #define TRNG_STATUS_TF4BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF4BR1_SHIFT)) & TRNG_STATUS_TF4BR1_MASK)
  32796. #define TRNG_STATUS_TF5BR0_MASK (0x100U)
  32797. #define TRNG_STATUS_TF5BR0_SHIFT (8U)
  32798. #define TRNG_STATUS_TF5BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF5BR0_SHIFT)) & TRNG_STATUS_TF5BR0_MASK)
  32799. #define TRNG_STATUS_TF5BR1_MASK (0x200U)
  32800. #define TRNG_STATUS_TF5BR1_SHIFT (9U)
  32801. #define TRNG_STATUS_TF5BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF5BR1_SHIFT)) & TRNG_STATUS_TF5BR1_MASK)
  32802. #define TRNG_STATUS_TF6PBR0_MASK (0x400U)
  32803. #define TRNG_STATUS_TF6PBR0_SHIFT (10U)
  32804. #define TRNG_STATUS_TF6PBR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF6PBR0_SHIFT)) & TRNG_STATUS_TF6PBR0_MASK)
  32805. #define TRNG_STATUS_TF6PBR1_MASK (0x800U)
  32806. #define TRNG_STATUS_TF6PBR1_SHIFT (11U)
  32807. #define TRNG_STATUS_TF6PBR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF6PBR1_SHIFT)) & TRNG_STATUS_TF6PBR1_MASK)
  32808. #define TRNG_STATUS_TFSB_MASK (0x1000U)
  32809. #define TRNG_STATUS_TFSB_SHIFT (12U)
  32810. #define TRNG_STATUS_TFSB(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFSB_SHIFT)) & TRNG_STATUS_TFSB_MASK)
  32811. #define TRNG_STATUS_TFLR_MASK (0x2000U)
  32812. #define TRNG_STATUS_TFLR_SHIFT (13U)
  32813. #define TRNG_STATUS_TFLR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFLR_SHIFT)) & TRNG_STATUS_TFLR_MASK)
  32814. #define TRNG_STATUS_TFP_MASK (0x4000U)
  32815. #define TRNG_STATUS_TFP_SHIFT (14U)
  32816. #define TRNG_STATUS_TFP(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFP_SHIFT)) & TRNG_STATUS_TFP_MASK)
  32817. #define TRNG_STATUS_TFMB_MASK (0x8000U)
  32818. #define TRNG_STATUS_TFMB_SHIFT (15U)
  32819. #define TRNG_STATUS_TFMB(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFMB_SHIFT)) & TRNG_STATUS_TFMB_MASK)
  32820. #define TRNG_STATUS_RETRY_CT_MASK (0xF0000U)
  32821. #define TRNG_STATUS_RETRY_CT_SHIFT (16U)
  32822. #define TRNG_STATUS_RETRY_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_RETRY_CT_SHIFT)) & TRNG_STATUS_RETRY_CT_MASK)
  32823. /*! @} */
  32824. /*! @name ENT - Entropy Read Register */
  32825. /*! @{ */
  32826. #define TRNG_ENT_ENT_MASK (0xFFFFFFFFU)
  32827. #define TRNG_ENT_ENT_SHIFT (0U)
  32828. #define TRNG_ENT_ENT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_ENT_ENT_SHIFT)) & TRNG_ENT_ENT_MASK)
  32829. /*! @} */
  32830. /* The count of TRNG_ENT */
  32831. #define TRNG_ENT_COUNT (16U)
  32832. /*! @name PKRCNT10 - Statistical Check Poker Count 1 and 0 Register */
  32833. /*! @{ */
  32834. #define TRNG_PKRCNT10_PKR_0_CT_MASK (0xFFFFU)
  32835. #define TRNG_PKRCNT10_PKR_0_CT_SHIFT (0U)
  32836. #define TRNG_PKRCNT10_PKR_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT10_PKR_0_CT_SHIFT)) & TRNG_PKRCNT10_PKR_0_CT_MASK)
  32837. #define TRNG_PKRCNT10_PKR_1_CT_MASK (0xFFFF0000U)
  32838. #define TRNG_PKRCNT10_PKR_1_CT_SHIFT (16U)
  32839. #define TRNG_PKRCNT10_PKR_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT10_PKR_1_CT_SHIFT)) & TRNG_PKRCNT10_PKR_1_CT_MASK)
  32840. /*! @} */
  32841. /*! @name PKRCNT32 - Statistical Check Poker Count 3 and 2 Register */
  32842. /*! @{ */
  32843. #define TRNG_PKRCNT32_PKR_2_CT_MASK (0xFFFFU)
  32844. #define TRNG_PKRCNT32_PKR_2_CT_SHIFT (0U)
  32845. #define TRNG_PKRCNT32_PKR_2_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT32_PKR_2_CT_SHIFT)) & TRNG_PKRCNT32_PKR_2_CT_MASK)
  32846. #define TRNG_PKRCNT32_PKR_3_CT_MASK (0xFFFF0000U)
  32847. #define TRNG_PKRCNT32_PKR_3_CT_SHIFT (16U)
  32848. #define TRNG_PKRCNT32_PKR_3_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT32_PKR_3_CT_SHIFT)) & TRNG_PKRCNT32_PKR_3_CT_MASK)
  32849. /*! @} */
  32850. /*! @name PKRCNT54 - Statistical Check Poker Count 5 and 4 Register */
  32851. /*! @{ */
  32852. #define TRNG_PKRCNT54_PKR_4_CT_MASK (0xFFFFU)
  32853. #define TRNG_PKRCNT54_PKR_4_CT_SHIFT (0U)
  32854. #define TRNG_PKRCNT54_PKR_4_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT54_PKR_4_CT_SHIFT)) & TRNG_PKRCNT54_PKR_4_CT_MASK)
  32855. #define TRNG_PKRCNT54_PKR_5_CT_MASK (0xFFFF0000U)
  32856. #define TRNG_PKRCNT54_PKR_5_CT_SHIFT (16U)
  32857. #define TRNG_PKRCNT54_PKR_5_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT54_PKR_5_CT_SHIFT)) & TRNG_PKRCNT54_PKR_5_CT_MASK)
  32858. /*! @} */
  32859. /*! @name PKRCNT76 - Statistical Check Poker Count 7 and 6 Register */
  32860. /*! @{ */
  32861. #define TRNG_PKRCNT76_PKR_6_CT_MASK (0xFFFFU)
  32862. #define TRNG_PKRCNT76_PKR_6_CT_SHIFT (0U)
  32863. #define TRNG_PKRCNT76_PKR_6_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT76_PKR_6_CT_SHIFT)) & TRNG_PKRCNT76_PKR_6_CT_MASK)
  32864. #define TRNG_PKRCNT76_PKR_7_CT_MASK (0xFFFF0000U)
  32865. #define TRNG_PKRCNT76_PKR_7_CT_SHIFT (16U)
  32866. #define TRNG_PKRCNT76_PKR_7_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT76_PKR_7_CT_SHIFT)) & TRNG_PKRCNT76_PKR_7_CT_MASK)
  32867. /*! @} */
  32868. /*! @name PKRCNT98 - Statistical Check Poker Count 9 and 8 Register */
  32869. /*! @{ */
  32870. #define TRNG_PKRCNT98_PKR_8_CT_MASK (0xFFFFU)
  32871. #define TRNG_PKRCNT98_PKR_8_CT_SHIFT (0U)
  32872. #define TRNG_PKRCNT98_PKR_8_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT98_PKR_8_CT_SHIFT)) & TRNG_PKRCNT98_PKR_8_CT_MASK)
  32873. #define TRNG_PKRCNT98_PKR_9_CT_MASK (0xFFFF0000U)
  32874. #define TRNG_PKRCNT98_PKR_9_CT_SHIFT (16U)
  32875. #define TRNG_PKRCNT98_PKR_9_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT98_PKR_9_CT_SHIFT)) & TRNG_PKRCNT98_PKR_9_CT_MASK)
  32876. /*! @} */
  32877. /*! @name PKRCNTBA - Statistical Check Poker Count B and A Register */
  32878. /*! @{ */
  32879. #define TRNG_PKRCNTBA_PKR_A_CT_MASK (0xFFFFU)
  32880. #define TRNG_PKRCNTBA_PKR_A_CT_SHIFT (0U)
  32881. #define TRNG_PKRCNTBA_PKR_A_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTBA_PKR_A_CT_SHIFT)) & TRNG_PKRCNTBA_PKR_A_CT_MASK)
  32882. #define TRNG_PKRCNTBA_PKR_B_CT_MASK (0xFFFF0000U)
  32883. #define TRNG_PKRCNTBA_PKR_B_CT_SHIFT (16U)
  32884. #define TRNG_PKRCNTBA_PKR_B_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTBA_PKR_B_CT_SHIFT)) & TRNG_PKRCNTBA_PKR_B_CT_MASK)
  32885. /*! @} */
  32886. /*! @name PKRCNTDC - Statistical Check Poker Count D and C Register */
  32887. /*! @{ */
  32888. #define TRNG_PKRCNTDC_PKR_C_CT_MASK (0xFFFFU)
  32889. #define TRNG_PKRCNTDC_PKR_C_CT_SHIFT (0U)
  32890. #define TRNG_PKRCNTDC_PKR_C_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTDC_PKR_C_CT_SHIFT)) & TRNG_PKRCNTDC_PKR_C_CT_MASK)
  32891. #define TRNG_PKRCNTDC_PKR_D_CT_MASK (0xFFFF0000U)
  32892. #define TRNG_PKRCNTDC_PKR_D_CT_SHIFT (16U)
  32893. #define TRNG_PKRCNTDC_PKR_D_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTDC_PKR_D_CT_SHIFT)) & TRNG_PKRCNTDC_PKR_D_CT_MASK)
  32894. /*! @} */
  32895. /*! @name PKRCNTFE - Statistical Check Poker Count F and E Register */
  32896. /*! @{ */
  32897. #define TRNG_PKRCNTFE_PKR_E_CT_MASK (0xFFFFU)
  32898. #define TRNG_PKRCNTFE_PKR_E_CT_SHIFT (0U)
  32899. #define TRNG_PKRCNTFE_PKR_E_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTFE_PKR_E_CT_SHIFT)) & TRNG_PKRCNTFE_PKR_E_CT_MASK)
  32900. #define TRNG_PKRCNTFE_PKR_F_CT_MASK (0xFFFF0000U)
  32901. #define TRNG_PKRCNTFE_PKR_F_CT_SHIFT (16U)
  32902. #define TRNG_PKRCNTFE_PKR_F_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTFE_PKR_F_CT_SHIFT)) & TRNG_PKRCNTFE_PKR_F_CT_MASK)
  32903. /*! @} */
  32904. /*! @name SEC_CFG - Security Configuration Register */
  32905. /*! @{ */
  32906. #define TRNG_SEC_CFG_UNUSED0_MASK (0x1U)
  32907. #define TRNG_SEC_CFG_UNUSED0_SHIFT (0U)
  32908. #define TRNG_SEC_CFG_UNUSED0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SEC_CFG_UNUSED0_SHIFT)) & TRNG_SEC_CFG_UNUSED0_MASK)
  32909. #define TRNG_SEC_CFG_NO_PRGM_MASK (0x2U)
  32910. #define TRNG_SEC_CFG_NO_PRGM_SHIFT (1U)
  32911. /*! NO_PRGM
  32912. * 0b0..Programability of registers controlled only by the Miscellaneous Control Register's access mode bit.
  32913. * 0b1..Overides Miscellaneous Control Register access mode and prevents TRNG register programming.
  32914. */
  32915. #define TRNG_SEC_CFG_NO_PRGM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SEC_CFG_NO_PRGM_SHIFT)) & TRNG_SEC_CFG_NO_PRGM_MASK)
  32916. #define TRNG_SEC_CFG_UNUSED2_MASK (0x4U)
  32917. #define TRNG_SEC_CFG_UNUSED2_SHIFT (2U)
  32918. #define TRNG_SEC_CFG_UNUSED2(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SEC_CFG_UNUSED2_SHIFT)) & TRNG_SEC_CFG_UNUSED2_MASK)
  32919. /*! @} */
  32920. /*! @name INT_CTRL - Interrupt Control Register */
  32921. /*! @{ */
  32922. #define TRNG_INT_CTRL_HW_ERR_MASK (0x1U)
  32923. #define TRNG_INT_CTRL_HW_ERR_SHIFT (0U)
  32924. /*! HW_ERR
  32925. * 0b0..Corresponding bit of INT_STATUS register cleared.
  32926. * 0b1..Corresponding bit of INT_STATUS register active.
  32927. */
  32928. #define TRNG_INT_CTRL_HW_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_CTRL_HW_ERR_SHIFT)) & TRNG_INT_CTRL_HW_ERR_MASK)
  32929. #define TRNG_INT_CTRL_ENT_VAL_MASK (0x2U)
  32930. #define TRNG_INT_CTRL_ENT_VAL_SHIFT (1U)
  32931. /*! ENT_VAL
  32932. * 0b0..Same behavior as bit 0 of this register.
  32933. * 0b1..Same behavior as bit 0 of this register.
  32934. */
  32935. #define TRNG_INT_CTRL_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_CTRL_ENT_VAL_SHIFT)) & TRNG_INT_CTRL_ENT_VAL_MASK)
  32936. #define TRNG_INT_CTRL_FRQ_CT_FAIL_MASK (0x4U)
  32937. #define TRNG_INT_CTRL_FRQ_CT_FAIL_SHIFT (2U)
  32938. /*! FRQ_CT_FAIL
  32939. * 0b0..Same behavior as bit 0 of this register.
  32940. * 0b1..Same behavior as bit 0 of this register.
  32941. */
  32942. #define TRNG_INT_CTRL_FRQ_CT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_CTRL_FRQ_CT_FAIL_SHIFT)) & TRNG_INT_CTRL_FRQ_CT_FAIL_MASK)
  32943. #define TRNG_INT_CTRL_UNUSED_MASK (0xFFFFFFF8U)
  32944. #define TRNG_INT_CTRL_UNUSED_SHIFT (3U)
  32945. #define TRNG_INT_CTRL_UNUSED(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_CTRL_UNUSED_SHIFT)) & TRNG_INT_CTRL_UNUSED_MASK)
  32946. /*! @} */
  32947. /*! @name INT_MASK - Mask Register */
  32948. /*! @{ */
  32949. #define TRNG_INT_MASK_HW_ERR_MASK (0x1U)
  32950. #define TRNG_INT_MASK_HW_ERR_SHIFT (0U)
  32951. /*! HW_ERR
  32952. * 0b0..Corresponding interrupt of INT_STATUS is masked.
  32953. * 0b1..Corresponding bit of INT_STATUS is active.
  32954. */
  32955. #define TRNG_INT_MASK_HW_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_MASK_HW_ERR_SHIFT)) & TRNG_INT_MASK_HW_ERR_MASK)
  32956. #define TRNG_INT_MASK_ENT_VAL_MASK (0x2U)
  32957. #define TRNG_INT_MASK_ENT_VAL_SHIFT (1U)
  32958. /*! ENT_VAL
  32959. * 0b0..Same behavior as bit 0 of this register.
  32960. * 0b1..Same behavior as bit 0 of this register.
  32961. */
  32962. #define TRNG_INT_MASK_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_MASK_ENT_VAL_SHIFT)) & TRNG_INT_MASK_ENT_VAL_MASK)
  32963. #define TRNG_INT_MASK_FRQ_CT_FAIL_MASK (0x4U)
  32964. #define TRNG_INT_MASK_FRQ_CT_FAIL_SHIFT (2U)
  32965. /*! FRQ_CT_FAIL
  32966. * 0b0..Same behavior as bit 0 of this register.
  32967. * 0b1..Same behavior as bit 0 of this register.
  32968. */
  32969. #define TRNG_INT_MASK_FRQ_CT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_MASK_FRQ_CT_FAIL_SHIFT)) & TRNG_INT_MASK_FRQ_CT_FAIL_MASK)
  32970. /*! @} */
  32971. /*! @name INT_STATUS - Interrupt Status Register */
  32972. /*! @{ */
  32973. #define TRNG_INT_STATUS_HW_ERR_MASK (0x1U)
  32974. #define TRNG_INT_STATUS_HW_ERR_SHIFT (0U)
  32975. /*! HW_ERR
  32976. * 0b0..no error
  32977. * 0b1..error detected.
  32978. */
  32979. #define TRNG_INT_STATUS_HW_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_STATUS_HW_ERR_SHIFT)) & TRNG_INT_STATUS_HW_ERR_MASK)
  32980. #define TRNG_INT_STATUS_ENT_VAL_MASK (0x2U)
  32981. #define TRNG_INT_STATUS_ENT_VAL_SHIFT (1U)
  32982. /*! ENT_VAL
  32983. * 0b0..Busy generation entropy. Any value read is invalid.
  32984. * 0b1..TRNG can be stopped and entropy is valid if read.
  32985. */
  32986. #define TRNG_INT_STATUS_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_STATUS_ENT_VAL_SHIFT)) & TRNG_INT_STATUS_ENT_VAL_MASK)
  32987. #define TRNG_INT_STATUS_FRQ_CT_FAIL_MASK (0x4U)
  32988. #define TRNG_INT_STATUS_FRQ_CT_FAIL_SHIFT (2U)
  32989. /*! FRQ_CT_FAIL
  32990. * 0b0..No hardware nor self test frequency errors.
  32991. * 0b1..The frequency counter has detected a failure.
  32992. */
  32993. #define TRNG_INT_STATUS_FRQ_CT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_STATUS_FRQ_CT_FAIL_SHIFT)) & TRNG_INT_STATUS_FRQ_CT_FAIL_MASK)
  32994. /*! @} */
  32995. /*! @name VID1 - Version ID Register (MS) */
  32996. /*! @{ */
  32997. #define TRNG_VID1_MIN_REV_MASK (0xFFU)
  32998. #define TRNG_VID1_MIN_REV_SHIFT (0U)
  32999. /*! MIN_REV
  33000. * 0b00000000..Minor revision number for TRNG.
  33001. */
  33002. #define TRNG_VID1_MIN_REV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID1_MIN_REV_SHIFT)) & TRNG_VID1_MIN_REV_MASK)
  33003. #define TRNG_VID1_MAJ_REV_MASK (0xFF00U)
  33004. #define TRNG_VID1_MAJ_REV_SHIFT (8U)
  33005. /*! MAJ_REV
  33006. * 0b00000001..Major revision number for TRNG.
  33007. */
  33008. #define TRNG_VID1_MAJ_REV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID1_MAJ_REV_SHIFT)) & TRNG_VID1_MAJ_REV_MASK)
  33009. #define TRNG_VID1_IP_ID_MASK (0xFFFF0000U)
  33010. #define TRNG_VID1_IP_ID_SHIFT (16U)
  33011. /*! IP_ID
  33012. * 0b0000000000110000..ID for TRNG.
  33013. */
  33014. #define TRNG_VID1_IP_ID(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID1_IP_ID_SHIFT)) & TRNG_VID1_IP_ID_MASK)
  33015. /*! @} */
  33016. /*! @name VID2 - Version ID Register (LS) */
  33017. /*! @{ */
  33018. #define TRNG_VID2_CONFIG_OPT_MASK (0xFFU)
  33019. #define TRNG_VID2_CONFIG_OPT_SHIFT (0U)
  33020. /*! CONFIG_OPT
  33021. * 0b00000000..TRNG_CONFIG_OPT for TRNG.
  33022. */
  33023. #define TRNG_VID2_CONFIG_OPT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_CONFIG_OPT_SHIFT)) & TRNG_VID2_CONFIG_OPT_MASK)
  33024. #define TRNG_VID2_ECO_REV_MASK (0xFF00U)
  33025. #define TRNG_VID2_ECO_REV_SHIFT (8U)
  33026. /*! ECO_REV
  33027. * 0b00000000..TRNG_ECO_REV for TRNG.
  33028. */
  33029. #define TRNG_VID2_ECO_REV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_ECO_REV_SHIFT)) & TRNG_VID2_ECO_REV_MASK)
  33030. #define TRNG_VID2_INTG_OPT_MASK (0xFF0000U)
  33031. #define TRNG_VID2_INTG_OPT_SHIFT (16U)
  33032. /*! INTG_OPT
  33033. * 0b00000000..INTG_OPT for TRNG.
  33034. */
  33035. #define TRNG_VID2_INTG_OPT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_INTG_OPT_SHIFT)) & TRNG_VID2_INTG_OPT_MASK)
  33036. #define TRNG_VID2_ERA_MASK (0xFF000000U)
  33037. #define TRNG_VID2_ERA_SHIFT (24U)
  33038. /*! ERA
  33039. * 0b00000000..COMPILE_OPT for TRNG.
  33040. */
  33041. #define TRNG_VID2_ERA(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_ERA_SHIFT)) & TRNG_VID2_ERA_MASK)
  33042. /*! @} */
  33043. /*!
  33044. * @}
  33045. */ /* end of group TRNG_Register_Masks */
  33046. /* TRNG - Peripheral instance base addresses */
  33047. /** Peripheral TRNG base address */
  33048. #define TRNG_BASE (0x400CC000u)
  33049. /** Peripheral TRNG base pointer */
  33050. #define TRNG ((TRNG_Type *)TRNG_BASE)
  33051. /** Array initializer of TRNG peripheral base addresses */
  33052. #define TRNG_BASE_ADDRS { TRNG_BASE }
  33053. /** Array initializer of TRNG peripheral base pointers */
  33054. #define TRNG_BASE_PTRS { TRNG }
  33055. /** Interrupt vectors for the TRNG peripheral type */
  33056. #define TRNG_IRQS { TRNG_IRQn }
  33057. /*!
  33058. * @}
  33059. */ /* end of group TRNG_Peripheral_Access_Layer */
  33060. /* ----------------------------------------------------------------------------
  33061. -- USB Peripheral Access Layer
  33062. ---------------------------------------------------------------------------- */
  33063. /*!
  33064. * @addtogroup USB_Peripheral_Access_Layer USB Peripheral Access Layer
  33065. * @{
  33066. */
  33067. /** USB - Register Layout Typedef */
  33068. typedef struct {
  33069. __I uint32_t ID; /**< Identification register, offset: 0x0 */
  33070. __I uint32_t HWGENERAL; /**< Hardware General, offset: 0x4 */
  33071. __I uint32_t HWHOST; /**< Host Hardware Parameters, offset: 0x8 */
  33072. __I uint32_t HWDEVICE; /**< Device Hardware Parameters, offset: 0xC */
  33073. __I uint32_t HWTXBUF; /**< TX Buffer Hardware Parameters, offset: 0x10 */
  33074. __I uint32_t HWRXBUF; /**< RX Buffer Hardware Parameters, offset: 0x14 */
  33075. uint8_t RESERVED_0[104];
  33076. __IO uint32_t GPTIMER0LD; /**< General Purpose Timer #0 Load, offset: 0x80 */
  33077. __IO uint32_t GPTIMER0CTRL; /**< General Purpose Timer #0 Controller, offset: 0x84 */
  33078. __IO uint32_t GPTIMER1LD; /**< General Purpose Timer #1 Load, offset: 0x88 */
  33079. __IO uint32_t GPTIMER1CTRL; /**< General Purpose Timer #1 Controller, offset: 0x8C */
  33080. __IO uint32_t SBUSCFG; /**< System Bus Config, offset: 0x90 */
  33081. uint8_t RESERVED_1[108];
  33082. __I uint8_t CAPLENGTH; /**< Capability Registers Length, offset: 0x100 */
  33083. uint8_t RESERVED_2[1];
  33084. __I uint16_t HCIVERSION; /**< Host Controller Interface Version, offset: 0x102 */
  33085. __I uint32_t HCSPARAMS; /**< Host Controller Structural Parameters, offset: 0x104 */
  33086. __I uint32_t HCCPARAMS; /**< Host Controller Capability Parameters, offset: 0x108 */
  33087. uint8_t RESERVED_3[20];
  33088. __I uint16_t DCIVERSION; /**< Device Controller Interface Version, offset: 0x120 */
  33089. uint8_t RESERVED_4[2];
  33090. __I uint32_t DCCPARAMS; /**< Device Controller Capability Parameters, offset: 0x124 */
  33091. uint8_t RESERVED_5[24];
  33092. __IO uint32_t USBCMD; /**< USB Command Register, offset: 0x140 */
  33093. __IO uint32_t USBSTS; /**< USB Status Register, offset: 0x144 */
  33094. __IO uint32_t USBINTR; /**< Interrupt Enable Register, offset: 0x148 */
  33095. __IO uint32_t FRINDEX; /**< USB Frame Index, offset: 0x14C */
  33096. uint8_t RESERVED_6[4];
  33097. union { /* offset: 0x154 */
  33098. __IO uint32_t DEVICEADDR; /**< Device Address, offset: 0x154 */
  33099. __IO uint32_t PERIODICLISTBASE; /**< Frame List Base Address, offset: 0x154 */
  33100. };
  33101. union { /* offset: 0x158 */
  33102. __IO uint32_t ASYNCLISTADDR; /**< Next Asynch. Address, offset: 0x158 */
  33103. __IO uint32_t ENDPTLISTADDR; /**< Endpoint List Address, offset: 0x158 */
  33104. };
  33105. uint8_t RESERVED_7[4];
  33106. __IO uint32_t BURSTSIZE; /**< Programmable Burst Size, offset: 0x160 */
  33107. __IO uint32_t TXFILLTUNING; /**< TX FIFO Fill Tuning, offset: 0x164 */
  33108. uint8_t RESERVED_8[16];
  33109. __IO uint32_t ENDPTNAK; /**< Endpoint NAK, offset: 0x178 */
  33110. __IO uint32_t ENDPTNAKEN; /**< Endpoint NAK Enable, offset: 0x17C */
  33111. __I uint32_t CONFIGFLAG; /**< Configure Flag Register, offset: 0x180 */
  33112. __IO uint32_t PORTSC1; /**< Port Status & Control, offset: 0x184 */
  33113. uint8_t RESERVED_9[28];
  33114. __IO uint32_t OTGSC; /**< On-The-Go Status & control, offset: 0x1A4 */
  33115. __IO uint32_t USBMODE; /**< USB Device Mode, offset: 0x1A8 */
  33116. __IO uint32_t ENDPTSETUPSTAT; /**< Endpoint Setup Status, offset: 0x1AC */
  33117. __IO uint32_t ENDPTPRIME; /**< Endpoint Prime, offset: 0x1B0 */
  33118. __IO uint32_t ENDPTFLUSH; /**< Endpoint Flush, offset: 0x1B4 */
  33119. __I uint32_t ENDPTSTAT; /**< Endpoint Status, offset: 0x1B8 */
  33120. __IO uint32_t ENDPTCOMPLETE; /**< Endpoint Complete, offset: 0x1BC */
  33121. __IO uint32_t ENDPTCTRL0; /**< Endpoint Control0, offset: 0x1C0 */
  33122. __IO uint32_t ENDPTCTRL[7]; /**< Endpoint Control 1..Endpoint Control 7, array offset: 0x1C4, array step: 0x4 */
  33123. } USB_Type;
  33124. /* ----------------------------------------------------------------------------
  33125. -- USB Register Masks
  33126. ---------------------------------------------------------------------------- */
  33127. /*!
  33128. * @addtogroup USB_Register_Masks USB Register Masks
  33129. * @{
  33130. */
  33131. /*! @name ID - Identification register */
  33132. /*! @{ */
  33133. #define USB_ID_ID_MASK (0x3FU)
  33134. #define USB_ID_ID_SHIFT (0U)
  33135. #define USB_ID_ID(x) (((uint32_t)(((uint32_t)(x)) << USB_ID_ID_SHIFT)) & USB_ID_ID_MASK)
  33136. #define USB_ID_NID_MASK (0x3F00U)
  33137. #define USB_ID_NID_SHIFT (8U)
  33138. #define USB_ID_NID(x) (((uint32_t)(((uint32_t)(x)) << USB_ID_NID_SHIFT)) & USB_ID_NID_MASK)
  33139. #define USB_ID_REVISION_MASK (0xFF0000U)
  33140. #define USB_ID_REVISION_SHIFT (16U)
  33141. #define USB_ID_REVISION(x) (((uint32_t)(((uint32_t)(x)) << USB_ID_REVISION_SHIFT)) & USB_ID_REVISION_MASK)
  33142. /*! @} */
  33143. /*! @name HWGENERAL - Hardware General */
  33144. /*! @{ */
  33145. #define USB_HWGENERAL_PHYW_MASK (0x30U)
  33146. #define USB_HWGENERAL_PHYW_SHIFT (4U)
  33147. /*! PHYW
  33148. * 0b00..8 bit wide data bus Software non-programmable
  33149. * 0b01..16 bit wide data bus Software non-programmable
  33150. * 0b10..Reset to 8 bit wide data bus Software programmable
  33151. * 0b11..Reset to 16 bit wide data bus Software programmable
  33152. */
  33153. #define USB_HWGENERAL_PHYW(x) (((uint32_t)(((uint32_t)(x)) << USB_HWGENERAL_PHYW_SHIFT)) & USB_HWGENERAL_PHYW_MASK)
  33154. #define USB_HWGENERAL_PHYM_MASK (0x1C0U)
  33155. #define USB_HWGENERAL_PHYM_SHIFT (6U)
  33156. /*! PHYM
  33157. * 0b000..UTMI/UMTI+
  33158. * 0b001..ULPI DDR
  33159. * 0b010..ULPI
  33160. * 0b011..Serial Only
  33161. * 0b100..Software programmable - reset to UTMI/UTMI+
  33162. * 0b101..Software programmable - reset to ULPI DDR
  33163. * 0b110..Software programmable - reset to ULPI
  33164. * 0b111..Software programmable - reset to Serial
  33165. */
  33166. #define USB_HWGENERAL_PHYM(x) (((uint32_t)(((uint32_t)(x)) << USB_HWGENERAL_PHYM_SHIFT)) & USB_HWGENERAL_PHYM_MASK)
  33167. #define USB_HWGENERAL_SM_MASK (0x600U)
  33168. #define USB_HWGENERAL_SM_SHIFT (9U)
  33169. /*! SM
  33170. * 0b00..No Serial Engine, always use parallel signalling.
  33171. * 0b01..Serial Engine present, always use serial signalling for FS/LS.
  33172. * 0b10..Software programmable - Reset to use parallel signalling for FS/LS
  33173. * 0b11..Software programmable - Reset to use serial signalling for FS/LS
  33174. */
  33175. #define USB_HWGENERAL_SM(x) (((uint32_t)(((uint32_t)(x)) << USB_HWGENERAL_SM_SHIFT)) & USB_HWGENERAL_SM_MASK)
  33176. /*! @} */
  33177. /*! @name HWHOST - Host Hardware Parameters */
  33178. /*! @{ */
  33179. #define USB_HWHOST_HC_MASK (0x1U)
  33180. #define USB_HWHOST_HC_SHIFT (0U)
  33181. /*! HC
  33182. * 0b1..Supported
  33183. * 0b0..Not supported
  33184. */
  33185. #define USB_HWHOST_HC(x) (((uint32_t)(((uint32_t)(x)) << USB_HWHOST_HC_SHIFT)) & USB_HWHOST_HC_MASK)
  33186. #define USB_HWHOST_NPORT_MASK (0xEU)
  33187. #define USB_HWHOST_NPORT_SHIFT (1U)
  33188. #define USB_HWHOST_NPORT(x) (((uint32_t)(((uint32_t)(x)) << USB_HWHOST_NPORT_SHIFT)) & USB_HWHOST_NPORT_MASK)
  33189. /*! @} */
  33190. /*! @name HWDEVICE - Device Hardware Parameters */
  33191. /*! @{ */
  33192. #define USB_HWDEVICE_DC_MASK (0x1U)
  33193. #define USB_HWDEVICE_DC_SHIFT (0U)
  33194. /*! DC
  33195. * 0b1..Supported
  33196. * 0b0..Not supported
  33197. */
  33198. #define USB_HWDEVICE_DC(x) (((uint32_t)(((uint32_t)(x)) << USB_HWDEVICE_DC_SHIFT)) & USB_HWDEVICE_DC_MASK)
  33199. #define USB_HWDEVICE_DEVEP_MASK (0x3EU)
  33200. #define USB_HWDEVICE_DEVEP_SHIFT (1U)
  33201. #define USB_HWDEVICE_DEVEP(x) (((uint32_t)(((uint32_t)(x)) << USB_HWDEVICE_DEVEP_SHIFT)) & USB_HWDEVICE_DEVEP_MASK)
  33202. /*! @} */
  33203. /*! @name HWTXBUF - TX Buffer Hardware Parameters */
  33204. /*! @{ */
  33205. #define USB_HWTXBUF_TXBURST_MASK (0xFFU)
  33206. #define USB_HWTXBUF_TXBURST_SHIFT (0U)
  33207. #define USB_HWTXBUF_TXBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_HWTXBUF_TXBURST_SHIFT)) & USB_HWTXBUF_TXBURST_MASK)
  33208. #define USB_HWTXBUF_TXCHANADD_MASK (0xFF0000U)
  33209. #define USB_HWTXBUF_TXCHANADD_SHIFT (16U)
  33210. #define USB_HWTXBUF_TXCHANADD(x) (((uint32_t)(((uint32_t)(x)) << USB_HWTXBUF_TXCHANADD_SHIFT)) & USB_HWTXBUF_TXCHANADD_MASK)
  33211. /*! @} */
  33212. /*! @name HWRXBUF - RX Buffer Hardware Parameters */
  33213. /*! @{ */
  33214. #define USB_HWRXBUF_RXBURST_MASK (0xFFU)
  33215. #define USB_HWRXBUF_RXBURST_SHIFT (0U)
  33216. #define USB_HWRXBUF_RXBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_HWRXBUF_RXBURST_SHIFT)) & USB_HWRXBUF_RXBURST_MASK)
  33217. #define USB_HWRXBUF_RXADD_MASK (0xFF00U)
  33218. #define USB_HWRXBUF_RXADD_SHIFT (8U)
  33219. #define USB_HWRXBUF_RXADD(x) (((uint32_t)(((uint32_t)(x)) << USB_HWRXBUF_RXADD_SHIFT)) & USB_HWRXBUF_RXADD_MASK)
  33220. /*! @} */
  33221. /*! @name GPTIMER0LD - General Purpose Timer #0 Load */
  33222. /*! @{ */
  33223. #define USB_GPTIMER0LD_GPTLD_MASK (0xFFFFFFU)
  33224. #define USB_GPTIMER0LD_GPTLD_SHIFT (0U)
  33225. #define USB_GPTIMER0LD_GPTLD(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0LD_GPTLD_SHIFT)) & USB_GPTIMER0LD_GPTLD_MASK)
  33226. /*! @} */
  33227. /*! @name GPTIMER0CTRL - General Purpose Timer #0 Controller */
  33228. /*! @{ */
  33229. #define USB_GPTIMER0CTRL_GPTCNT_MASK (0xFFFFFFU)
  33230. #define USB_GPTIMER0CTRL_GPTCNT_SHIFT (0U)
  33231. #define USB_GPTIMER0CTRL_GPTCNT(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTCNT_SHIFT)) & USB_GPTIMER0CTRL_GPTCNT_MASK)
  33232. #define USB_GPTIMER0CTRL_GPTMODE_MASK (0x1000000U)
  33233. #define USB_GPTIMER0CTRL_GPTMODE_SHIFT (24U)
  33234. /*! GPTMODE
  33235. * 0b0..One Shot Mode
  33236. * 0b1..Repeat Mode
  33237. */
  33238. #define USB_GPTIMER0CTRL_GPTMODE(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTMODE_SHIFT)) & USB_GPTIMER0CTRL_GPTMODE_MASK)
  33239. #define USB_GPTIMER0CTRL_GPTRST_MASK (0x40000000U)
  33240. #define USB_GPTIMER0CTRL_GPTRST_SHIFT (30U)
  33241. /*! GPTRST
  33242. * 0b0..No action
  33243. * 0b1..Load counter value from GPTLD bits in n_GPTIMER0LD
  33244. */
  33245. #define USB_GPTIMER0CTRL_GPTRST(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTRST_SHIFT)) & USB_GPTIMER0CTRL_GPTRST_MASK)
  33246. #define USB_GPTIMER0CTRL_GPTRUN_MASK (0x80000000U)
  33247. #define USB_GPTIMER0CTRL_GPTRUN_SHIFT (31U)
  33248. /*! GPTRUN
  33249. * 0b0..Stop counting
  33250. * 0b1..Run
  33251. */
  33252. #define USB_GPTIMER0CTRL_GPTRUN(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTRUN_SHIFT)) & USB_GPTIMER0CTRL_GPTRUN_MASK)
  33253. /*! @} */
  33254. /*! @name GPTIMER1LD - General Purpose Timer #1 Load */
  33255. /*! @{ */
  33256. #define USB_GPTIMER1LD_GPTLD_MASK (0xFFFFFFU)
  33257. #define USB_GPTIMER1LD_GPTLD_SHIFT (0U)
  33258. #define USB_GPTIMER1LD_GPTLD(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1LD_GPTLD_SHIFT)) & USB_GPTIMER1LD_GPTLD_MASK)
  33259. /*! @} */
  33260. /*! @name GPTIMER1CTRL - General Purpose Timer #1 Controller */
  33261. /*! @{ */
  33262. #define USB_GPTIMER1CTRL_GPTCNT_MASK (0xFFFFFFU)
  33263. #define USB_GPTIMER1CTRL_GPTCNT_SHIFT (0U)
  33264. #define USB_GPTIMER1CTRL_GPTCNT(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTCNT_SHIFT)) & USB_GPTIMER1CTRL_GPTCNT_MASK)
  33265. #define USB_GPTIMER1CTRL_GPTMODE_MASK (0x1000000U)
  33266. #define USB_GPTIMER1CTRL_GPTMODE_SHIFT (24U)
  33267. /*! GPTMODE
  33268. * 0b0..One Shot Mode
  33269. * 0b1..Repeat Mode
  33270. */
  33271. #define USB_GPTIMER1CTRL_GPTMODE(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTMODE_SHIFT)) & USB_GPTIMER1CTRL_GPTMODE_MASK)
  33272. #define USB_GPTIMER1CTRL_GPTRST_MASK (0x40000000U)
  33273. #define USB_GPTIMER1CTRL_GPTRST_SHIFT (30U)
  33274. /*! GPTRST
  33275. * 0b0..No action
  33276. * 0b1..Load counter value from GPTLD bits in USB_n_GPTIMER0LD
  33277. */
  33278. #define USB_GPTIMER1CTRL_GPTRST(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTRST_SHIFT)) & USB_GPTIMER1CTRL_GPTRST_MASK)
  33279. #define USB_GPTIMER1CTRL_GPTRUN_MASK (0x80000000U)
  33280. #define USB_GPTIMER1CTRL_GPTRUN_SHIFT (31U)
  33281. /*! GPTRUN
  33282. * 0b0..Stop counting
  33283. * 0b1..Run
  33284. */
  33285. #define USB_GPTIMER1CTRL_GPTRUN(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTRUN_SHIFT)) & USB_GPTIMER1CTRL_GPTRUN_MASK)
  33286. /*! @} */
  33287. /*! @name SBUSCFG - System Bus Config */
  33288. /*! @{ */
  33289. #define USB_SBUSCFG_AHBBRST_MASK (0x7U)
  33290. #define USB_SBUSCFG_AHBBRST_SHIFT (0U)
  33291. /*! AHBBRST
  33292. * 0b000..Incremental burst of unspecified length only
  33293. * 0b001..INCR4 burst, then single transfer
  33294. * 0b010..INCR8 burst, INCR4 burst, then single transfer
  33295. * 0b011..INCR16 burst, INCR8 burst, INCR4 burst, then single transfer
  33296. * 0b100..Reserved, don't use
  33297. * 0b101..INCR4 burst, then incremental burst of unspecified length
  33298. * 0b110..INCR8 burst, INCR4 burst, then incremental burst of unspecified length
  33299. * 0b111..INCR16 burst, INCR8 burst, INCR4 burst, then incremental burst of unspecified length
  33300. */
  33301. #define USB_SBUSCFG_AHBBRST(x) (((uint32_t)(((uint32_t)(x)) << USB_SBUSCFG_AHBBRST_SHIFT)) & USB_SBUSCFG_AHBBRST_MASK)
  33302. /*! @} */
  33303. /*! @name CAPLENGTH - Capability Registers Length */
  33304. /*! @{ */
  33305. #define USB_CAPLENGTH_CAPLENGTH_MASK (0xFFU)
  33306. #define USB_CAPLENGTH_CAPLENGTH_SHIFT (0U)
  33307. #define USB_CAPLENGTH_CAPLENGTH(x) (((uint8_t)(((uint8_t)(x)) << USB_CAPLENGTH_CAPLENGTH_SHIFT)) & USB_CAPLENGTH_CAPLENGTH_MASK)
  33308. /*! @} */
  33309. /*! @name HCIVERSION - Host Controller Interface Version */
  33310. /*! @{ */
  33311. #define USB_HCIVERSION_HCIVERSION_MASK (0xFFFFU)
  33312. #define USB_HCIVERSION_HCIVERSION_SHIFT (0U)
  33313. #define USB_HCIVERSION_HCIVERSION(x) (((uint16_t)(((uint16_t)(x)) << USB_HCIVERSION_HCIVERSION_SHIFT)) & USB_HCIVERSION_HCIVERSION_MASK)
  33314. /*! @} */
  33315. /*! @name HCSPARAMS - Host Controller Structural Parameters */
  33316. /*! @{ */
  33317. #define USB_HCSPARAMS_N_PORTS_MASK (0xFU)
  33318. #define USB_HCSPARAMS_N_PORTS_SHIFT (0U)
  33319. #define USB_HCSPARAMS_N_PORTS(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_PORTS_SHIFT)) & USB_HCSPARAMS_N_PORTS_MASK)
  33320. #define USB_HCSPARAMS_PPC_MASK (0x10U)
  33321. #define USB_HCSPARAMS_PPC_SHIFT (4U)
  33322. #define USB_HCSPARAMS_PPC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_PPC_SHIFT)) & USB_HCSPARAMS_PPC_MASK)
  33323. #define USB_HCSPARAMS_N_PCC_MASK (0xF00U)
  33324. #define USB_HCSPARAMS_N_PCC_SHIFT (8U)
  33325. #define USB_HCSPARAMS_N_PCC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_PCC_SHIFT)) & USB_HCSPARAMS_N_PCC_MASK)
  33326. #define USB_HCSPARAMS_N_CC_MASK (0xF000U)
  33327. #define USB_HCSPARAMS_N_CC_SHIFT (12U)
  33328. /*! N_CC
  33329. * 0b0000..There is no internal Companion Controller and port-ownership hand-off is not supported.
  33330. * 0b0001..There are internal companion controller(s) and port-ownership hand-offs is supported.
  33331. */
  33332. #define USB_HCSPARAMS_N_CC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_CC_SHIFT)) & USB_HCSPARAMS_N_CC_MASK)
  33333. #define USB_HCSPARAMS_PI_MASK (0x10000U)
  33334. #define USB_HCSPARAMS_PI_SHIFT (16U)
  33335. #define USB_HCSPARAMS_PI(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_PI_SHIFT)) & USB_HCSPARAMS_PI_MASK)
  33336. #define USB_HCSPARAMS_N_PTT_MASK (0xF00000U)
  33337. #define USB_HCSPARAMS_N_PTT_SHIFT (20U)
  33338. #define USB_HCSPARAMS_N_PTT(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_PTT_SHIFT)) & USB_HCSPARAMS_N_PTT_MASK)
  33339. #define USB_HCSPARAMS_N_TT_MASK (0xF000000U)
  33340. #define USB_HCSPARAMS_N_TT_SHIFT (24U)
  33341. #define USB_HCSPARAMS_N_TT(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_TT_SHIFT)) & USB_HCSPARAMS_N_TT_MASK)
  33342. /*! @} */
  33343. /*! @name HCCPARAMS - Host Controller Capability Parameters */
  33344. /*! @{ */
  33345. #define USB_HCCPARAMS_ADC_MASK (0x1U)
  33346. #define USB_HCCPARAMS_ADC_SHIFT (0U)
  33347. #define USB_HCCPARAMS_ADC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_ADC_SHIFT)) & USB_HCCPARAMS_ADC_MASK)
  33348. #define USB_HCCPARAMS_PFL_MASK (0x2U)
  33349. #define USB_HCCPARAMS_PFL_SHIFT (1U)
  33350. #define USB_HCCPARAMS_PFL(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_PFL_SHIFT)) & USB_HCCPARAMS_PFL_MASK)
  33351. #define USB_HCCPARAMS_ASP_MASK (0x4U)
  33352. #define USB_HCCPARAMS_ASP_SHIFT (2U)
  33353. #define USB_HCCPARAMS_ASP(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_ASP_SHIFT)) & USB_HCCPARAMS_ASP_MASK)
  33354. #define USB_HCCPARAMS_IST_MASK (0xF0U)
  33355. #define USB_HCCPARAMS_IST_SHIFT (4U)
  33356. #define USB_HCCPARAMS_IST(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_IST_SHIFT)) & USB_HCCPARAMS_IST_MASK)
  33357. #define USB_HCCPARAMS_EECP_MASK (0xFF00U)
  33358. #define USB_HCCPARAMS_EECP_SHIFT (8U)
  33359. #define USB_HCCPARAMS_EECP(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_EECP_SHIFT)) & USB_HCCPARAMS_EECP_MASK)
  33360. /*! @} */
  33361. /*! @name DCIVERSION - Device Controller Interface Version */
  33362. /*! @{ */
  33363. #define USB_DCIVERSION_DCIVERSION_MASK (0xFFFFU)
  33364. #define USB_DCIVERSION_DCIVERSION_SHIFT (0U)
  33365. #define USB_DCIVERSION_DCIVERSION(x) (((uint16_t)(((uint16_t)(x)) << USB_DCIVERSION_DCIVERSION_SHIFT)) & USB_DCIVERSION_DCIVERSION_MASK)
  33366. /*! @} */
  33367. /*! @name DCCPARAMS - Device Controller Capability Parameters */
  33368. /*! @{ */
  33369. #define USB_DCCPARAMS_DEN_MASK (0x1FU)
  33370. #define USB_DCCPARAMS_DEN_SHIFT (0U)
  33371. #define USB_DCCPARAMS_DEN(x) (((uint32_t)(((uint32_t)(x)) << USB_DCCPARAMS_DEN_SHIFT)) & USB_DCCPARAMS_DEN_MASK)
  33372. #define USB_DCCPARAMS_DC_MASK (0x80U)
  33373. #define USB_DCCPARAMS_DC_SHIFT (7U)
  33374. #define USB_DCCPARAMS_DC(x) (((uint32_t)(((uint32_t)(x)) << USB_DCCPARAMS_DC_SHIFT)) & USB_DCCPARAMS_DC_MASK)
  33375. #define USB_DCCPARAMS_HC_MASK (0x100U)
  33376. #define USB_DCCPARAMS_HC_SHIFT (8U)
  33377. #define USB_DCCPARAMS_HC(x) (((uint32_t)(((uint32_t)(x)) << USB_DCCPARAMS_HC_SHIFT)) & USB_DCCPARAMS_HC_MASK)
  33378. /*! @} */
  33379. /*! @name USBCMD - USB Command Register */
  33380. /*! @{ */
  33381. #define USB_USBCMD_RS_MASK (0x1U)
  33382. #define USB_USBCMD_RS_SHIFT (0U)
  33383. #define USB_USBCMD_RS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_RS_SHIFT)) & USB_USBCMD_RS_MASK)
  33384. #define USB_USBCMD_RST_MASK (0x2U)
  33385. #define USB_USBCMD_RST_SHIFT (1U)
  33386. #define USB_USBCMD_RST(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_RST_SHIFT)) & USB_USBCMD_RST_MASK)
  33387. #define USB_USBCMD_FS_1_MASK (0xCU)
  33388. #define USB_USBCMD_FS_1_SHIFT (2U)
  33389. #define USB_USBCMD_FS_1(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_FS_1_SHIFT)) & USB_USBCMD_FS_1_MASK)
  33390. #define USB_USBCMD_PSE_MASK (0x10U)
  33391. #define USB_USBCMD_PSE_SHIFT (4U)
  33392. /*! PSE
  33393. * 0b0..Do not process the Periodic Schedule
  33394. * 0b1..Use the PERIODICLISTBASE register to access the Periodic Schedule.
  33395. */
  33396. #define USB_USBCMD_PSE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_PSE_SHIFT)) & USB_USBCMD_PSE_MASK)
  33397. #define USB_USBCMD_ASE_MASK (0x20U)
  33398. #define USB_USBCMD_ASE_SHIFT (5U)
  33399. /*! ASE
  33400. * 0b0..Do not process the Asynchronous Schedule.
  33401. * 0b1..Use the ASYNCLISTADDR register to access the Asynchronous Schedule.
  33402. */
  33403. #define USB_USBCMD_ASE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ASE_SHIFT)) & USB_USBCMD_ASE_MASK)
  33404. #define USB_USBCMD_IAA_MASK (0x40U)
  33405. #define USB_USBCMD_IAA_SHIFT (6U)
  33406. #define USB_USBCMD_IAA(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_IAA_SHIFT)) & USB_USBCMD_IAA_MASK)
  33407. #define USB_USBCMD_ASP_MASK (0x300U)
  33408. #define USB_USBCMD_ASP_SHIFT (8U)
  33409. #define USB_USBCMD_ASP(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ASP_SHIFT)) & USB_USBCMD_ASP_MASK)
  33410. #define USB_USBCMD_ASPE_MASK (0x800U)
  33411. #define USB_USBCMD_ASPE_SHIFT (11U)
  33412. #define USB_USBCMD_ASPE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ASPE_SHIFT)) & USB_USBCMD_ASPE_MASK)
  33413. #define USB_USBCMD_SUTW_MASK (0x2000U)
  33414. #define USB_USBCMD_SUTW_SHIFT (13U)
  33415. #define USB_USBCMD_SUTW(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_SUTW_SHIFT)) & USB_USBCMD_SUTW_MASK)
  33416. #define USB_USBCMD_ATDTW_MASK (0x4000U)
  33417. #define USB_USBCMD_ATDTW_SHIFT (14U)
  33418. #define USB_USBCMD_ATDTW(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ATDTW_SHIFT)) & USB_USBCMD_ATDTW_MASK)
  33419. #define USB_USBCMD_FS_2_MASK (0x8000U)
  33420. #define USB_USBCMD_FS_2_SHIFT (15U)
  33421. /*! FS_2
  33422. * 0b0..1024 elements (4096 bytes) Default value
  33423. * 0b1..512 elements (2048 bytes)
  33424. */
  33425. #define USB_USBCMD_FS_2(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_FS_2_SHIFT)) & USB_USBCMD_FS_2_MASK)
  33426. #define USB_USBCMD_ITC_MASK (0xFF0000U)
  33427. #define USB_USBCMD_ITC_SHIFT (16U)
  33428. /*! ITC
  33429. * 0b00000000..Immediate (no threshold)
  33430. * 0b00000001..1 micro-frame
  33431. * 0b00000010..2 micro-frames
  33432. * 0b00000100..4 micro-frames
  33433. * 0b00001000..8 micro-frames
  33434. * 0b00010000..16 micro-frames
  33435. * 0b00100000..32 micro-frames
  33436. * 0b01000000..64 micro-frames
  33437. */
  33438. #define USB_USBCMD_ITC(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ITC_SHIFT)) & USB_USBCMD_ITC_MASK)
  33439. /*! @} */
  33440. /*! @name USBSTS - USB Status Register */
  33441. /*! @{ */
  33442. #define USB_USBSTS_UI_MASK (0x1U)
  33443. #define USB_USBSTS_UI_SHIFT (0U)
  33444. #define USB_USBSTS_UI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_UI_SHIFT)) & USB_USBSTS_UI_MASK)
  33445. #define USB_USBSTS_UEI_MASK (0x2U)
  33446. #define USB_USBSTS_UEI_SHIFT (1U)
  33447. #define USB_USBSTS_UEI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_UEI_SHIFT)) & USB_USBSTS_UEI_MASK)
  33448. #define USB_USBSTS_PCI_MASK (0x4U)
  33449. #define USB_USBSTS_PCI_SHIFT (2U)
  33450. #define USB_USBSTS_PCI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_PCI_SHIFT)) & USB_USBSTS_PCI_MASK)
  33451. #define USB_USBSTS_FRI_MASK (0x8U)
  33452. #define USB_USBSTS_FRI_SHIFT (3U)
  33453. #define USB_USBSTS_FRI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_FRI_SHIFT)) & USB_USBSTS_FRI_MASK)
  33454. #define USB_USBSTS_SEI_MASK (0x10U)
  33455. #define USB_USBSTS_SEI_SHIFT (4U)
  33456. #define USB_USBSTS_SEI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_SEI_SHIFT)) & USB_USBSTS_SEI_MASK)
  33457. #define USB_USBSTS_AAI_MASK (0x20U)
  33458. #define USB_USBSTS_AAI_SHIFT (5U)
  33459. #define USB_USBSTS_AAI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_AAI_SHIFT)) & USB_USBSTS_AAI_MASK)
  33460. #define USB_USBSTS_URI_MASK (0x40U)
  33461. #define USB_USBSTS_URI_SHIFT (6U)
  33462. #define USB_USBSTS_URI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_URI_SHIFT)) & USB_USBSTS_URI_MASK)
  33463. #define USB_USBSTS_SRI_MASK (0x80U)
  33464. #define USB_USBSTS_SRI_SHIFT (7U)
  33465. #define USB_USBSTS_SRI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_SRI_SHIFT)) & USB_USBSTS_SRI_MASK)
  33466. #define USB_USBSTS_SLI_MASK (0x100U)
  33467. #define USB_USBSTS_SLI_SHIFT (8U)
  33468. #define USB_USBSTS_SLI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_SLI_SHIFT)) & USB_USBSTS_SLI_MASK)
  33469. #define USB_USBSTS_ULPII_MASK (0x400U)
  33470. #define USB_USBSTS_ULPII_SHIFT (10U)
  33471. #define USB_USBSTS_ULPII(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_ULPII_SHIFT)) & USB_USBSTS_ULPII_MASK)
  33472. #define USB_USBSTS_HCH_MASK (0x1000U)
  33473. #define USB_USBSTS_HCH_SHIFT (12U)
  33474. #define USB_USBSTS_HCH(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_HCH_SHIFT)) & USB_USBSTS_HCH_MASK)
  33475. #define USB_USBSTS_RCL_MASK (0x2000U)
  33476. #define USB_USBSTS_RCL_SHIFT (13U)
  33477. #define USB_USBSTS_RCL(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_RCL_SHIFT)) & USB_USBSTS_RCL_MASK)
  33478. #define USB_USBSTS_PS_MASK (0x4000U)
  33479. #define USB_USBSTS_PS_SHIFT (14U)
  33480. #define USB_USBSTS_PS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_PS_SHIFT)) & USB_USBSTS_PS_MASK)
  33481. #define USB_USBSTS_AS_MASK (0x8000U)
  33482. #define USB_USBSTS_AS_SHIFT (15U)
  33483. #define USB_USBSTS_AS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_AS_SHIFT)) & USB_USBSTS_AS_MASK)
  33484. #define USB_USBSTS_NAKI_MASK (0x10000U)
  33485. #define USB_USBSTS_NAKI_SHIFT (16U)
  33486. #define USB_USBSTS_NAKI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_NAKI_SHIFT)) & USB_USBSTS_NAKI_MASK)
  33487. #define USB_USBSTS_TI0_MASK (0x1000000U)
  33488. #define USB_USBSTS_TI0_SHIFT (24U)
  33489. #define USB_USBSTS_TI0(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_TI0_SHIFT)) & USB_USBSTS_TI0_MASK)
  33490. #define USB_USBSTS_TI1_MASK (0x2000000U)
  33491. #define USB_USBSTS_TI1_SHIFT (25U)
  33492. #define USB_USBSTS_TI1(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_TI1_SHIFT)) & USB_USBSTS_TI1_MASK)
  33493. /*! @} */
  33494. /*! @name USBINTR - Interrupt Enable Register */
  33495. /*! @{ */
  33496. #define USB_USBINTR_UE_MASK (0x1U)
  33497. #define USB_USBINTR_UE_SHIFT (0U)
  33498. #define USB_USBINTR_UE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UE_SHIFT)) & USB_USBINTR_UE_MASK)
  33499. #define USB_USBINTR_UEE_MASK (0x2U)
  33500. #define USB_USBINTR_UEE_SHIFT (1U)
  33501. #define USB_USBINTR_UEE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UEE_SHIFT)) & USB_USBINTR_UEE_MASK)
  33502. #define USB_USBINTR_PCE_MASK (0x4U)
  33503. #define USB_USBINTR_PCE_SHIFT (2U)
  33504. #define USB_USBINTR_PCE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_PCE_SHIFT)) & USB_USBINTR_PCE_MASK)
  33505. #define USB_USBINTR_FRE_MASK (0x8U)
  33506. #define USB_USBINTR_FRE_SHIFT (3U)
  33507. #define USB_USBINTR_FRE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_FRE_SHIFT)) & USB_USBINTR_FRE_MASK)
  33508. #define USB_USBINTR_SEE_MASK (0x10U)
  33509. #define USB_USBINTR_SEE_SHIFT (4U)
  33510. #define USB_USBINTR_SEE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_SEE_SHIFT)) & USB_USBINTR_SEE_MASK)
  33511. #define USB_USBINTR_AAE_MASK (0x20U)
  33512. #define USB_USBINTR_AAE_SHIFT (5U)
  33513. #define USB_USBINTR_AAE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_AAE_SHIFT)) & USB_USBINTR_AAE_MASK)
  33514. #define USB_USBINTR_URE_MASK (0x40U)
  33515. #define USB_USBINTR_URE_SHIFT (6U)
  33516. #define USB_USBINTR_URE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_URE_SHIFT)) & USB_USBINTR_URE_MASK)
  33517. #define USB_USBINTR_SRE_MASK (0x80U)
  33518. #define USB_USBINTR_SRE_SHIFT (7U)
  33519. #define USB_USBINTR_SRE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_SRE_SHIFT)) & USB_USBINTR_SRE_MASK)
  33520. #define USB_USBINTR_SLE_MASK (0x100U)
  33521. #define USB_USBINTR_SLE_SHIFT (8U)
  33522. #define USB_USBINTR_SLE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_SLE_SHIFT)) & USB_USBINTR_SLE_MASK)
  33523. #define USB_USBINTR_ULPIE_MASK (0x400U)
  33524. #define USB_USBINTR_ULPIE_SHIFT (10U)
  33525. #define USB_USBINTR_ULPIE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_ULPIE_SHIFT)) & USB_USBINTR_ULPIE_MASK)
  33526. #define USB_USBINTR_NAKE_MASK (0x10000U)
  33527. #define USB_USBINTR_NAKE_SHIFT (16U)
  33528. #define USB_USBINTR_NAKE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_NAKE_SHIFT)) & USB_USBINTR_NAKE_MASK)
  33529. #define USB_USBINTR_UAIE_MASK (0x40000U)
  33530. #define USB_USBINTR_UAIE_SHIFT (18U)
  33531. #define USB_USBINTR_UAIE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UAIE_SHIFT)) & USB_USBINTR_UAIE_MASK)
  33532. #define USB_USBINTR_UPIE_MASK (0x80000U)
  33533. #define USB_USBINTR_UPIE_SHIFT (19U)
  33534. #define USB_USBINTR_UPIE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UPIE_SHIFT)) & USB_USBINTR_UPIE_MASK)
  33535. #define USB_USBINTR_TIE0_MASK (0x1000000U)
  33536. #define USB_USBINTR_TIE0_SHIFT (24U)
  33537. #define USB_USBINTR_TIE0(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_TIE0_SHIFT)) & USB_USBINTR_TIE0_MASK)
  33538. #define USB_USBINTR_TIE1_MASK (0x2000000U)
  33539. #define USB_USBINTR_TIE1_SHIFT (25U)
  33540. #define USB_USBINTR_TIE1(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_TIE1_SHIFT)) & USB_USBINTR_TIE1_MASK)
  33541. /*! @} */
  33542. /*! @name FRINDEX - USB Frame Index */
  33543. /*! @{ */
  33544. #define USB_FRINDEX_FRINDEX_MASK (0x3FFFU)
  33545. #define USB_FRINDEX_FRINDEX_SHIFT (0U)
  33546. /*! FRINDEX
  33547. * 0b00000000000000..(1024) 12
  33548. * 0b00000000000001..(512) 11
  33549. * 0b00000000000010..(256) 10
  33550. * 0b00000000000011..(128) 9
  33551. * 0b00000000000100..(64) 8
  33552. * 0b00000000000101..(32) 7
  33553. * 0b00000000000110..(16) 6
  33554. * 0b00000000000111..(8) 5
  33555. */
  33556. #define USB_FRINDEX_FRINDEX(x) (((uint32_t)(((uint32_t)(x)) << USB_FRINDEX_FRINDEX_SHIFT)) & USB_FRINDEX_FRINDEX_MASK)
  33557. /*! @} */
  33558. /*! @name DEVICEADDR - Device Address */
  33559. /*! @{ */
  33560. #define USB_DEVICEADDR_USBADRA_MASK (0x1000000U)
  33561. #define USB_DEVICEADDR_USBADRA_SHIFT (24U)
  33562. #define USB_DEVICEADDR_USBADRA(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVICEADDR_USBADRA_SHIFT)) & USB_DEVICEADDR_USBADRA_MASK)
  33563. #define USB_DEVICEADDR_USBADR_MASK (0xFE000000U)
  33564. #define USB_DEVICEADDR_USBADR_SHIFT (25U)
  33565. #define USB_DEVICEADDR_USBADR(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVICEADDR_USBADR_SHIFT)) & USB_DEVICEADDR_USBADR_MASK)
  33566. /*! @} */
  33567. /*! @name PERIODICLISTBASE - Frame List Base Address */
  33568. /*! @{ */
  33569. #define USB_PERIODICLISTBASE_BASEADR_MASK (0xFFFFF000U)
  33570. #define USB_PERIODICLISTBASE_BASEADR_SHIFT (12U)
  33571. #define USB_PERIODICLISTBASE_BASEADR(x) (((uint32_t)(((uint32_t)(x)) << USB_PERIODICLISTBASE_BASEADR_SHIFT)) & USB_PERIODICLISTBASE_BASEADR_MASK)
  33572. /*! @} */
  33573. /*! @name ASYNCLISTADDR - Next Asynch. Address */
  33574. /*! @{ */
  33575. #define USB_ASYNCLISTADDR_ASYBASE_MASK (0xFFFFFFE0U)
  33576. #define USB_ASYNCLISTADDR_ASYBASE_SHIFT (5U)
  33577. #define USB_ASYNCLISTADDR_ASYBASE(x) (((uint32_t)(((uint32_t)(x)) << USB_ASYNCLISTADDR_ASYBASE_SHIFT)) & USB_ASYNCLISTADDR_ASYBASE_MASK)
  33578. /*! @} */
  33579. /*! @name ENDPTLISTADDR - Endpoint List Address */
  33580. /*! @{ */
  33581. #define USB_ENDPTLISTADDR_EPBASE_MASK (0xFFFFF800U)
  33582. #define USB_ENDPTLISTADDR_EPBASE_SHIFT (11U)
  33583. #define USB_ENDPTLISTADDR_EPBASE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTLISTADDR_EPBASE_SHIFT)) & USB_ENDPTLISTADDR_EPBASE_MASK)
  33584. /*! @} */
  33585. /*! @name BURSTSIZE - Programmable Burst Size */
  33586. /*! @{ */
  33587. #define USB_BURSTSIZE_RXPBURST_MASK (0xFFU)
  33588. #define USB_BURSTSIZE_RXPBURST_SHIFT (0U)
  33589. #define USB_BURSTSIZE_RXPBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_BURSTSIZE_RXPBURST_SHIFT)) & USB_BURSTSIZE_RXPBURST_MASK)
  33590. #define USB_BURSTSIZE_TXPBURST_MASK (0x1FF00U)
  33591. #define USB_BURSTSIZE_TXPBURST_SHIFT (8U)
  33592. #define USB_BURSTSIZE_TXPBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_BURSTSIZE_TXPBURST_SHIFT)) & USB_BURSTSIZE_TXPBURST_MASK)
  33593. /*! @} */
  33594. /*! @name TXFILLTUNING - TX FIFO Fill Tuning */
  33595. /*! @{ */
  33596. #define USB_TXFILLTUNING_TXSCHOH_MASK (0xFFU)
  33597. #define USB_TXFILLTUNING_TXSCHOH_SHIFT (0U)
  33598. #define USB_TXFILLTUNING_TXSCHOH(x) (((uint32_t)(((uint32_t)(x)) << USB_TXFILLTUNING_TXSCHOH_SHIFT)) & USB_TXFILLTUNING_TXSCHOH_MASK)
  33599. #define USB_TXFILLTUNING_TXSCHHEALTH_MASK (0x1F00U)
  33600. #define USB_TXFILLTUNING_TXSCHHEALTH_SHIFT (8U)
  33601. #define USB_TXFILLTUNING_TXSCHHEALTH(x) (((uint32_t)(((uint32_t)(x)) << USB_TXFILLTUNING_TXSCHHEALTH_SHIFT)) & USB_TXFILLTUNING_TXSCHHEALTH_MASK)
  33602. #define USB_TXFILLTUNING_TXFIFOTHRES_MASK (0x3F0000U)
  33603. #define USB_TXFILLTUNING_TXFIFOTHRES_SHIFT (16U)
  33604. #define USB_TXFILLTUNING_TXFIFOTHRES(x) (((uint32_t)(((uint32_t)(x)) << USB_TXFILLTUNING_TXFIFOTHRES_SHIFT)) & USB_TXFILLTUNING_TXFIFOTHRES_MASK)
  33605. /*! @} */
  33606. /*! @name ENDPTNAK - Endpoint NAK */
  33607. /*! @{ */
  33608. #define USB_ENDPTNAK_EPRN_MASK (0xFFU)
  33609. #define USB_ENDPTNAK_EPRN_SHIFT (0U)
  33610. #define USB_ENDPTNAK_EPRN(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAK_EPRN_SHIFT)) & USB_ENDPTNAK_EPRN_MASK)
  33611. #define USB_ENDPTNAK_EPTN_MASK (0xFF0000U)
  33612. #define USB_ENDPTNAK_EPTN_SHIFT (16U)
  33613. #define USB_ENDPTNAK_EPTN(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAK_EPTN_SHIFT)) & USB_ENDPTNAK_EPTN_MASK)
  33614. /*! @} */
  33615. /*! @name ENDPTNAKEN - Endpoint NAK Enable */
  33616. /*! @{ */
  33617. #define USB_ENDPTNAKEN_EPRNE_MASK (0xFFU)
  33618. #define USB_ENDPTNAKEN_EPRNE_SHIFT (0U)
  33619. #define USB_ENDPTNAKEN_EPRNE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAKEN_EPRNE_SHIFT)) & USB_ENDPTNAKEN_EPRNE_MASK)
  33620. #define USB_ENDPTNAKEN_EPTNE_MASK (0xFF0000U)
  33621. #define USB_ENDPTNAKEN_EPTNE_SHIFT (16U)
  33622. #define USB_ENDPTNAKEN_EPTNE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAKEN_EPTNE_SHIFT)) & USB_ENDPTNAKEN_EPTNE_MASK)
  33623. /*! @} */
  33624. /*! @name CONFIGFLAG - Configure Flag Register */
  33625. /*! @{ */
  33626. #define USB_CONFIGFLAG_CF_MASK (0x1U)
  33627. #define USB_CONFIGFLAG_CF_SHIFT (0U)
  33628. /*! CF
  33629. * 0b0..Port routing control logic default-routes each port to an implementation dependent classic host controller.
  33630. * 0b1..Port routing control logic default-routes all ports to this host controller.
  33631. */
  33632. #define USB_CONFIGFLAG_CF(x) (((uint32_t)(((uint32_t)(x)) << USB_CONFIGFLAG_CF_SHIFT)) & USB_CONFIGFLAG_CF_MASK)
  33633. /*! @} */
  33634. /*! @name PORTSC1 - Port Status & Control */
  33635. /*! @{ */
  33636. #define USB_PORTSC1_CCS_MASK (0x1U)
  33637. #define USB_PORTSC1_CCS_SHIFT (0U)
  33638. #define USB_PORTSC1_CCS(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_CCS_SHIFT)) & USB_PORTSC1_CCS_MASK)
  33639. #define USB_PORTSC1_CSC_MASK (0x2U)
  33640. #define USB_PORTSC1_CSC_SHIFT (1U)
  33641. #define USB_PORTSC1_CSC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_CSC_SHIFT)) & USB_PORTSC1_CSC_MASK)
  33642. #define USB_PORTSC1_PE_MASK (0x4U)
  33643. #define USB_PORTSC1_PE_SHIFT (2U)
  33644. #define USB_PORTSC1_PE(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PE_SHIFT)) & USB_PORTSC1_PE_MASK)
  33645. #define USB_PORTSC1_PEC_MASK (0x8U)
  33646. #define USB_PORTSC1_PEC_SHIFT (3U)
  33647. #define USB_PORTSC1_PEC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PEC_SHIFT)) & USB_PORTSC1_PEC_MASK)
  33648. #define USB_PORTSC1_OCA_MASK (0x10U)
  33649. #define USB_PORTSC1_OCA_SHIFT (4U)
  33650. /*! OCA
  33651. * 0b1..This port currently has an over-current condition
  33652. * 0b0..This port does not have an over-current condition.
  33653. */
  33654. #define USB_PORTSC1_OCA(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_OCA_SHIFT)) & USB_PORTSC1_OCA_MASK)
  33655. #define USB_PORTSC1_OCC_MASK (0x20U)
  33656. #define USB_PORTSC1_OCC_SHIFT (5U)
  33657. #define USB_PORTSC1_OCC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_OCC_SHIFT)) & USB_PORTSC1_OCC_MASK)
  33658. #define USB_PORTSC1_FPR_MASK (0x40U)
  33659. #define USB_PORTSC1_FPR_SHIFT (6U)
  33660. #define USB_PORTSC1_FPR(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_FPR_SHIFT)) & USB_PORTSC1_FPR_MASK)
  33661. #define USB_PORTSC1_SUSP_MASK (0x80U)
  33662. #define USB_PORTSC1_SUSP_SHIFT (7U)
  33663. #define USB_PORTSC1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_SUSP_SHIFT)) & USB_PORTSC1_SUSP_MASK)
  33664. #define USB_PORTSC1_PR_MASK (0x100U)
  33665. #define USB_PORTSC1_PR_SHIFT (8U)
  33666. #define USB_PORTSC1_PR(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PR_SHIFT)) & USB_PORTSC1_PR_MASK)
  33667. #define USB_PORTSC1_HSP_MASK (0x200U)
  33668. #define USB_PORTSC1_HSP_SHIFT (9U)
  33669. #define USB_PORTSC1_HSP(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_HSP_SHIFT)) & USB_PORTSC1_HSP_MASK)
  33670. #define USB_PORTSC1_LS_MASK (0xC00U)
  33671. #define USB_PORTSC1_LS_SHIFT (10U)
  33672. /*! LS
  33673. * 0b00..SE0
  33674. * 0b10..J-state
  33675. * 0b01..K-state
  33676. * 0b11..Undefined
  33677. */
  33678. #define USB_PORTSC1_LS(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_LS_SHIFT)) & USB_PORTSC1_LS_MASK)
  33679. #define USB_PORTSC1_PP_MASK (0x1000U)
  33680. #define USB_PORTSC1_PP_SHIFT (12U)
  33681. #define USB_PORTSC1_PP(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PP_SHIFT)) & USB_PORTSC1_PP_MASK)
  33682. #define USB_PORTSC1_PO_MASK (0x2000U)
  33683. #define USB_PORTSC1_PO_SHIFT (13U)
  33684. #define USB_PORTSC1_PO(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PO_SHIFT)) & USB_PORTSC1_PO_MASK)
  33685. #define USB_PORTSC1_PIC_MASK (0xC000U)
  33686. #define USB_PORTSC1_PIC_SHIFT (14U)
  33687. /*! PIC
  33688. * 0b00..Port indicators are off
  33689. * 0b01..Amber
  33690. * 0b10..Green
  33691. * 0b11..Undefined
  33692. */
  33693. #define USB_PORTSC1_PIC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PIC_SHIFT)) & USB_PORTSC1_PIC_MASK)
  33694. #define USB_PORTSC1_PTC_MASK (0xF0000U)
  33695. #define USB_PORTSC1_PTC_SHIFT (16U)
  33696. /*! PTC
  33697. * 0b0000..TEST_MODE_DISABLE
  33698. * 0b0001..J_STATE
  33699. * 0b0010..K_STATE
  33700. * 0b0011..SE0 (host) / NAK (device)
  33701. * 0b0100..Packet
  33702. * 0b0101..FORCE_ENABLE_HS
  33703. * 0b0110..FORCE_ENABLE_FS
  33704. * 0b0111..FORCE_ENABLE_LS
  33705. */
  33706. #define USB_PORTSC1_PTC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTC_SHIFT)) & USB_PORTSC1_PTC_MASK)
  33707. #define USB_PORTSC1_WKCN_MASK (0x100000U)
  33708. #define USB_PORTSC1_WKCN_SHIFT (20U)
  33709. #define USB_PORTSC1_WKCN(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_WKCN_SHIFT)) & USB_PORTSC1_WKCN_MASK)
  33710. #define USB_PORTSC1_WKDC_MASK (0x200000U)
  33711. #define USB_PORTSC1_WKDC_SHIFT (21U)
  33712. #define USB_PORTSC1_WKDC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_WKDC_SHIFT)) & USB_PORTSC1_WKDC_MASK)
  33713. #define USB_PORTSC1_WKOC_MASK (0x400000U)
  33714. #define USB_PORTSC1_WKOC_SHIFT (22U)
  33715. #define USB_PORTSC1_WKOC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_WKOC_SHIFT)) & USB_PORTSC1_WKOC_MASK)
  33716. #define USB_PORTSC1_PHCD_MASK (0x800000U)
  33717. #define USB_PORTSC1_PHCD_SHIFT (23U)
  33718. /*! PHCD
  33719. * 0b1..Disable PHY clock
  33720. * 0b0..Enable PHY clock
  33721. */
  33722. #define USB_PORTSC1_PHCD(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PHCD_SHIFT)) & USB_PORTSC1_PHCD_MASK)
  33723. #define USB_PORTSC1_PFSC_MASK (0x1000000U)
  33724. #define USB_PORTSC1_PFSC_SHIFT (24U)
  33725. /*! PFSC
  33726. * 0b1..Forced to full speed
  33727. * 0b0..Normal operation
  33728. */
  33729. #define USB_PORTSC1_PFSC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PFSC_SHIFT)) & USB_PORTSC1_PFSC_MASK)
  33730. #define USB_PORTSC1_PTS_2_MASK (0x2000000U)
  33731. #define USB_PORTSC1_PTS_2_SHIFT (25U)
  33732. #define USB_PORTSC1_PTS_2(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTS_2_SHIFT)) & USB_PORTSC1_PTS_2_MASK)
  33733. #define USB_PORTSC1_PSPD_MASK (0xC000000U)
  33734. #define USB_PORTSC1_PSPD_SHIFT (26U)
  33735. /*! PSPD
  33736. * 0b00..Full Speed
  33737. * 0b01..Low Speed
  33738. * 0b10..High Speed
  33739. * 0b11..Undefined
  33740. */
  33741. #define USB_PORTSC1_PSPD(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PSPD_SHIFT)) & USB_PORTSC1_PSPD_MASK)
  33742. #define USB_PORTSC1_PTW_MASK (0x10000000U)
  33743. #define USB_PORTSC1_PTW_SHIFT (28U)
  33744. /*! PTW
  33745. * 0b0..Select the 8-bit UTMI interface [60MHz]
  33746. * 0b1..Select the 16-bit UTMI interface [30MHz]
  33747. */
  33748. #define USB_PORTSC1_PTW(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTW_SHIFT)) & USB_PORTSC1_PTW_MASK)
  33749. #define USB_PORTSC1_STS_MASK (0x20000000U)
  33750. #define USB_PORTSC1_STS_SHIFT (29U)
  33751. #define USB_PORTSC1_STS(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_STS_SHIFT)) & USB_PORTSC1_STS_MASK)
  33752. #define USB_PORTSC1_PTS_1_MASK (0xC0000000U)
  33753. #define USB_PORTSC1_PTS_1_SHIFT (30U)
  33754. #define USB_PORTSC1_PTS_1(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTS_1_SHIFT)) & USB_PORTSC1_PTS_1_MASK)
  33755. /*! @} */
  33756. /*! @name OTGSC - On-The-Go Status & control */
  33757. /*! @{ */
  33758. #define USB_OTGSC_VD_MASK (0x1U)
  33759. #define USB_OTGSC_VD_SHIFT (0U)
  33760. #define USB_OTGSC_VD(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_VD_SHIFT)) & USB_OTGSC_VD_MASK)
  33761. #define USB_OTGSC_VC_MASK (0x2U)
  33762. #define USB_OTGSC_VC_SHIFT (1U)
  33763. #define USB_OTGSC_VC(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_VC_SHIFT)) & USB_OTGSC_VC_MASK)
  33764. #define USB_OTGSC_OT_MASK (0x8U)
  33765. #define USB_OTGSC_OT_SHIFT (3U)
  33766. #define USB_OTGSC_OT(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_OT_SHIFT)) & USB_OTGSC_OT_MASK)
  33767. #define USB_OTGSC_DP_MASK (0x10U)
  33768. #define USB_OTGSC_DP_SHIFT (4U)
  33769. #define USB_OTGSC_DP(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DP_SHIFT)) & USB_OTGSC_DP_MASK)
  33770. #define USB_OTGSC_IDPU_MASK (0x20U)
  33771. #define USB_OTGSC_IDPU_SHIFT (5U)
  33772. #define USB_OTGSC_IDPU(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_IDPU_SHIFT)) & USB_OTGSC_IDPU_MASK)
  33773. #define USB_OTGSC_ID_MASK (0x100U)
  33774. #define USB_OTGSC_ID_SHIFT (8U)
  33775. #define USB_OTGSC_ID(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ID_SHIFT)) & USB_OTGSC_ID_MASK)
  33776. #define USB_OTGSC_AVV_MASK (0x200U)
  33777. #define USB_OTGSC_AVV_SHIFT (9U)
  33778. #define USB_OTGSC_AVV(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_AVV_SHIFT)) & USB_OTGSC_AVV_MASK)
  33779. #define USB_OTGSC_ASV_MASK (0x400U)
  33780. #define USB_OTGSC_ASV_SHIFT (10U)
  33781. #define USB_OTGSC_ASV(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ASV_SHIFT)) & USB_OTGSC_ASV_MASK)
  33782. #define USB_OTGSC_BSV_MASK (0x800U)
  33783. #define USB_OTGSC_BSV_SHIFT (11U)
  33784. #define USB_OTGSC_BSV(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSV_SHIFT)) & USB_OTGSC_BSV_MASK)
  33785. #define USB_OTGSC_BSE_MASK (0x1000U)
  33786. #define USB_OTGSC_BSE_SHIFT (12U)
  33787. #define USB_OTGSC_BSE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSE_SHIFT)) & USB_OTGSC_BSE_MASK)
  33788. #define USB_OTGSC_TOG_1MS_MASK (0x2000U)
  33789. #define USB_OTGSC_TOG_1MS_SHIFT (13U)
  33790. #define USB_OTGSC_TOG_1MS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_TOG_1MS_SHIFT)) & USB_OTGSC_TOG_1MS_MASK)
  33791. #define USB_OTGSC_DPS_MASK (0x4000U)
  33792. #define USB_OTGSC_DPS_SHIFT (14U)
  33793. #define USB_OTGSC_DPS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DPS_SHIFT)) & USB_OTGSC_DPS_MASK)
  33794. #define USB_OTGSC_IDIS_MASK (0x10000U)
  33795. #define USB_OTGSC_IDIS_SHIFT (16U)
  33796. #define USB_OTGSC_IDIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_IDIS_SHIFT)) & USB_OTGSC_IDIS_MASK)
  33797. #define USB_OTGSC_AVVIS_MASK (0x20000U)
  33798. #define USB_OTGSC_AVVIS_SHIFT (17U)
  33799. #define USB_OTGSC_AVVIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_AVVIS_SHIFT)) & USB_OTGSC_AVVIS_MASK)
  33800. #define USB_OTGSC_ASVIS_MASK (0x40000U)
  33801. #define USB_OTGSC_ASVIS_SHIFT (18U)
  33802. #define USB_OTGSC_ASVIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ASVIS_SHIFT)) & USB_OTGSC_ASVIS_MASK)
  33803. #define USB_OTGSC_BSVIS_MASK (0x80000U)
  33804. #define USB_OTGSC_BSVIS_SHIFT (19U)
  33805. #define USB_OTGSC_BSVIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSVIS_SHIFT)) & USB_OTGSC_BSVIS_MASK)
  33806. #define USB_OTGSC_BSEIS_MASK (0x100000U)
  33807. #define USB_OTGSC_BSEIS_SHIFT (20U)
  33808. #define USB_OTGSC_BSEIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSEIS_SHIFT)) & USB_OTGSC_BSEIS_MASK)
  33809. #define USB_OTGSC_STATUS_1MS_MASK (0x200000U)
  33810. #define USB_OTGSC_STATUS_1MS_SHIFT (21U)
  33811. #define USB_OTGSC_STATUS_1MS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_STATUS_1MS_SHIFT)) & USB_OTGSC_STATUS_1MS_MASK)
  33812. #define USB_OTGSC_DPIS_MASK (0x400000U)
  33813. #define USB_OTGSC_DPIS_SHIFT (22U)
  33814. #define USB_OTGSC_DPIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DPIS_SHIFT)) & USB_OTGSC_DPIS_MASK)
  33815. #define USB_OTGSC_IDIE_MASK (0x1000000U)
  33816. #define USB_OTGSC_IDIE_SHIFT (24U)
  33817. #define USB_OTGSC_IDIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_IDIE_SHIFT)) & USB_OTGSC_IDIE_MASK)
  33818. #define USB_OTGSC_AVVIE_MASK (0x2000000U)
  33819. #define USB_OTGSC_AVVIE_SHIFT (25U)
  33820. #define USB_OTGSC_AVVIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_AVVIE_SHIFT)) & USB_OTGSC_AVVIE_MASK)
  33821. #define USB_OTGSC_ASVIE_MASK (0x4000000U)
  33822. #define USB_OTGSC_ASVIE_SHIFT (26U)
  33823. #define USB_OTGSC_ASVIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ASVIE_SHIFT)) & USB_OTGSC_ASVIE_MASK)
  33824. #define USB_OTGSC_BSVIE_MASK (0x8000000U)
  33825. #define USB_OTGSC_BSVIE_SHIFT (27U)
  33826. #define USB_OTGSC_BSVIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSVIE_SHIFT)) & USB_OTGSC_BSVIE_MASK)
  33827. #define USB_OTGSC_BSEIE_MASK (0x10000000U)
  33828. #define USB_OTGSC_BSEIE_SHIFT (28U)
  33829. #define USB_OTGSC_BSEIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSEIE_SHIFT)) & USB_OTGSC_BSEIE_MASK)
  33830. #define USB_OTGSC_EN_1MS_MASK (0x20000000U)
  33831. #define USB_OTGSC_EN_1MS_SHIFT (29U)
  33832. #define USB_OTGSC_EN_1MS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_EN_1MS_SHIFT)) & USB_OTGSC_EN_1MS_MASK)
  33833. #define USB_OTGSC_DPIE_MASK (0x40000000U)
  33834. #define USB_OTGSC_DPIE_SHIFT (30U)
  33835. #define USB_OTGSC_DPIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DPIE_SHIFT)) & USB_OTGSC_DPIE_MASK)
  33836. /*! @} */
  33837. /*! @name USBMODE - USB Device Mode */
  33838. /*! @{ */
  33839. #define USB_USBMODE_CM_MASK (0x3U)
  33840. #define USB_USBMODE_CM_SHIFT (0U)
  33841. /*! CM
  33842. * 0b00..Idle [Default for combination host/device]
  33843. * 0b01..Reserved
  33844. * 0b10..Device Controller [Default for device only controller]
  33845. * 0b11..Host Controller [Default for host only controller]
  33846. */
  33847. #define USB_USBMODE_CM(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_CM_SHIFT)) & USB_USBMODE_CM_MASK)
  33848. #define USB_USBMODE_ES_MASK (0x4U)
  33849. #define USB_USBMODE_ES_SHIFT (2U)
  33850. /*! ES
  33851. * 0b0..Little Endian [Default]
  33852. * 0b1..Big Endian
  33853. */
  33854. #define USB_USBMODE_ES(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_ES_SHIFT)) & USB_USBMODE_ES_MASK)
  33855. #define USB_USBMODE_SLOM_MASK (0x8U)
  33856. #define USB_USBMODE_SLOM_SHIFT (3U)
  33857. /*! SLOM
  33858. * 0b0..Setup Lockouts On (default);
  33859. * 0b1..Setup Lockouts Off (DCD requires use of Setup Data Buffer Tripwire in USBCMDUSB Command Register .
  33860. */
  33861. #define USB_USBMODE_SLOM(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_SLOM_SHIFT)) & USB_USBMODE_SLOM_MASK)
  33862. #define USB_USBMODE_SDIS_MASK (0x10U)
  33863. #define USB_USBMODE_SDIS_SHIFT (4U)
  33864. #define USB_USBMODE_SDIS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_SDIS_SHIFT)) & USB_USBMODE_SDIS_MASK)
  33865. /*! @} */
  33866. /*! @name ENDPTSETUPSTAT - Endpoint Setup Status */
  33867. /*! @{ */
  33868. #define USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_MASK (0xFFFFU)
  33869. #define USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_SHIFT (0U)
  33870. #define USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_SHIFT)) & USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_MASK)
  33871. /*! @} */
  33872. /*! @name ENDPTPRIME - Endpoint Prime */
  33873. /*! @{ */
  33874. #define USB_ENDPTPRIME_PERB_MASK (0xFFU)
  33875. #define USB_ENDPTPRIME_PERB_SHIFT (0U)
  33876. #define USB_ENDPTPRIME_PERB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTPRIME_PERB_SHIFT)) & USB_ENDPTPRIME_PERB_MASK)
  33877. #define USB_ENDPTPRIME_PETB_MASK (0xFF0000U)
  33878. #define USB_ENDPTPRIME_PETB_SHIFT (16U)
  33879. #define USB_ENDPTPRIME_PETB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTPRIME_PETB_SHIFT)) & USB_ENDPTPRIME_PETB_MASK)
  33880. /*! @} */
  33881. /*! @name ENDPTFLUSH - Endpoint Flush */
  33882. /*! @{ */
  33883. #define USB_ENDPTFLUSH_FERB_MASK (0xFFU)
  33884. #define USB_ENDPTFLUSH_FERB_SHIFT (0U)
  33885. #define USB_ENDPTFLUSH_FERB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTFLUSH_FERB_SHIFT)) & USB_ENDPTFLUSH_FERB_MASK)
  33886. #define USB_ENDPTFLUSH_FETB_MASK (0xFF0000U)
  33887. #define USB_ENDPTFLUSH_FETB_SHIFT (16U)
  33888. #define USB_ENDPTFLUSH_FETB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTFLUSH_FETB_SHIFT)) & USB_ENDPTFLUSH_FETB_MASK)
  33889. /*! @} */
  33890. /*! @name ENDPTSTAT - Endpoint Status */
  33891. /*! @{ */
  33892. #define USB_ENDPTSTAT_ERBR_MASK (0xFFU)
  33893. #define USB_ENDPTSTAT_ERBR_SHIFT (0U)
  33894. #define USB_ENDPTSTAT_ERBR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTSTAT_ERBR_SHIFT)) & USB_ENDPTSTAT_ERBR_MASK)
  33895. #define USB_ENDPTSTAT_ETBR_MASK (0xFF0000U)
  33896. #define USB_ENDPTSTAT_ETBR_SHIFT (16U)
  33897. #define USB_ENDPTSTAT_ETBR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTSTAT_ETBR_SHIFT)) & USB_ENDPTSTAT_ETBR_MASK)
  33898. /*! @} */
  33899. /*! @name ENDPTCOMPLETE - Endpoint Complete */
  33900. /*! @{ */
  33901. #define USB_ENDPTCOMPLETE_ERCE_MASK (0xFFU)
  33902. #define USB_ENDPTCOMPLETE_ERCE_SHIFT (0U)
  33903. #define USB_ENDPTCOMPLETE_ERCE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCOMPLETE_ERCE_SHIFT)) & USB_ENDPTCOMPLETE_ERCE_MASK)
  33904. #define USB_ENDPTCOMPLETE_ETCE_MASK (0xFF0000U)
  33905. #define USB_ENDPTCOMPLETE_ETCE_SHIFT (16U)
  33906. #define USB_ENDPTCOMPLETE_ETCE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCOMPLETE_ETCE_SHIFT)) & USB_ENDPTCOMPLETE_ETCE_MASK)
  33907. /*! @} */
  33908. /*! @name ENDPTCTRL0 - Endpoint Control0 */
  33909. /*! @{ */
  33910. #define USB_ENDPTCTRL0_RXS_MASK (0x1U)
  33911. #define USB_ENDPTCTRL0_RXS_SHIFT (0U)
  33912. #define USB_ENDPTCTRL0_RXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_RXS_SHIFT)) & USB_ENDPTCTRL0_RXS_MASK)
  33913. #define USB_ENDPTCTRL0_RXT_MASK (0xCU)
  33914. #define USB_ENDPTCTRL0_RXT_SHIFT (2U)
  33915. #define USB_ENDPTCTRL0_RXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_RXT_SHIFT)) & USB_ENDPTCTRL0_RXT_MASK)
  33916. #define USB_ENDPTCTRL0_RXE_MASK (0x80U)
  33917. #define USB_ENDPTCTRL0_RXE_SHIFT (7U)
  33918. #define USB_ENDPTCTRL0_RXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_RXE_SHIFT)) & USB_ENDPTCTRL0_RXE_MASK)
  33919. #define USB_ENDPTCTRL0_TXS_MASK (0x10000U)
  33920. #define USB_ENDPTCTRL0_TXS_SHIFT (16U)
  33921. #define USB_ENDPTCTRL0_TXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_TXS_SHIFT)) & USB_ENDPTCTRL0_TXS_MASK)
  33922. #define USB_ENDPTCTRL0_TXT_MASK (0xC0000U)
  33923. #define USB_ENDPTCTRL0_TXT_SHIFT (18U)
  33924. #define USB_ENDPTCTRL0_TXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_TXT_SHIFT)) & USB_ENDPTCTRL0_TXT_MASK)
  33925. #define USB_ENDPTCTRL0_TXE_MASK (0x800000U)
  33926. #define USB_ENDPTCTRL0_TXE_SHIFT (23U)
  33927. #define USB_ENDPTCTRL0_TXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_TXE_SHIFT)) & USB_ENDPTCTRL0_TXE_MASK)
  33928. /*! @} */
  33929. /*! @name ENDPTCTRL - Endpoint Control 1..Endpoint Control 7 */
  33930. /*! @{ */
  33931. #define USB_ENDPTCTRL_RXS_MASK (0x1U)
  33932. #define USB_ENDPTCTRL_RXS_SHIFT (0U)
  33933. #define USB_ENDPTCTRL_RXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXS_SHIFT)) & USB_ENDPTCTRL_RXS_MASK)
  33934. #define USB_ENDPTCTRL_RXD_MASK (0x2U)
  33935. #define USB_ENDPTCTRL_RXD_SHIFT (1U)
  33936. #define USB_ENDPTCTRL_RXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXD_SHIFT)) & USB_ENDPTCTRL_RXD_MASK)
  33937. #define USB_ENDPTCTRL_RXT_MASK (0xCU)
  33938. #define USB_ENDPTCTRL_RXT_SHIFT (2U)
  33939. #define USB_ENDPTCTRL_RXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXT_SHIFT)) & USB_ENDPTCTRL_RXT_MASK)
  33940. #define USB_ENDPTCTRL_RXI_MASK (0x20U)
  33941. #define USB_ENDPTCTRL_RXI_SHIFT (5U)
  33942. #define USB_ENDPTCTRL_RXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXI_SHIFT)) & USB_ENDPTCTRL_RXI_MASK)
  33943. #define USB_ENDPTCTRL_RXR_MASK (0x40U)
  33944. #define USB_ENDPTCTRL_RXR_SHIFT (6U)
  33945. #define USB_ENDPTCTRL_RXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXR_SHIFT)) & USB_ENDPTCTRL_RXR_MASK)
  33946. #define USB_ENDPTCTRL_RXE_MASK (0x80U)
  33947. #define USB_ENDPTCTRL_RXE_SHIFT (7U)
  33948. #define USB_ENDPTCTRL_RXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXE_SHIFT)) & USB_ENDPTCTRL_RXE_MASK)
  33949. #define USB_ENDPTCTRL_TXS_MASK (0x10000U)
  33950. #define USB_ENDPTCTRL_TXS_SHIFT (16U)
  33951. #define USB_ENDPTCTRL_TXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXS_SHIFT)) & USB_ENDPTCTRL_TXS_MASK)
  33952. #define USB_ENDPTCTRL_TXD_MASK (0x20000U)
  33953. #define USB_ENDPTCTRL_TXD_SHIFT (17U)
  33954. #define USB_ENDPTCTRL_TXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXD_SHIFT)) & USB_ENDPTCTRL_TXD_MASK)
  33955. #define USB_ENDPTCTRL_TXT_MASK (0xC0000U)
  33956. #define USB_ENDPTCTRL_TXT_SHIFT (18U)
  33957. #define USB_ENDPTCTRL_TXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXT_SHIFT)) & USB_ENDPTCTRL_TXT_MASK)
  33958. #define USB_ENDPTCTRL_TXI_MASK (0x200000U)
  33959. #define USB_ENDPTCTRL_TXI_SHIFT (21U)
  33960. #define USB_ENDPTCTRL_TXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXI_SHIFT)) & USB_ENDPTCTRL_TXI_MASK)
  33961. #define USB_ENDPTCTRL_TXR_MASK (0x400000U)
  33962. #define USB_ENDPTCTRL_TXR_SHIFT (22U)
  33963. #define USB_ENDPTCTRL_TXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXR_SHIFT)) & USB_ENDPTCTRL_TXR_MASK)
  33964. #define USB_ENDPTCTRL_TXE_MASK (0x800000U)
  33965. #define USB_ENDPTCTRL_TXE_SHIFT (23U)
  33966. #define USB_ENDPTCTRL_TXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXE_SHIFT)) & USB_ENDPTCTRL_TXE_MASK)
  33967. /*! @} */
  33968. /* The count of USB_ENDPTCTRL */
  33969. #define USB_ENDPTCTRL_COUNT (7U)
  33970. /*!
  33971. * @}
  33972. */ /* end of group USB_Register_Masks */
  33973. /* USB - Peripheral instance base addresses */
  33974. /** Peripheral USB base address */
  33975. #define USB_BASE (0x402E0000u)
  33976. /** Peripheral USB base pointer */
  33977. #define USB ((USB_Type *)USB_BASE)
  33978. /** Array initializer of USB peripheral base addresses */
  33979. #define USB_BASE_ADDRS { 0u, USB_BASE }
  33980. /** Array initializer of USB peripheral base pointers */
  33981. #define USB_BASE_PTRS { (USB_Type *)0u, USB }
  33982. /** Interrupt vectors for the USB peripheral type */
  33983. #define USB_IRQS { NotAvail_IRQn, USB_OTG1_IRQn }
  33984. /* Backward compatibility */
  33985. #define GPTIMER0CTL GPTIMER0CTRL
  33986. #define GPTIMER1CTL GPTIMER1CTRL
  33987. #define USB_SBUSCFG SBUSCFG
  33988. #define EPLISTADDR ENDPTLISTADDR
  33989. #define EPSETUPSR ENDPTSETUPSTAT
  33990. #define EPPRIME ENDPTPRIME
  33991. #define EPFLUSH ENDPTFLUSH
  33992. #define EPSR ENDPTSTAT
  33993. #define EPCOMPLETE ENDPTCOMPLETE
  33994. #define EPCR ENDPTCTRL
  33995. #define EPCR0 ENDPTCTRL0
  33996. #define USBHS_ID_ID_MASK USB_ID_ID_MASK
  33997. #define USBHS_ID_ID_SHIFT USB_ID_ID_SHIFT
  33998. #define USBHS_ID_ID(x) USB_ID_ID(x)
  33999. #define USBHS_ID_NID_MASK USB_ID_NID_MASK
  34000. #define USBHS_ID_NID_SHIFT USB_ID_NID_SHIFT
  34001. #define USBHS_ID_NID(x) USB_ID_NID(x)
  34002. #define USBHS_ID_REVISION_MASK USB_ID_REVISION_MASK
  34003. #define USBHS_ID_REVISION_SHIFT USB_ID_REVISION_SHIFT
  34004. #define USBHS_ID_REVISION(x) USB_ID_REVISION(x)
  34005. #define USBHS_HWGENERAL_PHYW_MASK USB_HWGENERAL_PHYW_MASK
  34006. #define USBHS_HWGENERAL_PHYW_SHIFT USB_HWGENERAL_PHYW_SHIFT
  34007. #define USBHS_HWGENERAL_PHYW(x) USB_HWGENERAL_PHYW(x)
  34008. #define USBHS_HWGENERAL_PHYM_MASK USB_HWGENERAL_PHYM_MASK
  34009. #define USBHS_HWGENERAL_PHYM_SHIFT USB_HWGENERAL_PHYM_SHIFT
  34010. #define USBHS_HWGENERAL_PHYM(x) USB_HWGENERAL_PHYM(x)
  34011. #define USBHS_HWGENERAL_SM_MASK USB_HWGENERAL_SM_MASK
  34012. #define USBHS_HWGENERAL_SM_SHIFT USB_HWGENERAL_SM_SHIFT
  34013. #define USBHS_HWGENERAL_SM(x) USB_HWGENERAL_SM(x)
  34014. #define USBHS_HWHOST_HC_MASK USB_HWHOST_HC_MASK
  34015. #define USBHS_HWHOST_HC_SHIFT USB_HWHOST_HC_SHIFT
  34016. #define USBHS_HWHOST_HC(x) USB_HWHOST_HC(x)
  34017. #define USBHS_HWHOST_NPORT_MASK USB_HWHOST_NPORT_MASK
  34018. #define USBHS_HWHOST_NPORT_SHIFT USB_HWHOST_NPORT_SHIFT
  34019. #define USBHS_HWHOST_NPORT(x) USB_HWHOST_NPORT(x)
  34020. #define USBHS_HWDEVICE_DC_MASK USB_HWDEVICE_DC_MASK
  34021. #define USBHS_HWDEVICE_DC_SHIFT USB_HWDEVICE_DC_SHIFT
  34022. #define USBHS_HWDEVICE_DC(x) USB_HWDEVICE_DC(x)
  34023. #define USBHS_HWDEVICE_DEVEP_MASK USB_HWDEVICE_DEVEP_MASK
  34024. #define USBHS_HWDEVICE_DEVEP_SHIFT USB_HWDEVICE_DEVEP_SHIFT
  34025. #define USBHS_HWDEVICE_DEVEP(x) USB_HWDEVICE_DEVEP(x)
  34026. #define USBHS_HWTXBUF_TXBURST_MASK USB_HWTXBUF_TXBURST_MASK
  34027. #define USBHS_HWTXBUF_TXBURST_SHIFT USB_HWTXBUF_TXBURST_SHIFT
  34028. #define USBHS_HWTXBUF_TXBURST(x) USB_HWTXBUF_TXBURST(x)
  34029. #define USBHS_HWTXBUF_TXCHANADD_MASK USB_HWTXBUF_TXCHANADD_MASK
  34030. #define USBHS_HWTXBUF_TXCHANADD_SHIFT USB_HWTXBUF_TXCHANADD_SHIFT
  34031. #define USBHS_HWTXBUF_TXCHANADD(x) USB_HWTXBUF_TXCHANADD(x)
  34032. #define USBHS_HWRXBUF_RXBURST_MASK USB_HWRXBUF_RXBURST_MASK
  34033. #define USBHS_HWRXBUF_RXBURST_SHIFT USB_HWRXBUF_RXBURST_SHIFT
  34034. #define USBHS_HWRXBUF_RXBURST(x) USB_HWRXBUF_RXBURST(x)
  34035. #define USBHS_HWRXBUF_RXADD_MASK USB_HWRXBUF_RXADD_MASK
  34036. #define USBHS_HWRXBUF_RXADD_SHIFT USB_HWRXBUF_RXADD_SHIFT
  34037. #define USBHS_HWRXBUF_RXADD(x) USB_HWRXBUF_RXADD(x)
  34038. #define USBHS_GPTIMER0LD_GPTLD_MASK USB_GPTIMER0LD_GPTLD_MASK
  34039. #define USBHS_GPTIMER0LD_GPTLD_SHIFT USB_GPTIMER0LD_GPTLD_SHIFT
  34040. #define USBHS_GPTIMER0LD_GPTLD(x) USB_GPTIMER0LD_GPTLD(x)
  34041. #define USBHS_GPTIMER0CTL_GPTCNT_MASK USB_GPTIMER0CTRL_GPTCNT_MASK
  34042. #define USBHS_GPTIMER0CTL_GPTCNT_SHIFT USB_GPTIMER0CTRL_GPTCNT_SHIFT
  34043. #define USBHS_GPTIMER0CTL_GPTCNT(x) USB_GPTIMER0CTRL_GPTCNT(x)
  34044. #define USBHS_GPTIMER0CTL_MODE_MASK USB_GPTIMER0CTRL_GPTMODE_MASK
  34045. #define USBHS_GPTIMER0CTL_MODE_SHIFT USB_GPTIMER0CTRL_GPTMODE_SHIFT
  34046. #define USBHS_GPTIMER0CTL_MODE(x) USB_GPTIMER0CTRL_GPTMODE(x)
  34047. #define USBHS_GPTIMER0CTL_RST_MASK USB_GPTIMER0CTRL_GPTRST_MASK
  34048. #define USBHS_GPTIMER0CTL_RST_SHIFT USB_GPTIMER0CTRL_GPTRST_SHIFT
  34049. #define USBHS_GPTIMER0CTL_RST(x) USB_GPTIMER0CTRL_GPTRST(x)
  34050. #define USBHS_GPTIMER0CTL_RUN_MASK USB_GPTIMER0CTRL_GPTRUN_MASK
  34051. #define USBHS_GPTIMER0CTL_RUN_SHIFT USB_GPTIMER0CTRL_GPTRUN_SHIFT
  34052. #define USBHS_GPTIMER0CTL_RUN(x) USB_GPTIMER0CTRL_GPTRUN(x)
  34053. #define USBHS_GPTIMER1LD_GPTLD_MASK USB_GPTIMER1LD_GPTLD_MASK
  34054. #define USBHS_GPTIMER1LD_GPTLD_SHIFT USB_GPTIMER1LD_GPTLD_SHIFT
  34055. #define USBHS_GPTIMER1LD_GPTLD(x) USB_GPTIMER1LD_GPTLD(x)
  34056. #define USBHS_GPTIMER1CTL_GPTCNT_MASK USB_GPTIMER1CTRL_GPTCNT_MASK
  34057. #define USBHS_GPTIMER1CTL_GPTCNT_SHIFT USB_GPTIMER1CTRL_GPTCNT_SHIFT
  34058. #define USBHS_GPTIMER1CTL_GPTCNT(x) USB_GPTIMER1CTRL_GPTCNT(x)
  34059. #define USBHS_GPTIMER1CTL_MODE_MASK USB_GPTIMER1CTRL_GPTMODE_MASK
  34060. #define USBHS_GPTIMER1CTL_MODE_SHIFT USB_GPTIMER1CTRL_GPTMODE_SHIFT
  34061. #define USBHS_GPTIMER1CTL_MODE(x) USB_GPTIMER1CTRL_GPTMODE(x)
  34062. #define USBHS_GPTIMER1CTL_RST_MASK USB_GPTIMER1CTRL_GPTRST_MASK
  34063. #define USBHS_GPTIMER1CTL_RST_SHIFT USB_GPTIMER1CTRL_GPTRST_SHIFT
  34064. #define USBHS_GPTIMER1CTL_RST(x) USB_GPTIMER1CTRL_GPTRST(x)
  34065. #define USBHS_GPTIMER1CTL_RUN_MASK USB_GPTIMER1CTRL_GPTRUN_MASK
  34066. #define USBHS_GPTIMER1CTL_RUN_SHIFT USB_GPTIMER1CTRL_GPTRUN_SHIFT
  34067. #define USBHS_GPTIMER1CTL_RUN(x) USB_GPTIMER1CTRL_GPTRUN(x)
  34068. #define USBHS_USB_SBUSCFG_BURSTMODE_MASK USB_SBUSCFG_AHBBRST_MASK
  34069. #define USBHS_USB_SBUSCFG_BURSTMODE_SHIFT USB_SBUSCFG_AHBBRST_SHIFT
  34070. #define USBHS_USB_SBUSCFG_BURSTMODE(x) USB_SBUSCFG_AHBBRST(x)
  34071. #define USBHS_HCIVERSION_CAPLENGTH(x) USB_HCIVERSION_CAPLENGTH(x)
  34072. #define USBHS_HCIVERSION_HCIVERSION_MASK USB_HCIVERSION_HCIVERSION_MASK
  34073. #define USBHS_HCIVERSION_HCIVERSION_SHIFT USB_HCIVERSION_HCIVERSION_SHIFT
  34074. #define USBHS_HCIVERSION_HCIVERSION(x) USB_HCIVERSION_HCIVERSION(x)
  34075. #define USBHS_HCSPARAMS_N_PORTS_MASK USB_HCSPARAMS_N_PORTS_MASK
  34076. #define USBHS_HCSPARAMS_N_PORTS_SHIFT USB_HCSPARAMS_N_PORTS_SHIFT
  34077. #define USBHS_HCSPARAMS_N_PORTS(x) USB_HCSPARAMS_N_PORTS(x)
  34078. #define USBHS_HCSPARAMS_PPC_MASK USB_HCSPARAMS_PPC_MASK
  34079. #define USBHS_HCSPARAMS_PPC_SHIFT USB_HCSPARAMS_PPC_SHIFT
  34080. #define USBHS_HCSPARAMS_PPC(x) USB_HCSPARAMS_PPC(x)
  34081. #define USBHS_HCSPARAMS_N_PCC_MASK USB_HCSPARAMS_N_PCC_MASK
  34082. #define USBHS_HCSPARAMS_N_PCC_SHIFT USB_HCSPARAMS_N_PCC_SHIFT
  34083. #define USBHS_HCSPARAMS_N_PCC(x) USB_HCSPARAMS_N_PCC(x)
  34084. #define USBHS_HCSPARAMS_N_CC_MASK USB_HCSPARAMS_N_CC_MASK
  34085. #define USBHS_HCSPARAMS_N_CC_SHIFT USB_HCSPARAMS_N_CC_SHIFT
  34086. #define USBHS_HCSPARAMS_N_CC(x) USB_HCSPARAMS_N_CC(x)
  34087. #define USBHS_HCSPARAMS_PI_MASK USB_HCSPARAMS_PI_MASK
  34088. #define USBHS_HCSPARAMS_PI_SHIFT USB_HCSPARAMS_PI_SHIFT
  34089. #define USBHS_HCSPARAMS_PI(x) USB_HCSPARAMS_PI(x)
  34090. #define USBHS_HCSPARAMS_N_PTT_MASK USB_HCSPARAMS_N_PTT_MASK
  34091. #define USBHS_HCSPARAMS_N_PTT_SHIFT USB_HCSPARAMS_N_PTT_SHIFT
  34092. #define USBHS_HCSPARAMS_N_PTT(x) USB_HCSPARAMS_N_PTT(x)
  34093. #define USBHS_HCSPARAMS_N_TT_MASK USB_HCSPARAMS_N_TT_MASK
  34094. #define USBHS_HCSPARAMS_N_TT_SHIFT USB_HCSPARAMS_N_TT_SHIFT
  34095. #define USBHS_HCSPARAMS_N_TT(x) USB_HCSPARAMS_N_TT(x)
  34096. #define USBHS_HCCPARAMS_ADC_MASK USB_HCCPARAMS_ADC_MASK
  34097. #define USBHS_HCCPARAMS_ADC_SHIFT USB_HCCPARAMS_ADC_SHIFT
  34098. #define USBHS_HCCPARAMS_ADC(x) USB_HCCPARAMS_ADC(x)
  34099. #define USBHS_HCCPARAMS_PFL_MASK USB_HCCPARAMS_PFL_MASK
  34100. #define USBHS_HCCPARAMS_PFL_SHIFT USB_HCCPARAMS_PFL_SHIFT
  34101. #define USBHS_HCCPARAMS_PFL(x) USB_HCCPARAMS_PFL(x)
  34102. #define USBHS_HCCPARAMS_ASP_MASK USB_HCCPARAMS_ASP_MASK
  34103. #define USBHS_HCCPARAMS_ASP_SHIFT USB_HCCPARAMS_ASP_SHIFT
  34104. #define USBHS_HCCPARAMS_ASP(x) USB_HCCPARAMS_ASP(x)
  34105. #define USBHS_HCCPARAMS_IST_MASK USB_HCCPARAMS_IST_MASK
  34106. #define USBHS_HCCPARAMS_IST_SHIFT USB_HCCPARAMS_IST_SHIFT
  34107. #define USBHS_HCCPARAMS_IST(x) USB_HCCPARAMS_IST(x)
  34108. #define USBHS_HCCPARAMS_EECP_MASK USB_HCCPARAMS_EECP_MASK
  34109. #define USBHS_HCCPARAMS_EECP_SHIFT USB_HCCPARAMS_EECP_SHIFT
  34110. #define USBHS_HCCPARAMS_EECP(x) USB_HCCPARAMS_EECP(x)
  34111. #define USBHS_DCIVERSION_DCIVERSION_MASK USB_DCIVERSION_DCIVERSION_MASK
  34112. #define USBHS_DCIVERSION_DCIVERSION_SHIFT USB_DCIVERSION_DCIVERSION_SHIFT
  34113. #define USBHS_DCIVERSION_DCIVERSION(x) USB_DCIVERSION_DCIVERSION(x)
  34114. #define USBHS_DCCPARAMS_DEN_MASK USB_DCCPARAMS_DEN_MASK
  34115. #define USBHS_DCCPARAMS_DEN_SHIFT USB_DCCPARAMS_DEN_SHIFT
  34116. #define USBHS_DCCPARAMS_DEN(x) USB_DCCPARAMS_DEN(x)
  34117. #define USBHS_DCCPARAMS_DC_MASK USB_DCCPARAMS_DC_MASK
  34118. #define USBHS_DCCPARAMS_DC_SHIFT USB_DCCPARAMS_DC_SHIFT
  34119. #define USBHS_DCCPARAMS_DC(x) USB_DCCPARAMS_DC(x)
  34120. #define USBHS_DCCPARAMS_HC_MASK USB_DCCPARAMS_HC_MASK
  34121. #define USBHS_DCCPARAMS_HC_SHIFT USB_DCCPARAMS_HC_SHIFT
  34122. #define USBHS_DCCPARAMS_HC(x) USB_DCCPARAMS_HC(x)
  34123. #define USBHS_USBCMD_RS_MASK USB_USBCMD_RS_MASK
  34124. #define USBHS_USBCMD_RS_SHIFT USB_USBCMD_RS_SHIFT
  34125. #define USBHS_USBCMD_RS(x) USB_USBCMD_RS(x)
  34126. #define USBHS_USBCMD_RST_MASK USB_USBCMD_RST_MASK
  34127. #define USBHS_USBCMD_RST_SHIFT USB_USBCMD_RST_SHIFT
  34128. #define USBHS_USBCMD_RST(x) USB_USBCMD_RST(x)
  34129. #define USBHS_USBCMD_FS_MASK USB_USBCMD_FS_1_MASK
  34130. #define USBHS_USBCMD_FS_SHIFT USB_USBCMD_FS_1_SHIFT
  34131. #define USBHS_USBCMD_FS(x) USB_USBCMD_FS_1(x)
  34132. #define USBHS_USBCMD_PSE_MASK USB_USBCMD_PSE_MASK
  34133. #define USBHS_USBCMD_PSE_SHIFT USB_USBCMD_PSE_SHIFT
  34134. #define USBHS_USBCMD_PSE(x) USB_USBCMD_PSE(x)
  34135. #define USBHS_USBCMD_ASE_MASK USB_USBCMD_ASE_MASK
  34136. #define USBHS_USBCMD_ASE_SHIFT USB_USBCMD_ASE_SHIFT
  34137. #define USBHS_USBCMD_ASE(x) USB_USBCMD_ASE(x)
  34138. #define USBHS_USBCMD_IAA_MASK USB_USBCMD_IAA_MASK
  34139. #define USBHS_USBCMD_IAA_SHIFT USB_USBCMD_IAA_SHIFT
  34140. #define USBHS_USBCMD_IAA(x) USB_USBCMD_IAA(x)
  34141. #define USBHS_USBCMD_ASP_MASK USB_USBCMD_ASP_MASK
  34142. #define USBHS_USBCMD_ASP_SHIFT USB_USBCMD_ASP_SHIFT
  34143. #define USBHS_USBCMD_ASP(x) USB_USBCMD_ASP(x)
  34144. #define USBHS_USBCMD_ASPE_MASK USB_USBCMD_ASPE_MASK
  34145. #define USBHS_USBCMD_ASPE_SHIFT USB_USBCMD_ASPE_SHIFT
  34146. #define USBHS_USBCMD_ASPE(x) USB_USBCMD_ASPE(x)
  34147. #define USBHS_USBCMD_ATDTW_MASK USB_USBCMD_ATDTW_MASK
  34148. #define USBHS_USBCMD_ATDTW_SHIFT USB_USBCMD_ATDTW_SHIFT
  34149. #define USBHS_USBCMD_ATDTW(x) USB_USBCMD_ATDTW(x)
  34150. #define USBHS_USBCMD_SUTW_MASK USB_USBCMD_SUTW_MASK
  34151. #define USBHS_USBCMD_SUTW_SHIFT USB_USBCMD_SUTW_SHIFT
  34152. #define USBHS_USBCMD_SUTW(x) USB_USBCMD_SUTW(x)
  34153. #define USBHS_USBCMD_FS2_MASK USB_USBCMD_FS_2_MASK
  34154. #define USBHS_USBCMD_FS2_SHIFT USB_USBCMD_FS_2_SHIFT
  34155. #define USBHS_USBCMD_FS2(x) USB_USBCMD_FS_2(x)
  34156. #define USBHS_USBCMD_ITC_MASK USB_USBCMD_ITC_MASK
  34157. #define USBHS_USBCMD_ITC_SHIFT USB_USBCMD_ITC_SHIFT
  34158. #define USBHS_USBCMD_ITC(x) USB_USBCMD_ITC(x)
  34159. #define USBHS_USBSTS_UI_MASK USB_USBSTS_UI_MASK
  34160. #define USBHS_USBSTS_UI_SHIFT USB_USBSTS_UI_SHIFT
  34161. #define USBHS_USBSTS_UI(x) USB_USBSTS_UI(x)
  34162. #define USBHS_USBSTS_UEI_MASK USB_USBSTS_UEI_MASK
  34163. #define USBHS_USBSTS_UEI_SHIFT USB_USBSTS_UEI_SHIFT
  34164. #define USBHS_USBSTS_UEI(x) USB_USBSTS_UEI(x)
  34165. #define USBHS_USBSTS_PCI_MASK USB_USBSTS_PCI_MASK
  34166. #define USBHS_USBSTS_PCI_SHIFT USB_USBSTS_PCI_SHIFT
  34167. #define USBHS_USBSTS_PCI(x) USB_USBSTS_PCI(x)
  34168. #define USBHS_USBSTS_FRI_MASK USB_USBSTS_FRI_MASK
  34169. #define USBHS_USBSTS_FRI_SHIFT USB_USBSTS_FRI_SHIFT
  34170. #define USBHS_USBSTS_FRI(x) USB_USBSTS_FRI(x)
  34171. #define USBHS_USBSTS_SEI_MASK USB_USBSTS_SEI_MASK
  34172. #define USBHS_USBSTS_SEI_SHIFT USB_USBSTS_SEI_SHIFT
  34173. #define USBHS_USBSTS_SEI(x) USB_USBSTS_SEI(x)
  34174. #define USBHS_USBSTS_AAI_MASK USB_USBSTS_AAI_MASK
  34175. #define USBHS_USBSTS_AAI_SHIFT USB_USBSTS_AAI_SHIFT
  34176. #define USBHS_USBSTS_AAI(x) USB_USBSTS_AAI(x)
  34177. #define USBHS_USBSTS_URI_MASK USB_USBSTS_URI_MASK
  34178. #define USBHS_USBSTS_URI_SHIFT USB_USBSTS_URI_SHIFT
  34179. #define USBHS_USBSTS_URI(x) USB_USBSTS_URI(x)
  34180. #define USBHS_USBSTS_SRI_MASK USB_USBSTS_SRI_MASK
  34181. #define USBHS_USBSTS_SRI_SHIFT USB_USBSTS_SRI_SHIFT
  34182. #define USBHS_USBSTS_SRI(x) USB_USBSTS_SRI(x)
  34183. #define USBHS_USBSTS_SLI_MASK USB_USBSTS_SLI_MASK
  34184. #define USBHS_USBSTS_SLI_SHIFT USB_USBSTS_SLI_SHIFT
  34185. #define USBHS_USBSTS_SLI(x) USB_USBSTS_SLI(x)
  34186. #define USBHS_USBSTS_ULPII_MASK USB_USBSTS_ULPII_MASK
  34187. #define USBHS_USBSTS_ULPII_SHIFT USB_USBSTS_ULPII_SHIFT
  34188. #define USBHS_USBSTS_ULPII(x) USB_USBSTS_ULPII(x)
  34189. #define USBHS_USBSTS_HCH_MASK USB_USBSTS_HCH_MASK
  34190. #define USBHS_USBSTS_HCH_SHIFT USB_USBSTS_HCH_SHIFT
  34191. #define USBHS_USBSTS_HCH(x) USB_USBSTS_HCH(x)
  34192. #define USBHS_USBSTS_RCL_MASK USB_USBSTS_RCL_MASK
  34193. #define USBHS_USBSTS_RCL_SHIFT USB_USBSTS_RCL_SHIFT
  34194. #define USBHS_USBSTS_RCL(x) USB_USBSTS_RCL(x)
  34195. #define USBHS_USBSTS_PS_MASK USB_USBSTS_PS_MASK
  34196. #define USBHS_USBSTS_PS_SHIFT USB_USBSTS_PS_SHIFT
  34197. #define USBHS_USBSTS_PS(x) USB_USBSTS_PS(x)
  34198. #define USBHS_USBSTS_AS_MASK USB_USBSTS_AS_MASK
  34199. #define USBHS_USBSTS_AS_SHIFT USB_USBSTS_AS_SHIFT
  34200. #define USBHS_USBSTS_AS(x) USB_USBSTS_AS(x)
  34201. #define USBHS_USBSTS_NAKI_MASK USB_USBSTS_NAKI_MASK
  34202. #define USBHS_USBSTS_NAKI_SHIFT USB_USBSTS_NAKI_SHIFT
  34203. #define USBHS_USBSTS_NAKI(x) USB_USBSTS_NAKI(x)
  34204. #define USBHS_USBSTS_TI0_MASK USB_USBSTS_TI0_MASK
  34205. #define USBHS_USBSTS_TI0_SHIFT USB_USBSTS_TI0_SHIFT
  34206. #define USBHS_USBSTS_TI0(x) USB_USBSTS_TI0(x)
  34207. #define USBHS_USBSTS_TI1_MASK USB_USBSTS_TI1_MASK
  34208. #define USBHS_USBSTS_TI1_SHIFT USB_USBSTS_TI1_SHIFT
  34209. #define USBHS_USBSTS_TI1(x) USB_USBSTS_TI1(x)
  34210. #define USBHS_USBINTR_UE_MASK USB_USBINTR_UE_MASK
  34211. #define USBHS_USBINTR_UE_SHIFT USB_USBINTR_UE_SHIFT
  34212. #define USBHS_USBINTR_UE(x) USB_USBINTR_UE(x)
  34213. #define USBHS_USBINTR_UEE_MASK USB_USBINTR_UEE_MASK
  34214. #define USBHS_USBINTR_UEE_SHIFT USB_USBINTR_UEE_SHIFT
  34215. #define USBHS_USBINTR_UEE(x) USB_USBINTR_UEE(x)
  34216. #define USBHS_USBINTR_PCE_MASK USB_USBINTR_PCE_MASK
  34217. #define USBHS_USBINTR_PCE_SHIFT USB_USBINTR_PCE_SHIFT
  34218. #define USBHS_USBINTR_PCE(x) USB_USBINTR_PCE(x)
  34219. #define USBHS_USBINTR_FRE_MASK USB_USBINTR_FRE_MASK
  34220. #define USBHS_USBINTR_FRE_SHIFT USB_USBINTR_FRE_SHIFT
  34221. #define USBHS_USBINTR_FRE(x) USB_USBINTR_FRE(x)
  34222. #define USBHS_USBINTR_SEE_MASK USB_USBINTR_SEE_MASK
  34223. #define USBHS_USBINTR_SEE_SHIFT USB_USBINTR_SEE_SHIFT
  34224. #define USBHS_USBINTR_SEE(x) USB_USBINTR_SEE(x)
  34225. #define USBHS_USBINTR_AAE_MASK USB_USBINTR_AAE_MASK
  34226. #define USBHS_USBINTR_AAE_SHIFT USB_USBINTR_AAE_SHIFT
  34227. #define USBHS_USBINTR_AAE(x) USB_USBINTR_AAE(x)
  34228. #define USBHS_USBINTR_URE_MASK USB_USBINTR_URE_MASK
  34229. #define USBHS_USBINTR_URE_SHIFT USB_USBINTR_URE_SHIFT
  34230. #define USBHS_USBINTR_URE(x) USB_USBINTR_URE(x)
  34231. #define USBHS_USBINTR_SRE_MASK USB_USBINTR_SRE_MASK
  34232. #define USBHS_USBINTR_SRE_SHIFT USB_USBINTR_SRE_SHIFT
  34233. #define USBHS_USBINTR_SRE(x) USB_USBINTR_SRE(x)
  34234. #define USBHS_USBINTR_SLE_MASK USB_USBINTR_SLE_MASK
  34235. #define USBHS_USBINTR_SLE_SHIFT USB_USBINTR_SLE_SHIFT
  34236. #define USBHS_USBINTR_SLE(x) USB_USBINTR_SLE(x)
  34237. #define USBHS_USBINTR_ULPIE_MASK USB_USBINTR_ULPIE_MASK
  34238. #define USBHS_USBINTR_ULPIE_SHIFT USB_USBINTR_ULPIE_SHIFT
  34239. #define USBHS_USBINTR_ULPIE(x) USB_USBINTR_ULPIE(x)
  34240. #define USBHS_USBINTR_NAKE_MASK USB_USBINTR_NAKE_MASK
  34241. #define USBHS_USBINTR_NAKE_SHIFT USB_USBINTR_NAKE_SHIFT
  34242. #define USBHS_USBINTR_NAKE(x) USB_USBINTR_NAKE(x)
  34243. #define USBHS_USBINTR_UAIE_MASK USB_USBINTR_UAIE_MASK
  34244. #define USBHS_USBINTR_UAIE_SHIFT USB_USBINTR_UAIE_SHIFT
  34245. #define USBHS_USBINTR_UAIE(x) USB_USBINTR_UAIE(x)
  34246. #define USBHS_USBINTR_UPIE_MASK USB_USBINTR_UPIE_MASK
  34247. #define USBHS_USBINTR_UPIE_SHIFT USB_USBINTR_UPIE_SHIFT
  34248. #define USBHS_USBINTR_UPIE(x) USB_USBINTR_UPIE(x)
  34249. #define USBHS_USBINTR_TIE0_MASK USB_USBINTR_TIE0_MASK
  34250. #define USBHS_USBINTR_TIE0_SHIFT USB_USBINTR_TIE0_SHIFT
  34251. #define USBHS_USBINTR_TIE0(x) USB_USBINTR_TIE0(x)
  34252. #define USBHS_USBINTR_TIE1_MASK USB_USBINTR_TIE1_MASK
  34253. #define USBHS_USBINTR_TIE1_SHIFT USB_USBINTR_TIE1_SHIFT
  34254. #define USBHS_USBINTR_TIE1(x) USB_USBINTR_TIE1(x)
  34255. #define USBHS_FRINDEX_FRINDEX_MASK USB_FRINDEX_FRINDEX_MASK
  34256. #define USBHS_FRINDEX_FRINDEX_SHIFT USB_FRINDEX_FRINDEX_SHIFT
  34257. #define USBHS_FRINDEX_FRINDEX(x) USB_FRINDEX_FRINDEX(x)
  34258. #define USBHS_DEVICEADDR_USBADRA_MASK USB_DEVICEADDR_USBADRA_MASK
  34259. #define USBHS_DEVICEADDR_USBADRA_SHIFT USB_DEVICEADDR_USBADRA_SHIFT
  34260. #define USBHS_DEVICEADDR_USBADRA(x) USB_DEVICEADDR_USBADRA(x)
  34261. #define USBHS_DEVICEADDR_USBADR_MASK USB_DEVICEADDR_USBADR_MASK
  34262. #define USBHS_DEVICEADDR_USBADR_SHIFT USB_DEVICEADDR_USBADR_SHIFT
  34263. #define USBHS_DEVICEADDR_USBADR(x) USB_DEVICEADDR_USBADR(x)
  34264. #define USBHS_PERIODICLISTBASE_PERBASE_MASK USB_PERIODICLISTBASE_BASEADR_MASK
  34265. #define USBHS_PERIODICLISTBASE_PERBASE_SHIFT USB_PERIODICLISTBASE_BASEADR_SHIFT
  34266. #define USBHS_PERIODICLISTBASE_PERBASE(x) USB_PERIODICLISTBASE_BASEADR(x)
  34267. #define USBHS_ASYNCLISTADDR_ASYBASE_MASK USB_ASYNCLISTADDR_ASYBASE_MASK
  34268. #define USBHS_ASYNCLISTADDR_ASYBASE_SHIFT USB_ASYNCLISTADDR_ASYBASE_SHIFT
  34269. #define USBHS_ASYNCLISTADDR_ASYBASE(x) USB_ASYNCLISTADDR_ASYBASE(x)
  34270. #define USBHS_EPLISTADDR_EPBASE_MASK USB_ENDPTLISTADDR_EPBASE_MASK
  34271. #define USBHS_EPLISTADDR_EPBASE_SHIFT USB_ENDPTLISTADDR_EPBASE_SHIFT
  34272. #define USBHS_EPLISTADDR_EPBASE(x) USB_ENDPTLISTADDR_EPBASE(x)
  34273. #define USBHS_BURSTSIZE_RXPBURST_MASK USB_BURSTSIZE_RXPBURST_MASK
  34274. #define USBHS_BURSTSIZE_RXPBURST_SHIFT USB_BURSTSIZE_RXPBURST_SHIFT
  34275. #define USBHS_BURSTSIZE_RXPBURST(x) USB_BURSTSIZE_RXPBURST(x)
  34276. #define USBHS_BURSTSIZE_TXPBURST_MASK USB_BURSTSIZE_TXPBURST_MASK
  34277. #define USBHS_BURSTSIZE_TXPBURST_SHIFT USB_BURSTSIZE_TXPBURST_SHIFT
  34278. #define USBHS_BURSTSIZE_TXPBURST(x) USB_BURSTSIZE_TXPBURST(x)
  34279. #define USBHS_TXFILLTUNING_TXSCHOH_MASK USB_TXFILLTUNING_TXSCHOH_MASK
  34280. #define USBHS_TXFILLTUNING_TXSCHOH_SHIFT USB_TXFILLTUNING_TXSCHOH_SHIFT
  34281. #define USBHS_TXFILLTUNING_TXSCHOH(x) USB_TXFILLTUNING_TXSCHOH(x)
  34282. #define USBHS_TXFILLTUNING_TXSCHHEALTH_MASK USB_TXFILLTUNING_TXSCHHEALTH_MASK
  34283. #define USBHS_TXFILLTUNING_TXSCHHEALTH_SHIFT USB_TXFILLTUNING_TXSCHHEALTH_SHIFT
  34284. #define USBHS_TXFILLTUNING_TXSCHHEALTH(x) USB_TXFILLTUNING_TXSCHHEALTH(x)
  34285. #define USBHS_TXFILLTUNING_TXFIFOTHRES_MASK USB_TXFILLTUNING_TXFIFOTHRES_MASK
  34286. #define USBHS_TXFILLTUNING_TXFIFOTHRES_SHIFT USB_TXFILLTUNING_TXFIFOTHRES_SHIFT
  34287. #define USBHS_TXFILLTUNING_TXFIFOTHRES(x) USB_TXFILLTUNING_TXFIFOTHRES(x)
  34288. #define USBHS_ENDPTNAK_EPRN_MASK USB_ENDPTNAK_EPRN_MASK
  34289. #define USBHS_ENDPTNAK_EPRN_SHIFT USB_ENDPTNAK_EPRN_SHIFT
  34290. #define USBHS_ENDPTNAK_EPRN(x) USB_ENDPTNAK_EPRN(x)
  34291. #define USBHS_ENDPTNAK_EPTN_MASK USB_ENDPTNAK_EPTN_MASK
  34292. #define USBHS_ENDPTNAK_EPTN_SHIFT USB_ENDPTNAK_EPTN_SHIFT
  34293. #define USBHS_ENDPTNAK_EPTN(x) USB_ENDPTNAK_EPTN(x)
  34294. #define USBHS_ENDPTNAKEN_EPRNE_MASK USB_ENDPTNAKEN_EPRNE_MASK
  34295. #define USBHS_ENDPTNAKEN_EPRNE_SHIFT USB_ENDPTNAKEN_EPRNE_SHIFT
  34296. #define USBHS_ENDPTNAKEN_EPRNE(x) USB_ENDPTNAKEN_EPRNE(x)
  34297. #define USBHS_ENDPTNAKEN_EPTNE_MASK USB_ENDPTNAKEN_EPTNE_MASK
  34298. #define USBHS_ENDPTNAKEN_EPTNE_SHIFT USB_ENDPTNAKEN_EPTNE_SHIFT
  34299. #define USBHS_ENDPTNAKEN_EPTNE(x) USB_ENDPTNAKEN_EPTNE(x)
  34300. #define USBHS_CONFIGFLAG_CF_MASK USB_CONFIGFLAG_CF_MASK
  34301. #define USBHS_CONFIGFLAG_CF_SHIFT USB_CONFIGFLAG_CF_SHIFT
  34302. #define USBHS_CONFIGFLAG_CF(x) USB_CONFIGFLAG_CF(x)
  34303. #define USBHS_PORTSC1_CCS_MASK USB_PORTSC1_CCS_MASK
  34304. #define USBHS_PORTSC1_CCS_SHIFT USB_PORTSC1_CCS_SHIFT
  34305. #define USBHS_PORTSC1_CCS(x) USB_PORTSC1_CCS(x)
  34306. #define USBHS_PORTSC1_CSC_MASK USB_PORTSC1_CSC_MASK
  34307. #define USBHS_PORTSC1_CSC_SHIFT USB_PORTSC1_CSC_SHIFT
  34308. #define USBHS_PORTSC1_CSC(x) USB_PORTSC1_CSC(x)
  34309. #define USBHS_PORTSC1_PE_MASK USB_PORTSC1_PE_MASK
  34310. #define USBHS_PORTSC1_PE_SHIFT USB_PORTSC1_PE_SHIFT
  34311. #define USBHS_PORTSC1_PE(x) USB_PORTSC1_PE(x)
  34312. #define USBHS_PORTSC1_PEC_MASK USB_PORTSC1_PEC_MASK
  34313. #define USBHS_PORTSC1_PEC_SHIFT USB_PORTSC1_PEC_SHIFT
  34314. #define USBHS_PORTSC1_PEC(x) USB_PORTSC1_PEC(x)
  34315. #define USBHS_PORTSC1_OCA_MASK USB_PORTSC1_OCA_MASK
  34316. #define USBHS_PORTSC1_OCA_SHIFT USB_PORTSC1_OCA_SHIFT
  34317. #define USBHS_PORTSC1_OCA(x) USB_PORTSC1_OCA(x)
  34318. #define USBHS_PORTSC1_OCC_MASK USB_PORTSC1_OCC_MASK
  34319. #define USBHS_PORTSC1_OCC_SHIFT USB_PORTSC1_OCC_SHIFT
  34320. #define USBHS_PORTSC1_OCC(x) USB_PORTSC1_OCC(x)
  34321. #define USBHS_PORTSC1_FPR_MASK USB_PORTSC1_FPR_MASK
  34322. #define USBHS_PORTSC1_FPR_SHIFT USB_PORTSC1_FPR_SHIFT
  34323. #define USBHS_PORTSC1_FPR(x) USB_PORTSC1_FPR(x)
  34324. #define USBHS_PORTSC1_SUSP_MASK USB_PORTSC1_SUSP_MASK
  34325. #define USBHS_PORTSC1_SUSP_SHIFT USB_PORTSC1_SUSP_SHIFT
  34326. #define USBHS_PORTSC1_SUSP(x) USB_PORTSC1_SUSP(x)
  34327. #define USBHS_PORTSC1_PR_MASK USB_PORTSC1_PR_MASK
  34328. #define USBHS_PORTSC1_PR_SHIFT USB_PORTSC1_PR_SHIFT
  34329. #define USBHS_PORTSC1_PR(x) USB_PORTSC1_PR(x)
  34330. #define USBHS_PORTSC1_HSP_MASK USB_PORTSC1_HSP_MASK
  34331. #define USBHS_PORTSC1_HSP_SHIFT USB_PORTSC1_HSP_SHIFT
  34332. #define USBHS_PORTSC1_HSP(x) USB_PORTSC1_HSP(x)
  34333. #define USBHS_PORTSC1_LS_MASK USB_PORTSC1_LS_MASK
  34334. #define USBHS_PORTSC1_LS_SHIFT USB_PORTSC1_LS_SHIFT
  34335. #define USBHS_PORTSC1_LS(x) USB_PORTSC1_LS(x)
  34336. #define USBHS_PORTSC1_PP_MASK USB_PORTSC1_PP_MASK
  34337. #define USBHS_PORTSC1_PP_SHIFT USB_PORTSC1_PP_SHIFT
  34338. #define USBHS_PORTSC1_PP(x) USB_PORTSC1_PP(x)
  34339. #define USBHS_PORTSC1_PO_MASK USB_PORTSC1_PO_MASK
  34340. #define USBHS_PORTSC1_PO_SHIFT USB_PORTSC1_PO_SHIFT
  34341. #define USBHS_PORTSC1_PO(x) USB_PORTSC1_PO(x)
  34342. #define USBHS_PORTSC1_PIC_MASK USB_PORTSC1_PIC_MASK
  34343. #define USBHS_PORTSC1_PIC_SHIFT USB_PORTSC1_PIC_SHIFT
  34344. #define USBHS_PORTSC1_PIC(x) USB_PORTSC1_PIC(x)
  34345. #define USBHS_PORTSC1_PTC_MASK USB_PORTSC1_PTC_MASK
  34346. #define USBHS_PORTSC1_PTC_SHIFT USB_PORTSC1_PTC_SHIFT
  34347. #define USBHS_PORTSC1_PTC(x) USB_PORTSC1_PTC(x)
  34348. #define USBHS_PORTSC1_WKCN_MASK USB_PORTSC1_WKCN_MASK
  34349. #define USBHS_PORTSC1_WKCN_SHIFT USB_PORTSC1_WKCN_SHIFT
  34350. #define USBHS_PORTSC1_WKCN(x) USB_PORTSC1_WKCN(x)
  34351. #define USBHS_PORTSC1_WKDS_MASK USB_PORTSC1_WKDC_MASK
  34352. #define USBHS_PORTSC1_WKDS_SHIFT USB_PORTSC1_WKDC_SHIFT
  34353. #define USBHS_PORTSC1_WKDS(x) USB_PORTSC1_WKDC(x)
  34354. #define USBHS_PORTSC1_WKOC_MASK USB_PORTSC1_WKOC_MASK
  34355. #define USBHS_PORTSC1_WKOC_SHIFT USB_PORTSC1_WKOC_SHIFT
  34356. #define USBHS_PORTSC1_WKOC(x) USB_PORTSC1_WKOC(x)
  34357. #define USBHS_PORTSC1_PHCD_MASK USB_PORTSC1_PHCD_MASK
  34358. #define USBHS_PORTSC1_PHCD_SHIFT USB_PORTSC1_PHCD_SHIFT
  34359. #define USBHS_PORTSC1_PHCD(x) USB_PORTSC1_PHCD(x)
  34360. #define USBHS_PORTSC1_PFSC_MASK USB_PORTSC1_PFSC_MASK
  34361. #define USBHS_PORTSC1_PFSC_SHIFT USB_PORTSC1_PFSC_SHIFT
  34362. #define USBHS_PORTSC1_PFSC(x) USB_PORTSC1_PFSC(x)
  34363. #define USBHS_PORTSC1_PTS2_MASK USB_PORTSC1_PTS_2_MASK
  34364. #define USBHS_PORTSC1_PTS2_SHIFT USB_PORTSC1_PTS_2_SHIFT
  34365. #define USBHS_PORTSC1_PTS2(x) USB_PORTSC1_PTS_2(x)
  34366. #define USBHS_PORTSC1_PSPD_MASK USB_PORTSC1_PSPD_MASK
  34367. #define USBHS_PORTSC1_PSPD_SHIFT USB_PORTSC1_PSPD_SHIFT
  34368. #define USBHS_PORTSC1_PSPD(x) USB_PORTSC1_PSPD(x)
  34369. #define USBHS_PORTSC1_PTW_MASK USB_PORTSC1_PTW_MASK
  34370. #define USBHS_PORTSC1_PTW_SHIFT USB_PORTSC1_PTW_SHIFT
  34371. #define USBHS_PORTSC1_PTW(x) USB_PORTSC1_PTW(x)
  34372. #define USBHS_PORTSC1_STS_MASK USB_PORTSC1_STS_MASK
  34373. #define USBHS_PORTSC1_STS_SHIFT USB_PORTSC1_STS_SHIFT
  34374. #define USBHS_PORTSC1_STS(x) USB_PORTSC1_STS(x)
  34375. #define USBHS_PORTSC1_PTS_MASK USB_PORTSC1_PTS_1_MASK
  34376. #define USBHS_PORTSC1_PTS_SHIFT USB_PORTSC1_PTS_1_SHIFT
  34377. #define USBHS_PORTSC1_PTS(x) USB_PORTSC1_PTS_1(x)
  34378. #define USBHS_OTGSC_VD_MASK USB_OTGSC_VD_MASK
  34379. #define USBHS_OTGSC_VD_SHIFT USB_OTGSC_VD_SHIFT
  34380. #define USBHS_OTGSC_VD(x) USB_OTGSC_VD(x)
  34381. #define USBHS_OTGSC_VC_MASK USB_OTGSC_VC_MASK
  34382. #define USBHS_OTGSC_VC_SHIFT USB_OTGSC_VC_SHIFT
  34383. #define USBHS_OTGSC_VC(x) USB_OTGSC_VC(x)
  34384. #define USBHS_OTGSC_OT_MASK USB_OTGSC_OT_MASK
  34385. #define USBHS_OTGSC_OT_SHIFT USB_OTGSC_OT_SHIFT
  34386. #define USBHS_OTGSC_OT(x) USB_OTGSC_OT(x)
  34387. #define USBHS_OTGSC_DP_MASK USB_OTGSC_DP_MASK
  34388. #define USBHS_OTGSC_DP_SHIFT USB_OTGSC_DP_SHIFT
  34389. #define USBHS_OTGSC_DP(x) USB_OTGSC_DP(x)
  34390. #define USBHS_OTGSC_IDPU_MASK USB_OTGSC_IDPU_MASK
  34391. #define USBHS_OTGSC_IDPU_SHIFT USB_OTGSC_IDPU_SHIFT
  34392. #define USBHS_OTGSC_IDPU(x) USB_OTGSC_IDPU(x)
  34393. #define USBHS_OTGSC_ID_MASK USB_OTGSC_ID_MASK
  34394. #define USBHS_OTGSC_ID_SHIFT USB_OTGSC_ID_SHIFT
  34395. #define USBHS_OTGSC_ID(x) USB_OTGSC_ID(x)
  34396. #define USBHS_OTGSC_AVV_MASK USB_OTGSC_AVV_MASK
  34397. #define USBHS_OTGSC_AVV_SHIFT USB_OTGSC_AVV_SHIFT
  34398. #define USBHS_OTGSC_AVV(x) USB_OTGSC_AVV(x)
  34399. #define USBHS_OTGSC_ASV_MASK USB_OTGSC_ASV_MASK
  34400. #define USBHS_OTGSC_ASV_SHIFT USB_OTGSC_ASV_SHIFT
  34401. #define USBHS_OTGSC_ASV(x) USB_OTGSC_ASV(x)
  34402. #define USBHS_OTGSC_BSV_MASK USB_OTGSC_BSV_MASK
  34403. #define USBHS_OTGSC_BSV_SHIFT USB_OTGSC_BSV_SHIFT
  34404. #define USBHS_OTGSC_BSV(x) USB_OTGSC_BSV(x)
  34405. #define USBHS_OTGSC_BSE_MASK USB_OTGSC_BSE_MASK
  34406. #define USBHS_OTGSC_BSE_SHIFT USB_OTGSC_BSE_SHIFT
  34407. #define USBHS_OTGSC_BSE(x) USB_OTGSC_BSE(x)
  34408. #define USBHS_OTGSC_MST_MASK USB_OTGSC_TOG_1MS_MASK
  34409. #define USBHS_OTGSC_MST_SHIFT USB_OTGSC_TOG_1MS_SHIFT
  34410. #define USBHS_OTGSC_MST(x) USB_OTGSC_TOG_1MS(x)
  34411. #define USBHS_OTGSC_DPS_MASK USB_OTGSC_DPS_MASK
  34412. #define USBHS_OTGSC_DPS_SHIFT USB_OTGSC_DPS_SHIFT
  34413. #define USBHS_OTGSC_DPS(x) USB_OTGSC_DPS(x)
  34414. #define USBHS_OTGSC_IDIS_MASK USB_OTGSC_IDIS_MASK
  34415. #define USBHS_OTGSC_IDIS_SHIFT USB_OTGSC_IDIS_SHIFT
  34416. #define USBHS_OTGSC_IDIS(x) USB_OTGSC_IDIS(x)
  34417. #define USBHS_OTGSC_AVVIS_MASK USB_OTGSC_AVVIS_MASK
  34418. #define USBHS_OTGSC_AVVIS_SHIFT USB_OTGSC_AVVIS_SHIFT
  34419. #define USBHS_OTGSC_AVVIS(x) USB_OTGSC_AVVIS(x)
  34420. #define USBHS_OTGSC_ASVIS_MASK USB_OTGSC_ASVIS_MASK
  34421. #define USBHS_OTGSC_ASVIS_SHIFT USB_OTGSC_ASVIS_SHIFT
  34422. #define USBHS_OTGSC_ASVIS(x) USB_OTGSC_ASVIS(x)
  34423. #define USBHS_OTGSC_BSVIS_MASK USB_OTGSC_BSVIS_MASK
  34424. #define USBHS_OTGSC_BSVIS_SHIFT USB_OTGSC_BSVIS_SHIFT
  34425. #define USBHS_OTGSC_BSVIS(x) USB_OTGSC_BSVIS(x)
  34426. #define USBHS_OTGSC_BSEIS_MASK USB_OTGSC_BSEIS_MASK
  34427. #define USBHS_OTGSC_BSEIS_SHIFT USB_OTGSC_BSEIS_SHIFT
  34428. #define USBHS_OTGSC_BSEIS(x) USB_OTGSC_BSEIS(x)
  34429. #define USBHS_OTGSC_MSS_MASK USB_OTGSC_STATUS_1MS_MASK
  34430. #define USBHS_OTGSC_MSS_SHIFT USB_OTGSC_STATUS_1MS_SHIFT
  34431. #define USBHS_OTGSC_MSS(x) USB_OTGSC_STATUS_1MS(x)
  34432. #define USBHS_OTGSC_DPIS_MASK USB_OTGSC_DPIS_MASK
  34433. #define USBHS_OTGSC_DPIS_SHIFT USB_OTGSC_DPIS_SHIFT
  34434. #define USBHS_OTGSC_DPIS(x) USB_OTGSC_DPIS(x)
  34435. #define USBHS_OTGSC_IDIE_MASK USB_OTGSC_IDIE_MASK
  34436. #define USBHS_OTGSC_IDIE_SHIFT USB_OTGSC_IDIE_SHIFT
  34437. #define USBHS_OTGSC_IDIE(x) USB_OTGSC_IDIE(x)
  34438. #define USBHS_OTGSC_AVVIE_MASK USB_OTGSC_AVVIE_MASK
  34439. #define USBHS_OTGSC_AVVIE_SHIFT USB_OTGSC_AVVIE_SHIFT
  34440. #define USBHS_OTGSC_AVVIE(x) USB_OTGSC_AVVIE(x)
  34441. #define USBHS_OTGSC_ASVIE_MASK USB_OTGSC_ASVIE_MASK
  34442. #define USBHS_OTGSC_ASVIE_SHIFT USB_OTGSC_ASVIE_SHIFT
  34443. #define USBHS_OTGSC_ASVIE(x) USB_OTGSC_ASVIE(x)
  34444. #define USBHS_OTGSC_BSVIE_MASK USB_OTGSC_BSVIE_MASK
  34445. #define USBHS_OTGSC_BSVIE_SHIFT USB_OTGSC_BSVIE_SHIFT
  34446. #define USBHS_OTGSC_BSVIE(x) USB_OTGSC_BSVIE(x)
  34447. #define USBHS_OTGSC_BSEIE_MASK USB_OTGSC_BSEIE_MASK
  34448. #define USBHS_OTGSC_BSEIE_SHIFT USB_OTGSC_BSEIE_SHIFT
  34449. #define USBHS_OTGSC_BSEIE(x) USB_OTGSC_BSEIE(x)
  34450. #define USBHS_OTGSC_MSE_MASK USB_OTGSC_EN_1MS_MASK
  34451. #define USBHS_OTGSC_MSE_SHIFT USB_OTGSC_EN_1MS_SHIFT
  34452. #define USBHS_OTGSC_MSE(x) USB_OTGSC_EN_1MS(x)
  34453. #define USBHS_OTGSC_DPIE_MASK USB_OTGSC_DPIE_MASK
  34454. #define USBHS_OTGSC_DPIE_SHIFT USB_OTGSC_DPIE_SHIFT
  34455. #define USBHS_OTGSC_DPIE(x) USB_OTGSC_DPIE(x)
  34456. #define USBHS_USBMODE_CM_MASK USB_USBMODE_CM_MASK
  34457. #define USBHS_USBMODE_CM_SHIFT USB_USBMODE_CM_SHIFT
  34458. #define USBHS_USBMODE_CM(x) USB_USBMODE_CM(x)
  34459. #define USBHS_USBMODE_ES_MASK USB_USBMODE_ES_MASK
  34460. #define USBHS_USBMODE_ES_SHIFT USB_USBMODE_ES_SHIFT
  34461. #define USBHS_USBMODE_ES(x) USB_USBMODE_ES(x)
  34462. #define USBHS_USBMODE_SLOM_MASK USB_USBMODE_SLOM_MASK
  34463. #define USBHS_USBMODE_SLOM_SHIFT USB_USBMODE_SLOM_SHIFT
  34464. #define USBHS_USBMODE_SLOM(x) USB_USBMODE_SLOM(x)
  34465. #define USBHS_USBMODE_SDIS_MASK USB_USBMODE_SDIS_MASK
  34466. #define USBHS_USBMODE_SDIS_SHIFT USB_USBMODE_SDIS_SHIFT
  34467. #define USBHS_USBMODE_SDIS(x) USB_USBMODE_SDIS(x)
  34468. #define USBHS_EPSETUPSR_EPSETUPSTAT_MASK USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_MASK
  34469. #define USBHS_EPSETUPSR_EPSETUPSTAT_SHIFT USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_SHIFT
  34470. #define USBHS_EPSETUPSR_EPSETUPSTAT(x) USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT(x)
  34471. #define USBHS_EPPRIME_PERB_MASK USB_ENDPTPRIME_PERB_MASK
  34472. #define USBHS_EPPRIME_PERB_SHIFT USB_ENDPTPRIME_PERB_SHIFT
  34473. #define USBHS_EPPRIME_PERB(x) USB_ENDPTPRIME_PERB(x)
  34474. #define USBHS_EPPRIME_PETB_MASK USB_ENDPTPRIME_PETB_MASK
  34475. #define USBHS_EPPRIME_PETB_SHIFT USB_ENDPTPRIME_PETB_SHIFT
  34476. #define USBHS_EPPRIME_PETB(x) USB_ENDPTPRIME_PETB(x)
  34477. #define USBHS_EPFLUSH_FERB_MASK USB_ENDPTFLUSH_FERB_MASK
  34478. #define USBHS_EPFLUSH_FERB_SHIFT USB_ENDPTFLUSH_FERB_SHIFT
  34479. #define USBHS_EPFLUSH_FERB(x) USB_ENDPTFLUSH_FERB(x)
  34480. #define USBHS_EPFLUSH_FETB_MASK USB_ENDPTFLUSH_FETB_MASK
  34481. #define USBHS_EPFLUSH_FETB_SHIFT USB_ENDPTFLUSH_FETB_SHIFT
  34482. #define USBHS_EPFLUSH_FETB(x) USB_ENDPTFLUSH_FETB(x)
  34483. #define USBHS_EPSR_ERBR_MASK USB_ENDPTSTAT_ERBR_MASK
  34484. #define USBHS_EPSR_ERBR_SHIFT USB_ENDPTSTAT_ERBR_SHIFT
  34485. #define USBHS_EPSR_ERBR(x) USB_ENDPTSTAT_ERBR(x)
  34486. #define USBHS_EPSR_ETBR_MASK USB_ENDPTSTAT_ETBR_MASK
  34487. #define USBHS_EPSR_ETBR_SHIFT USB_ENDPTSTAT_ETBR_SHIFT
  34488. #define USBHS_EPSR_ETBR(x) USB_ENDPTSTAT_ETBR(x)
  34489. #define USBHS_EPCOMPLETE_ERCE_MASK USB_ENDPTCOMPLETE_ERCE_MASK
  34490. #define USBHS_EPCOMPLETE_ERCE_SHIFT USB_ENDPTCOMPLETE_ERCE_SHIFT
  34491. #define USBHS_EPCOMPLETE_ERCE(x) USB_ENDPTCOMPLETE_ERCE(x)
  34492. #define USBHS_EPCOMPLETE_ETCE_MASK USB_ENDPTCOMPLETE_ETCE_MASK
  34493. #define USBHS_EPCOMPLETE_ETCE_SHIFT USB_ENDPTCOMPLETE_ETCE_SHIFT
  34494. #define USBHS_EPCOMPLETE_ETCE(x) USB_ENDPTCOMPLETE_ETCE(x)
  34495. #define USBHS_EPCR0_RXS_MASK USB_ENDPTCTRL0_RXS_MASK
  34496. #define USBHS_EPCR0_RXS_SHIFT USB_ENDPTCTRL0_RXS_SHIFT
  34497. #define USBHS_EPCR0_RXS(x) USB_ENDPTCTRL0_RXS(x)
  34498. #define USBHS_EPCR0_RXT_MASK USB_ENDPTCTRL0_RXT_MASK
  34499. #define USBHS_EPCR0_RXT_SHIFT USB_ENDPTCTRL0_RXT_SHIFT
  34500. #define USBHS_EPCR0_RXT(x) USB_ENDPTCTRL0_RXT(x)
  34501. #define USBHS_EPCR0_RXE_MASK USB_ENDPTCTRL0_RXE_MASK
  34502. #define USBHS_EPCR0_RXE_SHIFT USB_ENDPTCTRL0_RXE_SHIFT
  34503. #define USBHS_EPCR0_RXE(x) USB_ENDPTCTRL0_RXE(x)
  34504. #define USBHS_EPCR0_TXS_MASK USB_ENDPTCTRL0_TXS_MASK
  34505. #define USBHS_EPCR0_TXS_SHIFT USB_ENDPTCTRL0_TXS_SHIFT
  34506. #define USBHS_EPCR0_TXS(x) USB_ENDPTCTRL0_TXS(x)
  34507. #define USBHS_EPCR0_TXT_MASK USB_ENDPTCTRL0_TXT_MASK
  34508. #define USBHS_EPCR0_TXT_SHIFT USB_ENDPTCTRL0_TXT_SHIFT
  34509. #define USBHS_EPCR0_TXT(x) USB_ENDPTCTRL0_TXT(x)
  34510. #define USBHS_EPCR0_TXE_MASK USB_ENDPTCTRL0_TXE_MASK
  34511. #define USBHS_EPCR0_TXE_SHIFT USB_ENDPTCTRL0_TXE_SHIFT
  34512. #define USBHS_EPCR0_TXE(x) USB_ENDPTCTRL0_TXE(x)
  34513. #define USBHS_EPCR_RXS_MASK USB_ENDPTCTRL_RXS_MASK
  34514. #define USBHS_EPCR_RXS_SHIFT USB_ENDPTCTRL_RXS_SHIFT
  34515. #define USBHS_EPCR_RXS(x) USB_ENDPTCTRL_RXS(x)
  34516. #define USBHS_EPCR_RXD_MASK USB_ENDPTCTRL_RXD_MASK
  34517. #define USBHS_EPCR_RXD_SHIFT USB_ENDPTCTRL_RXD_SHIFT
  34518. #define USBHS_EPCR_RXD(x) USB_ENDPTCTRL_RXD(x)
  34519. #define USBHS_EPCR_RXT_MASK USB_ENDPTCTRL_RXT_MASK
  34520. #define USBHS_EPCR_RXT_SHIFT USB_ENDPTCTRL_RXT_SHIFT
  34521. #define USBHS_EPCR_RXT(x) USB_ENDPTCTRL_RXT(x)
  34522. #define USBHS_EPCR_RXI_MASK USB_ENDPTCTRL_RXI_MASK
  34523. #define USBHS_EPCR_RXI_SHIFT USB_ENDPTCTRL_RXI_SHIFT
  34524. #define USBHS_EPCR_RXI(x) USB_ENDPTCTRL_RXI(x)
  34525. #define USBHS_EPCR_RXR_MASK USB_ENDPTCTRL_RXR_MASK
  34526. #define USBHS_EPCR_RXR_SHIFT USB_ENDPTCTRL_RXR_SHIFT
  34527. #define USBHS_EPCR_RXR(x) USB_ENDPTCTRL_RXR(x)
  34528. #define USBHS_EPCR_RXE_MASK USB_ENDPTCTRL_RXE_MASK
  34529. #define USBHS_EPCR_RXE_SHIFT USB_ENDPTCTRL_RXE_SHIFT
  34530. #define USBHS_EPCR_RXE(x) USB_ENDPTCTRL_RXE(x)
  34531. #define USBHS_EPCR_TXS_MASK USB_ENDPTCTRL_TXS_MASK
  34532. #define USBHS_EPCR_TXS_SHIFT USB_ENDPTCTRL_TXS_SHIFT
  34533. #define USBHS_EPCR_TXS(x) USB_ENDPTCTRL_TXS(x)
  34534. #define USBHS_EPCR_TXD_MASK USB_ENDPTCTRL_TXD_MASK
  34535. #define USBHS_EPCR_TXD_SHIFT USB_ENDPTCTRL_TXD_SHIFT
  34536. #define USBHS_EPCR_TXD(x) USB_ENDPTCTRL_TXD(x)
  34537. #define USBHS_EPCR_TXT_MASK USB_ENDPTCTRL_TXT_MASK
  34538. #define USBHS_EPCR_TXT_SHIFT USB_ENDPTCTRL_TXT_SHIFT
  34539. #define USBHS_EPCR_TXT(x) USB_ENDPTCTRL_TXT(x)
  34540. #define USBHS_EPCR_TXI_MASK USB_ENDPTCTRL_TXI_MASK
  34541. #define USBHS_EPCR_TXI_SHIFT USB_ENDPTCTRL_TXI_SHIFT
  34542. #define USBHS_EPCR_TXI(x) USB_ENDPTCTRL_TXI(x)
  34543. #define USBHS_EPCR_TXR_MASK USB_ENDPTCTRL_TXR_MASK
  34544. #define USBHS_EPCR_TXR_SHIFT USB_ENDPTCTRL_TXR_SHIFT
  34545. #define USBHS_EPCR_TXR(x) USB_ENDPTCTRL_TXR(x)
  34546. #define USBHS_EPCR_TXE_MASK USB_ENDPTCTRL_TXE_MASK
  34547. #define USBHS_EPCR_TXE_SHIFT USB_ENDPTCTRL_TXE_SHIFT
  34548. #define USBHS_EPCR_TXE(x) USB_ENDPTCTRL_TXE(x)
  34549. #define USBHS_EPCR_COUNT USB_ENDPTCTRL_COUNT
  34550. #define USBHS_Type USB_Type
  34551. #define USBHS_BASE_ADDRS { USB_BASE }
  34552. #define USBHS_IRQS { USB_OTG1_IRQn }
  34553. #define USBHS_IRQHandler USB_OTG1_IRQHandler
  34554. /*!
  34555. * @}
  34556. */ /* end of group USB_Peripheral_Access_Layer */
  34557. /* ----------------------------------------------------------------------------
  34558. -- USBNC Peripheral Access Layer
  34559. ---------------------------------------------------------------------------- */
  34560. /*!
  34561. * @addtogroup USBNC_Peripheral_Access_Layer USBNC Peripheral Access Layer
  34562. * @{
  34563. */
  34564. /** USBNC - Register Layout Typedef */
  34565. typedef struct {
  34566. uint8_t RESERVED_0[2048];
  34567. __IO uint32_t USB_OTGn_CTRL; /**< USB OTG1 Control Register, offset: 0x800 */
  34568. uint8_t RESERVED_1[20];
  34569. __IO uint32_t USB_OTGn_PHY_CTRL_0; /**< OTG1 UTMI PHY Control 0 Register, offset: 0x818 */
  34570. } USBNC_Type;
  34571. /* ----------------------------------------------------------------------------
  34572. -- USBNC Register Masks
  34573. ---------------------------------------------------------------------------- */
  34574. /*!
  34575. * @addtogroup USBNC_Register_Masks USBNC Register Masks
  34576. * @{
  34577. */
  34578. /*! @name USB_OTGn_CTRL - USB OTG1 Control Register */
  34579. /*! @{ */
  34580. #define USBNC_USB_OTGn_CTRL_OVER_CUR_DIS_MASK (0x80U)
  34581. #define USBNC_USB_OTGn_CTRL_OVER_CUR_DIS_SHIFT (7U)
  34582. /*! OVER_CUR_DIS
  34583. * 0b1..Disables overcurrent detection
  34584. * 0b0..Enables overcurrent detection
  34585. */
  34586. #define USBNC_USB_OTGn_CTRL_OVER_CUR_DIS(x) (((uint32_t)(((uint32_t)(x)) << USBNC_USB_OTGn_CTRL_OVER_CUR_DIS_SHIFT)) & USBNC_USB_OTGn_CTRL_OVER_CUR_DIS_MASK)
  34587. #define USBNC_USB_OTGn_CTRL_OVER_CUR_POL_MASK (0x100U)
  34588. #define USBNC_USB_OTGn_CTRL_OVER_CUR_POL_SHIFT (8U)
  34589. /*! OVER_CUR_POL
  34590. * 0b1..Low active (low on this signal represents an overcurrent condition)
  34591. * 0b0..High active (high on this signal represents an overcurrent condition)
  34592. */
  34593. #define USBNC_USB_OTGn_CTRL_OVER_CUR_POL(x) (((uint32_t)(((uint32_t)(x)) << USBNC_USB_OTGn_CTRL_OVER_CUR_POL_SHIFT)) & USBNC_USB_OTGn_CTRL_OVER_CUR_POL_MASK)
  34594. #define USBNC_USB_OTGn_CTRL_PWR_POL_MASK (0x200U)
  34595. #define USBNC_USB_OTGn_CTRL_PWR_POL_SHIFT (9U)
  34596. /*! PWR_POL
  34597. * 0b1..PMIC Power Pin is High active.
  34598. * 0b0..PMIC Power Pin is Low active.
  34599. */
  34600. #define USBNC_USB_OTGn_CTRL_PWR_POL(x) (((uint32_t)(((uint32_t)(x)) << USBNC_USB_OTGn_CTRL_PWR_POL_SHIFT)) & USBNC_USB_OTGn_CTRL_PWR_POL_MASK)
  34601. #define USBNC_USB_OTGn_CTRL_WIE_MASK (0x400U)
  34602. #define USBNC_USB_OTGn_CTRL_WIE_SHIFT (10U)
  34603. /*! WIE
  34604. * 0b1..Interrupt Enabled
  34605. * 0b0..Interrupt Disabled
  34606. */
  34607. #define USBNC_USB_OTGn_CTRL_WIE(x) (((uint32_t)(((uint32_t)(x)) << USBNC_USB_OTGn_CTRL_WIE_SHIFT)) & USBNC_USB_OTGn_CTRL_WIE_MASK)
  34608. #define USBNC_USB_OTGn_CTRL_WKUP_SW_EN_MASK (0x4000U)
  34609. #define USBNC_USB_OTGn_CTRL_WKUP_SW_EN_SHIFT (14U)
  34610. /*! WKUP_SW_EN
  34611. * 0b1..Enable
  34612. * 0b0..Disable
  34613. */
  34614. #define USBNC_USB_OTGn_CTRL_WKUP_SW_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_USB_OTGn_CTRL_WKUP_SW_EN_SHIFT)) & USBNC_USB_OTGn_CTRL_WKUP_SW_EN_MASK)
  34615. #define USBNC_USB_OTGn_CTRL_WKUP_SW_MASK (0x8000U)
  34616. #define USBNC_USB_OTGn_CTRL_WKUP_SW_SHIFT (15U)
  34617. /*! WKUP_SW
  34618. * 0b1..Force wake-up
  34619. * 0b0..Inactive
  34620. */
  34621. #define USBNC_USB_OTGn_CTRL_WKUP_SW(x) (((uint32_t)(((uint32_t)(x)) << USBNC_USB_OTGn_CTRL_WKUP_SW_SHIFT)) & USBNC_USB_OTGn_CTRL_WKUP_SW_MASK)
  34622. #define USBNC_USB_OTGn_CTRL_WKUP_ID_EN_MASK (0x10000U)
  34623. #define USBNC_USB_OTGn_CTRL_WKUP_ID_EN_SHIFT (16U)
  34624. /*! WKUP_ID_EN
  34625. * 0b1..Enable
  34626. * 0b0..Disable
  34627. */
  34628. #define USBNC_USB_OTGn_CTRL_WKUP_ID_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_USB_OTGn_CTRL_WKUP_ID_EN_SHIFT)) & USBNC_USB_OTGn_CTRL_WKUP_ID_EN_MASK)
  34629. #define USBNC_USB_OTGn_CTRL_WKUP_VBUS_EN_MASK (0x20000U)
  34630. #define USBNC_USB_OTGn_CTRL_WKUP_VBUS_EN_SHIFT (17U)
  34631. /*! WKUP_VBUS_EN
  34632. * 0b1..Enable
  34633. * 0b0..Disable
  34634. */
  34635. #define USBNC_USB_OTGn_CTRL_WKUP_VBUS_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_USB_OTGn_CTRL_WKUP_VBUS_EN_SHIFT)) & USBNC_USB_OTGn_CTRL_WKUP_VBUS_EN_MASK)
  34636. #define USBNC_USB_OTGn_CTRL_WKUP_DPDM_EN_MASK (0x20000000U)
  34637. #define USBNC_USB_OTGn_CTRL_WKUP_DPDM_EN_SHIFT (29U)
  34638. /*! WKUP_DPDM_EN
  34639. * 0b1..(Default) DPDM changes wake-up to be enabled, it is for device only.
  34640. * 0b0..DPDM changes wake-up to be disabled only when VBUS is 0.
  34641. */
  34642. #define USBNC_USB_OTGn_CTRL_WKUP_DPDM_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_USB_OTGn_CTRL_WKUP_DPDM_EN_SHIFT)) & USBNC_USB_OTGn_CTRL_WKUP_DPDM_EN_MASK)
  34643. #define USBNC_USB_OTGn_CTRL_WIR_MASK (0x80000000U)
  34644. #define USBNC_USB_OTGn_CTRL_WIR_SHIFT (31U)
  34645. /*! WIR
  34646. * 0b1..Wake-up Interrupt Request received
  34647. * 0b0..No wake-up interrupt request received
  34648. */
  34649. #define USBNC_USB_OTGn_CTRL_WIR(x) (((uint32_t)(((uint32_t)(x)) << USBNC_USB_OTGn_CTRL_WIR_SHIFT)) & USBNC_USB_OTGn_CTRL_WIR_MASK)
  34650. /*! @} */
  34651. /*! @name USB_OTGn_PHY_CTRL_0 - OTG1 UTMI PHY Control 0 Register */
  34652. /*! @{ */
  34653. #define USBNC_USB_OTGn_PHY_CTRL_0_UTMI_CLK_VLD_MASK (0x80000000U)
  34654. #define USBNC_USB_OTGn_PHY_CTRL_0_UTMI_CLK_VLD_SHIFT (31U)
  34655. /*! UTMI_CLK_VLD
  34656. * 0b1..Valid
  34657. * 0b0..Invalid
  34658. */
  34659. #define USBNC_USB_OTGn_PHY_CTRL_0_UTMI_CLK_VLD(x) (((uint32_t)(((uint32_t)(x)) << USBNC_USB_OTGn_PHY_CTRL_0_UTMI_CLK_VLD_SHIFT)) & USBNC_USB_OTGn_PHY_CTRL_0_UTMI_CLK_VLD_MASK)
  34660. /*! @} */
  34661. /*!
  34662. * @}
  34663. */ /* end of group USBNC_Register_Masks */
  34664. /* USBNC - Peripheral instance base addresses */
  34665. /** Peripheral USBNC base address */
  34666. #define USBNC_BASE (0x402E0000u)
  34667. /** Peripheral USBNC base pointer */
  34668. #define USBNC ((USBNC_Type *)USBNC_BASE)
  34669. /** Array initializer of USBNC peripheral base addresses */
  34670. #define USBNC_BASE_ADDRS { 0u, USBNC_BASE }
  34671. /** Array initializer of USBNC peripheral base pointers */
  34672. #define USBNC_BASE_PTRS { (USBNC_Type *)0u, USBNC }
  34673. /*!
  34674. * @}
  34675. */ /* end of group USBNC_Peripheral_Access_Layer */
  34676. /* ----------------------------------------------------------------------------
  34677. -- USBPHY Peripheral Access Layer
  34678. ---------------------------------------------------------------------------- */
  34679. /*!
  34680. * @addtogroup USBPHY_Peripheral_Access_Layer USBPHY Peripheral Access Layer
  34681. * @{
  34682. */
  34683. /** USBPHY - Register Layout Typedef */
  34684. typedef struct {
  34685. __IO uint32_t PWD; /**< USB PHY Power-Down Register, offset: 0x0 */
  34686. __IO uint32_t PWD_SET; /**< USB PHY Power-Down Register, offset: 0x4 */
  34687. __IO uint32_t PWD_CLR; /**< USB PHY Power-Down Register, offset: 0x8 */
  34688. __IO uint32_t PWD_TOG; /**< USB PHY Power-Down Register, offset: 0xC */
  34689. __IO uint32_t TX; /**< USB PHY Transmitter Control Register, offset: 0x10 */
  34690. __IO uint32_t TX_SET; /**< USB PHY Transmitter Control Register, offset: 0x14 */
  34691. __IO uint32_t TX_CLR; /**< USB PHY Transmitter Control Register, offset: 0x18 */
  34692. __IO uint32_t TX_TOG; /**< USB PHY Transmitter Control Register, offset: 0x1C */
  34693. __IO uint32_t RX; /**< USB PHY Receiver Control Register, offset: 0x20 */
  34694. __IO uint32_t RX_SET; /**< USB PHY Receiver Control Register, offset: 0x24 */
  34695. __IO uint32_t RX_CLR; /**< USB PHY Receiver Control Register, offset: 0x28 */
  34696. __IO uint32_t RX_TOG; /**< USB PHY Receiver Control Register, offset: 0x2C */
  34697. __IO uint32_t CTRL; /**< USB PHY General Control Register, offset: 0x30 */
  34698. __IO uint32_t CTRL_SET; /**< USB PHY General Control Register, offset: 0x34 */
  34699. __IO uint32_t CTRL_CLR; /**< USB PHY General Control Register, offset: 0x38 */
  34700. __IO uint32_t CTRL_TOG; /**< USB PHY General Control Register, offset: 0x3C */
  34701. __IO uint32_t STATUS; /**< USB PHY Status Register, offset: 0x40 */
  34702. uint8_t RESERVED_0[12];
  34703. __IO uint32_t DEBUGr; /**< USB PHY Debug Register, offset: 0x50 */
  34704. __IO uint32_t DEBUG_SET; /**< USB PHY Debug Register, offset: 0x54 */
  34705. __IO uint32_t DEBUG_CLR; /**< USB PHY Debug Register, offset: 0x58 */
  34706. __IO uint32_t DEBUG_TOG; /**< USB PHY Debug Register, offset: 0x5C */
  34707. __I uint32_t DEBUG0_STATUS; /**< UTMI Debug Status Register 0, offset: 0x60 */
  34708. uint8_t RESERVED_1[12];
  34709. __IO uint32_t DEBUG1; /**< UTMI Debug Status Register 1, offset: 0x70 */
  34710. __IO uint32_t DEBUG1_SET; /**< UTMI Debug Status Register 1, offset: 0x74 */
  34711. __IO uint32_t DEBUG1_CLR; /**< UTMI Debug Status Register 1, offset: 0x78 */
  34712. __IO uint32_t DEBUG1_TOG; /**< UTMI Debug Status Register 1, offset: 0x7C */
  34713. __I uint32_t VERSION; /**< UTMI RTL Version, offset: 0x80 */
  34714. } USBPHY_Type;
  34715. /* ----------------------------------------------------------------------------
  34716. -- USBPHY Register Masks
  34717. ---------------------------------------------------------------------------- */
  34718. /*!
  34719. * @addtogroup USBPHY_Register_Masks USBPHY Register Masks
  34720. * @{
  34721. */
  34722. /*! @name PWD - USB PHY Power-Down Register */
  34723. /*! @{ */
  34724. #define USBPHY_PWD_RSVD0_MASK (0x3FFU)
  34725. #define USBPHY_PWD_RSVD0_SHIFT (0U)
  34726. #define USBPHY_PWD_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RSVD0_SHIFT)) & USBPHY_PWD_RSVD0_MASK)
  34727. #define USBPHY_PWD_TXPWDFS_MASK (0x400U)
  34728. #define USBPHY_PWD_TXPWDFS_SHIFT (10U)
  34729. #define USBPHY_PWD_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TXPWDFS_SHIFT)) & USBPHY_PWD_TXPWDFS_MASK)
  34730. #define USBPHY_PWD_TXPWDIBIAS_MASK (0x800U)
  34731. #define USBPHY_PWD_TXPWDIBIAS_SHIFT (11U)
  34732. #define USBPHY_PWD_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_TXPWDIBIAS_MASK)
  34733. #define USBPHY_PWD_TXPWDV2I_MASK (0x1000U)
  34734. #define USBPHY_PWD_TXPWDV2I_SHIFT (12U)
  34735. #define USBPHY_PWD_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TXPWDV2I_SHIFT)) & USBPHY_PWD_TXPWDV2I_MASK)
  34736. #define USBPHY_PWD_RSVD1_MASK (0x1E000U)
  34737. #define USBPHY_PWD_RSVD1_SHIFT (13U)
  34738. #define USBPHY_PWD_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RSVD1_SHIFT)) & USBPHY_PWD_RSVD1_MASK)
  34739. #define USBPHY_PWD_RXPWDENV_MASK (0x20000U)
  34740. #define USBPHY_PWD_RXPWDENV_SHIFT (17U)
  34741. #define USBPHY_PWD_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWDENV_SHIFT)) & USBPHY_PWD_RXPWDENV_MASK)
  34742. #define USBPHY_PWD_RXPWD1PT1_MASK (0x40000U)
  34743. #define USBPHY_PWD_RXPWD1PT1_SHIFT (18U)
  34744. #define USBPHY_PWD_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWD1PT1_SHIFT)) & USBPHY_PWD_RXPWD1PT1_MASK)
  34745. #define USBPHY_PWD_RXPWDDIFF_MASK (0x80000U)
  34746. #define USBPHY_PWD_RXPWDDIFF_SHIFT (19U)
  34747. #define USBPHY_PWD_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWDDIFF_SHIFT)) & USBPHY_PWD_RXPWDDIFF_MASK)
  34748. #define USBPHY_PWD_RXPWDRX_MASK (0x100000U)
  34749. #define USBPHY_PWD_RXPWDRX_SHIFT (20U)
  34750. #define USBPHY_PWD_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWDRX_SHIFT)) & USBPHY_PWD_RXPWDRX_MASK)
  34751. #define USBPHY_PWD_RSVD2_MASK (0xFFE00000U)
  34752. #define USBPHY_PWD_RSVD2_SHIFT (21U)
  34753. #define USBPHY_PWD_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RSVD2_SHIFT)) & USBPHY_PWD_RSVD2_MASK)
  34754. /*! @} */
  34755. /*! @name PWD_SET - USB PHY Power-Down Register */
  34756. /*! @{ */
  34757. #define USBPHY_PWD_SET_RSVD0_MASK (0x3FFU)
  34758. #define USBPHY_PWD_SET_RSVD0_SHIFT (0U)
  34759. #define USBPHY_PWD_SET_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RSVD0_SHIFT)) & USBPHY_PWD_SET_RSVD0_MASK)
  34760. #define USBPHY_PWD_SET_TXPWDFS_MASK (0x400U)
  34761. #define USBPHY_PWD_SET_TXPWDFS_SHIFT (10U)
  34762. #define USBPHY_PWD_SET_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_TXPWDFS_SHIFT)) & USBPHY_PWD_SET_TXPWDFS_MASK)
  34763. #define USBPHY_PWD_SET_TXPWDIBIAS_MASK (0x800U)
  34764. #define USBPHY_PWD_SET_TXPWDIBIAS_SHIFT (11U)
  34765. #define USBPHY_PWD_SET_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_SET_TXPWDIBIAS_MASK)
  34766. #define USBPHY_PWD_SET_TXPWDV2I_MASK (0x1000U)
  34767. #define USBPHY_PWD_SET_TXPWDV2I_SHIFT (12U)
  34768. #define USBPHY_PWD_SET_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_TXPWDV2I_SHIFT)) & USBPHY_PWD_SET_TXPWDV2I_MASK)
  34769. #define USBPHY_PWD_SET_RSVD1_MASK (0x1E000U)
  34770. #define USBPHY_PWD_SET_RSVD1_SHIFT (13U)
  34771. #define USBPHY_PWD_SET_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RSVD1_SHIFT)) & USBPHY_PWD_SET_RSVD1_MASK)
  34772. #define USBPHY_PWD_SET_RXPWDENV_MASK (0x20000U)
  34773. #define USBPHY_PWD_SET_RXPWDENV_SHIFT (17U)
  34774. #define USBPHY_PWD_SET_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWDENV_SHIFT)) & USBPHY_PWD_SET_RXPWDENV_MASK)
  34775. #define USBPHY_PWD_SET_RXPWD1PT1_MASK (0x40000U)
  34776. #define USBPHY_PWD_SET_RXPWD1PT1_SHIFT (18U)
  34777. #define USBPHY_PWD_SET_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWD1PT1_SHIFT)) & USBPHY_PWD_SET_RXPWD1PT1_MASK)
  34778. #define USBPHY_PWD_SET_RXPWDDIFF_MASK (0x80000U)
  34779. #define USBPHY_PWD_SET_RXPWDDIFF_SHIFT (19U)
  34780. #define USBPHY_PWD_SET_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWDDIFF_SHIFT)) & USBPHY_PWD_SET_RXPWDDIFF_MASK)
  34781. #define USBPHY_PWD_SET_RXPWDRX_MASK (0x100000U)
  34782. #define USBPHY_PWD_SET_RXPWDRX_SHIFT (20U)
  34783. #define USBPHY_PWD_SET_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWDRX_SHIFT)) & USBPHY_PWD_SET_RXPWDRX_MASK)
  34784. #define USBPHY_PWD_SET_RSVD2_MASK (0xFFE00000U)
  34785. #define USBPHY_PWD_SET_RSVD2_SHIFT (21U)
  34786. #define USBPHY_PWD_SET_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RSVD2_SHIFT)) & USBPHY_PWD_SET_RSVD2_MASK)
  34787. /*! @} */
  34788. /*! @name PWD_CLR - USB PHY Power-Down Register */
  34789. /*! @{ */
  34790. #define USBPHY_PWD_CLR_RSVD0_MASK (0x3FFU)
  34791. #define USBPHY_PWD_CLR_RSVD0_SHIFT (0U)
  34792. #define USBPHY_PWD_CLR_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RSVD0_SHIFT)) & USBPHY_PWD_CLR_RSVD0_MASK)
  34793. #define USBPHY_PWD_CLR_TXPWDFS_MASK (0x400U)
  34794. #define USBPHY_PWD_CLR_TXPWDFS_SHIFT (10U)
  34795. #define USBPHY_PWD_CLR_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_TXPWDFS_SHIFT)) & USBPHY_PWD_CLR_TXPWDFS_MASK)
  34796. #define USBPHY_PWD_CLR_TXPWDIBIAS_MASK (0x800U)
  34797. #define USBPHY_PWD_CLR_TXPWDIBIAS_SHIFT (11U)
  34798. #define USBPHY_PWD_CLR_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_CLR_TXPWDIBIAS_MASK)
  34799. #define USBPHY_PWD_CLR_TXPWDV2I_MASK (0x1000U)
  34800. #define USBPHY_PWD_CLR_TXPWDV2I_SHIFT (12U)
  34801. #define USBPHY_PWD_CLR_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_TXPWDV2I_SHIFT)) & USBPHY_PWD_CLR_TXPWDV2I_MASK)
  34802. #define USBPHY_PWD_CLR_RSVD1_MASK (0x1E000U)
  34803. #define USBPHY_PWD_CLR_RSVD1_SHIFT (13U)
  34804. #define USBPHY_PWD_CLR_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RSVD1_SHIFT)) & USBPHY_PWD_CLR_RSVD1_MASK)
  34805. #define USBPHY_PWD_CLR_RXPWDENV_MASK (0x20000U)
  34806. #define USBPHY_PWD_CLR_RXPWDENV_SHIFT (17U)
  34807. #define USBPHY_PWD_CLR_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWDENV_SHIFT)) & USBPHY_PWD_CLR_RXPWDENV_MASK)
  34808. #define USBPHY_PWD_CLR_RXPWD1PT1_MASK (0x40000U)
  34809. #define USBPHY_PWD_CLR_RXPWD1PT1_SHIFT (18U)
  34810. #define USBPHY_PWD_CLR_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWD1PT1_SHIFT)) & USBPHY_PWD_CLR_RXPWD1PT1_MASK)
  34811. #define USBPHY_PWD_CLR_RXPWDDIFF_MASK (0x80000U)
  34812. #define USBPHY_PWD_CLR_RXPWDDIFF_SHIFT (19U)
  34813. #define USBPHY_PWD_CLR_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWDDIFF_SHIFT)) & USBPHY_PWD_CLR_RXPWDDIFF_MASK)
  34814. #define USBPHY_PWD_CLR_RXPWDRX_MASK (0x100000U)
  34815. #define USBPHY_PWD_CLR_RXPWDRX_SHIFT (20U)
  34816. #define USBPHY_PWD_CLR_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWDRX_SHIFT)) & USBPHY_PWD_CLR_RXPWDRX_MASK)
  34817. #define USBPHY_PWD_CLR_RSVD2_MASK (0xFFE00000U)
  34818. #define USBPHY_PWD_CLR_RSVD2_SHIFT (21U)
  34819. #define USBPHY_PWD_CLR_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RSVD2_SHIFT)) & USBPHY_PWD_CLR_RSVD2_MASK)
  34820. /*! @} */
  34821. /*! @name PWD_TOG - USB PHY Power-Down Register */
  34822. /*! @{ */
  34823. #define USBPHY_PWD_TOG_RSVD0_MASK (0x3FFU)
  34824. #define USBPHY_PWD_TOG_RSVD0_SHIFT (0U)
  34825. #define USBPHY_PWD_TOG_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RSVD0_SHIFT)) & USBPHY_PWD_TOG_RSVD0_MASK)
  34826. #define USBPHY_PWD_TOG_TXPWDFS_MASK (0x400U)
  34827. #define USBPHY_PWD_TOG_TXPWDFS_SHIFT (10U)
  34828. #define USBPHY_PWD_TOG_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_TXPWDFS_SHIFT)) & USBPHY_PWD_TOG_TXPWDFS_MASK)
  34829. #define USBPHY_PWD_TOG_TXPWDIBIAS_MASK (0x800U)
  34830. #define USBPHY_PWD_TOG_TXPWDIBIAS_SHIFT (11U)
  34831. #define USBPHY_PWD_TOG_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_TOG_TXPWDIBIAS_MASK)
  34832. #define USBPHY_PWD_TOG_TXPWDV2I_MASK (0x1000U)
  34833. #define USBPHY_PWD_TOG_TXPWDV2I_SHIFT (12U)
  34834. #define USBPHY_PWD_TOG_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_TXPWDV2I_SHIFT)) & USBPHY_PWD_TOG_TXPWDV2I_MASK)
  34835. #define USBPHY_PWD_TOG_RSVD1_MASK (0x1E000U)
  34836. #define USBPHY_PWD_TOG_RSVD1_SHIFT (13U)
  34837. #define USBPHY_PWD_TOG_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RSVD1_SHIFT)) & USBPHY_PWD_TOG_RSVD1_MASK)
  34838. #define USBPHY_PWD_TOG_RXPWDENV_MASK (0x20000U)
  34839. #define USBPHY_PWD_TOG_RXPWDENV_SHIFT (17U)
  34840. #define USBPHY_PWD_TOG_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWDENV_SHIFT)) & USBPHY_PWD_TOG_RXPWDENV_MASK)
  34841. #define USBPHY_PWD_TOG_RXPWD1PT1_MASK (0x40000U)
  34842. #define USBPHY_PWD_TOG_RXPWD1PT1_SHIFT (18U)
  34843. #define USBPHY_PWD_TOG_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWD1PT1_SHIFT)) & USBPHY_PWD_TOG_RXPWD1PT1_MASK)
  34844. #define USBPHY_PWD_TOG_RXPWDDIFF_MASK (0x80000U)
  34845. #define USBPHY_PWD_TOG_RXPWDDIFF_SHIFT (19U)
  34846. #define USBPHY_PWD_TOG_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWDDIFF_SHIFT)) & USBPHY_PWD_TOG_RXPWDDIFF_MASK)
  34847. #define USBPHY_PWD_TOG_RXPWDRX_MASK (0x100000U)
  34848. #define USBPHY_PWD_TOG_RXPWDRX_SHIFT (20U)
  34849. #define USBPHY_PWD_TOG_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWDRX_SHIFT)) & USBPHY_PWD_TOG_RXPWDRX_MASK)
  34850. #define USBPHY_PWD_TOG_RSVD2_MASK (0xFFE00000U)
  34851. #define USBPHY_PWD_TOG_RSVD2_SHIFT (21U)
  34852. #define USBPHY_PWD_TOG_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RSVD2_SHIFT)) & USBPHY_PWD_TOG_RSVD2_MASK)
  34853. /*! @} */
  34854. /*! @name TX - USB PHY Transmitter Control Register */
  34855. /*! @{ */
  34856. #define USBPHY_TX_D_CAL_MASK (0xFU)
  34857. #define USBPHY_TX_D_CAL_SHIFT (0U)
  34858. #define USBPHY_TX_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_D_CAL_SHIFT)) & USBPHY_TX_D_CAL_MASK)
  34859. #define USBPHY_TX_RSVD0_MASK (0xF0U)
  34860. #define USBPHY_TX_RSVD0_SHIFT (4U)
  34861. #define USBPHY_TX_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_RSVD0_SHIFT)) & USBPHY_TX_RSVD0_MASK)
  34862. #define USBPHY_TX_TXCAL45DN_MASK (0xF00U)
  34863. #define USBPHY_TX_TXCAL45DN_SHIFT (8U)
  34864. #define USBPHY_TX_TXCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TXCAL45DN_SHIFT)) & USBPHY_TX_TXCAL45DN_MASK)
  34865. #define USBPHY_TX_RSVD1_MASK (0xF000U)
  34866. #define USBPHY_TX_RSVD1_SHIFT (12U)
  34867. #define USBPHY_TX_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_RSVD1_SHIFT)) & USBPHY_TX_RSVD1_MASK)
  34868. #define USBPHY_TX_TXCAL45DP_MASK (0xF0000U)
  34869. #define USBPHY_TX_TXCAL45DP_SHIFT (16U)
  34870. #define USBPHY_TX_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TXCAL45DP_SHIFT)) & USBPHY_TX_TXCAL45DP_MASK)
  34871. #define USBPHY_TX_RSVD2_MASK (0x3F00000U)
  34872. #define USBPHY_TX_RSVD2_SHIFT (20U)
  34873. #define USBPHY_TX_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_RSVD2_SHIFT)) & USBPHY_TX_RSVD2_MASK)
  34874. #define USBPHY_TX_USBPHY_TX_EDGECTRL_MASK (0x1C000000U)
  34875. #define USBPHY_TX_USBPHY_TX_EDGECTRL_SHIFT (26U)
  34876. #define USBPHY_TX_USBPHY_TX_EDGECTRL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_USBPHY_TX_EDGECTRL_SHIFT)) & USBPHY_TX_USBPHY_TX_EDGECTRL_MASK)
  34877. #define USBPHY_TX_RSVD5_MASK (0xE0000000U)
  34878. #define USBPHY_TX_RSVD5_SHIFT (29U)
  34879. #define USBPHY_TX_RSVD5(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_RSVD5_SHIFT)) & USBPHY_TX_RSVD5_MASK)
  34880. /*! @} */
  34881. /*! @name TX_SET - USB PHY Transmitter Control Register */
  34882. /*! @{ */
  34883. #define USBPHY_TX_SET_D_CAL_MASK (0xFU)
  34884. #define USBPHY_TX_SET_D_CAL_SHIFT (0U)
  34885. #define USBPHY_TX_SET_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_D_CAL_SHIFT)) & USBPHY_TX_SET_D_CAL_MASK)
  34886. #define USBPHY_TX_SET_RSVD0_MASK (0xF0U)
  34887. #define USBPHY_TX_SET_RSVD0_SHIFT (4U)
  34888. #define USBPHY_TX_SET_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_RSVD0_SHIFT)) & USBPHY_TX_SET_RSVD0_MASK)
  34889. #define USBPHY_TX_SET_TXCAL45DN_MASK (0xF00U)
  34890. #define USBPHY_TX_SET_TXCAL45DN_SHIFT (8U)
  34891. #define USBPHY_TX_SET_TXCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_TXCAL45DN_SHIFT)) & USBPHY_TX_SET_TXCAL45DN_MASK)
  34892. #define USBPHY_TX_SET_RSVD1_MASK (0xF000U)
  34893. #define USBPHY_TX_SET_RSVD1_SHIFT (12U)
  34894. #define USBPHY_TX_SET_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_RSVD1_SHIFT)) & USBPHY_TX_SET_RSVD1_MASK)
  34895. #define USBPHY_TX_SET_TXCAL45DP_MASK (0xF0000U)
  34896. #define USBPHY_TX_SET_TXCAL45DP_SHIFT (16U)
  34897. #define USBPHY_TX_SET_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_TXCAL45DP_SHIFT)) & USBPHY_TX_SET_TXCAL45DP_MASK)
  34898. #define USBPHY_TX_SET_RSVD2_MASK (0x3F00000U)
  34899. #define USBPHY_TX_SET_RSVD2_SHIFT (20U)
  34900. #define USBPHY_TX_SET_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_RSVD2_SHIFT)) & USBPHY_TX_SET_RSVD2_MASK)
  34901. #define USBPHY_TX_SET_USBPHY_TX_EDGECTRL_MASK (0x1C000000U)
  34902. #define USBPHY_TX_SET_USBPHY_TX_EDGECTRL_SHIFT (26U)
  34903. #define USBPHY_TX_SET_USBPHY_TX_EDGECTRL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_USBPHY_TX_EDGECTRL_SHIFT)) & USBPHY_TX_SET_USBPHY_TX_EDGECTRL_MASK)
  34904. #define USBPHY_TX_SET_RSVD5_MASK (0xE0000000U)
  34905. #define USBPHY_TX_SET_RSVD5_SHIFT (29U)
  34906. #define USBPHY_TX_SET_RSVD5(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_RSVD5_SHIFT)) & USBPHY_TX_SET_RSVD5_MASK)
  34907. /*! @} */
  34908. /*! @name TX_CLR - USB PHY Transmitter Control Register */
  34909. /*! @{ */
  34910. #define USBPHY_TX_CLR_D_CAL_MASK (0xFU)
  34911. #define USBPHY_TX_CLR_D_CAL_SHIFT (0U)
  34912. #define USBPHY_TX_CLR_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_D_CAL_SHIFT)) & USBPHY_TX_CLR_D_CAL_MASK)
  34913. #define USBPHY_TX_CLR_RSVD0_MASK (0xF0U)
  34914. #define USBPHY_TX_CLR_RSVD0_SHIFT (4U)
  34915. #define USBPHY_TX_CLR_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_RSVD0_SHIFT)) & USBPHY_TX_CLR_RSVD0_MASK)
  34916. #define USBPHY_TX_CLR_TXCAL45DN_MASK (0xF00U)
  34917. #define USBPHY_TX_CLR_TXCAL45DN_SHIFT (8U)
  34918. #define USBPHY_TX_CLR_TXCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_TXCAL45DN_SHIFT)) & USBPHY_TX_CLR_TXCAL45DN_MASK)
  34919. #define USBPHY_TX_CLR_RSVD1_MASK (0xF000U)
  34920. #define USBPHY_TX_CLR_RSVD1_SHIFT (12U)
  34921. #define USBPHY_TX_CLR_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_RSVD1_SHIFT)) & USBPHY_TX_CLR_RSVD1_MASK)
  34922. #define USBPHY_TX_CLR_TXCAL45DP_MASK (0xF0000U)
  34923. #define USBPHY_TX_CLR_TXCAL45DP_SHIFT (16U)
  34924. #define USBPHY_TX_CLR_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_TXCAL45DP_SHIFT)) & USBPHY_TX_CLR_TXCAL45DP_MASK)
  34925. #define USBPHY_TX_CLR_RSVD2_MASK (0x3F00000U)
  34926. #define USBPHY_TX_CLR_RSVD2_SHIFT (20U)
  34927. #define USBPHY_TX_CLR_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_RSVD2_SHIFT)) & USBPHY_TX_CLR_RSVD2_MASK)
  34928. #define USBPHY_TX_CLR_USBPHY_TX_EDGECTRL_MASK (0x1C000000U)
  34929. #define USBPHY_TX_CLR_USBPHY_TX_EDGECTRL_SHIFT (26U)
  34930. #define USBPHY_TX_CLR_USBPHY_TX_EDGECTRL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_USBPHY_TX_EDGECTRL_SHIFT)) & USBPHY_TX_CLR_USBPHY_TX_EDGECTRL_MASK)
  34931. #define USBPHY_TX_CLR_RSVD5_MASK (0xE0000000U)
  34932. #define USBPHY_TX_CLR_RSVD5_SHIFT (29U)
  34933. #define USBPHY_TX_CLR_RSVD5(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_RSVD5_SHIFT)) & USBPHY_TX_CLR_RSVD5_MASK)
  34934. /*! @} */
  34935. /*! @name TX_TOG - USB PHY Transmitter Control Register */
  34936. /*! @{ */
  34937. #define USBPHY_TX_TOG_D_CAL_MASK (0xFU)
  34938. #define USBPHY_TX_TOG_D_CAL_SHIFT (0U)
  34939. #define USBPHY_TX_TOG_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_D_CAL_SHIFT)) & USBPHY_TX_TOG_D_CAL_MASK)
  34940. #define USBPHY_TX_TOG_RSVD0_MASK (0xF0U)
  34941. #define USBPHY_TX_TOG_RSVD0_SHIFT (4U)
  34942. #define USBPHY_TX_TOG_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_RSVD0_SHIFT)) & USBPHY_TX_TOG_RSVD0_MASK)
  34943. #define USBPHY_TX_TOG_TXCAL45DN_MASK (0xF00U)
  34944. #define USBPHY_TX_TOG_TXCAL45DN_SHIFT (8U)
  34945. #define USBPHY_TX_TOG_TXCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_TXCAL45DN_SHIFT)) & USBPHY_TX_TOG_TXCAL45DN_MASK)
  34946. #define USBPHY_TX_TOG_RSVD1_MASK (0xF000U)
  34947. #define USBPHY_TX_TOG_RSVD1_SHIFT (12U)
  34948. #define USBPHY_TX_TOG_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_RSVD1_SHIFT)) & USBPHY_TX_TOG_RSVD1_MASK)
  34949. #define USBPHY_TX_TOG_TXCAL45DP_MASK (0xF0000U)
  34950. #define USBPHY_TX_TOG_TXCAL45DP_SHIFT (16U)
  34951. #define USBPHY_TX_TOG_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_TXCAL45DP_SHIFT)) & USBPHY_TX_TOG_TXCAL45DP_MASK)
  34952. #define USBPHY_TX_TOG_RSVD2_MASK (0x3F00000U)
  34953. #define USBPHY_TX_TOG_RSVD2_SHIFT (20U)
  34954. #define USBPHY_TX_TOG_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_RSVD2_SHIFT)) & USBPHY_TX_TOG_RSVD2_MASK)
  34955. #define USBPHY_TX_TOG_USBPHY_TX_EDGECTRL_MASK (0x1C000000U)
  34956. #define USBPHY_TX_TOG_USBPHY_TX_EDGECTRL_SHIFT (26U)
  34957. #define USBPHY_TX_TOG_USBPHY_TX_EDGECTRL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_USBPHY_TX_EDGECTRL_SHIFT)) & USBPHY_TX_TOG_USBPHY_TX_EDGECTRL_MASK)
  34958. #define USBPHY_TX_TOG_RSVD5_MASK (0xE0000000U)
  34959. #define USBPHY_TX_TOG_RSVD5_SHIFT (29U)
  34960. #define USBPHY_TX_TOG_RSVD5(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_RSVD5_SHIFT)) & USBPHY_TX_TOG_RSVD5_MASK)
  34961. /*! @} */
  34962. /*! @name RX - USB PHY Receiver Control Register */
  34963. /*! @{ */
  34964. #define USBPHY_RX_ENVADJ_MASK (0x7U)
  34965. #define USBPHY_RX_ENVADJ_SHIFT (0U)
  34966. #define USBPHY_RX_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_ENVADJ_SHIFT)) & USBPHY_RX_ENVADJ_MASK)
  34967. #define USBPHY_RX_RSVD0_MASK (0x8U)
  34968. #define USBPHY_RX_RSVD0_SHIFT (3U)
  34969. #define USBPHY_RX_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_RSVD0_SHIFT)) & USBPHY_RX_RSVD0_MASK)
  34970. #define USBPHY_RX_DISCONADJ_MASK (0x70U)
  34971. #define USBPHY_RX_DISCONADJ_SHIFT (4U)
  34972. #define USBPHY_RX_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_DISCONADJ_SHIFT)) & USBPHY_RX_DISCONADJ_MASK)
  34973. #define USBPHY_RX_RSVD1_MASK (0x3FFF80U)
  34974. #define USBPHY_RX_RSVD1_SHIFT (7U)
  34975. #define USBPHY_RX_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_RSVD1_SHIFT)) & USBPHY_RX_RSVD1_MASK)
  34976. #define USBPHY_RX_RXDBYPASS_MASK (0x400000U)
  34977. #define USBPHY_RX_RXDBYPASS_SHIFT (22U)
  34978. #define USBPHY_RX_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_RXDBYPASS_SHIFT)) & USBPHY_RX_RXDBYPASS_MASK)
  34979. #define USBPHY_RX_RSVD2_MASK (0xFF800000U)
  34980. #define USBPHY_RX_RSVD2_SHIFT (23U)
  34981. #define USBPHY_RX_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_RSVD2_SHIFT)) & USBPHY_RX_RSVD2_MASK)
  34982. /*! @} */
  34983. /*! @name RX_SET - USB PHY Receiver Control Register */
  34984. /*! @{ */
  34985. #define USBPHY_RX_SET_ENVADJ_MASK (0x7U)
  34986. #define USBPHY_RX_SET_ENVADJ_SHIFT (0U)
  34987. #define USBPHY_RX_SET_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_ENVADJ_SHIFT)) & USBPHY_RX_SET_ENVADJ_MASK)
  34988. #define USBPHY_RX_SET_RSVD0_MASK (0x8U)
  34989. #define USBPHY_RX_SET_RSVD0_SHIFT (3U)
  34990. #define USBPHY_RX_SET_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_RSVD0_SHIFT)) & USBPHY_RX_SET_RSVD0_MASK)
  34991. #define USBPHY_RX_SET_DISCONADJ_MASK (0x70U)
  34992. #define USBPHY_RX_SET_DISCONADJ_SHIFT (4U)
  34993. #define USBPHY_RX_SET_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_DISCONADJ_SHIFT)) & USBPHY_RX_SET_DISCONADJ_MASK)
  34994. #define USBPHY_RX_SET_RSVD1_MASK (0x3FFF80U)
  34995. #define USBPHY_RX_SET_RSVD1_SHIFT (7U)
  34996. #define USBPHY_RX_SET_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_RSVD1_SHIFT)) & USBPHY_RX_SET_RSVD1_MASK)
  34997. #define USBPHY_RX_SET_RXDBYPASS_MASK (0x400000U)
  34998. #define USBPHY_RX_SET_RXDBYPASS_SHIFT (22U)
  34999. #define USBPHY_RX_SET_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_RXDBYPASS_SHIFT)) & USBPHY_RX_SET_RXDBYPASS_MASK)
  35000. #define USBPHY_RX_SET_RSVD2_MASK (0xFF800000U)
  35001. #define USBPHY_RX_SET_RSVD2_SHIFT (23U)
  35002. #define USBPHY_RX_SET_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_RSVD2_SHIFT)) & USBPHY_RX_SET_RSVD2_MASK)
  35003. /*! @} */
  35004. /*! @name RX_CLR - USB PHY Receiver Control Register */
  35005. /*! @{ */
  35006. #define USBPHY_RX_CLR_ENVADJ_MASK (0x7U)
  35007. #define USBPHY_RX_CLR_ENVADJ_SHIFT (0U)
  35008. #define USBPHY_RX_CLR_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_ENVADJ_SHIFT)) & USBPHY_RX_CLR_ENVADJ_MASK)
  35009. #define USBPHY_RX_CLR_RSVD0_MASK (0x8U)
  35010. #define USBPHY_RX_CLR_RSVD0_SHIFT (3U)
  35011. #define USBPHY_RX_CLR_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_RSVD0_SHIFT)) & USBPHY_RX_CLR_RSVD0_MASK)
  35012. #define USBPHY_RX_CLR_DISCONADJ_MASK (0x70U)
  35013. #define USBPHY_RX_CLR_DISCONADJ_SHIFT (4U)
  35014. #define USBPHY_RX_CLR_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_DISCONADJ_SHIFT)) & USBPHY_RX_CLR_DISCONADJ_MASK)
  35015. #define USBPHY_RX_CLR_RSVD1_MASK (0x3FFF80U)
  35016. #define USBPHY_RX_CLR_RSVD1_SHIFT (7U)
  35017. #define USBPHY_RX_CLR_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_RSVD1_SHIFT)) & USBPHY_RX_CLR_RSVD1_MASK)
  35018. #define USBPHY_RX_CLR_RXDBYPASS_MASK (0x400000U)
  35019. #define USBPHY_RX_CLR_RXDBYPASS_SHIFT (22U)
  35020. #define USBPHY_RX_CLR_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_RXDBYPASS_SHIFT)) & USBPHY_RX_CLR_RXDBYPASS_MASK)
  35021. #define USBPHY_RX_CLR_RSVD2_MASK (0xFF800000U)
  35022. #define USBPHY_RX_CLR_RSVD2_SHIFT (23U)
  35023. #define USBPHY_RX_CLR_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_RSVD2_SHIFT)) & USBPHY_RX_CLR_RSVD2_MASK)
  35024. /*! @} */
  35025. /*! @name RX_TOG - USB PHY Receiver Control Register */
  35026. /*! @{ */
  35027. #define USBPHY_RX_TOG_ENVADJ_MASK (0x7U)
  35028. #define USBPHY_RX_TOG_ENVADJ_SHIFT (0U)
  35029. #define USBPHY_RX_TOG_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_ENVADJ_SHIFT)) & USBPHY_RX_TOG_ENVADJ_MASK)
  35030. #define USBPHY_RX_TOG_RSVD0_MASK (0x8U)
  35031. #define USBPHY_RX_TOG_RSVD0_SHIFT (3U)
  35032. #define USBPHY_RX_TOG_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_RSVD0_SHIFT)) & USBPHY_RX_TOG_RSVD0_MASK)
  35033. #define USBPHY_RX_TOG_DISCONADJ_MASK (0x70U)
  35034. #define USBPHY_RX_TOG_DISCONADJ_SHIFT (4U)
  35035. #define USBPHY_RX_TOG_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_DISCONADJ_SHIFT)) & USBPHY_RX_TOG_DISCONADJ_MASK)
  35036. #define USBPHY_RX_TOG_RSVD1_MASK (0x3FFF80U)
  35037. #define USBPHY_RX_TOG_RSVD1_SHIFT (7U)
  35038. #define USBPHY_RX_TOG_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_RSVD1_SHIFT)) & USBPHY_RX_TOG_RSVD1_MASK)
  35039. #define USBPHY_RX_TOG_RXDBYPASS_MASK (0x400000U)
  35040. #define USBPHY_RX_TOG_RXDBYPASS_SHIFT (22U)
  35041. #define USBPHY_RX_TOG_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_RXDBYPASS_SHIFT)) & USBPHY_RX_TOG_RXDBYPASS_MASK)
  35042. #define USBPHY_RX_TOG_RSVD2_MASK (0xFF800000U)
  35043. #define USBPHY_RX_TOG_RSVD2_SHIFT (23U)
  35044. #define USBPHY_RX_TOG_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_RSVD2_SHIFT)) & USBPHY_RX_TOG_RSVD2_MASK)
  35045. /*! @} */
  35046. /*! @name CTRL - USB PHY General Control Register */
  35047. /*! @{ */
  35048. #define USBPHY_CTRL_ENOTG_ID_CHG_IRQ_MASK (0x1U)
  35049. #define USBPHY_CTRL_ENOTG_ID_CHG_IRQ_SHIFT (0U)
  35050. #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)
  35051. #define USBPHY_CTRL_ENHOSTDISCONDETECT_MASK (0x2U)
  35052. #define USBPHY_CTRL_ENHOSTDISCONDETECT_SHIFT (1U)
  35053. #define USBPHY_CTRL_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_ENHOSTDISCONDETECT_MASK)
  35054. #define USBPHY_CTRL_ENIRQHOSTDISCON_MASK (0x4U)
  35055. #define USBPHY_CTRL_ENIRQHOSTDISCON_SHIFT (2U)
  35056. #define USBPHY_CTRL_ENIRQHOSTDISCON(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIRQHOSTDISCON_SHIFT)) & USBPHY_CTRL_ENIRQHOSTDISCON_MASK)
  35057. #define USBPHY_CTRL_HOSTDISCONDETECT_IRQ_MASK (0x8U)
  35058. #define USBPHY_CTRL_HOSTDISCONDETECT_IRQ_SHIFT (3U)
  35059. #define USBPHY_CTRL_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_HOSTDISCONDETECT_IRQ_MASK)
  35060. #define USBPHY_CTRL_ENDEVPLUGINDETECT_MASK (0x10U)
  35061. #define USBPHY_CTRL_ENDEVPLUGINDETECT_SHIFT (4U)
  35062. #define USBPHY_CTRL_ENDEVPLUGINDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENDEVPLUGINDETECT_SHIFT)) & USBPHY_CTRL_ENDEVPLUGINDETECT_MASK)
  35063. #define USBPHY_CTRL_DEVPLUGIN_POLARITY_MASK (0x20U)
  35064. #define USBPHY_CTRL_DEVPLUGIN_POLARITY_SHIFT (5U)
  35065. #define USBPHY_CTRL_DEVPLUGIN_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_DEVPLUGIN_POLARITY_SHIFT)) & USBPHY_CTRL_DEVPLUGIN_POLARITY_MASK)
  35066. #define USBPHY_CTRL_OTG_ID_CHG_IRQ_MASK (0x40U)
  35067. #define USBPHY_CTRL_OTG_ID_CHG_IRQ_SHIFT (6U)
  35068. #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)
  35069. #define USBPHY_CTRL_ENOTGIDDETECT_MASK (0x80U)
  35070. #define USBPHY_CTRL_ENOTGIDDETECT_SHIFT (7U)
  35071. #define USBPHY_CTRL_ENOTGIDDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENOTGIDDETECT_SHIFT)) & USBPHY_CTRL_ENOTGIDDETECT_MASK)
  35072. #define USBPHY_CTRL_RESUMEIRQSTICKY_MASK (0x100U)
  35073. #define USBPHY_CTRL_RESUMEIRQSTICKY_SHIFT (8U)
  35074. #define USBPHY_CTRL_RESUMEIRQSTICKY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_RESUMEIRQSTICKY_SHIFT)) & USBPHY_CTRL_RESUMEIRQSTICKY_MASK)
  35075. #define USBPHY_CTRL_ENIRQRESUMEDETECT_MASK (0x200U)
  35076. #define USBPHY_CTRL_ENIRQRESUMEDETECT_SHIFT (9U)
  35077. #define USBPHY_CTRL_ENIRQRESUMEDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIRQRESUMEDETECT_SHIFT)) & USBPHY_CTRL_ENIRQRESUMEDETECT_MASK)
  35078. #define USBPHY_CTRL_RESUME_IRQ_MASK (0x400U)
  35079. #define USBPHY_CTRL_RESUME_IRQ_SHIFT (10U)
  35080. #define USBPHY_CTRL_RESUME_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_RESUME_IRQ_SHIFT)) & USBPHY_CTRL_RESUME_IRQ_MASK)
  35081. #define USBPHY_CTRL_ENIRQDEVPLUGIN_MASK (0x800U)
  35082. #define USBPHY_CTRL_ENIRQDEVPLUGIN_SHIFT (11U)
  35083. #define USBPHY_CTRL_ENIRQDEVPLUGIN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIRQDEVPLUGIN_SHIFT)) & USBPHY_CTRL_ENIRQDEVPLUGIN_MASK)
  35084. #define USBPHY_CTRL_DEVPLUGIN_IRQ_MASK (0x1000U)
  35085. #define USBPHY_CTRL_DEVPLUGIN_IRQ_SHIFT (12U)
  35086. #define USBPHY_CTRL_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_DEVPLUGIN_IRQ_MASK)
  35087. #define USBPHY_CTRL_DATA_ON_LRADC_MASK (0x2000U)
  35088. #define USBPHY_CTRL_DATA_ON_LRADC_SHIFT (13U)
  35089. #define USBPHY_CTRL_DATA_ON_LRADC(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_DATA_ON_LRADC_SHIFT)) & USBPHY_CTRL_DATA_ON_LRADC_MASK)
  35090. #define USBPHY_CTRL_ENUTMILEVEL2_MASK (0x4000U)
  35091. #define USBPHY_CTRL_ENUTMILEVEL2_SHIFT (14U)
  35092. #define USBPHY_CTRL_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_ENUTMILEVEL2_MASK)
  35093. #define USBPHY_CTRL_ENUTMILEVEL3_MASK (0x8000U)
  35094. #define USBPHY_CTRL_ENUTMILEVEL3_SHIFT (15U)
  35095. #define USBPHY_CTRL_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_ENUTMILEVEL3_MASK)
  35096. #define USBPHY_CTRL_ENIRQWAKEUP_MASK (0x10000U)
  35097. #define USBPHY_CTRL_ENIRQWAKEUP_SHIFT (16U)
  35098. #define USBPHY_CTRL_ENIRQWAKEUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIRQWAKEUP_SHIFT)) & USBPHY_CTRL_ENIRQWAKEUP_MASK)
  35099. #define USBPHY_CTRL_WAKEUP_IRQ_MASK (0x20000U)
  35100. #define USBPHY_CTRL_WAKEUP_IRQ_SHIFT (17U)
  35101. #define USBPHY_CTRL_WAKEUP_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_WAKEUP_IRQ_SHIFT)) & USBPHY_CTRL_WAKEUP_IRQ_MASK)
  35102. #define USBPHY_CTRL_ENAUTO_PWRON_PLL_MASK (0x40000U)
  35103. #define USBPHY_CTRL_ENAUTO_PWRON_PLL_SHIFT (18U)
  35104. #define USBPHY_CTRL_ENAUTO_PWRON_PLL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENAUTO_PWRON_PLL_SHIFT)) & USBPHY_CTRL_ENAUTO_PWRON_PLL_MASK)
  35105. #define USBPHY_CTRL_ENAUTOCLR_CLKGATE_MASK (0x80000U)
  35106. #define USBPHY_CTRL_ENAUTOCLR_CLKGATE_SHIFT (19U)
  35107. #define USBPHY_CTRL_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_ENAUTOCLR_CLKGATE_MASK)
  35108. #define USBPHY_CTRL_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
  35109. #define USBPHY_CTRL_ENAUTOCLR_PHY_PWD_SHIFT (20U)
  35110. #define USBPHY_CTRL_ENAUTOCLR_PHY_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENAUTOCLR_PHY_PWD_SHIFT)) & USBPHY_CTRL_ENAUTOCLR_PHY_PWD_MASK)
  35111. #define USBPHY_CTRL_ENDPDMCHG_WKUP_MASK (0x200000U)
  35112. #define USBPHY_CTRL_ENDPDMCHG_WKUP_SHIFT (21U)
  35113. #define USBPHY_CTRL_ENDPDMCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENDPDMCHG_WKUP_SHIFT)) & USBPHY_CTRL_ENDPDMCHG_WKUP_MASK)
  35114. #define USBPHY_CTRL_ENIDCHG_WKUP_MASK (0x400000U)
  35115. #define USBPHY_CTRL_ENIDCHG_WKUP_SHIFT (22U)
  35116. #define USBPHY_CTRL_ENIDCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIDCHG_WKUP_SHIFT)) & USBPHY_CTRL_ENIDCHG_WKUP_MASK)
  35117. #define USBPHY_CTRL_ENVBUSCHG_WKUP_MASK (0x800000U)
  35118. #define USBPHY_CTRL_ENVBUSCHG_WKUP_SHIFT (23U)
  35119. #define USBPHY_CTRL_ENVBUSCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENVBUSCHG_WKUP_SHIFT)) & USBPHY_CTRL_ENVBUSCHG_WKUP_MASK)
  35120. #define USBPHY_CTRL_FSDLL_RST_EN_MASK (0x1000000U)
  35121. #define USBPHY_CTRL_FSDLL_RST_EN_SHIFT (24U)
  35122. #define USBPHY_CTRL_FSDLL_RST_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_FSDLL_RST_EN_SHIFT)) & USBPHY_CTRL_FSDLL_RST_EN_MASK)
  35123. #define USBPHY_CTRL_RSVD1_MASK (0x6000000U)
  35124. #define USBPHY_CTRL_RSVD1_SHIFT (25U)
  35125. #define USBPHY_CTRL_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_RSVD1_SHIFT)) & USBPHY_CTRL_RSVD1_MASK)
  35126. #define USBPHY_CTRL_OTG_ID_VALUE_MASK (0x8000000U)
  35127. #define USBPHY_CTRL_OTG_ID_VALUE_SHIFT (27U)
  35128. #define USBPHY_CTRL_OTG_ID_VALUE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_OTG_ID_VALUE_SHIFT)) & USBPHY_CTRL_OTG_ID_VALUE_MASK)
  35129. #define USBPHY_CTRL_HOST_FORCE_LS_SE0_MASK (0x10000000U)
  35130. #define USBPHY_CTRL_HOST_FORCE_LS_SE0_SHIFT (28U)
  35131. #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)
  35132. #define USBPHY_CTRL_UTMI_SUSPENDM_MASK (0x20000000U)
  35133. #define USBPHY_CTRL_UTMI_SUSPENDM_SHIFT (29U)
  35134. #define USBPHY_CTRL_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_UTMI_SUSPENDM_MASK)
  35135. #define USBPHY_CTRL_CLKGATE_MASK (0x40000000U)
  35136. #define USBPHY_CTRL_CLKGATE_SHIFT (30U)
  35137. #define USBPHY_CTRL_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLKGATE_SHIFT)) & USBPHY_CTRL_CLKGATE_MASK)
  35138. #define USBPHY_CTRL_SFTRST_MASK (0x80000000U)
  35139. #define USBPHY_CTRL_SFTRST_SHIFT (31U)
  35140. #define USBPHY_CTRL_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SFTRST_SHIFT)) & USBPHY_CTRL_SFTRST_MASK)
  35141. /*! @} */
  35142. /*! @name CTRL_SET - USB PHY General Control Register */
  35143. /*! @{ */
  35144. #define USBPHY_CTRL_SET_ENOTG_ID_CHG_IRQ_MASK (0x1U)
  35145. #define USBPHY_CTRL_SET_ENOTG_ID_CHG_IRQ_SHIFT (0U)
  35146. #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)
  35147. #define USBPHY_CTRL_SET_ENHOSTDISCONDETECT_MASK (0x2U)
  35148. #define USBPHY_CTRL_SET_ENHOSTDISCONDETECT_SHIFT (1U)
  35149. #define USBPHY_CTRL_SET_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_SET_ENHOSTDISCONDETECT_MASK)
  35150. #define USBPHY_CTRL_SET_ENIRQHOSTDISCON_MASK (0x4U)
  35151. #define USBPHY_CTRL_SET_ENIRQHOSTDISCON_SHIFT (2U)
  35152. #define USBPHY_CTRL_SET_ENIRQHOSTDISCON(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIRQHOSTDISCON_SHIFT)) & USBPHY_CTRL_SET_ENIRQHOSTDISCON_MASK)
  35153. #define USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_MASK (0x8U)
  35154. #define USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_SHIFT (3U)
  35155. #define USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_MASK)
  35156. #define USBPHY_CTRL_SET_ENDEVPLUGINDETECT_MASK (0x10U)
  35157. #define USBPHY_CTRL_SET_ENDEVPLUGINDETECT_SHIFT (4U)
  35158. #define USBPHY_CTRL_SET_ENDEVPLUGINDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENDEVPLUGINDETECT_SHIFT)) & USBPHY_CTRL_SET_ENDEVPLUGINDETECT_MASK)
  35159. #define USBPHY_CTRL_SET_DEVPLUGIN_POLARITY_MASK (0x20U)
  35160. #define USBPHY_CTRL_SET_DEVPLUGIN_POLARITY_SHIFT (5U)
  35161. #define USBPHY_CTRL_SET_DEVPLUGIN_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_DEVPLUGIN_POLARITY_SHIFT)) & USBPHY_CTRL_SET_DEVPLUGIN_POLARITY_MASK)
  35162. #define USBPHY_CTRL_SET_OTG_ID_CHG_IRQ_MASK (0x40U)
  35163. #define USBPHY_CTRL_SET_OTG_ID_CHG_IRQ_SHIFT (6U)
  35164. #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)
  35165. #define USBPHY_CTRL_SET_ENOTGIDDETECT_MASK (0x80U)
  35166. #define USBPHY_CTRL_SET_ENOTGIDDETECT_SHIFT (7U)
  35167. #define USBPHY_CTRL_SET_ENOTGIDDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENOTGIDDETECT_SHIFT)) & USBPHY_CTRL_SET_ENOTGIDDETECT_MASK)
  35168. #define USBPHY_CTRL_SET_RESUMEIRQSTICKY_MASK (0x100U)
  35169. #define USBPHY_CTRL_SET_RESUMEIRQSTICKY_SHIFT (8U)
  35170. #define USBPHY_CTRL_SET_RESUMEIRQSTICKY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_RESUMEIRQSTICKY_SHIFT)) & USBPHY_CTRL_SET_RESUMEIRQSTICKY_MASK)
  35171. #define USBPHY_CTRL_SET_ENIRQRESUMEDETECT_MASK (0x200U)
  35172. #define USBPHY_CTRL_SET_ENIRQRESUMEDETECT_SHIFT (9U)
  35173. #define USBPHY_CTRL_SET_ENIRQRESUMEDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIRQRESUMEDETECT_SHIFT)) & USBPHY_CTRL_SET_ENIRQRESUMEDETECT_MASK)
  35174. #define USBPHY_CTRL_SET_RESUME_IRQ_MASK (0x400U)
  35175. #define USBPHY_CTRL_SET_RESUME_IRQ_SHIFT (10U)
  35176. #define USBPHY_CTRL_SET_RESUME_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_RESUME_IRQ_SHIFT)) & USBPHY_CTRL_SET_RESUME_IRQ_MASK)
  35177. #define USBPHY_CTRL_SET_ENIRQDEVPLUGIN_MASK (0x800U)
  35178. #define USBPHY_CTRL_SET_ENIRQDEVPLUGIN_SHIFT (11U)
  35179. #define USBPHY_CTRL_SET_ENIRQDEVPLUGIN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIRQDEVPLUGIN_SHIFT)) & USBPHY_CTRL_SET_ENIRQDEVPLUGIN_MASK)
  35180. #define USBPHY_CTRL_SET_DEVPLUGIN_IRQ_MASK (0x1000U)
  35181. #define USBPHY_CTRL_SET_DEVPLUGIN_IRQ_SHIFT (12U)
  35182. #define USBPHY_CTRL_SET_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_SET_DEVPLUGIN_IRQ_MASK)
  35183. #define USBPHY_CTRL_SET_DATA_ON_LRADC_MASK (0x2000U)
  35184. #define USBPHY_CTRL_SET_DATA_ON_LRADC_SHIFT (13U)
  35185. #define USBPHY_CTRL_SET_DATA_ON_LRADC(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_DATA_ON_LRADC_SHIFT)) & USBPHY_CTRL_SET_DATA_ON_LRADC_MASK)
  35186. #define USBPHY_CTRL_SET_ENUTMILEVEL2_MASK (0x4000U)
  35187. #define USBPHY_CTRL_SET_ENUTMILEVEL2_SHIFT (14U)
  35188. #define USBPHY_CTRL_SET_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_SET_ENUTMILEVEL2_MASK)
  35189. #define USBPHY_CTRL_SET_ENUTMILEVEL3_MASK (0x8000U)
  35190. #define USBPHY_CTRL_SET_ENUTMILEVEL3_SHIFT (15U)
  35191. #define USBPHY_CTRL_SET_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_SET_ENUTMILEVEL3_MASK)
  35192. #define USBPHY_CTRL_SET_ENIRQWAKEUP_MASK (0x10000U)
  35193. #define USBPHY_CTRL_SET_ENIRQWAKEUP_SHIFT (16U)
  35194. #define USBPHY_CTRL_SET_ENIRQWAKEUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIRQWAKEUP_SHIFT)) & USBPHY_CTRL_SET_ENIRQWAKEUP_MASK)
  35195. #define USBPHY_CTRL_SET_WAKEUP_IRQ_MASK (0x20000U)
  35196. #define USBPHY_CTRL_SET_WAKEUP_IRQ_SHIFT (17U)
  35197. #define USBPHY_CTRL_SET_WAKEUP_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_WAKEUP_IRQ_SHIFT)) & USBPHY_CTRL_SET_WAKEUP_IRQ_MASK)
  35198. #define USBPHY_CTRL_SET_ENAUTO_PWRON_PLL_MASK (0x40000U)
  35199. #define USBPHY_CTRL_SET_ENAUTO_PWRON_PLL_SHIFT (18U)
  35200. #define USBPHY_CTRL_SET_ENAUTO_PWRON_PLL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENAUTO_PWRON_PLL_SHIFT)) & USBPHY_CTRL_SET_ENAUTO_PWRON_PLL_MASK)
  35201. #define USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_MASK (0x80000U)
  35202. #define USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_SHIFT (19U)
  35203. #define USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_MASK)
  35204. #define USBPHY_CTRL_SET_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
  35205. #define USBPHY_CTRL_SET_ENAUTOCLR_PHY_PWD_SHIFT (20U)
  35206. #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)
  35207. #define USBPHY_CTRL_SET_ENDPDMCHG_WKUP_MASK (0x200000U)
  35208. #define USBPHY_CTRL_SET_ENDPDMCHG_WKUP_SHIFT (21U)
  35209. #define USBPHY_CTRL_SET_ENDPDMCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENDPDMCHG_WKUP_SHIFT)) & USBPHY_CTRL_SET_ENDPDMCHG_WKUP_MASK)
  35210. #define USBPHY_CTRL_SET_ENIDCHG_WKUP_MASK (0x400000U)
  35211. #define USBPHY_CTRL_SET_ENIDCHG_WKUP_SHIFT (22U)
  35212. #define USBPHY_CTRL_SET_ENIDCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIDCHG_WKUP_SHIFT)) & USBPHY_CTRL_SET_ENIDCHG_WKUP_MASK)
  35213. #define USBPHY_CTRL_SET_ENVBUSCHG_WKUP_MASK (0x800000U)
  35214. #define USBPHY_CTRL_SET_ENVBUSCHG_WKUP_SHIFT (23U)
  35215. #define USBPHY_CTRL_SET_ENVBUSCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENVBUSCHG_WKUP_SHIFT)) & USBPHY_CTRL_SET_ENVBUSCHG_WKUP_MASK)
  35216. #define USBPHY_CTRL_SET_FSDLL_RST_EN_MASK (0x1000000U)
  35217. #define USBPHY_CTRL_SET_FSDLL_RST_EN_SHIFT (24U)
  35218. #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)
  35219. #define USBPHY_CTRL_SET_RSVD1_MASK (0x6000000U)
  35220. #define USBPHY_CTRL_SET_RSVD1_SHIFT (25U)
  35221. #define USBPHY_CTRL_SET_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_RSVD1_SHIFT)) & USBPHY_CTRL_SET_RSVD1_MASK)
  35222. #define USBPHY_CTRL_SET_OTG_ID_VALUE_MASK (0x8000000U)
  35223. #define USBPHY_CTRL_SET_OTG_ID_VALUE_SHIFT (27U)
  35224. #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)
  35225. #define USBPHY_CTRL_SET_HOST_FORCE_LS_SE0_MASK (0x10000000U)
  35226. #define USBPHY_CTRL_SET_HOST_FORCE_LS_SE0_SHIFT (28U)
  35227. #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)
  35228. #define USBPHY_CTRL_SET_UTMI_SUSPENDM_MASK (0x20000000U)
  35229. #define USBPHY_CTRL_SET_UTMI_SUSPENDM_SHIFT (29U)
  35230. #define USBPHY_CTRL_SET_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_SET_UTMI_SUSPENDM_MASK)
  35231. #define USBPHY_CTRL_SET_CLKGATE_MASK (0x40000000U)
  35232. #define USBPHY_CTRL_SET_CLKGATE_SHIFT (30U)
  35233. #define USBPHY_CTRL_SET_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_CLKGATE_SHIFT)) & USBPHY_CTRL_SET_CLKGATE_MASK)
  35234. #define USBPHY_CTRL_SET_SFTRST_MASK (0x80000000U)
  35235. #define USBPHY_CTRL_SET_SFTRST_SHIFT (31U)
  35236. #define USBPHY_CTRL_SET_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_SFTRST_SHIFT)) & USBPHY_CTRL_SET_SFTRST_MASK)
  35237. /*! @} */
  35238. /*! @name CTRL_CLR - USB PHY General Control Register */
  35239. /*! @{ */
  35240. #define USBPHY_CTRL_CLR_ENOTG_ID_CHG_IRQ_MASK (0x1U)
  35241. #define USBPHY_CTRL_CLR_ENOTG_ID_CHG_IRQ_SHIFT (0U)
  35242. #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)
  35243. #define USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_MASK (0x2U)
  35244. #define USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_SHIFT (1U)
  35245. #define USBPHY_CTRL_CLR_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_MASK)
  35246. #define USBPHY_CTRL_CLR_ENIRQHOSTDISCON_MASK (0x4U)
  35247. #define USBPHY_CTRL_CLR_ENIRQHOSTDISCON_SHIFT (2U)
  35248. #define USBPHY_CTRL_CLR_ENIRQHOSTDISCON(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIRQHOSTDISCON_SHIFT)) & USBPHY_CTRL_CLR_ENIRQHOSTDISCON_MASK)
  35249. #define USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_MASK (0x8U)
  35250. #define USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_SHIFT (3U)
  35251. #define USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_MASK)
  35252. #define USBPHY_CTRL_CLR_ENDEVPLUGINDETECT_MASK (0x10U)
  35253. #define USBPHY_CTRL_CLR_ENDEVPLUGINDETECT_SHIFT (4U)
  35254. #define USBPHY_CTRL_CLR_ENDEVPLUGINDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENDEVPLUGINDETECT_SHIFT)) & USBPHY_CTRL_CLR_ENDEVPLUGINDETECT_MASK)
  35255. #define USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY_MASK (0x20U)
  35256. #define USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY_SHIFT (5U)
  35257. #define USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY_SHIFT)) & USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY_MASK)
  35258. #define USBPHY_CTRL_CLR_OTG_ID_CHG_IRQ_MASK (0x40U)
  35259. #define USBPHY_CTRL_CLR_OTG_ID_CHG_IRQ_SHIFT (6U)
  35260. #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)
  35261. #define USBPHY_CTRL_CLR_ENOTGIDDETECT_MASK (0x80U)
  35262. #define USBPHY_CTRL_CLR_ENOTGIDDETECT_SHIFT (7U)
  35263. #define USBPHY_CTRL_CLR_ENOTGIDDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENOTGIDDETECT_SHIFT)) & USBPHY_CTRL_CLR_ENOTGIDDETECT_MASK)
  35264. #define USBPHY_CTRL_CLR_RESUMEIRQSTICKY_MASK (0x100U)
  35265. #define USBPHY_CTRL_CLR_RESUMEIRQSTICKY_SHIFT (8U)
  35266. #define USBPHY_CTRL_CLR_RESUMEIRQSTICKY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_RESUMEIRQSTICKY_SHIFT)) & USBPHY_CTRL_CLR_RESUMEIRQSTICKY_MASK)
  35267. #define USBPHY_CTRL_CLR_ENIRQRESUMEDETECT_MASK (0x200U)
  35268. #define USBPHY_CTRL_CLR_ENIRQRESUMEDETECT_SHIFT (9U)
  35269. #define USBPHY_CTRL_CLR_ENIRQRESUMEDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIRQRESUMEDETECT_SHIFT)) & USBPHY_CTRL_CLR_ENIRQRESUMEDETECT_MASK)
  35270. #define USBPHY_CTRL_CLR_RESUME_IRQ_MASK (0x400U)
  35271. #define USBPHY_CTRL_CLR_RESUME_IRQ_SHIFT (10U)
  35272. #define USBPHY_CTRL_CLR_RESUME_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_RESUME_IRQ_SHIFT)) & USBPHY_CTRL_CLR_RESUME_IRQ_MASK)
  35273. #define USBPHY_CTRL_CLR_ENIRQDEVPLUGIN_MASK (0x800U)
  35274. #define USBPHY_CTRL_CLR_ENIRQDEVPLUGIN_SHIFT (11U)
  35275. #define USBPHY_CTRL_CLR_ENIRQDEVPLUGIN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIRQDEVPLUGIN_SHIFT)) & USBPHY_CTRL_CLR_ENIRQDEVPLUGIN_MASK)
  35276. #define USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_MASK (0x1000U)
  35277. #define USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_SHIFT (12U)
  35278. #define USBPHY_CTRL_CLR_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_MASK)
  35279. #define USBPHY_CTRL_CLR_DATA_ON_LRADC_MASK (0x2000U)
  35280. #define USBPHY_CTRL_CLR_DATA_ON_LRADC_SHIFT (13U)
  35281. #define USBPHY_CTRL_CLR_DATA_ON_LRADC(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_DATA_ON_LRADC_SHIFT)) & USBPHY_CTRL_CLR_DATA_ON_LRADC_MASK)
  35282. #define USBPHY_CTRL_CLR_ENUTMILEVEL2_MASK (0x4000U)
  35283. #define USBPHY_CTRL_CLR_ENUTMILEVEL2_SHIFT (14U)
  35284. #define USBPHY_CTRL_CLR_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_CLR_ENUTMILEVEL2_MASK)
  35285. #define USBPHY_CTRL_CLR_ENUTMILEVEL3_MASK (0x8000U)
  35286. #define USBPHY_CTRL_CLR_ENUTMILEVEL3_SHIFT (15U)
  35287. #define USBPHY_CTRL_CLR_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_CLR_ENUTMILEVEL3_MASK)
  35288. #define USBPHY_CTRL_CLR_ENIRQWAKEUP_MASK (0x10000U)
  35289. #define USBPHY_CTRL_CLR_ENIRQWAKEUP_SHIFT (16U)
  35290. #define USBPHY_CTRL_CLR_ENIRQWAKEUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIRQWAKEUP_SHIFT)) & USBPHY_CTRL_CLR_ENIRQWAKEUP_MASK)
  35291. #define USBPHY_CTRL_CLR_WAKEUP_IRQ_MASK (0x20000U)
  35292. #define USBPHY_CTRL_CLR_WAKEUP_IRQ_SHIFT (17U)
  35293. #define USBPHY_CTRL_CLR_WAKEUP_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_WAKEUP_IRQ_SHIFT)) & USBPHY_CTRL_CLR_WAKEUP_IRQ_MASK)
  35294. #define USBPHY_CTRL_CLR_ENAUTO_PWRON_PLL_MASK (0x40000U)
  35295. #define USBPHY_CTRL_CLR_ENAUTO_PWRON_PLL_SHIFT (18U)
  35296. #define USBPHY_CTRL_CLR_ENAUTO_PWRON_PLL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENAUTO_PWRON_PLL_SHIFT)) & USBPHY_CTRL_CLR_ENAUTO_PWRON_PLL_MASK)
  35297. #define USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_MASK (0x80000U)
  35298. #define USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_SHIFT (19U)
  35299. #define USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_MASK)
  35300. #define USBPHY_CTRL_CLR_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
  35301. #define USBPHY_CTRL_CLR_ENAUTOCLR_PHY_PWD_SHIFT (20U)
  35302. #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)
  35303. #define USBPHY_CTRL_CLR_ENDPDMCHG_WKUP_MASK (0x200000U)
  35304. #define USBPHY_CTRL_CLR_ENDPDMCHG_WKUP_SHIFT (21U)
  35305. #define USBPHY_CTRL_CLR_ENDPDMCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENDPDMCHG_WKUP_SHIFT)) & USBPHY_CTRL_CLR_ENDPDMCHG_WKUP_MASK)
  35306. #define USBPHY_CTRL_CLR_ENIDCHG_WKUP_MASK (0x400000U)
  35307. #define USBPHY_CTRL_CLR_ENIDCHG_WKUP_SHIFT (22U)
  35308. #define USBPHY_CTRL_CLR_ENIDCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIDCHG_WKUP_SHIFT)) & USBPHY_CTRL_CLR_ENIDCHG_WKUP_MASK)
  35309. #define USBPHY_CTRL_CLR_ENVBUSCHG_WKUP_MASK (0x800000U)
  35310. #define USBPHY_CTRL_CLR_ENVBUSCHG_WKUP_SHIFT (23U)
  35311. #define USBPHY_CTRL_CLR_ENVBUSCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENVBUSCHG_WKUP_SHIFT)) & USBPHY_CTRL_CLR_ENVBUSCHG_WKUP_MASK)
  35312. #define USBPHY_CTRL_CLR_FSDLL_RST_EN_MASK (0x1000000U)
  35313. #define USBPHY_CTRL_CLR_FSDLL_RST_EN_SHIFT (24U)
  35314. #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)
  35315. #define USBPHY_CTRL_CLR_RSVD1_MASK (0x6000000U)
  35316. #define USBPHY_CTRL_CLR_RSVD1_SHIFT (25U)
  35317. #define USBPHY_CTRL_CLR_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_RSVD1_SHIFT)) & USBPHY_CTRL_CLR_RSVD1_MASK)
  35318. #define USBPHY_CTRL_CLR_OTG_ID_VALUE_MASK (0x8000000U)
  35319. #define USBPHY_CTRL_CLR_OTG_ID_VALUE_SHIFT (27U)
  35320. #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)
  35321. #define USBPHY_CTRL_CLR_HOST_FORCE_LS_SE0_MASK (0x10000000U)
  35322. #define USBPHY_CTRL_CLR_HOST_FORCE_LS_SE0_SHIFT (28U)
  35323. #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)
  35324. #define USBPHY_CTRL_CLR_UTMI_SUSPENDM_MASK (0x20000000U)
  35325. #define USBPHY_CTRL_CLR_UTMI_SUSPENDM_SHIFT (29U)
  35326. #define USBPHY_CTRL_CLR_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_CLR_UTMI_SUSPENDM_MASK)
  35327. #define USBPHY_CTRL_CLR_CLKGATE_MASK (0x40000000U)
  35328. #define USBPHY_CTRL_CLR_CLKGATE_SHIFT (30U)
  35329. #define USBPHY_CTRL_CLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_CLKGATE_SHIFT)) & USBPHY_CTRL_CLR_CLKGATE_MASK)
  35330. #define USBPHY_CTRL_CLR_SFTRST_MASK (0x80000000U)
  35331. #define USBPHY_CTRL_CLR_SFTRST_SHIFT (31U)
  35332. #define USBPHY_CTRL_CLR_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_SFTRST_SHIFT)) & USBPHY_CTRL_CLR_SFTRST_MASK)
  35333. /*! @} */
  35334. /*! @name CTRL_TOG - USB PHY General Control Register */
  35335. /*! @{ */
  35336. #define USBPHY_CTRL_TOG_ENOTG_ID_CHG_IRQ_MASK (0x1U)
  35337. #define USBPHY_CTRL_TOG_ENOTG_ID_CHG_IRQ_SHIFT (0U)
  35338. #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)
  35339. #define USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_MASK (0x2U)
  35340. #define USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_SHIFT (1U)
  35341. #define USBPHY_CTRL_TOG_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_MASK)
  35342. #define USBPHY_CTRL_TOG_ENIRQHOSTDISCON_MASK (0x4U)
  35343. #define USBPHY_CTRL_TOG_ENIRQHOSTDISCON_SHIFT (2U)
  35344. #define USBPHY_CTRL_TOG_ENIRQHOSTDISCON(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIRQHOSTDISCON_SHIFT)) & USBPHY_CTRL_TOG_ENIRQHOSTDISCON_MASK)
  35345. #define USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_MASK (0x8U)
  35346. #define USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_SHIFT (3U)
  35347. #define USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_MASK)
  35348. #define USBPHY_CTRL_TOG_ENDEVPLUGINDETECT_MASK (0x10U)
  35349. #define USBPHY_CTRL_TOG_ENDEVPLUGINDETECT_SHIFT (4U)
  35350. #define USBPHY_CTRL_TOG_ENDEVPLUGINDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENDEVPLUGINDETECT_SHIFT)) & USBPHY_CTRL_TOG_ENDEVPLUGINDETECT_MASK)
  35351. #define USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY_MASK (0x20U)
  35352. #define USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY_SHIFT (5U)
  35353. #define USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY_SHIFT)) & USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY_MASK)
  35354. #define USBPHY_CTRL_TOG_OTG_ID_CHG_IRQ_MASK (0x40U)
  35355. #define USBPHY_CTRL_TOG_OTG_ID_CHG_IRQ_SHIFT (6U)
  35356. #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)
  35357. #define USBPHY_CTRL_TOG_ENOTGIDDETECT_MASK (0x80U)
  35358. #define USBPHY_CTRL_TOG_ENOTGIDDETECT_SHIFT (7U)
  35359. #define USBPHY_CTRL_TOG_ENOTGIDDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENOTGIDDETECT_SHIFT)) & USBPHY_CTRL_TOG_ENOTGIDDETECT_MASK)
  35360. #define USBPHY_CTRL_TOG_RESUMEIRQSTICKY_MASK (0x100U)
  35361. #define USBPHY_CTRL_TOG_RESUMEIRQSTICKY_SHIFT (8U)
  35362. #define USBPHY_CTRL_TOG_RESUMEIRQSTICKY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_RESUMEIRQSTICKY_SHIFT)) & USBPHY_CTRL_TOG_RESUMEIRQSTICKY_MASK)
  35363. #define USBPHY_CTRL_TOG_ENIRQRESUMEDETECT_MASK (0x200U)
  35364. #define USBPHY_CTRL_TOG_ENIRQRESUMEDETECT_SHIFT (9U)
  35365. #define USBPHY_CTRL_TOG_ENIRQRESUMEDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIRQRESUMEDETECT_SHIFT)) & USBPHY_CTRL_TOG_ENIRQRESUMEDETECT_MASK)
  35366. #define USBPHY_CTRL_TOG_RESUME_IRQ_MASK (0x400U)
  35367. #define USBPHY_CTRL_TOG_RESUME_IRQ_SHIFT (10U)
  35368. #define USBPHY_CTRL_TOG_RESUME_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_RESUME_IRQ_SHIFT)) & USBPHY_CTRL_TOG_RESUME_IRQ_MASK)
  35369. #define USBPHY_CTRL_TOG_ENIRQDEVPLUGIN_MASK (0x800U)
  35370. #define USBPHY_CTRL_TOG_ENIRQDEVPLUGIN_SHIFT (11U)
  35371. #define USBPHY_CTRL_TOG_ENIRQDEVPLUGIN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIRQDEVPLUGIN_SHIFT)) & USBPHY_CTRL_TOG_ENIRQDEVPLUGIN_MASK)
  35372. #define USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_MASK (0x1000U)
  35373. #define USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_SHIFT (12U)
  35374. #define USBPHY_CTRL_TOG_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_MASK)
  35375. #define USBPHY_CTRL_TOG_DATA_ON_LRADC_MASK (0x2000U)
  35376. #define USBPHY_CTRL_TOG_DATA_ON_LRADC_SHIFT (13U)
  35377. #define USBPHY_CTRL_TOG_DATA_ON_LRADC(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_DATA_ON_LRADC_SHIFT)) & USBPHY_CTRL_TOG_DATA_ON_LRADC_MASK)
  35378. #define USBPHY_CTRL_TOG_ENUTMILEVEL2_MASK (0x4000U)
  35379. #define USBPHY_CTRL_TOG_ENUTMILEVEL2_SHIFT (14U)
  35380. #define USBPHY_CTRL_TOG_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_TOG_ENUTMILEVEL2_MASK)
  35381. #define USBPHY_CTRL_TOG_ENUTMILEVEL3_MASK (0x8000U)
  35382. #define USBPHY_CTRL_TOG_ENUTMILEVEL3_SHIFT (15U)
  35383. #define USBPHY_CTRL_TOG_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_TOG_ENUTMILEVEL3_MASK)
  35384. #define USBPHY_CTRL_TOG_ENIRQWAKEUP_MASK (0x10000U)
  35385. #define USBPHY_CTRL_TOG_ENIRQWAKEUP_SHIFT (16U)
  35386. #define USBPHY_CTRL_TOG_ENIRQWAKEUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIRQWAKEUP_SHIFT)) & USBPHY_CTRL_TOG_ENIRQWAKEUP_MASK)
  35387. #define USBPHY_CTRL_TOG_WAKEUP_IRQ_MASK (0x20000U)
  35388. #define USBPHY_CTRL_TOG_WAKEUP_IRQ_SHIFT (17U)
  35389. #define USBPHY_CTRL_TOG_WAKEUP_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_WAKEUP_IRQ_SHIFT)) & USBPHY_CTRL_TOG_WAKEUP_IRQ_MASK)
  35390. #define USBPHY_CTRL_TOG_ENAUTO_PWRON_PLL_MASK (0x40000U)
  35391. #define USBPHY_CTRL_TOG_ENAUTO_PWRON_PLL_SHIFT (18U)
  35392. #define USBPHY_CTRL_TOG_ENAUTO_PWRON_PLL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENAUTO_PWRON_PLL_SHIFT)) & USBPHY_CTRL_TOG_ENAUTO_PWRON_PLL_MASK)
  35393. #define USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_MASK (0x80000U)
  35394. #define USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_SHIFT (19U)
  35395. #define USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_MASK)
  35396. #define USBPHY_CTRL_TOG_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
  35397. #define USBPHY_CTRL_TOG_ENAUTOCLR_PHY_PWD_SHIFT (20U)
  35398. #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)
  35399. #define USBPHY_CTRL_TOG_ENDPDMCHG_WKUP_MASK (0x200000U)
  35400. #define USBPHY_CTRL_TOG_ENDPDMCHG_WKUP_SHIFT (21U)
  35401. #define USBPHY_CTRL_TOG_ENDPDMCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENDPDMCHG_WKUP_SHIFT)) & USBPHY_CTRL_TOG_ENDPDMCHG_WKUP_MASK)
  35402. #define USBPHY_CTRL_TOG_ENIDCHG_WKUP_MASK (0x400000U)
  35403. #define USBPHY_CTRL_TOG_ENIDCHG_WKUP_SHIFT (22U)
  35404. #define USBPHY_CTRL_TOG_ENIDCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIDCHG_WKUP_SHIFT)) & USBPHY_CTRL_TOG_ENIDCHG_WKUP_MASK)
  35405. #define USBPHY_CTRL_TOG_ENVBUSCHG_WKUP_MASK (0x800000U)
  35406. #define USBPHY_CTRL_TOG_ENVBUSCHG_WKUP_SHIFT (23U)
  35407. #define USBPHY_CTRL_TOG_ENVBUSCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENVBUSCHG_WKUP_SHIFT)) & USBPHY_CTRL_TOG_ENVBUSCHG_WKUP_MASK)
  35408. #define USBPHY_CTRL_TOG_FSDLL_RST_EN_MASK (0x1000000U)
  35409. #define USBPHY_CTRL_TOG_FSDLL_RST_EN_SHIFT (24U)
  35410. #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)
  35411. #define USBPHY_CTRL_TOG_RSVD1_MASK (0x6000000U)
  35412. #define USBPHY_CTRL_TOG_RSVD1_SHIFT (25U)
  35413. #define USBPHY_CTRL_TOG_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_RSVD1_SHIFT)) & USBPHY_CTRL_TOG_RSVD1_MASK)
  35414. #define USBPHY_CTRL_TOG_OTG_ID_VALUE_MASK (0x8000000U)
  35415. #define USBPHY_CTRL_TOG_OTG_ID_VALUE_SHIFT (27U)
  35416. #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)
  35417. #define USBPHY_CTRL_TOG_HOST_FORCE_LS_SE0_MASK (0x10000000U)
  35418. #define USBPHY_CTRL_TOG_HOST_FORCE_LS_SE0_SHIFT (28U)
  35419. #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)
  35420. #define USBPHY_CTRL_TOG_UTMI_SUSPENDM_MASK (0x20000000U)
  35421. #define USBPHY_CTRL_TOG_UTMI_SUSPENDM_SHIFT (29U)
  35422. #define USBPHY_CTRL_TOG_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_TOG_UTMI_SUSPENDM_MASK)
  35423. #define USBPHY_CTRL_TOG_CLKGATE_MASK (0x40000000U)
  35424. #define USBPHY_CTRL_TOG_CLKGATE_SHIFT (30U)
  35425. #define USBPHY_CTRL_TOG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_CLKGATE_SHIFT)) & USBPHY_CTRL_TOG_CLKGATE_MASK)
  35426. #define USBPHY_CTRL_TOG_SFTRST_MASK (0x80000000U)
  35427. #define USBPHY_CTRL_TOG_SFTRST_SHIFT (31U)
  35428. #define USBPHY_CTRL_TOG_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_SFTRST_SHIFT)) & USBPHY_CTRL_TOG_SFTRST_MASK)
  35429. /*! @} */
  35430. /*! @name STATUS - USB PHY Status Register */
  35431. /*! @{ */
  35432. #define USBPHY_STATUS_RSVD0_MASK (0x7U)
  35433. #define USBPHY_STATUS_RSVD0_SHIFT (0U)
  35434. #define USBPHY_STATUS_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_RSVD0_SHIFT)) & USBPHY_STATUS_RSVD0_MASK)
  35435. #define USBPHY_STATUS_HOSTDISCONDETECT_STATUS_MASK (0x8U)
  35436. #define USBPHY_STATUS_HOSTDISCONDETECT_STATUS_SHIFT (3U)
  35437. #define USBPHY_STATUS_HOSTDISCONDETECT_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_HOSTDISCONDETECT_STATUS_SHIFT)) & USBPHY_STATUS_HOSTDISCONDETECT_STATUS_MASK)
  35438. #define USBPHY_STATUS_RSVD1_MASK (0x30U)
  35439. #define USBPHY_STATUS_RSVD1_SHIFT (4U)
  35440. #define USBPHY_STATUS_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_RSVD1_SHIFT)) & USBPHY_STATUS_RSVD1_MASK)
  35441. #define USBPHY_STATUS_DEVPLUGIN_STATUS_MASK (0x40U)
  35442. #define USBPHY_STATUS_DEVPLUGIN_STATUS_SHIFT (6U)
  35443. #define USBPHY_STATUS_DEVPLUGIN_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_DEVPLUGIN_STATUS_SHIFT)) & USBPHY_STATUS_DEVPLUGIN_STATUS_MASK)
  35444. #define USBPHY_STATUS_RSVD2_MASK (0x80U)
  35445. #define USBPHY_STATUS_RSVD2_SHIFT (7U)
  35446. #define USBPHY_STATUS_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_RSVD2_SHIFT)) & USBPHY_STATUS_RSVD2_MASK)
  35447. #define USBPHY_STATUS_OTGID_STATUS_MASK (0x100U)
  35448. #define USBPHY_STATUS_OTGID_STATUS_SHIFT (8U)
  35449. #define USBPHY_STATUS_OTGID_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_OTGID_STATUS_SHIFT)) & USBPHY_STATUS_OTGID_STATUS_MASK)
  35450. #define USBPHY_STATUS_RSVD3_MASK (0x200U)
  35451. #define USBPHY_STATUS_RSVD3_SHIFT (9U)
  35452. #define USBPHY_STATUS_RSVD3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_RSVD3_SHIFT)) & USBPHY_STATUS_RSVD3_MASK)
  35453. #define USBPHY_STATUS_RESUME_STATUS_MASK (0x400U)
  35454. #define USBPHY_STATUS_RESUME_STATUS_SHIFT (10U)
  35455. #define USBPHY_STATUS_RESUME_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_RESUME_STATUS_SHIFT)) & USBPHY_STATUS_RESUME_STATUS_MASK)
  35456. #define USBPHY_STATUS_RSVD4_MASK (0xFFFFF800U)
  35457. #define USBPHY_STATUS_RSVD4_SHIFT (11U)
  35458. #define USBPHY_STATUS_RSVD4(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_RSVD4_SHIFT)) & USBPHY_STATUS_RSVD4_MASK)
  35459. /*! @} */
  35460. /*! @name DEBUG - USB PHY Debug Register */
  35461. /*! @{ */
  35462. #define USBPHY_DEBUG_OTGIDPIOLOCK_MASK (0x1U)
  35463. #define USBPHY_DEBUG_OTGIDPIOLOCK_SHIFT (0U)
  35464. #define USBPHY_DEBUG_OTGIDPIOLOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_OTGIDPIOLOCK_SHIFT)) & USBPHY_DEBUG_OTGIDPIOLOCK_MASK)
  35465. #define USBPHY_DEBUG_DEBUG_INTERFACE_HOLD_MASK (0x2U)
  35466. #define USBPHY_DEBUG_DEBUG_INTERFACE_HOLD_SHIFT (1U)
  35467. #define USBPHY_DEBUG_DEBUG_INTERFACE_HOLD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_DEBUG_INTERFACE_HOLD_SHIFT)) & USBPHY_DEBUG_DEBUG_INTERFACE_HOLD_MASK)
  35468. #define USBPHY_DEBUG_HSTPULLDOWN_MASK (0xCU)
  35469. #define USBPHY_DEBUG_HSTPULLDOWN_SHIFT (2U)
  35470. #define USBPHY_DEBUG_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_HSTPULLDOWN_MASK)
  35471. #define USBPHY_DEBUG_ENHSTPULLDOWN_MASK (0x30U)
  35472. #define USBPHY_DEBUG_ENHSTPULLDOWN_SHIFT (4U)
  35473. #define USBPHY_DEBUG_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_ENHSTPULLDOWN_MASK)
  35474. #define USBPHY_DEBUG_RSVD0_MASK (0xC0U)
  35475. #define USBPHY_DEBUG_RSVD0_SHIFT (6U)
  35476. #define USBPHY_DEBUG_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_RSVD0_SHIFT)) & USBPHY_DEBUG_RSVD0_MASK)
  35477. #define USBPHY_DEBUG_TX2RXCOUNT_MASK (0xF00U)
  35478. #define USBPHY_DEBUG_TX2RXCOUNT_SHIFT (8U)
  35479. #define USBPHY_DEBUG_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_TX2RXCOUNT_MASK)
  35480. #define USBPHY_DEBUG_ENTX2RXCOUNT_MASK (0x1000U)
  35481. #define USBPHY_DEBUG_ENTX2RXCOUNT_SHIFT (12U)
  35482. #define USBPHY_DEBUG_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_ENTX2RXCOUNT_MASK)
  35483. #define USBPHY_DEBUG_RSVD1_MASK (0xE000U)
  35484. #define USBPHY_DEBUG_RSVD1_SHIFT (13U)
  35485. #define USBPHY_DEBUG_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_RSVD1_SHIFT)) & USBPHY_DEBUG_RSVD1_MASK)
  35486. #define USBPHY_DEBUG_SQUELCHRESETCOUNT_MASK (0x1F0000U)
  35487. #define USBPHY_DEBUG_SQUELCHRESETCOUNT_SHIFT (16U)
  35488. #define USBPHY_DEBUG_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG_SQUELCHRESETCOUNT_MASK)
  35489. #define USBPHY_DEBUG_RSVD2_MASK (0xE00000U)
  35490. #define USBPHY_DEBUG_RSVD2_SHIFT (21U)
  35491. #define USBPHY_DEBUG_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_RSVD2_SHIFT)) & USBPHY_DEBUG_RSVD2_MASK)
  35492. #define USBPHY_DEBUG_ENSQUELCHRESET_MASK (0x1000000U)
  35493. #define USBPHY_DEBUG_ENSQUELCHRESET_SHIFT (24U)
  35494. #define USBPHY_DEBUG_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG_ENSQUELCHRESET_MASK)
  35495. #define USBPHY_DEBUG_SQUELCHRESETLENGTH_MASK (0x1E000000U)
  35496. #define USBPHY_DEBUG_SQUELCHRESETLENGTH_SHIFT (25U)
  35497. #define USBPHY_DEBUG_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG_SQUELCHRESETLENGTH_MASK)
  35498. #define USBPHY_DEBUG_HOST_RESUME_DEBUG_MASK (0x20000000U)
  35499. #define USBPHY_DEBUG_HOST_RESUME_DEBUG_SHIFT (29U)
  35500. #define USBPHY_DEBUG_HOST_RESUME_DEBUG(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_HOST_RESUME_DEBUG_SHIFT)) & USBPHY_DEBUG_HOST_RESUME_DEBUG_MASK)
  35501. #define USBPHY_DEBUG_CLKGATE_MASK (0x40000000U)
  35502. #define USBPHY_DEBUG_CLKGATE_SHIFT (30U)
  35503. #define USBPHY_DEBUG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLKGATE_SHIFT)) & USBPHY_DEBUG_CLKGATE_MASK)
  35504. #define USBPHY_DEBUG_RSVD3_MASK (0x80000000U)
  35505. #define USBPHY_DEBUG_RSVD3_SHIFT (31U)
  35506. #define USBPHY_DEBUG_RSVD3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_RSVD3_SHIFT)) & USBPHY_DEBUG_RSVD3_MASK)
  35507. /*! @} */
  35508. /*! @name DEBUG_SET - USB PHY Debug Register */
  35509. /*! @{ */
  35510. #define USBPHY_DEBUG_SET_OTGIDPIOLOCK_MASK (0x1U)
  35511. #define USBPHY_DEBUG_SET_OTGIDPIOLOCK_SHIFT (0U)
  35512. #define USBPHY_DEBUG_SET_OTGIDPIOLOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_OTGIDPIOLOCK_SHIFT)) & USBPHY_DEBUG_SET_OTGIDPIOLOCK_MASK)
  35513. #define USBPHY_DEBUG_SET_DEBUG_INTERFACE_HOLD_MASK (0x2U)
  35514. #define USBPHY_DEBUG_SET_DEBUG_INTERFACE_HOLD_SHIFT (1U)
  35515. #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)
  35516. #define USBPHY_DEBUG_SET_HSTPULLDOWN_MASK (0xCU)
  35517. #define USBPHY_DEBUG_SET_HSTPULLDOWN_SHIFT (2U)
  35518. #define USBPHY_DEBUG_SET_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_SET_HSTPULLDOWN_MASK)
  35519. #define USBPHY_DEBUG_SET_ENHSTPULLDOWN_MASK (0x30U)
  35520. #define USBPHY_DEBUG_SET_ENHSTPULLDOWN_SHIFT (4U)
  35521. #define USBPHY_DEBUG_SET_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_SET_ENHSTPULLDOWN_MASK)
  35522. #define USBPHY_DEBUG_SET_RSVD0_MASK (0xC0U)
  35523. #define USBPHY_DEBUG_SET_RSVD0_SHIFT (6U)
  35524. #define USBPHY_DEBUG_SET_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_RSVD0_SHIFT)) & USBPHY_DEBUG_SET_RSVD0_MASK)
  35525. #define USBPHY_DEBUG_SET_TX2RXCOUNT_MASK (0xF00U)
  35526. #define USBPHY_DEBUG_SET_TX2RXCOUNT_SHIFT (8U)
  35527. #define USBPHY_DEBUG_SET_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_SET_TX2RXCOUNT_MASK)
  35528. #define USBPHY_DEBUG_SET_ENTX2RXCOUNT_MASK (0x1000U)
  35529. #define USBPHY_DEBUG_SET_ENTX2RXCOUNT_SHIFT (12U)
  35530. #define USBPHY_DEBUG_SET_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_SET_ENTX2RXCOUNT_MASK)
  35531. #define USBPHY_DEBUG_SET_RSVD1_MASK (0xE000U)
  35532. #define USBPHY_DEBUG_SET_RSVD1_SHIFT (13U)
  35533. #define USBPHY_DEBUG_SET_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_RSVD1_SHIFT)) & USBPHY_DEBUG_SET_RSVD1_MASK)
  35534. #define USBPHY_DEBUG_SET_SQUELCHRESETCOUNT_MASK (0x1F0000U)
  35535. #define USBPHY_DEBUG_SET_SQUELCHRESETCOUNT_SHIFT (16U)
  35536. #define USBPHY_DEBUG_SET_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG_SET_SQUELCHRESETCOUNT_MASK)
  35537. #define USBPHY_DEBUG_SET_RSVD2_MASK (0xE00000U)
  35538. #define USBPHY_DEBUG_SET_RSVD2_SHIFT (21U)
  35539. #define USBPHY_DEBUG_SET_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_RSVD2_SHIFT)) & USBPHY_DEBUG_SET_RSVD2_MASK)
  35540. #define USBPHY_DEBUG_SET_ENSQUELCHRESET_MASK (0x1000000U)
  35541. #define USBPHY_DEBUG_SET_ENSQUELCHRESET_SHIFT (24U)
  35542. #define USBPHY_DEBUG_SET_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG_SET_ENSQUELCHRESET_MASK)
  35543. #define USBPHY_DEBUG_SET_SQUELCHRESETLENGTH_MASK (0x1E000000U)
  35544. #define USBPHY_DEBUG_SET_SQUELCHRESETLENGTH_SHIFT (25U)
  35545. #define USBPHY_DEBUG_SET_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG_SET_SQUELCHRESETLENGTH_MASK)
  35546. #define USBPHY_DEBUG_SET_HOST_RESUME_DEBUG_MASK (0x20000000U)
  35547. #define USBPHY_DEBUG_SET_HOST_RESUME_DEBUG_SHIFT (29U)
  35548. #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)
  35549. #define USBPHY_DEBUG_SET_CLKGATE_MASK (0x40000000U)
  35550. #define USBPHY_DEBUG_SET_CLKGATE_SHIFT (30U)
  35551. #define USBPHY_DEBUG_SET_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_CLKGATE_SHIFT)) & USBPHY_DEBUG_SET_CLKGATE_MASK)
  35552. #define USBPHY_DEBUG_SET_RSVD3_MASK (0x80000000U)
  35553. #define USBPHY_DEBUG_SET_RSVD3_SHIFT (31U)
  35554. #define USBPHY_DEBUG_SET_RSVD3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_RSVD3_SHIFT)) & USBPHY_DEBUG_SET_RSVD3_MASK)
  35555. /*! @} */
  35556. /*! @name DEBUG_CLR - USB PHY Debug Register */
  35557. /*! @{ */
  35558. #define USBPHY_DEBUG_CLR_OTGIDPIOLOCK_MASK (0x1U)
  35559. #define USBPHY_DEBUG_CLR_OTGIDPIOLOCK_SHIFT (0U)
  35560. #define USBPHY_DEBUG_CLR_OTGIDPIOLOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_OTGIDPIOLOCK_SHIFT)) & USBPHY_DEBUG_CLR_OTGIDPIOLOCK_MASK)
  35561. #define USBPHY_DEBUG_CLR_DEBUG_INTERFACE_HOLD_MASK (0x2U)
  35562. #define USBPHY_DEBUG_CLR_DEBUG_INTERFACE_HOLD_SHIFT (1U)
  35563. #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)
  35564. #define USBPHY_DEBUG_CLR_HSTPULLDOWN_MASK (0xCU)
  35565. #define USBPHY_DEBUG_CLR_HSTPULLDOWN_SHIFT (2U)
  35566. #define USBPHY_DEBUG_CLR_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_CLR_HSTPULLDOWN_MASK)
  35567. #define USBPHY_DEBUG_CLR_ENHSTPULLDOWN_MASK (0x30U)
  35568. #define USBPHY_DEBUG_CLR_ENHSTPULLDOWN_SHIFT (4U)
  35569. #define USBPHY_DEBUG_CLR_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_CLR_ENHSTPULLDOWN_MASK)
  35570. #define USBPHY_DEBUG_CLR_RSVD0_MASK (0xC0U)
  35571. #define USBPHY_DEBUG_CLR_RSVD0_SHIFT (6U)
  35572. #define USBPHY_DEBUG_CLR_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_RSVD0_SHIFT)) & USBPHY_DEBUG_CLR_RSVD0_MASK)
  35573. #define USBPHY_DEBUG_CLR_TX2RXCOUNT_MASK (0xF00U)
  35574. #define USBPHY_DEBUG_CLR_TX2RXCOUNT_SHIFT (8U)
  35575. #define USBPHY_DEBUG_CLR_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_CLR_TX2RXCOUNT_MASK)
  35576. #define USBPHY_DEBUG_CLR_ENTX2RXCOUNT_MASK (0x1000U)
  35577. #define USBPHY_DEBUG_CLR_ENTX2RXCOUNT_SHIFT (12U)
  35578. #define USBPHY_DEBUG_CLR_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_CLR_ENTX2RXCOUNT_MASK)
  35579. #define USBPHY_DEBUG_CLR_RSVD1_MASK (0xE000U)
  35580. #define USBPHY_DEBUG_CLR_RSVD1_SHIFT (13U)
  35581. #define USBPHY_DEBUG_CLR_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_RSVD1_SHIFT)) & USBPHY_DEBUG_CLR_RSVD1_MASK)
  35582. #define USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT_MASK (0x1F0000U)
  35583. #define USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT_SHIFT (16U)
  35584. #define USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT_MASK)
  35585. #define USBPHY_DEBUG_CLR_RSVD2_MASK (0xE00000U)
  35586. #define USBPHY_DEBUG_CLR_RSVD2_SHIFT (21U)
  35587. #define USBPHY_DEBUG_CLR_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_RSVD2_SHIFT)) & USBPHY_DEBUG_CLR_RSVD2_MASK)
  35588. #define USBPHY_DEBUG_CLR_ENSQUELCHRESET_MASK (0x1000000U)
  35589. #define USBPHY_DEBUG_CLR_ENSQUELCHRESET_SHIFT (24U)
  35590. #define USBPHY_DEBUG_CLR_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG_CLR_ENSQUELCHRESET_MASK)
  35591. #define USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH_MASK (0x1E000000U)
  35592. #define USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH_SHIFT (25U)
  35593. #define USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH_MASK)
  35594. #define USBPHY_DEBUG_CLR_HOST_RESUME_DEBUG_MASK (0x20000000U)
  35595. #define USBPHY_DEBUG_CLR_HOST_RESUME_DEBUG_SHIFT (29U)
  35596. #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)
  35597. #define USBPHY_DEBUG_CLR_CLKGATE_MASK (0x40000000U)
  35598. #define USBPHY_DEBUG_CLR_CLKGATE_SHIFT (30U)
  35599. #define USBPHY_DEBUG_CLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_CLKGATE_SHIFT)) & USBPHY_DEBUG_CLR_CLKGATE_MASK)
  35600. #define USBPHY_DEBUG_CLR_RSVD3_MASK (0x80000000U)
  35601. #define USBPHY_DEBUG_CLR_RSVD3_SHIFT (31U)
  35602. #define USBPHY_DEBUG_CLR_RSVD3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_RSVD3_SHIFT)) & USBPHY_DEBUG_CLR_RSVD3_MASK)
  35603. /*! @} */
  35604. /*! @name DEBUG_TOG - USB PHY Debug Register */
  35605. /*! @{ */
  35606. #define USBPHY_DEBUG_TOG_OTGIDPIOLOCK_MASK (0x1U)
  35607. #define USBPHY_DEBUG_TOG_OTGIDPIOLOCK_SHIFT (0U)
  35608. #define USBPHY_DEBUG_TOG_OTGIDPIOLOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_OTGIDPIOLOCK_SHIFT)) & USBPHY_DEBUG_TOG_OTGIDPIOLOCK_MASK)
  35609. #define USBPHY_DEBUG_TOG_DEBUG_INTERFACE_HOLD_MASK (0x2U)
  35610. #define USBPHY_DEBUG_TOG_DEBUG_INTERFACE_HOLD_SHIFT (1U)
  35611. #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)
  35612. #define USBPHY_DEBUG_TOG_HSTPULLDOWN_MASK (0xCU)
  35613. #define USBPHY_DEBUG_TOG_HSTPULLDOWN_SHIFT (2U)
  35614. #define USBPHY_DEBUG_TOG_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_TOG_HSTPULLDOWN_MASK)
  35615. #define USBPHY_DEBUG_TOG_ENHSTPULLDOWN_MASK (0x30U)
  35616. #define USBPHY_DEBUG_TOG_ENHSTPULLDOWN_SHIFT (4U)
  35617. #define USBPHY_DEBUG_TOG_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_TOG_ENHSTPULLDOWN_MASK)
  35618. #define USBPHY_DEBUG_TOG_RSVD0_MASK (0xC0U)
  35619. #define USBPHY_DEBUG_TOG_RSVD0_SHIFT (6U)
  35620. #define USBPHY_DEBUG_TOG_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_RSVD0_SHIFT)) & USBPHY_DEBUG_TOG_RSVD0_MASK)
  35621. #define USBPHY_DEBUG_TOG_TX2RXCOUNT_MASK (0xF00U)
  35622. #define USBPHY_DEBUG_TOG_TX2RXCOUNT_SHIFT (8U)
  35623. #define USBPHY_DEBUG_TOG_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_TOG_TX2RXCOUNT_MASK)
  35624. #define USBPHY_DEBUG_TOG_ENTX2RXCOUNT_MASK (0x1000U)
  35625. #define USBPHY_DEBUG_TOG_ENTX2RXCOUNT_SHIFT (12U)
  35626. #define USBPHY_DEBUG_TOG_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_TOG_ENTX2RXCOUNT_MASK)
  35627. #define USBPHY_DEBUG_TOG_RSVD1_MASK (0xE000U)
  35628. #define USBPHY_DEBUG_TOG_RSVD1_SHIFT (13U)
  35629. #define USBPHY_DEBUG_TOG_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_RSVD1_SHIFT)) & USBPHY_DEBUG_TOG_RSVD1_MASK)
  35630. #define USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT_MASK (0x1F0000U)
  35631. #define USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT_SHIFT (16U)
  35632. #define USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT_MASK)
  35633. #define USBPHY_DEBUG_TOG_RSVD2_MASK (0xE00000U)
  35634. #define USBPHY_DEBUG_TOG_RSVD2_SHIFT (21U)
  35635. #define USBPHY_DEBUG_TOG_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_RSVD2_SHIFT)) & USBPHY_DEBUG_TOG_RSVD2_MASK)
  35636. #define USBPHY_DEBUG_TOG_ENSQUELCHRESET_MASK (0x1000000U)
  35637. #define USBPHY_DEBUG_TOG_ENSQUELCHRESET_SHIFT (24U)
  35638. #define USBPHY_DEBUG_TOG_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG_TOG_ENSQUELCHRESET_MASK)
  35639. #define USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH_MASK (0x1E000000U)
  35640. #define USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH_SHIFT (25U)
  35641. #define USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH_MASK)
  35642. #define USBPHY_DEBUG_TOG_HOST_RESUME_DEBUG_MASK (0x20000000U)
  35643. #define USBPHY_DEBUG_TOG_HOST_RESUME_DEBUG_SHIFT (29U)
  35644. #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)
  35645. #define USBPHY_DEBUG_TOG_CLKGATE_MASK (0x40000000U)
  35646. #define USBPHY_DEBUG_TOG_CLKGATE_SHIFT (30U)
  35647. #define USBPHY_DEBUG_TOG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_CLKGATE_SHIFT)) & USBPHY_DEBUG_TOG_CLKGATE_MASK)
  35648. #define USBPHY_DEBUG_TOG_RSVD3_MASK (0x80000000U)
  35649. #define USBPHY_DEBUG_TOG_RSVD3_SHIFT (31U)
  35650. #define USBPHY_DEBUG_TOG_RSVD3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_RSVD3_SHIFT)) & USBPHY_DEBUG_TOG_RSVD3_MASK)
  35651. /*! @} */
  35652. /*! @name DEBUG0_STATUS - UTMI Debug Status Register 0 */
  35653. /*! @{ */
  35654. #define USBPHY_DEBUG0_STATUS_LOOP_BACK_FAIL_COUNT_MASK (0xFFFFU)
  35655. #define USBPHY_DEBUG0_STATUS_LOOP_BACK_FAIL_COUNT_SHIFT (0U)
  35656. #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)
  35657. #define USBPHY_DEBUG0_STATUS_UTMI_RXERROR_FAIL_COUNT_MASK (0x3FF0000U)
  35658. #define USBPHY_DEBUG0_STATUS_UTMI_RXERROR_FAIL_COUNT_SHIFT (16U)
  35659. #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)
  35660. #define USBPHY_DEBUG0_STATUS_SQUELCH_COUNT_MASK (0xFC000000U)
  35661. #define USBPHY_DEBUG0_STATUS_SQUELCH_COUNT_SHIFT (26U)
  35662. #define USBPHY_DEBUG0_STATUS_SQUELCH_COUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_STATUS_SQUELCH_COUNT_SHIFT)) & USBPHY_DEBUG0_STATUS_SQUELCH_COUNT_MASK)
  35663. /*! @} */
  35664. /*! @name DEBUG1 - UTMI Debug Status Register 1 */
  35665. /*! @{ */
  35666. #define USBPHY_DEBUG1_RSVD0_MASK (0x1FFFU)
  35667. #define USBPHY_DEBUG1_RSVD0_SHIFT (0U)
  35668. #define USBPHY_DEBUG1_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_RSVD0_SHIFT)) & USBPHY_DEBUG1_RSVD0_MASK)
  35669. #define USBPHY_DEBUG1_ENTAILADJVD_MASK (0x6000U)
  35670. #define USBPHY_DEBUG1_ENTAILADJVD_SHIFT (13U)
  35671. #define USBPHY_DEBUG1_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_ENTAILADJVD_MASK)
  35672. #define USBPHY_DEBUG1_RSVD1_MASK (0xFFFF8000U)
  35673. #define USBPHY_DEBUG1_RSVD1_SHIFT (15U)
  35674. #define USBPHY_DEBUG1_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_RSVD1_SHIFT)) & USBPHY_DEBUG1_RSVD1_MASK)
  35675. /*! @} */
  35676. /*! @name DEBUG1_SET - UTMI Debug Status Register 1 */
  35677. /*! @{ */
  35678. #define USBPHY_DEBUG1_SET_RSVD0_MASK (0x1FFFU)
  35679. #define USBPHY_DEBUG1_SET_RSVD0_SHIFT (0U)
  35680. #define USBPHY_DEBUG1_SET_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_SET_RSVD0_SHIFT)) & USBPHY_DEBUG1_SET_RSVD0_MASK)
  35681. #define USBPHY_DEBUG1_SET_ENTAILADJVD_MASK (0x6000U)
  35682. #define USBPHY_DEBUG1_SET_ENTAILADJVD_SHIFT (13U)
  35683. #define USBPHY_DEBUG1_SET_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_SET_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_SET_ENTAILADJVD_MASK)
  35684. #define USBPHY_DEBUG1_SET_RSVD1_MASK (0xFFFF8000U)
  35685. #define USBPHY_DEBUG1_SET_RSVD1_SHIFT (15U)
  35686. #define USBPHY_DEBUG1_SET_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_SET_RSVD1_SHIFT)) & USBPHY_DEBUG1_SET_RSVD1_MASK)
  35687. /*! @} */
  35688. /*! @name DEBUG1_CLR - UTMI Debug Status Register 1 */
  35689. /*! @{ */
  35690. #define USBPHY_DEBUG1_CLR_RSVD0_MASK (0x1FFFU)
  35691. #define USBPHY_DEBUG1_CLR_RSVD0_SHIFT (0U)
  35692. #define USBPHY_DEBUG1_CLR_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_CLR_RSVD0_SHIFT)) & USBPHY_DEBUG1_CLR_RSVD0_MASK)
  35693. #define USBPHY_DEBUG1_CLR_ENTAILADJVD_MASK (0x6000U)
  35694. #define USBPHY_DEBUG1_CLR_ENTAILADJVD_SHIFT (13U)
  35695. #define USBPHY_DEBUG1_CLR_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_CLR_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_CLR_ENTAILADJVD_MASK)
  35696. #define USBPHY_DEBUG1_CLR_RSVD1_MASK (0xFFFF8000U)
  35697. #define USBPHY_DEBUG1_CLR_RSVD1_SHIFT (15U)
  35698. #define USBPHY_DEBUG1_CLR_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_CLR_RSVD1_SHIFT)) & USBPHY_DEBUG1_CLR_RSVD1_MASK)
  35699. /*! @} */
  35700. /*! @name DEBUG1_TOG - UTMI Debug Status Register 1 */
  35701. /*! @{ */
  35702. #define USBPHY_DEBUG1_TOG_RSVD0_MASK (0x1FFFU)
  35703. #define USBPHY_DEBUG1_TOG_RSVD0_SHIFT (0U)
  35704. #define USBPHY_DEBUG1_TOG_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_TOG_RSVD0_SHIFT)) & USBPHY_DEBUG1_TOG_RSVD0_MASK)
  35705. #define USBPHY_DEBUG1_TOG_ENTAILADJVD_MASK (0x6000U)
  35706. #define USBPHY_DEBUG1_TOG_ENTAILADJVD_SHIFT (13U)
  35707. #define USBPHY_DEBUG1_TOG_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_TOG_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_TOG_ENTAILADJVD_MASK)
  35708. #define USBPHY_DEBUG1_TOG_RSVD1_MASK (0xFFFF8000U)
  35709. #define USBPHY_DEBUG1_TOG_RSVD1_SHIFT (15U)
  35710. #define USBPHY_DEBUG1_TOG_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_TOG_RSVD1_SHIFT)) & USBPHY_DEBUG1_TOG_RSVD1_MASK)
  35711. /*! @} */
  35712. /*! @name VERSION - UTMI RTL Version */
  35713. /*! @{ */
  35714. #define USBPHY_VERSION_STEP_MASK (0xFFFFU)
  35715. #define USBPHY_VERSION_STEP_SHIFT (0U)
  35716. #define USBPHY_VERSION_STEP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_VERSION_STEP_SHIFT)) & USBPHY_VERSION_STEP_MASK)
  35717. #define USBPHY_VERSION_MINOR_MASK (0xFF0000U)
  35718. #define USBPHY_VERSION_MINOR_SHIFT (16U)
  35719. #define USBPHY_VERSION_MINOR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_VERSION_MINOR_SHIFT)) & USBPHY_VERSION_MINOR_MASK)
  35720. #define USBPHY_VERSION_MAJOR_MASK (0xFF000000U)
  35721. #define USBPHY_VERSION_MAJOR_SHIFT (24U)
  35722. #define USBPHY_VERSION_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_VERSION_MAJOR_SHIFT)) & USBPHY_VERSION_MAJOR_MASK)
  35723. /*! @} */
  35724. /*!
  35725. * @}
  35726. */ /* end of group USBPHY_Register_Masks */
  35727. /* USBPHY - Peripheral instance base addresses */
  35728. /** Peripheral USBPHY base address */
  35729. #define USBPHY_BASE (0x400D9000u)
  35730. /** Peripheral USBPHY base pointer */
  35731. #define USBPHY ((USBPHY_Type *)USBPHY_BASE)
  35732. /** Array initializer of USBPHY peripheral base addresses */
  35733. #define USBPHY_BASE_ADDRS { 0u, USBPHY_BASE }
  35734. /** Array initializer of USBPHY peripheral base pointers */
  35735. #define USBPHY_BASE_PTRS { (USBPHY_Type *)0u, USBPHY }
  35736. /** Interrupt vectors for the USBPHY peripheral type */
  35737. #define USBPHY_IRQS { NotAvail_IRQn, USB_PHY_IRQn }
  35738. /* Backward compatibility */
  35739. #define USBPHY_CTRL_ENDEVPLUGINDET_MASK USBPHY_CTRL_ENDEVPLUGINDETECT_MASK
  35740. #define USBPHY_CTRL_ENDEVPLUGINDET_SHIFT USBPHY_CTRL_ENDEVPLUGINDETECT_SHIFT
  35741. #define USBPHY_CTRL_ENDEVPLUGINDET(x) USBPHY_CTRL_ENDEVPLUGINDETECT(x)
  35742. #define USBPHY_TX_TXCAL45DM_MASK USBPHY_TX_TXCAL45DN_MASK
  35743. #define USBPHY_TX_TXCAL45DM_SHIFT USBPHY_TX_TXCAL45DN_SHIFT
  35744. #define USBPHY_TX_TXCAL45DM(x) USBPHY_TX_TXCAL45DN(x)
  35745. /*!
  35746. * @}
  35747. */ /* end of group USBPHY_Peripheral_Access_Layer */
  35748. /* ----------------------------------------------------------------------------
  35749. -- USB_ANALOG Peripheral Access Layer
  35750. ---------------------------------------------------------------------------- */
  35751. /*!
  35752. * @addtogroup USB_ANALOG_Peripheral_Access_Layer USB_ANALOG Peripheral Access Layer
  35753. * @{
  35754. */
  35755. /** USB_ANALOG - Register Layout Typedef */
  35756. typedef struct {
  35757. uint8_t RESERVED_0[416];
  35758. struct { /* offset: 0x1A0, array step: 0x60 */
  35759. __IO uint32_t VBUS_DETECT; /**< USB VBUS Detect Register, array offset: 0x1A0, array step: 0x60 */
  35760. __IO uint32_t VBUS_DETECT_SET; /**< USB VBUS Detect Register, array offset: 0x1A4, array step: 0x60 */
  35761. __IO uint32_t VBUS_DETECT_CLR; /**< USB VBUS Detect Register, array offset: 0x1A8, array step: 0x60 */
  35762. __IO uint32_t VBUS_DETECT_TOG; /**< USB VBUS Detect Register, array offset: 0x1AC, array step: 0x60 */
  35763. __IO uint32_t CHRG_DETECT; /**< USB Charger Detect Register, array offset: 0x1B0, array step: 0x60 */
  35764. __IO uint32_t CHRG_DETECT_SET; /**< USB Charger Detect Register, array offset: 0x1B4, array step: 0x60 */
  35765. __IO uint32_t CHRG_DETECT_CLR; /**< USB Charger Detect Register, array offset: 0x1B8, array step: 0x60 */
  35766. __IO uint32_t CHRG_DETECT_TOG; /**< USB Charger Detect Register, array offset: 0x1BC, array step: 0x60 */
  35767. __I uint32_t VBUS_DETECT_STAT; /**< USB VBUS Detect Status Register, array offset: 0x1C0, array step: 0x60 */
  35768. uint8_t RESERVED_0[12];
  35769. __I uint32_t CHRG_DETECT_STAT; /**< USB Charger Detect Status Register, array offset: 0x1D0, array step: 0x60 */
  35770. uint8_t RESERVED_1[12];
  35771. __IO uint32_t LOOPBACK; /**< USB Loopback Test Register, array offset: 0x1E0, array step: 0x60 */
  35772. __IO uint32_t LOOPBACK_SET; /**< USB Loopback Test Register, array offset: 0x1E4, array step: 0x60 */
  35773. __IO uint32_t LOOPBACK_CLR; /**< USB Loopback Test Register, array offset: 0x1E8, array step: 0x60 */
  35774. __IO uint32_t LOOPBACK_TOG; /**< USB Loopback Test Register, array offset: 0x1EC, array step: 0x60 */
  35775. __IO uint32_t MISC; /**< USB Misc Register, array offset: 0x1F0, array step: 0x60 */
  35776. __IO uint32_t MISC_SET; /**< USB Misc Register, array offset: 0x1F4, array step: 0x60 */
  35777. __IO uint32_t MISC_CLR; /**< USB Misc Register, array offset: 0x1F8, array step: 0x60 */
  35778. __IO uint32_t MISC_TOG; /**< USB Misc Register, array offset: 0x1FC, array step: 0x60 */
  35779. } INSTANCE[1];
  35780. uint8_t RESERVED_1[96];
  35781. __I uint32_t DIGPROG; /**< Chip Silicon Version, offset: 0x260 */
  35782. } USB_ANALOG_Type;
  35783. /* ----------------------------------------------------------------------------
  35784. -- USB_ANALOG Register Masks
  35785. ---------------------------------------------------------------------------- */
  35786. /*!
  35787. * @addtogroup USB_ANALOG_Register_Masks USB_ANALOG Register Masks
  35788. * @{
  35789. */
  35790. /*! @name VBUS_DETECT - USB VBUS Detect Register */
  35791. /*! @{ */
  35792. #define USB_ANALOG_VBUS_DETECT_VBUSVALID_THRESH_MASK (0x7U)
  35793. #define USB_ANALOG_VBUS_DETECT_VBUSVALID_THRESH_SHIFT (0U)
  35794. /*! VBUSVALID_THRESH
  35795. * 0b000..4.0V
  35796. * 0b001..4.1V
  35797. * 0b010..4.2V
  35798. * 0b011..4.3V
  35799. * 0b100..4.4V (default)
  35800. * 0b101..4.5V
  35801. * 0b110..4.6V
  35802. * 0b111..4.7V
  35803. */
  35804. #define USB_ANALOG_VBUS_DETECT_VBUSVALID_THRESH(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_VBUSVALID_THRESH_SHIFT)) & USB_ANALOG_VBUS_DETECT_VBUSVALID_THRESH_MASK)
  35805. #define USB_ANALOG_VBUS_DETECT_VBUSVALID_PWRUP_CMPS_MASK (0x100000U)
  35806. #define USB_ANALOG_VBUS_DETECT_VBUSVALID_PWRUP_CMPS_SHIFT (20U)
  35807. #define USB_ANALOG_VBUS_DETECT_VBUSVALID_PWRUP_CMPS(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_VBUSVALID_PWRUP_CMPS_SHIFT)) & USB_ANALOG_VBUS_DETECT_VBUSVALID_PWRUP_CMPS_MASK)
  35808. #define USB_ANALOG_VBUS_DETECT_DISCHARGE_VBUS_MASK (0x4000000U)
  35809. #define USB_ANALOG_VBUS_DETECT_DISCHARGE_VBUS_SHIFT (26U)
  35810. #define USB_ANALOG_VBUS_DETECT_DISCHARGE_VBUS(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_DISCHARGE_VBUS_SHIFT)) & USB_ANALOG_VBUS_DETECT_DISCHARGE_VBUS_MASK)
  35811. #define USB_ANALOG_VBUS_DETECT_CHARGE_VBUS_MASK (0x8000000U)
  35812. #define USB_ANALOG_VBUS_DETECT_CHARGE_VBUS_SHIFT (27U)
  35813. #define USB_ANALOG_VBUS_DETECT_CHARGE_VBUS(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_CHARGE_VBUS_SHIFT)) & USB_ANALOG_VBUS_DETECT_CHARGE_VBUS_MASK)
  35814. /*! @} */
  35815. /* The count of USB_ANALOG_VBUS_DETECT */
  35816. #define USB_ANALOG_VBUS_DETECT_COUNT (1U)
  35817. /*! @name VBUS_DETECT_SET - USB VBUS Detect Register */
  35818. /*! @{ */
  35819. #define USB_ANALOG_VBUS_DETECT_SET_VBUSVALID_THRESH_MASK (0x7U)
  35820. #define USB_ANALOG_VBUS_DETECT_SET_VBUSVALID_THRESH_SHIFT (0U)
  35821. /*! VBUSVALID_THRESH
  35822. * 0b000..4.0V
  35823. * 0b001..4.1V
  35824. * 0b010..4.2V
  35825. * 0b011..4.3V
  35826. * 0b100..4.4V (default)
  35827. * 0b101..4.5V
  35828. * 0b110..4.6V
  35829. * 0b111..4.7V
  35830. */
  35831. #define USB_ANALOG_VBUS_DETECT_SET_VBUSVALID_THRESH(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_SET_VBUSVALID_THRESH_SHIFT)) & USB_ANALOG_VBUS_DETECT_SET_VBUSVALID_THRESH_MASK)
  35832. #define USB_ANALOG_VBUS_DETECT_SET_VBUSVALID_PWRUP_CMPS_MASK (0x100000U)
  35833. #define USB_ANALOG_VBUS_DETECT_SET_VBUSVALID_PWRUP_CMPS_SHIFT (20U)
  35834. #define USB_ANALOG_VBUS_DETECT_SET_VBUSVALID_PWRUP_CMPS(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_SET_VBUSVALID_PWRUP_CMPS_SHIFT)) & USB_ANALOG_VBUS_DETECT_SET_VBUSVALID_PWRUP_CMPS_MASK)
  35835. #define USB_ANALOG_VBUS_DETECT_SET_DISCHARGE_VBUS_MASK (0x4000000U)
  35836. #define USB_ANALOG_VBUS_DETECT_SET_DISCHARGE_VBUS_SHIFT (26U)
  35837. #define USB_ANALOG_VBUS_DETECT_SET_DISCHARGE_VBUS(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_SET_DISCHARGE_VBUS_SHIFT)) & USB_ANALOG_VBUS_DETECT_SET_DISCHARGE_VBUS_MASK)
  35838. #define USB_ANALOG_VBUS_DETECT_SET_CHARGE_VBUS_MASK (0x8000000U)
  35839. #define USB_ANALOG_VBUS_DETECT_SET_CHARGE_VBUS_SHIFT (27U)
  35840. #define USB_ANALOG_VBUS_DETECT_SET_CHARGE_VBUS(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_SET_CHARGE_VBUS_SHIFT)) & USB_ANALOG_VBUS_DETECT_SET_CHARGE_VBUS_MASK)
  35841. /*! @} */
  35842. /* The count of USB_ANALOG_VBUS_DETECT_SET */
  35843. #define USB_ANALOG_VBUS_DETECT_SET_COUNT (1U)
  35844. /*! @name VBUS_DETECT_CLR - USB VBUS Detect Register */
  35845. /*! @{ */
  35846. #define USB_ANALOG_VBUS_DETECT_CLR_VBUSVALID_THRESH_MASK (0x7U)
  35847. #define USB_ANALOG_VBUS_DETECT_CLR_VBUSVALID_THRESH_SHIFT (0U)
  35848. /*! VBUSVALID_THRESH
  35849. * 0b000..4.0V
  35850. * 0b001..4.1V
  35851. * 0b010..4.2V
  35852. * 0b011..4.3V
  35853. * 0b100..4.4V (default)
  35854. * 0b101..4.5V
  35855. * 0b110..4.6V
  35856. * 0b111..4.7V
  35857. */
  35858. #define USB_ANALOG_VBUS_DETECT_CLR_VBUSVALID_THRESH(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_CLR_VBUSVALID_THRESH_SHIFT)) & USB_ANALOG_VBUS_DETECT_CLR_VBUSVALID_THRESH_MASK)
  35859. #define USB_ANALOG_VBUS_DETECT_CLR_VBUSVALID_PWRUP_CMPS_MASK (0x100000U)
  35860. #define USB_ANALOG_VBUS_DETECT_CLR_VBUSVALID_PWRUP_CMPS_SHIFT (20U)
  35861. #define USB_ANALOG_VBUS_DETECT_CLR_VBUSVALID_PWRUP_CMPS(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_CLR_VBUSVALID_PWRUP_CMPS_SHIFT)) & USB_ANALOG_VBUS_DETECT_CLR_VBUSVALID_PWRUP_CMPS_MASK)
  35862. #define USB_ANALOG_VBUS_DETECT_CLR_DISCHARGE_VBUS_MASK (0x4000000U)
  35863. #define USB_ANALOG_VBUS_DETECT_CLR_DISCHARGE_VBUS_SHIFT (26U)
  35864. #define USB_ANALOG_VBUS_DETECT_CLR_DISCHARGE_VBUS(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_CLR_DISCHARGE_VBUS_SHIFT)) & USB_ANALOG_VBUS_DETECT_CLR_DISCHARGE_VBUS_MASK)
  35865. #define USB_ANALOG_VBUS_DETECT_CLR_CHARGE_VBUS_MASK (0x8000000U)
  35866. #define USB_ANALOG_VBUS_DETECT_CLR_CHARGE_VBUS_SHIFT (27U)
  35867. #define USB_ANALOG_VBUS_DETECT_CLR_CHARGE_VBUS(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_CLR_CHARGE_VBUS_SHIFT)) & USB_ANALOG_VBUS_DETECT_CLR_CHARGE_VBUS_MASK)
  35868. /*! @} */
  35869. /* The count of USB_ANALOG_VBUS_DETECT_CLR */
  35870. #define USB_ANALOG_VBUS_DETECT_CLR_COUNT (1U)
  35871. /*! @name VBUS_DETECT_TOG - USB VBUS Detect Register */
  35872. /*! @{ */
  35873. #define USB_ANALOG_VBUS_DETECT_TOG_VBUSVALID_THRESH_MASK (0x7U)
  35874. #define USB_ANALOG_VBUS_DETECT_TOG_VBUSVALID_THRESH_SHIFT (0U)
  35875. /*! VBUSVALID_THRESH
  35876. * 0b000..4.0V
  35877. * 0b001..4.1V
  35878. * 0b010..4.2V
  35879. * 0b011..4.3V
  35880. * 0b100..4.4V (default)
  35881. * 0b101..4.5V
  35882. * 0b110..4.6V
  35883. * 0b111..4.7V
  35884. */
  35885. #define USB_ANALOG_VBUS_DETECT_TOG_VBUSVALID_THRESH(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_TOG_VBUSVALID_THRESH_SHIFT)) & USB_ANALOG_VBUS_DETECT_TOG_VBUSVALID_THRESH_MASK)
  35886. #define USB_ANALOG_VBUS_DETECT_TOG_VBUSVALID_PWRUP_CMPS_MASK (0x100000U)
  35887. #define USB_ANALOG_VBUS_DETECT_TOG_VBUSVALID_PWRUP_CMPS_SHIFT (20U)
  35888. #define USB_ANALOG_VBUS_DETECT_TOG_VBUSVALID_PWRUP_CMPS(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_TOG_VBUSVALID_PWRUP_CMPS_SHIFT)) & USB_ANALOG_VBUS_DETECT_TOG_VBUSVALID_PWRUP_CMPS_MASK)
  35889. #define USB_ANALOG_VBUS_DETECT_TOG_DISCHARGE_VBUS_MASK (0x4000000U)
  35890. #define USB_ANALOG_VBUS_DETECT_TOG_DISCHARGE_VBUS_SHIFT (26U)
  35891. #define USB_ANALOG_VBUS_DETECT_TOG_DISCHARGE_VBUS(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_TOG_DISCHARGE_VBUS_SHIFT)) & USB_ANALOG_VBUS_DETECT_TOG_DISCHARGE_VBUS_MASK)
  35892. #define USB_ANALOG_VBUS_DETECT_TOG_CHARGE_VBUS_MASK (0x8000000U)
  35893. #define USB_ANALOG_VBUS_DETECT_TOG_CHARGE_VBUS_SHIFT (27U)
  35894. #define USB_ANALOG_VBUS_DETECT_TOG_CHARGE_VBUS(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_TOG_CHARGE_VBUS_SHIFT)) & USB_ANALOG_VBUS_DETECT_TOG_CHARGE_VBUS_MASK)
  35895. /*! @} */
  35896. /* The count of USB_ANALOG_VBUS_DETECT_TOG */
  35897. #define USB_ANALOG_VBUS_DETECT_TOG_COUNT (1U)
  35898. /*! @name CHRG_DETECT - USB Charger Detect Register */
  35899. /*! @{ */
  35900. #define USB_ANALOG_CHRG_DETECT_CHK_CONTACT_MASK (0x40000U)
  35901. #define USB_ANALOG_CHRG_DETECT_CHK_CONTACT_SHIFT (18U)
  35902. /*! CHK_CONTACT - Check the contact of USB plug
  35903. * 0b0..Do not check the contact of USB plug.
  35904. * 0b1..Check whether the USB plug has been in contact with each other
  35905. */
  35906. #define USB_ANALOG_CHRG_DETECT_CHK_CONTACT(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_CHRG_DETECT_CHK_CONTACT_SHIFT)) & USB_ANALOG_CHRG_DETECT_CHK_CONTACT_MASK)
  35907. #define USB_ANALOG_CHRG_DETECT_CHK_CHRG_B_MASK (0x80000U)
  35908. #define USB_ANALOG_CHRG_DETECT_CHK_CHRG_B_SHIFT (19U)
  35909. /*! CHK_CHRG_B - Check the charger connection
  35910. * 0b0..Check whether a charger (either a dedicated charger or a host charger) is connected to USB port.
  35911. * 0b1..Do not check whether a charger is connected to the USB port.
  35912. */
  35913. #define USB_ANALOG_CHRG_DETECT_CHK_CHRG_B(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_CHRG_DETECT_CHK_CHRG_B_SHIFT)) & USB_ANALOG_CHRG_DETECT_CHK_CHRG_B_MASK)
  35914. #define USB_ANALOG_CHRG_DETECT_EN_B_MASK (0x100000U)
  35915. #define USB_ANALOG_CHRG_DETECT_EN_B_SHIFT (20U)
  35916. /*! EN_B
  35917. * 0b0..Enable the charger detector.
  35918. * 0b1..Disable the charger detector.
  35919. */
  35920. #define USB_ANALOG_CHRG_DETECT_EN_B(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_CHRG_DETECT_EN_B_SHIFT)) & USB_ANALOG_CHRG_DETECT_EN_B_MASK)
  35921. /*! @} */
  35922. /* The count of USB_ANALOG_CHRG_DETECT */
  35923. #define USB_ANALOG_CHRG_DETECT_COUNT (1U)
  35924. /*! @name CHRG_DETECT_SET - USB Charger Detect Register */
  35925. /*! @{ */
  35926. #define USB_ANALOG_CHRG_DETECT_SET_CHK_CONTACT_MASK (0x40000U)
  35927. #define USB_ANALOG_CHRG_DETECT_SET_CHK_CONTACT_SHIFT (18U)
  35928. /*! CHK_CONTACT - Check the contact of USB plug
  35929. * 0b0..Do not check the contact of USB plug.
  35930. * 0b1..Check whether the USB plug has been in contact with each other
  35931. */
  35932. #define USB_ANALOG_CHRG_DETECT_SET_CHK_CONTACT(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_CHRG_DETECT_SET_CHK_CONTACT_SHIFT)) & USB_ANALOG_CHRG_DETECT_SET_CHK_CONTACT_MASK)
  35933. #define USB_ANALOG_CHRG_DETECT_SET_CHK_CHRG_B_MASK (0x80000U)
  35934. #define USB_ANALOG_CHRG_DETECT_SET_CHK_CHRG_B_SHIFT (19U)
  35935. /*! CHK_CHRG_B - Check the charger connection
  35936. * 0b0..Check whether a charger (either a dedicated charger or a host charger) is connected to USB port.
  35937. * 0b1..Do not check whether a charger is connected to the USB port.
  35938. */
  35939. #define USB_ANALOG_CHRG_DETECT_SET_CHK_CHRG_B(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_CHRG_DETECT_SET_CHK_CHRG_B_SHIFT)) & USB_ANALOG_CHRG_DETECT_SET_CHK_CHRG_B_MASK)
  35940. #define USB_ANALOG_CHRG_DETECT_SET_EN_B_MASK (0x100000U)
  35941. #define USB_ANALOG_CHRG_DETECT_SET_EN_B_SHIFT (20U)
  35942. /*! EN_B
  35943. * 0b0..Enable the charger detector.
  35944. * 0b1..Disable the charger detector.
  35945. */
  35946. #define USB_ANALOG_CHRG_DETECT_SET_EN_B(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_CHRG_DETECT_SET_EN_B_SHIFT)) & USB_ANALOG_CHRG_DETECT_SET_EN_B_MASK)
  35947. /*! @} */
  35948. /* The count of USB_ANALOG_CHRG_DETECT_SET */
  35949. #define USB_ANALOG_CHRG_DETECT_SET_COUNT (1U)
  35950. /*! @name CHRG_DETECT_CLR - USB Charger Detect Register */
  35951. /*! @{ */
  35952. #define USB_ANALOG_CHRG_DETECT_CLR_CHK_CONTACT_MASK (0x40000U)
  35953. #define USB_ANALOG_CHRG_DETECT_CLR_CHK_CONTACT_SHIFT (18U)
  35954. /*! CHK_CONTACT - Check the contact of USB plug
  35955. * 0b0..Do not check the contact of USB plug.
  35956. * 0b1..Check whether the USB plug has been in contact with each other
  35957. */
  35958. #define USB_ANALOG_CHRG_DETECT_CLR_CHK_CONTACT(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_CHRG_DETECT_CLR_CHK_CONTACT_SHIFT)) & USB_ANALOG_CHRG_DETECT_CLR_CHK_CONTACT_MASK)
  35959. #define USB_ANALOG_CHRG_DETECT_CLR_CHK_CHRG_B_MASK (0x80000U)
  35960. #define USB_ANALOG_CHRG_DETECT_CLR_CHK_CHRG_B_SHIFT (19U)
  35961. /*! CHK_CHRG_B - Check the charger connection
  35962. * 0b0..Check whether a charger (either a dedicated charger or a host charger) is connected to USB port.
  35963. * 0b1..Do not check whether a charger is connected to the USB port.
  35964. */
  35965. #define USB_ANALOG_CHRG_DETECT_CLR_CHK_CHRG_B(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_CHRG_DETECT_CLR_CHK_CHRG_B_SHIFT)) & USB_ANALOG_CHRG_DETECT_CLR_CHK_CHRG_B_MASK)
  35966. #define USB_ANALOG_CHRG_DETECT_CLR_EN_B_MASK (0x100000U)
  35967. #define USB_ANALOG_CHRG_DETECT_CLR_EN_B_SHIFT (20U)
  35968. /*! EN_B
  35969. * 0b0..Enable the charger detector.
  35970. * 0b1..Disable the charger detector.
  35971. */
  35972. #define USB_ANALOG_CHRG_DETECT_CLR_EN_B(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_CHRG_DETECT_CLR_EN_B_SHIFT)) & USB_ANALOG_CHRG_DETECT_CLR_EN_B_MASK)
  35973. /*! @} */
  35974. /* The count of USB_ANALOG_CHRG_DETECT_CLR */
  35975. #define USB_ANALOG_CHRG_DETECT_CLR_COUNT (1U)
  35976. /*! @name CHRG_DETECT_TOG - USB Charger Detect Register */
  35977. /*! @{ */
  35978. #define USB_ANALOG_CHRG_DETECT_TOG_CHK_CONTACT_MASK (0x40000U)
  35979. #define USB_ANALOG_CHRG_DETECT_TOG_CHK_CONTACT_SHIFT (18U)
  35980. /*! CHK_CONTACT - Check the contact of USB plug
  35981. * 0b0..Do not check the contact of USB plug.
  35982. * 0b1..Check whether the USB plug has been in contact with each other
  35983. */
  35984. #define USB_ANALOG_CHRG_DETECT_TOG_CHK_CONTACT(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_CHRG_DETECT_TOG_CHK_CONTACT_SHIFT)) & USB_ANALOG_CHRG_DETECT_TOG_CHK_CONTACT_MASK)
  35985. #define USB_ANALOG_CHRG_DETECT_TOG_CHK_CHRG_B_MASK (0x80000U)
  35986. #define USB_ANALOG_CHRG_DETECT_TOG_CHK_CHRG_B_SHIFT (19U)
  35987. /*! CHK_CHRG_B - Check the charger connection
  35988. * 0b0..Check whether a charger (either a dedicated charger or a host charger) is connected to USB port.
  35989. * 0b1..Do not check whether a charger is connected to the USB port.
  35990. */
  35991. #define USB_ANALOG_CHRG_DETECT_TOG_CHK_CHRG_B(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_CHRG_DETECT_TOG_CHK_CHRG_B_SHIFT)) & USB_ANALOG_CHRG_DETECT_TOG_CHK_CHRG_B_MASK)
  35992. #define USB_ANALOG_CHRG_DETECT_TOG_EN_B_MASK (0x100000U)
  35993. #define USB_ANALOG_CHRG_DETECT_TOG_EN_B_SHIFT (20U)
  35994. /*! EN_B
  35995. * 0b0..Enable the charger detector.
  35996. * 0b1..Disable the charger detector.
  35997. */
  35998. #define USB_ANALOG_CHRG_DETECT_TOG_EN_B(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_CHRG_DETECT_TOG_EN_B_SHIFT)) & USB_ANALOG_CHRG_DETECT_TOG_EN_B_MASK)
  35999. /*! @} */
  36000. /* The count of USB_ANALOG_CHRG_DETECT_TOG */
  36001. #define USB_ANALOG_CHRG_DETECT_TOG_COUNT (1U)
  36002. /*! @name VBUS_DETECT_STAT - USB VBUS Detect Status Register */
  36003. /*! @{ */
  36004. #define USB_ANALOG_VBUS_DETECT_STAT_SESSEND_MASK (0x1U)
  36005. #define USB_ANALOG_VBUS_DETECT_STAT_SESSEND_SHIFT (0U)
  36006. #define USB_ANALOG_VBUS_DETECT_STAT_SESSEND(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_STAT_SESSEND_SHIFT)) & USB_ANALOG_VBUS_DETECT_STAT_SESSEND_MASK)
  36007. #define USB_ANALOG_VBUS_DETECT_STAT_BVALID_MASK (0x2U)
  36008. #define USB_ANALOG_VBUS_DETECT_STAT_BVALID_SHIFT (1U)
  36009. #define USB_ANALOG_VBUS_DETECT_STAT_BVALID(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_STAT_BVALID_SHIFT)) & USB_ANALOG_VBUS_DETECT_STAT_BVALID_MASK)
  36010. #define USB_ANALOG_VBUS_DETECT_STAT_AVALID_MASK (0x4U)
  36011. #define USB_ANALOG_VBUS_DETECT_STAT_AVALID_SHIFT (2U)
  36012. #define USB_ANALOG_VBUS_DETECT_STAT_AVALID(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_STAT_AVALID_SHIFT)) & USB_ANALOG_VBUS_DETECT_STAT_AVALID_MASK)
  36013. #define USB_ANALOG_VBUS_DETECT_STAT_VBUS_VALID_MASK (0x8U)
  36014. #define USB_ANALOG_VBUS_DETECT_STAT_VBUS_VALID_SHIFT (3U)
  36015. #define USB_ANALOG_VBUS_DETECT_STAT_VBUS_VALID(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_VBUS_DETECT_STAT_VBUS_VALID_SHIFT)) & USB_ANALOG_VBUS_DETECT_STAT_VBUS_VALID_MASK)
  36016. /*! @} */
  36017. /* The count of USB_ANALOG_VBUS_DETECT_STAT */
  36018. #define USB_ANALOG_VBUS_DETECT_STAT_COUNT (1U)
  36019. /*! @name CHRG_DETECT_STAT - USB Charger Detect Status Register */
  36020. /*! @{ */
  36021. #define USB_ANALOG_CHRG_DETECT_STAT_PLUG_CONTACT_MASK (0x1U)
  36022. #define USB_ANALOG_CHRG_DETECT_STAT_PLUG_CONTACT_SHIFT (0U)
  36023. /*! PLUG_CONTACT
  36024. * 0b0..The USB plug has not made contact.
  36025. * 0b1..The USB plug has made good contact.
  36026. */
  36027. #define USB_ANALOG_CHRG_DETECT_STAT_PLUG_CONTACT(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_CHRG_DETECT_STAT_PLUG_CONTACT_SHIFT)) & USB_ANALOG_CHRG_DETECT_STAT_PLUG_CONTACT_MASK)
  36028. #define USB_ANALOG_CHRG_DETECT_STAT_CHRG_DETECTED_MASK (0x2U)
  36029. #define USB_ANALOG_CHRG_DETECT_STAT_CHRG_DETECTED_SHIFT (1U)
  36030. /*! CHRG_DETECTED
  36031. * 0b0..The USB port is not connected to a charger.
  36032. * 0b1..A charger (either a dedicated charger or a host charger) is connected to the USB port.
  36033. */
  36034. #define USB_ANALOG_CHRG_DETECT_STAT_CHRG_DETECTED(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_CHRG_DETECT_STAT_CHRG_DETECTED_SHIFT)) & USB_ANALOG_CHRG_DETECT_STAT_CHRG_DETECTED_MASK)
  36035. #define USB_ANALOG_CHRG_DETECT_STAT_DM_STATE_MASK (0x4U)
  36036. #define USB_ANALOG_CHRG_DETECT_STAT_DM_STATE_SHIFT (2U)
  36037. #define USB_ANALOG_CHRG_DETECT_STAT_DM_STATE(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_CHRG_DETECT_STAT_DM_STATE_SHIFT)) & USB_ANALOG_CHRG_DETECT_STAT_DM_STATE_MASK)
  36038. #define USB_ANALOG_CHRG_DETECT_STAT_DP_STATE_MASK (0x8U)
  36039. #define USB_ANALOG_CHRG_DETECT_STAT_DP_STATE_SHIFT (3U)
  36040. #define USB_ANALOG_CHRG_DETECT_STAT_DP_STATE(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_CHRG_DETECT_STAT_DP_STATE_SHIFT)) & USB_ANALOG_CHRG_DETECT_STAT_DP_STATE_MASK)
  36041. /*! @} */
  36042. /* The count of USB_ANALOG_CHRG_DETECT_STAT */
  36043. #define USB_ANALOG_CHRG_DETECT_STAT_COUNT (1U)
  36044. /*! @name LOOPBACK - USB Loopback Test Register */
  36045. /*! @{ */
  36046. #define USB_ANALOG_LOOPBACK_UTMI_TESTSTART_MASK (0x1U)
  36047. #define USB_ANALOG_LOOPBACK_UTMI_TESTSTART_SHIFT (0U)
  36048. #define USB_ANALOG_LOOPBACK_UTMI_TESTSTART(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_LOOPBACK_UTMI_TESTSTART_SHIFT)) & USB_ANALOG_LOOPBACK_UTMI_TESTSTART_MASK)
  36049. /*! @} */
  36050. /* The count of USB_ANALOG_LOOPBACK */
  36051. #define USB_ANALOG_LOOPBACK_COUNT (1U)
  36052. /*! @name LOOPBACK_SET - USB Loopback Test Register */
  36053. /*! @{ */
  36054. #define USB_ANALOG_LOOPBACK_SET_UTMI_TESTSTART_MASK (0x1U)
  36055. #define USB_ANALOG_LOOPBACK_SET_UTMI_TESTSTART_SHIFT (0U)
  36056. #define USB_ANALOG_LOOPBACK_SET_UTMI_TESTSTART(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_LOOPBACK_SET_UTMI_TESTSTART_SHIFT)) & USB_ANALOG_LOOPBACK_SET_UTMI_TESTSTART_MASK)
  36057. /*! @} */
  36058. /* The count of USB_ANALOG_LOOPBACK_SET */
  36059. #define USB_ANALOG_LOOPBACK_SET_COUNT (1U)
  36060. /*! @name LOOPBACK_CLR - USB Loopback Test Register */
  36061. /*! @{ */
  36062. #define USB_ANALOG_LOOPBACK_CLR_UTMI_TESTSTART_MASK (0x1U)
  36063. #define USB_ANALOG_LOOPBACK_CLR_UTMI_TESTSTART_SHIFT (0U)
  36064. #define USB_ANALOG_LOOPBACK_CLR_UTMI_TESTSTART(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_LOOPBACK_CLR_UTMI_TESTSTART_SHIFT)) & USB_ANALOG_LOOPBACK_CLR_UTMI_TESTSTART_MASK)
  36065. /*! @} */
  36066. /* The count of USB_ANALOG_LOOPBACK_CLR */
  36067. #define USB_ANALOG_LOOPBACK_CLR_COUNT (1U)
  36068. /*! @name LOOPBACK_TOG - USB Loopback Test Register */
  36069. /*! @{ */
  36070. #define USB_ANALOG_LOOPBACK_TOG_UTMI_TESTSTART_MASK (0x1U)
  36071. #define USB_ANALOG_LOOPBACK_TOG_UTMI_TESTSTART_SHIFT (0U)
  36072. #define USB_ANALOG_LOOPBACK_TOG_UTMI_TESTSTART(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_LOOPBACK_TOG_UTMI_TESTSTART_SHIFT)) & USB_ANALOG_LOOPBACK_TOG_UTMI_TESTSTART_MASK)
  36073. /*! @} */
  36074. /* The count of USB_ANALOG_LOOPBACK_TOG */
  36075. #define USB_ANALOG_LOOPBACK_TOG_COUNT (1U)
  36076. /*! @name MISC - USB Misc Register */
  36077. /*! @{ */
  36078. #define USB_ANALOG_MISC_HS_USE_EXTERNAL_R_MASK (0x1U)
  36079. #define USB_ANALOG_MISC_HS_USE_EXTERNAL_R_SHIFT (0U)
  36080. #define USB_ANALOG_MISC_HS_USE_EXTERNAL_R(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_MISC_HS_USE_EXTERNAL_R_SHIFT)) & USB_ANALOG_MISC_HS_USE_EXTERNAL_R_MASK)
  36081. #define USB_ANALOG_MISC_EN_DEGLITCH_MASK (0x2U)
  36082. #define USB_ANALOG_MISC_EN_DEGLITCH_SHIFT (1U)
  36083. #define USB_ANALOG_MISC_EN_DEGLITCH(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_MISC_EN_DEGLITCH_SHIFT)) & USB_ANALOG_MISC_EN_DEGLITCH_MASK)
  36084. #define USB_ANALOG_MISC_EN_CLK_UTMI_MASK (0x40000000U)
  36085. #define USB_ANALOG_MISC_EN_CLK_UTMI_SHIFT (30U)
  36086. #define USB_ANALOG_MISC_EN_CLK_UTMI(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_MISC_EN_CLK_UTMI_SHIFT)) & USB_ANALOG_MISC_EN_CLK_UTMI_MASK)
  36087. /*! @} */
  36088. /* The count of USB_ANALOG_MISC */
  36089. #define USB_ANALOG_MISC_COUNT (1U)
  36090. /*! @name MISC_SET - USB Misc Register */
  36091. /*! @{ */
  36092. #define USB_ANALOG_MISC_SET_HS_USE_EXTERNAL_R_MASK (0x1U)
  36093. #define USB_ANALOG_MISC_SET_HS_USE_EXTERNAL_R_SHIFT (0U)
  36094. #define USB_ANALOG_MISC_SET_HS_USE_EXTERNAL_R(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_MISC_SET_HS_USE_EXTERNAL_R_SHIFT)) & USB_ANALOG_MISC_SET_HS_USE_EXTERNAL_R_MASK)
  36095. #define USB_ANALOG_MISC_SET_EN_DEGLITCH_MASK (0x2U)
  36096. #define USB_ANALOG_MISC_SET_EN_DEGLITCH_SHIFT (1U)
  36097. #define USB_ANALOG_MISC_SET_EN_DEGLITCH(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_MISC_SET_EN_DEGLITCH_SHIFT)) & USB_ANALOG_MISC_SET_EN_DEGLITCH_MASK)
  36098. #define USB_ANALOG_MISC_SET_EN_CLK_UTMI_MASK (0x40000000U)
  36099. #define USB_ANALOG_MISC_SET_EN_CLK_UTMI_SHIFT (30U)
  36100. #define USB_ANALOG_MISC_SET_EN_CLK_UTMI(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_MISC_SET_EN_CLK_UTMI_SHIFT)) & USB_ANALOG_MISC_SET_EN_CLK_UTMI_MASK)
  36101. /*! @} */
  36102. /* The count of USB_ANALOG_MISC_SET */
  36103. #define USB_ANALOG_MISC_SET_COUNT (1U)
  36104. /*! @name MISC_CLR - USB Misc Register */
  36105. /*! @{ */
  36106. #define USB_ANALOG_MISC_CLR_HS_USE_EXTERNAL_R_MASK (0x1U)
  36107. #define USB_ANALOG_MISC_CLR_HS_USE_EXTERNAL_R_SHIFT (0U)
  36108. #define USB_ANALOG_MISC_CLR_HS_USE_EXTERNAL_R(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_MISC_CLR_HS_USE_EXTERNAL_R_SHIFT)) & USB_ANALOG_MISC_CLR_HS_USE_EXTERNAL_R_MASK)
  36109. #define USB_ANALOG_MISC_CLR_EN_DEGLITCH_MASK (0x2U)
  36110. #define USB_ANALOG_MISC_CLR_EN_DEGLITCH_SHIFT (1U)
  36111. #define USB_ANALOG_MISC_CLR_EN_DEGLITCH(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_MISC_CLR_EN_DEGLITCH_SHIFT)) & USB_ANALOG_MISC_CLR_EN_DEGLITCH_MASK)
  36112. #define USB_ANALOG_MISC_CLR_EN_CLK_UTMI_MASK (0x40000000U)
  36113. #define USB_ANALOG_MISC_CLR_EN_CLK_UTMI_SHIFT (30U)
  36114. #define USB_ANALOG_MISC_CLR_EN_CLK_UTMI(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_MISC_CLR_EN_CLK_UTMI_SHIFT)) & USB_ANALOG_MISC_CLR_EN_CLK_UTMI_MASK)
  36115. /*! @} */
  36116. /* The count of USB_ANALOG_MISC_CLR */
  36117. #define USB_ANALOG_MISC_CLR_COUNT (1U)
  36118. /*! @name MISC_TOG - USB Misc Register */
  36119. /*! @{ */
  36120. #define USB_ANALOG_MISC_TOG_HS_USE_EXTERNAL_R_MASK (0x1U)
  36121. #define USB_ANALOG_MISC_TOG_HS_USE_EXTERNAL_R_SHIFT (0U)
  36122. #define USB_ANALOG_MISC_TOG_HS_USE_EXTERNAL_R(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_MISC_TOG_HS_USE_EXTERNAL_R_SHIFT)) & USB_ANALOG_MISC_TOG_HS_USE_EXTERNAL_R_MASK)
  36123. #define USB_ANALOG_MISC_TOG_EN_DEGLITCH_MASK (0x2U)
  36124. #define USB_ANALOG_MISC_TOG_EN_DEGLITCH_SHIFT (1U)
  36125. #define USB_ANALOG_MISC_TOG_EN_DEGLITCH(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_MISC_TOG_EN_DEGLITCH_SHIFT)) & USB_ANALOG_MISC_TOG_EN_DEGLITCH_MASK)
  36126. #define USB_ANALOG_MISC_TOG_EN_CLK_UTMI_MASK (0x40000000U)
  36127. #define USB_ANALOG_MISC_TOG_EN_CLK_UTMI_SHIFT (30U)
  36128. #define USB_ANALOG_MISC_TOG_EN_CLK_UTMI(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_MISC_TOG_EN_CLK_UTMI_SHIFT)) & USB_ANALOG_MISC_TOG_EN_CLK_UTMI_MASK)
  36129. /*! @} */
  36130. /* The count of USB_ANALOG_MISC_TOG */
  36131. #define USB_ANALOG_MISC_TOG_COUNT (1U)
  36132. /*! @name DIGPROG - Chip Silicon Version */
  36133. /*! @{ */
  36134. #define USB_ANALOG_DIGPROG_SILICON_REVISION_MASK (0xFFFFFFFFU)
  36135. #define USB_ANALOG_DIGPROG_SILICON_REVISION_SHIFT (0U)
  36136. /*! SILICON_REVISION
  36137. * 0b00000000011010110000000000000000..Silicon revision 1.0
  36138. */
  36139. #define USB_ANALOG_DIGPROG_SILICON_REVISION(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_DIGPROG_SILICON_REVISION_SHIFT)) & USB_ANALOG_DIGPROG_SILICON_REVISION_MASK)
  36140. /*! @} */
  36141. /*!
  36142. * @}
  36143. */ /* end of group USB_ANALOG_Register_Masks */
  36144. /* USB_ANALOG - Peripheral instance base addresses */
  36145. /** Peripheral USB_ANALOG base address */
  36146. #define USB_ANALOG_BASE (0x400D8000u)
  36147. /** Peripheral USB_ANALOG base pointer */
  36148. #define USB_ANALOG ((USB_ANALOG_Type *)USB_ANALOG_BASE)
  36149. /** Array initializer of USB_ANALOG peripheral base addresses */
  36150. #define USB_ANALOG_BASE_ADDRS { USB_ANALOG_BASE }
  36151. /** Array initializer of USB_ANALOG peripheral base pointers */
  36152. #define USB_ANALOG_BASE_PTRS { USB_ANALOG }
  36153. /*!
  36154. * @}
  36155. */ /* end of group USB_ANALOG_Peripheral_Access_Layer */
  36156. /* ----------------------------------------------------------------------------
  36157. -- USDHC Peripheral Access Layer
  36158. ---------------------------------------------------------------------------- */
  36159. /*!
  36160. * @addtogroup USDHC_Peripheral_Access_Layer USDHC Peripheral Access Layer
  36161. * @{
  36162. */
  36163. /** USDHC - Register Layout Typedef */
  36164. typedef struct {
  36165. __IO uint32_t DS_ADDR; /**< DMA System Address, offset: 0x0 */
  36166. __IO uint32_t BLK_ATT; /**< Block Attributes, offset: 0x4 */
  36167. __IO uint32_t CMD_ARG; /**< Command Argument, offset: 0x8 */
  36168. __IO uint32_t CMD_XFR_TYP; /**< Command Transfer Type, offset: 0xC */
  36169. __I uint32_t CMD_RSP0; /**< Command Response0, offset: 0x10 */
  36170. __I uint32_t CMD_RSP1; /**< Command Response1, offset: 0x14 */
  36171. __I uint32_t CMD_RSP2; /**< Command Response2, offset: 0x18 */
  36172. __I uint32_t CMD_RSP3; /**< Command Response3, offset: 0x1C */
  36173. __IO uint32_t DATA_BUFF_ACC_PORT; /**< Data Buffer Access Port, offset: 0x20 */
  36174. __I uint32_t PRES_STATE; /**< Present State, offset: 0x24 */
  36175. __IO uint32_t PROT_CTRL; /**< Protocol Control, offset: 0x28 */
  36176. __IO uint32_t SYS_CTRL; /**< System Control, offset: 0x2C */
  36177. __IO uint32_t INT_STATUS; /**< Interrupt Status, offset: 0x30 */
  36178. __IO uint32_t INT_STATUS_EN; /**< Interrupt Status Enable, offset: 0x34 */
  36179. __IO uint32_t INT_SIGNAL_EN; /**< Interrupt Signal Enable, offset: 0x38 */
  36180. __IO uint32_t AUTOCMD12_ERR_STATUS; /**< Auto CMD12 Error Status, offset: 0x3C */
  36181. __IO uint32_t HOST_CTRL_CAP; /**< Host Controller Capabilities, offset: 0x40 */
  36182. __IO uint32_t WTMK_LVL; /**< Watermark Level, offset: 0x44 */
  36183. __IO uint32_t MIX_CTRL; /**< Mixer Control, offset: 0x48 */
  36184. uint8_t RESERVED_0[4];
  36185. __O uint32_t FORCE_EVENT; /**< Force Event, offset: 0x50 */
  36186. __I uint32_t ADMA_ERR_STATUS; /**< ADMA Error Status, offset: 0x54 */
  36187. __IO uint32_t ADMA_SYS_ADDR; /**< ADMA System Address, offset: 0x58 */
  36188. uint8_t RESERVED_1[4];
  36189. __IO uint32_t DLL_CTRL; /**< DLL (Delay Line) Control, offset: 0x60 */
  36190. __I uint32_t DLL_STATUS; /**< DLL Status, offset: 0x64 */
  36191. __IO uint32_t CLK_TUNE_CTRL_STATUS; /**< CLK Tuning Control and Status, offset: 0x68 */
  36192. uint8_t RESERVED_2[84];
  36193. __IO uint32_t VEND_SPEC; /**< Vendor Specific Register, offset: 0xC0 */
  36194. __IO uint32_t MMC_BOOT; /**< MMC Boot, offset: 0xC4 */
  36195. __IO uint32_t VEND_SPEC2; /**< Vendor Specific 2 Register, offset: 0xC8 */
  36196. __IO uint32_t TUNING_CTRL; /**< Tuning Control, offset: 0xCC */
  36197. } USDHC_Type;
  36198. /* ----------------------------------------------------------------------------
  36199. -- USDHC Register Masks
  36200. ---------------------------------------------------------------------------- */
  36201. /*!
  36202. * @addtogroup USDHC_Register_Masks USDHC Register Masks
  36203. * @{
  36204. */
  36205. /*! @name DS_ADDR - DMA System Address */
  36206. /*! @{ */
  36207. #define USDHC_DS_ADDR_DS_ADDR_MASK (0xFFFFFFFFU)
  36208. #define USDHC_DS_ADDR_DS_ADDR_SHIFT (0U)
  36209. /*! DS_ADDR - System address
  36210. */
  36211. #define USDHC_DS_ADDR_DS_ADDR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DS_ADDR_DS_ADDR_SHIFT)) & USDHC_DS_ADDR_DS_ADDR_MASK)
  36212. /*! @} */
  36213. /*! @name BLK_ATT - Block Attributes */
  36214. /*! @{ */
  36215. #define USDHC_BLK_ATT_BLKSIZE_MASK (0x1FFFU)
  36216. #define USDHC_BLK_ATT_BLKSIZE_SHIFT (0U)
  36217. /*! BLKSIZE - Transfer block size
  36218. * 0b1000000000000..4096 bytes
  36219. * 0b0100000000000..2048 bytes
  36220. * 0b0001000000000..512 bytes
  36221. * 0b0000111111111..511 bytes
  36222. * 0b0000000000100..4 bytes
  36223. * 0b0000000000011..3 bytes
  36224. * 0b0000000000010..2 bytes
  36225. * 0b0000000000001..1 byte
  36226. * 0b0000000000000..No data transfer
  36227. */
  36228. #define USDHC_BLK_ATT_BLKSIZE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_BLK_ATT_BLKSIZE_SHIFT)) & USDHC_BLK_ATT_BLKSIZE_MASK)
  36229. #define USDHC_BLK_ATT_BLKCNT_MASK (0xFFFF0000U)
  36230. #define USDHC_BLK_ATT_BLKCNT_SHIFT (16U)
  36231. /*! BLKCNT - Blocks count for current transfer
  36232. * 0b1111111111111111..65535 blocks
  36233. * 0b0000000000000010..2 blocks
  36234. * 0b0000000000000001..1 block
  36235. * 0b0000000000000000..Stop count
  36236. */
  36237. #define USDHC_BLK_ATT_BLKCNT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_BLK_ATT_BLKCNT_SHIFT)) & USDHC_BLK_ATT_BLKCNT_MASK)
  36238. /*! @} */
  36239. /*! @name CMD_ARG - Command Argument */
  36240. /*! @{ */
  36241. #define USDHC_CMD_ARG_CMDARG_MASK (0xFFFFFFFFU)
  36242. #define USDHC_CMD_ARG_CMDARG_SHIFT (0U)
  36243. /*! CMDARG - Command argument
  36244. */
  36245. #define USDHC_CMD_ARG_CMDARG(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_ARG_CMDARG_SHIFT)) & USDHC_CMD_ARG_CMDARG_MASK)
  36246. /*! @} */
  36247. /*! @name CMD_XFR_TYP - Command Transfer Type */
  36248. /*! @{ */
  36249. #define USDHC_CMD_XFR_TYP_RSPTYP_MASK (0x30000U)
  36250. #define USDHC_CMD_XFR_TYP_RSPTYP_SHIFT (16U)
  36251. /*! RSPTYP - Response type select
  36252. * 0b00..No response
  36253. * 0b01..Response length 136
  36254. * 0b10..Response length 48
  36255. * 0b11..Response length 48, check busy after response
  36256. */
  36257. #define USDHC_CMD_XFR_TYP_RSPTYP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_RSPTYP_SHIFT)) & USDHC_CMD_XFR_TYP_RSPTYP_MASK)
  36258. #define USDHC_CMD_XFR_TYP_CCCEN_MASK (0x80000U)
  36259. #define USDHC_CMD_XFR_TYP_CCCEN_SHIFT (19U)
  36260. /*! CCCEN - Command CRC check enable
  36261. * 0b1..Enables command CRC check
  36262. * 0b0..Disables command CRC check
  36263. */
  36264. #define USDHC_CMD_XFR_TYP_CCCEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CCCEN_SHIFT)) & USDHC_CMD_XFR_TYP_CCCEN_MASK)
  36265. #define USDHC_CMD_XFR_TYP_CICEN_MASK (0x100000U)
  36266. #define USDHC_CMD_XFR_TYP_CICEN_SHIFT (20U)
  36267. /*! CICEN - Command index check enable
  36268. * 0b1..Enables command index check
  36269. * 0b0..Disable command index check
  36270. */
  36271. #define USDHC_CMD_XFR_TYP_CICEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CICEN_SHIFT)) & USDHC_CMD_XFR_TYP_CICEN_MASK)
  36272. #define USDHC_CMD_XFR_TYP_DPSEL_MASK (0x200000U)
  36273. #define USDHC_CMD_XFR_TYP_DPSEL_SHIFT (21U)
  36274. /*! DPSEL - Data present select
  36275. * 0b1..Data present
  36276. * 0b0..No data present
  36277. */
  36278. #define USDHC_CMD_XFR_TYP_DPSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_DPSEL_SHIFT)) & USDHC_CMD_XFR_TYP_DPSEL_MASK)
  36279. #define USDHC_CMD_XFR_TYP_CMDTYP_MASK (0xC00000U)
  36280. #define USDHC_CMD_XFR_TYP_CMDTYP_SHIFT (22U)
  36281. /*! CMDTYP - Command type
  36282. * 0b11..Abort CMD12, CMD52 for writing I/O Abort in CCCR
  36283. * 0b10..Resume CMD52 for writing function select in CCCR
  36284. * 0b01..Suspend CMD52 for writing bus suspend in CCCR
  36285. * 0b00..Normal other commands
  36286. */
  36287. #define USDHC_CMD_XFR_TYP_CMDTYP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CMDTYP_SHIFT)) & USDHC_CMD_XFR_TYP_CMDTYP_MASK)
  36288. #define USDHC_CMD_XFR_TYP_CMDINX_MASK (0x3F000000U)
  36289. #define USDHC_CMD_XFR_TYP_CMDINX_SHIFT (24U)
  36290. /*! CMDINX - Command index
  36291. */
  36292. #define USDHC_CMD_XFR_TYP_CMDINX(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CMDINX_SHIFT)) & USDHC_CMD_XFR_TYP_CMDINX_MASK)
  36293. /*! @} */
  36294. /*! @name CMD_RSP0 - Command Response0 */
  36295. /*! @{ */
  36296. #define USDHC_CMD_RSP0_CMDRSP0_MASK (0xFFFFFFFFU)
  36297. #define USDHC_CMD_RSP0_CMDRSP0_SHIFT (0U)
  36298. /*! CMDRSP0 - Command response 0
  36299. */
  36300. #define USDHC_CMD_RSP0_CMDRSP0(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP0_CMDRSP0_SHIFT)) & USDHC_CMD_RSP0_CMDRSP0_MASK)
  36301. /*! @} */
  36302. /*! @name CMD_RSP1 - Command Response1 */
  36303. /*! @{ */
  36304. #define USDHC_CMD_RSP1_CMDRSP1_MASK (0xFFFFFFFFU)
  36305. #define USDHC_CMD_RSP1_CMDRSP1_SHIFT (0U)
  36306. /*! CMDRSP1 - Command response 1
  36307. */
  36308. #define USDHC_CMD_RSP1_CMDRSP1(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP1_CMDRSP1_SHIFT)) & USDHC_CMD_RSP1_CMDRSP1_MASK)
  36309. /*! @} */
  36310. /*! @name CMD_RSP2 - Command Response2 */
  36311. /*! @{ */
  36312. #define USDHC_CMD_RSP2_CMDRSP2_MASK (0xFFFFFFFFU)
  36313. #define USDHC_CMD_RSP2_CMDRSP2_SHIFT (0U)
  36314. /*! CMDRSP2 - Command response 2
  36315. */
  36316. #define USDHC_CMD_RSP2_CMDRSP2(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP2_CMDRSP2_SHIFT)) & USDHC_CMD_RSP2_CMDRSP2_MASK)
  36317. /*! @} */
  36318. /*! @name CMD_RSP3 - Command Response3 */
  36319. /*! @{ */
  36320. #define USDHC_CMD_RSP3_CMDRSP3_MASK (0xFFFFFFFFU)
  36321. #define USDHC_CMD_RSP3_CMDRSP3_SHIFT (0U)
  36322. /*! CMDRSP3 - Command response 3
  36323. */
  36324. #define USDHC_CMD_RSP3_CMDRSP3(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP3_CMDRSP3_SHIFT)) & USDHC_CMD_RSP3_CMDRSP3_MASK)
  36325. /*! @} */
  36326. /*! @name DATA_BUFF_ACC_PORT - Data Buffer Access Port */
  36327. /*! @{ */
  36328. #define USDHC_DATA_BUFF_ACC_PORT_DATCONT_MASK (0xFFFFFFFFU)
  36329. #define USDHC_DATA_BUFF_ACC_PORT_DATCONT_SHIFT (0U)
  36330. /*! DATCONT - Data content
  36331. */
  36332. #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)
  36333. /*! @} */
  36334. /*! @name PRES_STATE - Present State */
  36335. /*! @{ */
  36336. #define USDHC_PRES_STATE_CIHB_MASK (0x1U)
  36337. #define USDHC_PRES_STATE_CIHB_SHIFT (0U)
  36338. /*! CIHB - Command inhibit (CMD)
  36339. * 0b1..Cannot issue command
  36340. * 0b0..Can issue command using only CMD line
  36341. */
  36342. #define USDHC_PRES_STATE_CIHB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CIHB_SHIFT)) & USDHC_PRES_STATE_CIHB_MASK)
  36343. #define USDHC_PRES_STATE_CDIHB_MASK (0x2U)
  36344. #define USDHC_PRES_STATE_CDIHB_SHIFT (1U)
  36345. /*! CDIHB - Command Inhibit Data (DATA)
  36346. * 0b1..Cannot issue command that uses the DATA line
  36347. * 0b0..Can issue command that uses the DATA line
  36348. */
  36349. #define USDHC_PRES_STATE_CDIHB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CDIHB_SHIFT)) & USDHC_PRES_STATE_CDIHB_MASK)
  36350. #define USDHC_PRES_STATE_DLA_MASK (0x4U)
  36351. #define USDHC_PRES_STATE_DLA_SHIFT (2U)
  36352. /*! DLA - Data line active
  36353. * 0b1..DATA line active
  36354. * 0b0..DATA line inactive
  36355. */
  36356. #define USDHC_PRES_STATE_DLA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_DLA_SHIFT)) & USDHC_PRES_STATE_DLA_MASK)
  36357. #define USDHC_PRES_STATE_SDSTB_MASK (0x8U)
  36358. #define USDHC_PRES_STATE_SDSTB_SHIFT (3U)
  36359. /*! SDSTB - SD clock stable
  36360. * 0b1..Clock is stable.
  36361. * 0b0..Clock is changing frequency and not stable.
  36362. */
  36363. #define USDHC_PRES_STATE_SDSTB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_SDSTB_SHIFT)) & USDHC_PRES_STATE_SDSTB_MASK)
  36364. #define USDHC_PRES_STATE_IPGOFF_MASK (0x10U)
  36365. #define USDHC_PRES_STATE_IPGOFF_SHIFT (4U)
  36366. /*! IPGOFF - Peripheral clock gated off internally
  36367. * 0b1..Peripheral clock is gated off.
  36368. * 0b0..Peripheral clock is active.
  36369. */
  36370. #define USDHC_PRES_STATE_IPGOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_IPGOFF_SHIFT)) & USDHC_PRES_STATE_IPGOFF_MASK)
  36371. #define USDHC_PRES_STATE_HCKOFF_MASK (0x20U)
  36372. #define USDHC_PRES_STATE_HCKOFF_SHIFT (5U)
  36373. /*! HCKOFF - HCLK gated off internally
  36374. * 0b1..HCLK is gated off.
  36375. * 0b0..HCLK is active.
  36376. */
  36377. #define USDHC_PRES_STATE_HCKOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_HCKOFF_SHIFT)) & USDHC_PRES_STATE_HCKOFF_MASK)
  36378. #define USDHC_PRES_STATE_PEROFF_MASK (0x40U)
  36379. #define USDHC_PRES_STATE_PEROFF_SHIFT (6U)
  36380. /*! PEROFF - IPG_PERCLK gated off internally
  36381. * 0b1..IPG_PERCLK is gated off.
  36382. * 0b0..IPG_PERCLK is active.
  36383. */
  36384. #define USDHC_PRES_STATE_PEROFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_PEROFF_SHIFT)) & USDHC_PRES_STATE_PEROFF_MASK)
  36385. #define USDHC_PRES_STATE_SDOFF_MASK (0x80U)
  36386. #define USDHC_PRES_STATE_SDOFF_SHIFT (7U)
  36387. /*! SDOFF - SD clock gated off internally
  36388. * 0b1..SD clock is gated off.
  36389. * 0b0..SD clock is active.
  36390. */
  36391. #define USDHC_PRES_STATE_SDOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_SDOFF_SHIFT)) & USDHC_PRES_STATE_SDOFF_MASK)
  36392. #define USDHC_PRES_STATE_WTA_MASK (0x100U)
  36393. #define USDHC_PRES_STATE_WTA_SHIFT (8U)
  36394. /*! WTA - Write transfer active
  36395. * 0b1..Transferring data
  36396. * 0b0..No valid data
  36397. */
  36398. #define USDHC_PRES_STATE_WTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_WTA_SHIFT)) & USDHC_PRES_STATE_WTA_MASK)
  36399. #define USDHC_PRES_STATE_RTA_MASK (0x200U)
  36400. #define USDHC_PRES_STATE_RTA_SHIFT (9U)
  36401. /*! RTA - Read transfer active
  36402. * 0b1..Transferring data
  36403. * 0b0..No valid data
  36404. */
  36405. #define USDHC_PRES_STATE_RTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_RTA_SHIFT)) & USDHC_PRES_STATE_RTA_MASK)
  36406. #define USDHC_PRES_STATE_BWEN_MASK (0x400U)
  36407. #define USDHC_PRES_STATE_BWEN_SHIFT (10U)
  36408. /*! BWEN - Buffer write enable
  36409. * 0b1..Write enable
  36410. * 0b0..Write disable
  36411. */
  36412. #define USDHC_PRES_STATE_BWEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_BWEN_SHIFT)) & USDHC_PRES_STATE_BWEN_MASK)
  36413. #define USDHC_PRES_STATE_BREN_MASK (0x800U)
  36414. #define USDHC_PRES_STATE_BREN_SHIFT (11U)
  36415. /*! BREN - Buffer read enable
  36416. * 0b1..Read enable
  36417. * 0b0..Read disable
  36418. */
  36419. #define USDHC_PRES_STATE_BREN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_BREN_SHIFT)) & USDHC_PRES_STATE_BREN_MASK)
  36420. #define USDHC_PRES_STATE_RTR_MASK (0x1000U)
  36421. #define USDHC_PRES_STATE_RTR_SHIFT (12U)
  36422. /*! RTR - Re-Tuning Request (only for SD3.0 SDR104 mode,and EMMC HS200 mode)
  36423. * 0b1..Sampling clock needs re-tuning
  36424. * 0b0..Fixed or well tuned sampling clock
  36425. */
  36426. #define USDHC_PRES_STATE_RTR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_RTR_SHIFT)) & USDHC_PRES_STATE_RTR_MASK)
  36427. #define USDHC_PRES_STATE_TSCD_MASK (0x8000U)
  36428. #define USDHC_PRES_STATE_TSCD_SHIFT (15U)
  36429. /*! TSCD - Tap select change done
  36430. * 0b1..Delay cell select change is finished.
  36431. * 0b0..Delay cell select change is not finished.
  36432. */
  36433. #define USDHC_PRES_STATE_TSCD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_TSCD_SHIFT)) & USDHC_PRES_STATE_TSCD_MASK)
  36434. #define USDHC_PRES_STATE_CINST_MASK (0x10000U)
  36435. #define USDHC_PRES_STATE_CINST_SHIFT (16U)
  36436. /*! CINST - Card inserted
  36437. * 0b1..Card inserted
  36438. * 0b0..Power on reset or no card
  36439. */
  36440. #define USDHC_PRES_STATE_CINST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CINST_SHIFT)) & USDHC_PRES_STATE_CINST_MASK)
  36441. #define USDHC_PRES_STATE_CLSL_MASK (0x800000U)
  36442. #define USDHC_PRES_STATE_CLSL_SHIFT (23U)
  36443. /*! CLSL - CMD line signal level
  36444. */
  36445. #define USDHC_PRES_STATE_CLSL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CLSL_SHIFT)) & USDHC_PRES_STATE_CLSL_MASK)
  36446. #define USDHC_PRES_STATE_DLSL_MASK (0xFF000000U)
  36447. #define USDHC_PRES_STATE_DLSL_SHIFT (24U)
  36448. /*! DLSL - DATA[7:0] line signal level
  36449. * 0b00000111..Data 7 line signal level
  36450. * 0b00000110..Data 6 line signal level
  36451. * 0b00000101..Data 5 line signal level
  36452. * 0b00000100..Data 4 line signal level
  36453. * 0b00000011..Data 3 line signal level
  36454. * 0b00000010..Data 2 line signal level
  36455. * 0b00000001..Data 1 line signal level
  36456. * 0b00000000..Data 0 line signal level
  36457. */
  36458. #define USDHC_PRES_STATE_DLSL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_DLSL_SHIFT)) & USDHC_PRES_STATE_DLSL_MASK)
  36459. /*! @} */
  36460. /*! @name PROT_CTRL - Protocol Control */
  36461. /*! @{ */
  36462. #define USDHC_PROT_CTRL_DTW_MASK (0x6U)
  36463. #define USDHC_PROT_CTRL_DTW_SHIFT (1U)
  36464. /*! DTW - Data transfer width
  36465. * 0b10..8-bit mode
  36466. * 0b01..4-bit mode
  36467. * 0b00..1-bit mode
  36468. * 0b11..Reserved
  36469. */
  36470. #define USDHC_PROT_CTRL_DTW(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_DTW_SHIFT)) & USDHC_PROT_CTRL_DTW_MASK)
  36471. #define USDHC_PROT_CTRL_D3CD_MASK (0x8U)
  36472. #define USDHC_PROT_CTRL_D3CD_SHIFT (3U)
  36473. /*! D3CD - DATA3 as card detection pin
  36474. * 0b1..DATA3 as card detection pin
  36475. * 0b0..DATA3 does not monitor card insertion
  36476. */
  36477. #define USDHC_PROT_CTRL_D3CD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_D3CD_SHIFT)) & USDHC_PROT_CTRL_D3CD_MASK)
  36478. #define USDHC_PROT_CTRL_EMODE_MASK (0x30U)
  36479. #define USDHC_PROT_CTRL_EMODE_SHIFT (4U)
  36480. /*! EMODE - Endian mode
  36481. * 0b00..Big endian mode
  36482. * 0b01..Half word big endian mode
  36483. * 0b10..Little endian mode
  36484. * 0b11..Reserved
  36485. */
  36486. #define USDHC_PROT_CTRL_EMODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_EMODE_SHIFT)) & USDHC_PROT_CTRL_EMODE_MASK)
  36487. #define USDHC_PROT_CTRL_DMASEL_MASK (0x300U)
  36488. #define USDHC_PROT_CTRL_DMASEL_SHIFT (8U)
  36489. /*! DMASEL - DMA select
  36490. * 0b00..No DMA or simple DMA is selected.
  36491. * 0b01..ADMA1 is selected.
  36492. * 0b10..ADMA2 is selected.
  36493. * 0b11..Reserved
  36494. */
  36495. #define USDHC_PROT_CTRL_DMASEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_DMASEL_SHIFT)) & USDHC_PROT_CTRL_DMASEL_MASK)
  36496. #define USDHC_PROT_CTRL_SABGREQ_MASK (0x10000U)
  36497. #define USDHC_PROT_CTRL_SABGREQ_SHIFT (16U)
  36498. /*! SABGREQ - Stop at block gap request
  36499. * 0b1..Stop
  36500. * 0b0..Transfer
  36501. */
  36502. #define USDHC_PROT_CTRL_SABGREQ(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_SABGREQ_SHIFT)) & USDHC_PROT_CTRL_SABGREQ_MASK)
  36503. #define USDHC_PROT_CTRL_CREQ_MASK (0x20000U)
  36504. #define USDHC_PROT_CTRL_CREQ_SHIFT (17U)
  36505. /*! CREQ - Continue request
  36506. * 0b1..Restart
  36507. * 0b0..No effect
  36508. */
  36509. #define USDHC_PROT_CTRL_CREQ(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CREQ_SHIFT)) & USDHC_PROT_CTRL_CREQ_MASK)
  36510. #define USDHC_PROT_CTRL_RWCTL_MASK (0x40000U)
  36511. #define USDHC_PROT_CTRL_RWCTL_SHIFT (18U)
  36512. /*! RWCTL - Read wait control
  36513. * 0b1..Enables read wait control and assert read wait without stopping SD clock at block gap when SABGREQ field is set
  36514. * 0b0..Disables read wait control and stop SD clock at block gap when SABGREQ field is set
  36515. */
  36516. #define USDHC_PROT_CTRL_RWCTL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_RWCTL_SHIFT)) & USDHC_PROT_CTRL_RWCTL_MASK)
  36517. #define USDHC_PROT_CTRL_IABG_MASK (0x80000U)
  36518. #define USDHC_PROT_CTRL_IABG_SHIFT (19U)
  36519. /*! IABG - Interrupt at block gap
  36520. * 0b1..Enables interrupt at block gap
  36521. * 0b0..Disables interrupt at block gap
  36522. */
  36523. #define USDHC_PROT_CTRL_IABG(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_IABG_SHIFT)) & USDHC_PROT_CTRL_IABG_MASK)
  36524. #define USDHC_PROT_CTRL_RD_DONE_NO_8CLK_MASK (0x100000U)
  36525. #define USDHC_PROT_CTRL_RD_DONE_NO_8CLK_SHIFT (20U)
  36526. /*! RD_DONE_NO_8CLK - Read performed number 8 clock
  36527. */
  36528. #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)
  36529. #define USDHC_PROT_CTRL_WECINT_MASK (0x1000000U)
  36530. #define USDHC_PROT_CTRL_WECINT_SHIFT (24U)
  36531. /*! WECINT - Wakeup event enable on card interrupt
  36532. * 0b1..Enables wakeup event enable on card interrupt
  36533. * 0b0..Disables wakeup event enable on card interrupt
  36534. */
  36535. #define USDHC_PROT_CTRL_WECINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECINT_SHIFT)) & USDHC_PROT_CTRL_WECINT_MASK)
  36536. #define USDHC_PROT_CTRL_WECINS_MASK (0x2000000U)
  36537. #define USDHC_PROT_CTRL_WECINS_SHIFT (25U)
  36538. /*! WECINS - Wakeup event enable on SD card insertion
  36539. * 0b1..Enable wakeup event enable on SD card insertion
  36540. * 0b0..Disable wakeup event enable on SD card insertion
  36541. */
  36542. #define USDHC_PROT_CTRL_WECINS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECINS_SHIFT)) & USDHC_PROT_CTRL_WECINS_MASK)
  36543. #define USDHC_PROT_CTRL_WECRM_MASK (0x4000000U)
  36544. #define USDHC_PROT_CTRL_WECRM_SHIFT (26U)
  36545. /*! WECRM - Wakeup event enable on SD card removal
  36546. * 0b1..Enables wakeup event enable on SD card removal
  36547. * 0b0..Disables wakeup event enable on SD card removal
  36548. */
  36549. #define USDHC_PROT_CTRL_WECRM(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECRM_SHIFT)) & USDHC_PROT_CTRL_WECRM_MASK)
  36550. #define USDHC_PROT_CTRL_BURST_LEN_EN_MASK (0x38000000U)
  36551. #define USDHC_PROT_CTRL_BURST_LEN_EN_SHIFT (27U)
  36552. /*! BURST_LEN_EN - BURST length enable for INCR, INCR4 / INCR8 / INCR16, INCR4-WRAP / INCR8-WRAP / INCR16-WRAP
  36553. * 0bxx1..Burst length is enabled for INCR.
  36554. * 0bx1x..Burst length is enabled for INCR4 / INCR8 / INCR16.
  36555. * 0b1xx..Burst length is enabled for INCR4-WRAP / INCR8-WRAP / INCR16-WRAP.
  36556. */
  36557. #define USDHC_PROT_CTRL_BURST_LEN_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_BURST_LEN_EN_SHIFT)) & USDHC_PROT_CTRL_BURST_LEN_EN_MASK)
  36558. #define USDHC_PROT_CTRL_NON_EXACT_BLK_RD_MASK (0x40000000U)
  36559. #define USDHC_PROT_CTRL_NON_EXACT_BLK_RD_SHIFT (30U)
  36560. /*! NON_EXACT_BLK_RD - Non-exact block read
  36561. * 0b1..The block read is non-exact block read. Host driver needs to issue abort command to terminate this multi-block read.
  36562. * 0b0..The block read is exact block read. Host driver does not need to issue abort command to terminate this multi-block read.
  36563. */
  36564. #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)
  36565. /*! @} */
  36566. /*! @name SYS_CTRL - System Control */
  36567. /*! @{ */
  36568. #define USDHC_SYS_CTRL_DVS_MASK (0xF0U)
  36569. #define USDHC_SYS_CTRL_DVS_SHIFT (4U)
  36570. /*! DVS - Divisor
  36571. * 0b0000..Divide-by-1
  36572. * 0b0001..Divide-by-2
  36573. * 0b1110..Divide-by-15
  36574. * 0b1111..Divide-by-16
  36575. */
  36576. #define USDHC_SYS_CTRL_DVS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_DVS_SHIFT)) & USDHC_SYS_CTRL_DVS_MASK)
  36577. #define USDHC_SYS_CTRL_SDCLKFS_MASK (0xFF00U)
  36578. #define USDHC_SYS_CTRL_SDCLKFS_SHIFT (8U)
  36579. /*! SDCLKFS - SDCLK frequency select
  36580. */
  36581. #define USDHC_SYS_CTRL_SDCLKFS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_SDCLKFS_SHIFT)) & USDHC_SYS_CTRL_SDCLKFS_MASK)
  36582. #define USDHC_SYS_CTRL_DTOCV_MASK (0xF0000U)
  36583. #define USDHC_SYS_CTRL_DTOCV_SHIFT (16U)
  36584. /*! DTOCV - Data timeout counter value
  36585. * 0b1111..SDCLK x 2 29
  36586. * 0b1110..SDCLK x 2 28
  36587. * 0b1101..SDCLK x 2 27
  36588. * 0b1100..SDCLK x 2 26
  36589. * 0b1011..SDCLK x 2 25
  36590. * 0b1010..SDCLK x 2 24
  36591. * 0b1001..SDCLK x 2 23
  36592. * 0b1000..SDCLK x 2 22
  36593. * 0b0111..SDCLK x 2 21
  36594. * 0b0110..SDCLK x 2 20
  36595. * 0b0101..SDCLK x 2 19
  36596. * 0b0100..SDCLK x 2 18
  36597. * 0b0011..SDCLK x 2 17
  36598. * 0b0010..SDCLK x 2 16
  36599. * 0b0001..SDCLK x 2 15
  36600. * 0b0000..SDCLK x 2 14
  36601. */
  36602. #define USDHC_SYS_CTRL_DTOCV(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_DTOCV_SHIFT)) & USDHC_SYS_CTRL_DTOCV_MASK)
  36603. #define USDHC_SYS_CTRL_IPP_RST_N_MASK (0x800000U)
  36604. #define USDHC_SYS_CTRL_IPP_RST_N_SHIFT (23U)
  36605. /*! IPP_RST_N - Hardware reset
  36606. */
  36607. #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)
  36608. #define USDHC_SYS_CTRL_RSTA_MASK (0x1000000U)
  36609. #define USDHC_SYS_CTRL_RSTA_SHIFT (24U)
  36610. /*! RSTA - Software reset for all
  36611. * 0b1..Reset
  36612. * 0b0..No reset
  36613. */
  36614. #define USDHC_SYS_CTRL_RSTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTA_SHIFT)) & USDHC_SYS_CTRL_RSTA_MASK)
  36615. #define USDHC_SYS_CTRL_RSTC_MASK (0x2000000U)
  36616. #define USDHC_SYS_CTRL_RSTC_SHIFT (25U)
  36617. /*! RSTC - Software reset for CMD line
  36618. * 0b1..Reset
  36619. * 0b0..No reset
  36620. */
  36621. #define USDHC_SYS_CTRL_RSTC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTC_SHIFT)) & USDHC_SYS_CTRL_RSTC_MASK)
  36622. #define USDHC_SYS_CTRL_RSTD_MASK (0x4000000U)
  36623. #define USDHC_SYS_CTRL_RSTD_SHIFT (26U)
  36624. /*! RSTD - Software reset for data line
  36625. * 0b1..Reset
  36626. * 0b0..No reset
  36627. */
  36628. #define USDHC_SYS_CTRL_RSTD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTD_SHIFT)) & USDHC_SYS_CTRL_RSTD_MASK)
  36629. #define USDHC_SYS_CTRL_INITA_MASK (0x8000000U)
  36630. #define USDHC_SYS_CTRL_INITA_SHIFT (27U)
  36631. /*! INITA - Initialization active
  36632. */
  36633. #define USDHC_SYS_CTRL_INITA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_INITA_SHIFT)) & USDHC_SYS_CTRL_INITA_MASK)
  36634. #define USDHC_SYS_CTRL_RSTT_MASK (0x10000000U)
  36635. #define USDHC_SYS_CTRL_RSTT_SHIFT (28U)
  36636. /*! RSTT - Reset tuning
  36637. */
  36638. #define USDHC_SYS_CTRL_RSTT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTT_SHIFT)) & USDHC_SYS_CTRL_RSTT_MASK)
  36639. /*! @} */
  36640. /*! @name INT_STATUS - Interrupt Status */
  36641. /*! @{ */
  36642. #define USDHC_INT_STATUS_CC_MASK (0x1U)
  36643. #define USDHC_INT_STATUS_CC_SHIFT (0U)
  36644. /*! CC - Command complete
  36645. * 0b1..Command complete
  36646. * 0b0..Command not complete
  36647. */
  36648. #define USDHC_INT_STATUS_CC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CC_SHIFT)) & USDHC_INT_STATUS_CC_MASK)
  36649. #define USDHC_INT_STATUS_TC_MASK (0x2U)
  36650. #define USDHC_INT_STATUS_TC_SHIFT (1U)
  36651. /*! TC - Transfer complete
  36652. * 0b1..Transfer complete
  36653. * 0b0..Transfer does not complete
  36654. */
  36655. #define USDHC_INT_STATUS_TC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TC_SHIFT)) & USDHC_INT_STATUS_TC_MASK)
  36656. #define USDHC_INT_STATUS_BGE_MASK (0x4U)
  36657. #define USDHC_INT_STATUS_BGE_SHIFT (2U)
  36658. /*! BGE - Block gap event
  36659. * 0b1..Transaction stopped at block gap
  36660. * 0b0..No block gap event
  36661. */
  36662. #define USDHC_INT_STATUS_BGE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BGE_SHIFT)) & USDHC_INT_STATUS_BGE_MASK)
  36663. #define USDHC_INT_STATUS_DINT_MASK (0x8U)
  36664. #define USDHC_INT_STATUS_DINT_SHIFT (3U)
  36665. /*! DINT - DMA interrupt
  36666. * 0b1..DMA interrupt is generated.
  36667. * 0b0..No DMA interrupt
  36668. */
  36669. #define USDHC_INT_STATUS_DINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DINT_SHIFT)) & USDHC_INT_STATUS_DINT_MASK)
  36670. #define USDHC_INT_STATUS_BWR_MASK (0x10U)
  36671. #define USDHC_INT_STATUS_BWR_SHIFT (4U)
  36672. /*! BWR - Buffer write ready
  36673. * 0b1..Ready to write buffer
  36674. * 0b0..Not ready to write buffer
  36675. */
  36676. #define USDHC_INT_STATUS_BWR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BWR_SHIFT)) & USDHC_INT_STATUS_BWR_MASK)
  36677. #define USDHC_INT_STATUS_BRR_MASK (0x20U)
  36678. #define USDHC_INT_STATUS_BRR_SHIFT (5U)
  36679. /*! BRR - Buffer read ready
  36680. * 0b1..Ready to read buffer
  36681. * 0b0..Not ready to read buffer
  36682. */
  36683. #define USDHC_INT_STATUS_BRR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BRR_SHIFT)) & USDHC_INT_STATUS_BRR_MASK)
  36684. #define USDHC_INT_STATUS_CINS_MASK (0x40U)
  36685. #define USDHC_INT_STATUS_CINS_SHIFT (6U)
  36686. /*! CINS - Card insertion
  36687. * 0b1..Card inserted
  36688. * 0b0..Card state unstable or removed
  36689. */
  36690. #define USDHC_INT_STATUS_CINS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CINS_SHIFT)) & USDHC_INT_STATUS_CINS_MASK)
  36691. #define USDHC_INT_STATUS_CRM_MASK (0x80U)
  36692. #define USDHC_INT_STATUS_CRM_SHIFT (7U)
  36693. /*! CRM - Card removal
  36694. * 0b1..Card removed
  36695. * 0b0..Card state unstable or inserted
  36696. */
  36697. #define USDHC_INT_STATUS_CRM(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CRM_SHIFT)) & USDHC_INT_STATUS_CRM_MASK)
  36698. #define USDHC_INT_STATUS_CINT_MASK (0x100U)
  36699. #define USDHC_INT_STATUS_CINT_SHIFT (8U)
  36700. /*! CINT - Card interrupt
  36701. * 0b1..Generate card interrupt
  36702. * 0b0..No card interrupt
  36703. */
  36704. #define USDHC_INT_STATUS_CINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CINT_SHIFT)) & USDHC_INT_STATUS_CINT_MASK)
  36705. #define USDHC_INT_STATUS_RTE_MASK (0x1000U)
  36706. #define USDHC_INT_STATUS_RTE_SHIFT (12U)
  36707. /*! RTE - Re-tuning event: (only for SD3.0 SDR104 mode and EMMC HS200 mode)
  36708. * 0b1..Re-tuning should be performed.
  36709. * 0b0..Re-tuning is not required.
  36710. */
  36711. #define USDHC_INT_STATUS_RTE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_RTE_SHIFT)) & USDHC_INT_STATUS_RTE_MASK)
  36712. #define USDHC_INT_STATUS_TP_MASK (0x4000U)
  36713. #define USDHC_INT_STATUS_TP_SHIFT (14U)
  36714. /*! TP - Tuning pass:(only for SD3.0 SDR104 mode and EMMC HS200 mode)
  36715. */
  36716. #define USDHC_INT_STATUS_TP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TP_SHIFT)) & USDHC_INT_STATUS_TP_MASK)
  36717. #define USDHC_INT_STATUS_ERR_INT_STATUS_MASK (0x8000U)
  36718. #define USDHC_INT_STATUS_ERR_INT_STATUS_SHIFT (15U)
  36719. /*! ERR_INT_STATUS - Error Interrupt Status
  36720. */
  36721. #define USDHC_INT_STATUS_ERR_INT_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_ERR_INT_STATUS_SHIFT)) & USDHC_INT_STATUS_ERR_INT_STATUS_MASK)
  36722. #define USDHC_INT_STATUS_CTOE_MASK (0x10000U)
  36723. #define USDHC_INT_STATUS_CTOE_SHIFT (16U)
  36724. /*! CTOE - Command timeout error
  36725. * 0b1..Time out
  36726. * 0b0..No error
  36727. */
  36728. #define USDHC_INT_STATUS_CTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CTOE_SHIFT)) & USDHC_INT_STATUS_CTOE_MASK)
  36729. #define USDHC_INT_STATUS_CCE_MASK (0x20000U)
  36730. #define USDHC_INT_STATUS_CCE_SHIFT (17U)
  36731. /*! CCE - Command CRC error
  36732. * 0b1..CRC error generated
  36733. * 0b0..No error
  36734. */
  36735. #define USDHC_INT_STATUS_CCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CCE_SHIFT)) & USDHC_INT_STATUS_CCE_MASK)
  36736. #define USDHC_INT_STATUS_CEBE_MASK (0x40000U)
  36737. #define USDHC_INT_STATUS_CEBE_SHIFT (18U)
  36738. /*! CEBE - Command end bit error
  36739. * 0b1..End bit error generated
  36740. * 0b0..No error
  36741. */
  36742. #define USDHC_INT_STATUS_CEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CEBE_SHIFT)) & USDHC_INT_STATUS_CEBE_MASK)
  36743. #define USDHC_INT_STATUS_CIE_MASK (0x80000U)
  36744. #define USDHC_INT_STATUS_CIE_SHIFT (19U)
  36745. /*! CIE - Command index error
  36746. * 0b1..Error
  36747. * 0b0..No error
  36748. */
  36749. #define USDHC_INT_STATUS_CIE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CIE_SHIFT)) & USDHC_INT_STATUS_CIE_MASK)
  36750. #define USDHC_INT_STATUS_DTOE_MASK (0x100000U)
  36751. #define USDHC_INT_STATUS_DTOE_SHIFT (20U)
  36752. /*! DTOE - Data timeout error
  36753. * 0b1..Time out
  36754. * 0b0..No error
  36755. */
  36756. #define USDHC_INT_STATUS_DTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DTOE_SHIFT)) & USDHC_INT_STATUS_DTOE_MASK)
  36757. #define USDHC_INT_STATUS_DCE_MASK (0x200000U)
  36758. #define USDHC_INT_STATUS_DCE_SHIFT (21U)
  36759. /*! DCE - Data CRC error
  36760. * 0b1..Error
  36761. * 0b0..No error
  36762. */
  36763. #define USDHC_INT_STATUS_DCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DCE_SHIFT)) & USDHC_INT_STATUS_DCE_MASK)
  36764. #define USDHC_INT_STATUS_DEBE_MASK (0x400000U)
  36765. #define USDHC_INT_STATUS_DEBE_SHIFT (22U)
  36766. /*! DEBE - Data end bit error
  36767. * 0b1..Error
  36768. * 0b0..No error
  36769. */
  36770. #define USDHC_INT_STATUS_DEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DEBE_SHIFT)) & USDHC_INT_STATUS_DEBE_MASK)
  36771. #define USDHC_INT_STATUS_AC12E_MASK (0x1000000U)
  36772. #define USDHC_INT_STATUS_AC12E_SHIFT (24U)
  36773. /*! AC12E - Auto CMD12 error
  36774. * 0b1..Error
  36775. * 0b0..No error
  36776. */
  36777. #define USDHC_INT_STATUS_AC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_AC12E_SHIFT)) & USDHC_INT_STATUS_AC12E_MASK)
  36778. #define USDHC_INT_STATUS_TNE_MASK (0x4000000U)
  36779. #define USDHC_INT_STATUS_TNE_SHIFT (26U)
  36780. /*! TNE - Tuning error: (only for SD3.0 SDR104 mode and EMMC HS200 mode)
  36781. */
  36782. #define USDHC_INT_STATUS_TNE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TNE_SHIFT)) & USDHC_INT_STATUS_TNE_MASK)
  36783. #define USDHC_INT_STATUS_DMAE_MASK (0x10000000U)
  36784. #define USDHC_INT_STATUS_DMAE_SHIFT (28U)
  36785. /*! DMAE - DMA error
  36786. * 0b1..Error
  36787. * 0b0..No error
  36788. */
  36789. #define USDHC_INT_STATUS_DMAE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DMAE_SHIFT)) & USDHC_INT_STATUS_DMAE_MASK)
  36790. /*! @} */
  36791. /*! @name INT_STATUS_EN - Interrupt Status Enable */
  36792. /*! @{ */
  36793. #define USDHC_INT_STATUS_EN_CCSEN_MASK (0x1U)
  36794. #define USDHC_INT_STATUS_EN_CCSEN_SHIFT (0U)
  36795. /*! CCSEN - Command complete status enable
  36796. * 0b1..Enabled
  36797. * 0b0..Masked
  36798. */
  36799. #define USDHC_INT_STATUS_EN_CCSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CCSEN_SHIFT)) & USDHC_INT_STATUS_EN_CCSEN_MASK)
  36800. #define USDHC_INT_STATUS_EN_TCSEN_MASK (0x2U)
  36801. #define USDHC_INT_STATUS_EN_TCSEN_SHIFT (1U)
  36802. /*! TCSEN - Transfer complete status enable
  36803. * 0b1..Enabled
  36804. * 0b0..Masked
  36805. */
  36806. #define USDHC_INT_STATUS_EN_TCSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TCSEN_SHIFT)) & USDHC_INT_STATUS_EN_TCSEN_MASK)
  36807. #define USDHC_INT_STATUS_EN_BGESEN_MASK (0x4U)
  36808. #define USDHC_INT_STATUS_EN_BGESEN_SHIFT (2U)
  36809. /*! BGESEN - Block gap event status enable
  36810. * 0b1..Enabled
  36811. * 0b0..Masked
  36812. */
  36813. #define USDHC_INT_STATUS_EN_BGESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BGESEN_SHIFT)) & USDHC_INT_STATUS_EN_BGESEN_MASK)
  36814. #define USDHC_INT_STATUS_EN_DINTSEN_MASK (0x8U)
  36815. #define USDHC_INT_STATUS_EN_DINTSEN_SHIFT (3U)
  36816. /*! DINTSEN - DMA interrupt status enable
  36817. * 0b1..Enabled
  36818. * 0b0..Masked
  36819. */
  36820. #define USDHC_INT_STATUS_EN_DINTSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DINTSEN_SHIFT)) & USDHC_INT_STATUS_EN_DINTSEN_MASK)
  36821. #define USDHC_INT_STATUS_EN_BWRSEN_MASK (0x10U)
  36822. #define USDHC_INT_STATUS_EN_BWRSEN_SHIFT (4U)
  36823. /*! BWRSEN - Buffer write ready status enable
  36824. * 0b1..Enabled
  36825. * 0b0..Masked
  36826. */
  36827. #define USDHC_INT_STATUS_EN_BWRSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BWRSEN_SHIFT)) & USDHC_INT_STATUS_EN_BWRSEN_MASK)
  36828. #define USDHC_INT_STATUS_EN_BRRSEN_MASK (0x20U)
  36829. #define USDHC_INT_STATUS_EN_BRRSEN_SHIFT (5U)
  36830. /*! BRRSEN - Buffer read ready status enable
  36831. * 0b1..Enabled
  36832. * 0b0..Masked
  36833. */
  36834. #define USDHC_INT_STATUS_EN_BRRSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BRRSEN_SHIFT)) & USDHC_INT_STATUS_EN_BRRSEN_MASK)
  36835. #define USDHC_INT_STATUS_EN_CINSSEN_MASK (0x40U)
  36836. #define USDHC_INT_STATUS_EN_CINSSEN_SHIFT (6U)
  36837. /*! CINSSEN - Card insertion status enable
  36838. * 0b1..Enabled
  36839. * 0b0..Masked
  36840. */
  36841. #define USDHC_INT_STATUS_EN_CINSSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CINSSEN_SHIFT)) & USDHC_INT_STATUS_EN_CINSSEN_MASK)
  36842. #define USDHC_INT_STATUS_EN_CRMSEN_MASK (0x80U)
  36843. #define USDHC_INT_STATUS_EN_CRMSEN_SHIFT (7U)
  36844. /*! CRMSEN - Card removal status enable
  36845. * 0b1..Enabled
  36846. * 0b0..Masked
  36847. */
  36848. #define USDHC_INT_STATUS_EN_CRMSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CRMSEN_SHIFT)) & USDHC_INT_STATUS_EN_CRMSEN_MASK)
  36849. #define USDHC_INT_STATUS_EN_CINTSEN_MASK (0x100U)
  36850. #define USDHC_INT_STATUS_EN_CINTSEN_SHIFT (8U)
  36851. /*! CINTSEN - Card interrupt status enable
  36852. * 0b1..Enabled
  36853. * 0b0..Masked
  36854. */
  36855. #define USDHC_INT_STATUS_EN_CINTSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CINTSEN_SHIFT)) & USDHC_INT_STATUS_EN_CINTSEN_MASK)
  36856. #define USDHC_INT_STATUS_EN_RTESEN_MASK (0x1000U)
  36857. #define USDHC_INT_STATUS_EN_RTESEN_SHIFT (12U)
  36858. /*! RTESEN - Re-tuning event status enable
  36859. * 0b1..Enabled
  36860. * 0b0..Masked
  36861. */
  36862. #define USDHC_INT_STATUS_EN_RTESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_RTESEN_SHIFT)) & USDHC_INT_STATUS_EN_RTESEN_MASK)
  36863. #define USDHC_INT_STATUS_EN_TPSEN_MASK (0x4000U)
  36864. #define USDHC_INT_STATUS_EN_TPSEN_SHIFT (14U)
  36865. /*! TPSEN - Tuning pass status enable
  36866. * 0b1..Enabled
  36867. * 0b0..Masked
  36868. */
  36869. #define USDHC_INT_STATUS_EN_TPSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TPSEN_SHIFT)) & USDHC_INT_STATUS_EN_TPSEN_MASK)
  36870. #define USDHC_INT_STATUS_EN_CTOESEN_MASK (0x10000U)
  36871. #define USDHC_INT_STATUS_EN_CTOESEN_SHIFT (16U)
  36872. /*! CTOESEN - Command timeout error status enable
  36873. * 0b1..Enabled
  36874. * 0b0..Masked
  36875. */
  36876. #define USDHC_INT_STATUS_EN_CTOESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CTOESEN_SHIFT)) & USDHC_INT_STATUS_EN_CTOESEN_MASK)
  36877. #define USDHC_INT_STATUS_EN_CCESEN_MASK (0x20000U)
  36878. #define USDHC_INT_STATUS_EN_CCESEN_SHIFT (17U)
  36879. /*! CCESEN - Command CRC error status enable
  36880. * 0b1..Enabled
  36881. * 0b0..Masked
  36882. */
  36883. #define USDHC_INT_STATUS_EN_CCESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CCESEN_SHIFT)) & USDHC_INT_STATUS_EN_CCESEN_MASK)
  36884. #define USDHC_INT_STATUS_EN_CEBESEN_MASK (0x40000U)
  36885. #define USDHC_INT_STATUS_EN_CEBESEN_SHIFT (18U)
  36886. /*! CEBESEN - Command end bit error status enable
  36887. * 0b1..Enabled
  36888. * 0b0..Masked
  36889. */
  36890. #define USDHC_INT_STATUS_EN_CEBESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CEBESEN_SHIFT)) & USDHC_INT_STATUS_EN_CEBESEN_MASK)
  36891. #define USDHC_INT_STATUS_EN_CIESEN_MASK (0x80000U)
  36892. #define USDHC_INT_STATUS_EN_CIESEN_SHIFT (19U)
  36893. /*! CIESEN - Command index error status enable
  36894. * 0b1..Enabled
  36895. * 0b0..Masked
  36896. */
  36897. #define USDHC_INT_STATUS_EN_CIESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CIESEN_SHIFT)) & USDHC_INT_STATUS_EN_CIESEN_MASK)
  36898. #define USDHC_INT_STATUS_EN_DTOESEN_MASK (0x100000U)
  36899. #define USDHC_INT_STATUS_EN_DTOESEN_SHIFT (20U)
  36900. /*! DTOESEN - Data timeout error status enable
  36901. * 0b1..Enabled
  36902. * 0b0..Masked
  36903. */
  36904. #define USDHC_INT_STATUS_EN_DTOESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DTOESEN_SHIFT)) & USDHC_INT_STATUS_EN_DTOESEN_MASK)
  36905. #define USDHC_INT_STATUS_EN_DCESEN_MASK (0x200000U)
  36906. #define USDHC_INT_STATUS_EN_DCESEN_SHIFT (21U)
  36907. /*! DCESEN - Data CRC error status enable
  36908. * 0b1..Enabled
  36909. * 0b0..Masked
  36910. */
  36911. #define USDHC_INT_STATUS_EN_DCESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DCESEN_SHIFT)) & USDHC_INT_STATUS_EN_DCESEN_MASK)
  36912. #define USDHC_INT_STATUS_EN_DEBESEN_MASK (0x400000U)
  36913. #define USDHC_INT_STATUS_EN_DEBESEN_SHIFT (22U)
  36914. /*! DEBESEN - Data end bit error status enable
  36915. * 0b1..Enabled
  36916. * 0b0..Masked
  36917. */
  36918. #define USDHC_INT_STATUS_EN_DEBESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DEBESEN_SHIFT)) & USDHC_INT_STATUS_EN_DEBESEN_MASK)
  36919. #define USDHC_INT_STATUS_EN_AC12ESEN_MASK (0x1000000U)
  36920. #define USDHC_INT_STATUS_EN_AC12ESEN_SHIFT (24U)
  36921. /*! AC12ESEN - Auto CMD12 error status enable
  36922. * 0b1..Enabled
  36923. * 0b0..Masked
  36924. */
  36925. #define USDHC_INT_STATUS_EN_AC12ESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_AC12ESEN_SHIFT)) & USDHC_INT_STATUS_EN_AC12ESEN_MASK)
  36926. #define USDHC_INT_STATUS_EN_TNESEN_MASK (0x4000000U)
  36927. #define USDHC_INT_STATUS_EN_TNESEN_SHIFT (26U)
  36928. /*! TNESEN - Tuning error status enable
  36929. * 0b1..Enabled
  36930. * 0b0..Masked
  36931. */
  36932. #define USDHC_INT_STATUS_EN_TNESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TNESEN_SHIFT)) & USDHC_INT_STATUS_EN_TNESEN_MASK)
  36933. #define USDHC_INT_STATUS_EN_DMAESEN_MASK (0x10000000U)
  36934. #define USDHC_INT_STATUS_EN_DMAESEN_SHIFT (28U)
  36935. /*! DMAESEN - DMA error status enable
  36936. * 0b1..Enabled
  36937. * 0b0..Masked
  36938. */
  36939. #define USDHC_INT_STATUS_EN_DMAESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DMAESEN_SHIFT)) & USDHC_INT_STATUS_EN_DMAESEN_MASK)
  36940. /*! @} */
  36941. /*! @name INT_SIGNAL_EN - Interrupt Signal Enable */
  36942. /*! @{ */
  36943. #define USDHC_INT_SIGNAL_EN_CCIEN_MASK (0x1U)
  36944. #define USDHC_INT_SIGNAL_EN_CCIEN_SHIFT (0U)
  36945. /*! CCIEN - Command complete interrupt enable
  36946. * 0b1..Enabled
  36947. * 0b0..Masked
  36948. */
  36949. #define USDHC_INT_SIGNAL_EN_CCIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CCIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CCIEN_MASK)
  36950. #define USDHC_INT_SIGNAL_EN_TCIEN_MASK (0x2U)
  36951. #define USDHC_INT_SIGNAL_EN_TCIEN_SHIFT (1U)
  36952. /*! TCIEN - Transfer complete interrupt enable
  36953. * 0b1..Enabled
  36954. * 0b0..Masked
  36955. */
  36956. #define USDHC_INT_SIGNAL_EN_TCIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TCIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TCIEN_MASK)
  36957. #define USDHC_INT_SIGNAL_EN_BGEIEN_MASK (0x4U)
  36958. #define USDHC_INT_SIGNAL_EN_BGEIEN_SHIFT (2U)
  36959. /*! BGEIEN - Block gap event interrupt enable
  36960. * 0b1..Enabled
  36961. * 0b0..Masked
  36962. */
  36963. #define USDHC_INT_SIGNAL_EN_BGEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BGEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BGEIEN_MASK)
  36964. #define USDHC_INT_SIGNAL_EN_DINTIEN_MASK (0x8U)
  36965. #define USDHC_INT_SIGNAL_EN_DINTIEN_SHIFT (3U)
  36966. /*! DINTIEN - DMA interrupt enable
  36967. * 0b1..Enabled
  36968. * 0b0..Masked
  36969. */
  36970. #define USDHC_INT_SIGNAL_EN_DINTIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DINTIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DINTIEN_MASK)
  36971. #define USDHC_INT_SIGNAL_EN_BWRIEN_MASK (0x10U)
  36972. #define USDHC_INT_SIGNAL_EN_BWRIEN_SHIFT (4U)
  36973. /*! BWRIEN - Buffer write ready interrupt enable
  36974. * 0b1..Enabled
  36975. * 0b0..Masked
  36976. */
  36977. #define USDHC_INT_SIGNAL_EN_BWRIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BWRIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BWRIEN_MASK)
  36978. #define USDHC_INT_SIGNAL_EN_BRRIEN_MASK (0x20U)
  36979. #define USDHC_INT_SIGNAL_EN_BRRIEN_SHIFT (5U)
  36980. /*! BRRIEN - Buffer read ready interrupt enable
  36981. * 0b1..Enabled
  36982. * 0b0..Masked
  36983. */
  36984. #define USDHC_INT_SIGNAL_EN_BRRIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BRRIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BRRIEN_MASK)
  36985. #define USDHC_INT_SIGNAL_EN_CINSIEN_MASK (0x40U)
  36986. #define USDHC_INT_SIGNAL_EN_CINSIEN_SHIFT (6U)
  36987. /*! CINSIEN - Card insertion interrupt enable
  36988. * 0b1..Enabled
  36989. * 0b0..Masked
  36990. */
  36991. #define USDHC_INT_SIGNAL_EN_CINSIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CINSIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CINSIEN_MASK)
  36992. #define USDHC_INT_SIGNAL_EN_CRMIEN_MASK (0x80U)
  36993. #define USDHC_INT_SIGNAL_EN_CRMIEN_SHIFT (7U)
  36994. /*! CRMIEN - Card removal interrupt enable
  36995. * 0b1..Enabled
  36996. * 0b0..Masked
  36997. */
  36998. #define USDHC_INT_SIGNAL_EN_CRMIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CRMIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CRMIEN_MASK)
  36999. #define USDHC_INT_SIGNAL_EN_CINTIEN_MASK (0x100U)
  37000. #define USDHC_INT_SIGNAL_EN_CINTIEN_SHIFT (8U)
  37001. /*! CINTIEN - Card interrupt enable
  37002. * 0b1..Enabled
  37003. * 0b0..Masked
  37004. */
  37005. #define USDHC_INT_SIGNAL_EN_CINTIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CINTIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CINTIEN_MASK)
  37006. #define USDHC_INT_SIGNAL_EN_RTEIEN_MASK (0x1000U)
  37007. #define USDHC_INT_SIGNAL_EN_RTEIEN_SHIFT (12U)
  37008. /*! RTEIEN - Re-tuning event interrupt enable
  37009. * 0b1..Enabled
  37010. * 0b0..Masked
  37011. */
  37012. #define USDHC_INT_SIGNAL_EN_RTEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_RTEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_RTEIEN_MASK)
  37013. #define USDHC_INT_SIGNAL_EN_TPIEN_MASK (0x4000U)
  37014. #define USDHC_INT_SIGNAL_EN_TPIEN_SHIFT (14U)
  37015. /*! TPIEN - Tuning Pass interrupt enable
  37016. * 0b1..Enabled
  37017. * 0b0..Masked
  37018. */
  37019. #define USDHC_INT_SIGNAL_EN_TPIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TPIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TPIEN_MASK)
  37020. #define USDHC_INT_SIGNAL_EN_CTOEIEN_MASK (0x10000U)
  37021. #define USDHC_INT_SIGNAL_EN_CTOEIEN_SHIFT (16U)
  37022. /*! CTOEIEN - Command timeout error interrupt enable
  37023. * 0b1..Enabled
  37024. * 0b0..Masked
  37025. */
  37026. #define USDHC_INT_SIGNAL_EN_CTOEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CTOEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CTOEIEN_MASK)
  37027. #define USDHC_INT_SIGNAL_EN_CCEIEN_MASK (0x20000U)
  37028. #define USDHC_INT_SIGNAL_EN_CCEIEN_SHIFT (17U)
  37029. /*! CCEIEN - Command CRC error interrupt enable
  37030. * 0b1..Enabled
  37031. * 0b0..Masked
  37032. */
  37033. #define USDHC_INT_SIGNAL_EN_CCEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CCEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CCEIEN_MASK)
  37034. #define USDHC_INT_SIGNAL_EN_CEBEIEN_MASK (0x40000U)
  37035. #define USDHC_INT_SIGNAL_EN_CEBEIEN_SHIFT (18U)
  37036. /*! CEBEIEN - Command end bit error interrupt enable
  37037. * 0b1..Enabled
  37038. * 0b0..Masked
  37039. */
  37040. #define USDHC_INT_SIGNAL_EN_CEBEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CEBEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CEBEIEN_MASK)
  37041. #define USDHC_INT_SIGNAL_EN_CIEIEN_MASK (0x80000U)
  37042. #define USDHC_INT_SIGNAL_EN_CIEIEN_SHIFT (19U)
  37043. /*! CIEIEN - Command index error interrupt enable
  37044. * 0b1..Enabled
  37045. * 0b0..Masked
  37046. */
  37047. #define USDHC_INT_SIGNAL_EN_CIEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CIEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CIEIEN_MASK)
  37048. #define USDHC_INT_SIGNAL_EN_DTOEIEN_MASK (0x100000U)
  37049. #define USDHC_INT_SIGNAL_EN_DTOEIEN_SHIFT (20U)
  37050. /*! DTOEIEN - Data timeout error interrupt enable
  37051. * 0b1..Enabled
  37052. * 0b0..Masked
  37053. */
  37054. #define USDHC_INT_SIGNAL_EN_DTOEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DTOEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DTOEIEN_MASK)
  37055. #define USDHC_INT_SIGNAL_EN_DCEIEN_MASK (0x200000U)
  37056. #define USDHC_INT_SIGNAL_EN_DCEIEN_SHIFT (21U)
  37057. /*! DCEIEN - Data CRC error interrupt enable
  37058. * 0b1..Enabled
  37059. * 0b0..Masked
  37060. */
  37061. #define USDHC_INT_SIGNAL_EN_DCEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DCEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DCEIEN_MASK)
  37062. #define USDHC_INT_SIGNAL_EN_DEBEIEN_MASK (0x400000U)
  37063. #define USDHC_INT_SIGNAL_EN_DEBEIEN_SHIFT (22U)
  37064. /*! DEBEIEN - Data end bit error interrupt enable
  37065. * 0b1..Enabled
  37066. * 0b0..Masked
  37067. */
  37068. #define USDHC_INT_SIGNAL_EN_DEBEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DEBEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DEBEIEN_MASK)
  37069. #define USDHC_INT_SIGNAL_EN_AC12EIEN_MASK (0x1000000U)
  37070. #define USDHC_INT_SIGNAL_EN_AC12EIEN_SHIFT (24U)
  37071. /*! AC12EIEN - Auto CMD12 error interrupt enable
  37072. * 0b1..Enabled
  37073. * 0b0..Masked
  37074. */
  37075. #define USDHC_INT_SIGNAL_EN_AC12EIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_AC12EIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_AC12EIEN_MASK)
  37076. #define USDHC_INT_SIGNAL_EN_TNEIEN_MASK (0x4000000U)
  37077. #define USDHC_INT_SIGNAL_EN_TNEIEN_SHIFT (26U)
  37078. /*! TNEIEN - Tuning error interrupt enable
  37079. * 0b1..Enabled
  37080. * 0b0..Masked
  37081. */
  37082. #define USDHC_INT_SIGNAL_EN_TNEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TNEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TNEIEN_MASK)
  37083. #define USDHC_INT_SIGNAL_EN_DMAEIEN_MASK (0x10000000U)
  37084. #define USDHC_INT_SIGNAL_EN_DMAEIEN_SHIFT (28U)
  37085. /*! DMAEIEN - DMA error interrupt enable
  37086. * 0b1..Enable
  37087. * 0b0..Masked
  37088. */
  37089. #define USDHC_INT_SIGNAL_EN_DMAEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DMAEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DMAEIEN_MASK)
  37090. /*! @} */
  37091. /*! @name AUTOCMD12_ERR_STATUS - Auto CMD12 Error Status */
  37092. /*! @{ */
  37093. #define USDHC_AUTOCMD12_ERR_STATUS_AC12NE_MASK (0x1U)
  37094. #define USDHC_AUTOCMD12_ERR_STATUS_AC12NE_SHIFT (0U)
  37095. /*! AC12NE - Auto CMD12 not executed
  37096. * 0b1..Not executed
  37097. * 0b0..Executed
  37098. */
  37099. #define USDHC_AUTOCMD12_ERR_STATUS_AC12NE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12NE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12NE_MASK)
  37100. #define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_MASK (0x2U)
  37101. #define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_SHIFT (1U)
  37102. /*! AC12TOE - Auto CMD12 / 23 timeout error
  37103. * 0b1..Time out
  37104. * 0b0..No error
  37105. */
  37106. #define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_MASK)
  37107. #define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_MASK (0x4U)
  37108. #define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_SHIFT (2U)
  37109. /*! AC12EBE - Auto CMD12 / 23 end bit error
  37110. * 0b1..End bit error generated
  37111. * 0b0..No error
  37112. */
  37113. #define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_MASK)
  37114. #define USDHC_AUTOCMD12_ERR_STATUS_AC12CE_MASK (0x8U)
  37115. #define USDHC_AUTOCMD12_ERR_STATUS_AC12CE_SHIFT (3U)
  37116. /*! AC12CE - Auto CMD12 / 23 CRC error
  37117. * 0b1..CRC error met in Auto CMD12/23 response
  37118. * 0b0..No CRC error
  37119. */
  37120. #define USDHC_AUTOCMD12_ERR_STATUS_AC12CE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12CE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12CE_MASK)
  37121. #define USDHC_AUTOCMD12_ERR_STATUS_AC12IE_MASK (0x10U)
  37122. #define USDHC_AUTOCMD12_ERR_STATUS_AC12IE_SHIFT (4U)
  37123. /*! AC12IE - Auto CMD12 / 23 index error
  37124. * 0b1..Error, the CMD index in response is not CMD12/23
  37125. * 0b0..No error
  37126. */
  37127. #define USDHC_AUTOCMD12_ERR_STATUS_AC12IE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12IE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12IE_MASK)
  37128. #define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_MASK (0x80U)
  37129. #define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_SHIFT (7U)
  37130. /*! CNIBAC12E - Command not issued by Auto CMD12 error
  37131. * 0b1..Not issued
  37132. * 0b0..No error
  37133. */
  37134. #define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_MASK)
  37135. #define USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING_MASK (0x400000U)
  37136. #define USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING_SHIFT (22U)
  37137. /*! EXECUTE_TUNING - Execute tuning
  37138. * 0b1..Start tuning procedure
  37139. * 0b0..Tuning procedure is aborted
  37140. */
  37141. #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)
  37142. #define USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL_MASK (0x800000U)
  37143. #define USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL_SHIFT (23U)
  37144. /*! SMP_CLK_SEL - Sample clock select
  37145. * 0b1..Tuned clock is used to sample data
  37146. * 0b0..Fixed clock is used to sample data
  37147. */
  37148. #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)
  37149. /*! @} */
  37150. /*! @name HOST_CTRL_CAP - Host Controller Capabilities */
  37151. /*! @{ */
  37152. #define USDHC_HOST_CTRL_CAP_SDR50_SUPPORT_MASK (0x1U)
  37153. #define USDHC_HOST_CTRL_CAP_SDR50_SUPPORT_SHIFT (0U)
  37154. /*! SDR50_SUPPORT - SDR50 support
  37155. */
  37156. #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)
  37157. #define USDHC_HOST_CTRL_CAP_SDR104_SUPPORT_MASK (0x2U)
  37158. #define USDHC_HOST_CTRL_CAP_SDR104_SUPPORT_SHIFT (1U)
  37159. /*! SDR104_SUPPORT - SDR104 support
  37160. */
  37161. #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)
  37162. #define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_MASK (0x4U)
  37163. #define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_SHIFT (2U)
  37164. /*! DDR50_SUPPORT - DDR50 support
  37165. */
  37166. #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)
  37167. #define USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50_MASK (0x2000U)
  37168. #define USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50_SHIFT (13U)
  37169. /*! USE_TUNING_SDR50 - Use Tuning for SDR50
  37170. * 0b1..SDR50 supports tuning
  37171. * 0b0..SDR50 does not support tuning
  37172. */
  37173. #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)
  37174. #define USDHC_HOST_CTRL_CAP_MBL_MASK (0x70000U)
  37175. #define USDHC_HOST_CTRL_CAP_MBL_SHIFT (16U)
  37176. /*! MBL - Max block length
  37177. * 0b000..512 bytes
  37178. * 0b001..1024 bytes
  37179. * 0b010..2048 bytes
  37180. * 0b011..4096 bytes
  37181. */
  37182. #define USDHC_HOST_CTRL_CAP_MBL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_MBL_SHIFT)) & USDHC_HOST_CTRL_CAP_MBL_MASK)
  37183. #define USDHC_HOST_CTRL_CAP_ADMAS_MASK (0x100000U)
  37184. #define USDHC_HOST_CTRL_CAP_ADMAS_SHIFT (20U)
  37185. /*! ADMAS - ADMA support
  37186. * 0b1..Advanced DMA supported
  37187. * 0b0..Advanced DMA not supported
  37188. */
  37189. #define USDHC_HOST_CTRL_CAP_ADMAS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_ADMAS_SHIFT)) & USDHC_HOST_CTRL_CAP_ADMAS_MASK)
  37190. #define USDHC_HOST_CTRL_CAP_HSS_MASK (0x200000U)
  37191. #define USDHC_HOST_CTRL_CAP_HSS_SHIFT (21U)
  37192. /*! HSS - High speed support
  37193. * 0b1..High speed supported
  37194. * 0b0..High speed not supported
  37195. */
  37196. #define USDHC_HOST_CTRL_CAP_HSS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_HSS_SHIFT)) & USDHC_HOST_CTRL_CAP_HSS_MASK)
  37197. #define USDHC_HOST_CTRL_CAP_DMAS_MASK (0x400000U)
  37198. #define USDHC_HOST_CTRL_CAP_DMAS_SHIFT (22U)
  37199. /*! DMAS - DMA support
  37200. * 0b1..DMA supported
  37201. * 0b0..DMA not supported
  37202. */
  37203. #define USDHC_HOST_CTRL_CAP_DMAS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_DMAS_SHIFT)) & USDHC_HOST_CTRL_CAP_DMAS_MASK)
  37204. #define USDHC_HOST_CTRL_CAP_SRS_MASK (0x800000U)
  37205. #define USDHC_HOST_CTRL_CAP_SRS_SHIFT (23U)
  37206. /*! SRS - Suspend / resume support
  37207. * 0b1..Supported
  37208. * 0b0..Not supported
  37209. */
  37210. #define USDHC_HOST_CTRL_CAP_SRS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_SRS_SHIFT)) & USDHC_HOST_CTRL_CAP_SRS_MASK)
  37211. #define USDHC_HOST_CTRL_CAP_VS33_MASK (0x1000000U)
  37212. #define USDHC_HOST_CTRL_CAP_VS33_SHIFT (24U)
  37213. /*! VS33 - Voltage support 3.3 V
  37214. * 0b1..3.3 V supported
  37215. * 0b0..3.3 V not supported
  37216. */
  37217. #define USDHC_HOST_CTRL_CAP_VS33(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS33_SHIFT)) & USDHC_HOST_CTRL_CAP_VS33_MASK)
  37218. #define USDHC_HOST_CTRL_CAP_VS30_MASK (0x2000000U)
  37219. #define USDHC_HOST_CTRL_CAP_VS30_SHIFT (25U)
  37220. /*! VS30 - Voltage support 3.0 V
  37221. * 0b1..3.0 V supported
  37222. * 0b0..3.0 V not supported
  37223. */
  37224. #define USDHC_HOST_CTRL_CAP_VS30(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS30_SHIFT)) & USDHC_HOST_CTRL_CAP_VS30_MASK)
  37225. #define USDHC_HOST_CTRL_CAP_VS18_MASK (0x4000000U)
  37226. #define USDHC_HOST_CTRL_CAP_VS18_SHIFT (26U)
  37227. /*! VS18 - Voltage support 1.8 V
  37228. * 0b1..1.8 V supported
  37229. * 0b0..1.8 V not supported
  37230. */
  37231. #define USDHC_HOST_CTRL_CAP_VS18(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS18_SHIFT)) & USDHC_HOST_CTRL_CAP_VS18_MASK)
  37232. /*! @} */
  37233. /*! @name WTMK_LVL - Watermark Level */
  37234. /*! @{ */
  37235. #define USDHC_WTMK_LVL_RD_WML_MASK (0xFFU)
  37236. #define USDHC_WTMK_LVL_RD_WML_SHIFT (0U)
  37237. /*! RD_WML - Read watermark level
  37238. */
  37239. #define USDHC_WTMK_LVL_RD_WML(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_RD_WML_SHIFT)) & USDHC_WTMK_LVL_RD_WML_MASK)
  37240. #define USDHC_WTMK_LVL_RD_BRST_LEN_MASK (0x1F00U)
  37241. #define USDHC_WTMK_LVL_RD_BRST_LEN_SHIFT (8U)
  37242. /*! RD_BRST_LEN - Read burst length due to system restriction, the actual burst length might not exceed 16
  37243. */
  37244. #define USDHC_WTMK_LVL_RD_BRST_LEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_RD_BRST_LEN_SHIFT)) & USDHC_WTMK_LVL_RD_BRST_LEN_MASK)
  37245. #define USDHC_WTMK_LVL_WR_WML_MASK (0xFF0000U)
  37246. #define USDHC_WTMK_LVL_WR_WML_SHIFT (16U)
  37247. /*! WR_WML - Write watermark level
  37248. */
  37249. #define USDHC_WTMK_LVL_WR_WML(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_WR_WML_SHIFT)) & USDHC_WTMK_LVL_WR_WML_MASK)
  37250. #define USDHC_WTMK_LVL_WR_BRST_LEN_MASK (0x1F000000U)
  37251. #define USDHC_WTMK_LVL_WR_BRST_LEN_SHIFT (24U)
  37252. /*! WR_BRST_LEN - Write burst length due to system restriction, the actual burst length might not exceed 16
  37253. */
  37254. #define USDHC_WTMK_LVL_WR_BRST_LEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_WR_BRST_LEN_SHIFT)) & USDHC_WTMK_LVL_WR_BRST_LEN_MASK)
  37255. /*! @} */
  37256. /*! @name MIX_CTRL - Mixer Control */
  37257. /*! @{ */
  37258. #define USDHC_MIX_CTRL_DMAEN_MASK (0x1U)
  37259. #define USDHC_MIX_CTRL_DMAEN_SHIFT (0U)
  37260. /*! DMAEN - DMA enable
  37261. * 0b1..Enable
  37262. * 0b0..Disable
  37263. */
  37264. #define USDHC_MIX_CTRL_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DMAEN_SHIFT)) & USDHC_MIX_CTRL_DMAEN_MASK)
  37265. #define USDHC_MIX_CTRL_BCEN_MASK (0x2U)
  37266. #define USDHC_MIX_CTRL_BCEN_SHIFT (1U)
  37267. /*! BCEN - Block count enable
  37268. * 0b1..Enable
  37269. * 0b0..Disable
  37270. */
  37271. #define USDHC_MIX_CTRL_BCEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_BCEN_SHIFT)) & USDHC_MIX_CTRL_BCEN_MASK)
  37272. #define USDHC_MIX_CTRL_AC12EN_MASK (0x4U)
  37273. #define USDHC_MIX_CTRL_AC12EN_SHIFT (2U)
  37274. /*! AC12EN - Auto CMD12 enable
  37275. * 0b1..Enable
  37276. * 0b0..Disable
  37277. */
  37278. #define USDHC_MIX_CTRL_AC12EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_AC12EN_SHIFT)) & USDHC_MIX_CTRL_AC12EN_MASK)
  37279. #define USDHC_MIX_CTRL_DDR_EN_MASK (0x8U)
  37280. #define USDHC_MIX_CTRL_DDR_EN_SHIFT (3U)
  37281. /*! DDR_EN - Dual data rate mode selection
  37282. */
  37283. #define USDHC_MIX_CTRL_DDR_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DDR_EN_SHIFT)) & USDHC_MIX_CTRL_DDR_EN_MASK)
  37284. #define USDHC_MIX_CTRL_DTDSEL_MASK (0x10U)
  37285. #define USDHC_MIX_CTRL_DTDSEL_SHIFT (4U)
  37286. /*! DTDSEL - Data transfer direction select
  37287. * 0b1..Read (Card to host)
  37288. * 0b0..Write (Host to card)
  37289. */
  37290. #define USDHC_MIX_CTRL_DTDSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DTDSEL_SHIFT)) & USDHC_MIX_CTRL_DTDSEL_MASK)
  37291. #define USDHC_MIX_CTRL_MSBSEL_MASK (0x20U)
  37292. #define USDHC_MIX_CTRL_MSBSEL_SHIFT (5U)
  37293. /*! MSBSEL - Multi / Single block select
  37294. * 0b1..Multiple blocks
  37295. * 0b0..Single block
  37296. */
  37297. #define USDHC_MIX_CTRL_MSBSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_MSBSEL_SHIFT)) & USDHC_MIX_CTRL_MSBSEL_MASK)
  37298. #define USDHC_MIX_CTRL_NIBBLE_POS_MASK (0x40U)
  37299. #define USDHC_MIX_CTRL_NIBBLE_POS_SHIFT (6U)
  37300. /*! NIBBLE_POS - Nibble position indication
  37301. */
  37302. #define USDHC_MIX_CTRL_NIBBLE_POS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_NIBBLE_POS_SHIFT)) & USDHC_MIX_CTRL_NIBBLE_POS_MASK)
  37303. #define USDHC_MIX_CTRL_AC23EN_MASK (0x80U)
  37304. #define USDHC_MIX_CTRL_AC23EN_SHIFT (7U)
  37305. /*! AC23EN - Auto CMD23 enable
  37306. */
  37307. #define USDHC_MIX_CTRL_AC23EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_AC23EN_SHIFT)) & USDHC_MIX_CTRL_AC23EN_MASK)
  37308. #define USDHC_MIX_CTRL_EXE_TUNE_MASK (0x400000U)
  37309. #define USDHC_MIX_CTRL_EXE_TUNE_SHIFT (22U)
  37310. /*! EXE_TUNE - Execute tuning: (Only used for SD3.0, SDR104 mode and EMMC HS200 mode)
  37311. * 0b1..Execute tuning
  37312. * 0b0..Not tuned or tuning completed
  37313. */
  37314. #define USDHC_MIX_CTRL_EXE_TUNE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_EXE_TUNE_SHIFT)) & USDHC_MIX_CTRL_EXE_TUNE_MASK)
  37315. #define USDHC_MIX_CTRL_SMP_CLK_SEL_MASK (0x800000U)
  37316. #define USDHC_MIX_CTRL_SMP_CLK_SEL_SHIFT (23U)
  37317. /*! SMP_CLK_SEL - Clock selection
  37318. * 0b1..Tuned clock is used to sample data / cmd
  37319. * 0b0..Fixed clock is used to sample data / cmd
  37320. */
  37321. #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)
  37322. #define USDHC_MIX_CTRL_AUTO_TUNE_EN_MASK (0x1000000U)
  37323. #define USDHC_MIX_CTRL_AUTO_TUNE_EN_SHIFT (24U)
  37324. /*! AUTO_TUNE_EN - Auto tuning enable (Only used for SD3.0, SDR104 mode and and EMMC HS200 mode)
  37325. * 0b1..Enable auto tuning
  37326. * 0b0..Disable auto tuning
  37327. */
  37328. #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)
  37329. #define USDHC_MIX_CTRL_FBCLK_SEL_MASK (0x2000000U)
  37330. #define USDHC_MIX_CTRL_FBCLK_SEL_SHIFT (25U)
  37331. /*! FBCLK_SEL - Feedback clock source selection (Only used for SD3.0, SDR104 mode and EMMC HS200 mode)
  37332. * 0b1..Feedback clock comes from the ipp_card_clk_out
  37333. * 0b0..Feedback clock comes from the loopback CLK
  37334. */
  37335. #define USDHC_MIX_CTRL_FBCLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_FBCLK_SEL_SHIFT)) & USDHC_MIX_CTRL_FBCLK_SEL_MASK)
  37336. /*! @} */
  37337. /*! @name FORCE_EVENT - Force Event */
  37338. /*! @{ */
  37339. #define USDHC_FORCE_EVENT_FEVTAC12NE_MASK (0x1U)
  37340. #define USDHC_FORCE_EVENT_FEVTAC12NE_SHIFT (0U)
  37341. /*! FEVTAC12NE - Force event auto command 12 not executed
  37342. */
  37343. #define USDHC_FORCE_EVENT_FEVTAC12NE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12NE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12NE_MASK)
  37344. #define USDHC_FORCE_EVENT_FEVTAC12TOE_MASK (0x2U)
  37345. #define USDHC_FORCE_EVENT_FEVTAC12TOE_SHIFT (1U)
  37346. /*! FEVTAC12TOE - Force event auto command 12 time out error
  37347. */
  37348. #define USDHC_FORCE_EVENT_FEVTAC12TOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12TOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12TOE_MASK)
  37349. #define USDHC_FORCE_EVENT_FEVTAC12CE_MASK (0x4U)
  37350. #define USDHC_FORCE_EVENT_FEVTAC12CE_SHIFT (2U)
  37351. /*! FEVTAC12CE - Force event auto command 12 CRC error
  37352. */
  37353. #define USDHC_FORCE_EVENT_FEVTAC12CE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12CE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12CE_MASK)
  37354. #define USDHC_FORCE_EVENT_FEVTAC12EBE_MASK (0x8U)
  37355. #define USDHC_FORCE_EVENT_FEVTAC12EBE_SHIFT (3U)
  37356. /*! FEVTAC12EBE - Force event Auto Command 12 end bit error
  37357. */
  37358. #define USDHC_FORCE_EVENT_FEVTAC12EBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12EBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12EBE_MASK)
  37359. #define USDHC_FORCE_EVENT_FEVTAC12IE_MASK (0x10U)
  37360. #define USDHC_FORCE_EVENT_FEVTAC12IE_SHIFT (4U)
  37361. /*! FEVTAC12IE - Force event Auto Command 12 index error
  37362. */
  37363. #define USDHC_FORCE_EVENT_FEVTAC12IE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12IE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12IE_MASK)
  37364. #define USDHC_FORCE_EVENT_FEVTCNIBAC12E_MASK (0x80U)
  37365. #define USDHC_FORCE_EVENT_FEVTCNIBAC12E_SHIFT (7U)
  37366. /*! FEVTCNIBAC12E - Force event command not executed by Auto Command 12 error
  37367. */
  37368. #define USDHC_FORCE_EVENT_FEVTCNIBAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCNIBAC12E_SHIFT)) & USDHC_FORCE_EVENT_FEVTCNIBAC12E_MASK)
  37369. #define USDHC_FORCE_EVENT_FEVTCTOE_MASK (0x10000U)
  37370. #define USDHC_FORCE_EVENT_FEVTCTOE_SHIFT (16U)
  37371. /*! FEVTCTOE - Force event command time out error
  37372. */
  37373. #define USDHC_FORCE_EVENT_FEVTCTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCTOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCTOE_MASK)
  37374. #define USDHC_FORCE_EVENT_FEVTCCE_MASK (0x20000U)
  37375. #define USDHC_FORCE_EVENT_FEVTCCE_SHIFT (17U)
  37376. /*! FEVTCCE - Force event command CRC error
  37377. */
  37378. #define USDHC_FORCE_EVENT_FEVTCCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCCE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCCE_MASK)
  37379. #define USDHC_FORCE_EVENT_FEVTCEBE_MASK (0x40000U)
  37380. #define USDHC_FORCE_EVENT_FEVTCEBE_SHIFT (18U)
  37381. /*! FEVTCEBE - Force event command end bit error
  37382. */
  37383. #define USDHC_FORCE_EVENT_FEVTCEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCEBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCEBE_MASK)
  37384. #define USDHC_FORCE_EVENT_FEVTCIE_MASK (0x80000U)
  37385. #define USDHC_FORCE_EVENT_FEVTCIE_SHIFT (19U)
  37386. /*! FEVTCIE - Force event command index error
  37387. */
  37388. #define USDHC_FORCE_EVENT_FEVTCIE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCIE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCIE_MASK)
  37389. #define USDHC_FORCE_EVENT_FEVTDTOE_MASK (0x100000U)
  37390. #define USDHC_FORCE_EVENT_FEVTDTOE_SHIFT (20U)
  37391. /*! FEVTDTOE - Force event data time out error
  37392. */
  37393. #define USDHC_FORCE_EVENT_FEVTDTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDTOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDTOE_MASK)
  37394. #define USDHC_FORCE_EVENT_FEVTDCE_MASK (0x200000U)
  37395. #define USDHC_FORCE_EVENT_FEVTDCE_SHIFT (21U)
  37396. /*! FEVTDCE - Force event data CRC error
  37397. */
  37398. #define USDHC_FORCE_EVENT_FEVTDCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDCE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDCE_MASK)
  37399. #define USDHC_FORCE_EVENT_FEVTDEBE_MASK (0x400000U)
  37400. #define USDHC_FORCE_EVENT_FEVTDEBE_SHIFT (22U)
  37401. /*! FEVTDEBE - Force event data end bit error
  37402. */
  37403. #define USDHC_FORCE_EVENT_FEVTDEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDEBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDEBE_MASK)
  37404. #define USDHC_FORCE_EVENT_FEVTAC12E_MASK (0x1000000U)
  37405. #define USDHC_FORCE_EVENT_FEVTAC12E_SHIFT (24U)
  37406. /*! FEVTAC12E - Force event Auto Command 12 error
  37407. */
  37408. #define USDHC_FORCE_EVENT_FEVTAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12E_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12E_MASK)
  37409. #define USDHC_FORCE_EVENT_FEVTTNE_MASK (0x4000000U)
  37410. #define USDHC_FORCE_EVENT_FEVTTNE_SHIFT (26U)
  37411. /*! FEVTTNE - Force tuning error
  37412. */
  37413. #define USDHC_FORCE_EVENT_FEVTTNE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTTNE_SHIFT)) & USDHC_FORCE_EVENT_FEVTTNE_MASK)
  37414. #define USDHC_FORCE_EVENT_FEVTDMAE_MASK (0x10000000U)
  37415. #define USDHC_FORCE_EVENT_FEVTDMAE_SHIFT (28U)
  37416. /*! FEVTDMAE - Force event DMA error
  37417. */
  37418. #define USDHC_FORCE_EVENT_FEVTDMAE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDMAE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDMAE_MASK)
  37419. #define USDHC_FORCE_EVENT_FEVTCINT_MASK (0x80000000U)
  37420. #define USDHC_FORCE_EVENT_FEVTCINT_SHIFT (31U)
  37421. /*! FEVTCINT - Force event card interrupt
  37422. */
  37423. #define USDHC_FORCE_EVENT_FEVTCINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCINT_SHIFT)) & USDHC_FORCE_EVENT_FEVTCINT_MASK)
  37424. /*! @} */
  37425. /*! @name ADMA_ERR_STATUS - ADMA Error Status */
  37426. /*! @{ */
  37427. #define USDHC_ADMA_ERR_STATUS_ADMAES_MASK (0x3U)
  37428. #define USDHC_ADMA_ERR_STATUS_ADMAES_SHIFT (0U)
  37429. /*! ADMAES - ADMA error state (when ADMA error is occurred)
  37430. */
  37431. #define USDHC_ADMA_ERR_STATUS_ADMAES(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMAES_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMAES_MASK)
  37432. #define USDHC_ADMA_ERR_STATUS_ADMALME_MASK (0x4U)
  37433. #define USDHC_ADMA_ERR_STATUS_ADMALME_SHIFT (2U)
  37434. /*! ADMALME - ADMA length mismatch error
  37435. * 0b1..Error
  37436. * 0b0..No error
  37437. */
  37438. #define USDHC_ADMA_ERR_STATUS_ADMALME(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMALME_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMALME_MASK)
  37439. #define USDHC_ADMA_ERR_STATUS_ADMADCE_MASK (0x8U)
  37440. #define USDHC_ADMA_ERR_STATUS_ADMADCE_SHIFT (3U)
  37441. /*! ADMADCE - ADMA descriptor error
  37442. * 0b1..Error
  37443. * 0b0..No error
  37444. */
  37445. #define USDHC_ADMA_ERR_STATUS_ADMADCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMADCE_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMADCE_MASK)
  37446. /*! @} */
  37447. /*! @name ADMA_SYS_ADDR - ADMA System Address */
  37448. /*! @{ */
  37449. #define USDHC_ADMA_SYS_ADDR_ADS_ADDR_MASK (0xFFFFFFFCU)
  37450. #define USDHC_ADMA_SYS_ADDR_ADS_ADDR_SHIFT (2U)
  37451. /*! ADS_ADDR - ADMA system address
  37452. */
  37453. #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)
  37454. /*! @} */
  37455. /*! @name DLL_CTRL - DLL (Delay Line) Control */
  37456. /*! @{ */
  37457. #define USDHC_DLL_CTRL_DLL_CTRL_ENABLE_MASK (0x1U)
  37458. #define USDHC_DLL_CTRL_DLL_CTRL_ENABLE_SHIFT (0U)
  37459. /*! DLL_CTRL_ENABLE - DLL and delay chain
  37460. */
  37461. #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)
  37462. #define USDHC_DLL_CTRL_DLL_CTRL_RESET_MASK (0x2U)
  37463. #define USDHC_DLL_CTRL_DLL_CTRL_RESET_SHIFT (1U)
  37464. /*! DLL_CTRL_RESET - DLL reset
  37465. */
  37466. #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)
  37467. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD_MASK (0x4U)
  37468. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD_SHIFT (2U)
  37469. /*! DLL_CTRL_SLV_FORCE_UPD - DLL slave delay line
  37470. */
  37471. #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)
  37472. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0_MASK (0x78U)
  37473. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0_SHIFT (3U)
  37474. /*! DLL_CTRL_SLV_DLY_TARGET0 - DLL slave delay target0
  37475. */
  37476. #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)
  37477. #define USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE_MASK (0x80U)
  37478. #define USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE_SHIFT (7U)
  37479. /*! DLL_CTRL_GATE_UPDATE - DLL gate update
  37480. */
  37481. #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)
  37482. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_MASK (0x100U)
  37483. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_SHIFT (8U)
  37484. /*! DLL_CTRL_SLV_OVERRIDE - DLL slave override
  37485. */
  37486. #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)
  37487. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL_MASK (0xFE00U)
  37488. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL_SHIFT (9U)
  37489. /*! DLL_CTRL_SLV_OVERRIDE_VAL - DLL slave override val
  37490. */
  37491. #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)
  37492. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1_MASK (0x70000U)
  37493. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1_SHIFT (16U)
  37494. /*! DLL_CTRL_SLV_DLY_TARGET1 - DLL slave delay target1
  37495. */
  37496. #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)
  37497. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT_MASK (0xFF00000U)
  37498. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT_SHIFT (20U)
  37499. /*! DLL_CTRL_SLV_UPDATE_INT - Slave delay line update interval
  37500. */
  37501. #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)
  37502. #define USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT_MASK (0xF0000000U)
  37503. #define USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT_SHIFT (28U)
  37504. /*! DLL_CTRL_REF_UPDATE_INT - DLL control loop update interval
  37505. */
  37506. #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)
  37507. /*! @} */
  37508. /*! @name DLL_STATUS - DLL Status */
  37509. /*! @{ */
  37510. #define USDHC_DLL_STATUS_DLL_STS_SLV_LOCK_MASK (0x1U)
  37511. #define USDHC_DLL_STATUS_DLL_STS_SLV_LOCK_SHIFT (0U)
  37512. /*! DLL_STS_SLV_LOCK - Slave delay-line lock status
  37513. */
  37514. #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)
  37515. #define USDHC_DLL_STATUS_DLL_STS_REF_LOCK_MASK (0x2U)
  37516. #define USDHC_DLL_STATUS_DLL_STS_REF_LOCK_SHIFT (1U)
  37517. /*! DLL_STS_REF_LOCK - Reference DLL lock status
  37518. */
  37519. #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)
  37520. #define USDHC_DLL_STATUS_DLL_STS_SLV_SEL_MASK (0x1FCU)
  37521. #define USDHC_DLL_STATUS_DLL_STS_SLV_SEL_SHIFT (2U)
  37522. /*! DLL_STS_SLV_SEL - Slave delay line select status
  37523. */
  37524. #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)
  37525. #define USDHC_DLL_STATUS_DLL_STS_REF_SEL_MASK (0xFE00U)
  37526. #define USDHC_DLL_STATUS_DLL_STS_REF_SEL_SHIFT (9U)
  37527. /*! DLL_STS_REF_SEL - Reference delay line select taps
  37528. */
  37529. #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)
  37530. /*! @} */
  37531. /*! @name CLK_TUNE_CTRL_STATUS - CLK Tuning Control and Status */
  37532. /*! @{ */
  37533. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_MASK (0xFU)
  37534. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_SHIFT (0U)
  37535. /*! DLY_CELL_SET_POST - Delay cells on the feedback clock between CLK_OUT and CLK_POST
  37536. */
  37537. #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)
  37538. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_MASK (0xF0U)
  37539. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_SHIFT (4U)
  37540. /*! DLY_CELL_SET_OUT - Delay cells on the feedback clock between CLK_PRE and CLK_OUT
  37541. */
  37542. #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)
  37543. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_MASK (0x7F00U)
  37544. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_SHIFT (8U)
  37545. /*! DLY_CELL_SET_PRE - delay cells on the feedback clock between the feedback clock and CLK_PRE
  37546. */
  37547. #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)
  37548. #define USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR_MASK (0x8000U)
  37549. #define USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR_SHIFT (15U)
  37550. /*! NXT_ERR - NXT error
  37551. */
  37552. #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)
  37553. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST_MASK (0xF0000U)
  37554. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST_SHIFT (16U)
  37555. /*! TAP_SEL_POST - Delay cells added on the feedback clock between CLK_OUT and CLK_POST
  37556. */
  37557. #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)
  37558. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT_MASK (0xF00000U)
  37559. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT_SHIFT (20U)
  37560. /*! TAP_SEL_OUT - Delay cells added on the feedback clock between CLK_PRE and CLK_OUT
  37561. */
  37562. #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)
  37563. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE_MASK (0x7F000000U)
  37564. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE_SHIFT (24U)
  37565. /*! TAP_SEL_PRE - TAP_SEL_PRE
  37566. */
  37567. #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)
  37568. #define USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR_MASK (0x80000000U)
  37569. #define USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR_SHIFT (31U)
  37570. /*! PRE_ERR - PRE error
  37571. */
  37572. #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)
  37573. /*! @} */
  37574. /*! @name VEND_SPEC - Vendor Specific Register */
  37575. /*! @{ */
  37576. #define USDHC_VEND_SPEC_VSELECT_MASK (0x2U)
  37577. #define USDHC_VEND_SPEC_VSELECT_SHIFT (1U)
  37578. /*! VSELECT - Voltage selection
  37579. * 0b1..Change the voltage to low voltage range, around 1.8 V
  37580. * 0b0..Change the voltage to high voltage range, around 3.0 V
  37581. */
  37582. #define USDHC_VEND_SPEC_VSELECT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_VSELECT_SHIFT)) & USDHC_VEND_SPEC_VSELECT_MASK)
  37583. #define USDHC_VEND_SPEC_CONFLICT_CHK_EN_MASK (0x4U)
  37584. #define USDHC_VEND_SPEC_CONFLICT_CHK_EN_SHIFT (2U)
  37585. /*! CONFLICT_CHK_EN - Conflict check enable
  37586. * 0b0..Conflict check disable
  37587. * 0b1..Conflict check enable
  37588. */
  37589. #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)
  37590. #define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_MASK (0x8U)
  37591. #define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_SHIFT (3U)
  37592. /*! AC12_WR_CHKBUSY_EN - Check busy enable
  37593. * 0b0..Do not check busy after auto CMD12 for write data packet
  37594. * 0b1..Check busy after auto CMD12 for write data packet
  37595. */
  37596. #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)
  37597. #define USDHC_VEND_SPEC_FRC_SDCLK_ON_MASK (0x100U)
  37598. #define USDHC_VEND_SPEC_FRC_SDCLK_ON_SHIFT (8U)
  37599. /*! FRC_SDCLK_ON - Force CLK
  37600. * 0b0..CLK active or inactive is fully controlled by the hardware.
  37601. * 0b1..Force CLK active
  37602. */
  37603. #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)
  37604. #define USDHC_VEND_SPEC_CRC_CHK_DIS_MASK (0x8000U)
  37605. #define USDHC_VEND_SPEC_CRC_CHK_DIS_SHIFT (15U)
  37606. /*! CRC_CHK_DIS - CRC Check Disable
  37607. * 0b0..Check CRC16 for every read data packet and check CRC fields for every write data packet
  37608. * 0b1..Ignore CRC16 check for every read data packet and ignore CRC fields check for every write data packet
  37609. */
  37610. #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)
  37611. #define USDHC_VEND_SPEC_CMD_BYTE_EN_MASK (0x80000000U)
  37612. #define USDHC_VEND_SPEC_CMD_BYTE_EN_SHIFT (31U)
  37613. /*! CMD_BYTE_EN - Byte access
  37614. * 0b0..Disable
  37615. * 0b1..Enable
  37616. */
  37617. #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)
  37618. /*! @} */
  37619. /*! @name MMC_BOOT - MMC Boot */
  37620. /*! @{ */
  37621. #define USDHC_MMC_BOOT_DTOCV_ACK_MASK (0xFU)
  37622. #define USDHC_MMC_BOOT_DTOCV_ACK_SHIFT (0U)
  37623. /*! DTOCV_ACK - Boot ACK time out
  37624. * 0b0000..SDCLK x 2^14
  37625. * 0b0001..SDCLK x 2^15
  37626. * 0b0010..SDCLK x 2^16
  37627. * 0b0011..SDCLK x 2^17
  37628. * 0b0100..SDCLK x 2^18
  37629. * 0b0101..SDCLK x 2^19
  37630. * 0b0110..SDCLK x 2^20
  37631. * 0b0111..SDCLK x 2^21
  37632. * 0b1110..SDCLK x 2^28
  37633. * 0b1111..SDCLK x 2^29
  37634. */
  37635. #define USDHC_MMC_BOOT_DTOCV_ACK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_DTOCV_ACK_SHIFT)) & USDHC_MMC_BOOT_DTOCV_ACK_MASK)
  37636. #define USDHC_MMC_BOOT_BOOT_ACK_MASK (0x10U)
  37637. #define USDHC_MMC_BOOT_BOOT_ACK_SHIFT (4U)
  37638. /*! BOOT_ACK - BOOT ACK
  37639. * 0b0..No ack
  37640. * 0b1..Ack
  37641. */
  37642. #define USDHC_MMC_BOOT_BOOT_ACK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_ACK_SHIFT)) & USDHC_MMC_BOOT_BOOT_ACK_MASK)
  37643. #define USDHC_MMC_BOOT_BOOT_MODE_MASK (0x20U)
  37644. #define USDHC_MMC_BOOT_BOOT_MODE_SHIFT (5U)
  37645. /*! BOOT_MODE - Boot mode
  37646. * 0b0..Normal boot
  37647. * 0b1..Alternative boot
  37648. */
  37649. #define USDHC_MMC_BOOT_BOOT_MODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_MODE_SHIFT)) & USDHC_MMC_BOOT_BOOT_MODE_MASK)
  37650. #define USDHC_MMC_BOOT_BOOT_EN_MASK (0x40U)
  37651. #define USDHC_MMC_BOOT_BOOT_EN_SHIFT (6U)
  37652. /*! BOOT_EN - Boot enable
  37653. * 0b0..Fast boot disable
  37654. * 0b1..Fast boot enable
  37655. */
  37656. #define USDHC_MMC_BOOT_BOOT_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_EN_SHIFT)) & USDHC_MMC_BOOT_BOOT_EN_MASK)
  37657. #define USDHC_MMC_BOOT_AUTO_SABG_EN_MASK (0x80U)
  37658. #define USDHC_MMC_BOOT_AUTO_SABG_EN_SHIFT (7U)
  37659. /*! AUTO_SABG_EN - Auto stop at block gap
  37660. */
  37661. #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)
  37662. #define USDHC_MMC_BOOT_DISABLE_TIME_OUT_MASK (0x100U)
  37663. #define USDHC_MMC_BOOT_DISABLE_TIME_OUT_SHIFT (8U)
  37664. /*! DISABLE_TIME_OUT - Time out
  37665. * 0b0..Enable time out
  37666. * 0b1..Disable time out
  37667. */
  37668. #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)
  37669. #define USDHC_MMC_BOOT_BOOT_BLK_CNT_MASK (0xFFFF0000U)
  37670. #define USDHC_MMC_BOOT_BOOT_BLK_CNT_SHIFT (16U)
  37671. /*! BOOT_BLK_CNT - Stop At Block Gap value of automatic mode
  37672. */
  37673. #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)
  37674. /*! @} */
  37675. /*! @name VEND_SPEC2 - Vendor Specific 2 Register */
  37676. /*! @{ */
  37677. #define USDHC_VEND_SPEC2_CARD_INT_D3_TEST_MASK (0x8U)
  37678. #define USDHC_VEND_SPEC2_CARD_INT_D3_TEST_SHIFT (3U)
  37679. /*! CARD_INT_D3_TEST - Card interrupt detection test
  37680. * 0b0..Check the card interrupt only when DATA3 is high.
  37681. * 0b1..Check the card interrupt by ignoring the status of DATA3.
  37682. */
  37683. #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)
  37684. #define USDHC_VEND_SPEC2_TUNING_8bit_EN_MASK (0x10U)
  37685. #define USDHC_VEND_SPEC2_TUNING_8bit_EN_SHIFT (4U)
  37686. /*! TUNING_8bit_EN - Tuning 8bit enable
  37687. */
  37688. #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)
  37689. #define USDHC_VEND_SPEC2_TUNING_1bit_EN_MASK (0x20U)
  37690. #define USDHC_VEND_SPEC2_TUNING_1bit_EN_SHIFT (5U)
  37691. /*! TUNING_1bit_EN - Tuning 1bit enable
  37692. */
  37693. #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)
  37694. #define USDHC_VEND_SPEC2_TUNING_CMD_EN_MASK (0x40U)
  37695. #define USDHC_VEND_SPEC2_TUNING_CMD_EN_SHIFT (6U)
  37696. /*! TUNING_CMD_EN - Tuning command enable
  37697. * 0b0..Auto tuning circuit does not check the CMD line.
  37698. * 0b1..Auto tuning circuit checks the CMD line.
  37699. */
  37700. #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)
  37701. #define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_MASK (0x1000U)
  37702. #define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_SHIFT (12U)
  37703. /*! ACMD23_ARGU2_EN - Argument2 register enable for ACMD23
  37704. * 0b1..Argument2 register enable for ACMD23 sharing with SDMA system address register. Default is enabled.
  37705. * 0b0..Disable
  37706. */
  37707. #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)
  37708. /*! @} */
  37709. /*! @name TUNING_CTRL - Tuning Control */
  37710. /*! @{ */
  37711. #define USDHC_TUNING_CTRL_TUNING_START_TAP_MASK (0x7FU)
  37712. #define USDHC_TUNING_CTRL_TUNING_START_TAP_SHIFT (0U)
  37713. /*! TUNING_START_TAP - Tuning start
  37714. */
  37715. #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)
  37716. #define USDHC_TUNING_CTRL_DIS_CMD_CHK_FOR_STD_TUNING_MASK (0x80U)
  37717. #define USDHC_TUNING_CTRL_DIS_CMD_CHK_FOR_STD_TUNING_SHIFT (7U)
  37718. /*! DIS_CMD_CHK_FOR_STD_TUNING - Disable command check for standard tuning
  37719. */
  37720. #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)
  37721. #define USDHC_TUNING_CTRL_TUNING_COUNTER_MASK (0xFF00U)
  37722. #define USDHC_TUNING_CTRL_TUNING_COUNTER_SHIFT (8U)
  37723. /*! TUNING_COUNTER - Tuning counter
  37724. */
  37725. #define USDHC_TUNING_CTRL_TUNING_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_COUNTER_SHIFT)) & USDHC_TUNING_CTRL_TUNING_COUNTER_MASK)
  37726. #define USDHC_TUNING_CTRL_TUNING_STEP_MASK (0x70000U)
  37727. #define USDHC_TUNING_CTRL_TUNING_STEP_SHIFT (16U)
  37728. /*! TUNING_STEP - TUNING_STEP
  37729. */
  37730. #define USDHC_TUNING_CTRL_TUNING_STEP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_STEP_SHIFT)) & USDHC_TUNING_CTRL_TUNING_STEP_MASK)
  37731. #define USDHC_TUNING_CTRL_TUNING_WINDOW_MASK (0x700000U)
  37732. #define USDHC_TUNING_CTRL_TUNING_WINDOW_SHIFT (20U)
  37733. /*! TUNING_WINDOW - Data window
  37734. */
  37735. #define USDHC_TUNING_CTRL_TUNING_WINDOW(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_WINDOW_SHIFT)) & USDHC_TUNING_CTRL_TUNING_WINDOW_MASK)
  37736. #define USDHC_TUNING_CTRL_STD_TUNING_EN_MASK (0x1000000U)
  37737. #define USDHC_TUNING_CTRL_STD_TUNING_EN_SHIFT (24U)
  37738. /*! STD_TUNING_EN - Standard tuning circuit and procedure enable
  37739. */
  37740. #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)
  37741. /*! @} */
  37742. /*!
  37743. * @}
  37744. */ /* end of group USDHC_Register_Masks */
  37745. /* USDHC - Peripheral instance base addresses */
  37746. /** Peripheral USDHC1 base address */
  37747. #define USDHC1_BASE (0x402C0000u)
  37748. /** Peripheral USDHC1 base pointer */
  37749. #define USDHC1 ((USDHC_Type *)USDHC1_BASE)
  37750. /** Peripheral USDHC2 base address */
  37751. #define USDHC2_BASE (0x402C4000u)
  37752. /** Peripheral USDHC2 base pointer */
  37753. #define USDHC2 ((USDHC_Type *)USDHC2_BASE)
  37754. /** Array initializer of USDHC peripheral base addresses */
  37755. #define USDHC_BASE_ADDRS { 0u, USDHC1_BASE, USDHC2_BASE }
  37756. /** Array initializer of USDHC peripheral base pointers */
  37757. #define USDHC_BASE_PTRS { (USDHC_Type *)0u, USDHC1, USDHC2 }
  37758. /** Interrupt vectors for the USDHC peripheral type */
  37759. #define USDHC_IRQS { NotAvail_IRQn, USDHC1_IRQn, USDHC2_IRQn }
  37760. /*!
  37761. * @}
  37762. */ /* end of group USDHC_Peripheral_Access_Layer */
  37763. /* ----------------------------------------------------------------------------
  37764. -- WDOG Peripheral Access Layer
  37765. ---------------------------------------------------------------------------- */
  37766. /*!
  37767. * @addtogroup WDOG_Peripheral_Access_Layer WDOG Peripheral Access Layer
  37768. * @{
  37769. */
  37770. /** WDOG - Register Layout Typedef */
  37771. typedef struct {
  37772. __IO uint16_t WCR; /**< Watchdog Control Register, offset: 0x0 */
  37773. __IO uint16_t WSR; /**< Watchdog Service Register, offset: 0x2 */
  37774. __I uint16_t WRSR; /**< Watchdog Reset Status Register, offset: 0x4 */
  37775. __IO uint16_t WICR; /**< Watchdog Interrupt Control Register, offset: 0x6 */
  37776. __IO uint16_t WMCR; /**< Watchdog Miscellaneous Control Register, offset: 0x8 */
  37777. } WDOG_Type;
  37778. /* ----------------------------------------------------------------------------
  37779. -- WDOG Register Masks
  37780. ---------------------------------------------------------------------------- */
  37781. /*!
  37782. * @addtogroup WDOG_Register_Masks WDOG Register Masks
  37783. * @{
  37784. */
  37785. /*! @name WCR - Watchdog Control Register */
  37786. /*! @{ */
  37787. #define WDOG_WCR_WDZST_MASK (0x1U)
  37788. #define WDOG_WCR_WDZST_SHIFT (0U)
  37789. /*! WDZST - WDZST
  37790. * 0b0..Continue timer operation (Default).
  37791. * 0b1..Suspend the watchdog timer.
  37792. */
  37793. #define WDOG_WCR_WDZST(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDZST_SHIFT)) & WDOG_WCR_WDZST_MASK)
  37794. #define WDOG_WCR_WDBG_MASK (0x2U)
  37795. #define WDOG_WCR_WDBG_SHIFT (1U)
  37796. /*! WDBG - WDBG
  37797. * 0b0..Continue WDOG timer operation (Default).
  37798. * 0b1..Suspend the watchdog timer.
  37799. */
  37800. #define WDOG_WCR_WDBG(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDBG_SHIFT)) & WDOG_WCR_WDBG_MASK)
  37801. #define WDOG_WCR_WDE_MASK (0x4U)
  37802. #define WDOG_WCR_WDE_SHIFT (2U)
  37803. /*! WDE - WDE
  37804. * 0b0..Disable the Watchdog (Default).
  37805. * 0b1..Enable the Watchdog.
  37806. */
  37807. #define WDOG_WCR_WDE(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDE_SHIFT)) & WDOG_WCR_WDE_MASK)
  37808. #define WDOG_WCR_WDT_MASK (0x8U)
  37809. #define WDOG_WCR_WDT_SHIFT (3U)
  37810. /*! WDT - WDT
  37811. * 0b0..No effect on WDOG_B (Default).
  37812. * 0b1..Assert WDOG_B upon a Watchdog Time-out event.
  37813. */
  37814. #define WDOG_WCR_WDT(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDT_SHIFT)) & WDOG_WCR_WDT_MASK)
  37815. #define WDOG_WCR_SRS_MASK (0x10U)
  37816. #define WDOG_WCR_SRS_SHIFT (4U)
  37817. /*! SRS - SRS
  37818. * 0b0..Assert system reset signal.
  37819. * 0b1..No effect on the system (Default).
  37820. */
  37821. #define WDOG_WCR_SRS(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_SRS_SHIFT)) & WDOG_WCR_SRS_MASK)
  37822. #define WDOG_WCR_WDA_MASK (0x20U)
  37823. #define WDOG_WCR_WDA_SHIFT (5U)
  37824. /*! WDA - WDA
  37825. * 0b0..Assert WDOG_B output.
  37826. * 0b1..No effect on system (Default).
  37827. */
  37828. #define WDOG_WCR_WDA(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDA_SHIFT)) & WDOG_WCR_WDA_MASK)
  37829. #define WDOG_WCR_SRE_MASK (0x40U)
  37830. #define WDOG_WCR_SRE_SHIFT (6U)
  37831. /*! SRE - software reset extension, an option way to generate software reset
  37832. * 0b0..using original way to generate software reset (default)
  37833. * 0b1..using new way to generate software reset.
  37834. */
  37835. #define WDOG_WCR_SRE(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_SRE_SHIFT)) & WDOG_WCR_SRE_MASK)
  37836. #define WDOG_WCR_WDW_MASK (0x80U)
  37837. #define WDOG_WCR_WDW_SHIFT (7U)
  37838. /*! WDW - WDW
  37839. * 0b0..Continue WDOG timer operation (Default).
  37840. * 0b1..Suspend WDOG timer operation.
  37841. */
  37842. #define WDOG_WCR_WDW(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDW_SHIFT)) & WDOG_WCR_WDW_MASK)
  37843. #define WDOG_WCR_WT_MASK (0xFF00U)
  37844. #define WDOG_WCR_WT_SHIFT (8U)
  37845. /*! WT - WT
  37846. * 0b00000000..- 0.5 Seconds (Default).
  37847. * 0b00000001..- 1.0 Seconds.
  37848. * 0b00000010..- 1.5 Seconds.
  37849. * 0b00000011..- 2.0 Seconds.
  37850. * 0b11111111..- 128 Seconds.
  37851. */
  37852. #define WDOG_WCR_WT(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WT_SHIFT)) & WDOG_WCR_WT_MASK)
  37853. /*! @} */
  37854. /*! @name WSR - Watchdog Service Register */
  37855. /*! @{ */
  37856. #define WDOG_WSR_WSR_MASK (0xFFFFU)
  37857. #define WDOG_WSR_WSR_SHIFT (0U)
  37858. /*! WSR - WSR
  37859. * 0b0101010101010101..Write to the Watchdog Service Register (WDOG_WSR).
  37860. * 0b1010101010101010..Write to the Watchdog Service Register (WDOG_WSR).
  37861. */
  37862. #define WDOG_WSR_WSR(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WSR_WSR_SHIFT)) & WDOG_WSR_WSR_MASK)
  37863. /*! @} */
  37864. /*! @name WRSR - Watchdog Reset Status Register */
  37865. /*! @{ */
  37866. #define WDOG_WRSR_SFTW_MASK (0x1U)
  37867. #define WDOG_WRSR_SFTW_SHIFT (0U)
  37868. /*! SFTW - SFTW
  37869. * 0b0..Reset is not the result of a software reset.
  37870. * 0b1..Reset is the result of a software reset.
  37871. */
  37872. #define WDOG_WRSR_SFTW(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WRSR_SFTW_SHIFT)) & WDOG_WRSR_SFTW_MASK)
  37873. #define WDOG_WRSR_TOUT_MASK (0x2U)
  37874. #define WDOG_WRSR_TOUT_SHIFT (1U)
  37875. /*! TOUT - TOUT
  37876. * 0b0..Reset is not the result of a WDOG timeout.
  37877. * 0b1..Reset is the result of a WDOG timeout.
  37878. */
  37879. #define WDOG_WRSR_TOUT(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WRSR_TOUT_SHIFT)) & WDOG_WRSR_TOUT_MASK)
  37880. #define WDOG_WRSR_POR_MASK (0x10U)
  37881. #define WDOG_WRSR_POR_SHIFT (4U)
  37882. /*! POR - POR
  37883. * 0b0..Reset is not the result of a power on reset.
  37884. * 0b1..Reset is the result of a power on reset.
  37885. */
  37886. #define WDOG_WRSR_POR(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WRSR_POR_SHIFT)) & WDOG_WRSR_POR_MASK)
  37887. /*! @} */
  37888. /*! @name WICR - Watchdog Interrupt Control Register */
  37889. /*! @{ */
  37890. #define WDOG_WICR_WICT_MASK (0xFFU)
  37891. #define WDOG_WICR_WICT_SHIFT (0U)
  37892. /*! WICT - WICT
  37893. * 0b00000000..WICT[7:0] = Time duration between interrupt and time-out is 0 seconds.
  37894. * 0b00000001..WICT[7:0] = Time duration between interrupt and time-out is 0.5 seconds.
  37895. * 0b00000100..WICT[7:0] = Time duration between interrupt and time-out is 2 seconds (Default).
  37896. * 0b11111111..WICT[7:0] = Time duration between interrupt and time-out is 127.5 seconds.
  37897. */
  37898. #define WDOG_WICR_WICT(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WICR_WICT_SHIFT)) & WDOG_WICR_WICT_MASK)
  37899. #define WDOG_WICR_WTIS_MASK (0x4000U)
  37900. #define WDOG_WICR_WTIS_SHIFT (14U)
  37901. /*! WTIS - WTIS
  37902. * 0b0..No interrupt has occurred (Default).
  37903. * 0b1..Interrupt has occurred
  37904. */
  37905. #define WDOG_WICR_WTIS(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WICR_WTIS_SHIFT)) & WDOG_WICR_WTIS_MASK)
  37906. #define WDOG_WICR_WIE_MASK (0x8000U)
  37907. #define WDOG_WICR_WIE_SHIFT (15U)
  37908. /*! WIE - WIE
  37909. * 0b0..Disable Interrupt (Default).
  37910. * 0b1..Enable Interrupt.
  37911. */
  37912. #define WDOG_WICR_WIE(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WICR_WIE_SHIFT)) & WDOG_WICR_WIE_MASK)
  37913. /*! @} */
  37914. /*! @name WMCR - Watchdog Miscellaneous Control Register */
  37915. /*! @{ */
  37916. #define WDOG_WMCR_PDE_MASK (0x1U)
  37917. #define WDOG_WMCR_PDE_SHIFT (0U)
  37918. /*! PDE - PDE
  37919. * 0b0..Power Down Counter of WDOG is disabled.
  37920. * 0b1..Power Down Counter of WDOG is enabled (Default).
  37921. */
  37922. #define WDOG_WMCR_PDE(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WMCR_PDE_SHIFT)) & WDOG_WMCR_PDE_MASK)
  37923. /*! @} */
  37924. /*!
  37925. * @}
  37926. */ /* end of group WDOG_Register_Masks */
  37927. /* WDOG - Peripheral instance base addresses */
  37928. /** Peripheral WDOG1 base address */
  37929. #define WDOG1_BASE (0x400B8000u)
  37930. /** Peripheral WDOG1 base pointer */
  37931. #define WDOG1 ((WDOG_Type *)WDOG1_BASE)
  37932. /** Peripheral WDOG2 base address */
  37933. #define WDOG2_BASE (0x400D0000u)
  37934. /** Peripheral WDOG2 base pointer */
  37935. #define WDOG2 ((WDOG_Type *)WDOG2_BASE)
  37936. /** Array initializer of WDOG peripheral base addresses */
  37937. #define WDOG_BASE_ADDRS { 0u, WDOG1_BASE, WDOG2_BASE }
  37938. /** Array initializer of WDOG peripheral base pointers */
  37939. #define WDOG_BASE_PTRS { (WDOG_Type *)0u, WDOG1, WDOG2 }
  37940. /** Interrupt vectors for the WDOG peripheral type */
  37941. #define WDOG_IRQS { NotAvail_IRQn, WDOG1_IRQn, WDOG2_IRQn }
  37942. /*!
  37943. * @}
  37944. */ /* end of group WDOG_Peripheral_Access_Layer */
  37945. /* ----------------------------------------------------------------------------
  37946. -- XBARA Peripheral Access Layer
  37947. ---------------------------------------------------------------------------- */
  37948. /*!
  37949. * @addtogroup XBARA_Peripheral_Access_Layer XBARA Peripheral Access Layer
  37950. * @{
  37951. */
  37952. /** XBARA - Register Layout Typedef */
  37953. typedef struct {
  37954. __IO uint16_t SEL0; /**< Crossbar A Select Register 0, offset: 0x0 */
  37955. __IO uint16_t SEL1; /**< Crossbar A Select Register 1, offset: 0x2 */
  37956. __IO uint16_t SEL2; /**< Crossbar A Select Register 2, offset: 0x4 */
  37957. __IO uint16_t SEL3; /**< Crossbar A Select Register 3, offset: 0x6 */
  37958. __IO uint16_t SEL4; /**< Crossbar A Select Register 4, offset: 0x8 */
  37959. __IO uint16_t SEL5; /**< Crossbar A Select Register 5, offset: 0xA */
  37960. __IO uint16_t SEL6; /**< Crossbar A Select Register 6, offset: 0xC */
  37961. __IO uint16_t SEL7; /**< Crossbar A Select Register 7, offset: 0xE */
  37962. __IO uint16_t SEL8; /**< Crossbar A Select Register 8, offset: 0x10 */
  37963. __IO uint16_t SEL9; /**< Crossbar A Select Register 9, offset: 0x12 */
  37964. __IO uint16_t SEL10; /**< Crossbar A Select Register 10, offset: 0x14 */
  37965. __IO uint16_t SEL11; /**< Crossbar A Select Register 11, offset: 0x16 */
  37966. __IO uint16_t SEL12; /**< Crossbar A Select Register 12, offset: 0x18 */
  37967. __IO uint16_t SEL13; /**< Crossbar A Select Register 13, offset: 0x1A */
  37968. __IO uint16_t SEL14; /**< Crossbar A Select Register 14, offset: 0x1C */
  37969. __IO uint16_t SEL15; /**< Crossbar A Select Register 15, offset: 0x1E */
  37970. __IO uint16_t SEL16; /**< Crossbar A Select Register 16, offset: 0x20 */
  37971. __IO uint16_t SEL17; /**< Crossbar A Select Register 17, offset: 0x22 */
  37972. __IO uint16_t SEL18; /**< Crossbar A Select Register 18, offset: 0x24 */
  37973. __IO uint16_t SEL19; /**< Crossbar A Select Register 19, offset: 0x26 */
  37974. __IO uint16_t SEL20; /**< Crossbar A Select Register 20, offset: 0x28 */
  37975. __IO uint16_t SEL21; /**< Crossbar A Select Register 21, offset: 0x2A */
  37976. __IO uint16_t SEL22; /**< Crossbar A Select Register 22, offset: 0x2C */
  37977. __IO uint16_t SEL23; /**< Crossbar A Select Register 23, offset: 0x2E */
  37978. __IO uint16_t SEL24; /**< Crossbar A Select Register 24, offset: 0x30 */
  37979. __IO uint16_t SEL25; /**< Crossbar A Select Register 25, offset: 0x32 */
  37980. __IO uint16_t SEL26; /**< Crossbar A Select Register 26, offset: 0x34 */
  37981. __IO uint16_t SEL27; /**< Crossbar A Select Register 27, offset: 0x36 */
  37982. __IO uint16_t SEL28; /**< Crossbar A Select Register 28, offset: 0x38 */
  37983. __IO uint16_t SEL29; /**< Crossbar A Select Register 29, offset: 0x3A */
  37984. __IO uint16_t SEL30; /**< Crossbar A Select Register 30, offset: 0x3C */
  37985. __IO uint16_t SEL31; /**< Crossbar A Select Register 31, offset: 0x3E */
  37986. __IO uint16_t SEL32; /**< Crossbar A Select Register 32, offset: 0x40 */
  37987. __IO uint16_t SEL33; /**< Crossbar A Select Register 33, offset: 0x42 */
  37988. __IO uint16_t SEL34; /**< Crossbar A Select Register 34, offset: 0x44 */
  37989. __IO uint16_t SEL35; /**< Crossbar A Select Register 35, offset: 0x46 */
  37990. __IO uint16_t SEL36; /**< Crossbar A Select Register 36, offset: 0x48 */
  37991. __IO uint16_t SEL37; /**< Crossbar A Select Register 37, offset: 0x4A */
  37992. __IO uint16_t SEL38; /**< Crossbar A Select Register 38, offset: 0x4C */
  37993. __IO uint16_t SEL39; /**< Crossbar A Select Register 39, offset: 0x4E */
  37994. __IO uint16_t SEL40; /**< Crossbar A Select Register 40, offset: 0x50 */
  37995. __IO uint16_t SEL41; /**< Crossbar A Select Register 41, offset: 0x52 */
  37996. __IO uint16_t SEL42; /**< Crossbar A Select Register 42, offset: 0x54 */
  37997. __IO uint16_t SEL43; /**< Crossbar A Select Register 43, offset: 0x56 */
  37998. __IO uint16_t SEL44; /**< Crossbar A Select Register 44, offset: 0x58 */
  37999. __IO uint16_t SEL45; /**< Crossbar A Select Register 45, offset: 0x5A */
  38000. __IO uint16_t SEL46; /**< Crossbar A Select Register 46, offset: 0x5C */
  38001. __IO uint16_t SEL47; /**< Crossbar A Select Register 47, offset: 0x5E */
  38002. __IO uint16_t SEL48; /**< Crossbar A Select Register 48, offset: 0x60 */
  38003. __IO uint16_t SEL49; /**< Crossbar A Select Register 49, offset: 0x62 */
  38004. __IO uint16_t SEL50; /**< Crossbar A Select Register 50, offset: 0x64 */
  38005. __IO uint16_t SEL51; /**< Crossbar A Select Register 51, offset: 0x66 */
  38006. __IO uint16_t SEL52; /**< Crossbar A Select Register 52, offset: 0x68 */
  38007. __IO uint16_t SEL53; /**< Crossbar A Select Register 53, offset: 0x6A */
  38008. __IO uint16_t SEL54; /**< Crossbar A Select Register 54, offset: 0x6C */
  38009. __IO uint16_t SEL55; /**< Crossbar A Select Register 55, offset: 0x6E */
  38010. __IO uint16_t SEL56; /**< Crossbar A Select Register 56, offset: 0x70 */
  38011. __IO uint16_t SEL57; /**< Crossbar A Select Register 57, offset: 0x72 */
  38012. __IO uint16_t SEL58; /**< Crossbar A Select Register 58, offset: 0x74 */
  38013. __IO uint16_t SEL59; /**< Crossbar A Select Register 59, offset: 0x76 */
  38014. __IO uint16_t SEL60; /**< Crossbar A Select Register 60, offset: 0x78 */
  38015. __IO uint16_t SEL61; /**< Crossbar A Select Register 61, offset: 0x7A */
  38016. __IO uint16_t SEL62; /**< Crossbar A Select Register 62, offset: 0x7C */
  38017. __IO uint16_t SEL63; /**< Crossbar A Select Register 63, offset: 0x7E */
  38018. __IO uint16_t SEL64; /**< Crossbar A Select Register 64, offset: 0x80 */
  38019. __IO uint16_t SEL65; /**< Crossbar A Select Register 65, offset: 0x82 */
  38020. __IO uint16_t CTRL0; /**< Crossbar A Control Register 0, offset: 0x84 */
  38021. __IO uint16_t CTRL1; /**< Crossbar A Control Register 1, offset: 0x86 */
  38022. } XBARA_Type;
  38023. /* ----------------------------------------------------------------------------
  38024. -- XBARA Register Masks
  38025. ---------------------------------------------------------------------------- */
  38026. /*!
  38027. * @addtogroup XBARA_Register_Masks XBARA Register Masks
  38028. * @{
  38029. */
  38030. /*! @name SEL0 - Crossbar A Select Register 0 */
  38031. /*! @{ */
  38032. #define XBARA_SEL0_SEL0_MASK (0x7FU)
  38033. #define XBARA_SEL0_SEL0_SHIFT (0U)
  38034. #define XBARA_SEL0_SEL0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL0_SEL0_SHIFT)) & XBARA_SEL0_SEL0_MASK)
  38035. #define XBARA_SEL0_SEL1_MASK (0x7F00U)
  38036. #define XBARA_SEL0_SEL1_SHIFT (8U)
  38037. #define XBARA_SEL0_SEL1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL0_SEL1_SHIFT)) & XBARA_SEL0_SEL1_MASK)
  38038. /*! @} */
  38039. /*! @name SEL1 - Crossbar A Select Register 1 */
  38040. /*! @{ */
  38041. #define XBARA_SEL1_SEL2_MASK (0x7FU)
  38042. #define XBARA_SEL1_SEL2_SHIFT (0U)
  38043. #define XBARA_SEL1_SEL2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL1_SEL2_SHIFT)) & XBARA_SEL1_SEL2_MASK)
  38044. #define XBARA_SEL1_SEL3_MASK (0x7F00U)
  38045. #define XBARA_SEL1_SEL3_SHIFT (8U)
  38046. #define XBARA_SEL1_SEL3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL1_SEL3_SHIFT)) & XBARA_SEL1_SEL3_MASK)
  38047. /*! @} */
  38048. /*! @name SEL2 - Crossbar A Select Register 2 */
  38049. /*! @{ */
  38050. #define XBARA_SEL2_SEL4_MASK (0x7FU)
  38051. #define XBARA_SEL2_SEL4_SHIFT (0U)
  38052. #define XBARA_SEL2_SEL4(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL2_SEL4_SHIFT)) & XBARA_SEL2_SEL4_MASK)
  38053. #define XBARA_SEL2_SEL5_MASK (0x7F00U)
  38054. #define XBARA_SEL2_SEL5_SHIFT (8U)
  38055. #define XBARA_SEL2_SEL5(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL2_SEL5_SHIFT)) & XBARA_SEL2_SEL5_MASK)
  38056. /*! @} */
  38057. /*! @name SEL3 - Crossbar A Select Register 3 */
  38058. /*! @{ */
  38059. #define XBARA_SEL3_SEL6_MASK (0x7FU)
  38060. #define XBARA_SEL3_SEL6_SHIFT (0U)
  38061. #define XBARA_SEL3_SEL6(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL3_SEL6_SHIFT)) & XBARA_SEL3_SEL6_MASK)
  38062. #define XBARA_SEL3_SEL7_MASK (0x7F00U)
  38063. #define XBARA_SEL3_SEL7_SHIFT (8U)
  38064. #define XBARA_SEL3_SEL7(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL3_SEL7_SHIFT)) & XBARA_SEL3_SEL7_MASK)
  38065. /*! @} */
  38066. /*! @name SEL4 - Crossbar A Select Register 4 */
  38067. /*! @{ */
  38068. #define XBARA_SEL4_SEL8_MASK (0x7FU)
  38069. #define XBARA_SEL4_SEL8_SHIFT (0U)
  38070. #define XBARA_SEL4_SEL8(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL4_SEL8_SHIFT)) & XBARA_SEL4_SEL8_MASK)
  38071. #define XBARA_SEL4_SEL9_MASK (0x7F00U)
  38072. #define XBARA_SEL4_SEL9_SHIFT (8U)
  38073. #define XBARA_SEL4_SEL9(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL4_SEL9_SHIFT)) & XBARA_SEL4_SEL9_MASK)
  38074. /*! @} */
  38075. /*! @name SEL5 - Crossbar A Select Register 5 */
  38076. /*! @{ */
  38077. #define XBARA_SEL5_SEL10_MASK (0x7FU)
  38078. #define XBARA_SEL5_SEL10_SHIFT (0U)
  38079. #define XBARA_SEL5_SEL10(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL5_SEL10_SHIFT)) & XBARA_SEL5_SEL10_MASK)
  38080. #define XBARA_SEL5_SEL11_MASK (0x7F00U)
  38081. #define XBARA_SEL5_SEL11_SHIFT (8U)
  38082. #define XBARA_SEL5_SEL11(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL5_SEL11_SHIFT)) & XBARA_SEL5_SEL11_MASK)
  38083. /*! @} */
  38084. /*! @name SEL6 - Crossbar A Select Register 6 */
  38085. /*! @{ */
  38086. #define XBARA_SEL6_SEL12_MASK (0x7FU)
  38087. #define XBARA_SEL6_SEL12_SHIFT (0U)
  38088. #define XBARA_SEL6_SEL12(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL6_SEL12_SHIFT)) & XBARA_SEL6_SEL12_MASK)
  38089. #define XBARA_SEL6_SEL13_MASK (0x7F00U)
  38090. #define XBARA_SEL6_SEL13_SHIFT (8U)
  38091. #define XBARA_SEL6_SEL13(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL6_SEL13_SHIFT)) & XBARA_SEL6_SEL13_MASK)
  38092. /*! @} */
  38093. /*! @name SEL7 - Crossbar A Select Register 7 */
  38094. /*! @{ */
  38095. #define XBARA_SEL7_SEL14_MASK (0x7FU)
  38096. #define XBARA_SEL7_SEL14_SHIFT (0U)
  38097. #define XBARA_SEL7_SEL14(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL7_SEL14_SHIFT)) & XBARA_SEL7_SEL14_MASK)
  38098. #define XBARA_SEL7_SEL15_MASK (0x7F00U)
  38099. #define XBARA_SEL7_SEL15_SHIFT (8U)
  38100. #define XBARA_SEL7_SEL15(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL7_SEL15_SHIFT)) & XBARA_SEL7_SEL15_MASK)
  38101. /*! @} */
  38102. /*! @name SEL8 - Crossbar A Select Register 8 */
  38103. /*! @{ */
  38104. #define XBARA_SEL8_SEL16_MASK (0x7FU)
  38105. #define XBARA_SEL8_SEL16_SHIFT (0U)
  38106. #define XBARA_SEL8_SEL16(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL8_SEL16_SHIFT)) & XBARA_SEL8_SEL16_MASK)
  38107. #define XBARA_SEL8_SEL17_MASK (0x7F00U)
  38108. #define XBARA_SEL8_SEL17_SHIFT (8U)
  38109. #define XBARA_SEL8_SEL17(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL8_SEL17_SHIFT)) & XBARA_SEL8_SEL17_MASK)
  38110. /*! @} */
  38111. /*! @name SEL9 - Crossbar A Select Register 9 */
  38112. /*! @{ */
  38113. #define XBARA_SEL9_SEL18_MASK (0x7FU)
  38114. #define XBARA_SEL9_SEL18_SHIFT (0U)
  38115. #define XBARA_SEL9_SEL18(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL9_SEL18_SHIFT)) & XBARA_SEL9_SEL18_MASK)
  38116. #define XBARA_SEL9_SEL19_MASK (0x7F00U)
  38117. #define XBARA_SEL9_SEL19_SHIFT (8U)
  38118. #define XBARA_SEL9_SEL19(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL9_SEL19_SHIFT)) & XBARA_SEL9_SEL19_MASK)
  38119. /*! @} */
  38120. /*! @name SEL10 - Crossbar A Select Register 10 */
  38121. /*! @{ */
  38122. #define XBARA_SEL10_SEL20_MASK (0x7FU)
  38123. #define XBARA_SEL10_SEL20_SHIFT (0U)
  38124. #define XBARA_SEL10_SEL20(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL10_SEL20_SHIFT)) & XBARA_SEL10_SEL20_MASK)
  38125. #define XBARA_SEL10_SEL21_MASK (0x7F00U)
  38126. #define XBARA_SEL10_SEL21_SHIFT (8U)
  38127. #define XBARA_SEL10_SEL21(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL10_SEL21_SHIFT)) & XBARA_SEL10_SEL21_MASK)
  38128. /*! @} */
  38129. /*! @name SEL11 - Crossbar A Select Register 11 */
  38130. /*! @{ */
  38131. #define XBARA_SEL11_SEL22_MASK (0x7FU)
  38132. #define XBARA_SEL11_SEL22_SHIFT (0U)
  38133. #define XBARA_SEL11_SEL22(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL11_SEL22_SHIFT)) & XBARA_SEL11_SEL22_MASK)
  38134. #define XBARA_SEL11_SEL23_MASK (0x7F00U)
  38135. #define XBARA_SEL11_SEL23_SHIFT (8U)
  38136. #define XBARA_SEL11_SEL23(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL11_SEL23_SHIFT)) & XBARA_SEL11_SEL23_MASK)
  38137. /*! @} */
  38138. /*! @name SEL12 - Crossbar A Select Register 12 */
  38139. /*! @{ */
  38140. #define XBARA_SEL12_SEL24_MASK (0x7FU)
  38141. #define XBARA_SEL12_SEL24_SHIFT (0U)
  38142. #define XBARA_SEL12_SEL24(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL12_SEL24_SHIFT)) & XBARA_SEL12_SEL24_MASK)
  38143. #define XBARA_SEL12_SEL25_MASK (0x7F00U)
  38144. #define XBARA_SEL12_SEL25_SHIFT (8U)
  38145. #define XBARA_SEL12_SEL25(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL12_SEL25_SHIFT)) & XBARA_SEL12_SEL25_MASK)
  38146. /*! @} */
  38147. /*! @name SEL13 - Crossbar A Select Register 13 */
  38148. /*! @{ */
  38149. #define XBARA_SEL13_SEL26_MASK (0x7FU)
  38150. #define XBARA_SEL13_SEL26_SHIFT (0U)
  38151. #define XBARA_SEL13_SEL26(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL13_SEL26_SHIFT)) & XBARA_SEL13_SEL26_MASK)
  38152. #define XBARA_SEL13_SEL27_MASK (0x7F00U)
  38153. #define XBARA_SEL13_SEL27_SHIFT (8U)
  38154. #define XBARA_SEL13_SEL27(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL13_SEL27_SHIFT)) & XBARA_SEL13_SEL27_MASK)
  38155. /*! @} */
  38156. /*! @name SEL14 - Crossbar A Select Register 14 */
  38157. /*! @{ */
  38158. #define XBARA_SEL14_SEL28_MASK (0x7FU)
  38159. #define XBARA_SEL14_SEL28_SHIFT (0U)
  38160. #define XBARA_SEL14_SEL28(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL14_SEL28_SHIFT)) & XBARA_SEL14_SEL28_MASK)
  38161. #define XBARA_SEL14_SEL29_MASK (0x7F00U)
  38162. #define XBARA_SEL14_SEL29_SHIFT (8U)
  38163. #define XBARA_SEL14_SEL29(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL14_SEL29_SHIFT)) & XBARA_SEL14_SEL29_MASK)
  38164. /*! @} */
  38165. /*! @name SEL15 - Crossbar A Select Register 15 */
  38166. /*! @{ */
  38167. #define XBARA_SEL15_SEL30_MASK (0x7FU)
  38168. #define XBARA_SEL15_SEL30_SHIFT (0U)
  38169. #define XBARA_SEL15_SEL30(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL15_SEL30_SHIFT)) & XBARA_SEL15_SEL30_MASK)
  38170. #define XBARA_SEL15_SEL31_MASK (0x7F00U)
  38171. #define XBARA_SEL15_SEL31_SHIFT (8U)
  38172. #define XBARA_SEL15_SEL31(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL15_SEL31_SHIFT)) & XBARA_SEL15_SEL31_MASK)
  38173. /*! @} */
  38174. /*! @name SEL16 - Crossbar A Select Register 16 */
  38175. /*! @{ */
  38176. #define XBARA_SEL16_SEL32_MASK (0x7FU)
  38177. #define XBARA_SEL16_SEL32_SHIFT (0U)
  38178. #define XBARA_SEL16_SEL32(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL16_SEL32_SHIFT)) & XBARA_SEL16_SEL32_MASK)
  38179. #define XBARA_SEL16_SEL33_MASK (0x7F00U)
  38180. #define XBARA_SEL16_SEL33_SHIFT (8U)
  38181. #define XBARA_SEL16_SEL33(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL16_SEL33_SHIFT)) & XBARA_SEL16_SEL33_MASK)
  38182. /*! @} */
  38183. /*! @name SEL17 - Crossbar A Select Register 17 */
  38184. /*! @{ */
  38185. #define XBARA_SEL17_SEL34_MASK (0x7FU)
  38186. #define XBARA_SEL17_SEL34_SHIFT (0U)
  38187. #define XBARA_SEL17_SEL34(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL17_SEL34_SHIFT)) & XBARA_SEL17_SEL34_MASK)
  38188. #define XBARA_SEL17_SEL35_MASK (0x7F00U)
  38189. #define XBARA_SEL17_SEL35_SHIFT (8U)
  38190. #define XBARA_SEL17_SEL35(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL17_SEL35_SHIFT)) & XBARA_SEL17_SEL35_MASK)
  38191. /*! @} */
  38192. /*! @name SEL18 - Crossbar A Select Register 18 */
  38193. /*! @{ */
  38194. #define XBARA_SEL18_SEL36_MASK (0x7FU)
  38195. #define XBARA_SEL18_SEL36_SHIFT (0U)
  38196. #define XBARA_SEL18_SEL36(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL18_SEL36_SHIFT)) & XBARA_SEL18_SEL36_MASK)
  38197. #define XBARA_SEL18_SEL37_MASK (0x7F00U)
  38198. #define XBARA_SEL18_SEL37_SHIFT (8U)
  38199. #define XBARA_SEL18_SEL37(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL18_SEL37_SHIFT)) & XBARA_SEL18_SEL37_MASK)
  38200. /*! @} */
  38201. /*! @name SEL19 - Crossbar A Select Register 19 */
  38202. /*! @{ */
  38203. #define XBARA_SEL19_SEL38_MASK (0x7FU)
  38204. #define XBARA_SEL19_SEL38_SHIFT (0U)
  38205. #define XBARA_SEL19_SEL38(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL19_SEL38_SHIFT)) & XBARA_SEL19_SEL38_MASK)
  38206. #define XBARA_SEL19_SEL39_MASK (0x7F00U)
  38207. #define XBARA_SEL19_SEL39_SHIFT (8U)
  38208. #define XBARA_SEL19_SEL39(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL19_SEL39_SHIFT)) & XBARA_SEL19_SEL39_MASK)
  38209. /*! @} */
  38210. /*! @name SEL20 - Crossbar A Select Register 20 */
  38211. /*! @{ */
  38212. #define XBARA_SEL20_SEL40_MASK (0x7FU)
  38213. #define XBARA_SEL20_SEL40_SHIFT (0U)
  38214. #define XBARA_SEL20_SEL40(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL20_SEL40_SHIFT)) & XBARA_SEL20_SEL40_MASK)
  38215. #define XBARA_SEL20_SEL41_MASK (0x7F00U)
  38216. #define XBARA_SEL20_SEL41_SHIFT (8U)
  38217. #define XBARA_SEL20_SEL41(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL20_SEL41_SHIFT)) & XBARA_SEL20_SEL41_MASK)
  38218. /*! @} */
  38219. /*! @name SEL21 - Crossbar A Select Register 21 */
  38220. /*! @{ */
  38221. #define XBARA_SEL21_SEL42_MASK (0x7FU)
  38222. #define XBARA_SEL21_SEL42_SHIFT (0U)
  38223. #define XBARA_SEL21_SEL42(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL21_SEL42_SHIFT)) & XBARA_SEL21_SEL42_MASK)
  38224. #define XBARA_SEL21_SEL43_MASK (0x7F00U)
  38225. #define XBARA_SEL21_SEL43_SHIFT (8U)
  38226. #define XBARA_SEL21_SEL43(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL21_SEL43_SHIFT)) & XBARA_SEL21_SEL43_MASK)
  38227. /*! @} */
  38228. /*! @name SEL22 - Crossbar A Select Register 22 */
  38229. /*! @{ */
  38230. #define XBARA_SEL22_SEL44_MASK (0x7FU)
  38231. #define XBARA_SEL22_SEL44_SHIFT (0U)
  38232. #define XBARA_SEL22_SEL44(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL22_SEL44_SHIFT)) & XBARA_SEL22_SEL44_MASK)
  38233. #define XBARA_SEL22_SEL45_MASK (0x7F00U)
  38234. #define XBARA_SEL22_SEL45_SHIFT (8U)
  38235. #define XBARA_SEL22_SEL45(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL22_SEL45_SHIFT)) & XBARA_SEL22_SEL45_MASK)
  38236. /*! @} */
  38237. /*! @name SEL23 - Crossbar A Select Register 23 */
  38238. /*! @{ */
  38239. #define XBARA_SEL23_SEL46_MASK (0x7FU)
  38240. #define XBARA_SEL23_SEL46_SHIFT (0U)
  38241. #define XBARA_SEL23_SEL46(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL23_SEL46_SHIFT)) & XBARA_SEL23_SEL46_MASK)
  38242. #define XBARA_SEL23_SEL47_MASK (0x7F00U)
  38243. #define XBARA_SEL23_SEL47_SHIFT (8U)
  38244. #define XBARA_SEL23_SEL47(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL23_SEL47_SHIFT)) & XBARA_SEL23_SEL47_MASK)
  38245. /*! @} */
  38246. /*! @name SEL24 - Crossbar A Select Register 24 */
  38247. /*! @{ */
  38248. #define XBARA_SEL24_SEL48_MASK (0x7FU)
  38249. #define XBARA_SEL24_SEL48_SHIFT (0U)
  38250. #define XBARA_SEL24_SEL48(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL24_SEL48_SHIFT)) & XBARA_SEL24_SEL48_MASK)
  38251. #define XBARA_SEL24_SEL49_MASK (0x7F00U)
  38252. #define XBARA_SEL24_SEL49_SHIFT (8U)
  38253. #define XBARA_SEL24_SEL49(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL24_SEL49_SHIFT)) & XBARA_SEL24_SEL49_MASK)
  38254. /*! @} */
  38255. /*! @name SEL25 - Crossbar A Select Register 25 */
  38256. /*! @{ */
  38257. #define XBARA_SEL25_SEL50_MASK (0x7FU)
  38258. #define XBARA_SEL25_SEL50_SHIFT (0U)
  38259. #define XBARA_SEL25_SEL50(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL25_SEL50_SHIFT)) & XBARA_SEL25_SEL50_MASK)
  38260. #define XBARA_SEL25_SEL51_MASK (0x7F00U)
  38261. #define XBARA_SEL25_SEL51_SHIFT (8U)
  38262. #define XBARA_SEL25_SEL51(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL25_SEL51_SHIFT)) & XBARA_SEL25_SEL51_MASK)
  38263. /*! @} */
  38264. /*! @name SEL26 - Crossbar A Select Register 26 */
  38265. /*! @{ */
  38266. #define XBARA_SEL26_SEL52_MASK (0x7FU)
  38267. #define XBARA_SEL26_SEL52_SHIFT (0U)
  38268. #define XBARA_SEL26_SEL52(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL26_SEL52_SHIFT)) & XBARA_SEL26_SEL52_MASK)
  38269. #define XBARA_SEL26_SEL53_MASK (0x7F00U)
  38270. #define XBARA_SEL26_SEL53_SHIFT (8U)
  38271. #define XBARA_SEL26_SEL53(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL26_SEL53_SHIFT)) & XBARA_SEL26_SEL53_MASK)
  38272. /*! @} */
  38273. /*! @name SEL27 - Crossbar A Select Register 27 */
  38274. /*! @{ */
  38275. #define XBARA_SEL27_SEL54_MASK (0x7FU)
  38276. #define XBARA_SEL27_SEL54_SHIFT (0U)
  38277. #define XBARA_SEL27_SEL54(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL27_SEL54_SHIFT)) & XBARA_SEL27_SEL54_MASK)
  38278. #define XBARA_SEL27_SEL55_MASK (0x7F00U)
  38279. #define XBARA_SEL27_SEL55_SHIFT (8U)
  38280. #define XBARA_SEL27_SEL55(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL27_SEL55_SHIFT)) & XBARA_SEL27_SEL55_MASK)
  38281. /*! @} */
  38282. /*! @name SEL28 - Crossbar A Select Register 28 */
  38283. /*! @{ */
  38284. #define XBARA_SEL28_SEL56_MASK (0x7FU)
  38285. #define XBARA_SEL28_SEL56_SHIFT (0U)
  38286. #define XBARA_SEL28_SEL56(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL28_SEL56_SHIFT)) & XBARA_SEL28_SEL56_MASK)
  38287. #define XBARA_SEL28_SEL57_MASK (0x7F00U)
  38288. #define XBARA_SEL28_SEL57_SHIFT (8U)
  38289. #define XBARA_SEL28_SEL57(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL28_SEL57_SHIFT)) & XBARA_SEL28_SEL57_MASK)
  38290. /*! @} */
  38291. /*! @name SEL29 - Crossbar A Select Register 29 */
  38292. /*! @{ */
  38293. #define XBARA_SEL29_SEL58_MASK (0x7FU)
  38294. #define XBARA_SEL29_SEL58_SHIFT (0U)
  38295. #define XBARA_SEL29_SEL58(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL29_SEL58_SHIFT)) & XBARA_SEL29_SEL58_MASK)
  38296. #define XBARA_SEL29_SEL59_MASK (0x7F00U)
  38297. #define XBARA_SEL29_SEL59_SHIFT (8U)
  38298. #define XBARA_SEL29_SEL59(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL29_SEL59_SHIFT)) & XBARA_SEL29_SEL59_MASK)
  38299. /*! @} */
  38300. /*! @name SEL30 - Crossbar A Select Register 30 */
  38301. /*! @{ */
  38302. #define XBARA_SEL30_SEL60_MASK (0x7FU)
  38303. #define XBARA_SEL30_SEL60_SHIFT (0U)
  38304. #define XBARA_SEL30_SEL60(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL30_SEL60_SHIFT)) & XBARA_SEL30_SEL60_MASK)
  38305. #define XBARA_SEL30_SEL61_MASK (0x7F00U)
  38306. #define XBARA_SEL30_SEL61_SHIFT (8U)
  38307. #define XBARA_SEL30_SEL61(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL30_SEL61_SHIFT)) & XBARA_SEL30_SEL61_MASK)
  38308. /*! @} */
  38309. /*! @name SEL31 - Crossbar A Select Register 31 */
  38310. /*! @{ */
  38311. #define XBARA_SEL31_SEL62_MASK (0x7FU)
  38312. #define XBARA_SEL31_SEL62_SHIFT (0U)
  38313. #define XBARA_SEL31_SEL62(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL31_SEL62_SHIFT)) & XBARA_SEL31_SEL62_MASK)
  38314. #define XBARA_SEL31_SEL63_MASK (0x7F00U)
  38315. #define XBARA_SEL31_SEL63_SHIFT (8U)
  38316. #define XBARA_SEL31_SEL63(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL31_SEL63_SHIFT)) & XBARA_SEL31_SEL63_MASK)
  38317. /*! @} */
  38318. /*! @name SEL32 - Crossbar A Select Register 32 */
  38319. /*! @{ */
  38320. #define XBARA_SEL32_SEL64_MASK (0x7FU)
  38321. #define XBARA_SEL32_SEL64_SHIFT (0U)
  38322. #define XBARA_SEL32_SEL64(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL32_SEL64_SHIFT)) & XBARA_SEL32_SEL64_MASK)
  38323. #define XBARA_SEL32_SEL65_MASK (0x7F00U)
  38324. #define XBARA_SEL32_SEL65_SHIFT (8U)
  38325. #define XBARA_SEL32_SEL65(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL32_SEL65_SHIFT)) & XBARA_SEL32_SEL65_MASK)
  38326. /*! @} */
  38327. /*! @name SEL33 - Crossbar A Select Register 33 */
  38328. /*! @{ */
  38329. #define XBARA_SEL33_SEL66_MASK (0x7FU)
  38330. #define XBARA_SEL33_SEL66_SHIFT (0U)
  38331. #define XBARA_SEL33_SEL66(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL33_SEL66_SHIFT)) & XBARA_SEL33_SEL66_MASK)
  38332. #define XBARA_SEL33_SEL67_MASK (0x7F00U)
  38333. #define XBARA_SEL33_SEL67_SHIFT (8U)
  38334. #define XBARA_SEL33_SEL67(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL33_SEL67_SHIFT)) & XBARA_SEL33_SEL67_MASK)
  38335. /*! @} */
  38336. /*! @name SEL34 - Crossbar A Select Register 34 */
  38337. /*! @{ */
  38338. #define XBARA_SEL34_SEL68_MASK (0x7FU)
  38339. #define XBARA_SEL34_SEL68_SHIFT (0U)
  38340. #define XBARA_SEL34_SEL68(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL34_SEL68_SHIFT)) & XBARA_SEL34_SEL68_MASK)
  38341. #define XBARA_SEL34_SEL69_MASK (0x7F00U)
  38342. #define XBARA_SEL34_SEL69_SHIFT (8U)
  38343. #define XBARA_SEL34_SEL69(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL34_SEL69_SHIFT)) & XBARA_SEL34_SEL69_MASK)
  38344. /*! @} */
  38345. /*! @name SEL35 - Crossbar A Select Register 35 */
  38346. /*! @{ */
  38347. #define XBARA_SEL35_SEL70_MASK (0x7FU)
  38348. #define XBARA_SEL35_SEL70_SHIFT (0U)
  38349. #define XBARA_SEL35_SEL70(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL35_SEL70_SHIFT)) & XBARA_SEL35_SEL70_MASK)
  38350. #define XBARA_SEL35_SEL71_MASK (0x7F00U)
  38351. #define XBARA_SEL35_SEL71_SHIFT (8U)
  38352. #define XBARA_SEL35_SEL71(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL35_SEL71_SHIFT)) & XBARA_SEL35_SEL71_MASK)
  38353. /*! @} */
  38354. /*! @name SEL36 - Crossbar A Select Register 36 */
  38355. /*! @{ */
  38356. #define XBARA_SEL36_SEL72_MASK (0x7FU)
  38357. #define XBARA_SEL36_SEL72_SHIFT (0U)
  38358. #define XBARA_SEL36_SEL72(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL36_SEL72_SHIFT)) & XBARA_SEL36_SEL72_MASK)
  38359. #define XBARA_SEL36_SEL73_MASK (0x7F00U)
  38360. #define XBARA_SEL36_SEL73_SHIFT (8U)
  38361. #define XBARA_SEL36_SEL73(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL36_SEL73_SHIFT)) & XBARA_SEL36_SEL73_MASK)
  38362. /*! @} */
  38363. /*! @name SEL37 - Crossbar A Select Register 37 */
  38364. /*! @{ */
  38365. #define XBARA_SEL37_SEL74_MASK (0x7FU)
  38366. #define XBARA_SEL37_SEL74_SHIFT (0U)
  38367. #define XBARA_SEL37_SEL74(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL37_SEL74_SHIFT)) & XBARA_SEL37_SEL74_MASK)
  38368. #define XBARA_SEL37_SEL75_MASK (0x7F00U)
  38369. #define XBARA_SEL37_SEL75_SHIFT (8U)
  38370. #define XBARA_SEL37_SEL75(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL37_SEL75_SHIFT)) & XBARA_SEL37_SEL75_MASK)
  38371. /*! @} */
  38372. /*! @name SEL38 - Crossbar A Select Register 38 */
  38373. /*! @{ */
  38374. #define XBARA_SEL38_SEL76_MASK (0x7FU)
  38375. #define XBARA_SEL38_SEL76_SHIFT (0U)
  38376. #define XBARA_SEL38_SEL76(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL38_SEL76_SHIFT)) & XBARA_SEL38_SEL76_MASK)
  38377. #define XBARA_SEL38_SEL77_MASK (0x7F00U)
  38378. #define XBARA_SEL38_SEL77_SHIFT (8U)
  38379. #define XBARA_SEL38_SEL77(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL38_SEL77_SHIFT)) & XBARA_SEL38_SEL77_MASK)
  38380. /*! @} */
  38381. /*! @name SEL39 - Crossbar A Select Register 39 */
  38382. /*! @{ */
  38383. #define XBARA_SEL39_SEL78_MASK (0x7FU)
  38384. #define XBARA_SEL39_SEL78_SHIFT (0U)
  38385. #define XBARA_SEL39_SEL78(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL39_SEL78_SHIFT)) & XBARA_SEL39_SEL78_MASK)
  38386. #define XBARA_SEL39_SEL79_MASK (0x7F00U)
  38387. #define XBARA_SEL39_SEL79_SHIFT (8U)
  38388. #define XBARA_SEL39_SEL79(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL39_SEL79_SHIFT)) & XBARA_SEL39_SEL79_MASK)
  38389. /*! @} */
  38390. /*! @name SEL40 - Crossbar A Select Register 40 */
  38391. /*! @{ */
  38392. #define XBARA_SEL40_SEL80_MASK (0x7FU)
  38393. #define XBARA_SEL40_SEL80_SHIFT (0U)
  38394. #define XBARA_SEL40_SEL80(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL40_SEL80_SHIFT)) & XBARA_SEL40_SEL80_MASK)
  38395. #define XBARA_SEL40_SEL81_MASK (0x7F00U)
  38396. #define XBARA_SEL40_SEL81_SHIFT (8U)
  38397. #define XBARA_SEL40_SEL81(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL40_SEL81_SHIFT)) & XBARA_SEL40_SEL81_MASK)
  38398. /*! @} */
  38399. /*! @name SEL41 - Crossbar A Select Register 41 */
  38400. /*! @{ */
  38401. #define XBARA_SEL41_SEL82_MASK (0x7FU)
  38402. #define XBARA_SEL41_SEL82_SHIFT (0U)
  38403. #define XBARA_SEL41_SEL82(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL41_SEL82_SHIFT)) & XBARA_SEL41_SEL82_MASK)
  38404. #define XBARA_SEL41_SEL83_MASK (0x7F00U)
  38405. #define XBARA_SEL41_SEL83_SHIFT (8U)
  38406. #define XBARA_SEL41_SEL83(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL41_SEL83_SHIFT)) & XBARA_SEL41_SEL83_MASK)
  38407. /*! @} */
  38408. /*! @name SEL42 - Crossbar A Select Register 42 */
  38409. /*! @{ */
  38410. #define XBARA_SEL42_SEL84_MASK (0x7FU)
  38411. #define XBARA_SEL42_SEL84_SHIFT (0U)
  38412. #define XBARA_SEL42_SEL84(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL42_SEL84_SHIFT)) & XBARA_SEL42_SEL84_MASK)
  38413. #define XBARA_SEL42_SEL85_MASK (0x7F00U)
  38414. #define XBARA_SEL42_SEL85_SHIFT (8U)
  38415. #define XBARA_SEL42_SEL85(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL42_SEL85_SHIFT)) & XBARA_SEL42_SEL85_MASK)
  38416. /*! @} */
  38417. /*! @name SEL43 - Crossbar A Select Register 43 */
  38418. /*! @{ */
  38419. #define XBARA_SEL43_SEL86_MASK (0x7FU)
  38420. #define XBARA_SEL43_SEL86_SHIFT (0U)
  38421. #define XBARA_SEL43_SEL86(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL43_SEL86_SHIFT)) & XBARA_SEL43_SEL86_MASK)
  38422. #define XBARA_SEL43_SEL87_MASK (0x7F00U)
  38423. #define XBARA_SEL43_SEL87_SHIFT (8U)
  38424. #define XBARA_SEL43_SEL87(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL43_SEL87_SHIFT)) & XBARA_SEL43_SEL87_MASK)
  38425. /*! @} */
  38426. /*! @name SEL44 - Crossbar A Select Register 44 */
  38427. /*! @{ */
  38428. #define XBARA_SEL44_SEL88_MASK (0x7FU)
  38429. #define XBARA_SEL44_SEL88_SHIFT (0U)
  38430. #define XBARA_SEL44_SEL88(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL44_SEL88_SHIFT)) & XBARA_SEL44_SEL88_MASK)
  38431. #define XBARA_SEL44_SEL89_MASK (0x7F00U)
  38432. #define XBARA_SEL44_SEL89_SHIFT (8U)
  38433. #define XBARA_SEL44_SEL89(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL44_SEL89_SHIFT)) & XBARA_SEL44_SEL89_MASK)
  38434. /*! @} */
  38435. /*! @name SEL45 - Crossbar A Select Register 45 */
  38436. /*! @{ */
  38437. #define XBARA_SEL45_SEL90_MASK (0x7FU)
  38438. #define XBARA_SEL45_SEL90_SHIFT (0U)
  38439. #define XBARA_SEL45_SEL90(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL45_SEL90_SHIFT)) & XBARA_SEL45_SEL90_MASK)
  38440. #define XBARA_SEL45_SEL91_MASK (0x7F00U)
  38441. #define XBARA_SEL45_SEL91_SHIFT (8U)
  38442. #define XBARA_SEL45_SEL91(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL45_SEL91_SHIFT)) & XBARA_SEL45_SEL91_MASK)
  38443. /*! @} */
  38444. /*! @name SEL46 - Crossbar A Select Register 46 */
  38445. /*! @{ */
  38446. #define XBARA_SEL46_SEL92_MASK (0x7FU)
  38447. #define XBARA_SEL46_SEL92_SHIFT (0U)
  38448. #define XBARA_SEL46_SEL92(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL46_SEL92_SHIFT)) & XBARA_SEL46_SEL92_MASK)
  38449. #define XBARA_SEL46_SEL93_MASK (0x7F00U)
  38450. #define XBARA_SEL46_SEL93_SHIFT (8U)
  38451. #define XBARA_SEL46_SEL93(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL46_SEL93_SHIFT)) & XBARA_SEL46_SEL93_MASK)
  38452. /*! @} */
  38453. /*! @name SEL47 - Crossbar A Select Register 47 */
  38454. /*! @{ */
  38455. #define XBARA_SEL47_SEL94_MASK (0x7FU)
  38456. #define XBARA_SEL47_SEL94_SHIFT (0U)
  38457. #define XBARA_SEL47_SEL94(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL47_SEL94_SHIFT)) & XBARA_SEL47_SEL94_MASK)
  38458. #define XBARA_SEL47_SEL95_MASK (0x7F00U)
  38459. #define XBARA_SEL47_SEL95_SHIFT (8U)
  38460. #define XBARA_SEL47_SEL95(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL47_SEL95_SHIFT)) & XBARA_SEL47_SEL95_MASK)
  38461. /*! @} */
  38462. /*! @name SEL48 - Crossbar A Select Register 48 */
  38463. /*! @{ */
  38464. #define XBARA_SEL48_SEL96_MASK (0x7FU)
  38465. #define XBARA_SEL48_SEL96_SHIFT (0U)
  38466. #define XBARA_SEL48_SEL96(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL48_SEL96_SHIFT)) & XBARA_SEL48_SEL96_MASK)
  38467. #define XBARA_SEL48_SEL97_MASK (0x7F00U)
  38468. #define XBARA_SEL48_SEL97_SHIFT (8U)
  38469. #define XBARA_SEL48_SEL97(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL48_SEL97_SHIFT)) & XBARA_SEL48_SEL97_MASK)
  38470. /*! @} */
  38471. /*! @name SEL49 - Crossbar A Select Register 49 */
  38472. /*! @{ */
  38473. #define XBARA_SEL49_SEL98_MASK (0x7FU)
  38474. #define XBARA_SEL49_SEL98_SHIFT (0U)
  38475. #define XBARA_SEL49_SEL98(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL49_SEL98_SHIFT)) & XBARA_SEL49_SEL98_MASK)
  38476. #define XBARA_SEL49_SEL99_MASK (0x7F00U)
  38477. #define XBARA_SEL49_SEL99_SHIFT (8U)
  38478. #define XBARA_SEL49_SEL99(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL49_SEL99_SHIFT)) & XBARA_SEL49_SEL99_MASK)
  38479. /*! @} */
  38480. /*! @name SEL50 - Crossbar A Select Register 50 */
  38481. /*! @{ */
  38482. #define XBARA_SEL50_SEL100_MASK (0x7FU)
  38483. #define XBARA_SEL50_SEL100_SHIFT (0U)
  38484. #define XBARA_SEL50_SEL100(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL50_SEL100_SHIFT)) & XBARA_SEL50_SEL100_MASK)
  38485. #define XBARA_SEL50_SEL101_MASK (0x7F00U)
  38486. #define XBARA_SEL50_SEL101_SHIFT (8U)
  38487. #define XBARA_SEL50_SEL101(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL50_SEL101_SHIFT)) & XBARA_SEL50_SEL101_MASK)
  38488. /*! @} */
  38489. /*! @name SEL51 - Crossbar A Select Register 51 */
  38490. /*! @{ */
  38491. #define XBARA_SEL51_SEL102_MASK (0x7FU)
  38492. #define XBARA_SEL51_SEL102_SHIFT (0U)
  38493. #define XBARA_SEL51_SEL102(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL51_SEL102_SHIFT)) & XBARA_SEL51_SEL102_MASK)
  38494. #define XBARA_SEL51_SEL103_MASK (0x7F00U)
  38495. #define XBARA_SEL51_SEL103_SHIFT (8U)
  38496. #define XBARA_SEL51_SEL103(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL51_SEL103_SHIFT)) & XBARA_SEL51_SEL103_MASK)
  38497. /*! @} */
  38498. /*! @name SEL52 - Crossbar A Select Register 52 */
  38499. /*! @{ */
  38500. #define XBARA_SEL52_SEL104_MASK (0x7FU)
  38501. #define XBARA_SEL52_SEL104_SHIFT (0U)
  38502. #define XBARA_SEL52_SEL104(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL52_SEL104_SHIFT)) & XBARA_SEL52_SEL104_MASK)
  38503. #define XBARA_SEL52_SEL105_MASK (0x7F00U)
  38504. #define XBARA_SEL52_SEL105_SHIFT (8U)
  38505. #define XBARA_SEL52_SEL105(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL52_SEL105_SHIFT)) & XBARA_SEL52_SEL105_MASK)
  38506. /*! @} */
  38507. /*! @name SEL53 - Crossbar A Select Register 53 */
  38508. /*! @{ */
  38509. #define XBARA_SEL53_SEL106_MASK (0x7FU)
  38510. #define XBARA_SEL53_SEL106_SHIFT (0U)
  38511. #define XBARA_SEL53_SEL106(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL53_SEL106_SHIFT)) & XBARA_SEL53_SEL106_MASK)
  38512. #define XBARA_SEL53_SEL107_MASK (0x7F00U)
  38513. #define XBARA_SEL53_SEL107_SHIFT (8U)
  38514. #define XBARA_SEL53_SEL107(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL53_SEL107_SHIFT)) & XBARA_SEL53_SEL107_MASK)
  38515. /*! @} */
  38516. /*! @name SEL54 - Crossbar A Select Register 54 */
  38517. /*! @{ */
  38518. #define XBARA_SEL54_SEL108_MASK (0x7FU)
  38519. #define XBARA_SEL54_SEL108_SHIFT (0U)
  38520. #define XBARA_SEL54_SEL108(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL54_SEL108_SHIFT)) & XBARA_SEL54_SEL108_MASK)
  38521. #define XBARA_SEL54_SEL109_MASK (0x7F00U)
  38522. #define XBARA_SEL54_SEL109_SHIFT (8U)
  38523. #define XBARA_SEL54_SEL109(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL54_SEL109_SHIFT)) & XBARA_SEL54_SEL109_MASK)
  38524. /*! @} */
  38525. /*! @name SEL55 - Crossbar A Select Register 55 */
  38526. /*! @{ */
  38527. #define XBARA_SEL55_SEL110_MASK (0x7FU)
  38528. #define XBARA_SEL55_SEL110_SHIFT (0U)
  38529. #define XBARA_SEL55_SEL110(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL55_SEL110_SHIFT)) & XBARA_SEL55_SEL110_MASK)
  38530. #define XBARA_SEL55_SEL111_MASK (0x7F00U)
  38531. #define XBARA_SEL55_SEL111_SHIFT (8U)
  38532. #define XBARA_SEL55_SEL111(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL55_SEL111_SHIFT)) & XBARA_SEL55_SEL111_MASK)
  38533. /*! @} */
  38534. /*! @name SEL56 - Crossbar A Select Register 56 */
  38535. /*! @{ */
  38536. #define XBARA_SEL56_SEL112_MASK (0x7FU)
  38537. #define XBARA_SEL56_SEL112_SHIFT (0U)
  38538. #define XBARA_SEL56_SEL112(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL56_SEL112_SHIFT)) & XBARA_SEL56_SEL112_MASK)
  38539. #define XBARA_SEL56_SEL113_MASK (0x7F00U)
  38540. #define XBARA_SEL56_SEL113_SHIFT (8U)
  38541. #define XBARA_SEL56_SEL113(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL56_SEL113_SHIFT)) & XBARA_SEL56_SEL113_MASK)
  38542. /*! @} */
  38543. /*! @name SEL57 - Crossbar A Select Register 57 */
  38544. /*! @{ */
  38545. #define XBARA_SEL57_SEL114_MASK (0x7FU)
  38546. #define XBARA_SEL57_SEL114_SHIFT (0U)
  38547. #define XBARA_SEL57_SEL114(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL57_SEL114_SHIFT)) & XBARA_SEL57_SEL114_MASK)
  38548. #define XBARA_SEL57_SEL115_MASK (0x7F00U)
  38549. #define XBARA_SEL57_SEL115_SHIFT (8U)
  38550. #define XBARA_SEL57_SEL115(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL57_SEL115_SHIFT)) & XBARA_SEL57_SEL115_MASK)
  38551. /*! @} */
  38552. /*! @name SEL58 - Crossbar A Select Register 58 */
  38553. /*! @{ */
  38554. #define XBARA_SEL58_SEL116_MASK (0x7FU)
  38555. #define XBARA_SEL58_SEL116_SHIFT (0U)
  38556. #define XBARA_SEL58_SEL116(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL58_SEL116_SHIFT)) & XBARA_SEL58_SEL116_MASK)
  38557. #define XBARA_SEL58_SEL117_MASK (0x7F00U)
  38558. #define XBARA_SEL58_SEL117_SHIFT (8U)
  38559. #define XBARA_SEL58_SEL117(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL58_SEL117_SHIFT)) & XBARA_SEL58_SEL117_MASK)
  38560. /*! @} */
  38561. /*! @name SEL59 - Crossbar A Select Register 59 */
  38562. /*! @{ */
  38563. #define XBARA_SEL59_SEL118_MASK (0x7FU)
  38564. #define XBARA_SEL59_SEL118_SHIFT (0U)
  38565. #define XBARA_SEL59_SEL118(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL59_SEL118_SHIFT)) & XBARA_SEL59_SEL118_MASK)
  38566. #define XBARA_SEL59_SEL119_MASK (0x7F00U)
  38567. #define XBARA_SEL59_SEL119_SHIFT (8U)
  38568. #define XBARA_SEL59_SEL119(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL59_SEL119_SHIFT)) & XBARA_SEL59_SEL119_MASK)
  38569. /*! @} */
  38570. /*! @name SEL60 - Crossbar A Select Register 60 */
  38571. /*! @{ */
  38572. #define XBARA_SEL60_SEL120_MASK (0x7FU)
  38573. #define XBARA_SEL60_SEL120_SHIFT (0U)
  38574. #define XBARA_SEL60_SEL120(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL60_SEL120_SHIFT)) & XBARA_SEL60_SEL120_MASK)
  38575. #define XBARA_SEL60_SEL121_MASK (0x7F00U)
  38576. #define XBARA_SEL60_SEL121_SHIFT (8U)
  38577. #define XBARA_SEL60_SEL121(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL60_SEL121_SHIFT)) & XBARA_SEL60_SEL121_MASK)
  38578. /*! @} */
  38579. /*! @name SEL61 - Crossbar A Select Register 61 */
  38580. /*! @{ */
  38581. #define XBARA_SEL61_SEL122_MASK (0x7FU)
  38582. #define XBARA_SEL61_SEL122_SHIFT (0U)
  38583. #define XBARA_SEL61_SEL122(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL61_SEL122_SHIFT)) & XBARA_SEL61_SEL122_MASK)
  38584. #define XBARA_SEL61_SEL123_MASK (0x7F00U)
  38585. #define XBARA_SEL61_SEL123_SHIFT (8U)
  38586. #define XBARA_SEL61_SEL123(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL61_SEL123_SHIFT)) & XBARA_SEL61_SEL123_MASK)
  38587. /*! @} */
  38588. /*! @name SEL62 - Crossbar A Select Register 62 */
  38589. /*! @{ */
  38590. #define XBARA_SEL62_SEL124_MASK (0x7FU)
  38591. #define XBARA_SEL62_SEL124_SHIFT (0U)
  38592. #define XBARA_SEL62_SEL124(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL62_SEL124_SHIFT)) & XBARA_SEL62_SEL124_MASK)
  38593. #define XBARA_SEL62_SEL125_MASK (0x7F00U)
  38594. #define XBARA_SEL62_SEL125_SHIFT (8U)
  38595. #define XBARA_SEL62_SEL125(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL62_SEL125_SHIFT)) & XBARA_SEL62_SEL125_MASK)
  38596. /*! @} */
  38597. /*! @name SEL63 - Crossbar A Select Register 63 */
  38598. /*! @{ */
  38599. #define XBARA_SEL63_SEL126_MASK (0x7FU)
  38600. #define XBARA_SEL63_SEL126_SHIFT (0U)
  38601. #define XBARA_SEL63_SEL126(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL63_SEL126_SHIFT)) & XBARA_SEL63_SEL126_MASK)
  38602. #define XBARA_SEL63_SEL127_MASK (0x7F00U)
  38603. #define XBARA_SEL63_SEL127_SHIFT (8U)
  38604. #define XBARA_SEL63_SEL127(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL63_SEL127_SHIFT)) & XBARA_SEL63_SEL127_MASK)
  38605. /*! @} */
  38606. /*! @name SEL64 - Crossbar A Select Register 64 */
  38607. /*! @{ */
  38608. #define XBARA_SEL64_SEL128_MASK (0x7FU)
  38609. #define XBARA_SEL64_SEL128_SHIFT (0U)
  38610. #define XBARA_SEL64_SEL128(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL64_SEL128_SHIFT)) & XBARA_SEL64_SEL128_MASK)
  38611. #define XBARA_SEL64_SEL129_MASK (0x7F00U)
  38612. #define XBARA_SEL64_SEL129_SHIFT (8U)
  38613. #define XBARA_SEL64_SEL129(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL64_SEL129_SHIFT)) & XBARA_SEL64_SEL129_MASK)
  38614. /*! @} */
  38615. /*! @name SEL65 - Crossbar A Select Register 65 */
  38616. /*! @{ */
  38617. #define XBARA_SEL65_SEL130_MASK (0x7FU)
  38618. #define XBARA_SEL65_SEL130_SHIFT (0U)
  38619. #define XBARA_SEL65_SEL130(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL65_SEL130_SHIFT)) & XBARA_SEL65_SEL130_MASK)
  38620. #define XBARA_SEL65_SEL131_MASK (0x7F00U)
  38621. #define XBARA_SEL65_SEL131_SHIFT (8U)
  38622. #define XBARA_SEL65_SEL131(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL65_SEL131_SHIFT)) & XBARA_SEL65_SEL131_MASK)
  38623. /*! @} */
  38624. /*! @name CTRL0 - Crossbar A Control Register 0 */
  38625. /*! @{ */
  38626. #define XBARA_CTRL0_DEN0_MASK (0x1U)
  38627. #define XBARA_CTRL0_DEN0_SHIFT (0U)
  38628. /*! DEN0 - DMA Enable for XBAR_OUT0
  38629. * 0b0..DMA disabled
  38630. * 0b1..DMA enabled
  38631. */
  38632. #define XBARA_CTRL0_DEN0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_DEN0_SHIFT)) & XBARA_CTRL0_DEN0_MASK)
  38633. #define XBARA_CTRL0_IEN0_MASK (0x2U)
  38634. #define XBARA_CTRL0_IEN0_SHIFT (1U)
  38635. /*! IEN0 - Interrupt Enable for XBAR_OUT0
  38636. * 0b0..Interrupt disabled
  38637. * 0b1..Interrupt enabled
  38638. */
  38639. #define XBARA_CTRL0_IEN0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_IEN0_SHIFT)) & XBARA_CTRL0_IEN0_MASK)
  38640. #define XBARA_CTRL0_EDGE0_MASK (0xCU)
  38641. #define XBARA_CTRL0_EDGE0_SHIFT (2U)
  38642. /*! EDGE0 - Active edge for edge detection on XBAR_OUT0
  38643. * 0b00..STS0 never asserts
  38644. * 0b01..STS0 asserts on rising edges of XBAR_OUT0
  38645. * 0b10..STS0 asserts on falling edges of XBAR_OUT0
  38646. * 0b11..STS0 asserts on rising and falling edges of XBAR_OUT0
  38647. */
  38648. #define XBARA_CTRL0_EDGE0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_EDGE0_SHIFT)) & XBARA_CTRL0_EDGE0_MASK)
  38649. #define XBARA_CTRL0_STS0_MASK (0x10U)
  38650. #define XBARA_CTRL0_STS0_SHIFT (4U)
  38651. /*! STS0 - Edge detection status for XBAR_OUT0
  38652. * 0b0..Active edge not yet detected on XBAR_OUT0
  38653. * 0b1..Active edge detected on XBAR_OUT0
  38654. */
  38655. #define XBARA_CTRL0_STS0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_STS0_SHIFT)) & XBARA_CTRL0_STS0_MASK)
  38656. #define XBARA_CTRL0_DEN1_MASK (0x100U)
  38657. #define XBARA_CTRL0_DEN1_SHIFT (8U)
  38658. /*! DEN1 - DMA Enable for XBAR_OUT1
  38659. * 0b0..DMA disabled
  38660. * 0b1..DMA enabled
  38661. */
  38662. #define XBARA_CTRL0_DEN1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_DEN1_SHIFT)) & XBARA_CTRL0_DEN1_MASK)
  38663. #define XBARA_CTRL0_IEN1_MASK (0x200U)
  38664. #define XBARA_CTRL0_IEN1_SHIFT (9U)
  38665. /*! IEN1 - Interrupt Enable for XBAR_OUT1
  38666. * 0b0..Interrupt disabled
  38667. * 0b1..Interrupt enabled
  38668. */
  38669. #define XBARA_CTRL0_IEN1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_IEN1_SHIFT)) & XBARA_CTRL0_IEN1_MASK)
  38670. #define XBARA_CTRL0_EDGE1_MASK (0xC00U)
  38671. #define XBARA_CTRL0_EDGE1_SHIFT (10U)
  38672. /*! EDGE1 - Active edge for edge detection on XBAR_OUT1
  38673. * 0b00..STS1 never asserts
  38674. * 0b01..STS1 asserts on rising edges of XBAR_OUT1
  38675. * 0b10..STS1 asserts on falling edges of XBAR_OUT1
  38676. * 0b11..STS1 asserts on rising and falling edges of XBAR_OUT1
  38677. */
  38678. #define XBARA_CTRL0_EDGE1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_EDGE1_SHIFT)) & XBARA_CTRL0_EDGE1_MASK)
  38679. #define XBARA_CTRL0_STS1_MASK (0x1000U)
  38680. #define XBARA_CTRL0_STS1_SHIFT (12U)
  38681. /*! STS1 - Edge detection status for XBAR_OUT1
  38682. * 0b0..Active edge not yet detected on XBAR_OUT1
  38683. * 0b1..Active edge detected on XBAR_OUT1
  38684. */
  38685. #define XBARA_CTRL0_STS1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_STS1_SHIFT)) & XBARA_CTRL0_STS1_MASK)
  38686. /*! @} */
  38687. /*! @name CTRL1 - Crossbar A Control Register 1 */
  38688. /*! @{ */
  38689. #define XBARA_CTRL1_DEN2_MASK (0x1U)
  38690. #define XBARA_CTRL1_DEN2_SHIFT (0U)
  38691. /*! DEN2 - DMA Enable for XBAR_OUT2
  38692. * 0b0..DMA disabled
  38693. * 0b1..DMA enabled
  38694. */
  38695. #define XBARA_CTRL1_DEN2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_DEN2_SHIFT)) & XBARA_CTRL1_DEN2_MASK)
  38696. #define XBARA_CTRL1_IEN2_MASK (0x2U)
  38697. #define XBARA_CTRL1_IEN2_SHIFT (1U)
  38698. /*! IEN2 - Interrupt Enable for XBAR_OUT2
  38699. * 0b0..Interrupt disabled
  38700. * 0b1..Interrupt enabled
  38701. */
  38702. #define XBARA_CTRL1_IEN2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_IEN2_SHIFT)) & XBARA_CTRL1_IEN2_MASK)
  38703. #define XBARA_CTRL1_EDGE2_MASK (0xCU)
  38704. #define XBARA_CTRL1_EDGE2_SHIFT (2U)
  38705. /*! EDGE2 - Active edge for edge detection on XBAR_OUT2
  38706. * 0b00..STS2 never asserts
  38707. * 0b01..STS2 asserts on rising edges of XBAR_OUT2
  38708. * 0b10..STS2 asserts on falling edges of XBAR_OUT2
  38709. * 0b11..STS2 asserts on rising and falling edges of XBAR_OUT2
  38710. */
  38711. #define XBARA_CTRL1_EDGE2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_EDGE2_SHIFT)) & XBARA_CTRL1_EDGE2_MASK)
  38712. #define XBARA_CTRL1_STS2_MASK (0x10U)
  38713. #define XBARA_CTRL1_STS2_SHIFT (4U)
  38714. /*! STS2 - Edge detection status for XBAR_OUT2
  38715. * 0b0..Active edge not yet detected on XBAR_OUT2
  38716. * 0b1..Active edge detected on XBAR_OUT2
  38717. */
  38718. #define XBARA_CTRL1_STS2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_STS2_SHIFT)) & XBARA_CTRL1_STS2_MASK)
  38719. #define XBARA_CTRL1_DEN3_MASK (0x100U)
  38720. #define XBARA_CTRL1_DEN3_SHIFT (8U)
  38721. /*! DEN3 - DMA Enable for XBAR_OUT3
  38722. * 0b0..DMA disabled
  38723. * 0b1..DMA enabled
  38724. */
  38725. #define XBARA_CTRL1_DEN3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_DEN3_SHIFT)) & XBARA_CTRL1_DEN3_MASK)
  38726. #define XBARA_CTRL1_IEN3_MASK (0x200U)
  38727. #define XBARA_CTRL1_IEN3_SHIFT (9U)
  38728. /*! IEN3 - Interrupt Enable for XBAR_OUT3
  38729. * 0b0..Interrupt disabled
  38730. * 0b1..Interrupt enabled
  38731. */
  38732. #define XBARA_CTRL1_IEN3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_IEN3_SHIFT)) & XBARA_CTRL1_IEN3_MASK)
  38733. #define XBARA_CTRL1_EDGE3_MASK (0xC00U)
  38734. #define XBARA_CTRL1_EDGE3_SHIFT (10U)
  38735. /*! EDGE3 - Active edge for edge detection on XBAR_OUT3
  38736. * 0b00..STS3 never asserts
  38737. * 0b01..STS3 asserts on rising edges of XBAR_OUT3
  38738. * 0b10..STS3 asserts on falling edges of XBAR_OUT3
  38739. * 0b11..STS3 asserts on rising and falling edges of XBAR_OUT3
  38740. */
  38741. #define XBARA_CTRL1_EDGE3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_EDGE3_SHIFT)) & XBARA_CTRL1_EDGE3_MASK)
  38742. #define XBARA_CTRL1_STS3_MASK (0x1000U)
  38743. #define XBARA_CTRL1_STS3_SHIFT (12U)
  38744. /*! STS3 - Edge detection status for XBAR_OUT3
  38745. * 0b0..Active edge not yet detected on XBAR_OUT3
  38746. * 0b1..Active edge detected on XBAR_OUT3
  38747. */
  38748. #define XBARA_CTRL1_STS3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_STS3_SHIFT)) & XBARA_CTRL1_STS3_MASK)
  38749. /*! @} */
  38750. /*!
  38751. * @}
  38752. */ /* end of group XBARA_Register_Masks */
  38753. /* XBARA - Peripheral instance base addresses */
  38754. /** Peripheral XBARA base address */
  38755. #define XBARA_BASE (0x403BC000u)
  38756. /** Peripheral XBARA base pointer */
  38757. #define XBARA ((XBARA_Type *)XBARA_BASE)
  38758. /** Array initializer of XBARA peripheral base addresses */
  38759. #define XBARA_BASE_ADDRS { XBARA_BASE }
  38760. /** Array initializer of XBARA peripheral base pointers */
  38761. #define XBARA_BASE_PTRS { XBARA }
  38762. /*!
  38763. * @}
  38764. */ /* end of group XBARA_Peripheral_Access_Layer */
  38765. /* ----------------------------------------------------------------------------
  38766. -- XBARB Peripheral Access Layer
  38767. ---------------------------------------------------------------------------- */
  38768. /*!
  38769. * @addtogroup XBARB_Peripheral_Access_Layer XBARB Peripheral Access Layer
  38770. * @{
  38771. */
  38772. /** XBARB - Register Layout Typedef */
  38773. typedef struct {
  38774. __IO uint16_t SEL0; /**< Crossbar B Select Register 0, offset: 0x0 */
  38775. __IO uint16_t SEL1; /**< Crossbar B Select Register 1, offset: 0x2 */
  38776. __IO uint16_t SEL2; /**< Crossbar B Select Register 2, offset: 0x4 */
  38777. __IO uint16_t SEL3; /**< Crossbar B Select Register 3, offset: 0x6 */
  38778. __IO uint16_t SEL4; /**< Crossbar B Select Register 4, offset: 0x8 */
  38779. __IO uint16_t SEL5; /**< Crossbar B Select Register 5, offset: 0xA */
  38780. __IO uint16_t SEL6; /**< Crossbar B Select Register 6, offset: 0xC */
  38781. __IO uint16_t SEL7; /**< Crossbar B Select Register 7, offset: 0xE */
  38782. } XBARB_Type;
  38783. /* ----------------------------------------------------------------------------
  38784. -- XBARB Register Masks
  38785. ---------------------------------------------------------------------------- */
  38786. /*!
  38787. * @addtogroup XBARB_Register_Masks XBARB Register Masks
  38788. * @{
  38789. */
  38790. /*! @name SEL0 - Crossbar B Select Register 0 */
  38791. /*! @{ */
  38792. #define XBARB_SEL0_SEL0_MASK (0x3FU)
  38793. #define XBARB_SEL0_SEL0_SHIFT (0U)
  38794. #define XBARB_SEL0_SEL0(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL0_SEL0_SHIFT)) & XBARB_SEL0_SEL0_MASK)
  38795. #define XBARB_SEL0_SEL1_MASK (0x3F00U)
  38796. #define XBARB_SEL0_SEL1_SHIFT (8U)
  38797. #define XBARB_SEL0_SEL1(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL0_SEL1_SHIFT)) & XBARB_SEL0_SEL1_MASK)
  38798. /*! @} */
  38799. /*! @name SEL1 - Crossbar B Select Register 1 */
  38800. /*! @{ */
  38801. #define XBARB_SEL1_SEL2_MASK (0x3FU)
  38802. #define XBARB_SEL1_SEL2_SHIFT (0U)
  38803. #define XBARB_SEL1_SEL2(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL1_SEL2_SHIFT)) & XBARB_SEL1_SEL2_MASK)
  38804. #define XBARB_SEL1_SEL3_MASK (0x3F00U)
  38805. #define XBARB_SEL1_SEL3_SHIFT (8U)
  38806. #define XBARB_SEL1_SEL3(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL1_SEL3_SHIFT)) & XBARB_SEL1_SEL3_MASK)
  38807. /*! @} */
  38808. /*! @name SEL2 - Crossbar B Select Register 2 */
  38809. /*! @{ */
  38810. #define XBARB_SEL2_SEL4_MASK (0x3FU)
  38811. #define XBARB_SEL2_SEL4_SHIFT (0U)
  38812. #define XBARB_SEL2_SEL4(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL2_SEL4_SHIFT)) & XBARB_SEL2_SEL4_MASK)
  38813. #define XBARB_SEL2_SEL5_MASK (0x3F00U)
  38814. #define XBARB_SEL2_SEL5_SHIFT (8U)
  38815. #define XBARB_SEL2_SEL5(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL2_SEL5_SHIFT)) & XBARB_SEL2_SEL5_MASK)
  38816. /*! @} */
  38817. /*! @name SEL3 - Crossbar B Select Register 3 */
  38818. /*! @{ */
  38819. #define XBARB_SEL3_SEL6_MASK (0x3FU)
  38820. #define XBARB_SEL3_SEL6_SHIFT (0U)
  38821. #define XBARB_SEL3_SEL6(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL3_SEL6_SHIFT)) & XBARB_SEL3_SEL6_MASK)
  38822. #define XBARB_SEL3_SEL7_MASK (0x3F00U)
  38823. #define XBARB_SEL3_SEL7_SHIFT (8U)
  38824. #define XBARB_SEL3_SEL7(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL3_SEL7_SHIFT)) & XBARB_SEL3_SEL7_MASK)
  38825. /*! @} */
  38826. /*! @name SEL4 - Crossbar B Select Register 4 */
  38827. /*! @{ */
  38828. #define XBARB_SEL4_SEL8_MASK (0x3FU)
  38829. #define XBARB_SEL4_SEL8_SHIFT (0U)
  38830. #define XBARB_SEL4_SEL8(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL4_SEL8_SHIFT)) & XBARB_SEL4_SEL8_MASK)
  38831. #define XBARB_SEL4_SEL9_MASK (0x3F00U)
  38832. #define XBARB_SEL4_SEL9_SHIFT (8U)
  38833. #define XBARB_SEL4_SEL9(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL4_SEL9_SHIFT)) & XBARB_SEL4_SEL9_MASK)
  38834. /*! @} */
  38835. /*! @name SEL5 - Crossbar B Select Register 5 */
  38836. /*! @{ */
  38837. #define XBARB_SEL5_SEL10_MASK (0x3FU)
  38838. #define XBARB_SEL5_SEL10_SHIFT (0U)
  38839. #define XBARB_SEL5_SEL10(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL5_SEL10_SHIFT)) & XBARB_SEL5_SEL10_MASK)
  38840. #define XBARB_SEL5_SEL11_MASK (0x3F00U)
  38841. #define XBARB_SEL5_SEL11_SHIFT (8U)
  38842. #define XBARB_SEL5_SEL11(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL5_SEL11_SHIFT)) & XBARB_SEL5_SEL11_MASK)
  38843. /*! @} */
  38844. /*! @name SEL6 - Crossbar B Select Register 6 */
  38845. /*! @{ */
  38846. #define XBARB_SEL6_SEL12_MASK (0x3FU)
  38847. #define XBARB_SEL6_SEL12_SHIFT (0U)
  38848. #define XBARB_SEL6_SEL12(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL6_SEL12_SHIFT)) & XBARB_SEL6_SEL12_MASK)
  38849. #define XBARB_SEL6_SEL13_MASK (0x3F00U)
  38850. #define XBARB_SEL6_SEL13_SHIFT (8U)
  38851. #define XBARB_SEL6_SEL13(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL6_SEL13_SHIFT)) & XBARB_SEL6_SEL13_MASK)
  38852. /*! @} */
  38853. /*! @name SEL7 - Crossbar B Select Register 7 */
  38854. /*! @{ */
  38855. #define XBARB_SEL7_SEL14_MASK (0x3FU)
  38856. #define XBARB_SEL7_SEL14_SHIFT (0U)
  38857. #define XBARB_SEL7_SEL14(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL7_SEL14_SHIFT)) & XBARB_SEL7_SEL14_MASK)
  38858. #define XBARB_SEL7_SEL15_MASK (0x3F00U)
  38859. #define XBARB_SEL7_SEL15_SHIFT (8U)
  38860. #define XBARB_SEL7_SEL15(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL7_SEL15_SHIFT)) & XBARB_SEL7_SEL15_MASK)
  38861. /*! @} */
  38862. /*!
  38863. * @}
  38864. */ /* end of group XBARB_Register_Masks */
  38865. /* XBARB - Peripheral instance base addresses */
  38866. /** Peripheral XBARB base address */
  38867. #define XBARB_BASE (0x403C0000u)
  38868. /** Peripheral XBARB base pointer */
  38869. #define XBARB ((XBARB_Type *)XBARB_BASE)
  38870. /** Array initializer of XBARB peripheral base addresses */
  38871. #define XBARB_BASE_ADDRS { XBARB_BASE }
  38872. /** Array initializer of XBARB peripheral base pointers */
  38873. #define XBARB_BASE_PTRS { XBARB }
  38874. /*!
  38875. * @}
  38876. */ /* end of group XBARB_Peripheral_Access_Layer */
  38877. /* ----------------------------------------------------------------------------
  38878. -- XTALOSC24M Peripheral Access Layer
  38879. ---------------------------------------------------------------------------- */
  38880. /*!
  38881. * @addtogroup XTALOSC24M_Peripheral_Access_Layer XTALOSC24M Peripheral Access Layer
  38882. * @{
  38883. */
  38884. /** XTALOSC24M - Register Layout Typedef */
  38885. typedef struct {
  38886. uint8_t RESERVED_0[336];
  38887. __IO uint32_t MISC0; /**< Miscellaneous Register 0, offset: 0x150 */
  38888. __IO uint32_t MISC0_SET; /**< Miscellaneous Register 0, offset: 0x154 */
  38889. __IO uint32_t MISC0_CLR; /**< Miscellaneous Register 0, offset: 0x158 */
  38890. __IO uint32_t MISC0_TOG; /**< Miscellaneous Register 0, offset: 0x15C */
  38891. uint8_t RESERVED_1[272];
  38892. __IO uint32_t LOWPWR_CTRL; /**< XTAL OSC (LP) Control Register, offset: 0x270 */
  38893. __IO uint32_t LOWPWR_CTRL_SET; /**< XTAL OSC (LP) Control Register, offset: 0x274 */
  38894. __IO uint32_t LOWPWR_CTRL_CLR; /**< XTAL OSC (LP) Control Register, offset: 0x278 */
  38895. __IO uint32_t LOWPWR_CTRL_TOG; /**< XTAL OSC (LP) Control Register, offset: 0x27C */
  38896. uint8_t RESERVED_2[32];
  38897. __IO uint32_t OSC_CONFIG0; /**< XTAL OSC Configuration 0 Register, offset: 0x2A0 */
  38898. __IO uint32_t OSC_CONFIG0_SET; /**< XTAL OSC Configuration 0 Register, offset: 0x2A4 */
  38899. __IO uint32_t OSC_CONFIG0_CLR; /**< XTAL OSC Configuration 0 Register, offset: 0x2A8 */
  38900. __IO uint32_t OSC_CONFIG0_TOG; /**< XTAL OSC Configuration 0 Register, offset: 0x2AC */
  38901. __IO uint32_t OSC_CONFIG1; /**< XTAL OSC Configuration 1 Register, offset: 0x2B0 */
  38902. __IO uint32_t OSC_CONFIG1_SET; /**< XTAL OSC Configuration 1 Register, offset: 0x2B4 */
  38903. __IO uint32_t OSC_CONFIG1_CLR; /**< XTAL OSC Configuration 1 Register, offset: 0x2B8 */
  38904. __IO uint32_t OSC_CONFIG1_TOG; /**< XTAL OSC Configuration 1 Register, offset: 0x2BC */
  38905. __IO uint32_t OSC_CONFIG2; /**< XTAL OSC Configuration 2 Register, offset: 0x2C0 */
  38906. __IO uint32_t OSC_CONFIG2_SET; /**< XTAL OSC Configuration 2 Register, offset: 0x2C4 */
  38907. __IO uint32_t OSC_CONFIG2_CLR; /**< XTAL OSC Configuration 2 Register, offset: 0x2C8 */
  38908. __IO uint32_t OSC_CONFIG2_TOG; /**< XTAL OSC Configuration 2 Register, offset: 0x2CC */
  38909. } XTALOSC24M_Type;
  38910. /* ----------------------------------------------------------------------------
  38911. -- XTALOSC24M Register Masks
  38912. ---------------------------------------------------------------------------- */
  38913. /*!
  38914. * @addtogroup XTALOSC24M_Register_Masks XTALOSC24M Register Masks
  38915. * @{
  38916. */
  38917. /*! @name MISC0 - Miscellaneous Register 0 */
  38918. /*! @{ */
  38919. #define XTALOSC24M_MISC0_REFTOP_PWD_MASK (0x1U)
  38920. #define XTALOSC24M_MISC0_REFTOP_PWD_SHIFT (0U)
  38921. #define XTALOSC24M_MISC0_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_REFTOP_PWD_SHIFT)) & XTALOSC24M_MISC0_REFTOP_PWD_MASK)
  38922. #define XTALOSC24M_MISC0_REFTOP_SELFBIASOFF_MASK (0x8U)
  38923. #define XTALOSC24M_MISC0_REFTOP_SELFBIASOFF_SHIFT (3U)
  38924. /*! REFTOP_SELFBIASOFF
  38925. * 0b0..Uses coarse bias currents for startup
  38926. * 0b1..Uses bandgap-based bias currents for best performance.
  38927. */
  38928. #define XTALOSC24M_MISC0_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_REFTOP_SELFBIASOFF_SHIFT)) & XTALOSC24M_MISC0_REFTOP_SELFBIASOFF_MASK)
  38929. #define XTALOSC24M_MISC0_REFTOP_VBGADJ_MASK (0x70U)
  38930. #define XTALOSC24M_MISC0_REFTOP_VBGADJ_SHIFT (4U)
  38931. /*! REFTOP_VBGADJ
  38932. * 0b000..Nominal VBG
  38933. * 0b001..VBG+0.78%
  38934. * 0b010..VBG+1.56%
  38935. * 0b011..VBG+2.34%
  38936. * 0b100..VBG-0.78%
  38937. * 0b101..VBG-1.56%
  38938. * 0b110..VBG-2.34%
  38939. * 0b111..VBG-3.12%
  38940. */
  38941. #define XTALOSC24M_MISC0_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_REFTOP_VBGADJ_SHIFT)) & XTALOSC24M_MISC0_REFTOP_VBGADJ_MASK)
  38942. #define XTALOSC24M_MISC0_REFTOP_VBGUP_MASK (0x80U)
  38943. #define XTALOSC24M_MISC0_REFTOP_VBGUP_SHIFT (7U)
  38944. #define XTALOSC24M_MISC0_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_REFTOP_VBGUP_SHIFT)) & XTALOSC24M_MISC0_REFTOP_VBGUP_MASK)
  38945. #define XTALOSC24M_MISC0_STOP_MODE_CONFIG_MASK (0xC00U)
  38946. #define XTALOSC24M_MISC0_STOP_MODE_CONFIG_SHIFT (10U)
  38947. /*! STOP_MODE_CONFIG
  38948. * 0b00..All analog except rtc powered down on stop mode assertion. XtalOsc=on, RCOsc=off;
  38949. * 0b01..Certain analog functions such as certain regulators left up. XtalOsc=on, RCOsc=off;
  38950. * 0b10..XtalOsc=off, RCOsc=on, Old BG=on, New BG=off.
  38951. * 0b11..XtalOsc=off, RCOsc=on, Old BG=off, New BG=on.
  38952. */
  38953. #define XTALOSC24M_MISC0_STOP_MODE_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_STOP_MODE_CONFIG_SHIFT)) & XTALOSC24M_MISC0_STOP_MODE_CONFIG_MASK)
  38954. #define XTALOSC24M_MISC0_DISCON_HIGH_SNVS_MASK (0x1000U)
  38955. #define XTALOSC24M_MISC0_DISCON_HIGH_SNVS_SHIFT (12U)
  38956. /*! DISCON_HIGH_SNVS
  38957. * 0b0..Turn on the switch
  38958. * 0b1..Turn off the switch
  38959. */
  38960. #define XTALOSC24M_MISC0_DISCON_HIGH_SNVS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_DISCON_HIGH_SNVS_SHIFT)) & XTALOSC24M_MISC0_DISCON_HIGH_SNVS_MASK)
  38961. #define XTALOSC24M_MISC0_OSC_I_MASK (0x6000U)
  38962. #define XTALOSC24M_MISC0_OSC_I_SHIFT (13U)
  38963. /*! OSC_I
  38964. * 0b00..Nominal
  38965. * 0b01..Decrease current by 12.5%
  38966. * 0b10..Decrease current by 25.0%
  38967. * 0b11..Decrease current by 37.5%
  38968. */
  38969. #define XTALOSC24M_MISC0_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_OSC_I_SHIFT)) & XTALOSC24M_MISC0_OSC_I_MASK)
  38970. #define XTALOSC24M_MISC0_OSC_XTALOK_MASK (0x8000U)
  38971. #define XTALOSC24M_MISC0_OSC_XTALOK_SHIFT (15U)
  38972. #define XTALOSC24M_MISC0_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_OSC_XTALOK_SHIFT)) & XTALOSC24M_MISC0_OSC_XTALOK_MASK)
  38973. #define XTALOSC24M_MISC0_OSC_XTALOK_EN_MASK (0x10000U)
  38974. #define XTALOSC24M_MISC0_OSC_XTALOK_EN_SHIFT (16U)
  38975. #define XTALOSC24M_MISC0_OSC_XTALOK_EN(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_OSC_XTALOK_EN_SHIFT)) & XTALOSC24M_MISC0_OSC_XTALOK_EN_MASK)
  38976. #define XTALOSC24M_MISC0_CLKGATE_CTRL_MASK (0x2000000U)
  38977. #define XTALOSC24M_MISC0_CLKGATE_CTRL_SHIFT (25U)
  38978. /*! CLKGATE_CTRL
  38979. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  38980. * 0b1..Prevent the logic from ever gating off the clock.
  38981. */
  38982. #define XTALOSC24M_MISC0_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLKGATE_CTRL_SHIFT)) & XTALOSC24M_MISC0_CLKGATE_CTRL_MASK)
  38983. #define XTALOSC24M_MISC0_CLKGATE_DELAY_MASK (0x1C000000U)
  38984. #define XTALOSC24M_MISC0_CLKGATE_DELAY_SHIFT (26U)
  38985. /*! CLKGATE_DELAY
  38986. * 0b000..0.5ms
  38987. * 0b001..1.0ms
  38988. * 0b010..2.0ms
  38989. * 0b011..3.0ms
  38990. * 0b100..4.0ms
  38991. * 0b101..5.0ms
  38992. * 0b110..6.0ms
  38993. * 0b111..7.0ms
  38994. */
  38995. #define XTALOSC24M_MISC0_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLKGATE_DELAY_SHIFT)) & XTALOSC24M_MISC0_CLKGATE_DELAY_MASK)
  38996. #define XTALOSC24M_MISC0_RTC_XTAL_SOURCE_MASK (0x20000000U)
  38997. #define XTALOSC24M_MISC0_RTC_XTAL_SOURCE_SHIFT (29U)
  38998. /*! RTC_XTAL_SOURCE
  38999. * 0b0..Internal ring oscillator
  39000. * 0b1..RTC_XTAL
  39001. */
  39002. #define XTALOSC24M_MISC0_RTC_XTAL_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_RTC_XTAL_SOURCE_SHIFT)) & XTALOSC24M_MISC0_RTC_XTAL_SOURCE_MASK)
  39003. #define XTALOSC24M_MISC0_XTAL_24M_PWD_MASK (0x40000000U)
  39004. #define XTALOSC24M_MISC0_XTAL_24M_PWD_SHIFT (30U)
  39005. #define XTALOSC24M_MISC0_XTAL_24M_PWD(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_XTAL_24M_PWD_SHIFT)) & XTALOSC24M_MISC0_XTAL_24M_PWD_MASK)
  39006. #define XTALOSC24M_MISC0_VID_PLL_PREDIV_MASK (0x80000000U)
  39007. #define XTALOSC24M_MISC0_VID_PLL_PREDIV_SHIFT (31U)
  39008. /*! VID_PLL_PREDIV
  39009. * 0b0..Divide by 1
  39010. * 0b1..Divide by 2
  39011. */
  39012. #define XTALOSC24M_MISC0_VID_PLL_PREDIV(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_VID_PLL_PREDIV_SHIFT)) & XTALOSC24M_MISC0_VID_PLL_PREDIV_MASK)
  39013. /*! @} */
  39014. /*! @name MISC0_SET - Miscellaneous Register 0 */
  39015. /*! @{ */
  39016. #define XTALOSC24M_MISC0_SET_REFTOP_PWD_MASK (0x1U)
  39017. #define XTALOSC24M_MISC0_SET_REFTOP_PWD_SHIFT (0U)
  39018. #define XTALOSC24M_MISC0_SET_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_REFTOP_PWD_SHIFT)) & XTALOSC24M_MISC0_SET_REFTOP_PWD_MASK)
  39019. #define XTALOSC24M_MISC0_SET_REFTOP_SELFBIASOFF_MASK (0x8U)
  39020. #define XTALOSC24M_MISC0_SET_REFTOP_SELFBIASOFF_SHIFT (3U)
  39021. /*! REFTOP_SELFBIASOFF
  39022. * 0b0..Uses coarse bias currents for startup
  39023. * 0b1..Uses bandgap-based bias currents for best performance.
  39024. */
  39025. #define XTALOSC24M_MISC0_SET_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_REFTOP_SELFBIASOFF_SHIFT)) & XTALOSC24M_MISC0_SET_REFTOP_SELFBIASOFF_MASK)
  39026. #define XTALOSC24M_MISC0_SET_REFTOP_VBGADJ_MASK (0x70U)
  39027. #define XTALOSC24M_MISC0_SET_REFTOP_VBGADJ_SHIFT (4U)
  39028. /*! REFTOP_VBGADJ
  39029. * 0b000..Nominal VBG
  39030. * 0b001..VBG+0.78%
  39031. * 0b010..VBG+1.56%
  39032. * 0b011..VBG+2.34%
  39033. * 0b100..VBG-0.78%
  39034. * 0b101..VBG-1.56%
  39035. * 0b110..VBG-2.34%
  39036. * 0b111..VBG-3.12%
  39037. */
  39038. #define XTALOSC24M_MISC0_SET_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_REFTOP_VBGADJ_SHIFT)) & XTALOSC24M_MISC0_SET_REFTOP_VBGADJ_MASK)
  39039. #define XTALOSC24M_MISC0_SET_REFTOP_VBGUP_MASK (0x80U)
  39040. #define XTALOSC24M_MISC0_SET_REFTOP_VBGUP_SHIFT (7U)
  39041. #define XTALOSC24M_MISC0_SET_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_REFTOP_VBGUP_SHIFT)) & XTALOSC24M_MISC0_SET_REFTOP_VBGUP_MASK)
  39042. #define XTALOSC24M_MISC0_SET_STOP_MODE_CONFIG_MASK (0xC00U)
  39043. #define XTALOSC24M_MISC0_SET_STOP_MODE_CONFIG_SHIFT (10U)
  39044. /*! STOP_MODE_CONFIG
  39045. * 0b00..All analog except rtc powered down on stop mode assertion. XtalOsc=on, RCOsc=off;
  39046. * 0b01..Certain analog functions such as certain regulators left up. XtalOsc=on, RCOsc=off;
  39047. * 0b10..XtalOsc=off, RCOsc=on, Old BG=on, New BG=off.
  39048. * 0b11..XtalOsc=off, RCOsc=on, Old BG=off, New BG=on.
  39049. */
  39050. #define XTALOSC24M_MISC0_SET_STOP_MODE_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_STOP_MODE_CONFIG_SHIFT)) & XTALOSC24M_MISC0_SET_STOP_MODE_CONFIG_MASK)
  39051. #define XTALOSC24M_MISC0_SET_DISCON_HIGH_SNVS_MASK (0x1000U)
  39052. #define XTALOSC24M_MISC0_SET_DISCON_HIGH_SNVS_SHIFT (12U)
  39053. /*! DISCON_HIGH_SNVS
  39054. * 0b0..Turn on the switch
  39055. * 0b1..Turn off the switch
  39056. */
  39057. #define XTALOSC24M_MISC0_SET_DISCON_HIGH_SNVS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_DISCON_HIGH_SNVS_SHIFT)) & XTALOSC24M_MISC0_SET_DISCON_HIGH_SNVS_MASK)
  39058. #define XTALOSC24M_MISC0_SET_OSC_I_MASK (0x6000U)
  39059. #define XTALOSC24M_MISC0_SET_OSC_I_SHIFT (13U)
  39060. /*! OSC_I
  39061. * 0b00..Nominal
  39062. * 0b01..Decrease current by 12.5%
  39063. * 0b10..Decrease current by 25.0%
  39064. * 0b11..Decrease current by 37.5%
  39065. */
  39066. #define XTALOSC24M_MISC0_SET_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_OSC_I_SHIFT)) & XTALOSC24M_MISC0_SET_OSC_I_MASK)
  39067. #define XTALOSC24M_MISC0_SET_OSC_XTALOK_MASK (0x8000U)
  39068. #define XTALOSC24M_MISC0_SET_OSC_XTALOK_SHIFT (15U)
  39069. #define XTALOSC24M_MISC0_SET_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_OSC_XTALOK_SHIFT)) & XTALOSC24M_MISC0_SET_OSC_XTALOK_MASK)
  39070. #define XTALOSC24M_MISC0_SET_OSC_XTALOK_EN_MASK (0x10000U)
  39071. #define XTALOSC24M_MISC0_SET_OSC_XTALOK_EN_SHIFT (16U)
  39072. #define XTALOSC24M_MISC0_SET_OSC_XTALOK_EN(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_OSC_XTALOK_EN_SHIFT)) & XTALOSC24M_MISC0_SET_OSC_XTALOK_EN_MASK)
  39073. #define XTALOSC24M_MISC0_SET_CLKGATE_CTRL_MASK (0x2000000U)
  39074. #define XTALOSC24M_MISC0_SET_CLKGATE_CTRL_SHIFT (25U)
  39075. /*! CLKGATE_CTRL
  39076. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  39077. * 0b1..Prevent the logic from ever gating off the clock.
  39078. */
  39079. #define XTALOSC24M_MISC0_SET_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_CLKGATE_CTRL_SHIFT)) & XTALOSC24M_MISC0_SET_CLKGATE_CTRL_MASK)
  39080. #define XTALOSC24M_MISC0_SET_CLKGATE_DELAY_MASK (0x1C000000U)
  39081. #define XTALOSC24M_MISC0_SET_CLKGATE_DELAY_SHIFT (26U)
  39082. /*! CLKGATE_DELAY
  39083. * 0b000..0.5ms
  39084. * 0b001..1.0ms
  39085. * 0b010..2.0ms
  39086. * 0b011..3.0ms
  39087. * 0b100..4.0ms
  39088. * 0b101..5.0ms
  39089. * 0b110..6.0ms
  39090. * 0b111..7.0ms
  39091. */
  39092. #define XTALOSC24M_MISC0_SET_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_CLKGATE_DELAY_SHIFT)) & XTALOSC24M_MISC0_SET_CLKGATE_DELAY_MASK)
  39093. #define XTALOSC24M_MISC0_SET_RTC_XTAL_SOURCE_MASK (0x20000000U)
  39094. #define XTALOSC24M_MISC0_SET_RTC_XTAL_SOURCE_SHIFT (29U)
  39095. /*! RTC_XTAL_SOURCE
  39096. * 0b0..Internal ring oscillator
  39097. * 0b1..RTC_XTAL
  39098. */
  39099. #define XTALOSC24M_MISC0_SET_RTC_XTAL_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_RTC_XTAL_SOURCE_SHIFT)) & XTALOSC24M_MISC0_SET_RTC_XTAL_SOURCE_MASK)
  39100. #define XTALOSC24M_MISC0_SET_XTAL_24M_PWD_MASK (0x40000000U)
  39101. #define XTALOSC24M_MISC0_SET_XTAL_24M_PWD_SHIFT (30U)
  39102. #define XTALOSC24M_MISC0_SET_XTAL_24M_PWD(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_XTAL_24M_PWD_SHIFT)) & XTALOSC24M_MISC0_SET_XTAL_24M_PWD_MASK)
  39103. #define XTALOSC24M_MISC0_SET_VID_PLL_PREDIV_MASK (0x80000000U)
  39104. #define XTALOSC24M_MISC0_SET_VID_PLL_PREDIV_SHIFT (31U)
  39105. /*! VID_PLL_PREDIV
  39106. * 0b0..Divide by 1
  39107. * 0b1..Divide by 2
  39108. */
  39109. #define XTALOSC24M_MISC0_SET_VID_PLL_PREDIV(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_VID_PLL_PREDIV_SHIFT)) & XTALOSC24M_MISC0_SET_VID_PLL_PREDIV_MASK)
  39110. /*! @} */
  39111. /*! @name MISC0_CLR - Miscellaneous Register 0 */
  39112. /*! @{ */
  39113. #define XTALOSC24M_MISC0_CLR_REFTOP_PWD_MASK (0x1U)
  39114. #define XTALOSC24M_MISC0_CLR_REFTOP_PWD_SHIFT (0U)
  39115. #define XTALOSC24M_MISC0_CLR_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_REFTOP_PWD_SHIFT)) & XTALOSC24M_MISC0_CLR_REFTOP_PWD_MASK)
  39116. #define XTALOSC24M_MISC0_CLR_REFTOP_SELFBIASOFF_MASK (0x8U)
  39117. #define XTALOSC24M_MISC0_CLR_REFTOP_SELFBIASOFF_SHIFT (3U)
  39118. /*! REFTOP_SELFBIASOFF
  39119. * 0b0..Uses coarse bias currents for startup
  39120. * 0b1..Uses bandgap-based bias currents for best performance.
  39121. */
  39122. #define XTALOSC24M_MISC0_CLR_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_REFTOP_SELFBIASOFF_SHIFT)) & XTALOSC24M_MISC0_CLR_REFTOP_SELFBIASOFF_MASK)
  39123. #define XTALOSC24M_MISC0_CLR_REFTOP_VBGADJ_MASK (0x70U)
  39124. #define XTALOSC24M_MISC0_CLR_REFTOP_VBGADJ_SHIFT (4U)
  39125. /*! REFTOP_VBGADJ
  39126. * 0b000..Nominal VBG
  39127. * 0b001..VBG+0.78%
  39128. * 0b010..VBG+1.56%
  39129. * 0b011..VBG+2.34%
  39130. * 0b100..VBG-0.78%
  39131. * 0b101..VBG-1.56%
  39132. * 0b110..VBG-2.34%
  39133. * 0b111..VBG-3.12%
  39134. */
  39135. #define XTALOSC24M_MISC0_CLR_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_REFTOP_VBGADJ_SHIFT)) & XTALOSC24M_MISC0_CLR_REFTOP_VBGADJ_MASK)
  39136. #define XTALOSC24M_MISC0_CLR_REFTOP_VBGUP_MASK (0x80U)
  39137. #define XTALOSC24M_MISC0_CLR_REFTOP_VBGUP_SHIFT (7U)
  39138. #define XTALOSC24M_MISC0_CLR_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_REFTOP_VBGUP_SHIFT)) & XTALOSC24M_MISC0_CLR_REFTOP_VBGUP_MASK)
  39139. #define XTALOSC24M_MISC0_CLR_STOP_MODE_CONFIG_MASK (0xC00U)
  39140. #define XTALOSC24M_MISC0_CLR_STOP_MODE_CONFIG_SHIFT (10U)
  39141. /*! STOP_MODE_CONFIG
  39142. * 0b00..All analog except rtc powered down on stop mode assertion. XtalOsc=on, RCOsc=off;
  39143. * 0b01..Certain analog functions such as certain regulators left up. XtalOsc=on, RCOsc=off;
  39144. * 0b10..XtalOsc=off, RCOsc=on, Old BG=on, New BG=off.
  39145. * 0b11..XtalOsc=off, RCOsc=on, Old BG=off, New BG=on.
  39146. */
  39147. #define XTALOSC24M_MISC0_CLR_STOP_MODE_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_STOP_MODE_CONFIG_SHIFT)) & XTALOSC24M_MISC0_CLR_STOP_MODE_CONFIG_MASK)
  39148. #define XTALOSC24M_MISC0_CLR_DISCON_HIGH_SNVS_MASK (0x1000U)
  39149. #define XTALOSC24M_MISC0_CLR_DISCON_HIGH_SNVS_SHIFT (12U)
  39150. /*! DISCON_HIGH_SNVS
  39151. * 0b0..Turn on the switch
  39152. * 0b1..Turn off the switch
  39153. */
  39154. #define XTALOSC24M_MISC0_CLR_DISCON_HIGH_SNVS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_DISCON_HIGH_SNVS_SHIFT)) & XTALOSC24M_MISC0_CLR_DISCON_HIGH_SNVS_MASK)
  39155. #define XTALOSC24M_MISC0_CLR_OSC_I_MASK (0x6000U)
  39156. #define XTALOSC24M_MISC0_CLR_OSC_I_SHIFT (13U)
  39157. /*! OSC_I
  39158. * 0b00..Nominal
  39159. * 0b01..Decrease current by 12.5%
  39160. * 0b10..Decrease current by 25.0%
  39161. * 0b11..Decrease current by 37.5%
  39162. */
  39163. #define XTALOSC24M_MISC0_CLR_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_OSC_I_SHIFT)) & XTALOSC24M_MISC0_CLR_OSC_I_MASK)
  39164. #define XTALOSC24M_MISC0_CLR_OSC_XTALOK_MASK (0x8000U)
  39165. #define XTALOSC24M_MISC0_CLR_OSC_XTALOK_SHIFT (15U)
  39166. #define XTALOSC24M_MISC0_CLR_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_OSC_XTALOK_SHIFT)) & XTALOSC24M_MISC0_CLR_OSC_XTALOK_MASK)
  39167. #define XTALOSC24M_MISC0_CLR_OSC_XTALOK_EN_MASK (0x10000U)
  39168. #define XTALOSC24M_MISC0_CLR_OSC_XTALOK_EN_SHIFT (16U)
  39169. #define XTALOSC24M_MISC0_CLR_OSC_XTALOK_EN(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_OSC_XTALOK_EN_SHIFT)) & XTALOSC24M_MISC0_CLR_OSC_XTALOK_EN_MASK)
  39170. #define XTALOSC24M_MISC0_CLR_CLKGATE_CTRL_MASK (0x2000000U)
  39171. #define XTALOSC24M_MISC0_CLR_CLKGATE_CTRL_SHIFT (25U)
  39172. /*! CLKGATE_CTRL
  39173. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  39174. * 0b1..Prevent the logic from ever gating off the clock.
  39175. */
  39176. #define XTALOSC24M_MISC0_CLR_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_CLKGATE_CTRL_SHIFT)) & XTALOSC24M_MISC0_CLR_CLKGATE_CTRL_MASK)
  39177. #define XTALOSC24M_MISC0_CLR_CLKGATE_DELAY_MASK (0x1C000000U)
  39178. #define XTALOSC24M_MISC0_CLR_CLKGATE_DELAY_SHIFT (26U)
  39179. /*! CLKGATE_DELAY
  39180. * 0b000..0.5ms
  39181. * 0b001..1.0ms
  39182. * 0b010..2.0ms
  39183. * 0b011..3.0ms
  39184. * 0b100..4.0ms
  39185. * 0b101..5.0ms
  39186. * 0b110..6.0ms
  39187. * 0b111..7.0ms
  39188. */
  39189. #define XTALOSC24M_MISC0_CLR_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_CLKGATE_DELAY_SHIFT)) & XTALOSC24M_MISC0_CLR_CLKGATE_DELAY_MASK)
  39190. #define XTALOSC24M_MISC0_CLR_RTC_XTAL_SOURCE_MASK (0x20000000U)
  39191. #define XTALOSC24M_MISC0_CLR_RTC_XTAL_SOURCE_SHIFT (29U)
  39192. /*! RTC_XTAL_SOURCE
  39193. * 0b0..Internal ring oscillator
  39194. * 0b1..RTC_XTAL
  39195. */
  39196. #define XTALOSC24M_MISC0_CLR_RTC_XTAL_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_RTC_XTAL_SOURCE_SHIFT)) & XTALOSC24M_MISC0_CLR_RTC_XTAL_SOURCE_MASK)
  39197. #define XTALOSC24M_MISC0_CLR_XTAL_24M_PWD_MASK (0x40000000U)
  39198. #define XTALOSC24M_MISC0_CLR_XTAL_24M_PWD_SHIFT (30U)
  39199. #define XTALOSC24M_MISC0_CLR_XTAL_24M_PWD(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_XTAL_24M_PWD_SHIFT)) & XTALOSC24M_MISC0_CLR_XTAL_24M_PWD_MASK)
  39200. #define XTALOSC24M_MISC0_CLR_VID_PLL_PREDIV_MASK (0x80000000U)
  39201. #define XTALOSC24M_MISC0_CLR_VID_PLL_PREDIV_SHIFT (31U)
  39202. /*! VID_PLL_PREDIV
  39203. * 0b0..Divide by 1
  39204. * 0b1..Divide by 2
  39205. */
  39206. #define XTALOSC24M_MISC0_CLR_VID_PLL_PREDIV(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_VID_PLL_PREDIV_SHIFT)) & XTALOSC24M_MISC0_CLR_VID_PLL_PREDIV_MASK)
  39207. /*! @} */
  39208. /*! @name MISC0_TOG - Miscellaneous Register 0 */
  39209. /*! @{ */
  39210. #define XTALOSC24M_MISC0_TOG_REFTOP_PWD_MASK (0x1U)
  39211. #define XTALOSC24M_MISC0_TOG_REFTOP_PWD_SHIFT (0U)
  39212. #define XTALOSC24M_MISC0_TOG_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_REFTOP_PWD_SHIFT)) & XTALOSC24M_MISC0_TOG_REFTOP_PWD_MASK)
  39213. #define XTALOSC24M_MISC0_TOG_REFTOP_SELFBIASOFF_MASK (0x8U)
  39214. #define XTALOSC24M_MISC0_TOG_REFTOP_SELFBIASOFF_SHIFT (3U)
  39215. /*! REFTOP_SELFBIASOFF
  39216. * 0b0..Uses coarse bias currents for startup
  39217. * 0b1..Uses bandgap-based bias currents for best performance.
  39218. */
  39219. #define XTALOSC24M_MISC0_TOG_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_REFTOP_SELFBIASOFF_SHIFT)) & XTALOSC24M_MISC0_TOG_REFTOP_SELFBIASOFF_MASK)
  39220. #define XTALOSC24M_MISC0_TOG_REFTOP_VBGADJ_MASK (0x70U)
  39221. #define XTALOSC24M_MISC0_TOG_REFTOP_VBGADJ_SHIFT (4U)
  39222. /*! REFTOP_VBGADJ
  39223. * 0b000..Nominal VBG
  39224. * 0b001..VBG+0.78%
  39225. * 0b010..VBG+1.56%
  39226. * 0b011..VBG+2.34%
  39227. * 0b100..VBG-0.78%
  39228. * 0b101..VBG-1.56%
  39229. * 0b110..VBG-2.34%
  39230. * 0b111..VBG-3.12%
  39231. */
  39232. #define XTALOSC24M_MISC0_TOG_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_REFTOP_VBGADJ_SHIFT)) & XTALOSC24M_MISC0_TOG_REFTOP_VBGADJ_MASK)
  39233. #define XTALOSC24M_MISC0_TOG_REFTOP_VBGUP_MASK (0x80U)
  39234. #define XTALOSC24M_MISC0_TOG_REFTOP_VBGUP_SHIFT (7U)
  39235. #define XTALOSC24M_MISC0_TOG_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_REFTOP_VBGUP_SHIFT)) & XTALOSC24M_MISC0_TOG_REFTOP_VBGUP_MASK)
  39236. #define XTALOSC24M_MISC0_TOG_STOP_MODE_CONFIG_MASK (0xC00U)
  39237. #define XTALOSC24M_MISC0_TOG_STOP_MODE_CONFIG_SHIFT (10U)
  39238. /*! STOP_MODE_CONFIG
  39239. * 0b00..All analog except rtc powered down on stop mode assertion. XtalOsc=on, RCOsc=off;
  39240. * 0b01..Certain analog functions such as certain regulators left up. XtalOsc=on, RCOsc=off;
  39241. * 0b10..XtalOsc=off, RCOsc=on, Old BG=on, New BG=off.
  39242. * 0b11..XtalOsc=off, RCOsc=on, Old BG=off, New BG=on.
  39243. */
  39244. #define XTALOSC24M_MISC0_TOG_STOP_MODE_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_STOP_MODE_CONFIG_SHIFT)) & XTALOSC24M_MISC0_TOG_STOP_MODE_CONFIG_MASK)
  39245. #define XTALOSC24M_MISC0_TOG_DISCON_HIGH_SNVS_MASK (0x1000U)
  39246. #define XTALOSC24M_MISC0_TOG_DISCON_HIGH_SNVS_SHIFT (12U)
  39247. /*! DISCON_HIGH_SNVS
  39248. * 0b0..Turn on the switch
  39249. * 0b1..Turn off the switch
  39250. */
  39251. #define XTALOSC24M_MISC0_TOG_DISCON_HIGH_SNVS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_DISCON_HIGH_SNVS_SHIFT)) & XTALOSC24M_MISC0_TOG_DISCON_HIGH_SNVS_MASK)
  39252. #define XTALOSC24M_MISC0_TOG_OSC_I_MASK (0x6000U)
  39253. #define XTALOSC24M_MISC0_TOG_OSC_I_SHIFT (13U)
  39254. /*! OSC_I
  39255. * 0b00..Nominal
  39256. * 0b01..Decrease current by 12.5%
  39257. * 0b10..Decrease current by 25.0%
  39258. * 0b11..Decrease current by 37.5%
  39259. */
  39260. #define XTALOSC24M_MISC0_TOG_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_OSC_I_SHIFT)) & XTALOSC24M_MISC0_TOG_OSC_I_MASK)
  39261. #define XTALOSC24M_MISC0_TOG_OSC_XTALOK_MASK (0x8000U)
  39262. #define XTALOSC24M_MISC0_TOG_OSC_XTALOK_SHIFT (15U)
  39263. #define XTALOSC24M_MISC0_TOG_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_OSC_XTALOK_SHIFT)) & XTALOSC24M_MISC0_TOG_OSC_XTALOK_MASK)
  39264. #define XTALOSC24M_MISC0_TOG_OSC_XTALOK_EN_MASK (0x10000U)
  39265. #define XTALOSC24M_MISC0_TOG_OSC_XTALOK_EN_SHIFT (16U)
  39266. #define XTALOSC24M_MISC0_TOG_OSC_XTALOK_EN(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_OSC_XTALOK_EN_SHIFT)) & XTALOSC24M_MISC0_TOG_OSC_XTALOK_EN_MASK)
  39267. #define XTALOSC24M_MISC0_TOG_CLKGATE_CTRL_MASK (0x2000000U)
  39268. #define XTALOSC24M_MISC0_TOG_CLKGATE_CTRL_SHIFT (25U)
  39269. /*! CLKGATE_CTRL
  39270. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  39271. * 0b1..Prevent the logic from ever gating off the clock.
  39272. */
  39273. #define XTALOSC24M_MISC0_TOG_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_CLKGATE_CTRL_SHIFT)) & XTALOSC24M_MISC0_TOG_CLKGATE_CTRL_MASK)
  39274. #define XTALOSC24M_MISC0_TOG_CLKGATE_DELAY_MASK (0x1C000000U)
  39275. #define XTALOSC24M_MISC0_TOG_CLKGATE_DELAY_SHIFT (26U)
  39276. /*! CLKGATE_DELAY
  39277. * 0b000..0.5ms
  39278. * 0b001..1.0ms
  39279. * 0b010..2.0ms
  39280. * 0b011..3.0ms
  39281. * 0b100..4.0ms
  39282. * 0b101..5.0ms
  39283. * 0b110..6.0ms
  39284. * 0b111..7.0ms
  39285. */
  39286. #define XTALOSC24M_MISC0_TOG_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_CLKGATE_DELAY_SHIFT)) & XTALOSC24M_MISC0_TOG_CLKGATE_DELAY_MASK)
  39287. #define XTALOSC24M_MISC0_TOG_RTC_XTAL_SOURCE_MASK (0x20000000U)
  39288. #define XTALOSC24M_MISC0_TOG_RTC_XTAL_SOURCE_SHIFT (29U)
  39289. /*! RTC_XTAL_SOURCE
  39290. * 0b0..Internal ring oscillator
  39291. * 0b1..RTC_XTAL
  39292. */
  39293. #define XTALOSC24M_MISC0_TOG_RTC_XTAL_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_RTC_XTAL_SOURCE_SHIFT)) & XTALOSC24M_MISC0_TOG_RTC_XTAL_SOURCE_MASK)
  39294. #define XTALOSC24M_MISC0_TOG_XTAL_24M_PWD_MASK (0x40000000U)
  39295. #define XTALOSC24M_MISC0_TOG_XTAL_24M_PWD_SHIFT (30U)
  39296. #define XTALOSC24M_MISC0_TOG_XTAL_24M_PWD(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_XTAL_24M_PWD_SHIFT)) & XTALOSC24M_MISC0_TOG_XTAL_24M_PWD_MASK)
  39297. #define XTALOSC24M_MISC0_TOG_VID_PLL_PREDIV_MASK (0x80000000U)
  39298. #define XTALOSC24M_MISC0_TOG_VID_PLL_PREDIV_SHIFT (31U)
  39299. /*! VID_PLL_PREDIV
  39300. * 0b0..Divide by 1
  39301. * 0b1..Divide by 2
  39302. */
  39303. #define XTALOSC24M_MISC0_TOG_VID_PLL_PREDIV(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_VID_PLL_PREDIV_SHIFT)) & XTALOSC24M_MISC0_TOG_VID_PLL_PREDIV_MASK)
  39304. /*! @} */
  39305. /*! @name LOWPWR_CTRL - XTAL OSC (LP) Control Register */
  39306. /*! @{ */
  39307. #define XTALOSC24M_LOWPWR_CTRL_RC_OSC_EN_MASK (0x1U)
  39308. #define XTALOSC24M_LOWPWR_CTRL_RC_OSC_EN_SHIFT (0U)
  39309. /*! RC_OSC_EN
  39310. * 0b0..Use XTAL OSC to source the 24MHz clock
  39311. * 0b1..Use RC OSC
  39312. */
  39313. #define XTALOSC24M_LOWPWR_CTRL_RC_OSC_EN(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_RC_OSC_EN_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_RC_OSC_EN_MASK)
  39314. #define XTALOSC24M_LOWPWR_CTRL_OSC_SEL_MASK (0x10U)
  39315. #define XTALOSC24M_LOWPWR_CTRL_OSC_SEL_SHIFT (4U)
  39316. /*! OSC_SEL
  39317. * 0b0..XTAL OSC
  39318. * 0b1..RC OSC
  39319. */
  39320. #define XTALOSC24M_LOWPWR_CTRL_OSC_SEL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_OSC_SEL_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_OSC_SEL_MASK)
  39321. #define XTALOSC24M_LOWPWR_CTRL_LPBG_SEL_MASK (0x20U)
  39322. #define XTALOSC24M_LOWPWR_CTRL_LPBG_SEL_SHIFT (5U)
  39323. /*! LPBG_SEL
  39324. * 0b0..Normal power bandgap
  39325. * 0b1..Low power bandgap
  39326. */
  39327. #define XTALOSC24M_LOWPWR_CTRL_LPBG_SEL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_LPBG_SEL_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_LPBG_SEL_MASK)
  39328. #define XTALOSC24M_LOWPWR_CTRL_LPBG_TEST_MASK (0x40U)
  39329. #define XTALOSC24M_LOWPWR_CTRL_LPBG_TEST_SHIFT (6U)
  39330. #define XTALOSC24M_LOWPWR_CTRL_LPBG_TEST(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_LPBG_TEST_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_LPBG_TEST_MASK)
  39331. #define XTALOSC24M_LOWPWR_CTRL_REFTOP_IBIAS_OFF_MASK (0x80U)
  39332. #define XTALOSC24M_LOWPWR_CTRL_REFTOP_IBIAS_OFF_SHIFT (7U)
  39333. #define XTALOSC24M_LOWPWR_CTRL_REFTOP_IBIAS_OFF(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_REFTOP_IBIAS_OFF_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_REFTOP_IBIAS_OFF_MASK)
  39334. #define XTALOSC24M_LOWPWR_CTRL_L1_PWRGATE_MASK (0x100U)
  39335. #define XTALOSC24M_LOWPWR_CTRL_L1_PWRGATE_SHIFT (8U)
  39336. #define XTALOSC24M_LOWPWR_CTRL_L1_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_L1_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_L1_PWRGATE_MASK)
  39337. #define XTALOSC24M_LOWPWR_CTRL_L2_PWRGATE_MASK (0x200U)
  39338. #define XTALOSC24M_LOWPWR_CTRL_L2_PWRGATE_SHIFT (9U)
  39339. #define XTALOSC24M_LOWPWR_CTRL_L2_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_L2_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_L2_PWRGATE_MASK)
  39340. #define XTALOSC24M_LOWPWR_CTRL_CPU_PWRGATE_MASK (0x400U)
  39341. #define XTALOSC24M_LOWPWR_CTRL_CPU_PWRGATE_SHIFT (10U)
  39342. #define XTALOSC24M_LOWPWR_CTRL_CPU_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_CPU_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_CPU_PWRGATE_MASK)
  39343. #define XTALOSC24M_LOWPWR_CTRL_DISPLAY_PWRGATE_MASK (0x800U)
  39344. #define XTALOSC24M_LOWPWR_CTRL_DISPLAY_PWRGATE_SHIFT (11U)
  39345. #define XTALOSC24M_LOWPWR_CTRL_DISPLAY_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_DISPLAY_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_DISPLAY_PWRGATE_MASK)
  39346. #define XTALOSC24M_LOWPWR_CTRL_RCOSC_CG_OVERRIDE_MASK (0x2000U)
  39347. #define XTALOSC24M_LOWPWR_CTRL_RCOSC_CG_OVERRIDE_SHIFT (13U)
  39348. #define XTALOSC24M_LOWPWR_CTRL_RCOSC_CG_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_RCOSC_CG_OVERRIDE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_RCOSC_CG_OVERRIDE_MASK)
  39349. #define XTALOSC24M_LOWPWR_CTRL_XTALOSC_PWRUP_DELAY_MASK (0xC000U)
  39350. #define XTALOSC24M_LOWPWR_CTRL_XTALOSC_PWRUP_DELAY_SHIFT (14U)
  39351. /*! XTALOSC_PWRUP_DELAY
  39352. * 0b00..0.25ms
  39353. * 0b01..0.5ms
  39354. * 0b10..1ms
  39355. * 0b11..2ms
  39356. */
  39357. #define XTALOSC24M_LOWPWR_CTRL_XTALOSC_PWRUP_DELAY(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_XTALOSC_PWRUP_DELAY_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_XTALOSC_PWRUP_DELAY_MASK)
  39358. #define XTALOSC24M_LOWPWR_CTRL_XTALOSC_PWRUP_STAT_MASK (0x10000U)
  39359. #define XTALOSC24M_LOWPWR_CTRL_XTALOSC_PWRUP_STAT_SHIFT (16U)
  39360. /*! XTALOSC_PWRUP_STAT
  39361. * 0b0..Not stable
  39362. * 0b1..Stable and ready to use
  39363. */
  39364. #define XTALOSC24M_LOWPWR_CTRL_XTALOSC_PWRUP_STAT(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_XTALOSC_PWRUP_STAT_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_XTALOSC_PWRUP_STAT_MASK)
  39365. #define XTALOSC24M_LOWPWR_CTRL_MIX_PWRGATE_MASK (0x20000U)
  39366. #define XTALOSC24M_LOWPWR_CTRL_MIX_PWRGATE_SHIFT (17U)
  39367. #define XTALOSC24M_LOWPWR_CTRL_MIX_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_MIX_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_MIX_PWRGATE_MASK)
  39368. #define XTALOSC24M_LOWPWR_CTRL_GPU_PWRGATE_MASK (0x40000U)
  39369. #define XTALOSC24M_LOWPWR_CTRL_GPU_PWRGATE_SHIFT (18U)
  39370. #define XTALOSC24M_LOWPWR_CTRL_GPU_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_GPU_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_GPU_PWRGATE_MASK)
  39371. /*! @} */
  39372. /*! @name LOWPWR_CTRL_SET - XTAL OSC (LP) Control Register */
  39373. /*! @{ */
  39374. #define XTALOSC24M_LOWPWR_CTRL_SET_RC_OSC_EN_MASK (0x1U)
  39375. #define XTALOSC24M_LOWPWR_CTRL_SET_RC_OSC_EN_SHIFT (0U)
  39376. /*! RC_OSC_EN
  39377. * 0b0..Use XTAL OSC to source the 24MHz clock
  39378. * 0b1..Use RC OSC
  39379. */
  39380. #define XTALOSC24M_LOWPWR_CTRL_SET_RC_OSC_EN(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_SET_RC_OSC_EN_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_SET_RC_OSC_EN_MASK)
  39381. #define XTALOSC24M_LOWPWR_CTRL_SET_OSC_SEL_MASK (0x10U)
  39382. #define XTALOSC24M_LOWPWR_CTRL_SET_OSC_SEL_SHIFT (4U)
  39383. /*! OSC_SEL
  39384. * 0b0..XTAL OSC
  39385. * 0b1..RC OSC
  39386. */
  39387. #define XTALOSC24M_LOWPWR_CTRL_SET_OSC_SEL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_SET_OSC_SEL_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_SET_OSC_SEL_MASK)
  39388. #define XTALOSC24M_LOWPWR_CTRL_SET_LPBG_SEL_MASK (0x20U)
  39389. #define XTALOSC24M_LOWPWR_CTRL_SET_LPBG_SEL_SHIFT (5U)
  39390. /*! LPBG_SEL
  39391. * 0b0..Normal power bandgap
  39392. * 0b1..Low power bandgap
  39393. */
  39394. #define XTALOSC24M_LOWPWR_CTRL_SET_LPBG_SEL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_SET_LPBG_SEL_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_SET_LPBG_SEL_MASK)
  39395. #define XTALOSC24M_LOWPWR_CTRL_SET_LPBG_TEST_MASK (0x40U)
  39396. #define XTALOSC24M_LOWPWR_CTRL_SET_LPBG_TEST_SHIFT (6U)
  39397. #define XTALOSC24M_LOWPWR_CTRL_SET_LPBG_TEST(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_SET_LPBG_TEST_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_SET_LPBG_TEST_MASK)
  39398. #define XTALOSC24M_LOWPWR_CTRL_SET_REFTOP_IBIAS_OFF_MASK (0x80U)
  39399. #define XTALOSC24M_LOWPWR_CTRL_SET_REFTOP_IBIAS_OFF_SHIFT (7U)
  39400. #define XTALOSC24M_LOWPWR_CTRL_SET_REFTOP_IBIAS_OFF(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_SET_REFTOP_IBIAS_OFF_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_SET_REFTOP_IBIAS_OFF_MASK)
  39401. #define XTALOSC24M_LOWPWR_CTRL_SET_L1_PWRGATE_MASK (0x100U)
  39402. #define XTALOSC24M_LOWPWR_CTRL_SET_L1_PWRGATE_SHIFT (8U)
  39403. #define XTALOSC24M_LOWPWR_CTRL_SET_L1_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_SET_L1_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_SET_L1_PWRGATE_MASK)
  39404. #define XTALOSC24M_LOWPWR_CTRL_SET_L2_PWRGATE_MASK (0x200U)
  39405. #define XTALOSC24M_LOWPWR_CTRL_SET_L2_PWRGATE_SHIFT (9U)
  39406. #define XTALOSC24M_LOWPWR_CTRL_SET_L2_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_SET_L2_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_SET_L2_PWRGATE_MASK)
  39407. #define XTALOSC24M_LOWPWR_CTRL_SET_CPU_PWRGATE_MASK (0x400U)
  39408. #define XTALOSC24M_LOWPWR_CTRL_SET_CPU_PWRGATE_SHIFT (10U)
  39409. #define XTALOSC24M_LOWPWR_CTRL_SET_CPU_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_SET_CPU_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_SET_CPU_PWRGATE_MASK)
  39410. #define XTALOSC24M_LOWPWR_CTRL_SET_DISPLAY_PWRGATE_MASK (0x800U)
  39411. #define XTALOSC24M_LOWPWR_CTRL_SET_DISPLAY_PWRGATE_SHIFT (11U)
  39412. #define XTALOSC24M_LOWPWR_CTRL_SET_DISPLAY_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_SET_DISPLAY_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_SET_DISPLAY_PWRGATE_MASK)
  39413. #define XTALOSC24M_LOWPWR_CTRL_SET_RCOSC_CG_OVERRIDE_MASK (0x2000U)
  39414. #define XTALOSC24M_LOWPWR_CTRL_SET_RCOSC_CG_OVERRIDE_SHIFT (13U)
  39415. #define XTALOSC24M_LOWPWR_CTRL_SET_RCOSC_CG_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_SET_RCOSC_CG_OVERRIDE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_SET_RCOSC_CG_OVERRIDE_MASK)
  39416. #define XTALOSC24M_LOWPWR_CTRL_SET_XTALOSC_PWRUP_DELAY_MASK (0xC000U)
  39417. #define XTALOSC24M_LOWPWR_CTRL_SET_XTALOSC_PWRUP_DELAY_SHIFT (14U)
  39418. /*! XTALOSC_PWRUP_DELAY
  39419. * 0b00..0.25ms
  39420. * 0b01..0.5ms
  39421. * 0b10..1ms
  39422. * 0b11..2ms
  39423. */
  39424. #define XTALOSC24M_LOWPWR_CTRL_SET_XTALOSC_PWRUP_DELAY(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_SET_XTALOSC_PWRUP_DELAY_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_SET_XTALOSC_PWRUP_DELAY_MASK)
  39425. #define XTALOSC24M_LOWPWR_CTRL_SET_XTALOSC_PWRUP_STAT_MASK (0x10000U)
  39426. #define XTALOSC24M_LOWPWR_CTRL_SET_XTALOSC_PWRUP_STAT_SHIFT (16U)
  39427. /*! XTALOSC_PWRUP_STAT
  39428. * 0b0..Not stable
  39429. * 0b1..Stable and ready to use
  39430. */
  39431. #define XTALOSC24M_LOWPWR_CTRL_SET_XTALOSC_PWRUP_STAT(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_SET_XTALOSC_PWRUP_STAT_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_SET_XTALOSC_PWRUP_STAT_MASK)
  39432. #define XTALOSC24M_LOWPWR_CTRL_SET_MIX_PWRGATE_MASK (0x20000U)
  39433. #define XTALOSC24M_LOWPWR_CTRL_SET_MIX_PWRGATE_SHIFT (17U)
  39434. #define XTALOSC24M_LOWPWR_CTRL_SET_MIX_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_SET_MIX_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_SET_MIX_PWRGATE_MASK)
  39435. #define XTALOSC24M_LOWPWR_CTRL_SET_GPU_PWRGATE_MASK (0x40000U)
  39436. #define XTALOSC24M_LOWPWR_CTRL_SET_GPU_PWRGATE_SHIFT (18U)
  39437. #define XTALOSC24M_LOWPWR_CTRL_SET_GPU_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_SET_GPU_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_SET_GPU_PWRGATE_MASK)
  39438. /*! @} */
  39439. /*! @name LOWPWR_CTRL_CLR - XTAL OSC (LP) Control Register */
  39440. /*! @{ */
  39441. #define XTALOSC24M_LOWPWR_CTRL_CLR_RC_OSC_EN_MASK (0x1U)
  39442. #define XTALOSC24M_LOWPWR_CTRL_CLR_RC_OSC_EN_SHIFT (0U)
  39443. /*! RC_OSC_EN
  39444. * 0b0..Use XTAL OSC to source the 24MHz clock
  39445. * 0b1..Use RC OSC
  39446. */
  39447. #define XTALOSC24M_LOWPWR_CTRL_CLR_RC_OSC_EN(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_CLR_RC_OSC_EN_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_CLR_RC_OSC_EN_MASK)
  39448. #define XTALOSC24M_LOWPWR_CTRL_CLR_OSC_SEL_MASK (0x10U)
  39449. #define XTALOSC24M_LOWPWR_CTRL_CLR_OSC_SEL_SHIFT (4U)
  39450. /*! OSC_SEL
  39451. * 0b0..XTAL OSC
  39452. * 0b1..RC OSC
  39453. */
  39454. #define XTALOSC24M_LOWPWR_CTRL_CLR_OSC_SEL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_CLR_OSC_SEL_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_CLR_OSC_SEL_MASK)
  39455. #define XTALOSC24M_LOWPWR_CTRL_CLR_LPBG_SEL_MASK (0x20U)
  39456. #define XTALOSC24M_LOWPWR_CTRL_CLR_LPBG_SEL_SHIFT (5U)
  39457. /*! LPBG_SEL
  39458. * 0b0..Normal power bandgap
  39459. * 0b1..Low power bandgap
  39460. */
  39461. #define XTALOSC24M_LOWPWR_CTRL_CLR_LPBG_SEL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_CLR_LPBG_SEL_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_CLR_LPBG_SEL_MASK)
  39462. #define XTALOSC24M_LOWPWR_CTRL_CLR_LPBG_TEST_MASK (0x40U)
  39463. #define XTALOSC24M_LOWPWR_CTRL_CLR_LPBG_TEST_SHIFT (6U)
  39464. #define XTALOSC24M_LOWPWR_CTRL_CLR_LPBG_TEST(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_CLR_LPBG_TEST_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_CLR_LPBG_TEST_MASK)
  39465. #define XTALOSC24M_LOWPWR_CTRL_CLR_REFTOP_IBIAS_OFF_MASK (0x80U)
  39466. #define XTALOSC24M_LOWPWR_CTRL_CLR_REFTOP_IBIAS_OFF_SHIFT (7U)
  39467. #define XTALOSC24M_LOWPWR_CTRL_CLR_REFTOP_IBIAS_OFF(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_CLR_REFTOP_IBIAS_OFF_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_CLR_REFTOP_IBIAS_OFF_MASK)
  39468. #define XTALOSC24M_LOWPWR_CTRL_CLR_L1_PWRGATE_MASK (0x100U)
  39469. #define XTALOSC24M_LOWPWR_CTRL_CLR_L1_PWRGATE_SHIFT (8U)
  39470. #define XTALOSC24M_LOWPWR_CTRL_CLR_L1_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_CLR_L1_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_CLR_L1_PWRGATE_MASK)
  39471. #define XTALOSC24M_LOWPWR_CTRL_CLR_L2_PWRGATE_MASK (0x200U)
  39472. #define XTALOSC24M_LOWPWR_CTRL_CLR_L2_PWRGATE_SHIFT (9U)
  39473. #define XTALOSC24M_LOWPWR_CTRL_CLR_L2_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_CLR_L2_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_CLR_L2_PWRGATE_MASK)
  39474. #define XTALOSC24M_LOWPWR_CTRL_CLR_CPU_PWRGATE_MASK (0x400U)
  39475. #define XTALOSC24M_LOWPWR_CTRL_CLR_CPU_PWRGATE_SHIFT (10U)
  39476. #define XTALOSC24M_LOWPWR_CTRL_CLR_CPU_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_CLR_CPU_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_CLR_CPU_PWRGATE_MASK)
  39477. #define XTALOSC24M_LOWPWR_CTRL_CLR_DISPLAY_PWRGATE_MASK (0x800U)
  39478. #define XTALOSC24M_LOWPWR_CTRL_CLR_DISPLAY_PWRGATE_SHIFT (11U)
  39479. #define XTALOSC24M_LOWPWR_CTRL_CLR_DISPLAY_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_CLR_DISPLAY_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_CLR_DISPLAY_PWRGATE_MASK)
  39480. #define XTALOSC24M_LOWPWR_CTRL_CLR_RCOSC_CG_OVERRIDE_MASK (0x2000U)
  39481. #define XTALOSC24M_LOWPWR_CTRL_CLR_RCOSC_CG_OVERRIDE_SHIFT (13U)
  39482. #define XTALOSC24M_LOWPWR_CTRL_CLR_RCOSC_CG_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_CLR_RCOSC_CG_OVERRIDE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_CLR_RCOSC_CG_OVERRIDE_MASK)
  39483. #define XTALOSC24M_LOWPWR_CTRL_CLR_XTALOSC_PWRUP_DELAY_MASK (0xC000U)
  39484. #define XTALOSC24M_LOWPWR_CTRL_CLR_XTALOSC_PWRUP_DELAY_SHIFT (14U)
  39485. /*! XTALOSC_PWRUP_DELAY
  39486. * 0b00..0.25ms
  39487. * 0b01..0.5ms
  39488. * 0b10..1ms
  39489. * 0b11..2ms
  39490. */
  39491. #define XTALOSC24M_LOWPWR_CTRL_CLR_XTALOSC_PWRUP_DELAY(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_CLR_XTALOSC_PWRUP_DELAY_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_CLR_XTALOSC_PWRUP_DELAY_MASK)
  39492. #define XTALOSC24M_LOWPWR_CTRL_CLR_XTALOSC_PWRUP_STAT_MASK (0x10000U)
  39493. #define XTALOSC24M_LOWPWR_CTRL_CLR_XTALOSC_PWRUP_STAT_SHIFT (16U)
  39494. /*! XTALOSC_PWRUP_STAT
  39495. * 0b0..Not stable
  39496. * 0b1..Stable and ready to use
  39497. */
  39498. #define XTALOSC24M_LOWPWR_CTRL_CLR_XTALOSC_PWRUP_STAT(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_CLR_XTALOSC_PWRUP_STAT_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_CLR_XTALOSC_PWRUP_STAT_MASK)
  39499. #define XTALOSC24M_LOWPWR_CTRL_CLR_MIX_PWRGATE_MASK (0x20000U)
  39500. #define XTALOSC24M_LOWPWR_CTRL_CLR_MIX_PWRGATE_SHIFT (17U)
  39501. #define XTALOSC24M_LOWPWR_CTRL_CLR_MIX_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_CLR_MIX_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_CLR_MIX_PWRGATE_MASK)
  39502. #define XTALOSC24M_LOWPWR_CTRL_CLR_GPU_PWRGATE_MASK (0x40000U)
  39503. #define XTALOSC24M_LOWPWR_CTRL_CLR_GPU_PWRGATE_SHIFT (18U)
  39504. #define XTALOSC24M_LOWPWR_CTRL_CLR_GPU_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_CLR_GPU_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_CLR_GPU_PWRGATE_MASK)
  39505. /*! @} */
  39506. /*! @name LOWPWR_CTRL_TOG - XTAL OSC (LP) Control Register */
  39507. /*! @{ */
  39508. #define XTALOSC24M_LOWPWR_CTRL_TOG_RC_OSC_EN_MASK (0x1U)
  39509. #define XTALOSC24M_LOWPWR_CTRL_TOG_RC_OSC_EN_SHIFT (0U)
  39510. /*! RC_OSC_EN
  39511. * 0b0..Use XTAL OSC to source the 24MHz clock
  39512. * 0b1..Use RC OSC
  39513. */
  39514. #define XTALOSC24M_LOWPWR_CTRL_TOG_RC_OSC_EN(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_TOG_RC_OSC_EN_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_TOG_RC_OSC_EN_MASK)
  39515. #define XTALOSC24M_LOWPWR_CTRL_TOG_OSC_SEL_MASK (0x10U)
  39516. #define XTALOSC24M_LOWPWR_CTRL_TOG_OSC_SEL_SHIFT (4U)
  39517. /*! OSC_SEL
  39518. * 0b0..XTAL OSC
  39519. * 0b1..RC OSC
  39520. */
  39521. #define XTALOSC24M_LOWPWR_CTRL_TOG_OSC_SEL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_TOG_OSC_SEL_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_TOG_OSC_SEL_MASK)
  39522. #define XTALOSC24M_LOWPWR_CTRL_TOG_LPBG_SEL_MASK (0x20U)
  39523. #define XTALOSC24M_LOWPWR_CTRL_TOG_LPBG_SEL_SHIFT (5U)
  39524. /*! LPBG_SEL
  39525. * 0b0..Normal power bandgap
  39526. * 0b1..Low power bandgap
  39527. */
  39528. #define XTALOSC24M_LOWPWR_CTRL_TOG_LPBG_SEL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_TOG_LPBG_SEL_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_TOG_LPBG_SEL_MASK)
  39529. #define XTALOSC24M_LOWPWR_CTRL_TOG_LPBG_TEST_MASK (0x40U)
  39530. #define XTALOSC24M_LOWPWR_CTRL_TOG_LPBG_TEST_SHIFT (6U)
  39531. #define XTALOSC24M_LOWPWR_CTRL_TOG_LPBG_TEST(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_TOG_LPBG_TEST_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_TOG_LPBG_TEST_MASK)
  39532. #define XTALOSC24M_LOWPWR_CTRL_TOG_REFTOP_IBIAS_OFF_MASK (0x80U)
  39533. #define XTALOSC24M_LOWPWR_CTRL_TOG_REFTOP_IBIAS_OFF_SHIFT (7U)
  39534. #define XTALOSC24M_LOWPWR_CTRL_TOG_REFTOP_IBIAS_OFF(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_TOG_REFTOP_IBIAS_OFF_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_TOG_REFTOP_IBIAS_OFF_MASK)
  39535. #define XTALOSC24M_LOWPWR_CTRL_TOG_L1_PWRGATE_MASK (0x100U)
  39536. #define XTALOSC24M_LOWPWR_CTRL_TOG_L1_PWRGATE_SHIFT (8U)
  39537. #define XTALOSC24M_LOWPWR_CTRL_TOG_L1_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_TOG_L1_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_TOG_L1_PWRGATE_MASK)
  39538. #define XTALOSC24M_LOWPWR_CTRL_TOG_L2_PWRGATE_MASK (0x200U)
  39539. #define XTALOSC24M_LOWPWR_CTRL_TOG_L2_PWRGATE_SHIFT (9U)
  39540. #define XTALOSC24M_LOWPWR_CTRL_TOG_L2_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_TOG_L2_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_TOG_L2_PWRGATE_MASK)
  39541. #define XTALOSC24M_LOWPWR_CTRL_TOG_CPU_PWRGATE_MASK (0x400U)
  39542. #define XTALOSC24M_LOWPWR_CTRL_TOG_CPU_PWRGATE_SHIFT (10U)
  39543. #define XTALOSC24M_LOWPWR_CTRL_TOG_CPU_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_TOG_CPU_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_TOG_CPU_PWRGATE_MASK)
  39544. #define XTALOSC24M_LOWPWR_CTRL_TOG_DISPLAY_PWRGATE_MASK (0x800U)
  39545. #define XTALOSC24M_LOWPWR_CTRL_TOG_DISPLAY_PWRGATE_SHIFT (11U)
  39546. #define XTALOSC24M_LOWPWR_CTRL_TOG_DISPLAY_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_TOG_DISPLAY_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_TOG_DISPLAY_PWRGATE_MASK)
  39547. #define XTALOSC24M_LOWPWR_CTRL_TOG_RCOSC_CG_OVERRIDE_MASK (0x2000U)
  39548. #define XTALOSC24M_LOWPWR_CTRL_TOG_RCOSC_CG_OVERRIDE_SHIFT (13U)
  39549. #define XTALOSC24M_LOWPWR_CTRL_TOG_RCOSC_CG_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_TOG_RCOSC_CG_OVERRIDE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_TOG_RCOSC_CG_OVERRIDE_MASK)
  39550. #define XTALOSC24M_LOWPWR_CTRL_TOG_XTALOSC_PWRUP_DELAY_MASK (0xC000U)
  39551. #define XTALOSC24M_LOWPWR_CTRL_TOG_XTALOSC_PWRUP_DELAY_SHIFT (14U)
  39552. /*! XTALOSC_PWRUP_DELAY
  39553. * 0b00..0.25ms
  39554. * 0b01..0.5ms
  39555. * 0b10..1ms
  39556. * 0b11..2ms
  39557. */
  39558. #define XTALOSC24M_LOWPWR_CTRL_TOG_XTALOSC_PWRUP_DELAY(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_TOG_XTALOSC_PWRUP_DELAY_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_TOG_XTALOSC_PWRUP_DELAY_MASK)
  39559. #define XTALOSC24M_LOWPWR_CTRL_TOG_XTALOSC_PWRUP_STAT_MASK (0x10000U)
  39560. #define XTALOSC24M_LOWPWR_CTRL_TOG_XTALOSC_PWRUP_STAT_SHIFT (16U)
  39561. /*! XTALOSC_PWRUP_STAT
  39562. * 0b0..Not stable
  39563. * 0b1..Stable and ready to use
  39564. */
  39565. #define XTALOSC24M_LOWPWR_CTRL_TOG_XTALOSC_PWRUP_STAT(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_TOG_XTALOSC_PWRUP_STAT_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_TOG_XTALOSC_PWRUP_STAT_MASK)
  39566. #define XTALOSC24M_LOWPWR_CTRL_TOG_MIX_PWRGATE_MASK (0x20000U)
  39567. #define XTALOSC24M_LOWPWR_CTRL_TOG_MIX_PWRGATE_SHIFT (17U)
  39568. #define XTALOSC24M_LOWPWR_CTRL_TOG_MIX_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_TOG_MIX_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_TOG_MIX_PWRGATE_MASK)
  39569. #define XTALOSC24M_LOWPWR_CTRL_TOG_GPU_PWRGATE_MASK (0x40000U)
  39570. #define XTALOSC24M_LOWPWR_CTRL_TOG_GPU_PWRGATE_SHIFT (18U)
  39571. #define XTALOSC24M_LOWPWR_CTRL_TOG_GPU_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_TOG_GPU_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_TOG_GPU_PWRGATE_MASK)
  39572. /*! @} */
  39573. /*! @name OSC_CONFIG0 - XTAL OSC Configuration 0 Register */
  39574. /*! @{ */
  39575. #define XTALOSC24M_OSC_CONFIG0_START_MASK (0x1U)
  39576. #define XTALOSC24M_OSC_CONFIG0_START_SHIFT (0U)
  39577. #define XTALOSC24M_OSC_CONFIG0_START(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_START_SHIFT)) & XTALOSC24M_OSC_CONFIG0_START_MASK)
  39578. #define XTALOSC24M_OSC_CONFIG0_ENABLE_MASK (0x2U)
  39579. #define XTALOSC24M_OSC_CONFIG0_ENABLE_SHIFT (1U)
  39580. #define XTALOSC24M_OSC_CONFIG0_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_ENABLE_SHIFT)) & XTALOSC24M_OSC_CONFIG0_ENABLE_MASK)
  39581. #define XTALOSC24M_OSC_CONFIG0_BYPASS_MASK (0x4U)
  39582. #define XTALOSC24M_OSC_CONFIG0_BYPASS_SHIFT (2U)
  39583. #define XTALOSC24M_OSC_CONFIG0_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_BYPASS_SHIFT)) & XTALOSC24M_OSC_CONFIG0_BYPASS_MASK)
  39584. #define XTALOSC24M_OSC_CONFIG0_INVERT_MASK (0x8U)
  39585. #define XTALOSC24M_OSC_CONFIG0_INVERT_SHIFT (3U)
  39586. #define XTALOSC24M_OSC_CONFIG0_INVERT(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_INVERT_SHIFT)) & XTALOSC24M_OSC_CONFIG0_INVERT_MASK)
  39587. #define XTALOSC24M_OSC_CONFIG0_RC_OSC_PROG_MASK (0xFF0U)
  39588. #define XTALOSC24M_OSC_CONFIG0_RC_OSC_PROG_SHIFT (4U)
  39589. #define XTALOSC24M_OSC_CONFIG0_RC_OSC_PROG(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_RC_OSC_PROG_SHIFT)) & XTALOSC24M_OSC_CONFIG0_RC_OSC_PROG_MASK)
  39590. #define XTALOSC24M_OSC_CONFIG0_HYST_PLUS_MASK (0xF000U)
  39591. #define XTALOSC24M_OSC_CONFIG0_HYST_PLUS_SHIFT (12U)
  39592. #define XTALOSC24M_OSC_CONFIG0_HYST_PLUS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_HYST_PLUS_SHIFT)) & XTALOSC24M_OSC_CONFIG0_HYST_PLUS_MASK)
  39593. #define XTALOSC24M_OSC_CONFIG0_HYST_MINUS_MASK (0xF0000U)
  39594. #define XTALOSC24M_OSC_CONFIG0_HYST_MINUS_SHIFT (16U)
  39595. #define XTALOSC24M_OSC_CONFIG0_HYST_MINUS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_HYST_MINUS_SHIFT)) & XTALOSC24M_OSC_CONFIG0_HYST_MINUS_MASK)
  39596. #define XTALOSC24M_OSC_CONFIG0_RC_OSC_PROG_CUR_MASK (0xFF000000U)
  39597. #define XTALOSC24M_OSC_CONFIG0_RC_OSC_PROG_CUR_SHIFT (24U)
  39598. #define XTALOSC24M_OSC_CONFIG0_RC_OSC_PROG_CUR(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_RC_OSC_PROG_CUR_SHIFT)) & XTALOSC24M_OSC_CONFIG0_RC_OSC_PROG_CUR_MASK)
  39599. /*! @} */
  39600. /*! @name OSC_CONFIG0_SET - XTAL OSC Configuration 0 Register */
  39601. /*! @{ */
  39602. #define XTALOSC24M_OSC_CONFIG0_SET_START_MASK (0x1U)
  39603. #define XTALOSC24M_OSC_CONFIG0_SET_START_SHIFT (0U)
  39604. #define XTALOSC24M_OSC_CONFIG0_SET_START(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_SET_START_SHIFT)) & XTALOSC24M_OSC_CONFIG0_SET_START_MASK)
  39605. #define XTALOSC24M_OSC_CONFIG0_SET_ENABLE_MASK (0x2U)
  39606. #define XTALOSC24M_OSC_CONFIG0_SET_ENABLE_SHIFT (1U)
  39607. #define XTALOSC24M_OSC_CONFIG0_SET_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_SET_ENABLE_SHIFT)) & XTALOSC24M_OSC_CONFIG0_SET_ENABLE_MASK)
  39608. #define XTALOSC24M_OSC_CONFIG0_SET_BYPASS_MASK (0x4U)
  39609. #define XTALOSC24M_OSC_CONFIG0_SET_BYPASS_SHIFT (2U)
  39610. #define XTALOSC24M_OSC_CONFIG0_SET_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_SET_BYPASS_SHIFT)) & XTALOSC24M_OSC_CONFIG0_SET_BYPASS_MASK)
  39611. #define XTALOSC24M_OSC_CONFIG0_SET_INVERT_MASK (0x8U)
  39612. #define XTALOSC24M_OSC_CONFIG0_SET_INVERT_SHIFT (3U)
  39613. #define XTALOSC24M_OSC_CONFIG0_SET_INVERT(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_SET_INVERT_SHIFT)) & XTALOSC24M_OSC_CONFIG0_SET_INVERT_MASK)
  39614. #define XTALOSC24M_OSC_CONFIG0_SET_RC_OSC_PROG_MASK (0xFF0U)
  39615. #define XTALOSC24M_OSC_CONFIG0_SET_RC_OSC_PROG_SHIFT (4U)
  39616. #define XTALOSC24M_OSC_CONFIG0_SET_RC_OSC_PROG(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_SET_RC_OSC_PROG_SHIFT)) & XTALOSC24M_OSC_CONFIG0_SET_RC_OSC_PROG_MASK)
  39617. #define XTALOSC24M_OSC_CONFIG0_SET_HYST_PLUS_MASK (0xF000U)
  39618. #define XTALOSC24M_OSC_CONFIG0_SET_HYST_PLUS_SHIFT (12U)
  39619. #define XTALOSC24M_OSC_CONFIG0_SET_HYST_PLUS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_SET_HYST_PLUS_SHIFT)) & XTALOSC24M_OSC_CONFIG0_SET_HYST_PLUS_MASK)
  39620. #define XTALOSC24M_OSC_CONFIG0_SET_HYST_MINUS_MASK (0xF0000U)
  39621. #define XTALOSC24M_OSC_CONFIG0_SET_HYST_MINUS_SHIFT (16U)
  39622. #define XTALOSC24M_OSC_CONFIG0_SET_HYST_MINUS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_SET_HYST_MINUS_SHIFT)) & XTALOSC24M_OSC_CONFIG0_SET_HYST_MINUS_MASK)
  39623. #define XTALOSC24M_OSC_CONFIG0_SET_RC_OSC_PROG_CUR_MASK (0xFF000000U)
  39624. #define XTALOSC24M_OSC_CONFIG0_SET_RC_OSC_PROG_CUR_SHIFT (24U)
  39625. #define XTALOSC24M_OSC_CONFIG0_SET_RC_OSC_PROG_CUR(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_SET_RC_OSC_PROG_CUR_SHIFT)) & XTALOSC24M_OSC_CONFIG0_SET_RC_OSC_PROG_CUR_MASK)
  39626. /*! @} */
  39627. /*! @name OSC_CONFIG0_CLR - XTAL OSC Configuration 0 Register */
  39628. /*! @{ */
  39629. #define XTALOSC24M_OSC_CONFIG0_CLR_START_MASK (0x1U)
  39630. #define XTALOSC24M_OSC_CONFIG0_CLR_START_SHIFT (0U)
  39631. #define XTALOSC24M_OSC_CONFIG0_CLR_START(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_CLR_START_SHIFT)) & XTALOSC24M_OSC_CONFIG0_CLR_START_MASK)
  39632. #define XTALOSC24M_OSC_CONFIG0_CLR_ENABLE_MASK (0x2U)
  39633. #define XTALOSC24M_OSC_CONFIG0_CLR_ENABLE_SHIFT (1U)
  39634. #define XTALOSC24M_OSC_CONFIG0_CLR_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_CLR_ENABLE_SHIFT)) & XTALOSC24M_OSC_CONFIG0_CLR_ENABLE_MASK)
  39635. #define XTALOSC24M_OSC_CONFIG0_CLR_BYPASS_MASK (0x4U)
  39636. #define XTALOSC24M_OSC_CONFIG0_CLR_BYPASS_SHIFT (2U)
  39637. #define XTALOSC24M_OSC_CONFIG0_CLR_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_CLR_BYPASS_SHIFT)) & XTALOSC24M_OSC_CONFIG0_CLR_BYPASS_MASK)
  39638. #define XTALOSC24M_OSC_CONFIG0_CLR_INVERT_MASK (0x8U)
  39639. #define XTALOSC24M_OSC_CONFIG0_CLR_INVERT_SHIFT (3U)
  39640. #define XTALOSC24M_OSC_CONFIG0_CLR_INVERT(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_CLR_INVERT_SHIFT)) & XTALOSC24M_OSC_CONFIG0_CLR_INVERT_MASK)
  39641. #define XTALOSC24M_OSC_CONFIG0_CLR_RC_OSC_PROG_MASK (0xFF0U)
  39642. #define XTALOSC24M_OSC_CONFIG0_CLR_RC_OSC_PROG_SHIFT (4U)
  39643. #define XTALOSC24M_OSC_CONFIG0_CLR_RC_OSC_PROG(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_CLR_RC_OSC_PROG_SHIFT)) & XTALOSC24M_OSC_CONFIG0_CLR_RC_OSC_PROG_MASK)
  39644. #define XTALOSC24M_OSC_CONFIG0_CLR_HYST_PLUS_MASK (0xF000U)
  39645. #define XTALOSC24M_OSC_CONFIG0_CLR_HYST_PLUS_SHIFT (12U)
  39646. #define XTALOSC24M_OSC_CONFIG0_CLR_HYST_PLUS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_CLR_HYST_PLUS_SHIFT)) & XTALOSC24M_OSC_CONFIG0_CLR_HYST_PLUS_MASK)
  39647. #define XTALOSC24M_OSC_CONFIG0_CLR_HYST_MINUS_MASK (0xF0000U)
  39648. #define XTALOSC24M_OSC_CONFIG0_CLR_HYST_MINUS_SHIFT (16U)
  39649. #define XTALOSC24M_OSC_CONFIG0_CLR_HYST_MINUS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_CLR_HYST_MINUS_SHIFT)) & XTALOSC24M_OSC_CONFIG0_CLR_HYST_MINUS_MASK)
  39650. #define XTALOSC24M_OSC_CONFIG0_CLR_RC_OSC_PROG_CUR_MASK (0xFF000000U)
  39651. #define XTALOSC24M_OSC_CONFIG0_CLR_RC_OSC_PROG_CUR_SHIFT (24U)
  39652. #define XTALOSC24M_OSC_CONFIG0_CLR_RC_OSC_PROG_CUR(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_CLR_RC_OSC_PROG_CUR_SHIFT)) & XTALOSC24M_OSC_CONFIG0_CLR_RC_OSC_PROG_CUR_MASK)
  39653. /*! @} */
  39654. /*! @name OSC_CONFIG0_TOG - XTAL OSC Configuration 0 Register */
  39655. /*! @{ */
  39656. #define XTALOSC24M_OSC_CONFIG0_TOG_START_MASK (0x1U)
  39657. #define XTALOSC24M_OSC_CONFIG0_TOG_START_SHIFT (0U)
  39658. #define XTALOSC24M_OSC_CONFIG0_TOG_START(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_TOG_START_SHIFT)) & XTALOSC24M_OSC_CONFIG0_TOG_START_MASK)
  39659. #define XTALOSC24M_OSC_CONFIG0_TOG_ENABLE_MASK (0x2U)
  39660. #define XTALOSC24M_OSC_CONFIG0_TOG_ENABLE_SHIFT (1U)
  39661. #define XTALOSC24M_OSC_CONFIG0_TOG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_TOG_ENABLE_SHIFT)) & XTALOSC24M_OSC_CONFIG0_TOG_ENABLE_MASK)
  39662. #define XTALOSC24M_OSC_CONFIG0_TOG_BYPASS_MASK (0x4U)
  39663. #define XTALOSC24M_OSC_CONFIG0_TOG_BYPASS_SHIFT (2U)
  39664. #define XTALOSC24M_OSC_CONFIG0_TOG_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_TOG_BYPASS_SHIFT)) & XTALOSC24M_OSC_CONFIG0_TOG_BYPASS_MASK)
  39665. #define XTALOSC24M_OSC_CONFIG0_TOG_INVERT_MASK (0x8U)
  39666. #define XTALOSC24M_OSC_CONFIG0_TOG_INVERT_SHIFT (3U)
  39667. #define XTALOSC24M_OSC_CONFIG0_TOG_INVERT(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_TOG_INVERT_SHIFT)) & XTALOSC24M_OSC_CONFIG0_TOG_INVERT_MASK)
  39668. #define XTALOSC24M_OSC_CONFIG0_TOG_RC_OSC_PROG_MASK (0xFF0U)
  39669. #define XTALOSC24M_OSC_CONFIG0_TOG_RC_OSC_PROG_SHIFT (4U)
  39670. #define XTALOSC24M_OSC_CONFIG0_TOG_RC_OSC_PROG(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_TOG_RC_OSC_PROG_SHIFT)) & XTALOSC24M_OSC_CONFIG0_TOG_RC_OSC_PROG_MASK)
  39671. #define XTALOSC24M_OSC_CONFIG0_TOG_HYST_PLUS_MASK (0xF000U)
  39672. #define XTALOSC24M_OSC_CONFIG0_TOG_HYST_PLUS_SHIFT (12U)
  39673. #define XTALOSC24M_OSC_CONFIG0_TOG_HYST_PLUS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_TOG_HYST_PLUS_SHIFT)) & XTALOSC24M_OSC_CONFIG0_TOG_HYST_PLUS_MASK)
  39674. #define XTALOSC24M_OSC_CONFIG0_TOG_HYST_MINUS_MASK (0xF0000U)
  39675. #define XTALOSC24M_OSC_CONFIG0_TOG_HYST_MINUS_SHIFT (16U)
  39676. #define XTALOSC24M_OSC_CONFIG0_TOG_HYST_MINUS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_TOG_HYST_MINUS_SHIFT)) & XTALOSC24M_OSC_CONFIG0_TOG_HYST_MINUS_MASK)
  39677. #define XTALOSC24M_OSC_CONFIG0_TOG_RC_OSC_PROG_CUR_MASK (0xFF000000U)
  39678. #define XTALOSC24M_OSC_CONFIG0_TOG_RC_OSC_PROG_CUR_SHIFT (24U)
  39679. #define XTALOSC24M_OSC_CONFIG0_TOG_RC_OSC_PROG_CUR(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_TOG_RC_OSC_PROG_CUR_SHIFT)) & XTALOSC24M_OSC_CONFIG0_TOG_RC_OSC_PROG_CUR_MASK)
  39680. /*! @} */
  39681. /*! @name OSC_CONFIG1 - XTAL OSC Configuration 1 Register */
  39682. /*! @{ */
  39683. #define XTALOSC24M_OSC_CONFIG1_COUNT_RC_TRG_MASK (0xFFFU)
  39684. #define XTALOSC24M_OSC_CONFIG1_COUNT_RC_TRG_SHIFT (0U)
  39685. #define XTALOSC24M_OSC_CONFIG1_COUNT_RC_TRG(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG1_COUNT_RC_TRG_SHIFT)) & XTALOSC24M_OSC_CONFIG1_COUNT_RC_TRG_MASK)
  39686. #define XTALOSC24M_OSC_CONFIG1_COUNT_RC_CUR_MASK (0xFFF00000U)
  39687. #define XTALOSC24M_OSC_CONFIG1_COUNT_RC_CUR_SHIFT (20U)
  39688. #define XTALOSC24M_OSC_CONFIG1_COUNT_RC_CUR(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG1_COUNT_RC_CUR_SHIFT)) & XTALOSC24M_OSC_CONFIG1_COUNT_RC_CUR_MASK)
  39689. /*! @} */
  39690. /*! @name OSC_CONFIG1_SET - XTAL OSC Configuration 1 Register */
  39691. /*! @{ */
  39692. #define XTALOSC24M_OSC_CONFIG1_SET_COUNT_RC_TRG_MASK (0xFFFU)
  39693. #define XTALOSC24M_OSC_CONFIG1_SET_COUNT_RC_TRG_SHIFT (0U)
  39694. #define XTALOSC24M_OSC_CONFIG1_SET_COUNT_RC_TRG(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG1_SET_COUNT_RC_TRG_SHIFT)) & XTALOSC24M_OSC_CONFIG1_SET_COUNT_RC_TRG_MASK)
  39695. #define XTALOSC24M_OSC_CONFIG1_SET_COUNT_RC_CUR_MASK (0xFFF00000U)
  39696. #define XTALOSC24M_OSC_CONFIG1_SET_COUNT_RC_CUR_SHIFT (20U)
  39697. #define XTALOSC24M_OSC_CONFIG1_SET_COUNT_RC_CUR(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG1_SET_COUNT_RC_CUR_SHIFT)) & XTALOSC24M_OSC_CONFIG1_SET_COUNT_RC_CUR_MASK)
  39698. /*! @} */
  39699. /*! @name OSC_CONFIG1_CLR - XTAL OSC Configuration 1 Register */
  39700. /*! @{ */
  39701. #define XTALOSC24M_OSC_CONFIG1_CLR_COUNT_RC_TRG_MASK (0xFFFU)
  39702. #define XTALOSC24M_OSC_CONFIG1_CLR_COUNT_RC_TRG_SHIFT (0U)
  39703. #define XTALOSC24M_OSC_CONFIG1_CLR_COUNT_RC_TRG(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG1_CLR_COUNT_RC_TRG_SHIFT)) & XTALOSC24M_OSC_CONFIG1_CLR_COUNT_RC_TRG_MASK)
  39704. #define XTALOSC24M_OSC_CONFIG1_CLR_COUNT_RC_CUR_MASK (0xFFF00000U)
  39705. #define XTALOSC24M_OSC_CONFIG1_CLR_COUNT_RC_CUR_SHIFT (20U)
  39706. #define XTALOSC24M_OSC_CONFIG1_CLR_COUNT_RC_CUR(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG1_CLR_COUNT_RC_CUR_SHIFT)) & XTALOSC24M_OSC_CONFIG1_CLR_COUNT_RC_CUR_MASK)
  39707. /*! @} */
  39708. /*! @name OSC_CONFIG1_TOG - XTAL OSC Configuration 1 Register */
  39709. /*! @{ */
  39710. #define XTALOSC24M_OSC_CONFIG1_TOG_COUNT_RC_TRG_MASK (0xFFFU)
  39711. #define XTALOSC24M_OSC_CONFIG1_TOG_COUNT_RC_TRG_SHIFT (0U)
  39712. #define XTALOSC24M_OSC_CONFIG1_TOG_COUNT_RC_TRG(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG1_TOG_COUNT_RC_TRG_SHIFT)) & XTALOSC24M_OSC_CONFIG1_TOG_COUNT_RC_TRG_MASK)
  39713. #define XTALOSC24M_OSC_CONFIG1_TOG_COUNT_RC_CUR_MASK (0xFFF00000U)
  39714. #define XTALOSC24M_OSC_CONFIG1_TOG_COUNT_RC_CUR_SHIFT (20U)
  39715. #define XTALOSC24M_OSC_CONFIG1_TOG_COUNT_RC_CUR(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG1_TOG_COUNT_RC_CUR_SHIFT)) & XTALOSC24M_OSC_CONFIG1_TOG_COUNT_RC_CUR_MASK)
  39716. /*! @} */
  39717. /*! @name OSC_CONFIG2 - XTAL OSC Configuration 2 Register */
  39718. /*! @{ */
  39719. #define XTALOSC24M_OSC_CONFIG2_COUNT_1M_TRG_MASK (0xFFFU)
  39720. #define XTALOSC24M_OSC_CONFIG2_COUNT_1M_TRG_SHIFT (0U)
  39721. #define XTALOSC24M_OSC_CONFIG2_COUNT_1M_TRG(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG2_COUNT_1M_TRG_SHIFT)) & XTALOSC24M_OSC_CONFIG2_COUNT_1M_TRG_MASK)
  39722. #define XTALOSC24M_OSC_CONFIG2_ENABLE_1M_MASK (0x10000U)
  39723. #define XTALOSC24M_OSC_CONFIG2_ENABLE_1M_SHIFT (16U)
  39724. #define XTALOSC24M_OSC_CONFIG2_ENABLE_1M(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG2_ENABLE_1M_SHIFT)) & XTALOSC24M_OSC_CONFIG2_ENABLE_1M_MASK)
  39725. #define XTALOSC24M_OSC_CONFIG2_MUX_1M_MASK (0x20000U)
  39726. #define XTALOSC24M_OSC_CONFIG2_MUX_1M_SHIFT (17U)
  39727. #define XTALOSC24M_OSC_CONFIG2_MUX_1M(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG2_MUX_1M_SHIFT)) & XTALOSC24M_OSC_CONFIG2_MUX_1M_MASK)
  39728. #define XTALOSC24M_OSC_CONFIG2_CLK_1M_ERR_FL_MASK (0x80000000U)
  39729. #define XTALOSC24M_OSC_CONFIG2_CLK_1M_ERR_FL_SHIFT (31U)
  39730. #define XTALOSC24M_OSC_CONFIG2_CLK_1M_ERR_FL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG2_CLK_1M_ERR_FL_SHIFT)) & XTALOSC24M_OSC_CONFIG2_CLK_1M_ERR_FL_MASK)
  39731. /*! @} */
  39732. /*! @name OSC_CONFIG2_SET - XTAL OSC Configuration 2 Register */
  39733. /*! @{ */
  39734. #define XTALOSC24M_OSC_CONFIG2_SET_COUNT_1M_TRG_MASK (0xFFFU)
  39735. #define XTALOSC24M_OSC_CONFIG2_SET_COUNT_1M_TRG_SHIFT (0U)
  39736. #define XTALOSC24M_OSC_CONFIG2_SET_COUNT_1M_TRG(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG2_SET_COUNT_1M_TRG_SHIFT)) & XTALOSC24M_OSC_CONFIG2_SET_COUNT_1M_TRG_MASK)
  39737. #define XTALOSC24M_OSC_CONFIG2_SET_ENABLE_1M_MASK (0x10000U)
  39738. #define XTALOSC24M_OSC_CONFIG2_SET_ENABLE_1M_SHIFT (16U)
  39739. #define XTALOSC24M_OSC_CONFIG2_SET_ENABLE_1M(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG2_SET_ENABLE_1M_SHIFT)) & XTALOSC24M_OSC_CONFIG2_SET_ENABLE_1M_MASK)
  39740. #define XTALOSC24M_OSC_CONFIG2_SET_MUX_1M_MASK (0x20000U)
  39741. #define XTALOSC24M_OSC_CONFIG2_SET_MUX_1M_SHIFT (17U)
  39742. #define XTALOSC24M_OSC_CONFIG2_SET_MUX_1M(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG2_SET_MUX_1M_SHIFT)) & XTALOSC24M_OSC_CONFIG2_SET_MUX_1M_MASK)
  39743. #define XTALOSC24M_OSC_CONFIG2_SET_CLK_1M_ERR_FL_MASK (0x80000000U)
  39744. #define XTALOSC24M_OSC_CONFIG2_SET_CLK_1M_ERR_FL_SHIFT (31U)
  39745. #define XTALOSC24M_OSC_CONFIG2_SET_CLK_1M_ERR_FL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG2_SET_CLK_1M_ERR_FL_SHIFT)) & XTALOSC24M_OSC_CONFIG2_SET_CLK_1M_ERR_FL_MASK)
  39746. /*! @} */
  39747. /*! @name OSC_CONFIG2_CLR - XTAL OSC Configuration 2 Register */
  39748. /*! @{ */
  39749. #define XTALOSC24M_OSC_CONFIG2_CLR_COUNT_1M_TRG_MASK (0xFFFU)
  39750. #define XTALOSC24M_OSC_CONFIG2_CLR_COUNT_1M_TRG_SHIFT (0U)
  39751. #define XTALOSC24M_OSC_CONFIG2_CLR_COUNT_1M_TRG(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG2_CLR_COUNT_1M_TRG_SHIFT)) & XTALOSC24M_OSC_CONFIG2_CLR_COUNT_1M_TRG_MASK)
  39752. #define XTALOSC24M_OSC_CONFIG2_CLR_ENABLE_1M_MASK (0x10000U)
  39753. #define XTALOSC24M_OSC_CONFIG2_CLR_ENABLE_1M_SHIFT (16U)
  39754. #define XTALOSC24M_OSC_CONFIG2_CLR_ENABLE_1M(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG2_CLR_ENABLE_1M_SHIFT)) & XTALOSC24M_OSC_CONFIG2_CLR_ENABLE_1M_MASK)
  39755. #define XTALOSC24M_OSC_CONFIG2_CLR_MUX_1M_MASK (0x20000U)
  39756. #define XTALOSC24M_OSC_CONFIG2_CLR_MUX_1M_SHIFT (17U)
  39757. #define XTALOSC24M_OSC_CONFIG2_CLR_MUX_1M(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG2_CLR_MUX_1M_SHIFT)) & XTALOSC24M_OSC_CONFIG2_CLR_MUX_1M_MASK)
  39758. #define XTALOSC24M_OSC_CONFIG2_CLR_CLK_1M_ERR_FL_MASK (0x80000000U)
  39759. #define XTALOSC24M_OSC_CONFIG2_CLR_CLK_1M_ERR_FL_SHIFT (31U)
  39760. #define XTALOSC24M_OSC_CONFIG2_CLR_CLK_1M_ERR_FL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG2_CLR_CLK_1M_ERR_FL_SHIFT)) & XTALOSC24M_OSC_CONFIG2_CLR_CLK_1M_ERR_FL_MASK)
  39761. /*! @} */
  39762. /*! @name OSC_CONFIG2_TOG - XTAL OSC Configuration 2 Register */
  39763. /*! @{ */
  39764. #define XTALOSC24M_OSC_CONFIG2_TOG_COUNT_1M_TRG_MASK (0xFFFU)
  39765. #define XTALOSC24M_OSC_CONFIG2_TOG_COUNT_1M_TRG_SHIFT (0U)
  39766. #define XTALOSC24M_OSC_CONFIG2_TOG_COUNT_1M_TRG(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG2_TOG_COUNT_1M_TRG_SHIFT)) & XTALOSC24M_OSC_CONFIG2_TOG_COUNT_1M_TRG_MASK)
  39767. #define XTALOSC24M_OSC_CONFIG2_TOG_ENABLE_1M_MASK (0x10000U)
  39768. #define XTALOSC24M_OSC_CONFIG2_TOG_ENABLE_1M_SHIFT (16U)
  39769. #define XTALOSC24M_OSC_CONFIG2_TOG_ENABLE_1M(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG2_TOG_ENABLE_1M_SHIFT)) & XTALOSC24M_OSC_CONFIG2_TOG_ENABLE_1M_MASK)
  39770. #define XTALOSC24M_OSC_CONFIG2_TOG_MUX_1M_MASK (0x20000U)
  39771. #define XTALOSC24M_OSC_CONFIG2_TOG_MUX_1M_SHIFT (17U)
  39772. #define XTALOSC24M_OSC_CONFIG2_TOG_MUX_1M(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG2_TOG_MUX_1M_SHIFT)) & XTALOSC24M_OSC_CONFIG2_TOG_MUX_1M_MASK)
  39773. #define XTALOSC24M_OSC_CONFIG2_TOG_CLK_1M_ERR_FL_MASK (0x80000000U)
  39774. #define XTALOSC24M_OSC_CONFIG2_TOG_CLK_1M_ERR_FL_SHIFT (31U)
  39775. #define XTALOSC24M_OSC_CONFIG2_TOG_CLK_1M_ERR_FL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG2_TOG_CLK_1M_ERR_FL_SHIFT)) & XTALOSC24M_OSC_CONFIG2_TOG_CLK_1M_ERR_FL_MASK)
  39776. /*! @} */
  39777. /*!
  39778. * @}
  39779. */ /* end of group XTALOSC24M_Register_Masks */
  39780. /* XTALOSC24M - Peripheral instance base addresses */
  39781. /** Peripheral XTALOSC24M base address */
  39782. #define XTALOSC24M_BASE (0x400D8000u)
  39783. /** Peripheral XTALOSC24M base pointer */
  39784. #define XTALOSC24M ((XTALOSC24M_Type *)XTALOSC24M_BASE)
  39785. /** Array initializer of XTALOSC24M peripheral base addresses */
  39786. #define XTALOSC24M_BASE_ADDRS { XTALOSC24M_BASE }
  39787. /** Array initializer of XTALOSC24M peripheral base pointers */
  39788. #define XTALOSC24M_BASE_PTRS { XTALOSC24M }
  39789. /*!
  39790. * @}
  39791. */ /* end of group XTALOSC24M_Peripheral_Access_Layer */
  39792. /*
  39793. ** End of section using anonymous unions
  39794. */
  39795. #if defined(__ARMCC_VERSION)
  39796. #if (__ARMCC_VERSION >= 6010050)
  39797. #pragma clang diagnostic pop
  39798. #else
  39799. #pragma pop
  39800. #endif
  39801. #elif defined(__CWCC__)
  39802. #pragma pop
  39803. #elif defined(__GNUC__)
  39804. /* leave anonymous unions enabled */
  39805. #elif defined(__IAR_SYSTEMS_ICC__)
  39806. #pragma language=default
  39807. #else
  39808. #error Not supported compiler type
  39809. #endif
  39810. /*!
  39811. * @}
  39812. */ /* end of group Peripheral_access_layer */
  39813. /* ----------------------------------------------------------------------------
  39814. -- Macros for use with bit field definitions (xxx_SHIFT, xxx_MASK).
  39815. ---------------------------------------------------------------------------- */
  39816. /*!
  39817. * @addtogroup Bit_Field_Generic_Macros Macros for use with bit field definitions (xxx_SHIFT, xxx_MASK).
  39818. * @{
  39819. */
  39820. #if defined(__ARMCC_VERSION)
  39821. #if (__ARMCC_VERSION >= 6010050)
  39822. #pragma clang system_header
  39823. #endif
  39824. #elif defined(__IAR_SYSTEMS_ICC__)
  39825. #pragma system_include
  39826. #endif
  39827. /**
  39828. * @brief Mask and left-shift a bit field value for use in a register bit range.
  39829. * @param field Name of the register bit field.
  39830. * @param value Value of the bit field.
  39831. * @return Masked and shifted value.
  39832. */
  39833. #define NXP_VAL2FLD(field, value) (((value) << (field ## _SHIFT)) & (field ## _MASK))
  39834. /**
  39835. * @brief Mask and right-shift a register value to extract a bit field value.
  39836. * @param field Name of the register bit field.
  39837. * @param value Value of the register.
  39838. * @return Masked and shifted bit field value.
  39839. */
  39840. #define NXP_FLD2VAL(field, value) (((value) & (field ## _MASK)) >> (field ## _SHIFT))
  39841. /*!
  39842. * @}
  39843. */ /* end of group Bit_Field_Generic_Macros */
  39844. /* ----------------------------------------------------------------------------
  39845. -- SDK Compatibility
  39846. ---------------------------------------------------------------------------- */
  39847. /*!
  39848. * @addtogroup SDK_Compatibility_Symbols SDK Compatibility
  39849. * @{
  39850. */
  39851. /* No SDK compatibility issues. */
  39852. /*!
  39853. * @}
  39854. */ /* end of group SDK_Compatibility_Symbols */
  39855. #endif /* _MIMXRT1021_H_ */