MIMXRT1062.h 2.6 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014430154301643017430184301943020430214302243023430244302543026430274302843029430304303143032430334303443035430364303743038430394304043041430424304343044430454304643047430484304943050430514305243053430544305543056430574305843059430604306143062430634306443065430664306743068430694307043071430724307343074430754307643077430784307943080430814308243083430844308543086430874308843089430904309143092430934309443095430964309743098430994310043101431024310343104431054310643107431084310943110431114311243113431144311543116431174311843119431204312143122431234312443125431264312743128431294313043131431324313343134431354313643137431384313943140431414314243143431444314543146431474314843149431504315143152431534315443155431564315743158431594316043161431624316343164431654316643167431684316943170431714317243173431744317543176431774317843179431804318143182431834318443185431864318743188431894319043191431924319343194431954319643197431984319943200432014320243203432044320543206432074320843209432104321143212432134321443215432164321743218432194322043221432224322343224432254322643227432284322943230432314323243233432344323543236432374323843239432404324143242432434324443245432464324743248432494325043251432524325343254432554325643257432584325943260432614326243263432644326543266432674326843269432704327143272432734327443275432764327743278432794328043281432824328343284432854328643287432884328943290432914329243293432944329543296432974329843299433004330143302433034330443305433064330743308433094331043311433124331343314433154331643317433184331943320433214332243323433244332543326433274332843329433304333143332433334333443335433364333743338433394334043341433424334343344433454334643347433484334943350433514335243353433544335543356433574335843359433604336143362433634336443365433664336743368433694337043371433724337343374433754337643377433784337943380433814338243383433844338543386433874338843389433904339143392433934339443395433964339743398433994340043401434024340343404434054340643407434084340943410434114341243413434144341543416434174341843419434204342143422434234342443425434264342743428434294343043431434324343343434434354343643437434384343943440434414344243443434444344543446434474344843449434504345143452434534345443455434564345743458434594346043461434624346343464434654346643467434684346943470434714347243473434744347543476434774347843479434804348143482434834348443485434864348743488434894349043491434924349343494434954349643497434984349943500435014350243503435044350543506435074350843509435104351143512435134351443515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374353843539435404354143542435434354443545435464354743548435494355043551435524355343554435554355643557435584355943560435614356243563435644356543566435674356843569435704357143572435734357443575435764357743578435794358043581435824358343584435854358643587435884358943590435914359243593435944359543596435974359843599436004360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436214362243623436244362543626436274362843629436304363143632436334363443635436364363743638436394364043641436424364343644436454364643647436484364943650436514365243653436544365543656436574365843659436604366143662436634366443665436664366743668436694367043671436724367343674436754367643677436784367943680436814368243683436844368543686436874368843689436904369143692436934369443695436964369743698436994370043701437024370343704437054370643707437084370943710437114371243713437144371543716437174371843719437204372143722437234372443725437264372743728437294373043731437324373343734437354373643737437384373943740437414374243743437444374543746437474374843749437504375143752437534375443755437564375743758437594376043761437624376343764437654376643767437684376943770437714377243773437744377543776437774377843779437804378143782437834378443785437864378743788437894379043791437924379343794437954379643797437984379943800438014380243803438044380543806438074380843809438104381143812438134381443815438164381743818438194382043821438224382343824438254382643827438284382943830438314383243833438344383543836438374383843839438404384143842438434384443845438464384743848438494385043851438524385343854438554385643857438584385943860438614386243863438644386543866438674386843869438704387143872438734387443875438764387743878438794388043881438824388343884438854388643887438884388943890438914389243893438944389543896438974389843899439004390143902439034390443905439064390743908439094391043911439124391343914439154391643917439184391943920439214392243923439244392543926439274392843929439304393143932439334393443935439364393743938439394394043941439424394343944439454394643947439484394943950439514395243953439544395543956439574395843959439604396143962439634396443965439664396743968439694397043971439724397343974439754397643977439784397943980439814398243983439844398543986439874398843989439904399143992439934399443995439964399743998439994400044001440024400344004440054400644007440084400944010440114401244013440144401544016440174401844019440204402144022440234402444025440264402744028440294403044031440324403344034440354403644037440384403944040440414404244043440444404544046440474404844049440504405144052440534405444055440564405744058440594406044061440624406344064440654406644067440684406944070440714407244073440744407544076440774407844079440804408144082440834408444085440864408744088440894409044091440924409344094440954409644097440984409944100441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744148441494415044151441524415344154441554415644157441584415944160441614416244163441644416544166441674416844169441704417144172441734417444175441764417744178441794418044181441824418344184441854418644187441884418944190441914419244193441944419544196441974419844199442004420144202442034420444205442064420744208442094421044211442124421344214442154421644217442184421944220442214422244223442244422544226442274422844229442304423144232442334423444235442364423744238442394424044241442424424344244442454424644247442484424944250442514425244253442544425544256442574425844259442604426144262442634426444265442664426744268442694427044271442724427344274442754427644277442784427944280442814428244283442844428544286442874428844289442904429144292442934429444295442964429744298442994430044301443024430344304443054430644307443084430944310443114431244313443144431544316443174431844319443204432144322443234432444325443264432744328443294433044331443324433344334443354433644337443384433944340443414434244343443444434544346443474434844349443504435144352443534435444355443564435744358443594436044361443624436344364443654436644367443684436944370443714437244373443744437544376443774437844379443804438144382443834438444385443864438744388443894439044391443924439344394443954439644397443984439944400444014440244403444044440544406444074440844409444104441144412444134441444415444164441744418444194442044421444224442344424444254442644427444284442944430444314443244433444344443544436444374443844439444404444144442444434444444445444464444744448444494445044451444524445344454444554445644457444584445944460444614446244463444644446544466444674446844469444704447144472444734447444475444764447744478444794448044481444824448344484444854448644487444884448944490444914449244493444944449544496444974449844499445004450144502445034450444505445064450744508445094451044511445124451344514445154451644517445184451944520445214452244523445244452544526445274452844529445304453144532445334453444535445364453744538445394454044541445424454344544445454454644547445484454944550445514455244553445544455544556445574455844559445604456144562445634456444565445664456744568445694457044571445724457344574445754457644577445784457944580445814458244583445844458544586445874458844589445904459144592445934459444595445964459744598445994460044601446024460344604446054460644607446084460944610446114461244613446144461544616446174461844619446204462144622446234462444625446264462744628446294463044631446324463344634446354463644637446384463944640446414464244643446444464544646446474464844649446504465144652446534465444655446564465744658446594466044661446624466344664446654466644667446684466944670446714467244673446744467544676446774467844679446804468144682446834468444685446864468744688446894469044691446924469344694446954469644697446984469944700447014470244703447044470544706447074470844709447104471144712447134471444715447164471744718447194472044721447224472344724447254472644727447284472944730447314473244733447344473544736447374473844739447404474144742447434474444745447464474744748447494475044751447524475344754447554475644757447584475944760447614476244763447644476544766447674476844769447704477144772447734477444775447764477744778447794478044781447824478344784447854478644787447884478944790447914479244793447944479544796447974479844799448004480144802448034480444805448064480744808448094481044811448124481344814448154481644817448184481944820448214482244823448244482544826448274482844829448304483144832448334483444835448364483744838448394484044841448424484344844448454484644847448484484944850448514485244853448544485544856448574485844859448604486144862448634486444865448664486744868448694487044871448724487344874448754487644877448784487944880448814488244883448844488544886448874488844889448904489144892448934489444895448964489744898448994490044901449024490344904449054490644907449084490944910449114491244913449144491544916449174491844919449204492144922449234492444925449264492744928449294493044931449324493344934449354493644937449384493944940449414494244943449444494544946449474494844949449504495144952449534495444955449564495744958449594496044961449624496344964449654496644967449684496944970449714497244973449744497544976449774497844979449804498144982449834498444985449864498744988449894499044991449924499344994449954499644997449984499945000450014500245003450044500545006450074500845009450104501145012450134501445015450164501745018450194502045021450224502345024450254502645027450284502945030450314503245033450344503545036450374503845039450404504145042450434504445045450464504745048450494505045051450524505345054450554505645057450584505945060450614506245063450644506545066450674506845069450704507145072450734507445075450764507745078450794508045081450824508345084450854508645087450884508945090450914509245093450944509545096450974509845099451004510145102451034510445105451064510745108451094511045111451124511345114451154511645117451184511945120451214512245123451244512545126451274512845129451304513145132451334513445135451364513745138451394514045141451424514345144451454514645147451484514945150451514515245153451544515545156451574515845159451604516145162451634516445165451664516745168451694517045171451724517345174451754517645177451784517945180451814518245183451844518545186451874518845189451904519145192451934519445195451964519745198451994520045201452024520345204452054520645207452084520945210452114521245213452144521545216452174521845219452204522145222452234522445225452264522745228452294523045231452324523345234452354523645237452384523945240452414524245243452444524545246452474524845249452504525145252452534525445255452564525745258452594526045261452624526345264452654526645267452684526945270452714527245273452744527545276452774527845279452804528145282452834528445285452864528745288452894529045291452924529345294452954529645297452984529945300453014530245303453044530545306453074530845309453104531145312453134531445315453164531745318453194532045321453224532345324453254532645327453284532945330453314533245333453344533545336453374533845339453404534145342453434534445345453464534745348453494535045351453524535345354453554535645357453584535945360453614536245363453644536545366453674536845369453704537145372453734537445375453764537745378453794538045381453824538345384453854538645387453884538945390453914539245393453944539545396453974539845399454004540145402454034540445405454064540745408454094541045411454124541345414454154541645417454184541945420454214542245423454244542545426454274542845429454304543145432454334543445435454364543745438454394544045441454424544345444454454544645447454484544945450454514545245453454544545545456454574545845459454604546145462454634546445465454664546745468454694547045471454724547345474454754547645477454784547945480454814548245483454844548545486454874548845489454904549145492454934549445495454964549745498454994550045501455024550345504455054550645507455084550945510455114551245513455144551545516455174551845519455204552145522455234552445525455264552745528455294553045531455324553345534455354553645537455384553945540455414554245543455444554545546455474554845549455504555145552455534555445555455564555745558455594556045561455624556345564455654556645567455684556945570455714557245573455744557545576455774557845579455804558145582455834558445585455864558745588455894559045591455924559345594455954559645597455984559945600456014560245603456044560545606456074560845609456104561145612456134561445615456164561745618456194562045621456224562345624456254562645627456284562945630456314563245633456344563545636456374563845639456404564145642456434564445645456464564745648456494565045651456524565345654456554565645657456584565945660456614566245663456644566545666456674566845669456704567145672456734567445675456764567745678456794568045681456824568345684456854568645687456884568945690456914569245693456944569545696456974569845699457004570145702457034570445705457064570745708457094571045711457124571345714457154571645717457184571945720457214572245723457244572545726457274572845729457304573145732457334573445735457364573745738457394574045741457424574345744457454574645747457484574945750457514575245753457544575545756457574575845759457604576145762457634576445765457664576745768457694577045771457724577345774457754577645777457784577945780457814578245783457844578545786457874578845789457904579145792457934579445795457964579745798457994580045801458024580345804458054580645807458084580945810458114581245813458144581545816458174581845819458204582145822458234582445825458264582745828458294583045831458324583345834458354583645837458384583945840458414584245843458444584545846458474584845849458504585145852458534585445855458564585745858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587845879458804588145882458834588445885458864588745888458894589045891458924589345894458954589645897458984589945900459014590245903459044590545906459074590845909459104591145912459134591445915459164591745918459194592045921459224592345924459254592645927459284592945930459314593245933459344593545936459374593845939459404594145942459434594445945459464594745948459494595045951459524595345954459554595645957459584595945960459614596245963459644596545966459674596845969459704597145972459734597445975459764597745978459794598045981459824598345984459854598645987459884598945990459914599245993459944599545996459974599845999460004600146002460034600446005460064600746008460094601046011460124601346014460154601646017460184601946020460214602246023460244602546026460274602846029460304603146032460334603446035460364603746038460394604046041460424604346044460454604646047460484604946050460514605246053460544605546056460574605846059460604606146062460634606446065460664606746068460694607046071460724607346074460754607646077460784607946080460814608246083460844608546086460874608846089460904609146092460934609446095460964609746098460994610046101461024610346104461054610646107461084610946110461114611246113461144611546116461174611846119461204612146122461234612446125461264612746128461294613046131461324613346134461354613646137461384613946140461414614246143461444614546146461474614846149461504615146152461534615446155461564615746158461594616046161461624616346164461654616646167461684616946170461714617246173461744617546176461774617846179461804618146182461834618446185461864618746188461894619046191461924619346194461954619646197461984619946200462014620246203462044620546206462074620846209462104621146212462134621446215462164621746218462194622046221462224622346224462254622646227462284622946230462314623246233462344623546236462374623846239462404624146242462434624446245462464624746248462494625046251462524625346254462554625646257462584625946260462614626246263462644626546266462674626846269462704627146272462734627446275462764627746278462794628046281462824628346284462854628646287462884628946290462914629246293462944629546296462974629846299463004630146302463034630446305463064630746308463094631046311463124631346314463154631646317463184631946320463214632246323463244632546326463274632846329463304633146332463334633446335463364633746338463394634046341463424634346344463454634646347463484634946350463514635246353463544635546356463574635846359463604636146362463634636446365463664636746368463694637046371463724637346374463754637646377463784637946380463814638246383463844638546386463874638846389463904639146392463934639446395463964639746398463994640046401464024640346404464054640646407464084640946410464114641246413464144641546416464174641846419464204642146422464234642446425464264642746428464294643046431464324643346434464354643646437464384643946440464414644246443464444644546446464474644846449464504645146452464534645446455464564645746458464594646046461464624646346464464654646646467464684646946470464714647246473464744647546476464774647846479464804648146482464834648446485464864648746488464894649046491464924649346494464954649646497464984649946500465014650246503465044650546506465074650846509465104651146512465134651446515465164651746518465194652046521465224652346524465254652646527465284652946530465314653246533465344653546536465374653846539465404654146542465434654446545465464654746548465494655046551465524655346554465554655646557465584655946560465614656246563465644656546566465674656846569465704657146572465734657446575465764657746578465794658046581465824658346584465854658646587465884658946590465914659246593465944659546596465974659846599466004660146602466034660446605466064660746608466094661046611466124661346614466154661646617466184661946620466214662246623466244662546626466274662846629466304663146632466334663446635466364663746638466394664046641466424664346644466454664646647466484664946650466514665246653466544665546656466574665846659466604666146662466634666446665466664666746668466694667046671466724667346674466754667646677466784667946680466814668246683466844668546686466874668846689466904669146692466934669446695466964669746698466994670046701467024670346704467054670646707467084670946710467114671246713467144671546716467174671846719467204672146722467234672446725467264672746728467294673046731467324673346734467354673646737467384673946740467414674246743467444674546746467474674846749467504675146752467534675446755467564675746758467594676046761467624676346764467654676646767467684676946770467714677246773467744677546776467774677846779467804678146782467834678446785467864678746788467894679046791467924679346794467954679646797467984679946800468014680246803468044680546806468074680846809468104681146812468134681446815468164681746818468194682046821468224682346824468254682646827468284682946830468314683246833468344683546836468374683846839468404684146842468434684446845468464684746848468494685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468704687146872468734687446875468764687746878468794688046881468824688346884468854688646887468884688946890468914689246893468944689546896468974689846899469004690146902469034690446905469064690746908469094691046911469124691346914469154691646917469184691946920469214692246923469244692546926469274692846929469304693146932469334693446935469364693746938469394694046941469424694346944469454694646947469484694946950469514695246953469544695546956469574695846959469604696146962469634696446965469664696746968469694697046971469724697346974469754697646977469784697946980469814698246983469844698546986469874698846989469904699146992469934699446995469964699746998469994700047001470024700347004470054700647007470084700947010470114701247013470144701547016470174701847019470204702147022470234702447025470264702747028470294703047031470324703347034470354703647037470384703947040470414704247043470444704547046470474704847049470504705147052470534705447055470564705747058470594706047061470624706347064470654706647067470684706947070470714707247073470744707547076470774707847079470804708147082470834708447085470864708747088470894709047091470924709347094470954709647097470984709947100471014710247103471044710547106471074710847109471104711147112471134711447115471164711747118471194712047121471224712347124471254712647127471284712947130471314713247133471344713547136471374713847139471404714147142471434714447145471464714747148471494715047151471524715347154471554715647157471584715947160471614716247163471644716547166471674716847169471704717147172471734717447175471764717747178471794718047181471824718347184471854718647187471884718947190471914719247193471944719547196471974719847199472004720147202472034720447205472064720747208472094721047211472124721347214472154721647217472184721947220472214722247223472244722547226472274722847229472304723147232472334723447235472364723747238472394724047241472424724347244472454724647247472484724947250472514725247253472544725547256472574725847259472604726147262472634726447265472664726747268472694727047271472724727347274472754727647277472784727947280472814728247283472844728547286472874728847289472904729147292472934729447295472964729747298472994730047301473024730347304473054730647307473084730947310473114731247313473144731547316473174731847319473204732147322473234732447325473264732747328473294733047331473324733347334473354733647337473384733947340473414734247343473444734547346473474734847349473504735147352473534735447355473564735747358473594736047361473624736347364473654736647367473684736947370473714737247373473744737547376473774737847379473804738147382473834738447385473864738747388473894739047391473924739347394473954739647397473984739947400474014740247403474044740547406474074740847409474104741147412474134741447415474164741747418474194742047421474224742347424474254742647427474284742947430474314743247433474344743547436474374743847439474404744147442474434744447445474464744747448474494745047451474524745347454474554745647457474584745947460474614746247463474644746547466474674746847469474704747147472474734747447475474764747747478474794748047481474824748347484474854748647487474884748947490474914749247493474944749547496474974749847499475004750147502475034750447505475064750747508475094751047511475124751347514475154751647517475184751947520475214752247523475244752547526475274752847529475304753147532475334753447535475364753747538475394754047541475424754347544475454754647547475484754947550475514755247553475544755547556475574755847559475604756147562475634756447565475664756747568475694757047571475724757347574475754757647577475784757947580475814758247583475844758547586475874758847589475904759147592475934759447595475964759747598475994760047601476024760347604476054760647607476084760947610476114761247613476144761547616476174761847619476204762147622476234762447625476264762747628476294763047631476324763347634476354763647637476384763947640476414764247643476444764547646476474764847649476504765147652476534765447655476564765747658476594766047661476624766347664476654766647667476684766947670476714767247673476744767547676476774767847679476804768147682476834768447685476864768747688476894769047691476924769347694476954769647697476984769947700477014770247703477044770547706477074770847709477104771147712477134771447715477164771747718477194772047721477224772347724477254772647727477284772947730477314773247733477344773547736477374773847739477404774147742477434774447745477464774747748477494775047751477524775347754477554775647757477584775947760477614776247763477644776547766477674776847769477704777147772477734777447775477764777747778477794778047781477824778347784477854778647787477884778947790477914779247793477944779547796477974779847799478004780147802478034780447805478064780747808478094781047811478124781347814478154781647817478184781947820478214782247823478244782547826478274782847829478304783147832478334783447835478364783747838478394784047841478424784347844478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786747868478694787047871478724787347874478754787647877478784787947880478814788247883478844788547886478874788847889478904789147892478934789447895478964789747898478994790047901479024790347904479054790647907479084790947910479114791247913479144791547916479174791847919479204792147922479234792447925479264792747928479294793047931479324793347934479354793647937479384793947940479414794247943479444794547946479474794847949479504795147952479534795447955479564795747958479594796047961479624796347964479654796647967479684796947970479714797247973479744797547976479774797847979479804798147982479834798447985479864798747988479894799047991479924799347994479954799647997479984799948000480014800248003480044800548006480074800848009480104801148012480134801448015480164801748018480194802048021480224802348024480254802648027480284802948030480314803248033480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480524805348054480554805648057480584805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807748078480794808048081480824808348084480854808648087480884808948090480914809248093480944809548096480974809848099481004810148102481034810448105481064810748108481094811048111481124811348114481154811648117481184811948120481214812248123481244812548126481274812848129481304813148132481334813448135481364813748138481394814048141481424814348144481454814648147481484814948150481514815248153481544815548156481574815848159481604816148162481634816448165481664816748168481694817048171481724817348174481754817648177481784817948180481814818248183481844818548186481874818848189481904819148192481934819448195481964819748198481994820048201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482414824248243482444824548246482474824848249482504825148252482534825448255482564825748258482594826048261482624826348264482654826648267482684826948270482714827248273482744827548276482774827848279482804828148282482834828448285482864828748288482894829048291482924829348294482954829648297482984829948300483014830248303483044830548306483074830848309483104831148312483134831448315483164831748318483194832048321483224832348324483254832648327483284832948330483314833248333483344833548336483374833848339483404834148342483434834448345483464834748348483494835048351483524835348354483554835648357483584835948360483614836248363483644836548366483674836848369483704837148372483734837448375483764837748378483794838048381483824838348384483854838648387483884838948390483914839248393483944839548396483974839848399484004840148402484034840448405484064840748408484094841048411484124841348414484154841648417484184841948420484214842248423484244842548426484274842848429484304843148432484334843448435484364843748438484394844048441484424844348444484454844648447484484844948450484514845248453484544845548456484574845848459484604846148462484634846448465484664846748468484694847048471484724847348474484754847648477484784847948480484814848248483484844848548486484874848848489484904849148492484934849448495484964849748498484994850048501485024850348504485054850648507485084850948510485114851248513485144851548516485174851848519485204852148522485234852448525485264852748528485294853048531485324853348534485354853648537485384853948540485414854248543485444854548546485474854848549485504855148552485534855448555485564855748558485594856048561485624856348564485654856648567485684856948570485714857248573
  1. /*
  2. ** ###################################################################
  3. ** Processors: MIMXRT1062CVJ5A
  4. ** MIMXRT1062CVL5A
  5. ** MIMXRT1062DVJ6A
  6. ** MIMXRT1062DVL6A
  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: IMXRT1060RM Rev.1, 12/2018 | IMXRT1060SRM Rev.3
  15. ** Version: rev. 1.2, 2019-04-29
  16. ** Build: b191115
  17. **
  18. ** Abstract:
  19. ** CMSIS Peripheral Access Layer for MIMXRT1062
  20. **
  21. ** Copyright 1997-2016 Freescale Semiconductor, Inc.
  22. ** Copyright 2016-2019 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-01-10)
  32. ** Initial version.
  33. ** - rev. 1.0 (2018-11-16)
  34. ** Update header files to align with IMXRT1060RM Rev.0.
  35. ** - rev. 1.1 (2018-11-27)
  36. ** Update header files to align with IMXRT1060RM Rev.1.
  37. ** - rev. 1.2 (2019-04-29)
  38. ** Add SET/CLR/TOG register group to register CTRL, STAT, CHANNELCTRL, CH0STAT, CH0OPTS, CH1STAT, CH1OPTS, CH2STAT, CH2OPTS, CH3STAT, CH3OPTS of DCP module.
  39. **
  40. ** ###################################################################
  41. */
  42. /*!
  43. * @file MIMXRT1062.h
  44. * @version 1.2
  45. * @date 2019-04-29
  46. * @brief CMSIS Peripheral Access Layer for MIMXRT1062
  47. *
  48. * CMSIS Peripheral Access Layer for MIMXRT1062
  49. */
  50. #ifndef _MIMXRT1062_H_
  51. #define _MIMXRT1062_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 174 /**< 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, /**< CTI0_Error */
  98. CTI1_ERROR_IRQn = 18, /**< CTI1_Error */
  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. TSC_DIG_IRQn = 40, /**< TSC interrupt */
  121. GPR_IRQ_IRQn = 41, /**< GPR interrupt */
  122. LCDIF_IRQn = 42, /**< LCDIF interrupt */
  123. CSI_IRQn = 43, /**< CSI interrupt */
  124. PXP_IRQn = 44, /**< PXP interrupt */
  125. WDOG2_IRQn = 45, /**< WDOG2 interrupt */
  126. SNVS_HP_WRAPPER_IRQn = 46, /**< SRTC Consolidated Interrupt. Non TZ */
  127. SNVS_HP_WRAPPER_TZ_IRQn = 47, /**< SRTC Security Interrupt. TZ */
  128. SNVS_LP_WRAPPER_IRQn = 48, /**< ON-OFF button press shorter than 5 secs (pulse event) */
  129. CSU_IRQn = 49, /**< CSU interrupt */
  130. DCP_IRQn = 50, /**< DCP_IRQ interrupt */
  131. DCP_VMI_IRQn = 51, /**< DCP_VMI_IRQ interrupt */
  132. Reserved68_IRQn = 52, /**< Reserved interrupt */
  133. TRNG_IRQn = 53, /**< TRNG interrupt */
  134. SJC_IRQn = 54, /**< SJC 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_EVENT_IRQn = 61, /**< Brown-out event interrupt */
  142. Reserved78_IRQn = 62, /**< Reserved interrupt */
  143. TEMP_LOW_HIGH_IRQn = 63, /**< TempSensor low/high interrupt */
  144. TEMP_PANIC_IRQn = 64, /**< TempSensor panic interrupt */
  145. USB_PHY1_IRQn = 65, /**< USBPHY (UTMI0), Interrupt */
  146. USB_PHY2_IRQn = 66, /**< USBPHY (UTMI1), 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. GPIO4_Combined_0_15_IRQn = 86, /**< Combined interrupt indication for GPIO4 signal 0 throughout 15 */
  167. GPIO4_Combined_16_31_IRQn = 87, /**< Combined interrupt indication for GPIO4 signal 16 throughout 31 */
  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. FLEXIO2_IRQn = 91, /**< FLEXIO2 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. FLEXSPI2_IRQn = 107, /**< FlexSPI2 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. USB_OTG2_IRQn = 112, /**< USBO2 USB OTG2 */
  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. ENC3_IRQn = 131, /**< ENC3 interrupt */
  212. ENC4_IRQn = 132, /**< ENC4 interrupt */
  213. TMR1_IRQn = 133, /**< TMR1 interrupt */
  214. TMR2_IRQn = 134, /**< TMR2 interrupt */
  215. TMR3_IRQn = 135, /**< TMR3 interrupt */
  216. TMR4_IRQn = 136, /**< TMR4 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. PWM3_0_IRQn = 142, /**< PWM3 capture 0, compare 0, or reload 0 interrupt */
  223. PWM3_1_IRQn = 143, /**< PWM3 capture 1, compare 1, or reload 0 interrupt */
  224. PWM3_2_IRQn = 144, /**< PWM3 capture 2, compare 2, or reload 0 interrupt */
  225. PWM3_3_IRQn = 145, /**< PWM3 capture 3, compare 3, or reload 0 interrupt */
  226. PWM3_FAULT_IRQn = 146, /**< PWM3 fault or reload error interrupt */
  227. PWM4_0_IRQn = 147, /**< PWM4 capture 0, compare 0, or reload 0 interrupt */
  228. PWM4_1_IRQn = 148, /**< PWM4 capture 1, compare 1, or reload 0 interrupt */
  229. PWM4_2_IRQn = 149, /**< PWM4 capture 2, compare 2, or reload 0 interrupt */
  230. PWM4_3_IRQn = 150, /**< PWM4 capture 3, compare 3, or reload 0 interrupt */
  231. PWM4_FAULT_IRQn = 151, /**< PWM4 fault or reload error interrupt */
  232. ENET2_IRQn = 152, /**< ENET2 interrupt */
  233. ENET2_1588_Timer_IRQn = 153, /**< ENET2_1588_Timer interrupt */
  234. CAN3_IRQn = 154, /**< CAN3 interrupt */
  235. Reserved171_IRQn = 155, /**< Reserved interrupt */
  236. FLEXIO3_IRQn = 156, /**< FLEXIO3 interrupt */
  237. GPIO6_7_8_9_IRQn = 157 /**< GPIO6, GPIO7, GPIO8, GPIO9 interrupt */
  238. } IRQn_Type;
  239. /*!
  240. * @}
  241. */ /* end of group Interrupt_vector_numbers */
  242. /* ----------------------------------------------------------------------------
  243. -- Cortex M7 Core Configuration
  244. ---------------------------------------------------------------------------- */
  245. /*!
  246. * @addtogroup Cortex_Core_Configuration Cortex M7 Core Configuration
  247. * @{
  248. */
  249. #define __MPU_PRESENT 1 /**< Defines if an MPU is present or not */
  250. #define __ICACHE_PRESENT 1 /**< Defines if an ICACHE is present or not */
  251. #define __DCACHE_PRESENT 1 /**< Defines if an DCACHE is present or not */
  252. #define __DTCM_PRESENT 1 /**< Defines if an DTCM is present or not */
  253. #define __NVIC_PRIO_BITS 4 /**< Number of priority bits implemented in the NVIC */
  254. #define __Vendor_SysTickConfig 0 /**< Vendor specific implementation of SysTickConfig is defined */
  255. #define __FPU_PRESENT 1 /**< Defines if an FPU is present or not */
  256. #include "core_cm7.h" /* Core Peripheral Access Layer */
  257. #include "system_MIMXRT1062.h" /* Device specific configuration file */
  258. /*!
  259. * @}
  260. */ /* end of group Cortex_Core_Configuration */
  261. /* ----------------------------------------------------------------------------
  262. -- Mapping Information
  263. ---------------------------------------------------------------------------- */
  264. /*!
  265. * @addtogroup Mapping_Information Mapping Information
  266. * @{
  267. */
  268. /** Mapping Information */
  269. /*!
  270. * @addtogroup edma_request
  271. * @{
  272. */
  273. /*******************************************************************************
  274. * Definitions
  275. ******************************************************************************/
  276. /*!
  277. * @brief Structure for the DMA hardware request
  278. *
  279. * Defines the structure for the DMA hardware request collections. The user can configure the
  280. * hardware request into DMAMUX to trigger the DMA transfer accordingly. The index
  281. * of the hardware request varies according to the to SoC.
  282. */
  283. typedef enum _dma_request_source
  284. {
  285. kDmaRequestMuxFlexIO1Request0Request1 = 0|0x100U, /**< FlexIO1 Request0 and Request1 */
  286. kDmaRequestMuxFlexIO2Request0Request1 = 1|0x100U, /**< FlexIO2 Request0 and Request1 */
  287. kDmaRequestMuxLPUART1Tx = 2|0x100U, /**< LPUART1 Transmit */
  288. kDmaRequestMuxLPUART1Rx = 3|0x100U, /**< LPUART1 Receive */
  289. kDmaRequestMuxLPUART3Tx = 4|0x100U, /**< LPUART3 Transmit */
  290. kDmaRequestMuxLPUART3Rx = 5|0x100U, /**< LPUART3 Receive */
  291. kDmaRequestMuxLPUART5Tx = 6|0x100U, /**< LPUART5 Transmit */
  292. kDmaRequestMuxLPUART5Rx = 7|0x100U, /**< LPUART5 Receive */
  293. kDmaRequestMuxLPUART7Tx = 8|0x100U, /**< LPUART7 Transmit */
  294. kDmaRequestMuxLPUART7Rx = 9|0x100U, /**< LPUART7 Receive */
  295. kDmaRequestMuxCAN3 = 11|0x100U, /**< CAN3 */
  296. kDmaRequestMuxCSI = 12|0x100U, /**< CSI */
  297. kDmaRequestMuxLPSPI1Rx = 13|0x100U, /**< LPSPI1 Receive */
  298. kDmaRequestMuxLPSPI1Tx = 14|0x100U, /**< LPSPI1 Transmit */
  299. kDmaRequestMuxLPSPI3Rx = 15|0x100U, /**< LPSPI3 Receive */
  300. kDmaRequestMuxLPSPI3Tx = 16|0x100U, /**< LPSPI3 Transmit */
  301. kDmaRequestMuxLPI2C1 = 17|0x100U, /**< LPI2C1 */
  302. kDmaRequestMuxLPI2C3 = 18|0x100U, /**< LPI2C3 */
  303. kDmaRequestMuxSai1Rx = 19|0x100U, /**< SAI1 Receive */
  304. kDmaRequestMuxSai1Tx = 20|0x100U, /**< SAI1 Transmit */
  305. kDmaRequestMuxSai2Rx = 21|0x100U, /**< SAI2 Receive */
  306. kDmaRequestMuxSai2Tx = 22|0x100U, /**< SAI2 Transmit */
  307. kDmaRequestMuxADC_ETC = 23|0x100U, /**< ADC_ETC */
  308. kDmaRequestMuxADC1 = 24|0x100U, /**< ADC1 */
  309. kDmaRequestMuxACMP1 = 25|0x100U, /**< ACMP1 */
  310. kDmaRequestMuxACMP3 = 26|0x100U, /**< ACMP3 */
  311. kDmaRequestMuxFlexSPIRx = 28|0x100U, /**< FlexSPI Receive */
  312. kDmaRequestMuxFlexSPITx = 29|0x100U, /**< FlexSPI Transmit */
  313. kDmaRequestMuxXBAR1Request0 = 30|0x100U, /**< XBAR1 Request 0 */
  314. kDmaRequestMuxXBAR1Request1 = 31|0x100U, /**< XBAR1 Request 1 */
  315. kDmaRequestMuxFlexPWM1CaptureSub0 = 32|0x100U, /**< FlexPWM1 Capture sub-module0 */
  316. kDmaRequestMuxFlexPWM1CaptureSub1 = 33|0x100U, /**< FlexPWM1 Capture sub-module1 */
  317. kDmaRequestMuxFlexPWM1CaptureSub2 = 34|0x100U, /**< FlexPWM1 Capture sub-module2 */
  318. kDmaRequestMuxFlexPWM1CaptureSub3 = 35|0x100U, /**< FlexPWM1 Capture sub-module3 */
  319. kDmaRequestMuxFlexPWM1ValueSub0 = 36|0x100U, /**< FlexPWM1 Value sub-module0 */
  320. kDmaRequestMuxFlexPWM1ValueSub1 = 37|0x100U, /**< FlexPWM1 Value sub-module1 */
  321. kDmaRequestMuxFlexPWM1ValueSub2 = 38|0x100U, /**< FlexPWM1 Value sub-module2 */
  322. kDmaRequestMuxFlexPWM1ValueSub3 = 39|0x100U, /**< FlexPWM1 Value sub-module3 */
  323. kDmaRequestMuxFlexPWM3CaptureSub0 = 40|0x100U, /**< FlexPWM3 Capture sub-module0 */
  324. kDmaRequestMuxFlexPWM3CaptureSub1 = 41|0x100U, /**< FlexPWM3 Capture sub-module1 */
  325. kDmaRequestMuxFlexPWM3CaptureSub2 = 42|0x100U, /**< FlexPWM3 Capture sub-module2 */
  326. kDmaRequestMuxFlexPWM3CaptureSub3 = 43|0x100U, /**< FlexPWM3 Capture sub-module3 */
  327. kDmaRequestMuxFlexPWM3ValueSub0 = 44|0x100U, /**< FlexPWM3 Value sub-module0 */
  328. kDmaRequestMuxFlexPWM3ValueSub1 = 45|0x100U, /**< FlexPWM3 Value sub-module1 */
  329. kDmaRequestMuxFlexPWM3ValueSub2 = 46|0x100U, /**< FlexPWM3 Value sub-module2 */
  330. kDmaRequestMuxFlexPWM3ValueSub3 = 47|0x100U, /**< FlexPWM3 Value sub-module3 */
  331. kDmaRequestMuxQTIMER1CaptTimer0 = 48|0x100U, /**< TMR1 Capture timer 0 */
  332. kDmaRequestMuxQTIMER1CaptTimer1 = 49|0x100U, /**< TMR1 Capture timer 1 */
  333. kDmaRequestMuxQTIMER1CaptTimer2 = 50|0x100U, /**< TMR1 Capture timer 2 */
  334. kDmaRequestMuxQTIMER1CaptTimer3 = 51|0x100U, /**< TMR1 Capture timer 3 */
  335. kDmaRequestMuxQTIMER1Cmpld1Timer0Cmpld2Timer1 = 52|0x100U, /**< TMR1 cmpld1 in timer 0 or cmpld2 in timer 1 */
  336. kDmaRequestMuxQTIMER1Cmpld1Timer1Cmpld2Timer0 = 53|0x100U, /**< TMR1 cmpld1 in timer 1 or cmpld2 in timer 0 */
  337. kDmaRequestMuxQTIMER1Cmpld1Timer2Cmpld2Timer3 = 54|0x100U, /**< TMR1 cmpld1 in timer 2 or cmpld2 in timer 3 */
  338. kDmaRequestMuxQTIMER1Cmpld1Timer3Cmpld2Timer2 = 55|0x100U, /**< TMR1 cmpld1 in timer 3 or cmpld2 in timer 2 */
  339. kDmaRequestMuxQTIMER3CaptTimer0Cmpld1Timer0Cmpld2Timer1 = 56|0x100U, /**< TMR3 capture timer 0, cmpld1 in timer 0 or cmpld2 in timer 1 */
  340. kDmaRequestMuxQTIMER3CaptTimer1Cmpld1Timer1Cmpld2Timer0 = 57|0x100U, /**< TMR3 capture timer 1, cmpld1 in timer 1 or cmpld2 in timer 0 */
  341. kDmaRequestMuxQTIMER3CaptTimer2Cmpld1Timer2Cmpld2Timer3 = 58|0x100U, /**< TMR3 capture timer 2, cmpld1 in timer 2 or cmpld2 in timer 3 */
  342. kDmaRequestMuxQTIMER3CaptTimer3Cmpld1Timer3Cmpld2Timer2 = 59|0x100U, /**< TMR3 capture timer 3, cmpld1 in timer 3 or cmpld2 in timer 2 */
  343. kDmaRequestMuxFlexSPI2Rx = 60|0x100U, /**< FlexSPI2 Receive */
  344. kDmaRequestMuxFlexSPI2Tx = 61|0x100U, /**< FlexSPI2 Transmit */
  345. kDmaRequestMuxFlexIO1Request2Request3 = 64|0x100U, /**< FlexIO1 Request2 and Request3 */
  346. kDmaRequestMuxFlexIO2Request2Request3 = 65|0x100U, /**< FlexIO2 Request2 and Request3 */
  347. kDmaRequestMuxLPUART2Tx = 66|0x100U, /**< LPUART2 Transmit */
  348. kDmaRequestMuxLPUART2Rx = 67|0x100U, /**< LPUART2 Receive */
  349. kDmaRequestMuxLPUART4Tx = 68|0x100U, /**< LPUART4 Transmit */
  350. kDmaRequestMuxLPUART4Rx = 69|0x100U, /**< LPUART4 Receive */
  351. kDmaRequestMuxLPUART6Tx = 70|0x100U, /**< LPUART6 Transmit */
  352. kDmaRequestMuxLPUART6Rx = 71|0x100U, /**< LPUART6 Receive */
  353. kDmaRequestMuxLPUART8Tx = 72|0x100U, /**< LPUART8 Transmit */
  354. kDmaRequestMuxLPUART8Rx = 73|0x100U, /**< LPUART8 Receive */
  355. kDmaRequestMuxPxp = 75|0x100U, /**< PXP */
  356. kDmaRequestMuxLCDIF = 76|0x100U, /**< LCDIF */
  357. kDmaRequestMuxLPSPI2Rx = 77|0x100U, /**< LPSPI2 Receive */
  358. kDmaRequestMuxLPSPI2Tx = 78|0x100U, /**< LPSPI2 Transmit */
  359. kDmaRequestMuxLPSPI4Rx = 79|0x100U, /**< LPSPI4 Receive */
  360. kDmaRequestMuxLPSPI4Tx = 80|0x100U, /**< LPSPI4 Transmit */
  361. kDmaRequestMuxLPI2C2 = 81|0x100U, /**< LPI2C2 */
  362. kDmaRequestMuxLPI2C4 = 82|0x100U, /**< LPI2C4 */
  363. kDmaRequestMuxSai3Rx = 83|0x100U, /**< SAI3 Receive */
  364. kDmaRequestMuxSai3Tx = 84|0x100U, /**< SAI3 Transmit */
  365. kDmaRequestMuxSpdifRx = 85|0x100U, /**< SPDIF Receive */
  366. kDmaRequestMuxSpdifTx = 86|0x100U, /**< SPDIF Transmit */
  367. kDmaRequestMuxADC2 = 88|0x100U, /**< ADC2 */
  368. kDmaRequestMuxACMP2 = 89|0x100U, /**< ACMP2 */
  369. kDmaRequestMuxACMP4 = 90|0x100U, /**< ACMP4 */
  370. kDmaRequestMuxEnetTimer0 = 92|0x100U, /**< ENET Timer0 */
  371. kDmaRequestMuxEnetTimer1 = 93|0x100U, /**< ENET Timer1 */
  372. kDmaRequestMuxXBAR1Request2 = 94|0x100U, /**< XBAR1 Request 2 */
  373. kDmaRequestMuxXBAR1Request3 = 95|0x100U, /**< XBAR1 Request 3 */
  374. kDmaRequestMuxFlexPWM2CaptureSub0 = 96|0x100U, /**< FlexPWM2 Capture sub-module0 */
  375. kDmaRequestMuxFlexPWM2CaptureSub1 = 97|0x100U, /**< FlexPWM2 Capture sub-module1 */
  376. kDmaRequestMuxFlexPWM2CaptureSub2 = 98|0x100U, /**< FlexPWM2 Capture sub-module2 */
  377. kDmaRequestMuxFlexPWM2CaptureSub3 = 99|0x100U, /**< FlexPWM2 Capture sub-module3 */
  378. kDmaRequestMuxFlexPWM2ValueSub0 = 100|0x100U, /**< FlexPWM2 Value sub-module0 */
  379. kDmaRequestMuxFlexPWM2ValueSub1 = 101|0x100U, /**< FlexPWM2 Value sub-module1 */
  380. kDmaRequestMuxFlexPWM2ValueSub2 = 102|0x100U, /**< FlexPWM2 Value sub-module2 */
  381. kDmaRequestMuxFlexPWM2ValueSub3 = 103|0x100U, /**< FlexPWM2 Value sub-module3 */
  382. kDmaRequestMuxFlexPWM4CaptureSub0 = 104|0x100U, /**< FlexPWM4 Capture sub-module0 */
  383. kDmaRequestMuxFlexPWM4CaptureSub1 = 105|0x100U, /**< FlexPWM4 Capture sub-module1 */
  384. kDmaRequestMuxFlexPWM4CaptureSub2 = 106|0x100U, /**< FlexPWM4 Capture sub-module2 */
  385. kDmaRequestMuxFlexPWM4CaptureSub3 = 107|0x100U, /**< FlexPWM4 Capture sub-module3 */
  386. kDmaRequestMuxFlexPWM4ValueSub0 = 108|0x100U, /**< FlexPWM4 Value sub-module0 */
  387. kDmaRequestMuxFlexPWM4ValueSub1 = 109|0x100U, /**< FlexPWM4 Value sub-module1 */
  388. kDmaRequestMuxFlexPWM4ValueSub2 = 110|0x100U, /**< FlexPWM4 Value sub-module2 */
  389. kDmaRequestMuxFlexPWM4ValueSub3 = 111|0x100U, /**< FlexPWM4 Value sub-module3 */
  390. kDmaRequestMuxQTIMER2CaptTimer0 = 112|0x100U, /**< TMR2 Capture timer 0 */
  391. kDmaRequestMuxQTIMER2CaptTimer1 = 113|0x100U, /**< TMR2 Capture timer 1 */
  392. kDmaRequestMuxQTIMER2CaptTimer2 = 114|0x100U, /**< TMR2 Capture timer 2 */
  393. kDmaRequestMuxQTIMER2CaptTimer3 = 115|0x100U, /**< TMR2 Capture timer 3 */
  394. kDmaRequestMuxQTIMER2Cmpld1Timer0Cmpld2Timer1 = 116|0x100U, /**< TMR2 cmpld1 in timer 0 or cmpld2 in timer 1 */
  395. kDmaRequestMuxQTIMER2Cmpld1Timer1Cmpld2Timer0 = 117|0x100U, /**< TMR2 cmpld1 in timer 1 or cmpld2 in timer 0 */
  396. kDmaRequestMuxQTIMER2Cmpld1Timer2Cmpld2Timer3 = 118|0x100U, /**< TMR2 cmpld1 in timer 2 or cmpld2 in timer 3 */
  397. kDmaRequestMuxQTIMER2Cmpld1Timer3Cmpld2Timer2 = 119|0x100U, /**< TMR2 cmpld1 in timer 3 or cmpld2 in timer 2 */
  398. kDmaRequestMuxQTIMER4CaptTimer0Cmpld1Timer0Cmpld2Timer1 = 120|0x100U, /**< TMR4 capture timer 0, cmpld1 in timer 0 or cmpld2 in timer 1 */
  399. kDmaRequestMuxQTIMER4CaptTimer1Cmpld1Timer1Cmpld2Timer0 = 121|0x100U, /**< TMR4 capture timer 1, cmpld1 in timer 1 or cmpld2 in timer 0 */
  400. kDmaRequestMuxQTIMER4CaptTimer2Cmpld1Timer2Cmpld2Timer3 = 122|0x100U, /**< TMR4 capture timer 2, cmpld1 in timer 2 or cmpld2 in timer 3 */
  401. kDmaRequestMuxQTIMER4CaptTimer3Cmpld1Timer3Cmpld2Timer2 = 123|0x100U, /**< TMR4 capture timer 3, cmpld1 in timer 3 or cmpld2 in timer 2 */
  402. kDmaRequestMuxEnet2Timer0 = 124|0x100U, /**< ENET2 Timer0 */
  403. kDmaRequestMuxEnet2Timer1 = 125|0x100U, /**< ENET2 Timer1 */
  404. } dma_request_source_t;
  405. /* @} */
  406. /*!
  407. * @addtogroup iomuxc_pads
  408. * @{ */
  409. /*******************************************************************************
  410. * Definitions
  411. *******************************************************************************/
  412. /*!
  413. * @brief Enumeration for the IOMUXC SW_MUX_CTL_PAD
  414. *
  415. * Defines the enumeration for the IOMUXC SW_MUX_CTL_PAD collections.
  416. */
  417. typedef enum _iomuxc_sw_mux_ctl_pad
  418. {
  419. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_00 = 0U, /**< IOMUXC SW_MUX_CTL_PAD index */
  420. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_01 = 1U, /**< IOMUXC SW_MUX_CTL_PAD index */
  421. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_02 = 2U, /**< IOMUXC SW_MUX_CTL_PAD index */
  422. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_03 = 3U, /**< IOMUXC SW_MUX_CTL_PAD index */
  423. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_04 = 4U, /**< IOMUXC SW_MUX_CTL_PAD index */
  424. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_05 = 5U, /**< IOMUXC SW_MUX_CTL_PAD index */
  425. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_06 = 6U, /**< IOMUXC SW_MUX_CTL_PAD index */
  426. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_07 = 7U, /**< IOMUXC SW_MUX_CTL_PAD index */
  427. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_08 = 8U, /**< IOMUXC SW_MUX_CTL_PAD index */
  428. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_09 = 9U, /**< IOMUXC SW_MUX_CTL_PAD index */
  429. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_10 = 10U, /**< IOMUXC SW_MUX_CTL_PAD index */
  430. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_11 = 11U, /**< IOMUXC SW_MUX_CTL_PAD index */
  431. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_12 = 12U, /**< IOMUXC SW_MUX_CTL_PAD index */
  432. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_13 = 13U, /**< IOMUXC SW_MUX_CTL_PAD index */
  433. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_14 = 14U, /**< IOMUXC SW_MUX_CTL_PAD index */
  434. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_15 = 15U, /**< IOMUXC SW_MUX_CTL_PAD index */
  435. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_16 = 16U, /**< IOMUXC SW_MUX_CTL_PAD index */
  436. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_17 = 17U, /**< IOMUXC SW_MUX_CTL_PAD index */
  437. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_18 = 18U, /**< IOMUXC SW_MUX_CTL_PAD index */
  438. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_19 = 19U, /**< IOMUXC SW_MUX_CTL_PAD index */
  439. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_20 = 20U, /**< IOMUXC SW_MUX_CTL_PAD index */
  440. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_21 = 21U, /**< IOMUXC SW_MUX_CTL_PAD index */
  441. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_22 = 22U, /**< IOMUXC SW_MUX_CTL_PAD index */
  442. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_23 = 23U, /**< IOMUXC SW_MUX_CTL_PAD index */
  443. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_24 = 24U, /**< IOMUXC SW_MUX_CTL_PAD index */
  444. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_25 = 25U, /**< IOMUXC SW_MUX_CTL_PAD index */
  445. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_26 = 26U, /**< IOMUXC SW_MUX_CTL_PAD index */
  446. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_27 = 27U, /**< IOMUXC SW_MUX_CTL_PAD index */
  447. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_28 = 28U, /**< IOMUXC SW_MUX_CTL_PAD index */
  448. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_29 = 29U, /**< IOMUXC SW_MUX_CTL_PAD index */
  449. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_30 = 30U, /**< IOMUXC SW_MUX_CTL_PAD index */
  450. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_31 = 31U, /**< IOMUXC SW_MUX_CTL_PAD index */
  451. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_32 = 32U, /**< IOMUXC SW_MUX_CTL_PAD index */
  452. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_33 = 33U, /**< IOMUXC SW_MUX_CTL_PAD index */
  453. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_34 = 34U, /**< IOMUXC SW_MUX_CTL_PAD index */
  454. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_35 = 35U, /**< IOMUXC SW_MUX_CTL_PAD index */
  455. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_36 = 36U, /**< IOMUXC SW_MUX_CTL_PAD index */
  456. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_37 = 37U, /**< IOMUXC SW_MUX_CTL_PAD index */
  457. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_38 = 38U, /**< IOMUXC SW_MUX_CTL_PAD index */
  458. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_39 = 39U, /**< IOMUXC SW_MUX_CTL_PAD index */
  459. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_40 = 40U, /**< IOMUXC SW_MUX_CTL_PAD index */
  460. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_41 = 41U, /**< IOMUXC SW_MUX_CTL_PAD index */
  461. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_00 = 42U, /**< IOMUXC SW_MUX_CTL_PAD index */
  462. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_01 = 43U, /**< IOMUXC SW_MUX_CTL_PAD index */
  463. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_02 = 44U, /**< IOMUXC SW_MUX_CTL_PAD index */
  464. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_03 = 45U, /**< IOMUXC SW_MUX_CTL_PAD index */
  465. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_04 = 46U, /**< IOMUXC SW_MUX_CTL_PAD index */
  466. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_05 = 47U, /**< IOMUXC SW_MUX_CTL_PAD index */
  467. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_06 = 48U, /**< IOMUXC SW_MUX_CTL_PAD index */
  468. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_07 = 49U, /**< IOMUXC SW_MUX_CTL_PAD index */
  469. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_08 = 50U, /**< IOMUXC SW_MUX_CTL_PAD index */
  470. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_09 = 51U, /**< IOMUXC SW_MUX_CTL_PAD index */
  471. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_10 = 52U, /**< IOMUXC SW_MUX_CTL_PAD index */
  472. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_11 = 53U, /**< IOMUXC SW_MUX_CTL_PAD index */
  473. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_12 = 54U, /**< IOMUXC SW_MUX_CTL_PAD index */
  474. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_13 = 55U, /**< IOMUXC SW_MUX_CTL_PAD index */
  475. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_14 = 56U, /**< IOMUXC SW_MUX_CTL_PAD index */
  476. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_15 = 57U, /**< IOMUXC SW_MUX_CTL_PAD index */
  477. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_00 = 58U, /**< IOMUXC SW_MUX_CTL_PAD index */
  478. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_01 = 59U, /**< IOMUXC SW_MUX_CTL_PAD index */
  479. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_02 = 60U, /**< IOMUXC SW_MUX_CTL_PAD index */
  480. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_03 = 61U, /**< IOMUXC SW_MUX_CTL_PAD index */
  481. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_04 = 62U, /**< IOMUXC SW_MUX_CTL_PAD index */
  482. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_05 = 63U, /**< IOMUXC SW_MUX_CTL_PAD index */
  483. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_06 = 64U, /**< IOMUXC SW_MUX_CTL_PAD index */
  484. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_07 = 65U, /**< IOMUXC SW_MUX_CTL_PAD index */
  485. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_08 = 66U, /**< IOMUXC SW_MUX_CTL_PAD index */
  486. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_09 = 67U, /**< IOMUXC SW_MUX_CTL_PAD index */
  487. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_10 = 68U, /**< IOMUXC SW_MUX_CTL_PAD index */
  488. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_11 = 69U, /**< IOMUXC SW_MUX_CTL_PAD index */
  489. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_12 = 70U, /**< IOMUXC SW_MUX_CTL_PAD index */
  490. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_13 = 71U, /**< IOMUXC SW_MUX_CTL_PAD index */
  491. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_14 = 72U, /**< IOMUXC SW_MUX_CTL_PAD index */
  492. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_15 = 73U, /**< IOMUXC SW_MUX_CTL_PAD index */
  493. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B0_00 = 74U, /**< IOMUXC SW_MUX_CTL_PAD index */
  494. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B0_01 = 75U, /**< IOMUXC SW_MUX_CTL_PAD index */
  495. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B0_02 = 76U, /**< IOMUXC SW_MUX_CTL_PAD index */
  496. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B0_03 = 77U, /**< IOMUXC SW_MUX_CTL_PAD index */
  497. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B0_04 = 78U, /**< IOMUXC SW_MUX_CTL_PAD index */
  498. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B0_05 = 79U, /**< IOMUXC SW_MUX_CTL_PAD index */
  499. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B0_06 = 80U, /**< IOMUXC SW_MUX_CTL_PAD index */
  500. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B0_07 = 81U, /**< IOMUXC SW_MUX_CTL_PAD index */
  501. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B0_08 = 82U, /**< IOMUXC SW_MUX_CTL_PAD index */
  502. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B0_09 = 83U, /**< IOMUXC SW_MUX_CTL_PAD index */
  503. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B0_10 = 84U, /**< IOMUXC SW_MUX_CTL_PAD index */
  504. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B0_11 = 85U, /**< IOMUXC SW_MUX_CTL_PAD index */
  505. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B0_12 = 86U, /**< IOMUXC SW_MUX_CTL_PAD index */
  506. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B0_13 = 87U, /**< IOMUXC SW_MUX_CTL_PAD index */
  507. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B0_14 = 88U, /**< IOMUXC SW_MUX_CTL_PAD index */
  508. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B0_15 = 89U, /**< IOMUXC SW_MUX_CTL_PAD index */
  509. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B1_00 = 90U, /**< IOMUXC SW_MUX_CTL_PAD index */
  510. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B1_01 = 91U, /**< IOMUXC SW_MUX_CTL_PAD index */
  511. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B1_02 = 92U, /**< IOMUXC SW_MUX_CTL_PAD index */
  512. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B1_03 = 93U, /**< IOMUXC SW_MUX_CTL_PAD index */
  513. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B1_04 = 94U, /**< IOMUXC SW_MUX_CTL_PAD index */
  514. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B1_05 = 95U, /**< IOMUXC SW_MUX_CTL_PAD index */
  515. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B1_06 = 96U, /**< IOMUXC SW_MUX_CTL_PAD index */
  516. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B1_07 = 97U, /**< IOMUXC SW_MUX_CTL_PAD index */
  517. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B1_08 = 98U, /**< IOMUXC SW_MUX_CTL_PAD index */
  518. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B1_09 = 99U, /**< IOMUXC SW_MUX_CTL_PAD index */
  519. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B1_10 = 100U, /**< IOMUXC SW_MUX_CTL_PAD index */
  520. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B1_11 = 101U, /**< IOMUXC SW_MUX_CTL_PAD index */
  521. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B1_12 = 102U, /**< IOMUXC SW_MUX_CTL_PAD index */
  522. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B1_13 = 103U, /**< IOMUXC SW_MUX_CTL_PAD index */
  523. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B1_14 = 104U, /**< IOMUXC SW_MUX_CTL_PAD index */
  524. kIOMUXC_SW_MUX_CTL_PAD_GPIO_B1_15 = 105U, /**< IOMUXC SW_MUX_CTL_PAD index */
  525. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B0_00 = 106U, /**< IOMUXC SW_MUX_CTL_PAD index */
  526. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B0_01 = 107U, /**< IOMUXC SW_MUX_CTL_PAD index */
  527. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B0_02 = 108U, /**< IOMUXC SW_MUX_CTL_PAD index */
  528. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B0_03 = 109U, /**< IOMUXC SW_MUX_CTL_PAD index */
  529. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B0_04 = 110U, /**< IOMUXC SW_MUX_CTL_PAD index */
  530. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B0_05 = 111U, /**< IOMUXC SW_MUX_CTL_PAD index */
  531. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_00 = 112U, /**< IOMUXC SW_MUX_CTL_PAD index */
  532. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_01 = 113U, /**< IOMUXC SW_MUX_CTL_PAD index */
  533. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_02 = 114U, /**< IOMUXC SW_MUX_CTL_PAD index */
  534. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_03 = 115U, /**< IOMUXC SW_MUX_CTL_PAD index */
  535. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_04 = 116U, /**< IOMUXC SW_MUX_CTL_PAD index */
  536. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_05 = 117U, /**< IOMUXC SW_MUX_CTL_PAD index */
  537. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_06 = 118U, /**< IOMUXC SW_MUX_CTL_PAD index */
  538. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_07 = 119U, /**< IOMUXC SW_MUX_CTL_PAD index */
  539. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_08 = 120U, /**< IOMUXC SW_MUX_CTL_PAD index */
  540. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_09 = 121U, /**< IOMUXC SW_MUX_CTL_PAD index */
  541. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_10 = 122U, /**< IOMUXC SW_MUX_CTL_PAD index */
  542. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_11 = 123U, /**< IOMUXC SW_MUX_CTL_PAD index */
  543. } iomuxc_sw_mux_ctl_pad_t;
  544. /* @} */
  545. /*!
  546. * @addtogroup iomuxc_pads
  547. * @{ */
  548. /*******************************************************************************
  549. * Definitions
  550. *******************************************************************************/
  551. /*!
  552. * @brief Enumeration for the IOMUXC SW_MUX_CTL_PAD_1
  553. *
  554. * Defines the enumeration for the IOMUXC SW_MUX_CTL_PAD_1 collections.
  555. */
  556. typedef enum _iomuxc_sw_mux_ctl_pad_1
  557. {
  558. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B0_00 = 0U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  559. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B0_01 = 1U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  560. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B0_02 = 2U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  561. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B0_03 = 3U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  562. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B0_04 = 4U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  563. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B0_05 = 5U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  564. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B0_06 = 6U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  565. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B0_07 = 7U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  566. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B0_08 = 8U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  567. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B0_09 = 9U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  568. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B0_10 = 10U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  569. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B0_11 = 11U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  570. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B0_12 = 12U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  571. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B0_13 = 13U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  572. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B1_00 = 14U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  573. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B1_01 = 15U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  574. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B1_02 = 16U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  575. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B1_03 = 17U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  576. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B1_04 = 18U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  577. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B1_05 = 19U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  578. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B1_06 = 20U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  579. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SPI_B1_07 = 21U, /**< IOMUXC SW_MUX_CTL_PAD_1 index */
  580. } iomuxc_sw_mux_ctl_pad_1_t;
  581. /* @} */
  582. /*!
  583. * @addtogroup iomuxc_pads
  584. * @{ */
  585. /*******************************************************************************
  586. * Definitions
  587. *******************************************************************************/
  588. /*!
  589. * @brief Enumeration for the IOMUXC SW_PAD_CTL_PAD
  590. *
  591. * Defines the enumeration for the IOMUXC SW_PAD_CTL_PAD collections.
  592. */
  593. typedef enum _iomuxc_sw_pad_ctl_pad
  594. {
  595. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_00 = 0U, /**< IOMUXC SW_PAD_CTL_PAD index */
  596. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_01 = 1U, /**< IOMUXC SW_PAD_CTL_PAD index */
  597. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_02 = 2U, /**< IOMUXC SW_PAD_CTL_PAD index */
  598. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_03 = 3U, /**< IOMUXC SW_PAD_CTL_PAD index */
  599. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_04 = 4U, /**< IOMUXC SW_PAD_CTL_PAD index */
  600. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_05 = 5U, /**< IOMUXC SW_PAD_CTL_PAD index */
  601. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_06 = 6U, /**< IOMUXC SW_PAD_CTL_PAD index */
  602. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_07 = 7U, /**< IOMUXC SW_PAD_CTL_PAD index */
  603. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_08 = 8U, /**< IOMUXC SW_PAD_CTL_PAD index */
  604. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_09 = 9U, /**< IOMUXC SW_PAD_CTL_PAD index */
  605. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_10 = 10U, /**< IOMUXC SW_PAD_CTL_PAD index */
  606. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_11 = 11U, /**< IOMUXC SW_PAD_CTL_PAD index */
  607. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_12 = 12U, /**< IOMUXC SW_PAD_CTL_PAD index */
  608. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_13 = 13U, /**< IOMUXC SW_PAD_CTL_PAD index */
  609. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_14 = 14U, /**< IOMUXC SW_PAD_CTL_PAD index */
  610. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_15 = 15U, /**< IOMUXC SW_PAD_CTL_PAD index */
  611. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_16 = 16U, /**< IOMUXC SW_PAD_CTL_PAD index */
  612. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_17 = 17U, /**< IOMUXC SW_PAD_CTL_PAD index */
  613. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_18 = 18U, /**< IOMUXC SW_PAD_CTL_PAD index */
  614. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_19 = 19U, /**< IOMUXC SW_PAD_CTL_PAD index */
  615. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_20 = 20U, /**< IOMUXC SW_PAD_CTL_PAD index */
  616. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_21 = 21U, /**< IOMUXC SW_PAD_CTL_PAD index */
  617. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_22 = 22U, /**< IOMUXC SW_PAD_CTL_PAD index */
  618. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_23 = 23U, /**< IOMUXC SW_PAD_CTL_PAD index */
  619. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_24 = 24U, /**< IOMUXC SW_PAD_CTL_PAD index */
  620. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_25 = 25U, /**< IOMUXC SW_PAD_CTL_PAD index */
  621. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_26 = 26U, /**< IOMUXC SW_PAD_CTL_PAD index */
  622. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_27 = 27U, /**< IOMUXC SW_PAD_CTL_PAD index */
  623. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_28 = 28U, /**< IOMUXC SW_PAD_CTL_PAD index */
  624. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_29 = 29U, /**< IOMUXC SW_PAD_CTL_PAD index */
  625. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_30 = 30U, /**< IOMUXC SW_PAD_CTL_PAD index */
  626. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_31 = 31U, /**< IOMUXC SW_PAD_CTL_PAD index */
  627. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_32 = 32U, /**< IOMUXC SW_PAD_CTL_PAD index */
  628. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_33 = 33U, /**< IOMUXC SW_PAD_CTL_PAD index */
  629. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_34 = 34U, /**< IOMUXC SW_PAD_CTL_PAD index */
  630. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_35 = 35U, /**< IOMUXC SW_PAD_CTL_PAD index */
  631. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_36 = 36U, /**< IOMUXC SW_PAD_CTL_PAD index */
  632. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_37 = 37U, /**< IOMUXC SW_PAD_CTL_PAD index */
  633. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_38 = 38U, /**< IOMUXC SW_PAD_CTL_PAD index */
  634. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_39 = 39U, /**< IOMUXC SW_PAD_CTL_PAD index */
  635. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_40 = 40U, /**< IOMUXC SW_PAD_CTL_PAD index */
  636. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_41 = 41U, /**< IOMUXC SW_PAD_CTL_PAD index */
  637. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_00 = 42U, /**< IOMUXC SW_PAD_CTL_PAD index */
  638. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_01 = 43U, /**< IOMUXC SW_PAD_CTL_PAD index */
  639. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_02 = 44U, /**< IOMUXC SW_PAD_CTL_PAD index */
  640. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_03 = 45U, /**< IOMUXC SW_PAD_CTL_PAD index */
  641. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_04 = 46U, /**< IOMUXC SW_PAD_CTL_PAD index */
  642. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_05 = 47U, /**< IOMUXC SW_PAD_CTL_PAD index */
  643. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_06 = 48U, /**< IOMUXC SW_PAD_CTL_PAD index */
  644. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_07 = 49U, /**< IOMUXC SW_PAD_CTL_PAD index */
  645. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_08 = 50U, /**< IOMUXC SW_PAD_CTL_PAD index */
  646. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_09 = 51U, /**< IOMUXC SW_PAD_CTL_PAD index */
  647. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_10 = 52U, /**< IOMUXC SW_PAD_CTL_PAD index */
  648. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_11 = 53U, /**< IOMUXC SW_PAD_CTL_PAD index */
  649. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_12 = 54U, /**< IOMUXC SW_PAD_CTL_PAD index */
  650. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_13 = 55U, /**< IOMUXC SW_PAD_CTL_PAD index */
  651. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_14 = 56U, /**< IOMUXC SW_PAD_CTL_PAD index */
  652. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_15 = 57U, /**< IOMUXC SW_PAD_CTL_PAD index */
  653. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_00 = 58U, /**< IOMUXC SW_PAD_CTL_PAD index */
  654. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_01 = 59U, /**< IOMUXC SW_PAD_CTL_PAD index */
  655. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_02 = 60U, /**< IOMUXC SW_PAD_CTL_PAD index */
  656. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_03 = 61U, /**< IOMUXC SW_PAD_CTL_PAD index */
  657. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_04 = 62U, /**< IOMUXC SW_PAD_CTL_PAD index */
  658. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_05 = 63U, /**< IOMUXC SW_PAD_CTL_PAD index */
  659. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_06 = 64U, /**< IOMUXC SW_PAD_CTL_PAD index */
  660. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_07 = 65U, /**< IOMUXC SW_PAD_CTL_PAD index */
  661. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_08 = 66U, /**< IOMUXC SW_PAD_CTL_PAD index */
  662. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_09 = 67U, /**< IOMUXC SW_PAD_CTL_PAD index */
  663. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_10 = 68U, /**< IOMUXC SW_PAD_CTL_PAD index */
  664. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_11 = 69U, /**< IOMUXC SW_PAD_CTL_PAD index */
  665. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_12 = 70U, /**< IOMUXC SW_PAD_CTL_PAD index */
  666. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_13 = 71U, /**< IOMUXC SW_PAD_CTL_PAD index */
  667. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_14 = 72U, /**< IOMUXC SW_PAD_CTL_PAD index */
  668. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_15 = 73U, /**< IOMUXC SW_PAD_CTL_PAD index */
  669. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B0_00 = 74U, /**< IOMUXC SW_PAD_CTL_PAD index */
  670. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B0_01 = 75U, /**< IOMUXC SW_PAD_CTL_PAD index */
  671. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B0_02 = 76U, /**< IOMUXC SW_PAD_CTL_PAD index */
  672. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B0_03 = 77U, /**< IOMUXC SW_PAD_CTL_PAD index */
  673. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B0_04 = 78U, /**< IOMUXC SW_PAD_CTL_PAD index */
  674. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B0_05 = 79U, /**< IOMUXC SW_PAD_CTL_PAD index */
  675. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B0_06 = 80U, /**< IOMUXC SW_PAD_CTL_PAD index */
  676. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B0_07 = 81U, /**< IOMUXC SW_PAD_CTL_PAD index */
  677. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B0_08 = 82U, /**< IOMUXC SW_PAD_CTL_PAD index */
  678. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B0_09 = 83U, /**< IOMUXC SW_PAD_CTL_PAD index */
  679. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B0_10 = 84U, /**< IOMUXC SW_PAD_CTL_PAD index */
  680. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B0_11 = 85U, /**< IOMUXC SW_PAD_CTL_PAD index */
  681. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B0_12 = 86U, /**< IOMUXC SW_PAD_CTL_PAD index */
  682. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B0_13 = 87U, /**< IOMUXC SW_PAD_CTL_PAD index */
  683. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B0_14 = 88U, /**< IOMUXC SW_PAD_CTL_PAD index */
  684. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B0_15 = 89U, /**< IOMUXC SW_PAD_CTL_PAD index */
  685. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B1_00 = 90U, /**< IOMUXC SW_PAD_CTL_PAD index */
  686. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B1_01 = 91U, /**< IOMUXC SW_PAD_CTL_PAD index */
  687. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B1_02 = 92U, /**< IOMUXC SW_PAD_CTL_PAD index */
  688. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B1_03 = 93U, /**< IOMUXC SW_PAD_CTL_PAD index */
  689. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B1_04 = 94U, /**< IOMUXC SW_PAD_CTL_PAD index */
  690. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B1_05 = 95U, /**< IOMUXC SW_PAD_CTL_PAD index */
  691. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B1_06 = 96U, /**< IOMUXC SW_PAD_CTL_PAD index */
  692. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B1_07 = 97U, /**< IOMUXC SW_PAD_CTL_PAD index */
  693. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B1_08 = 98U, /**< IOMUXC SW_PAD_CTL_PAD index */
  694. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B1_09 = 99U, /**< IOMUXC SW_PAD_CTL_PAD index */
  695. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B1_10 = 100U, /**< IOMUXC SW_PAD_CTL_PAD index */
  696. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B1_11 = 101U, /**< IOMUXC SW_PAD_CTL_PAD index */
  697. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B1_12 = 102U, /**< IOMUXC SW_PAD_CTL_PAD index */
  698. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B1_13 = 103U, /**< IOMUXC SW_PAD_CTL_PAD index */
  699. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B1_14 = 104U, /**< IOMUXC SW_PAD_CTL_PAD index */
  700. kIOMUXC_SW_PAD_CTL_PAD_GPIO_B1_15 = 105U, /**< IOMUXC SW_PAD_CTL_PAD index */
  701. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B0_00 = 106U, /**< IOMUXC SW_PAD_CTL_PAD index */
  702. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B0_01 = 107U, /**< IOMUXC SW_PAD_CTL_PAD index */
  703. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B0_02 = 108U, /**< IOMUXC SW_PAD_CTL_PAD index */
  704. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B0_03 = 109U, /**< IOMUXC SW_PAD_CTL_PAD index */
  705. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B0_04 = 110U, /**< IOMUXC SW_PAD_CTL_PAD index */
  706. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B0_05 = 111U, /**< IOMUXC SW_PAD_CTL_PAD index */
  707. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_00 = 112U, /**< IOMUXC SW_PAD_CTL_PAD index */
  708. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_01 = 113U, /**< IOMUXC SW_PAD_CTL_PAD index */
  709. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_02 = 114U, /**< IOMUXC SW_PAD_CTL_PAD index */
  710. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_03 = 115U, /**< IOMUXC SW_PAD_CTL_PAD index */
  711. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_04 = 116U, /**< IOMUXC SW_PAD_CTL_PAD index */
  712. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_05 = 117U, /**< IOMUXC SW_PAD_CTL_PAD index */
  713. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_06 = 118U, /**< IOMUXC SW_PAD_CTL_PAD index */
  714. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_07 = 119U, /**< IOMUXC SW_PAD_CTL_PAD index */
  715. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_08 = 120U, /**< IOMUXC SW_PAD_CTL_PAD index */
  716. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_09 = 121U, /**< IOMUXC SW_PAD_CTL_PAD index */
  717. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_10 = 122U, /**< IOMUXC SW_PAD_CTL_PAD index */
  718. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_11 = 123U, /**< IOMUXC SW_PAD_CTL_PAD index */
  719. } iomuxc_sw_pad_ctl_pad_t;
  720. /* @} */
  721. /*!
  722. * @addtogroup iomuxc_pads
  723. * @{ */
  724. /*******************************************************************************
  725. * Definitions
  726. *******************************************************************************/
  727. /*!
  728. * @brief Enumeration for the IOMUXC SW_PAD_CTL_PAD_1
  729. *
  730. * Defines the enumeration for the IOMUXC SW_PAD_CTL_PAD_1 collections.
  731. */
  732. typedef enum _iomuxc_sw_pad_ctl_pad_1
  733. {
  734. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B0_00 = 0U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  735. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B0_01 = 1U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  736. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B0_02 = 2U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  737. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B0_03 = 3U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  738. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B0_04 = 4U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  739. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B0_05 = 5U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  740. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B0_06 = 6U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  741. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B0_07 = 7U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  742. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B0_08 = 8U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  743. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B0_09 = 9U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  744. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B0_10 = 10U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  745. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B0_11 = 11U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  746. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B0_12 = 12U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  747. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B0_13 = 13U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  748. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B1_00 = 14U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  749. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B1_01 = 15U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  750. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B1_02 = 16U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  751. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B1_03 = 17U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  752. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B1_04 = 18U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  753. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B1_05 = 19U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  754. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B1_06 = 20U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  755. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SPI_B1_07 = 21U, /**< IOMUXC SW_PAD_CTL_PAD_1 index */
  756. } iomuxc_sw_pad_ctl_pad_1_t;
  757. /* @} */
  758. /*!
  759. * @brief Enumeration for the IOMUXC select input
  760. *
  761. * Defines the enumeration for the IOMUXC select input collections.
  762. */
  763. typedef enum _iomuxc_select_input
  764. {
  765. kIOMUXC_ANATOP_USB_OTG1_ID_SELECT_INPUT = 0U, /**< IOMUXC select input index */
  766. kIOMUXC_ANATOP_USB_OTG2_ID_SELECT_INPUT = 1U, /**< IOMUXC select input index */
  767. kIOMUXC_CCM_PMIC_READY_SELECT_INPUT = 2U, /**< IOMUXC select input index */
  768. kIOMUXC_CSI_DATA02_SELECT_INPUT = 3U, /**< IOMUXC select input index */
  769. kIOMUXC_CSI_DATA03_SELECT_INPUT = 4U, /**< IOMUXC select input index */
  770. kIOMUXC_CSI_DATA04_SELECT_INPUT = 5U, /**< IOMUXC select input index */
  771. kIOMUXC_CSI_DATA05_SELECT_INPUT = 6U, /**< IOMUXC select input index */
  772. kIOMUXC_CSI_DATA06_SELECT_INPUT = 7U, /**< IOMUXC select input index */
  773. kIOMUXC_CSI_DATA07_SELECT_INPUT = 8U, /**< IOMUXC select input index */
  774. kIOMUXC_CSI_DATA08_SELECT_INPUT = 9U, /**< IOMUXC select input index */
  775. kIOMUXC_CSI_DATA09_SELECT_INPUT = 10U, /**< IOMUXC select input index */
  776. kIOMUXC_CSI_HSYNC_SELECT_INPUT = 11U, /**< IOMUXC select input index */
  777. kIOMUXC_CSI_PIXCLK_SELECT_INPUT = 12U, /**< IOMUXC select input index */
  778. kIOMUXC_CSI_VSYNC_SELECT_INPUT = 13U, /**< IOMUXC select input index */
  779. kIOMUXC_ENET_IPG_CLK_RMII_SELECT_INPUT = 14U, /**< IOMUXC select input index */
  780. kIOMUXC_ENET_MDIO_SELECT_INPUT = 15U, /**< IOMUXC select input index */
  781. kIOMUXC_ENET0_RXDATA_SELECT_INPUT = 16U, /**< IOMUXC select input index */
  782. kIOMUXC_ENET1_RXDATA_SELECT_INPUT = 17U, /**< IOMUXC select input index */
  783. kIOMUXC_ENET_RXEN_SELECT_INPUT = 18U, /**< IOMUXC select input index */
  784. kIOMUXC_ENET_RXERR_SELECT_INPUT = 19U, /**< IOMUXC select input index */
  785. kIOMUXC_ENET0_TIMER_SELECT_INPUT = 20U, /**< IOMUXC select input index */
  786. kIOMUXC_ENET_TXCLK_SELECT_INPUT = 21U, /**< IOMUXC select input index */
  787. kIOMUXC_FLEXCAN1_RX_SELECT_INPUT = 22U, /**< IOMUXC select input index */
  788. kIOMUXC_FLEXCAN2_RX_SELECT_INPUT = 23U, /**< IOMUXC select input index */
  789. kIOMUXC_FLEXPWM1_PWMA3_SELECT_INPUT = 24U, /**< IOMUXC select input index */
  790. kIOMUXC_FLEXPWM1_PWMA0_SELECT_INPUT = 25U, /**< IOMUXC select input index */
  791. kIOMUXC_FLEXPWM1_PWMA1_SELECT_INPUT = 26U, /**< IOMUXC select input index */
  792. kIOMUXC_FLEXPWM1_PWMA2_SELECT_INPUT = 27U, /**< IOMUXC select input index */
  793. kIOMUXC_FLEXPWM1_PWMB3_SELECT_INPUT = 28U, /**< IOMUXC select input index */
  794. kIOMUXC_FLEXPWM1_PWMB0_SELECT_INPUT = 29U, /**< IOMUXC select input index */
  795. kIOMUXC_FLEXPWM1_PWMB1_SELECT_INPUT = 30U, /**< IOMUXC select input index */
  796. kIOMUXC_FLEXPWM1_PWMB2_SELECT_INPUT = 31U, /**< IOMUXC select input index */
  797. kIOMUXC_FLEXPWM2_PWMA3_SELECT_INPUT = 32U, /**< IOMUXC select input index */
  798. kIOMUXC_FLEXPWM2_PWMA0_SELECT_INPUT = 33U, /**< IOMUXC select input index */
  799. kIOMUXC_FLEXPWM2_PWMA1_SELECT_INPUT = 34U, /**< IOMUXC select input index */
  800. kIOMUXC_FLEXPWM2_PWMA2_SELECT_INPUT = 35U, /**< IOMUXC select input index */
  801. kIOMUXC_FLEXPWM2_PWMB3_SELECT_INPUT = 36U, /**< IOMUXC select input index */
  802. kIOMUXC_FLEXPWM2_PWMB0_SELECT_INPUT = 37U, /**< IOMUXC select input index */
  803. kIOMUXC_FLEXPWM2_PWMB1_SELECT_INPUT = 38U, /**< IOMUXC select input index */
  804. kIOMUXC_FLEXPWM2_PWMB2_SELECT_INPUT = 39U, /**< IOMUXC select input index */
  805. kIOMUXC_FLEXPWM4_PWMA0_SELECT_INPUT = 40U, /**< IOMUXC select input index */
  806. kIOMUXC_FLEXPWM4_PWMA1_SELECT_INPUT = 41U, /**< IOMUXC select input index */
  807. kIOMUXC_FLEXPWM4_PWMA2_SELECT_INPUT = 42U, /**< IOMUXC select input index */
  808. kIOMUXC_FLEXPWM4_PWMA3_SELECT_INPUT = 43U, /**< IOMUXC select input index */
  809. kIOMUXC_FLEXSPIA_DQS_SELECT_INPUT = 44U, /**< IOMUXC select input index */
  810. kIOMUXC_FLEXSPIA_DATA0_SELECT_INPUT = 45U, /**< IOMUXC select input index */
  811. kIOMUXC_FLEXSPIA_DATA1_SELECT_INPUT = 46U, /**< IOMUXC select input index */
  812. kIOMUXC_FLEXSPIA_DATA2_SELECT_INPUT = 47U, /**< IOMUXC select input index */
  813. kIOMUXC_FLEXSPIA_DATA3_SELECT_INPUT = 48U, /**< IOMUXC select input index */
  814. kIOMUXC_FLEXSPIB_DATA0_SELECT_INPUT = 49U, /**< IOMUXC select input index */
  815. kIOMUXC_FLEXSPIB_DATA1_SELECT_INPUT = 50U, /**< IOMUXC select input index */
  816. kIOMUXC_FLEXSPIB_DATA2_SELECT_INPUT = 51U, /**< IOMUXC select input index */
  817. kIOMUXC_FLEXSPIB_DATA3_SELECT_INPUT = 52U, /**< IOMUXC select input index */
  818. kIOMUXC_FLEXSPIA_SCK_SELECT_INPUT = 53U, /**< IOMUXC select input index */
  819. kIOMUXC_LPI2C1_SCL_SELECT_INPUT = 54U, /**< IOMUXC select input index */
  820. kIOMUXC_LPI2C1_SDA_SELECT_INPUT = 55U, /**< IOMUXC select input index */
  821. kIOMUXC_LPI2C2_SCL_SELECT_INPUT = 56U, /**< IOMUXC select input index */
  822. kIOMUXC_LPI2C2_SDA_SELECT_INPUT = 57U, /**< IOMUXC select input index */
  823. kIOMUXC_LPI2C3_SCL_SELECT_INPUT = 58U, /**< IOMUXC select input index */
  824. kIOMUXC_LPI2C3_SDA_SELECT_INPUT = 59U, /**< IOMUXC select input index */
  825. kIOMUXC_LPI2C4_SCL_SELECT_INPUT = 60U, /**< IOMUXC select input index */
  826. kIOMUXC_LPI2C4_SDA_SELECT_INPUT = 61U, /**< IOMUXC select input index */
  827. kIOMUXC_LPSPI1_PCS0_SELECT_INPUT = 62U, /**< IOMUXC select input index */
  828. kIOMUXC_LPSPI1_SCK_SELECT_INPUT = 63U, /**< IOMUXC select input index */
  829. kIOMUXC_LPSPI1_SDI_SELECT_INPUT = 64U, /**< IOMUXC select input index */
  830. kIOMUXC_LPSPI1_SDO_SELECT_INPUT = 65U, /**< IOMUXC select input index */
  831. kIOMUXC_LPSPI2_PCS0_SELECT_INPUT = 66U, /**< IOMUXC select input index */
  832. kIOMUXC_LPSPI2_SCK_SELECT_INPUT = 67U, /**< IOMUXC select input index */
  833. kIOMUXC_LPSPI2_SDI_SELECT_INPUT = 68U, /**< IOMUXC select input index */
  834. kIOMUXC_LPSPI2_SDO_SELECT_INPUT = 69U, /**< IOMUXC select input index */
  835. kIOMUXC_LPSPI3_PCS0_SELECT_INPUT = 70U, /**< IOMUXC select input index */
  836. kIOMUXC_LPSPI3_SCK_SELECT_INPUT = 71U, /**< IOMUXC select input index */
  837. kIOMUXC_LPSPI3_SDI_SELECT_INPUT = 72U, /**< IOMUXC select input index */
  838. kIOMUXC_LPSPI3_SDO_SELECT_INPUT = 73U, /**< IOMUXC select input index */
  839. kIOMUXC_LPSPI4_PCS0_SELECT_INPUT = 74U, /**< IOMUXC select input index */
  840. kIOMUXC_LPSPI4_SCK_SELECT_INPUT = 75U, /**< IOMUXC select input index */
  841. kIOMUXC_LPSPI4_SDI_SELECT_INPUT = 76U, /**< IOMUXC select input index */
  842. kIOMUXC_LPSPI4_SDO_SELECT_INPUT = 77U, /**< IOMUXC select input index */
  843. kIOMUXC_LPUART2_RX_SELECT_INPUT = 78U, /**< IOMUXC select input index */
  844. kIOMUXC_LPUART2_TX_SELECT_INPUT = 79U, /**< IOMUXC select input index */
  845. kIOMUXC_LPUART3_CTS_B_SELECT_INPUT = 80U, /**< IOMUXC select input index */
  846. kIOMUXC_LPUART3_RX_SELECT_INPUT = 81U, /**< IOMUXC select input index */
  847. kIOMUXC_LPUART3_TX_SELECT_INPUT = 82U, /**< IOMUXC select input index */
  848. kIOMUXC_LPUART4_RX_SELECT_INPUT = 83U, /**< IOMUXC select input index */
  849. kIOMUXC_LPUART4_TX_SELECT_INPUT = 84U, /**< IOMUXC select input index */
  850. kIOMUXC_LPUART5_RX_SELECT_INPUT = 85U, /**< IOMUXC select input index */
  851. kIOMUXC_LPUART5_TX_SELECT_INPUT = 86U, /**< IOMUXC select input index */
  852. kIOMUXC_LPUART6_RX_SELECT_INPUT = 87U, /**< IOMUXC select input index */
  853. kIOMUXC_LPUART6_TX_SELECT_INPUT = 88U, /**< IOMUXC select input index */
  854. kIOMUXC_LPUART7_RX_SELECT_INPUT = 89U, /**< IOMUXC select input index */
  855. kIOMUXC_LPUART7_TX_SELECT_INPUT = 90U, /**< IOMUXC select input index */
  856. kIOMUXC_LPUART8_RX_SELECT_INPUT = 91U, /**< IOMUXC select input index */
  857. kIOMUXC_LPUART8_TX_SELECT_INPUT = 92U, /**< IOMUXC select input index */
  858. kIOMUXC_NMI_SELECT_INPUT = 93U, /**< IOMUXC select input index */
  859. kIOMUXC_QTIMER2_TIMER0_SELECT_INPUT = 94U, /**< IOMUXC select input index */
  860. kIOMUXC_QTIMER2_TIMER1_SELECT_INPUT = 95U, /**< IOMUXC select input index */
  861. kIOMUXC_QTIMER2_TIMER2_SELECT_INPUT = 96U, /**< IOMUXC select input index */
  862. kIOMUXC_QTIMER2_TIMER3_SELECT_INPUT = 97U, /**< IOMUXC select input index */
  863. kIOMUXC_QTIMER3_TIMER0_SELECT_INPUT = 98U, /**< IOMUXC select input index */
  864. kIOMUXC_QTIMER3_TIMER1_SELECT_INPUT = 99U, /**< IOMUXC select input index */
  865. kIOMUXC_QTIMER3_TIMER2_SELECT_INPUT = 100U, /**< IOMUXC select input index */
  866. kIOMUXC_QTIMER3_TIMER3_SELECT_INPUT = 101U, /**< IOMUXC select input index */
  867. kIOMUXC_SAI1_MCLK2_SELECT_INPUT = 102U, /**< IOMUXC select input index */
  868. kIOMUXC_SAI1_RX_BCLK_SELECT_INPUT = 103U, /**< IOMUXC select input index */
  869. kIOMUXC_SAI1_RX_DATA0_SELECT_INPUT = 104U, /**< IOMUXC select input index */
  870. kIOMUXC_SAI1_RX_DATA1_SELECT_INPUT = 105U, /**< IOMUXC select input index */
  871. kIOMUXC_SAI1_RX_DATA2_SELECT_INPUT = 106U, /**< IOMUXC select input index */
  872. kIOMUXC_SAI1_RX_DATA3_SELECT_INPUT = 107U, /**< IOMUXC select input index */
  873. kIOMUXC_SAI1_RX_SYNC_SELECT_INPUT = 108U, /**< IOMUXC select input index */
  874. kIOMUXC_SAI1_TX_BCLK_SELECT_INPUT = 109U, /**< IOMUXC select input index */
  875. kIOMUXC_SAI1_TX_SYNC_SELECT_INPUT = 110U, /**< IOMUXC select input index */
  876. kIOMUXC_SAI2_MCLK2_SELECT_INPUT = 111U, /**< IOMUXC select input index */
  877. kIOMUXC_SAI2_RX_BCLK_SELECT_INPUT = 112U, /**< IOMUXC select input index */
  878. kIOMUXC_SAI2_RX_DATA0_SELECT_INPUT = 113U, /**< IOMUXC select input index */
  879. kIOMUXC_SAI2_RX_SYNC_SELECT_INPUT = 114U, /**< IOMUXC select input index */
  880. kIOMUXC_SAI2_TX_BCLK_SELECT_INPUT = 115U, /**< IOMUXC select input index */
  881. kIOMUXC_SAI2_TX_SYNC_SELECT_INPUT = 116U, /**< IOMUXC select input index */
  882. kIOMUXC_SPDIF_IN_SELECT_INPUT = 117U, /**< IOMUXC select input index */
  883. kIOMUXC_USB_OTG2_OC_SELECT_INPUT = 118U, /**< IOMUXC select input index */
  884. kIOMUXC_USB_OTG1_OC_SELECT_INPUT = 119U, /**< IOMUXC select input index */
  885. kIOMUXC_USDHC1_CD_B_SELECT_INPUT = 120U, /**< IOMUXC select input index */
  886. kIOMUXC_USDHC1_WP_SELECT_INPUT = 121U, /**< IOMUXC select input index */
  887. kIOMUXC_USDHC2_CLK_SELECT_INPUT = 122U, /**< IOMUXC select input index */
  888. kIOMUXC_USDHC2_CD_B_SELECT_INPUT = 123U, /**< IOMUXC select input index */
  889. kIOMUXC_USDHC2_CMD_SELECT_INPUT = 124U, /**< IOMUXC select input index */
  890. kIOMUXC_USDHC2_DATA0_SELECT_INPUT = 125U, /**< IOMUXC select input index */
  891. kIOMUXC_USDHC2_DATA1_SELECT_INPUT = 126U, /**< IOMUXC select input index */
  892. kIOMUXC_USDHC2_DATA2_SELECT_INPUT = 127U, /**< IOMUXC select input index */
  893. kIOMUXC_USDHC2_DATA3_SELECT_INPUT = 128U, /**< IOMUXC select input index */
  894. kIOMUXC_USDHC2_DATA4_SELECT_INPUT = 129U, /**< IOMUXC select input index */
  895. kIOMUXC_USDHC2_DATA5_SELECT_INPUT = 130U, /**< IOMUXC select input index */
  896. kIOMUXC_USDHC2_DATA6_SELECT_INPUT = 131U, /**< IOMUXC select input index */
  897. kIOMUXC_USDHC2_DATA7_SELECT_INPUT = 132U, /**< IOMUXC select input index */
  898. kIOMUXC_USDHC2_WP_SELECT_INPUT = 133U, /**< IOMUXC select input index */
  899. kIOMUXC_XBAR1_IN02_SELECT_INPUT = 134U, /**< IOMUXC select input index */
  900. kIOMUXC_XBAR1_IN03_SELECT_INPUT = 135U, /**< IOMUXC select input index */
  901. kIOMUXC_XBAR1_IN04_SELECT_INPUT = 136U, /**< IOMUXC select input index */
  902. kIOMUXC_XBAR1_IN05_SELECT_INPUT = 137U, /**< IOMUXC select input index */
  903. kIOMUXC_XBAR1_IN06_SELECT_INPUT = 138U, /**< IOMUXC select input index */
  904. kIOMUXC_XBAR1_IN07_SELECT_INPUT = 139U, /**< IOMUXC select input index */
  905. kIOMUXC_XBAR1_IN08_SELECT_INPUT = 140U, /**< IOMUXC select input index */
  906. kIOMUXC_XBAR1_IN09_SELECT_INPUT = 141U, /**< IOMUXC select input index */
  907. kIOMUXC_XBAR1_IN17_SELECT_INPUT = 142U, /**< IOMUXC select input index */
  908. kIOMUXC_XBAR1_IN18_SELECT_INPUT = 143U, /**< IOMUXC select input index */
  909. kIOMUXC_XBAR1_IN20_SELECT_INPUT = 144U, /**< IOMUXC select input index */
  910. kIOMUXC_XBAR1_IN22_SELECT_INPUT = 145U, /**< IOMUXC select input index */
  911. kIOMUXC_XBAR1_IN23_SELECT_INPUT = 146U, /**< IOMUXC select input index */
  912. kIOMUXC_XBAR1_IN24_SELECT_INPUT = 147U, /**< IOMUXC select input index */
  913. kIOMUXC_XBAR1_IN14_SELECT_INPUT = 148U, /**< IOMUXC select input index */
  914. kIOMUXC_XBAR1_IN15_SELECT_INPUT = 149U, /**< IOMUXC select input index */
  915. kIOMUXC_XBAR1_IN16_SELECT_INPUT = 150U, /**< IOMUXC select input index */
  916. kIOMUXC_XBAR1_IN25_SELECT_INPUT = 151U, /**< IOMUXC select input index */
  917. kIOMUXC_XBAR1_IN19_SELECT_INPUT = 152U, /**< IOMUXC select input index */
  918. kIOMUXC_XBAR1_IN21_SELECT_INPUT = 153U, /**< IOMUXC select input index */
  919. } iomuxc_select_input_t;
  920. /*!
  921. * @brief Enumeration for the IOMUXC select input
  922. *
  923. * Defines the enumeration for the IOMUXC select input collections.
  924. */
  925. typedef enum _iomuxc_select_input_1
  926. {
  927. kIOMUXC_ENET2_IPG_CLK_RMII_SELECT_INPUT = 0U, /**< IOMUXC select input index */
  928. kIOMUXC_ENET2_IPP_IND_MAC0_MDIO_SELECT_INPUT = 1U, /**< IOMUXC select input index */
  929. kIOMUXC_ENET2_IPP_IND_MAC0_RXDATA_SELECT_INPUT_0 = 2U, /**< IOMUXC select input index */
  930. kIOMUXC_ENET2_IPP_IND_MAC0_RXDATA_SELECT_INPUT_1 = 3U, /**< IOMUXC select input index */
  931. kIOMUXC_ENET2_IPP_IND_MAC0_RXEN_SELECT_INPUT = 4U, /**< IOMUXC select input index */
  932. kIOMUXC_ENET2_IPP_IND_MAC0_RXERR_SELECT_INPUT = 5U, /**< IOMUXC select input index */
  933. kIOMUXC_ENET2_IPP_IND_MAC0_TIMER_SELECT_INPUT_0 = 6U, /**< IOMUXC select input index */
  934. kIOMUXC_ENET2_IPP_IND_MAC0_TXCLK_SELECT_INPUT = 7U, /**< IOMUXC select input index */
  935. kIOMUXC_FLEXSPI2_IPP_IND_DQS_FA_SELECT_INPUT = 8U, /**< IOMUXC select input index */
  936. kIOMUXC_FLEXSPI2_IPP_IND_IO_FA_BIT0_SELECT_INPUT = 9U, /**< IOMUXC select input index */
  937. kIOMUXC_FLEXSPI2_IPP_IND_IO_FA_BIT1_SELECT_INPUT = 10U, /**< IOMUXC select input index */
  938. kIOMUXC_FLEXSPI2_IPP_IND_IO_FA_BIT2_SELECT_INPUT = 11U, /**< IOMUXC select input index */
  939. kIOMUXC_FLEXSPI2_IPP_IND_IO_FA_BIT3_SELECT_INPUT = 12U, /**< IOMUXC select input index */
  940. kIOMUXC_FLEXSPI2_IPP_IND_IO_FB_BIT0_SELECT_INPUT = 13U, /**< IOMUXC select input index */
  941. kIOMUXC_FLEXSPI2_IPP_IND_IO_FB_BIT1_SELECT_INPUT = 14U, /**< IOMUXC select input index */
  942. kIOMUXC_FLEXSPI2_IPP_IND_IO_FB_BIT2_SELECT_INPUT = 15U, /**< IOMUXC select input index */
  943. kIOMUXC_FLEXSPI2_IPP_IND_IO_FB_BIT3_SELECT_INPUT = 16U, /**< IOMUXC select input index */
  944. kIOMUXC_FLEXSPI2_IPP_IND_SCK_FA_SELECT_INPUT = 17U, /**< IOMUXC select input index */
  945. kIOMUXC_FLEXSPI2_IPP_IND_SCK_FB_SELECT_INPUT = 18U, /**< IOMUXC select input index */
  946. kIOMUXC_GPT1_IPP_IND_CAPIN1_SELECT_INPUT = 19U, /**< IOMUXC select input index */
  947. kIOMUXC_GPT1_IPP_IND_CAPIN2_SELECT_INPUT = 20U, /**< IOMUXC select input index */
  948. kIOMUXC_GPT1_IPP_IND_CLKIN_SELECT_INPUT = 21U, /**< IOMUXC select input index */
  949. kIOMUXC_GPT2_IPP_IND_CAPIN1_SELECT_INPUT = 22U, /**< IOMUXC select input index */
  950. kIOMUXC_GPT2_IPP_IND_CAPIN2_SELECT_INPUT = 23U, /**< IOMUXC select input index */
  951. kIOMUXC_GPT2_IPP_IND_CLKIN_SELECT_INPUT = 24U, /**< IOMUXC select input index */
  952. kIOMUXC_SAI3_IPG_CLK_SAI_MCLK_SELECT_INPUT_2 = 25U, /**< IOMUXC select input index */
  953. kIOMUXC_SAI3_IPP_IND_SAI_RXBCLK_SELECT_INPUT = 26U, /**< IOMUXC select input index */
  954. kIOMUXC_SAI3_IPP_IND_SAI_RXDATA_SELECT_INPUT_0 = 27U, /**< IOMUXC select input index */
  955. kIOMUXC_SAI3_IPP_IND_SAI_RXSYNC_SELECT_INPUT = 28U, /**< IOMUXC select input index */
  956. kIOMUXC_SAI3_IPP_IND_SAI_TXBCLK_SELECT_INPUT = 29U, /**< IOMUXC select input index */
  957. kIOMUXC_SAI3_IPP_IND_SAI_TXSYNC_SELECT_INPUT = 30U, /**< IOMUXC select input index */
  958. kIOMUXC_SEMC_I_IPP_IND_DQS4_SELECT_INPUT = 31U, /**< IOMUXC select input index */
  959. kIOMUXC_CANFD_IPP_IND_CANRX_SELECT_INPUT = 32U, /**< IOMUXC select input index */
  960. } iomuxc_select_input_1_t;
  961. typedef enum _xbar_input_signal
  962. {
  963. kXBARA1_InputLogicLow = 0|0x100U, /**< LOGIC_LOW output assigned to XBARA1_IN0 input. */
  964. kXBARA1_InputLogicHigh = 1|0x100U, /**< LOGIC_HIGH output assigned to XBARA1_IN1 input. */
  965. kXBARA1_InputIomuxXbarIn02 = 2|0x100U, /**< IOMUX_XBAR_IN02 output assigned to XBARA1_IN2 input. */
  966. kXBARA1_InputIomuxXbarIn03 = 3|0x100U, /**< IOMUX_XBAR_IN03 output assigned to XBARA1_IN3 input. */
  967. kXBARA1_InputIomuxXbarInout04 = 4|0x100U, /**< IOMUX_XBAR_INOUT04 output assigned to XBARA1_IN4 input. */
  968. kXBARA1_InputIomuxXbarInout05 = 5|0x100U, /**< IOMUX_XBAR_INOUT05 output assigned to XBARA1_IN5 input. */
  969. kXBARA1_InputIomuxXbarInout06 = 6|0x100U, /**< IOMUX_XBAR_INOUT06 output assigned to XBARA1_IN6 input. */
  970. kXBARA1_InputIomuxXbarInout07 = 7|0x100U, /**< IOMUX_XBAR_INOUT07 output assigned to XBARA1_IN7 input. */
  971. kXBARA1_InputIomuxXbarInout08 = 8|0x100U, /**< IOMUX_XBAR_INOUT08 output assigned to XBARA1_IN8 input. */
  972. kXBARA1_InputIomuxXbarInout09 = 9|0x100U, /**< IOMUX_XBAR_INOUT09 output assigned to XBARA1_IN9 input. */
  973. kXBARA1_InputIomuxXbarInout10 = 10|0x100U, /**< IOMUX_XBAR_INOUT10 output assigned to XBARA1_IN10 input. */
  974. kXBARA1_InputIomuxXbarInout11 = 11|0x100U, /**< IOMUX_XBAR_INOUT11 output assigned to XBARA1_IN11 input. */
  975. kXBARA1_InputIomuxXbarInout12 = 12|0x100U, /**< IOMUX_XBAR_INOUT12 output assigned to XBARA1_IN12 input. */
  976. kXBARA1_InputIomuxXbarInout13 = 13|0x100U, /**< IOMUX_XBAR_INOUT13 output assigned to XBARA1_IN13 input. */
  977. kXBARA1_InputIomuxXbarInout14 = 14|0x100U, /**< IOMUX_XBAR_INOUT14 output assigned to XBARA1_IN14 input. */
  978. kXBARA1_InputIomuxXbarInout15 = 15|0x100U, /**< IOMUX_XBAR_INOUT15 output assigned to XBARA1_IN15 input. */
  979. kXBARA1_InputIomuxXbarInout16 = 16|0x100U, /**< IOMUX_XBAR_INOUT16 output assigned to XBARA1_IN16 input. */
  980. kXBARA1_InputIomuxXbarInout17 = 17|0x100U, /**< IOMUX_XBAR_INOUT17 output assigned to XBARA1_IN17 input. */
  981. kXBARA1_InputIomuxXbarInout18 = 18|0x100U, /**< IOMUX_XBAR_INOUT18 output assigned to XBARA1_IN18 input. */
  982. kXBARA1_InputIomuxXbarInout19 = 19|0x100U, /**< IOMUX_XBAR_INOUT19 output assigned to XBARA1_IN19 input. */
  983. kXBARA1_InputIomuxXbarIn20 = 20|0x100U, /**< IOMUX_XBAR_IN20 output assigned to XBARA1_IN20 input. */
  984. kXBARA1_InputIomuxXbarIn21 = 21|0x100U, /**< IOMUX_XBAR_IN21 output assigned to XBARA1_IN21 input. */
  985. kXBARA1_InputIomuxXbarIn22 = 22|0x100U, /**< IOMUX_XBAR_IN22 output assigned to XBARA1_IN22 input. */
  986. kXBARA1_InputIomuxXbarIn23 = 23|0x100U, /**< IOMUX_XBAR_IN23 output assigned to XBARA1_IN23 input. */
  987. kXBARA1_InputIomuxXbarIn24 = 24|0x100U, /**< IOMUX_XBAR_IN24 output assigned to XBARA1_IN24 input. */
  988. kXBARA1_InputIomuxXbarIn25 = 25|0x100U, /**< IOMUX_XBAR_IN25 output assigned to XBARA1_IN25 input. */
  989. kXBARA1_InputAcmp1Out = 26|0x100U, /**< ACMP1_OUT output assigned to XBARA1_IN26 input. */
  990. kXBARA1_InputAcmp2Out = 27|0x100U, /**< ACMP2_OUT output assigned to XBARA1_IN27 input. */
  991. kXBARA1_InputAcmp3Out = 28|0x100U, /**< ACMP3_OUT output assigned to XBARA1_IN28 input. */
  992. kXBARA1_InputAcmp4Out = 29|0x100U, /**< ACMP4_OUT output assigned to XBARA1_IN29 input. */
  993. kXBARA1_InputRESERVED30 = 30|0x100U, /**< XBARA1_IN30 input is reserved. */
  994. kXBARA1_InputRESERVED31 = 31|0x100U, /**< XBARA1_IN31 input is reserved. */
  995. kXBARA1_InputQtimer3Tmr0Output = 32|0x100U, /**< QTIMER3_TMR0_OUTPUT output assigned to XBARA1_IN32 input. */
  996. kXBARA1_InputQtimer3Tmr1Output = 33|0x100U, /**< QTIMER3_TMR1_OUTPUT output assigned to XBARA1_IN33 input. */
  997. kXBARA1_InputQtimer3Tmr2Output = 34|0x100U, /**< QTIMER3_TMR2_OUTPUT output assigned to XBARA1_IN34 input. */
  998. kXBARA1_InputQtimer3Tmr3Output = 35|0x100U, /**< QTIMER3_TMR3_OUTPUT output assigned to XBARA1_IN35 input. */
  999. kXBARA1_InputQtimer4Tmr0Output = 36|0x100U, /**< QTIMER4_TMR0_OUTPUT output assigned to XBARA1_IN36 input. */
  1000. kXBARA1_InputQtimer4Tmr1Output = 37|0x100U, /**< QTIMER4_TMR1_OUTPUT output assigned to XBARA1_IN37 input. */
  1001. kXBARA1_InputQtimer4Tmr2Output = 38|0x100U, /**< QTIMER4_TMR2_OUTPUT output assigned to XBARA1_IN38 input. */
  1002. kXBARA1_InputQtimer4Tmr3Output = 39|0x100U, /**< QTIMER4_TMR3_OUTPUT output assigned to XBARA1_IN39 input. */
  1003. kXBARA1_InputFlexpwm1Pwm1OutTrig01 = 40|0x100U, /**< FLEXPWM1_PWM1_OUT_TRIG0_1 output assigned to XBARA1_IN40 input. */
  1004. kXBARA1_InputFlexpwm1Pwm2OutTrig01 = 41|0x100U, /**< FLEXPWM1_PWM2_OUT_TRIG0_1 output assigned to XBARA1_IN41 input. */
  1005. kXBARA1_InputFlexpwm1Pwm3OutTrig01 = 42|0x100U, /**< FLEXPWM1_PWM3_OUT_TRIG0_1 output assigned to XBARA1_IN42 input. */
  1006. kXBARA1_InputFlexpwm1Pwm4OutTrig01 = 43|0x100U, /**< FLEXPWM1_PWM4_OUT_TRIG0_1 output assigned to XBARA1_IN43 input. */
  1007. kXBARA1_InputFlexpwm2Pwm1OutTrig01 = 44|0x100U, /**< FLEXPWM2_PWM1_OUT_TRIG0_1 output assigned to XBARA1_IN44 input. */
  1008. kXBARA1_InputFlexpwm2Pwm2OutTrig01 = 45|0x100U, /**< FLEXPWM2_PWM2_OUT_TRIG0_1 output assigned to XBARA1_IN45 input. */
  1009. kXBARA1_InputFlexpwm2Pwm3OutTrig01 = 46|0x100U, /**< FLEXPWM2_PWM3_OUT_TRIG0_1 output assigned to XBARA1_IN46 input. */
  1010. kXBARA1_InputFlexpwm2Pwm4OutTrig01 = 47|0x100U, /**< FLEXPWM2_PWM4_OUT_TRIG0_1 output assigned to XBARA1_IN47 input. */
  1011. kXBARA1_InputFlexpwm3Pwm1OutTrig01 = 48|0x100U, /**< FLEXPWM3_PWM1_OUT_TRIG0_1 output assigned to XBARA1_IN48 input. */
  1012. kXBARA1_InputFlexpwm3Pwm2OutTrig01 = 49|0x100U, /**< FLEXPWM3_PWM2_OUT_TRIG0_1 output assigned to XBARA1_IN49 input. */
  1013. kXBARA1_InputFlexpwm3Pwm3OutTrig01 = 50|0x100U, /**< FLEXPWM3_PWM3_OUT_TRIG0_1 output assigned to XBARA1_IN50 input. */
  1014. kXBARA1_InputFlexpwm3Pwm4OutTrig01 = 51|0x100U, /**< FLEXPWM3_PWM4_OUT_TRIG0_1 output assigned to XBARA1_IN51 input. */
  1015. kXBARA1_InputFlexpwm4Pwm1OutTrig01 = 52|0x100U, /**< FLEXPWM4_PWM1_OUT_TRIG0_1 output assigned to XBARA1_IN52 input. */
  1016. kXBARA1_InputFlexpwm4Pwm2OutTrig01 = 53|0x100U, /**< FLEXPWM4_PWM2_OUT_TRIG0_1 output assigned to XBARA1_IN53 input. */
  1017. kXBARA1_InputFlexpwm4Pwm3OutTrig01 = 54|0x100U, /**< FLEXPWM4_PWM3_OUT_TRIG0_1 output assigned to XBARA1_IN54 input. */
  1018. kXBARA1_InputFlexpwm4Pwm4OutTrig01 = 55|0x100U, /**< FLEXPWM4_PWM4_OUT_TRIG0_1 output assigned to XBARA1_IN55 input. */
  1019. kXBARA1_InputPitTrigger0 = 56|0x100U, /**< PIT_TRIGGER0 output assigned to XBARA1_IN56 input. */
  1020. kXBARA1_InputPitTrigger1 = 57|0x100U, /**< PIT_TRIGGER1 output assigned to XBARA1_IN57 input. */
  1021. kXBARA1_InputPitTrigger2 = 58|0x100U, /**< PIT_TRIGGER2 output assigned to XBARA1_IN58 input. */
  1022. kXBARA1_InputPitTrigger3 = 59|0x100U, /**< PIT_TRIGGER3 output assigned to XBARA1_IN59 input. */
  1023. kXBARA1_InputEnc1PosMatch = 60|0x100U, /**< ENC1_POS_MATCH output assigned to XBARA1_IN60 input. */
  1024. kXBARA1_InputEnc2PosMatch = 61|0x100U, /**< ENC2_POS_MATCH output assigned to XBARA1_IN61 input. */
  1025. kXBARA1_InputEnc3PosMatch = 62|0x100U, /**< ENC3_POS_MATCH output assigned to XBARA1_IN62 input. */
  1026. kXBARA1_InputEnc4PosMatch = 63|0x100U, /**< ENC4_POS_MATCH output assigned to XBARA1_IN63 input. */
  1027. kXBARA1_InputDmaDone0 = 64|0x100U, /**< DMA_DONE0 output assigned to XBARA1_IN64 input. */
  1028. kXBARA1_InputDmaDone1 = 65|0x100U, /**< DMA_DONE1 output assigned to XBARA1_IN65 input. */
  1029. kXBARA1_InputDmaDone2 = 66|0x100U, /**< DMA_DONE2 output assigned to XBARA1_IN66 input. */
  1030. kXBARA1_InputDmaDone3 = 67|0x100U, /**< DMA_DONE3 output assigned to XBARA1_IN67 input. */
  1031. kXBARA1_InputDmaDone4 = 68|0x100U, /**< DMA_DONE4 output assigned to XBARA1_IN68 input. */
  1032. kXBARA1_InputDmaDone5 = 69|0x100U, /**< DMA_DONE5 output assigned to XBARA1_IN69 input. */
  1033. kXBARA1_InputDmaDone6 = 70|0x100U, /**< DMA_DONE6 output assigned to XBARA1_IN70 input. */
  1034. kXBARA1_InputDmaDone7 = 71|0x100U, /**< DMA_DONE7 output assigned to XBARA1_IN71 input. */
  1035. kXBARA1_InputAoi1Out0 = 72|0x100U, /**< AOI1_OUT0 output assigned to XBARA1_IN72 input. */
  1036. kXBARA1_InputAoi1Out1 = 73|0x100U, /**< AOI1_OUT1 output assigned to XBARA1_IN73 input. */
  1037. kXBARA1_InputAoi1Out2 = 74|0x100U, /**< AOI1_OUT2 output assigned to XBARA1_IN74 input. */
  1038. kXBARA1_InputAoi1Out3 = 75|0x100U, /**< AOI1_OUT3 output assigned to XBARA1_IN75 input. */
  1039. kXBARA1_InputAoi2Out0 = 76|0x100U, /**< AOI2_OUT0 output assigned to XBARA1_IN76 input. */
  1040. kXBARA1_InputAoi2Out1 = 77|0x100U, /**< AOI2_OUT1 output assigned to XBARA1_IN77 input. */
  1041. kXBARA1_InputAoi2Out2 = 78|0x100U, /**< AOI2_OUT2 output assigned to XBARA1_IN78 input. */
  1042. kXBARA1_InputAoi2Out3 = 79|0x100U, /**< AOI2_OUT3 output assigned to XBARA1_IN79 input. */
  1043. kXBARA1_InputAdcEtcXbar0Coco0 = 80|0x100U, /**< ADC_ETC_XBAR0_COCO0 output assigned to XBARA1_IN80 input. */
  1044. kXBARA1_InputAdcEtcXbar0Coco1 = 81|0x100U, /**< ADC_ETC_XBAR0_COCO1 output assigned to XBARA1_IN81 input. */
  1045. kXBARA1_InputAdcEtcXbar0Coco2 = 82|0x100U, /**< ADC_ETC_XBAR0_COCO2 output assigned to XBARA1_IN82 input. */
  1046. kXBARA1_InputAdcEtcXbar0Coco3 = 83|0x100U, /**< ADC_ETC_XBAR0_COCO3 output assigned to XBARA1_IN83 input. */
  1047. kXBARA1_InputAdcEtcXbar1Coco0 = 84|0x100U, /**< ADC_ETC_XBAR1_COCO0 output assigned to XBARA1_IN84 input. */
  1048. kXBARA1_InputAdcEtcXbar1Coco1 = 85|0x100U, /**< ADC_ETC_XBAR1_COCO1 output assigned to XBARA1_IN85 input. */
  1049. kXBARA1_InputAdcEtcXbar1Coco2 = 86|0x100U, /**< ADC_ETC_XBAR1_COCO2 output assigned to XBARA1_IN86 input. */
  1050. kXBARA1_InputAdcEtcXbar1Coco3 = 87|0x100U, /**< ADC_ETC_XBAR1_COCO3 output assigned to XBARA1_IN87 input. */
  1051. kXBARB2_InputLogicLow = 0|0x200U, /**< LOGIC_LOW output assigned to XBARB2_IN0 input. */
  1052. kXBARB2_InputLogicHigh = 1|0x200U, /**< LOGIC_HIGH output assigned to XBARB2_IN1 input. */
  1053. kXBARB2_InputRESERVED2 = 2|0x200U, /**< XBARB2_IN2 input is reserved. */
  1054. kXBARB2_InputRESERVED3 = 3|0x200U, /**< XBARB2_IN3 input is reserved. */
  1055. kXBARB2_InputRESERVED4 = 4|0x200U, /**< XBARB2_IN4 input is reserved. */
  1056. kXBARB2_InputRESERVED5 = 5|0x200U, /**< XBARB2_IN5 input is reserved. */
  1057. kXBARB2_InputAcmp1Out = 6|0x200U, /**< ACMP1_OUT output assigned to XBARB2_IN6 input. */
  1058. kXBARB2_InputAcmp2Out = 7|0x200U, /**< ACMP2_OUT output assigned to XBARB2_IN7 input. */
  1059. kXBARB2_InputAcmp3Out = 8|0x200U, /**< ACMP3_OUT output assigned to XBARB2_IN8 input. */
  1060. kXBARB2_InputAcmp4Out = 9|0x200U, /**< ACMP4_OUT output assigned to XBARB2_IN9 input. */
  1061. kXBARB2_InputRESERVED10 = 10|0x200U, /**< XBARB2_IN10 input is reserved. */
  1062. kXBARB2_InputRESERVED11 = 11|0x200U, /**< XBARB2_IN11 input is reserved. */
  1063. kXBARB2_InputQtimer3Tmr0Output = 12|0x200U, /**< QTIMER3_TMR0_OUTPUT output assigned to XBARB2_IN12 input. */
  1064. kXBARB2_InputQtimer3Tmr1Output = 13|0x200U, /**< QTIMER3_TMR1_OUTPUT output assigned to XBARB2_IN13 input. */
  1065. kXBARB2_InputQtimer3Tmr2Output = 14|0x200U, /**< QTIMER3_TMR2_OUTPUT output assigned to XBARB2_IN14 input. */
  1066. kXBARB2_InputQtimer3Tmr3Output = 15|0x200U, /**< QTIMER3_TMR3_OUTPUT output assigned to XBARB2_IN15 input. */
  1067. kXBARB2_InputQtimer4Tmr0Output = 16|0x200U, /**< QTIMER4_TMR0_OUTPUT output assigned to XBARB2_IN16 input. */
  1068. kXBARB2_InputQtimer4Tmr1Output = 17|0x200U, /**< QTIMER4_TMR1_OUTPUT output assigned to XBARB2_IN17 input. */
  1069. kXBARB2_InputQtimer4Tmr2Output = 18|0x200U, /**< QTIMER4_TMR2_OUTPUT output assigned to XBARB2_IN18 input. */
  1070. kXBARB2_InputQtimer4Tmr3Output = 19|0x200U, /**< QTIMER4_TMR3_OUTPUT output assigned to XBARB2_IN19 input. */
  1071. kXBARB2_InputFlexpwm1Pwm1OutTrig01 = 20|0x200U, /**< FLEXPWM1_PWM1_OUT_TRIG0_1 output assigned to XBARB2_IN20 input. */
  1072. kXBARB2_InputFlexpwm1Pwm2OutTrig01 = 21|0x200U, /**< FLEXPWM1_PWM2_OUT_TRIG0_1 output assigned to XBARB2_IN21 input. */
  1073. kXBARB2_InputFlexpwm1Pwm3OutTrig01 = 22|0x200U, /**< FLEXPWM1_PWM3_OUT_TRIG0_1 output assigned to XBARB2_IN22 input. */
  1074. kXBARB2_InputFlexpwm1Pwm4OutTrig01 = 23|0x200U, /**< FLEXPWM1_PWM4_OUT_TRIG0_1 output assigned to XBARB2_IN23 input. */
  1075. kXBARB2_InputFlexpwm2Pwm1OutTrig01 = 24|0x200U, /**< FLEXPWM2_PWM1_OUT_TRIG0_1 output assigned to XBARB2_IN24 input. */
  1076. kXBARB2_InputFlexpwm2Pwm2OutTrig01 = 25|0x200U, /**< FLEXPWM2_PWM2_OUT_TRIG0_1 output assigned to XBARB2_IN25 input. */
  1077. kXBARB2_InputFlexpwm2Pwm3OutTrig01 = 26|0x200U, /**< FLEXPWM2_PWM3_OUT_TRIG0_1 output assigned to XBARB2_IN26 input. */
  1078. kXBARB2_InputFlexpwm2Pwm4OutTrig01 = 27|0x200U, /**< FLEXPWM2_PWM4_OUT_TRIG0_1 output assigned to XBARB2_IN27 input. */
  1079. kXBARB2_InputFlexpwm3Pwm1OutTrig01 = 28|0x200U, /**< FLEXPWM3_PWM1_OUT_TRIG0_1 output assigned to XBARB2_IN28 input. */
  1080. kXBARB2_InputFlexpwm3Pwm2OutTrig01 = 29|0x200U, /**< FLEXPWM3_PWM2_OUT_TRIG0_1 output assigned to XBARB2_IN29 input. */
  1081. kXBARB2_InputFlexpwm3Pwm3OutTrig01 = 30|0x200U, /**< FLEXPWM3_PWM3_OUT_TRIG0_1 output assigned to XBARB2_IN30 input. */
  1082. kXBARB2_InputFlexpwm3Pwm4OutTrig01 = 31|0x200U, /**< FLEXPWM3_PWM4_OUT_TRIG0_1 output assigned to XBARB2_IN31 input. */
  1083. kXBARB2_InputFlexpwm4Pwm1OutTrig01 = 32|0x200U, /**< FLEXPWM4_PWM1_OUT_TRIG0_1 output assigned to XBARB2_IN32 input. */
  1084. kXBARB2_InputFlexpwm4Pwm2OutTrig01 = 33|0x200U, /**< FLEXPWM4_PWM2_OUT_TRIG0_1 output assigned to XBARB2_IN33 input. */
  1085. kXBARB2_InputFlexpwm4Pwm3OutTrig01 = 34|0x200U, /**< FLEXPWM4_PWM3_OUT_TRIG0_1 output assigned to XBARB2_IN34 input. */
  1086. kXBARB2_InputFlexpwm4Pwm4OutTrig01 = 35|0x200U, /**< FLEXPWM4_PWM4_OUT_TRIG0_1 output assigned to XBARB2_IN35 input. */
  1087. kXBARB2_InputPitTrigger0 = 36|0x200U, /**< PIT_TRIGGER0 output assigned to XBARB2_IN36 input. */
  1088. kXBARB2_InputPitTrigger1 = 37|0x200U, /**< PIT_TRIGGER1 output assigned to XBARB2_IN37 input. */
  1089. kXBARB2_InputAdcEtcXbar0Coco0 = 38|0x200U, /**< ADC_ETC_XBAR0_COCO0 output assigned to XBARB2_IN38 input. */
  1090. kXBARB2_InputAdcEtcXbar0Coco1 = 39|0x200U, /**< ADC_ETC_XBAR0_COCO1 output assigned to XBARB2_IN39 input. */
  1091. kXBARB2_InputAdcEtcXbar0Coco2 = 40|0x200U, /**< ADC_ETC_XBAR0_COCO2 output assigned to XBARB2_IN40 input. */
  1092. kXBARB2_InputAdcEtcXbar0Coco3 = 41|0x200U, /**< ADC_ETC_XBAR0_COCO3 output assigned to XBARB2_IN41 input. */
  1093. kXBARB2_InputAdcEtcXbar1Coco0 = 42|0x200U, /**< ADC_ETC_XBAR1_COCO0 output assigned to XBARB2_IN42 input. */
  1094. kXBARB2_InputAdcEtcXbar1Coco1 = 43|0x200U, /**< ADC_ETC_XBAR1_COCO1 output assigned to XBARB2_IN43 input. */
  1095. kXBARB2_InputAdcEtcXbar1Coco2 = 44|0x200U, /**< ADC_ETC_XBAR1_COCO2 output assigned to XBARB2_IN44 input. */
  1096. kXBARB2_InputAdcEtcXbar1Coco3 = 45|0x200U, /**< ADC_ETC_XBAR1_COCO3 output assigned to XBARB2_IN45 input. */
  1097. kXBARB2_InputEnc1PosMatch = 46|0x200U, /**< ENC1_POS_MATCH output assigned to XBARB2_IN46 input. */
  1098. kXBARB2_InputEnc2PosMatch = 47|0x200U, /**< ENC2_POS_MATCH output assigned to XBARB2_IN47 input. */
  1099. kXBARB2_InputEnc3PosMatch = 48|0x200U, /**< ENC3_POS_MATCH output assigned to XBARB2_IN48 input. */
  1100. kXBARB2_InputEnc4PosMatch = 49|0x200U, /**< ENC4_POS_MATCH output assigned to XBARB2_IN49 input. */
  1101. kXBARB2_InputDmaDone0 = 50|0x200U, /**< DMA_DONE0 output assigned to XBARB2_IN50 input. */
  1102. kXBARB2_InputDmaDone1 = 51|0x200U, /**< DMA_DONE1 output assigned to XBARB2_IN51 input. */
  1103. kXBARB2_InputDmaDone2 = 52|0x200U, /**< DMA_DONE2 output assigned to XBARB2_IN52 input. */
  1104. kXBARB2_InputDmaDone3 = 53|0x200U, /**< DMA_DONE3 output assigned to XBARB2_IN53 input. */
  1105. kXBARB2_InputDmaDone4 = 54|0x200U, /**< DMA_DONE4 output assigned to XBARB2_IN54 input. */
  1106. kXBARB2_InputDmaDone5 = 55|0x200U, /**< DMA_DONE5 output assigned to XBARB2_IN55 input. */
  1107. kXBARB2_InputDmaDone6 = 56|0x200U, /**< DMA_DONE6 output assigned to XBARB2_IN56 input. */
  1108. kXBARB2_InputDmaDone7 = 57|0x200U, /**< DMA_DONE7 output assigned to XBARB2_IN57 input. */
  1109. kXBARB3_InputLogicLow = 0|0x300U, /**< LOGIC_LOW output assigned to XBARB3_IN0 input. */
  1110. kXBARB3_InputLogicHigh = 1|0x300U, /**< LOGIC_HIGH output assigned to XBARB3_IN1 input. */
  1111. kXBARB3_InputRESERVED2 = 2|0x300U, /**< XBARB3_IN2 input is reserved. */
  1112. kXBARB3_InputRESERVED3 = 3|0x300U, /**< XBARB3_IN3 input is reserved. */
  1113. kXBARB3_InputRESERVED4 = 4|0x300U, /**< XBARB3_IN4 input is reserved. */
  1114. kXBARB3_InputRESERVED5 = 5|0x300U, /**< XBARB3_IN5 input is reserved. */
  1115. kXBARB3_InputAcmp1Out = 6|0x300U, /**< ACMP1_OUT output assigned to XBARB3_IN6 input. */
  1116. kXBARB3_InputAcmp2Out = 7|0x300U, /**< ACMP2_OUT output assigned to XBARB3_IN7 input. */
  1117. kXBARB3_InputAcmp3Out = 8|0x300U, /**< ACMP3_OUT output assigned to XBARB3_IN8 input. */
  1118. kXBARB3_InputAcmp4Out = 9|0x300U, /**< ACMP4_OUT output assigned to XBARB3_IN9 input. */
  1119. kXBARB3_InputRESERVED10 = 10|0x300U, /**< XBARB3_IN10 input is reserved. */
  1120. kXBARB3_InputRESERVED11 = 11|0x300U, /**< XBARB3_IN11 input is reserved. */
  1121. kXBARB3_InputQtimer3Tmr0Output = 12|0x300U, /**< QTIMER3_TMR0_OUTPUT output assigned to XBARB3_IN12 input. */
  1122. kXBARB3_InputQtimer3Tmr1Output = 13|0x300U, /**< QTIMER3_TMR1_OUTPUT output assigned to XBARB3_IN13 input. */
  1123. kXBARB3_InputQtimer3Tmr2Output = 14|0x300U, /**< QTIMER3_TMR2_OUTPUT output assigned to XBARB3_IN14 input. */
  1124. kXBARB3_InputQtimer3Tmr3Output = 15|0x300U, /**< QTIMER3_TMR3_OUTPUT output assigned to XBARB3_IN15 input. */
  1125. kXBARB3_InputQtimer4Tmr0Output = 16|0x300U, /**< QTIMER4_TMR0_OUTPUT output assigned to XBARB3_IN16 input. */
  1126. kXBARB3_InputQtimer4Tmr1Output = 17|0x300U, /**< QTIMER4_TMR1_OUTPUT output assigned to XBARB3_IN17 input. */
  1127. kXBARB3_InputQtimer4Tmr2Output = 18|0x300U, /**< QTIMER4_TMR2_OUTPUT output assigned to XBARB3_IN18 input. */
  1128. kXBARB3_InputQtimer4Tmr3Output = 19|0x300U, /**< QTIMER4_TMR3_OUTPUT output assigned to XBARB3_IN19 input. */
  1129. kXBARB3_InputFlexpwm1Pwm1OutTrig01 = 20|0x300U, /**< FLEXPWM1_PWM1_OUT_TRIG0_1 output assigned to XBARB3_IN20 input. */
  1130. kXBARB3_InputFlexpwm1Pwm2OutTrig01 = 21|0x300U, /**< FLEXPWM1_PWM2_OUT_TRIG0_1 output assigned to XBARB3_IN21 input. */
  1131. kXBARB3_InputFlexpwm1Pwm3OutTrig01 = 22|0x300U, /**< FLEXPWM1_PWM3_OUT_TRIG0_1 output assigned to XBARB3_IN22 input. */
  1132. kXBARB3_InputFlexpwm1Pwm4OutTrig01 = 23|0x300U, /**< FLEXPWM1_PWM4_OUT_TRIG0_1 output assigned to XBARB3_IN23 input. */
  1133. kXBARB3_InputFlexpwm2Pwm1OutTrig01 = 24|0x300U, /**< FLEXPWM2_PWM1_OUT_TRIG0_1 output assigned to XBARB3_IN24 input. */
  1134. kXBARB3_InputFlexpwm2Pwm2OutTrig01 = 25|0x300U, /**< FLEXPWM2_PWM2_OUT_TRIG0_1 output assigned to XBARB3_IN25 input. */
  1135. kXBARB3_InputFlexpwm2Pwm3OutTrig01 = 26|0x300U, /**< FLEXPWM2_PWM3_OUT_TRIG0_1 output assigned to XBARB3_IN26 input. */
  1136. kXBARB3_InputFlexpwm2Pwm4OutTrig01 = 27|0x300U, /**< FLEXPWM2_PWM4_OUT_TRIG0_1 output assigned to XBARB3_IN27 input. */
  1137. kXBARB3_InputFlexpwm3Pwm1OutTrig01 = 28|0x300U, /**< FLEXPWM3_PWM1_OUT_TRIG0_1 output assigned to XBARB3_IN28 input. */
  1138. kXBARB3_InputFlexpwm3Pwm2OutTrig01 = 29|0x300U, /**< FLEXPWM3_PWM2_OUT_TRIG0_1 output assigned to XBARB3_IN29 input. */
  1139. kXBARB3_InputFlexpwm3Pwm3OutTrig01 = 30|0x300U, /**< FLEXPWM3_PWM3_OUT_TRIG0_1 output assigned to XBARB3_IN30 input. */
  1140. kXBARB3_InputFlexpwm3Pwm4OutTrig01 = 31|0x300U, /**< FLEXPWM3_PWM4_OUT_TRIG0_1 output assigned to XBARB3_IN31 input. */
  1141. kXBARB3_InputFlexpwm4Pwm1OutTrig01 = 32|0x300U, /**< FLEXPWM4_PWM1_OUT_TRIG0_1 output assigned to XBARB3_IN32 input. */
  1142. kXBARB3_InputFlexpwm4Pwm2OutTrig01 = 33|0x300U, /**< FLEXPWM4_PWM2_OUT_TRIG0_1 output assigned to XBARB3_IN33 input. */
  1143. kXBARB3_InputFlexpwm4Pwm3OutTrig01 = 34|0x300U, /**< FLEXPWM4_PWM3_OUT_TRIG0_1 output assigned to XBARB3_IN34 input. */
  1144. kXBARB3_InputFlexpwm4Pwm4OutTrig01 = 35|0x300U, /**< FLEXPWM4_PWM4_OUT_TRIG0_1 output assigned to XBARB3_IN35 input. */
  1145. kXBARB3_InputPitTrigger0 = 36|0x300U, /**< PIT_TRIGGER0 output assigned to XBARB3_IN36 input. */
  1146. kXBARB3_InputPitTrigger1 = 37|0x300U, /**< PIT_TRIGGER1 output assigned to XBARB3_IN37 input. */
  1147. kXBARB3_InputAdcEtcXbar0Coco0 = 38|0x300U, /**< ADC_ETC_XBAR0_COCO0 output assigned to XBARB3_IN38 input. */
  1148. kXBARB3_InputAdcEtcXbar0Coco1 = 39|0x300U, /**< ADC_ETC_XBAR0_COCO1 output assigned to XBARB3_IN39 input. */
  1149. kXBARB3_InputAdcEtcXbar0Coco2 = 40|0x300U, /**< ADC_ETC_XBAR0_COCO2 output assigned to XBARB3_IN40 input. */
  1150. kXBARB3_InputAdcEtcXbar0Coco3 = 41|0x300U, /**< ADC_ETC_XBAR0_COCO3 output assigned to XBARB3_IN41 input. */
  1151. kXBARB3_InputAdcEtcXbar1Coco0 = 42|0x300U, /**< ADC_ETC_XBAR1_COCO0 output assigned to XBARB3_IN42 input. */
  1152. kXBARB3_InputAdcEtcXbar1Coco1 = 43|0x300U, /**< ADC_ETC_XBAR1_COCO1 output assigned to XBARB3_IN43 input. */
  1153. kXBARB3_InputAdcEtcXbar1Coco2 = 44|0x300U, /**< ADC_ETC_XBAR1_COCO2 output assigned to XBARB3_IN44 input. */
  1154. kXBARB3_InputAdcEtcXbar1Coco3 = 45|0x300U, /**< ADC_ETC_XBAR1_COCO3 output assigned to XBARB3_IN45 input. */
  1155. kXBARB3_InputEnc1PosMatch = 46|0x300U, /**< ENC1_POS_MATCH output assigned to XBARB3_IN46 input. */
  1156. kXBARB3_InputEnc2PosMatch = 47|0x300U, /**< ENC2_POS_MATCH output assigned to XBARB3_IN47 input. */
  1157. kXBARB3_InputEnc3PosMatch = 48|0x300U, /**< ENC3_POS_MATCH output assigned to XBARB3_IN48 input. */
  1158. kXBARB3_InputEnc4PosMatch = 49|0x300U, /**< ENC4_POS_MATCH output assigned to XBARB3_IN49 input. */
  1159. kXBARB3_InputDmaDone0 = 50|0x300U, /**< DMA_DONE0 output assigned to XBARB3_IN50 input. */
  1160. kXBARB3_InputDmaDone1 = 51|0x300U, /**< DMA_DONE1 output assigned to XBARB3_IN51 input. */
  1161. kXBARB3_InputDmaDone2 = 52|0x300U, /**< DMA_DONE2 output assigned to XBARB3_IN52 input. */
  1162. kXBARB3_InputDmaDone3 = 53|0x300U, /**< DMA_DONE3 output assigned to XBARB3_IN53 input. */
  1163. kXBARB3_InputDmaDone4 = 54|0x300U, /**< DMA_DONE4 output assigned to XBARB3_IN54 input. */
  1164. kXBARB3_InputDmaDone5 = 55|0x300U, /**< DMA_DONE5 output assigned to XBARB3_IN55 input. */
  1165. kXBARB3_InputDmaDone6 = 56|0x300U, /**< DMA_DONE6 output assigned to XBARB3_IN56 input. */
  1166. kXBARB3_InputDmaDone7 = 57|0x300U, /**< DMA_DONE7 output assigned to XBARB3_IN57 input. */
  1167. } xbar_input_signal_t;
  1168. typedef enum _xbar_output_signal
  1169. {
  1170. kXBARA1_OutputDmaChMuxReq30 = 0|0x100U, /**< XBARA1_OUT0 output assigned to DMA_CH_MUX_REQ30 */
  1171. kXBARA1_OutputDmaChMuxReq31 = 1|0x100U, /**< XBARA1_OUT1 output assigned to DMA_CH_MUX_REQ31 */
  1172. kXBARA1_OutputDmaChMuxReq94 = 2|0x100U, /**< XBARA1_OUT2 output assigned to DMA_CH_MUX_REQ94 */
  1173. kXBARA1_OutputDmaChMuxReq95 = 3|0x100U, /**< XBARA1_OUT3 output assigned to DMA_CH_MUX_REQ95 */
  1174. kXBARA1_OutputIomuxXbarInout04 = 4|0x100U, /**< XBARA1_OUT4 output assigned to IOMUX_XBAR_INOUT04 */
  1175. kXBARA1_OutputIomuxXbarInout05 = 5|0x100U, /**< XBARA1_OUT5 output assigned to IOMUX_XBAR_INOUT05 */
  1176. kXBARA1_OutputIomuxXbarInout06 = 6|0x100U, /**< XBARA1_OUT6 output assigned to IOMUX_XBAR_INOUT06 */
  1177. kXBARA1_OutputIomuxXbarInout07 = 7|0x100U, /**< XBARA1_OUT7 output assigned to IOMUX_XBAR_INOUT07 */
  1178. kXBARA1_OutputIomuxXbarInout08 = 8|0x100U, /**< XBARA1_OUT8 output assigned to IOMUX_XBAR_INOUT08 */
  1179. kXBARA1_OutputIomuxXbarInout09 = 9|0x100U, /**< XBARA1_OUT9 output assigned to IOMUX_XBAR_INOUT09 */
  1180. kXBARA1_OutputIomuxXbarInout10 = 10|0x100U, /**< XBARA1_OUT10 output assigned to IOMUX_XBAR_INOUT10 */
  1181. kXBARA1_OutputIomuxXbarInout11 = 11|0x100U, /**< XBARA1_OUT11 output assigned to IOMUX_XBAR_INOUT11 */
  1182. kXBARA1_OutputIomuxXbarInout12 = 12|0x100U, /**< XBARA1_OUT12 output assigned to IOMUX_XBAR_INOUT12 */
  1183. kXBARA1_OutputIomuxXbarInout13 = 13|0x100U, /**< XBARA1_OUT13 output assigned to IOMUX_XBAR_INOUT13 */
  1184. kXBARA1_OutputIomuxXbarInout14 = 14|0x100U, /**< XBARA1_OUT14 output assigned to IOMUX_XBAR_INOUT14 */
  1185. kXBARA1_OutputIomuxXbarInout15 = 15|0x100U, /**< XBARA1_OUT15 output assigned to IOMUX_XBAR_INOUT15 */
  1186. kXBARA1_OutputIomuxXbarInout16 = 16|0x100U, /**< XBARA1_OUT16 output assigned to IOMUX_XBAR_INOUT16 */
  1187. kXBARA1_OutputIomuxXbarInout17 = 17|0x100U, /**< XBARA1_OUT17 output assigned to IOMUX_XBAR_INOUT17 */
  1188. kXBARA1_OutputIomuxXbarInout18 = 18|0x100U, /**< XBARA1_OUT18 output assigned to IOMUX_XBAR_INOUT18 */
  1189. kXBARA1_OutputIomuxXbarInout19 = 19|0x100U, /**< XBARA1_OUT19 output assigned to IOMUX_XBAR_INOUT19 */
  1190. kXBARA1_OutputAcmp1Sample = 20|0x100U, /**< XBARA1_OUT20 output assigned to ACMP1_SAMPLE */
  1191. kXBARA1_OutputAcmp2Sample = 21|0x100U, /**< XBARA1_OUT21 output assigned to ACMP2_SAMPLE */
  1192. kXBARA1_OutputAcmp3Sample = 22|0x100U, /**< XBARA1_OUT22 output assigned to ACMP3_SAMPLE */
  1193. kXBARA1_OutputAcmp4Sample = 23|0x100U, /**< XBARA1_OUT23 output assigned to ACMP4_SAMPLE */
  1194. kXBARA1_OutputRESERVED24 = 24|0x100U, /**< XBARA1_OUT24 output is reserved. */
  1195. kXBARA1_OutputRESERVED25 = 25|0x100U, /**< XBARA1_OUT25 output is reserved. */
  1196. kXBARA1_OutputFlexpwm1Exta0 = 26|0x100U, /**< XBARA1_OUT26 output assigned to FLEXPWM1_EXTA0 */
  1197. kXBARA1_OutputFlexpwm1Exta1 = 27|0x100U, /**< XBARA1_OUT27 output assigned to FLEXPWM1_EXTA1 */
  1198. kXBARA1_OutputFlexpwm1Exta2 = 28|0x100U, /**< XBARA1_OUT28 output assigned to FLEXPWM1_EXTA2 */
  1199. kXBARA1_OutputFlexpwm1Exta3 = 29|0x100U, /**< XBARA1_OUT29 output assigned to FLEXPWM1_EXTA3 */
  1200. kXBARA1_OutputFlexpwm1ExtSync0 = 30|0x100U, /**< XBARA1_OUT30 output assigned to FLEXPWM1_EXT_SYNC0 */
  1201. kXBARA1_OutputFlexpwm1ExtSync1 = 31|0x100U, /**< XBARA1_OUT31 output assigned to FLEXPWM1_EXT_SYNC1 */
  1202. kXBARA1_OutputFlexpwm1ExtSync2 = 32|0x100U, /**< XBARA1_OUT32 output assigned to FLEXPWM1_EXT_SYNC2 */
  1203. kXBARA1_OutputFlexpwm1ExtSync3 = 33|0x100U, /**< XBARA1_OUT33 output assigned to FLEXPWM1_EXT_SYNC3 */
  1204. kXBARA1_OutputFlexpwm1ExtClk = 34|0x100U, /**< XBARA1_OUT34 output assigned to FLEXPWM1_EXT_CLK */
  1205. kXBARA1_OutputFlexpwm1Fault0 = 35|0x100U, /**< XBARA1_OUT35 output assigned to FLEXPWM1_FAULT0 */
  1206. kXBARA1_OutputFlexpwm1Fault1 = 36|0x100U, /**< XBARA1_OUT36 output assigned to FLEXPWM1_FAULT1 */
  1207. kXBARA1_OutputFlexpwm1234Fault2 = 37|0x100U, /**< XBARA1_OUT37 output assigned to FLEXPWM1_2_3_4_FAULT2 */
  1208. kXBARA1_OutputFlexpwm1234Fault3 = 38|0x100U, /**< XBARA1_OUT38 output assigned to FLEXPWM1_2_3_4_FAULT3 */
  1209. kXBARA1_OutputFlexpwm1ExtForce = 39|0x100U, /**< XBARA1_OUT39 output assigned to FLEXPWM1_EXT_FORCE */
  1210. kXBARA1_OutputFlexpwm234Exta0 = 40|0x100U, /**< XBARA1_OUT40 output assigned to FLEXPWM2_3_4_EXTA0 */
  1211. kXBARA1_OutputFlexpwm234Exta1 = 41|0x100U, /**< XBARA1_OUT41 output assigned to FLEXPWM2_3_4_EXTA1 */
  1212. kXBARA1_OutputFlexpwm234Exta2 = 42|0x100U, /**< XBARA1_OUT42 output assigned to FLEXPWM2_3_4_EXTA2 */
  1213. kXBARA1_OutputFlexpwm234Exta3 = 43|0x100U, /**< XBARA1_OUT43 output assigned to FLEXPWM2_3_4_EXTA3 */
  1214. kXBARA1_OutputFlexpwm2ExtSync0 = 44|0x100U, /**< XBARA1_OUT44 output assigned to FLEXPWM2_EXT_SYNC0 */
  1215. kXBARA1_OutputFlexpwm2ExtSync1 = 45|0x100U, /**< XBARA1_OUT45 output assigned to FLEXPWM2_EXT_SYNC1 */
  1216. kXBARA1_OutputFlexpwm2ExtSync2 = 46|0x100U, /**< XBARA1_OUT46 output assigned to FLEXPWM2_EXT_SYNC2 */
  1217. kXBARA1_OutputFlexpwm2ExtSync3 = 47|0x100U, /**< XBARA1_OUT47 output assigned to FLEXPWM2_EXT_SYNC3 */
  1218. kXBARA1_OutputFlexpwm234ExtClk = 48|0x100U, /**< XBARA1_OUT48 output assigned to FLEXPWM2_3_4_EXT_CLK */
  1219. kXBARA1_OutputFlexpwm2Fault0 = 49|0x100U, /**< XBARA1_OUT49 output assigned to FLEXPWM2_FAULT0 */
  1220. kXBARA1_OutputFlexpwm2Fault1 = 50|0x100U, /**< XBARA1_OUT50 output assigned to FLEXPWM2_FAULT1 */
  1221. kXBARA1_OutputFlexpwm2ExtForce = 51|0x100U, /**< XBARA1_OUT51 output assigned to FLEXPWM2_EXT_FORCE */
  1222. kXBARA1_OutputFlexpwm3ExtSync0 = 52|0x100U, /**< XBARA1_OUT52 output assigned to FLEXPWM3_EXT_SYNC0 */
  1223. kXBARA1_OutputFlexpwm3ExtSync1 = 53|0x100U, /**< XBARA1_OUT53 output assigned to FLEXPWM3_EXT_SYNC1 */
  1224. kXBARA1_OutputFlexpwm3ExtSync2 = 54|0x100U, /**< XBARA1_OUT54 output assigned to FLEXPWM3_EXT_SYNC2 */
  1225. kXBARA1_OutputFlexpwm3ExtSync3 = 55|0x100U, /**< XBARA1_OUT55 output assigned to FLEXPWM3_EXT_SYNC3 */
  1226. kXBARA1_OutputFlexpwm3Fault0 = 56|0x100U, /**< XBARA1_OUT56 output assigned to FLEXPWM3_FAULT0 */
  1227. kXBARA1_OutputFlexpwm3Fault1 = 57|0x100U, /**< XBARA1_OUT57 output assigned to FLEXPWM3_FAULT1 */
  1228. kXBARA1_OutputFlexpwm3ExtForce = 58|0x100U, /**< XBARA1_OUT58 output assigned to FLEXPWM3_EXT_FORCE */
  1229. kXBARA1_OutputFlexpwm4ExtSync0 = 59|0x100U, /**< XBARA1_OUT59 output assigned to FLEXPWM4_EXT_SYNC0 */
  1230. kXBARA1_OutputFlexpwm4ExtSync1 = 60|0x100U, /**< XBARA1_OUT60 output assigned to FLEXPWM4_EXT_SYNC1 */
  1231. kXBARA1_OutputFlexpwm4ExtSync2 = 61|0x100U, /**< XBARA1_OUT61 output assigned to FLEXPWM4_EXT_SYNC2 */
  1232. kXBARA1_OutputFlexpwm4ExtSync3 = 62|0x100U, /**< XBARA1_OUT62 output assigned to FLEXPWM4_EXT_SYNC3 */
  1233. kXBARA1_OutputFlexpwm4Fault0 = 63|0x100U, /**< XBARA1_OUT63 output assigned to FLEXPWM4_FAULT0 */
  1234. kXBARA1_OutputFlexpwm4Fault1 = 64|0x100U, /**< XBARA1_OUT64 output assigned to FLEXPWM4_FAULT1 */
  1235. kXBARA1_OutputFlexpwm4ExtForce = 65|0x100U, /**< XBARA1_OUT65 output assigned to FLEXPWM4_EXT_FORCE */
  1236. kXBARA1_OutputEnc1PhaseAInput = 66|0x100U, /**< XBARA1_OUT66 output assigned to ENC1_PHASE_A_INPUT */
  1237. kXBARA1_OutputEnc1PhaseBInput = 67|0x100U, /**< XBARA1_OUT67 output assigned to ENC1_PHASE_B_INPUT */
  1238. kXBARA1_OutputEnc1Index = 68|0x100U, /**< XBARA1_OUT68 output assigned to ENC1_INDEX */
  1239. kXBARA1_OutputEnc1Home = 69|0x100U, /**< XBARA1_OUT69 output assigned to ENC1_HOME */
  1240. kXBARA1_OutputEnc1Trigger = 70|0x100U, /**< XBARA1_OUT70 output assigned to ENC1_TRIGGER */
  1241. kXBARA1_OutputEnc2PhaseAInput = 71|0x100U, /**< XBARA1_OUT71 output assigned to ENC2_PHASE_A_INPUT */
  1242. kXBARA1_OutputEnc2PhaseBInput = 72|0x100U, /**< XBARA1_OUT72 output assigned to ENC2_PHASE_B_INPUT */
  1243. kXBARA1_OutputEnc2Index = 73|0x100U, /**< XBARA1_OUT73 output assigned to ENC2_INDEX */
  1244. kXBARA1_OutputEnc2Home = 74|0x100U, /**< XBARA1_OUT74 output assigned to ENC2_HOME */
  1245. kXBARA1_OutputEnc2Trigger = 75|0x100U, /**< XBARA1_OUT75 output assigned to ENC2_TRIGGER */
  1246. kXBARA1_OutputEnc3PhaseAInput = 76|0x100U, /**< XBARA1_OUT76 output assigned to ENC3_PHASE_A_INPUT */
  1247. kXBARA1_OutputEnc3PhaseBInput = 77|0x100U, /**< XBARA1_OUT77 output assigned to ENC3_PHASE_B_INPUT */
  1248. kXBARA1_OutputEnc3Index = 78|0x100U, /**< XBARA1_OUT78 output assigned to ENC3_INDEX */
  1249. kXBARA1_OutputEnc3Home = 79|0x100U, /**< XBARA1_OUT79 output assigned to ENC3_HOME */
  1250. kXBARA1_OutputEnc3Trigger = 80|0x100U, /**< XBARA1_OUT80 output assigned to ENC3_TRIGGER */
  1251. kXBARA1_OutputEnc4PhaseAInput = 81|0x100U, /**< XBARA1_OUT81 output assigned to ENC4_PHASE_A_INPUT */
  1252. kXBARA1_OutputEnc4PhaseBInput = 82|0x100U, /**< XBARA1_OUT82 output assigned to ENC4_PHASE_B_INPUT */
  1253. kXBARA1_OutputEnc4Index = 83|0x100U, /**< XBARA1_OUT83 output assigned to ENC4_INDEX */
  1254. kXBARA1_OutputEnc4Home = 84|0x100U, /**< XBARA1_OUT84 output assigned to ENC4_HOME */
  1255. kXBARA1_OutputEnc4Trigger = 85|0x100U, /**< XBARA1_OUT85 output assigned to ENC4_TRIGGER */
  1256. kXBARA1_OutputQtimer1Tmr0Input = 86|0x100U, /**< XBARA1_OUT86 output assigned to QTIMER1_TMR0_INPUT */
  1257. kXBARA1_OutputQtimer1Tmr1Input = 87|0x100U, /**< XBARA1_OUT87 output assigned to QTIMER1_TMR1_INPUT */
  1258. kXBARA1_OutputQtimer1Tmr2Input = 88|0x100U, /**< XBARA1_OUT88 output assigned to QTIMER1_TMR2_INPUT */
  1259. kXBARA1_OutputQtimer1Tmr3Input = 89|0x100U, /**< XBARA1_OUT89 output assigned to QTIMER1_TMR3_INPUT */
  1260. kXBARA1_OutputQtimer2Tmr0Input = 90|0x100U, /**< XBARA1_OUT90 output assigned to QTIMER2_TMR0_INPUT */
  1261. kXBARA1_OutputQtimer2Tmr1Input = 91|0x100U, /**< XBARA1_OUT91 output assigned to QTIMER2_TMR1_INPUT */
  1262. kXBARA1_OutputQtimer2Tmr2Input = 92|0x100U, /**< XBARA1_OUT92 output assigned to QTIMER2_TMR2_INPUT */
  1263. kXBARA1_OutputQtimer2Tmr3Input = 93|0x100U, /**< XBARA1_OUT93 output assigned to QTIMER2_TMR3_INPUT */
  1264. kXBARA1_OutputQtimer3Tmr0Input = 94|0x100U, /**< XBARA1_OUT94 output assigned to QTIMER3_TMR0_INPUT */
  1265. kXBARA1_OutputQtimer3Tmr1Input = 95|0x100U, /**< XBARA1_OUT95 output assigned to QTIMER3_TMR1_INPUT */
  1266. kXBARA1_OutputQtimer3Tmr2Input = 96|0x100U, /**< XBARA1_OUT96 output assigned to QTIMER3_TMR2_INPUT */
  1267. kXBARA1_OutputQtimer3Tmr3Input = 97|0x100U, /**< XBARA1_OUT97 output assigned to QTIMER3_TMR3_INPUT */
  1268. kXBARA1_OutputQtimer4Tmr0Input = 98|0x100U, /**< XBARA1_OUT98 output assigned to QTIMER4_TMR0_INPUT */
  1269. kXBARA1_OutputQtimer4Tmr1Input = 99|0x100U, /**< XBARA1_OUT99 output assigned to QTIMER4_TMR1_INPUT */
  1270. kXBARA1_OutputQtimer4Tmr2Input = 100|0x100U, /**< XBARA1_OUT100 output assigned to QTIMER4_TMR2_INPUT */
  1271. kXBARA1_OutputQtimer4Tmr3Input = 101|0x100U, /**< XBARA1_OUT101 output assigned to QTIMER4_TMR3_INPUT */
  1272. kXBARA1_OutputEwmEwmIn = 102|0x100U, /**< XBARA1_OUT102 output assigned to EWM_EWM_IN */
  1273. kXBARA1_OutputAdcEtcXbar0Trig0 = 103|0x100U, /**< XBARA1_OUT103 output assigned to ADC_ETC_XBAR0_TRIG0 */
  1274. kXBARA1_OutputAdcEtcXbar0Trig1 = 104|0x100U, /**< XBARA1_OUT104 output assigned to ADC_ETC_XBAR0_TRIG1 */
  1275. kXBARA1_OutputAdcEtcXbar0Trig2 = 105|0x100U, /**< XBARA1_OUT105 output assigned to ADC_ETC_XBAR0_TRIG2 */
  1276. kXBARA1_OutputAdcEtcXbar0Trig3 = 106|0x100U, /**< XBARA1_OUT106 output assigned to ADC_ETC_XBAR0_TRIG3 */
  1277. kXBARA1_OutputAdcEtcXbar1Trig0 = 107|0x100U, /**< XBARA1_OUT107 output assigned to ADC_ETC_XBAR1_TRIG0 */
  1278. kXBARA1_OutputAdcEtcXbar1Trig1 = 108|0x100U, /**< XBARA1_OUT108 output assigned to ADC_ETC_XBAR1_TRIG1 */
  1279. kXBARA1_OutputAdcEtcXbar1Trig2 = 109|0x100U, /**< XBARA1_OUT109 output assigned to ADC_ETC_XBAR1_TRIG2 */
  1280. kXBARA1_OutputAdcEtcXbar1Trig3 = 110|0x100U, /**< XBARA1_OUT110 output assigned to ADC_ETC_XBAR1_TRIG3 */
  1281. kXBARA1_OutputLpi2c1TrgInput = 111|0x100U, /**< XBARA1_OUT111 output assigned to LPI2C1_TRG_INPUT */
  1282. kXBARA1_OutputLpi2c2TrgInput = 112|0x100U, /**< XBARA1_OUT112 output assigned to LPI2C2_TRG_INPUT */
  1283. kXBARA1_OutputLpi2c3TrgInput = 113|0x100U, /**< XBARA1_OUT113 output assigned to LPI2C3_TRG_INPUT */
  1284. kXBARA1_OutputLpi2c4TrgInput = 114|0x100U, /**< XBARA1_OUT114 output assigned to LPI2C4_TRG_INPUT */
  1285. kXBARA1_OutputLpspi1TrgInput = 115|0x100U, /**< XBARA1_OUT115 output assigned to LPSPI1_TRG_INPUT */
  1286. kXBARA1_OutputLpspi2TrgInput = 116|0x100U, /**< XBARA1_OUT116 output assigned to LPSPI2_TRG_INPUT */
  1287. kXBARA1_OutputLpspi3TrgInput = 117|0x100U, /**< XBARA1_OUT117 output assigned to LPSPI3_TRG_INPUT */
  1288. kXBARA1_OutputLpspi4TrgInput = 118|0x100U, /**< XBARA1_OUT118 output assigned to LPSPI4_TRG_INPUT */
  1289. kXBARA1_OutputLpuart1TrgInput = 119|0x100U, /**< XBARA1_OUT119 output assigned to LPUART1_TRG_INPUT */
  1290. kXBARA1_OutputLpuart2TrgInput = 120|0x100U, /**< XBARA1_OUT120 output assigned to LPUART2_TRG_INPUT */
  1291. kXBARA1_OutputLpuart3TrgInput = 121|0x100U, /**< XBARA1_OUT121 output assigned to LPUART3_TRG_INPUT */
  1292. kXBARA1_OutputLpuart4TrgInput = 122|0x100U, /**< XBARA1_OUT122 output assigned to LPUART4_TRG_INPUT */
  1293. kXBARA1_OutputLpuart5TrgInput = 123|0x100U, /**< XBARA1_OUT123 output assigned to LPUART5_TRG_INPUT */
  1294. kXBARA1_OutputLpuart6TrgInput = 124|0x100U, /**< XBARA1_OUT124 output assigned to LPUART6_TRG_INPUT */
  1295. kXBARA1_OutputLpuart7TrgInput = 125|0x100U, /**< XBARA1_OUT125 output assigned to LPUART7_TRG_INPUT */
  1296. kXBARA1_OutputLpuart8TrgInput = 126|0x100U, /**< XBARA1_OUT126 output assigned to LPUART8_TRG_INPUT */
  1297. kXBARA1_OutputFlexio1TriggerIn0 = 127|0x100U, /**< XBARA1_OUT127 output assigned to FLEXIO1_TRIGGER_IN0 */
  1298. kXBARA1_OutputFlexio1TriggerIn1 = 128|0x100U, /**< XBARA1_OUT128 output assigned to FLEXIO1_TRIGGER_IN1 */
  1299. kXBARA1_OutputFlexio2TriggerIn0 = 129|0x100U, /**< XBARA1_OUT129 output assigned to FLEXIO2_TRIGGER_IN0 */
  1300. kXBARA1_OutputFlexio2TriggerIn1 = 130|0x100U, /**< XBARA1_OUT130 output assigned to FLEXIO2_TRIGGER_IN1 */
  1301. kXBARB2_OutputAoi1In00 = 0|0x200U, /**< XBARB2_OUT0 output assigned to AOI1_IN00 */
  1302. kXBARB2_OutputAoi1In01 = 1|0x200U, /**< XBARB2_OUT1 output assigned to AOI1_IN01 */
  1303. kXBARB2_OutputAoi1In02 = 2|0x200U, /**< XBARB2_OUT2 output assigned to AOI1_IN02 */
  1304. kXBARB2_OutputAoi1In03 = 3|0x200U, /**< XBARB2_OUT3 output assigned to AOI1_IN03 */
  1305. kXBARB2_OutputAoi1In04 = 4|0x200U, /**< XBARB2_OUT4 output assigned to AOI1_IN04 */
  1306. kXBARB2_OutputAoi1In05 = 5|0x200U, /**< XBARB2_OUT5 output assigned to AOI1_IN05 */
  1307. kXBARB2_OutputAoi1In06 = 6|0x200U, /**< XBARB2_OUT6 output assigned to AOI1_IN06 */
  1308. kXBARB2_OutputAoi1In07 = 7|0x200U, /**< XBARB2_OUT7 output assigned to AOI1_IN07 */
  1309. kXBARB2_OutputAoi1In08 = 8|0x200U, /**< XBARB2_OUT8 output assigned to AOI1_IN08 */
  1310. kXBARB2_OutputAoi1In09 = 9|0x200U, /**< XBARB2_OUT9 output assigned to AOI1_IN09 */
  1311. kXBARB2_OutputAoi1In10 = 10|0x200U, /**< XBARB2_OUT10 output assigned to AOI1_IN10 */
  1312. kXBARB2_OutputAoi1In11 = 11|0x200U, /**< XBARB2_OUT11 output assigned to AOI1_IN11 */
  1313. kXBARB2_OutputAoi1In12 = 12|0x200U, /**< XBARB2_OUT12 output assigned to AOI1_IN12 */
  1314. kXBARB2_OutputAoi1In13 = 13|0x200U, /**< XBARB2_OUT13 output assigned to AOI1_IN13 */
  1315. kXBARB2_OutputAoi1In14 = 14|0x200U, /**< XBARB2_OUT14 output assigned to AOI1_IN14 */
  1316. kXBARB2_OutputAoi1In15 = 15|0x200U, /**< XBARB2_OUT15 output assigned to AOI1_IN15 */
  1317. kXBARB3_OutputAoi2In00 = 0|0x300U, /**< XBARB3_OUT0 output assigned to AOI2_IN00 */
  1318. kXBARB3_OutputAoi2In01 = 1|0x300U, /**< XBARB3_OUT1 output assigned to AOI2_IN01 */
  1319. kXBARB3_OutputAoi2In02 = 2|0x300U, /**< XBARB3_OUT2 output assigned to AOI2_IN02 */
  1320. kXBARB3_OutputAoi2In03 = 3|0x300U, /**< XBARB3_OUT3 output assigned to AOI2_IN03 */
  1321. kXBARB3_OutputAoi2In04 = 4|0x300U, /**< XBARB3_OUT4 output assigned to AOI2_IN04 */
  1322. kXBARB3_OutputAoi2In05 = 5|0x300U, /**< XBARB3_OUT5 output assigned to AOI2_IN05 */
  1323. kXBARB3_OutputAoi2In06 = 6|0x300U, /**< XBARB3_OUT6 output assigned to AOI2_IN06 */
  1324. kXBARB3_OutputAoi2In07 = 7|0x300U, /**< XBARB3_OUT7 output assigned to AOI2_IN07 */
  1325. kXBARB3_OutputAoi2In08 = 8|0x300U, /**< XBARB3_OUT8 output assigned to AOI2_IN08 */
  1326. kXBARB3_OutputAoi2In09 = 9|0x300U, /**< XBARB3_OUT9 output assigned to AOI2_IN09 */
  1327. kXBARB3_OutputAoi2In10 = 10|0x300U, /**< XBARB3_OUT10 output assigned to AOI2_IN10 */
  1328. kXBARB3_OutputAoi2In11 = 11|0x300U, /**< XBARB3_OUT11 output assigned to AOI2_IN11 */
  1329. kXBARB3_OutputAoi2In12 = 12|0x300U, /**< XBARB3_OUT12 output assigned to AOI2_IN12 */
  1330. kXBARB3_OutputAoi2In13 = 13|0x300U, /**< XBARB3_OUT13 output assigned to AOI2_IN13 */
  1331. kXBARB3_OutputAoi2In14 = 14|0x300U, /**< XBARB3_OUT14 output assigned to AOI2_IN14 */
  1332. kXBARB3_OutputAoi2In15 = 15|0x300U, /**< XBARB3_OUT15 output assigned to AOI2_IN15 */
  1333. } xbar_output_signal_t;
  1334. /*!
  1335. * @}
  1336. */ /* end of group Mapping_Information */
  1337. /* ----------------------------------------------------------------------------
  1338. -- Device Peripheral Access Layer
  1339. ---------------------------------------------------------------------------- */
  1340. /*!
  1341. * @addtogroup Peripheral_access_layer Device Peripheral Access Layer
  1342. * @{
  1343. */
  1344. /*
  1345. ** Start of section using anonymous unions
  1346. */
  1347. #if defined(__ARMCC_VERSION)
  1348. #if (__ARMCC_VERSION >= 6010050)
  1349. #pragma clang diagnostic push
  1350. #else
  1351. #pragma push
  1352. #pragma anon_unions
  1353. #endif
  1354. #elif defined(__CWCC__)
  1355. #pragma push
  1356. #pragma cpp_extensions on
  1357. #elif defined(__GNUC__)
  1358. /* anonymous unions are enabled by default */
  1359. #elif defined(__IAR_SYSTEMS_ICC__)
  1360. #pragma language=extended
  1361. #else
  1362. #error Not supported compiler type
  1363. #endif
  1364. /* ----------------------------------------------------------------------------
  1365. -- ADC Peripheral Access Layer
  1366. ---------------------------------------------------------------------------- */
  1367. /*!
  1368. * @addtogroup ADC_Peripheral_Access_Layer ADC Peripheral Access Layer
  1369. * @{
  1370. */
  1371. /** ADC - Register Layout Typedef */
  1372. typedef struct {
  1373. __IO uint32_t HC[8]; /**< Control register for hardware triggers, array offset: 0x0, array step: 0x4 */
  1374. __I uint32_t HS; /**< Status register for HW triggers, offset: 0x20 */
  1375. __I uint32_t R[8]; /**< Data result register for HW triggers, array offset: 0x24, array step: 0x4 */
  1376. __IO uint32_t CFG; /**< Configuration register, offset: 0x44 */
  1377. __IO uint32_t GC; /**< General control register, offset: 0x48 */
  1378. __IO uint32_t GS; /**< General status register, offset: 0x4C */
  1379. __IO uint32_t CV; /**< Compare value register, offset: 0x50 */
  1380. __IO uint32_t OFS; /**< Offset correction value register, offset: 0x54 */
  1381. __IO uint32_t CAL; /**< Calibration value register, offset: 0x58 */
  1382. } ADC_Type;
  1383. /* ----------------------------------------------------------------------------
  1384. -- ADC Register Masks
  1385. ---------------------------------------------------------------------------- */
  1386. /*!
  1387. * @addtogroup ADC_Register_Masks ADC Register Masks
  1388. * @{
  1389. */
  1390. /*! @name HC - Control register for hardware triggers */
  1391. /*! @{ */
  1392. #define ADC_HC_ADCH_MASK (0x1FU)
  1393. #define ADC_HC_ADCH_SHIFT (0U)
  1394. /*! ADCH - Input Channel Select
  1395. * 0b10000..External channel selection from ADC_ETC
  1396. * 0b11000..Reserved.
  1397. * 0b11001..VREFSH = internal channel, for ADC self-test, hard connected to VRH internally
  1398. * 0b11010..Reserved.
  1399. * 0b11011..Reserved.
  1400. * 0b11111..Conversion Disabled. Hardware Triggers will not initiate any conversion.
  1401. */
  1402. #define ADC_HC_ADCH(x) (((uint32_t)(((uint32_t)(x)) << ADC_HC_ADCH_SHIFT)) & ADC_HC_ADCH_MASK)
  1403. #define ADC_HC_AIEN_MASK (0x80U)
  1404. #define ADC_HC_AIEN_SHIFT (7U)
  1405. /*! AIEN - Conversion Complete Interrupt Enable/Disable Control
  1406. * 0b1..Conversion complete interrupt enabled
  1407. * 0b0..Conversion complete interrupt disabled
  1408. */
  1409. #define ADC_HC_AIEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_HC_AIEN_SHIFT)) & ADC_HC_AIEN_MASK)
  1410. /*! @} */
  1411. /* The count of ADC_HC */
  1412. #define ADC_HC_COUNT (8U)
  1413. /*! @name HS - Status register for HW triggers */
  1414. /*! @{ */
  1415. #define ADC_HS_COCO0_MASK (0x1U)
  1416. #define ADC_HS_COCO0_SHIFT (0U)
  1417. /*! COCO0 - Conversion Complete Flag
  1418. */
  1419. #define ADC_HS_COCO0(x) (((uint32_t)(((uint32_t)(x)) << ADC_HS_COCO0_SHIFT)) & ADC_HS_COCO0_MASK)
  1420. /*! @} */
  1421. /*! @name R - Data result register for HW triggers */
  1422. /*! @{ */
  1423. #define ADC_R_CDATA_MASK (0xFFFU)
  1424. #define ADC_R_CDATA_SHIFT (0U)
  1425. /*! CDATA - Data (result of an ADC conversion)
  1426. */
  1427. #define ADC_R_CDATA(x) (((uint32_t)(((uint32_t)(x)) << ADC_R_CDATA_SHIFT)) & ADC_R_CDATA_MASK)
  1428. /*! @} */
  1429. /* The count of ADC_R */
  1430. #define ADC_R_COUNT (8U)
  1431. /*! @name CFG - Configuration register */
  1432. /*! @{ */
  1433. #define ADC_CFG_ADICLK_MASK (0x3U)
  1434. #define ADC_CFG_ADICLK_SHIFT (0U)
  1435. /*! ADICLK - Input Clock Select
  1436. * 0b00..IPG clock
  1437. * 0b01..IPG clock divided by 2
  1438. * 0b10..Reserved
  1439. * 0b11..Asynchronous clock (ADACK)
  1440. */
  1441. #define ADC_CFG_ADICLK(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_ADICLK_SHIFT)) & ADC_CFG_ADICLK_MASK)
  1442. #define ADC_CFG_MODE_MASK (0xCU)
  1443. #define ADC_CFG_MODE_SHIFT (2U)
  1444. /*! MODE - Conversion Mode Selection
  1445. * 0b00..8-bit conversion
  1446. * 0b01..10-bit conversion
  1447. * 0b10..12-bit conversion
  1448. * 0b11..Reserved
  1449. */
  1450. #define ADC_CFG_MODE(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_MODE_SHIFT)) & ADC_CFG_MODE_MASK)
  1451. #define ADC_CFG_ADLSMP_MASK (0x10U)
  1452. #define ADC_CFG_ADLSMP_SHIFT (4U)
  1453. /*! ADLSMP - Long Sample Time Configuration
  1454. * 0b0..Short sample mode.
  1455. * 0b1..Long sample mode.
  1456. */
  1457. #define ADC_CFG_ADLSMP(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_ADLSMP_SHIFT)) & ADC_CFG_ADLSMP_MASK)
  1458. #define ADC_CFG_ADIV_MASK (0x60U)
  1459. #define ADC_CFG_ADIV_SHIFT (5U)
  1460. /*! ADIV - Clock Divide Select
  1461. * 0b00..Input clock
  1462. * 0b01..Input clock / 2
  1463. * 0b10..Input clock / 4
  1464. * 0b11..Input clock / 8
  1465. */
  1466. #define ADC_CFG_ADIV(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_ADIV_SHIFT)) & ADC_CFG_ADIV_MASK)
  1467. #define ADC_CFG_ADLPC_MASK (0x80U)
  1468. #define ADC_CFG_ADLPC_SHIFT (7U)
  1469. /*! ADLPC - Low-Power Configuration
  1470. * 0b0..ADC hard block not in low power mode.
  1471. * 0b1..ADC hard block in low power mode.
  1472. */
  1473. #define ADC_CFG_ADLPC(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_ADLPC_SHIFT)) & ADC_CFG_ADLPC_MASK)
  1474. #define ADC_CFG_ADSTS_MASK (0x300U)
  1475. #define ADC_CFG_ADSTS_SHIFT (8U)
  1476. /*! ADSTS
  1477. * 0b00..Sample period (ADC clocks) = 2 if ADLSMP=0b Sample period (ADC clocks) = 12 if ADLSMP=1b
  1478. * 0b01..Sample period (ADC clocks) = 4 if ADLSMP=0b Sample period (ADC clocks) = 16 if ADLSMP=1b
  1479. * 0b10..Sample period (ADC clocks) = 6 if ADLSMP=0b Sample period (ADC clocks) = 20 if ADLSMP=1b
  1480. * 0b11..Sample period (ADC clocks) = 8 if ADLSMP=0b Sample period (ADC clocks) = 24 if ADLSMP=1b
  1481. */
  1482. #define ADC_CFG_ADSTS(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_ADSTS_SHIFT)) & ADC_CFG_ADSTS_MASK)
  1483. #define ADC_CFG_ADHSC_MASK (0x400U)
  1484. #define ADC_CFG_ADHSC_SHIFT (10U)
  1485. /*! ADHSC - High Speed Configuration
  1486. * 0b0..Normal conversion selected.
  1487. * 0b1..High speed conversion selected.
  1488. */
  1489. #define ADC_CFG_ADHSC(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_ADHSC_SHIFT)) & ADC_CFG_ADHSC_MASK)
  1490. #define ADC_CFG_REFSEL_MASK (0x1800U)
  1491. #define ADC_CFG_REFSEL_SHIFT (11U)
  1492. /*! REFSEL - Voltage Reference Selection
  1493. * 0b00..Selects VREFH/VREFL as reference voltage.
  1494. * 0b01..Reserved
  1495. * 0b10..Reserved
  1496. * 0b11..Reserved
  1497. */
  1498. #define ADC_CFG_REFSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_REFSEL_SHIFT)) & ADC_CFG_REFSEL_MASK)
  1499. #define ADC_CFG_ADTRG_MASK (0x2000U)
  1500. #define ADC_CFG_ADTRG_SHIFT (13U)
  1501. /*! ADTRG - Conversion Trigger Select
  1502. * 0b0..Software trigger selected
  1503. * 0b1..Hardware trigger selected
  1504. */
  1505. #define ADC_CFG_ADTRG(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_ADTRG_SHIFT)) & ADC_CFG_ADTRG_MASK)
  1506. #define ADC_CFG_AVGS_MASK (0xC000U)
  1507. #define ADC_CFG_AVGS_SHIFT (14U)
  1508. /*! AVGS - Hardware Average select
  1509. * 0b00..4 samples averaged
  1510. * 0b01..8 samples averaged
  1511. * 0b10..16 samples averaged
  1512. * 0b11..32 samples averaged
  1513. */
  1514. #define ADC_CFG_AVGS(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_AVGS_SHIFT)) & ADC_CFG_AVGS_MASK)
  1515. #define ADC_CFG_OVWREN_MASK (0x10000U)
  1516. #define ADC_CFG_OVWREN_SHIFT (16U)
  1517. /*! OVWREN - Data Overwrite Enable
  1518. * 0b1..Enable the overwriting.
  1519. * 0b0..Disable the overwriting. Existing Data in Data result register will not be overwritten by subsequent converted data.
  1520. */
  1521. #define ADC_CFG_OVWREN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_OVWREN_SHIFT)) & ADC_CFG_OVWREN_MASK)
  1522. /*! @} */
  1523. /*! @name GC - General control register */
  1524. /*! @{ */
  1525. #define ADC_GC_ADACKEN_MASK (0x1U)
  1526. #define ADC_GC_ADACKEN_SHIFT (0U)
  1527. /*! ADACKEN - Asynchronous clock output enable
  1528. * 0b0..Asynchronous clock output disabled; Asynchronous clock only enabled if selected by ADICLK and a conversion is active.
  1529. * 0b1..Asynchronous clock and clock output enabled regardless of the state of the ADC
  1530. */
  1531. #define ADC_GC_ADACKEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_GC_ADACKEN_SHIFT)) & ADC_GC_ADACKEN_MASK)
  1532. #define ADC_GC_DMAEN_MASK (0x2U)
  1533. #define ADC_GC_DMAEN_SHIFT (1U)
  1534. /*! DMAEN - DMA Enable
  1535. * 0b0..DMA disabled (default)
  1536. * 0b1..DMA enabled
  1537. */
  1538. #define ADC_GC_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_GC_DMAEN_SHIFT)) & ADC_GC_DMAEN_MASK)
  1539. #define ADC_GC_ACREN_MASK (0x4U)
  1540. #define ADC_GC_ACREN_SHIFT (2U)
  1541. /*! ACREN - Compare Function Range Enable
  1542. * 0b0..Range function disabled. Only the compare value 1 of ADC_CV register (CV1) is compared.
  1543. * 0b1..Range function enabled. Both compare values of ADC_CV registers (CV1 and CV2) are compared.
  1544. */
  1545. #define ADC_GC_ACREN(x) (((uint32_t)(((uint32_t)(x)) << ADC_GC_ACREN_SHIFT)) & ADC_GC_ACREN_MASK)
  1546. #define ADC_GC_ACFGT_MASK (0x8U)
  1547. #define ADC_GC_ACFGT_SHIFT (3U)
  1548. /*! ACFGT - Compare Function Greater Than Enable
  1549. * 0b0..Configures "Less Than Threshold, Outside Range Not Inclusive and Inside Range Not Inclusive"
  1550. * functionality based on the values placed in the ADC_CV register.
  1551. * 0b1..Configures "Greater Than Or Equal To Threshold, Outside Range Inclusive and Inside Range Inclusive"
  1552. * functionality based on the values placed in the ADC_CV registers.
  1553. */
  1554. #define ADC_GC_ACFGT(x) (((uint32_t)(((uint32_t)(x)) << ADC_GC_ACFGT_SHIFT)) & ADC_GC_ACFGT_MASK)
  1555. #define ADC_GC_ACFE_MASK (0x10U)
  1556. #define ADC_GC_ACFE_SHIFT (4U)
  1557. /*! ACFE - Compare Function Enable
  1558. * 0b0..Compare function disabled
  1559. * 0b1..Compare function enabled
  1560. */
  1561. #define ADC_GC_ACFE(x) (((uint32_t)(((uint32_t)(x)) << ADC_GC_ACFE_SHIFT)) & ADC_GC_ACFE_MASK)
  1562. #define ADC_GC_AVGE_MASK (0x20U)
  1563. #define ADC_GC_AVGE_SHIFT (5U)
  1564. /*! AVGE - Hardware average enable
  1565. * 0b0..Hardware average function disabled
  1566. * 0b1..Hardware average function enabled
  1567. */
  1568. #define ADC_GC_AVGE(x) (((uint32_t)(((uint32_t)(x)) << ADC_GC_AVGE_SHIFT)) & ADC_GC_AVGE_MASK)
  1569. #define ADC_GC_ADCO_MASK (0x40U)
  1570. #define ADC_GC_ADCO_SHIFT (6U)
  1571. /*! ADCO - Continuous Conversion Enable
  1572. * 0b0..One conversion or one set of conversions if the hardware average function is enabled (AVGE=1) after initiating a conversion.
  1573. * 0b1..Continuous conversions or sets of conversions if the hardware average function is enabled (AVGE=1) after initiating a conversion.
  1574. */
  1575. #define ADC_GC_ADCO(x) (((uint32_t)(((uint32_t)(x)) << ADC_GC_ADCO_SHIFT)) & ADC_GC_ADCO_MASK)
  1576. #define ADC_GC_CAL_MASK (0x80U)
  1577. #define ADC_GC_CAL_SHIFT (7U)
  1578. /*! CAL - Calibration
  1579. */
  1580. #define ADC_GC_CAL(x) (((uint32_t)(((uint32_t)(x)) << ADC_GC_CAL_SHIFT)) & ADC_GC_CAL_MASK)
  1581. /*! @} */
  1582. /*! @name GS - General status register */
  1583. /*! @{ */
  1584. #define ADC_GS_ADACT_MASK (0x1U)
  1585. #define ADC_GS_ADACT_SHIFT (0U)
  1586. /*! ADACT - Conversion Active
  1587. * 0b0..Conversion not in progress.
  1588. * 0b1..Conversion in progress.
  1589. */
  1590. #define ADC_GS_ADACT(x) (((uint32_t)(((uint32_t)(x)) << ADC_GS_ADACT_SHIFT)) & ADC_GS_ADACT_MASK)
  1591. #define ADC_GS_CALF_MASK (0x2U)
  1592. #define ADC_GS_CALF_SHIFT (1U)
  1593. /*! CALF - Calibration Failed Flag
  1594. * 0b0..Calibration completed normally.
  1595. * 0b1..Calibration failed. ADC accuracy specifications are not guaranteed.
  1596. */
  1597. #define ADC_GS_CALF(x) (((uint32_t)(((uint32_t)(x)) << ADC_GS_CALF_SHIFT)) & ADC_GS_CALF_MASK)
  1598. #define ADC_GS_AWKST_MASK (0x4U)
  1599. #define ADC_GS_AWKST_SHIFT (2U)
  1600. /*! AWKST - Asynchronous wakeup interrupt status
  1601. * 0b1..Asynchronous wake up interrupt occurred in stop mode.
  1602. * 0b0..No asynchronous interrupt.
  1603. */
  1604. #define ADC_GS_AWKST(x) (((uint32_t)(((uint32_t)(x)) << ADC_GS_AWKST_SHIFT)) & ADC_GS_AWKST_MASK)
  1605. /*! @} */
  1606. /*! @name CV - Compare value register */
  1607. /*! @{ */
  1608. #define ADC_CV_CV1_MASK (0xFFFU)
  1609. #define ADC_CV_CV1_SHIFT (0U)
  1610. /*! CV1 - Compare Value 1
  1611. */
  1612. #define ADC_CV_CV1(x) (((uint32_t)(((uint32_t)(x)) << ADC_CV_CV1_SHIFT)) & ADC_CV_CV1_MASK)
  1613. #define ADC_CV_CV2_MASK (0xFFF0000U)
  1614. #define ADC_CV_CV2_SHIFT (16U)
  1615. /*! CV2 - Compare Value 2
  1616. */
  1617. #define ADC_CV_CV2(x) (((uint32_t)(((uint32_t)(x)) << ADC_CV_CV2_SHIFT)) & ADC_CV_CV2_MASK)
  1618. /*! @} */
  1619. /*! @name OFS - Offset correction value register */
  1620. /*! @{ */
  1621. #define ADC_OFS_OFS_MASK (0xFFFU)
  1622. #define ADC_OFS_OFS_SHIFT (0U)
  1623. /*! OFS - Offset value
  1624. */
  1625. #define ADC_OFS_OFS(x) (((uint32_t)(((uint32_t)(x)) << ADC_OFS_OFS_SHIFT)) & ADC_OFS_OFS_MASK)
  1626. #define ADC_OFS_SIGN_MASK (0x1000U)
  1627. #define ADC_OFS_SIGN_SHIFT (12U)
  1628. /*! SIGN - Sign bit
  1629. * 0b0..The offset value is added with the raw result
  1630. * 0b1..The offset value is subtracted from the raw converted value
  1631. */
  1632. #define ADC_OFS_SIGN(x) (((uint32_t)(((uint32_t)(x)) << ADC_OFS_SIGN_SHIFT)) & ADC_OFS_SIGN_MASK)
  1633. /*! @} */
  1634. /*! @name CAL - Calibration value register */
  1635. /*! @{ */
  1636. #define ADC_CAL_CAL_CODE_MASK (0xFU)
  1637. #define ADC_CAL_CAL_CODE_SHIFT (0U)
  1638. /*! CAL_CODE - Calibration Result Value
  1639. */
  1640. #define ADC_CAL_CAL_CODE(x) (((uint32_t)(((uint32_t)(x)) << ADC_CAL_CAL_CODE_SHIFT)) & ADC_CAL_CAL_CODE_MASK)
  1641. /*! @} */
  1642. /*!
  1643. * @}
  1644. */ /* end of group ADC_Register_Masks */
  1645. /* ADC - Peripheral instance base addresses */
  1646. /** Peripheral ADC1 base address */
  1647. #define ADC1_BASE (0x400C4000u)
  1648. /** Peripheral ADC1 base pointer */
  1649. #define ADC1 ((ADC_Type *)ADC1_BASE)
  1650. /** Peripheral ADC2 base address */
  1651. #define ADC2_BASE (0x400C8000u)
  1652. /** Peripheral ADC2 base pointer */
  1653. #define ADC2 ((ADC_Type *)ADC2_BASE)
  1654. /** Array initializer of ADC peripheral base addresses */
  1655. #define ADC_BASE_ADDRS { 0u, ADC1_BASE, ADC2_BASE }
  1656. /** Array initializer of ADC peripheral base pointers */
  1657. #define ADC_BASE_PTRS { (ADC_Type *)0u, ADC1, ADC2 }
  1658. /** Interrupt vectors for the ADC peripheral type */
  1659. #define ADC_IRQS { NotAvail_IRQn, ADC1_IRQn, ADC2_IRQn }
  1660. /*!
  1661. * @}
  1662. */ /* end of group ADC_Peripheral_Access_Layer */
  1663. /* ----------------------------------------------------------------------------
  1664. -- ADC_ETC Peripheral Access Layer
  1665. ---------------------------------------------------------------------------- */
  1666. /*!
  1667. * @addtogroup ADC_ETC_Peripheral_Access_Layer ADC_ETC Peripheral Access Layer
  1668. * @{
  1669. */
  1670. /** ADC_ETC - Register Layout Typedef */
  1671. typedef struct {
  1672. __IO uint32_t CTRL; /**< ADC_ETC Global Control Register, offset: 0x0 */
  1673. __IO uint32_t DONE0_1_IRQ; /**< ETC DONE0 and DONE1 IRQ State Register, offset: 0x4 */
  1674. __IO uint32_t DONE2_ERR_IRQ; /**< ETC DONE_2 and DONE_ERR IRQ State Register, offset: 0x8 */
  1675. __IO uint32_t DMA_CTRL; /**< ETC DMA control Register, offset: 0xC */
  1676. struct { /* offset: 0x10, array step: 0x28 */
  1677. __IO uint32_t TRIGn_CTRL; /**< ETC_TRIG0 Control Register..ETC_TRIG7 Control Register, array offset: 0x10, array step: 0x28 */
  1678. __IO uint32_t TRIGn_COUNTER; /**< ETC_TRIG0 Counter Register..ETC_TRIG7 Counter Register, array offset: 0x14, array step: 0x28 */
  1679. __IO uint32_t TRIGn_CHAIN_1_0; /**< ETC_TRIG Chain 0/1 Register, array offset: 0x18, array step: 0x28 */
  1680. __IO uint32_t TRIGn_CHAIN_3_2; /**< ETC_TRIG Chain 2/3 Register, array offset: 0x1C, array step: 0x28 */
  1681. __IO uint32_t TRIGn_CHAIN_5_4; /**< ETC_TRIG Chain 4/5 Register, array offset: 0x20, array step: 0x28 */
  1682. __IO uint32_t TRIGn_CHAIN_7_6; /**< ETC_TRIG Chain 6/7 Register, array offset: 0x24, array step: 0x28 */
  1683. __I uint32_t TRIGn_RESULT_1_0; /**< ETC_TRIG Result Data 1/0 Register, array offset: 0x28, array step: 0x28 */
  1684. __I uint32_t TRIGn_RESULT_3_2; /**< ETC_TRIG Result Data 3/2 Register, array offset: 0x2C, array step: 0x28 */
  1685. __I uint32_t TRIGn_RESULT_5_4; /**< ETC_TRIG Result Data 5/4 Register, array offset: 0x30, array step: 0x28 */
  1686. __I uint32_t TRIGn_RESULT_7_6; /**< ETC_TRIG Result Data 7/6 Register, array offset: 0x34, array step: 0x28 */
  1687. } TRIG[8];
  1688. } ADC_ETC_Type;
  1689. /* ----------------------------------------------------------------------------
  1690. -- ADC_ETC Register Masks
  1691. ---------------------------------------------------------------------------- */
  1692. /*!
  1693. * @addtogroup ADC_ETC_Register_Masks ADC_ETC Register Masks
  1694. * @{
  1695. */
  1696. /*! @name CTRL - ADC_ETC Global Control Register */
  1697. /*! @{ */
  1698. #define ADC_ETC_CTRL_TRIG_ENABLE_MASK (0xFFU)
  1699. #define ADC_ETC_CTRL_TRIG_ENABLE_SHIFT (0U)
  1700. #define ADC_ETC_CTRL_TRIG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_CTRL_TRIG_ENABLE_SHIFT)) & ADC_ETC_CTRL_TRIG_ENABLE_MASK)
  1701. #define ADC_ETC_CTRL_EXT0_TRIG_ENABLE_MASK (0x100U)
  1702. #define ADC_ETC_CTRL_EXT0_TRIG_ENABLE_SHIFT (8U)
  1703. #define ADC_ETC_CTRL_EXT0_TRIG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_CTRL_EXT0_TRIG_ENABLE_SHIFT)) & ADC_ETC_CTRL_EXT0_TRIG_ENABLE_MASK)
  1704. #define ADC_ETC_CTRL_EXT0_TRIG_PRIORITY_MASK (0xE00U)
  1705. #define ADC_ETC_CTRL_EXT0_TRIG_PRIORITY_SHIFT (9U)
  1706. #define ADC_ETC_CTRL_EXT0_TRIG_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_CTRL_EXT0_TRIG_PRIORITY_SHIFT)) & ADC_ETC_CTRL_EXT0_TRIG_PRIORITY_MASK)
  1707. #define ADC_ETC_CTRL_EXT1_TRIG_ENABLE_MASK (0x1000U)
  1708. #define ADC_ETC_CTRL_EXT1_TRIG_ENABLE_SHIFT (12U)
  1709. #define ADC_ETC_CTRL_EXT1_TRIG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_CTRL_EXT1_TRIG_ENABLE_SHIFT)) & ADC_ETC_CTRL_EXT1_TRIG_ENABLE_MASK)
  1710. #define ADC_ETC_CTRL_EXT1_TRIG_PRIORITY_MASK (0xE000U)
  1711. #define ADC_ETC_CTRL_EXT1_TRIG_PRIORITY_SHIFT (13U)
  1712. #define ADC_ETC_CTRL_EXT1_TRIG_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_CTRL_EXT1_TRIG_PRIORITY_SHIFT)) & ADC_ETC_CTRL_EXT1_TRIG_PRIORITY_MASK)
  1713. #define ADC_ETC_CTRL_PRE_DIVIDER_MASK (0xFF0000U)
  1714. #define ADC_ETC_CTRL_PRE_DIVIDER_SHIFT (16U)
  1715. #define ADC_ETC_CTRL_PRE_DIVIDER(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_CTRL_PRE_DIVIDER_SHIFT)) & ADC_ETC_CTRL_PRE_DIVIDER_MASK)
  1716. #define ADC_ETC_CTRL_DMA_MODE_SEL_MASK (0x20000000U)
  1717. #define ADC_ETC_CTRL_DMA_MODE_SEL_SHIFT (29U)
  1718. #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)
  1719. #define ADC_ETC_CTRL_TSC_BYPASS_MASK (0x40000000U)
  1720. #define ADC_ETC_CTRL_TSC_BYPASS_SHIFT (30U)
  1721. #define ADC_ETC_CTRL_TSC_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_CTRL_TSC_BYPASS_SHIFT)) & ADC_ETC_CTRL_TSC_BYPASS_MASK)
  1722. #define ADC_ETC_CTRL_SOFTRST_MASK (0x80000000U)
  1723. #define ADC_ETC_CTRL_SOFTRST_SHIFT (31U)
  1724. #define ADC_ETC_CTRL_SOFTRST(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_CTRL_SOFTRST_SHIFT)) & ADC_ETC_CTRL_SOFTRST_MASK)
  1725. /*! @} */
  1726. /*! @name DONE0_1_IRQ - ETC DONE0 and DONE1 IRQ State Register */
  1727. /*! @{ */
  1728. #define ADC_ETC_DONE0_1_IRQ_TRIG0_DONE0_MASK (0x1U)
  1729. #define ADC_ETC_DONE0_1_IRQ_TRIG0_DONE0_SHIFT (0U)
  1730. #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)
  1731. #define ADC_ETC_DONE0_1_IRQ_TRIG1_DONE0_MASK (0x2U)
  1732. #define ADC_ETC_DONE0_1_IRQ_TRIG1_DONE0_SHIFT (1U)
  1733. #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)
  1734. #define ADC_ETC_DONE0_1_IRQ_TRIG2_DONE0_MASK (0x4U)
  1735. #define ADC_ETC_DONE0_1_IRQ_TRIG2_DONE0_SHIFT (2U)
  1736. #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)
  1737. #define ADC_ETC_DONE0_1_IRQ_TRIG3_DONE0_MASK (0x8U)
  1738. #define ADC_ETC_DONE0_1_IRQ_TRIG3_DONE0_SHIFT (3U)
  1739. #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)
  1740. #define ADC_ETC_DONE0_1_IRQ_TRIG4_DONE0_MASK (0x10U)
  1741. #define ADC_ETC_DONE0_1_IRQ_TRIG4_DONE0_SHIFT (4U)
  1742. #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)
  1743. #define ADC_ETC_DONE0_1_IRQ_TRIG5_DONE0_MASK (0x20U)
  1744. #define ADC_ETC_DONE0_1_IRQ_TRIG5_DONE0_SHIFT (5U)
  1745. #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)
  1746. #define ADC_ETC_DONE0_1_IRQ_TRIG6_DONE0_MASK (0x40U)
  1747. #define ADC_ETC_DONE0_1_IRQ_TRIG6_DONE0_SHIFT (6U)
  1748. #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)
  1749. #define ADC_ETC_DONE0_1_IRQ_TRIG7_DONE0_MASK (0x80U)
  1750. #define ADC_ETC_DONE0_1_IRQ_TRIG7_DONE0_SHIFT (7U)
  1751. #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)
  1752. #define ADC_ETC_DONE0_1_IRQ_TRIG0_DONE1_MASK (0x10000U)
  1753. #define ADC_ETC_DONE0_1_IRQ_TRIG0_DONE1_SHIFT (16U)
  1754. #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)
  1755. #define ADC_ETC_DONE0_1_IRQ_TRIG1_DONE1_MASK (0x20000U)
  1756. #define ADC_ETC_DONE0_1_IRQ_TRIG1_DONE1_SHIFT (17U)
  1757. #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)
  1758. #define ADC_ETC_DONE0_1_IRQ_TRIG2_DONE1_MASK (0x40000U)
  1759. #define ADC_ETC_DONE0_1_IRQ_TRIG2_DONE1_SHIFT (18U)
  1760. #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)
  1761. #define ADC_ETC_DONE0_1_IRQ_TRIG3_DONE1_MASK (0x80000U)
  1762. #define ADC_ETC_DONE0_1_IRQ_TRIG3_DONE1_SHIFT (19U)
  1763. #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)
  1764. #define ADC_ETC_DONE0_1_IRQ_TRIG4_DONE1_MASK (0x100000U)
  1765. #define ADC_ETC_DONE0_1_IRQ_TRIG4_DONE1_SHIFT (20U)
  1766. #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)
  1767. #define ADC_ETC_DONE0_1_IRQ_TRIG5_DONE1_MASK (0x200000U)
  1768. #define ADC_ETC_DONE0_1_IRQ_TRIG5_DONE1_SHIFT (21U)
  1769. #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)
  1770. #define ADC_ETC_DONE0_1_IRQ_TRIG6_DONE1_MASK (0x400000U)
  1771. #define ADC_ETC_DONE0_1_IRQ_TRIG6_DONE1_SHIFT (22U)
  1772. #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)
  1773. #define ADC_ETC_DONE0_1_IRQ_TRIG7_DONE1_MASK (0x800000U)
  1774. #define ADC_ETC_DONE0_1_IRQ_TRIG7_DONE1_SHIFT (23U)
  1775. #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)
  1776. /*! @} */
  1777. /*! @name DONE2_ERR_IRQ - ETC DONE_2 and DONE_ERR IRQ State Register */
  1778. /*! @{ */
  1779. #define ADC_ETC_DONE2_ERR_IRQ_TRIG0_DONE2_MASK (0x1U)
  1780. #define ADC_ETC_DONE2_ERR_IRQ_TRIG0_DONE2_SHIFT (0U)
  1781. #define ADC_ETC_DONE2_ERR_IRQ_TRIG0_DONE2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_ERR_IRQ_TRIG0_DONE2_SHIFT)) & ADC_ETC_DONE2_ERR_IRQ_TRIG0_DONE2_MASK)
  1782. #define ADC_ETC_DONE2_ERR_IRQ_TRIG1_DONE2_MASK (0x2U)
  1783. #define ADC_ETC_DONE2_ERR_IRQ_TRIG1_DONE2_SHIFT (1U)
  1784. #define ADC_ETC_DONE2_ERR_IRQ_TRIG1_DONE2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_ERR_IRQ_TRIG1_DONE2_SHIFT)) & ADC_ETC_DONE2_ERR_IRQ_TRIG1_DONE2_MASK)
  1785. #define ADC_ETC_DONE2_ERR_IRQ_TRIG2_DONE2_MASK (0x4U)
  1786. #define ADC_ETC_DONE2_ERR_IRQ_TRIG2_DONE2_SHIFT (2U)
  1787. #define ADC_ETC_DONE2_ERR_IRQ_TRIG2_DONE2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_ERR_IRQ_TRIG2_DONE2_SHIFT)) & ADC_ETC_DONE2_ERR_IRQ_TRIG2_DONE2_MASK)
  1788. #define ADC_ETC_DONE2_ERR_IRQ_TRIG3_DONE2_MASK (0x8U)
  1789. #define ADC_ETC_DONE2_ERR_IRQ_TRIG3_DONE2_SHIFT (3U)
  1790. #define ADC_ETC_DONE2_ERR_IRQ_TRIG3_DONE2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_ERR_IRQ_TRIG3_DONE2_SHIFT)) & ADC_ETC_DONE2_ERR_IRQ_TRIG3_DONE2_MASK)
  1791. #define ADC_ETC_DONE2_ERR_IRQ_TRIG4_DONE2_MASK (0x10U)
  1792. #define ADC_ETC_DONE2_ERR_IRQ_TRIG4_DONE2_SHIFT (4U)
  1793. #define ADC_ETC_DONE2_ERR_IRQ_TRIG4_DONE2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_ERR_IRQ_TRIG4_DONE2_SHIFT)) & ADC_ETC_DONE2_ERR_IRQ_TRIG4_DONE2_MASK)
  1794. #define ADC_ETC_DONE2_ERR_IRQ_TRIG5_DONE2_MASK (0x20U)
  1795. #define ADC_ETC_DONE2_ERR_IRQ_TRIG5_DONE2_SHIFT (5U)
  1796. #define ADC_ETC_DONE2_ERR_IRQ_TRIG5_DONE2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_ERR_IRQ_TRIG5_DONE2_SHIFT)) & ADC_ETC_DONE2_ERR_IRQ_TRIG5_DONE2_MASK)
  1797. #define ADC_ETC_DONE2_ERR_IRQ_TRIG6_DONE2_MASK (0x40U)
  1798. #define ADC_ETC_DONE2_ERR_IRQ_TRIG6_DONE2_SHIFT (6U)
  1799. #define ADC_ETC_DONE2_ERR_IRQ_TRIG6_DONE2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_ERR_IRQ_TRIG6_DONE2_SHIFT)) & ADC_ETC_DONE2_ERR_IRQ_TRIG6_DONE2_MASK)
  1800. #define ADC_ETC_DONE2_ERR_IRQ_TRIG7_DONE2_MASK (0x80U)
  1801. #define ADC_ETC_DONE2_ERR_IRQ_TRIG7_DONE2_SHIFT (7U)
  1802. #define ADC_ETC_DONE2_ERR_IRQ_TRIG7_DONE2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_ERR_IRQ_TRIG7_DONE2_SHIFT)) & ADC_ETC_DONE2_ERR_IRQ_TRIG7_DONE2_MASK)
  1803. #define ADC_ETC_DONE2_ERR_IRQ_TRIG0_ERR_MASK (0x10000U)
  1804. #define ADC_ETC_DONE2_ERR_IRQ_TRIG0_ERR_SHIFT (16U)
  1805. #define ADC_ETC_DONE2_ERR_IRQ_TRIG0_ERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_ERR_IRQ_TRIG0_ERR_SHIFT)) & ADC_ETC_DONE2_ERR_IRQ_TRIG0_ERR_MASK)
  1806. #define ADC_ETC_DONE2_ERR_IRQ_TRIG1_ERR_MASK (0x20000U)
  1807. #define ADC_ETC_DONE2_ERR_IRQ_TRIG1_ERR_SHIFT (17U)
  1808. #define ADC_ETC_DONE2_ERR_IRQ_TRIG1_ERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_ERR_IRQ_TRIG1_ERR_SHIFT)) & ADC_ETC_DONE2_ERR_IRQ_TRIG1_ERR_MASK)
  1809. #define ADC_ETC_DONE2_ERR_IRQ_TRIG2_ERR_MASK (0x40000U)
  1810. #define ADC_ETC_DONE2_ERR_IRQ_TRIG2_ERR_SHIFT (18U)
  1811. #define ADC_ETC_DONE2_ERR_IRQ_TRIG2_ERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_ERR_IRQ_TRIG2_ERR_SHIFT)) & ADC_ETC_DONE2_ERR_IRQ_TRIG2_ERR_MASK)
  1812. #define ADC_ETC_DONE2_ERR_IRQ_TRIG3_ERR_MASK (0x80000U)
  1813. #define ADC_ETC_DONE2_ERR_IRQ_TRIG3_ERR_SHIFT (19U)
  1814. #define ADC_ETC_DONE2_ERR_IRQ_TRIG3_ERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_ERR_IRQ_TRIG3_ERR_SHIFT)) & ADC_ETC_DONE2_ERR_IRQ_TRIG3_ERR_MASK)
  1815. #define ADC_ETC_DONE2_ERR_IRQ_TRIG4_ERR_MASK (0x100000U)
  1816. #define ADC_ETC_DONE2_ERR_IRQ_TRIG4_ERR_SHIFT (20U)
  1817. #define ADC_ETC_DONE2_ERR_IRQ_TRIG4_ERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_ERR_IRQ_TRIG4_ERR_SHIFT)) & ADC_ETC_DONE2_ERR_IRQ_TRIG4_ERR_MASK)
  1818. #define ADC_ETC_DONE2_ERR_IRQ_TRIG5_ERR_MASK (0x200000U)
  1819. #define ADC_ETC_DONE2_ERR_IRQ_TRIG5_ERR_SHIFT (21U)
  1820. #define ADC_ETC_DONE2_ERR_IRQ_TRIG5_ERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_ERR_IRQ_TRIG5_ERR_SHIFT)) & ADC_ETC_DONE2_ERR_IRQ_TRIG5_ERR_MASK)
  1821. #define ADC_ETC_DONE2_ERR_IRQ_TRIG6_ERR_MASK (0x400000U)
  1822. #define ADC_ETC_DONE2_ERR_IRQ_TRIG6_ERR_SHIFT (22U)
  1823. #define ADC_ETC_DONE2_ERR_IRQ_TRIG6_ERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_ERR_IRQ_TRIG6_ERR_SHIFT)) & ADC_ETC_DONE2_ERR_IRQ_TRIG6_ERR_MASK)
  1824. #define ADC_ETC_DONE2_ERR_IRQ_TRIG7_ERR_MASK (0x800000U)
  1825. #define ADC_ETC_DONE2_ERR_IRQ_TRIG7_ERR_SHIFT (23U)
  1826. #define ADC_ETC_DONE2_ERR_IRQ_TRIG7_ERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_ERR_IRQ_TRIG7_ERR_SHIFT)) & ADC_ETC_DONE2_ERR_IRQ_TRIG7_ERR_MASK)
  1827. /*! @} */
  1828. /*! @name DMA_CTRL - ETC DMA control Register */
  1829. /*! @{ */
  1830. #define ADC_ETC_DMA_CTRL_TRIG0_ENABLE_MASK (0x1U)
  1831. #define ADC_ETC_DMA_CTRL_TRIG0_ENABLE_SHIFT (0U)
  1832. #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)
  1833. #define ADC_ETC_DMA_CTRL_TRIG1_ENABLE_MASK (0x2U)
  1834. #define ADC_ETC_DMA_CTRL_TRIG1_ENABLE_SHIFT (1U)
  1835. #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)
  1836. #define ADC_ETC_DMA_CTRL_TRIG2_ENABLE_MASK (0x4U)
  1837. #define ADC_ETC_DMA_CTRL_TRIG2_ENABLE_SHIFT (2U)
  1838. #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)
  1839. #define ADC_ETC_DMA_CTRL_TRIG3_ENABLE_MASK (0x8U)
  1840. #define ADC_ETC_DMA_CTRL_TRIG3_ENABLE_SHIFT (3U)
  1841. #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)
  1842. #define ADC_ETC_DMA_CTRL_TRIG4_ENABLE_MASK (0x10U)
  1843. #define ADC_ETC_DMA_CTRL_TRIG4_ENABLE_SHIFT (4U)
  1844. #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)
  1845. #define ADC_ETC_DMA_CTRL_TRIG5_ENABLE_MASK (0x20U)
  1846. #define ADC_ETC_DMA_CTRL_TRIG5_ENABLE_SHIFT (5U)
  1847. #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)
  1848. #define ADC_ETC_DMA_CTRL_TRIG6_ENABLE_MASK (0x40U)
  1849. #define ADC_ETC_DMA_CTRL_TRIG6_ENABLE_SHIFT (6U)
  1850. #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)
  1851. #define ADC_ETC_DMA_CTRL_TRIG7_ENABLE_MASK (0x80U)
  1852. #define ADC_ETC_DMA_CTRL_TRIG7_ENABLE_SHIFT (7U)
  1853. #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)
  1854. #define ADC_ETC_DMA_CTRL_TRIG0_REQ_MASK (0x10000U)
  1855. #define ADC_ETC_DMA_CTRL_TRIG0_REQ_SHIFT (16U)
  1856. #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)
  1857. #define ADC_ETC_DMA_CTRL_TRIG1_REQ_MASK (0x20000U)
  1858. #define ADC_ETC_DMA_CTRL_TRIG1_REQ_SHIFT (17U)
  1859. #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)
  1860. #define ADC_ETC_DMA_CTRL_TRIG2_REQ_MASK (0x40000U)
  1861. #define ADC_ETC_DMA_CTRL_TRIG2_REQ_SHIFT (18U)
  1862. #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)
  1863. #define ADC_ETC_DMA_CTRL_TRIG3_REQ_MASK (0x80000U)
  1864. #define ADC_ETC_DMA_CTRL_TRIG3_REQ_SHIFT (19U)
  1865. #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)
  1866. #define ADC_ETC_DMA_CTRL_TRIG4_REQ_MASK (0x100000U)
  1867. #define ADC_ETC_DMA_CTRL_TRIG4_REQ_SHIFT (20U)
  1868. #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)
  1869. #define ADC_ETC_DMA_CTRL_TRIG5_REQ_MASK (0x200000U)
  1870. #define ADC_ETC_DMA_CTRL_TRIG5_REQ_SHIFT (21U)
  1871. #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)
  1872. #define ADC_ETC_DMA_CTRL_TRIG6_REQ_MASK (0x400000U)
  1873. #define ADC_ETC_DMA_CTRL_TRIG6_REQ_SHIFT (22U)
  1874. #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)
  1875. #define ADC_ETC_DMA_CTRL_TRIG7_REQ_MASK (0x800000U)
  1876. #define ADC_ETC_DMA_CTRL_TRIG7_REQ_SHIFT (23U)
  1877. #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)
  1878. /*! @} */
  1879. /*! @name TRIGn_CTRL - ETC_TRIG0 Control Register..ETC_TRIG7 Control Register */
  1880. /*! @{ */
  1881. #define ADC_ETC_TRIGn_CTRL_SW_TRIG_MASK (0x1U)
  1882. #define ADC_ETC_TRIGn_CTRL_SW_TRIG_SHIFT (0U)
  1883. #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)
  1884. #define ADC_ETC_TRIGn_CTRL_TRIG_MODE_MASK (0x10U)
  1885. #define ADC_ETC_TRIGn_CTRL_TRIG_MODE_SHIFT (4U)
  1886. #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)
  1887. #define ADC_ETC_TRIGn_CTRL_TRIG_CHAIN_MASK (0x700U)
  1888. #define ADC_ETC_TRIGn_CTRL_TRIG_CHAIN_SHIFT (8U)
  1889. #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)
  1890. #define ADC_ETC_TRIGn_CTRL_TRIG_PRIORITY_MASK (0x7000U)
  1891. #define ADC_ETC_TRIGn_CTRL_TRIG_PRIORITY_SHIFT (12U)
  1892. #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)
  1893. #define ADC_ETC_TRIGn_CTRL_SYNC_MODE_MASK (0x10000U)
  1894. #define ADC_ETC_TRIGn_CTRL_SYNC_MODE_SHIFT (16U)
  1895. #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)
  1896. /*! @} */
  1897. /* The count of ADC_ETC_TRIGn_CTRL */
  1898. #define ADC_ETC_TRIGn_CTRL_COUNT (8U)
  1899. /*! @name TRIGn_COUNTER - ETC_TRIG0 Counter Register..ETC_TRIG7 Counter Register */
  1900. /*! @{ */
  1901. #define ADC_ETC_TRIGn_COUNTER_INIT_DELAY_MASK (0xFFFFU)
  1902. #define ADC_ETC_TRIGn_COUNTER_INIT_DELAY_SHIFT (0U)
  1903. #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)
  1904. #define ADC_ETC_TRIGn_COUNTER_SAMPLE_INTERVAL_MASK (0xFFFF0000U)
  1905. #define ADC_ETC_TRIGn_COUNTER_SAMPLE_INTERVAL_SHIFT (16U)
  1906. #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)
  1907. /*! @} */
  1908. /* The count of ADC_ETC_TRIGn_COUNTER */
  1909. #define ADC_ETC_TRIGn_COUNTER_COUNT (8U)
  1910. /*! @name TRIGn_CHAIN_1_0 - ETC_TRIG Chain 0/1 Register */
  1911. /*! @{ */
  1912. #define ADC_ETC_TRIGn_CHAIN_1_0_CSEL0_MASK (0xFU)
  1913. #define ADC_ETC_TRIGn_CHAIN_1_0_CSEL0_SHIFT (0U)
  1914. #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)
  1915. #define ADC_ETC_TRIGn_CHAIN_1_0_HWTS0_MASK (0xFF0U)
  1916. #define ADC_ETC_TRIGn_CHAIN_1_0_HWTS0_SHIFT (4U)
  1917. #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)
  1918. #define ADC_ETC_TRIGn_CHAIN_1_0_B2B0_MASK (0x1000U)
  1919. #define ADC_ETC_TRIGn_CHAIN_1_0_B2B0_SHIFT (12U)
  1920. #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)
  1921. #define ADC_ETC_TRIGn_CHAIN_1_0_IE0_MASK (0x6000U)
  1922. #define ADC_ETC_TRIGn_CHAIN_1_0_IE0_SHIFT (13U)
  1923. #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)
  1924. #define ADC_ETC_TRIGn_CHAIN_1_0_CSEL1_MASK (0xF0000U)
  1925. #define ADC_ETC_TRIGn_CHAIN_1_0_CSEL1_SHIFT (16U)
  1926. #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)
  1927. #define ADC_ETC_TRIGn_CHAIN_1_0_HWTS1_MASK (0xFF00000U)
  1928. #define ADC_ETC_TRIGn_CHAIN_1_0_HWTS1_SHIFT (20U)
  1929. #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)
  1930. #define ADC_ETC_TRIGn_CHAIN_1_0_B2B1_MASK (0x10000000U)
  1931. #define ADC_ETC_TRIGn_CHAIN_1_0_B2B1_SHIFT (28U)
  1932. #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)
  1933. #define ADC_ETC_TRIGn_CHAIN_1_0_IE1_MASK (0x60000000U)
  1934. #define ADC_ETC_TRIGn_CHAIN_1_0_IE1_SHIFT (29U)
  1935. #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)
  1936. /*! @} */
  1937. /* The count of ADC_ETC_TRIGn_CHAIN_1_0 */
  1938. #define ADC_ETC_TRIGn_CHAIN_1_0_COUNT (8U)
  1939. /*! @name TRIGn_CHAIN_3_2 - ETC_TRIG Chain 2/3 Register */
  1940. /*! @{ */
  1941. #define ADC_ETC_TRIGn_CHAIN_3_2_CSEL2_MASK (0xFU)
  1942. #define ADC_ETC_TRIGn_CHAIN_3_2_CSEL2_SHIFT (0U)
  1943. #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)
  1944. #define ADC_ETC_TRIGn_CHAIN_3_2_HWTS2_MASK (0xFF0U)
  1945. #define ADC_ETC_TRIGn_CHAIN_3_2_HWTS2_SHIFT (4U)
  1946. #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)
  1947. #define ADC_ETC_TRIGn_CHAIN_3_2_B2B2_MASK (0x1000U)
  1948. #define ADC_ETC_TRIGn_CHAIN_3_2_B2B2_SHIFT (12U)
  1949. #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)
  1950. #define ADC_ETC_TRIGn_CHAIN_3_2_IE2_MASK (0x6000U)
  1951. #define ADC_ETC_TRIGn_CHAIN_3_2_IE2_SHIFT (13U)
  1952. #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)
  1953. #define ADC_ETC_TRIGn_CHAIN_3_2_CSEL3_MASK (0xF0000U)
  1954. #define ADC_ETC_TRIGn_CHAIN_3_2_CSEL3_SHIFT (16U)
  1955. #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)
  1956. #define ADC_ETC_TRIGn_CHAIN_3_2_HWTS3_MASK (0xFF00000U)
  1957. #define ADC_ETC_TRIGn_CHAIN_3_2_HWTS3_SHIFT (20U)
  1958. #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)
  1959. #define ADC_ETC_TRIGn_CHAIN_3_2_B2B3_MASK (0x10000000U)
  1960. #define ADC_ETC_TRIGn_CHAIN_3_2_B2B3_SHIFT (28U)
  1961. #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)
  1962. #define ADC_ETC_TRIGn_CHAIN_3_2_IE3_MASK (0x60000000U)
  1963. #define ADC_ETC_TRIGn_CHAIN_3_2_IE3_SHIFT (29U)
  1964. #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)
  1965. /*! @} */
  1966. /* The count of ADC_ETC_TRIGn_CHAIN_3_2 */
  1967. #define ADC_ETC_TRIGn_CHAIN_3_2_COUNT (8U)
  1968. /*! @name TRIGn_CHAIN_5_4 - ETC_TRIG Chain 4/5 Register */
  1969. /*! @{ */
  1970. #define ADC_ETC_TRIGn_CHAIN_5_4_CSEL4_MASK (0xFU)
  1971. #define ADC_ETC_TRIGn_CHAIN_5_4_CSEL4_SHIFT (0U)
  1972. #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)
  1973. #define ADC_ETC_TRIGn_CHAIN_5_4_HWTS4_MASK (0xFF0U)
  1974. #define ADC_ETC_TRIGn_CHAIN_5_4_HWTS4_SHIFT (4U)
  1975. #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)
  1976. #define ADC_ETC_TRIGn_CHAIN_5_4_B2B4_MASK (0x1000U)
  1977. #define ADC_ETC_TRIGn_CHAIN_5_4_B2B4_SHIFT (12U)
  1978. #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)
  1979. #define ADC_ETC_TRIGn_CHAIN_5_4_IE4_MASK (0x6000U)
  1980. #define ADC_ETC_TRIGn_CHAIN_5_4_IE4_SHIFT (13U)
  1981. #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)
  1982. #define ADC_ETC_TRIGn_CHAIN_5_4_CSEL5_MASK (0xF0000U)
  1983. #define ADC_ETC_TRIGn_CHAIN_5_4_CSEL5_SHIFT (16U)
  1984. #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)
  1985. #define ADC_ETC_TRIGn_CHAIN_5_4_HWTS5_MASK (0xFF00000U)
  1986. #define ADC_ETC_TRIGn_CHAIN_5_4_HWTS5_SHIFT (20U)
  1987. #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)
  1988. #define ADC_ETC_TRIGn_CHAIN_5_4_B2B5_MASK (0x10000000U)
  1989. #define ADC_ETC_TRIGn_CHAIN_5_4_B2B5_SHIFT (28U)
  1990. #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)
  1991. #define ADC_ETC_TRIGn_CHAIN_5_4_IE5_MASK (0x60000000U)
  1992. #define ADC_ETC_TRIGn_CHAIN_5_4_IE5_SHIFT (29U)
  1993. #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)
  1994. /*! @} */
  1995. /* The count of ADC_ETC_TRIGn_CHAIN_5_4 */
  1996. #define ADC_ETC_TRIGn_CHAIN_5_4_COUNT (8U)
  1997. /*! @name TRIGn_CHAIN_7_6 - ETC_TRIG Chain 6/7 Register */
  1998. /*! @{ */
  1999. #define ADC_ETC_TRIGn_CHAIN_7_6_CSEL6_MASK (0xFU)
  2000. #define ADC_ETC_TRIGn_CHAIN_7_6_CSEL6_SHIFT (0U)
  2001. #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)
  2002. #define ADC_ETC_TRIGn_CHAIN_7_6_HWTS6_MASK (0xFF0U)
  2003. #define ADC_ETC_TRIGn_CHAIN_7_6_HWTS6_SHIFT (4U)
  2004. #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)
  2005. #define ADC_ETC_TRIGn_CHAIN_7_6_B2B6_MASK (0x1000U)
  2006. #define ADC_ETC_TRIGn_CHAIN_7_6_B2B6_SHIFT (12U)
  2007. #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)
  2008. #define ADC_ETC_TRIGn_CHAIN_7_6_IE6_MASK (0x6000U)
  2009. #define ADC_ETC_TRIGn_CHAIN_7_6_IE6_SHIFT (13U)
  2010. #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)
  2011. #define ADC_ETC_TRIGn_CHAIN_7_6_CSEL7_MASK (0xF0000U)
  2012. #define ADC_ETC_TRIGn_CHAIN_7_6_CSEL7_SHIFT (16U)
  2013. #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)
  2014. #define ADC_ETC_TRIGn_CHAIN_7_6_HWTS7_MASK (0xFF00000U)
  2015. #define ADC_ETC_TRIGn_CHAIN_7_6_HWTS7_SHIFT (20U)
  2016. #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)
  2017. #define ADC_ETC_TRIGn_CHAIN_7_6_B2B7_MASK (0x10000000U)
  2018. #define ADC_ETC_TRIGn_CHAIN_7_6_B2B7_SHIFT (28U)
  2019. #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)
  2020. #define ADC_ETC_TRIGn_CHAIN_7_6_IE7_MASK (0x60000000U)
  2021. #define ADC_ETC_TRIGn_CHAIN_7_6_IE7_SHIFT (29U)
  2022. #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)
  2023. /*! @} */
  2024. /* The count of ADC_ETC_TRIGn_CHAIN_7_6 */
  2025. #define ADC_ETC_TRIGn_CHAIN_7_6_COUNT (8U)
  2026. /*! @name TRIGn_RESULT_1_0 - ETC_TRIG Result Data 1/0 Register */
  2027. /*! @{ */
  2028. #define ADC_ETC_TRIGn_RESULT_1_0_DATA0_MASK (0xFFFU)
  2029. #define ADC_ETC_TRIGn_RESULT_1_0_DATA0_SHIFT (0U)
  2030. #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)
  2031. #define ADC_ETC_TRIGn_RESULT_1_0_DATA1_MASK (0xFFF0000U)
  2032. #define ADC_ETC_TRIGn_RESULT_1_0_DATA1_SHIFT (16U)
  2033. #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)
  2034. /*! @} */
  2035. /* The count of ADC_ETC_TRIGn_RESULT_1_0 */
  2036. #define ADC_ETC_TRIGn_RESULT_1_0_COUNT (8U)
  2037. /*! @name TRIGn_RESULT_3_2 - ETC_TRIG Result Data 3/2 Register */
  2038. /*! @{ */
  2039. #define ADC_ETC_TRIGn_RESULT_3_2_DATA2_MASK (0xFFFU)
  2040. #define ADC_ETC_TRIGn_RESULT_3_2_DATA2_SHIFT (0U)
  2041. #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)
  2042. #define ADC_ETC_TRIGn_RESULT_3_2_DATA3_MASK (0xFFF0000U)
  2043. #define ADC_ETC_TRIGn_RESULT_3_2_DATA3_SHIFT (16U)
  2044. #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)
  2045. /*! @} */
  2046. /* The count of ADC_ETC_TRIGn_RESULT_3_2 */
  2047. #define ADC_ETC_TRIGn_RESULT_3_2_COUNT (8U)
  2048. /*! @name TRIGn_RESULT_5_4 - ETC_TRIG Result Data 5/4 Register */
  2049. /*! @{ */
  2050. #define ADC_ETC_TRIGn_RESULT_5_4_DATA4_MASK (0xFFFU)
  2051. #define ADC_ETC_TRIGn_RESULT_5_4_DATA4_SHIFT (0U)
  2052. #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)
  2053. #define ADC_ETC_TRIGn_RESULT_5_4_DATA5_MASK (0xFFF0000U)
  2054. #define ADC_ETC_TRIGn_RESULT_5_4_DATA5_SHIFT (16U)
  2055. #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)
  2056. /*! @} */
  2057. /* The count of ADC_ETC_TRIGn_RESULT_5_4 */
  2058. #define ADC_ETC_TRIGn_RESULT_5_4_COUNT (8U)
  2059. /*! @name TRIGn_RESULT_7_6 - ETC_TRIG Result Data 7/6 Register */
  2060. /*! @{ */
  2061. #define ADC_ETC_TRIGn_RESULT_7_6_DATA6_MASK (0xFFFU)
  2062. #define ADC_ETC_TRIGn_RESULT_7_6_DATA6_SHIFT (0U)
  2063. #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)
  2064. #define ADC_ETC_TRIGn_RESULT_7_6_DATA7_MASK (0xFFF0000U)
  2065. #define ADC_ETC_TRIGn_RESULT_7_6_DATA7_SHIFT (16U)
  2066. #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)
  2067. /*! @} */
  2068. /* The count of ADC_ETC_TRIGn_RESULT_7_6 */
  2069. #define ADC_ETC_TRIGn_RESULT_7_6_COUNT (8U)
  2070. /*!
  2071. * @}
  2072. */ /* end of group ADC_ETC_Register_Masks */
  2073. /* ADC_ETC - Peripheral instance base addresses */
  2074. /** Peripheral ADC_ETC base address */
  2075. #define ADC_ETC_BASE (0x403B0000u)
  2076. /** Peripheral ADC_ETC base pointer */
  2077. #define ADC_ETC ((ADC_ETC_Type *)ADC_ETC_BASE)
  2078. /** Array initializer of ADC_ETC peripheral base addresses */
  2079. #define ADC_ETC_BASE_ADDRS { ADC_ETC_BASE }
  2080. /** Array initializer of ADC_ETC peripheral base pointers */
  2081. #define ADC_ETC_BASE_PTRS { ADC_ETC }
  2082. /** Interrupt vectors for the ADC_ETC peripheral type */
  2083. #define ADC_ETC_IRQS { { ADC_ETC_IRQ0_IRQn, ADC_ETC_IRQ1_IRQn, ADC_ETC_IRQ2_IRQn } }
  2084. #define ADC_ETC_FAULT_IRQS { ADC_ETC_ERROR_IRQ_IRQn }
  2085. /*!
  2086. * @}
  2087. */ /* end of group ADC_ETC_Peripheral_Access_Layer */
  2088. /* ----------------------------------------------------------------------------
  2089. -- AIPSTZ Peripheral Access Layer
  2090. ---------------------------------------------------------------------------- */
  2091. /*!
  2092. * @addtogroup AIPSTZ_Peripheral_Access_Layer AIPSTZ Peripheral Access Layer
  2093. * @{
  2094. */
  2095. /** AIPSTZ - Register Layout Typedef */
  2096. typedef struct {
  2097. __IO uint32_t MPR; /**< Master Priviledge Registers, offset: 0x0 */
  2098. uint8_t RESERVED_0[60];
  2099. __IO uint32_t OPACR; /**< Off-Platform Peripheral Access Control Registers, offset: 0x40 */
  2100. __IO uint32_t OPACR1; /**< Off-Platform Peripheral Access Control Registers, offset: 0x44 */
  2101. __IO uint32_t OPACR2; /**< Off-Platform Peripheral Access Control Registers, offset: 0x48 */
  2102. __IO uint32_t OPACR3; /**< Off-Platform Peripheral Access Control Registers, offset: 0x4C */
  2103. __IO uint32_t OPACR4; /**< Off-Platform Peripheral Access Control Registers, offset: 0x50 */
  2104. } AIPSTZ_Type;
  2105. /* ----------------------------------------------------------------------------
  2106. -- AIPSTZ Register Masks
  2107. ---------------------------------------------------------------------------- */
  2108. /*!
  2109. * @addtogroup AIPSTZ_Register_Masks AIPSTZ Register Masks
  2110. * @{
  2111. */
  2112. /*! @name MPR - Master Priviledge Registers */
  2113. /*! @{ */
  2114. #define AIPSTZ_MPR_MPROT5_MASK (0xF00U)
  2115. #define AIPSTZ_MPR_MPROT5_SHIFT (8U)
  2116. /*! MPROT5
  2117. * 0bxxx0..Accesses from this master are forced to user-mode (ips_supervisor_access is forced to zero) regardless of the hprot[1] access attribute.
  2118. * 0bxxx1..Accesses from this master are not forced to user-mode. The hprot[1] access attribute is used directly to determine ips_supervisor_access.
  2119. * 0bxx0x..This master is not trusted for write accesses.
  2120. * 0bxx1x..This master is trusted for write accesses.
  2121. * 0bx0xx..This master is not trusted for read accesses.
  2122. * 0bx1xx..This master is trusted for read accesses.
  2123. * 0b1xxx..Write accesses from this master are allowed to be buffered
  2124. */
  2125. #define AIPSTZ_MPR_MPROT5(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_MPR_MPROT5_SHIFT)) & AIPSTZ_MPR_MPROT5_MASK)
  2126. #define AIPSTZ_MPR_MPROT3_MASK (0xF0000U)
  2127. #define AIPSTZ_MPR_MPROT3_SHIFT (16U)
  2128. /*! MPROT3
  2129. * 0bxxx0..Accesses from this master are forced to user-mode (ips_supervisor_access is forced to zero) regardless of the hprot[1] access attribute.
  2130. * 0bxxx1..Accesses from this master are not forced to user-mode. The hprot[1] access attribute is used directly to determine ips_supervisor_access.
  2131. * 0bxx0x..This master is not trusted for write accesses.
  2132. * 0bxx1x..This master is trusted for write accesses.
  2133. * 0bx0xx..This master is not trusted for read accesses.
  2134. * 0bx1xx..This master is trusted for read accesses.
  2135. * 0b1xxx..Write accesses from this master are allowed to be buffered
  2136. */
  2137. #define AIPSTZ_MPR_MPROT3(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_MPR_MPROT3_SHIFT)) & AIPSTZ_MPR_MPROT3_MASK)
  2138. #define AIPSTZ_MPR_MPROT2_MASK (0xF00000U)
  2139. #define AIPSTZ_MPR_MPROT2_SHIFT (20U)
  2140. /*! MPROT2
  2141. * 0bxxx0..Accesses from this master are forced to user-mode (ips_supervisor_access is forced to zero) regardless of the hprot[1] access attribute.
  2142. * 0bxxx1..Accesses from this master are not forced to user-mode. The hprot[1] access attribute is used directly to determine ips_supervisor_access.
  2143. * 0bxx0x..This master is not trusted for write accesses.
  2144. * 0bxx1x..This master is trusted for write accesses.
  2145. * 0bx0xx..This master is not trusted for read accesses.
  2146. * 0bx1xx..This master is trusted for read accesses.
  2147. * 0b1xxx..Write accesses from this master are allowed to be buffered
  2148. */
  2149. #define AIPSTZ_MPR_MPROT2(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_MPR_MPROT2_SHIFT)) & AIPSTZ_MPR_MPROT2_MASK)
  2150. #define AIPSTZ_MPR_MPROT1_MASK (0xF000000U)
  2151. #define AIPSTZ_MPR_MPROT1_SHIFT (24U)
  2152. /*! MPROT1
  2153. * 0bxxx0..Accesses from this master are forced to user-mode (ips_supervisor_access is forced to zero) regardless of the hprot[1] access attribute.
  2154. * 0bxxx1..Accesses from this master are not forced to user-mode. The hprot[1] access attribute is used directly to determine ips_supervisor_access.
  2155. * 0bxx0x..This master is not trusted for write accesses.
  2156. * 0bxx1x..This master is trusted for write accesses.
  2157. * 0bx0xx..This master is not trusted for read accesses.
  2158. * 0bx1xx..This master is trusted for read accesses.
  2159. * 0b1xxx..Write accesses from this master are allowed to be buffered
  2160. */
  2161. #define AIPSTZ_MPR_MPROT1(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_MPR_MPROT1_SHIFT)) & AIPSTZ_MPR_MPROT1_MASK)
  2162. #define AIPSTZ_MPR_MPROT0_MASK (0xF0000000U)
  2163. #define AIPSTZ_MPR_MPROT0_SHIFT (28U)
  2164. /*! MPROT0
  2165. * 0bxxx0..Accesses from this master are forced to user-mode (ips_supervisor_access is forced to zero) regardless of the hprot[1] access attribute.
  2166. * 0bxxx1..Accesses from this master are not forced to user-mode. The hprot[1] access attribute is used directly to determine ips_supervisor_access.
  2167. * 0bxx0x..This master is not trusted for write accesses.
  2168. * 0bxx1x..This master is trusted for write accesses.
  2169. * 0bx0xx..This master is not trusted for read accesses.
  2170. * 0bx1xx..This master is trusted for read accesses.
  2171. * 0b1xxx..Write accesses from this master are allowed to be buffered
  2172. */
  2173. #define AIPSTZ_MPR_MPROT0(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_MPR_MPROT0_SHIFT)) & AIPSTZ_MPR_MPROT0_MASK)
  2174. /*! @} */
  2175. /*! @name OPACR - Off-Platform Peripheral Access Control Registers */
  2176. /*! @{ */
  2177. #define AIPSTZ_OPACR_OPAC7_MASK (0xFU)
  2178. #define AIPSTZ_OPACR_OPAC7_SHIFT (0U)
  2179. /*! OPAC7
  2180. * 0bxxx0..Accesses from an untrusted master are allowed.
  2181. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2182. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2183. * 0bxx0x..This peripheral allows write accesses.
  2184. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2185. * error response and no peripheral access is initiated on the IPS bus.
  2186. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2187. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2188. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2189. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2190. * on the IPS bus.
  2191. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2192. */
  2193. #define AIPSTZ_OPACR_OPAC7(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR_OPAC7_SHIFT)) & AIPSTZ_OPACR_OPAC7_MASK)
  2194. #define AIPSTZ_OPACR_OPAC6_MASK (0xF0U)
  2195. #define AIPSTZ_OPACR_OPAC6_SHIFT (4U)
  2196. /*! OPAC6
  2197. * 0bxxx0..Accesses from an untrusted master are allowed.
  2198. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2199. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2200. * 0bxx0x..This peripheral allows write accesses.
  2201. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2202. * error response and no peripheral access is initiated on the IPS bus.
  2203. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2204. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2205. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2206. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2207. * on the IPS bus.
  2208. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2209. */
  2210. #define AIPSTZ_OPACR_OPAC6(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR_OPAC6_SHIFT)) & AIPSTZ_OPACR_OPAC6_MASK)
  2211. #define AIPSTZ_OPACR_OPAC5_MASK (0xF00U)
  2212. #define AIPSTZ_OPACR_OPAC5_SHIFT (8U)
  2213. /*! OPAC5
  2214. * 0bxxx0..Accesses from an untrusted master are allowed.
  2215. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2216. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2217. * 0bxx0x..This peripheral allows write accesses.
  2218. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2219. * error response and no peripheral access is initiated on the IPS bus.
  2220. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2221. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2222. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2223. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2224. * on the IPS bus.
  2225. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2226. */
  2227. #define AIPSTZ_OPACR_OPAC5(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR_OPAC5_SHIFT)) & AIPSTZ_OPACR_OPAC5_MASK)
  2228. #define AIPSTZ_OPACR_OPAC4_MASK (0xF000U)
  2229. #define AIPSTZ_OPACR_OPAC4_SHIFT (12U)
  2230. /*! OPAC4
  2231. * 0bxxx0..Accesses from an untrusted master are allowed.
  2232. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2233. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2234. * 0bxx0x..This peripheral allows write accesses.
  2235. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2236. * error response and no peripheral access is initiated on the IPS bus.
  2237. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2238. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2239. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2240. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2241. * on the IPS bus.
  2242. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2243. */
  2244. #define AIPSTZ_OPACR_OPAC4(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR_OPAC4_SHIFT)) & AIPSTZ_OPACR_OPAC4_MASK)
  2245. #define AIPSTZ_OPACR_OPAC3_MASK (0xF0000U)
  2246. #define AIPSTZ_OPACR_OPAC3_SHIFT (16U)
  2247. /*! OPAC3
  2248. * 0bxxx0..Accesses from an untrusted master are allowed.
  2249. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2250. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2251. * 0bxx0x..This peripheral allows write accesses.
  2252. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2253. * error response and no peripheral access is initiated on the IPS bus.
  2254. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2255. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2256. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2257. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2258. * on the IPS bus.
  2259. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2260. */
  2261. #define AIPSTZ_OPACR_OPAC3(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR_OPAC3_SHIFT)) & AIPSTZ_OPACR_OPAC3_MASK)
  2262. #define AIPSTZ_OPACR_OPAC2_MASK (0xF00000U)
  2263. #define AIPSTZ_OPACR_OPAC2_SHIFT (20U)
  2264. /*! OPAC2
  2265. * 0bxxx0..Accesses from an untrusted master are allowed.
  2266. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2267. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2268. * 0bxx0x..This peripheral allows write accesses.
  2269. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2270. * error response and no peripheral access is initiated on the IPS bus.
  2271. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2272. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2273. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2274. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2275. * on the IPS bus.
  2276. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2277. */
  2278. #define AIPSTZ_OPACR_OPAC2(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR_OPAC2_SHIFT)) & AIPSTZ_OPACR_OPAC2_MASK)
  2279. #define AIPSTZ_OPACR_OPAC1_MASK (0xF000000U)
  2280. #define AIPSTZ_OPACR_OPAC1_SHIFT (24U)
  2281. /*! OPAC1
  2282. * 0bxxx0..Accesses from an untrusted master are allowed.
  2283. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2284. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2285. * 0bxx0x..This peripheral allows write accesses.
  2286. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2287. * error response and no peripheral access is initiated on the IPS bus.
  2288. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2289. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2290. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2291. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2292. * on the IPS bus.
  2293. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2294. */
  2295. #define AIPSTZ_OPACR_OPAC1(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR_OPAC1_SHIFT)) & AIPSTZ_OPACR_OPAC1_MASK)
  2296. #define AIPSTZ_OPACR_OPAC0_MASK (0xF0000000U)
  2297. #define AIPSTZ_OPACR_OPAC0_SHIFT (28U)
  2298. /*! OPAC0
  2299. * 0bxxx0..Accesses from an untrusted master are allowed.
  2300. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2301. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2302. * 0bxx0x..This peripheral allows write accesses.
  2303. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2304. * error response and no peripheral access is initiated on the IPS bus.
  2305. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2306. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2307. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2308. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2309. * on the IPS bus.
  2310. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2311. */
  2312. #define AIPSTZ_OPACR_OPAC0(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR_OPAC0_SHIFT)) & AIPSTZ_OPACR_OPAC0_MASK)
  2313. /*! @} */
  2314. /*! @name OPACR1 - Off-Platform Peripheral Access Control Registers */
  2315. /*! @{ */
  2316. #define AIPSTZ_OPACR1_OPAC15_MASK (0xFU)
  2317. #define AIPSTZ_OPACR1_OPAC15_SHIFT (0U)
  2318. /*! OPAC15
  2319. * 0bxxx0..Accesses from an untrusted master are allowed.
  2320. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2321. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2322. * 0bxx0x..This peripheral allows write accesses.
  2323. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2324. * error response and no peripheral access is initiated on the IPS bus.
  2325. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2326. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2327. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2328. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2329. * on the IPS bus.
  2330. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2331. */
  2332. #define AIPSTZ_OPACR1_OPAC15(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR1_OPAC15_SHIFT)) & AIPSTZ_OPACR1_OPAC15_MASK)
  2333. #define AIPSTZ_OPACR1_OPAC14_MASK (0xF0U)
  2334. #define AIPSTZ_OPACR1_OPAC14_SHIFT (4U)
  2335. /*! OPAC14
  2336. * 0bxxx0..Accesses from an untrusted master are allowed.
  2337. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2338. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2339. * 0bxx0x..This peripheral allows write accesses.
  2340. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2341. * error response and no peripheral access is initiated on the IPS bus.
  2342. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2343. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2344. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2345. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2346. * on the IPS bus.
  2347. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2348. */
  2349. #define AIPSTZ_OPACR1_OPAC14(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR1_OPAC14_SHIFT)) & AIPSTZ_OPACR1_OPAC14_MASK)
  2350. #define AIPSTZ_OPACR1_OPAC13_MASK (0xF00U)
  2351. #define AIPSTZ_OPACR1_OPAC13_SHIFT (8U)
  2352. /*! OPAC13
  2353. * 0bxxx0..Accesses from an untrusted master are allowed.
  2354. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2355. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2356. * 0bxx0x..This peripheral allows write accesses.
  2357. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2358. * error response and no peripheral access is initiated on the IPS bus.
  2359. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2360. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2361. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2362. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2363. * on the IPS bus.
  2364. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2365. */
  2366. #define AIPSTZ_OPACR1_OPAC13(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR1_OPAC13_SHIFT)) & AIPSTZ_OPACR1_OPAC13_MASK)
  2367. #define AIPSTZ_OPACR1_OPAC12_MASK (0xF000U)
  2368. #define AIPSTZ_OPACR1_OPAC12_SHIFT (12U)
  2369. /*! OPAC12
  2370. * 0bxxx0..Accesses from an untrusted master are allowed.
  2371. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2372. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2373. * 0bxx0x..This peripheral allows write accesses.
  2374. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2375. * error response and no peripheral access is initiated on the IPS bus.
  2376. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2377. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2378. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2379. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2380. * on the IPS bus.
  2381. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2382. */
  2383. #define AIPSTZ_OPACR1_OPAC12(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR1_OPAC12_SHIFT)) & AIPSTZ_OPACR1_OPAC12_MASK)
  2384. #define AIPSTZ_OPACR1_OPAC11_MASK (0xF0000U)
  2385. #define AIPSTZ_OPACR1_OPAC11_SHIFT (16U)
  2386. /*! OPAC11
  2387. * 0bxxx0..Accesses from an untrusted master are allowed.
  2388. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2389. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2390. * 0bxx0x..This peripheral allows write accesses.
  2391. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2392. * error response and no peripheral access is initiated on the IPS bus.
  2393. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2394. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2395. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2396. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2397. * on the IPS bus.
  2398. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2399. */
  2400. #define AIPSTZ_OPACR1_OPAC11(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR1_OPAC11_SHIFT)) & AIPSTZ_OPACR1_OPAC11_MASK)
  2401. #define AIPSTZ_OPACR1_OPAC10_MASK (0xF00000U)
  2402. #define AIPSTZ_OPACR1_OPAC10_SHIFT (20U)
  2403. /*! OPAC10
  2404. * 0bxxx0..Accesses from an untrusted master are allowed.
  2405. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2406. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2407. * 0bxx0x..This peripheral allows write accesses.
  2408. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2409. * error response and no peripheral access is initiated on the IPS bus.
  2410. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2411. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2412. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2413. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2414. * on the IPS bus.
  2415. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2416. */
  2417. #define AIPSTZ_OPACR1_OPAC10(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR1_OPAC10_SHIFT)) & AIPSTZ_OPACR1_OPAC10_MASK)
  2418. #define AIPSTZ_OPACR1_OPAC9_MASK (0xF000000U)
  2419. #define AIPSTZ_OPACR1_OPAC9_SHIFT (24U)
  2420. /*! OPAC9
  2421. * 0bxxx0..Accesses from an untrusted master are allowed.
  2422. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2423. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2424. * 0bxx0x..This peripheral allows write accesses.
  2425. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2426. * error response and no peripheral access is initiated on the IPS bus.
  2427. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2428. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2429. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2430. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2431. * on the IPS bus.
  2432. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2433. */
  2434. #define AIPSTZ_OPACR1_OPAC9(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR1_OPAC9_SHIFT)) & AIPSTZ_OPACR1_OPAC9_MASK)
  2435. #define AIPSTZ_OPACR1_OPAC8_MASK (0xF0000000U)
  2436. #define AIPSTZ_OPACR1_OPAC8_SHIFT (28U)
  2437. /*! OPAC8
  2438. * 0bxxx0..Accesses from an untrusted master are allowed.
  2439. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2440. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2441. * 0bxx0x..This peripheral allows write accesses.
  2442. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2443. * error response and no peripheral access is initiated on the IPS bus.
  2444. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2445. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2446. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2447. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2448. * on the IPS bus.
  2449. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2450. */
  2451. #define AIPSTZ_OPACR1_OPAC8(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR1_OPAC8_SHIFT)) & AIPSTZ_OPACR1_OPAC8_MASK)
  2452. /*! @} */
  2453. /*! @name OPACR2 - Off-Platform Peripheral Access Control Registers */
  2454. /*! @{ */
  2455. #define AIPSTZ_OPACR2_OPAC23_MASK (0xFU)
  2456. #define AIPSTZ_OPACR2_OPAC23_SHIFT (0U)
  2457. /*! OPAC23
  2458. * 0bxxx0..Accesses from an untrusted master are allowed.
  2459. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2460. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2461. * 0bxx0x..This peripheral allows write accesses.
  2462. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2463. * error response and no peripheral access is initiated on the IPS bus.
  2464. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2465. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2466. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2467. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2468. * on the IPS bus.
  2469. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2470. */
  2471. #define AIPSTZ_OPACR2_OPAC23(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR2_OPAC23_SHIFT)) & AIPSTZ_OPACR2_OPAC23_MASK)
  2472. #define AIPSTZ_OPACR2_OPAC22_MASK (0xF0U)
  2473. #define AIPSTZ_OPACR2_OPAC22_SHIFT (4U)
  2474. /*! OPAC22
  2475. * 0bxxx0..Accesses from an untrusted master are allowed.
  2476. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2477. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2478. * 0bxx0x..This peripheral allows write accesses.
  2479. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2480. * error response and no peripheral access is initiated on the IPS bus.
  2481. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2482. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2483. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2484. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2485. * on the IPS bus.
  2486. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2487. */
  2488. #define AIPSTZ_OPACR2_OPAC22(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR2_OPAC22_SHIFT)) & AIPSTZ_OPACR2_OPAC22_MASK)
  2489. #define AIPSTZ_OPACR2_OPAC21_MASK (0xF00U)
  2490. #define AIPSTZ_OPACR2_OPAC21_SHIFT (8U)
  2491. /*! OPAC21
  2492. * 0bxxx0..Accesses from an untrusted master are allowed.
  2493. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2494. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2495. * 0bxx0x..This peripheral allows write accesses.
  2496. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2497. * error response and no peripheral access is initiated on the IPS bus.
  2498. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2499. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2500. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2501. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2502. * on the IPS bus.
  2503. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2504. */
  2505. #define AIPSTZ_OPACR2_OPAC21(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR2_OPAC21_SHIFT)) & AIPSTZ_OPACR2_OPAC21_MASK)
  2506. #define AIPSTZ_OPACR2_OPAC20_MASK (0xF000U)
  2507. #define AIPSTZ_OPACR2_OPAC20_SHIFT (12U)
  2508. /*! OPAC20
  2509. * 0bxxx0..Accesses from an untrusted master are allowed.
  2510. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2511. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2512. * 0bxx0x..This peripheral allows write accesses.
  2513. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2514. * error response and no peripheral access is initiated on the IPS bus.
  2515. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2516. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2517. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2518. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2519. * on the IPS bus.
  2520. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2521. */
  2522. #define AIPSTZ_OPACR2_OPAC20(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR2_OPAC20_SHIFT)) & AIPSTZ_OPACR2_OPAC20_MASK)
  2523. #define AIPSTZ_OPACR2_OPAC19_MASK (0xF0000U)
  2524. #define AIPSTZ_OPACR2_OPAC19_SHIFT (16U)
  2525. /*! OPAC19
  2526. * 0bxxx0..Accesses from an untrusted master are allowed.
  2527. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2528. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2529. * 0bxx0x..This peripheral allows write accesses.
  2530. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2531. * error response and no peripheral access is initiated on the IPS bus.
  2532. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2533. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2534. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2535. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2536. * on the IPS bus.
  2537. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2538. */
  2539. #define AIPSTZ_OPACR2_OPAC19(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR2_OPAC19_SHIFT)) & AIPSTZ_OPACR2_OPAC19_MASK)
  2540. #define AIPSTZ_OPACR2_OPAC18_MASK (0xF00000U)
  2541. #define AIPSTZ_OPACR2_OPAC18_SHIFT (20U)
  2542. /*! OPAC18
  2543. * 0bxxx0..Accesses from an untrusted master are allowed.
  2544. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2545. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2546. * 0bxx0x..This peripheral allows write accesses.
  2547. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2548. * error response and no peripheral access is initiated on the IPS bus.
  2549. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2550. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2551. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2552. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2553. * on the IPS bus.
  2554. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2555. */
  2556. #define AIPSTZ_OPACR2_OPAC18(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR2_OPAC18_SHIFT)) & AIPSTZ_OPACR2_OPAC18_MASK)
  2557. #define AIPSTZ_OPACR2_OPAC17_MASK (0xF000000U)
  2558. #define AIPSTZ_OPACR2_OPAC17_SHIFT (24U)
  2559. /*! OPAC17
  2560. * 0bxxx0..Accesses from an untrusted master are allowed.
  2561. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2562. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2563. * 0bxx0x..This peripheral allows write accesses.
  2564. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2565. * error response and no peripheral access is initiated on the IPS bus.
  2566. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2567. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2568. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2569. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2570. * on the IPS bus.
  2571. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2572. */
  2573. #define AIPSTZ_OPACR2_OPAC17(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR2_OPAC17_SHIFT)) & AIPSTZ_OPACR2_OPAC17_MASK)
  2574. #define AIPSTZ_OPACR2_OPAC16_MASK (0xF0000000U)
  2575. #define AIPSTZ_OPACR2_OPAC16_SHIFT (28U)
  2576. /*! OPAC16
  2577. * 0bxxx0..Accesses from an untrusted master are allowed.
  2578. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2579. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2580. * 0bxx0x..This peripheral allows write accesses.
  2581. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2582. * error response and no peripheral access is initiated on the IPS bus.
  2583. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2584. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2585. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2586. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2587. * on the IPS bus.
  2588. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2589. */
  2590. #define AIPSTZ_OPACR2_OPAC16(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR2_OPAC16_SHIFT)) & AIPSTZ_OPACR2_OPAC16_MASK)
  2591. /*! @} */
  2592. /*! @name OPACR3 - Off-Platform Peripheral Access Control Registers */
  2593. /*! @{ */
  2594. #define AIPSTZ_OPACR3_OPAC31_MASK (0xFU)
  2595. #define AIPSTZ_OPACR3_OPAC31_SHIFT (0U)
  2596. /*! OPAC31
  2597. * 0bxxx0..Accesses from an untrusted master are allowed.
  2598. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2599. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2600. * 0bxx0x..This peripheral allows write accesses.
  2601. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2602. * error response and no peripheral access is initiated on the IPS bus.
  2603. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2604. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2605. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2606. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2607. * on the IPS bus.
  2608. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2609. */
  2610. #define AIPSTZ_OPACR3_OPAC31(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR3_OPAC31_SHIFT)) & AIPSTZ_OPACR3_OPAC31_MASK)
  2611. #define AIPSTZ_OPACR3_OPAC30_MASK (0xF0U)
  2612. #define AIPSTZ_OPACR3_OPAC30_SHIFT (4U)
  2613. /*! OPAC30
  2614. * 0bxxx0..Accesses from an untrusted master are allowed.
  2615. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2616. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2617. * 0bxx0x..This peripheral allows write accesses.
  2618. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2619. * error response and no peripheral access is initiated on the IPS bus.
  2620. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2621. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2622. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2623. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2624. * on the IPS bus.
  2625. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2626. */
  2627. #define AIPSTZ_OPACR3_OPAC30(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR3_OPAC30_SHIFT)) & AIPSTZ_OPACR3_OPAC30_MASK)
  2628. #define AIPSTZ_OPACR3_OPAC29_MASK (0xF00U)
  2629. #define AIPSTZ_OPACR3_OPAC29_SHIFT (8U)
  2630. /*! OPAC29
  2631. * 0bxxx0..Accesses from an untrusted master are allowed.
  2632. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2633. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2634. * 0bxx0x..This peripheral allows write accesses.
  2635. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2636. * error response and no peripheral access is initiated on the IPS bus.
  2637. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2638. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2639. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2640. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2641. * on the IPS bus.
  2642. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2643. */
  2644. #define AIPSTZ_OPACR3_OPAC29(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR3_OPAC29_SHIFT)) & AIPSTZ_OPACR3_OPAC29_MASK)
  2645. #define AIPSTZ_OPACR3_OPAC28_MASK (0xF000U)
  2646. #define AIPSTZ_OPACR3_OPAC28_SHIFT (12U)
  2647. /*! OPAC28
  2648. * 0bxxx0..Accesses from an untrusted master are allowed.
  2649. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2650. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2651. * 0bxx0x..This peripheral allows write accesses.
  2652. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2653. * error response and no peripheral access is initiated on the IPS bus.
  2654. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2655. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2656. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2657. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2658. * on the IPS bus.
  2659. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2660. */
  2661. #define AIPSTZ_OPACR3_OPAC28(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR3_OPAC28_SHIFT)) & AIPSTZ_OPACR3_OPAC28_MASK)
  2662. #define AIPSTZ_OPACR3_OPAC27_MASK (0xF0000U)
  2663. #define AIPSTZ_OPACR3_OPAC27_SHIFT (16U)
  2664. /*! OPAC27
  2665. * 0bxxx0..Accesses from an untrusted master are allowed.
  2666. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2667. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2668. * 0bxx0x..This peripheral allows write accesses.
  2669. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2670. * error response and no peripheral access is initiated on the IPS bus.
  2671. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2672. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2673. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2674. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2675. * on the IPS bus.
  2676. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2677. */
  2678. #define AIPSTZ_OPACR3_OPAC27(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR3_OPAC27_SHIFT)) & AIPSTZ_OPACR3_OPAC27_MASK)
  2679. #define AIPSTZ_OPACR3_OPAC26_MASK (0xF00000U)
  2680. #define AIPSTZ_OPACR3_OPAC26_SHIFT (20U)
  2681. /*! OPAC26
  2682. * 0bxxx0..Accesses from an untrusted master are allowed.
  2683. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2684. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2685. * 0bxx0x..This peripheral allows write accesses.
  2686. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2687. * error response and no peripheral access is initiated on the IPS bus.
  2688. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2689. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2690. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2691. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2692. * on the IPS bus.
  2693. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2694. */
  2695. #define AIPSTZ_OPACR3_OPAC26(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR3_OPAC26_SHIFT)) & AIPSTZ_OPACR3_OPAC26_MASK)
  2696. #define AIPSTZ_OPACR3_OPAC25_MASK (0xF000000U)
  2697. #define AIPSTZ_OPACR3_OPAC25_SHIFT (24U)
  2698. /*! OPAC25
  2699. * 0bxxx0..Accesses from an untrusted master are allowed.
  2700. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2701. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2702. * 0bxx0x..This peripheral allows write accesses.
  2703. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2704. * error response and no peripheral access is initiated on the IPS bus.
  2705. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2706. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2707. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2708. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2709. * on the IPS bus.
  2710. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2711. */
  2712. #define AIPSTZ_OPACR3_OPAC25(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR3_OPAC25_SHIFT)) & AIPSTZ_OPACR3_OPAC25_MASK)
  2713. #define AIPSTZ_OPACR3_OPAC24_MASK (0xF0000000U)
  2714. #define AIPSTZ_OPACR3_OPAC24_SHIFT (28U)
  2715. /*! OPAC24
  2716. * 0bxxx0..Accesses from an untrusted master are allowed.
  2717. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2718. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2719. * 0bxx0x..This peripheral allows write accesses.
  2720. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2721. * error response and no peripheral access is initiated on the IPS bus.
  2722. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2723. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2724. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2725. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2726. * on the IPS bus.
  2727. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2728. */
  2729. #define AIPSTZ_OPACR3_OPAC24(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR3_OPAC24_SHIFT)) & AIPSTZ_OPACR3_OPAC24_MASK)
  2730. /*! @} */
  2731. /*! @name OPACR4 - Off-Platform Peripheral Access Control Registers */
  2732. /*! @{ */
  2733. #define AIPSTZ_OPACR4_OPAC33_MASK (0xF000000U)
  2734. #define AIPSTZ_OPACR4_OPAC33_SHIFT (24U)
  2735. /*! OPAC33
  2736. * 0bxxx0..Accesses from an untrusted master are allowed.
  2737. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2738. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2739. * 0bxx0x..This peripheral allows write accesses.
  2740. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2741. * error response and no peripheral access is initiated on the IPS bus.
  2742. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2743. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2744. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2745. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2746. * on the IPS bus.
  2747. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2748. */
  2749. #define AIPSTZ_OPACR4_OPAC33(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR4_OPAC33_SHIFT)) & AIPSTZ_OPACR4_OPAC33_MASK)
  2750. #define AIPSTZ_OPACR4_OPAC32_MASK (0xF0000000U)
  2751. #define AIPSTZ_OPACR4_OPAC32_SHIFT (28U)
  2752. /*! OPAC32
  2753. * 0bxxx0..Accesses from an untrusted master are allowed.
  2754. * 0bxxx1..Accesses from an untrusted master are not allowed. If an access is attempted by an untrusted master,
  2755. * the access is terminated with an error response and no peripheral access is initiated on the IPS bus.
  2756. * 0bxx0x..This peripheral allows write accesses.
  2757. * 0bxx1x..This peripheral is write protected. If a write access is attempted, the access is terminated with an
  2758. * error response and no peripheral access is initiated on the IPS bus.
  2759. * 0bx0xx..This peripheral does not require supervisor privilege level for accesses.
  2760. * 0bx1xx..This peripheral requires supervisor privilege level for accesses. The master privilege level must
  2761. * indicate supervisor via the hprot[1] access attribute, and the MPROTx[MPL] control bit for the master must
  2762. * be set. If not, the access is terminated with an error response and no peripheral access is initiated
  2763. * on the IPS bus.
  2764. * 0b1xxx..Write accesses to this peripheral are allowed to be buffered by the AIPSTZ.
  2765. */
  2766. #define AIPSTZ_OPACR4_OPAC32(x) (((uint32_t)(((uint32_t)(x)) << AIPSTZ_OPACR4_OPAC32_SHIFT)) & AIPSTZ_OPACR4_OPAC32_MASK)
  2767. /*! @} */
  2768. /*!
  2769. * @}
  2770. */ /* end of group AIPSTZ_Register_Masks */
  2771. /* AIPSTZ - Peripheral instance base addresses */
  2772. /** Peripheral AIPSTZ1 base address */
  2773. #define AIPSTZ1_BASE (0x4007C000u)
  2774. /** Peripheral AIPSTZ1 base pointer */
  2775. #define AIPSTZ1 ((AIPSTZ_Type *)AIPSTZ1_BASE)
  2776. /** Peripheral AIPSTZ2 base address */
  2777. #define AIPSTZ2_BASE (0x4017C000u)
  2778. /** Peripheral AIPSTZ2 base pointer */
  2779. #define AIPSTZ2 ((AIPSTZ_Type *)AIPSTZ2_BASE)
  2780. /** Peripheral AIPSTZ3 base address */
  2781. #define AIPSTZ3_BASE (0x4027C000u)
  2782. /** Peripheral AIPSTZ3 base pointer */
  2783. #define AIPSTZ3 ((AIPSTZ_Type *)AIPSTZ3_BASE)
  2784. /** Peripheral AIPSTZ4 base address */
  2785. #define AIPSTZ4_BASE (0x4037C000u)
  2786. /** Peripheral AIPSTZ4 base pointer */
  2787. #define AIPSTZ4 ((AIPSTZ_Type *)AIPSTZ4_BASE)
  2788. /** Array initializer of AIPSTZ peripheral base addresses */
  2789. #define AIPSTZ_BASE_ADDRS { 0u, AIPSTZ1_BASE, AIPSTZ2_BASE, AIPSTZ3_BASE, AIPSTZ4_BASE }
  2790. /** Array initializer of AIPSTZ peripheral base pointers */
  2791. #define AIPSTZ_BASE_PTRS { (AIPSTZ_Type *)0u, AIPSTZ1, AIPSTZ2, AIPSTZ3, AIPSTZ4 }
  2792. /*!
  2793. * @}
  2794. */ /* end of group AIPSTZ_Peripheral_Access_Layer */
  2795. /* ----------------------------------------------------------------------------
  2796. -- AOI Peripheral Access Layer
  2797. ---------------------------------------------------------------------------- */
  2798. /*!
  2799. * @addtogroup AOI_Peripheral_Access_Layer AOI Peripheral Access Layer
  2800. * @{
  2801. */
  2802. /** AOI - Register Layout Typedef */
  2803. typedef struct {
  2804. struct { /* offset: 0x0, array step: 0x4 */
  2805. __IO uint16_t BFCRT01; /**< Boolean Function Term 0 and 1 Configuration Register for EVENTn, array offset: 0x0, array step: 0x4 */
  2806. __IO uint16_t BFCRT23; /**< Boolean Function Term 2 and 3 Configuration Register for EVENTn, array offset: 0x2, array step: 0x4 */
  2807. } BFCRT[4];
  2808. } AOI_Type;
  2809. /* ----------------------------------------------------------------------------
  2810. -- AOI Register Masks
  2811. ---------------------------------------------------------------------------- */
  2812. /*!
  2813. * @addtogroup AOI_Register_Masks AOI Register Masks
  2814. * @{
  2815. */
  2816. /*! @name BFCRT01 - Boolean Function Term 0 and 1 Configuration Register for EVENTn */
  2817. /*! @{ */
  2818. #define AOI_BFCRT01_PT1_DC_MASK (0x3U)
  2819. #define AOI_BFCRT01_PT1_DC_SHIFT (0U)
  2820. /*! PT1_DC - Product term 1, D input configuration
  2821. * 0b00..Force the D input in this product term to a logical zero
  2822. * 0b01..Pass the D input in this product term
  2823. * 0b10..Complement the D input in this product term
  2824. * 0b11..Force the D input in this product term to a logical one
  2825. */
  2826. #define AOI_BFCRT01_PT1_DC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT1_DC_SHIFT)) & AOI_BFCRT01_PT1_DC_MASK)
  2827. #define AOI_BFCRT01_PT1_CC_MASK (0xCU)
  2828. #define AOI_BFCRT01_PT1_CC_SHIFT (2U)
  2829. /*! PT1_CC - Product term 1, C input configuration
  2830. * 0b00..Force the C input in this product term to a logical zero
  2831. * 0b01..Pass the C input in this product term
  2832. * 0b10..Complement the C input in this product term
  2833. * 0b11..Force the C input in this product term to a logical one
  2834. */
  2835. #define AOI_BFCRT01_PT1_CC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT1_CC_SHIFT)) & AOI_BFCRT01_PT1_CC_MASK)
  2836. #define AOI_BFCRT01_PT1_BC_MASK (0x30U)
  2837. #define AOI_BFCRT01_PT1_BC_SHIFT (4U)
  2838. /*! PT1_BC - Product term 1, B input configuration
  2839. * 0b00..Force the B input in this product term to a logical zero
  2840. * 0b01..Pass the B input in this product term
  2841. * 0b10..Complement the B input in this product term
  2842. * 0b11..Force the B input in this product term to a logical one
  2843. */
  2844. #define AOI_BFCRT01_PT1_BC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT1_BC_SHIFT)) & AOI_BFCRT01_PT1_BC_MASK)
  2845. #define AOI_BFCRT01_PT1_AC_MASK (0xC0U)
  2846. #define AOI_BFCRT01_PT1_AC_SHIFT (6U)
  2847. /*! PT1_AC - Product term 1, A input configuration
  2848. * 0b00..Force the A input in this product term to a logical zero
  2849. * 0b01..Pass the A input in this product term
  2850. * 0b10..Complement the A input in this product term
  2851. * 0b11..Force the A input in this product term to a logical one
  2852. */
  2853. #define AOI_BFCRT01_PT1_AC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT1_AC_SHIFT)) & AOI_BFCRT01_PT1_AC_MASK)
  2854. #define AOI_BFCRT01_PT0_DC_MASK (0x300U)
  2855. #define AOI_BFCRT01_PT0_DC_SHIFT (8U)
  2856. /*! PT0_DC - Product term 0, D input configuration
  2857. * 0b00..Force the D input in this product term to a logical zero
  2858. * 0b01..Pass the D input in this product term
  2859. * 0b10..Complement the D input in this product term
  2860. * 0b11..Force the D input in this product term to a logical one
  2861. */
  2862. #define AOI_BFCRT01_PT0_DC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT0_DC_SHIFT)) & AOI_BFCRT01_PT0_DC_MASK)
  2863. #define AOI_BFCRT01_PT0_CC_MASK (0xC00U)
  2864. #define AOI_BFCRT01_PT0_CC_SHIFT (10U)
  2865. /*! PT0_CC - Product term 0, C input configuration
  2866. * 0b00..Force the C input in this product term to a logical zero
  2867. * 0b01..Pass the C input in this product term
  2868. * 0b10..Complement the C input in this product term
  2869. * 0b11..Force the C input in this product term to a logical one
  2870. */
  2871. #define AOI_BFCRT01_PT0_CC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT0_CC_SHIFT)) & AOI_BFCRT01_PT0_CC_MASK)
  2872. #define AOI_BFCRT01_PT0_BC_MASK (0x3000U)
  2873. #define AOI_BFCRT01_PT0_BC_SHIFT (12U)
  2874. /*! PT0_BC - Product term 0, B input configuration
  2875. * 0b00..Force the B input in this product term to a logical zero
  2876. * 0b01..Pass the B input in this product term
  2877. * 0b10..Complement the B input in this product term
  2878. * 0b11..Force the B input in this product term to a logical one
  2879. */
  2880. #define AOI_BFCRT01_PT0_BC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT0_BC_SHIFT)) & AOI_BFCRT01_PT0_BC_MASK)
  2881. #define AOI_BFCRT01_PT0_AC_MASK (0xC000U)
  2882. #define AOI_BFCRT01_PT0_AC_SHIFT (14U)
  2883. /*! PT0_AC - Product term 0, A input configuration
  2884. * 0b00..Force the A input in this product term to a logical zero
  2885. * 0b01..Pass the A input in this product term
  2886. * 0b10..Complement the A input in this product term
  2887. * 0b11..Force the A input in this product term to a logical one
  2888. */
  2889. #define AOI_BFCRT01_PT0_AC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT0_AC_SHIFT)) & AOI_BFCRT01_PT0_AC_MASK)
  2890. /*! @} */
  2891. /* The count of AOI_BFCRT01 */
  2892. #define AOI_BFCRT01_COUNT (4U)
  2893. /*! @name BFCRT23 - Boolean Function Term 2 and 3 Configuration Register for EVENTn */
  2894. /*! @{ */
  2895. #define AOI_BFCRT23_PT3_DC_MASK (0x3U)
  2896. #define AOI_BFCRT23_PT3_DC_SHIFT (0U)
  2897. /*! PT3_DC - Product term 3, D input configuration
  2898. * 0b00..Force the D input in this product term to a logical zero
  2899. * 0b01..Pass the D input in this product term
  2900. * 0b10..Complement the D input in this product term
  2901. * 0b11..Force the D input in this product term to a logical one
  2902. */
  2903. #define AOI_BFCRT23_PT3_DC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT3_DC_SHIFT)) & AOI_BFCRT23_PT3_DC_MASK)
  2904. #define AOI_BFCRT23_PT3_CC_MASK (0xCU)
  2905. #define AOI_BFCRT23_PT3_CC_SHIFT (2U)
  2906. /*! PT3_CC - Product term 3, C input configuration
  2907. * 0b00..Force the C input in this product term to a logical zero
  2908. * 0b01..Pass the C input in this product term
  2909. * 0b10..Complement the C input in this product term
  2910. * 0b11..Force the C input in this product term to a logical one
  2911. */
  2912. #define AOI_BFCRT23_PT3_CC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT3_CC_SHIFT)) & AOI_BFCRT23_PT3_CC_MASK)
  2913. #define AOI_BFCRT23_PT3_BC_MASK (0x30U)
  2914. #define AOI_BFCRT23_PT3_BC_SHIFT (4U)
  2915. /*! PT3_BC - Product term 3, B input configuration
  2916. * 0b00..Force the B input in this product term to a logical zero
  2917. * 0b01..Pass the B input in this product term
  2918. * 0b10..Complement the B input in this product term
  2919. * 0b11..Force the B input in this product term to a logical one
  2920. */
  2921. #define AOI_BFCRT23_PT3_BC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT3_BC_SHIFT)) & AOI_BFCRT23_PT3_BC_MASK)
  2922. #define AOI_BFCRT23_PT3_AC_MASK (0xC0U)
  2923. #define AOI_BFCRT23_PT3_AC_SHIFT (6U)
  2924. /*! PT3_AC - Product term 3, A input configuration
  2925. * 0b00..Force the A input in this product term to a logical zero
  2926. * 0b01..Pass the A input in this product term
  2927. * 0b10..Complement the A input in this product term
  2928. * 0b11..Force the A input in this product term to a logical one
  2929. */
  2930. #define AOI_BFCRT23_PT3_AC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT3_AC_SHIFT)) & AOI_BFCRT23_PT3_AC_MASK)
  2931. #define AOI_BFCRT23_PT2_DC_MASK (0x300U)
  2932. #define AOI_BFCRT23_PT2_DC_SHIFT (8U)
  2933. /*! PT2_DC - Product term 2, D input configuration
  2934. * 0b00..Force the D input in this product term to a logical zero
  2935. * 0b01..Pass the D input in this product term
  2936. * 0b10..Complement the D input in this product term
  2937. * 0b11..Force the D input in this product term to a logical one
  2938. */
  2939. #define AOI_BFCRT23_PT2_DC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT2_DC_SHIFT)) & AOI_BFCRT23_PT2_DC_MASK)
  2940. #define AOI_BFCRT23_PT2_CC_MASK (0xC00U)
  2941. #define AOI_BFCRT23_PT2_CC_SHIFT (10U)
  2942. /*! PT2_CC - Product term 2, C input configuration
  2943. * 0b00..Force the C input in this product term to a logical zero
  2944. * 0b01..Pass the C input in this product term
  2945. * 0b10..Complement the C input in this product term
  2946. * 0b11..Force the C input in this product term to a logical one
  2947. */
  2948. #define AOI_BFCRT23_PT2_CC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT2_CC_SHIFT)) & AOI_BFCRT23_PT2_CC_MASK)
  2949. #define AOI_BFCRT23_PT2_BC_MASK (0x3000U)
  2950. #define AOI_BFCRT23_PT2_BC_SHIFT (12U)
  2951. /*! PT2_BC - Product term 2, B input configuration
  2952. * 0b00..Force the B input in this product term to a logical zero
  2953. * 0b01..Pass the B input in this product term
  2954. * 0b10..Complement the B input in this product term
  2955. * 0b11..Force the B input in this product term to a logical one
  2956. */
  2957. #define AOI_BFCRT23_PT2_BC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT2_BC_SHIFT)) & AOI_BFCRT23_PT2_BC_MASK)
  2958. #define AOI_BFCRT23_PT2_AC_MASK (0xC000U)
  2959. #define AOI_BFCRT23_PT2_AC_SHIFT (14U)
  2960. /*! PT2_AC - Product term 2, A input configuration
  2961. * 0b00..Force the A input in this product term to a logical zero
  2962. * 0b01..Pass the A input in this product term
  2963. * 0b10..Complement the A input in this product term
  2964. * 0b11..Force the A input in this product term to a logical one
  2965. */
  2966. #define AOI_BFCRT23_PT2_AC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT2_AC_SHIFT)) & AOI_BFCRT23_PT2_AC_MASK)
  2967. /*! @} */
  2968. /* The count of AOI_BFCRT23 */
  2969. #define AOI_BFCRT23_COUNT (4U)
  2970. /*!
  2971. * @}
  2972. */ /* end of group AOI_Register_Masks */
  2973. /* AOI - Peripheral instance base addresses */
  2974. /** Peripheral AOI1 base address */
  2975. #define AOI1_BASE (0x403B4000u)
  2976. /** Peripheral AOI1 base pointer */
  2977. #define AOI1 ((AOI_Type *)AOI1_BASE)
  2978. /** Peripheral AOI2 base address */
  2979. #define AOI2_BASE (0x403B8000u)
  2980. /** Peripheral AOI2 base pointer */
  2981. #define AOI2 ((AOI_Type *)AOI2_BASE)
  2982. /** Array initializer of AOI peripheral base addresses */
  2983. #define AOI_BASE_ADDRS { 0u, AOI1_BASE, AOI2_BASE }
  2984. /** Array initializer of AOI peripheral base pointers */
  2985. #define AOI_BASE_PTRS { (AOI_Type *)0u, AOI1, AOI2 }
  2986. /*!
  2987. * @}
  2988. */ /* end of group AOI_Peripheral_Access_Layer */
  2989. /* ----------------------------------------------------------------------------
  2990. -- BEE Peripheral Access Layer
  2991. ---------------------------------------------------------------------------- */
  2992. /*!
  2993. * @addtogroup BEE_Peripheral_Access_Layer BEE Peripheral Access Layer
  2994. * @{
  2995. */
  2996. /** BEE - Register Layout Typedef */
  2997. typedef struct {
  2998. __IO uint32_t CTRL; /**< Control Register, offset: 0x0 */
  2999. __IO uint32_t ADDR_OFFSET0; /**< Offset region 0 Register, offset: 0x4 */
  3000. __IO uint32_t ADDR_OFFSET1; /**< Offset region 1 Register, offset: 0x8 */
  3001. __IO uint32_t AES_KEY0_W0; /**< AES Key 0 Register, offset: 0xC */
  3002. __IO uint32_t AES_KEY0_W1; /**< AES Key 1 Register, offset: 0x10 */
  3003. __IO uint32_t AES_KEY0_W2; /**< AES Key 2 Register, offset: 0x14 */
  3004. __IO uint32_t AES_KEY0_W3; /**< AES Key 3 Register, offset: 0x18 */
  3005. __IO uint32_t STATUS; /**< Status Register, offset: 0x1C */
  3006. __O uint32_t CTR_NONCE0_W0; /**< NONCE00 Register, offset: 0x20 */
  3007. __O uint32_t CTR_NONCE0_W1; /**< NONCE01 Register, offset: 0x24 */
  3008. __O uint32_t CTR_NONCE0_W2; /**< NONCE02 Register, offset: 0x28 */
  3009. __O uint32_t CTR_NONCE0_W3; /**< NONCE03 Register, offset: 0x2C */
  3010. __O uint32_t CTR_NONCE1_W0; /**< NONCE10 Register, offset: 0x30 */
  3011. __O uint32_t CTR_NONCE1_W1; /**< NONCE11 Register, offset: 0x34 */
  3012. __O uint32_t CTR_NONCE1_W2; /**< NONCE12 Register, offset: 0x38 */
  3013. __O uint32_t CTR_NONCE1_W3; /**< NONCE13 Register, offset: 0x3C */
  3014. __IO uint32_t REGION1_TOP; /**< Region1 Top Address Register, offset: 0x40 */
  3015. __IO uint32_t REGION1_BOT; /**< Region1 Bottom Address Register, offset: 0x44 */
  3016. } BEE_Type;
  3017. /* ----------------------------------------------------------------------------
  3018. -- BEE Register Masks
  3019. ---------------------------------------------------------------------------- */
  3020. /*!
  3021. * @addtogroup BEE_Register_Masks BEE Register Masks
  3022. * @{
  3023. */
  3024. /*! @name CTRL - Control Register */
  3025. /*! @{ */
  3026. #define BEE_CTRL_BEE_ENABLE_MASK (0x1U)
  3027. #define BEE_CTRL_BEE_ENABLE_SHIFT (0U)
  3028. /*! BEE_ENABLE
  3029. * 0b0..Disable BEE
  3030. * 0b1..Enable BEE
  3031. */
  3032. #define BEE_CTRL_BEE_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_BEE_ENABLE_SHIFT)) & BEE_CTRL_BEE_ENABLE_MASK)
  3033. #define BEE_CTRL_CTRL_CLK_EN_MASK (0x2U)
  3034. #define BEE_CTRL_CTRL_CLK_EN_SHIFT (1U)
  3035. #define BEE_CTRL_CTRL_CLK_EN(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_CTRL_CLK_EN_SHIFT)) & BEE_CTRL_CTRL_CLK_EN_MASK)
  3036. #define BEE_CTRL_CTRL_SFTRST_N_MASK (0x4U)
  3037. #define BEE_CTRL_CTRL_SFTRST_N_SHIFT (2U)
  3038. #define BEE_CTRL_CTRL_SFTRST_N(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_CTRL_SFTRST_N_SHIFT)) & BEE_CTRL_CTRL_SFTRST_N_MASK)
  3039. #define BEE_CTRL_KEY_VALID_MASK (0x10U)
  3040. #define BEE_CTRL_KEY_VALID_SHIFT (4U)
  3041. #define BEE_CTRL_KEY_VALID(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_KEY_VALID_SHIFT)) & BEE_CTRL_KEY_VALID_MASK)
  3042. #define BEE_CTRL_KEY_REGION_SEL_MASK (0x20U)
  3043. #define BEE_CTRL_KEY_REGION_SEL_SHIFT (5U)
  3044. /*! KEY_REGION_SEL
  3045. * 0b0..Load AES key for region0
  3046. * 0b1..Load AES key for region1
  3047. */
  3048. #define BEE_CTRL_KEY_REGION_SEL(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_KEY_REGION_SEL_SHIFT)) & BEE_CTRL_KEY_REGION_SEL_MASK)
  3049. #define BEE_CTRL_AC_PROT_EN_MASK (0x40U)
  3050. #define BEE_CTRL_AC_PROT_EN_SHIFT (6U)
  3051. #define BEE_CTRL_AC_PROT_EN(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_AC_PROT_EN_SHIFT)) & BEE_CTRL_AC_PROT_EN_MASK)
  3052. #define BEE_CTRL_LITTLE_ENDIAN_MASK (0x80U)
  3053. #define BEE_CTRL_LITTLE_ENDIAN_SHIFT (7U)
  3054. /*! LITTLE_ENDIAN
  3055. * 0b0..The input and output data of the AES core is swapped as below: {B15,B14,B13,B12,B11,B10,B9,B8,
  3056. * 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
  3057. * Byte0 to Byte15.
  3058. * 0b1..The input and output data of AES core is not swapped.
  3059. */
  3060. #define BEE_CTRL_LITTLE_ENDIAN(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_LITTLE_ENDIAN_SHIFT)) & BEE_CTRL_LITTLE_ENDIAN_MASK)
  3061. #define BEE_CTRL_SECURITY_LEVEL_R0_MASK (0x300U)
  3062. #define BEE_CTRL_SECURITY_LEVEL_R0_SHIFT (8U)
  3063. #define BEE_CTRL_SECURITY_LEVEL_R0(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_SECURITY_LEVEL_R0_SHIFT)) & BEE_CTRL_SECURITY_LEVEL_R0_MASK)
  3064. #define BEE_CTRL_CTRL_AES_MODE_R0_MASK (0x400U)
  3065. #define BEE_CTRL_CTRL_AES_MODE_R0_SHIFT (10U)
  3066. /*! CTRL_AES_MODE_R0
  3067. * 0b0..ECB
  3068. * 0b1..CTR
  3069. */
  3070. #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)
  3071. #define BEE_CTRL_SECURITY_LEVEL_R1_MASK (0x3000U)
  3072. #define BEE_CTRL_SECURITY_LEVEL_R1_SHIFT (12U)
  3073. #define BEE_CTRL_SECURITY_LEVEL_R1(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_SECURITY_LEVEL_R1_SHIFT)) & BEE_CTRL_SECURITY_LEVEL_R1_MASK)
  3074. #define BEE_CTRL_CTRL_AES_MODE_R1_MASK (0x4000U)
  3075. #define BEE_CTRL_CTRL_AES_MODE_R1_SHIFT (14U)
  3076. /*! CTRL_AES_MODE_R1
  3077. * 0b0..ECB
  3078. * 0b1..CTR
  3079. */
  3080. #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)
  3081. #define BEE_CTRL_BEE_ENABLE_LOCK_MASK (0x10000U)
  3082. #define BEE_CTRL_BEE_ENABLE_LOCK_SHIFT (16U)
  3083. #define BEE_CTRL_BEE_ENABLE_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_BEE_ENABLE_LOCK_SHIFT)) & BEE_CTRL_BEE_ENABLE_LOCK_MASK)
  3084. #define BEE_CTRL_CTRL_CLK_EN_LOCK_MASK (0x20000U)
  3085. #define BEE_CTRL_CTRL_CLK_EN_LOCK_SHIFT (17U)
  3086. #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)
  3087. #define BEE_CTRL_CTRL_SFTRST_N_LOCK_MASK (0x40000U)
  3088. #define BEE_CTRL_CTRL_SFTRST_N_LOCK_SHIFT (18U)
  3089. #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)
  3090. #define BEE_CTRL_REGION1_ADDR_LOCK_MASK (0x80000U)
  3091. #define BEE_CTRL_REGION1_ADDR_LOCK_SHIFT (19U)
  3092. #define BEE_CTRL_REGION1_ADDR_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_REGION1_ADDR_LOCK_SHIFT)) & BEE_CTRL_REGION1_ADDR_LOCK_MASK)
  3093. #define BEE_CTRL_KEY_VALID_LOCK_MASK (0x100000U)
  3094. #define BEE_CTRL_KEY_VALID_LOCK_SHIFT (20U)
  3095. #define BEE_CTRL_KEY_VALID_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_KEY_VALID_LOCK_SHIFT)) & BEE_CTRL_KEY_VALID_LOCK_MASK)
  3096. #define BEE_CTRL_KEY_REGION_SEL_LOCK_MASK (0x200000U)
  3097. #define BEE_CTRL_KEY_REGION_SEL_LOCK_SHIFT (21U)
  3098. #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)
  3099. #define BEE_CTRL_AC_PROT_EN_LOCK_MASK (0x400000U)
  3100. #define BEE_CTRL_AC_PROT_EN_LOCK_SHIFT (22U)
  3101. #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)
  3102. #define BEE_CTRL_LITTLE_ENDIAN_LOCK_MASK (0x800000U)
  3103. #define BEE_CTRL_LITTLE_ENDIAN_LOCK_SHIFT (23U)
  3104. #define BEE_CTRL_LITTLE_ENDIAN_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_LITTLE_ENDIAN_LOCK_SHIFT)) & BEE_CTRL_LITTLE_ENDIAN_LOCK_MASK)
  3105. #define BEE_CTRL_SECURITY_LEVEL_R0_LOCK_MASK (0x3000000U)
  3106. #define BEE_CTRL_SECURITY_LEVEL_R0_LOCK_SHIFT (24U)
  3107. #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)
  3108. #define BEE_CTRL_CTRL_AES_MODE_R0_LOCK_MASK (0x4000000U)
  3109. #define BEE_CTRL_CTRL_AES_MODE_R0_LOCK_SHIFT (26U)
  3110. #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)
  3111. #define BEE_CTRL_REGION0_KEY_LOCK_MASK (0x8000000U)
  3112. #define BEE_CTRL_REGION0_KEY_LOCK_SHIFT (27U)
  3113. #define BEE_CTRL_REGION0_KEY_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_REGION0_KEY_LOCK_SHIFT)) & BEE_CTRL_REGION0_KEY_LOCK_MASK)
  3114. #define BEE_CTRL_SECURITY_LEVEL_R1_LOCK_MASK (0x30000000U)
  3115. #define BEE_CTRL_SECURITY_LEVEL_R1_LOCK_SHIFT (28U)
  3116. #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)
  3117. #define BEE_CTRL_CTRL_AES_MODE_R1_LOCK_MASK (0x40000000U)
  3118. #define BEE_CTRL_CTRL_AES_MODE_R1_LOCK_SHIFT (30U)
  3119. #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)
  3120. #define BEE_CTRL_REGION1_KEY_LOCK_MASK (0x80000000U)
  3121. #define BEE_CTRL_REGION1_KEY_LOCK_SHIFT (31U)
  3122. #define BEE_CTRL_REGION1_KEY_LOCK(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTRL_REGION1_KEY_LOCK_SHIFT)) & BEE_CTRL_REGION1_KEY_LOCK_MASK)
  3123. /*! @} */
  3124. /*! @name ADDR_OFFSET0 - Offset region 0 Register */
  3125. /*! @{ */
  3126. #define BEE_ADDR_OFFSET0_ADDR_OFFSET0_MASK (0xFFFFU)
  3127. #define BEE_ADDR_OFFSET0_ADDR_OFFSET0_SHIFT (0U)
  3128. #define BEE_ADDR_OFFSET0_ADDR_OFFSET0(x) (((uint32_t)(((uint32_t)(x)) << BEE_ADDR_OFFSET0_ADDR_OFFSET0_SHIFT)) & BEE_ADDR_OFFSET0_ADDR_OFFSET0_MASK)
  3129. #define BEE_ADDR_OFFSET0_ADDR_OFFSET0_LOCK_MASK (0xFFFF0000U)
  3130. #define BEE_ADDR_OFFSET0_ADDR_OFFSET0_LOCK_SHIFT (16U)
  3131. #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)
  3132. /*! @} */
  3133. /*! @name ADDR_OFFSET1 - Offset region 1 Register */
  3134. /*! @{ */
  3135. #define BEE_ADDR_OFFSET1_ADDR_OFFSET1_MASK (0xFFFFU)
  3136. #define BEE_ADDR_OFFSET1_ADDR_OFFSET1_SHIFT (0U)
  3137. #define BEE_ADDR_OFFSET1_ADDR_OFFSET1(x) (((uint32_t)(((uint32_t)(x)) << BEE_ADDR_OFFSET1_ADDR_OFFSET1_SHIFT)) & BEE_ADDR_OFFSET1_ADDR_OFFSET1_MASK)
  3138. #define BEE_ADDR_OFFSET1_ADDR_OFFSET1_LOCK_MASK (0xFFFF0000U)
  3139. #define BEE_ADDR_OFFSET1_ADDR_OFFSET1_LOCK_SHIFT (16U)
  3140. #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)
  3141. /*! @} */
  3142. /*! @name AES_KEY0_W0 - AES Key 0 Register */
  3143. /*! @{ */
  3144. #define BEE_AES_KEY0_W0_KEY0_MASK (0xFFFFFFFFU)
  3145. #define BEE_AES_KEY0_W0_KEY0_SHIFT (0U)
  3146. /*! KEY0 - AES 128 key from software
  3147. */
  3148. #define BEE_AES_KEY0_W0_KEY0(x) (((uint32_t)(((uint32_t)(x)) << BEE_AES_KEY0_W0_KEY0_SHIFT)) & BEE_AES_KEY0_W0_KEY0_MASK)
  3149. /*! @} */
  3150. /*! @name AES_KEY0_W1 - AES Key 1 Register */
  3151. /*! @{ */
  3152. #define BEE_AES_KEY0_W1_KEY1_MASK (0xFFFFFFFFU)
  3153. #define BEE_AES_KEY0_W1_KEY1_SHIFT (0U)
  3154. /*! KEY1 - AES 128 key from software
  3155. */
  3156. #define BEE_AES_KEY0_W1_KEY1(x) (((uint32_t)(((uint32_t)(x)) << BEE_AES_KEY0_W1_KEY1_SHIFT)) & BEE_AES_KEY0_W1_KEY1_MASK)
  3157. /*! @} */
  3158. /*! @name AES_KEY0_W2 - AES Key 2 Register */
  3159. /*! @{ */
  3160. #define BEE_AES_KEY0_W2_KEY2_MASK (0xFFFFFFFFU)
  3161. #define BEE_AES_KEY0_W2_KEY2_SHIFT (0U)
  3162. /*! KEY2 - AES 128 key from software
  3163. */
  3164. #define BEE_AES_KEY0_W2_KEY2(x) (((uint32_t)(((uint32_t)(x)) << BEE_AES_KEY0_W2_KEY2_SHIFT)) & BEE_AES_KEY0_W2_KEY2_MASK)
  3165. /*! @} */
  3166. /*! @name AES_KEY0_W3 - AES Key 3 Register */
  3167. /*! @{ */
  3168. #define BEE_AES_KEY0_W3_KEY3_MASK (0xFFFFFFFFU)
  3169. #define BEE_AES_KEY0_W3_KEY3_SHIFT (0U)
  3170. /*! KEY3 - AES 128 key from software
  3171. */
  3172. #define BEE_AES_KEY0_W3_KEY3(x) (((uint32_t)(((uint32_t)(x)) << BEE_AES_KEY0_W3_KEY3_SHIFT)) & BEE_AES_KEY0_W3_KEY3_MASK)
  3173. /*! @} */
  3174. /*! @name STATUS - Status Register */
  3175. /*! @{ */
  3176. #define BEE_STATUS_IRQ_VEC_MASK (0xFFU)
  3177. #define BEE_STATUS_IRQ_VEC_SHIFT (0U)
  3178. #define BEE_STATUS_IRQ_VEC(x) (((uint32_t)(((uint32_t)(x)) << BEE_STATUS_IRQ_VEC_SHIFT)) & BEE_STATUS_IRQ_VEC_MASK)
  3179. #define BEE_STATUS_BEE_IDLE_MASK (0x100U)
  3180. #define BEE_STATUS_BEE_IDLE_SHIFT (8U)
  3181. #define BEE_STATUS_BEE_IDLE(x) (((uint32_t)(((uint32_t)(x)) << BEE_STATUS_BEE_IDLE_SHIFT)) & BEE_STATUS_BEE_IDLE_MASK)
  3182. /*! @} */
  3183. /*! @name CTR_NONCE0_W0 - NONCE00 Register */
  3184. /*! @{ */
  3185. #define BEE_CTR_NONCE0_W0_NONCE00_MASK (0xFFFFFFFFU)
  3186. #define BEE_CTR_NONCE0_W0_NONCE00_SHIFT (0U)
  3187. #define BEE_CTR_NONCE0_W0_NONCE00(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTR_NONCE0_W0_NONCE00_SHIFT)) & BEE_CTR_NONCE0_W0_NONCE00_MASK)
  3188. /*! @} */
  3189. /*! @name CTR_NONCE0_W1 - NONCE01 Register */
  3190. /*! @{ */
  3191. #define BEE_CTR_NONCE0_W1_NONCE01_MASK (0xFFFFFFFFU)
  3192. #define BEE_CTR_NONCE0_W1_NONCE01_SHIFT (0U)
  3193. #define BEE_CTR_NONCE0_W1_NONCE01(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTR_NONCE0_W1_NONCE01_SHIFT)) & BEE_CTR_NONCE0_W1_NONCE01_MASK)
  3194. /*! @} */
  3195. /*! @name CTR_NONCE0_W2 - NONCE02 Register */
  3196. /*! @{ */
  3197. #define BEE_CTR_NONCE0_W2_NONCE02_MASK (0xFFFFFFFFU)
  3198. #define BEE_CTR_NONCE0_W2_NONCE02_SHIFT (0U)
  3199. #define BEE_CTR_NONCE0_W2_NONCE02(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTR_NONCE0_W2_NONCE02_SHIFT)) & BEE_CTR_NONCE0_W2_NONCE02_MASK)
  3200. /*! @} */
  3201. /*! @name CTR_NONCE0_W3 - NONCE03 Register */
  3202. /*! @{ */
  3203. #define BEE_CTR_NONCE0_W3_NONCE03_MASK (0xFFFFFFFFU)
  3204. #define BEE_CTR_NONCE0_W3_NONCE03_SHIFT (0U)
  3205. #define BEE_CTR_NONCE0_W3_NONCE03(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTR_NONCE0_W3_NONCE03_SHIFT)) & BEE_CTR_NONCE0_W3_NONCE03_MASK)
  3206. /*! @} */
  3207. /*! @name CTR_NONCE1_W0 - NONCE10 Register */
  3208. /*! @{ */
  3209. #define BEE_CTR_NONCE1_W0_NONCE10_MASK (0xFFFFFFFFU)
  3210. #define BEE_CTR_NONCE1_W0_NONCE10_SHIFT (0U)
  3211. #define BEE_CTR_NONCE1_W0_NONCE10(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTR_NONCE1_W0_NONCE10_SHIFT)) & BEE_CTR_NONCE1_W0_NONCE10_MASK)
  3212. /*! @} */
  3213. /*! @name CTR_NONCE1_W1 - NONCE11 Register */
  3214. /*! @{ */
  3215. #define BEE_CTR_NONCE1_W1_NONCE11_MASK (0xFFFFFFFFU)
  3216. #define BEE_CTR_NONCE1_W1_NONCE11_SHIFT (0U)
  3217. #define BEE_CTR_NONCE1_W1_NONCE11(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTR_NONCE1_W1_NONCE11_SHIFT)) & BEE_CTR_NONCE1_W1_NONCE11_MASK)
  3218. /*! @} */
  3219. /*! @name CTR_NONCE1_W2 - NONCE12 Register */
  3220. /*! @{ */
  3221. #define BEE_CTR_NONCE1_W2_NONCE12_MASK (0xFFFFFFFFU)
  3222. #define BEE_CTR_NONCE1_W2_NONCE12_SHIFT (0U)
  3223. #define BEE_CTR_NONCE1_W2_NONCE12(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTR_NONCE1_W2_NONCE12_SHIFT)) & BEE_CTR_NONCE1_W2_NONCE12_MASK)
  3224. /*! @} */
  3225. /*! @name CTR_NONCE1_W3 - NONCE13 Register */
  3226. /*! @{ */
  3227. #define BEE_CTR_NONCE1_W3_NONCE13_MASK (0xFFFFFFFFU)
  3228. #define BEE_CTR_NONCE1_W3_NONCE13_SHIFT (0U)
  3229. #define BEE_CTR_NONCE1_W3_NONCE13(x) (((uint32_t)(((uint32_t)(x)) << BEE_CTR_NONCE1_W3_NONCE13_SHIFT)) & BEE_CTR_NONCE1_W3_NONCE13_MASK)
  3230. /*! @} */
  3231. /*! @name REGION1_TOP - Region1 Top Address Register */
  3232. /*! @{ */
  3233. #define BEE_REGION1_TOP_REGION1_TOP_MASK (0xFFFFFFFFU)
  3234. #define BEE_REGION1_TOP_REGION1_TOP_SHIFT (0U)
  3235. /*! REGION1_TOP - Address upper limit of region1
  3236. */
  3237. #define BEE_REGION1_TOP_REGION1_TOP(x) (((uint32_t)(((uint32_t)(x)) << BEE_REGION1_TOP_REGION1_TOP_SHIFT)) & BEE_REGION1_TOP_REGION1_TOP_MASK)
  3238. /*! @} */
  3239. /*! @name REGION1_BOT - Region1 Bottom Address Register */
  3240. /*! @{ */
  3241. #define BEE_REGION1_BOT_REGION1_BOT_MASK (0xFFFFFFFFU)
  3242. #define BEE_REGION1_BOT_REGION1_BOT_SHIFT (0U)
  3243. /*! REGION1_BOT - Address lower limit of region1
  3244. */
  3245. #define BEE_REGION1_BOT_REGION1_BOT(x) (((uint32_t)(((uint32_t)(x)) << BEE_REGION1_BOT_REGION1_BOT_SHIFT)) & BEE_REGION1_BOT_REGION1_BOT_MASK)
  3246. /*! @} */
  3247. /*!
  3248. * @}
  3249. */ /* end of group BEE_Register_Masks */
  3250. /* BEE - Peripheral instance base addresses */
  3251. /** Peripheral BEE base address */
  3252. #define BEE_BASE (0x403EC000u)
  3253. /** Peripheral BEE base pointer */
  3254. #define BEE ((BEE_Type *)BEE_BASE)
  3255. /** Array initializer of BEE peripheral base addresses */
  3256. #define BEE_BASE_ADDRS { BEE_BASE }
  3257. /** Array initializer of BEE peripheral base pointers */
  3258. #define BEE_BASE_PTRS { BEE }
  3259. /*!
  3260. * @}
  3261. */ /* end of group BEE_Peripheral_Access_Layer */
  3262. /* ----------------------------------------------------------------------------
  3263. -- CAN Peripheral Access Layer
  3264. ---------------------------------------------------------------------------- */
  3265. /*!
  3266. * @addtogroup CAN_Peripheral_Access_Layer CAN Peripheral Access Layer
  3267. * @{
  3268. */
  3269. /** CAN - Register Layout Typedef */
  3270. typedef struct {
  3271. __IO uint32_t MCR; /**< Module Configuration Register, offset: 0x0 */
  3272. __IO uint32_t CTRL1; /**< Control 1 Register..Control 1 register, offset: 0x4 */
  3273. __IO uint32_t TIMER; /**< Free Running Timer Register..Free Running Timer, offset: 0x8 */
  3274. uint8_t RESERVED_0[4];
  3275. __IO uint32_t RXMGMASK; /**< Rx Mailboxes Global Mask Register, offset: 0x10 */
  3276. __IO uint32_t RX14MASK; /**< Rx Buffer 14 Mask Register..Rx 14 Mask register, offset: 0x14 */
  3277. __IO uint32_t RX15MASK; /**< Rx Buffer 15 Mask Register..Rx 15 Mask register, offset: 0x18 */
  3278. __IO uint32_t ECR; /**< Error Counter Register..Error Counter, offset: 0x1C */
  3279. __IO uint32_t ESR1; /**< Error and Status 1 Register..Error and Status 1 register, offset: 0x20 */
  3280. __IO uint32_t IMASK2; /**< Interrupt Masks 2 Register..Interrupt Masks 2 register, offset: 0x24 */
  3281. __IO uint32_t IMASK1; /**< Interrupt Masks 1 Register..Interrupt Masks 1 register, offset: 0x28 */
  3282. __IO uint32_t IFLAG2; /**< Interrupt Flags 2 Register..Interrupt Flags 2 register, offset: 0x2C */
  3283. __IO uint32_t IFLAG1; /**< Interrupt Flags 1 Register..Interrupt Flags 1 register, offset: 0x30 */
  3284. __IO uint32_t CTRL2; /**< Control 2 Register..Control 2 register, offset: 0x34 */
  3285. __I uint32_t ESR2; /**< Error and Status 2 Register..Error and Status 2 register, offset: 0x38 */
  3286. uint8_t RESERVED_1[8];
  3287. __I uint32_t CRCR; /**< CRC Register, offset: 0x44 */
  3288. __IO uint32_t RXFGMASK; /**< Rx FIFO Global Mask Register..Legacy Rx FIFO Global Mask register, offset: 0x48 */
  3289. __I uint32_t RXFIR; /**< Rx FIFO Information Register..Legacy Rx FIFO Information Register, offset: 0x4C */
  3290. __IO uint32_t CBT; /**< CAN Bit Timing Register, offset: 0x50 */
  3291. uint8_t RESERVED_2[4];
  3292. __I uint32_t DBG1; /**< Debug 1 register, offset: 0x58 */
  3293. __I uint32_t DBG2; /**< Debug 2 register, offset: 0x5C */
  3294. uint8_t RESERVED_3[32];
  3295. union { /* offset: 0x80 */
  3296. struct { /* offset: 0x80, array step: 0x10 */
  3297. __IO uint32_t CS; /**< Message Buffer 0 CS Register..Message Buffer 63 CS Register, array offset: 0x80, array step: 0x10 */
  3298. __IO uint32_t ID; /**< Message Buffer 0 ID Register..Message Buffer 63 ID Register, array offset: 0x84, array step: 0x10 */
  3299. __IO uint32_t WORD[2]; /**< Message Buffer 0 WORD_8B Register..Message Buffer 63 WORD_8B Register, array offset: 0x88, array step: index*0x10, index2*0x4 */
  3300. } MB_8B[64];
  3301. struct { /* offset: 0x80, array step: 0x18 */
  3302. __IO uint32_t CS; /**< Message Buffer 0 CS Register..Message Buffer 41 CS Register, array offset: 0x80, array step: 0x18 */
  3303. __IO uint32_t ID; /**< Message Buffer 0 ID Register..Message Buffer 41 ID Register, array offset: 0x84, array step: 0x18 */
  3304. __IO uint32_t WORD[4]; /**< Message Buffer 0 WORD_16B Register..Message Buffer 41 WORD_16B Register, array offset: 0x88, array step: index*0x18, index2*0x4 */
  3305. } MB_16B[42];
  3306. struct { /* offset: 0x80, array step: 0x28 */
  3307. __IO uint32_t CS; /**< Message Buffer 0 CS Register..Message Buffer 23 CS Register, array offset: 0x80, array step: 0x28 */
  3308. __IO uint32_t ID; /**< Message Buffer 0 ID Register..Message Buffer 23 ID Register, array offset: 0x84, array step: 0x28 */
  3309. __IO uint32_t WORD[8]; /**< Message Buffer 0 WORD_32B Register..Message Buffer 23 WORD_32B Register, array offset: 0x88, array step: index*0x28, index2*0x4 */
  3310. } MB_32B[24];
  3311. struct { /* offset: 0x80, array step: 0x48 */
  3312. __IO uint32_t CS; /**< Message Buffer 0 CS Register..Message Buffer 13 CS Register, array offset: 0x80, array step: 0x48 */
  3313. __IO uint32_t ID; /**< Message Buffer 0 ID Register..Message Buffer 13 ID Register, array offset: 0x84, array step: 0x48 */
  3314. __IO uint32_t WORD[16]; /**< Message Buffer 0 WORD_64B Register..Message Buffer 13 WORD_64B Register, array offset: 0x88, array step: index*0x48, index2*0x4 */
  3315. } MB_64B[14];
  3316. struct { /* offset: 0x80, array step: 0x10 */
  3317. __IO uint32_t CS; /**< Message Buffer 0 CS Register..Message Buffer 63 CS Register, array offset: 0x80, array step: 0x10 */
  3318. __IO uint32_t ID; /**< Message Buffer 0 ID Register..Message Buffer 63 ID Register, array offset: 0x84, array step: 0x10 */
  3319. __IO uint32_t WORD0; /**< Message Buffer 0 WORD0 Register..Message Buffer 63 WORD0 Register, array offset: 0x88, array step: 0x10 */
  3320. __IO uint32_t WORD1; /**< Message Buffer 0 WORD1 Register..Message Buffer 63 WORD1 Register, array offset: 0x8C, array step: 0x10 */
  3321. } MB[64];
  3322. };
  3323. uint8_t RESERVED_4[1024];
  3324. __IO uint32_t RXIMR[64]; /**< Rx Individual Mask Registers, array offset: 0x880, array step: 0x4 */
  3325. uint8_t RESERVED_5[96];
  3326. __IO uint32_t GFWR; /**< Glitch Filter Width Registers, offset: 0x9E0 */
  3327. uint8_t RESERVED_6[524];
  3328. __IO uint32_t EPRS; /**< Enhanced CAN Bit Timing Prescalers, offset: 0xBF0 */
  3329. __IO uint32_t ENCBT; /**< Enhanced Nominal CAN Bit Timing, offset: 0xBF4 */
  3330. __IO uint32_t EDCBT; /**< Enhanced Data Phase CAN bit Timing, offset: 0xBF8 */
  3331. __IO uint32_t ETDC; /**< Enhanced Transceiver Delay Compensation, offset: 0xBFC */
  3332. __IO uint32_t FDCTRL; /**< CAN FD Control Register, offset: 0xC00 */
  3333. __IO uint32_t FDCBT; /**< CAN FD Bit Timing Register, offset: 0xC04 */
  3334. __I uint32_t FDCRC; /**< CAN FD CRC Register, offset: 0xC08 */
  3335. __IO uint32_t ERFCR; /**< Enhanced Rx FIFO Control Register, offset: 0xC0C */
  3336. __IO uint32_t ERFIER; /**< Enhanced Rx FIFO Interrupt Enable register, offset: 0xC10 */
  3337. __IO uint32_t ERFSR; /**< Enhanced Rx FIFO Status Register, offset: 0xC14 */
  3338. uint8_t RESERVED_7[24];
  3339. __I uint32_t HR_TIME_STAMP[64]; /**< High Resolution Time Stamp, array offset: 0xC30, array step: 0x4 */
  3340. uint8_t RESERVED_8[8912];
  3341. __IO uint32_t ERFFEL[128]; /**< Enhanced Rx FIFO Filter Element, array offset: 0x3000, array step: 0x4 */
  3342. } CAN_Type;
  3343. /* ----------------------------------------------------------------------------
  3344. -- CAN Register Masks
  3345. ---------------------------------------------------------------------------- */
  3346. /*!
  3347. * @addtogroup CAN_Register_Masks CAN Register Masks
  3348. * @{
  3349. */
  3350. /*! @name MCR - Module Configuration Register */
  3351. /*! @{ */
  3352. #define CAN_MCR_MAXMB_MASK (0x7FU)
  3353. #define CAN_MCR_MAXMB_SHIFT (0U)
  3354. /*! MAXMB - Number Of The Last Message Buffer
  3355. */
  3356. #define CAN_MCR_MAXMB(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_MAXMB_SHIFT)) & CAN_MCR_MAXMB_MASK)
  3357. #define CAN_MCR_IDAM_MASK (0x300U)
  3358. #define CAN_MCR_IDAM_SHIFT (8U)
  3359. /*! IDAM - ID Acceptance Mode
  3360. * 0b00..Format A One full ID (standard or extended) per ID filter Table element.
  3361. * 0b01..Format B Two full standard IDs or two partial 14-bit extended IDs per ID filter Table element.
  3362. * 0b10..Format C Four partial 8-bit IDs (standard or extended) per ID filter Table element.
  3363. * 0b11..Format D All frames rejected.
  3364. */
  3365. #define CAN_MCR_IDAM(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_IDAM_SHIFT)) & CAN_MCR_IDAM_MASK)
  3366. #define CAN_MCR_FDEN_MASK (0x800U)
  3367. #define CAN_MCR_FDEN_SHIFT (11U)
  3368. /*! FDEN - CAN FD operation enable
  3369. * 0b1..CAN FD is enabled. FlexCAN is able to receive and transmit messages in both CAN FD and CAN 2.0 formats.
  3370. * 0b0..CAN FD is disabled. FlexCAN is able to receive and transmit messages in CAN 2.0 format.
  3371. */
  3372. #define CAN_MCR_FDEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_FDEN_SHIFT)) & CAN_MCR_FDEN_MASK)
  3373. #define CAN_MCR_AEN_MASK (0x1000U)
  3374. #define CAN_MCR_AEN_SHIFT (12U)
  3375. /*! AEN - Abort Enable
  3376. * 0b1..Abort enabled
  3377. * 0b0..Abort disabled
  3378. */
  3379. #define CAN_MCR_AEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_AEN_SHIFT)) & CAN_MCR_AEN_MASK)
  3380. #define CAN_MCR_LPRIOEN_MASK (0x2000U)
  3381. #define CAN_MCR_LPRIOEN_SHIFT (13U)
  3382. /*! LPRIOEN - Local Priority Enable
  3383. * 0b1..Local Priority enabled
  3384. * 0b0..Local Priority disabled
  3385. */
  3386. #define CAN_MCR_LPRIOEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_LPRIOEN_SHIFT)) & CAN_MCR_LPRIOEN_MASK)
  3387. #define CAN_MCR_DMA_MASK (0x8000U)
  3388. #define CAN_MCR_DMA_SHIFT (15U)
  3389. /*! DMA - DMA Enable
  3390. * 0b0..DMA feature for Legacy RX FIFO or Enhanced Rx FIFO are disabled.
  3391. * 0b1..DMA feature for Legacy RX FIFO or Enhanced Rx FIFO are enabled.
  3392. */
  3393. #define CAN_MCR_DMA(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_DMA_SHIFT)) & CAN_MCR_DMA_MASK)
  3394. #define CAN_MCR_IRMQ_MASK (0x10000U)
  3395. #define CAN_MCR_IRMQ_SHIFT (16U)
  3396. /*! IRMQ - Individual Rx Masking And Queue Enable
  3397. * 0b1..Individual Rx masking and queue feature are enabled.
  3398. * 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.
  3399. */
  3400. #define CAN_MCR_IRMQ(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_IRMQ_SHIFT)) & CAN_MCR_IRMQ_MASK)
  3401. #define CAN_MCR_SRXDIS_MASK (0x20000U)
  3402. #define CAN_MCR_SRXDIS_SHIFT (17U)
  3403. /*! SRXDIS - Self Reception Disable
  3404. * 0b1..Self reception disabled
  3405. * 0b0..Self reception enabled
  3406. */
  3407. #define CAN_MCR_SRXDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SRXDIS_SHIFT)) & CAN_MCR_SRXDIS_MASK)
  3408. #define CAN_MCR_DOZE_MASK (0x40000U)
  3409. #define CAN_MCR_DOZE_SHIFT (18U)
  3410. /*! DOZE - Doze Mode Enable
  3411. * 0b0..FlexCAN is not enabled to enter low-power mode when Doze mode is requested.
  3412. * 0b1..FlexCAN is enabled to enter low-power mode when Doze mode is requested.
  3413. */
  3414. #define CAN_MCR_DOZE(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_DOZE_SHIFT)) & CAN_MCR_DOZE_MASK)
  3415. #define CAN_MCR_WAKSRC_MASK (0x80000U)
  3416. #define CAN_MCR_WAKSRC_SHIFT (19U)
  3417. /*! WAKSRC - Wake Up Source
  3418. * 0b1..FLEXCAN uses the filtered FLEXCAN_RX input to detect recessive to dominant edges on the CAN bus
  3419. * 0b0..FLEXCAN uses the unfiltered FLEXCAN_RX input to detect recessive to dominant edges on the CAN bus.
  3420. */
  3421. #define CAN_MCR_WAKSRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_WAKSRC_SHIFT)) & CAN_MCR_WAKSRC_MASK)
  3422. #define CAN_MCR_LPMACK_MASK (0x100000U)
  3423. #define CAN_MCR_LPMACK_SHIFT (20U)
  3424. /*! LPMACK - Low-Power Mode Acknowledge
  3425. * 0b1..FLEXCAN is either in Disable Mode, or Stop mode
  3426. * 0b0..FLEXCAN not in any of the low power modes
  3427. */
  3428. #define CAN_MCR_LPMACK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_LPMACK_SHIFT)) & CAN_MCR_LPMACK_MASK)
  3429. #define CAN_MCR_WRNEN_MASK (0x200000U)
  3430. #define CAN_MCR_WRNEN_SHIFT (21U)
  3431. /*! WRNEN - Warning Interrupt Enable
  3432. * 0b1..TWRN_INT and RWRN_INT bits are set when the respective error counter transition from <96 to >= 96.
  3433. * 0b0..TWRN_INT and RWRN_INT bits are zero, independent of the values in the error counters.
  3434. */
  3435. #define CAN_MCR_WRNEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_WRNEN_SHIFT)) & CAN_MCR_WRNEN_MASK)
  3436. #define CAN_MCR_SLFWAK_MASK (0x400000U)
  3437. #define CAN_MCR_SLFWAK_SHIFT (22U)
  3438. /*! SLFWAK - Self Wake Up
  3439. * 0b1..FLEXCAN Self Wake Up feature is enabled
  3440. * 0b0..FLEXCAN Self Wake Up feature is disabled
  3441. */
  3442. #define CAN_MCR_SLFWAK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SLFWAK_SHIFT)) & CAN_MCR_SLFWAK_MASK)
  3443. #define CAN_MCR_SUPV_MASK (0x800000U)
  3444. #define CAN_MCR_SUPV_SHIFT (23U)
  3445. /*! SUPV - Supervisor Mode
  3446. * 0b1..FlexCAN is in Supervisor Mode. Affected registers allow only Supervisor access. Unrestricted access
  3447. * behaves as though the access was done to an unimplemented register location
  3448. * 0b0..FlexCAN is in User Mode. Affected registers allow both Supervisor and Unrestricted accesses
  3449. */
  3450. #define CAN_MCR_SUPV(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SUPV_SHIFT)) & CAN_MCR_SUPV_MASK)
  3451. #define CAN_MCR_FRZACK_MASK (0x1000000U)
  3452. #define CAN_MCR_FRZACK_SHIFT (24U)
  3453. /*! FRZACK - Freeze Mode Acknowledge
  3454. * 0b1..FLEXCAN in Freeze Mode, prescaler stopped
  3455. * 0b0..FLEXCAN not in Freeze Mode, prescaler running
  3456. */
  3457. #define CAN_MCR_FRZACK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_FRZACK_SHIFT)) & CAN_MCR_FRZACK_MASK)
  3458. #define CAN_MCR_SOFTRST_MASK (0x2000000U)
  3459. #define CAN_MCR_SOFTRST_SHIFT (25U)
  3460. /*! SOFTRST - Soft Reset
  3461. * 0b1..Reset the registers
  3462. * 0b0..No reset request
  3463. */
  3464. #define CAN_MCR_SOFTRST(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SOFTRST_SHIFT)) & CAN_MCR_SOFTRST_MASK)
  3465. #define CAN_MCR_WAKMSK_MASK (0x4000000U)
  3466. #define CAN_MCR_WAKMSK_SHIFT (26U)
  3467. /*! WAKMSK - Wake Up Interrupt Mask
  3468. * 0b1..Wake Up Interrupt is enabled
  3469. * 0b0..Wake Up Interrupt is disabled
  3470. */
  3471. #define CAN_MCR_WAKMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_WAKMSK_SHIFT)) & CAN_MCR_WAKMSK_MASK)
  3472. #define CAN_MCR_NOTRDY_MASK (0x8000000U)
  3473. #define CAN_MCR_NOTRDY_SHIFT (27U)
  3474. /*! NOTRDY - FlexCAN Not Ready
  3475. * 0b1..FLEXCAN module is either in Disable Mode, Stop Mode or Freeze Mode
  3476. * 0b0..FLEXCAN module is either in Normal Mode, Listen-Only Mode or Loop-Back Mode
  3477. */
  3478. #define CAN_MCR_NOTRDY(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_NOTRDY_SHIFT)) & CAN_MCR_NOTRDY_MASK)
  3479. #define CAN_MCR_HALT_MASK (0x10000000U)
  3480. #define CAN_MCR_HALT_SHIFT (28U)
  3481. /*! HALT - Halt FlexCAN
  3482. * 0b1..Enters Freeze Mode if the FRZ bit is asserted.
  3483. * 0b0..No Freeze Mode request.
  3484. */
  3485. #define CAN_MCR_HALT(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_HALT_SHIFT)) & CAN_MCR_HALT_MASK)
  3486. #define CAN_MCR_RFEN_MASK (0x20000000U)
  3487. #define CAN_MCR_RFEN_SHIFT (29U)
  3488. /*! RFEN - Legacy Rx FIFO Enable
  3489. * 0b1..FIFO enabled
  3490. * 0b0..FIFO not enabled
  3491. */
  3492. #define CAN_MCR_RFEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_RFEN_SHIFT)) & CAN_MCR_RFEN_MASK)
  3493. #define CAN_MCR_FRZ_MASK (0x40000000U)
  3494. #define CAN_MCR_FRZ_SHIFT (30U)
  3495. /*! FRZ - Freeze Enable
  3496. * 0b1..Enabled to enter Freeze Mode
  3497. * 0b0..Not enabled to enter Freeze Mode
  3498. */
  3499. #define CAN_MCR_FRZ(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_FRZ_SHIFT)) & CAN_MCR_FRZ_MASK)
  3500. #define CAN_MCR_MDIS_MASK (0x80000000U)
  3501. #define CAN_MCR_MDIS_SHIFT (31U)
  3502. /*! MDIS - Module Disable
  3503. * 0b1..Disable the FLEXCAN module
  3504. * 0b0..Enable the FLEXCAN module
  3505. */
  3506. #define CAN_MCR_MDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_MDIS_SHIFT)) & CAN_MCR_MDIS_MASK)
  3507. /*! @} */
  3508. /*! @name CTRL1 - Control 1 Register..Control 1 register */
  3509. /*! @{ */
  3510. #define CAN_CTRL1_PROPSEG_MASK (0x7U)
  3511. #define CAN_CTRL1_PROPSEG_SHIFT (0U)
  3512. /*! PROPSEG - Propagation Segment
  3513. */
  3514. #define CAN_CTRL1_PROPSEG(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PROPSEG_SHIFT)) & CAN_CTRL1_PROPSEG_MASK)
  3515. #define CAN_CTRL1_LOM_MASK (0x8U)
  3516. #define CAN_CTRL1_LOM_SHIFT (3U)
  3517. /*! LOM - Listen-Only Mode
  3518. * 0b1..FLEXCAN module operates in Listen Only Mode
  3519. * 0b0..Listen Only Mode is deactivated
  3520. */
  3521. #define CAN_CTRL1_LOM(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_LOM_SHIFT)) & CAN_CTRL1_LOM_MASK)
  3522. #define CAN_CTRL1_LBUF_MASK (0x10U)
  3523. #define CAN_CTRL1_LBUF_SHIFT (4U)
  3524. /*! LBUF - Lowest Buffer Transmitted First
  3525. * 0b1..Lowest number buffer is transmitted first
  3526. * 0b0..Buffer with highest priority is transmitted first
  3527. */
  3528. #define CAN_CTRL1_LBUF(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_LBUF_SHIFT)) & CAN_CTRL1_LBUF_MASK)
  3529. #define CAN_CTRL1_TSYN_MASK (0x20U)
  3530. #define CAN_CTRL1_TSYN_SHIFT (5U)
  3531. /*! TSYN - Timer Sync
  3532. * 0b1..Timer Sync feature enabled
  3533. * 0b0..Timer Sync feature disabled
  3534. */
  3535. #define CAN_CTRL1_TSYN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_TSYN_SHIFT)) & CAN_CTRL1_TSYN_MASK)
  3536. #define CAN_CTRL1_BOFFREC_MASK (0x40U)
  3537. #define CAN_CTRL1_BOFFREC_SHIFT (6U)
  3538. /*! BOFFREC - Bus Off Recovery
  3539. * 0b1..Automatic recovering from Bus Off state disabled
  3540. * 0b0..Automatic recovering from Bus Off state enabled, according to CAN Spec 2.0 part B
  3541. */
  3542. #define CAN_CTRL1_BOFFREC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_BOFFREC_SHIFT)) & CAN_CTRL1_BOFFREC_MASK)
  3543. #define CAN_CTRL1_SMP_MASK (0x80U)
  3544. #define CAN_CTRL1_SMP_SHIFT (7U)
  3545. /*! SMP - CAN Bit Sampling
  3546. * 0b1..Three samples are used to determine the value of the received bit: the regular one (sample point) and 2
  3547. * preceding samples, a majority rule is used
  3548. * 0b0..Just one sample is used to determine the bit value
  3549. */
  3550. #define CAN_CTRL1_SMP(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_SMP_SHIFT)) & CAN_CTRL1_SMP_MASK)
  3551. #define CAN_CTRL1_RWRNMSK_MASK (0x400U)
  3552. #define CAN_CTRL1_RWRNMSK_SHIFT (10U)
  3553. /*! RWRNMSK - Rx Warning Interrupt Mask
  3554. * 0b1..Rx Warning Interrupt enabled
  3555. * 0b0..Rx Warning Interrupt disabled
  3556. */
  3557. #define CAN_CTRL1_RWRNMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_RWRNMSK_SHIFT)) & CAN_CTRL1_RWRNMSK_MASK)
  3558. #define CAN_CTRL1_TWRNMSK_MASK (0x800U)
  3559. #define CAN_CTRL1_TWRNMSK_SHIFT (11U)
  3560. /*! TWRNMSK - Tx Warning Interrupt Mask
  3561. * 0b1..Tx Warning Interrupt enabled
  3562. * 0b0..Tx Warning Interrupt disabled
  3563. */
  3564. #define CAN_CTRL1_TWRNMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_TWRNMSK_SHIFT)) & CAN_CTRL1_TWRNMSK_MASK)
  3565. #define CAN_CTRL1_LPB_MASK (0x1000U)
  3566. #define CAN_CTRL1_LPB_SHIFT (12U)
  3567. /*! LPB - Loop Back Mode
  3568. * 0b1..Loop Back enabled
  3569. * 0b0..Loop Back disabled
  3570. */
  3571. #define CAN_CTRL1_LPB(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_LPB_SHIFT)) & CAN_CTRL1_LPB_MASK)
  3572. #define CAN_CTRL1_CLKSRC_MASK (0x2000U)
  3573. #define CAN_CTRL1_CLKSRC_SHIFT (13U)
  3574. /*! CLKSRC - CAN Engine Clock Source
  3575. * 0b0..The CAN engine clock source is the oscillator clock. Under this condition, the oscillator clock frequency must be lower than the bus clock.
  3576. * 0b1..The CAN engine clock source is the peripheral clock.
  3577. */
  3578. #define CAN_CTRL1_CLKSRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_CLKSRC_SHIFT)) & CAN_CTRL1_CLKSRC_MASK)
  3579. #define CAN_CTRL1_ERRMSK_MASK (0x4000U)
  3580. #define CAN_CTRL1_ERRMSK_SHIFT (14U)
  3581. /*! ERRMSK - Error Interrupt Mask
  3582. * 0b1..Error interrupt enabled
  3583. * 0b0..Error interrupt disabled
  3584. */
  3585. #define CAN_CTRL1_ERRMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_ERRMSK_SHIFT)) & CAN_CTRL1_ERRMSK_MASK)
  3586. #define CAN_CTRL1_BOFFMSK_MASK (0x8000U)
  3587. #define CAN_CTRL1_BOFFMSK_SHIFT (15U)
  3588. /*! BOFFMSK - Bus Off Interrupt Mask
  3589. * 0b1..Bus Off interrupt enabled
  3590. * 0b0..Bus Off interrupt disabled
  3591. */
  3592. #define CAN_CTRL1_BOFFMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_BOFFMSK_SHIFT)) & CAN_CTRL1_BOFFMSK_MASK)
  3593. #define CAN_CTRL1_PSEG2_MASK (0x70000U)
  3594. #define CAN_CTRL1_PSEG2_SHIFT (16U)
  3595. /*! PSEG2 - Phase Segment 2
  3596. */
  3597. #define CAN_CTRL1_PSEG2(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PSEG2_SHIFT)) & CAN_CTRL1_PSEG2_MASK)
  3598. #define CAN_CTRL1_PSEG1_MASK (0x380000U)
  3599. #define CAN_CTRL1_PSEG1_SHIFT (19U)
  3600. /*! PSEG1 - Phase Segment 1
  3601. */
  3602. #define CAN_CTRL1_PSEG1(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PSEG1_SHIFT)) & CAN_CTRL1_PSEG1_MASK)
  3603. #define CAN_CTRL1_RJW_MASK (0xC00000U)
  3604. #define CAN_CTRL1_RJW_SHIFT (22U)
  3605. /*! RJW - Resync Jump Width
  3606. */
  3607. #define CAN_CTRL1_RJW(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_RJW_SHIFT)) & CAN_CTRL1_RJW_MASK)
  3608. #define CAN_CTRL1_PRESDIV_MASK (0xFF000000U)
  3609. #define CAN_CTRL1_PRESDIV_SHIFT (24U)
  3610. /*! PRESDIV - Prescaler Division Factor
  3611. */
  3612. #define CAN_CTRL1_PRESDIV(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PRESDIV_SHIFT)) & CAN_CTRL1_PRESDIV_MASK)
  3613. /*! @} */
  3614. /*! @name TIMER - Free Running Timer Register..Free Running Timer */
  3615. /*! @{ */
  3616. #define CAN_TIMER_TIMER_MASK (0xFFFFU)
  3617. #define CAN_TIMER_TIMER_SHIFT (0U)
  3618. /*! TIMER - Timer Value
  3619. */
  3620. #define CAN_TIMER_TIMER(x) (((uint32_t)(((uint32_t)(x)) << CAN_TIMER_TIMER_SHIFT)) & CAN_TIMER_TIMER_MASK)
  3621. /*! @} */
  3622. /*! @name RXMGMASK - Rx Mailboxes Global Mask Register */
  3623. /*! @{ */
  3624. #define CAN_RXMGMASK_MG_MASK (0xFFFFFFFFU)
  3625. #define CAN_RXMGMASK_MG_SHIFT (0U)
  3626. /*! MG - Rx Mailboxes Global Mask Bits
  3627. * 0b00000000000000000000000000000001..The corresponding bit in the filter is checked against the one received
  3628. * 0b00000000000000000000000000000000..the corresponding bit in the filter is "don't care"
  3629. */
  3630. #define CAN_RXMGMASK_MG(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXMGMASK_MG_SHIFT)) & CAN_RXMGMASK_MG_MASK)
  3631. /*! @} */
  3632. /*! @name RX14MASK - Rx Buffer 14 Mask Register..Rx 14 Mask register */
  3633. /*! @{ */
  3634. #define CAN_RX14MASK_RX14M_MASK (0xFFFFFFFFU)
  3635. #define CAN_RX14MASK_RX14M_SHIFT (0U)
  3636. /*! RX14M - Rx Buffer 14 Mask Bits
  3637. * 0b00000000000000000000000000000001..The corresponding bit in the filter is checked
  3638. * 0b00000000000000000000000000000000..the corresponding bit in the filter is "don't care"
  3639. */
  3640. #define CAN_RX14MASK_RX14M(x) (((uint32_t)(((uint32_t)(x)) << CAN_RX14MASK_RX14M_SHIFT)) & CAN_RX14MASK_RX14M_MASK)
  3641. /*! @} */
  3642. /*! @name RX15MASK - Rx Buffer 15 Mask Register..Rx 15 Mask register */
  3643. /*! @{ */
  3644. #define CAN_RX15MASK_RX15M_MASK (0xFFFFFFFFU)
  3645. #define CAN_RX15MASK_RX15M_SHIFT (0U)
  3646. /*! RX15M - Rx Buffer 15 Mask Bits
  3647. * 0b00000000000000000000000000000001..The corresponding bit in the filter is checked
  3648. * 0b00000000000000000000000000000000..the corresponding bit in the filter is "don't care"
  3649. */
  3650. #define CAN_RX15MASK_RX15M(x) (((uint32_t)(((uint32_t)(x)) << CAN_RX15MASK_RX15M_SHIFT)) & CAN_RX15MASK_RX15M_MASK)
  3651. /*! @} */
  3652. /*! @name ECR - Error Counter Register..Error Counter */
  3653. /*! @{ */
  3654. #define CAN_ECR_TXERRCNT_MASK (0xFFU)
  3655. #define CAN_ECR_TXERRCNT_SHIFT (0U)
  3656. /*! TXERRCNT - Transmit Error Counter
  3657. */
  3658. #define CAN_ECR_TXERRCNT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_TXERRCNT_SHIFT)) & CAN_ECR_TXERRCNT_MASK)
  3659. #define CAN_ECR_TX_ERR_COUNTER_MASK (0xFFU)
  3660. #define CAN_ECR_TX_ERR_COUNTER_SHIFT (0U)
  3661. #define CAN_ECR_TX_ERR_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_TX_ERR_COUNTER_SHIFT)) & CAN_ECR_TX_ERR_COUNTER_MASK)
  3662. #define CAN_ECR_RXERRCNT_MASK (0xFF00U)
  3663. #define CAN_ECR_RXERRCNT_SHIFT (8U)
  3664. /*! RXERRCNT - Receive Error Counter
  3665. */
  3666. #define CAN_ECR_RXERRCNT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_RXERRCNT_SHIFT)) & CAN_ECR_RXERRCNT_MASK)
  3667. #define CAN_ECR_RX_ERR_COUNTER_MASK (0xFF00U)
  3668. #define CAN_ECR_RX_ERR_COUNTER_SHIFT (8U)
  3669. #define CAN_ECR_RX_ERR_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_RX_ERR_COUNTER_SHIFT)) & CAN_ECR_RX_ERR_COUNTER_MASK)
  3670. #define CAN_ECR_TXERRCNT_FAST_MASK (0xFF0000U)
  3671. #define CAN_ECR_TXERRCNT_FAST_SHIFT (16U)
  3672. /*! TXERRCNT_FAST - Transmit Error Counter for fast bits
  3673. */
  3674. #define CAN_ECR_TXERRCNT_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_TXERRCNT_FAST_SHIFT)) & CAN_ECR_TXERRCNT_FAST_MASK)
  3675. #define CAN_ECR_RXERRCNT_FAST_MASK (0xFF000000U)
  3676. #define CAN_ECR_RXERRCNT_FAST_SHIFT (24U)
  3677. /*! RXERRCNT_FAST - Receive Error Counter for fast bits
  3678. */
  3679. #define CAN_ECR_RXERRCNT_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_RXERRCNT_FAST_SHIFT)) & CAN_ECR_RXERRCNT_FAST_MASK)
  3680. /*! @} */
  3681. /*! @name ESR1 - Error and Status 1 Register..Error and Status 1 register */
  3682. /*! @{ */
  3683. #define CAN_ESR1_WAKINT_MASK (0x1U)
  3684. #define CAN_ESR1_WAKINT_SHIFT (0U)
  3685. /*! WAKINT - Wake-Up Interrupt
  3686. * 0b1..Indicates a recessive to dominant transition received on the CAN bus when the FLEXCAN module is in Stop Mode
  3687. * 0b0..No such occurrence
  3688. */
  3689. #define CAN_ESR1_WAKINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_WAKINT_SHIFT)) & CAN_ESR1_WAKINT_MASK)
  3690. #define CAN_ESR1_ERRINT_MASK (0x2U)
  3691. #define CAN_ESR1_ERRINT_SHIFT (1U)
  3692. /*! ERRINT - Error Interrupt
  3693. * 0b1..Indicates setting of any Error Bit in the Error and Status Register
  3694. * 0b0..No such occurrence
  3695. */
  3696. #define CAN_ESR1_ERRINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ERRINT_SHIFT)) & CAN_ESR1_ERRINT_MASK)
  3697. #define CAN_ESR1_BOFFINT_MASK (0x4U)
  3698. #define CAN_ESR1_BOFFINT_SHIFT (2U)
  3699. /*! BOFFINT - Bus Off Interrupt
  3700. * 0b1..FLEXCAN module entered 'Bus Off' state
  3701. * 0b0..No such occurrence
  3702. */
  3703. #define CAN_ESR1_BOFFINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BOFFINT_SHIFT)) & CAN_ESR1_BOFFINT_MASK)
  3704. #define CAN_ESR1_RX_MASK (0x8U)
  3705. #define CAN_ESR1_RX_SHIFT (3U)
  3706. /*! RX - FlexCAN In Reception
  3707. * 0b1..FLEXCAN is transmitting a message
  3708. * 0b0..FLEXCAN is receiving a message
  3709. */
  3710. #define CAN_ESR1_RX(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_RX_SHIFT)) & CAN_ESR1_RX_MASK)
  3711. #define CAN_ESR1_FLTCONF_MASK (0x30U)
  3712. #define CAN_ESR1_FLTCONF_SHIFT (4U)
  3713. /*! FLTCONF - Fault Confinement State
  3714. * 0b00..Error Active
  3715. * 0b01..Error Passive
  3716. * 0b1x..Bus off
  3717. */
  3718. #define CAN_ESR1_FLTCONF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_FLTCONF_SHIFT)) & CAN_ESR1_FLTCONF_MASK)
  3719. #define CAN_ESR1_TX_MASK (0x40U)
  3720. #define CAN_ESR1_TX_SHIFT (6U)
  3721. /*! TX - FlexCAN In Transmission
  3722. * 0b1..FLEXCAN is transmitting a message
  3723. * 0b0..FLEXCAN is receiving a message
  3724. */
  3725. #define CAN_ESR1_TX(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_TX_SHIFT)) & CAN_ESR1_TX_MASK)
  3726. #define CAN_ESR1_IDLE_MASK (0x80U)
  3727. #define CAN_ESR1_IDLE_SHIFT (7U)
  3728. /*! IDLE - IDLE
  3729. * 0b1..CAN bus is now IDLE
  3730. * 0b0..No such occurrence
  3731. */
  3732. #define CAN_ESR1_IDLE(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_IDLE_SHIFT)) & CAN_ESR1_IDLE_MASK)
  3733. #define CAN_ESR1_RXWRN_MASK (0x100U)
  3734. #define CAN_ESR1_RXWRN_SHIFT (8U)
  3735. /*! RXWRN - Rx Error Warning
  3736. * 0b1..Rx_Err_Counter >= 96
  3737. * 0b0..No such occurrence
  3738. */
  3739. #define CAN_ESR1_RXWRN(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_RXWRN_SHIFT)) & CAN_ESR1_RXWRN_MASK)
  3740. #define CAN_ESR1_TXWRN_MASK (0x200U)
  3741. #define CAN_ESR1_TXWRN_SHIFT (9U)
  3742. /*! TXWRN - TX Error Warning
  3743. * 0b1..TX_Err_Counter >= 96
  3744. * 0b0..No such occurrence
  3745. */
  3746. #define CAN_ESR1_TXWRN(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_TXWRN_SHIFT)) & CAN_ESR1_TXWRN_MASK)
  3747. #define CAN_ESR1_STFERR_MASK (0x400U)
  3748. #define CAN_ESR1_STFERR_SHIFT (10U)
  3749. /*! STFERR - Stuffing Error
  3750. * 0b1..A Stuffing Error occurred since last read of this register.
  3751. * 0b0..No such occurrence.
  3752. */
  3753. #define CAN_ESR1_STFERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_STFERR_SHIFT)) & CAN_ESR1_STFERR_MASK)
  3754. #define CAN_ESR1_FRMERR_MASK (0x800U)
  3755. #define CAN_ESR1_FRMERR_SHIFT (11U)
  3756. /*! FRMERR - Form Error
  3757. * 0b1..A Form Error occurred since last read of this register
  3758. * 0b0..No such occurrence
  3759. */
  3760. #define CAN_ESR1_FRMERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_FRMERR_SHIFT)) & CAN_ESR1_FRMERR_MASK)
  3761. #define CAN_ESR1_CRCERR_MASK (0x1000U)
  3762. #define CAN_ESR1_CRCERR_SHIFT (12U)
  3763. /*! CRCERR - Cyclic Redundancy Check Error
  3764. * 0b1..A CRC error occurred since last read of this register.
  3765. * 0b0..No such occurrence
  3766. */
  3767. #define CAN_ESR1_CRCERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_CRCERR_SHIFT)) & CAN_ESR1_CRCERR_MASK)
  3768. #define CAN_ESR1_ACKERR_MASK (0x2000U)
  3769. #define CAN_ESR1_ACKERR_SHIFT (13U)
  3770. /*! ACKERR - Acknowledge Error
  3771. * 0b1..An ACK error occurred since last read of this register
  3772. * 0b0..No such occurrence
  3773. */
  3774. #define CAN_ESR1_ACKERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ACKERR_SHIFT)) & CAN_ESR1_ACKERR_MASK)
  3775. #define CAN_ESR1_BIT0ERR_MASK (0x4000U)
  3776. #define CAN_ESR1_BIT0ERR_SHIFT (14U)
  3777. /*! BIT0ERR - Bit0 Error
  3778. * 0b1..At least one bit sent as dominant is received as recessive
  3779. * 0b0..No such occurrence
  3780. */
  3781. #define CAN_ESR1_BIT0ERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT0ERR_SHIFT)) & CAN_ESR1_BIT0ERR_MASK)
  3782. #define CAN_ESR1_BIT1ERR_MASK (0x8000U)
  3783. #define CAN_ESR1_BIT1ERR_SHIFT (15U)
  3784. /*! BIT1ERR - Bit1 Error
  3785. * 0b1..At least one bit sent as recessive is received as dominant
  3786. * 0b0..No such occurrence
  3787. */
  3788. #define CAN_ESR1_BIT1ERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT1ERR_SHIFT)) & CAN_ESR1_BIT1ERR_MASK)
  3789. #define CAN_ESR1_RWRNINT_MASK (0x10000U)
  3790. #define CAN_ESR1_RWRNINT_SHIFT (16U)
  3791. /*! RWRNINT - Rx Warning Interrupt Flag
  3792. * 0b1..The Rx error counter transition from < 96 to >= 96
  3793. * 0b0..No such occurrence
  3794. */
  3795. #define CAN_ESR1_RWRNINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_RWRNINT_SHIFT)) & CAN_ESR1_RWRNINT_MASK)
  3796. #define CAN_ESR1_TWRNINT_MASK (0x20000U)
  3797. #define CAN_ESR1_TWRNINT_SHIFT (17U)
  3798. /*! TWRNINT - Tx Warning Interrupt Flag
  3799. * 0b1..The Tx error counter transition from < 96 to >= 96
  3800. * 0b0..No such occurrence
  3801. */
  3802. #define CAN_ESR1_TWRNINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_TWRNINT_SHIFT)) & CAN_ESR1_TWRNINT_MASK)
  3803. #define CAN_ESR1_SYNCH_MASK (0x40000U)
  3804. #define CAN_ESR1_SYNCH_SHIFT (18U)
  3805. /*! SYNCH - CAN Synchronization Status
  3806. * 0b1..FlexCAN is synchronized to the CAN bus
  3807. * 0b0..FlexCAN is not synchronized to the CAN bus
  3808. */
  3809. #define CAN_ESR1_SYNCH(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_SYNCH_SHIFT)) & CAN_ESR1_SYNCH_MASK)
  3810. #define CAN_ESR1_BOFFDONEINT_MASK (0x80000U)
  3811. #define CAN_ESR1_BOFFDONEINT_SHIFT (19U)
  3812. /*! BOFFDONEINT - Bus Off Done Interrupt
  3813. * 0b0..No such occurrence.
  3814. * 0b1..FlexCAN module has completed Bus Off process.
  3815. */
  3816. #define CAN_ESR1_BOFFDONEINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BOFFDONEINT_SHIFT)) & CAN_ESR1_BOFFDONEINT_MASK)
  3817. #define CAN_ESR1_ERRINT_FAST_MASK (0x100000U)
  3818. #define CAN_ESR1_ERRINT_FAST_SHIFT (20U)
  3819. /*! ERRINT_FAST - Error Interrupt for errors detected in the Data Phase of CAN FD frames with the BRS bit set
  3820. * 0b0..No such occurrence.
  3821. * 0b1..Indicates setting of any Error Bit detected in the Data Phase of CAN FD frames with the BRS bit set.
  3822. */
  3823. #define CAN_ESR1_ERRINT_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ERRINT_FAST_SHIFT)) & CAN_ESR1_ERRINT_FAST_MASK)
  3824. #define CAN_ESR1_ERROVR_MASK (0x200000U)
  3825. #define CAN_ESR1_ERROVR_SHIFT (21U)
  3826. /*! ERROVR - Error Overrun bit
  3827. * 0b0..Overrun has not occurred.
  3828. * 0b1..Overrun has occurred.
  3829. */
  3830. #define CAN_ESR1_ERROVR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ERROVR_SHIFT)) & CAN_ESR1_ERROVR_MASK)
  3831. #define CAN_ESR1_STFERR_FAST_MASK (0x4000000U)
  3832. #define CAN_ESR1_STFERR_FAST_SHIFT (26U)
  3833. /*! STFERR_FAST - Stuffing Error in the Data Phase of CAN FD frames with the BRS bit set
  3834. * 0b0..No such occurrence.
  3835. * 0b1..A Stuffing Error occurred since last read of this register.
  3836. */
  3837. #define CAN_ESR1_STFERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_STFERR_FAST_SHIFT)) & CAN_ESR1_STFERR_FAST_MASK)
  3838. #define CAN_ESR1_FRMERR_FAST_MASK (0x8000000U)
  3839. #define CAN_ESR1_FRMERR_FAST_SHIFT (27U)
  3840. /*! FRMERR_FAST - Form Error in the Data Phase of CAN FD frames with the BRS bit set
  3841. * 0b0..No such occurrence.
  3842. * 0b1..A Form Error occurred since last read of this register.
  3843. */
  3844. #define CAN_ESR1_FRMERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_FRMERR_FAST_SHIFT)) & CAN_ESR1_FRMERR_FAST_MASK)
  3845. #define CAN_ESR1_CRCERR_FAST_MASK (0x10000000U)
  3846. #define CAN_ESR1_CRCERR_FAST_SHIFT (28U)
  3847. /*! CRCERR_FAST - Cyclic Redundancy Check Error in the CRC field of CAN FD frames with the BRS bit set
  3848. * 0b0..No such occurrence.
  3849. * 0b1..A CRC error occurred since last read of this register.
  3850. */
  3851. #define CAN_ESR1_CRCERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_CRCERR_FAST_SHIFT)) & CAN_ESR1_CRCERR_FAST_MASK)
  3852. #define CAN_ESR1_BIT0ERR_FAST_MASK (0x40000000U)
  3853. #define CAN_ESR1_BIT0ERR_FAST_SHIFT (30U)
  3854. /*! BIT0ERR_FAST - Bit0 Error in the Data Phase of CAN FD frames with the BRS bit set
  3855. * 0b0..No such occurrence.
  3856. * 0b1..At least one bit sent as dominant is received as recessive.
  3857. */
  3858. #define CAN_ESR1_BIT0ERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT0ERR_FAST_SHIFT)) & CAN_ESR1_BIT0ERR_FAST_MASK)
  3859. #define CAN_ESR1_BIT1ERR_FAST_MASK (0x80000000U)
  3860. #define CAN_ESR1_BIT1ERR_FAST_SHIFT (31U)
  3861. /*! BIT1ERR_FAST - Bit1 Error in the Data Phase of CAN FD frames with the BRS bit set
  3862. * 0b0..No such occurrence.
  3863. * 0b1..At least one bit sent as recessive is received as dominant.
  3864. */
  3865. #define CAN_ESR1_BIT1ERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT1ERR_FAST_SHIFT)) & CAN_ESR1_BIT1ERR_FAST_MASK)
  3866. /*! @} */
  3867. /*! @name IMASK2 - Interrupt Masks 2 Register..Interrupt Masks 2 register */
  3868. /*! @{ */
  3869. #define CAN_IMASK2_BUF63TO32M_MASK (0xFFFFFFFFU)
  3870. #define CAN_IMASK2_BUF63TO32M_SHIFT (0U)
  3871. /*! BUF63TO32M - Buffer MB i Mask
  3872. */
  3873. #define CAN_IMASK2_BUF63TO32M(x) (((uint32_t)(((uint32_t)(x)) << CAN_IMASK2_BUF63TO32M_SHIFT)) & CAN_IMASK2_BUF63TO32M_MASK)
  3874. #define CAN_IMASK2_BUFHM_MASK (0xFFFFFFFFU)
  3875. #define CAN_IMASK2_BUFHM_SHIFT (0U)
  3876. /*! BUFHM
  3877. * 0b00000000000000000000000000000001..The corresponding buffer Interrupt is enabled
  3878. * 0b00000000000000000000000000000000..The corresponding buffer Interrupt is disabled
  3879. */
  3880. #define CAN_IMASK2_BUFHM(x) (((uint32_t)(((uint32_t)(x)) << CAN_IMASK2_BUFHM_SHIFT)) & CAN_IMASK2_BUFHM_MASK)
  3881. /*! @} */
  3882. /*! @name IMASK1 - Interrupt Masks 1 Register..Interrupt Masks 1 register */
  3883. /*! @{ */
  3884. #define CAN_IMASK1_BUF31TO0M_MASK (0xFFFFFFFFU)
  3885. #define CAN_IMASK1_BUF31TO0M_SHIFT (0U)
  3886. /*! BUF31TO0M - Buffer MB i Mask
  3887. */
  3888. #define CAN_IMASK1_BUF31TO0M(x) (((uint32_t)(((uint32_t)(x)) << CAN_IMASK1_BUF31TO0M_SHIFT)) & CAN_IMASK1_BUF31TO0M_MASK)
  3889. #define CAN_IMASK1_BUFLM_MASK (0xFFFFFFFFU)
  3890. #define CAN_IMASK1_BUFLM_SHIFT (0U)
  3891. /*! BUFLM
  3892. * 0b00000000000000000000000000000001..The corresponding buffer Interrupt is enabled
  3893. * 0b00000000000000000000000000000000..The corresponding buffer Interrupt is disabled
  3894. */
  3895. #define CAN_IMASK1_BUFLM(x) (((uint32_t)(((uint32_t)(x)) << CAN_IMASK1_BUFLM_SHIFT)) & CAN_IMASK1_BUFLM_MASK)
  3896. /*! @} */
  3897. /*! @name IFLAG2 - Interrupt Flags 2 Register..Interrupt Flags 2 register */
  3898. /*! @{ */
  3899. #define CAN_IFLAG2_BUF63TO32I_MASK (0xFFFFFFFFU)
  3900. #define CAN_IFLAG2_BUF63TO32I_SHIFT (0U)
  3901. /*! BUF63TO32I - Buffer MB i Interrupt
  3902. */
  3903. #define CAN_IFLAG2_BUF63TO32I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG2_BUF63TO32I_SHIFT)) & CAN_IFLAG2_BUF63TO32I_MASK)
  3904. #define CAN_IFLAG2_BUFHI_MASK (0xFFFFFFFFU)
  3905. #define CAN_IFLAG2_BUFHI_SHIFT (0U)
  3906. /*! BUFHI
  3907. * 0b00000000000000000000000000000001..The corresponding buffer has successfully completed transmission or reception
  3908. * 0b00000000000000000000000000000000..No such occurrence
  3909. */
  3910. #define CAN_IFLAG2_BUFHI(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG2_BUFHI_SHIFT)) & CAN_IFLAG2_BUFHI_MASK)
  3911. /*! @} */
  3912. /*! @name IFLAG1 - Interrupt Flags 1 Register..Interrupt Flags 1 register */
  3913. /*! @{ */
  3914. #define CAN_IFLAG1_BUF0I_MASK (0x1U)
  3915. #define CAN_IFLAG1_BUF0I_SHIFT (0U)
  3916. /*! BUF0I - Buffer MB0 Interrupt Or Clear Legacy FIFO bit
  3917. * 0b0..The corresponding buffer has no occurrence of successfully completed transmission or reception when CAN_MCR[RFEN]=0.
  3918. * 0b1..The corresponding buffer has successfully completed transmission or reception when CAN_MCR[RFEN]=0.
  3919. */
  3920. #define CAN_IFLAG1_BUF0I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF0I_SHIFT)) & CAN_IFLAG1_BUF0I_MASK)
  3921. #define CAN_IFLAG1_BUF4TO0I_MASK (0x1FU)
  3922. #define CAN_IFLAG1_BUF4TO0I_SHIFT (0U)
  3923. /*! BUF4TO0I
  3924. * 0b00001..Corresponding MB completed transmission/reception
  3925. * 0b00000..No such occurrence
  3926. */
  3927. #define CAN_IFLAG1_BUF4TO0I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF4TO0I_SHIFT)) & CAN_IFLAG1_BUF4TO0I_MASK)
  3928. #define CAN_IFLAG1_BUF4TO1I_MASK (0x1EU)
  3929. #define CAN_IFLAG1_BUF4TO1I_SHIFT (1U)
  3930. /*! BUF4TO1I - Buffer MB i Interrupt Or "reserved"
  3931. */
  3932. #define CAN_IFLAG1_BUF4TO1I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF4TO1I_SHIFT)) & CAN_IFLAG1_BUF4TO1I_MASK)
  3933. #define CAN_IFLAG1_BUF5I_MASK (0x20U)
  3934. #define CAN_IFLAG1_BUF5I_SHIFT (5U)
  3935. /*! BUF5I - Buffer MB5 Interrupt Or "Frames available in Legacy Rx FIFO"
  3936. * 0b1..MB5 completed transmission/reception or frames available in the FIFO
  3937. * 0b0..No such occurrence
  3938. */
  3939. #define CAN_IFLAG1_BUF5I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF5I_SHIFT)) & CAN_IFLAG1_BUF5I_MASK)
  3940. #define CAN_IFLAG1_BUF6I_MASK (0x40U)
  3941. #define CAN_IFLAG1_BUF6I_SHIFT (6U)
  3942. /*! BUF6I - Buffer MB6 Interrupt Or "Legacy Rx FIFO Warning"
  3943. * 0b1..MB6 completed transmission/reception or FIFO almost full
  3944. * 0b0..No such occurrence
  3945. */
  3946. #define CAN_IFLAG1_BUF6I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF6I_SHIFT)) & CAN_IFLAG1_BUF6I_MASK)
  3947. #define CAN_IFLAG1_BUF7I_MASK (0x80U)
  3948. #define CAN_IFLAG1_BUF7I_SHIFT (7U)
  3949. /*! BUF7I - Buffer MB7 Interrupt Or "Legacy Rx FIFO Overflow"
  3950. * 0b1..MB7 completed transmission/reception or FIFO overflow
  3951. * 0b0..No such occurrence
  3952. */
  3953. #define CAN_IFLAG1_BUF7I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF7I_SHIFT)) & CAN_IFLAG1_BUF7I_MASK)
  3954. #define CAN_IFLAG1_BUF31TO8I_MASK (0xFFFFFF00U)
  3955. #define CAN_IFLAG1_BUF31TO8I_SHIFT (8U)
  3956. /*! BUF31TO8I - Buffer MBi Interrupt
  3957. * 0b000000000000000000000001..The corresponding MB has successfully completed transmission or reception
  3958. * 0b000000000000000000000000..No such occurrence
  3959. */
  3960. #define CAN_IFLAG1_BUF31TO8I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF31TO8I_SHIFT)) & CAN_IFLAG1_BUF31TO8I_MASK)
  3961. /*! @} */
  3962. /*! @name CTRL2 - Control 2 Register..Control 2 register */
  3963. /*! @{ */
  3964. #define CAN_CTRL2_TSTAMPCAP_MASK (0xC0U)
  3965. #define CAN_CTRL2_TSTAMPCAP_SHIFT (6U)
  3966. /*! TSTAMPCAP - Time Stamp Capture Point
  3967. * 0b00..The high resolution time stamp capture is disabled
  3968. * 0b01..The high resolution time stamp is captured in the end of the CAN frame
  3969. * 0b10..The high resolution time stamp is captured in the start of the CAN frame
  3970. * 0b11..The high resolution time stamp is captured in the start of frame for classical CAN frames and in res bit for CAN FD frames
  3971. */
  3972. #define CAN_CTRL2_TSTAMPCAP(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_TSTAMPCAP_SHIFT)) & CAN_CTRL2_TSTAMPCAP_MASK)
  3973. #define CAN_CTRL2_MBTSBASE_MASK (0x300U)
  3974. #define CAN_CTRL2_MBTSBASE_SHIFT (8U)
  3975. /*! MBTSBASE - Message Buffer Time Stamp Base
  3976. * 0b00..Message Buffer Time Stamp base is CAN_TIMER
  3977. * 0b01..Message Buffer Time Stamp base is lower 16-bits of high resolution timer
  3978. * 0b10..Message Buffer Time Stamp base is upper 16-bits of high resolution timerT
  3979. * 0b11..Reserved.
  3980. */
  3981. #define CAN_CTRL2_MBTSBASE(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_MBTSBASE_SHIFT)) & CAN_CTRL2_MBTSBASE_MASK)
  3982. #define CAN_CTRL2_EDFLTDIS_MASK (0x800U)
  3983. #define CAN_CTRL2_EDFLTDIS_SHIFT (11U)
  3984. /*! EDFLTDIS - Edge Filter Disable
  3985. * 0b0..Edge Filter is enabled
  3986. * 0b1..Edge Filter is disabled
  3987. */
  3988. #define CAN_CTRL2_EDFLTDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_EDFLTDIS_SHIFT)) & CAN_CTRL2_EDFLTDIS_MASK)
  3989. #define CAN_CTRL2_ISOCANFDEN_MASK (0x1000U)
  3990. #define CAN_CTRL2_ISOCANFDEN_SHIFT (12U)
  3991. /*! ISOCANFDEN - ISO CAN FD Enable
  3992. * 0b0..FlexCAN operates using the non-ISO CAN FD protocol.
  3993. * 0b1..FlexCAN operates using the ISO CAN FD protocol (ISO 11898-1).
  3994. */
  3995. #define CAN_CTRL2_ISOCANFDEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_ISOCANFDEN_SHIFT)) & CAN_CTRL2_ISOCANFDEN_MASK)
  3996. #define CAN_CTRL2_BTE_MASK (0x2000U)
  3997. #define CAN_CTRL2_BTE_SHIFT (13U)
  3998. /*! BTE - Bit Timing Expansion enable
  3999. * 0b0..CAN Bit timing expansion is disabled.
  4000. * 0b1..CAN bit timing expansion is enabled.
  4001. */
  4002. #define CAN_CTRL2_BTE(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_BTE_SHIFT)) & CAN_CTRL2_BTE_MASK)
  4003. #define CAN_CTRL2_PREXCEN_MASK (0x4000U)
  4004. #define CAN_CTRL2_PREXCEN_SHIFT (14U)
  4005. /*! PREXCEN - Protocol Exception Enable
  4006. * 0b0..Protocol Exception is disabled.
  4007. * 0b1..Protocol Exception is enabled.
  4008. */
  4009. #define CAN_CTRL2_PREXCEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_PREXCEN_SHIFT)) & CAN_CTRL2_PREXCEN_MASK)
  4010. #define CAN_CTRL2_TIMER_SRC_MASK (0x8000U)
  4011. #define CAN_CTRL2_TIMER_SRC_SHIFT (15U)
  4012. /*! TIMER_SRC - Timer Source
  4013. * 0b0..The Free Running Timer is clocked by the CAN bit clock, which defines the baud rate on the CAN bus.
  4014. * 0b1..The Free Running Timer is clocked by an external time tick. The period can be either adjusted to be equal
  4015. * to the baud rate on the CAN bus, or a different value as required. See the device specific section for
  4016. * details about the external time tick.
  4017. */
  4018. #define CAN_CTRL2_TIMER_SRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_TIMER_SRC_SHIFT)) & CAN_CTRL2_TIMER_SRC_MASK)
  4019. #define CAN_CTRL2_EACEN_MASK (0x10000U)
  4020. #define CAN_CTRL2_EACEN_SHIFT (16U)
  4021. /*! EACEN - Entire Frame Arbitration Field Comparison Enable For Rx Mailboxes
  4022. * 0b1..Enables the comparison of both Rx Mailbox filter's IDE and RTR bit with their corresponding bits within
  4023. * the incoming frame. Mask bits do apply.
  4024. * 0b0..Rx Mailbox filter's IDE bit is always compared and RTR is never compared despite mask bits.
  4025. */
  4026. #define CAN_CTRL2_EACEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_EACEN_SHIFT)) & CAN_CTRL2_EACEN_MASK)
  4027. #define CAN_CTRL2_RRS_MASK (0x20000U)
  4028. #define CAN_CTRL2_RRS_SHIFT (17U)
  4029. /*! RRS - Remote Request Storing
  4030. * 0b1..Remote Request Frame is stored
  4031. * 0b0..Remote Response Frame is generated
  4032. */
  4033. #define CAN_CTRL2_RRS(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_RRS_SHIFT)) & CAN_CTRL2_RRS_MASK)
  4034. #define CAN_CTRL2_MRP_MASK (0x40000U)
  4035. #define CAN_CTRL2_MRP_SHIFT (18U)
  4036. /*! MRP - Mailboxes Reception Priority
  4037. * 0b1..Matching starts from Mailboxes and continues on Rx FIFO
  4038. * 0b0..Matching starts from Rx FIFO and continues on Mailboxes
  4039. */
  4040. #define CAN_CTRL2_MRP(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_MRP_SHIFT)) & CAN_CTRL2_MRP_MASK)
  4041. #define CAN_CTRL2_TASD_MASK (0xF80000U)
  4042. #define CAN_CTRL2_TASD_SHIFT (19U)
  4043. /*! TASD - Tx Arbitration Start Delay
  4044. */
  4045. #define CAN_CTRL2_TASD(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_TASD_SHIFT)) & CAN_CTRL2_TASD_MASK)
  4046. #define CAN_CTRL2_RFFN_MASK (0xF000000U)
  4047. #define CAN_CTRL2_RFFN_SHIFT (24U)
  4048. /*! RFFN - Number Of Legacy Rx FIFO Filters
  4049. */
  4050. #define CAN_CTRL2_RFFN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_RFFN_SHIFT)) & CAN_CTRL2_RFFN_MASK)
  4051. #define CAN_CTRL2_WRMFRZ_MASK (0x10000000U)
  4052. #define CAN_CTRL2_WRMFRZ_SHIFT (28U)
  4053. /*! WRMFRZ
  4054. * 0b1..Enable unrestricted write access to FlexCAN memory
  4055. * 0b0..Keep the write access restricted in some regions of FlexCAN memory
  4056. */
  4057. #define CAN_CTRL2_WRMFRZ(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_WRMFRZ_SHIFT)) & CAN_CTRL2_WRMFRZ_MASK)
  4058. #define CAN_CTRL2_BOFFDONEMSK_MASK (0x40000000U)
  4059. #define CAN_CTRL2_BOFFDONEMSK_SHIFT (30U)
  4060. /*! BOFFDONEMSK - Bus Off Done Interrupt Mask
  4061. * 0b0..Bus Off Done interrupt disabled.
  4062. * 0b1..Bus Off Done interrupt enabled.
  4063. */
  4064. #define CAN_CTRL2_BOFFDONEMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_BOFFDONEMSK_SHIFT)) & CAN_CTRL2_BOFFDONEMSK_MASK)
  4065. #define CAN_CTRL2_ERRMSK_FAST_MASK (0x80000000U)
  4066. #define CAN_CTRL2_ERRMSK_FAST_SHIFT (31U)
  4067. /*! ERRMSK_FAST - Error Interrupt Mask for errors detected in the Data Phase of fast CAN FD frames
  4068. * 0b0..ERRINT_FAST Error interrupt disabled.
  4069. * 0b1..ERRINT_FAST Error interrupt enabled.
  4070. */
  4071. #define CAN_CTRL2_ERRMSK_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_ERRMSK_FAST_SHIFT)) & CAN_CTRL2_ERRMSK_FAST_MASK)
  4072. /*! @} */
  4073. /*! @name ESR2 - Error and Status 2 Register..Error and Status 2 register */
  4074. /*! @{ */
  4075. #define CAN_ESR2_IMB_MASK (0x2000U)
  4076. #define CAN_ESR2_IMB_SHIFT (13U)
  4077. /*! IMB - Inactive Mailbox
  4078. * 0b1..If ESR2[VPS] is asserted, there is at least one inactive Mailbox. LPTM content is the number of the first one.
  4079. * 0b0..If ESR2[VPS] is asserted, the ESR2[LPTM] is not an inactive Mailbox.
  4080. */
  4081. #define CAN_ESR2_IMB(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_IMB_SHIFT)) & CAN_ESR2_IMB_MASK)
  4082. #define CAN_ESR2_VPS_MASK (0x4000U)
  4083. #define CAN_ESR2_VPS_SHIFT (14U)
  4084. /*! VPS - Valid Priority Status
  4085. * 0b1..Contents of IMB and LPTM are valid
  4086. * 0b0..Contents of IMB and LPTM are invalid
  4087. */
  4088. #define CAN_ESR2_VPS(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_VPS_SHIFT)) & CAN_ESR2_VPS_MASK)
  4089. #define CAN_ESR2_LPTM_MASK (0x7F0000U)
  4090. #define CAN_ESR2_LPTM_SHIFT (16U)
  4091. /*! LPTM - Lowest Priority Tx Mailbox
  4092. */
  4093. #define CAN_ESR2_LPTM(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_LPTM_SHIFT)) & CAN_ESR2_LPTM_MASK)
  4094. /*! @} */
  4095. /*! @name CRCR - CRC Register */
  4096. /*! @{ */
  4097. #define CAN_CRCR_TXCRC_MASK (0x7FFFU)
  4098. #define CAN_CRCR_TXCRC_SHIFT (0U)
  4099. /*! TXCRC - Transmitted CRC value
  4100. */
  4101. #define CAN_CRCR_TXCRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CRCR_TXCRC_SHIFT)) & CAN_CRCR_TXCRC_MASK)
  4102. #define CAN_CRCR_MBCRC_MASK (0x7F0000U)
  4103. #define CAN_CRCR_MBCRC_SHIFT (16U)
  4104. /*! MBCRC - CRC Mailbox
  4105. */
  4106. #define CAN_CRCR_MBCRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CRCR_MBCRC_SHIFT)) & CAN_CRCR_MBCRC_MASK)
  4107. /*! @} */
  4108. /*! @name RXFGMASK - Rx FIFO Global Mask Register..Legacy Rx FIFO Global Mask register */
  4109. /*! @{ */
  4110. #define CAN_RXFGMASK_FGM_MASK (0xFFFFFFFFU)
  4111. #define CAN_RXFGMASK_FGM_SHIFT (0U)
  4112. /*! FGM - Legacy Rx FIFO Global Mask Bits
  4113. * 0b00000000000000000000000000000001..The corresponding bit in the filter is checked
  4114. * 0b00000000000000000000000000000000..The corresponding bit in the filter is "don't care"
  4115. */
  4116. #define CAN_RXFGMASK_FGM(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXFGMASK_FGM_SHIFT)) & CAN_RXFGMASK_FGM_MASK)
  4117. /*! @} */
  4118. /*! @name RXFIR - Rx FIFO Information Register..Legacy Rx FIFO Information Register */
  4119. /*! @{ */
  4120. #define CAN_RXFIR_IDHIT_MASK (0x1FFU)
  4121. #define CAN_RXFIR_IDHIT_SHIFT (0U)
  4122. /*! IDHIT - Identifier Acceptance Filter Hit Indicator
  4123. */
  4124. #define CAN_RXFIR_IDHIT(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXFIR_IDHIT_SHIFT)) & CAN_RXFIR_IDHIT_MASK)
  4125. /*! @} */
  4126. /*! @name CBT - CAN Bit Timing Register */
  4127. /*! @{ */
  4128. #define CAN_CBT_EPSEG2_MASK (0x1FU)
  4129. #define CAN_CBT_EPSEG2_SHIFT (0U)
  4130. /*! EPSEG2 - Extended Phase Segment 2
  4131. */
  4132. #define CAN_CBT_EPSEG2(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPSEG2_SHIFT)) & CAN_CBT_EPSEG2_MASK)
  4133. #define CAN_CBT_EPSEG1_MASK (0x3E0U)
  4134. #define CAN_CBT_EPSEG1_SHIFT (5U)
  4135. /*! EPSEG1 - Extended Phase Segment 1
  4136. */
  4137. #define CAN_CBT_EPSEG1(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPSEG1_SHIFT)) & CAN_CBT_EPSEG1_MASK)
  4138. #define CAN_CBT_EPROPSEG_MASK (0xFC00U)
  4139. #define CAN_CBT_EPROPSEG_SHIFT (10U)
  4140. /*! EPROPSEG - Extended Propagation Segment
  4141. */
  4142. #define CAN_CBT_EPROPSEG(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPROPSEG_SHIFT)) & CAN_CBT_EPROPSEG_MASK)
  4143. #define CAN_CBT_ERJW_MASK (0x1F0000U)
  4144. #define CAN_CBT_ERJW_SHIFT (16U)
  4145. /*! ERJW - Extended Resync Jump Width
  4146. */
  4147. #define CAN_CBT_ERJW(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_ERJW_SHIFT)) & CAN_CBT_ERJW_MASK)
  4148. #define CAN_CBT_EPRESDIV_MASK (0x7FE00000U)
  4149. #define CAN_CBT_EPRESDIV_SHIFT (21U)
  4150. /*! EPRESDIV - Extended Prescaler Division Factor
  4151. */
  4152. #define CAN_CBT_EPRESDIV(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPRESDIV_SHIFT)) & CAN_CBT_EPRESDIV_MASK)
  4153. #define CAN_CBT_BTF_MASK (0x80000000U)
  4154. #define CAN_CBT_BTF_SHIFT (31U)
  4155. /*! BTF - Bit Timing Format Enable
  4156. * 0b0..Extended bit time definitions disabled.
  4157. * 0b1..Extended bit time definitions enabled.
  4158. */
  4159. #define CAN_CBT_BTF(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_BTF_SHIFT)) & CAN_CBT_BTF_MASK)
  4160. /*! @} */
  4161. /*! @name DBG1 - Debug 1 register */
  4162. /*! @{ */
  4163. #define CAN_DBG1_CFSM_MASK (0x3FU)
  4164. #define CAN_DBG1_CFSM_SHIFT (0U)
  4165. /*! CFSM - CAN Finite State Machine
  4166. */
  4167. #define CAN_DBG1_CFSM(x) (((uint32_t)(((uint32_t)(x)) << CAN_DBG1_CFSM_SHIFT)) & CAN_DBG1_CFSM_MASK)
  4168. #define CAN_DBG1_CBN_MASK (0x1F000000U)
  4169. #define CAN_DBG1_CBN_SHIFT (24U)
  4170. /*! CBN - CAN Bit Number
  4171. */
  4172. #define CAN_DBG1_CBN(x) (((uint32_t)(((uint32_t)(x)) << CAN_DBG1_CBN_SHIFT)) & CAN_DBG1_CBN_MASK)
  4173. /*! @} */
  4174. /*! @name DBG2 - Debug 2 register */
  4175. /*! @{ */
  4176. #define CAN_DBG2_RMP_MASK (0x7FU)
  4177. #define CAN_DBG2_RMP_SHIFT (0U)
  4178. /*! RMP - Rx Matching Pointer
  4179. */
  4180. #define CAN_DBG2_RMP(x) (((uint32_t)(((uint32_t)(x)) << CAN_DBG2_RMP_SHIFT)) & CAN_DBG2_RMP_MASK)
  4181. #define CAN_DBG2_MPP_MASK (0x80U)
  4182. #define CAN_DBG2_MPP_SHIFT (7U)
  4183. /*! MPP - Matching Process in Progress
  4184. * 0b0..No matching process ongoing.
  4185. * 0b1..Matching process is in progress.
  4186. */
  4187. #define CAN_DBG2_MPP(x) (((uint32_t)(((uint32_t)(x)) << CAN_DBG2_MPP_SHIFT)) & CAN_DBG2_MPP_MASK)
  4188. #define CAN_DBG2_TAP_MASK (0x7F00U)
  4189. #define CAN_DBG2_TAP_SHIFT (8U)
  4190. /*! TAP - Tx Arbitration Pointer
  4191. */
  4192. #define CAN_DBG2_TAP(x) (((uint32_t)(((uint32_t)(x)) << CAN_DBG2_TAP_SHIFT)) & CAN_DBG2_TAP_MASK)
  4193. #define CAN_DBG2_APP_MASK (0x8000U)
  4194. #define CAN_DBG2_APP_SHIFT (15U)
  4195. /*! APP - Arbitration Process in Progress
  4196. * 0b0..No matching process ongoing.
  4197. * 0b1..Matching process is in progress.
  4198. */
  4199. #define CAN_DBG2_APP(x) (((uint32_t)(((uint32_t)(x)) << CAN_DBG2_APP_SHIFT)) & CAN_DBG2_APP_MASK)
  4200. /*! @} */
  4201. /* The count of CAN_CS */
  4202. #define CAN_CS_COUNT_MB8B (64U)
  4203. /* The count of CAN_ID */
  4204. #define CAN_ID_COUNT_MB8B (64U)
  4205. /* The count of CAN_WORD */
  4206. #define CAN_WORD_COUNT_MB8B (64U)
  4207. /* The count of CAN_WORD */
  4208. #define CAN_WORD_COUNT_MB8B2 (2U)
  4209. /* The count of CAN_CS */
  4210. #define CAN_CS_COUNT_MB16B (42U)
  4211. /* The count of CAN_ID */
  4212. #define CAN_ID_COUNT_MB16B (42U)
  4213. /* The count of CAN_WORD */
  4214. #define CAN_WORD_COUNT_MB16B (42U)
  4215. /* The count of CAN_WORD */
  4216. #define CAN_WORD_COUNT_MB16B2 (4U)
  4217. /* The count of CAN_CS */
  4218. #define CAN_CS_COUNT_MB32B (24U)
  4219. /* The count of CAN_ID */
  4220. #define CAN_ID_COUNT_MB32B (24U)
  4221. /* The count of CAN_WORD */
  4222. #define CAN_WORD_COUNT_MB32B (24U)
  4223. /* The count of CAN_WORD */
  4224. #define CAN_WORD_COUNT_MB32B2 (8U)
  4225. /*! @name CS - Message Buffer 0 CS Register..Message Buffer 13 CS Register */
  4226. /*! @{ */
  4227. #define CAN_CS_TIME_STAMP_MASK (0xFFFFU)
  4228. #define CAN_CS_TIME_STAMP_SHIFT (0U)
  4229. /*! TIME_STAMP - Free-Running Counter Time stamp. This 16-bit field is a copy of the Free-Running
  4230. * Timer, captured for Tx and Rx frames at the time when the beginning of the Identifier field
  4231. * appears on the CAN bus.
  4232. */
  4233. #define CAN_CS_TIME_STAMP(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_TIME_STAMP_SHIFT)) & CAN_CS_TIME_STAMP_MASK)
  4234. #define CAN_CS_DLC_MASK (0xF0000U)
  4235. #define CAN_CS_DLC_SHIFT (16U)
  4236. /*! DLC - Length of the data to be stored/transmitted.
  4237. */
  4238. #define CAN_CS_DLC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_DLC_SHIFT)) & CAN_CS_DLC_MASK)
  4239. #define CAN_CS_RTR_MASK (0x100000U)
  4240. #define CAN_CS_RTR_SHIFT (20U)
  4241. /*! RTR - Remote Transmission Request. One/zero for remote/data frame.
  4242. */
  4243. #define CAN_CS_RTR(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_RTR_SHIFT)) & CAN_CS_RTR_MASK)
  4244. #define CAN_CS_IDE_MASK (0x200000U)
  4245. #define CAN_CS_IDE_SHIFT (21U)
  4246. /*! IDE - ID Extended. One/zero for extended/standard format frame.
  4247. */
  4248. #define CAN_CS_IDE(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_IDE_SHIFT)) & CAN_CS_IDE_MASK)
  4249. #define CAN_CS_SRR_MASK (0x400000U)
  4250. #define CAN_CS_SRR_SHIFT (22U)
  4251. /*! SRR - Substitute Remote Request. Contains a fixed recessive bit.
  4252. */
  4253. #define CAN_CS_SRR(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_SRR_SHIFT)) & CAN_CS_SRR_MASK)
  4254. #define CAN_CS_CODE_MASK (0xF000000U)
  4255. #define CAN_CS_CODE_SHIFT (24U)
  4256. /*! CODE - Message Buffer Code. This 4-bit field can be accessed (read or write) by the CPU and by
  4257. * the FlexCAN module itself, as part of the message buffer matching and arbitration process.
  4258. */
  4259. #define CAN_CS_CODE(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_CODE_SHIFT)) & CAN_CS_CODE_MASK)
  4260. #define CAN_CS_ESI_MASK (0x20000000U)
  4261. #define CAN_CS_ESI_SHIFT (29U)
  4262. /*! ESI - Error State Indicator. This bit indicates if the transmitting node is error active or error passive.
  4263. */
  4264. #define CAN_CS_ESI(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_ESI_SHIFT)) & CAN_CS_ESI_MASK)
  4265. #define CAN_CS_BRS_MASK (0x40000000U)
  4266. #define CAN_CS_BRS_SHIFT (30U)
  4267. /*! BRS - Bit Rate Switch. This bit defines whether the bit rate is switched inside a CAN FD format frame.
  4268. */
  4269. #define CAN_CS_BRS(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_BRS_SHIFT)) & CAN_CS_BRS_MASK)
  4270. #define CAN_CS_EDL_MASK (0x80000000U)
  4271. #define CAN_CS_EDL_SHIFT (31U)
  4272. /*! EDL - Extended Data Length. This bit distinguishes between CAN format and CAN FD format frames.
  4273. * The EDL bit must not be set for Message Buffers configured to RANSWER with code field 0b1010.
  4274. */
  4275. #define CAN_CS_EDL(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_EDL_SHIFT)) & CAN_CS_EDL_MASK)
  4276. /*! @} */
  4277. /* The count of CAN_CS */
  4278. #define CAN_CS_COUNT_MB64B (14U)
  4279. /*! @name ID - Message Buffer 0 ID Register..Message Buffer 13 ID Register */
  4280. /*! @{ */
  4281. #define CAN_ID_EXT_MASK (0x3FFFFU)
  4282. #define CAN_ID_EXT_SHIFT (0U)
  4283. /*! EXT - Contains extended (LOW word) identifier of message buffer.
  4284. */
  4285. #define CAN_ID_EXT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ID_EXT_SHIFT)) & CAN_ID_EXT_MASK)
  4286. #define CAN_ID_STD_MASK (0x1FFC0000U)
  4287. #define CAN_ID_STD_SHIFT (18U)
  4288. /*! STD - Contains standard/extended (HIGH word) identifier of message buffer.
  4289. */
  4290. #define CAN_ID_STD(x) (((uint32_t)(((uint32_t)(x)) << CAN_ID_STD_SHIFT)) & CAN_ID_STD_MASK)
  4291. #define CAN_ID_PRIO_MASK (0xE0000000U)
  4292. #define CAN_ID_PRIO_SHIFT (29U)
  4293. /*! PRIO - Local priority. This 3-bit fieldis only used when LPRIO_EN bit is set in MCR and it only
  4294. * makes sense for Tx buffers. These bits are not transmitted. They are appended to the regular
  4295. * ID to define the transmission priority.
  4296. */
  4297. #define CAN_ID_PRIO(x) (((uint32_t)(((uint32_t)(x)) << CAN_ID_PRIO_SHIFT)) & CAN_ID_PRIO_MASK)
  4298. /*! @} */
  4299. /* The count of CAN_ID */
  4300. #define CAN_ID_COUNT_MB64B (14U)
  4301. /*! @name WORD - Message Buffer 0 WORD_64B Register..Message Buffer 13 WORD_64B Register */
  4302. /*! @{ */
  4303. #define CAN_WORD_DATA_BYTE_3_MASK (0xFFU)
  4304. #define CAN_WORD_DATA_BYTE_3_SHIFT (0U)
  4305. /*! DATA_BYTE_3 - Data byte 0 of Rx/Tx frame.
  4306. */
  4307. #define CAN_WORD_DATA_BYTE_3(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_3_SHIFT)) & CAN_WORD_DATA_BYTE_3_MASK)
  4308. #define CAN_WORD_DATA_BYTE_7_MASK (0xFFU)
  4309. #define CAN_WORD_DATA_BYTE_7_SHIFT (0U)
  4310. /*! DATA_BYTE_7 - Data byte 0 of Rx/Tx frame.
  4311. */
  4312. #define CAN_WORD_DATA_BYTE_7(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_7_SHIFT)) & CAN_WORD_DATA_BYTE_7_MASK)
  4313. #define CAN_WORD_DATA_BYTE_11_MASK (0xFFU)
  4314. #define CAN_WORD_DATA_BYTE_11_SHIFT (0U)
  4315. /*! DATA_BYTE_11 - Data byte 0 of Rx/Tx frame.
  4316. */
  4317. #define CAN_WORD_DATA_BYTE_11(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_11_SHIFT)) & CAN_WORD_DATA_BYTE_11_MASK)
  4318. #define CAN_WORD_DATA_BYTE_15_MASK (0xFFU)
  4319. #define CAN_WORD_DATA_BYTE_15_SHIFT (0U)
  4320. /*! DATA_BYTE_15 - Data byte 0 of Rx/Tx frame.
  4321. */
  4322. #define CAN_WORD_DATA_BYTE_15(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_15_SHIFT)) & CAN_WORD_DATA_BYTE_15_MASK)
  4323. #define CAN_WORD_DATA_BYTE_19_MASK (0xFFU)
  4324. #define CAN_WORD_DATA_BYTE_19_SHIFT (0U)
  4325. /*! DATA_BYTE_19 - Data byte 0 of Rx/Tx frame.
  4326. */
  4327. #define CAN_WORD_DATA_BYTE_19(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_19_SHIFT)) & CAN_WORD_DATA_BYTE_19_MASK)
  4328. #define CAN_WORD_DATA_BYTE_23_MASK (0xFFU)
  4329. #define CAN_WORD_DATA_BYTE_23_SHIFT (0U)
  4330. /*! DATA_BYTE_23 - Data byte 0 of Rx/Tx frame.
  4331. */
  4332. #define CAN_WORD_DATA_BYTE_23(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_23_SHIFT)) & CAN_WORD_DATA_BYTE_23_MASK)
  4333. #define CAN_WORD_DATA_BYTE_27_MASK (0xFFU)
  4334. #define CAN_WORD_DATA_BYTE_27_SHIFT (0U)
  4335. /*! DATA_BYTE_27 - Data byte 0 of Rx/Tx frame.
  4336. */
  4337. #define CAN_WORD_DATA_BYTE_27(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_27_SHIFT)) & CAN_WORD_DATA_BYTE_27_MASK)
  4338. #define CAN_WORD_DATA_BYTE_31_MASK (0xFFU)
  4339. #define CAN_WORD_DATA_BYTE_31_SHIFT (0U)
  4340. /*! DATA_BYTE_31 - Data byte 0 of Rx/Tx frame.
  4341. */
  4342. #define CAN_WORD_DATA_BYTE_31(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_31_SHIFT)) & CAN_WORD_DATA_BYTE_31_MASK)
  4343. #define CAN_WORD_DATA_BYTE_35_MASK (0xFFU)
  4344. #define CAN_WORD_DATA_BYTE_35_SHIFT (0U)
  4345. /*! DATA_BYTE_35 - Data byte 0 of Rx/Tx frame.
  4346. */
  4347. #define CAN_WORD_DATA_BYTE_35(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_35_SHIFT)) & CAN_WORD_DATA_BYTE_35_MASK)
  4348. #define CAN_WORD_DATA_BYTE_39_MASK (0xFFU)
  4349. #define CAN_WORD_DATA_BYTE_39_SHIFT (0U)
  4350. /*! DATA_BYTE_39 - Data byte 0 of Rx/Tx frame.
  4351. */
  4352. #define CAN_WORD_DATA_BYTE_39(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_39_SHIFT)) & CAN_WORD_DATA_BYTE_39_MASK)
  4353. #define CAN_WORD_DATA_BYTE_43_MASK (0xFFU)
  4354. #define CAN_WORD_DATA_BYTE_43_SHIFT (0U)
  4355. /*! DATA_BYTE_43 - Data byte 0 of Rx/Tx frame.
  4356. */
  4357. #define CAN_WORD_DATA_BYTE_43(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_43_SHIFT)) & CAN_WORD_DATA_BYTE_43_MASK)
  4358. #define CAN_WORD_DATA_BYTE_47_MASK (0xFFU)
  4359. #define CAN_WORD_DATA_BYTE_47_SHIFT (0U)
  4360. /*! DATA_BYTE_47 - Data byte 0 of Rx/Tx frame.
  4361. */
  4362. #define CAN_WORD_DATA_BYTE_47(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_47_SHIFT)) & CAN_WORD_DATA_BYTE_47_MASK)
  4363. #define CAN_WORD_DATA_BYTE_51_MASK (0xFFU)
  4364. #define CAN_WORD_DATA_BYTE_51_SHIFT (0U)
  4365. /*! DATA_BYTE_51 - Data byte 0 of Rx/Tx frame.
  4366. */
  4367. #define CAN_WORD_DATA_BYTE_51(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_51_SHIFT)) & CAN_WORD_DATA_BYTE_51_MASK)
  4368. #define CAN_WORD_DATA_BYTE_55_MASK (0xFFU)
  4369. #define CAN_WORD_DATA_BYTE_55_SHIFT (0U)
  4370. /*! DATA_BYTE_55 - Data byte 0 of Rx/Tx frame.
  4371. */
  4372. #define CAN_WORD_DATA_BYTE_55(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_55_SHIFT)) & CAN_WORD_DATA_BYTE_55_MASK)
  4373. #define CAN_WORD_DATA_BYTE_59_MASK (0xFFU)
  4374. #define CAN_WORD_DATA_BYTE_59_SHIFT (0U)
  4375. /*! DATA_BYTE_59 - Data byte 0 of Rx/Tx frame.
  4376. */
  4377. #define CAN_WORD_DATA_BYTE_59(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_59_SHIFT)) & CAN_WORD_DATA_BYTE_59_MASK)
  4378. #define CAN_WORD_DATA_BYTE_63_MASK (0xFFU)
  4379. #define CAN_WORD_DATA_BYTE_63_SHIFT (0U)
  4380. /*! DATA_BYTE_63 - Data byte 0 of Rx/Tx frame.
  4381. */
  4382. #define CAN_WORD_DATA_BYTE_63(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_63_SHIFT)) & CAN_WORD_DATA_BYTE_63_MASK)
  4383. #define CAN_WORD_DATA_BYTE_2_MASK (0xFF00U)
  4384. #define CAN_WORD_DATA_BYTE_2_SHIFT (8U)
  4385. /*! DATA_BYTE_2 - Data byte 1 of Rx/Tx frame.
  4386. */
  4387. #define CAN_WORD_DATA_BYTE_2(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_2_SHIFT)) & CAN_WORD_DATA_BYTE_2_MASK)
  4388. #define CAN_WORD_DATA_BYTE_6_MASK (0xFF00U)
  4389. #define CAN_WORD_DATA_BYTE_6_SHIFT (8U)
  4390. /*! DATA_BYTE_6 - Data byte 1 of Rx/Tx frame.
  4391. */
  4392. #define CAN_WORD_DATA_BYTE_6(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_6_SHIFT)) & CAN_WORD_DATA_BYTE_6_MASK)
  4393. #define CAN_WORD_DATA_BYTE_10_MASK (0xFF00U)
  4394. #define CAN_WORD_DATA_BYTE_10_SHIFT (8U)
  4395. /*! DATA_BYTE_10 - Data byte 1 of Rx/Tx frame.
  4396. */
  4397. #define CAN_WORD_DATA_BYTE_10(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_10_SHIFT)) & CAN_WORD_DATA_BYTE_10_MASK)
  4398. #define CAN_WORD_DATA_BYTE_14_MASK (0xFF00U)
  4399. #define CAN_WORD_DATA_BYTE_14_SHIFT (8U)
  4400. /*! DATA_BYTE_14 - Data byte 1 of Rx/Tx frame.
  4401. */
  4402. #define CAN_WORD_DATA_BYTE_14(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_14_SHIFT)) & CAN_WORD_DATA_BYTE_14_MASK)
  4403. #define CAN_WORD_DATA_BYTE_18_MASK (0xFF00U)
  4404. #define CAN_WORD_DATA_BYTE_18_SHIFT (8U)
  4405. /*! DATA_BYTE_18 - Data byte 1 of Rx/Tx frame.
  4406. */
  4407. #define CAN_WORD_DATA_BYTE_18(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_18_SHIFT)) & CAN_WORD_DATA_BYTE_18_MASK)
  4408. #define CAN_WORD_DATA_BYTE_22_MASK (0xFF00U)
  4409. #define CAN_WORD_DATA_BYTE_22_SHIFT (8U)
  4410. /*! DATA_BYTE_22 - Data byte 1 of Rx/Tx frame.
  4411. */
  4412. #define CAN_WORD_DATA_BYTE_22(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_22_SHIFT)) & CAN_WORD_DATA_BYTE_22_MASK)
  4413. #define CAN_WORD_DATA_BYTE_26_MASK (0xFF00U)
  4414. #define CAN_WORD_DATA_BYTE_26_SHIFT (8U)
  4415. /*! DATA_BYTE_26 - Data byte 1 of Rx/Tx frame.
  4416. */
  4417. #define CAN_WORD_DATA_BYTE_26(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_26_SHIFT)) & CAN_WORD_DATA_BYTE_26_MASK)
  4418. #define CAN_WORD_DATA_BYTE_30_MASK (0xFF00U)
  4419. #define CAN_WORD_DATA_BYTE_30_SHIFT (8U)
  4420. /*! DATA_BYTE_30 - Data byte 1 of Rx/Tx frame.
  4421. */
  4422. #define CAN_WORD_DATA_BYTE_30(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_30_SHIFT)) & CAN_WORD_DATA_BYTE_30_MASK)
  4423. #define CAN_WORD_DATA_BYTE_34_MASK (0xFF00U)
  4424. #define CAN_WORD_DATA_BYTE_34_SHIFT (8U)
  4425. /*! DATA_BYTE_34 - Data byte 1 of Rx/Tx frame.
  4426. */
  4427. #define CAN_WORD_DATA_BYTE_34(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_34_SHIFT)) & CAN_WORD_DATA_BYTE_34_MASK)
  4428. #define CAN_WORD_DATA_BYTE_38_MASK (0xFF00U)
  4429. #define CAN_WORD_DATA_BYTE_38_SHIFT (8U)
  4430. /*! DATA_BYTE_38 - Data byte 1 of Rx/Tx frame.
  4431. */
  4432. #define CAN_WORD_DATA_BYTE_38(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_38_SHIFT)) & CAN_WORD_DATA_BYTE_38_MASK)
  4433. #define CAN_WORD_DATA_BYTE_42_MASK (0xFF00U)
  4434. #define CAN_WORD_DATA_BYTE_42_SHIFT (8U)
  4435. /*! DATA_BYTE_42 - Data byte 1 of Rx/Tx frame.
  4436. */
  4437. #define CAN_WORD_DATA_BYTE_42(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_42_SHIFT)) & CAN_WORD_DATA_BYTE_42_MASK)
  4438. #define CAN_WORD_DATA_BYTE_46_MASK (0xFF00U)
  4439. #define CAN_WORD_DATA_BYTE_46_SHIFT (8U)
  4440. /*! DATA_BYTE_46 - Data byte 1 of Rx/Tx frame.
  4441. */
  4442. #define CAN_WORD_DATA_BYTE_46(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_46_SHIFT)) & CAN_WORD_DATA_BYTE_46_MASK)
  4443. #define CAN_WORD_DATA_BYTE_50_MASK (0xFF00U)
  4444. #define CAN_WORD_DATA_BYTE_50_SHIFT (8U)
  4445. /*! DATA_BYTE_50 - Data byte 1 of Rx/Tx frame.
  4446. */
  4447. #define CAN_WORD_DATA_BYTE_50(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_50_SHIFT)) & CAN_WORD_DATA_BYTE_50_MASK)
  4448. #define CAN_WORD_DATA_BYTE_54_MASK (0xFF00U)
  4449. #define CAN_WORD_DATA_BYTE_54_SHIFT (8U)
  4450. /*! DATA_BYTE_54 - Data byte 1 of Rx/Tx frame.
  4451. */
  4452. #define CAN_WORD_DATA_BYTE_54(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_54_SHIFT)) & CAN_WORD_DATA_BYTE_54_MASK)
  4453. #define CAN_WORD_DATA_BYTE_58_MASK (0xFF00U)
  4454. #define CAN_WORD_DATA_BYTE_58_SHIFT (8U)
  4455. /*! DATA_BYTE_58 - Data byte 1 of Rx/Tx frame.
  4456. */
  4457. #define CAN_WORD_DATA_BYTE_58(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_58_SHIFT)) & CAN_WORD_DATA_BYTE_58_MASK)
  4458. #define CAN_WORD_DATA_BYTE_62_MASK (0xFF00U)
  4459. #define CAN_WORD_DATA_BYTE_62_SHIFT (8U)
  4460. /*! DATA_BYTE_62 - Data byte 1 of Rx/Tx frame.
  4461. */
  4462. #define CAN_WORD_DATA_BYTE_62(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_62_SHIFT)) & CAN_WORD_DATA_BYTE_62_MASK)
  4463. #define CAN_WORD_DATA_BYTE_1_MASK (0xFF0000U)
  4464. #define CAN_WORD_DATA_BYTE_1_SHIFT (16U)
  4465. /*! DATA_BYTE_1 - Data byte 2 of Rx/Tx frame.
  4466. */
  4467. #define CAN_WORD_DATA_BYTE_1(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_1_SHIFT)) & CAN_WORD_DATA_BYTE_1_MASK)
  4468. #define CAN_WORD_DATA_BYTE_5_MASK (0xFF0000U)
  4469. #define CAN_WORD_DATA_BYTE_5_SHIFT (16U)
  4470. /*! DATA_BYTE_5 - Data byte 2 of Rx/Tx frame.
  4471. */
  4472. #define CAN_WORD_DATA_BYTE_5(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_5_SHIFT)) & CAN_WORD_DATA_BYTE_5_MASK)
  4473. #define CAN_WORD_DATA_BYTE_9_MASK (0xFF0000U)
  4474. #define CAN_WORD_DATA_BYTE_9_SHIFT (16U)
  4475. /*! DATA_BYTE_9 - Data byte 2 of Rx/Tx frame.
  4476. */
  4477. #define CAN_WORD_DATA_BYTE_9(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_9_SHIFT)) & CAN_WORD_DATA_BYTE_9_MASK)
  4478. #define CAN_WORD_DATA_BYTE_13_MASK (0xFF0000U)
  4479. #define CAN_WORD_DATA_BYTE_13_SHIFT (16U)
  4480. /*! DATA_BYTE_13 - Data byte 2 of Rx/Tx frame.
  4481. */
  4482. #define CAN_WORD_DATA_BYTE_13(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_13_SHIFT)) & CAN_WORD_DATA_BYTE_13_MASK)
  4483. #define CAN_WORD_DATA_BYTE_17_MASK (0xFF0000U)
  4484. #define CAN_WORD_DATA_BYTE_17_SHIFT (16U)
  4485. /*! DATA_BYTE_17 - Data byte 2 of Rx/Tx frame.
  4486. */
  4487. #define CAN_WORD_DATA_BYTE_17(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_17_SHIFT)) & CAN_WORD_DATA_BYTE_17_MASK)
  4488. #define CAN_WORD_DATA_BYTE_21_MASK (0xFF0000U)
  4489. #define CAN_WORD_DATA_BYTE_21_SHIFT (16U)
  4490. /*! DATA_BYTE_21 - Data byte 2 of Rx/Tx frame.
  4491. */
  4492. #define CAN_WORD_DATA_BYTE_21(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_21_SHIFT)) & CAN_WORD_DATA_BYTE_21_MASK)
  4493. #define CAN_WORD_DATA_BYTE_25_MASK (0xFF0000U)
  4494. #define CAN_WORD_DATA_BYTE_25_SHIFT (16U)
  4495. /*! DATA_BYTE_25 - Data byte 2 of Rx/Tx frame.
  4496. */
  4497. #define CAN_WORD_DATA_BYTE_25(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_25_SHIFT)) & CAN_WORD_DATA_BYTE_25_MASK)
  4498. #define CAN_WORD_DATA_BYTE_29_MASK (0xFF0000U)
  4499. #define CAN_WORD_DATA_BYTE_29_SHIFT (16U)
  4500. /*! DATA_BYTE_29 - Data byte 2 of Rx/Tx frame.
  4501. */
  4502. #define CAN_WORD_DATA_BYTE_29(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_29_SHIFT)) & CAN_WORD_DATA_BYTE_29_MASK)
  4503. #define CAN_WORD_DATA_BYTE_33_MASK (0xFF0000U)
  4504. #define CAN_WORD_DATA_BYTE_33_SHIFT (16U)
  4505. /*! DATA_BYTE_33 - Data byte 2 of Rx/Tx frame.
  4506. */
  4507. #define CAN_WORD_DATA_BYTE_33(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_33_SHIFT)) & CAN_WORD_DATA_BYTE_33_MASK)
  4508. #define CAN_WORD_DATA_BYTE_37_MASK (0xFF0000U)
  4509. #define CAN_WORD_DATA_BYTE_37_SHIFT (16U)
  4510. /*! DATA_BYTE_37 - Data byte 2 of Rx/Tx frame.
  4511. */
  4512. #define CAN_WORD_DATA_BYTE_37(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_37_SHIFT)) & CAN_WORD_DATA_BYTE_37_MASK)
  4513. #define CAN_WORD_DATA_BYTE_41_MASK (0xFF0000U)
  4514. #define CAN_WORD_DATA_BYTE_41_SHIFT (16U)
  4515. /*! DATA_BYTE_41 - Data byte 2 of Rx/Tx frame.
  4516. */
  4517. #define CAN_WORD_DATA_BYTE_41(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_41_SHIFT)) & CAN_WORD_DATA_BYTE_41_MASK)
  4518. #define CAN_WORD_DATA_BYTE_45_MASK (0xFF0000U)
  4519. #define CAN_WORD_DATA_BYTE_45_SHIFT (16U)
  4520. /*! DATA_BYTE_45 - Data byte 2 of Rx/Tx frame.
  4521. */
  4522. #define CAN_WORD_DATA_BYTE_45(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_45_SHIFT)) & CAN_WORD_DATA_BYTE_45_MASK)
  4523. #define CAN_WORD_DATA_BYTE_49_MASK (0xFF0000U)
  4524. #define CAN_WORD_DATA_BYTE_49_SHIFT (16U)
  4525. /*! DATA_BYTE_49 - Data byte 2 of Rx/Tx frame.
  4526. */
  4527. #define CAN_WORD_DATA_BYTE_49(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_49_SHIFT)) & CAN_WORD_DATA_BYTE_49_MASK)
  4528. #define CAN_WORD_DATA_BYTE_53_MASK (0xFF0000U)
  4529. #define CAN_WORD_DATA_BYTE_53_SHIFT (16U)
  4530. /*! DATA_BYTE_53 - Data byte 2 of Rx/Tx frame.
  4531. */
  4532. #define CAN_WORD_DATA_BYTE_53(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_53_SHIFT)) & CAN_WORD_DATA_BYTE_53_MASK)
  4533. #define CAN_WORD_DATA_BYTE_57_MASK (0xFF0000U)
  4534. #define CAN_WORD_DATA_BYTE_57_SHIFT (16U)
  4535. /*! DATA_BYTE_57 - Data byte 2 of Rx/Tx frame.
  4536. */
  4537. #define CAN_WORD_DATA_BYTE_57(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_57_SHIFT)) & CAN_WORD_DATA_BYTE_57_MASK)
  4538. #define CAN_WORD_DATA_BYTE_61_MASK (0xFF0000U)
  4539. #define CAN_WORD_DATA_BYTE_61_SHIFT (16U)
  4540. /*! DATA_BYTE_61 - Data byte 2 of Rx/Tx frame.
  4541. */
  4542. #define CAN_WORD_DATA_BYTE_61(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_61_SHIFT)) & CAN_WORD_DATA_BYTE_61_MASK)
  4543. #define CAN_WORD_DATA_BYTE_0_MASK (0xFF000000U)
  4544. #define CAN_WORD_DATA_BYTE_0_SHIFT (24U)
  4545. /*! DATA_BYTE_0 - Data byte 3 of Rx/Tx frame.
  4546. */
  4547. #define CAN_WORD_DATA_BYTE_0(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_0_SHIFT)) & CAN_WORD_DATA_BYTE_0_MASK)
  4548. #define CAN_WORD_DATA_BYTE_4_MASK (0xFF000000U)
  4549. #define CAN_WORD_DATA_BYTE_4_SHIFT (24U)
  4550. /*! DATA_BYTE_4 - Data byte 3 of Rx/Tx frame.
  4551. */
  4552. #define CAN_WORD_DATA_BYTE_4(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_4_SHIFT)) & CAN_WORD_DATA_BYTE_4_MASK)
  4553. #define CAN_WORD_DATA_BYTE_8_MASK (0xFF000000U)
  4554. #define CAN_WORD_DATA_BYTE_8_SHIFT (24U)
  4555. /*! DATA_BYTE_8 - Data byte 3 of Rx/Tx frame.
  4556. */
  4557. #define CAN_WORD_DATA_BYTE_8(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_8_SHIFT)) & CAN_WORD_DATA_BYTE_8_MASK)
  4558. #define CAN_WORD_DATA_BYTE_12_MASK (0xFF000000U)
  4559. #define CAN_WORD_DATA_BYTE_12_SHIFT (24U)
  4560. /*! DATA_BYTE_12 - Data byte 3 of Rx/Tx frame.
  4561. */
  4562. #define CAN_WORD_DATA_BYTE_12(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_12_SHIFT)) & CAN_WORD_DATA_BYTE_12_MASK)
  4563. #define CAN_WORD_DATA_BYTE_16_MASK (0xFF000000U)
  4564. #define CAN_WORD_DATA_BYTE_16_SHIFT (24U)
  4565. /*! DATA_BYTE_16 - Data byte 3 of Rx/Tx frame.
  4566. */
  4567. #define CAN_WORD_DATA_BYTE_16(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_16_SHIFT)) & CAN_WORD_DATA_BYTE_16_MASK)
  4568. #define CAN_WORD_DATA_BYTE_20_MASK (0xFF000000U)
  4569. #define CAN_WORD_DATA_BYTE_20_SHIFT (24U)
  4570. /*! DATA_BYTE_20 - Data byte 3 of Rx/Tx frame.
  4571. */
  4572. #define CAN_WORD_DATA_BYTE_20(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_20_SHIFT)) & CAN_WORD_DATA_BYTE_20_MASK)
  4573. #define CAN_WORD_DATA_BYTE_24_MASK (0xFF000000U)
  4574. #define CAN_WORD_DATA_BYTE_24_SHIFT (24U)
  4575. /*! DATA_BYTE_24 - Data byte 3 of Rx/Tx frame.
  4576. */
  4577. #define CAN_WORD_DATA_BYTE_24(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_24_SHIFT)) & CAN_WORD_DATA_BYTE_24_MASK)
  4578. #define CAN_WORD_DATA_BYTE_28_MASK (0xFF000000U)
  4579. #define CAN_WORD_DATA_BYTE_28_SHIFT (24U)
  4580. /*! DATA_BYTE_28 - Data byte 3 of Rx/Tx frame.
  4581. */
  4582. #define CAN_WORD_DATA_BYTE_28(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_28_SHIFT)) & CAN_WORD_DATA_BYTE_28_MASK)
  4583. #define CAN_WORD_DATA_BYTE_32_MASK (0xFF000000U)
  4584. #define CAN_WORD_DATA_BYTE_32_SHIFT (24U)
  4585. /*! DATA_BYTE_32 - Data byte 3 of Rx/Tx frame.
  4586. */
  4587. #define CAN_WORD_DATA_BYTE_32(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_32_SHIFT)) & CAN_WORD_DATA_BYTE_32_MASK)
  4588. #define CAN_WORD_DATA_BYTE_36_MASK (0xFF000000U)
  4589. #define CAN_WORD_DATA_BYTE_36_SHIFT (24U)
  4590. /*! DATA_BYTE_36 - Data byte 3 of Rx/Tx frame.
  4591. */
  4592. #define CAN_WORD_DATA_BYTE_36(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_36_SHIFT)) & CAN_WORD_DATA_BYTE_36_MASK)
  4593. #define CAN_WORD_DATA_BYTE_40_MASK (0xFF000000U)
  4594. #define CAN_WORD_DATA_BYTE_40_SHIFT (24U)
  4595. /*! DATA_BYTE_40 - Data byte 3 of Rx/Tx frame.
  4596. */
  4597. #define CAN_WORD_DATA_BYTE_40(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_40_SHIFT)) & CAN_WORD_DATA_BYTE_40_MASK)
  4598. #define CAN_WORD_DATA_BYTE_44_MASK (0xFF000000U)
  4599. #define CAN_WORD_DATA_BYTE_44_SHIFT (24U)
  4600. /*! DATA_BYTE_44 - Data byte 3 of Rx/Tx frame.
  4601. */
  4602. #define CAN_WORD_DATA_BYTE_44(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_44_SHIFT)) & CAN_WORD_DATA_BYTE_44_MASK)
  4603. #define CAN_WORD_DATA_BYTE_48_MASK (0xFF000000U)
  4604. #define CAN_WORD_DATA_BYTE_48_SHIFT (24U)
  4605. /*! DATA_BYTE_48 - Data byte 3 of Rx/Tx frame.
  4606. */
  4607. #define CAN_WORD_DATA_BYTE_48(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_48_SHIFT)) & CAN_WORD_DATA_BYTE_48_MASK)
  4608. #define CAN_WORD_DATA_BYTE_52_MASK (0xFF000000U)
  4609. #define CAN_WORD_DATA_BYTE_52_SHIFT (24U)
  4610. /*! DATA_BYTE_52 - Data byte 3 of Rx/Tx frame.
  4611. */
  4612. #define CAN_WORD_DATA_BYTE_52(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_52_SHIFT)) & CAN_WORD_DATA_BYTE_52_MASK)
  4613. #define CAN_WORD_DATA_BYTE_56_MASK (0xFF000000U)
  4614. #define CAN_WORD_DATA_BYTE_56_SHIFT (24U)
  4615. /*! DATA_BYTE_56 - Data byte 3 of Rx/Tx frame.
  4616. */
  4617. #define CAN_WORD_DATA_BYTE_56(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_56_SHIFT)) & CAN_WORD_DATA_BYTE_56_MASK)
  4618. #define CAN_WORD_DATA_BYTE_60_MASK (0xFF000000U)
  4619. #define CAN_WORD_DATA_BYTE_60_SHIFT (24U)
  4620. /*! DATA_BYTE_60 - Data byte 3 of Rx/Tx frame.
  4621. */
  4622. #define CAN_WORD_DATA_BYTE_60(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_60_SHIFT)) & CAN_WORD_DATA_BYTE_60_MASK)
  4623. /*! @} */
  4624. /* The count of CAN_WORD */
  4625. #define CAN_WORD_COUNT_MB64B (14U)
  4626. /* The count of CAN_WORD */
  4627. #define CAN_WORD_COUNT_MB64B2 (16U)
  4628. /* The count of CAN_CS */
  4629. #define CAN_CS_COUNT (64U)
  4630. /* The count of CAN_ID */
  4631. #define CAN_ID_COUNT (64U)
  4632. /*! @name WORD0 - Message Buffer 0 WORD0 Register..Message Buffer 63 WORD0 Register */
  4633. /*! @{ */
  4634. #define CAN_WORD0_DATA_BYTE_3_MASK (0xFFU)
  4635. #define CAN_WORD0_DATA_BYTE_3_SHIFT (0U)
  4636. /*! DATA_BYTE_3 - Data byte 0 of Rx/Tx frame.
  4637. */
  4638. #define CAN_WORD0_DATA_BYTE_3(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_3_SHIFT)) & CAN_WORD0_DATA_BYTE_3_MASK)
  4639. #define CAN_WORD0_DATA_BYTE_2_MASK (0xFF00U)
  4640. #define CAN_WORD0_DATA_BYTE_2_SHIFT (8U)
  4641. /*! DATA_BYTE_2 - Data byte 1 of Rx/Tx frame.
  4642. */
  4643. #define CAN_WORD0_DATA_BYTE_2(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_2_SHIFT)) & CAN_WORD0_DATA_BYTE_2_MASK)
  4644. #define CAN_WORD0_DATA_BYTE_1_MASK (0xFF0000U)
  4645. #define CAN_WORD0_DATA_BYTE_1_SHIFT (16U)
  4646. /*! DATA_BYTE_1 - Data byte 2 of Rx/Tx frame.
  4647. */
  4648. #define CAN_WORD0_DATA_BYTE_1(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_1_SHIFT)) & CAN_WORD0_DATA_BYTE_1_MASK)
  4649. #define CAN_WORD0_DATA_BYTE_0_MASK (0xFF000000U)
  4650. #define CAN_WORD0_DATA_BYTE_0_SHIFT (24U)
  4651. /*! DATA_BYTE_0 - Data byte 3 of Rx/Tx frame.
  4652. */
  4653. #define CAN_WORD0_DATA_BYTE_0(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_0_SHIFT)) & CAN_WORD0_DATA_BYTE_0_MASK)
  4654. /*! @} */
  4655. /* The count of CAN_WORD0 */
  4656. #define CAN_WORD0_COUNT (64U)
  4657. /*! @name WORD1 - Message Buffer 0 WORD1 Register..Message Buffer 63 WORD1 Register */
  4658. /*! @{ */
  4659. #define CAN_WORD1_DATA_BYTE_7_MASK (0xFFU)
  4660. #define CAN_WORD1_DATA_BYTE_7_SHIFT (0U)
  4661. /*! DATA_BYTE_7 - Data byte 0 of Rx/Tx frame.
  4662. */
  4663. #define CAN_WORD1_DATA_BYTE_7(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_7_SHIFT)) & CAN_WORD1_DATA_BYTE_7_MASK)
  4664. #define CAN_WORD1_DATA_BYTE_6_MASK (0xFF00U)
  4665. #define CAN_WORD1_DATA_BYTE_6_SHIFT (8U)
  4666. /*! DATA_BYTE_6 - Data byte 1 of Rx/Tx frame.
  4667. */
  4668. #define CAN_WORD1_DATA_BYTE_6(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_6_SHIFT)) & CAN_WORD1_DATA_BYTE_6_MASK)
  4669. #define CAN_WORD1_DATA_BYTE_5_MASK (0xFF0000U)
  4670. #define CAN_WORD1_DATA_BYTE_5_SHIFT (16U)
  4671. /*! DATA_BYTE_5 - Data byte 2 of Rx/Tx frame.
  4672. */
  4673. #define CAN_WORD1_DATA_BYTE_5(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_5_SHIFT)) & CAN_WORD1_DATA_BYTE_5_MASK)
  4674. #define CAN_WORD1_DATA_BYTE_4_MASK (0xFF000000U)
  4675. #define CAN_WORD1_DATA_BYTE_4_SHIFT (24U)
  4676. /*! DATA_BYTE_4 - Data byte 3 of Rx/Tx frame.
  4677. */
  4678. #define CAN_WORD1_DATA_BYTE_4(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_4_SHIFT)) & CAN_WORD1_DATA_BYTE_4_MASK)
  4679. /*! @} */
  4680. /* The count of CAN_WORD1 */
  4681. #define CAN_WORD1_COUNT (64U)
  4682. /*! @name RXIMR - Rx Individual Mask Registers */
  4683. /*! @{ */
  4684. #define CAN_RXIMR_MI_MASK (0xFFFFFFFFU)
  4685. #define CAN_RXIMR_MI_SHIFT (0U)
  4686. /*! MI - Individual Mask Bits
  4687. * 0b00000000000000000000000000000001..The corresponding bit in the filter is checked
  4688. * 0b00000000000000000000000000000000..the corresponding bit in the filter is "don't care"
  4689. */
  4690. #define CAN_RXIMR_MI(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXIMR_MI_SHIFT)) & CAN_RXIMR_MI_MASK)
  4691. /*! @} */
  4692. /* The count of CAN_RXIMR */
  4693. #define CAN_RXIMR_COUNT (64U)
  4694. /*! @name GFWR - Glitch Filter Width Registers */
  4695. /*! @{ */
  4696. #define CAN_GFWR_GFWR_MASK (0xFFU)
  4697. #define CAN_GFWR_GFWR_SHIFT (0U)
  4698. #define CAN_GFWR_GFWR(x) (((uint32_t)(((uint32_t)(x)) << CAN_GFWR_GFWR_SHIFT)) & CAN_GFWR_GFWR_MASK)
  4699. /*! @} */
  4700. /*! @name EPRS - Enhanced CAN Bit Timing Prescalers */
  4701. /*! @{ */
  4702. #define CAN_EPRS_ENPRESDIV_MASK (0x3FFU)
  4703. #define CAN_EPRS_ENPRESDIV_SHIFT (0U)
  4704. /*! ENPRESDIV - Extended Nominal Prescaler Division Factor
  4705. */
  4706. #define CAN_EPRS_ENPRESDIV(x) (((uint32_t)(((uint32_t)(x)) << CAN_EPRS_ENPRESDIV_SHIFT)) & CAN_EPRS_ENPRESDIV_MASK)
  4707. #define CAN_EPRS_EDPRESDIV_MASK (0x3FF0000U)
  4708. #define CAN_EPRS_EDPRESDIV_SHIFT (16U)
  4709. /*! EDPRESDIV - Extended Data Phase Prescaler Division Factor
  4710. */
  4711. #define CAN_EPRS_EDPRESDIV(x) (((uint32_t)(((uint32_t)(x)) << CAN_EPRS_EDPRESDIV_SHIFT)) & CAN_EPRS_EDPRESDIV_MASK)
  4712. /*! @} */
  4713. /*! @name ENCBT - Enhanced Nominal CAN Bit Timing */
  4714. /*! @{ */
  4715. #define CAN_ENCBT_NTSEG1_MASK (0xFFU)
  4716. #define CAN_ENCBT_NTSEG1_SHIFT (0U)
  4717. /*! NTSEG1 - Nominal Time Segment 1
  4718. */
  4719. #define CAN_ENCBT_NTSEG1(x) (((uint32_t)(((uint32_t)(x)) << CAN_ENCBT_NTSEG1_SHIFT)) & CAN_ENCBT_NTSEG1_MASK)
  4720. #define CAN_ENCBT_NTSEG2_MASK (0x7F000U)
  4721. #define CAN_ENCBT_NTSEG2_SHIFT (12U)
  4722. /*! NTSEG2 - Nominal Time Segment 2
  4723. */
  4724. #define CAN_ENCBT_NTSEG2(x) (((uint32_t)(((uint32_t)(x)) << CAN_ENCBT_NTSEG2_SHIFT)) & CAN_ENCBT_NTSEG2_MASK)
  4725. #define CAN_ENCBT_NRJW_MASK (0x1FC00000U)
  4726. #define CAN_ENCBT_NRJW_SHIFT (22U)
  4727. /*! NRJW - Nominal Resynchronization Jump Width
  4728. */
  4729. #define CAN_ENCBT_NRJW(x) (((uint32_t)(((uint32_t)(x)) << CAN_ENCBT_NRJW_SHIFT)) & CAN_ENCBT_NRJW_MASK)
  4730. /*! @} */
  4731. /*! @name EDCBT - Enhanced Data Phase CAN bit Timing */
  4732. /*! @{ */
  4733. #define CAN_EDCBT_DTSEG1_MASK (0x1FU)
  4734. #define CAN_EDCBT_DTSEG1_SHIFT (0U)
  4735. /*! DTSEG1 - Data Phase Segment 1
  4736. */
  4737. #define CAN_EDCBT_DTSEG1(x) (((uint32_t)(((uint32_t)(x)) << CAN_EDCBT_DTSEG1_SHIFT)) & CAN_EDCBT_DTSEG1_MASK)
  4738. #define CAN_EDCBT_DTSEG2_MASK (0xF000U)
  4739. #define CAN_EDCBT_DTSEG2_SHIFT (12U)
  4740. /*! DTSEG2 - Data Phase Time Segment 2
  4741. */
  4742. #define CAN_EDCBT_DTSEG2(x) (((uint32_t)(((uint32_t)(x)) << CAN_EDCBT_DTSEG2_SHIFT)) & CAN_EDCBT_DTSEG2_MASK)
  4743. #define CAN_EDCBT_DRJW_MASK (0x3C00000U)
  4744. #define CAN_EDCBT_DRJW_SHIFT (22U)
  4745. /*! DRJW - Data Phase Resynchronization Jump Width
  4746. */
  4747. #define CAN_EDCBT_DRJW(x) (((uint32_t)(((uint32_t)(x)) << CAN_EDCBT_DRJW_SHIFT)) & CAN_EDCBT_DRJW_MASK)
  4748. /*! @} */
  4749. /*! @name ETDC - Enhanced Transceiver Delay Compensation */
  4750. /*! @{ */
  4751. #define CAN_ETDC_ETDCVAL_MASK (0xFFU)
  4752. #define CAN_ETDC_ETDCVAL_SHIFT (0U)
  4753. /*! ETDCVAL - Enhanced Transceiver Delay Compensation Value
  4754. */
  4755. #define CAN_ETDC_ETDCVAL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ETDC_ETDCVAL_SHIFT)) & CAN_ETDC_ETDCVAL_MASK)
  4756. #define CAN_ETDC_ETDCOFF_MASK (0x7F0000U)
  4757. #define CAN_ETDC_ETDCOFF_SHIFT (16U)
  4758. /*! ETDCOFF - Enhanced Transceiver Delay Compensation Offset
  4759. */
  4760. #define CAN_ETDC_ETDCOFF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ETDC_ETDCOFF_SHIFT)) & CAN_ETDC_ETDCOFF_MASK)
  4761. #define CAN_ETDC_TDMDIS_MASK (0x80000000U)
  4762. #define CAN_ETDC_TDMDIS_SHIFT (31U)
  4763. /*! TDMDIS - Transceiver Delay Measurement Disable
  4764. * 0b0..TDC measurement is enabled
  4765. * 0b1..TDC measurement is disabled
  4766. */
  4767. #define CAN_ETDC_TDMDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_ETDC_TDMDIS_SHIFT)) & CAN_ETDC_TDMDIS_MASK)
  4768. /*! @} */
  4769. /*! @name FDCTRL - CAN FD Control Register */
  4770. /*! @{ */
  4771. #define CAN_FDCTRL_TDCVAL_MASK (0x3FU)
  4772. #define CAN_FDCTRL_TDCVAL_SHIFT (0U)
  4773. /*! TDCVAL - Transceiver Delay Compensation Value
  4774. */
  4775. #define CAN_FDCTRL_TDCVAL(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCVAL_SHIFT)) & CAN_FDCTRL_TDCVAL_MASK)
  4776. #define CAN_FDCTRL_TDCOFF_MASK (0x1F00U)
  4777. #define CAN_FDCTRL_TDCOFF_SHIFT (8U)
  4778. /*! TDCOFF - Transceiver Delay Compensation Offset
  4779. */
  4780. #define CAN_FDCTRL_TDCOFF(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCOFF_SHIFT)) & CAN_FDCTRL_TDCOFF_MASK)
  4781. #define CAN_FDCTRL_TDCFAIL_MASK (0x4000U)
  4782. #define CAN_FDCTRL_TDCFAIL_SHIFT (14U)
  4783. /*! TDCFAIL - Transceiver Delay Compensation Fail
  4784. * 0b0..Measured loop delay is in range.
  4785. * 0b1..Measured loop delay is out of range.
  4786. */
  4787. #define CAN_FDCTRL_TDCFAIL(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCFAIL_SHIFT)) & CAN_FDCTRL_TDCFAIL_MASK)
  4788. #define CAN_FDCTRL_TDCEN_MASK (0x8000U)
  4789. #define CAN_FDCTRL_TDCEN_SHIFT (15U)
  4790. /*! TDCEN - Transceiver Delay Compensation Enable
  4791. * 0b0..TDC is disabled
  4792. * 0b1..TDC is enabled
  4793. */
  4794. #define CAN_FDCTRL_TDCEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCEN_SHIFT)) & CAN_FDCTRL_TDCEN_MASK)
  4795. #define CAN_FDCTRL_MBDSR0_MASK (0x30000U)
  4796. #define CAN_FDCTRL_MBDSR0_SHIFT (16U)
  4797. /*! MBDSR0 - Message Buffer Data Size for Region 0
  4798. * 0b00..Selects 8 bytes per Message Buffer.
  4799. * 0b01..Selects 16 bytes per Message Buffer.
  4800. * 0b10..Selects 32 bytes per Message Buffer.
  4801. * 0b11..Selects 64 bytes per Message Buffer.
  4802. */
  4803. #define CAN_FDCTRL_MBDSR0(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_MBDSR0_SHIFT)) & CAN_FDCTRL_MBDSR0_MASK)
  4804. #define CAN_FDCTRL_MBDSR1_MASK (0x180000U)
  4805. #define CAN_FDCTRL_MBDSR1_SHIFT (19U)
  4806. /*! MBDSR1 - Message Buffer Data Size for Region 1
  4807. * 0b00..Selects 8 bytes per Message Buffer.
  4808. * 0b01..Selects 16 bytes per Message Buffer.
  4809. * 0b10..Selects 32 bytes per Message Buffer.
  4810. * 0b11..Selects 64 bytes per Message Buffer.
  4811. */
  4812. #define CAN_FDCTRL_MBDSR1(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_MBDSR1_SHIFT)) & CAN_FDCTRL_MBDSR1_MASK)
  4813. #define CAN_FDCTRL_FDRATE_MASK (0x80000000U)
  4814. #define CAN_FDCTRL_FDRATE_SHIFT (31U)
  4815. /*! FDRATE - Bit Rate Switch Enable
  4816. * 0b0..Transmit a frame in nominal rate. The BRS bit in the Tx MB has no effect.
  4817. * 0b1..Transmit a frame with bit rate switching if the BRS bit in the Tx MB is recessive.
  4818. */
  4819. #define CAN_FDCTRL_FDRATE(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_FDRATE_SHIFT)) & CAN_FDCTRL_FDRATE_MASK)
  4820. /*! @} */
  4821. /*! @name FDCBT - CAN FD Bit Timing Register */
  4822. /*! @{ */
  4823. #define CAN_FDCBT_FPSEG2_MASK (0x7U)
  4824. #define CAN_FDCBT_FPSEG2_SHIFT (0U)
  4825. /*! FPSEG2 - Fast Phase Segment 2
  4826. */
  4827. #define CAN_FDCBT_FPSEG2(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPSEG2_SHIFT)) & CAN_FDCBT_FPSEG2_MASK)
  4828. #define CAN_FDCBT_FPSEG1_MASK (0xE0U)
  4829. #define CAN_FDCBT_FPSEG1_SHIFT (5U)
  4830. /*! FPSEG1 - Fast Phase Segment 1
  4831. */
  4832. #define CAN_FDCBT_FPSEG1(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPSEG1_SHIFT)) & CAN_FDCBT_FPSEG1_MASK)
  4833. #define CAN_FDCBT_FPROPSEG_MASK (0x7C00U)
  4834. #define CAN_FDCBT_FPROPSEG_SHIFT (10U)
  4835. /*! FPROPSEG - Fast Propagation Segment
  4836. */
  4837. #define CAN_FDCBT_FPROPSEG(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPROPSEG_SHIFT)) & CAN_FDCBT_FPROPSEG_MASK)
  4838. #define CAN_FDCBT_FRJW_MASK (0x70000U)
  4839. #define CAN_FDCBT_FRJW_SHIFT (16U)
  4840. /*! FRJW - Fast Resync Jump Width
  4841. */
  4842. #define CAN_FDCBT_FRJW(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FRJW_SHIFT)) & CAN_FDCBT_FRJW_MASK)
  4843. #define CAN_FDCBT_FPRESDIV_MASK (0x3FF00000U)
  4844. #define CAN_FDCBT_FPRESDIV_SHIFT (20U)
  4845. /*! FPRESDIV - Fast Prescaler Division Factor
  4846. */
  4847. #define CAN_FDCBT_FPRESDIV(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPRESDIV_SHIFT)) & CAN_FDCBT_FPRESDIV_MASK)
  4848. /*! @} */
  4849. /*! @name FDCRC - CAN FD CRC Register */
  4850. /*! @{ */
  4851. #define CAN_FDCRC_FD_TXCRC_MASK (0x1FFFFFU)
  4852. #define CAN_FDCRC_FD_TXCRC_SHIFT (0U)
  4853. /*! FD_TXCRC - Extended Transmitted CRC value
  4854. */
  4855. #define CAN_FDCRC_FD_TXCRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCRC_FD_TXCRC_SHIFT)) & CAN_FDCRC_FD_TXCRC_MASK)
  4856. #define CAN_FDCRC_FD_MBCRC_MASK (0x7F000000U)
  4857. #define CAN_FDCRC_FD_MBCRC_SHIFT (24U)
  4858. /*! FD_MBCRC - CRC Mailbox Number for FD_TXCRC
  4859. */
  4860. #define CAN_FDCRC_FD_MBCRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCRC_FD_MBCRC_SHIFT)) & CAN_FDCRC_FD_MBCRC_MASK)
  4861. /*! @} */
  4862. /*! @name ERFCR - Enhanced Rx FIFO Control Register */
  4863. /*! @{ */
  4864. #define CAN_ERFCR_ERFWM_MASK (0x1FU)
  4865. #define CAN_ERFCR_ERFWM_SHIFT (0U)
  4866. /*! ERFWM - Enhanced Rx FIFO Watermark
  4867. */
  4868. #define CAN_ERFCR_ERFWM(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFCR_ERFWM_SHIFT)) & CAN_ERFCR_ERFWM_MASK)
  4869. #define CAN_ERFCR_NFE_MASK (0x3F00U)
  4870. #define CAN_ERFCR_NFE_SHIFT (8U)
  4871. /*! NFE - Number of Enhanced Rx FIFO Filter Elements
  4872. */
  4873. #define CAN_ERFCR_NFE(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFCR_NFE_SHIFT)) & CAN_ERFCR_NFE_MASK)
  4874. #define CAN_ERFCR_NEXIF_MASK (0x7F0000U)
  4875. #define CAN_ERFCR_NEXIF_SHIFT (16U)
  4876. /*! NEXIF - Number of Extended ID Filter Elements
  4877. */
  4878. #define CAN_ERFCR_NEXIF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFCR_NEXIF_SHIFT)) & CAN_ERFCR_NEXIF_MASK)
  4879. #define CAN_ERFCR_DMALW_MASK (0x7C000000U)
  4880. #define CAN_ERFCR_DMALW_SHIFT (26U)
  4881. /*! DMALW - DMA Last Word
  4882. */
  4883. #define CAN_ERFCR_DMALW(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFCR_DMALW_SHIFT)) & CAN_ERFCR_DMALW_MASK)
  4884. #define CAN_ERFCR_ERFEN_MASK (0x80000000U)
  4885. #define CAN_ERFCR_ERFEN_SHIFT (31U)
  4886. /*! ERFEN - Enhanced Rx FIFO enable
  4887. * 0b0..Enhanced Rx FIFO is disabled
  4888. * 0b1..Enhanced Rx FIFO is enabled
  4889. */
  4890. #define CAN_ERFCR_ERFEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFCR_ERFEN_SHIFT)) & CAN_ERFCR_ERFEN_MASK)
  4891. /*! @} */
  4892. /*! @name ERFIER - Enhanced Rx FIFO Interrupt Enable register */
  4893. /*! @{ */
  4894. #define CAN_ERFIER_ERFDAIE_MASK (0x10000000U)
  4895. #define CAN_ERFIER_ERFDAIE_SHIFT (28U)
  4896. /*! ERFDAIE - Enhanced Rx FIFO Data Available Interrupt Enable
  4897. * 0b0..Enhanced Rx FIFO Data Available Interrupt is disabled
  4898. * 0b1..Enhanced Rx FIFO Data Available Interrupt is enabled
  4899. */
  4900. #define CAN_ERFIER_ERFDAIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFIER_ERFDAIE_SHIFT)) & CAN_ERFIER_ERFDAIE_MASK)
  4901. #define CAN_ERFIER_ERFWMIIE_MASK (0x20000000U)
  4902. #define CAN_ERFIER_ERFWMIIE_SHIFT (29U)
  4903. /*! ERFWMIIE - Enhanced Rx FIFO Watermark Indication Interrupt Enable
  4904. * 0b0..Enhanced Rx FIFO Watermark Interrupt is disabled
  4905. * 0b1..Enhanced Rx FIFO Watermark Interrupt is enabled
  4906. */
  4907. #define CAN_ERFIER_ERFWMIIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFIER_ERFWMIIE_SHIFT)) & CAN_ERFIER_ERFWMIIE_MASK)
  4908. #define CAN_ERFIER_ERFOVFIE_MASK (0x40000000U)
  4909. #define CAN_ERFIER_ERFOVFIE_SHIFT (30U)
  4910. /*! ERFOVFIE - Enhanced Rx FIFO Overflow Interrupt Enable
  4911. * 0b0..Enhanced Rx FIFO Overflow is disabled
  4912. * 0b1..Enhanced Rx FIFO Overflow is enabled
  4913. */
  4914. #define CAN_ERFIER_ERFOVFIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFIER_ERFOVFIE_SHIFT)) & CAN_ERFIER_ERFOVFIE_MASK)
  4915. #define CAN_ERFIER_ERFUFWIE_MASK (0x80000000U)
  4916. #define CAN_ERFIER_ERFUFWIE_SHIFT (31U)
  4917. /*! ERFUFWIE - Enhanced Rx FIFO Underflow Interrupt Enable
  4918. * 0b0..Enhanced Rx FIFO Underflow interrupt is disabled
  4919. * 0b1..Enhanced Rx FIFO Underflow interrupt is enabled
  4920. */
  4921. #define CAN_ERFIER_ERFUFWIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFIER_ERFUFWIE_SHIFT)) & CAN_ERFIER_ERFUFWIE_MASK)
  4922. /*! @} */
  4923. /*! @name ERFSR - Enhanced Rx FIFO Status Register */
  4924. /*! @{ */
  4925. #define CAN_ERFSR_ERFEL_MASK (0x3FU)
  4926. #define CAN_ERFSR_ERFEL_SHIFT (0U)
  4927. /*! ERFEL - Enhanced Rx FIFO Elements
  4928. */
  4929. #define CAN_ERFSR_ERFEL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFSR_ERFEL_SHIFT)) & CAN_ERFSR_ERFEL_MASK)
  4930. #define CAN_ERFSR_ERFF_MASK (0x10000U)
  4931. #define CAN_ERFSR_ERFF_SHIFT (16U)
  4932. /*! ERFF - Enhanced Rx FIFO full
  4933. * 0b0..Enhanced Rx FIFO is not full
  4934. * 0b1..Enhanced Rx FIFO is full
  4935. */
  4936. #define CAN_ERFSR_ERFF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFSR_ERFF_SHIFT)) & CAN_ERFSR_ERFF_MASK)
  4937. #define CAN_ERFSR_ERFE_MASK (0x20000U)
  4938. #define CAN_ERFSR_ERFE_SHIFT (17U)
  4939. /*! ERFE - Enhanced Rx FIFO empty
  4940. * 0b0..Enhanced Rx FIFO is not empty
  4941. * 0b1..Enhanced Rx FIFO is empty
  4942. */
  4943. #define CAN_ERFSR_ERFE(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFSR_ERFE_SHIFT)) & CAN_ERFSR_ERFE_MASK)
  4944. #define CAN_ERFSR_ERFCLR_MASK (0x8000000U)
  4945. #define CAN_ERFSR_ERFCLR_SHIFT (27U)
  4946. /*! ERFCLR - Enhanced Rx FIFO Clear
  4947. * 0b0..No effect
  4948. * 0b1..Clear Enhanced Rx FIFO content
  4949. */
  4950. #define CAN_ERFSR_ERFCLR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFSR_ERFCLR_SHIFT)) & CAN_ERFSR_ERFCLR_MASK)
  4951. #define CAN_ERFSR_ERFDA_MASK (0x10000000U)
  4952. #define CAN_ERFSR_ERFDA_SHIFT (28U)
  4953. /*! ERFDA - Enhanced Rx FIFO Data Available
  4954. * 0b0..No such occurrence
  4955. * 0b1..There is at least one message stored in Enhanced Rx FIFO
  4956. */
  4957. #define CAN_ERFSR_ERFDA(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFSR_ERFDA_SHIFT)) & CAN_ERFSR_ERFDA_MASK)
  4958. #define CAN_ERFSR_ERFWMI_MASK (0x20000000U)
  4959. #define CAN_ERFSR_ERFWMI_SHIFT (29U)
  4960. /*! ERFWMI - Enhanced Rx FIFO Watermark Indication
  4961. * 0b0..No such occurrence
  4962. * 0b1..The number of messages in FIFO is greater than the watermark
  4963. */
  4964. #define CAN_ERFSR_ERFWMI(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFSR_ERFWMI_SHIFT)) & CAN_ERFSR_ERFWMI_MASK)
  4965. #define CAN_ERFSR_ERFOVF_MASK (0x40000000U)
  4966. #define CAN_ERFSR_ERFOVF_SHIFT (30U)
  4967. /*! ERFOVF - Enhanced Rx FIFO Overflow
  4968. * 0b0..No such occurrence
  4969. * 0b1..Enhanced Rx FIFO overflow
  4970. */
  4971. #define CAN_ERFSR_ERFOVF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFSR_ERFOVF_SHIFT)) & CAN_ERFSR_ERFOVF_MASK)
  4972. #define CAN_ERFSR_ERFUFW_MASK (0x80000000U)
  4973. #define CAN_ERFSR_ERFUFW_SHIFT (31U)
  4974. /*! ERFUFW - Enhanced Rx FIFO Underflow
  4975. * 0b0..No such occurrence
  4976. * 0b1..Enhanced Rx FIFO underflow
  4977. */
  4978. #define CAN_ERFSR_ERFUFW(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFSR_ERFUFW_SHIFT)) & CAN_ERFSR_ERFUFW_MASK)
  4979. /*! @} */
  4980. /*! @name HR_TIME_STAMP - High Resolution Time Stamp */
  4981. /*! @{ */
  4982. #define CAN_HR_TIME_STAMP_TS_MASK (0xFFFFFFFFU)
  4983. #define CAN_HR_TIME_STAMP_TS_SHIFT (0U)
  4984. /*! TS - High Resolution Time Stamp
  4985. */
  4986. #define CAN_HR_TIME_STAMP_TS(x) (((uint32_t)(((uint32_t)(x)) << CAN_HR_TIME_STAMP_TS_SHIFT)) & CAN_HR_TIME_STAMP_TS_MASK)
  4987. /*! @} */
  4988. /* The count of CAN_HR_TIME_STAMP */
  4989. #define CAN_HR_TIME_STAMP_COUNT (64U)
  4990. /*! @name ERFFEL - Enhanced Rx FIFO Filter Element */
  4991. /*! @{ */
  4992. #define CAN_ERFFEL_FEL_MASK (0xFFFFFFFFU)
  4993. #define CAN_ERFFEL_FEL_SHIFT (0U)
  4994. /*! FEL - Filter Element Bits
  4995. */
  4996. #define CAN_ERFFEL_FEL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFFEL_FEL_SHIFT)) & CAN_ERFFEL_FEL_MASK)
  4997. /*! @} */
  4998. /* The count of CAN_ERFFEL */
  4999. #define CAN_ERFFEL_COUNT (128U)
  5000. /*!
  5001. * @}
  5002. */ /* end of group CAN_Register_Masks */
  5003. /* CAN - Peripheral instance base addresses */
  5004. /** Peripheral CAN1 base address */
  5005. #define CAN1_BASE (0x401D0000u)
  5006. /** Peripheral CAN1 base pointer */
  5007. #define CAN1 ((CAN_Type *)CAN1_BASE)
  5008. /** Peripheral CAN2 base address */
  5009. #define CAN2_BASE (0x401D4000u)
  5010. /** Peripheral CAN2 base pointer */
  5011. #define CAN2 ((CAN_Type *)CAN2_BASE)
  5012. /** Peripheral CAN3 base address */
  5013. #define CAN3_BASE (0x401D8000u)
  5014. /** Peripheral CAN3 base pointer */
  5015. #define CAN3 ((CAN_Type *)CAN3_BASE)
  5016. /** Array initializer of CAN peripheral base addresses */
  5017. #define CAN_BASE_ADDRS { 0u, CAN1_BASE, CAN2_BASE, CAN3_BASE }
  5018. /** Array initializer of CAN peripheral base pointers */
  5019. #define CAN_BASE_PTRS { (CAN_Type *)0u, CAN1, CAN2, CAN3 }
  5020. /** Interrupt vectors for the CAN peripheral type */
  5021. #define CAN_Rx_Warning_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn, CAN3_IRQn }
  5022. #define CAN_Tx_Warning_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn, CAN3_IRQn }
  5023. #define CAN_Wake_Up_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn, CAN3_IRQn }
  5024. #define CAN_Error_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn, CAN3_IRQn }
  5025. #define CAN_Bus_Off_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn, CAN3_IRQn }
  5026. #define CAN_ORed_Message_buffer_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn, CAN3_IRQn }
  5027. /*!
  5028. * @}
  5029. */ /* end of group CAN_Peripheral_Access_Layer */
  5030. /* ----------------------------------------------------------------------------
  5031. -- CCM Peripheral Access Layer
  5032. ---------------------------------------------------------------------------- */
  5033. /*!
  5034. * @addtogroup CCM_Peripheral_Access_Layer CCM Peripheral Access Layer
  5035. * @{
  5036. */
  5037. /** CCM - Register Layout Typedef */
  5038. typedef struct {
  5039. __IO uint32_t CCR; /**< CCM Control Register, offset: 0x0 */
  5040. uint8_t RESERVED_0[4];
  5041. __I uint32_t CSR; /**< CCM Status Register, offset: 0x8 */
  5042. __IO uint32_t CCSR; /**< CCM Clock Switcher Register, offset: 0xC */
  5043. __IO uint32_t CACRR; /**< CCM Arm Clock Root Register, offset: 0x10 */
  5044. __IO uint32_t CBCDR; /**< CCM Bus Clock Divider Register, offset: 0x14 */
  5045. __IO uint32_t CBCMR; /**< CCM Bus Clock Multiplexer Register, offset: 0x18 */
  5046. __IO uint32_t CSCMR1; /**< CCM Serial Clock Multiplexer Register 1, offset: 0x1C */
  5047. __IO uint32_t CSCMR2; /**< CCM Serial Clock Multiplexer Register 2, offset: 0x20 */
  5048. __IO uint32_t CSCDR1; /**< CCM Serial Clock Divider Register 1, offset: 0x24 */
  5049. __IO uint32_t CS1CDR; /**< CCM Clock Divider Register, offset: 0x28 */
  5050. __IO uint32_t CS2CDR; /**< CCM Clock Divider Register, offset: 0x2C */
  5051. __IO uint32_t CDCDR; /**< CCM D1 Clock Divider Register, offset: 0x30 */
  5052. uint8_t RESERVED_1[4];
  5053. __IO uint32_t CSCDR2; /**< CCM Serial Clock Divider Register 2, offset: 0x38 */
  5054. __IO uint32_t CSCDR3; /**< CCM Serial Clock Divider Register 3, offset: 0x3C */
  5055. uint8_t RESERVED_2[8];
  5056. __I uint32_t CDHIPR; /**< CCM Divider Handshake In-Process Register, offset: 0x48 */
  5057. uint8_t RESERVED_3[8];
  5058. __IO uint32_t CLPCR; /**< CCM Low Power Control Register, offset: 0x54 */
  5059. __IO uint32_t CISR; /**< CCM Interrupt Status Register, offset: 0x58 */
  5060. __IO uint32_t CIMR; /**< CCM Interrupt Mask Register, offset: 0x5C */
  5061. __IO uint32_t CCOSR; /**< CCM Clock Output Source Register, offset: 0x60 */
  5062. __IO uint32_t CGPR; /**< CCM General Purpose Register, offset: 0x64 */
  5063. __IO uint32_t CCGR0; /**< CCM Clock Gating Register 0, offset: 0x68 */
  5064. __IO uint32_t CCGR1; /**< CCM Clock Gating Register 1, offset: 0x6C */
  5065. __IO uint32_t CCGR2; /**< CCM Clock Gating Register 2, offset: 0x70 */
  5066. __IO uint32_t CCGR3; /**< CCM Clock Gating Register 3, offset: 0x74 */
  5067. __IO uint32_t CCGR4; /**< CCM Clock Gating Register 4, offset: 0x78 */
  5068. __IO uint32_t CCGR5; /**< CCM Clock Gating Register 5, offset: 0x7C */
  5069. __IO uint32_t CCGR6; /**< CCM Clock Gating Register 6, offset: 0x80 */
  5070. __IO uint32_t CCGR7; /**< CCM Clock Gating Register 7, offset: 0x84 */
  5071. __IO uint32_t CMEOR; /**< CCM Module Enable Overide Register, offset: 0x88 */
  5072. } CCM_Type;
  5073. /* ----------------------------------------------------------------------------
  5074. -- CCM Register Masks
  5075. ---------------------------------------------------------------------------- */
  5076. /*!
  5077. * @addtogroup CCM_Register_Masks CCM Register Masks
  5078. * @{
  5079. */
  5080. /*! @name CCR - CCM Control Register */
  5081. /*! @{ */
  5082. #define CCM_CCR_OSCNT_MASK (0xFFU)
  5083. #define CCM_CCR_OSCNT_SHIFT (0U)
  5084. /*! OSCNT - Oscillator ready counter value. These bits define value of 32KHz counter, that serve as
  5085. * counter for oscillator lock time (count to n+1 ckil's). This is used for oscillator lock time.
  5086. * Current estimation is ~5ms. This counter will be used in ignition sequence and in wake from
  5087. * stop sequence if sbyos bit was defined, to notify that on chip oscillator output is ready for
  5088. * the dpll_ip to use and only then the gate in dpll_ip can be opened.
  5089. */
  5090. #define CCM_CCR_OSCNT(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCR_OSCNT_SHIFT)) & CCM_CCR_OSCNT_MASK)
  5091. #define CCM_CCR_COSC_EN_MASK (0x1000U)
  5092. #define CCM_CCR_COSC_EN_SHIFT (12U)
  5093. /*! COSC_EN
  5094. * 0b0..disable on chip oscillator
  5095. * 0b1..enable on chip oscillator
  5096. */
  5097. #define CCM_CCR_COSC_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCR_COSC_EN_SHIFT)) & CCM_CCR_COSC_EN_MASK)
  5098. #define CCM_CCR_REG_BYPASS_COUNT_MASK (0x7E00000U)
  5099. #define CCM_CCR_REG_BYPASS_COUNT_SHIFT (21U)
  5100. /*! REG_BYPASS_COUNT
  5101. * 0b000000..no delay
  5102. * 0b000001..1 CKIL clock period delay
  5103. * 0b111111..63 CKIL clock periods delay
  5104. */
  5105. #define CCM_CCR_REG_BYPASS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCR_REG_BYPASS_COUNT_SHIFT)) & CCM_CCR_REG_BYPASS_COUNT_MASK)
  5106. #define CCM_CCR_RBC_EN_MASK (0x8000000U)
  5107. #define CCM_CCR_RBC_EN_SHIFT (27U)
  5108. /*! RBC_EN
  5109. * 0b1..REG_BYPASS_COUNTER enabled.
  5110. * 0b0..REG_BYPASS_COUNTER disabled
  5111. */
  5112. #define CCM_CCR_RBC_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCR_RBC_EN_SHIFT)) & CCM_CCR_RBC_EN_MASK)
  5113. /*! @} */
  5114. /*! @name CSR - CCM Status Register */
  5115. /*! @{ */
  5116. #define CCM_CSR_REF_EN_B_MASK (0x1U)
  5117. #define CCM_CSR_REF_EN_B_SHIFT (0U)
  5118. /*! REF_EN_B
  5119. * 0b0..value of CCM_REF_EN_B is '0'
  5120. * 0b1..value of CCM_REF_EN_B is '1'
  5121. */
  5122. #define CCM_CSR_REF_EN_B(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSR_REF_EN_B_SHIFT)) & CCM_CSR_REF_EN_B_MASK)
  5123. #define CCM_CSR_CAMP2_READY_MASK (0x8U)
  5124. #define CCM_CSR_CAMP2_READY_SHIFT (3U)
  5125. /*! CAMP2_READY
  5126. * 0b0..CAMP2 is not ready.
  5127. * 0b1..CAMP2 is ready.
  5128. */
  5129. #define CCM_CSR_CAMP2_READY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSR_CAMP2_READY_SHIFT)) & CCM_CSR_CAMP2_READY_MASK)
  5130. #define CCM_CSR_COSC_READY_MASK (0x20U)
  5131. #define CCM_CSR_COSC_READY_SHIFT (5U)
  5132. /*! COSC_READY
  5133. * 0b0..on board oscillator is not ready.
  5134. * 0b1..on board oscillator is ready.
  5135. */
  5136. #define CCM_CSR_COSC_READY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSR_COSC_READY_SHIFT)) & CCM_CSR_COSC_READY_MASK)
  5137. /*! @} */
  5138. /*! @name CCSR - CCM Clock Switcher Register */
  5139. /*! @{ */
  5140. #define CCM_CCSR_PLL3_SW_CLK_SEL_MASK (0x1U)
  5141. #define CCM_CCSR_PLL3_SW_CLK_SEL_SHIFT (0U)
  5142. /*! PLL3_SW_CLK_SEL
  5143. * 0b0..pll3_main_clk
  5144. * 0b1..pll3 bypass clock
  5145. */
  5146. #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)
  5147. /*! @} */
  5148. /*! @name CACRR - CCM Arm Clock Root Register */
  5149. /*! @{ */
  5150. #define CCM_CACRR_ARM_PODF_MASK (0x7U)
  5151. #define CCM_CACRR_ARM_PODF_SHIFT (0U)
  5152. /*! ARM_PODF
  5153. * 0b000..divide by 1
  5154. * 0b001..divide by 2
  5155. * 0b010..divide by 3
  5156. * 0b011..divide by 4
  5157. * 0b100..divide by 5
  5158. * 0b101..divide by 6
  5159. * 0b110..divide by 7
  5160. * 0b111..divide by 8
  5161. */
  5162. #define CCM_CACRR_ARM_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CACRR_ARM_PODF_SHIFT)) & CCM_CACRR_ARM_PODF_MASK)
  5163. /*! @} */
  5164. /*! @name CBCDR - CCM Bus Clock Divider Register */
  5165. /*! @{ */
  5166. #define CCM_CBCDR_SEMC_CLK_SEL_MASK (0x40U)
  5167. #define CCM_CBCDR_SEMC_CLK_SEL_SHIFT (6U)
  5168. /*! SEMC_CLK_SEL
  5169. * 0b0..Periph_clk output will be used as SEMC clock root
  5170. * 0b1..SEMC alternative clock will be used as SEMC clock root
  5171. */
  5172. #define CCM_CBCDR_SEMC_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCDR_SEMC_CLK_SEL_SHIFT)) & CCM_CBCDR_SEMC_CLK_SEL_MASK)
  5173. #define CCM_CBCDR_SEMC_ALT_CLK_SEL_MASK (0x80U)
  5174. #define CCM_CBCDR_SEMC_ALT_CLK_SEL_SHIFT (7U)
  5175. /*! SEMC_ALT_CLK_SEL
  5176. * 0b0..PLL2 PFD2 will be selected as alternative clock for SEMC root clock
  5177. * 0b1..PLL3 PFD1 will be selected as alternative clock for SEMC root clock
  5178. */
  5179. #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)
  5180. #define CCM_CBCDR_IPG_PODF_MASK (0x300U)
  5181. #define CCM_CBCDR_IPG_PODF_SHIFT (8U)
  5182. /*! IPG_PODF
  5183. * 0b00..divide by 1
  5184. * 0b01..divide by 2
  5185. * 0b10..divide by 3
  5186. * 0b11..divide by 4
  5187. */
  5188. #define CCM_CBCDR_IPG_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCDR_IPG_PODF_SHIFT)) & CCM_CBCDR_IPG_PODF_MASK)
  5189. #define CCM_CBCDR_AHB_PODF_MASK (0x1C00U)
  5190. #define CCM_CBCDR_AHB_PODF_SHIFT (10U)
  5191. /*! AHB_PODF
  5192. * 0b000..divide by 1
  5193. * 0b001..divide by 2
  5194. * 0b010..divide by 3
  5195. * 0b011..divide by 4
  5196. * 0b100..divide by 5
  5197. * 0b101..divide by 6
  5198. * 0b110..divide by 7
  5199. * 0b111..divide by 8
  5200. */
  5201. #define CCM_CBCDR_AHB_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCDR_AHB_PODF_SHIFT)) & CCM_CBCDR_AHB_PODF_MASK)
  5202. #define CCM_CBCDR_SEMC_PODF_MASK (0x70000U)
  5203. #define CCM_CBCDR_SEMC_PODF_SHIFT (16U)
  5204. /*! SEMC_PODF
  5205. * 0b000..divide by 1
  5206. * 0b001..divide by 2
  5207. * 0b010..divide by 3
  5208. * 0b011..divide by 4
  5209. * 0b100..divide by 5
  5210. * 0b101..divide by 6
  5211. * 0b110..divide by 7
  5212. * 0b111..divide by 8
  5213. */
  5214. #define CCM_CBCDR_SEMC_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCDR_SEMC_PODF_SHIFT)) & CCM_CBCDR_SEMC_PODF_MASK)
  5215. #define CCM_CBCDR_PERIPH_CLK_SEL_MASK (0x2000000U)
  5216. #define CCM_CBCDR_PERIPH_CLK_SEL_SHIFT (25U)
  5217. /*! PERIPH_CLK_SEL
  5218. * 0b0..derive clock from pre_periph_clk_sel
  5219. * 0b1..derive clock from periph_clk2_clk_divided
  5220. */
  5221. #define CCM_CBCDR_PERIPH_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCDR_PERIPH_CLK_SEL_SHIFT)) & CCM_CBCDR_PERIPH_CLK_SEL_MASK)
  5222. #define CCM_CBCDR_PERIPH_CLK2_PODF_MASK (0x38000000U)
  5223. #define CCM_CBCDR_PERIPH_CLK2_PODF_SHIFT (27U)
  5224. /*! PERIPH_CLK2_PODF
  5225. * 0b000..divide by 1
  5226. * 0b001..divide by 2
  5227. * 0b010..divide by 3
  5228. * 0b011..divide by 4
  5229. * 0b100..divide by 5
  5230. * 0b101..divide by 6
  5231. * 0b110..divide by 7
  5232. * 0b111..divide by 8
  5233. */
  5234. #define CCM_CBCDR_PERIPH_CLK2_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCDR_PERIPH_CLK2_PODF_SHIFT)) & CCM_CBCDR_PERIPH_CLK2_PODF_MASK)
  5235. /*! @} */
  5236. /*! @name CBCMR - CCM Bus Clock Multiplexer Register */
  5237. /*! @{ */
  5238. #define CCM_CBCMR_LPSPI_CLK_SEL_MASK (0x30U)
  5239. #define CCM_CBCMR_LPSPI_CLK_SEL_SHIFT (4U)
  5240. /*! LPSPI_CLK_SEL
  5241. * 0b00..derive clock from PLL3 PFD1 clk
  5242. * 0b01..derive clock from PLL3 PFD0
  5243. * 0b10..derive clock from PLL2
  5244. * 0b11..derive clock from PLL2 PFD2
  5245. */
  5246. #define CCM_CBCMR_LPSPI_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCMR_LPSPI_CLK_SEL_SHIFT)) & CCM_CBCMR_LPSPI_CLK_SEL_MASK)
  5247. #define CCM_CBCMR_FLEXSPI2_CLK_SEL_MASK (0x300U)
  5248. #define CCM_CBCMR_FLEXSPI2_CLK_SEL_SHIFT (8U)
  5249. /*! FLEXSPI2_CLK_SEL
  5250. * 0b00..derive clock from PLL2 PFD2
  5251. * 0b01..derive clock from PLL3 PFD0
  5252. * 0b10..derive clock from PLL3 PFD1
  5253. * 0b11..derive clock from PLL2 (pll2_main_clk)
  5254. */
  5255. #define CCM_CBCMR_FLEXSPI2_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCMR_FLEXSPI2_CLK_SEL_SHIFT)) & CCM_CBCMR_FLEXSPI2_CLK_SEL_MASK)
  5256. #define CCM_CBCMR_PERIPH_CLK2_SEL_MASK (0x3000U)
  5257. #define CCM_CBCMR_PERIPH_CLK2_SEL_SHIFT (12U)
  5258. /*! PERIPH_CLK2_SEL
  5259. * 0b00..derive clock from pll3_sw_clk
  5260. * 0b01..derive clock from osc_clk (pll1_ref_clk)
  5261. * 0b10..derive clock from pll2_bypass_clk
  5262. * 0b11..reserved
  5263. */
  5264. #define CCM_CBCMR_PERIPH_CLK2_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCMR_PERIPH_CLK2_SEL_SHIFT)) & CCM_CBCMR_PERIPH_CLK2_SEL_MASK)
  5265. #define CCM_CBCMR_TRACE_CLK_SEL_MASK (0xC000U)
  5266. #define CCM_CBCMR_TRACE_CLK_SEL_SHIFT (14U)
  5267. /*! TRACE_CLK_SEL
  5268. * 0b00..derive clock from PLL2
  5269. * 0b01..derive clock from PLL2 PFD2
  5270. * 0b10..derive clock from PLL2 PFD0
  5271. * 0b11..derive clock from PLL2 PFD1
  5272. */
  5273. #define CCM_CBCMR_TRACE_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCMR_TRACE_CLK_SEL_SHIFT)) & CCM_CBCMR_TRACE_CLK_SEL_MASK)
  5274. #define CCM_CBCMR_PRE_PERIPH_CLK_SEL_MASK (0xC0000U)
  5275. #define CCM_CBCMR_PRE_PERIPH_CLK_SEL_SHIFT (18U)
  5276. /*! PRE_PERIPH_CLK_SEL
  5277. * 0b00..derive clock from PLL2
  5278. * 0b01..derive clock from PLL2 PFD2
  5279. * 0b10..derive clock from PLL2 PFD0
  5280. * 0b11..derive clock from divided PLL1
  5281. */
  5282. #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)
  5283. #define CCM_CBCMR_LCDIF_PODF_MASK (0x3800000U)
  5284. #define CCM_CBCMR_LCDIF_PODF_SHIFT (23U)
  5285. /*! LCDIF_PODF
  5286. * 0b000..divide by 1
  5287. * 0b001..divide by 2
  5288. * 0b010..divide by 3
  5289. * 0b011..divide by 4
  5290. * 0b100..divide by 5
  5291. * 0b101..divide by 6
  5292. * 0b110..divide by 7
  5293. * 0b111..divide by 8
  5294. */
  5295. #define CCM_CBCMR_LCDIF_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCMR_LCDIF_PODF_SHIFT)) & CCM_CBCMR_LCDIF_PODF_MASK)
  5296. #define CCM_CBCMR_LPSPI_PODF_MASK (0x1C000000U)
  5297. #define CCM_CBCMR_LPSPI_PODF_SHIFT (26U)
  5298. /*! LPSPI_PODF
  5299. * 0b000..divide by 1
  5300. * 0b001..divide by 2
  5301. * 0b010..divide by 3
  5302. * 0b011..divide by 4
  5303. * 0b100..divide by 5
  5304. * 0b101..divide by 6
  5305. * 0b110..divide by 7
  5306. * 0b111..divide by 8
  5307. */
  5308. #define CCM_CBCMR_LPSPI_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCMR_LPSPI_PODF_SHIFT)) & CCM_CBCMR_LPSPI_PODF_MASK)
  5309. #define CCM_CBCMR_FLEXSPI2_PODF_MASK (0xE0000000U)
  5310. #define CCM_CBCMR_FLEXSPI2_PODF_SHIFT (29U)
  5311. /*! FLEXSPI2_PODF
  5312. * 0b000..divide by 1
  5313. * 0b001..divide by 2
  5314. * 0b010..divide by 3
  5315. * 0b011..divide by 4
  5316. * 0b100..divide by 5
  5317. * 0b101..divide by 6
  5318. * 0b110..divide by 7
  5319. * 0b111..divide by 8
  5320. */
  5321. #define CCM_CBCMR_FLEXSPI2_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CBCMR_FLEXSPI2_PODF_SHIFT)) & CCM_CBCMR_FLEXSPI2_PODF_MASK)
  5322. /*! @} */
  5323. /*! @name CSCMR1 - CCM Serial Clock Multiplexer Register 1 */
  5324. /*! @{ */
  5325. #define CCM_CSCMR1_PERCLK_PODF_MASK (0x3FU)
  5326. #define CCM_CSCMR1_PERCLK_PODF_SHIFT (0U)
  5327. /*! PERCLK_PODF - Divider for perclk podf.
  5328. * 0b000000..Divide by 1
  5329. * 0b000001..Divide by 2
  5330. * 0b000010..Divide by 3
  5331. * 0b000011..Divide by 4
  5332. * 0b000100..Divide by 5
  5333. * 0b000101..Divide by 6
  5334. * 0b000110..Divide by 7
  5335. * 0b000111..Divide by 8
  5336. * 0b001000..Divide by 9
  5337. * 0b001001..Divide by 10
  5338. * 0b001010..Divide by 11
  5339. * 0b001011..Divide by 12
  5340. * 0b001100..Divide by 13
  5341. * 0b001101..Divide by 14
  5342. * 0b001110..Divide by 15
  5343. * 0b001111..Divide by 16
  5344. * 0b010000..Divide by 17
  5345. * 0b010001..Divide by 18
  5346. * 0b010010..Divide by 19
  5347. * 0b010011..Divide by 20
  5348. * 0b010100..Divide by 21
  5349. * 0b010101..Divide by 22
  5350. * 0b010110..Divide by 23
  5351. * 0b010111..Divide by 24
  5352. * 0b011000..Divide by 25
  5353. * 0b011001..Divide by 26
  5354. * 0b011010..Divide by 27
  5355. * 0b011011..Divide by 28
  5356. * 0b011100..Divide by 29
  5357. * 0b011101..Divide by 30
  5358. * 0b011110..Divide by 31
  5359. * 0b011111..Divide by 32
  5360. * 0b100000..Divide by 33
  5361. * 0b100001..Divide by 34
  5362. * 0b100010..Divide by 35
  5363. * 0b100011..Divide by 36
  5364. * 0b100100..Divide by 37
  5365. * 0b100101..Divide by 38
  5366. * 0b100110..Divide by 39
  5367. * 0b100111..Divide by 40
  5368. * 0b101000..Divide by 41
  5369. * 0b101001..Divide by 42
  5370. * 0b101010..Divide by 43
  5371. * 0b101011..Divide by 44
  5372. * 0b101100..Divide by 45
  5373. * 0b101101..Divide by 46
  5374. * 0b101110..Divide by 47
  5375. * 0b101111..Divide by 48
  5376. * 0b110000..Divide by 49
  5377. * 0b110001..Divide by 50
  5378. * 0b110010..Divide by 51
  5379. * 0b110011..Divide by 52
  5380. * 0b110100..Divide by 53
  5381. * 0b110101..Divide by 54
  5382. * 0b110110..Divide by 55
  5383. * 0b110111..Divide by 56
  5384. * 0b111000..Divide by 57
  5385. * 0b111001..Divide by 58
  5386. * 0b111010..Divide by 59
  5387. * 0b111011..Divide by 60
  5388. * 0b111100..Divide by 61
  5389. * 0b111101..Divide by 62
  5390. * 0b111110..Divide by 63
  5391. * 0b111111..Divide by 64
  5392. */
  5393. #define CCM_CSCMR1_PERCLK_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR1_PERCLK_PODF_SHIFT)) & CCM_CSCMR1_PERCLK_PODF_MASK)
  5394. #define CCM_CSCMR1_PERCLK_CLK_SEL_MASK (0x40U)
  5395. #define CCM_CSCMR1_PERCLK_CLK_SEL_SHIFT (6U)
  5396. /*! PERCLK_CLK_SEL
  5397. * 0b0..derive clock from ipg clk root
  5398. * 0b1..derive clock from osc_clk
  5399. */
  5400. #define CCM_CSCMR1_PERCLK_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR1_PERCLK_CLK_SEL_SHIFT)) & CCM_CSCMR1_PERCLK_CLK_SEL_MASK)
  5401. #define CCM_CSCMR1_SAI1_CLK_SEL_MASK (0xC00U)
  5402. #define CCM_CSCMR1_SAI1_CLK_SEL_SHIFT (10U)
  5403. /*! SAI1_CLK_SEL
  5404. * 0b00..derive clock from PLL3 PFD2
  5405. * 0b01..derive clock from PLL5
  5406. * 0b10..derive clock from PLL4
  5407. * 0b11..Reserved
  5408. */
  5409. #define CCM_CSCMR1_SAI1_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR1_SAI1_CLK_SEL_SHIFT)) & CCM_CSCMR1_SAI1_CLK_SEL_MASK)
  5410. #define CCM_CSCMR1_SAI2_CLK_SEL_MASK (0x3000U)
  5411. #define CCM_CSCMR1_SAI2_CLK_SEL_SHIFT (12U)
  5412. /*! SAI2_CLK_SEL
  5413. * 0b00..derive clock from PLL3 PFD2
  5414. * 0b01..derive clock from PLL5
  5415. * 0b10..derive clock from PLL4
  5416. * 0b11..Reserved
  5417. */
  5418. #define CCM_CSCMR1_SAI2_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR1_SAI2_CLK_SEL_SHIFT)) & CCM_CSCMR1_SAI2_CLK_SEL_MASK)
  5419. #define CCM_CSCMR1_SAI3_CLK_SEL_MASK (0xC000U)
  5420. #define CCM_CSCMR1_SAI3_CLK_SEL_SHIFT (14U)
  5421. /*! SAI3_CLK_SEL
  5422. * 0b00..derive clock from PLL3 PFD2
  5423. * 0b01..derive clock from PLL5
  5424. * 0b10..derive clock from PLL4
  5425. * 0b11..Reserved
  5426. */
  5427. #define CCM_CSCMR1_SAI3_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR1_SAI3_CLK_SEL_SHIFT)) & CCM_CSCMR1_SAI3_CLK_SEL_MASK)
  5428. #define CCM_CSCMR1_USDHC1_CLK_SEL_MASK (0x10000U)
  5429. #define CCM_CSCMR1_USDHC1_CLK_SEL_SHIFT (16U)
  5430. /*! USDHC1_CLK_SEL
  5431. * 0b0..derive clock from PLL2 PFD2
  5432. * 0b1..derive clock from PLL2 PFD0
  5433. */
  5434. #define CCM_CSCMR1_USDHC1_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR1_USDHC1_CLK_SEL_SHIFT)) & CCM_CSCMR1_USDHC1_CLK_SEL_MASK)
  5435. #define CCM_CSCMR1_USDHC2_CLK_SEL_MASK (0x20000U)
  5436. #define CCM_CSCMR1_USDHC2_CLK_SEL_SHIFT (17U)
  5437. /*! USDHC2_CLK_SEL
  5438. * 0b0..derive clock from PLL2 PFD2
  5439. * 0b1..derive clock from PLL2 PFD0
  5440. */
  5441. #define CCM_CSCMR1_USDHC2_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR1_USDHC2_CLK_SEL_SHIFT)) & CCM_CSCMR1_USDHC2_CLK_SEL_MASK)
  5442. #define CCM_CSCMR1_FLEXSPI_PODF_MASK (0x3800000U)
  5443. #define CCM_CSCMR1_FLEXSPI_PODF_SHIFT (23U)
  5444. /*! FLEXSPI_PODF
  5445. * 0b000..divide by 1
  5446. * 0b001..divide by 2
  5447. * 0b010..divide by 3
  5448. * 0b011..divide by 4
  5449. * 0b100..divide by 5
  5450. * 0b101..divide by 6
  5451. * 0b110..divide by 7
  5452. * 0b111..divide by 8
  5453. */
  5454. #define CCM_CSCMR1_FLEXSPI_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR1_FLEXSPI_PODF_SHIFT)) & CCM_CSCMR1_FLEXSPI_PODF_MASK)
  5455. #define CCM_CSCMR1_FLEXSPI_CLK_SEL_MASK (0x60000000U)
  5456. #define CCM_CSCMR1_FLEXSPI_CLK_SEL_SHIFT (29U)
  5457. /*! FLEXSPI_CLK_SEL
  5458. * 0b00..derive clock from semc_clk_root_pre
  5459. * 0b01..derive clock from pll3_sw_clk
  5460. * 0b10..derive clock from PLL2 PFD2
  5461. * 0b11..derive clock from PLL3 PFD0
  5462. */
  5463. #define CCM_CSCMR1_FLEXSPI_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR1_FLEXSPI_CLK_SEL_SHIFT)) & CCM_CSCMR1_FLEXSPI_CLK_SEL_MASK)
  5464. /*! @} */
  5465. /*! @name CSCMR2 - CCM Serial Clock Multiplexer Register 2 */
  5466. /*! @{ */
  5467. #define CCM_CSCMR2_CAN_CLK_PODF_MASK (0xFCU)
  5468. #define CCM_CSCMR2_CAN_CLK_PODF_SHIFT (2U)
  5469. /*! CAN_CLK_PODF - Divider for CAN/CANFD clock podf.
  5470. * 0b000000..Divide by 1
  5471. * 0b000001..Divide by 2
  5472. * 0b000010..Divide by 3
  5473. * 0b000011..Divide by 4
  5474. * 0b000100..Divide by 5
  5475. * 0b000101..Divide by 6
  5476. * 0b000110..Divide by 7
  5477. * 0b000111..Divide by 8
  5478. * 0b001000..Divide by 9
  5479. * 0b001001..Divide by 10
  5480. * 0b001010..Divide by 11
  5481. * 0b001011..Divide by 12
  5482. * 0b001100..Divide by 13
  5483. * 0b001101..Divide by 14
  5484. * 0b001110..Divide by 15
  5485. * 0b001111..Divide by 16
  5486. * 0b010000..Divide by 17
  5487. * 0b010001..Divide by 18
  5488. * 0b010010..Divide by 19
  5489. * 0b010011..Divide by 20
  5490. * 0b010100..Divide by 21
  5491. * 0b010101..Divide by 22
  5492. * 0b010110..Divide by 23
  5493. * 0b010111..Divide by 24
  5494. * 0b011000..Divide by 25
  5495. * 0b011001..Divide by 26
  5496. * 0b011010..Divide by 27
  5497. * 0b011011..Divide by 28
  5498. * 0b011100..Divide by 29
  5499. * 0b011101..Divide by 30
  5500. * 0b011110..Divide by 31
  5501. * 0b011111..Divide by 32
  5502. * 0b100000..Divide by 33
  5503. * 0b100001..Divide by 34
  5504. * 0b100010..Divide by 35
  5505. * 0b100011..Divide by 36
  5506. * 0b100100..Divide by 37
  5507. * 0b100101..Divide by 38
  5508. * 0b100110..Divide by 39
  5509. * 0b100111..Divide by 40
  5510. * 0b101000..Divide by 41
  5511. * 0b101001..Divide by 42
  5512. * 0b101010..Divide by 43
  5513. * 0b101011..Divide by 44
  5514. * 0b101100..Divide by 45
  5515. * 0b101101..Divide by 46
  5516. * 0b101110..Divide by 47
  5517. * 0b101111..Divide by 48
  5518. * 0b110000..Divide by 49
  5519. * 0b110001..Divide by 50
  5520. * 0b110010..Divide by 51
  5521. * 0b110011..Divide by 52
  5522. * 0b110100..Divide by 53
  5523. * 0b110101..Divide by 54
  5524. * 0b110110..Divide by 55
  5525. * 0b110111..Divide by 56
  5526. * 0b111000..Divide by 57
  5527. * 0b111001..Divide by 58
  5528. * 0b111010..Divide by 59
  5529. * 0b111011..Divide by 60
  5530. * 0b111100..Divide by 61
  5531. * 0b111101..Divide by 62
  5532. * 0b111110..Divide by 63
  5533. * 0b111111..Divide by 64
  5534. */
  5535. #define CCM_CSCMR2_CAN_CLK_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR2_CAN_CLK_PODF_SHIFT)) & CCM_CSCMR2_CAN_CLK_PODF_MASK)
  5536. #define CCM_CSCMR2_CAN_CLK_SEL_MASK (0x300U)
  5537. #define CCM_CSCMR2_CAN_CLK_SEL_SHIFT (8U)
  5538. /*! CAN_CLK_SEL
  5539. * 0b00..derive clock from pll3_sw_clk divided clock (60M)
  5540. * 0b01..derive clock from osc_clk (24M)
  5541. * 0b10..derive clock from pll3_sw_clk divided clock (80M)
  5542. * 0b11..Disable FlexCAN clock
  5543. */
  5544. #define CCM_CSCMR2_CAN_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR2_CAN_CLK_SEL_SHIFT)) & CCM_CSCMR2_CAN_CLK_SEL_MASK)
  5545. #define CCM_CSCMR2_FLEXIO2_CLK_SEL_MASK (0x180000U)
  5546. #define CCM_CSCMR2_FLEXIO2_CLK_SEL_SHIFT (19U)
  5547. /*! FLEXIO2_CLK_SEL
  5548. * 0b00..derive clock from PLL4 divided clock
  5549. * 0b01..derive clock from PLL3 PFD2 clock
  5550. * 0b10..derive clock from PLL5 clock
  5551. * 0b11..derive clock from pll3_sw_clk
  5552. */
  5553. #define CCM_CSCMR2_FLEXIO2_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCMR2_FLEXIO2_CLK_SEL_SHIFT)) & CCM_CSCMR2_FLEXIO2_CLK_SEL_MASK)
  5554. /*! @} */
  5555. /*! @name CSCDR1 - CCM Serial Clock Divider Register 1 */
  5556. /*! @{ */
  5557. #define CCM_CSCDR1_UART_CLK_PODF_MASK (0x3FU)
  5558. #define CCM_CSCDR1_UART_CLK_PODF_SHIFT (0U)
  5559. /*! UART_CLK_PODF - Divider for uart clock podf.
  5560. * 0b000000..Divide by 1
  5561. * 0b000001..Divide by 2
  5562. * 0b000010..Divide by 3
  5563. * 0b000011..Divide by 4
  5564. * 0b000100..Divide by 5
  5565. * 0b000101..Divide by 6
  5566. * 0b000110..Divide by 7
  5567. * 0b000111..Divide by 8
  5568. * 0b001000..Divide by 9
  5569. * 0b001001..Divide by 10
  5570. * 0b001010..Divide by 11
  5571. * 0b001011..Divide by 12
  5572. * 0b001100..Divide by 13
  5573. * 0b001101..Divide by 14
  5574. * 0b001110..Divide by 15
  5575. * 0b001111..Divide by 16
  5576. * 0b010000..Divide by 17
  5577. * 0b010001..Divide by 18
  5578. * 0b010010..Divide by 19
  5579. * 0b010011..Divide by 20
  5580. * 0b010100..Divide by 21
  5581. * 0b010101..Divide by 22
  5582. * 0b010110..Divide by 23
  5583. * 0b010111..Divide by 24
  5584. * 0b011000..Divide by 25
  5585. * 0b011001..Divide by 26
  5586. * 0b011010..Divide by 27
  5587. * 0b011011..Divide by 28
  5588. * 0b011100..Divide by 29
  5589. * 0b011101..Divide by 30
  5590. * 0b011110..Divide by 31
  5591. * 0b011111..Divide by 32
  5592. * 0b100000..Divide by 33
  5593. * 0b100001..Divide by 34
  5594. * 0b100010..Divide by 35
  5595. * 0b100011..Divide by 36
  5596. * 0b100100..Divide by 37
  5597. * 0b100101..Divide by 38
  5598. * 0b100110..Divide by 39
  5599. * 0b100111..Divide by 40
  5600. * 0b101000..Divide by 41
  5601. * 0b101001..Divide by 42
  5602. * 0b101010..Divide by 43
  5603. * 0b101011..Divide by 44
  5604. * 0b101100..Divide by 45
  5605. * 0b101101..Divide by 46
  5606. * 0b101110..Divide by 47
  5607. * 0b101111..Divide by 48
  5608. * 0b110000..Divide by 49
  5609. * 0b110001..Divide by 50
  5610. * 0b110010..Divide by 51
  5611. * 0b110011..Divide by 52
  5612. * 0b110100..Divide by 53
  5613. * 0b110101..Divide by 54
  5614. * 0b110110..Divide by 55
  5615. * 0b110111..Divide by 56
  5616. * 0b111000..Divide by 57
  5617. * 0b111001..Divide by 58
  5618. * 0b111010..Divide by 59
  5619. * 0b111011..Divide by 60
  5620. * 0b111100..Divide by 61
  5621. * 0b111101..Divide by 62
  5622. * 0b111110..Divide by 63
  5623. * 0b111111..Divide by 64
  5624. */
  5625. #define CCM_CSCDR1_UART_CLK_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCDR1_UART_CLK_PODF_SHIFT)) & CCM_CSCDR1_UART_CLK_PODF_MASK)
  5626. #define CCM_CSCDR1_UART_CLK_SEL_MASK (0x40U)
  5627. #define CCM_CSCDR1_UART_CLK_SEL_SHIFT (6U)
  5628. /*! UART_CLK_SEL
  5629. * 0b0..derive clock from pll3_80m
  5630. * 0b1..derive clock from osc_clk
  5631. */
  5632. #define CCM_CSCDR1_UART_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCDR1_UART_CLK_SEL_SHIFT)) & CCM_CSCDR1_UART_CLK_SEL_MASK)
  5633. #define CCM_CSCDR1_USDHC1_PODF_MASK (0x3800U)
  5634. #define CCM_CSCDR1_USDHC1_PODF_SHIFT (11U)
  5635. /*! USDHC1_PODF
  5636. * 0b000..divide by 1
  5637. * 0b001..divide by 2
  5638. * 0b010..divide by 3
  5639. * 0b011..divide by 4
  5640. * 0b100..divide by 5
  5641. * 0b101..divide by 6
  5642. * 0b110..divide by 7
  5643. * 0b111..divide by 8
  5644. */
  5645. #define CCM_CSCDR1_USDHC1_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCDR1_USDHC1_PODF_SHIFT)) & CCM_CSCDR1_USDHC1_PODF_MASK)
  5646. #define CCM_CSCDR1_USDHC2_PODF_MASK (0x70000U)
  5647. #define CCM_CSCDR1_USDHC2_PODF_SHIFT (16U)
  5648. /*! USDHC2_PODF
  5649. * 0b000..divide by 1
  5650. * 0b001..divide by 2
  5651. * 0b010..divide by 3
  5652. * 0b011..divide by 4
  5653. * 0b100..divide by 5
  5654. * 0b101..divide by 6
  5655. * 0b110..divide by 7
  5656. * 0b111..divide by 8
  5657. */
  5658. #define CCM_CSCDR1_USDHC2_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCDR1_USDHC2_PODF_SHIFT)) & CCM_CSCDR1_USDHC2_PODF_MASK)
  5659. #define CCM_CSCDR1_TRACE_PODF_MASK (0x6000000U)
  5660. #define CCM_CSCDR1_TRACE_PODF_SHIFT (25U)
  5661. /*! TRACE_PODF
  5662. * 0b00..divide by 1
  5663. * 0b01..divide by 2
  5664. * 0b10..divide by 3
  5665. * 0b11..divide by 4
  5666. */
  5667. #define CCM_CSCDR1_TRACE_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCDR1_TRACE_PODF_SHIFT)) & CCM_CSCDR1_TRACE_PODF_MASK)
  5668. /*! @} */
  5669. /*! @name CS1CDR - CCM Clock Divider Register */
  5670. /*! @{ */
  5671. #define CCM_CS1CDR_SAI1_CLK_PODF_MASK (0x3FU)
  5672. #define CCM_CS1CDR_SAI1_CLK_PODF_SHIFT (0U)
  5673. /*! SAI1_CLK_PODF - Divider for sai1 clock podf. The input clock to this divider should be lower
  5674. * than 300Mhz, the predivider can be used to achieve this.
  5675. * 0b000000..Divide by 1
  5676. * 0b000001..Divide by 2
  5677. * 0b000010..Divide by 3
  5678. * 0b000011..Divide by 4
  5679. * 0b000100..Divide by 5
  5680. * 0b000101..Divide by 6
  5681. * 0b000110..Divide by 7
  5682. * 0b000111..Divide by 8
  5683. * 0b001000..Divide by 9
  5684. * 0b001001..Divide by 10
  5685. * 0b001010..Divide by 11
  5686. * 0b001011..Divide by 12
  5687. * 0b001100..Divide by 13
  5688. * 0b001101..Divide by 14
  5689. * 0b001110..Divide by 15
  5690. * 0b001111..Divide by 16
  5691. * 0b010000..Divide by 17
  5692. * 0b010001..Divide by 18
  5693. * 0b010010..Divide by 19
  5694. * 0b010011..Divide by 20
  5695. * 0b010100..Divide by 21
  5696. * 0b010101..Divide by 22
  5697. * 0b010110..Divide by 23
  5698. * 0b010111..Divide by 24
  5699. * 0b011000..Divide by 25
  5700. * 0b011001..Divide by 26
  5701. * 0b011010..Divide by 27
  5702. * 0b011011..Divide by 28
  5703. * 0b011100..Divide by 29
  5704. * 0b011101..Divide by 30
  5705. * 0b011110..Divide by 31
  5706. * 0b011111..Divide by 32
  5707. * 0b100000..Divide by 33
  5708. * 0b100001..Divide by 34
  5709. * 0b100010..Divide by 35
  5710. * 0b100011..Divide by 36
  5711. * 0b100100..Divide by 37
  5712. * 0b100101..Divide by 38
  5713. * 0b100110..Divide by 39
  5714. * 0b100111..Divide by 40
  5715. * 0b101000..Divide by 41
  5716. * 0b101001..Divide by 42
  5717. * 0b101010..Divide by 43
  5718. * 0b101011..Divide by 44
  5719. * 0b101100..Divide by 45
  5720. * 0b101101..Divide by 46
  5721. * 0b101110..Divide by 47
  5722. * 0b101111..Divide by 48
  5723. * 0b110000..Divide by 49
  5724. * 0b110001..Divide by 50
  5725. * 0b110010..Divide by 51
  5726. * 0b110011..Divide by 52
  5727. * 0b110100..Divide by 53
  5728. * 0b110101..Divide by 54
  5729. * 0b110110..Divide by 55
  5730. * 0b110111..Divide by 56
  5731. * 0b111000..Divide by 57
  5732. * 0b111001..Divide by 58
  5733. * 0b111010..Divide by 59
  5734. * 0b111011..Divide by 60
  5735. * 0b111100..Divide by 61
  5736. * 0b111101..Divide by 62
  5737. * 0b111110..Divide by 63
  5738. * 0b111111..Divide by 64
  5739. */
  5740. #define CCM_CS1CDR_SAI1_CLK_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CS1CDR_SAI1_CLK_PODF_SHIFT)) & CCM_CS1CDR_SAI1_CLK_PODF_MASK)
  5741. #define CCM_CS1CDR_SAI1_CLK_PRED_MASK (0x1C0U)
  5742. #define CCM_CS1CDR_SAI1_CLK_PRED_SHIFT (6U)
  5743. /*! SAI1_CLK_PRED
  5744. * 0b000..divide by 1
  5745. * 0b001..divide by 2
  5746. * 0b010..divide by 3
  5747. * 0b011..divide by 4
  5748. * 0b100..divide by 5
  5749. * 0b101..divide by 6
  5750. * 0b110..divide by 7
  5751. * 0b111..divide by 8
  5752. */
  5753. #define CCM_CS1CDR_SAI1_CLK_PRED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CS1CDR_SAI1_CLK_PRED_SHIFT)) & CCM_CS1CDR_SAI1_CLK_PRED_MASK)
  5754. #define CCM_CS1CDR_FLEXIO2_CLK_PRED_MASK (0xE00U)
  5755. #define CCM_CS1CDR_FLEXIO2_CLK_PRED_SHIFT (9U)
  5756. /*! FLEXIO2_CLK_PRED
  5757. * 0b000..divide by 1
  5758. * 0b001..divide by 2
  5759. * 0b010..divide by 3
  5760. * 0b011..divide by 4
  5761. * 0b100..divide by 5
  5762. * 0b101..divide by 6
  5763. * 0b110..divide by 7
  5764. * 0b111..divide by 8
  5765. */
  5766. #define CCM_CS1CDR_FLEXIO2_CLK_PRED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CS1CDR_FLEXIO2_CLK_PRED_SHIFT)) & CCM_CS1CDR_FLEXIO2_CLK_PRED_MASK)
  5767. #define CCM_CS1CDR_SAI3_CLK_PODF_MASK (0x3F0000U)
  5768. #define CCM_CS1CDR_SAI3_CLK_PODF_SHIFT (16U)
  5769. /*! SAI3_CLK_PODF - Divider for sai3 clock podf. The input clock to this divider should be lower
  5770. * than 300Mhz, the predivider can be used to achieve this.
  5771. * 0b000000..Divide by 1
  5772. * 0b000001..Divide by 2
  5773. * 0b000010..Divide by 3
  5774. * 0b000011..Divide by 4
  5775. * 0b000100..Divide by 5
  5776. * 0b000101..Divide by 6
  5777. * 0b000110..Divide by 7
  5778. * 0b000111..Divide by 8
  5779. * 0b001000..Divide by 9
  5780. * 0b001001..Divide by 10
  5781. * 0b001010..Divide by 11
  5782. * 0b001011..Divide by 12
  5783. * 0b001100..Divide by 13
  5784. * 0b001101..Divide by 14
  5785. * 0b001110..Divide by 15
  5786. * 0b001111..Divide by 16
  5787. * 0b010000..Divide by 17
  5788. * 0b010001..Divide by 18
  5789. * 0b010010..Divide by 19
  5790. * 0b010011..Divide by 20
  5791. * 0b010100..Divide by 21
  5792. * 0b010101..Divide by 22
  5793. * 0b010110..Divide by 23
  5794. * 0b010111..Divide by 24
  5795. * 0b011000..Divide by 25
  5796. * 0b011001..Divide by 26
  5797. * 0b011010..Divide by 27
  5798. * 0b011011..Divide by 28
  5799. * 0b011100..Divide by 29
  5800. * 0b011101..Divide by 30
  5801. * 0b011110..Divide by 31
  5802. * 0b011111..Divide by 32
  5803. * 0b100000..Divide by 33
  5804. * 0b100001..Divide by 34
  5805. * 0b100010..Divide by 35
  5806. * 0b100011..Divide by 36
  5807. * 0b100100..Divide by 37
  5808. * 0b100101..Divide by 38
  5809. * 0b100110..Divide by 39
  5810. * 0b100111..Divide by 40
  5811. * 0b101000..Divide by 41
  5812. * 0b101001..Divide by 42
  5813. * 0b101010..Divide by 43
  5814. * 0b101011..Divide by 44
  5815. * 0b101100..Divide by 45
  5816. * 0b101101..Divide by 46
  5817. * 0b101110..Divide by 47
  5818. * 0b101111..Divide by 48
  5819. * 0b110000..Divide by 49
  5820. * 0b110001..Divide by 50
  5821. * 0b110010..Divide by 51
  5822. * 0b110011..Divide by 52
  5823. * 0b110100..Divide by 53
  5824. * 0b110101..Divide by 54
  5825. * 0b110110..Divide by 55
  5826. * 0b110111..Divide by 56
  5827. * 0b111000..Divide by 57
  5828. * 0b111001..Divide by 58
  5829. * 0b111010..Divide by 59
  5830. * 0b111011..Divide by 60
  5831. * 0b111100..Divide by 61
  5832. * 0b111101..Divide by 62
  5833. * 0b111110..Divide by 63
  5834. * 0b111111..Divide by 64
  5835. */
  5836. #define CCM_CS1CDR_SAI3_CLK_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CS1CDR_SAI3_CLK_PODF_SHIFT)) & CCM_CS1CDR_SAI3_CLK_PODF_MASK)
  5837. #define CCM_CS1CDR_SAI3_CLK_PRED_MASK (0x1C00000U)
  5838. #define CCM_CS1CDR_SAI3_CLK_PRED_SHIFT (22U)
  5839. /*! SAI3_CLK_PRED
  5840. * 0b000..divide by 1
  5841. * 0b001..divide by 2
  5842. * 0b010..divide by 3
  5843. * 0b011..divide by 4
  5844. * 0b100..divide by 5
  5845. * 0b101..divide by 6
  5846. * 0b110..divide by 7
  5847. * 0b111..divide by 8
  5848. */
  5849. #define CCM_CS1CDR_SAI3_CLK_PRED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CS1CDR_SAI3_CLK_PRED_SHIFT)) & CCM_CS1CDR_SAI3_CLK_PRED_MASK)
  5850. #define CCM_CS1CDR_FLEXIO2_CLK_PODF_MASK (0xE000000U)
  5851. #define CCM_CS1CDR_FLEXIO2_CLK_PODF_SHIFT (25U)
  5852. /*! FLEXIO2_CLK_PODF - Divider for flexio2/flexio3 clock. Divider should be updated when output clock is gated.
  5853. * 0b000..Divide by 1
  5854. * 0b001..Divide by 2
  5855. * 0b010..Divide by 3
  5856. * 0b011..Divide by 4
  5857. * 0b100..Divide by 5
  5858. * 0b101..Divide by 6
  5859. * 0b110..Divide by 7
  5860. * 0b111..Divide by 8
  5861. */
  5862. #define CCM_CS1CDR_FLEXIO2_CLK_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CS1CDR_FLEXIO2_CLK_PODF_SHIFT)) & CCM_CS1CDR_FLEXIO2_CLK_PODF_MASK)
  5863. /*! @} */
  5864. /*! @name CS2CDR - CCM Clock Divider Register */
  5865. /*! @{ */
  5866. #define CCM_CS2CDR_SAI2_CLK_PODF_MASK (0x3FU)
  5867. #define CCM_CS2CDR_SAI2_CLK_PODF_SHIFT (0U)
  5868. /*! SAI2_CLK_PODF - Divider for sai2 clock podf. The input clock to this divider should be lower
  5869. * than 300Mhz, the predivider can be used to achieve this.
  5870. * 0b000000..Divide by 1
  5871. * 0b000001..Divide by 2
  5872. * 0b000010..Divide by 3
  5873. * 0b000011..Divide by 4
  5874. * 0b000100..Divide by 5
  5875. * 0b000101..Divide by 6
  5876. * 0b000110..Divide by 7
  5877. * 0b000111..Divide by 8
  5878. * 0b001000..Divide by 9
  5879. * 0b001001..Divide by 10
  5880. * 0b001010..Divide by 11
  5881. * 0b001011..Divide by 12
  5882. * 0b001100..Divide by 13
  5883. * 0b001101..Divide by 14
  5884. * 0b001110..Divide by 15
  5885. * 0b001111..Divide by 16
  5886. * 0b010000..Divide by 17
  5887. * 0b010001..Divide by 18
  5888. * 0b010010..Divide by 19
  5889. * 0b010011..Divide by 20
  5890. * 0b010100..Divide by 21
  5891. * 0b010101..Divide by 22
  5892. * 0b010110..Divide by 23
  5893. * 0b010111..Divide by 24
  5894. * 0b011000..Divide by 25
  5895. * 0b011001..Divide by 26
  5896. * 0b011010..Divide by 27
  5897. * 0b011011..Divide by 28
  5898. * 0b011100..Divide by 29
  5899. * 0b011101..Divide by 30
  5900. * 0b011110..Divide by 31
  5901. * 0b011111..Divide by 32
  5902. * 0b100000..Divide by 33
  5903. * 0b100001..Divide by 34
  5904. * 0b100010..Divide by 35
  5905. * 0b100011..Divide by 36
  5906. * 0b100100..Divide by 37
  5907. * 0b100101..Divide by 38
  5908. * 0b100110..Divide by 39
  5909. * 0b100111..Divide by 40
  5910. * 0b101000..Divide by 41
  5911. * 0b101001..Divide by 42
  5912. * 0b101010..Divide by 43
  5913. * 0b101011..Divide by 44
  5914. * 0b101100..Divide by 45
  5915. * 0b101101..Divide by 46
  5916. * 0b101110..Divide by 47
  5917. * 0b101111..Divide by 48
  5918. * 0b110000..Divide by 49
  5919. * 0b110001..Divide by 50
  5920. * 0b110010..Divide by 51
  5921. * 0b110011..Divide by 52
  5922. * 0b110100..Divide by 53
  5923. * 0b110101..Divide by 54
  5924. * 0b110110..Divide by 55
  5925. * 0b110111..Divide by 56
  5926. * 0b111000..Divide by 57
  5927. * 0b111001..Divide by 58
  5928. * 0b111010..Divide by 59
  5929. * 0b111011..Divide by 60
  5930. * 0b111100..Divide by 61
  5931. * 0b111101..Divide by 62
  5932. * 0b111110..Divide by 63
  5933. * 0b111111..Divide by 64
  5934. */
  5935. #define CCM_CS2CDR_SAI2_CLK_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CS2CDR_SAI2_CLK_PODF_SHIFT)) & CCM_CS2CDR_SAI2_CLK_PODF_MASK)
  5936. #define CCM_CS2CDR_SAI2_CLK_PRED_MASK (0x1C0U)
  5937. #define CCM_CS2CDR_SAI2_CLK_PRED_SHIFT (6U)
  5938. /*! SAI2_CLK_PRED
  5939. * 0b000..divide by 1
  5940. * 0b001..divide by 2
  5941. * 0b010..divide by 3
  5942. * 0b011..divide by 4
  5943. * 0b100..divide by 5
  5944. * 0b101..divide by 6
  5945. * 0b110..divide by 7
  5946. * 0b111..divide by 8
  5947. */
  5948. #define CCM_CS2CDR_SAI2_CLK_PRED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CS2CDR_SAI2_CLK_PRED_SHIFT)) & CCM_CS2CDR_SAI2_CLK_PRED_MASK)
  5949. /*! @} */
  5950. /*! @name CDCDR - CCM D1 Clock Divider Register */
  5951. /*! @{ */
  5952. #define CCM_CDCDR_FLEXIO1_CLK_SEL_MASK (0x180U)
  5953. #define CCM_CDCDR_FLEXIO1_CLK_SEL_SHIFT (7U)
  5954. /*! FLEXIO1_CLK_SEL
  5955. * 0b00..derive clock from PLL4
  5956. * 0b01..derive clock from PLL3 PFD2
  5957. * 0b10..derive clock from PLL5
  5958. * 0b11..derive clock from pll3_sw_clk
  5959. */
  5960. #define CCM_CDCDR_FLEXIO1_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CDCDR_FLEXIO1_CLK_SEL_SHIFT)) & CCM_CDCDR_FLEXIO1_CLK_SEL_MASK)
  5961. #define CCM_CDCDR_FLEXIO1_CLK_PODF_MASK (0xE00U)
  5962. #define CCM_CDCDR_FLEXIO1_CLK_PODF_SHIFT (9U)
  5963. /*! FLEXIO1_CLK_PODF - Divider for flexio1 clock podf. Divider should be updated when output clock is gated.
  5964. * 0b000..Divide by 1
  5965. * 0b001..Divide by 2
  5966. * 0b010..Divide by 3
  5967. * 0b011..Divide by 4
  5968. * 0b100..Divide by 5
  5969. * 0b101..Divide by 6
  5970. * 0b110..Divide by 7
  5971. * 0b111..Divide by 8
  5972. */
  5973. #define CCM_CDCDR_FLEXIO1_CLK_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CDCDR_FLEXIO1_CLK_PODF_SHIFT)) & CCM_CDCDR_FLEXIO1_CLK_PODF_MASK)
  5974. #define CCM_CDCDR_FLEXIO1_CLK_PRED_MASK (0x7000U)
  5975. #define CCM_CDCDR_FLEXIO1_CLK_PRED_SHIFT (12U)
  5976. /*! FLEXIO1_CLK_PRED - Divider for flexio1 clock pred. Divider should be updated when output clock is gated.
  5977. * 0b000..Divide by 1
  5978. * 0b001..Divide by 2
  5979. * 0b010..Divide by 3
  5980. * 0b011..Divide by 4
  5981. * 0b100..Divide by 5
  5982. * 0b101..Divide by 6
  5983. * 0b110..Divide by 7
  5984. * 0b111..Divide by 8
  5985. */
  5986. #define CCM_CDCDR_FLEXIO1_CLK_PRED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CDCDR_FLEXIO1_CLK_PRED_SHIFT)) & CCM_CDCDR_FLEXIO1_CLK_PRED_MASK)
  5987. #define CCM_CDCDR_SPDIF0_CLK_SEL_MASK (0x300000U)
  5988. #define CCM_CDCDR_SPDIF0_CLK_SEL_SHIFT (20U)
  5989. /*! SPDIF0_CLK_SEL
  5990. * 0b00..derive clock from PLL4
  5991. * 0b01..derive clock from PLL3 PFD2
  5992. * 0b10..derive clock from PLL5
  5993. * 0b11..derive clock from pll3_sw_clk
  5994. */
  5995. #define CCM_CDCDR_SPDIF0_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CDCDR_SPDIF0_CLK_SEL_SHIFT)) & CCM_CDCDR_SPDIF0_CLK_SEL_MASK)
  5996. #define CCM_CDCDR_SPDIF0_CLK_PODF_MASK (0x1C00000U)
  5997. #define CCM_CDCDR_SPDIF0_CLK_PODF_SHIFT (22U)
  5998. /*! SPDIF0_CLK_PODF - Divider for spdif0 clock podf. Divider should be updated when output clock is gated.
  5999. * 0b000..Divide by 1
  6000. * 0b001..Divide by 2
  6001. * 0b010..Divide by 3
  6002. * 0b011..Divide by 4
  6003. * 0b100..Divide by 5
  6004. * 0b101..Divide by 6
  6005. * 0b110..Divide by 7
  6006. * 0b111..Divide by 8
  6007. */
  6008. #define CCM_CDCDR_SPDIF0_CLK_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CDCDR_SPDIF0_CLK_PODF_SHIFT)) & CCM_CDCDR_SPDIF0_CLK_PODF_MASK)
  6009. #define CCM_CDCDR_SPDIF0_CLK_PRED_MASK (0xE000000U)
  6010. #define CCM_CDCDR_SPDIF0_CLK_PRED_SHIFT (25U)
  6011. /*! SPDIF0_CLK_PRED - Divider for spdif0 clock pred. Divider should be updated when output clock is gated.
  6012. * 0b000..Divide by 1
  6013. * 0b001..Divide by 2
  6014. * 0b010..Divide by 3
  6015. * 0b011..Divide by 4
  6016. * 0b100..Divide by 5
  6017. * 0b101..Divide by 6
  6018. * 0b110..Divide by 7
  6019. * 0b111..Divide by 8
  6020. */
  6021. #define CCM_CDCDR_SPDIF0_CLK_PRED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CDCDR_SPDIF0_CLK_PRED_SHIFT)) & CCM_CDCDR_SPDIF0_CLK_PRED_MASK)
  6022. /*! @} */
  6023. /*! @name CSCDR2 - CCM Serial Clock Divider Register 2 */
  6024. /*! @{ */
  6025. #define CCM_CSCDR2_LCDIF_PRED_MASK (0x7000U)
  6026. #define CCM_CSCDR2_LCDIF_PRED_SHIFT (12U)
  6027. /*! LCDIF_PRED
  6028. * 0b000..divide by 1
  6029. * 0b001..divide by 2
  6030. * 0b010..divide by 3
  6031. * 0b011..divide by 4
  6032. * 0b100..divide by 5
  6033. * 0b101..divide by 6
  6034. * 0b110..divide by 7
  6035. * 0b111..divide by 8
  6036. */
  6037. #define CCM_CSCDR2_LCDIF_PRED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCDR2_LCDIF_PRED_SHIFT)) & CCM_CSCDR2_LCDIF_PRED_MASK)
  6038. #define CCM_CSCDR2_LCDIF_PRE_CLK_SEL_MASK (0x38000U)
  6039. #define CCM_CSCDR2_LCDIF_PRE_CLK_SEL_SHIFT (15U)
  6040. /*! LCDIF_PRE_CLK_SEL
  6041. * 0b000..derive clock from PLL2
  6042. * 0b001..derive clock from PLL3 PFD3
  6043. * 0b010..derive clock from PLL5
  6044. * 0b011..derive clock from PLL2 PFD0
  6045. * 0b100..derive clock from PLL2 PFD1
  6046. * 0b101..derive clock from PLL3 PFD1
  6047. */
  6048. #define CCM_CSCDR2_LCDIF_PRE_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCDR2_LCDIF_PRE_CLK_SEL_SHIFT)) & CCM_CSCDR2_LCDIF_PRE_CLK_SEL_MASK)
  6049. #define CCM_CSCDR2_LPI2C_CLK_SEL_MASK (0x40000U)
  6050. #define CCM_CSCDR2_LPI2C_CLK_SEL_SHIFT (18U)
  6051. /*! LPI2C_CLK_SEL
  6052. * 0b0..derive clock from pll3_60m
  6053. * 0b1..derive clock from osc_clk
  6054. */
  6055. #define CCM_CSCDR2_LPI2C_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCDR2_LPI2C_CLK_SEL_SHIFT)) & CCM_CSCDR2_LPI2C_CLK_SEL_MASK)
  6056. #define CCM_CSCDR2_LPI2C_CLK_PODF_MASK (0x1F80000U)
  6057. #define CCM_CSCDR2_LPI2C_CLK_PODF_SHIFT (19U)
  6058. /*! LPI2C_CLK_PODF - Divider for lpi2c clock podf. Divider should be updated when output clock is
  6059. * gated. The input clock to this divider should be lower than 300Mhz, the predivider can be used
  6060. * to achieve this.
  6061. * 0b000000..Divide by 1
  6062. * 0b000001..Divide by 2
  6063. * 0b000010..Divide by 3
  6064. * 0b000011..Divide by 4
  6065. * 0b000100..Divide by 5
  6066. * 0b000101..Divide by 6
  6067. * 0b000110..Divide by 7
  6068. * 0b000111..Divide by 8
  6069. * 0b001000..Divide by 9
  6070. * 0b001001..Divide by 10
  6071. * 0b001010..Divide by 11
  6072. * 0b001011..Divide by 12
  6073. * 0b001100..Divide by 13
  6074. * 0b001101..Divide by 14
  6075. * 0b001110..Divide by 15
  6076. * 0b001111..Divide by 16
  6077. * 0b010000..Divide by 17
  6078. * 0b010001..Divide by 18
  6079. * 0b010010..Divide by 19
  6080. * 0b010011..Divide by 20
  6081. * 0b010100..Divide by 21
  6082. * 0b010101..Divide by 22
  6083. * 0b010110..Divide by 23
  6084. * 0b010111..Divide by 24
  6085. * 0b011000..Divide by 25
  6086. * 0b011001..Divide by 26
  6087. * 0b011010..Divide by 27
  6088. * 0b011011..Divide by 28
  6089. * 0b011100..Divide by 29
  6090. * 0b011101..Divide by 30
  6091. * 0b011110..Divide by 31
  6092. * 0b011111..Divide by 32
  6093. * 0b100000..Divide by 33
  6094. * 0b100001..Divide by 34
  6095. * 0b100010..Divide by 35
  6096. * 0b100011..Divide by 36
  6097. * 0b100100..Divide by 37
  6098. * 0b100101..Divide by 38
  6099. * 0b100110..Divide by 39
  6100. * 0b100111..Divide by 40
  6101. * 0b101000..Divide by 41
  6102. * 0b101001..Divide by 42
  6103. * 0b101010..Divide by 43
  6104. * 0b101011..Divide by 44
  6105. * 0b101100..Divide by 45
  6106. * 0b101101..Divide by 46
  6107. * 0b101110..Divide by 47
  6108. * 0b101111..Divide by 48
  6109. * 0b110000..Divide by 49
  6110. * 0b110001..Divide by 50
  6111. * 0b110010..Divide by 51
  6112. * 0b110011..Divide by 52
  6113. * 0b110100..Divide by 53
  6114. * 0b110101..Divide by 54
  6115. * 0b110110..Divide by 55
  6116. * 0b110111..Divide by 56
  6117. * 0b111000..Divide by 57
  6118. * 0b111001..Divide by 58
  6119. * 0b111010..Divide by 59
  6120. * 0b111011..Divide by 60
  6121. * 0b111100..Divide by 61
  6122. * 0b111101..Divide by 62
  6123. * 0b111110..Divide by 63
  6124. * 0b111111..Divide by 64
  6125. */
  6126. #define CCM_CSCDR2_LPI2C_CLK_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCDR2_LPI2C_CLK_PODF_SHIFT)) & CCM_CSCDR2_LPI2C_CLK_PODF_MASK)
  6127. /*! @} */
  6128. /*! @name CSCDR3 - CCM Serial Clock Divider Register 3 */
  6129. /*! @{ */
  6130. #define CCM_CSCDR3_CSI_CLK_SEL_MASK (0x600U)
  6131. #define CCM_CSCDR3_CSI_CLK_SEL_SHIFT (9U)
  6132. /*! CSI_CLK_SEL
  6133. * 0b00..derive clock from osc_clk (24M)
  6134. * 0b01..derive clock from PLL2 PFD2
  6135. * 0b10..derive clock from pll3_120M
  6136. * 0b11..derive clock from PLL3 PFD1
  6137. */
  6138. #define CCM_CSCDR3_CSI_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCDR3_CSI_CLK_SEL_SHIFT)) & CCM_CSCDR3_CSI_CLK_SEL_MASK)
  6139. #define CCM_CSCDR3_CSI_PODF_MASK (0x3800U)
  6140. #define CCM_CSCDR3_CSI_PODF_SHIFT (11U)
  6141. /*! CSI_PODF
  6142. * 0b000..divide by 1
  6143. * 0b001..divide by 2
  6144. * 0b010..divide by 3
  6145. * 0b011..divide by 4
  6146. * 0b100..divide by 5
  6147. * 0b101..divide by 6
  6148. * 0b110..divide by 7
  6149. * 0b111..divide by 8
  6150. */
  6151. #define CCM_CSCDR3_CSI_PODF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CSCDR3_CSI_PODF_SHIFT)) & CCM_CSCDR3_CSI_PODF_MASK)
  6152. /*! @} */
  6153. /*! @name CDHIPR - CCM Divider Handshake In-Process Register */
  6154. /*! @{ */
  6155. #define CCM_CDHIPR_SEMC_PODF_BUSY_MASK (0x1U)
  6156. #define CCM_CDHIPR_SEMC_PODF_BUSY_SHIFT (0U)
  6157. /*! SEMC_PODF_BUSY
  6158. * 0b0..divider is not busy and its value represents the actual division.
  6159. * 0b1..divider is busy with handshake process with module. The value read in the divider represents the previous
  6160. * value of the division factor, and after the handshake the written value of the semc_podf will be applied.
  6161. */
  6162. #define CCM_CDHIPR_SEMC_PODF_BUSY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CDHIPR_SEMC_PODF_BUSY_SHIFT)) & CCM_CDHIPR_SEMC_PODF_BUSY_MASK)
  6163. #define CCM_CDHIPR_AHB_PODF_BUSY_MASK (0x2U)
  6164. #define CCM_CDHIPR_AHB_PODF_BUSY_SHIFT (1U)
  6165. /*! AHB_PODF_BUSY
  6166. * 0b0..divider is not busy and its value represents the actual division.
  6167. * 0b1..divider is busy with handshake process with module. The value read in the divider represents the previous
  6168. * value of the division factor, and after the handshake the written value of the ahb_podf will be applied.
  6169. */
  6170. #define CCM_CDHIPR_AHB_PODF_BUSY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CDHIPR_AHB_PODF_BUSY_SHIFT)) & CCM_CDHIPR_AHB_PODF_BUSY_MASK)
  6171. #define CCM_CDHIPR_PERIPH2_CLK_SEL_BUSY_MASK (0x8U)
  6172. #define CCM_CDHIPR_PERIPH2_CLK_SEL_BUSY_SHIFT (3U)
  6173. /*! PERIPH2_CLK_SEL_BUSY
  6174. * 0b0..mux is not busy and its value represents the actual division.
  6175. * 0b1..mux is busy with handshake process with module. The value read in the periph2_clk_sel represents the
  6176. * previous value of select, and after the handshake periph2_clk_sel value will be applied.
  6177. */
  6178. #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)
  6179. #define CCM_CDHIPR_PERIPH_CLK_SEL_BUSY_MASK (0x20U)
  6180. #define CCM_CDHIPR_PERIPH_CLK_SEL_BUSY_SHIFT (5U)
  6181. /*! PERIPH_CLK_SEL_BUSY
  6182. * 0b0..mux is not busy and its value represents the actual division.
  6183. * 0b1..mux is busy with handshake process with module. The value read in the periph_clk_sel represents the
  6184. * previous value of select, and after the handshake periph_clk_sel value will be applied.
  6185. */
  6186. #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)
  6187. #define CCM_CDHIPR_ARM_PODF_BUSY_MASK (0x10000U)
  6188. #define CCM_CDHIPR_ARM_PODF_BUSY_SHIFT (16U)
  6189. /*! ARM_PODF_BUSY
  6190. * 0b0..divider is not busy and its value represents the actual division.
  6191. * 0b1..divider is busy with handshake process with module. The value read in the divider represents the previous
  6192. * value of the division factor, and after the handshake the written value of the arm_podf will be applied.
  6193. */
  6194. #define CCM_CDHIPR_ARM_PODF_BUSY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CDHIPR_ARM_PODF_BUSY_SHIFT)) & CCM_CDHIPR_ARM_PODF_BUSY_MASK)
  6195. /*! @} */
  6196. /*! @name CLPCR - CCM Low Power Control Register */
  6197. /*! @{ */
  6198. #define CCM_CLPCR_LPM_MASK (0x3U)
  6199. #define CCM_CLPCR_LPM_SHIFT (0U)
  6200. /*! LPM
  6201. * 0b00..Remain in run mode
  6202. * 0b01..Transfer to wait mode
  6203. * 0b10..Transfer to stop mode
  6204. * 0b11..Reserved
  6205. */
  6206. #define CCM_CLPCR_LPM(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_LPM_SHIFT)) & CCM_CLPCR_LPM_MASK)
  6207. #define CCM_CLPCR_ARM_CLK_DIS_ON_LPM_MASK (0x20U)
  6208. #define CCM_CLPCR_ARM_CLK_DIS_ON_LPM_SHIFT (5U)
  6209. /*! ARM_CLK_DIS_ON_LPM
  6210. * 0b0..ARM clock enabled on wait mode.
  6211. * 0b1..ARM clock disabled on wait mode. .
  6212. */
  6213. #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)
  6214. #define CCM_CLPCR_SBYOS_MASK (0x40U)
  6215. #define CCM_CLPCR_SBYOS_SHIFT (6U)
  6216. /*! SBYOS
  6217. * 0b0..On-chip oscillator will not be powered down, after next entrance to STOP mode. (CCM_REF_EN_B will remain
  6218. * asserted - '0' and cosc_pwrdown will remain de asserted - '0')
  6219. * 0b1..On-chip oscillator will be powered down, after next entrance to STOP mode. (CCM_REF_EN_B will be
  6220. * deasserted - '1' and cosc_pwrdown will be asserted - '1'). When returning from STOP mode, external oscillator will
  6221. * be enabled again, on-chip oscillator will return to oscillator mode, and after oscnt count, CCM will
  6222. * continue with the exit from the STOP mode process.
  6223. */
  6224. #define CCM_CLPCR_SBYOS(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_SBYOS_SHIFT)) & CCM_CLPCR_SBYOS_MASK)
  6225. #define CCM_CLPCR_DIS_REF_OSC_MASK (0x80U)
  6226. #define CCM_CLPCR_DIS_REF_OSC_SHIFT (7U)
  6227. /*! DIS_REF_OSC
  6228. * 0b0..external high frequency oscillator will be enabled, i.e. CCM_REF_EN_B = '0'.
  6229. * 0b1..external high frequency oscillator will be disabled, i.e. CCM_REF_EN_B = '1'
  6230. */
  6231. #define CCM_CLPCR_DIS_REF_OSC(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_DIS_REF_OSC_SHIFT)) & CCM_CLPCR_DIS_REF_OSC_MASK)
  6232. #define CCM_CLPCR_VSTBY_MASK (0x100U)
  6233. #define CCM_CLPCR_VSTBY_SHIFT (8U)
  6234. /*! VSTBY
  6235. * 0b0..Voltage will not be changed to standby voltage after next entrance to STOP mode. ( PMIC_STBY_REQ will remain negated - '0')
  6236. * 0b1..Voltage will be requested to change to standby voltage after next entrance to stop mode. ( PMIC_STBY_REQ will be asserted - '1').
  6237. */
  6238. #define CCM_CLPCR_VSTBY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_VSTBY_SHIFT)) & CCM_CLPCR_VSTBY_MASK)
  6239. #define CCM_CLPCR_STBY_COUNT_MASK (0x600U)
  6240. #define CCM_CLPCR_STBY_COUNT_SHIFT (9U)
  6241. /*! STBY_COUNT
  6242. * 0b00..CCM will wait (1*pmic_delay_scaler)+1 ckil clock cycles
  6243. * 0b01..CCM will wait (3*pmic_delay_scaler)+1 ckil clock cycles
  6244. * 0b10..CCM will wait (7*pmic_delay_scaler)+1 ckil clock cycles
  6245. * 0b11..CCM will wait (15*pmic_delay_scaler)+1 ckil clock cycles
  6246. */
  6247. #define CCM_CLPCR_STBY_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_STBY_COUNT_SHIFT)) & CCM_CLPCR_STBY_COUNT_MASK)
  6248. #define CCM_CLPCR_COSC_PWRDOWN_MASK (0x800U)
  6249. #define CCM_CLPCR_COSC_PWRDOWN_SHIFT (11U)
  6250. /*! COSC_PWRDOWN
  6251. * 0b0..On chip oscillator will not be powered down, i.e. cosc_pwrdown = '0'.
  6252. * 0b1..On chip oscillator will be powered down, i.e. cosc_pwrdown = '1'.
  6253. */
  6254. #define CCM_CLPCR_COSC_PWRDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_COSC_PWRDOWN_SHIFT)) & CCM_CLPCR_COSC_PWRDOWN_MASK)
  6255. #define CCM_CLPCR_BYPASS_LPM_HS1_MASK (0x80000U)
  6256. #define CCM_CLPCR_BYPASS_LPM_HS1_SHIFT (19U)
  6257. #define CCM_CLPCR_BYPASS_LPM_HS1(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_BYPASS_LPM_HS1_SHIFT)) & CCM_CLPCR_BYPASS_LPM_HS1_MASK)
  6258. #define CCM_CLPCR_BYPASS_LPM_HS0_MASK (0x200000U)
  6259. #define CCM_CLPCR_BYPASS_LPM_HS0_SHIFT (21U)
  6260. #define CCM_CLPCR_BYPASS_LPM_HS0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_BYPASS_LPM_HS0_SHIFT)) & CCM_CLPCR_BYPASS_LPM_HS0_MASK)
  6261. #define CCM_CLPCR_MASK_CORE0_WFI_MASK (0x400000U)
  6262. #define CCM_CLPCR_MASK_CORE0_WFI_SHIFT (22U)
  6263. /*! MASK_CORE0_WFI
  6264. * 0b0..WFI of core0 is not masked
  6265. * 0b1..WFI of core0 is masked
  6266. */
  6267. #define CCM_CLPCR_MASK_CORE0_WFI(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_MASK_CORE0_WFI_SHIFT)) & CCM_CLPCR_MASK_CORE0_WFI_MASK)
  6268. #define CCM_CLPCR_MASK_SCU_IDLE_MASK (0x4000000U)
  6269. #define CCM_CLPCR_MASK_SCU_IDLE_SHIFT (26U)
  6270. /*! MASK_SCU_IDLE
  6271. * 0b1..SCU IDLE is masked
  6272. * 0b0..SCU IDLE is not masked
  6273. */
  6274. #define CCM_CLPCR_MASK_SCU_IDLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_MASK_SCU_IDLE_SHIFT)) & CCM_CLPCR_MASK_SCU_IDLE_MASK)
  6275. #define CCM_CLPCR_MASK_L2CC_IDLE_MASK (0x8000000U)
  6276. #define CCM_CLPCR_MASK_L2CC_IDLE_SHIFT (27U)
  6277. /*! MASK_L2CC_IDLE
  6278. * 0b1..L2CC IDLE is masked
  6279. * 0b0..L2CC IDLE is not masked
  6280. */
  6281. #define CCM_CLPCR_MASK_L2CC_IDLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLPCR_MASK_L2CC_IDLE_SHIFT)) & CCM_CLPCR_MASK_L2CC_IDLE_MASK)
  6282. /*! @} */
  6283. /*! @name CISR - CCM Interrupt Status Register */
  6284. /*! @{ */
  6285. #define CCM_CISR_LRF_PLL_MASK (0x1U)
  6286. #define CCM_CISR_LRF_PLL_SHIFT (0U)
  6287. /*! LRF_PLL
  6288. * 0b0..interrupt is not generated due to lock ready of all enabled and not bypaseed PLLs
  6289. * 0b1..interrupt generated due to lock ready of all enabled and not bypaseed PLLs
  6290. */
  6291. #define CCM_CISR_LRF_PLL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CISR_LRF_PLL_SHIFT)) & CCM_CISR_LRF_PLL_MASK)
  6292. #define CCM_CISR_COSC_READY_MASK (0x40U)
  6293. #define CCM_CISR_COSC_READY_SHIFT (6U)
  6294. /*! COSC_READY
  6295. * 0b0..interrupt is not generated due to on board oscillator ready
  6296. * 0b1..interrupt generated due to on board oscillator ready
  6297. */
  6298. #define CCM_CISR_COSC_READY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CISR_COSC_READY_SHIFT)) & CCM_CISR_COSC_READY_MASK)
  6299. #define CCM_CISR_SEMC_PODF_LOADED_MASK (0x20000U)
  6300. #define CCM_CISR_SEMC_PODF_LOADED_SHIFT (17U)
  6301. /*! SEMC_PODF_LOADED
  6302. * 0b0..interrupt is not generated due to frequency change of semc_podf
  6303. * 0b1..interrupt generated due to frequency change of semc_podf
  6304. */
  6305. #define CCM_CISR_SEMC_PODF_LOADED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CISR_SEMC_PODF_LOADED_SHIFT)) & CCM_CISR_SEMC_PODF_LOADED_MASK)
  6306. #define CCM_CISR_PERIPH2_CLK_SEL_LOADED_MASK (0x80000U)
  6307. #define CCM_CISR_PERIPH2_CLK_SEL_LOADED_SHIFT (19U)
  6308. /*! PERIPH2_CLK_SEL_LOADED
  6309. * 0b0..interrupt is not generated due to frequency change of periph2_clk_sel
  6310. * 0b1..interrupt generated due to frequency change of periph2_clk_sel
  6311. */
  6312. #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)
  6313. #define CCM_CISR_AHB_PODF_LOADED_MASK (0x100000U)
  6314. #define CCM_CISR_AHB_PODF_LOADED_SHIFT (20U)
  6315. /*! AHB_PODF_LOADED
  6316. * 0b0..interrupt is not generated due to frequency change of ahb_podf
  6317. * 0b1..interrupt generated due to frequency change of ahb_podf
  6318. */
  6319. #define CCM_CISR_AHB_PODF_LOADED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CISR_AHB_PODF_LOADED_SHIFT)) & CCM_CISR_AHB_PODF_LOADED_MASK)
  6320. #define CCM_CISR_PERIPH_CLK_SEL_LOADED_MASK (0x400000U)
  6321. #define CCM_CISR_PERIPH_CLK_SEL_LOADED_SHIFT (22U)
  6322. /*! PERIPH_CLK_SEL_LOADED
  6323. * 0b0..interrupt is not generated due to update of periph_clk_sel.
  6324. * 0b1..interrupt generated due to update of periph_clk_sel.
  6325. */
  6326. #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)
  6327. #define CCM_CISR_ARM_PODF_LOADED_MASK (0x4000000U)
  6328. #define CCM_CISR_ARM_PODF_LOADED_SHIFT (26U)
  6329. /*! ARM_PODF_LOADED
  6330. * 0b0..interrupt is not generated due to frequency change of arm_podf
  6331. * 0b1..interrupt generated due to frequency change of arm_podf
  6332. */
  6333. #define CCM_CISR_ARM_PODF_LOADED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CISR_ARM_PODF_LOADED_SHIFT)) & CCM_CISR_ARM_PODF_LOADED_MASK)
  6334. /*! @} */
  6335. /*! @name CIMR - CCM Interrupt Mask Register */
  6336. /*! @{ */
  6337. #define CCM_CIMR_MASK_LRF_PLL_MASK (0x1U)
  6338. #define CCM_CIMR_MASK_LRF_PLL_SHIFT (0U)
  6339. /*! MASK_LRF_PLL
  6340. * 0b0..don't mask interrupt due to lrf of PLLs - interrupt will be created
  6341. * 0b1..mask interrupt due to lrf of PLLs
  6342. */
  6343. #define CCM_CIMR_MASK_LRF_PLL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CIMR_MASK_LRF_PLL_SHIFT)) & CCM_CIMR_MASK_LRF_PLL_MASK)
  6344. #define CCM_CIMR_MASK_COSC_READY_MASK (0x40U)
  6345. #define CCM_CIMR_MASK_COSC_READY_SHIFT (6U)
  6346. /*! MASK_COSC_READY
  6347. * 0b0..don't mask interrupt due to on board oscillator ready - interrupt will be created
  6348. * 0b1..mask interrupt due to on board oscillator ready
  6349. */
  6350. #define CCM_CIMR_MASK_COSC_READY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CIMR_MASK_COSC_READY_SHIFT)) & CCM_CIMR_MASK_COSC_READY_MASK)
  6351. #define CCM_CIMR_MASK_SEMC_PODF_LOADED_MASK (0x20000U)
  6352. #define CCM_CIMR_MASK_SEMC_PODF_LOADED_SHIFT (17U)
  6353. /*! MASK_SEMC_PODF_LOADED
  6354. * 0b0..don't mask interrupt due to frequency change of semc_podf - interrupt will be created
  6355. * 0b1..mask interrupt due to frequency change of semc_podf
  6356. */
  6357. #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)
  6358. #define CCM_CIMR_MASK_PERIPH2_CLK_SEL_LOADED_MASK (0x80000U)
  6359. #define CCM_CIMR_MASK_PERIPH2_CLK_SEL_LOADED_SHIFT (19U)
  6360. /*! MASK_PERIPH2_CLK_SEL_LOADED
  6361. * 0b0..don't mask interrupt due to update of periph2_clk_sel - interrupt will be created
  6362. * 0b1..mask interrupt due to update of periph2_clk_sel
  6363. */
  6364. #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)
  6365. #define CCM_CIMR_MASK_AHB_PODF_LOADED_MASK (0x100000U)
  6366. #define CCM_CIMR_MASK_AHB_PODF_LOADED_SHIFT (20U)
  6367. /*! MASK_AHB_PODF_LOADED
  6368. * 0b0..don't mask interrupt due to frequency change of ahb_podf - interrupt will be created
  6369. * 0b1..mask interrupt due to frequency change of ahb_podf
  6370. */
  6371. #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)
  6372. #define CCM_CIMR_MASK_PERIPH_CLK_SEL_LOADED_MASK (0x400000U)
  6373. #define CCM_CIMR_MASK_PERIPH_CLK_SEL_LOADED_SHIFT (22U)
  6374. /*! MASK_PERIPH_CLK_SEL_LOADED
  6375. * 0b0..don't mask interrupt due to update of periph_clk_sel - interrupt will be created
  6376. * 0b1..mask interrupt due to update of periph_clk_sel
  6377. */
  6378. #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)
  6379. #define CCM_CIMR_ARM_PODF_LOADED_MASK (0x4000000U)
  6380. #define CCM_CIMR_ARM_PODF_LOADED_SHIFT (26U)
  6381. /*! ARM_PODF_LOADED
  6382. * 0b0..don't mask interrupt due to frequency change of arm_podf - interrupt will be created
  6383. * 0b1..mask interrupt due to frequency change of arm_podf
  6384. */
  6385. #define CCM_CIMR_ARM_PODF_LOADED(x) (((uint32_t)(((uint32_t)(x)) << CCM_CIMR_ARM_PODF_LOADED_SHIFT)) & CCM_CIMR_ARM_PODF_LOADED_MASK)
  6386. /*! @} */
  6387. /*! @name CCOSR - CCM Clock Output Source Register */
  6388. /*! @{ */
  6389. #define CCM_CCOSR_CLKO1_SEL_MASK (0xFU)
  6390. #define CCM_CCOSR_CLKO1_SEL_SHIFT (0U)
  6391. /*! CLKO1_SEL
  6392. * 0b0000..USB1 PLL clock (divided by 2)
  6393. * 0b0001..SYS PLL clock (divided by 2)
  6394. * 0b0011..VIDEO PLL clock (divided by 2)
  6395. * 0b0101..semc_clk_root
  6396. * 0b0110..Reserved
  6397. * 0b1010..lcdif_pix_clk_root
  6398. * 0b1011..ahb_clk_root
  6399. * 0b1100..ipg_clk_root
  6400. * 0b1101..perclk_root
  6401. * 0b1110..ckil_sync_clk_root
  6402. * 0b1111..pll4_main_clk
  6403. */
  6404. #define CCM_CCOSR_CLKO1_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCOSR_CLKO1_SEL_SHIFT)) & CCM_CCOSR_CLKO1_SEL_MASK)
  6405. #define CCM_CCOSR_CLKO1_DIV_MASK (0x70U)
  6406. #define CCM_CCOSR_CLKO1_DIV_SHIFT (4U)
  6407. /*! CLKO1_DIV
  6408. * 0b000..divide by 1
  6409. * 0b001..divide by 2
  6410. * 0b010..divide by 3
  6411. * 0b011..divide by 4
  6412. * 0b100..divide by 5
  6413. * 0b101..divide by 6
  6414. * 0b110..divide by 7
  6415. * 0b111..divide by 8
  6416. */
  6417. #define CCM_CCOSR_CLKO1_DIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCOSR_CLKO1_DIV_SHIFT)) & CCM_CCOSR_CLKO1_DIV_MASK)
  6418. #define CCM_CCOSR_CLKO1_EN_MASK (0x80U)
  6419. #define CCM_CCOSR_CLKO1_EN_SHIFT (7U)
  6420. /*! CLKO1_EN
  6421. * 0b0..CCM_CLKO1 disabled.
  6422. * 0b1..CCM_CLKO1 enabled.
  6423. */
  6424. #define CCM_CCOSR_CLKO1_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCOSR_CLKO1_EN_SHIFT)) & CCM_CCOSR_CLKO1_EN_MASK)
  6425. #define CCM_CCOSR_CLK_OUT_SEL_MASK (0x100U)
  6426. #define CCM_CCOSR_CLK_OUT_SEL_SHIFT (8U)
  6427. /*! CLK_OUT_SEL
  6428. * 0b0..CCM_CLKO1 output drives CCM_CLKO1 clock
  6429. * 0b1..CCM_CLKO1 output drives CCM_CLKO2 clock
  6430. */
  6431. #define CCM_CCOSR_CLK_OUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCOSR_CLK_OUT_SEL_SHIFT)) & CCM_CCOSR_CLK_OUT_SEL_MASK)
  6432. #define CCM_CCOSR_CLKO2_SEL_MASK (0x1F0000U)
  6433. #define CCM_CCOSR_CLKO2_SEL_SHIFT (16U)
  6434. /*! CLKO2_SEL
  6435. * 0b00011..usdhc1_clk_root
  6436. * 0b00110..lpi2c_clk_root
  6437. * 0b01011..csi_clk_root
  6438. * 0b01110..osc_clk
  6439. * 0b10001..usdhc2_clk_root
  6440. * 0b10010..sai1_clk_root
  6441. * 0b10011..sai2_clk_root
  6442. * 0b10100..sai3_clk_root (shared with ADC1 and ADC2 alt_clk root)
  6443. * 0b10111..can_clk_root (FlexCAN, shared with CANFD)
  6444. * 0b11011..flexspi_clk_root
  6445. * 0b11100..uart_clk_root
  6446. * 0b11101..spdif0_clk_root
  6447. * 0b11111..Reserved
  6448. */
  6449. #define CCM_CCOSR_CLKO2_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCOSR_CLKO2_SEL_SHIFT)) & CCM_CCOSR_CLKO2_SEL_MASK)
  6450. #define CCM_CCOSR_CLKO2_DIV_MASK (0xE00000U)
  6451. #define CCM_CCOSR_CLKO2_DIV_SHIFT (21U)
  6452. /*! CLKO2_DIV
  6453. * 0b000..divide by 1
  6454. * 0b001..divide by 2
  6455. * 0b010..divide by 3
  6456. * 0b011..divide by 4
  6457. * 0b100..divide by 5
  6458. * 0b101..divide by 6
  6459. * 0b110..divide by 7
  6460. * 0b111..divide by 8
  6461. */
  6462. #define CCM_CCOSR_CLKO2_DIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCOSR_CLKO2_DIV_SHIFT)) & CCM_CCOSR_CLKO2_DIV_MASK)
  6463. #define CCM_CCOSR_CLKO2_EN_MASK (0x1000000U)
  6464. #define CCM_CCOSR_CLKO2_EN_SHIFT (24U)
  6465. /*! CLKO2_EN
  6466. * 0b0..CCM_CLKO2 disabled.
  6467. * 0b1..CCM_CLKO2 enabled.
  6468. */
  6469. #define CCM_CCOSR_CLKO2_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCOSR_CLKO2_EN_SHIFT)) & CCM_CCOSR_CLKO2_EN_MASK)
  6470. /*! @} */
  6471. /*! @name CGPR - CCM General Purpose Register */
  6472. /*! @{ */
  6473. #define CCM_CGPR_PMIC_DELAY_SCALER_MASK (0x1U)
  6474. #define CCM_CGPR_PMIC_DELAY_SCALER_SHIFT (0U)
  6475. /*! PMIC_DELAY_SCALER
  6476. * 0b0..clock is not divided
  6477. * 0b1..clock is divided /8
  6478. */
  6479. #define CCM_CGPR_PMIC_DELAY_SCALER(x) (((uint32_t)(((uint32_t)(x)) << CCM_CGPR_PMIC_DELAY_SCALER_SHIFT)) & CCM_CGPR_PMIC_DELAY_SCALER_MASK)
  6480. #define CCM_CGPR_EFUSE_PROG_SUPPLY_GATE_MASK (0x10U)
  6481. #define CCM_CGPR_EFUSE_PROG_SUPPLY_GATE_SHIFT (4U)
  6482. /*! EFUSE_PROG_SUPPLY_GATE
  6483. * 0b0..fuse programing supply voltage is gated off to the efuse module
  6484. * 0b1..allow fuse programing.
  6485. */
  6486. #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)
  6487. #define CCM_CGPR_SYS_MEM_DS_CTRL_MASK (0xC000U)
  6488. #define CCM_CGPR_SYS_MEM_DS_CTRL_SHIFT (14U)
  6489. /*! SYS_MEM_DS_CTRL
  6490. * 0b00..Disable memory DS mode always
  6491. * 0b01..Enable memory (outside ARM platform) DS mode when system STOP and PLL are disabled
  6492. * 0b1x..enable memory (outside ARM platform) DS mode when system is in STOP mode
  6493. */
  6494. #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)
  6495. #define CCM_CGPR_FPL_MASK (0x10000U)
  6496. #define CCM_CGPR_FPL_SHIFT (16U)
  6497. /*! FPL - Fast PLL enable.
  6498. * 0b0..Engage PLL enable default way.
  6499. * 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.
  6500. */
  6501. #define CCM_CGPR_FPL(x) (((uint32_t)(((uint32_t)(x)) << CCM_CGPR_FPL_SHIFT)) & CCM_CGPR_FPL_MASK)
  6502. #define CCM_CGPR_INT_MEM_CLK_LPM_MASK (0x20000U)
  6503. #define CCM_CGPR_INT_MEM_CLK_LPM_SHIFT (17U)
  6504. /*! INT_MEM_CLK_LPM
  6505. * 0b0..Disable the clock to the ARM platform memories when entering Low Power Mode
  6506. * 0b1..Keep the clocks to the ARM platform memories enabled only if an interrupt is pending when entering Low
  6507. * Power Modes (WAIT and STOP without power gating)
  6508. */
  6509. #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)
  6510. /*! @} */
  6511. /*! @name CCGR0 - CCM Clock Gating Register 0 */
  6512. /*! @{ */
  6513. #define CCM_CCGR0_CG0_MASK (0x3U)
  6514. #define CCM_CCGR0_CG0_SHIFT (0U)
  6515. #define CCM_CCGR0_CG0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG0_SHIFT)) & CCM_CCGR0_CG0_MASK)
  6516. #define CCM_CCGR0_CG1_MASK (0xCU)
  6517. #define CCM_CCGR0_CG1_SHIFT (2U)
  6518. #define CCM_CCGR0_CG1(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG1_SHIFT)) & CCM_CCGR0_CG1_MASK)
  6519. #define CCM_CCGR0_CG2_MASK (0x30U)
  6520. #define CCM_CCGR0_CG2_SHIFT (4U)
  6521. #define CCM_CCGR0_CG2(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG2_SHIFT)) & CCM_CCGR0_CG2_MASK)
  6522. #define CCM_CCGR0_CG3_MASK (0xC0U)
  6523. #define CCM_CCGR0_CG3_SHIFT (6U)
  6524. #define CCM_CCGR0_CG3(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG3_SHIFT)) & CCM_CCGR0_CG3_MASK)
  6525. #define CCM_CCGR0_CG4_MASK (0x300U)
  6526. #define CCM_CCGR0_CG4_SHIFT (8U)
  6527. #define CCM_CCGR0_CG4(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG4_SHIFT)) & CCM_CCGR0_CG4_MASK)
  6528. #define CCM_CCGR0_CG5_MASK (0xC00U)
  6529. #define CCM_CCGR0_CG5_SHIFT (10U)
  6530. #define CCM_CCGR0_CG5(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG5_SHIFT)) & CCM_CCGR0_CG5_MASK)
  6531. #define CCM_CCGR0_CG6_MASK (0x3000U)
  6532. #define CCM_CCGR0_CG6_SHIFT (12U)
  6533. #define CCM_CCGR0_CG6(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG6_SHIFT)) & CCM_CCGR0_CG6_MASK)
  6534. #define CCM_CCGR0_CG7_MASK (0xC000U)
  6535. #define CCM_CCGR0_CG7_SHIFT (14U)
  6536. #define CCM_CCGR0_CG7(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG7_SHIFT)) & CCM_CCGR0_CG7_MASK)
  6537. #define CCM_CCGR0_CG8_MASK (0x30000U)
  6538. #define CCM_CCGR0_CG8_SHIFT (16U)
  6539. #define CCM_CCGR0_CG8(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG8_SHIFT)) & CCM_CCGR0_CG8_MASK)
  6540. #define CCM_CCGR0_CG9_MASK (0xC0000U)
  6541. #define CCM_CCGR0_CG9_SHIFT (18U)
  6542. #define CCM_CCGR0_CG9(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG9_SHIFT)) & CCM_CCGR0_CG9_MASK)
  6543. #define CCM_CCGR0_CG10_MASK (0x300000U)
  6544. #define CCM_CCGR0_CG10_SHIFT (20U)
  6545. #define CCM_CCGR0_CG10(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG10_SHIFT)) & CCM_CCGR0_CG10_MASK)
  6546. #define CCM_CCGR0_CG11_MASK (0xC00000U)
  6547. #define CCM_CCGR0_CG11_SHIFT (22U)
  6548. #define CCM_CCGR0_CG11(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG11_SHIFT)) & CCM_CCGR0_CG11_MASK)
  6549. #define CCM_CCGR0_CG12_MASK (0x3000000U)
  6550. #define CCM_CCGR0_CG12_SHIFT (24U)
  6551. #define CCM_CCGR0_CG12(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG12_SHIFT)) & CCM_CCGR0_CG12_MASK)
  6552. #define CCM_CCGR0_CG13_MASK (0xC000000U)
  6553. #define CCM_CCGR0_CG13_SHIFT (26U)
  6554. #define CCM_CCGR0_CG13(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG13_SHIFT)) & CCM_CCGR0_CG13_MASK)
  6555. #define CCM_CCGR0_CG14_MASK (0x30000000U)
  6556. #define CCM_CCGR0_CG14_SHIFT (28U)
  6557. #define CCM_CCGR0_CG14(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG14_SHIFT)) & CCM_CCGR0_CG14_MASK)
  6558. #define CCM_CCGR0_CG15_MASK (0xC0000000U)
  6559. #define CCM_CCGR0_CG15_SHIFT (30U)
  6560. #define CCM_CCGR0_CG15(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR0_CG15_SHIFT)) & CCM_CCGR0_CG15_MASK)
  6561. /*! @} */
  6562. /*! @name CCGR1 - CCM Clock Gating Register 1 */
  6563. /*! @{ */
  6564. #define CCM_CCGR1_CG0_MASK (0x3U)
  6565. #define CCM_CCGR1_CG0_SHIFT (0U)
  6566. #define CCM_CCGR1_CG0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG0_SHIFT)) & CCM_CCGR1_CG0_MASK)
  6567. #define CCM_CCGR1_CG1_MASK (0xCU)
  6568. #define CCM_CCGR1_CG1_SHIFT (2U)
  6569. #define CCM_CCGR1_CG1(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG1_SHIFT)) & CCM_CCGR1_CG1_MASK)
  6570. #define CCM_CCGR1_CG2_MASK (0x30U)
  6571. #define CCM_CCGR1_CG2_SHIFT (4U)
  6572. #define CCM_CCGR1_CG2(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG2_SHIFT)) & CCM_CCGR1_CG2_MASK)
  6573. #define CCM_CCGR1_CG3_MASK (0xC0U)
  6574. #define CCM_CCGR1_CG3_SHIFT (6U)
  6575. #define CCM_CCGR1_CG3(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG3_SHIFT)) & CCM_CCGR1_CG3_MASK)
  6576. #define CCM_CCGR1_CG4_MASK (0x300U)
  6577. #define CCM_CCGR1_CG4_SHIFT (8U)
  6578. #define CCM_CCGR1_CG4(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG4_SHIFT)) & CCM_CCGR1_CG4_MASK)
  6579. #define CCM_CCGR1_CG5_MASK (0xC00U)
  6580. #define CCM_CCGR1_CG5_SHIFT (10U)
  6581. #define CCM_CCGR1_CG5(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG5_SHIFT)) & CCM_CCGR1_CG5_MASK)
  6582. #define CCM_CCGR1_CG6_MASK (0x3000U)
  6583. #define CCM_CCGR1_CG6_SHIFT (12U)
  6584. #define CCM_CCGR1_CG6(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG6_SHIFT)) & CCM_CCGR1_CG6_MASK)
  6585. #define CCM_CCGR1_CG7_MASK (0xC000U)
  6586. #define CCM_CCGR1_CG7_SHIFT (14U)
  6587. #define CCM_CCGR1_CG7(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG7_SHIFT)) & CCM_CCGR1_CG7_MASK)
  6588. #define CCM_CCGR1_CG8_MASK (0x30000U)
  6589. #define CCM_CCGR1_CG8_SHIFT (16U)
  6590. #define CCM_CCGR1_CG8(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG8_SHIFT)) & CCM_CCGR1_CG8_MASK)
  6591. #define CCM_CCGR1_CG9_MASK (0xC0000U)
  6592. #define CCM_CCGR1_CG9_SHIFT (18U)
  6593. #define CCM_CCGR1_CG9(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG9_SHIFT)) & CCM_CCGR1_CG9_MASK)
  6594. #define CCM_CCGR1_CG10_MASK (0x300000U)
  6595. #define CCM_CCGR1_CG10_SHIFT (20U)
  6596. #define CCM_CCGR1_CG10(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG10_SHIFT)) & CCM_CCGR1_CG10_MASK)
  6597. #define CCM_CCGR1_CG11_MASK (0xC00000U)
  6598. #define CCM_CCGR1_CG11_SHIFT (22U)
  6599. #define CCM_CCGR1_CG11(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG11_SHIFT)) & CCM_CCGR1_CG11_MASK)
  6600. #define CCM_CCGR1_CG12_MASK (0x3000000U)
  6601. #define CCM_CCGR1_CG12_SHIFT (24U)
  6602. #define CCM_CCGR1_CG12(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG12_SHIFT)) & CCM_CCGR1_CG12_MASK)
  6603. #define CCM_CCGR1_CG13_MASK (0xC000000U)
  6604. #define CCM_CCGR1_CG13_SHIFT (26U)
  6605. #define CCM_CCGR1_CG13(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG13_SHIFT)) & CCM_CCGR1_CG13_MASK)
  6606. #define CCM_CCGR1_CG14_MASK (0x30000000U)
  6607. #define CCM_CCGR1_CG14_SHIFT (28U)
  6608. #define CCM_CCGR1_CG14(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG14_SHIFT)) & CCM_CCGR1_CG14_MASK)
  6609. #define CCM_CCGR1_CG15_MASK (0xC0000000U)
  6610. #define CCM_CCGR1_CG15_SHIFT (30U)
  6611. #define CCM_CCGR1_CG15(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR1_CG15_SHIFT)) & CCM_CCGR1_CG15_MASK)
  6612. /*! @} */
  6613. /*! @name CCGR2 - CCM Clock Gating Register 2 */
  6614. /*! @{ */
  6615. #define CCM_CCGR2_CG0_MASK (0x3U)
  6616. #define CCM_CCGR2_CG0_SHIFT (0U)
  6617. #define CCM_CCGR2_CG0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG0_SHIFT)) & CCM_CCGR2_CG0_MASK)
  6618. #define CCM_CCGR2_CG1_MASK (0xCU)
  6619. #define CCM_CCGR2_CG1_SHIFT (2U)
  6620. #define CCM_CCGR2_CG1(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG1_SHIFT)) & CCM_CCGR2_CG1_MASK)
  6621. #define CCM_CCGR2_CG2_MASK (0x30U)
  6622. #define CCM_CCGR2_CG2_SHIFT (4U)
  6623. #define CCM_CCGR2_CG2(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG2_SHIFT)) & CCM_CCGR2_CG2_MASK)
  6624. #define CCM_CCGR2_CG3_MASK (0xC0U)
  6625. #define CCM_CCGR2_CG3_SHIFT (6U)
  6626. #define CCM_CCGR2_CG3(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG3_SHIFT)) & CCM_CCGR2_CG3_MASK)
  6627. #define CCM_CCGR2_CG4_MASK (0x300U)
  6628. #define CCM_CCGR2_CG4_SHIFT (8U)
  6629. #define CCM_CCGR2_CG4(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG4_SHIFT)) & CCM_CCGR2_CG4_MASK)
  6630. #define CCM_CCGR2_CG5_MASK (0xC00U)
  6631. #define CCM_CCGR2_CG5_SHIFT (10U)
  6632. #define CCM_CCGR2_CG5(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG5_SHIFT)) & CCM_CCGR2_CG5_MASK)
  6633. #define CCM_CCGR2_CG6_MASK (0x3000U)
  6634. #define CCM_CCGR2_CG6_SHIFT (12U)
  6635. #define CCM_CCGR2_CG6(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG6_SHIFT)) & CCM_CCGR2_CG6_MASK)
  6636. #define CCM_CCGR2_CG7_MASK (0xC000U)
  6637. #define CCM_CCGR2_CG7_SHIFT (14U)
  6638. #define CCM_CCGR2_CG7(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG7_SHIFT)) & CCM_CCGR2_CG7_MASK)
  6639. #define CCM_CCGR2_CG8_MASK (0x30000U)
  6640. #define CCM_CCGR2_CG8_SHIFT (16U)
  6641. #define CCM_CCGR2_CG8(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG8_SHIFT)) & CCM_CCGR2_CG8_MASK)
  6642. #define CCM_CCGR2_CG9_MASK (0xC0000U)
  6643. #define CCM_CCGR2_CG9_SHIFT (18U)
  6644. #define CCM_CCGR2_CG9(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG9_SHIFT)) & CCM_CCGR2_CG9_MASK)
  6645. #define CCM_CCGR2_CG10_MASK (0x300000U)
  6646. #define CCM_CCGR2_CG10_SHIFT (20U)
  6647. #define CCM_CCGR2_CG10(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG10_SHIFT)) & CCM_CCGR2_CG10_MASK)
  6648. #define CCM_CCGR2_CG11_MASK (0xC00000U)
  6649. #define CCM_CCGR2_CG11_SHIFT (22U)
  6650. #define CCM_CCGR2_CG11(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG11_SHIFT)) & CCM_CCGR2_CG11_MASK)
  6651. #define CCM_CCGR2_CG12_MASK (0x3000000U)
  6652. #define CCM_CCGR2_CG12_SHIFT (24U)
  6653. #define CCM_CCGR2_CG12(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG12_SHIFT)) & CCM_CCGR2_CG12_MASK)
  6654. #define CCM_CCGR2_CG13_MASK (0xC000000U)
  6655. #define CCM_CCGR2_CG13_SHIFT (26U)
  6656. #define CCM_CCGR2_CG13(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG13_SHIFT)) & CCM_CCGR2_CG13_MASK)
  6657. #define CCM_CCGR2_CG14_MASK (0x30000000U)
  6658. #define CCM_CCGR2_CG14_SHIFT (28U)
  6659. #define CCM_CCGR2_CG14(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG14_SHIFT)) & CCM_CCGR2_CG14_MASK)
  6660. #define CCM_CCGR2_CG15_MASK (0xC0000000U)
  6661. #define CCM_CCGR2_CG15_SHIFT (30U)
  6662. #define CCM_CCGR2_CG15(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR2_CG15_SHIFT)) & CCM_CCGR2_CG15_MASK)
  6663. /*! @} */
  6664. /*! @name CCGR3 - CCM Clock Gating Register 3 */
  6665. /*! @{ */
  6666. #define CCM_CCGR3_CG0_MASK (0x3U)
  6667. #define CCM_CCGR3_CG0_SHIFT (0U)
  6668. #define CCM_CCGR3_CG0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG0_SHIFT)) & CCM_CCGR3_CG0_MASK)
  6669. #define CCM_CCGR3_CG1_MASK (0xCU)
  6670. #define CCM_CCGR3_CG1_SHIFT (2U)
  6671. #define CCM_CCGR3_CG1(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG1_SHIFT)) & CCM_CCGR3_CG1_MASK)
  6672. #define CCM_CCGR3_CG2_MASK (0x30U)
  6673. #define CCM_CCGR3_CG2_SHIFT (4U)
  6674. #define CCM_CCGR3_CG2(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG2_SHIFT)) & CCM_CCGR3_CG2_MASK)
  6675. #define CCM_CCGR3_CG3_MASK (0xC0U)
  6676. #define CCM_CCGR3_CG3_SHIFT (6U)
  6677. #define CCM_CCGR3_CG3(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG3_SHIFT)) & CCM_CCGR3_CG3_MASK)
  6678. #define CCM_CCGR3_CG4_MASK (0x300U)
  6679. #define CCM_CCGR3_CG4_SHIFT (8U)
  6680. #define CCM_CCGR3_CG4(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG4_SHIFT)) & CCM_CCGR3_CG4_MASK)
  6681. #define CCM_CCGR3_CG5_MASK (0xC00U)
  6682. #define CCM_CCGR3_CG5_SHIFT (10U)
  6683. #define CCM_CCGR3_CG5(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG5_SHIFT)) & CCM_CCGR3_CG5_MASK)
  6684. #define CCM_CCGR3_CG6_MASK (0x3000U)
  6685. #define CCM_CCGR3_CG6_SHIFT (12U)
  6686. #define CCM_CCGR3_CG6(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG6_SHIFT)) & CCM_CCGR3_CG6_MASK)
  6687. #define CCM_CCGR3_CG7_MASK (0xC000U)
  6688. #define CCM_CCGR3_CG7_SHIFT (14U)
  6689. #define CCM_CCGR3_CG7(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG7_SHIFT)) & CCM_CCGR3_CG7_MASK)
  6690. #define CCM_CCGR3_CG8_MASK (0x30000U)
  6691. #define CCM_CCGR3_CG8_SHIFT (16U)
  6692. #define CCM_CCGR3_CG8(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG8_SHIFT)) & CCM_CCGR3_CG8_MASK)
  6693. #define CCM_CCGR3_CG9_MASK (0xC0000U)
  6694. #define CCM_CCGR3_CG9_SHIFT (18U)
  6695. #define CCM_CCGR3_CG9(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG9_SHIFT)) & CCM_CCGR3_CG9_MASK)
  6696. #define CCM_CCGR3_CG10_MASK (0x300000U)
  6697. #define CCM_CCGR3_CG10_SHIFT (20U)
  6698. #define CCM_CCGR3_CG10(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG10_SHIFT)) & CCM_CCGR3_CG10_MASK)
  6699. #define CCM_CCGR3_CG11_MASK (0xC00000U)
  6700. #define CCM_CCGR3_CG11_SHIFT (22U)
  6701. #define CCM_CCGR3_CG11(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG11_SHIFT)) & CCM_CCGR3_CG11_MASK)
  6702. #define CCM_CCGR3_CG12_MASK (0x3000000U)
  6703. #define CCM_CCGR3_CG12_SHIFT (24U)
  6704. #define CCM_CCGR3_CG12(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG12_SHIFT)) & CCM_CCGR3_CG12_MASK)
  6705. #define CCM_CCGR3_CG13_MASK (0xC000000U)
  6706. #define CCM_CCGR3_CG13_SHIFT (26U)
  6707. #define CCM_CCGR3_CG13(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG13_SHIFT)) & CCM_CCGR3_CG13_MASK)
  6708. #define CCM_CCGR3_CG14_MASK (0x30000000U)
  6709. #define CCM_CCGR3_CG14_SHIFT (28U)
  6710. /*! CG14 - The OCRAM clock cannot be turned off when the CM cache is running on this device.
  6711. */
  6712. #define CCM_CCGR3_CG14(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG14_SHIFT)) & CCM_CCGR3_CG14_MASK)
  6713. #define CCM_CCGR3_CG15_MASK (0xC0000000U)
  6714. #define CCM_CCGR3_CG15_SHIFT (30U)
  6715. #define CCM_CCGR3_CG15(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR3_CG15_SHIFT)) & CCM_CCGR3_CG15_MASK)
  6716. /*! @} */
  6717. /*! @name CCGR4 - CCM Clock Gating Register 4 */
  6718. /*! @{ */
  6719. #define CCM_CCGR4_CG0_MASK (0x3U)
  6720. #define CCM_CCGR4_CG0_SHIFT (0U)
  6721. #define CCM_CCGR4_CG0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG0_SHIFT)) & CCM_CCGR4_CG0_MASK)
  6722. #define CCM_CCGR4_CG1_MASK (0xCU)
  6723. #define CCM_CCGR4_CG1_SHIFT (2U)
  6724. #define CCM_CCGR4_CG1(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG1_SHIFT)) & CCM_CCGR4_CG1_MASK)
  6725. #define CCM_CCGR4_CG2_MASK (0x30U)
  6726. #define CCM_CCGR4_CG2_SHIFT (4U)
  6727. #define CCM_CCGR4_CG2(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG2_SHIFT)) & CCM_CCGR4_CG2_MASK)
  6728. #define CCM_CCGR4_CG3_MASK (0xC0U)
  6729. #define CCM_CCGR4_CG3_SHIFT (6U)
  6730. #define CCM_CCGR4_CG3(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG3_SHIFT)) & CCM_CCGR4_CG3_MASK)
  6731. #define CCM_CCGR4_CG4_MASK (0x300U)
  6732. #define CCM_CCGR4_CG4_SHIFT (8U)
  6733. #define CCM_CCGR4_CG4(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG4_SHIFT)) & CCM_CCGR4_CG4_MASK)
  6734. #define CCM_CCGR4_CG5_MASK (0xC00U)
  6735. #define CCM_CCGR4_CG5_SHIFT (10U)
  6736. #define CCM_CCGR4_CG5(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG5_SHIFT)) & CCM_CCGR4_CG5_MASK)
  6737. #define CCM_CCGR4_CG6_MASK (0x3000U)
  6738. #define CCM_CCGR4_CG6_SHIFT (12U)
  6739. #define CCM_CCGR4_CG6(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG6_SHIFT)) & CCM_CCGR4_CG6_MASK)
  6740. #define CCM_CCGR4_CG7_MASK (0xC000U)
  6741. #define CCM_CCGR4_CG7_SHIFT (14U)
  6742. #define CCM_CCGR4_CG7(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG7_SHIFT)) & CCM_CCGR4_CG7_MASK)
  6743. #define CCM_CCGR4_CG8_MASK (0x30000U)
  6744. #define CCM_CCGR4_CG8_SHIFT (16U)
  6745. #define CCM_CCGR4_CG8(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG8_SHIFT)) & CCM_CCGR4_CG8_MASK)
  6746. #define CCM_CCGR4_CG9_MASK (0xC0000U)
  6747. #define CCM_CCGR4_CG9_SHIFT (18U)
  6748. #define CCM_CCGR4_CG9(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG9_SHIFT)) & CCM_CCGR4_CG9_MASK)
  6749. #define CCM_CCGR4_CG10_MASK (0x300000U)
  6750. #define CCM_CCGR4_CG10_SHIFT (20U)
  6751. #define CCM_CCGR4_CG10(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG10_SHIFT)) & CCM_CCGR4_CG10_MASK)
  6752. #define CCM_CCGR4_CG11_MASK (0xC00000U)
  6753. #define CCM_CCGR4_CG11_SHIFT (22U)
  6754. #define CCM_CCGR4_CG11(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG11_SHIFT)) & CCM_CCGR4_CG11_MASK)
  6755. #define CCM_CCGR4_CG12_MASK (0x3000000U)
  6756. #define CCM_CCGR4_CG12_SHIFT (24U)
  6757. #define CCM_CCGR4_CG12(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG12_SHIFT)) & CCM_CCGR4_CG12_MASK)
  6758. #define CCM_CCGR4_CG13_MASK (0xC000000U)
  6759. #define CCM_CCGR4_CG13_SHIFT (26U)
  6760. #define CCM_CCGR4_CG13(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG13_SHIFT)) & CCM_CCGR4_CG13_MASK)
  6761. #define CCM_CCGR4_CG14_MASK (0x30000000U)
  6762. #define CCM_CCGR4_CG14_SHIFT (28U)
  6763. #define CCM_CCGR4_CG14(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG14_SHIFT)) & CCM_CCGR4_CG14_MASK)
  6764. #define CCM_CCGR4_CG15_MASK (0xC0000000U)
  6765. #define CCM_CCGR4_CG15_SHIFT (30U)
  6766. #define CCM_CCGR4_CG15(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR4_CG15_SHIFT)) & CCM_CCGR4_CG15_MASK)
  6767. /*! @} */
  6768. /*! @name CCGR5 - CCM Clock Gating Register 5 */
  6769. /*! @{ */
  6770. #define CCM_CCGR5_CG0_MASK (0x3U)
  6771. #define CCM_CCGR5_CG0_SHIFT (0U)
  6772. #define CCM_CCGR5_CG0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG0_SHIFT)) & CCM_CCGR5_CG0_MASK)
  6773. #define CCM_CCGR5_CG1_MASK (0xCU)
  6774. #define CCM_CCGR5_CG1_SHIFT (2U)
  6775. #define CCM_CCGR5_CG1(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG1_SHIFT)) & CCM_CCGR5_CG1_MASK)
  6776. #define CCM_CCGR5_CG2_MASK (0x30U)
  6777. #define CCM_CCGR5_CG2_SHIFT (4U)
  6778. #define CCM_CCGR5_CG2(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG2_SHIFT)) & CCM_CCGR5_CG2_MASK)
  6779. #define CCM_CCGR5_CG3_MASK (0xC0U)
  6780. #define CCM_CCGR5_CG3_SHIFT (6U)
  6781. #define CCM_CCGR5_CG3(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG3_SHIFT)) & CCM_CCGR5_CG3_MASK)
  6782. #define CCM_CCGR5_CG4_MASK (0x300U)
  6783. #define CCM_CCGR5_CG4_SHIFT (8U)
  6784. #define CCM_CCGR5_CG4(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG4_SHIFT)) & CCM_CCGR5_CG4_MASK)
  6785. #define CCM_CCGR5_CG5_MASK (0xC00U)
  6786. #define CCM_CCGR5_CG5_SHIFT (10U)
  6787. #define CCM_CCGR5_CG5(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG5_SHIFT)) & CCM_CCGR5_CG5_MASK)
  6788. #define CCM_CCGR5_CG6_MASK (0x3000U)
  6789. #define CCM_CCGR5_CG6_SHIFT (12U)
  6790. #define CCM_CCGR5_CG6(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG6_SHIFT)) & CCM_CCGR5_CG6_MASK)
  6791. #define CCM_CCGR5_CG7_MASK (0xC000U)
  6792. #define CCM_CCGR5_CG7_SHIFT (14U)
  6793. #define CCM_CCGR5_CG7(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG7_SHIFT)) & CCM_CCGR5_CG7_MASK)
  6794. #define CCM_CCGR5_CG8_MASK (0x30000U)
  6795. #define CCM_CCGR5_CG8_SHIFT (16U)
  6796. #define CCM_CCGR5_CG8(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG8_SHIFT)) & CCM_CCGR5_CG8_MASK)
  6797. #define CCM_CCGR5_CG9_MASK (0xC0000U)
  6798. #define CCM_CCGR5_CG9_SHIFT (18U)
  6799. #define CCM_CCGR5_CG9(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG9_SHIFT)) & CCM_CCGR5_CG9_MASK)
  6800. #define CCM_CCGR5_CG10_MASK (0x300000U)
  6801. #define CCM_CCGR5_CG10_SHIFT (20U)
  6802. #define CCM_CCGR5_CG10(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG10_SHIFT)) & CCM_CCGR5_CG10_MASK)
  6803. #define CCM_CCGR5_CG11_MASK (0xC00000U)
  6804. #define CCM_CCGR5_CG11_SHIFT (22U)
  6805. #define CCM_CCGR5_CG11(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG11_SHIFT)) & CCM_CCGR5_CG11_MASK)
  6806. #define CCM_CCGR5_CG12_MASK (0x3000000U)
  6807. #define CCM_CCGR5_CG12_SHIFT (24U)
  6808. #define CCM_CCGR5_CG12(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG12_SHIFT)) & CCM_CCGR5_CG12_MASK)
  6809. #define CCM_CCGR5_CG13_MASK (0xC000000U)
  6810. #define CCM_CCGR5_CG13_SHIFT (26U)
  6811. #define CCM_CCGR5_CG13(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG13_SHIFT)) & CCM_CCGR5_CG13_MASK)
  6812. #define CCM_CCGR5_CG14_MASK (0x30000000U)
  6813. #define CCM_CCGR5_CG14_SHIFT (28U)
  6814. #define CCM_CCGR5_CG14(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG14_SHIFT)) & CCM_CCGR5_CG14_MASK)
  6815. #define CCM_CCGR5_CG15_MASK (0xC0000000U)
  6816. #define CCM_CCGR5_CG15_SHIFT (30U)
  6817. #define CCM_CCGR5_CG15(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR5_CG15_SHIFT)) & CCM_CCGR5_CG15_MASK)
  6818. /*! @} */
  6819. /*! @name CCGR6 - CCM Clock Gating Register 6 */
  6820. /*! @{ */
  6821. #define CCM_CCGR6_CG0_MASK (0x3U)
  6822. #define CCM_CCGR6_CG0_SHIFT (0U)
  6823. #define CCM_CCGR6_CG0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG0_SHIFT)) & CCM_CCGR6_CG0_MASK)
  6824. #define CCM_CCGR6_CG1_MASK (0xCU)
  6825. #define CCM_CCGR6_CG1_SHIFT (2U)
  6826. #define CCM_CCGR6_CG1(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG1_SHIFT)) & CCM_CCGR6_CG1_MASK)
  6827. #define CCM_CCGR6_CG2_MASK (0x30U)
  6828. #define CCM_CCGR6_CG2_SHIFT (4U)
  6829. #define CCM_CCGR6_CG2(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG2_SHIFT)) & CCM_CCGR6_CG2_MASK)
  6830. #define CCM_CCGR6_CG3_MASK (0xC0U)
  6831. #define CCM_CCGR6_CG3_SHIFT (6U)
  6832. #define CCM_CCGR6_CG3(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG3_SHIFT)) & CCM_CCGR6_CG3_MASK)
  6833. #define CCM_CCGR6_CG4_MASK (0x300U)
  6834. #define CCM_CCGR6_CG4_SHIFT (8U)
  6835. #define CCM_CCGR6_CG4(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG4_SHIFT)) & CCM_CCGR6_CG4_MASK)
  6836. #define CCM_CCGR6_CG5_MASK (0xC00U)
  6837. #define CCM_CCGR6_CG5_SHIFT (10U)
  6838. #define CCM_CCGR6_CG5(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG5_SHIFT)) & CCM_CCGR6_CG5_MASK)
  6839. #define CCM_CCGR6_CG6_MASK (0x3000U)
  6840. #define CCM_CCGR6_CG6_SHIFT (12U)
  6841. #define CCM_CCGR6_CG6(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG6_SHIFT)) & CCM_CCGR6_CG6_MASK)
  6842. #define CCM_CCGR6_CG7_MASK (0xC000U)
  6843. #define CCM_CCGR6_CG7_SHIFT (14U)
  6844. #define CCM_CCGR6_CG7(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG7_SHIFT)) & CCM_CCGR6_CG7_MASK)
  6845. #define CCM_CCGR6_CG8_MASK (0x30000U)
  6846. #define CCM_CCGR6_CG8_SHIFT (16U)
  6847. #define CCM_CCGR6_CG8(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG8_SHIFT)) & CCM_CCGR6_CG8_MASK)
  6848. #define CCM_CCGR6_CG9_MASK (0xC0000U)
  6849. #define CCM_CCGR6_CG9_SHIFT (18U)
  6850. #define CCM_CCGR6_CG9(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG9_SHIFT)) & CCM_CCGR6_CG9_MASK)
  6851. #define CCM_CCGR6_CG10_MASK (0x300000U)
  6852. #define CCM_CCGR6_CG10_SHIFT (20U)
  6853. #define CCM_CCGR6_CG10(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG10_SHIFT)) & CCM_CCGR6_CG10_MASK)
  6854. #define CCM_CCGR6_CG11_MASK (0xC00000U)
  6855. #define CCM_CCGR6_CG11_SHIFT (22U)
  6856. #define CCM_CCGR6_CG11(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG11_SHIFT)) & CCM_CCGR6_CG11_MASK)
  6857. #define CCM_CCGR6_CG12_MASK (0x3000000U)
  6858. #define CCM_CCGR6_CG12_SHIFT (24U)
  6859. #define CCM_CCGR6_CG12(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG12_SHIFT)) & CCM_CCGR6_CG12_MASK)
  6860. #define CCM_CCGR6_CG13_MASK (0xC000000U)
  6861. #define CCM_CCGR6_CG13_SHIFT (26U)
  6862. #define CCM_CCGR6_CG13(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG13_SHIFT)) & CCM_CCGR6_CG13_MASK)
  6863. #define CCM_CCGR6_CG14_MASK (0x30000000U)
  6864. #define CCM_CCGR6_CG14_SHIFT (28U)
  6865. #define CCM_CCGR6_CG14(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG14_SHIFT)) & CCM_CCGR6_CG14_MASK)
  6866. #define CCM_CCGR6_CG15_MASK (0xC0000000U)
  6867. #define CCM_CCGR6_CG15_SHIFT (30U)
  6868. #define CCM_CCGR6_CG15(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR6_CG15_SHIFT)) & CCM_CCGR6_CG15_MASK)
  6869. /*! @} */
  6870. /*! @name CCGR7 - CCM Clock Gating Register 7 */
  6871. /*! @{ */
  6872. #define CCM_CCGR7_CG0_MASK (0x3U)
  6873. #define CCM_CCGR7_CG0_SHIFT (0U)
  6874. #define CCM_CCGR7_CG0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR7_CG0_SHIFT)) & CCM_CCGR7_CG0_MASK)
  6875. #define CCM_CCGR7_CG1_MASK (0xCU)
  6876. #define CCM_CCGR7_CG1_SHIFT (2U)
  6877. #define CCM_CCGR7_CG1(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR7_CG1_SHIFT)) & CCM_CCGR7_CG1_MASK)
  6878. #define CCM_CCGR7_CG2_MASK (0x30U)
  6879. #define CCM_CCGR7_CG2_SHIFT (4U)
  6880. #define CCM_CCGR7_CG2(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR7_CG2_SHIFT)) & CCM_CCGR7_CG2_MASK)
  6881. #define CCM_CCGR7_CG3_MASK (0xC0U)
  6882. #define CCM_CCGR7_CG3_SHIFT (6U)
  6883. #define CCM_CCGR7_CG3(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR7_CG3_SHIFT)) & CCM_CCGR7_CG3_MASK)
  6884. #define CCM_CCGR7_CG4_MASK (0x300U)
  6885. #define CCM_CCGR7_CG4_SHIFT (8U)
  6886. #define CCM_CCGR7_CG4(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR7_CG4_SHIFT)) & CCM_CCGR7_CG4_MASK)
  6887. #define CCM_CCGR7_CG5_MASK (0xC00U)
  6888. #define CCM_CCGR7_CG5_SHIFT (10U)
  6889. #define CCM_CCGR7_CG5(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR7_CG5_SHIFT)) & CCM_CCGR7_CG5_MASK)
  6890. #define CCM_CCGR7_CG6_MASK (0x3000U)
  6891. #define CCM_CCGR7_CG6_SHIFT (12U)
  6892. #define CCM_CCGR7_CG6(x) (((uint32_t)(((uint32_t)(x)) << CCM_CCGR7_CG6_SHIFT)) & CCM_CCGR7_CG6_MASK)
  6893. /*! @} */
  6894. /*! @name CMEOR - CCM Module Enable Overide Register */
  6895. /*! @{ */
  6896. #define CCM_CMEOR_MOD_EN_OV_GPT_MASK (0x20U)
  6897. #define CCM_CMEOR_MOD_EN_OV_GPT_SHIFT (5U)
  6898. /*! MOD_EN_OV_GPT
  6899. * 0b0..don't override module enable signal
  6900. * 0b1..override module enable signal
  6901. */
  6902. #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)
  6903. #define CCM_CMEOR_MOD_EN_OV_PIT_MASK (0x40U)
  6904. #define CCM_CMEOR_MOD_EN_OV_PIT_SHIFT (6U)
  6905. /*! MOD_EN_OV_PIT
  6906. * 0b0..don't override module enable signal
  6907. * 0b1..override module enable signal
  6908. */
  6909. #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)
  6910. #define CCM_CMEOR_MOD_EN_USDHC_MASK (0x80U)
  6911. #define CCM_CMEOR_MOD_EN_USDHC_SHIFT (7U)
  6912. /*! MOD_EN_USDHC
  6913. * 0b0..don't override module enable signal
  6914. * 0b1..override module enable signal
  6915. */
  6916. #define CCM_CMEOR_MOD_EN_USDHC(x) (((uint32_t)(((uint32_t)(x)) << CCM_CMEOR_MOD_EN_USDHC_SHIFT)) & CCM_CMEOR_MOD_EN_USDHC_MASK)
  6917. #define CCM_CMEOR_MOD_EN_OV_TRNG_MASK (0x200U)
  6918. #define CCM_CMEOR_MOD_EN_OV_TRNG_SHIFT (9U)
  6919. /*! MOD_EN_OV_TRNG
  6920. * 0b0..don't override module enable signal
  6921. * 0b1..override module enable signal
  6922. */
  6923. #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)
  6924. #define CCM_CMEOR_MOD_EN_OV_CANFD_CPI_MASK (0x400U)
  6925. #define CCM_CMEOR_MOD_EN_OV_CANFD_CPI_SHIFT (10U)
  6926. /*! MOD_EN_OV_CANFD_CPI
  6927. * 0b0..don't override module enable signal
  6928. * 0b1..override module enable signal
  6929. */
  6930. #define CCM_CMEOR_MOD_EN_OV_CANFD_CPI(x) (((uint32_t)(((uint32_t)(x)) << CCM_CMEOR_MOD_EN_OV_CANFD_CPI_SHIFT)) & CCM_CMEOR_MOD_EN_OV_CANFD_CPI_MASK)
  6931. #define CCM_CMEOR_MOD_EN_OV_CAN2_CPI_MASK (0x10000000U)
  6932. #define CCM_CMEOR_MOD_EN_OV_CAN2_CPI_SHIFT (28U)
  6933. /*! MOD_EN_OV_CAN2_CPI
  6934. * 0b0..don't override module enable signal
  6935. * 0b1..override module enable signal
  6936. */
  6937. #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)
  6938. #define CCM_CMEOR_MOD_EN_OV_CAN1_CPI_MASK (0x40000000U)
  6939. #define CCM_CMEOR_MOD_EN_OV_CAN1_CPI_SHIFT (30U)
  6940. /*! MOD_EN_OV_CAN1_CPI
  6941. * 0b0..don't overide module enable signal
  6942. * 0b1..overide module enable signal
  6943. */
  6944. #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)
  6945. /*! @} */
  6946. /*!
  6947. * @}
  6948. */ /* end of group CCM_Register_Masks */
  6949. /* CCM - Peripheral instance base addresses */
  6950. /** Peripheral CCM base address */
  6951. #define CCM_BASE (0x400FC000u)
  6952. /** Peripheral CCM base pointer */
  6953. #define CCM ((CCM_Type *)CCM_BASE)
  6954. /** Array initializer of CCM peripheral base addresses */
  6955. #define CCM_BASE_ADDRS { CCM_BASE }
  6956. /** Array initializer of CCM peripheral base pointers */
  6957. #define CCM_BASE_PTRS { CCM }
  6958. /** Interrupt vectors for the CCM peripheral type */
  6959. #define CCM_IRQS { CCM_1_IRQn, CCM_2_IRQn }
  6960. /*!
  6961. * @}
  6962. */ /* end of group CCM_Peripheral_Access_Layer */
  6963. /* ----------------------------------------------------------------------------
  6964. -- CCM_ANALOG Peripheral Access Layer
  6965. ---------------------------------------------------------------------------- */
  6966. /*!
  6967. * @addtogroup CCM_ANALOG_Peripheral_Access_Layer CCM_ANALOG Peripheral Access Layer
  6968. * @{
  6969. */
  6970. /** CCM_ANALOG - Register Layout Typedef */
  6971. typedef struct {
  6972. __IO uint32_t PLL_ARM; /**< Analog ARM PLL control Register, offset: 0x0 */
  6973. __IO uint32_t PLL_ARM_SET; /**< Analog ARM PLL control Register, offset: 0x4 */
  6974. __IO uint32_t PLL_ARM_CLR; /**< Analog ARM PLL control Register, offset: 0x8 */
  6975. __IO uint32_t PLL_ARM_TOG; /**< Analog ARM PLL control Register, offset: 0xC */
  6976. __IO uint32_t PLL_USB1; /**< Analog USB1 480MHz PLL Control Register, offset: 0x10 */
  6977. __IO uint32_t PLL_USB1_SET; /**< Analog USB1 480MHz PLL Control Register, offset: 0x14 */
  6978. __IO uint32_t PLL_USB1_CLR; /**< Analog USB1 480MHz PLL Control Register, offset: 0x18 */
  6979. __IO uint32_t PLL_USB1_TOG; /**< Analog USB1 480MHz PLL Control Register, offset: 0x1C */
  6980. __IO uint32_t PLL_USB2; /**< Analog USB2 480MHz PLL Control Register, offset: 0x20 */
  6981. __IO uint32_t PLL_USB2_SET; /**< Analog USB2 480MHz PLL Control Register, offset: 0x24 */
  6982. __IO uint32_t PLL_USB2_CLR; /**< Analog USB2 480MHz PLL Control Register, offset: 0x28 */
  6983. __IO uint32_t PLL_USB2_TOG; /**< Analog USB2 480MHz PLL Control Register, offset: 0x2C */
  6984. __IO uint32_t PLL_SYS; /**< Analog System PLL Control Register, offset: 0x30 */
  6985. __IO uint32_t PLL_SYS_SET; /**< Analog System PLL Control Register, offset: 0x34 */
  6986. __IO uint32_t PLL_SYS_CLR; /**< Analog System PLL Control Register, offset: 0x38 */
  6987. __IO uint32_t PLL_SYS_TOG; /**< Analog System PLL Control Register, offset: 0x3C */
  6988. __IO uint32_t PLL_SYS_SS; /**< 528MHz System PLL Spread Spectrum Register, offset: 0x40 */
  6989. uint8_t RESERVED_0[12];
  6990. __IO uint32_t PLL_SYS_NUM; /**< Numerator of 528MHz System PLL Fractional Loop Divider Register, offset: 0x50 */
  6991. uint8_t RESERVED_1[12];
  6992. __IO uint32_t PLL_SYS_DENOM; /**< Denominator of 528MHz System PLL Fractional Loop Divider Register, offset: 0x60 */
  6993. uint8_t RESERVED_2[12];
  6994. __IO uint32_t PLL_AUDIO; /**< Analog Audio PLL control Register, offset: 0x70 */
  6995. __IO uint32_t PLL_AUDIO_SET; /**< Analog Audio PLL control Register, offset: 0x74 */
  6996. __IO uint32_t PLL_AUDIO_CLR; /**< Analog Audio PLL control Register, offset: 0x78 */
  6997. __IO uint32_t PLL_AUDIO_TOG; /**< Analog Audio PLL control Register, offset: 0x7C */
  6998. __IO uint32_t PLL_AUDIO_NUM; /**< Numerator of Audio PLL Fractional Loop Divider Register, offset: 0x80 */
  6999. uint8_t RESERVED_3[12];
  7000. __IO uint32_t PLL_AUDIO_DENOM; /**< Denominator of Audio PLL Fractional Loop Divider Register, offset: 0x90 */
  7001. uint8_t RESERVED_4[12];
  7002. __IO uint32_t PLL_VIDEO; /**< Analog Video PLL control Register, offset: 0xA0 */
  7003. __IO uint32_t PLL_VIDEO_SET; /**< Analog Video PLL control Register, offset: 0xA4 */
  7004. __IO uint32_t PLL_VIDEO_CLR; /**< Analog Video PLL control Register, offset: 0xA8 */
  7005. __IO uint32_t PLL_VIDEO_TOG; /**< Analog Video PLL control Register, offset: 0xAC */
  7006. __IO uint32_t PLL_VIDEO_NUM; /**< Numerator of Video PLL Fractional Loop Divider Register, offset: 0xB0 */
  7007. uint8_t RESERVED_5[12];
  7008. __IO uint32_t PLL_VIDEO_DENOM; /**< Denominator of Video PLL Fractional Loop Divider Register, offset: 0xC0 */
  7009. uint8_t RESERVED_6[28];
  7010. __IO uint32_t PLL_ENET; /**< Analog ENET PLL Control Register, offset: 0xE0 */
  7011. __IO uint32_t PLL_ENET_SET; /**< Analog ENET PLL Control Register, offset: 0xE4 */
  7012. __IO uint32_t PLL_ENET_CLR; /**< Analog ENET PLL Control Register, offset: 0xE8 */
  7013. __IO uint32_t PLL_ENET_TOG; /**< Analog ENET PLL Control Register, offset: 0xEC */
  7014. __IO uint32_t PFD_480; /**< 480MHz Clock (PLL3) Phase Fractional Divider Control Register, offset: 0xF0 */
  7015. __IO uint32_t PFD_480_SET; /**< 480MHz Clock (PLL3) Phase Fractional Divider Control Register, offset: 0xF4 */
  7016. __IO uint32_t PFD_480_CLR; /**< 480MHz Clock (PLL3) Phase Fractional Divider Control Register, offset: 0xF8 */
  7017. __IO uint32_t PFD_480_TOG; /**< 480MHz Clock (PLL3) Phase Fractional Divider Control Register, offset: 0xFC */
  7018. __IO uint32_t PFD_528; /**< 528MHz Clock (PLL2) Phase Fractional Divider Control Register, offset: 0x100 */
  7019. __IO uint32_t PFD_528_SET; /**< 528MHz Clock (PLL2) Phase Fractional Divider Control Register, offset: 0x104 */
  7020. __IO uint32_t PFD_528_CLR; /**< 528MHz Clock (PLL2) Phase Fractional Divider Control Register, offset: 0x108 */
  7021. __IO uint32_t PFD_528_TOG; /**< 528MHz Clock (PLL2) Phase Fractional Divider Control Register, offset: 0x10C */
  7022. uint8_t RESERVED_7[64];
  7023. __IO uint32_t MISC0; /**< Miscellaneous Register 0, offset: 0x150 */
  7024. __IO uint32_t MISC0_SET; /**< Miscellaneous Register 0, offset: 0x154 */
  7025. __IO uint32_t MISC0_CLR; /**< Miscellaneous Register 0, offset: 0x158 */
  7026. __IO uint32_t MISC0_TOG; /**< Miscellaneous Register 0, offset: 0x15C */
  7027. __IO uint32_t MISC1; /**< Miscellaneous Register 1, offset: 0x160 */
  7028. __IO uint32_t MISC1_SET; /**< Miscellaneous Register 1, offset: 0x164 */
  7029. __IO uint32_t MISC1_CLR; /**< Miscellaneous Register 1, offset: 0x168 */
  7030. __IO uint32_t MISC1_TOG; /**< Miscellaneous Register 1, offset: 0x16C */
  7031. __IO uint32_t MISC2; /**< Miscellaneous Register 2, offset: 0x170 */
  7032. __IO uint32_t MISC2_SET; /**< Miscellaneous Register 2, offset: 0x174 */
  7033. __IO uint32_t MISC2_CLR; /**< Miscellaneous Register 2, offset: 0x178 */
  7034. __IO uint32_t MISC2_TOG; /**< Miscellaneous Register 2, offset: 0x17C */
  7035. } CCM_ANALOG_Type;
  7036. /* ----------------------------------------------------------------------------
  7037. -- CCM_ANALOG Register Masks
  7038. ---------------------------------------------------------------------------- */
  7039. /*!
  7040. * @addtogroup CCM_ANALOG_Register_Masks CCM_ANALOG Register Masks
  7041. * @{
  7042. */
  7043. /*! @name PLL_ARM - Analog ARM PLL control Register */
  7044. /*! @{ */
  7045. #define CCM_ANALOG_PLL_ARM_DIV_SELECT_MASK (0x7FU)
  7046. #define CCM_ANALOG_PLL_ARM_DIV_SELECT_SHIFT (0U)
  7047. #define CCM_ANALOG_PLL_ARM_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_ARM_DIV_SELECT_MASK)
  7048. #define CCM_ANALOG_PLL_ARM_POWERDOWN_MASK (0x1000U)
  7049. #define CCM_ANALOG_PLL_ARM_POWERDOWN_SHIFT (12U)
  7050. #define CCM_ANALOG_PLL_ARM_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_ARM_POWERDOWN_MASK)
  7051. #define CCM_ANALOG_PLL_ARM_ENABLE_MASK (0x2000U)
  7052. #define CCM_ANALOG_PLL_ARM_ENABLE_SHIFT (13U)
  7053. #define CCM_ANALOG_PLL_ARM_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_ENABLE_SHIFT)) & CCM_ANALOG_PLL_ARM_ENABLE_MASK)
  7054. #define CCM_ANALOG_PLL_ARM_BYPASS_CLK_SRC_MASK (0xC000U)
  7055. #define CCM_ANALOG_PLL_ARM_BYPASS_CLK_SRC_SHIFT (14U)
  7056. /*! BYPASS_CLK_SRC
  7057. * 0b00..Select the 24MHz oscillator as source.
  7058. * 0b01..Select the CLK1_N / CLK1_P as source.
  7059. * 0b10..Reserved1
  7060. * 0b11..Reserved2
  7061. */
  7062. #define CCM_ANALOG_PLL_ARM_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_ARM_BYPASS_CLK_SRC_MASK)
  7063. #define CCM_ANALOG_PLL_ARM_BYPASS_MASK (0x10000U)
  7064. #define CCM_ANALOG_PLL_ARM_BYPASS_SHIFT (16U)
  7065. #define CCM_ANALOG_PLL_ARM_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_BYPASS_SHIFT)) & CCM_ANALOG_PLL_ARM_BYPASS_MASK)
  7066. #define CCM_ANALOG_PLL_ARM_PLL_SEL_MASK (0x80000U)
  7067. #define CCM_ANALOG_PLL_ARM_PLL_SEL_SHIFT (19U)
  7068. #define CCM_ANALOG_PLL_ARM_PLL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_PLL_SEL_SHIFT)) & CCM_ANALOG_PLL_ARM_PLL_SEL_MASK)
  7069. #define CCM_ANALOG_PLL_ARM_LOCK_MASK (0x80000000U)
  7070. #define CCM_ANALOG_PLL_ARM_LOCK_SHIFT (31U)
  7071. #define CCM_ANALOG_PLL_ARM_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_LOCK_SHIFT)) & CCM_ANALOG_PLL_ARM_LOCK_MASK)
  7072. /*! @} */
  7073. /*! @name PLL_ARM_SET - Analog ARM PLL control Register */
  7074. /*! @{ */
  7075. #define CCM_ANALOG_PLL_ARM_SET_DIV_SELECT_MASK (0x7FU)
  7076. #define CCM_ANALOG_PLL_ARM_SET_DIV_SELECT_SHIFT (0U)
  7077. #define CCM_ANALOG_PLL_ARM_SET_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_SET_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_ARM_SET_DIV_SELECT_MASK)
  7078. #define CCM_ANALOG_PLL_ARM_SET_POWERDOWN_MASK (0x1000U)
  7079. #define CCM_ANALOG_PLL_ARM_SET_POWERDOWN_SHIFT (12U)
  7080. #define CCM_ANALOG_PLL_ARM_SET_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_SET_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_ARM_SET_POWERDOWN_MASK)
  7081. #define CCM_ANALOG_PLL_ARM_SET_ENABLE_MASK (0x2000U)
  7082. #define CCM_ANALOG_PLL_ARM_SET_ENABLE_SHIFT (13U)
  7083. #define CCM_ANALOG_PLL_ARM_SET_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_SET_ENABLE_SHIFT)) & CCM_ANALOG_PLL_ARM_SET_ENABLE_MASK)
  7084. #define CCM_ANALOG_PLL_ARM_SET_BYPASS_CLK_SRC_MASK (0xC000U)
  7085. #define CCM_ANALOG_PLL_ARM_SET_BYPASS_CLK_SRC_SHIFT (14U)
  7086. /*! BYPASS_CLK_SRC
  7087. * 0b00..Select the 24MHz oscillator as source.
  7088. * 0b01..Select the CLK1_N / CLK1_P as source.
  7089. * 0b10..Reserved1
  7090. * 0b11..Reserved2
  7091. */
  7092. #define CCM_ANALOG_PLL_ARM_SET_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_SET_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_ARM_SET_BYPASS_CLK_SRC_MASK)
  7093. #define CCM_ANALOG_PLL_ARM_SET_BYPASS_MASK (0x10000U)
  7094. #define CCM_ANALOG_PLL_ARM_SET_BYPASS_SHIFT (16U)
  7095. #define CCM_ANALOG_PLL_ARM_SET_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_SET_BYPASS_SHIFT)) & CCM_ANALOG_PLL_ARM_SET_BYPASS_MASK)
  7096. #define CCM_ANALOG_PLL_ARM_SET_PLL_SEL_MASK (0x80000U)
  7097. #define CCM_ANALOG_PLL_ARM_SET_PLL_SEL_SHIFT (19U)
  7098. #define CCM_ANALOG_PLL_ARM_SET_PLL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_SET_PLL_SEL_SHIFT)) & CCM_ANALOG_PLL_ARM_SET_PLL_SEL_MASK)
  7099. #define CCM_ANALOG_PLL_ARM_SET_LOCK_MASK (0x80000000U)
  7100. #define CCM_ANALOG_PLL_ARM_SET_LOCK_SHIFT (31U)
  7101. #define CCM_ANALOG_PLL_ARM_SET_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_SET_LOCK_SHIFT)) & CCM_ANALOG_PLL_ARM_SET_LOCK_MASK)
  7102. /*! @} */
  7103. /*! @name PLL_ARM_CLR - Analog ARM PLL control Register */
  7104. /*! @{ */
  7105. #define CCM_ANALOG_PLL_ARM_CLR_DIV_SELECT_MASK (0x7FU)
  7106. #define CCM_ANALOG_PLL_ARM_CLR_DIV_SELECT_SHIFT (0U)
  7107. #define CCM_ANALOG_PLL_ARM_CLR_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_CLR_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_ARM_CLR_DIV_SELECT_MASK)
  7108. #define CCM_ANALOG_PLL_ARM_CLR_POWERDOWN_MASK (0x1000U)
  7109. #define CCM_ANALOG_PLL_ARM_CLR_POWERDOWN_SHIFT (12U)
  7110. #define CCM_ANALOG_PLL_ARM_CLR_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_CLR_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_ARM_CLR_POWERDOWN_MASK)
  7111. #define CCM_ANALOG_PLL_ARM_CLR_ENABLE_MASK (0x2000U)
  7112. #define CCM_ANALOG_PLL_ARM_CLR_ENABLE_SHIFT (13U)
  7113. #define CCM_ANALOG_PLL_ARM_CLR_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_CLR_ENABLE_SHIFT)) & CCM_ANALOG_PLL_ARM_CLR_ENABLE_MASK)
  7114. #define CCM_ANALOG_PLL_ARM_CLR_BYPASS_CLK_SRC_MASK (0xC000U)
  7115. #define CCM_ANALOG_PLL_ARM_CLR_BYPASS_CLK_SRC_SHIFT (14U)
  7116. /*! BYPASS_CLK_SRC
  7117. * 0b00..Select the 24MHz oscillator as source.
  7118. * 0b01..Select the CLK1_N / CLK1_P as source.
  7119. * 0b10..Reserved1
  7120. * 0b11..Reserved2
  7121. */
  7122. #define CCM_ANALOG_PLL_ARM_CLR_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_CLR_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_ARM_CLR_BYPASS_CLK_SRC_MASK)
  7123. #define CCM_ANALOG_PLL_ARM_CLR_BYPASS_MASK (0x10000U)
  7124. #define CCM_ANALOG_PLL_ARM_CLR_BYPASS_SHIFT (16U)
  7125. #define CCM_ANALOG_PLL_ARM_CLR_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_CLR_BYPASS_SHIFT)) & CCM_ANALOG_PLL_ARM_CLR_BYPASS_MASK)
  7126. #define CCM_ANALOG_PLL_ARM_CLR_PLL_SEL_MASK (0x80000U)
  7127. #define CCM_ANALOG_PLL_ARM_CLR_PLL_SEL_SHIFT (19U)
  7128. #define CCM_ANALOG_PLL_ARM_CLR_PLL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_CLR_PLL_SEL_SHIFT)) & CCM_ANALOG_PLL_ARM_CLR_PLL_SEL_MASK)
  7129. #define CCM_ANALOG_PLL_ARM_CLR_LOCK_MASK (0x80000000U)
  7130. #define CCM_ANALOG_PLL_ARM_CLR_LOCK_SHIFT (31U)
  7131. #define CCM_ANALOG_PLL_ARM_CLR_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_CLR_LOCK_SHIFT)) & CCM_ANALOG_PLL_ARM_CLR_LOCK_MASK)
  7132. /*! @} */
  7133. /*! @name PLL_ARM_TOG - Analog ARM PLL control Register */
  7134. /*! @{ */
  7135. #define CCM_ANALOG_PLL_ARM_TOG_DIV_SELECT_MASK (0x7FU)
  7136. #define CCM_ANALOG_PLL_ARM_TOG_DIV_SELECT_SHIFT (0U)
  7137. #define CCM_ANALOG_PLL_ARM_TOG_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_TOG_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_ARM_TOG_DIV_SELECT_MASK)
  7138. #define CCM_ANALOG_PLL_ARM_TOG_POWERDOWN_MASK (0x1000U)
  7139. #define CCM_ANALOG_PLL_ARM_TOG_POWERDOWN_SHIFT (12U)
  7140. #define CCM_ANALOG_PLL_ARM_TOG_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_TOG_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_ARM_TOG_POWERDOWN_MASK)
  7141. #define CCM_ANALOG_PLL_ARM_TOG_ENABLE_MASK (0x2000U)
  7142. #define CCM_ANALOG_PLL_ARM_TOG_ENABLE_SHIFT (13U)
  7143. #define CCM_ANALOG_PLL_ARM_TOG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_TOG_ENABLE_SHIFT)) & CCM_ANALOG_PLL_ARM_TOG_ENABLE_MASK)
  7144. #define CCM_ANALOG_PLL_ARM_TOG_BYPASS_CLK_SRC_MASK (0xC000U)
  7145. #define CCM_ANALOG_PLL_ARM_TOG_BYPASS_CLK_SRC_SHIFT (14U)
  7146. /*! BYPASS_CLK_SRC
  7147. * 0b00..Select the 24MHz oscillator as source.
  7148. * 0b01..Select the CLK1_N / CLK1_P as source.
  7149. * 0b10..Reserved1
  7150. * 0b11..Reserved2
  7151. */
  7152. #define CCM_ANALOG_PLL_ARM_TOG_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_TOG_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_ARM_TOG_BYPASS_CLK_SRC_MASK)
  7153. #define CCM_ANALOG_PLL_ARM_TOG_BYPASS_MASK (0x10000U)
  7154. #define CCM_ANALOG_PLL_ARM_TOG_BYPASS_SHIFT (16U)
  7155. #define CCM_ANALOG_PLL_ARM_TOG_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_TOG_BYPASS_SHIFT)) & CCM_ANALOG_PLL_ARM_TOG_BYPASS_MASK)
  7156. #define CCM_ANALOG_PLL_ARM_TOG_PLL_SEL_MASK (0x80000U)
  7157. #define CCM_ANALOG_PLL_ARM_TOG_PLL_SEL_SHIFT (19U)
  7158. #define CCM_ANALOG_PLL_ARM_TOG_PLL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_TOG_PLL_SEL_SHIFT)) & CCM_ANALOG_PLL_ARM_TOG_PLL_SEL_MASK)
  7159. #define CCM_ANALOG_PLL_ARM_TOG_LOCK_MASK (0x80000000U)
  7160. #define CCM_ANALOG_PLL_ARM_TOG_LOCK_SHIFT (31U)
  7161. #define CCM_ANALOG_PLL_ARM_TOG_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ARM_TOG_LOCK_SHIFT)) & CCM_ANALOG_PLL_ARM_TOG_LOCK_MASK)
  7162. /*! @} */
  7163. /*! @name PLL_USB1 - Analog USB1 480MHz PLL Control Register */
  7164. /*! @{ */
  7165. #define CCM_ANALOG_PLL_USB1_DIV_SELECT_MASK (0x2U)
  7166. #define CCM_ANALOG_PLL_USB1_DIV_SELECT_SHIFT (1U)
  7167. #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)
  7168. #define CCM_ANALOG_PLL_USB1_EN_USB_CLKS_MASK (0x40U)
  7169. #define CCM_ANALOG_PLL_USB1_EN_USB_CLKS_SHIFT (6U)
  7170. /*! EN_USB_CLKS
  7171. * 0b0..PLL outputs for USBPHYn off.
  7172. * 0b1..PLL outputs for USBPHYn on.
  7173. */
  7174. #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)
  7175. #define CCM_ANALOG_PLL_USB1_POWER_MASK (0x1000U)
  7176. #define CCM_ANALOG_PLL_USB1_POWER_SHIFT (12U)
  7177. #define CCM_ANALOG_PLL_USB1_POWER(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_POWER_SHIFT)) & CCM_ANALOG_PLL_USB1_POWER_MASK)
  7178. #define CCM_ANALOG_PLL_USB1_ENABLE_MASK (0x2000U)
  7179. #define CCM_ANALOG_PLL_USB1_ENABLE_SHIFT (13U)
  7180. #define CCM_ANALOG_PLL_USB1_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_ENABLE_SHIFT)) & CCM_ANALOG_PLL_USB1_ENABLE_MASK)
  7181. #define CCM_ANALOG_PLL_USB1_BYPASS_CLK_SRC_MASK (0xC000U)
  7182. #define CCM_ANALOG_PLL_USB1_BYPASS_CLK_SRC_SHIFT (14U)
  7183. /*! BYPASS_CLK_SRC
  7184. * 0b00..Select the 24MHz oscillator as source.
  7185. * 0b01..Select the CLK1_N / CLK1_P as source.
  7186. */
  7187. #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)
  7188. #define CCM_ANALOG_PLL_USB1_BYPASS_MASK (0x10000U)
  7189. #define CCM_ANALOG_PLL_USB1_BYPASS_SHIFT (16U)
  7190. #define CCM_ANALOG_PLL_USB1_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_BYPASS_SHIFT)) & CCM_ANALOG_PLL_USB1_BYPASS_MASK)
  7191. #define CCM_ANALOG_PLL_USB1_LOCK_MASK (0x80000000U)
  7192. #define CCM_ANALOG_PLL_USB1_LOCK_SHIFT (31U)
  7193. #define CCM_ANALOG_PLL_USB1_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB1_LOCK_SHIFT)) & CCM_ANALOG_PLL_USB1_LOCK_MASK)
  7194. /*! @} */
  7195. /*! @name PLL_USB1_SET - Analog USB1 480MHz PLL Control Register */
  7196. /*! @{ */
  7197. #define CCM_ANALOG_PLL_USB1_SET_DIV_SELECT_MASK (0x2U)
  7198. #define CCM_ANALOG_PLL_USB1_SET_DIV_SELECT_SHIFT (1U)
  7199. #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)
  7200. #define CCM_ANALOG_PLL_USB1_SET_EN_USB_CLKS_MASK (0x40U)
  7201. #define CCM_ANALOG_PLL_USB1_SET_EN_USB_CLKS_SHIFT (6U)
  7202. /*! EN_USB_CLKS
  7203. * 0b0..PLL outputs for USBPHYn off.
  7204. * 0b1..PLL outputs for USBPHYn on.
  7205. */
  7206. #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)
  7207. #define CCM_ANALOG_PLL_USB1_SET_POWER_MASK (0x1000U)
  7208. #define CCM_ANALOG_PLL_USB1_SET_POWER_SHIFT (12U)
  7209. #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)
  7210. #define CCM_ANALOG_PLL_USB1_SET_ENABLE_MASK (0x2000U)
  7211. #define CCM_ANALOG_PLL_USB1_SET_ENABLE_SHIFT (13U)
  7212. #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)
  7213. #define CCM_ANALOG_PLL_USB1_SET_BYPASS_CLK_SRC_MASK (0xC000U)
  7214. #define CCM_ANALOG_PLL_USB1_SET_BYPASS_CLK_SRC_SHIFT (14U)
  7215. /*! BYPASS_CLK_SRC
  7216. * 0b00..Select the 24MHz oscillator as source.
  7217. * 0b01..Select the CLK1_N / CLK1_P as source.
  7218. */
  7219. #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)
  7220. #define CCM_ANALOG_PLL_USB1_SET_BYPASS_MASK (0x10000U)
  7221. #define CCM_ANALOG_PLL_USB1_SET_BYPASS_SHIFT (16U)
  7222. #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)
  7223. #define CCM_ANALOG_PLL_USB1_SET_LOCK_MASK (0x80000000U)
  7224. #define CCM_ANALOG_PLL_USB1_SET_LOCK_SHIFT (31U)
  7225. #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)
  7226. /*! @} */
  7227. /*! @name PLL_USB1_CLR - Analog USB1 480MHz PLL Control Register */
  7228. /*! @{ */
  7229. #define CCM_ANALOG_PLL_USB1_CLR_DIV_SELECT_MASK (0x2U)
  7230. #define CCM_ANALOG_PLL_USB1_CLR_DIV_SELECT_SHIFT (1U)
  7231. #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)
  7232. #define CCM_ANALOG_PLL_USB1_CLR_EN_USB_CLKS_MASK (0x40U)
  7233. #define CCM_ANALOG_PLL_USB1_CLR_EN_USB_CLKS_SHIFT (6U)
  7234. /*! EN_USB_CLKS
  7235. * 0b0..PLL outputs for USBPHYn off.
  7236. * 0b1..PLL outputs for USBPHYn on.
  7237. */
  7238. #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)
  7239. #define CCM_ANALOG_PLL_USB1_CLR_POWER_MASK (0x1000U)
  7240. #define CCM_ANALOG_PLL_USB1_CLR_POWER_SHIFT (12U)
  7241. #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)
  7242. #define CCM_ANALOG_PLL_USB1_CLR_ENABLE_MASK (0x2000U)
  7243. #define CCM_ANALOG_PLL_USB1_CLR_ENABLE_SHIFT (13U)
  7244. #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)
  7245. #define CCM_ANALOG_PLL_USB1_CLR_BYPASS_CLK_SRC_MASK (0xC000U)
  7246. #define CCM_ANALOG_PLL_USB1_CLR_BYPASS_CLK_SRC_SHIFT (14U)
  7247. /*! BYPASS_CLK_SRC
  7248. * 0b00..Select the 24MHz oscillator as source.
  7249. * 0b01..Select the CLK1_N / CLK1_P as source.
  7250. */
  7251. #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)
  7252. #define CCM_ANALOG_PLL_USB1_CLR_BYPASS_MASK (0x10000U)
  7253. #define CCM_ANALOG_PLL_USB1_CLR_BYPASS_SHIFT (16U)
  7254. #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)
  7255. #define CCM_ANALOG_PLL_USB1_CLR_LOCK_MASK (0x80000000U)
  7256. #define CCM_ANALOG_PLL_USB1_CLR_LOCK_SHIFT (31U)
  7257. #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)
  7258. /*! @} */
  7259. /*! @name PLL_USB1_TOG - Analog USB1 480MHz PLL Control Register */
  7260. /*! @{ */
  7261. #define CCM_ANALOG_PLL_USB1_TOG_DIV_SELECT_MASK (0x2U)
  7262. #define CCM_ANALOG_PLL_USB1_TOG_DIV_SELECT_SHIFT (1U)
  7263. #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)
  7264. #define CCM_ANALOG_PLL_USB1_TOG_EN_USB_CLKS_MASK (0x40U)
  7265. #define CCM_ANALOG_PLL_USB1_TOG_EN_USB_CLKS_SHIFT (6U)
  7266. /*! EN_USB_CLKS
  7267. * 0b0..PLL outputs for USBPHYn off.
  7268. * 0b1..PLL outputs for USBPHYn on.
  7269. */
  7270. #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)
  7271. #define CCM_ANALOG_PLL_USB1_TOG_POWER_MASK (0x1000U)
  7272. #define CCM_ANALOG_PLL_USB1_TOG_POWER_SHIFT (12U)
  7273. #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)
  7274. #define CCM_ANALOG_PLL_USB1_TOG_ENABLE_MASK (0x2000U)
  7275. #define CCM_ANALOG_PLL_USB1_TOG_ENABLE_SHIFT (13U)
  7276. #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)
  7277. #define CCM_ANALOG_PLL_USB1_TOG_BYPASS_CLK_SRC_MASK (0xC000U)
  7278. #define CCM_ANALOG_PLL_USB1_TOG_BYPASS_CLK_SRC_SHIFT (14U)
  7279. /*! BYPASS_CLK_SRC
  7280. * 0b00..Select the 24MHz oscillator as source.
  7281. * 0b01..Select the CLK1_N / CLK1_P as source.
  7282. */
  7283. #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)
  7284. #define CCM_ANALOG_PLL_USB1_TOG_BYPASS_MASK (0x10000U)
  7285. #define CCM_ANALOG_PLL_USB1_TOG_BYPASS_SHIFT (16U)
  7286. #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)
  7287. #define CCM_ANALOG_PLL_USB1_TOG_LOCK_MASK (0x80000000U)
  7288. #define CCM_ANALOG_PLL_USB1_TOG_LOCK_SHIFT (31U)
  7289. #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)
  7290. /*! @} */
  7291. /*! @name PLL_USB2 - Analog USB2 480MHz PLL Control Register */
  7292. /*! @{ */
  7293. #define CCM_ANALOG_PLL_USB2_DIV_SELECT_MASK (0x2U)
  7294. #define CCM_ANALOG_PLL_USB2_DIV_SELECT_SHIFT (1U)
  7295. #define CCM_ANALOG_PLL_USB2_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_USB2_DIV_SELECT_MASK)
  7296. #define CCM_ANALOG_PLL_USB2_EN_USB_CLKS_MASK (0x40U)
  7297. #define CCM_ANALOG_PLL_USB2_EN_USB_CLKS_SHIFT (6U)
  7298. #define CCM_ANALOG_PLL_USB2_EN_USB_CLKS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_EN_USB_CLKS_SHIFT)) & CCM_ANALOG_PLL_USB2_EN_USB_CLKS_MASK)
  7299. #define CCM_ANALOG_PLL_USB2_POWER_MASK (0x1000U)
  7300. #define CCM_ANALOG_PLL_USB2_POWER_SHIFT (12U)
  7301. #define CCM_ANALOG_PLL_USB2_POWER(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_POWER_SHIFT)) & CCM_ANALOG_PLL_USB2_POWER_MASK)
  7302. #define CCM_ANALOG_PLL_USB2_ENABLE_MASK (0x2000U)
  7303. #define CCM_ANALOG_PLL_USB2_ENABLE_SHIFT (13U)
  7304. #define CCM_ANALOG_PLL_USB2_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_ENABLE_SHIFT)) & CCM_ANALOG_PLL_USB2_ENABLE_MASK)
  7305. #define CCM_ANALOG_PLL_USB2_BYPASS_CLK_SRC_MASK (0xC000U)
  7306. #define CCM_ANALOG_PLL_USB2_BYPASS_CLK_SRC_SHIFT (14U)
  7307. /*! BYPASS_CLK_SRC
  7308. * 0b00..Select the 24MHz oscillator as source.
  7309. * 0b01..Select the CLK1_N / CLK1_P as source.
  7310. * 0b10..Reserved1
  7311. * 0b11..Reserved2
  7312. */
  7313. #define CCM_ANALOG_PLL_USB2_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_USB2_BYPASS_CLK_SRC_MASK)
  7314. #define CCM_ANALOG_PLL_USB2_BYPASS_MASK (0x10000U)
  7315. #define CCM_ANALOG_PLL_USB2_BYPASS_SHIFT (16U)
  7316. #define CCM_ANALOG_PLL_USB2_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_BYPASS_SHIFT)) & CCM_ANALOG_PLL_USB2_BYPASS_MASK)
  7317. #define CCM_ANALOG_PLL_USB2_LOCK_MASK (0x80000000U)
  7318. #define CCM_ANALOG_PLL_USB2_LOCK_SHIFT (31U)
  7319. #define CCM_ANALOG_PLL_USB2_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_LOCK_SHIFT)) & CCM_ANALOG_PLL_USB2_LOCK_MASK)
  7320. /*! @} */
  7321. /*! @name PLL_USB2_SET - Analog USB2 480MHz PLL Control Register */
  7322. /*! @{ */
  7323. #define CCM_ANALOG_PLL_USB2_SET_DIV_SELECT_MASK (0x2U)
  7324. #define CCM_ANALOG_PLL_USB2_SET_DIV_SELECT_SHIFT (1U)
  7325. #define CCM_ANALOG_PLL_USB2_SET_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_SET_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_USB2_SET_DIV_SELECT_MASK)
  7326. #define CCM_ANALOG_PLL_USB2_SET_EN_USB_CLKS_MASK (0x40U)
  7327. #define CCM_ANALOG_PLL_USB2_SET_EN_USB_CLKS_SHIFT (6U)
  7328. #define CCM_ANALOG_PLL_USB2_SET_EN_USB_CLKS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_SET_EN_USB_CLKS_SHIFT)) & CCM_ANALOG_PLL_USB2_SET_EN_USB_CLKS_MASK)
  7329. #define CCM_ANALOG_PLL_USB2_SET_POWER_MASK (0x1000U)
  7330. #define CCM_ANALOG_PLL_USB2_SET_POWER_SHIFT (12U)
  7331. #define CCM_ANALOG_PLL_USB2_SET_POWER(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_SET_POWER_SHIFT)) & CCM_ANALOG_PLL_USB2_SET_POWER_MASK)
  7332. #define CCM_ANALOG_PLL_USB2_SET_ENABLE_MASK (0x2000U)
  7333. #define CCM_ANALOG_PLL_USB2_SET_ENABLE_SHIFT (13U)
  7334. #define CCM_ANALOG_PLL_USB2_SET_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_SET_ENABLE_SHIFT)) & CCM_ANALOG_PLL_USB2_SET_ENABLE_MASK)
  7335. #define CCM_ANALOG_PLL_USB2_SET_BYPASS_CLK_SRC_MASK (0xC000U)
  7336. #define CCM_ANALOG_PLL_USB2_SET_BYPASS_CLK_SRC_SHIFT (14U)
  7337. /*! BYPASS_CLK_SRC
  7338. * 0b00..Select the 24MHz oscillator as source.
  7339. * 0b01..Select the CLK1_N / CLK1_P as source.
  7340. * 0b10..Reserved1
  7341. * 0b11..Reserved2
  7342. */
  7343. #define CCM_ANALOG_PLL_USB2_SET_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_SET_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_USB2_SET_BYPASS_CLK_SRC_MASK)
  7344. #define CCM_ANALOG_PLL_USB2_SET_BYPASS_MASK (0x10000U)
  7345. #define CCM_ANALOG_PLL_USB2_SET_BYPASS_SHIFT (16U)
  7346. #define CCM_ANALOG_PLL_USB2_SET_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_SET_BYPASS_SHIFT)) & CCM_ANALOG_PLL_USB2_SET_BYPASS_MASK)
  7347. #define CCM_ANALOG_PLL_USB2_SET_LOCK_MASK (0x80000000U)
  7348. #define CCM_ANALOG_PLL_USB2_SET_LOCK_SHIFT (31U)
  7349. #define CCM_ANALOG_PLL_USB2_SET_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_SET_LOCK_SHIFT)) & CCM_ANALOG_PLL_USB2_SET_LOCK_MASK)
  7350. /*! @} */
  7351. /*! @name PLL_USB2_CLR - Analog USB2 480MHz PLL Control Register */
  7352. /*! @{ */
  7353. #define CCM_ANALOG_PLL_USB2_CLR_DIV_SELECT_MASK (0x2U)
  7354. #define CCM_ANALOG_PLL_USB2_CLR_DIV_SELECT_SHIFT (1U)
  7355. #define CCM_ANALOG_PLL_USB2_CLR_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_CLR_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_USB2_CLR_DIV_SELECT_MASK)
  7356. #define CCM_ANALOG_PLL_USB2_CLR_EN_USB_CLKS_MASK (0x40U)
  7357. #define CCM_ANALOG_PLL_USB2_CLR_EN_USB_CLKS_SHIFT (6U)
  7358. #define CCM_ANALOG_PLL_USB2_CLR_EN_USB_CLKS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_CLR_EN_USB_CLKS_SHIFT)) & CCM_ANALOG_PLL_USB2_CLR_EN_USB_CLKS_MASK)
  7359. #define CCM_ANALOG_PLL_USB2_CLR_POWER_MASK (0x1000U)
  7360. #define CCM_ANALOG_PLL_USB2_CLR_POWER_SHIFT (12U)
  7361. #define CCM_ANALOG_PLL_USB2_CLR_POWER(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_CLR_POWER_SHIFT)) & CCM_ANALOG_PLL_USB2_CLR_POWER_MASK)
  7362. #define CCM_ANALOG_PLL_USB2_CLR_ENABLE_MASK (0x2000U)
  7363. #define CCM_ANALOG_PLL_USB2_CLR_ENABLE_SHIFT (13U)
  7364. #define CCM_ANALOG_PLL_USB2_CLR_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_CLR_ENABLE_SHIFT)) & CCM_ANALOG_PLL_USB2_CLR_ENABLE_MASK)
  7365. #define CCM_ANALOG_PLL_USB2_CLR_BYPASS_CLK_SRC_MASK (0xC000U)
  7366. #define CCM_ANALOG_PLL_USB2_CLR_BYPASS_CLK_SRC_SHIFT (14U)
  7367. /*! BYPASS_CLK_SRC
  7368. * 0b00..Select the 24MHz oscillator as source.
  7369. * 0b01..Select the CLK1_N / CLK1_P as source.
  7370. * 0b10..Reserved1
  7371. * 0b11..Reserved2
  7372. */
  7373. #define CCM_ANALOG_PLL_USB2_CLR_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_CLR_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_USB2_CLR_BYPASS_CLK_SRC_MASK)
  7374. #define CCM_ANALOG_PLL_USB2_CLR_BYPASS_MASK (0x10000U)
  7375. #define CCM_ANALOG_PLL_USB2_CLR_BYPASS_SHIFT (16U)
  7376. #define CCM_ANALOG_PLL_USB2_CLR_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_CLR_BYPASS_SHIFT)) & CCM_ANALOG_PLL_USB2_CLR_BYPASS_MASK)
  7377. #define CCM_ANALOG_PLL_USB2_CLR_LOCK_MASK (0x80000000U)
  7378. #define CCM_ANALOG_PLL_USB2_CLR_LOCK_SHIFT (31U)
  7379. #define CCM_ANALOG_PLL_USB2_CLR_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_CLR_LOCK_SHIFT)) & CCM_ANALOG_PLL_USB2_CLR_LOCK_MASK)
  7380. /*! @} */
  7381. /*! @name PLL_USB2_TOG - Analog USB2 480MHz PLL Control Register */
  7382. /*! @{ */
  7383. #define CCM_ANALOG_PLL_USB2_TOG_DIV_SELECT_MASK (0x2U)
  7384. #define CCM_ANALOG_PLL_USB2_TOG_DIV_SELECT_SHIFT (1U)
  7385. #define CCM_ANALOG_PLL_USB2_TOG_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_TOG_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_USB2_TOG_DIV_SELECT_MASK)
  7386. #define CCM_ANALOG_PLL_USB2_TOG_EN_USB_CLKS_MASK (0x40U)
  7387. #define CCM_ANALOG_PLL_USB2_TOG_EN_USB_CLKS_SHIFT (6U)
  7388. #define CCM_ANALOG_PLL_USB2_TOG_EN_USB_CLKS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_TOG_EN_USB_CLKS_SHIFT)) & CCM_ANALOG_PLL_USB2_TOG_EN_USB_CLKS_MASK)
  7389. #define CCM_ANALOG_PLL_USB2_TOG_POWER_MASK (0x1000U)
  7390. #define CCM_ANALOG_PLL_USB2_TOG_POWER_SHIFT (12U)
  7391. #define CCM_ANALOG_PLL_USB2_TOG_POWER(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_TOG_POWER_SHIFT)) & CCM_ANALOG_PLL_USB2_TOG_POWER_MASK)
  7392. #define CCM_ANALOG_PLL_USB2_TOG_ENABLE_MASK (0x2000U)
  7393. #define CCM_ANALOG_PLL_USB2_TOG_ENABLE_SHIFT (13U)
  7394. #define CCM_ANALOG_PLL_USB2_TOG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_TOG_ENABLE_SHIFT)) & CCM_ANALOG_PLL_USB2_TOG_ENABLE_MASK)
  7395. #define CCM_ANALOG_PLL_USB2_TOG_BYPASS_CLK_SRC_MASK (0xC000U)
  7396. #define CCM_ANALOG_PLL_USB2_TOG_BYPASS_CLK_SRC_SHIFT (14U)
  7397. /*! BYPASS_CLK_SRC
  7398. * 0b00..Select the 24MHz oscillator as source.
  7399. * 0b01..Select the CLK1_N / CLK1_P as source.
  7400. * 0b10..Reserved1
  7401. * 0b11..Reserved2
  7402. */
  7403. #define CCM_ANALOG_PLL_USB2_TOG_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_TOG_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_USB2_TOG_BYPASS_CLK_SRC_MASK)
  7404. #define CCM_ANALOG_PLL_USB2_TOG_BYPASS_MASK (0x10000U)
  7405. #define CCM_ANALOG_PLL_USB2_TOG_BYPASS_SHIFT (16U)
  7406. #define CCM_ANALOG_PLL_USB2_TOG_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_TOG_BYPASS_SHIFT)) & CCM_ANALOG_PLL_USB2_TOG_BYPASS_MASK)
  7407. #define CCM_ANALOG_PLL_USB2_TOG_LOCK_MASK (0x80000000U)
  7408. #define CCM_ANALOG_PLL_USB2_TOG_LOCK_SHIFT (31U)
  7409. #define CCM_ANALOG_PLL_USB2_TOG_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_USB2_TOG_LOCK_SHIFT)) & CCM_ANALOG_PLL_USB2_TOG_LOCK_MASK)
  7410. /*! @} */
  7411. /*! @name PLL_SYS - Analog System PLL Control Register */
  7412. /*! @{ */
  7413. #define CCM_ANALOG_PLL_SYS_DIV_SELECT_MASK (0x1U)
  7414. #define CCM_ANALOG_PLL_SYS_DIV_SELECT_SHIFT (0U)
  7415. #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)
  7416. #define CCM_ANALOG_PLL_SYS_POWERDOWN_MASK (0x1000U)
  7417. #define CCM_ANALOG_PLL_SYS_POWERDOWN_SHIFT (12U)
  7418. #define CCM_ANALOG_PLL_SYS_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_SYS_POWERDOWN_MASK)
  7419. #define CCM_ANALOG_PLL_SYS_ENABLE_MASK (0x2000U)
  7420. #define CCM_ANALOG_PLL_SYS_ENABLE_SHIFT (13U)
  7421. #define CCM_ANALOG_PLL_SYS_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_ENABLE_SHIFT)) & CCM_ANALOG_PLL_SYS_ENABLE_MASK)
  7422. #define CCM_ANALOG_PLL_SYS_BYPASS_CLK_SRC_MASK (0xC000U)
  7423. #define CCM_ANALOG_PLL_SYS_BYPASS_CLK_SRC_SHIFT (14U)
  7424. /*! BYPASS_CLK_SRC
  7425. * 0b00..Select the 24MHz oscillator as source.
  7426. * 0b01..Select the CLK1_N / CLK1_P as source.
  7427. */
  7428. #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)
  7429. #define CCM_ANALOG_PLL_SYS_BYPASS_MASK (0x10000U)
  7430. #define CCM_ANALOG_PLL_SYS_BYPASS_SHIFT (16U)
  7431. #define CCM_ANALOG_PLL_SYS_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_BYPASS_SHIFT)) & CCM_ANALOG_PLL_SYS_BYPASS_MASK)
  7432. #define CCM_ANALOG_PLL_SYS_LOCK_MASK (0x80000000U)
  7433. #define CCM_ANALOG_PLL_SYS_LOCK_SHIFT (31U)
  7434. #define CCM_ANALOG_PLL_SYS_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_SYS_LOCK_SHIFT)) & CCM_ANALOG_PLL_SYS_LOCK_MASK)
  7435. /*! @} */
  7436. /*! @name PLL_SYS_SET - Analog System PLL Control Register */
  7437. /*! @{ */
  7438. #define CCM_ANALOG_PLL_SYS_SET_DIV_SELECT_MASK (0x1U)
  7439. #define CCM_ANALOG_PLL_SYS_SET_DIV_SELECT_SHIFT (0U)
  7440. #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)
  7441. #define CCM_ANALOG_PLL_SYS_SET_POWERDOWN_MASK (0x1000U)
  7442. #define CCM_ANALOG_PLL_SYS_SET_POWERDOWN_SHIFT (12U)
  7443. #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)
  7444. #define CCM_ANALOG_PLL_SYS_SET_ENABLE_MASK (0x2000U)
  7445. #define CCM_ANALOG_PLL_SYS_SET_ENABLE_SHIFT (13U)
  7446. #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)
  7447. #define CCM_ANALOG_PLL_SYS_SET_BYPASS_CLK_SRC_MASK (0xC000U)
  7448. #define CCM_ANALOG_PLL_SYS_SET_BYPASS_CLK_SRC_SHIFT (14U)
  7449. /*! BYPASS_CLK_SRC
  7450. * 0b00..Select the 24MHz oscillator as source.
  7451. * 0b01..Select the CLK1_N / CLK1_P as source.
  7452. */
  7453. #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)
  7454. #define CCM_ANALOG_PLL_SYS_SET_BYPASS_MASK (0x10000U)
  7455. #define CCM_ANALOG_PLL_SYS_SET_BYPASS_SHIFT (16U)
  7456. #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)
  7457. #define CCM_ANALOG_PLL_SYS_SET_LOCK_MASK (0x80000000U)
  7458. #define CCM_ANALOG_PLL_SYS_SET_LOCK_SHIFT (31U)
  7459. #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)
  7460. /*! @} */
  7461. /*! @name PLL_SYS_CLR - Analog System PLL Control Register */
  7462. /*! @{ */
  7463. #define CCM_ANALOG_PLL_SYS_CLR_DIV_SELECT_MASK (0x1U)
  7464. #define CCM_ANALOG_PLL_SYS_CLR_DIV_SELECT_SHIFT (0U)
  7465. #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)
  7466. #define CCM_ANALOG_PLL_SYS_CLR_POWERDOWN_MASK (0x1000U)
  7467. #define CCM_ANALOG_PLL_SYS_CLR_POWERDOWN_SHIFT (12U)
  7468. #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)
  7469. #define CCM_ANALOG_PLL_SYS_CLR_ENABLE_MASK (0x2000U)
  7470. #define CCM_ANALOG_PLL_SYS_CLR_ENABLE_SHIFT (13U)
  7471. #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)
  7472. #define CCM_ANALOG_PLL_SYS_CLR_BYPASS_CLK_SRC_MASK (0xC000U)
  7473. #define CCM_ANALOG_PLL_SYS_CLR_BYPASS_CLK_SRC_SHIFT (14U)
  7474. /*! BYPASS_CLK_SRC
  7475. * 0b00..Select the 24MHz oscillator as source.
  7476. * 0b01..Select the CLK1_N / CLK1_P as source.
  7477. */
  7478. #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)
  7479. #define CCM_ANALOG_PLL_SYS_CLR_BYPASS_MASK (0x10000U)
  7480. #define CCM_ANALOG_PLL_SYS_CLR_BYPASS_SHIFT (16U)
  7481. #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)
  7482. #define CCM_ANALOG_PLL_SYS_CLR_LOCK_MASK (0x80000000U)
  7483. #define CCM_ANALOG_PLL_SYS_CLR_LOCK_SHIFT (31U)
  7484. #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)
  7485. /*! @} */
  7486. /*! @name PLL_SYS_TOG - Analog System PLL Control Register */
  7487. /*! @{ */
  7488. #define CCM_ANALOG_PLL_SYS_TOG_DIV_SELECT_MASK (0x1U)
  7489. #define CCM_ANALOG_PLL_SYS_TOG_DIV_SELECT_SHIFT (0U)
  7490. #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)
  7491. #define CCM_ANALOG_PLL_SYS_TOG_POWERDOWN_MASK (0x1000U)
  7492. #define CCM_ANALOG_PLL_SYS_TOG_POWERDOWN_SHIFT (12U)
  7493. #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)
  7494. #define CCM_ANALOG_PLL_SYS_TOG_ENABLE_MASK (0x2000U)
  7495. #define CCM_ANALOG_PLL_SYS_TOG_ENABLE_SHIFT (13U)
  7496. #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)
  7497. #define CCM_ANALOG_PLL_SYS_TOG_BYPASS_CLK_SRC_MASK (0xC000U)
  7498. #define CCM_ANALOG_PLL_SYS_TOG_BYPASS_CLK_SRC_SHIFT (14U)
  7499. /*! BYPASS_CLK_SRC
  7500. * 0b00..Select the 24MHz oscillator as source.
  7501. * 0b01..Select the CLK1_N / CLK1_P as source.
  7502. */
  7503. #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)
  7504. #define CCM_ANALOG_PLL_SYS_TOG_BYPASS_MASK (0x10000U)
  7505. #define CCM_ANALOG_PLL_SYS_TOG_BYPASS_SHIFT (16U)
  7506. #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)
  7507. #define CCM_ANALOG_PLL_SYS_TOG_LOCK_MASK (0x80000000U)
  7508. #define CCM_ANALOG_PLL_SYS_TOG_LOCK_SHIFT (31U)
  7509. #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)
  7510. /*! @} */
  7511. /*! @name PLL_SYS_SS - 528MHz System PLL Spread Spectrum Register */
  7512. /*! @{ */
  7513. #define CCM_ANALOG_PLL_SYS_SS_STEP_MASK (0x7FFFU)
  7514. #define CCM_ANALOG_PLL_SYS_SS_STEP_SHIFT (0U)
  7515. #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)
  7516. #define CCM_ANALOG_PLL_SYS_SS_ENABLE_MASK (0x8000U)
  7517. #define CCM_ANALOG_PLL_SYS_SS_ENABLE_SHIFT (15U)
  7518. /*! ENABLE - Enable bit
  7519. * 0b0..Spread spectrum modulation disabled
  7520. * 0b1..Soread spectrum modulation enabled
  7521. */
  7522. #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)
  7523. #define CCM_ANALOG_PLL_SYS_SS_STOP_MASK (0xFFFF0000U)
  7524. #define CCM_ANALOG_PLL_SYS_SS_STOP_SHIFT (16U)
  7525. #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)
  7526. /*! @} */
  7527. /*! @name PLL_SYS_NUM - Numerator of 528MHz System PLL Fractional Loop Divider Register */
  7528. /*! @{ */
  7529. #define CCM_ANALOG_PLL_SYS_NUM_A_MASK (0x3FFFFFFFU)
  7530. #define CCM_ANALOG_PLL_SYS_NUM_A_SHIFT (0U)
  7531. #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)
  7532. /*! @} */
  7533. /*! @name PLL_SYS_DENOM - Denominator of 528MHz System PLL Fractional Loop Divider Register */
  7534. /*! @{ */
  7535. #define CCM_ANALOG_PLL_SYS_DENOM_B_MASK (0x3FFFFFFFU)
  7536. #define CCM_ANALOG_PLL_SYS_DENOM_B_SHIFT (0U)
  7537. #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)
  7538. /*! @} */
  7539. /*! @name PLL_AUDIO - Analog Audio PLL control Register */
  7540. /*! @{ */
  7541. #define CCM_ANALOG_PLL_AUDIO_DIV_SELECT_MASK (0x7FU)
  7542. #define CCM_ANALOG_PLL_AUDIO_DIV_SELECT_SHIFT (0U)
  7543. #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)
  7544. #define CCM_ANALOG_PLL_AUDIO_POWERDOWN_MASK (0x1000U)
  7545. #define CCM_ANALOG_PLL_AUDIO_POWERDOWN_SHIFT (12U)
  7546. #define CCM_ANALOG_PLL_AUDIO_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_AUDIO_POWERDOWN_MASK)
  7547. #define CCM_ANALOG_PLL_AUDIO_ENABLE_MASK (0x2000U)
  7548. #define CCM_ANALOG_PLL_AUDIO_ENABLE_SHIFT (13U)
  7549. #define CCM_ANALOG_PLL_AUDIO_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_ENABLE_SHIFT)) & CCM_ANALOG_PLL_AUDIO_ENABLE_MASK)
  7550. #define CCM_ANALOG_PLL_AUDIO_BYPASS_CLK_SRC_MASK (0xC000U)
  7551. #define CCM_ANALOG_PLL_AUDIO_BYPASS_CLK_SRC_SHIFT (14U)
  7552. /*! BYPASS_CLK_SRC
  7553. * 0b00..Select the 24MHz oscillator as source.
  7554. * 0b01..Select the CLK1_N / CLK1_P as source.
  7555. * 0b10..Reserved1
  7556. * 0b11..Reserved2
  7557. */
  7558. #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)
  7559. #define CCM_ANALOG_PLL_AUDIO_BYPASS_MASK (0x10000U)
  7560. #define CCM_ANALOG_PLL_AUDIO_BYPASS_SHIFT (16U)
  7561. #define CCM_ANALOG_PLL_AUDIO_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_BYPASS_SHIFT)) & CCM_ANALOG_PLL_AUDIO_BYPASS_MASK)
  7562. #define CCM_ANALOG_PLL_AUDIO_POST_DIV_SELECT_MASK (0x180000U)
  7563. #define CCM_ANALOG_PLL_AUDIO_POST_DIV_SELECT_SHIFT (19U)
  7564. /*! POST_DIV_SELECT
  7565. * 0b00..Divide by 4.
  7566. * 0b01..Divide by 2.
  7567. * 0b10..Divide by 1.
  7568. * 0b11..Reserved
  7569. */
  7570. #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)
  7571. #define CCM_ANALOG_PLL_AUDIO_LOCK_MASK (0x80000000U)
  7572. #define CCM_ANALOG_PLL_AUDIO_LOCK_SHIFT (31U)
  7573. #define CCM_ANALOG_PLL_AUDIO_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_AUDIO_LOCK_SHIFT)) & CCM_ANALOG_PLL_AUDIO_LOCK_MASK)
  7574. /*! @} */
  7575. /*! @name PLL_AUDIO_SET - Analog Audio PLL control Register */
  7576. /*! @{ */
  7577. #define CCM_ANALOG_PLL_AUDIO_SET_DIV_SELECT_MASK (0x7FU)
  7578. #define CCM_ANALOG_PLL_AUDIO_SET_DIV_SELECT_SHIFT (0U)
  7579. #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)
  7580. #define CCM_ANALOG_PLL_AUDIO_SET_POWERDOWN_MASK (0x1000U)
  7581. #define CCM_ANALOG_PLL_AUDIO_SET_POWERDOWN_SHIFT (12U)
  7582. #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)
  7583. #define CCM_ANALOG_PLL_AUDIO_SET_ENABLE_MASK (0x2000U)
  7584. #define CCM_ANALOG_PLL_AUDIO_SET_ENABLE_SHIFT (13U)
  7585. #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)
  7586. #define CCM_ANALOG_PLL_AUDIO_SET_BYPASS_CLK_SRC_MASK (0xC000U)
  7587. #define CCM_ANALOG_PLL_AUDIO_SET_BYPASS_CLK_SRC_SHIFT (14U)
  7588. /*! BYPASS_CLK_SRC
  7589. * 0b00..Select the 24MHz oscillator as source.
  7590. * 0b01..Select the CLK1_N / CLK1_P as source.
  7591. * 0b10..Reserved1
  7592. * 0b11..Reserved2
  7593. */
  7594. #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)
  7595. #define CCM_ANALOG_PLL_AUDIO_SET_BYPASS_MASK (0x10000U)
  7596. #define CCM_ANALOG_PLL_AUDIO_SET_BYPASS_SHIFT (16U)
  7597. #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)
  7598. #define CCM_ANALOG_PLL_AUDIO_SET_POST_DIV_SELECT_MASK (0x180000U)
  7599. #define CCM_ANALOG_PLL_AUDIO_SET_POST_DIV_SELECT_SHIFT (19U)
  7600. /*! POST_DIV_SELECT
  7601. * 0b00..Divide by 4.
  7602. * 0b01..Divide by 2.
  7603. * 0b10..Divide by 1.
  7604. * 0b11..Reserved
  7605. */
  7606. #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)
  7607. #define CCM_ANALOG_PLL_AUDIO_SET_LOCK_MASK (0x80000000U)
  7608. #define CCM_ANALOG_PLL_AUDIO_SET_LOCK_SHIFT (31U)
  7609. #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)
  7610. /*! @} */
  7611. /*! @name PLL_AUDIO_CLR - Analog Audio PLL control Register */
  7612. /*! @{ */
  7613. #define CCM_ANALOG_PLL_AUDIO_CLR_DIV_SELECT_MASK (0x7FU)
  7614. #define CCM_ANALOG_PLL_AUDIO_CLR_DIV_SELECT_SHIFT (0U)
  7615. #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)
  7616. #define CCM_ANALOG_PLL_AUDIO_CLR_POWERDOWN_MASK (0x1000U)
  7617. #define CCM_ANALOG_PLL_AUDIO_CLR_POWERDOWN_SHIFT (12U)
  7618. #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)
  7619. #define CCM_ANALOG_PLL_AUDIO_CLR_ENABLE_MASK (0x2000U)
  7620. #define CCM_ANALOG_PLL_AUDIO_CLR_ENABLE_SHIFT (13U)
  7621. #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)
  7622. #define CCM_ANALOG_PLL_AUDIO_CLR_BYPASS_CLK_SRC_MASK (0xC000U)
  7623. #define CCM_ANALOG_PLL_AUDIO_CLR_BYPASS_CLK_SRC_SHIFT (14U)
  7624. /*! BYPASS_CLK_SRC
  7625. * 0b00..Select the 24MHz oscillator as source.
  7626. * 0b01..Select the CLK1_N / CLK1_P as source.
  7627. * 0b10..Reserved1
  7628. * 0b11..Reserved2
  7629. */
  7630. #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)
  7631. #define CCM_ANALOG_PLL_AUDIO_CLR_BYPASS_MASK (0x10000U)
  7632. #define CCM_ANALOG_PLL_AUDIO_CLR_BYPASS_SHIFT (16U)
  7633. #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)
  7634. #define CCM_ANALOG_PLL_AUDIO_CLR_POST_DIV_SELECT_MASK (0x180000U)
  7635. #define CCM_ANALOG_PLL_AUDIO_CLR_POST_DIV_SELECT_SHIFT (19U)
  7636. /*! POST_DIV_SELECT
  7637. * 0b00..Divide by 4.
  7638. * 0b01..Divide by 2.
  7639. * 0b10..Divide by 1.
  7640. * 0b11..Reserved
  7641. */
  7642. #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)
  7643. #define CCM_ANALOG_PLL_AUDIO_CLR_LOCK_MASK (0x80000000U)
  7644. #define CCM_ANALOG_PLL_AUDIO_CLR_LOCK_SHIFT (31U)
  7645. #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)
  7646. /*! @} */
  7647. /*! @name PLL_AUDIO_TOG - Analog Audio PLL control Register */
  7648. /*! @{ */
  7649. #define CCM_ANALOG_PLL_AUDIO_TOG_DIV_SELECT_MASK (0x7FU)
  7650. #define CCM_ANALOG_PLL_AUDIO_TOG_DIV_SELECT_SHIFT (0U)
  7651. #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)
  7652. #define CCM_ANALOG_PLL_AUDIO_TOG_POWERDOWN_MASK (0x1000U)
  7653. #define CCM_ANALOG_PLL_AUDIO_TOG_POWERDOWN_SHIFT (12U)
  7654. #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)
  7655. #define CCM_ANALOG_PLL_AUDIO_TOG_ENABLE_MASK (0x2000U)
  7656. #define CCM_ANALOG_PLL_AUDIO_TOG_ENABLE_SHIFT (13U)
  7657. #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)
  7658. #define CCM_ANALOG_PLL_AUDIO_TOG_BYPASS_CLK_SRC_MASK (0xC000U)
  7659. #define CCM_ANALOG_PLL_AUDIO_TOG_BYPASS_CLK_SRC_SHIFT (14U)
  7660. /*! BYPASS_CLK_SRC
  7661. * 0b00..Select the 24MHz oscillator as source.
  7662. * 0b01..Select the CLK1_N / CLK1_P as source.
  7663. * 0b10..Reserved1
  7664. * 0b11..Reserved2
  7665. */
  7666. #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)
  7667. #define CCM_ANALOG_PLL_AUDIO_TOG_BYPASS_MASK (0x10000U)
  7668. #define CCM_ANALOG_PLL_AUDIO_TOG_BYPASS_SHIFT (16U)
  7669. #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)
  7670. #define CCM_ANALOG_PLL_AUDIO_TOG_POST_DIV_SELECT_MASK (0x180000U)
  7671. #define CCM_ANALOG_PLL_AUDIO_TOG_POST_DIV_SELECT_SHIFT (19U)
  7672. /*! POST_DIV_SELECT
  7673. * 0b00..Divide by 4.
  7674. * 0b01..Divide by 2.
  7675. * 0b10..Divide by 1.
  7676. * 0b11..Reserved
  7677. */
  7678. #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)
  7679. #define CCM_ANALOG_PLL_AUDIO_TOG_LOCK_MASK (0x80000000U)
  7680. #define CCM_ANALOG_PLL_AUDIO_TOG_LOCK_SHIFT (31U)
  7681. #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)
  7682. /*! @} */
  7683. /*! @name PLL_AUDIO_NUM - Numerator of Audio PLL Fractional Loop Divider Register */
  7684. /*! @{ */
  7685. #define CCM_ANALOG_PLL_AUDIO_NUM_A_MASK (0x3FFFFFFFU)
  7686. #define CCM_ANALOG_PLL_AUDIO_NUM_A_SHIFT (0U)
  7687. #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)
  7688. /*! @} */
  7689. /*! @name PLL_AUDIO_DENOM - Denominator of Audio PLL Fractional Loop Divider Register */
  7690. /*! @{ */
  7691. #define CCM_ANALOG_PLL_AUDIO_DENOM_B_MASK (0x3FFFFFFFU)
  7692. #define CCM_ANALOG_PLL_AUDIO_DENOM_B_SHIFT (0U)
  7693. #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)
  7694. /*! @} */
  7695. /*! @name PLL_VIDEO - Analog Video PLL control Register */
  7696. /*! @{ */
  7697. #define CCM_ANALOG_PLL_VIDEO_DIV_SELECT_MASK (0x7FU)
  7698. #define CCM_ANALOG_PLL_VIDEO_DIV_SELECT_SHIFT (0U)
  7699. #define CCM_ANALOG_PLL_VIDEO_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_VIDEO_DIV_SELECT_MASK)
  7700. #define CCM_ANALOG_PLL_VIDEO_POWERDOWN_MASK (0x1000U)
  7701. #define CCM_ANALOG_PLL_VIDEO_POWERDOWN_SHIFT (12U)
  7702. #define CCM_ANALOG_PLL_VIDEO_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_VIDEO_POWERDOWN_MASK)
  7703. #define CCM_ANALOG_PLL_VIDEO_ENABLE_MASK (0x2000U)
  7704. #define CCM_ANALOG_PLL_VIDEO_ENABLE_SHIFT (13U)
  7705. #define CCM_ANALOG_PLL_VIDEO_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_ENABLE_SHIFT)) & CCM_ANALOG_PLL_VIDEO_ENABLE_MASK)
  7706. #define CCM_ANALOG_PLL_VIDEO_BYPASS_CLK_SRC_MASK (0xC000U)
  7707. #define CCM_ANALOG_PLL_VIDEO_BYPASS_CLK_SRC_SHIFT (14U)
  7708. /*! BYPASS_CLK_SRC
  7709. * 0b00..Select the 24MHz oscillator as source.
  7710. * 0b01..Select the CLK1_N / CLK1_P as source.
  7711. * 0b10..Reserved1
  7712. * 0b11..Reserved2
  7713. */
  7714. #define CCM_ANALOG_PLL_VIDEO_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_VIDEO_BYPASS_CLK_SRC_MASK)
  7715. #define CCM_ANALOG_PLL_VIDEO_BYPASS_MASK (0x10000U)
  7716. #define CCM_ANALOG_PLL_VIDEO_BYPASS_SHIFT (16U)
  7717. #define CCM_ANALOG_PLL_VIDEO_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_BYPASS_SHIFT)) & CCM_ANALOG_PLL_VIDEO_BYPASS_MASK)
  7718. #define CCM_ANALOG_PLL_VIDEO_POST_DIV_SELECT_MASK (0x180000U)
  7719. #define CCM_ANALOG_PLL_VIDEO_POST_DIV_SELECT_SHIFT (19U)
  7720. /*! POST_DIV_SELECT
  7721. * 0b00..Divide by 4.
  7722. * 0b01..Divide by 2.
  7723. * 0b10..Divide by 1.
  7724. * 0b11..Reserved
  7725. */
  7726. #define CCM_ANALOG_PLL_VIDEO_POST_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_POST_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_VIDEO_POST_DIV_SELECT_MASK)
  7727. #define CCM_ANALOG_PLL_VIDEO_LOCK_MASK (0x80000000U)
  7728. #define CCM_ANALOG_PLL_VIDEO_LOCK_SHIFT (31U)
  7729. #define CCM_ANALOG_PLL_VIDEO_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_LOCK_SHIFT)) & CCM_ANALOG_PLL_VIDEO_LOCK_MASK)
  7730. /*! @} */
  7731. /*! @name PLL_VIDEO_SET - Analog Video PLL control Register */
  7732. /*! @{ */
  7733. #define CCM_ANALOG_PLL_VIDEO_SET_DIV_SELECT_MASK (0x7FU)
  7734. #define CCM_ANALOG_PLL_VIDEO_SET_DIV_SELECT_SHIFT (0U)
  7735. #define CCM_ANALOG_PLL_VIDEO_SET_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_SET_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_VIDEO_SET_DIV_SELECT_MASK)
  7736. #define CCM_ANALOG_PLL_VIDEO_SET_POWERDOWN_MASK (0x1000U)
  7737. #define CCM_ANALOG_PLL_VIDEO_SET_POWERDOWN_SHIFT (12U)
  7738. #define CCM_ANALOG_PLL_VIDEO_SET_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_SET_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_VIDEO_SET_POWERDOWN_MASK)
  7739. #define CCM_ANALOG_PLL_VIDEO_SET_ENABLE_MASK (0x2000U)
  7740. #define CCM_ANALOG_PLL_VIDEO_SET_ENABLE_SHIFT (13U)
  7741. #define CCM_ANALOG_PLL_VIDEO_SET_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_SET_ENABLE_SHIFT)) & CCM_ANALOG_PLL_VIDEO_SET_ENABLE_MASK)
  7742. #define CCM_ANALOG_PLL_VIDEO_SET_BYPASS_CLK_SRC_MASK (0xC000U)
  7743. #define CCM_ANALOG_PLL_VIDEO_SET_BYPASS_CLK_SRC_SHIFT (14U)
  7744. /*! BYPASS_CLK_SRC
  7745. * 0b00..Select the 24MHz oscillator as source.
  7746. * 0b01..Select the CLK1_N / CLK1_P as source.
  7747. * 0b10..Reserved1
  7748. * 0b11..Reserved2
  7749. */
  7750. #define CCM_ANALOG_PLL_VIDEO_SET_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_SET_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_VIDEO_SET_BYPASS_CLK_SRC_MASK)
  7751. #define CCM_ANALOG_PLL_VIDEO_SET_BYPASS_MASK (0x10000U)
  7752. #define CCM_ANALOG_PLL_VIDEO_SET_BYPASS_SHIFT (16U)
  7753. #define CCM_ANALOG_PLL_VIDEO_SET_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_SET_BYPASS_SHIFT)) & CCM_ANALOG_PLL_VIDEO_SET_BYPASS_MASK)
  7754. #define CCM_ANALOG_PLL_VIDEO_SET_POST_DIV_SELECT_MASK (0x180000U)
  7755. #define CCM_ANALOG_PLL_VIDEO_SET_POST_DIV_SELECT_SHIFT (19U)
  7756. /*! POST_DIV_SELECT
  7757. * 0b00..Divide by 4.
  7758. * 0b01..Divide by 2.
  7759. * 0b10..Divide by 1.
  7760. * 0b11..Reserved
  7761. */
  7762. #define CCM_ANALOG_PLL_VIDEO_SET_POST_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_SET_POST_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_VIDEO_SET_POST_DIV_SELECT_MASK)
  7763. #define CCM_ANALOG_PLL_VIDEO_SET_LOCK_MASK (0x80000000U)
  7764. #define CCM_ANALOG_PLL_VIDEO_SET_LOCK_SHIFT (31U)
  7765. #define CCM_ANALOG_PLL_VIDEO_SET_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_SET_LOCK_SHIFT)) & CCM_ANALOG_PLL_VIDEO_SET_LOCK_MASK)
  7766. /*! @} */
  7767. /*! @name PLL_VIDEO_CLR - Analog Video PLL control Register */
  7768. /*! @{ */
  7769. #define CCM_ANALOG_PLL_VIDEO_CLR_DIV_SELECT_MASK (0x7FU)
  7770. #define CCM_ANALOG_PLL_VIDEO_CLR_DIV_SELECT_SHIFT (0U)
  7771. #define CCM_ANALOG_PLL_VIDEO_CLR_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_CLR_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_VIDEO_CLR_DIV_SELECT_MASK)
  7772. #define CCM_ANALOG_PLL_VIDEO_CLR_POWERDOWN_MASK (0x1000U)
  7773. #define CCM_ANALOG_PLL_VIDEO_CLR_POWERDOWN_SHIFT (12U)
  7774. #define CCM_ANALOG_PLL_VIDEO_CLR_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_CLR_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_VIDEO_CLR_POWERDOWN_MASK)
  7775. #define CCM_ANALOG_PLL_VIDEO_CLR_ENABLE_MASK (0x2000U)
  7776. #define CCM_ANALOG_PLL_VIDEO_CLR_ENABLE_SHIFT (13U)
  7777. #define CCM_ANALOG_PLL_VIDEO_CLR_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_CLR_ENABLE_SHIFT)) & CCM_ANALOG_PLL_VIDEO_CLR_ENABLE_MASK)
  7778. #define CCM_ANALOG_PLL_VIDEO_CLR_BYPASS_CLK_SRC_MASK (0xC000U)
  7779. #define CCM_ANALOG_PLL_VIDEO_CLR_BYPASS_CLK_SRC_SHIFT (14U)
  7780. /*! BYPASS_CLK_SRC
  7781. * 0b00..Select the 24MHz oscillator as source.
  7782. * 0b01..Select the CLK1_N / CLK1_P as source.
  7783. * 0b10..Reserved1
  7784. * 0b11..Reserved2
  7785. */
  7786. #define CCM_ANALOG_PLL_VIDEO_CLR_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_CLR_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_VIDEO_CLR_BYPASS_CLK_SRC_MASK)
  7787. #define CCM_ANALOG_PLL_VIDEO_CLR_BYPASS_MASK (0x10000U)
  7788. #define CCM_ANALOG_PLL_VIDEO_CLR_BYPASS_SHIFT (16U)
  7789. #define CCM_ANALOG_PLL_VIDEO_CLR_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_CLR_BYPASS_SHIFT)) & CCM_ANALOG_PLL_VIDEO_CLR_BYPASS_MASK)
  7790. #define CCM_ANALOG_PLL_VIDEO_CLR_POST_DIV_SELECT_MASK (0x180000U)
  7791. #define CCM_ANALOG_PLL_VIDEO_CLR_POST_DIV_SELECT_SHIFT (19U)
  7792. /*! POST_DIV_SELECT
  7793. * 0b00..Divide by 4.
  7794. * 0b01..Divide by 2.
  7795. * 0b10..Divide by 1.
  7796. * 0b11..Reserved
  7797. */
  7798. #define CCM_ANALOG_PLL_VIDEO_CLR_POST_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_CLR_POST_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_VIDEO_CLR_POST_DIV_SELECT_MASK)
  7799. #define CCM_ANALOG_PLL_VIDEO_CLR_LOCK_MASK (0x80000000U)
  7800. #define CCM_ANALOG_PLL_VIDEO_CLR_LOCK_SHIFT (31U)
  7801. #define CCM_ANALOG_PLL_VIDEO_CLR_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_CLR_LOCK_SHIFT)) & CCM_ANALOG_PLL_VIDEO_CLR_LOCK_MASK)
  7802. /*! @} */
  7803. /*! @name PLL_VIDEO_TOG - Analog Video PLL control Register */
  7804. /*! @{ */
  7805. #define CCM_ANALOG_PLL_VIDEO_TOG_DIV_SELECT_MASK (0x7FU)
  7806. #define CCM_ANALOG_PLL_VIDEO_TOG_DIV_SELECT_SHIFT (0U)
  7807. #define CCM_ANALOG_PLL_VIDEO_TOG_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_TOG_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_VIDEO_TOG_DIV_SELECT_MASK)
  7808. #define CCM_ANALOG_PLL_VIDEO_TOG_POWERDOWN_MASK (0x1000U)
  7809. #define CCM_ANALOG_PLL_VIDEO_TOG_POWERDOWN_SHIFT (12U)
  7810. #define CCM_ANALOG_PLL_VIDEO_TOG_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_TOG_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_VIDEO_TOG_POWERDOWN_MASK)
  7811. #define CCM_ANALOG_PLL_VIDEO_TOG_ENABLE_MASK (0x2000U)
  7812. #define CCM_ANALOG_PLL_VIDEO_TOG_ENABLE_SHIFT (13U)
  7813. #define CCM_ANALOG_PLL_VIDEO_TOG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_TOG_ENABLE_SHIFT)) & CCM_ANALOG_PLL_VIDEO_TOG_ENABLE_MASK)
  7814. #define CCM_ANALOG_PLL_VIDEO_TOG_BYPASS_CLK_SRC_MASK (0xC000U)
  7815. #define CCM_ANALOG_PLL_VIDEO_TOG_BYPASS_CLK_SRC_SHIFT (14U)
  7816. /*! BYPASS_CLK_SRC
  7817. * 0b00..Select the 24MHz oscillator as source.
  7818. * 0b01..Select the CLK1_N / CLK1_P as source.
  7819. * 0b10..Reserved1
  7820. * 0b11..Reserved2
  7821. */
  7822. #define CCM_ANALOG_PLL_VIDEO_TOG_BYPASS_CLK_SRC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_TOG_BYPASS_CLK_SRC_SHIFT)) & CCM_ANALOG_PLL_VIDEO_TOG_BYPASS_CLK_SRC_MASK)
  7823. #define CCM_ANALOG_PLL_VIDEO_TOG_BYPASS_MASK (0x10000U)
  7824. #define CCM_ANALOG_PLL_VIDEO_TOG_BYPASS_SHIFT (16U)
  7825. #define CCM_ANALOG_PLL_VIDEO_TOG_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_TOG_BYPASS_SHIFT)) & CCM_ANALOG_PLL_VIDEO_TOG_BYPASS_MASK)
  7826. #define CCM_ANALOG_PLL_VIDEO_TOG_POST_DIV_SELECT_MASK (0x180000U)
  7827. #define CCM_ANALOG_PLL_VIDEO_TOG_POST_DIV_SELECT_SHIFT (19U)
  7828. /*! POST_DIV_SELECT
  7829. * 0b00..Divide by 4.
  7830. * 0b01..Divide by 2.
  7831. * 0b10..Divide by 1.
  7832. * 0b11..Reserved
  7833. */
  7834. #define CCM_ANALOG_PLL_VIDEO_TOG_POST_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_TOG_POST_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_VIDEO_TOG_POST_DIV_SELECT_MASK)
  7835. #define CCM_ANALOG_PLL_VIDEO_TOG_LOCK_MASK (0x80000000U)
  7836. #define CCM_ANALOG_PLL_VIDEO_TOG_LOCK_SHIFT (31U)
  7837. #define CCM_ANALOG_PLL_VIDEO_TOG_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_TOG_LOCK_SHIFT)) & CCM_ANALOG_PLL_VIDEO_TOG_LOCK_MASK)
  7838. /*! @} */
  7839. /*! @name PLL_VIDEO_NUM - Numerator of Video PLL Fractional Loop Divider Register */
  7840. /*! @{ */
  7841. #define CCM_ANALOG_PLL_VIDEO_NUM_A_MASK (0x3FFFFFFFU)
  7842. #define CCM_ANALOG_PLL_VIDEO_NUM_A_SHIFT (0U)
  7843. #define CCM_ANALOG_PLL_VIDEO_NUM_A(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_NUM_A_SHIFT)) & CCM_ANALOG_PLL_VIDEO_NUM_A_MASK)
  7844. /*! @} */
  7845. /*! @name PLL_VIDEO_DENOM - Denominator of Video PLL Fractional Loop Divider Register */
  7846. /*! @{ */
  7847. #define CCM_ANALOG_PLL_VIDEO_DENOM_B_MASK (0x3FFFFFFFU)
  7848. #define CCM_ANALOG_PLL_VIDEO_DENOM_B_SHIFT (0U)
  7849. #define CCM_ANALOG_PLL_VIDEO_DENOM_B(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_VIDEO_DENOM_B_SHIFT)) & CCM_ANALOG_PLL_VIDEO_DENOM_B_MASK)
  7850. /*! @} */
  7851. /*! @name PLL_ENET - Analog ENET PLL Control Register */
  7852. /*! @{ */
  7853. #define CCM_ANALOG_PLL_ENET_DIV_SELECT_MASK (0x3U)
  7854. #define CCM_ANALOG_PLL_ENET_DIV_SELECT_SHIFT (0U)
  7855. #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)
  7856. #define CCM_ANALOG_PLL_ENET_ENET2_DIV_SELECT_MASK (0xCU)
  7857. #define CCM_ANALOG_PLL_ENET_ENET2_DIV_SELECT_SHIFT (2U)
  7858. /*! ENET2_DIV_SELECT
  7859. * 0b00..25MHz
  7860. * 0b01..50MHz
  7861. * 0b10..100MHz (not 50% duty cycle)
  7862. * 0b11..125MHz
  7863. */
  7864. #define CCM_ANALOG_PLL_ENET_ENET2_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_ENET2_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_ENET_ENET2_DIV_SELECT_MASK)
  7865. #define CCM_ANALOG_PLL_ENET_POWERDOWN_MASK (0x1000U)
  7866. #define CCM_ANALOG_PLL_ENET_POWERDOWN_SHIFT (12U)
  7867. #define CCM_ANALOG_PLL_ENET_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_POWERDOWN_SHIFT)) & CCM_ANALOG_PLL_ENET_POWERDOWN_MASK)
  7868. #define CCM_ANALOG_PLL_ENET_ENABLE_MASK (0x2000U)
  7869. #define CCM_ANALOG_PLL_ENET_ENABLE_SHIFT (13U)
  7870. #define CCM_ANALOG_PLL_ENET_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_ENABLE_SHIFT)) & CCM_ANALOG_PLL_ENET_ENABLE_MASK)
  7871. #define CCM_ANALOG_PLL_ENET_BYPASS_CLK_SRC_MASK (0xC000U)
  7872. #define CCM_ANALOG_PLL_ENET_BYPASS_CLK_SRC_SHIFT (14U)
  7873. /*! BYPASS_CLK_SRC
  7874. * 0b00..Select the 24MHz oscillator as source.
  7875. * 0b01..Select the CLK1_N / CLK1_P as source.
  7876. * 0b10..Reserved1
  7877. * 0b11..Reserved2
  7878. */
  7879. #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)
  7880. #define CCM_ANALOG_PLL_ENET_BYPASS_MASK (0x10000U)
  7881. #define CCM_ANALOG_PLL_ENET_BYPASS_SHIFT (16U)
  7882. #define CCM_ANALOG_PLL_ENET_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_BYPASS_SHIFT)) & CCM_ANALOG_PLL_ENET_BYPASS_MASK)
  7883. #define CCM_ANALOG_PLL_ENET_ENET2_REF_EN_MASK (0x100000U)
  7884. #define CCM_ANALOG_PLL_ENET_ENET2_REF_EN_SHIFT (20U)
  7885. #define CCM_ANALOG_PLL_ENET_ENET2_REF_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_ENET2_REF_EN_SHIFT)) & CCM_ANALOG_PLL_ENET_ENET2_REF_EN_MASK)
  7886. #define CCM_ANALOG_PLL_ENET_ENET_25M_REF_EN_MASK (0x200000U)
  7887. #define CCM_ANALOG_PLL_ENET_ENET_25M_REF_EN_SHIFT (21U)
  7888. #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)
  7889. #define CCM_ANALOG_PLL_ENET_LOCK_MASK (0x80000000U)
  7890. #define CCM_ANALOG_PLL_ENET_LOCK_SHIFT (31U)
  7891. #define CCM_ANALOG_PLL_ENET_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_LOCK_SHIFT)) & CCM_ANALOG_PLL_ENET_LOCK_MASK)
  7892. /*! @} */
  7893. /*! @name PLL_ENET_SET - Analog ENET PLL Control Register */
  7894. /*! @{ */
  7895. #define CCM_ANALOG_PLL_ENET_SET_DIV_SELECT_MASK (0x3U)
  7896. #define CCM_ANALOG_PLL_ENET_SET_DIV_SELECT_SHIFT (0U)
  7897. #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)
  7898. #define CCM_ANALOG_PLL_ENET_SET_ENET2_DIV_SELECT_MASK (0xCU)
  7899. #define CCM_ANALOG_PLL_ENET_SET_ENET2_DIV_SELECT_SHIFT (2U)
  7900. /*! ENET2_DIV_SELECT
  7901. * 0b00..25MHz
  7902. * 0b01..50MHz
  7903. * 0b10..100MHz (not 50% duty cycle)
  7904. * 0b11..125MHz
  7905. */
  7906. #define CCM_ANALOG_PLL_ENET_SET_ENET2_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_SET_ENET2_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_ENET_SET_ENET2_DIV_SELECT_MASK)
  7907. #define CCM_ANALOG_PLL_ENET_SET_POWERDOWN_MASK (0x1000U)
  7908. #define CCM_ANALOG_PLL_ENET_SET_POWERDOWN_SHIFT (12U)
  7909. #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)
  7910. #define CCM_ANALOG_PLL_ENET_SET_ENABLE_MASK (0x2000U)
  7911. #define CCM_ANALOG_PLL_ENET_SET_ENABLE_SHIFT (13U)
  7912. #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)
  7913. #define CCM_ANALOG_PLL_ENET_SET_BYPASS_CLK_SRC_MASK (0xC000U)
  7914. #define CCM_ANALOG_PLL_ENET_SET_BYPASS_CLK_SRC_SHIFT (14U)
  7915. /*! BYPASS_CLK_SRC
  7916. * 0b00..Select the 24MHz oscillator as source.
  7917. * 0b01..Select the CLK1_N / CLK1_P as source.
  7918. * 0b10..Reserved1
  7919. * 0b11..Reserved2
  7920. */
  7921. #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)
  7922. #define CCM_ANALOG_PLL_ENET_SET_BYPASS_MASK (0x10000U)
  7923. #define CCM_ANALOG_PLL_ENET_SET_BYPASS_SHIFT (16U)
  7924. #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)
  7925. #define CCM_ANALOG_PLL_ENET_SET_ENET2_REF_EN_MASK (0x100000U)
  7926. #define CCM_ANALOG_PLL_ENET_SET_ENET2_REF_EN_SHIFT (20U)
  7927. #define CCM_ANALOG_PLL_ENET_SET_ENET2_REF_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_SET_ENET2_REF_EN_SHIFT)) & CCM_ANALOG_PLL_ENET_SET_ENET2_REF_EN_MASK)
  7928. #define CCM_ANALOG_PLL_ENET_SET_ENET_25M_REF_EN_MASK (0x200000U)
  7929. #define CCM_ANALOG_PLL_ENET_SET_ENET_25M_REF_EN_SHIFT (21U)
  7930. #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)
  7931. #define CCM_ANALOG_PLL_ENET_SET_LOCK_MASK (0x80000000U)
  7932. #define CCM_ANALOG_PLL_ENET_SET_LOCK_SHIFT (31U)
  7933. #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)
  7934. /*! @} */
  7935. /*! @name PLL_ENET_CLR - Analog ENET PLL Control Register */
  7936. /*! @{ */
  7937. #define CCM_ANALOG_PLL_ENET_CLR_DIV_SELECT_MASK (0x3U)
  7938. #define CCM_ANALOG_PLL_ENET_CLR_DIV_SELECT_SHIFT (0U)
  7939. #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)
  7940. #define CCM_ANALOG_PLL_ENET_CLR_ENET2_DIV_SELECT_MASK (0xCU)
  7941. #define CCM_ANALOG_PLL_ENET_CLR_ENET2_DIV_SELECT_SHIFT (2U)
  7942. /*! ENET2_DIV_SELECT
  7943. * 0b00..25MHz
  7944. * 0b01..50MHz
  7945. * 0b10..100MHz (not 50% duty cycle)
  7946. * 0b11..125MHz
  7947. */
  7948. #define CCM_ANALOG_PLL_ENET_CLR_ENET2_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_CLR_ENET2_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_ENET_CLR_ENET2_DIV_SELECT_MASK)
  7949. #define CCM_ANALOG_PLL_ENET_CLR_POWERDOWN_MASK (0x1000U)
  7950. #define CCM_ANALOG_PLL_ENET_CLR_POWERDOWN_SHIFT (12U)
  7951. #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)
  7952. #define CCM_ANALOG_PLL_ENET_CLR_ENABLE_MASK (0x2000U)
  7953. #define CCM_ANALOG_PLL_ENET_CLR_ENABLE_SHIFT (13U)
  7954. #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)
  7955. #define CCM_ANALOG_PLL_ENET_CLR_BYPASS_CLK_SRC_MASK (0xC000U)
  7956. #define CCM_ANALOG_PLL_ENET_CLR_BYPASS_CLK_SRC_SHIFT (14U)
  7957. /*! BYPASS_CLK_SRC
  7958. * 0b00..Select the 24MHz oscillator as source.
  7959. * 0b01..Select the CLK1_N / CLK1_P as source.
  7960. * 0b10..Reserved1
  7961. * 0b11..Reserved2
  7962. */
  7963. #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)
  7964. #define CCM_ANALOG_PLL_ENET_CLR_BYPASS_MASK (0x10000U)
  7965. #define CCM_ANALOG_PLL_ENET_CLR_BYPASS_SHIFT (16U)
  7966. #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)
  7967. #define CCM_ANALOG_PLL_ENET_CLR_ENET2_REF_EN_MASK (0x100000U)
  7968. #define CCM_ANALOG_PLL_ENET_CLR_ENET2_REF_EN_SHIFT (20U)
  7969. #define CCM_ANALOG_PLL_ENET_CLR_ENET2_REF_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_CLR_ENET2_REF_EN_SHIFT)) & CCM_ANALOG_PLL_ENET_CLR_ENET2_REF_EN_MASK)
  7970. #define CCM_ANALOG_PLL_ENET_CLR_ENET_25M_REF_EN_MASK (0x200000U)
  7971. #define CCM_ANALOG_PLL_ENET_CLR_ENET_25M_REF_EN_SHIFT (21U)
  7972. #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)
  7973. #define CCM_ANALOG_PLL_ENET_CLR_LOCK_MASK (0x80000000U)
  7974. #define CCM_ANALOG_PLL_ENET_CLR_LOCK_SHIFT (31U)
  7975. #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)
  7976. /*! @} */
  7977. /*! @name PLL_ENET_TOG - Analog ENET PLL Control Register */
  7978. /*! @{ */
  7979. #define CCM_ANALOG_PLL_ENET_TOG_DIV_SELECT_MASK (0x3U)
  7980. #define CCM_ANALOG_PLL_ENET_TOG_DIV_SELECT_SHIFT (0U)
  7981. #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)
  7982. #define CCM_ANALOG_PLL_ENET_TOG_ENET2_DIV_SELECT_MASK (0xCU)
  7983. #define CCM_ANALOG_PLL_ENET_TOG_ENET2_DIV_SELECT_SHIFT (2U)
  7984. /*! ENET2_DIV_SELECT
  7985. * 0b00..25MHz
  7986. * 0b01..50MHz
  7987. * 0b10..100MHz (not 50% duty cycle)
  7988. * 0b11..125MHz
  7989. */
  7990. #define CCM_ANALOG_PLL_ENET_TOG_ENET2_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_TOG_ENET2_DIV_SELECT_SHIFT)) & CCM_ANALOG_PLL_ENET_TOG_ENET2_DIV_SELECT_MASK)
  7991. #define CCM_ANALOG_PLL_ENET_TOG_POWERDOWN_MASK (0x1000U)
  7992. #define CCM_ANALOG_PLL_ENET_TOG_POWERDOWN_SHIFT (12U)
  7993. #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)
  7994. #define CCM_ANALOG_PLL_ENET_TOG_ENABLE_MASK (0x2000U)
  7995. #define CCM_ANALOG_PLL_ENET_TOG_ENABLE_SHIFT (13U)
  7996. #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)
  7997. #define CCM_ANALOG_PLL_ENET_TOG_BYPASS_CLK_SRC_MASK (0xC000U)
  7998. #define CCM_ANALOG_PLL_ENET_TOG_BYPASS_CLK_SRC_SHIFT (14U)
  7999. /*! BYPASS_CLK_SRC
  8000. * 0b00..Select the 24MHz oscillator as source.
  8001. * 0b01..Select the CLK1_N / CLK1_P as source.
  8002. * 0b10..Reserved1
  8003. * 0b11..Reserved2
  8004. */
  8005. #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)
  8006. #define CCM_ANALOG_PLL_ENET_TOG_BYPASS_MASK (0x10000U)
  8007. #define CCM_ANALOG_PLL_ENET_TOG_BYPASS_SHIFT (16U)
  8008. #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)
  8009. #define CCM_ANALOG_PLL_ENET_TOG_ENET2_REF_EN_MASK (0x100000U)
  8010. #define CCM_ANALOG_PLL_ENET_TOG_ENET2_REF_EN_SHIFT (20U)
  8011. #define CCM_ANALOG_PLL_ENET_TOG_ENET2_REF_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_PLL_ENET_TOG_ENET2_REF_EN_SHIFT)) & CCM_ANALOG_PLL_ENET_TOG_ENET2_REF_EN_MASK)
  8012. #define CCM_ANALOG_PLL_ENET_TOG_ENET_25M_REF_EN_MASK (0x200000U)
  8013. #define CCM_ANALOG_PLL_ENET_TOG_ENET_25M_REF_EN_SHIFT (21U)
  8014. #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)
  8015. #define CCM_ANALOG_PLL_ENET_TOG_LOCK_MASK (0x80000000U)
  8016. #define CCM_ANALOG_PLL_ENET_TOG_LOCK_SHIFT (31U)
  8017. #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)
  8018. /*! @} */
  8019. /*! @name PFD_480 - 480MHz Clock (PLL3) Phase Fractional Divider Control Register */
  8020. /*! @{ */
  8021. #define CCM_ANALOG_PFD_480_PFD0_FRAC_MASK (0x3FU)
  8022. #define CCM_ANALOG_PFD_480_PFD0_FRAC_SHIFT (0U)
  8023. #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)
  8024. #define CCM_ANALOG_PFD_480_PFD0_STABLE_MASK (0x40U)
  8025. #define CCM_ANALOG_PFD_480_PFD0_STABLE_SHIFT (6U)
  8026. #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)
  8027. #define CCM_ANALOG_PFD_480_PFD0_CLKGATE_MASK (0x80U)
  8028. #define CCM_ANALOG_PFD_480_PFD0_CLKGATE_SHIFT (7U)
  8029. #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)
  8030. #define CCM_ANALOG_PFD_480_PFD1_FRAC_MASK (0x3F00U)
  8031. #define CCM_ANALOG_PFD_480_PFD1_FRAC_SHIFT (8U)
  8032. #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)
  8033. #define CCM_ANALOG_PFD_480_PFD1_STABLE_MASK (0x4000U)
  8034. #define CCM_ANALOG_PFD_480_PFD1_STABLE_SHIFT (14U)
  8035. #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)
  8036. #define CCM_ANALOG_PFD_480_PFD1_CLKGATE_MASK (0x8000U)
  8037. #define CCM_ANALOG_PFD_480_PFD1_CLKGATE_SHIFT (15U)
  8038. #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)
  8039. #define CCM_ANALOG_PFD_480_PFD2_FRAC_MASK (0x3F0000U)
  8040. #define CCM_ANALOG_PFD_480_PFD2_FRAC_SHIFT (16U)
  8041. #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)
  8042. #define CCM_ANALOG_PFD_480_PFD2_STABLE_MASK (0x400000U)
  8043. #define CCM_ANALOG_PFD_480_PFD2_STABLE_SHIFT (22U)
  8044. #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)
  8045. #define CCM_ANALOG_PFD_480_PFD2_CLKGATE_MASK (0x800000U)
  8046. #define CCM_ANALOG_PFD_480_PFD2_CLKGATE_SHIFT (23U)
  8047. #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)
  8048. #define CCM_ANALOG_PFD_480_PFD3_FRAC_MASK (0x3F000000U)
  8049. #define CCM_ANALOG_PFD_480_PFD3_FRAC_SHIFT (24U)
  8050. #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)
  8051. #define CCM_ANALOG_PFD_480_PFD3_STABLE_MASK (0x40000000U)
  8052. #define CCM_ANALOG_PFD_480_PFD3_STABLE_SHIFT (30U)
  8053. #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)
  8054. #define CCM_ANALOG_PFD_480_PFD3_CLKGATE_MASK (0x80000000U)
  8055. #define CCM_ANALOG_PFD_480_PFD3_CLKGATE_SHIFT (31U)
  8056. #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)
  8057. /*! @} */
  8058. /*! @name PFD_480_SET - 480MHz Clock (PLL3) Phase Fractional Divider Control Register */
  8059. /*! @{ */
  8060. #define CCM_ANALOG_PFD_480_SET_PFD0_FRAC_MASK (0x3FU)
  8061. #define CCM_ANALOG_PFD_480_SET_PFD0_FRAC_SHIFT (0U)
  8062. #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)
  8063. #define CCM_ANALOG_PFD_480_SET_PFD0_STABLE_MASK (0x40U)
  8064. #define CCM_ANALOG_PFD_480_SET_PFD0_STABLE_SHIFT (6U)
  8065. #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)
  8066. #define CCM_ANALOG_PFD_480_SET_PFD0_CLKGATE_MASK (0x80U)
  8067. #define CCM_ANALOG_PFD_480_SET_PFD0_CLKGATE_SHIFT (7U)
  8068. #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)
  8069. #define CCM_ANALOG_PFD_480_SET_PFD1_FRAC_MASK (0x3F00U)
  8070. #define CCM_ANALOG_PFD_480_SET_PFD1_FRAC_SHIFT (8U)
  8071. #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)
  8072. #define CCM_ANALOG_PFD_480_SET_PFD1_STABLE_MASK (0x4000U)
  8073. #define CCM_ANALOG_PFD_480_SET_PFD1_STABLE_SHIFT (14U)
  8074. #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)
  8075. #define CCM_ANALOG_PFD_480_SET_PFD1_CLKGATE_MASK (0x8000U)
  8076. #define CCM_ANALOG_PFD_480_SET_PFD1_CLKGATE_SHIFT (15U)
  8077. #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)
  8078. #define CCM_ANALOG_PFD_480_SET_PFD2_FRAC_MASK (0x3F0000U)
  8079. #define CCM_ANALOG_PFD_480_SET_PFD2_FRAC_SHIFT (16U)
  8080. #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)
  8081. #define CCM_ANALOG_PFD_480_SET_PFD2_STABLE_MASK (0x400000U)
  8082. #define CCM_ANALOG_PFD_480_SET_PFD2_STABLE_SHIFT (22U)
  8083. #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)
  8084. #define CCM_ANALOG_PFD_480_SET_PFD2_CLKGATE_MASK (0x800000U)
  8085. #define CCM_ANALOG_PFD_480_SET_PFD2_CLKGATE_SHIFT (23U)
  8086. #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)
  8087. #define CCM_ANALOG_PFD_480_SET_PFD3_FRAC_MASK (0x3F000000U)
  8088. #define CCM_ANALOG_PFD_480_SET_PFD3_FRAC_SHIFT (24U)
  8089. #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)
  8090. #define CCM_ANALOG_PFD_480_SET_PFD3_STABLE_MASK (0x40000000U)
  8091. #define CCM_ANALOG_PFD_480_SET_PFD3_STABLE_SHIFT (30U)
  8092. #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)
  8093. #define CCM_ANALOG_PFD_480_SET_PFD3_CLKGATE_MASK (0x80000000U)
  8094. #define CCM_ANALOG_PFD_480_SET_PFD3_CLKGATE_SHIFT (31U)
  8095. #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)
  8096. /*! @} */
  8097. /*! @name PFD_480_CLR - 480MHz Clock (PLL3) Phase Fractional Divider Control Register */
  8098. /*! @{ */
  8099. #define CCM_ANALOG_PFD_480_CLR_PFD0_FRAC_MASK (0x3FU)
  8100. #define CCM_ANALOG_PFD_480_CLR_PFD0_FRAC_SHIFT (0U)
  8101. #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)
  8102. #define CCM_ANALOG_PFD_480_CLR_PFD0_STABLE_MASK (0x40U)
  8103. #define CCM_ANALOG_PFD_480_CLR_PFD0_STABLE_SHIFT (6U)
  8104. #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)
  8105. #define CCM_ANALOG_PFD_480_CLR_PFD0_CLKGATE_MASK (0x80U)
  8106. #define CCM_ANALOG_PFD_480_CLR_PFD0_CLKGATE_SHIFT (7U)
  8107. #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)
  8108. #define CCM_ANALOG_PFD_480_CLR_PFD1_FRAC_MASK (0x3F00U)
  8109. #define CCM_ANALOG_PFD_480_CLR_PFD1_FRAC_SHIFT (8U)
  8110. #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)
  8111. #define CCM_ANALOG_PFD_480_CLR_PFD1_STABLE_MASK (0x4000U)
  8112. #define CCM_ANALOG_PFD_480_CLR_PFD1_STABLE_SHIFT (14U)
  8113. #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)
  8114. #define CCM_ANALOG_PFD_480_CLR_PFD1_CLKGATE_MASK (0x8000U)
  8115. #define CCM_ANALOG_PFD_480_CLR_PFD1_CLKGATE_SHIFT (15U)
  8116. #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)
  8117. #define CCM_ANALOG_PFD_480_CLR_PFD2_FRAC_MASK (0x3F0000U)
  8118. #define CCM_ANALOG_PFD_480_CLR_PFD2_FRAC_SHIFT (16U)
  8119. #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)
  8120. #define CCM_ANALOG_PFD_480_CLR_PFD2_STABLE_MASK (0x400000U)
  8121. #define CCM_ANALOG_PFD_480_CLR_PFD2_STABLE_SHIFT (22U)
  8122. #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)
  8123. #define CCM_ANALOG_PFD_480_CLR_PFD2_CLKGATE_MASK (0x800000U)
  8124. #define CCM_ANALOG_PFD_480_CLR_PFD2_CLKGATE_SHIFT (23U)
  8125. #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)
  8126. #define CCM_ANALOG_PFD_480_CLR_PFD3_FRAC_MASK (0x3F000000U)
  8127. #define CCM_ANALOG_PFD_480_CLR_PFD3_FRAC_SHIFT (24U)
  8128. #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)
  8129. #define CCM_ANALOG_PFD_480_CLR_PFD3_STABLE_MASK (0x40000000U)
  8130. #define CCM_ANALOG_PFD_480_CLR_PFD3_STABLE_SHIFT (30U)
  8131. #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)
  8132. #define CCM_ANALOG_PFD_480_CLR_PFD3_CLKGATE_MASK (0x80000000U)
  8133. #define CCM_ANALOG_PFD_480_CLR_PFD3_CLKGATE_SHIFT (31U)
  8134. #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)
  8135. /*! @} */
  8136. /*! @name PFD_480_TOG - 480MHz Clock (PLL3) Phase Fractional Divider Control Register */
  8137. /*! @{ */
  8138. #define CCM_ANALOG_PFD_480_TOG_PFD0_FRAC_MASK (0x3FU)
  8139. #define CCM_ANALOG_PFD_480_TOG_PFD0_FRAC_SHIFT (0U)
  8140. #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)
  8141. #define CCM_ANALOG_PFD_480_TOG_PFD0_STABLE_MASK (0x40U)
  8142. #define CCM_ANALOG_PFD_480_TOG_PFD0_STABLE_SHIFT (6U)
  8143. #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)
  8144. #define CCM_ANALOG_PFD_480_TOG_PFD0_CLKGATE_MASK (0x80U)
  8145. #define CCM_ANALOG_PFD_480_TOG_PFD0_CLKGATE_SHIFT (7U)
  8146. #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)
  8147. #define CCM_ANALOG_PFD_480_TOG_PFD1_FRAC_MASK (0x3F00U)
  8148. #define CCM_ANALOG_PFD_480_TOG_PFD1_FRAC_SHIFT (8U)
  8149. #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)
  8150. #define CCM_ANALOG_PFD_480_TOG_PFD1_STABLE_MASK (0x4000U)
  8151. #define CCM_ANALOG_PFD_480_TOG_PFD1_STABLE_SHIFT (14U)
  8152. #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)
  8153. #define CCM_ANALOG_PFD_480_TOG_PFD1_CLKGATE_MASK (0x8000U)
  8154. #define CCM_ANALOG_PFD_480_TOG_PFD1_CLKGATE_SHIFT (15U)
  8155. #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)
  8156. #define CCM_ANALOG_PFD_480_TOG_PFD2_FRAC_MASK (0x3F0000U)
  8157. #define CCM_ANALOG_PFD_480_TOG_PFD2_FRAC_SHIFT (16U)
  8158. #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)
  8159. #define CCM_ANALOG_PFD_480_TOG_PFD2_STABLE_MASK (0x400000U)
  8160. #define CCM_ANALOG_PFD_480_TOG_PFD2_STABLE_SHIFT (22U)
  8161. #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)
  8162. #define CCM_ANALOG_PFD_480_TOG_PFD2_CLKGATE_MASK (0x800000U)
  8163. #define CCM_ANALOG_PFD_480_TOG_PFD2_CLKGATE_SHIFT (23U)
  8164. #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)
  8165. #define CCM_ANALOG_PFD_480_TOG_PFD3_FRAC_MASK (0x3F000000U)
  8166. #define CCM_ANALOG_PFD_480_TOG_PFD3_FRAC_SHIFT (24U)
  8167. #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)
  8168. #define CCM_ANALOG_PFD_480_TOG_PFD3_STABLE_MASK (0x40000000U)
  8169. #define CCM_ANALOG_PFD_480_TOG_PFD3_STABLE_SHIFT (30U)
  8170. #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)
  8171. #define CCM_ANALOG_PFD_480_TOG_PFD3_CLKGATE_MASK (0x80000000U)
  8172. #define CCM_ANALOG_PFD_480_TOG_PFD3_CLKGATE_SHIFT (31U)
  8173. #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)
  8174. /*! @} */
  8175. /*! @name PFD_528 - 528MHz Clock (PLL2) Phase Fractional Divider Control Register */
  8176. /*! @{ */
  8177. #define CCM_ANALOG_PFD_528_PFD0_FRAC_MASK (0x3FU)
  8178. #define CCM_ANALOG_PFD_528_PFD0_FRAC_SHIFT (0U)
  8179. #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)
  8180. #define CCM_ANALOG_PFD_528_PFD0_STABLE_MASK (0x40U)
  8181. #define CCM_ANALOG_PFD_528_PFD0_STABLE_SHIFT (6U)
  8182. #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)
  8183. #define CCM_ANALOG_PFD_528_PFD0_CLKGATE_MASK (0x80U)
  8184. #define CCM_ANALOG_PFD_528_PFD0_CLKGATE_SHIFT (7U)
  8185. #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)
  8186. #define CCM_ANALOG_PFD_528_PFD1_FRAC_MASK (0x3F00U)
  8187. #define CCM_ANALOG_PFD_528_PFD1_FRAC_SHIFT (8U)
  8188. #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)
  8189. #define CCM_ANALOG_PFD_528_PFD1_STABLE_MASK (0x4000U)
  8190. #define CCM_ANALOG_PFD_528_PFD1_STABLE_SHIFT (14U)
  8191. #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)
  8192. #define CCM_ANALOG_PFD_528_PFD1_CLKGATE_MASK (0x8000U)
  8193. #define CCM_ANALOG_PFD_528_PFD1_CLKGATE_SHIFT (15U)
  8194. #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)
  8195. #define CCM_ANALOG_PFD_528_PFD2_FRAC_MASK (0x3F0000U)
  8196. #define CCM_ANALOG_PFD_528_PFD2_FRAC_SHIFT (16U)
  8197. #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)
  8198. #define CCM_ANALOG_PFD_528_PFD2_STABLE_MASK (0x400000U)
  8199. #define CCM_ANALOG_PFD_528_PFD2_STABLE_SHIFT (22U)
  8200. #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)
  8201. #define CCM_ANALOG_PFD_528_PFD2_CLKGATE_MASK (0x800000U)
  8202. #define CCM_ANALOG_PFD_528_PFD2_CLKGATE_SHIFT (23U)
  8203. #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)
  8204. #define CCM_ANALOG_PFD_528_PFD3_FRAC_MASK (0x3F000000U)
  8205. #define CCM_ANALOG_PFD_528_PFD3_FRAC_SHIFT (24U)
  8206. #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)
  8207. #define CCM_ANALOG_PFD_528_PFD3_STABLE_MASK (0x40000000U)
  8208. #define CCM_ANALOG_PFD_528_PFD3_STABLE_SHIFT (30U)
  8209. #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)
  8210. #define CCM_ANALOG_PFD_528_PFD3_CLKGATE_MASK (0x80000000U)
  8211. #define CCM_ANALOG_PFD_528_PFD3_CLKGATE_SHIFT (31U)
  8212. #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)
  8213. /*! @} */
  8214. /*! @name PFD_528_SET - 528MHz Clock (PLL2) Phase Fractional Divider Control Register */
  8215. /*! @{ */
  8216. #define CCM_ANALOG_PFD_528_SET_PFD0_FRAC_MASK (0x3FU)
  8217. #define CCM_ANALOG_PFD_528_SET_PFD0_FRAC_SHIFT (0U)
  8218. #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)
  8219. #define CCM_ANALOG_PFD_528_SET_PFD0_STABLE_MASK (0x40U)
  8220. #define CCM_ANALOG_PFD_528_SET_PFD0_STABLE_SHIFT (6U)
  8221. #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)
  8222. #define CCM_ANALOG_PFD_528_SET_PFD0_CLKGATE_MASK (0x80U)
  8223. #define CCM_ANALOG_PFD_528_SET_PFD0_CLKGATE_SHIFT (7U)
  8224. #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)
  8225. #define CCM_ANALOG_PFD_528_SET_PFD1_FRAC_MASK (0x3F00U)
  8226. #define CCM_ANALOG_PFD_528_SET_PFD1_FRAC_SHIFT (8U)
  8227. #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)
  8228. #define CCM_ANALOG_PFD_528_SET_PFD1_STABLE_MASK (0x4000U)
  8229. #define CCM_ANALOG_PFD_528_SET_PFD1_STABLE_SHIFT (14U)
  8230. #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)
  8231. #define CCM_ANALOG_PFD_528_SET_PFD1_CLKGATE_MASK (0x8000U)
  8232. #define CCM_ANALOG_PFD_528_SET_PFD1_CLKGATE_SHIFT (15U)
  8233. #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)
  8234. #define CCM_ANALOG_PFD_528_SET_PFD2_FRAC_MASK (0x3F0000U)
  8235. #define CCM_ANALOG_PFD_528_SET_PFD2_FRAC_SHIFT (16U)
  8236. #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)
  8237. #define CCM_ANALOG_PFD_528_SET_PFD2_STABLE_MASK (0x400000U)
  8238. #define CCM_ANALOG_PFD_528_SET_PFD2_STABLE_SHIFT (22U)
  8239. #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)
  8240. #define CCM_ANALOG_PFD_528_SET_PFD2_CLKGATE_MASK (0x800000U)
  8241. #define CCM_ANALOG_PFD_528_SET_PFD2_CLKGATE_SHIFT (23U)
  8242. #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)
  8243. #define CCM_ANALOG_PFD_528_SET_PFD3_FRAC_MASK (0x3F000000U)
  8244. #define CCM_ANALOG_PFD_528_SET_PFD3_FRAC_SHIFT (24U)
  8245. #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)
  8246. #define CCM_ANALOG_PFD_528_SET_PFD3_STABLE_MASK (0x40000000U)
  8247. #define CCM_ANALOG_PFD_528_SET_PFD3_STABLE_SHIFT (30U)
  8248. #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)
  8249. #define CCM_ANALOG_PFD_528_SET_PFD3_CLKGATE_MASK (0x80000000U)
  8250. #define CCM_ANALOG_PFD_528_SET_PFD3_CLKGATE_SHIFT (31U)
  8251. #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)
  8252. /*! @} */
  8253. /*! @name PFD_528_CLR - 528MHz Clock (PLL2) Phase Fractional Divider Control Register */
  8254. /*! @{ */
  8255. #define CCM_ANALOG_PFD_528_CLR_PFD0_FRAC_MASK (0x3FU)
  8256. #define CCM_ANALOG_PFD_528_CLR_PFD0_FRAC_SHIFT (0U)
  8257. #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)
  8258. #define CCM_ANALOG_PFD_528_CLR_PFD0_STABLE_MASK (0x40U)
  8259. #define CCM_ANALOG_PFD_528_CLR_PFD0_STABLE_SHIFT (6U)
  8260. #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)
  8261. #define CCM_ANALOG_PFD_528_CLR_PFD0_CLKGATE_MASK (0x80U)
  8262. #define CCM_ANALOG_PFD_528_CLR_PFD0_CLKGATE_SHIFT (7U)
  8263. #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)
  8264. #define CCM_ANALOG_PFD_528_CLR_PFD1_FRAC_MASK (0x3F00U)
  8265. #define CCM_ANALOG_PFD_528_CLR_PFD1_FRAC_SHIFT (8U)
  8266. #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)
  8267. #define CCM_ANALOG_PFD_528_CLR_PFD1_STABLE_MASK (0x4000U)
  8268. #define CCM_ANALOG_PFD_528_CLR_PFD1_STABLE_SHIFT (14U)
  8269. #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)
  8270. #define CCM_ANALOG_PFD_528_CLR_PFD1_CLKGATE_MASK (0x8000U)
  8271. #define CCM_ANALOG_PFD_528_CLR_PFD1_CLKGATE_SHIFT (15U)
  8272. #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)
  8273. #define CCM_ANALOG_PFD_528_CLR_PFD2_FRAC_MASK (0x3F0000U)
  8274. #define CCM_ANALOG_PFD_528_CLR_PFD2_FRAC_SHIFT (16U)
  8275. #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)
  8276. #define CCM_ANALOG_PFD_528_CLR_PFD2_STABLE_MASK (0x400000U)
  8277. #define CCM_ANALOG_PFD_528_CLR_PFD2_STABLE_SHIFT (22U)
  8278. #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)
  8279. #define CCM_ANALOG_PFD_528_CLR_PFD2_CLKGATE_MASK (0x800000U)
  8280. #define CCM_ANALOG_PFD_528_CLR_PFD2_CLKGATE_SHIFT (23U)
  8281. #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)
  8282. #define CCM_ANALOG_PFD_528_CLR_PFD3_FRAC_MASK (0x3F000000U)
  8283. #define CCM_ANALOG_PFD_528_CLR_PFD3_FRAC_SHIFT (24U)
  8284. #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)
  8285. #define CCM_ANALOG_PFD_528_CLR_PFD3_STABLE_MASK (0x40000000U)
  8286. #define CCM_ANALOG_PFD_528_CLR_PFD3_STABLE_SHIFT (30U)
  8287. #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)
  8288. #define CCM_ANALOG_PFD_528_CLR_PFD3_CLKGATE_MASK (0x80000000U)
  8289. #define CCM_ANALOG_PFD_528_CLR_PFD3_CLKGATE_SHIFT (31U)
  8290. #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)
  8291. /*! @} */
  8292. /*! @name PFD_528_TOG - 528MHz Clock (PLL2) Phase Fractional Divider Control Register */
  8293. /*! @{ */
  8294. #define CCM_ANALOG_PFD_528_TOG_PFD0_FRAC_MASK (0x3FU)
  8295. #define CCM_ANALOG_PFD_528_TOG_PFD0_FRAC_SHIFT (0U)
  8296. #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)
  8297. #define CCM_ANALOG_PFD_528_TOG_PFD0_STABLE_MASK (0x40U)
  8298. #define CCM_ANALOG_PFD_528_TOG_PFD0_STABLE_SHIFT (6U)
  8299. #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)
  8300. #define CCM_ANALOG_PFD_528_TOG_PFD0_CLKGATE_MASK (0x80U)
  8301. #define CCM_ANALOG_PFD_528_TOG_PFD0_CLKGATE_SHIFT (7U)
  8302. #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)
  8303. #define CCM_ANALOG_PFD_528_TOG_PFD1_FRAC_MASK (0x3F00U)
  8304. #define CCM_ANALOG_PFD_528_TOG_PFD1_FRAC_SHIFT (8U)
  8305. #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)
  8306. #define CCM_ANALOG_PFD_528_TOG_PFD1_STABLE_MASK (0x4000U)
  8307. #define CCM_ANALOG_PFD_528_TOG_PFD1_STABLE_SHIFT (14U)
  8308. #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)
  8309. #define CCM_ANALOG_PFD_528_TOG_PFD1_CLKGATE_MASK (0x8000U)
  8310. #define CCM_ANALOG_PFD_528_TOG_PFD1_CLKGATE_SHIFT (15U)
  8311. #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)
  8312. #define CCM_ANALOG_PFD_528_TOG_PFD2_FRAC_MASK (0x3F0000U)
  8313. #define CCM_ANALOG_PFD_528_TOG_PFD2_FRAC_SHIFT (16U)
  8314. #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)
  8315. #define CCM_ANALOG_PFD_528_TOG_PFD2_STABLE_MASK (0x400000U)
  8316. #define CCM_ANALOG_PFD_528_TOG_PFD2_STABLE_SHIFT (22U)
  8317. #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)
  8318. #define CCM_ANALOG_PFD_528_TOG_PFD2_CLKGATE_MASK (0x800000U)
  8319. #define CCM_ANALOG_PFD_528_TOG_PFD2_CLKGATE_SHIFT (23U)
  8320. #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)
  8321. #define CCM_ANALOG_PFD_528_TOG_PFD3_FRAC_MASK (0x3F000000U)
  8322. #define CCM_ANALOG_PFD_528_TOG_PFD3_FRAC_SHIFT (24U)
  8323. #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)
  8324. #define CCM_ANALOG_PFD_528_TOG_PFD3_STABLE_MASK (0x40000000U)
  8325. #define CCM_ANALOG_PFD_528_TOG_PFD3_STABLE_SHIFT (30U)
  8326. #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)
  8327. #define CCM_ANALOG_PFD_528_TOG_PFD3_CLKGATE_MASK (0x80000000U)
  8328. #define CCM_ANALOG_PFD_528_TOG_PFD3_CLKGATE_SHIFT (31U)
  8329. #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)
  8330. /*! @} */
  8331. /*! @name MISC0 - Miscellaneous Register 0 */
  8332. /*! @{ */
  8333. #define CCM_ANALOG_MISC0_REFTOP_PWD_MASK (0x1U)
  8334. #define CCM_ANALOG_MISC0_REFTOP_PWD_SHIFT (0U)
  8335. #define CCM_ANALOG_MISC0_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_REFTOP_PWD_SHIFT)) & CCM_ANALOG_MISC0_REFTOP_PWD_MASK)
  8336. #define CCM_ANALOG_MISC0_REFTOP_SELFBIASOFF_MASK (0x8U)
  8337. #define CCM_ANALOG_MISC0_REFTOP_SELFBIASOFF_SHIFT (3U)
  8338. /*! REFTOP_SELFBIASOFF
  8339. * 0b0..Uses coarse bias currents for startup
  8340. * 0b1..Uses bandgap-based bias currents for best performance.
  8341. */
  8342. #define CCM_ANALOG_MISC0_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_REFTOP_SELFBIASOFF_SHIFT)) & CCM_ANALOG_MISC0_REFTOP_SELFBIASOFF_MASK)
  8343. #define CCM_ANALOG_MISC0_REFTOP_VBGADJ_MASK (0x70U)
  8344. #define CCM_ANALOG_MISC0_REFTOP_VBGADJ_SHIFT (4U)
  8345. /*! REFTOP_VBGADJ
  8346. * 0b000..Nominal VBG
  8347. * 0b001..VBG+0.78%
  8348. * 0b010..VBG+1.56%
  8349. * 0b011..VBG+2.34%
  8350. * 0b100..VBG-0.78%
  8351. * 0b101..VBG-1.56%
  8352. * 0b110..VBG-2.34%
  8353. * 0b111..VBG-3.12%
  8354. */
  8355. #define CCM_ANALOG_MISC0_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_REFTOP_VBGADJ_SHIFT)) & CCM_ANALOG_MISC0_REFTOP_VBGADJ_MASK)
  8356. #define CCM_ANALOG_MISC0_REFTOP_VBGUP_MASK (0x80U)
  8357. #define CCM_ANALOG_MISC0_REFTOP_VBGUP_SHIFT (7U)
  8358. #define CCM_ANALOG_MISC0_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_REFTOP_VBGUP_SHIFT)) & CCM_ANALOG_MISC0_REFTOP_VBGUP_MASK)
  8359. #define CCM_ANALOG_MISC0_STOP_MODE_CONFIG_MASK (0xC00U)
  8360. #define CCM_ANALOG_MISC0_STOP_MODE_CONFIG_SHIFT (10U)
  8361. /*! STOP_MODE_CONFIG
  8362. * 0b00..All analog except RTC powered down on stop mode assertion.
  8363. * 0b01..Beside RTC, analog bandgap, 1p1 and 2p5 regulators are also on.
  8364. * 0b10..Beside RTC, 1p1 and 2p5 regulators are also on, low-power bandgap is selected so that the normal analog
  8365. * bandgap together with the rest analog is powered down.
  8366. * 0b11..Beside RTC, low-power bandgap is selected and the rest analog is powered down.
  8367. */
  8368. #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)
  8369. #define CCM_ANALOG_MISC0_DISCON_HIGH_SNVS_MASK (0x1000U)
  8370. #define CCM_ANALOG_MISC0_DISCON_HIGH_SNVS_SHIFT (12U)
  8371. /*! DISCON_HIGH_SNVS
  8372. * 0b0..Turn on the switch
  8373. * 0b1..Turn off the switch
  8374. */
  8375. #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)
  8376. #define CCM_ANALOG_MISC0_OSC_I_MASK (0x6000U)
  8377. #define CCM_ANALOG_MISC0_OSC_I_SHIFT (13U)
  8378. /*! OSC_I
  8379. * 0b00..Nominal
  8380. * 0b01..Decrease current by 12.5%
  8381. * 0b10..Decrease current by 25.0%
  8382. * 0b11..Decrease current by 37.5%
  8383. */
  8384. #define CCM_ANALOG_MISC0_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_OSC_I_SHIFT)) & CCM_ANALOG_MISC0_OSC_I_MASK)
  8385. #define CCM_ANALOG_MISC0_OSC_XTALOK_MASK (0x8000U)
  8386. #define CCM_ANALOG_MISC0_OSC_XTALOK_SHIFT (15U)
  8387. #define CCM_ANALOG_MISC0_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_OSC_XTALOK_SHIFT)) & CCM_ANALOG_MISC0_OSC_XTALOK_MASK)
  8388. #define CCM_ANALOG_MISC0_OSC_XTALOK_EN_MASK (0x10000U)
  8389. #define CCM_ANALOG_MISC0_OSC_XTALOK_EN_SHIFT (16U)
  8390. #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)
  8391. #define CCM_ANALOG_MISC0_CLKGATE_CTRL_MASK (0x2000000U)
  8392. #define CCM_ANALOG_MISC0_CLKGATE_CTRL_SHIFT (25U)
  8393. /*! CLKGATE_CTRL
  8394. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  8395. * 0b1..Prevent the logic from ever gating off the clock.
  8396. */
  8397. #define CCM_ANALOG_MISC0_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_CLKGATE_CTRL_SHIFT)) & CCM_ANALOG_MISC0_CLKGATE_CTRL_MASK)
  8398. #define CCM_ANALOG_MISC0_CLKGATE_DELAY_MASK (0x1C000000U)
  8399. #define CCM_ANALOG_MISC0_CLKGATE_DELAY_SHIFT (26U)
  8400. /*! CLKGATE_DELAY
  8401. * 0b000..0.5ms
  8402. * 0b001..1.0ms
  8403. * 0b010..2.0ms
  8404. * 0b011..3.0ms
  8405. * 0b100..4.0ms
  8406. * 0b101..5.0ms
  8407. * 0b110..6.0ms
  8408. * 0b111..7.0ms
  8409. */
  8410. #define CCM_ANALOG_MISC0_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC0_CLKGATE_DELAY_SHIFT)) & CCM_ANALOG_MISC0_CLKGATE_DELAY_MASK)
  8411. #define CCM_ANALOG_MISC0_RTC_XTAL_SOURCE_MASK (0x20000000U)
  8412. #define CCM_ANALOG_MISC0_RTC_XTAL_SOURCE_SHIFT (29U)
  8413. /*! RTC_XTAL_SOURCE
  8414. * 0b0..Internal ring oscillator
  8415. * 0b1..RTC_XTAL
  8416. */
  8417. #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)
  8418. #define CCM_ANALOG_MISC0_XTAL_24M_PWD_MASK (0x40000000U)
  8419. #define CCM_ANALOG_MISC0_XTAL_24M_PWD_SHIFT (30U)
  8420. #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)
  8421. /*! @} */
  8422. /*! @name MISC0_SET - Miscellaneous Register 0 */
  8423. /*! @{ */
  8424. #define CCM_ANALOG_MISC0_SET_REFTOP_PWD_MASK (0x1U)
  8425. #define CCM_ANALOG_MISC0_SET_REFTOP_PWD_SHIFT (0U)
  8426. #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)
  8427. #define CCM_ANALOG_MISC0_SET_REFTOP_SELFBIASOFF_MASK (0x8U)
  8428. #define CCM_ANALOG_MISC0_SET_REFTOP_SELFBIASOFF_SHIFT (3U)
  8429. /*! REFTOP_SELFBIASOFF
  8430. * 0b0..Uses coarse bias currents for startup
  8431. * 0b1..Uses bandgap-based bias currents for best performance.
  8432. */
  8433. #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)
  8434. #define CCM_ANALOG_MISC0_SET_REFTOP_VBGADJ_MASK (0x70U)
  8435. #define CCM_ANALOG_MISC0_SET_REFTOP_VBGADJ_SHIFT (4U)
  8436. /*! REFTOP_VBGADJ
  8437. * 0b000..Nominal VBG
  8438. * 0b001..VBG+0.78%
  8439. * 0b010..VBG+1.56%
  8440. * 0b011..VBG+2.34%
  8441. * 0b100..VBG-0.78%
  8442. * 0b101..VBG-1.56%
  8443. * 0b110..VBG-2.34%
  8444. * 0b111..VBG-3.12%
  8445. */
  8446. #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)
  8447. #define CCM_ANALOG_MISC0_SET_REFTOP_VBGUP_MASK (0x80U)
  8448. #define CCM_ANALOG_MISC0_SET_REFTOP_VBGUP_SHIFT (7U)
  8449. #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)
  8450. #define CCM_ANALOG_MISC0_SET_STOP_MODE_CONFIG_MASK (0xC00U)
  8451. #define CCM_ANALOG_MISC0_SET_STOP_MODE_CONFIG_SHIFT (10U)
  8452. /*! STOP_MODE_CONFIG
  8453. * 0b00..All analog except RTC powered down on stop mode assertion.
  8454. * 0b01..Beside RTC, analog bandgap, 1p1 and 2p5 regulators are also on.
  8455. * 0b10..Beside RTC, 1p1 and 2p5 regulators are also on, low-power bandgap is selected so that the normal analog
  8456. * bandgap together with the rest analog is powered down.
  8457. * 0b11..Beside RTC, low-power bandgap is selected and the rest analog is powered down.
  8458. */
  8459. #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)
  8460. #define CCM_ANALOG_MISC0_SET_DISCON_HIGH_SNVS_MASK (0x1000U)
  8461. #define CCM_ANALOG_MISC0_SET_DISCON_HIGH_SNVS_SHIFT (12U)
  8462. /*! DISCON_HIGH_SNVS
  8463. * 0b0..Turn on the switch
  8464. * 0b1..Turn off the switch
  8465. */
  8466. #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)
  8467. #define CCM_ANALOG_MISC0_SET_OSC_I_MASK (0x6000U)
  8468. #define CCM_ANALOG_MISC0_SET_OSC_I_SHIFT (13U)
  8469. /*! OSC_I
  8470. * 0b00..Nominal
  8471. * 0b01..Decrease current by 12.5%
  8472. * 0b10..Decrease current by 25.0%
  8473. * 0b11..Decrease current by 37.5%
  8474. */
  8475. #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)
  8476. #define CCM_ANALOG_MISC0_SET_OSC_XTALOK_MASK (0x8000U)
  8477. #define CCM_ANALOG_MISC0_SET_OSC_XTALOK_SHIFT (15U)
  8478. #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)
  8479. #define CCM_ANALOG_MISC0_SET_OSC_XTALOK_EN_MASK (0x10000U)
  8480. #define CCM_ANALOG_MISC0_SET_OSC_XTALOK_EN_SHIFT (16U)
  8481. #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)
  8482. #define CCM_ANALOG_MISC0_SET_CLKGATE_CTRL_MASK (0x2000000U)
  8483. #define CCM_ANALOG_MISC0_SET_CLKGATE_CTRL_SHIFT (25U)
  8484. /*! CLKGATE_CTRL
  8485. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  8486. * 0b1..Prevent the logic from ever gating off the clock.
  8487. */
  8488. #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)
  8489. #define CCM_ANALOG_MISC0_SET_CLKGATE_DELAY_MASK (0x1C000000U)
  8490. #define CCM_ANALOG_MISC0_SET_CLKGATE_DELAY_SHIFT (26U)
  8491. /*! CLKGATE_DELAY
  8492. * 0b000..0.5ms
  8493. * 0b001..1.0ms
  8494. * 0b010..2.0ms
  8495. * 0b011..3.0ms
  8496. * 0b100..4.0ms
  8497. * 0b101..5.0ms
  8498. * 0b110..6.0ms
  8499. * 0b111..7.0ms
  8500. */
  8501. #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)
  8502. #define CCM_ANALOG_MISC0_SET_RTC_XTAL_SOURCE_MASK (0x20000000U)
  8503. #define CCM_ANALOG_MISC0_SET_RTC_XTAL_SOURCE_SHIFT (29U)
  8504. /*! RTC_XTAL_SOURCE
  8505. * 0b0..Internal ring oscillator
  8506. * 0b1..RTC_XTAL
  8507. */
  8508. #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)
  8509. #define CCM_ANALOG_MISC0_SET_XTAL_24M_PWD_MASK (0x40000000U)
  8510. #define CCM_ANALOG_MISC0_SET_XTAL_24M_PWD_SHIFT (30U)
  8511. #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)
  8512. /*! @} */
  8513. /*! @name MISC0_CLR - Miscellaneous Register 0 */
  8514. /*! @{ */
  8515. #define CCM_ANALOG_MISC0_CLR_REFTOP_PWD_MASK (0x1U)
  8516. #define CCM_ANALOG_MISC0_CLR_REFTOP_PWD_SHIFT (0U)
  8517. #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)
  8518. #define CCM_ANALOG_MISC0_CLR_REFTOP_SELFBIASOFF_MASK (0x8U)
  8519. #define CCM_ANALOG_MISC0_CLR_REFTOP_SELFBIASOFF_SHIFT (3U)
  8520. /*! REFTOP_SELFBIASOFF
  8521. * 0b0..Uses coarse bias currents for startup
  8522. * 0b1..Uses bandgap-based bias currents for best performance.
  8523. */
  8524. #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)
  8525. #define CCM_ANALOG_MISC0_CLR_REFTOP_VBGADJ_MASK (0x70U)
  8526. #define CCM_ANALOG_MISC0_CLR_REFTOP_VBGADJ_SHIFT (4U)
  8527. /*! REFTOP_VBGADJ
  8528. * 0b000..Nominal VBG
  8529. * 0b001..VBG+0.78%
  8530. * 0b010..VBG+1.56%
  8531. * 0b011..VBG+2.34%
  8532. * 0b100..VBG-0.78%
  8533. * 0b101..VBG-1.56%
  8534. * 0b110..VBG-2.34%
  8535. * 0b111..VBG-3.12%
  8536. */
  8537. #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)
  8538. #define CCM_ANALOG_MISC0_CLR_REFTOP_VBGUP_MASK (0x80U)
  8539. #define CCM_ANALOG_MISC0_CLR_REFTOP_VBGUP_SHIFT (7U)
  8540. #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)
  8541. #define CCM_ANALOG_MISC0_CLR_STOP_MODE_CONFIG_MASK (0xC00U)
  8542. #define CCM_ANALOG_MISC0_CLR_STOP_MODE_CONFIG_SHIFT (10U)
  8543. /*! STOP_MODE_CONFIG
  8544. * 0b00..All analog except RTC powered down on stop mode assertion.
  8545. * 0b01..Beside RTC, analog bandgap, 1p1 and 2p5 regulators are also on.
  8546. * 0b10..Beside RTC, 1p1 and 2p5 regulators are also on, low-power bandgap is selected so that the normal analog
  8547. * bandgap together with the rest analog is powered down.
  8548. * 0b11..Beside RTC, low-power bandgap is selected and the rest analog is powered down.
  8549. */
  8550. #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)
  8551. #define CCM_ANALOG_MISC0_CLR_DISCON_HIGH_SNVS_MASK (0x1000U)
  8552. #define CCM_ANALOG_MISC0_CLR_DISCON_HIGH_SNVS_SHIFT (12U)
  8553. /*! DISCON_HIGH_SNVS
  8554. * 0b0..Turn on the switch
  8555. * 0b1..Turn off the switch
  8556. */
  8557. #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)
  8558. #define CCM_ANALOG_MISC0_CLR_OSC_I_MASK (0x6000U)
  8559. #define CCM_ANALOG_MISC0_CLR_OSC_I_SHIFT (13U)
  8560. /*! OSC_I
  8561. * 0b00..Nominal
  8562. * 0b01..Decrease current by 12.5%
  8563. * 0b10..Decrease current by 25.0%
  8564. * 0b11..Decrease current by 37.5%
  8565. */
  8566. #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)
  8567. #define CCM_ANALOG_MISC0_CLR_OSC_XTALOK_MASK (0x8000U)
  8568. #define CCM_ANALOG_MISC0_CLR_OSC_XTALOK_SHIFT (15U)
  8569. #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)
  8570. #define CCM_ANALOG_MISC0_CLR_OSC_XTALOK_EN_MASK (0x10000U)
  8571. #define CCM_ANALOG_MISC0_CLR_OSC_XTALOK_EN_SHIFT (16U)
  8572. #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)
  8573. #define CCM_ANALOG_MISC0_CLR_CLKGATE_CTRL_MASK (0x2000000U)
  8574. #define CCM_ANALOG_MISC0_CLR_CLKGATE_CTRL_SHIFT (25U)
  8575. /*! CLKGATE_CTRL
  8576. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  8577. * 0b1..Prevent the logic from ever gating off the clock.
  8578. */
  8579. #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)
  8580. #define CCM_ANALOG_MISC0_CLR_CLKGATE_DELAY_MASK (0x1C000000U)
  8581. #define CCM_ANALOG_MISC0_CLR_CLKGATE_DELAY_SHIFT (26U)
  8582. /*! CLKGATE_DELAY
  8583. * 0b000..0.5ms
  8584. * 0b001..1.0ms
  8585. * 0b010..2.0ms
  8586. * 0b011..3.0ms
  8587. * 0b100..4.0ms
  8588. * 0b101..5.0ms
  8589. * 0b110..6.0ms
  8590. * 0b111..7.0ms
  8591. */
  8592. #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)
  8593. #define CCM_ANALOG_MISC0_CLR_RTC_XTAL_SOURCE_MASK (0x20000000U)
  8594. #define CCM_ANALOG_MISC0_CLR_RTC_XTAL_SOURCE_SHIFT (29U)
  8595. /*! RTC_XTAL_SOURCE
  8596. * 0b0..Internal ring oscillator
  8597. * 0b1..RTC_XTAL
  8598. */
  8599. #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)
  8600. #define CCM_ANALOG_MISC0_CLR_XTAL_24M_PWD_MASK (0x40000000U)
  8601. #define CCM_ANALOG_MISC0_CLR_XTAL_24M_PWD_SHIFT (30U)
  8602. #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)
  8603. /*! @} */
  8604. /*! @name MISC0_TOG - Miscellaneous Register 0 */
  8605. /*! @{ */
  8606. #define CCM_ANALOG_MISC0_TOG_REFTOP_PWD_MASK (0x1U)
  8607. #define CCM_ANALOG_MISC0_TOG_REFTOP_PWD_SHIFT (0U)
  8608. #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)
  8609. #define CCM_ANALOG_MISC0_TOG_REFTOP_SELFBIASOFF_MASK (0x8U)
  8610. #define CCM_ANALOG_MISC0_TOG_REFTOP_SELFBIASOFF_SHIFT (3U)
  8611. /*! REFTOP_SELFBIASOFF
  8612. * 0b0..Uses coarse bias currents for startup
  8613. * 0b1..Uses bandgap-based bias currents for best performance.
  8614. */
  8615. #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)
  8616. #define CCM_ANALOG_MISC0_TOG_REFTOP_VBGADJ_MASK (0x70U)
  8617. #define CCM_ANALOG_MISC0_TOG_REFTOP_VBGADJ_SHIFT (4U)
  8618. /*! REFTOP_VBGADJ
  8619. * 0b000..Nominal VBG
  8620. * 0b001..VBG+0.78%
  8621. * 0b010..VBG+1.56%
  8622. * 0b011..VBG+2.34%
  8623. * 0b100..VBG-0.78%
  8624. * 0b101..VBG-1.56%
  8625. * 0b110..VBG-2.34%
  8626. * 0b111..VBG-3.12%
  8627. */
  8628. #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)
  8629. #define CCM_ANALOG_MISC0_TOG_REFTOP_VBGUP_MASK (0x80U)
  8630. #define CCM_ANALOG_MISC0_TOG_REFTOP_VBGUP_SHIFT (7U)
  8631. #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)
  8632. #define CCM_ANALOG_MISC0_TOG_STOP_MODE_CONFIG_MASK (0xC00U)
  8633. #define CCM_ANALOG_MISC0_TOG_STOP_MODE_CONFIG_SHIFT (10U)
  8634. /*! STOP_MODE_CONFIG
  8635. * 0b00..All analog except RTC powered down on stop mode assertion.
  8636. * 0b01..Beside RTC, analog bandgap, 1p1 and 2p5 regulators are also on.
  8637. * 0b10..Beside RTC, 1p1 and 2p5 regulators are also on, low-power bandgap is selected so that the normal analog
  8638. * bandgap together with the rest analog is powered down.
  8639. * 0b11..Beside RTC, low-power bandgap is selected and the rest analog is powered down.
  8640. */
  8641. #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)
  8642. #define CCM_ANALOG_MISC0_TOG_DISCON_HIGH_SNVS_MASK (0x1000U)
  8643. #define CCM_ANALOG_MISC0_TOG_DISCON_HIGH_SNVS_SHIFT (12U)
  8644. /*! DISCON_HIGH_SNVS
  8645. * 0b0..Turn on the switch
  8646. * 0b1..Turn off the switch
  8647. */
  8648. #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)
  8649. #define CCM_ANALOG_MISC0_TOG_OSC_I_MASK (0x6000U)
  8650. #define CCM_ANALOG_MISC0_TOG_OSC_I_SHIFT (13U)
  8651. /*! OSC_I
  8652. * 0b00..Nominal
  8653. * 0b01..Decrease current by 12.5%
  8654. * 0b10..Decrease current by 25.0%
  8655. * 0b11..Decrease current by 37.5%
  8656. */
  8657. #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)
  8658. #define CCM_ANALOG_MISC0_TOG_OSC_XTALOK_MASK (0x8000U)
  8659. #define CCM_ANALOG_MISC0_TOG_OSC_XTALOK_SHIFT (15U)
  8660. #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)
  8661. #define CCM_ANALOG_MISC0_TOG_OSC_XTALOK_EN_MASK (0x10000U)
  8662. #define CCM_ANALOG_MISC0_TOG_OSC_XTALOK_EN_SHIFT (16U)
  8663. #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)
  8664. #define CCM_ANALOG_MISC0_TOG_CLKGATE_CTRL_MASK (0x2000000U)
  8665. #define CCM_ANALOG_MISC0_TOG_CLKGATE_CTRL_SHIFT (25U)
  8666. /*! CLKGATE_CTRL
  8667. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  8668. * 0b1..Prevent the logic from ever gating off the clock.
  8669. */
  8670. #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)
  8671. #define CCM_ANALOG_MISC0_TOG_CLKGATE_DELAY_MASK (0x1C000000U)
  8672. #define CCM_ANALOG_MISC0_TOG_CLKGATE_DELAY_SHIFT (26U)
  8673. /*! CLKGATE_DELAY
  8674. * 0b000..0.5ms
  8675. * 0b001..1.0ms
  8676. * 0b010..2.0ms
  8677. * 0b011..3.0ms
  8678. * 0b100..4.0ms
  8679. * 0b101..5.0ms
  8680. * 0b110..6.0ms
  8681. * 0b111..7.0ms
  8682. */
  8683. #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)
  8684. #define CCM_ANALOG_MISC0_TOG_RTC_XTAL_SOURCE_MASK (0x20000000U)
  8685. #define CCM_ANALOG_MISC0_TOG_RTC_XTAL_SOURCE_SHIFT (29U)
  8686. /*! RTC_XTAL_SOURCE
  8687. * 0b0..Internal ring oscillator
  8688. * 0b1..RTC_XTAL
  8689. */
  8690. #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)
  8691. #define CCM_ANALOG_MISC0_TOG_XTAL_24M_PWD_MASK (0x40000000U)
  8692. #define CCM_ANALOG_MISC0_TOG_XTAL_24M_PWD_SHIFT (30U)
  8693. #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)
  8694. /*! @} */
  8695. /*! @name MISC1 - Miscellaneous Register 1 */
  8696. /*! @{ */
  8697. #define CCM_ANALOG_MISC1_LVDS1_CLK_SEL_MASK (0x1FU)
  8698. #define CCM_ANALOG_MISC1_LVDS1_CLK_SEL_SHIFT (0U)
  8699. /*! LVDS1_CLK_SEL
  8700. * 0b00000..Arm PLL
  8701. * 0b00001..System PLL
  8702. * 0b00010..ref_pfd4_clk == pll2_pfd0_clk
  8703. * 0b00011..ref_pfd5_clk == pll2_pfd1_clk
  8704. * 0b00100..ref_pfd6_clk == pll2_pfd2_clk
  8705. * 0b00101..ref_pfd7_clk == pll2_pfd3_clk
  8706. * 0b00110..Audio PLL
  8707. * 0b00111..Video PLL
  8708. * 0b01001..ethernet ref clock (ENET_PLL)
  8709. * 0b01100..USB1 PLL clock
  8710. * 0b01101..USB2 PLL clock
  8711. * 0b01110..ref_pfd0_clk == pll3_pfd0_clk
  8712. * 0b01111..ref_pfd1_clk == pll3_pfd1_clk
  8713. * 0b10000..ref_pfd2_clk == pll3_pfd2_clk
  8714. * 0b10001..ref_pfd3_clk == pll3_pfd3_clk
  8715. * 0b10010..xtal (24M)
  8716. */
  8717. #define CCM_ANALOG_MISC1_LVDS1_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_LVDS1_CLK_SEL_SHIFT)) & CCM_ANALOG_MISC1_LVDS1_CLK_SEL_MASK)
  8718. #define CCM_ANALOG_MISC1_LVDSCLK1_OBEN_MASK (0x400U)
  8719. #define CCM_ANALOG_MISC1_LVDSCLK1_OBEN_SHIFT (10U)
  8720. #define CCM_ANALOG_MISC1_LVDSCLK1_OBEN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_LVDSCLK1_OBEN_SHIFT)) & CCM_ANALOG_MISC1_LVDSCLK1_OBEN_MASK)
  8721. #define CCM_ANALOG_MISC1_LVDSCLK1_IBEN_MASK (0x1000U)
  8722. #define CCM_ANALOG_MISC1_LVDSCLK1_IBEN_SHIFT (12U)
  8723. #define CCM_ANALOG_MISC1_LVDSCLK1_IBEN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_LVDSCLK1_IBEN_SHIFT)) & CCM_ANALOG_MISC1_LVDSCLK1_IBEN_MASK)
  8724. #define CCM_ANALOG_MISC1_PFD_480_AUTOGATE_EN_MASK (0x10000U)
  8725. #define CCM_ANALOG_MISC1_PFD_480_AUTOGATE_EN_SHIFT (16U)
  8726. #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)
  8727. #define CCM_ANALOG_MISC1_PFD_528_AUTOGATE_EN_MASK (0x20000U)
  8728. #define CCM_ANALOG_MISC1_PFD_528_AUTOGATE_EN_SHIFT (17U)
  8729. #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)
  8730. #define CCM_ANALOG_MISC1_IRQ_TEMPPANIC_MASK (0x8000000U)
  8731. #define CCM_ANALOG_MISC1_IRQ_TEMPPANIC_SHIFT (27U)
  8732. #define CCM_ANALOG_MISC1_IRQ_TEMPPANIC(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_IRQ_TEMPPANIC_SHIFT)) & CCM_ANALOG_MISC1_IRQ_TEMPPANIC_MASK)
  8733. #define CCM_ANALOG_MISC1_IRQ_TEMPLOW_MASK (0x10000000U)
  8734. #define CCM_ANALOG_MISC1_IRQ_TEMPLOW_SHIFT (28U)
  8735. #define CCM_ANALOG_MISC1_IRQ_TEMPLOW(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_IRQ_TEMPLOW_SHIFT)) & CCM_ANALOG_MISC1_IRQ_TEMPLOW_MASK)
  8736. #define CCM_ANALOG_MISC1_IRQ_TEMPHIGH_MASK (0x20000000U)
  8737. #define CCM_ANALOG_MISC1_IRQ_TEMPHIGH_SHIFT (29U)
  8738. #define CCM_ANALOG_MISC1_IRQ_TEMPHIGH(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_IRQ_TEMPHIGH_SHIFT)) & CCM_ANALOG_MISC1_IRQ_TEMPHIGH_MASK)
  8739. #define CCM_ANALOG_MISC1_IRQ_ANA_BO_MASK (0x40000000U)
  8740. #define CCM_ANALOG_MISC1_IRQ_ANA_BO_SHIFT (30U)
  8741. #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)
  8742. #define CCM_ANALOG_MISC1_IRQ_DIG_BO_MASK (0x80000000U)
  8743. #define CCM_ANALOG_MISC1_IRQ_DIG_BO_SHIFT (31U)
  8744. #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)
  8745. /*! @} */
  8746. /*! @name MISC1_SET - Miscellaneous Register 1 */
  8747. /*! @{ */
  8748. #define CCM_ANALOG_MISC1_SET_LVDS1_CLK_SEL_MASK (0x1FU)
  8749. #define CCM_ANALOG_MISC1_SET_LVDS1_CLK_SEL_SHIFT (0U)
  8750. /*! LVDS1_CLK_SEL
  8751. * 0b00000..Arm PLL
  8752. * 0b00001..System PLL
  8753. * 0b00010..ref_pfd4_clk == pll2_pfd0_clk
  8754. * 0b00011..ref_pfd5_clk == pll2_pfd1_clk
  8755. * 0b00100..ref_pfd6_clk == pll2_pfd2_clk
  8756. * 0b00101..ref_pfd7_clk == pll2_pfd3_clk
  8757. * 0b00110..Audio PLL
  8758. * 0b00111..Video PLL
  8759. * 0b01001..ethernet ref clock (ENET_PLL)
  8760. * 0b01100..USB1 PLL clock
  8761. * 0b01101..USB2 PLL clock
  8762. * 0b01110..ref_pfd0_clk == pll3_pfd0_clk
  8763. * 0b01111..ref_pfd1_clk == pll3_pfd1_clk
  8764. * 0b10000..ref_pfd2_clk == pll3_pfd2_clk
  8765. * 0b10001..ref_pfd3_clk == pll3_pfd3_clk
  8766. * 0b10010..xtal (24M)
  8767. */
  8768. #define CCM_ANALOG_MISC1_SET_LVDS1_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_SET_LVDS1_CLK_SEL_SHIFT)) & CCM_ANALOG_MISC1_SET_LVDS1_CLK_SEL_MASK)
  8769. #define CCM_ANALOG_MISC1_SET_LVDSCLK1_OBEN_MASK (0x400U)
  8770. #define CCM_ANALOG_MISC1_SET_LVDSCLK1_OBEN_SHIFT (10U)
  8771. #define CCM_ANALOG_MISC1_SET_LVDSCLK1_OBEN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_SET_LVDSCLK1_OBEN_SHIFT)) & CCM_ANALOG_MISC1_SET_LVDSCLK1_OBEN_MASK)
  8772. #define CCM_ANALOG_MISC1_SET_LVDSCLK1_IBEN_MASK (0x1000U)
  8773. #define CCM_ANALOG_MISC1_SET_LVDSCLK1_IBEN_SHIFT (12U)
  8774. #define CCM_ANALOG_MISC1_SET_LVDSCLK1_IBEN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_SET_LVDSCLK1_IBEN_SHIFT)) & CCM_ANALOG_MISC1_SET_LVDSCLK1_IBEN_MASK)
  8775. #define CCM_ANALOG_MISC1_SET_PFD_480_AUTOGATE_EN_MASK (0x10000U)
  8776. #define CCM_ANALOG_MISC1_SET_PFD_480_AUTOGATE_EN_SHIFT (16U)
  8777. #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)
  8778. #define CCM_ANALOG_MISC1_SET_PFD_528_AUTOGATE_EN_MASK (0x20000U)
  8779. #define CCM_ANALOG_MISC1_SET_PFD_528_AUTOGATE_EN_SHIFT (17U)
  8780. #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)
  8781. #define CCM_ANALOG_MISC1_SET_IRQ_TEMPPANIC_MASK (0x8000000U)
  8782. #define CCM_ANALOG_MISC1_SET_IRQ_TEMPPANIC_SHIFT (27U)
  8783. #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)
  8784. #define CCM_ANALOG_MISC1_SET_IRQ_TEMPLOW_MASK (0x10000000U)
  8785. #define CCM_ANALOG_MISC1_SET_IRQ_TEMPLOW_SHIFT (28U)
  8786. #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)
  8787. #define CCM_ANALOG_MISC1_SET_IRQ_TEMPHIGH_MASK (0x20000000U)
  8788. #define CCM_ANALOG_MISC1_SET_IRQ_TEMPHIGH_SHIFT (29U)
  8789. #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)
  8790. #define CCM_ANALOG_MISC1_SET_IRQ_ANA_BO_MASK (0x40000000U)
  8791. #define CCM_ANALOG_MISC1_SET_IRQ_ANA_BO_SHIFT (30U)
  8792. #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)
  8793. #define CCM_ANALOG_MISC1_SET_IRQ_DIG_BO_MASK (0x80000000U)
  8794. #define CCM_ANALOG_MISC1_SET_IRQ_DIG_BO_SHIFT (31U)
  8795. #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)
  8796. /*! @} */
  8797. /*! @name MISC1_CLR - Miscellaneous Register 1 */
  8798. /*! @{ */
  8799. #define CCM_ANALOG_MISC1_CLR_LVDS1_CLK_SEL_MASK (0x1FU)
  8800. #define CCM_ANALOG_MISC1_CLR_LVDS1_CLK_SEL_SHIFT (0U)
  8801. /*! LVDS1_CLK_SEL
  8802. * 0b00000..Arm PLL
  8803. * 0b00001..System PLL
  8804. * 0b00010..ref_pfd4_clk == pll2_pfd0_clk
  8805. * 0b00011..ref_pfd5_clk == pll2_pfd1_clk
  8806. * 0b00100..ref_pfd6_clk == pll2_pfd2_clk
  8807. * 0b00101..ref_pfd7_clk == pll2_pfd3_clk
  8808. * 0b00110..Audio PLL
  8809. * 0b00111..Video PLL
  8810. * 0b01001..ethernet ref clock (ENET_PLL)
  8811. * 0b01100..USB1 PLL clock
  8812. * 0b01101..USB2 PLL clock
  8813. * 0b01110..ref_pfd0_clk == pll3_pfd0_clk
  8814. * 0b01111..ref_pfd1_clk == pll3_pfd1_clk
  8815. * 0b10000..ref_pfd2_clk == pll3_pfd2_clk
  8816. * 0b10001..ref_pfd3_clk == pll3_pfd3_clk
  8817. * 0b10010..xtal (24M)
  8818. */
  8819. #define CCM_ANALOG_MISC1_CLR_LVDS1_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_CLR_LVDS1_CLK_SEL_SHIFT)) & CCM_ANALOG_MISC1_CLR_LVDS1_CLK_SEL_MASK)
  8820. #define CCM_ANALOG_MISC1_CLR_LVDSCLK1_OBEN_MASK (0x400U)
  8821. #define CCM_ANALOG_MISC1_CLR_LVDSCLK1_OBEN_SHIFT (10U)
  8822. #define CCM_ANALOG_MISC1_CLR_LVDSCLK1_OBEN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_CLR_LVDSCLK1_OBEN_SHIFT)) & CCM_ANALOG_MISC1_CLR_LVDSCLK1_OBEN_MASK)
  8823. #define CCM_ANALOG_MISC1_CLR_LVDSCLK1_IBEN_MASK (0x1000U)
  8824. #define CCM_ANALOG_MISC1_CLR_LVDSCLK1_IBEN_SHIFT (12U)
  8825. #define CCM_ANALOG_MISC1_CLR_LVDSCLK1_IBEN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_CLR_LVDSCLK1_IBEN_SHIFT)) & CCM_ANALOG_MISC1_CLR_LVDSCLK1_IBEN_MASK)
  8826. #define CCM_ANALOG_MISC1_CLR_PFD_480_AUTOGATE_EN_MASK (0x10000U)
  8827. #define CCM_ANALOG_MISC1_CLR_PFD_480_AUTOGATE_EN_SHIFT (16U)
  8828. #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)
  8829. #define CCM_ANALOG_MISC1_CLR_PFD_528_AUTOGATE_EN_MASK (0x20000U)
  8830. #define CCM_ANALOG_MISC1_CLR_PFD_528_AUTOGATE_EN_SHIFT (17U)
  8831. #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)
  8832. #define CCM_ANALOG_MISC1_CLR_IRQ_TEMPPANIC_MASK (0x8000000U)
  8833. #define CCM_ANALOG_MISC1_CLR_IRQ_TEMPPANIC_SHIFT (27U)
  8834. #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)
  8835. #define CCM_ANALOG_MISC1_CLR_IRQ_TEMPLOW_MASK (0x10000000U)
  8836. #define CCM_ANALOG_MISC1_CLR_IRQ_TEMPLOW_SHIFT (28U)
  8837. #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)
  8838. #define CCM_ANALOG_MISC1_CLR_IRQ_TEMPHIGH_MASK (0x20000000U)
  8839. #define CCM_ANALOG_MISC1_CLR_IRQ_TEMPHIGH_SHIFT (29U)
  8840. #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)
  8841. #define CCM_ANALOG_MISC1_CLR_IRQ_ANA_BO_MASK (0x40000000U)
  8842. #define CCM_ANALOG_MISC1_CLR_IRQ_ANA_BO_SHIFT (30U)
  8843. #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)
  8844. #define CCM_ANALOG_MISC1_CLR_IRQ_DIG_BO_MASK (0x80000000U)
  8845. #define CCM_ANALOG_MISC1_CLR_IRQ_DIG_BO_SHIFT (31U)
  8846. #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)
  8847. /*! @} */
  8848. /*! @name MISC1_TOG - Miscellaneous Register 1 */
  8849. /*! @{ */
  8850. #define CCM_ANALOG_MISC1_TOG_LVDS1_CLK_SEL_MASK (0x1FU)
  8851. #define CCM_ANALOG_MISC1_TOG_LVDS1_CLK_SEL_SHIFT (0U)
  8852. /*! LVDS1_CLK_SEL
  8853. * 0b00000..Arm PLL
  8854. * 0b00001..System PLL
  8855. * 0b00010..ref_pfd4_clk == pll2_pfd0_clk
  8856. * 0b00011..ref_pfd5_clk == pll2_pfd1_clk
  8857. * 0b00100..ref_pfd6_clk == pll2_pfd2_clk
  8858. * 0b00101..ref_pfd7_clk == pll2_pfd3_clk
  8859. * 0b00110..Audio PLL
  8860. * 0b00111..Video PLL
  8861. * 0b01001..ethernet ref clock (ENET_PLL)
  8862. * 0b01100..USB1 PLL clock
  8863. * 0b01101..USB2 PLL clock
  8864. * 0b01110..ref_pfd0_clk == pll3_pfd0_clk
  8865. * 0b01111..ref_pfd1_clk == pll3_pfd1_clk
  8866. * 0b10000..ref_pfd2_clk == pll3_pfd2_clk
  8867. * 0b10001..ref_pfd3_clk == pll3_pfd3_clk
  8868. * 0b10010..xtal (24M)
  8869. */
  8870. #define CCM_ANALOG_MISC1_TOG_LVDS1_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_TOG_LVDS1_CLK_SEL_SHIFT)) & CCM_ANALOG_MISC1_TOG_LVDS1_CLK_SEL_MASK)
  8871. #define CCM_ANALOG_MISC1_TOG_LVDSCLK1_OBEN_MASK (0x400U)
  8872. #define CCM_ANALOG_MISC1_TOG_LVDSCLK1_OBEN_SHIFT (10U)
  8873. #define CCM_ANALOG_MISC1_TOG_LVDSCLK1_OBEN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_TOG_LVDSCLK1_OBEN_SHIFT)) & CCM_ANALOG_MISC1_TOG_LVDSCLK1_OBEN_MASK)
  8874. #define CCM_ANALOG_MISC1_TOG_LVDSCLK1_IBEN_MASK (0x1000U)
  8875. #define CCM_ANALOG_MISC1_TOG_LVDSCLK1_IBEN_SHIFT (12U)
  8876. #define CCM_ANALOG_MISC1_TOG_LVDSCLK1_IBEN(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC1_TOG_LVDSCLK1_IBEN_SHIFT)) & CCM_ANALOG_MISC1_TOG_LVDSCLK1_IBEN_MASK)
  8877. #define CCM_ANALOG_MISC1_TOG_PFD_480_AUTOGATE_EN_MASK (0x10000U)
  8878. #define CCM_ANALOG_MISC1_TOG_PFD_480_AUTOGATE_EN_SHIFT (16U)
  8879. #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)
  8880. #define CCM_ANALOG_MISC1_TOG_PFD_528_AUTOGATE_EN_MASK (0x20000U)
  8881. #define CCM_ANALOG_MISC1_TOG_PFD_528_AUTOGATE_EN_SHIFT (17U)
  8882. #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)
  8883. #define CCM_ANALOG_MISC1_TOG_IRQ_TEMPPANIC_MASK (0x8000000U)
  8884. #define CCM_ANALOG_MISC1_TOG_IRQ_TEMPPANIC_SHIFT (27U)
  8885. #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)
  8886. #define CCM_ANALOG_MISC1_TOG_IRQ_TEMPLOW_MASK (0x10000000U)
  8887. #define CCM_ANALOG_MISC1_TOG_IRQ_TEMPLOW_SHIFT (28U)
  8888. #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)
  8889. #define CCM_ANALOG_MISC1_TOG_IRQ_TEMPHIGH_MASK (0x20000000U)
  8890. #define CCM_ANALOG_MISC1_TOG_IRQ_TEMPHIGH_SHIFT (29U)
  8891. #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)
  8892. #define CCM_ANALOG_MISC1_TOG_IRQ_ANA_BO_MASK (0x40000000U)
  8893. #define CCM_ANALOG_MISC1_TOG_IRQ_ANA_BO_SHIFT (30U)
  8894. #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)
  8895. #define CCM_ANALOG_MISC1_TOG_IRQ_DIG_BO_MASK (0x80000000U)
  8896. #define CCM_ANALOG_MISC1_TOG_IRQ_DIG_BO_SHIFT (31U)
  8897. #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)
  8898. /*! @} */
  8899. /*! @name MISC2 - Miscellaneous Register 2 */
  8900. /*! @{ */
  8901. #define CCM_ANALOG_MISC2_REG0_BO_OFFSET_MASK (0x7U)
  8902. #define CCM_ANALOG_MISC2_REG0_BO_OFFSET_SHIFT (0U)
  8903. /*! REG0_BO_OFFSET
  8904. * 0b100..Brownout offset = 0.100V
  8905. * 0b111..Brownout offset = 0.175V
  8906. */
  8907. #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)
  8908. #define CCM_ANALOG_MISC2_REG0_BO_STATUS_MASK (0x8U)
  8909. #define CCM_ANALOG_MISC2_REG0_BO_STATUS_SHIFT (3U)
  8910. /*! REG0_BO_STATUS
  8911. * 0b1..Brownout, supply is below target minus brownout offset.
  8912. */
  8913. #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)
  8914. #define CCM_ANALOG_MISC2_REG0_ENABLE_BO_MASK (0x20U)
  8915. #define CCM_ANALOG_MISC2_REG0_ENABLE_BO_SHIFT (5U)
  8916. #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)
  8917. #define CCM_ANALOG_MISC2_REG0_OK_MASK (0x40U)
  8918. #define CCM_ANALOG_MISC2_REG0_OK_SHIFT (6U)
  8919. #define CCM_ANALOG_MISC2_REG0_OK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_REG0_OK_SHIFT)) & CCM_ANALOG_MISC2_REG0_OK_MASK)
  8920. #define CCM_ANALOG_MISC2_PLL3_DISABLE_MASK (0x80U)
  8921. #define CCM_ANALOG_MISC2_PLL3_DISABLE_SHIFT (7U)
  8922. /*! PLL3_DISABLE
  8923. * 0b0..PLL3 is being used by peripherals and is enabled when SoC is not in any low power mode
  8924. * 0b1..PLL3 can be disabled when the SoC is not in any low power mode
  8925. */
  8926. #define CCM_ANALOG_MISC2_PLL3_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_PLL3_DISABLE_SHIFT)) & CCM_ANALOG_MISC2_PLL3_DISABLE_MASK)
  8927. #define CCM_ANALOG_MISC2_REG1_BO_OFFSET_MASK (0x700U)
  8928. #define CCM_ANALOG_MISC2_REG1_BO_OFFSET_SHIFT (8U)
  8929. /*! REG1_BO_OFFSET
  8930. * 0b100..Brownout offset = 0.100V
  8931. * 0b111..Brownout offset = 0.175V
  8932. */
  8933. #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)
  8934. #define CCM_ANALOG_MISC2_REG1_BO_STATUS_MASK (0x800U)
  8935. #define CCM_ANALOG_MISC2_REG1_BO_STATUS_SHIFT (11U)
  8936. /*! REG1_BO_STATUS
  8937. * 0b1..Brownout, supply is below target minus brownout offset.
  8938. */
  8939. #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)
  8940. #define CCM_ANALOG_MISC2_REG1_ENABLE_BO_MASK (0x2000U)
  8941. #define CCM_ANALOG_MISC2_REG1_ENABLE_BO_SHIFT (13U)
  8942. #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)
  8943. #define CCM_ANALOG_MISC2_REG1_OK_MASK (0x4000U)
  8944. #define CCM_ANALOG_MISC2_REG1_OK_SHIFT (14U)
  8945. #define CCM_ANALOG_MISC2_REG1_OK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_REG1_OK_SHIFT)) & CCM_ANALOG_MISC2_REG1_OK_MASK)
  8946. #define CCM_ANALOG_MISC2_AUDIO_DIV_LSB_MASK (0x8000U)
  8947. #define CCM_ANALOG_MISC2_AUDIO_DIV_LSB_SHIFT (15U)
  8948. /*! AUDIO_DIV_LSB
  8949. * 0b0..divide by 1 (Default)
  8950. * 0b1..divide by 2
  8951. */
  8952. #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)
  8953. #define CCM_ANALOG_MISC2_REG2_BO_OFFSET_MASK (0x70000U)
  8954. #define CCM_ANALOG_MISC2_REG2_BO_OFFSET_SHIFT (16U)
  8955. /*! REG2_BO_OFFSET
  8956. * 0b100..Brownout offset = 0.100V
  8957. * 0b111..Brownout offset = 0.175V
  8958. */
  8959. #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)
  8960. #define CCM_ANALOG_MISC2_REG2_BO_STATUS_MASK (0x80000U)
  8961. #define CCM_ANALOG_MISC2_REG2_BO_STATUS_SHIFT (19U)
  8962. #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)
  8963. #define CCM_ANALOG_MISC2_REG2_ENABLE_BO_MASK (0x200000U)
  8964. #define CCM_ANALOG_MISC2_REG2_ENABLE_BO_SHIFT (21U)
  8965. #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)
  8966. #define CCM_ANALOG_MISC2_REG2_OK_MASK (0x400000U)
  8967. #define CCM_ANALOG_MISC2_REG2_OK_SHIFT (22U)
  8968. #define CCM_ANALOG_MISC2_REG2_OK(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_REG2_OK_SHIFT)) & CCM_ANALOG_MISC2_REG2_OK_MASK)
  8969. #define CCM_ANALOG_MISC2_AUDIO_DIV_MSB_MASK (0x800000U)
  8970. #define CCM_ANALOG_MISC2_AUDIO_DIV_MSB_SHIFT (23U)
  8971. /*! AUDIO_DIV_MSB
  8972. * 0b0..divide by 1 (Default)
  8973. * 0b1..divide by 2
  8974. */
  8975. #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)
  8976. #define CCM_ANALOG_MISC2_REG0_STEP_TIME_MASK (0x3000000U)
  8977. #define CCM_ANALOG_MISC2_REG0_STEP_TIME_SHIFT (24U)
  8978. /*! REG0_STEP_TIME
  8979. * 0b00..64
  8980. * 0b01..128
  8981. * 0b10..256
  8982. * 0b11..512
  8983. */
  8984. #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)
  8985. #define CCM_ANALOG_MISC2_REG1_STEP_TIME_MASK (0xC000000U)
  8986. #define CCM_ANALOG_MISC2_REG1_STEP_TIME_SHIFT (26U)
  8987. /*! REG1_STEP_TIME
  8988. * 0b00..64
  8989. * 0b01..128
  8990. * 0b10..256
  8991. * 0b11..512
  8992. */
  8993. #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)
  8994. #define CCM_ANALOG_MISC2_REG2_STEP_TIME_MASK (0x30000000U)
  8995. #define CCM_ANALOG_MISC2_REG2_STEP_TIME_SHIFT (28U)
  8996. /*! REG2_STEP_TIME
  8997. * 0b00..64
  8998. * 0b01..128
  8999. * 0b10..256
  9000. * 0b11..512
  9001. */
  9002. #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)
  9003. #define CCM_ANALOG_MISC2_VIDEO_DIV_MASK (0xC0000000U)
  9004. #define CCM_ANALOG_MISC2_VIDEO_DIV_SHIFT (30U)
  9005. /*! VIDEO_DIV
  9006. * 0b00..divide by 1 (Default)
  9007. * 0b01..divide by 2
  9008. * 0b10..divide by 1
  9009. * 0b11..divide by 4
  9010. */
  9011. #define CCM_ANALOG_MISC2_VIDEO_DIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_VIDEO_DIV_SHIFT)) & CCM_ANALOG_MISC2_VIDEO_DIV_MASK)
  9012. /*! @} */
  9013. /*! @name MISC2_SET - Miscellaneous Register 2 */
  9014. /*! @{ */
  9015. #define CCM_ANALOG_MISC2_SET_REG0_BO_OFFSET_MASK (0x7U)
  9016. #define CCM_ANALOG_MISC2_SET_REG0_BO_OFFSET_SHIFT (0U)
  9017. /*! REG0_BO_OFFSET
  9018. * 0b100..Brownout offset = 0.100V
  9019. * 0b111..Brownout offset = 0.175V
  9020. */
  9021. #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)
  9022. #define CCM_ANALOG_MISC2_SET_REG0_BO_STATUS_MASK (0x8U)
  9023. #define CCM_ANALOG_MISC2_SET_REG0_BO_STATUS_SHIFT (3U)
  9024. /*! REG0_BO_STATUS
  9025. * 0b1..Brownout, supply is below target minus brownout offset.
  9026. */
  9027. #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)
  9028. #define CCM_ANALOG_MISC2_SET_REG0_ENABLE_BO_MASK (0x20U)
  9029. #define CCM_ANALOG_MISC2_SET_REG0_ENABLE_BO_SHIFT (5U)
  9030. #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)
  9031. #define CCM_ANALOG_MISC2_SET_REG0_OK_MASK (0x40U)
  9032. #define CCM_ANALOG_MISC2_SET_REG0_OK_SHIFT (6U)
  9033. #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)
  9034. #define CCM_ANALOG_MISC2_SET_PLL3_DISABLE_MASK (0x80U)
  9035. #define CCM_ANALOG_MISC2_SET_PLL3_DISABLE_SHIFT (7U)
  9036. /*! PLL3_DISABLE
  9037. * 0b0..PLL3 is being used by peripherals and is enabled when SoC is not in any low power mode
  9038. * 0b1..PLL3 can be disabled when the SoC is not in any low power mode
  9039. */
  9040. #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)
  9041. #define CCM_ANALOG_MISC2_SET_REG1_BO_OFFSET_MASK (0x700U)
  9042. #define CCM_ANALOG_MISC2_SET_REG1_BO_OFFSET_SHIFT (8U)
  9043. /*! REG1_BO_OFFSET
  9044. * 0b100..Brownout offset = 0.100V
  9045. * 0b111..Brownout offset = 0.175V
  9046. */
  9047. #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)
  9048. #define CCM_ANALOG_MISC2_SET_REG1_BO_STATUS_MASK (0x800U)
  9049. #define CCM_ANALOG_MISC2_SET_REG1_BO_STATUS_SHIFT (11U)
  9050. /*! REG1_BO_STATUS
  9051. * 0b1..Brownout, supply is below target minus brownout offset.
  9052. */
  9053. #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)
  9054. #define CCM_ANALOG_MISC2_SET_REG1_ENABLE_BO_MASK (0x2000U)
  9055. #define CCM_ANALOG_MISC2_SET_REG1_ENABLE_BO_SHIFT (13U)
  9056. #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)
  9057. #define CCM_ANALOG_MISC2_SET_REG1_OK_MASK (0x4000U)
  9058. #define CCM_ANALOG_MISC2_SET_REG1_OK_SHIFT (14U)
  9059. #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)
  9060. #define CCM_ANALOG_MISC2_SET_AUDIO_DIV_LSB_MASK (0x8000U)
  9061. #define CCM_ANALOG_MISC2_SET_AUDIO_DIV_LSB_SHIFT (15U)
  9062. /*! AUDIO_DIV_LSB
  9063. * 0b0..divide by 1 (Default)
  9064. * 0b1..divide by 2
  9065. */
  9066. #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)
  9067. #define CCM_ANALOG_MISC2_SET_REG2_BO_OFFSET_MASK (0x70000U)
  9068. #define CCM_ANALOG_MISC2_SET_REG2_BO_OFFSET_SHIFT (16U)
  9069. /*! REG2_BO_OFFSET
  9070. * 0b100..Brownout offset = 0.100V
  9071. * 0b111..Brownout offset = 0.175V
  9072. */
  9073. #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)
  9074. #define CCM_ANALOG_MISC2_SET_REG2_BO_STATUS_MASK (0x80000U)
  9075. #define CCM_ANALOG_MISC2_SET_REG2_BO_STATUS_SHIFT (19U)
  9076. #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)
  9077. #define CCM_ANALOG_MISC2_SET_REG2_ENABLE_BO_MASK (0x200000U)
  9078. #define CCM_ANALOG_MISC2_SET_REG2_ENABLE_BO_SHIFT (21U)
  9079. #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)
  9080. #define CCM_ANALOG_MISC2_SET_REG2_OK_MASK (0x400000U)
  9081. #define CCM_ANALOG_MISC2_SET_REG2_OK_SHIFT (22U)
  9082. #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)
  9083. #define CCM_ANALOG_MISC2_SET_AUDIO_DIV_MSB_MASK (0x800000U)
  9084. #define CCM_ANALOG_MISC2_SET_AUDIO_DIV_MSB_SHIFT (23U)
  9085. /*! AUDIO_DIV_MSB
  9086. * 0b0..divide by 1 (Default)
  9087. * 0b1..divide by 2
  9088. */
  9089. #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)
  9090. #define CCM_ANALOG_MISC2_SET_REG0_STEP_TIME_MASK (0x3000000U)
  9091. #define CCM_ANALOG_MISC2_SET_REG0_STEP_TIME_SHIFT (24U)
  9092. /*! REG0_STEP_TIME
  9093. * 0b00..64
  9094. * 0b01..128
  9095. * 0b10..256
  9096. * 0b11..512
  9097. */
  9098. #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)
  9099. #define CCM_ANALOG_MISC2_SET_REG1_STEP_TIME_MASK (0xC000000U)
  9100. #define CCM_ANALOG_MISC2_SET_REG1_STEP_TIME_SHIFT (26U)
  9101. /*! REG1_STEP_TIME
  9102. * 0b00..64
  9103. * 0b01..128
  9104. * 0b10..256
  9105. * 0b11..512
  9106. */
  9107. #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)
  9108. #define CCM_ANALOG_MISC2_SET_REG2_STEP_TIME_MASK (0x30000000U)
  9109. #define CCM_ANALOG_MISC2_SET_REG2_STEP_TIME_SHIFT (28U)
  9110. /*! REG2_STEP_TIME
  9111. * 0b00..64
  9112. * 0b01..128
  9113. * 0b10..256
  9114. * 0b11..512
  9115. */
  9116. #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)
  9117. #define CCM_ANALOG_MISC2_SET_VIDEO_DIV_MASK (0xC0000000U)
  9118. #define CCM_ANALOG_MISC2_SET_VIDEO_DIV_SHIFT (30U)
  9119. /*! VIDEO_DIV
  9120. * 0b00..divide by 1 (Default)
  9121. * 0b01..divide by 2
  9122. * 0b10..divide by 1
  9123. * 0b11..divide by 4
  9124. */
  9125. #define CCM_ANALOG_MISC2_SET_VIDEO_DIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_SET_VIDEO_DIV_SHIFT)) & CCM_ANALOG_MISC2_SET_VIDEO_DIV_MASK)
  9126. /*! @} */
  9127. /*! @name MISC2_CLR - Miscellaneous Register 2 */
  9128. /*! @{ */
  9129. #define CCM_ANALOG_MISC2_CLR_REG0_BO_OFFSET_MASK (0x7U)
  9130. #define CCM_ANALOG_MISC2_CLR_REG0_BO_OFFSET_SHIFT (0U)
  9131. /*! REG0_BO_OFFSET
  9132. * 0b100..Brownout offset = 0.100V
  9133. * 0b111..Brownout offset = 0.175V
  9134. */
  9135. #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)
  9136. #define CCM_ANALOG_MISC2_CLR_REG0_BO_STATUS_MASK (0x8U)
  9137. #define CCM_ANALOG_MISC2_CLR_REG0_BO_STATUS_SHIFT (3U)
  9138. /*! REG0_BO_STATUS
  9139. * 0b1..Brownout, supply is below target minus brownout offset.
  9140. */
  9141. #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)
  9142. #define CCM_ANALOG_MISC2_CLR_REG0_ENABLE_BO_MASK (0x20U)
  9143. #define CCM_ANALOG_MISC2_CLR_REG0_ENABLE_BO_SHIFT (5U)
  9144. #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)
  9145. #define CCM_ANALOG_MISC2_CLR_REG0_OK_MASK (0x40U)
  9146. #define CCM_ANALOG_MISC2_CLR_REG0_OK_SHIFT (6U)
  9147. #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)
  9148. #define CCM_ANALOG_MISC2_CLR_PLL3_DISABLE_MASK (0x80U)
  9149. #define CCM_ANALOG_MISC2_CLR_PLL3_DISABLE_SHIFT (7U)
  9150. /*! PLL3_DISABLE
  9151. * 0b0..PLL3 is being used by peripherals and is enabled when SoC is not in any low power mode
  9152. * 0b1..PLL3 can be disabled when the SoC is not in any low power mode
  9153. */
  9154. #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)
  9155. #define CCM_ANALOG_MISC2_CLR_REG1_BO_OFFSET_MASK (0x700U)
  9156. #define CCM_ANALOG_MISC2_CLR_REG1_BO_OFFSET_SHIFT (8U)
  9157. /*! REG1_BO_OFFSET
  9158. * 0b100..Brownout offset = 0.100V
  9159. * 0b111..Brownout offset = 0.175V
  9160. */
  9161. #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)
  9162. #define CCM_ANALOG_MISC2_CLR_REG1_BO_STATUS_MASK (0x800U)
  9163. #define CCM_ANALOG_MISC2_CLR_REG1_BO_STATUS_SHIFT (11U)
  9164. /*! REG1_BO_STATUS
  9165. * 0b1..Brownout, supply is below target minus brownout offset.
  9166. */
  9167. #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)
  9168. #define CCM_ANALOG_MISC2_CLR_REG1_ENABLE_BO_MASK (0x2000U)
  9169. #define CCM_ANALOG_MISC2_CLR_REG1_ENABLE_BO_SHIFT (13U)
  9170. #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)
  9171. #define CCM_ANALOG_MISC2_CLR_REG1_OK_MASK (0x4000U)
  9172. #define CCM_ANALOG_MISC2_CLR_REG1_OK_SHIFT (14U)
  9173. #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)
  9174. #define CCM_ANALOG_MISC2_CLR_AUDIO_DIV_LSB_MASK (0x8000U)
  9175. #define CCM_ANALOG_MISC2_CLR_AUDIO_DIV_LSB_SHIFT (15U)
  9176. /*! AUDIO_DIV_LSB
  9177. * 0b0..divide by 1 (Default)
  9178. * 0b1..divide by 2
  9179. */
  9180. #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)
  9181. #define CCM_ANALOG_MISC2_CLR_REG2_BO_OFFSET_MASK (0x70000U)
  9182. #define CCM_ANALOG_MISC2_CLR_REG2_BO_OFFSET_SHIFT (16U)
  9183. /*! REG2_BO_OFFSET
  9184. * 0b100..Brownout offset = 0.100V
  9185. * 0b111..Brownout offset = 0.175V
  9186. */
  9187. #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)
  9188. #define CCM_ANALOG_MISC2_CLR_REG2_BO_STATUS_MASK (0x80000U)
  9189. #define CCM_ANALOG_MISC2_CLR_REG2_BO_STATUS_SHIFT (19U)
  9190. #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)
  9191. #define CCM_ANALOG_MISC2_CLR_REG2_ENABLE_BO_MASK (0x200000U)
  9192. #define CCM_ANALOG_MISC2_CLR_REG2_ENABLE_BO_SHIFT (21U)
  9193. #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)
  9194. #define CCM_ANALOG_MISC2_CLR_REG2_OK_MASK (0x400000U)
  9195. #define CCM_ANALOG_MISC2_CLR_REG2_OK_SHIFT (22U)
  9196. #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)
  9197. #define CCM_ANALOG_MISC2_CLR_AUDIO_DIV_MSB_MASK (0x800000U)
  9198. #define CCM_ANALOG_MISC2_CLR_AUDIO_DIV_MSB_SHIFT (23U)
  9199. /*! AUDIO_DIV_MSB
  9200. * 0b0..divide by 1 (Default)
  9201. * 0b1..divide by 2
  9202. */
  9203. #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)
  9204. #define CCM_ANALOG_MISC2_CLR_REG0_STEP_TIME_MASK (0x3000000U)
  9205. #define CCM_ANALOG_MISC2_CLR_REG0_STEP_TIME_SHIFT (24U)
  9206. /*! REG0_STEP_TIME
  9207. * 0b00..64
  9208. * 0b01..128
  9209. * 0b10..256
  9210. * 0b11..512
  9211. */
  9212. #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)
  9213. #define CCM_ANALOG_MISC2_CLR_REG1_STEP_TIME_MASK (0xC000000U)
  9214. #define CCM_ANALOG_MISC2_CLR_REG1_STEP_TIME_SHIFT (26U)
  9215. /*! REG1_STEP_TIME
  9216. * 0b00..64
  9217. * 0b01..128
  9218. * 0b10..256
  9219. * 0b11..512
  9220. */
  9221. #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)
  9222. #define CCM_ANALOG_MISC2_CLR_REG2_STEP_TIME_MASK (0x30000000U)
  9223. #define CCM_ANALOG_MISC2_CLR_REG2_STEP_TIME_SHIFT (28U)
  9224. /*! REG2_STEP_TIME
  9225. * 0b00..64
  9226. * 0b01..128
  9227. * 0b10..256
  9228. * 0b11..512
  9229. */
  9230. #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)
  9231. #define CCM_ANALOG_MISC2_CLR_VIDEO_DIV_MASK (0xC0000000U)
  9232. #define CCM_ANALOG_MISC2_CLR_VIDEO_DIV_SHIFT (30U)
  9233. /*! VIDEO_DIV
  9234. * 0b00..divide by 1 (Default)
  9235. * 0b01..divide by 2
  9236. * 0b10..divide by 1
  9237. * 0b11..divide by 4
  9238. */
  9239. #define CCM_ANALOG_MISC2_CLR_VIDEO_DIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_CLR_VIDEO_DIV_SHIFT)) & CCM_ANALOG_MISC2_CLR_VIDEO_DIV_MASK)
  9240. /*! @} */
  9241. /*! @name MISC2_TOG - Miscellaneous Register 2 */
  9242. /*! @{ */
  9243. #define CCM_ANALOG_MISC2_TOG_REG0_BO_OFFSET_MASK (0x7U)
  9244. #define CCM_ANALOG_MISC2_TOG_REG0_BO_OFFSET_SHIFT (0U)
  9245. /*! REG0_BO_OFFSET
  9246. * 0b100..Brownout offset = 0.100V
  9247. * 0b111..Brownout offset = 0.175V
  9248. */
  9249. #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)
  9250. #define CCM_ANALOG_MISC2_TOG_REG0_BO_STATUS_MASK (0x8U)
  9251. #define CCM_ANALOG_MISC2_TOG_REG0_BO_STATUS_SHIFT (3U)
  9252. /*! REG0_BO_STATUS
  9253. * 0b1..Brownout, supply is below target minus brownout offset.
  9254. */
  9255. #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)
  9256. #define CCM_ANALOG_MISC2_TOG_REG0_ENABLE_BO_MASK (0x20U)
  9257. #define CCM_ANALOG_MISC2_TOG_REG0_ENABLE_BO_SHIFT (5U)
  9258. #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)
  9259. #define CCM_ANALOG_MISC2_TOG_REG0_OK_MASK (0x40U)
  9260. #define CCM_ANALOG_MISC2_TOG_REG0_OK_SHIFT (6U)
  9261. #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)
  9262. #define CCM_ANALOG_MISC2_TOG_PLL3_DISABLE_MASK (0x80U)
  9263. #define CCM_ANALOG_MISC2_TOG_PLL3_DISABLE_SHIFT (7U)
  9264. /*! PLL3_DISABLE
  9265. * 0b0..PLL3 is being used by peripherals and is enabled when SoC is not in any low power mode
  9266. * 0b1..PLL3 can be disabled when the SoC is not in any low power mode
  9267. */
  9268. #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)
  9269. #define CCM_ANALOG_MISC2_TOG_REG1_BO_OFFSET_MASK (0x700U)
  9270. #define CCM_ANALOG_MISC2_TOG_REG1_BO_OFFSET_SHIFT (8U)
  9271. /*! REG1_BO_OFFSET
  9272. * 0b100..Brownout offset = 0.100V
  9273. * 0b111..Brownout offset = 0.175V
  9274. */
  9275. #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)
  9276. #define CCM_ANALOG_MISC2_TOG_REG1_BO_STATUS_MASK (0x800U)
  9277. #define CCM_ANALOG_MISC2_TOG_REG1_BO_STATUS_SHIFT (11U)
  9278. /*! REG1_BO_STATUS
  9279. * 0b1..Brownout, supply is below target minus brownout offset.
  9280. */
  9281. #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)
  9282. #define CCM_ANALOG_MISC2_TOG_REG1_ENABLE_BO_MASK (0x2000U)
  9283. #define CCM_ANALOG_MISC2_TOG_REG1_ENABLE_BO_SHIFT (13U)
  9284. #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)
  9285. #define CCM_ANALOG_MISC2_TOG_REG1_OK_MASK (0x4000U)
  9286. #define CCM_ANALOG_MISC2_TOG_REG1_OK_SHIFT (14U)
  9287. #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)
  9288. #define CCM_ANALOG_MISC2_TOG_AUDIO_DIV_LSB_MASK (0x8000U)
  9289. #define CCM_ANALOG_MISC2_TOG_AUDIO_DIV_LSB_SHIFT (15U)
  9290. /*! AUDIO_DIV_LSB
  9291. * 0b0..divide by 1 (Default)
  9292. * 0b1..divide by 2
  9293. */
  9294. #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)
  9295. #define CCM_ANALOG_MISC2_TOG_REG2_BO_OFFSET_MASK (0x70000U)
  9296. #define CCM_ANALOG_MISC2_TOG_REG2_BO_OFFSET_SHIFT (16U)
  9297. /*! REG2_BO_OFFSET
  9298. * 0b100..Brownout offset = 0.100V
  9299. * 0b111..Brownout offset = 0.175V
  9300. */
  9301. #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)
  9302. #define CCM_ANALOG_MISC2_TOG_REG2_BO_STATUS_MASK (0x80000U)
  9303. #define CCM_ANALOG_MISC2_TOG_REG2_BO_STATUS_SHIFT (19U)
  9304. #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)
  9305. #define CCM_ANALOG_MISC2_TOG_REG2_ENABLE_BO_MASK (0x200000U)
  9306. #define CCM_ANALOG_MISC2_TOG_REG2_ENABLE_BO_SHIFT (21U)
  9307. #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)
  9308. #define CCM_ANALOG_MISC2_TOG_REG2_OK_MASK (0x400000U)
  9309. #define CCM_ANALOG_MISC2_TOG_REG2_OK_SHIFT (22U)
  9310. #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)
  9311. #define CCM_ANALOG_MISC2_TOG_AUDIO_DIV_MSB_MASK (0x800000U)
  9312. #define CCM_ANALOG_MISC2_TOG_AUDIO_DIV_MSB_SHIFT (23U)
  9313. /*! AUDIO_DIV_MSB
  9314. * 0b0..divide by 1 (Default)
  9315. * 0b1..divide by 2
  9316. */
  9317. #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)
  9318. #define CCM_ANALOG_MISC2_TOG_REG0_STEP_TIME_MASK (0x3000000U)
  9319. #define CCM_ANALOG_MISC2_TOG_REG0_STEP_TIME_SHIFT (24U)
  9320. /*! REG0_STEP_TIME
  9321. * 0b00..64
  9322. * 0b01..128
  9323. * 0b10..256
  9324. * 0b11..512
  9325. */
  9326. #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)
  9327. #define CCM_ANALOG_MISC2_TOG_REG1_STEP_TIME_MASK (0xC000000U)
  9328. #define CCM_ANALOG_MISC2_TOG_REG1_STEP_TIME_SHIFT (26U)
  9329. /*! REG1_STEP_TIME
  9330. * 0b00..64
  9331. * 0b01..128
  9332. * 0b10..256
  9333. * 0b11..512
  9334. */
  9335. #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)
  9336. #define CCM_ANALOG_MISC2_TOG_REG2_STEP_TIME_MASK (0x30000000U)
  9337. #define CCM_ANALOG_MISC2_TOG_REG2_STEP_TIME_SHIFT (28U)
  9338. /*! REG2_STEP_TIME
  9339. * 0b00..64
  9340. * 0b01..128
  9341. * 0b10..256
  9342. * 0b11..512
  9343. */
  9344. #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)
  9345. #define CCM_ANALOG_MISC2_TOG_VIDEO_DIV_MASK (0xC0000000U)
  9346. #define CCM_ANALOG_MISC2_TOG_VIDEO_DIV_SHIFT (30U)
  9347. /*! VIDEO_DIV
  9348. * 0b00..divide by 1 (Default)
  9349. * 0b01..divide by 2
  9350. * 0b10..divide by 1
  9351. * 0b11..divide by 4
  9352. */
  9353. #define CCM_ANALOG_MISC2_TOG_VIDEO_DIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_ANALOG_MISC2_TOG_VIDEO_DIV_SHIFT)) & CCM_ANALOG_MISC2_TOG_VIDEO_DIV_MASK)
  9354. /*! @} */
  9355. /*!
  9356. * @}
  9357. */ /* end of group CCM_ANALOG_Register_Masks */
  9358. /* CCM_ANALOG - Peripheral instance base addresses */
  9359. /** Peripheral CCM_ANALOG base address */
  9360. #define CCM_ANALOG_BASE (0x400D8000u)
  9361. /** Peripheral CCM_ANALOG base pointer */
  9362. #define CCM_ANALOG ((CCM_ANALOG_Type *)CCM_ANALOG_BASE)
  9363. /** Array initializer of CCM_ANALOG peripheral base addresses */
  9364. #define CCM_ANALOG_BASE_ADDRS { CCM_ANALOG_BASE }
  9365. /** Array initializer of CCM_ANALOG peripheral base pointers */
  9366. #define CCM_ANALOG_BASE_PTRS { CCM_ANALOG }
  9367. /*!
  9368. * @}
  9369. */ /* end of group CCM_ANALOG_Peripheral_Access_Layer */
  9370. /* ----------------------------------------------------------------------------
  9371. -- CMP Peripheral Access Layer
  9372. ---------------------------------------------------------------------------- */
  9373. /*!
  9374. * @addtogroup CMP_Peripheral_Access_Layer CMP Peripheral Access Layer
  9375. * @{
  9376. */
  9377. /** CMP - Register Layout Typedef */
  9378. typedef struct {
  9379. __IO uint8_t CR0; /**< CMP Control Register 0, offset: 0x0 */
  9380. __IO uint8_t CR1; /**< CMP Control Register 1, offset: 0x1 */
  9381. __IO uint8_t FPR; /**< CMP Filter Period Register, offset: 0x2 */
  9382. __IO uint8_t SCR; /**< CMP Status and Control Register, offset: 0x3 */
  9383. __IO uint8_t DACCR; /**< DAC Control Register, offset: 0x4 */
  9384. __IO uint8_t MUXCR; /**< MUX Control Register, offset: 0x5 */
  9385. } CMP_Type;
  9386. /* ----------------------------------------------------------------------------
  9387. -- CMP Register Masks
  9388. ---------------------------------------------------------------------------- */
  9389. /*!
  9390. * @addtogroup CMP_Register_Masks CMP Register Masks
  9391. * @{
  9392. */
  9393. /*! @name CR0 - CMP Control Register 0 */
  9394. /*! @{ */
  9395. #define CMP_CR0_HYSTCTR_MASK (0x3U)
  9396. #define CMP_CR0_HYSTCTR_SHIFT (0U)
  9397. /*! HYSTCTR - Comparator hard block hysteresis control
  9398. * 0b00..Level 0
  9399. * 0b01..Level 1
  9400. * 0b10..Level 2
  9401. * 0b11..Level 3
  9402. */
  9403. #define CMP_CR0_HYSTCTR(x) (((uint8_t)(((uint8_t)(x)) << CMP_CR0_HYSTCTR_SHIFT)) & CMP_CR0_HYSTCTR_MASK)
  9404. #define CMP_CR0_FILTER_CNT_MASK (0x70U)
  9405. #define CMP_CR0_FILTER_CNT_SHIFT (4U)
  9406. /*! FILTER_CNT - Filter Sample Count
  9407. * 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.
  9408. * 0b001..One sample must agree. The comparator output is simply sampled.
  9409. * 0b010..2 consecutive samples must agree.
  9410. * 0b011..3 consecutive samples must agree.
  9411. * 0b100..4 consecutive samples must agree.
  9412. * 0b101..5 consecutive samples must agree.
  9413. * 0b110..6 consecutive samples must agree.
  9414. * 0b111..7 consecutive samples must agree.
  9415. */
  9416. #define CMP_CR0_FILTER_CNT(x) (((uint8_t)(((uint8_t)(x)) << CMP_CR0_FILTER_CNT_SHIFT)) & CMP_CR0_FILTER_CNT_MASK)
  9417. /*! @} */
  9418. /*! @name CR1 - CMP Control Register 1 */
  9419. /*! @{ */
  9420. #define CMP_CR1_EN_MASK (0x1U)
  9421. #define CMP_CR1_EN_SHIFT (0U)
  9422. /*! EN - Comparator Module Enable
  9423. * 0b0..Analog Comparator is disabled.
  9424. * 0b1..Analog Comparator is enabled.
  9425. */
  9426. #define CMP_CR1_EN(x) (((uint8_t)(((uint8_t)(x)) << CMP_CR1_EN_SHIFT)) & CMP_CR1_EN_MASK)
  9427. #define CMP_CR1_OPE_MASK (0x2U)
  9428. #define CMP_CR1_OPE_SHIFT (1U)
  9429. /*! OPE - Comparator Output Pin Enable
  9430. * 0b0..CMPO is not available on the associated CMPO output pin. If the comparator does not own the pin, this field has no effect.
  9431. * 0b1..CMPO is available on the associated CMPO output pin. The comparator output (CMPO) is driven out on the
  9432. * associated CMPO output pin if the comparator owns the pin. If the comparator does not own the field, this
  9433. * bit has no effect.
  9434. */
  9435. #define CMP_CR1_OPE(x) (((uint8_t)(((uint8_t)(x)) << CMP_CR1_OPE_SHIFT)) & CMP_CR1_OPE_MASK)
  9436. #define CMP_CR1_COS_MASK (0x4U)
  9437. #define CMP_CR1_COS_SHIFT (2U)
  9438. /*! COS - Comparator Output Select
  9439. * 0b0..Set the filtered comparator output (CMPO) to equal COUT.
  9440. * 0b1..Set the unfiltered comparator output (CMPO) to equal COUTA.
  9441. */
  9442. #define CMP_CR1_COS(x) (((uint8_t)(((uint8_t)(x)) << CMP_CR1_COS_SHIFT)) & CMP_CR1_COS_MASK)
  9443. #define CMP_CR1_INV_MASK (0x8U)
  9444. #define CMP_CR1_INV_SHIFT (3U)
  9445. /*! INV - Comparator INVERT
  9446. * 0b0..Does not invert the comparator output.
  9447. * 0b1..Inverts the comparator output.
  9448. */
  9449. #define CMP_CR1_INV(x) (((uint8_t)(((uint8_t)(x)) << CMP_CR1_INV_SHIFT)) & CMP_CR1_INV_MASK)
  9450. #define CMP_CR1_PMODE_MASK (0x10U)
  9451. #define CMP_CR1_PMODE_SHIFT (4U)
  9452. /*! PMODE - Power Mode Select
  9453. * 0b0..Low-Speed (LS) Comparison mode selected. In this mode, CMP has slower output propagation delay and lower current consumption.
  9454. * 0b1..High-Speed (HS) Comparison mode selected. In this mode, CMP has faster output propagation delay and higher current consumption.
  9455. */
  9456. #define CMP_CR1_PMODE(x) (((uint8_t)(((uint8_t)(x)) << CMP_CR1_PMODE_SHIFT)) & CMP_CR1_PMODE_MASK)
  9457. #define CMP_CR1_WE_MASK (0x40U)
  9458. #define CMP_CR1_WE_SHIFT (6U)
  9459. /*! WE - Windowing Enable
  9460. * 0b0..Windowing mode is not selected.
  9461. * 0b1..Windowing mode is selected.
  9462. */
  9463. #define CMP_CR1_WE(x) (((uint8_t)(((uint8_t)(x)) << CMP_CR1_WE_SHIFT)) & CMP_CR1_WE_MASK)
  9464. #define CMP_CR1_SE_MASK (0x80U)
  9465. #define CMP_CR1_SE_SHIFT (7U)
  9466. /*! SE - Sample Enable
  9467. * 0b0..Sampling mode is not selected.
  9468. * 0b1..Sampling mode is selected.
  9469. */
  9470. #define CMP_CR1_SE(x) (((uint8_t)(((uint8_t)(x)) << CMP_CR1_SE_SHIFT)) & CMP_CR1_SE_MASK)
  9471. /*! @} */
  9472. /*! @name FPR - CMP Filter Period Register */
  9473. /*! @{ */
  9474. #define CMP_FPR_FILT_PER_MASK (0xFFU)
  9475. #define CMP_FPR_FILT_PER_SHIFT (0U)
  9476. /*! FILT_PER - Filter Sample Period
  9477. */
  9478. #define CMP_FPR_FILT_PER(x) (((uint8_t)(((uint8_t)(x)) << CMP_FPR_FILT_PER_SHIFT)) & CMP_FPR_FILT_PER_MASK)
  9479. /*! @} */
  9480. /*! @name SCR - CMP Status and Control Register */
  9481. /*! @{ */
  9482. #define CMP_SCR_COUT_MASK (0x1U)
  9483. #define CMP_SCR_COUT_SHIFT (0U)
  9484. /*! COUT - Analog Comparator Output
  9485. */
  9486. #define CMP_SCR_COUT(x) (((uint8_t)(((uint8_t)(x)) << CMP_SCR_COUT_SHIFT)) & CMP_SCR_COUT_MASK)
  9487. #define CMP_SCR_CFF_MASK (0x2U)
  9488. #define CMP_SCR_CFF_SHIFT (1U)
  9489. /*! CFF - Analog Comparator Flag Falling
  9490. * 0b0..Falling-edge on COUT has not been detected.
  9491. * 0b1..Falling-edge on COUT has occurred.
  9492. */
  9493. #define CMP_SCR_CFF(x) (((uint8_t)(((uint8_t)(x)) << CMP_SCR_CFF_SHIFT)) & CMP_SCR_CFF_MASK)
  9494. #define CMP_SCR_CFR_MASK (0x4U)
  9495. #define CMP_SCR_CFR_SHIFT (2U)
  9496. /*! CFR - Analog Comparator Flag Rising
  9497. * 0b0..Rising-edge on COUT has not been detected.
  9498. * 0b1..Rising-edge on COUT has occurred.
  9499. */
  9500. #define CMP_SCR_CFR(x) (((uint8_t)(((uint8_t)(x)) << CMP_SCR_CFR_SHIFT)) & CMP_SCR_CFR_MASK)
  9501. #define CMP_SCR_IEF_MASK (0x8U)
  9502. #define CMP_SCR_IEF_SHIFT (3U)
  9503. /*! IEF - Comparator Interrupt Enable Falling
  9504. * 0b0..Interrupt is disabled.
  9505. * 0b1..Interrupt is enabled.
  9506. */
  9507. #define CMP_SCR_IEF(x) (((uint8_t)(((uint8_t)(x)) << CMP_SCR_IEF_SHIFT)) & CMP_SCR_IEF_MASK)
  9508. #define CMP_SCR_IER_MASK (0x10U)
  9509. #define CMP_SCR_IER_SHIFT (4U)
  9510. /*! IER - Comparator Interrupt Enable Rising
  9511. * 0b0..Interrupt is disabled.
  9512. * 0b1..Interrupt is enabled.
  9513. */
  9514. #define CMP_SCR_IER(x) (((uint8_t)(((uint8_t)(x)) << CMP_SCR_IER_SHIFT)) & CMP_SCR_IER_MASK)
  9515. #define CMP_SCR_DMAEN_MASK (0x40U)
  9516. #define CMP_SCR_DMAEN_SHIFT (6U)
  9517. /*! DMAEN - DMA Enable Control
  9518. * 0b0..DMA is disabled.
  9519. * 0b1..DMA is enabled.
  9520. */
  9521. #define CMP_SCR_DMAEN(x) (((uint8_t)(((uint8_t)(x)) << CMP_SCR_DMAEN_SHIFT)) & CMP_SCR_DMAEN_MASK)
  9522. /*! @} */
  9523. /*! @name DACCR - DAC Control Register */
  9524. /*! @{ */
  9525. #define CMP_DACCR_VOSEL_MASK (0x3FU)
  9526. #define CMP_DACCR_VOSEL_SHIFT (0U)
  9527. /*! VOSEL - DAC Output Voltage Select
  9528. */
  9529. #define CMP_DACCR_VOSEL(x) (((uint8_t)(((uint8_t)(x)) << CMP_DACCR_VOSEL_SHIFT)) & CMP_DACCR_VOSEL_MASK)
  9530. #define CMP_DACCR_VRSEL_MASK (0x40U)
  9531. #define CMP_DACCR_VRSEL_SHIFT (6U)
  9532. /*! VRSEL - Supply Voltage Reference Source Select
  9533. * 0b0..Vin1 is selected as resistor ladder network supply reference.
  9534. * 0b1..Vin2 is selected as resistor ladder network supply reference.
  9535. */
  9536. #define CMP_DACCR_VRSEL(x) (((uint8_t)(((uint8_t)(x)) << CMP_DACCR_VRSEL_SHIFT)) & CMP_DACCR_VRSEL_MASK)
  9537. #define CMP_DACCR_DACEN_MASK (0x80U)
  9538. #define CMP_DACCR_DACEN_SHIFT (7U)
  9539. /*! DACEN - DAC Enable
  9540. * 0b0..DAC is disabled.
  9541. * 0b1..DAC is enabled.
  9542. */
  9543. #define CMP_DACCR_DACEN(x) (((uint8_t)(((uint8_t)(x)) << CMP_DACCR_DACEN_SHIFT)) & CMP_DACCR_DACEN_MASK)
  9544. /*! @} */
  9545. /*! @name MUXCR - MUX Control Register */
  9546. /*! @{ */
  9547. #define CMP_MUXCR_MSEL_MASK (0x7U)
  9548. #define CMP_MUXCR_MSEL_SHIFT (0U)
  9549. /*! MSEL - Minus Input Mux Control
  9550. * 0b000..IN0
  9551. * 0b001..IN1
  9552. * 0b010..IN2
  9553. * 0b011..IN3
  9554. * 0b100..IN4
  9555. * 0b101..IN5
  9556. * 0b110..IN6
  9557. * 0b111..IN7
  9558. */
  9559. #define CMP_MUXCR_MSEL(x) (((uint8_t)(((uint8_t)(x)) << CMP_MUXCR_MSEL_SHIFT)) & CMP_MUXCR_MSEL_MASK)
  9560. #define CMP_MUXCR_PSEL_MASK (0x38U)
  9561. #define CMP_MUXCR_PSEL_SHIFT (3U)
  9562. /*! PSEL - Plus Input Mux Control
  9563. * 0b000..IN0
  9564. * 0b001..IN1
  9565. * 0b010..IN2
  9566. * 0b011..IN3
  9567. * 0b100..IN4
  9568. * 0b101..IN5
  9569. * 0b110..IN6
  9570. * 0b111..IN7
  9571. */
  9572. #define CMP_MUXCR_PSEL(x) (((uint8_t)(((uint8_t)(x)) << CMP_MUXCR_PSEL_SHIFT)) & CMP_MUXCR_PSEL_MASK)
  9573. /*! @} */
  9574. /*!
  9575. * @}
  9576. */ /* end of group CMP_Register_Masks */
  9577. /* CMP - Peripheral instance base addresses */
  9578. /** Peripheral CMP1 base address */
  9579. #define CMP1_BASE (0x40094000u)
  9580. /** Peripheral CMP1 base pointer */
  9581. #define CMP1 ((CMP_Type *)CMP1_BASE)
  9582. /** Peripheral CMP2 base address */
  9583. #define CMP2_BASE (0x40094008u)
  9584. /** Peripheral CMP2 base pointer */
  9585. #define CMP2 ((CMP_Type *)CMP2_BASE)
  9586. /** Peripheral CMP3 base address */
  9587. #define CMP3_BASE (0x40094010u)
  9588. /** Peripheral CMP3 base pointer */
  9589. #define CMP3 ((CMP_Type *)CMP3_BASE)
  9590. /** Peripheral CMP4 base address */
  9591. #define CMP4_BASE (0x40094018u)
  9592. /** Peripheral CMP4 base pointer */
  9593. #define CMP4 ((CMP_Type *)CMP4_BASE)
  9594. /** Array initializer of CMP peripheral base addresses */
  9595. #define CMP_BASE_ADDRS { 0u, CMP1_BASE, CMP2_BASE, CMP3_BASE, CMP4_BASE }
  9596. /** Array initializer of CMP peripheral base pointers */
  9597. #define CMP_BASE_PTRS { (CMP_Type *)0u, CMP1, CMP2, CMP3, CMP4 }
  9598. /** Interrupt vectors for the CMP peripheral type */
  9599. #define CMP_IRQS { NotAvail_IRQn, ACMP1_IRQn, ACMP2_IRQn, ACMP3_IRQn, ACMP4_IRQn }
  9600. /*!
  9601. * @}
  9602. */ /* end of group CMP_Peripheral_Access_Layer */
  9603. /* ----------------------------------------------------------------------------
  9604. -- CSI Peripheral Access Layer
  9605. ---------------------------------------------------------------------------- */
  9606. /*!
  9607. * @addtogroup CSI_Peripheral_Access_Layer CSI Peripheral Access Layer
  9608. * @{
  9609. */
  9610. /** CSI - Register Layout Typedef */
  9611. typedef struct {
  9612. __IO uint32_t CSICR1; /**< CSI Control Register 1, offset: 0x0 */
  9613. __IO uint32_t CSICR2; /**< CSI Control Register 2, offset: 0x4 */
  9614. __IO uint32_t CSICR3; /**< CSI Control Register 3, offset: 0x8 */
  9615. __I uint32_t CSISTATFIFO; /**< CSI Statistic FIFO Register, offset: 0xC */
  9616. __I uint32_t CSIRFIFO; /**< CSI RX FIFO Register, offset: 0x10 */
  9617. __IO uint32_t CSIRXCNT; /**< CSI RX Count Register, offset: 0x14 */
  9618. __IO uint32_t CSISR; /**< CSI Status Register, offset: 0x18 */
  9619. uint8_t RESERVED_0[4];
  9620. __IO uint32_t CSIDMASA_STATFIFO; /**< CSI DMA Start Address Register - for STATFIFO, offset: 0x20 */
  9621. __IO uint32_t CSIDMATS_STATFIFO; /**< CSI DMA Transfer Size Register - for STATFIFO, offset: 0x24 */
  9622. __IO uint32_t CSIDMASA_FB1; /**< CSI DMA Start Address Register - for Frame Buffer1, offset: 0x28 */
  9623. __IO uint32_t CSIDMASA_FB2; /**< CSI DMA Transfer Size Register - for Frame Buffer2, offset: 0x2C */
  9624. __IO uint32_t CSIFBUF_PARA; /**< CSI Frame Buffer Parameter Register, offset: 0x30 */
  9625. __IO uint32_t CSIIMAG_PARA; /**< CSI Image Parameter Register, offset: 0x34 */
  9626. uint8_t RESERVED_1[16];
  9627. __IO uint32_t CSICR18; /**< CSI Control Register 18, offset: 0x48 */
  9628. __IO uint32_t CSICR19; /**< CSI Control Register 19, offset: 0x4C */
  9629. } CSI_Type;
  9630. /* ----------------------------------------------------------------------------
  9631. -- CSI Register Masks
  9632. ---------------------------------------------------------------------------- */
  9633. /*!
  9634. * @addtogroup CSI_Register_Masks CSI Register Masks
  9635. * @{
  9636. */
  9637. /*! @name CSICR1 - CSI Control Register 1 */
  9638. /*! @{ */
  9639. #define CSI_CSICR1_PIXEL_BIT_MASK (0x1U)
  9640. #define CSI_CSICR1_PIXEL_BIT_SHIFT (0U)
  9641. /*! PIXEL_BIT
  9642. * 0b0..8-bit data for each pixel
  9643. * 0b1..10-bit data for each pixel
  9644. */
  9645. #define CSI_CSICR1_PIXEL_BIT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_PIXEL_BIT_SHIFT)) & CSI_CSICR1_PIXEL_BIT_MASK)
  9646. #define CSI_CSICR1_REDGE_MASK (0x2U)
  9647. #define CSI_CSICR1_REDGE_SHIFT (1U)
  9648. /*! REDGE
  9649. * 0b0..Pixel data is latched at the falling edge of CSI_PIXCLK
  9650. * 0b1..Pixel data is latched at the rising edge of CSI_PIXCLK
  9651. */
  9652. #define CSI_CSICR1_REDGE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_REDGE_SHIFT)) & CSI_CSICR1_REDGE_MASK)
  9653. #define CSI_CSICR1_INV_PCLK_MASK (0x4U)
  9654. #define CSI_CSICR1_INV_PCLK_SHIFT (2U)
  9655. /*! INV_PCLK
  9656. * 0b0..CSI_PIXCLK is directly applied to internal circuitry
  9657. * 0b1..CSI_PIXCLK is inverted before applied to internal circuitry
  9658. */
  9659. #define CSI_CSICR1_INV_PCLK(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_INV_PCLK_SHIFT)) & CSI_CSICR1_INV_PCLK_MASK)
  9660. #define CSI_CSICR1_INV_DATA_MASK (0x8U)
  9661. #define CSI_CSICR1_INV_DATA_SHIFT (3U)
  9662. /*! INV_DATA
  9663. * 0b0..CSI_D[7:0] data lines are directly applied to internal circuitry
  9664. * 0b1..CSI_D[7:0] data lines are inverted before applied to internal circuitry
  9665. */
  9666. #define CSI_CSICR1_INV_DATA(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_INV_DATA_SHIFT)) & CSI_CSICR1_INV_DATA_MASK)
  9667. #define CSI_CSICR1_GCLK_MODE_MASK (0x10U)
  9668. #define CSI_CSICR1_GCLK_MODE_SHIFT (4U)
  9669. /*! GCLK_MODE
  9670. * 0b0..Non-gated clock mode. All incoming pixel clocks are valid. HSYNC is ignored.
  9671. * 0b1..Gated clock mode. Pixel clock signal is valid only when HSYNC is active.
  9672. */
  9673. #define CSI_CSICR1_GCLK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_GCLK_MODE_SHIFT)) & CSI_CSICR1_GCLK_MODE_MASK)
  9674. #define CSI_CSICR1_CLR_RXFIFO_MASK (0x20U)
  9675. #define CSI_CSICR1_CLR_RXFIFO_SHIFT (5U)
  9676. #define CSI_CSICR1_CLR_RXFIFO(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_CLR_RXFIFO_SHIFT)) & CSI_CSICR1_CLR_RXFIFO_MASK)
  9677. #define CSI_CSICR1_CLR_STATFIFO_MASK (0x40U)
  9678. #define CSI_CSICR1_CLR_STATFIFO_SHIFT (6U)
  9679. #define CSI_CSICR1_CLR_STATFIFO(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_CLR_STATFIFO_SHIFT)) & CSI_CSICR1_CLR_STATFIFO_MASK)
  9680. #define CSI_CSICR1_PACK_DIR_MASK (0x80U)
  9681. #define CSI_CSICR1_PACK_DIR_SHIFT (7U)
  9682. /*! PACK_DIR
  9683. * 0b0..Pack from LSB first. For image data, 0x11, 0x22, 0x33, 0x44, it will appear as 0x44332211 in RX FIFO. For
  9684. * stat data, 0xAAAA, 0xBBBB, it will appear as 0xBBBBAAAA in STAT FIFO.
  9685. * 0b1..Pack from MSB first. For image data, 0x11, 0x22, 0x33, 0x44, it will appear as 0x11223344 in RX FIFO. For
  9686. * stat data, 0xAAAA, 0xBBBB, it will appear as 0xAAAABBBB in STAT FIFO.
  9687. */
  9688. #define CSI_CSICR1_PACK_DIR(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_PACK_DIR_SHIFT)) & CSI_CSICR1_PACK_DIR_MASK)
  9689. #define CSI_CSICR1_FCC_MASK (0x100U)
  9690. #define CSI_CSICR1_FCC_SHIFT (8U)
  9691. /*! FCC
  9692. * 0b0..Asynchronous FIFO clear is selected.
  9693. * 0b1..Synchronous FIFO clear is selected.
  9694. */
  9695. #define CSI_CSICR1_FCC(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_FCC_SHIFT)) & CSI_CSICR1_FCC_MASK)
  9696. #define CSI_CSICR1_CCIR_EN_MASK (0x400U)
  9697. #define CSI_CSICR1_CCIR_EN_SHIFT (10U)
  9698. /*! CCIR_EN
  9699. * 0b0..Traditional interface is selected. Timing interface logic is used to latch data.
  9700. * 0b1..CCIR656 interface is selected.
  9701. */
  9702. #define CSI_CSICR1_CCIR_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_CCIR_EN_SHIFT)) & CSI_CSICR1_CCIR_EN_MASK)
  9703. #define CSI_CSICR1_HSYNC_POL_MASK (0x800U)
  9704. #define CSI_CSICR1_HSYNC_POL_SHIFT (11U)
  9705. /*! HSYNC_POL
  9706. * 0b0..HSYNC is active low
  9707. * 0b1..HSYNC is active high
  9708. */
  9709. #define CSI_CSICR1_HSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_HSYNC_POL_SHIFT)) & CSI_CSICR1_HSYNC_POL_MASK)
  9710. #define CSI_CSICR1_SOF_INTEN_MASK (0x10000U)
  9711. #define CSI_CSICR1_SOF_INTEN_SHIFT (16U)
  9712. /*! SOF_INTEN
  9713. * 0b0..SOF interrupt disable
  9714. * 0b1..SOF interrupt enable
  9715. */
  9716. #define CSI_CSICR1_SOF_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_SOF_INTEN_SHIFT)) & CSI_CSICR1_SOF_INTEN_MASK)
  9717. #define CSI_CSICR1_SOF_POL_MASK (0x20000U)
  9718. #define CSI_CSICR1_SOF_POL_SHIFT (17U)
  9719. /*! SOF_POL
  9720. * 0b0..SOF interrupt is generated on SOF falling edge
  9721. * 0b1..SOF interrupt is generated on SOF rising edge
  9722. */
  9723. #define CSI_CSICR1_SOF_POL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_SOF_POL_SHIFT)) & CSI_CSICR1_SOF_POL_MASK)
  9724. #define CSI_CSICR1_RXFF_INTEN_MASK (0x40000U)
  9725. #define CSI_CSICR1_RXFF_INTEN_SHIFT (18U)
  9726. /*! RXFF_INTEN
  9727. * 0b0..RxFIFO full interrupt disable
  9728. * 0b1..RxFIFO full interrupt enable
  9729. */
  9730. #define CSI_CSICR1_RXFF_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_RXFF_INTEN_SHIFT)) & CSI_CSICR1_RXFF_INTEN_MASK)
  9731. #define CSI_CSICR1_FB1_DMA_DONE_INTEN_MASK (0x80000U)
  9732. #define CSI_CSICR1_FB1_DMA_DONE_INTEN_SHIFT (19U)
  9733. /*! FB1_DMA_DONE_INTEN
  9734. * 0b0..Frame Buffer1 DMA Transfer Done interrupt disable
  9735. * 0b1..Frame Buffer1 DMA Transfer Done interrupt enable
  9736. */
  9737. #define CSI_CSICR1_FB1_DMA_DONE_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_FB1_DMA_DONE_INTEN_SHIFT)) & CSI_CSICR1_FB1_DMA_DONE_INTEN_MASK)
  9738. #define CSI_CSICR1_FB2_DMA_DONE_INTEN_MASK (0x100000U)
  9739. #define CSI_CSICR1_FB2_DMA_DONE_INTEN_SHIFT (20U)
  9740. /*! FB2_DMA_DONE_INTEN
  9741. * 0b0..Frame Buffer2 DMA Transfer Done interrupt disable
  9742. * 0b1..Frame Buffer2 DMA Transfer Done interrupt enable
  9743. */
  9744. #define CSI_CSICR1_FB2_DMA_DONE_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_FB2_DMA_DONE_INTEN_SHIFT)) & CSI_CSICR1_FB2_DMA_DONE_INTEN_MASK)
  9745. #define CSI_CSICR1_STATFF_INTEN_MASK (0x200000U)
  9746. #define CSI_CSICR1_STATFF_INTEN_SHIFT (21U)
  9747. /*! STATFF_INTEN
  9748. * 0b0..STATFIFO full interrupt disable
  9749. * 0b1..STATFIFO full interrupt enable
  9750. */
  9751. #define CSI_CSICR1_STATFF_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_STATFF_INTEN_SHIFT)) & CSI_CSICR1_STATFF_INTEN_MASK)
  9752. #define CSI_CSICR1_SFF_DMA_DONE_INTEN_MASK (0x400000U)
  9753. #define CSI_CSICR1_SFF_DMA_DONE_INTEN_SHIFT (22U)
  9754. /*! SFF_DMA_DONE_INTEN
  9755. * 0b0..STATFIFO DMA Transfer Done interrupt disable
  9756. * 0b1..STATFIFO DMA Transfer Done interrupt enable
  9757. */
  9758. #define CSI_CSICR1_SFF_DMA_DONE_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_SFF_DMA_DONE_INTEN_SHIFT)) & CSI_CSICR1_SFF_DMA_DONE_INTEN_MASK)
  9759. #define CSI_CSICR1_RF_OR_INTEN_MASK (0x1000000U)
  9760. #define CSI_CSICR1_RF_OR_INTEN_SHIFT (24U)
  9761. /*! RF_OR_INTEN
  9762. * 0b0..RxFIFO overrun interrupt is disabled
  9763. * 0b1..RxFIFO overrun interrupt is enabled
  9764. */
  9765. #define CSI_CSICR1_RF_OR_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_RF_OR_INTEN_SHIFT)) & CSI_CSICR1_RF_OR_INTEN_MASK)
  9766. #define CSI_CSICR1_SF_OR_INTEN_MASK (0x2000000U)
  9767. #define CSI_CSICR1_SF_OR_INTEN_SHIFT (25U)
  9768. /*! SF_OR_INTEN
  9769. * 0b0..STATFIFO overrun interrupt is disabled
  9770. * 0b1..STATFIFO overrun interrupt is enabled
  9771. */
  9772. #define CSI_CSICR1_SF_OR_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_SF_OR_INTEN_SHIFT)) & CSI_CSICR1_SF_OR_INTEN_MASK)
  9773. #define CSI_CSICR1_COF_INT_EN_MASK (0x4000000U)
  9774. #define CSI_CSICR1_COF_INT_EN_SHIFT (26U)
  9775. /*! COF_INT_EN
  9776. * 0b0..COF interrupt is disabled
  9777. * 0b1..COF interrupt is enabled
  9778. */
  9779. #define CSI_CSICR1_COF_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_COF_INT_EN_SHIFT)) & CSI_CSICR1_COF_INT_EN_MASK)
  9780. #define CSI_CSICR1_CCIR_MODE_MASK (0x8000000U)
  9781. #define CSI_CSICR1_CCIR_MODE_SHIFT (27U)
  9782. /*! CCIR_MODE
  9783. * 0b0..Progressive mode is selected
  9784. * 0b1..Interlace mode is selected
  9785. */
  9786. #define CSI_CSICR1_CCIR_MODE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_CCIR_MODE_SHIFT)) & CSI_CSICR1_CCIR_MODE_MASK)
  9787. #define CSI_CSICR1_PrP_IF_EN_MASK (0x10000000U)
  9788. #define CSI_CSICR1_PrP_IF_EN_SHIFT (28U)
  9789. /*! PrP_IF_EN
  9790. * 0b0..CSI to PrP bus is disabled
  9791. * 0b1..CSI to PrP bus is enabled
  9792. */
  9793. #define CSI_CSICR1_PrP_IF_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_PrP_IF_EN_SHIFT)) & CSI_CSICR1_PrP_IF_EN_MASK)
  9794. #define CSI_CSICR1_EOF_INT_EN_MASK (0x20000000U)
  9795. #define CSI_CSICR1_EOF_INT_EN_SHIFT (29U)
  9796. /*! EOF_INT_EN
  9797. * 0b0..EOF interrupt is disabled.
  9798. * 0b1..EOF interrupt is generated when RX count value is reached.
  9799. */
  9800. #define CSI_CSICR1_EOF_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_EOF_INT_EN_SHIFT)) & CSI_CSICR1_EOF_INT_EN_MASK)
  9801. #define CSI_CSICR1_EXT_VSYNC_MASK (0x40000000U)
  9802. #define CSI_CSICR1_EXT_VSYNC_SHIFT (30U)
  9803. /*! EXT_VSYNC
  9804. * 0b0..Internal VSYNC mode
  9805. * 0b1..External VSYNC mode
  9806. */
  9807. #define CSI_CSICR1_EXT_VSYNC(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_EXT_VSYNC_SHIFT)) & CSI_CSICR1_EXT_VSYNC_MASK)
  9808. #define CSI_CSICR1_SWAP16_EN_MASK (0x80000000U)
  9809. #define CSI_CSICR1_SWAP16_EN_SHIFT (31U)
  9810. /*! SWAP16_EN
  9811. * 0b0..Disable swapping
  9812. * 0b1..Enable swapping
  9813. */
  9814. #define CSI_CSICR1_SWAP16_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR1_SWAP16_EN_SHIFT)) & CSI_CSICR1_SWAP16_EN_MASK)
  9815. /*! @} */
  9816. /*! @name CSICR2 - CSI Control Register 2 */
  9817. /*! @{ */
  9818. #define CSI_CSICR2_HSC_MASK (0xFFU)
  9819. #define CSI_CSICR2_HSC_SHIFT (0U)
  9820. #define CSI_CSICR2_HSC(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR2_HSC_SHIFT)) & CSI_CSICR2_HSC_MASK)
  9821. #define CSI_CSICR2_VSC_MASK (0xFF00U)
  9822. #define CSI_CSICR2_VSC_SHIFT (8U)
  9823. #define CSI_CSICR2_VSC(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR2_VSC_SHIFT)) & CSI_CSICR2_VSC_MASK)
  9824. #define CSI_CSICR2_LVRM_MASK (0x70000U)
  9825. #define CSI_CSICR2_LVRM_SHIFT (16U)
  9826. /*! LVRM
  9827. * 0b000..512 x 384
  9828. * 0b001..448 x 336
  9829. * 0b010..384 x 288
  9830. * 0b011..384 x 256
  9831. * 0b100..320 x 240
  9832. * 0b101..288 x 216
  9833. * 0b110..400 x 300
  9834. */
  9835. #define CSI_CSICR2_LVRM(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR2_LVRM_SHIFT)) & CSI_CSICR2_LVRM_MASK)
  9836. #define CSI_CSICR2_BTS_MASK (0x180000U)
  9837. #define CSI_CSICR2_BTS_SHIFT (19U)
  9838. /*! BTS
  9839. * 0b00..GR
  9840. * 0b01..RG
  9841. * 0b10..BG
  9842. * 0b11..GB
  9843. */
  9844. #define CSI_CSICR2_BTS(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR2_BTS_SHIFT)) & CSI_CSICR2_BTS_MASK)
  9845. #define CSI_CSICR2_SCE_MASK (0x800000U)
  9846. #define CSI_CSICR2_SCE_SHIFT (23U)
  9847. /*! SCE
  9848. * 0b0..Skip count disable
  9849. * 0b1..Skip count enable
  9850. */
  9851. #define CSI_CSICR2_SCE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR2_SCE_SHIFT)) & CSI_CSICR2_SCE_MASK)
  9852. #define CSI_CSICR2_AFS_MASK (0x3000000U)
  9853. #define CSI_CSICR2_AFS_SHIFT (24U)
  9854. /*! AFS
  9855. * 0b00..Abs Diff on consecutive green pixels
  9856. * 0b01..Abs Diff on every third green pixels
  9857. * 0b1x..Abs Diff on every four green pixels
  9858. */
  9859. #define CSI_CSICR2_AFS(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR2_AFS_SHIFT)) & CSI_CSICR2_AFS_MASK)
  9860. #define CSI_CSICR2_DRM_MASK (0x4000000U)
  9861. #define CSI_CSICR2_DRM_SHIFT (26U)
  9862. /*! DRM
  9863. * 0b0..Stats grid of 8 x 6
  9864. * 0b1..Stats grid of 8 x 12
  9865. */
  9866. #define CSI_CSICR2_DRM(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR2_DRM_SHIFT)) & CSI_CSICR2_DRM_MASK)
  9867. #define CSI_CSICR2_DMA_BURST_TYPE_SFF_MASK (0x30000000U)
  9868. #define CSI_CSICR2_DMA_BURST_TYPE_SFF_SHIFT (28U)
  9869. /*! DMA_BURST_TYPE_SFF
  9870. * 0bx0..INCR8
  9871. * 0b01..INCR4
  9872. * 0b11..INCR16
  9873. */
  9874. #define CSI_CSICR2_DMA_BURST_TYPE_SFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR2_DMA_BURST_TYPE_SFF_SHIFT)) & CSI_CSICR2_DMA_BURST_TYPE_SFF_MASK)
  9875. #define CSI_CSICR2_DMA_BURST_TYPE_RFF_MASK (0xC0000000U)
  9876. #define CSI_CSICR2_DMA_BURST_TYPE_RFF_SHIFT (30U)
  9877. /*! DMA_BURST_TYPE_RFF
  9878. * 0bx0..INCR8
  9879. * 0b01..INCR4
  9880. * 0b11..INCR16
  9881. */
  9882. #define CSI_CSICR2_DMA_BURST_TYPE_RFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR2_DMA_BURST_TYPE_RFF_SHIFT)) & CSI_CSICR2_DMA_BURST_TYPE_RFF_MASK)
  9883. /*! @} */
  9884. /*! @name CSICR3 - CSI Control Register 3 */
  9885. /*! @{ */
  9886. #define CSI_CSICR3_ECC_AUTO_EN_MASK (0x1U)
  9887. #define CSI_CSICR3_ECC_AUTO_EN_SHIFT (0U)
  9888. /*! ECC_AUTO_EN
  9889. * 0b0..Auto Error correction is disabled.
  9890. * 0b1..Auto Error correction is enabled.
  9891. */
  9892. #define CSI_CSICR3_ECC_AUTO_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR3_ECC_AUTO_EN_SHIFT)) & CSI_CSICR3_ECC_AUTO_EN_MASK)
  9893. #define CSI_CSICR3_ECC_INT_EN_MASK (0x2U)
  9894. #define CSI_CSICR3_ECC_INT_EN_SHIFT (1U)
  9895. /*! ECC_INT_EN
  9896. * 0b0..No interrupt is generated when error is detected. Only the status bit ECC_INT is set.
  9897. * 0b1..Interrupt is generated when error is detected.
  9898. */
  9899. #define CSI_CSICR3_ECC_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR3_ECC_INT_EN_SHIFT)) & CSI_CSICR3_ECC_INT_EN_MASK)
  9900. #define CSI_CSICR3_ZERO_PACK_EN_MASK (0x4U)
  9901. #define CSI_CSICR3_ZERO_PACK_EN_SHIFT (2U)
  9902. /*! ZERO_PACK_EN
  9903. * 0b0..Zero packing disabled
  9904. * 0b1..Zero packing enabled
  9905. */
  9906. #define CSI_CSICR3_ZERO_PACK_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR3_ZERO_PACK_EN_SHIFT)) & CSI_CSICR3_ZERO_PACK_EN_MASK)
  9907. #define CSI_CSICR3_TWO_8BIT_SENSOR_MASK (0x8U)
  9908. #define CSI_CSICR3_TWO_8BIT_SENSOR_SHIFT (3U)
  9909. /*! TWO_8BIT_SENSOR
  9910. * 0b0..Only one sensor is connected.
  9911. * 0b1..Two 8-bit sensors are connected or one 16-bit sensor is connected.
  9912. */
  9913. #define CSI_CSICR3_TWO_8BIT_SENSOR(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR3_TWO_8BIT_SENSOR_SHIFT)) & CSI_CSICR3_TWO_8BIT_SENSOR_MASK)
  9914. #define CSI_CSICR3_RxFF_LEVEL_MASK (0x70U)
  9915. #define CSI_CSICR3_RxFF_LEVEL_SHIFT (4U)
  9916. /*! RxFF_LEVEL
  9917. * 0b000..4 Double words
  9918. * 0b001..8 Double words
  9919. * 0b010..16 Double words
  9920. * 0b011..24 Double words
  9921. * 0b100..32 Double words
  9922. * 0b101..48 Double words
  9923. * 0b110..64 Double words
  9924. * 0b111..96 Double words
  9925. */
  9926. #define CSI_CSICR3_RxFF_LEVEL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR3_RxFF_LEVEL_SHIFT)) & CSI_CSICR3_RxFF_LEVEL_MASK)
  9927. #define CSI_CSICR3_HRESP_ERR_EN_MASK (0x80U)
  9928. #define CSI_CSICR3_HRESP_ERR_EN_SHIFT (7U)
  9929. /*! HRESP_ERR_EN
  9930. * 0b0..Disable hresponse error interrupt
  9931. * 0b1..Enable hresponse error interrupt
  9932. */
  9933. #define CSI_CSICR3_HRESP_ERR_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR3_HRESP_ERR_EN_SHIFT)) & CSI_CSICR3_HRESP_ERR_EN_MASK)
  9934. #define CSI_CSICR3_STATFF_LEVEL_MASK (0x700U)
  9935. #define CSI_CSICR3_STATFF_LEVEL_SHIFT (8U)
  9936. /*! STATFF_LEVEL
  9937. * 0b000..4 Double words
  9938. * 0b001..8 Double words
  9939. * 0b010..12 Double words
  9940. * 0b011..16 Double words
  9941. * 0b100..24 Double words
  9942. * 0b101..32 Double words
  9943. * 0b110..48 Double words
  9944. * 0b111..64 Double words
  9945. */
  9946. #define CSI_CSICR3_STATFF_LEVEL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR3_STATFF_LEVEL_SHIFT)) & CSI_CSICR3_STATFF_LEVEL_MASK)
  9947. #define CSI_CSICR3_DMA_REQ_EN_SFF_MASK (0x800U)
  9948. #define CSI_CSICR3_DMA_REQ_EN_SFF_SHIFT (11U)
  9949. /*! DMA_REQ_EN_SFF
  9950. * 0b0..Disable the dma request
  9951. * 0b1..Enable the dma request
  9952. */
  9953. #define CSI_CSICR3_DMA_REQ_EN_SFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR3_DMA_REQ_EN_SFF_SHIFT)) & CSI_CSICR3_DMA_REQ_EN_SFF_MASK)
  9954. #define CSI_CSICR3_DMA_REQ_EN_RFF_MASK (0x1000U)
  9955. #define CSI_CSICR3_DMA_REQ_EN_RFF_SHIFT (12U)
  9956. /*! DMA_REQ_EN_RFF
  9957. * 0b0..Disable the dma request
  9958. * 0b1..Enable the dma request
  9959. */
  9960. #define CSI_CSICR3_DMA_REQ_EN_RFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR3_DMA_REQ_EN_RFF_SHIFT)) & CSI_CSICR3_DMA_REQ_EN_RFF_MASK)
  9961. #define CSI_CSICR3_DMA_REFLASH_SFF_MASK (0x2000U)
  9962. #define CSI_CSICR3_DMA_REFLASH_SFF_SHIFT (13U)
  9963. /*! DMA_REFLASH_SFF
  9964. * 0b0..No reflashing
  9965. * 0b1..Reflash the embedded DMA controller
  9966. */
  9967. #define CSI_CSICR3_DMA_REFLASH_SFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR3_DMA_REFLASH_SFF_SHIFT)) & CSI_CSICR3_DMA_REFLASH_SFF_MASK)
  9968. #define CSI_CSICR3_DMA_REFLASH_RFF_MASK (0x4000U)
  9969. #define CSI_CSICR3_DMA_REFLASH_RFF_SHIFT (14U)
  9970. /*! DMA_REFLASH_RFF
  9971. * 0b0..No reflashing
  9972. * 0b1..Reflash the embedded DMA controller
  9973. */
  9974. #define CSI_CSICR3_DMA_REFLASH_RFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR3_DMA_REFLASH_RFF_SHIFT)) & CSI_CSICR3_DMA_REFLASH_RFF_MASK)
  9975. #define CSI_CSICR3_FRMCNT_RST_MASK (0x8000U)
  9976. #define CSI_CSICR3_FRMCNT_RST_SHIFT (15U)
  9977. /*! FRMCNT_RST
  9978. * 0b0..Do not reset
  9979. * 0b1..Reset frame counter immediately
  9980. */
  9981. #define CSI_CSICR3_FRMCNT_RST(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR3_FRMCNT_RST_SHIFT)) & CSI_CSICR3_FRMCNT_RST_MASK)
  9982. #define CSI_CSICR3_FRMCNT_MASK (0xFFFF0000U)
  9983. #define CSI_CSICR3_FRMCNT_SHIFT (16U)
  9984. #define CSI_CSICR3_FRMCNT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR3_FRMCNT_SHIFT)) & CSI_CSICR3_FRMCNT_MASK)
  9985. /*! @} */
  9986. /*! @name CSISTATFIFO - CSI Statistic FIFO Register */
  9987. /*! @{ */
  9988. #define CSI_CSISTATFIFO_STAT_MASK (0xFFFFFFFFU)
  9989. #define CSI_CSISTATFIFO_STAT_SHIFT (0U)
  9990. #define CSI_CSISTATFIFO_STAT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSISTATFIFO_STAT_SHIFT)) & CSI_CSISTATFIFO_STAT_MASK)
  9991. /*! @} */
  9992. /*! @name CSIRFIFO - CSI RX FIFO Register */
  9993. /*! @{ */
  9994. #define CSI_CSIRFIFO_IMAGE_MASK (0xFFFFFFFFU)
  9995. #define CSI_CSIRFIFO_IMAGE_SHIFT (0U)
  9996. #define CSI_CSIRFIFO_IMAGE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSIRFIFO_IMAGE_SHIFT)) & CSI_CSIRFIFO_IMAGE_MASK)
  9997. /*! @} */
  9998. /*! @name CSIRXCNT - CSI RX Count Register */
  9999. /*! @{ */
  10000. #define CSI_CSIRXCNT_RXCNT_MASK (0x3FFFFFU)
  10001. #define CSI_CSIRXCNT_RXCNT_SHIFT (0U)
  10002. #define CSI_CSIRXCNT_RXCNT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSIRXCNT_RXCNT_SHIFT)) & CSI_CSIRXCNT_RXCNT_MASK)
  10003. /*! @} */
  10004. /*! @name CSISR - CSI Status Register */
  10005. /*! @{ */
  10006. #define CSI_CSISR_DRDY_MASK (0x1U)
  10007. #define CSI_CSISR_DRDY_SHIFT (0U)
  10008. /*! DRDY
  10009. * 0b0..No data (word) is ready
  10010. * 0b1..At least 1 datum (word) is ready in RXFIFO.
  10011. */
  10012. #define CSI_CSISR_DRDY(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSISR_DRDY_SHIFT)) & CSI_CSISR_DRDY_MASK)
  10013. #define CSI_CSISR_ECC_INT_MASK (0x2U)
  10014. #define CSI_CSISR_ECC_INT_SHIFT (1U)
  10015. /*! ECC_INT
  10016. * 0b0..No error detected
  10017. * 0b1..Error is detected in CCIR coding
  10018. */
  10019. #define CSI_CSISR_ECC_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSISR_ECC_INT_SHIFT)) & CSI_CSISR_ECC_INT_MASK)
  10020. #define CSI_CSISR_HRESP_ERR_INT_MASK (0x80U)
  10021. #define CSI_CSISR_HRESP_ERR_INT_SHIFT (7U)
  10022. /*! HRESP_ERR_INT
  10023. * 0b0..No hresponse error.
  10024. * 0b1..Hresponse error is detected.
  10025. */
  10026. #define CSI_CSISR_HRESP_ERR_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSISR_HRESP_ERR_INT_SHIFT)) & CSI_CSISR_HRESP_ERR_INT_MASK)
  10027. #define CSI_CSISR_COF_INT_MASK (0x2000U)
  10028. #define CSI_CSISR_COF_INT_SHIFT (13U)
  10029. /*! COF_INT
  10030. * 0b0..Video field has no change.
  10031. * 0b1..Change of video field is detected.
  10032. */
  10033. #define CSI_CSISR_COF_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSISR_COF_INT_SHIFT)) & CSI_CSISR_COF_INT_MASK)
  10034. #define CSI_CSISR_F1_INT_MASK (0x4000U)
  10035. #define CSI_CSISR_F1_INT_SHIFT (14U)
  10036. /*! F1_INT
  10037. * 0b0..Field 1 of video is not detected.
  10038. * 0b1..Field 1 of video is about to start.
  10039. */
  10040. #define CSI_CSISR_F1_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSISR_F1_INT_SHIFT)) & CSI_CSISR_F1_INT_MASK)
  10041. #define CSI_CSISR_F2_INT_MASK (0x8000U)
  10042. #define CSI_CSISR_F2_INT_SHIFT (15U)
  10043. /*! F2_INT
  10044. * 0b0..Field 2 of video is not detected
  10045. * 0b1..Field 2 of video is about to start
  10046. */
  10047. #define CSI_CSISR_F2_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSISR_F2_INT_SHIFT)) & CSI_CSISR_F2_INT_MASK)
  10048. #define CSI_CSISR_SOF_INT_MASK (0x10000U)
  10049. #define CSI_CSISR_SOF_INT_SHIFT (16U)
  10050. /*! SOF_INT
  10051. * 0b0..SOF is not detected.
  10052. * 0b1..SOF is detected.
  10053. */
  10054. #define CSI_CSISR_SOF_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSISR_SOF_INT_SHIFT)) & CSI_CSISR_SOF_INT_MASK)
  10055. #define CSI_CSISR_EOF_INT_MASK (0x20000U)
  10056. #define CSI_CSISR_EOF_INT_SHIFT (17U)
  10057. /*! EOF_INT
  10058. * 0b0..EOF is not detected.
  10059. * 0b1..EOF is detected.
  10060. */
  10061. #define CSI_CSISR_EOF_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSISR_EOF_INT_SHIFT)) & CSI_CSISR_EOF_INT_MASK)
  10062. #define CSI_CSISR_RxFF_INT_MASK (0x40000U)
  10063. #define CSI_CSISR_RxFF_INT_SHIFT (18U)
  10064. /*! RxFF_INT
  10065. * 0b0..RxFIFO is not full.
  10066. * 0b1..RxFIFO is full.
  10067. */
  10068. #define CSI_CSISR_RxFF_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSISR_RxFF_INT_SHIFT)) & CSI_CSISR_RxFF_INT_MASK)
  10069. #define CSI_CSISR_DMA_TSF_DONE_FB1_MASK (0x80000U)
  10070. #define CSI_CSISR_DMA_TSF_DONE_FB1_SHIFT (19U)
  10071. /*! DMA_TSF_DONE_FB1
  10072. * 0b0..DMA transfer is not completed.
  10073. * 0b1..DMA transfer is completed.
  10074. */
  10075. #define CSI_CSISR_DMA_TSF_DONE_FB1(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSISR_DMA_TSF_DONE_FB1_SHIFT)) & CSI_CSISR_DMA_TSF_DONE_FB1_MASK)
  10076. #define CSI_CSISR_DMA_TSF_DONE_FB2_MASK (0x100000U)
  10077. #define CSI_CSISR_DMA_TSF_DONE_FB2_SHIFT (20U)
  10078. /*! DMA_TSF_DONE_FB2
  10079. * 0b0..DMA transfer is not completed.
  10080. * 0b1..DMA transfer is completed.
  10081. */
  10082. #define CSI_CSISR_DMA_TSF_DONE_FB2(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSISR_DMA_TSF_DONE_FB2_SHIFT)) & CSI_CSISR_DMA_TSF_DONE_FB2_MASK)
  10083. #define CSI_CSISR_STATFF_INT_MASK (0x200000U)
  10084. #define CSI_CSISR_STATFF_INT_SHIFT (21U)
  10085. /*! STATFF_INT
  10086. * 0b0..STATFIFO is not full.
  10087. * 0b1..STATFIFO is full.
  10088. */
  10089. #define CSI_CSISR_STATFF_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSISR_STATFF_INT_SHIFT)) & CSI_CSISR_STATFF_INT_MASK)
  10090. #define CSI_CSISR_DMA_TSF_DONE_SFF_MASK (0x400000U)
  10091. #define CSI_CSISR_DMA_TSF_DONE_SFF_SHIFT (22U)
  10092. /*! DMA_TSF_DONE_SFF
  10093. * 0b0..DMA transfer is not completed.
  10094. * 0b1..DMA transfer is completed.
  10095. */
  10096. #define CSI_CSISR_DMA_TSF_DONE_SFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSISR_DMA_TSF_DONE_SFF_SHIFT)) & CSI_CSISR_DMA_TSF_DONE_SFF_MASK)
  10097. #define CSI_CSISR_RF_OR_INT_MASK (0x1000000U)
  10098. #define CSI_CSISR_RF_OR_INT_SHIFT (24U)
  10099. /*! RF_OR_INT
  10100. * 0b0..RXFIFO has not overflowed.
  10101. * 0b1..RXFIFO has overflowed.
  10102. */
  10103. #define CSI_CSISR_RF_OR_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSISR_RF_OR_INT_SHIFT)) & CSI_CSISR_RF_OR_INT_MASK)
  10104. #define CSI_CSISR_SF_OR_INT_MASK (0x2000000U)
  10105. #define CSI_CSISR_SF_OR_INT_SHIFT (25U)
  10106. /*! SF_OR_INT
  10107. * 0b0..STATFIFO has not overflowed.
  10108. * 0b1..STATFIFO has overflowed.
  10109. */
  10110. #define CSI_CSISR_SF_OR_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSISR_SF_OR_INT_SHIFT)) & CSI_CSISR_SF_OR_INT_MASK)
  10111. #define CSI_CSISR_DMA_FIELD1_DONE_MASK (0x4000000U)
  10112. #define CSI_CSISR_DMA_FIELD1_DONE_SHIFT (26U)
  10113. #define CSI_CSISR_DMA_FIELD1_DONE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSISR_DMA_FIELD1_DONE_SHIFT)) & CSI_CSISR_DMA_FIELD1_DONE_MASK)
  10114. #define CSI_CSISR_DMA_FIELD0_DONE_MASK (0x8000000U)
  10115. #define CSI_CSISR_DMA_FIELD0_DONE_SHIFT (27U)
  10116. #define CSI_CSISR_DMA_FIELD0_DONE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSISR_DMA_FIELD0_DONE_SHIFT)) & CSI_CSISR_DMA_FIELD0_DONE_MASK)
  10117. #define CSI_CSISR_BASEADDR_CHHANGE_ERROR_MASK (0x10000000U)
  10118. #define CSI_CSISR_BASEADDR_CHHANGE_ERROR_SHIFT (28U)
  10119. #define CSI_CSISR_BASEADDR_CHHANGE_ERROR(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSISR_BASEADDR_CHHANGE_ERROR_SHIFT)) & CSI_CSISR_BASEADDR_CHHANGE_ERROR_MASK)
  10120. /*! @} */
  10121. /*! @name CSIDMASA_STATFIFO - CSI DMA Start Address Register - for STATFIFO */
  10122. /*! @{ */
  10123. #define CSI_CSIDMASA_STATFIFO_DMA_START_ADDR_SFF_MASK (0xFFFFFFFCU)
  10124. #define CSI_CSIDMASA_STATFIFO_DMA_START_ADDR_SFF_SHIFT (2U)
  10125. #define CSI_CSIDMASA_STATFIFO_DMA_START_ADDR_SFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSIDMASA_STATFIFO_DMA_START_ADDR_SFF_SHIFT)) & CSI_CSIDMASA_STATFIFO_DMA_START_ADDR_SFF_MASK)
  10126. /*! @} */
  10127. /*! @name CSIDMATS_STATFIFO - CSI DMA Transfer Size Register - for STATFIFO */
  10128. /*! @{ */
  10129. #define CSI_CSIDMATS_STATFIFO_DMA_TSF_SIZE_SFF_MASK (0xFFFFFFFFU)
  10130. #define CSI_CSIDMATS_STATFIFO_DMA_TSF_SIZE_SFF_SHIFT (0U)
  10131. #define CSI_CSIDMATS_STATFIFO_DMA_TSF_SIZE_SFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSIDMATS_STATFIFO_DMA_TSF_SIZE_SFF_SHIFT)) & CSI_CSIDMATS_STATFIFO_DMA_TSF_SIZE_SFF_MASK)
  10132. /*! @} */
  10133. /*! @name CSIDMASA_FB1 - CSI DMA Start Address Register - for Frame Buffer1 */
  10134. /*! @{ */
  10135. #define CSI_CSIDMASA_FB1_DMA_START_ADDR_FB1_MASK (0xFFFFFFFCU)
  10136. #define CSI_CSIDMASA_FB1_DMA_START_ADDR_FB1_SHIFT (2U)
  10137. #define CSI_CSIDMASA_FB1_DMA_START_ADDR_FB1(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSIDMASA_FB1_DMA_START_ADDR_FB1_SHIFT)) & CSI_CSIDMASA_FB1_DMA_START_ADDR_FB1_MASK)
  10138. /*! @} */
  10139. /*! @name CSIDMASA_FB2 - CSI DMA Transfer Size Register - for Frame Buffer2 */
  10140. /*! @{ */
  10141. #define CSI_CSIDMASA_FB2_DMA_START_ADDR_FB2_MASK (0xFFFFFFFCU)
  10142. #define CSI_CSIDMASA_FB2_DMA_START_ADDR_FB2_SHIFT (2U)
  10143. #define CSI_CSIDMASA_FB2_DMA_START_ADDR_FB2(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSIDMASA_FB2_DMA_START_ADDR_FB2_SHIFT)) & CSI_CSIDMASA_FB2_DMA_START_ADDR_FB2_MASK)
  10144. /*! @} */
  10145. /*! @name CSIFBUF_PARA - CSI Frame Buffer Parameter Register */
  10146. /*! @{ */
  10147. #define CSI_CSIFBUF_PARA_FBUF_STRIDE_MASK (0xFFFFU)
  10148. #define CSI_CSIFBUF_PARA_FBUF_STRIDE_SHIFT (0U)
  10149. #define CSI_CSIFBUF_PARA_FBUF_STRIDE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSIFBUF_PARA_FBUF_STRIDE_SHIFT)) & CSI_CSIFBUF_PARA_FBUF_STRIDE_MASK)
  10150. #define CSI_CSIFBUF_PARA_DEINTERLACE_STRIDE_MASK (0xFFFF0000U)
  10151. #define CSI_CSIFBUF_PARA_DEINTERLACE_STRIDE_SHIFT (16U)
  10152. #define CSI_CSIFBUF_PARA_DEINTERLACE_STRIDE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSIFBUF_PARA_DEINTERLACE_STRIDE_SHIFT)) & CSI_CSIFBUF_PARA_DEINTERLACE_STRIDE_MASK)
  10153. /*! @} */
  10154. /*! @name CSIIMAG_PARA - CSI Image Parameter Register */
  10155. /*! @{ */
  10156. #define CSI_CSIIMAG_PARA_IMAGE_HEIGHT_MASK (0xFFFFU)
  10157. #define CSI_CSIIMAG_PARA_IMAGE_HEIGHT_SHIFT (0U)
  10158. #define CSI_CSIIMAG_PARA_IMAGE_HEIGHT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSIIMAG_PARA_IMAGE_HEIGHT_SHIFT)) & CSI_CSIIMAG_PARA_IMAGE_HEIGHT_MASK)
  10159. #define CSI_CSIIMAG_PARA_IMAGE_WIDTH_MASK (0xFFFF0000U)
  10160. #define CSI_CSIIMAG_PARA_IMAGE_WIDTH_SHIFT (16U)
  10161. #define CSI_CSIIMAG_PARA_IMAGE_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSIIMAG_PARA_IMAGE_WIDTH_SHIFT)) & CSI_CSIIMAG_PARA_IMAGE_WIDTH_MASK)
  10162. /*! @} */
  10163. /*! @name CSICR18 - CSI Control Register 18 */
  10164. /*! @{ */
  10165. #define CSI_CSICR18_DEINTERLACE_EN_MASK (0x4U)
  10166. #define CSI_CSICR18_DEINTERLACE_EN_SHIFT (2U)
  10167. /*! DEINTERLACE_EN
  10168. * 0b0..Deinterlace disabled
  10169. * 0b1..Deinterlace enabled
  10170. */
  10171. #define CSI_CSICR18_DEINTERLACE_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR18_DEINTERLACE_EN_SHIFT)) & CSI_CSICR18_DEINTERLACE_EN_MASK)
  10172. #define CSI_CSICR18_PARALLEL24_EN_MASK (0x8U)
  10173. #define CSI_CSICR18_PARALLEL24_EN_SHIFT (3U)
  10174. #define CSI_CSICR18_PARALLEL24_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR18_PARALLEL24_EN_SHIFT)) & CSI_CSICR18_PARALLEL24_EN_MASK)
  10175. #define CSI_CSICR18_BASEADDR_SWITCH_EN_MASK (0x10U)
  10176. #define CSI_CSICR18_BASEADDR_SWITCH_EN_SHIFT (4U)
  10177. #define CSI_CSICR18_BASEADDR_SWITCH_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR18_BASEADDR_SWITCH_EN_SHIFT)) & CSI_CSICR18_BASEADDR_SWITCH_EN_MASK)
  10178. #define CSI_CSICR18_BASEADDR_SWITCH_SEL_MASK (0x20U)
  10179. #define CSI_CSICR18_BASEADDR_SWITCH_SEL_SHIFT (5U)
  10180. /*! BASEADDR_SWITCH_SEL
  10181. * 0b0..Switching base address at the edge of the vsync
  10182. * 0b1..Switching base address at the edge of the first data of each frame
  10183. */
  10184. #define CSI_CSICR18_BASEADDR_SWITCH_SEL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR18_BASEADDR_SWITCH_SEL_SHIFT)) & CSI_CSICR18_BASEADDR_SWITCH_SEL_MASK)
  10185. #define CSI_CSICR18_FIELD0_DONE_IE_MASK (0x40U)
  10186. #define CSI_CSICR18_FIELD0_DONE_IE_SHIFT (6U)
  10187. /*! FIELD0_DONE_IE
  10188. * 0b0..Interrupt disabled
  10189. * 0b1..Interrupt enabled
  10190. */
  10191. #define CSI_CSICR18_FIELD0_DONE_IE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR18_FIELD0_DONE_IE_SHIFT)) & CSI_CSICR18_FIELD0_DONE_IE_MASK)
  10192. #define CSI_CSICR18_DMA_FIELD1_DONE_IE_MASK (0x80U)
  10193. #define CSI_CSICR18_DMA_FIELD1_DONE_IE_SHIFT (7U)
  10194. /*! DMA_FIELD1_DONE_IE
  10195. * 0b0..Interrupt disabled
  10196. * 0b1..Interrupt enabled
  10197. */
  10198. #define CSI_CSICR18_DMA_FIELD1_DONE_IE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR18_DMA_FIELD1_DONE_IE_SHIFT)) & CSI_CSICR18_DMA_FIELD1_DONE_IE_MASK)
  10199. #define CSI_CSICR18_LAST_DMA_REQ_SEL_MASK (0x100U)
  10200. #define CSI_CSICR18_LAST_DMA_REQ_SEL_SHIFT (8U)
  10201. /*! LAST_DMA_REQ_SEL
  10202. * 0b0..fifo_full_level
  10203. * 0b1..hburst_length
  10204. */
  10205. #define CSI_CSICR18_LAST_DMA_REQ_SEL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR18_LAST_DMA_REQ_SEL_SHIFT)) & CSI_CSICR18_LAST_DMA_REQ_SEL_MASK)
  10206. #define CSI_CSICR18_BASEADDR_CHANGE_ERROR_IE_MASK (0x200U)
  10207. #define CSI_CSICR18_BASEADDR_CHANGE_ERROR_IE_SHIFT (9U)
  10208. #define CSI_CSICR18_BASEADDR_CHANGE_ERROR_IE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR18_BASEADDR_CHANGE_ERROR_IE_SHIFT)) & CSI_CSICR18_BASEADDR_CHANGE_ERROR_IE_MASK)
  10209. #define CSI_CSICR18_RGB888A_FORMAT_SEL_MASK (0x400U)
  10210. #define CSI_CSICR18_RGB888A_FORMAT_SEL_SHIFT (10U)
  10211. /*! RGB888A_FORMAT_SEL
  10212. * 0b0..{8'h0, data[23:0]}
  10213. * 0b1..{data[23:0], 8'h0}
  10214. */
  10215. #define CSI_CSICR18_RGB888A_FORMAT_SEL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR18_RGB888A_FORMAT_SEL_SHIFT)) & CSI_CSICR18_RGB888A_FORMAT_SEL_MASK)
  10216. #define CSI_CSICR18_AHB_HPROT_MASK (0xF000U)
  10217. #define CSI_CSICR18_AHB_HPROT_SHIFT (12U)
  10218. #define CSI_CSICR18_AHB_HPROT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR18_AHB_HPROT_SHIFT)) & CSI_CSICR18_AHB_HPROT_MASK)
  10219. #define CSI_CSICR18_MASK_OPTION_MASK (0xC0000U)
  10220. #define CSI_CSICR18_MASK_OPTION_SHIFT (18U)
  10221. /*! MASK_OPTION
  10222. * 0b00..Writing to memory from first completely frame, when using this option, the CSI_ENABLE should be 1.
  10223. * 0b01..Writing to memory when CSI_ENABLE is 1.
  10224. * 0b10..Writing to memory from second completely frame, when using this option, the CSI_ENABLE should be 1.
  10225. * 0b11..Writing to memory when data comes in, not matter the CSI_ENABLE is 1 or 0.
  10226. */
  10227. #define CSI_CSICR18_MASK_OPTION(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR18_MASK_OPTION_SHIFT)) & CSI_CSICR18_MASK_OPTION_MASK)
  10228. #define CSI_CSICR18_CSI_ENABLE_MASK (0x80000000U)
  10229. #define CSI_CSICR18_CSI_ENABLE_SHIFT (31U)
  10230. #define CSI_CSICR18_CSI_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR18_CSI_ENABLE_SHIFT)) & CSI_CSICR18_CSI_ENABLE_MASK)
  10231. /*! @} */
  10232. /*! @name CSICR19 - CSI Control Register 19 */
  10233. /*! @{ */
  10234. #define CSI_CSICR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL_MASK (0xFFU)
  10235. #define CSI_CSICR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL_SHIFT (0U)
  10236. #define CSI_CSICR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CSICR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL_SHIFT)) & CSI_CSICR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL_MASK)
  10237. /*! @} */
  10238. /*!
  10239. * @}
  10240. */ /* end of group CSI_Register_Masks */
  10241. /* CSI - Peripheral instance base addresses */
  10242. /** Peripheral CSI base address */
  10243. #define CSI_BASE (0x402BC000u)
  10244. /** Peripheral CSI base pointer */
  10245. #define CSI ((CSI_Type *)CSI_BASE)
  10246. /** Array initializer of CSI peripheral base addresses */
  10247. #define CSI_BASE_ADDRS { CSI_BASE }
  10248. /** Array initializer of CSI peripheral base pointers */
  10249. #define CSI_BASE_PTRS { CSI }
  10250. /** Interrupt vectors for the CSI peripheral type */
  10251. #define CSI_IRQS { CSI_IRQn }
  10252. /*!
  10253. * @}
  10254. */ /* end of group CSI_Peripheral_Access_Layer */
  10255. /* ----------------------------------------------------------------------------
  10256. -- CSU Peripheral Access Layer
  10257. ---------------------------------------------------------------------------- */
  10258. /*!
  10259. * @addtogroup CSU_Peripheral_Access_Layer CSU Peripheral Access Layer
  10260. * @{
  10261. */
  10262. /** CSU - Register Layout Typedef */
  10263. typedef struct {
  10264. __IO uint32_t CSL[32]; /**< Config security level register, array offset: 0x0, array step: 0x4 */
  10265. uint8_t RESERVED_0[384];
  10266. __IO uint32_t HP0; /**< HP0 register, offset: 0x200 */
  10267. uint8_t RESERVED_1[20];
  10268. __IO uint32_t SA; /**< Secure access register, offset: 0x218 */
  10269. uint8_t RESERVED_2[316];
  10270. __IO uint32_t HPCONTROL0; /**< HPCONTROL0 register, offset: 0x358 */
  10271. } CSU_Type;
  10272. /* ----------------------------------------------------------------------------
  10273. -- CSU Register Masks
  10274. ---------------------------------------------------------------------------- */
  10275. /*!
  10276. * @addtogroup CSU_Register_Masks CSU Register Masks
  10277. * @{
  10278. */
  10279. /*! @name CSL - Config security level register */
  10280. /*! @{ */
  10281. #define CSU_CSL_SUR_S2_MASK (0x1U)
  10282. #define CSU_CSL_SUR_S2_SHIFT (0U)
  10283. /*! SUR_S2
  10284. * 0b0..The secure user read access is disabled for the second slave.
  10285. * 0b1..The secure user read access is enabled for the second slave.
  10286. */
  10287. #define CSU_CSL_SUR_S2(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_SUR_S2_SHIFT)) & CSU_CSL_SUR_S2_MASK)
  10288. #define CSU_CSL_SSR_S2_MASK (0x2U)
  10289. #define CSU_CSL_SSR_S2_SHIFT (1U)
  10290. /*! SSR_S2
  10291. * 0b0..The secure supervisor read access is disabled for the second slave.
  10292. * 0b1..The secure supervisor read access is enabled for the second slave.
  10293. */
  10294. #define CSU_CSL_SSR_S2(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_SSR_S2_SHIFT)) & CSU_CSL_SSR_S2_MASK)
  10295. #define CSU_CSL_NUR_S2_MASK (0x4U)
  10296. #define CSU_CSL_NUR_S2_SHIFT (2U)
  10297. /*! NUR_S2
  10298. * 0b0..The non-secure user read access is disabled for the second slave.
  10299. * 0b1..The non-secure user read access is enabled for the second slave.
  10300. */
  10301. #define CSU_CSL_NUR_S2(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_NUR_S2_SHIFT)) & CSU_CSL_NUR_S2_MASK)
  10302. #define CSU_CSL_NSR_S2_MASK (0x8U)
  10303. #define CSU_CSL_NSR_S2_SHIFT (3U)
  10304. /*! NSR_S2
  10305. * 0b0..The non-secure supervisor read access is disabled for the second slave.
  10306. * 0b1..The non-secure supervisor read access is enabled for the second slave.
  10307. */
  10308. #define CSU_CSL_NSR_S2(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_NSR_S2_SHIFT)) & CSU_CSL_NSR_S2_MASK)
  10309. #define CSU_CSL_SUW_S2_MASK (0x10U)
  10310. #define CSU_CSL_SUW_S2_SHIFT (4U)
  10311. /*! SUW_S2
  10312. * 0b0..The secure user write access is disabled for the second slave.
  10313. * 0b1..The secure user write access is enabled for the second slave.
  10314. */
  10315. #define CSU_CSL_SUW_S2(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_SUW_S2_SHIFT)) & CSU_CSL_SUW_S2_MASK)
  10316. #define CSU_CSL_SSW_S2_MASK (0x20U)
  10317. #define CSU_CSL_SSW_S2_SHIFT (5U)
  10318. /*! SSW_S2
  10319. * 0b0..The secure supervisor write access is disabled for the second slave.
  10320. * 0b1..The secure supervisor write access is enabled for the second slave.
  10321. */
  10322. #define CSU_CSL_SSW_S2(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_SSW_S2_SHIFT)) & CSU_CSL_SSW_S2_MASK)
  10323. #define CSU_CSL_NUW_S2_MASK (0x40U)
  10324. #define CSU_CSL_NUW_S2_SHIFT (6U)
  10325. /*! NUW_S2
  10326. * 0b0..The non-secure user write access is disabled for the second slave.
  10327. * 0b1..The non-secure user write access is enabled for the second slave.
  10328. */
  10329. #define CSU_CSL_NUW_S2(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_NUW_S2_SHIFT)) & CSU_CSL_NUW_S2_MASK)
  10330. #define CSU_CSL_NSW_S2_MASK (0x80U)
  10331. #define CSU_CSL_NSW_S2_SHIFT (7U)
  10332. /*! NSW_S2
  10333. * 0b0..The non-secure supervisor write access is disabled for the second slave.
  10334. * 0b1..The non-secure supervisor write access is enabled for the second slave.
  10335. */
  10336. #define CSU_CSL_NSW_S2(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_NSW_S2_SHIFT)) & CSU_CSL_NSW_S2_MASK)
  10337. #define CSU_CSL_LOCK_S2_MASK (0x100U)
  10338. #define CSU_CSL_LOCK_S2_SHIFT (8U)
  10339. /*! LOCK_S2
  10340. * 0b0..Not locked. Bits 7-0 can be written by the software.
  10341. * 0b1..Bits 7-0 are locked and cannot be written by the software
  10342. */
  10343. #define CSU_CSL_LOCK_S2(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_LOCK_S2_SHIFT)) & CSU_CSL_LOCK_S2_MASK)
  10344. #define CSU_CSL_SUR_S1_MASK (0x10000U)
  10345. #define CSU_CSL_SUR_S1_SHIFT (16U)
  10346. /*! SUR_S1
  10347. * 0b0..The secure user read access is disabled for the first slave.
  10348. * 0b1..The secure user read access is enabled for the first slave.
  10349. */
  10350. #define CSU_CSL_SUR_S1(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_SUR_S1_SHIFT)) & CSU_CSL_SUR_S1_MASK)
  10351. #define CSU_CSL_SSR_S1_MASK (0x20000U)
  10352. #define CSU_CSL_SSR_S1_SHIFT (17U)
  10353. /*! SSR_S1
  10354. * 0b0..The secure supervisor read access is disabled for the first slave.
  10355. * 0b1..The secure supervisor read access is enabled for the first slave.
  10356. */
  10357. #define CSU_CSL_SSR_S1(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_SSR_S1_SHIFT)) & CSU_CSL_SSR_S1_MASK)
  10358. #define CSU_CSL_NUR_S1_MASK (0x40000U)
  10359. #define CSU_CSL_NUR_S1_SHIFT (18U)
  10360. /*! NUR_S1
  10361. * 0b0..The non-secure user read access is disabled for the first slave.
  10362. * 0b1..The non-secure user read access is enabled for the first slave.
  10363. */
  10364. #define CSU_CSL_NUR_S1(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_NUR_S1_SHIFT)) & CSU_CSL_NUR_S1_MASK)
  10365. #define CSU_CSL_NSR_S1_MASK (0x80000U)
  10366. #define CSU_CSL_NSR_S1_SHIFT (19U)
  10367. /*! NSR_S1
  10368. * 0b0..The non-secure supervisor read access is disabled for the first slave.
  10369. * 0b1..The non-secure supervisor read access is enabled for the first slave.
  10370. */
  10371. #define CSU_CSL_NSR_S1(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_NSR_S1_SHIFT)) & CSU_CSL_NSR_S1_MASK)
  10372. #define CSU_CSL_SUW_S1_MASK (0x100000U)
  10373. #define CSU_CSL_SUW_S1_SHIFT (20U)
  10374. /*! SUW_S1
  10375. * 0b0..The secure user write access is disabled for the first slave.
  10376. * 0b1..The secure user write access is enabled for the first slave.
  10377. */
  10378. #define CSU_CSL_SUW_S1(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_SUW_S1_SHIFT)) & CSU_CSL_SUW_S1_MASK)
  10379. #define CSU_CSL_SSW_S1_MASK (0x200000U)
  10380. #define CSU_CSL_SSW_S1_SHIFT (21U)
  10381. /*! SSW_S1
  10382. * 0b0..The secure supervisor write access is disabled for the first slave.
  10383. * 0b1..The secure supervisor write access is enabled for the first slave.
  10384. */
  10385. #define CSU_CSL_SSW_S1(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_SSW_S1_SHIFT)) & CSU_CSL_SSW_S1_MASK)
  10386. #define CSU_CSL_NUW_S1_MASK (0x400000U)
  10387. #define CSU_CSL_NUW_S1_SHIFT (22U)
  10388. /*! NUW_S1
  10389. * 0b0..The non-secure user write access is disabled for the first slave.
  10390. * 0b1..The non-secure user write access is enabled for the first slave.
  10391. */
  10392. #define CSU_CSL_NUW_S1(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_NUW_S1_SHIFT)) & CSU_CSL_NUW_S1_MASK)
  10393. #define CSU_CSL_NSW_S1_MASK (0x800000U)
  10394. #define CSU_CSL_NSW_S1_SHIFT (23U)
  10395. /*! NSW_S1
  10396. * 0b0..The non-secure supervisor write access is disabled for the first slave.
  10397. * 0b1..The non-secure supervisor write access is enabled for the first slave
  10398. */
  10399. #define CSU_CSL_NSW_S1(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_NSW_S1_SHIFT)) & CSU_CSL_NSW_S1_MASK)
  10400. #define CSU_CSL_LOCK_S1_MASK (0x1000000U)
  10401. #define CSU_CSL_LOCK_S1_SHIFT (24U)
  10402. /*! LOCK_S1
  10403. * 0b0..Not locked. The bits 16-23 can be written by the software.
  10404. * 0b1..The bits 16-23 are locked and can't be written by the software.
  10405. */
  10406. #define CSU_CSL_LOCK_S1(x) (((uint32_t)(((uint32_t)(x)) << CSU_CSL_LOCK_S1_SHIFT)) & CSU_CSL_LOCK_S1_MASK)
  10407. /*! @} */
  10408. /* The count of CSU_CSL */
  10409. #define CSU_CSL_COUNT (32U)
  10410. /*! @name HP0 - HP0 register */
  10411. /*! @{ */
  10412. #define CSU_HP0_HP_DMA_MASK (0x4U)
  10413. #define CSU_HP0_HP_DMA_SHIFT (2U)
  10414. /*! HP_DMA
  10415. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  10416. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  10417. */
  10418. #define CSU_HP0_HP_DMA(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_DMA_SHIFT)) & CSU_HP0_HP_DMA_MASK)
  10419. #define CSU_HP0_L_DMA_MASK (0x8U)
  10420. #define CSU_HP0_L_DMA_SHIFT (3U)
  10421. /*! L_DMA
  10422. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10423. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10424. */
  10425. #define CSU_HP0_L_DMA(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_DMA_SHIFT)) & CSU_HP0_L_DMA_MASK)
  10426. #define CSU_HP0_HP_LCDIF_MASK (0x10U)
  10427. #define CSU_HP0_HP_LCDIF_SHIFT (4U)
  10428. /*! HP_LCDIF
  10429. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  10430. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  10431. */
  10432. #define CSU_HP0_HP_LCDIF(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_LCDIF_SHIFT)) & CSU_HP0_HP_LCDIF_MASK)
  10433. #define CSU_HP0_L_LCDIF_MASK (0x20U)
  10434. #define CSU_HP0_L_LCDIF_SHIFT (5U)
  10435. /*! L_LCDIF
  10436. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10437. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10438. */
  10439. #define CSU_HP0_L_LCDIF(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_LCDIF_SHIFT)) & CSU_HP0_L_LCDIF_MASK)
  10440. #define CSU_HP0_HP_CSI_MASK (0x40U)
  10441. #define CSU_HP0_HP_CSI_SHIFT (6U)
  10442. /*! HP_CSI
  10443. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  10444. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  10445. */
  10446. #define CSU_HP0_HP_CSI(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_CSI_SHIFT)) & CSU_HP0_HP_CSI_MASK)
  10447. #define CSU_HP0_L_CSI_MASK (0x80U)
  10448. #define CSU_HP0_L_CSI_SHIFT (7U)
  10449. /*! L_CSI
  10450. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10451. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10452. */
  10453. #define CSU_HP0_L_CSI(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_CSI_SHIFT)) & CSU_HP0_L_CSI_MASK)
  10454. #define CSU_HP0_HP_PXP_MASK (0x100U)
  10455. #define CSU_HP0_HP_PXP_SHIFT (8U)
  10456. /*! HP_PXP
  10457. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  10458. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  10459. */
  10460. #define CSU_HP0_HP_PXP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_PXP_SHIFT)) & CSU_HP0_HP_PXP_MASK)
  10461. #define CSU_HP0_L_PXP_MASK (0x200U)
  10462. #define CSU_HP0_L_PXP_SHIFT (9U)
  10463. /*! L_PXP
  10464. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10465. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10466. */
  10467. #define CSU_HP0_L_PXP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_PXP_SHIFT)) & CSU_HP0_L_PXP_MASK)
  10468. #define CSU_HP0_HP_DCP_MASK (0x400U)
  10469. #define CSU_HP0_HP_DCP_SHIFT (10U)
  10470. /*! HP_DCP
  10471. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  10472. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  10473. */
  10474. #define CSU_HP0_HP_DCP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_DCP_SHIFT)) & CSU_HP0_HP_DCP_MASK)
  10475. #define CSU_HP0_L_DCP_MASK (0x800U)
  10476. #define CSU_HP0_L_DCP_SHIFT (11U)
  10477. /*! L_DCP
  10478. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10479. * 0b1..Lock-the adjacent (next lower) bit cannot be written by the software.
  10480. */
  10481. #define CSU_HP0_L_DCP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_DCP_SHIFT)) & CSU_HP0_L_DCP_MASK)
  10482. #define CSU_HP0_HP_ENET_MASK (0x4000U)
  10483. #define CSU_HP0_HP_ENET_SHIFT (14U)
  10484. /*! HP_ENET
  10485. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  10486. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  10487. */
  10488. #define CSU_HP0_HP_ENET(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_ENET_SHIFT)) & CSU_HP0_HP_ENET_MASK)
  10489. #define CSU_HP0_L_ENET_MASK (0x8000U)
  10490. #define CSU_HP0_L_ENET_SHIFT (15U)
  10491. /*! L_ENET
  10492. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10493. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10494. */
  10495. #define CSU_HP0_L_ENET(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_ENET_SHIFT)) & CSU_HP0_L_ENET_MASK)
  10496. #define CSU_HP0_HP_USDHC1_MASK (0x10000U)
  10497. #define CSU_HP0_HP_USDHC1_SHIFT (16U)
  10498. /*! HP_USDHC1
  10499. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  10500. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  10501. */
  10502. #define CSU_HP0_HP_USDHC1(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_USDHC1_SHIFT)) & CSU_HP0_HP_USDHC1_MASK)
  10503. #define CSU_HP0_L_USDHC1_MASK (0x20000U)
  10504. #define CSU_HP0_L_USDHC1_SHIFT (17U)
  10505. /*! L_USDHC1
  10506. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10507. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10508. */
  10509. #define CSU_HP0_L_USDHC1(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_USDHC1_SHIFT)) & CSU_HP0_L_USDHC1_MASK)
  10510. #define CSU_HP0_HP_USDHC2_MASK (0x40000U)
  10511. #define CSU_HP0_HP_USDHC2_SHIFT (18U)
  10512. /*! HP_USDHC2
  10513. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  10514. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  10515. */
  10516. #define CSU_HP0_HP_USDHC2(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_USDHC2_SHIFT)) & CSU_HP0_HP_USDHC2_MASK)
  10517. #define CSU_HP0_L_USDHC2_MASK (0x80000U)
  10518. #define CSU_HP0_L_USDHC2_SHIFT (19U)
  10519. /*! L_USDHC2
  10520. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10521. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10522. */
  10523. #define CSU_HP0_L_USDHC2(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_USDHC2_SHIFT)) & CSU_HP0_L_USDHC2_MASK)
  10524. #define CSU_HP0_HP_TPSMP_MASK (0x100000U)
  10525. #define CSU_HP0_HP_TPSMP_SHIFT (20U)
  10526. /*! HP_TPSMP
  10527. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  10528. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  10529. */
  10530. #define CSU_HP0_HP_TPSMP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_TPSMP_SHIFT)) & CSU_HP0_HP_TPSMP_MASK)
  10531. #define CSU_HP0_L_TPSMP_MASK (0x200000U)
  10532. #define CSU_HP0_L_TPSMP_SHIFT (21U)
  10533. /*! L_TPSMP
  10534. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10535. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10536. */
  10537. #define CSU_HP0_L_TPSMP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_TPSMP_SHIFT)) & CSU_HP0_L_TPSMP_MASK)
  10538. #define CSU_HP0_HP_USB_MASK (0x400000U)
  10539. #define CSU_HP0_HP_USB_SHIFT (22U)
  10540. /*! HP_USB
  10541. * 0b0..The hprot1 input signal value is routed to the csu_hprot1 output for the corresponding master.
  10542. * 0b1..The HP register bit is routed to the csu_hprot1 output for the corresponding master.
  10543. */
  10544. #define CSU_HP0_HP_USB(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_HP_USB_SHIFT)) & CSU_HP0_HP_USB_MASK)
  10545. #define CSU_HP0_L_USB_MASK (0x800000U)
  10546. #define CSU_HP0_L_USB_SHIFT (23U)
  10547. /*! L_USB
  10548. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10549. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10550. */
  10551. #define CSU_HP0_L_USB(x) (((uint32_t)(((uint32_t)(x)) << CSU_HP0_L_USB_SHIFT)) & CSU_HP0_L_USB_MASK)
  10552. /*! @} */
  10553. /*! @name SA - Secure access register */
  10554. /*! @{ */
  10555. #define CSU_SA_NSA_DMA_MASK (0x4U)
  10556. #define CSU_SA_NSA_DMA_SHIFT (2U)
  10557. /*! NSA_DMA - Non-secure access policy indicator bit
  10558. * 0b0..Secure access for the corresponding type-1 master
  10559. * 0b1..Non-secure access for the corresponding type-1 master
  10560. */
  10561. #define CSU_SA_NSA_DMA(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_DMA_SHIFT)) & CSU_SA_NSA_DMA_MASK)
  10562. #define CSU_SA_L_DMA_MASK (0x8U)
  10563. #define CSU_SA_L_DMA_SHIFT (3U)
  10564. /*! L_DMA
  10565. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10566. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10567. */
  10568. #define CSU_SA_L_DMA(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_DMA_SHIFT)) & CSU_SA_L_DMA_MASK)
  10569. #define CSU_SA_NSA_LCDIF_MASK (0x10U)
  10570. #define CSU_SA_NSA_LCDIF_SHIFT (4U)
  10571. /*! NSA_LCDIF - Non-secure access policy indicator bit
  10572. * 0b0..Secure access for the corresponding type-1 master
  10573. * 0b1..Non-secure access for the corresponding type-1 master
  10574. */
  10575. #define CSU_SA_NSA_LCDIF(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_LCDIF_SHIFT)) & CSU_SA_NSA_LCDIF_MASK)
  10576. #define CSU_SA_L_LCDIF_MASK (0x20U)
  10577. #define CSU_SA_L_LCDIF_SHIFT (5U)
  10578. /*! L_LCDIF
  10579. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10580. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10581. */
  10582. #define CSU_SA_L_LCDIF(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_LCDIF_SHIFT)) & CSU_SA_L_LCDIF_MASK)
  10583. #define CSU_SA_NSA_CSI_MASK (0x40U)
  10584. #define CSU_SA_NSA_CSI_SHIFT (6U)
  10585. /*! NSA_CSI - Non-secure access policy indicator bit
  10586. * 0b0..Secure access for the corresponding type-1 master
  10587. * 0b1..Non-secure access for the corresponding type-1 master
  10588. */
  10589. #define CSU_SA_NSA_CSI(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_CSI_SHIFT)) & CSU_SA_NSA_CSI_MASK)
  10590. #define CSU_SA_L_CSI_MASK (0x80U)
  10591. #define CSU_SA_L_CSI_SHIFT (7U)
  10592. /*! L_CSI
  10593. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10594. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10595. */
  10596. #define CSU_SA_L_CSI(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_CSI_SHIFT)) & CSU_SA_L_CSI_MASK)
  10597. #define CSU_SA_NSA_PXP_MASK (0x100U)
  10598. #define CSU_SA_NSA_PXP_SHIFT (8U)
  10599. /*! NSA_PXP - Non-Secure Access Policy indicator bit
  10600. * 0b0..Secure access for the corresponding type-1 master
  10601. * 0b1..Non-secure access for the corresponding type-1 master
  10602. */
  10603. #define CSU_SA_NSA_PXP(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_PXP_SHIFT)) & CSU_SA_NSA_PXP_MASK)
  10604. #define CSU_SA_L_PXP_MASK (0x200U)
  10605. #define CSU_SA_L_PXP_SHIFT (9U)
  10606. /*! L_PXP
  10607. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10608. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10609. */
  10610. #define CSU_SA_L_PXP(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_PXP_SHIFT)) & CSU_SA_L_PXP_MASK)
  10611. #define CSU_SA_NSA_DCP_MASK (0x400U)
  10612. #define CSU_SA_NSA_DCP_SHIFT (10U)
  10613. /*! NSA_DCP - Non-secure access policy indicator bit
  10614. * 0b0..Secure access for the corresponding type-1 master
  10615. * 0b1..Non-secure access for the corresponding type-1 master
  10616. */
  10617. #define CSU_SA_NSA_DCP(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_DCP_SHIFT)) & CSU_SA_NSA_DCP_MASK)
  10618. #define CSU_SA_L_DCP_MASK (0x800U)
  10619. #define CSU_SA_L_DCP_SHIFT (11U)
  10620. /*! L_DCP
  10621. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10622. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10623. */
  10624. #define CSU_SA_L_DCP(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_DCP_SHIFT)) & CSU_SA_L_DCP_MASK)
  10625. #define CSU_SA_NSA_ENET_MASK (0x4000U)
  10626. #define CSU_SA_NSA_ENET_SHIFT (14U)
  10627. /*! NSA_ENET - Non-secure access policy indicator bit
  10628. * 0b0..Secure access for the corresponding type-1 master
  10629. * 0b1..Non-secure access for the corresponding type-1 master
  10630. */
  10631. #define CSU_SA_NSA_ENET(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_ENET_SHIFT)) & CSU_SA_NSA_ENET_MASK)
  10632. #define CSU_SA_L_ENET_MASK (0x8000U)
  10633. #define CSU_SA_L_ENET_SHIFT (15U)
  10634. /*! L_ENET
  10635. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10636. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10637. */
  10638. #define CSU_SA_L_ENET(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_ENET_SHIFT)) & CSU_SA_L_ENET_MASK)
  10639. #define CSU_SA_NSA_USDHC1_MASK (0x10000U)
  10640. #define CSU_SA_NSA_USDHC1_SHIFT (16U)
  10641. /*! NSA_USDHC1 - Non-secure access policy indicator bit
  10642. * 0b0..Secure access for the corresponding type-1 master
  10643. * 0b1..Non-secure access for the corresponding type-1 master
  10644. */
  10645. #define CSU_SA_NSA_USDHC1(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_USDHC1_SHIFT)) & CSU_SA_NSA_USDHC1_MASK)
  10646. #define CSU_SA_L_USDHC1_MASK (0x20000U)
  10647. #define CSU_SA_L_USDHC1_SHIFT (17U)
  10648. /*! L_USDHC1
  10649. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10650. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10651. */
  10652. #define CSU_SA_L_USDHC1(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_USDHC1_SHIFT)) & CSU_SA_L_USDHC1_MASK)
  10653. #define CSU_SA_NSA_USDHC2_MASK (0x40000U)
  10654. #define CSU_SA_NSA_USDHC2_SHIFT (18U)
  10655. /*! NSA_USDHC2 - Non-secure access policy indicator bit
  10656. * 0b0..Secure access for the corresponding type-1 master
  10657. * 0b1..Non-secure access for the corresponding type-1 master
  10658. */
  10659. #define CSU_SA_NSA_USDHC2(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_USDHC2_SHIFT)) & CSU_SA_NSA_USDHC2_MASK)
  10660. #define CSU_SA_L_USDHC2_MASK (0x80000U)
  10661. #define CSU_SA_L_USDHC2_SHIFT (19U)
  10662. /*! L_USDHC2
  10663. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10664. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10665. */
  10666. #define CSU_SA_L_USDHC2(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_USDHC2_SHIFT)) & CSU_SA_L_USDHC2_MASK)
  10667. #define CSU_SA_NSA_TPSMP_MASK (0x100000U)
  10668. #define CSU_SA_NSA_TPSMP_SHIFT (20U)
  10669. /*! NSA_TPSMP - Non-secure access policy indicator bit
  10670. * 0b0..Secure access for the corresponding type-1 master
  10671. * 0b1..Non-secure access for the corresponding type-1 master
  10672. */
  10673. #define CSU_SA_NSA_TPSMP(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_TPSMP_SHIFT)) & CSU_SA_NSA_TPSMP_MASK)
  10674. #define CSU_SA_L_TPSMP_MASK (0x200000U)
  10675. #define CSU_SA_L_TPSMP_SHIFT (21U)
  10676. /*! L_TPSMP
  10677. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10678. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10679. */
  10680. #define CSU_SA_L_TPSMP(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_TPSMP_SHIFT)) & CSU_SA_L_TPSMP_MASK)
  10681. #define CSU_SA_NSA_USB_MASK (0x400000U)
  10682. #define CSU_SA_NSA_USB_SHIFT (22U)
  10683. /*! NSA_USB - Non-secure access policy indicator bit
  10684. * 0b0..Secure access for the corresponding type-1 master
  10685. * 0b1..Non-secure access for the corresponding type-1 master
  10686. */
  10687. #define CSU_SA_NSA_USB(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_NSA_USB_SHIFT)) & CSU_SA_NSA_USB_MASK)
  10688. #define CSU_SA_L_USB_MASK (0x800000U)
  10689. #define CSU_SA_L_USB_SHIFT (23U)
  10690. /*! L_USB
  10691. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10692. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10693. */
  10694. #define CSU_SA_L_USB(x) (((uint32_t)(((uint32_t)(x)) << CSU_SA_L_USB_SHIFT)) & CSU_SA_L_USB_MASK)
  10695. /*! @} */
  10696. /*! @name HPCONTROL0 - HPCONTROL0 register */
  10697. /*! @{ */
  10698. #define CSU_HPCONTROL0_HPC_DMA_MASK (0x4U)
  10699. #define CSU_HPCONTROL0_HPC_DMA_SHIFT (2U)
  10700. /*! HPC_DMA
  10701. * 0b0..User mode for the corresponding master
  10702. * 0b1..Supervisor mode for the corresponding master
  10703. */
  10704. #define CSU_HPCONTROL0_HPC_DMA(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_DMA_SHIFT)) & CSU_HPCONTROL0_HPC_DMA_MASK)
  10705. #define CSU_HPCONTROL0_L_DMA_MASK (0x8U)
  10706. #define CSU_HPCONTROL0_L_DMA_SHIFT (3U)
  10707. /*! L_DMA
  10708. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10709. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10710. */
  10711. #define CSU_HPCONTROL0_L_DMA(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_DMA_SHIFT)) & CSU_HPCONTROL0_L_DMA_MASK)
  10712. #define CSU_HPCONTROL0_HPC_LCDIF_MASK (0x10U)
  10713. #define CSU_HPCONTROL0_HPC_LCDIF_SHIFT (4U)
  10714. /*! HPC_LCDIF
  10715. * 0b0..User mode for the corresponding master
  10716. * 0b1..Supervisor mode for the corresponding master
  10717. */
  10718. #define CSU_HPCONTROL0_HPC_LCDIF(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_LCDIF_SHIFT)) & CSU_HPCONTROL0_HPC_LCDIF_MASK)
  10719. #define CSU_HPCONTROL0_L_LCDIF_MASK (0x20U)
  10720. #define CSU_HPCONTROL0_L_LCDIF_SHIFT (5U)
  10721. /*! L_LCDIF
  10722. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10723. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10724. */
  10725. #define CSU_HPCONTROL0_L_LCDIF(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_LCDIF_SHIFT)) & CSU_HPCONTROL0_L_LCDIF_MASK)
  10726. #define CSU_HPCONTROL0_HPC_CSI_MASK (0x40U)
  10727. #define CSU_HPCONTROL0_HPC_CSI_SHIFT (6U)
  10728. /*! HPC_CSI
  10729. * 0b0..User mode for the corresponding master
  10730. * 0b1..Supervisor mode for the corresponding master
  10731. */
  10732. #define CSU_HPCONTROL0_HPC_CSI(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_CSI_SHIFT)) & CSU_HPCONTROL0_HPC_CSI_MASK)
  10733. #define CSU_HPCONTROL0_L_CSI_MASK (0x80U)
  10734. #define CSU_HPCONTROL0_L_CSI_SHIFT (7U)
  10735. /*! L_CSI
  10736. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10737. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10738. */
  10739. #define CSU_HPCONTROL0_L_CSI(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_CSI_SHIFT)) & CSU_HPCONTROL0_L_CSI_MASK)
  10740. #define CSU_HPCONTROL0_HPC_PXP_MASK (0x100U)
  10741. #define CSU_HPCONTROL0_HPC_PXP_SHIFT (8U)
  10742. /*! HPC_PXP
  10743. * 0b0..User mode for the corresponding master
  10744. * 0b1..Supervisor mode for the corresponding master
  10745. */
  10746. #define CSU_HPCONTROL0_HPC_PXP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_PXP_SHIFT)) & CSU_HPCONTROL0_HPC_PXP_MASK)
  10747. #define CSU_HPCONTROL0_L_PXP_MASK (0x200U)
  10748. #define CSU_HPCONTROL0_L_PXP_SHIFT (9U)
  10749. /*! L_PXP
  10750. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10751. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10752. */
  10753. #define CSU_HPCONTROL0_L_PXP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_PXP_SHIFT)) & CSU_HPCONTROL0_L_PXP_MASK)
  10754. #define CSU_HPCONTROL0_HPC_DCP_MASK (0x400U)
  10755. #define CSU_HPCONTROL0_HPC_DCP_SHIFT (10U)
  10756. /*! HPC_DCP
  10757. * 0b0..User mode for the corresponding master
  10758. * 0b1..Supervisor mode for the corresponding master
  10759. */
  10760. #define CSU_HPCONTROL0_HPC_DCP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_DCP_SHIFT)) & CSU_HPCONTROL0_HPC_DCP_MASK)
  10761. #define CSU_HPCONTROL0_L_DCP_MASK (0x800U)
  10762. #define CSU_HPCONTROL0_L_DCP_SHIFT (11U)
  10763. /*! L_DCP
  10764. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10765. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10766. */
  10767. #define CSU_HPCONTROL0_L_DCP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_DCP_SHIFT)) & CSU_HPCONTROL0_L_DCP_MASK)
  10768. #define CSU_HPCONTROL0_HPC_ENET_MASK (0x4000U)
  10769. #define CSU_HPCONTROL0_HPC_ENET_SHIFT (14U)
  10770. /*! HPC_ENET
  10771. * 0b0..User mode for the corresponding master
  10772. * 0b1..Supervisor mode for the corresponding master
  10773. */
  10774. #define CSU_HPCONTROL0_HPC_ENET(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_ENET_SHIFT)) & CSU_HPCONTROL0_HPC_ENET_MASK)
  10775. #define CSU_HPCONTROL0_L_ENET_MASK (0x8000U)
  10776. #define CSU_HPCONTROL0_L_ENET_SHIFT (15U)
  10777. /*! L_ENET
  10778. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10779. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10780. */
  10781. #define CSU_HPCONTROL0_L_ENET(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_ENET_SHIFT)) & CSU_HPCONTROL0_L_ENET_MASK)
  10782. #define CSU_HPCONTROL0_HPC_USDHC1_MASK (0x10000U)
  10783. #define CSU_HPCONTROL0_HPC_USDHC1_SHIFT (16U)
  10784. /*! HPC_USDHC1
  10785. * 0b0..User mode for the corresponding master
  10786. * 0b1..Supervisor mode for the corresponding master
  10787. */
  10788. #define CSU_HPCONTROL0_HPC_USDHC1(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_USDHC1_SHIFT)) & CSU_HPCONTROL0_HPC_USDHC1_MASK)
  10789. #define CSU_HPCONTROL0_L_USDHC1_MASK (0x20000U)
  10790. #define CSU_HPCONTROL0_L_USDHC1_SHIFT (17U)
  10791. /*! L_USDHC1
  10792. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10793. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10794. */
  10795. #define CSU_HPCONTROL0_L_USDHC1(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_USDHC1_SHIFT)) & CSU_HPCONTROL0_L_USDHC1_MASK)
  10796. #define CSU_HPCONTROL0_HPC_USDHC2_MASK (0x40000U)
  10797. #define CSU_HPCONTROL0_HPC_USDHC2_SHIFT (18U)
  10798. /*! HPC_USDHC2
  10799. * 0b0..User mode for the corresponding master
  10800. * 0b1..Supervisor mode for the corresponding master
  10801. */
  10802. #define CSU_HPCONTROL0_HPC_USDHC2(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_USDHC2_SHIFT)) & CSU_HPCONTROL0_HPC_USDHC2_MASK)
  10803. #define CSU_HPCONTROL0_L_USDHC2_MASK (0x80000U)
  10804. #define CSU_HPCONTROL0_L_USDHC2_SHIFT (19U)
  10805. /*! L_USDHC2
  10806. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10807. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10808. */
  10809. #define CSU_HPCONTROL0_L_USDHC2(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_USDHC2_SHIFT)) & CSU_HPCONTROL0_L_USDHC2_MASK)
  10810. #define CSU_HPCONTROL0_HPC_TPSMP_MASK (0x100000U)
  10811. #define CSU_HPCONTROL0_HPC_TPSMP_SHIFT (20U)
  10812. /*! HPC_TPSMP
  10813. * 0b0..User mode for the corresponding master
  10814. * 0b1..Supervisor mode for the corresponding master
  10815. */
  10816. #define CSU_HPCONTROL0_HPC_TPSMP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_TPSMP_SHIFT)) & CSU_HPCONTROL0_HPC_TPSMP_MASK)
  10817. #define CSU_HPCONTROL0_L_TPSMP_MASK (0x200000U)
  10818. #define CSU_HPCONTROL0_L_TPSMP_SHIFT (21U)
  10819. /*! L_TPSMP
  10820. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10821. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10822. */
  10823. #define CSU_HPCONTROL0_L_TPSMP(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_TPSMP_SHIFT)) & CSU_HPCONTROL0_L_TPSMP_MASK)
  10824. #define CSU_HPCONTROL0_HPC_USB_MASK (0x400000U)
  10825. #define CSU_HPCONTROL0_HPC_USB_SHIFT (22U)
  10826. /*! HPC_USB
  10827. * 0b0..User mode for the corresponding master
  10828. * 0b1..Supervisor mode for the corresponding master
  10829. */
  10830. #define CSU_HPCONTROL0_HPC_USB(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_HPC_USB_SHIFT)) & CSU_HPCONTROL0_HPC_USB_MASK)
  10831. #define CSU_HPCONTROL0_L_USB_MASK (0x800000U)
  10832. #define CSU_HPCONTROL0_L_USB_SHIFT (23U)
  10833. /*! L_USB
  10834. * 0b0..No lock-the adjacent (next lower) bit can be written by the software.
  10835. * 0b1..Lock-the adjacent (next lower) bit can't be written by the software.
  10836. */
  10837. #define CSU_HPCONTROL0_L_USB(x) (((uint32_t)(((uint32_t)(x)) << CSU_HPCONTROL0_L_USB_SHIFT)) & CSU_HPCONTROL0_L_USB_MASK)
  10838. /*! @} */
  10839. /*!
  10840. * @}
  10841. */ /* end of group CSU_Register_Masks */
  10842. /* CSU - Peripheral instance base addresses */
  10843. /** Peripheral CSU base address */
  10844. #define CSU_BASE (0x400DC000u)
  10845. /** Peripheral CSU base pointer */
  10846. #define CSU ((CSU_Type *)CSU_BASE)
  10847. /** Array initializer of CSU peripheral base addresses */
  10848. #define CSU_BASE_ADDRS { CSU_BASE }
  10849. /** Array initializer of CSU peripheral base pointers */
  10850. #define CSU_BASE_PTRS { CSU }
  10851. /*!
  10852. * @}
  10853. */ /* end of group CSU_Peripheral_Access_Layer */
  10854. /* ----------------------------------------------------------------------------
  10855. -- DCDC Peripheral Access Layer
  10856. ---------------------------------------------------------------------------- */
  10857. /*!
  10858. * @addtogroup DCDC_Peripheral_Access_Layer DCDC Peripheral Access Layer
  10859. * @{
  10860. */
  10861. /** DCDC - Register Layout Typedef */
  10862. typedef struct {
  10863. __IO uint32_t REG0; /**< DCDC Register 0, offset: 0x0 */
  10864. __IO uint32_t REG1; /**< DCDC Register 1, offset: 0x4 */
  10865. __IO uint32_t REG2; /**< DCDC Register 2, offset: 0x8 */
  10866. __IO uint32_t REG3; /**< DCDC Register 3, offset: 0xC */
  10867. } DCDC_Type;
  10868. /* ----------------------------------------------------------------------------
  10869. -- DCDC Register Masks
  10870. ---------------------------------------------------------------------------- */
  10871. /*!
  10872. * @addtogroup DCDC_Register_Masks DCDC Register Masks
  10873. * @{
  10874. */
  10875. /*! @name REG0 - DCDC Register 0 */
  10876. /*! @{ */
  10877. #define DCDC_REG0_PWD_ZCD_MASK (0x1U)
  10878. #define DCDC_REG0_PWD_ZCD_SHIFT (0U)
  10879. #define DCDC_REG0_PWD_ZCD(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_ZCD_SHIFT)) & DCDC_REG0_PWD_ZCD_MASK)
  10880. #define DCDC_REG0_DISABLE_AUTO_CLK_SWITCH_MASK (0x2U)
  10881. #define DCDC_REG0_DISABLE_AUTO_CLK_SWITCH_SHIFT (1U)
  10882. #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)
  10883. #define DCDC_REG0_SEL_CLK_MASK (0x4U)
  10884. #define DCDC_REG0_SEL_CLK_SHIFT (2U)
  10885. #define DCDC_REG0_SEL_CLK(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_SEL_CLK_SHIFT)) & DCDC_REG0_SEL_CLK_MASK)
  10886. #define DCDC_REG0_PWD_OSC_INT_MASK (0x8U)
  10887. #define DCDC_REG0_PWD_OSC_INT_SHIFT (3U)
  10888. #define DCDC_REG0_PWD_OSC_INT(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_OSC_INT_SHIFT)) & DCDC_REG0_PWD_OSC_INT_MASK)
  10889. #define DCDC_REG0_PWD_CUR_SNS_CMP_MASK (0x10U)
  10890. #define DCDC_REG0_PWD_CUR_SNS_CMP_SHIFT (4U)
  10891. #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)
  10892. #define DCDC_REG0_CUR_SNS_THRSH_MASK (0xE0U)
  10893. #define DCDC_REG0_CUR_SNS_THRSH_SHIFT (5U)
  10894. #define DCDC_REG0_CUR_SNS_THRSH(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_CUR_SNS_THRSH_SHIFT)) & DCDC_REG0_CUR_SNS_THRSH_MASK)
  10895. #define DCDC_REG0_PWD_OVERCUR_DET_MASK (0x100U)
  10896. #define DCDC_REG0_PWD_OVERCUR_DET_SHIFT (8U)
  10897. #define DCDC_REG0_PWD_OVERCUR_DET(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_OVERCUR_DET_SHIFT)) & DCDC_REG0_PWD_OVERCUR_DET_MASK)
  10898. #define DCDC_REG0_OVERCUR_TRIG_ADJ_MASK (0x600U)
  10899. #define DCDC_REG0_OVERCUR_TRIG_ADJ_SHIFT (9U)
  10900. #define DCDC_REG0_OVERCUR_TRIG_ADJ(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_OVERCUR_TRIG_ADJ_SHIFT)) & DCDC_REG0_OVERCUR_TRIG_ADJ_MASK)
  10901. #define DCDC_REG0_PWD_CMP_BATT_DET_MASK (0x800U)
  10902. #define DCDC_REG0_PWD_CMP_BATT_DET_SHIFT (11U)
  10903. #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)
  10904. #define DCDC_REG0_ADJ_POSLIMIT_BUCK_MASK (0xF000U)
  10905. #define DCDC_REG0_ADJ_POSLIMIT_BUCK_SHIFT (12U)
  10906. #define DCDC_REG0_ADJ_POSLIMIT_BUCK(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_ADJ_POSLIMIT_BUCK_SHIFT)) & DCDC_REG0_ADJ_POSLIMIT_BUCK_MASK)
  10907. #define DCDC_REG0_EN_LP_OVERLOAD_SNS_MASK (0x10000U)
  10908. #define DCDC_REG0_EN_LP_OVERLOAD_SNS_SHIFT (16U)
  10909. #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)
  10910. #define DCDC_REG0_PWD_HIGH_VOLT_DET_MASK (0x20000U)
  10911. #define DCDC_REG0_PWD_HIGH_VOLT_DET_SHIFT (17U)
  10912. #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)
  10913. #define DCDC_REG0_LP_OVERLOAD_THRSH_MASK (0xC0000U)
  10914. #define DCDC_REG0_LP_OVERLOAD_THRSH_SHIFT (18U)
  10915. #define DCDC_REG0_LP_OVERLOAD_THRSH(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_LP_OVERLOAD_THRSH_SHIFT)) & DCDC_REG0_LP_OVERLOAD_THRSH_MASK)
  10916. #define DCDC_REG0_LP_OVERLOAD_FREQ_SEL_MASK (0x100000U)
  10917. #define DCDC_REG0_LP_OVERLOAD_FREQ_SEL_SHIFT (20U)
  10918. #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)
  10919. #define DCDC_REG0_LP_HIGH_HYS_MASK (0x200000U)
  10920. #define DCDC_REG0_LP_HIGH_HYS_SHIFT (21U)
  10921. #define DCDC_REG0_LP_HIGH_HYS(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_LP_HIGH_HYS_SHIFT)) & DCDC_REG0_LP_HIGH_HYS_MASK)
  10922. #define DCDC_REG0_PWD_CMP_OFFSET_MASK (0x4000000U)
  10923. #define DCDC_REG0_PWD_CMP_OFFSET_SHIFT (26U)
  10924. #define DCDC_REG0_PWD_CMP_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_CMP_OFFSET_SHIFT)) & DCDC_REG0_PWD_CMP_OFFSET_MASK)
  10925. #define DCDC_REG0_XTALOK_DISABLE_MASK (0x8000000U)
  10926. #define DCDC_REG0_XTALOK_DISABLE_SHIFT (27U)
  10927. #define DCDC_REG0_XTALOK_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_XTALOK_DISABLE_SHIFT)) & DCDC_REG0_XTALOK_DISABLE_MASK)
  10928. #define DCDC_REG0_CURRENT_ALERT_RESET_MASK (0x10000000U)
  10929. #define DCDC_REG0_CURRENT_ALERT_RESET_SHIFT (28U)
  10930. #define DCDC_REG0_CURRENT_ALERT_RESET(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_CURRENT_ALERT_RESET_SHIFT)) & DCDC_REG0_CURRENT_ALERT_RESET_MASK)
  10931. #define DCDC_REG0_XTAL_24M_OK_MASK (0x20000000U)
  10932. #define DCDC_REG0_XTAL_24M_OK_SHIFT (29U)
  10933. #define DCDC_REG0_XTAL_24M_OK(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_XTAL_24M_OK_SHIFT)) & DCDC_REG0_XTAL_24M_OK_MASK)
  10934. #define DCDC_REG0_STS_DC_OK_MASK (0x80000000U)
  10935. #define DCDC_REG0_STS_DC_OK_SHIFT (31U)
  10936. #define DCDC_REG0_STS_DC_OK(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_STS_DC_OK_SHIFT)) & DCDC_REG0_STS_DC_OK_MASK)
  10937. /*! @} */
  10938. /*! @name REG1 - DCDC Register 1 */
  10939. /*! @{ */
  10940. #define DCDC_REG1_REG_FBK_SEL_MASK (0x180U)
  10941. #define DCDC_REG1_REG_FBK_SEL_SHIFT (7U)
  10942. #define DCDC_REG1_REG_FBK_SEL(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_REG_FBK_SEL_SHIFT)) & DCDC_REG1_REG_FBK_SEL_MASK)
  10943. #define DCDC_REG1_REG_RLOAD_SW_MASK (0x200U)
  10944. #define DCDC_REG1_REG_RLOAD_SW_SHIFT (9U)
  10945. #define DCDC_REG1_REG_RLOAD_SW(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_REG_RLOAD_SW_SHIFT)) & DCDC_REG1_REG_RLOAD_SW_MASK)
  10946. #define DCDC_REG1_LP_CMP_ISRC_SEL_MASK (0x3000U)
  10947. #define DCDC_REG1_LP_CMP_ISRC_SEL_SHIFT (12U)
  10948. #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)
  10949. #define DCDC_REG1_LOOPCTRL_HST_THRESH_MASK (0x200000U)
  10950. #define DCDC_REG1_LOOPCTRL_HST_THRESH_SHIFT (21U)
  10951. #define DCDC_REG1_LOOPCTRL_HST_THRESH(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_LOOPCTRL_HST_THRESH_SHIFT)) & DCDC_REG1_LOOPCTRL_HST_THRESH_MASK)
  10952. #define DCDC_REG1_LOOPCTRL_EN_HYST_MASK (0x800000U)
  10953. #define DCDC_REG1_LOOPCTRL_EN_HYST_SHIFT (23U)
  10954. #define DCDC_REG1_LOOPCTRL_EN_HYST(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_LOOPCTRL_EN_HYST_SHIFT)) & DCDC_REG1_LOOPCTRL_EN_HYST_MASK)
  10955. #define DCDC_REG1_VBG_TRIM_MASK (0x1F000000U)
  10956. #define DCDC_REG1_VBG_TRIM_SHIFT (24U)
  10957. #define DCDC_REG1_VBG_TRIM(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_VBG_TRIM_SHIFT)) & DCDC_REG1_VBG_TRIM_MASK)
  10958. /*! @} */
  10959. /*! @name REG2 - DCDC Register 2 */
  10960. /*! @{ */
  10961. #define DCDC_REG2_LOOPCTRL_DC_C_MASK (0x3U)
  10962. #define DCDC_REG2_LOOPCTRL_DC_C_SHIFT (0U)
  10963. #define DCDC_REG2_LOOPCTRL_DC_C(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_DC_C_SHIFT)) & DCDC_REG2_LOOPCTRL_DC_C_MASK)
  10964. #define DCDC_REG2_LOOPCTRL_DC_R_MASK (0x3CU)
  10965. #define DCDC_REG2_LOOPCTRL_DC_R_SHIFT (2U)
  10966. #define DCDC_REG2_LOOPCTRL_DC_R(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_DC_R_SHIFT)) & DCDC_REG2_LOOPCTRL_DC_R_MASK)
  10967. #define DCDC_REG2_LOOPCTRL_DC_FF_MASK (0x1C0U)
  10968. #define DCDC_REG2_LOOPCTRL_DC_FF_SHIFT (6U)
  10969. #define DCDC_REG2_LOOPCTRL_DC_FF(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_DC_FF_SHIFT)) & DCDC_REG2_LOOPCTRL_DC_FF_MASK)
  10970. #define DCDC_REG2_LOOPCTRL_EN_RCSCALE_MASK (0xE00U)
  10971. #define DCDC_REG2_LOOPCTRL_EN_RCSCALE_SHIFT (9U)
  10972. #define DCDC_REG2_LOOPCTRL_EN_RCSCALE(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_EN_RCSCALE_SHIFT)) & DCDC_REG2_LOOPCTRL_EN_RCSCALE_MASK)
  10973. #define DCDC_REG2_LOOPCTRL_RCSCALE_THRSH_MASK (0x1000U)
  10974. #define DCDC_REG2_LOOPCTRL_RCSCALE_THRSH_SHIFT (12U)
  10975. #define DCDC_REG2_LOOPCTRL_RCSCALE_THRSH(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_RCSCALE_THRSH_SHIFT)) & DCDC_REG2_LOOPCTRL_RCSCALE_THRSH_MASK)
  10976. #define DCDC_REG2_LOOPCTRL_HYST_SIGN_MASK (0x2000U)
  10977. #define DCDC_REG2_LOOPCTRL_HYST_SIGN_SHIFT (13U)
  10978. #define DCDC_REG2_LOOPCTRL_HYST_SIGN(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_HYST_SIGN_SHIFT)) & DCDC_REG2_LOOPCTRL_HYST_SIGN_MASK)
  10979. #define DCDC_REG2_DISABLE_PULSE_SKIP_MASK (0x8000000U)
  10980. #define DCDC_REG2_DISABLE_PULSE_SKIP_SHIFT (27U)
  10981. #define DCDC_REG2_DISABLE_PULSE_SKIP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_DISABLE_PULSE_SKIP_SHIFT)) & DCDC_REG2_DISABLE_PULSE_SKIP_MASK)
  10982. #define DCDC_REG2_DCM_SET_CTRL_MASK (0x10000000U)
  10983. #define DCDC_REG2_DCM_SET_CTRL_SHIFT (28U)
  10984. #define DCDC_REG2_DCM_SET_CTRL(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_DCM_SET_CTRL_SHIFT)) & DCDC_REG2_DCM_SET_CTRL_MASK)
  10985. /*! @} */
  10986. /*! @name REG3 - DCDC Register 3 */
  10987. /*! @{ */
  10988. #define DCDC_REG3_TRG_MASK (0x1FU)
  10989. #define DCDC_REG3_TRG_SHIFT (0U)
  10990. #define DCDC_REG3_TRG(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_TRG_SHIFT)) & DCDC_REG3_TRG_MASK)
  10991. #define DCDC_REG3_TARGET_LP_MASK (0x700U)
  10992. #define DCDC_REG3_TARGET_LP_SHIFT (8U)
  10993. #define DCDC_REG3_TARGET_LP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_TARGET_LP_SHIFT)) & DCDC_REG3_TARGET_LP_MASK)
  10994. #define DCDC_REG3_MINPWR_DC_HALFCLK_MASK (0x1000000U)
  10995. #define DCDC_REG3_MINPWR_DC_HALFCLK_SHIFT (24U)
  10996. #define DCDC_REG3_MINPWR_DC_HALFCLK(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_MINPWR_DC_HALFCLK_SHIFT)) & DCDC_REG3_MINPWR_DC_HALFCLK_MASK)
  10997. #define DCDC_REG3_MISC_DELAY_TIMING_MASK (0x8000000U)
  10998. #define DCDC_REG3_MISC_DELAY_TIMING_SHIFT (27U)
  10999. #define DCDC_REG3_MISC_DELAY_TIMING(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_MISC_DELAY_TIMING_SHIFT)) & DCDC_REG3_MISC_DELAY_TIMING_MASK)
  11000. #define DCDC_REG3_MISC_DISABLEFET_LOGIC_MASK (0x10000000U)
  11001. #define DCDC_REG3_MISC_DISABLEFET_LOGIC_SHIFT (28U)
  11002. #define DCDC_REG3_MISC_DISABLEFET_LOGIC(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_MISC_DISABLEFET_LOGIC_SHIFT)) & DCDC_REG3_MISC_DISABLEFET_LOGIC_MASK)
  11003. #define DCDC_REG3_DISABLE_STEP_MASK (0x40000000U)
  11004. #define DCDC_REG3_DISABLE_STEP_SHIFT (30U)
  11005. #define DCDC_REG3_DISABLE_STEP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_DISABLE_STEP_SHIFT)) & DCDC_REG3_DISABLE_STEP_MASK)
  11006. /*! @} */
  11007. /*!
  11008. * @}
  11009. */ /* end of group DCDC_Register_Masks */
  11010. /* DCDC - Peripheral instance base addresses */
  11011. /** Peripheral DCDC base address */
  11012. #define DCDC_BASE (0x40080000u)
  11013. /** Peripheral DCDC base pointer */
  11014. #define DCDC ((DCDC_Type *)DCDC_BASE)
  11015. /** Array initializer of DCDC peripheral base addresses */
  11016. #define DCDC_BASE_ADDRS { DCDC_BASE }
  11017. /** Array initializer of DCDC peripheral base pointers */
  11018. #define DCDC_BASE_PTRS { DCDC }
  11019. /** Interrupt vectors for the DCDC peripheral type */
  11020. #define DCDC_IRQS { DCDC_IRQn }
  11021. /*!
  11022. * @}
  11023. */ /* end of group DCDC_Peripheral_Access_Layer */
  11024. /* ----------------------------------------------------------------------------
  11025. -- DCP Peripheral Access Layer
  11026. ---------------------------------------------------------------------------- */
  11027. /*!
  11028. * @addtogroup DCP_Peripheral_Access_Layer DCP Peripheral Access Layer
  11029. * @{
  11030. */
  11031. /** DCP - Register Layout Typedef */
  11032. typedef struct {
  11033. __IO uint32_t CTRL; /**< DCP control register 0, offset: 0x0 */
  11034. __IO uint32_t CTRL_SET; /**< DCP control register 0, offset: 0x4 */
  11035. __IO uint32_t CTRL_CLR; /**< DCP control register 0, offset: 0x8 */
  11036. __IO uint32_t CTRL_TOG; /**< DCP control register 0, offset: 0xC */
  11037. __IO uint32_t STAT; /**< DCP status register, offset: 0x10 */
  11038. __IO uint32_t STAT_SET; /**< DCP status register, offset: 0x14 */
  11039. __IO uint32_t STAT_CLR; /**< DCP status register, offset: 0x18 */
  11040. __IO uint32_t STAT_TOG; /**< DCP status register, offset: 0x1C */
  11041. __IO uint32_t CHANNELCTRL; /**< DCP channel control register, offset: 0x20 */
  11042. __IO uint32_t CHANNELCTRL_SET; /**< DCP channel control register, offset: 0x24 */
  11043. __IO uint32_t CHANNELCTRL_CLR; /**< DCP channel control register, offset: 0x28 */
  11044. __IO uint32_t CHANNELCTRL_TOG; /**< DCP channel control register, offset: 0x2C */
  11045. __IO uint32_t CAPABILITY0; /**< DCP capability 0 register, offset: 0x30 */
  11046. uint8_t RESERVED_0[12];
  11047. __I uint32_t CAPABILITY1; /**< DCP capability 1 register, offset: 0x40 */
  11048. uint8_t RESERVED_1[12];
  11049. __IO uint32_t CONTEXT; /**< DCP context buffer pointer, offset: 0x50 */
  11050. uint8_t RESERVED_2[12];
  11051. __IO uint32_t KEY; /**< DCP key index, offset: 0x60 */
  11052. uint8_t RESERVED_3[12];
  11053. __IO uint32_t KEYDATA; /**< DCP key data, offset: 0x70 */
  11054. uint8_t RESERVED_4[12];
  11055. __I uint32_t PACKET0; /**< DCP work packet 0 status register, offset: 0x80 */
  11056. uint8_t RESERVED_5[12];
  11057. __I uint32_t PACKET1; /**< DCP work packet 1 status register, offset: 0x90 */
  11058. uint8_t RESERVED_6[12];
  11059. __I uint32_t PACKET2; /**< DCP work packet 2 status register, offset: 0xA0 */
  11060. uint8_t RESERVED_7[12];
  11061. __I uint32_t PACKET3; /**< DCP work packet 3 status register, offset: 0xB0 */
  11062. uint8_t RESERVED_8[12];
  11063. __I uint32_t PACKET4; /**< DCP work packet 4 status register, offset: 0xC0 */
  11064. uint8_t RESERVED_9[12];
  11065. __I uint32_t PACKET5; /**< DCP work packet 5 status register, offset: 0xD0 */
  11066. uint8_t RESERVED_10[12];
  11067. __I uint32_t PACKET6; /**< DCP work packet 6 status register, offset: 0xE0 */
  11068. uint8_t RESERVED_11[28];
  11069. __IO uint32_t CH0CMDPTR; /**< DCP channel 0 command pointer address register, offset: 0x100 */
  11070. uint8_t RESERVED_12[12];
  11071. __IO uint32_t CH0SEMA; /**< DCP channel 0 semaphore register, offset: 0x110 */
  11072. uint8_t RESERVED_13[12];
  11073. __IO uint32_t CH0STAT; /**< DCP channel 0 status register, offset: 0x120 */
  11074. __IO uint32_t CH0STAT_SET; /**< DCP channel 0 status register, offset: 0x124 */
  11075. __IO uint32_t CH0STAT_CLR; /**< DCP channel 0 status register, offset: 0x128 */
  11076. __IO uint32_t CH0STAT_TOG; /**< DCP channel 0 status register, offset: 0x12C */
  11077. __IO uint32_t CH0OPTS; /**< DCP channel 0 options register, offset: 0x130 */
  11078. __IO uint32_t CH0OPTS_SET; /**< DCP channel 0 options register, offset: 0x134 */
  11079. __IO uint32_t CH0OPTS_CLR; /**< DCP channel 0 options register, offset: 0x138 */
  11080. __IO uint32_t CH0OPTS_TOG; /**< DCP channel 0 options register, offset: 0x13C */
  11081. __IO uint32_t CH1CMDPTR; /**< DCP channel 1 command pointer address register, offset: 0x140 */
  11082. uint8_t RESERVED_14[12];
  11083. __IO uint32_t CH1SEMA; /**< DCP channel 1 semaphore register, offset: 0x150 */
  11084. uint8_t RESERVED_15[12];
  11085. __IO uint32_t CH1STAT; /**< DCP channel 1 status register, offset: 0x160 */
  11086. __IO uint32_t CH1STAT_SET; /**< DCP channel 1 status register, offset: 0x164 */
  11087. __IO uint32_t CH1STAT_CLR; /**< DCP channel 1 status register, offset: 0x168 */
  11088. __IO uint32_t CH1STAT_TOG; /**< DCP channel 1 status register, offset: 0x16C */
  11089. __IO uint32_t CH1OPTS; /**< DCP channel 1 options register, offset: 0x170 */
  11090. __IO uint32_t CH1OPTS_SET; /**< DCP channel 1 options register, offset: 0x174 */
  11091. __IO uint32_t CH1OPTS_CLR; /**< DCP channel 1 options register, offset: 0x178 */
  11092. __IO uint32_t CH1OPTS_TOG; /**< DCP channel 1 options register, offset: 0x17C */
  11093. __IO uint32_t CH2CMDPTR; /**< DCP channel 2 command pointer address register, offset: 0x180 */
  11094. uint8_t RESERVED_16[12];
  11095. __IO uint32_t CH2SEMA; /**< DCP channel 2 semaphore register, offset: 0x190 */
  11096. uint8_t RESERVED_17[12];
  11097. __IO uint32_t CH2STAT; /**< DCP channel 2 status register, offset: 0x1A0 */
  11098. __IO uint32_t CH2STAT_SET; /**< DCP channel 2 status register, offset: 0x1A4 */
  11099. __IO uint32_t CH2STAT_CLR; /**< DCP channel 2 status register, offset: 0x1A8 */
  11100. __IO uint32_t CH2STAT_TOG; /**< DCP channel 2 status register, offset: 0x1AC */
  11101. __IO uint32_t CH2OPTS; /**< DCP channel 2 options register, offset: 0x1B0 */
  11102. __IO uint32_t CH2OPTS_SET; /**< DCP channel 2 options register, offset: 0x1B4 */
  11103. __IO uint32_t CH2OPTS_CLR; /**< DCP channel 2 options register, offset: 0x1B8 */
  11104. __IO uint32_t CH2OPTS_TOG; /**< DCP channel 2 options register, offset: 0x1BC */
  11105. __IO uint32_t CH3CMDPTR; /**< DCP channel 3 command pointer address register, offset: 0x1C0 */
  11106. uint8_t RESERVED_18[12];
  11107. __IO uint32_t CH3SEMA; /**< DCP channel 3 semaphore register, offset: 0x1D0 */
  11108. uint8_t RESERVED_19[12];
  11109. __IO uint32_t CH3STAT; /**< DCP channel 3 status register, offset: 0x1E0 */
  11110. __IO uint32_t CH3STAT_SET; /**< DCP channel 3 status register, offset: 0x1E4 */
  11111. __IO uint32_t CH3STAT_CLR; /**< DCP channel 3 status register, offset: 0x1E8 */
  11112. __IO uint32_t CH3STAT_TOG; /**< DCP channel 3 status register, offset: 0x1EC */
  11113. __IO uint32_t CH3OPTS; /**< DCP channel 3 options register, offset: 0x1F0 */
  11114. __IO uint32_t CH3OPTS_SET; /**< DCP channel 3 options register, offset: 0x1F4 */
  11115. __IO uint32_t CH3OPTS_CLR; /**< DCP channel 3 options register, offset: 0x1F8 */
  11116. __IO uint32_t CH3OPTS_TOG; /**< DCP channel 3 options register, offset: 0x1FC */
  11117. uint8_t RESERVED_20[512];
  11118. __IO uint32_t DBGSELECT; /**< DCP debug select register, offset: 0x400 */
  11119. uint8_t RESERVED_21[12];
  11120. __I uint32_t DBGDATA; /**< DCP debug data register, offset: 0x410 */
  11121. uint8_t RESERVED_22[12];
  11122. __IO uint32_t PAGETABLE; /**< DCP page table register, offset: 0x420 */
  11123. uint8_t RESERVED_23[12];
  11124. __I uint32_t VERSION; /**< DCP version register, offset: 0x430 */
  11125. } DCP_Type;
  11126. /* ----------------------------------------------------------------------------
  11127. -- DCP Register Masks
  11128. ---------------------------------------------------------------------------- */
  11129. /*!
  11130. * @addtogroup DCP_Register_Masks DCP Register Masks
  11131. * @{
  11132. */
  11133. /*! @name CTRL - DCP control register 0 */
  11134. /*! @{ */
  11135. #define DCP_CTRL_CHANNEL_INTERRUPT_ENABLE_MASK (0xFFU)
  11136. #define DCP_CTRL_CHANNEL_INTERRUPT_ENABLE_SHIFT (0U)
  11137. /*! CHANNEL_INTERRUPT_ENABLE
  11138. * 0b00000001..CH0
  11139. * 0b00000010..CH1
  11140. * 0b00000100..CH2
  11141. * 0b00001000..CH3
  11142. */
  11143. #define DCP_CTRL_CHANNEL_INTERRUPT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_CHANNEL_INTERRUPT_ENABLE_SHIFT)) & DCP_CTRL_CHANNEL_INTERRUPT_ENABLE_MASK)
  11144. #define DCP_CTRL_RSVD_CSC_INTERRUPT_ENABLE_MASK (0x100U)
  11145. #define DCP_CTRL_RSVD_CSC_INTERRUPT_ENABLE_SHIFT (8U)
  11146. #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)
  11147. #define DCP_CTRL_ENABLE_CONTEXT_SWITCHING_MASK (0x200000U)
  11148. #define DCP_CTRL_ENABLE_CONTEXT_SWITCHING_SHIFT (21U)
  11149. #define DCP_CTRL_ENABLE_CONTEXT_SWITCHING(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_ENABLE_CONTEXT_SWITCHING_SHIFT)) & DCP_CTRL_ENABLE_CONTEXT_SWITCHING_MASK)
  11150. #define DCP_CTRL_ENABLE_CONTEXT_CACHING_MASK (0x400000U)
  11151. #define DCP_CTRL_ENABLE_CONTEXT_CACHING_SHIFT (22U)
  11152. #define DCP_CTRL_ENABLE_CONTEXT_CACHING(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_ENABLE_CONTEXT_CACHING_SHIFT)) & DCP_CTRL_ENABLE_CONTEXT_CACHING_MASK)
  11153. #define DCP_CTRL_GATHER_RESIDUAL_WRITES_MASK (0x800000U)
  11154. #define DCP_CTRL_GATHER_RESIDUAL_WRITES_SHIFT (23U)
  11155. #define DCP_CTRL_GATHER_RESIDUAL_WRITES(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_GATHER_RESIDUAL_WRITES_SHIFT)) & DCP_CTRL_GATHER_RESIDUAL_WRITES_MASK)
  11156. #define DCP_CTRL_PRESENT_SHA_MASK (0x10000000U)
  11157. #define DCP_CTRL_PRESENT_SHA_SHIFT (28U)
  11158. /*! PRESENT_SHA
  11159. * 0b1..Present
  11160. * 0b0..Absent
  11161. */
  11162. #define DCP_CTRL_PRESENT_SHA(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_PRESENT_SHA_SHIFT)) & DCP_CTRL_PRESENT_SHA_MASK)
  11163. #define DCP_CTRL_PRESENT_CRYPTO_MASK (0x20000000U)
  11164. #define DCP_CTRL_PRESENT_CRYPTO_SHIFT (29U)
  11165. /*! PRESENT_CRYPTO
  11166. * 0b1..Present
  11167. * 0b0..Absent
  11168. */
  11169. #define DCP_CTRL_PRESENT_CRYPTO(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_PRESENT_CRYPTO_SHIFT)) & DCP_CTRL_PRESENT_CRYPTO_MASK)
  11170. #define DCP_CTRL_CLKGATE_MASK (0x40000000U)
  11171. #define DCP_CTRL_CLKGATE_SHIFT (30U)
  11172. #define DCP_CTRL_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_CLKGATE_SHIFT)) & DCP_CTRL_CLKGATE_MASK)
  11173. #define DCP_CTRL_SFTRST_MASK (0x80000000U)
  11174. #define DCP_CTRL_SFTRST_SHIFT (31U)
  11175. #define DCP_CTRL_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_SFTRST_SHIFT)) & DCP_CTRL_SFTRST_MASK)
  11176. /*! @} */
  11177. /*! @name CTRL_SET - DCP control register 0 */
  11178. /*! @{ */
  11179. #define DCP_CTRL_SET_CHANNEL_INTERRUPT_ENABLE_MASK (0xFFU)
  11180. #define DCP_CTRL_SET_CHANNEL_INTERRUPT_ENABLE_SHIFT (0U)
  11181. /*! CHANNEL_INTERRUPT_ENABLE
  11182. * 0b00000001..CH0
  11183. * 0b00000010..CH1
  11184. * 0b00000100..CH2
  11185. * 0b00001000..CH3
  11186. */
  11187. #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)
  11188. #define DCP_CTRL_SET_RSVD_CSC_INTERRUPT_ENABLE_MASK (0x100U)
  11189. #define DCP_CTRL_SET_RSVD_CSC_INTERRUPT_ENABLE_SHIFT (8U)
  11190. #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)
  11191. #define DCP_CTRL_SET_ENABLE_CONTEXT_SWITCHING_MASK (0x200000U)
  11192. #define DCP_CTRL_SET_ENABLE_CONTEXT_SWITCHING_SHIFT (21U)
  11193. #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)
  11194. #define DCP_CTRL_SET_ENABLE_CONTEXT_CACHING_MASK (0x400000U)
  11195. #define DCP_CTRL_SET_ENABLE_CONTEXT_CACHING_SHIFT (22U)
  11196. #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)
  11197. #define DCP_CTRL_SET_GATHER_RESIDUAL_WRITES_MASK (0x800000U)
  11198. #define DCP_CTRL_SET_GATHER_RESIDUAL_WRITES_SHIFT (23U)
  11199. #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)
  11200. #define DCP_CTRL_SET_PRESENT_SHA_MASK (0x10000000U)
  11201. #define DCP_CTRL_SET_PRESENT_SHA_SHIFT (28U)
  11202. /*! PRESENT_SHA
  11203. * 0b1..Present
  11204. * 0b0..Absent
  11205. */
  11206. #define DCP_CTRL_SET_PRESENT_SHA(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_SET_PRESENT_SHA_SHIFT)) & DCP_CTRL_SET_PRESENT_SHA_MASK)
  11207. #define DCP_CTRL_SET_PRESENT_CRYPTO_MASK (0x20000000U)
  11208. #define DCP_CTRL_SET_PRESENT_CRYPTO_SHIFT (29U)
  11209. /*! PRESENT_CRYPTO
  11210. * 0b1..Present
  11211. * 0b0..Absent
  11212. */
  11213. #define DCP_CTRL_SET_PRESENT_CRYPTO(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_SET_PRESENT_CRYPTO_SHIFT)) & DCP_CTRL_SET_PRESENT_CRYPTO_MASK)
  11214. #define DCP_CTRL_SET_CLKGATE_MASK (0x40000000U)
  11215. #define DCP_CTRL_SET_CLKGATE_SHIFT (30U)
  11216. #define DCP_CTRL_SET_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_SET_CLKGATE_SHIFT)) & DCP_CTRL_SET_CLKGATE_MASK)
  11217. #define DCP_CTRL_SET_SFTRST_MASK (0x80000000U)
  11218. #define DCP_CTRL_SET_SFTRST_SHIFT (31U)
  11219. #define DCP_CTRL_SET_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_SET_SFTRST_SHIFT)) & DCP_CTRL_SET_SFTRST_MASK)
  11220. /*! @} */
  11221. /*! @name CTRL_CLR - DCP control register 0 */
  11222. /*! @{ */
  11223. #define DCP_CTRL_CLR_CHANNEL_INTERRUPT_ENABLE_MASK (0xFFU)
  11224. #define DCP_CTRL_CLR_CHANNEL_INTERRUPT_ENABLE_SHIFT (0U)
  11225. /*! CHANNEL_INTERRUPT_ENABLE
  11226. * 0b00000001..CH0
  11227. * 0b00000010..CH1
  11228. * 0b00000100..CH2
  11229. * 0b00001000..CH3
  11230. */
  11231. #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)
  11232. #define DCP_CTRL_CLR_RSVD_CSC_INTERRUPT_ENABLE_MASK (0x100U)
  11233. #define DCP_CTRL_CLR_RSVD_CSC_INTERRUPT_ENABLE_SHIFT (8U)
  11234. #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)
  11235. #define DCP_CTRL_CLR_ENABLE_CONTEXT_SWITCHING_MASK (0x200000U)
  11236. #define DCP_CTRL_CLR_ENABLE_CONTEXT_SWITCHING_SHIFT (21U)
  11237. #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)
  11238. #define DCP_CTRL_CLR_ENABLE_CONTEXT_CACHING_MASK (0x400000U)
  11239. #define DCP_CTRL_CLR_ENABLE_CONTEXT_CACHING_SHIFT (22U)
  11240. #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)
  11241. #define DCP_CTRL_CLR_GATHER_RESIDUAL_WRITES_MASK (0x800000U)
  11242. #define DCP_CTRL_CLR_GATHER_RESIDUAL_WRITES_SHIFT (23U)
  11243. #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)
  11244. #define DCP_CTRL_CLR_PRESENT_SHA_MASK (0x10000000U)
  11245. #define DCP_CTRL_CLR_PRESENT_SHA_SHIFT (28U)
  11246. /*! PRESENT_SHA
  11247. * 0b1..Present
  11248. * 0b0..Absent
  11249. */
  11250. #define DCP_CTRL_CLR_PRESENT_SHA(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_CLR_PRESENT_SHA_SHIFT)) & DCP_CTRL_CLR_PRESENT_SHA_MASK)
  11251. #define DCP_CTRL_CLR_PRESENT_CRYPTO_MASK (0x20000000U)
  11252. #define DCP_CTRL_CLR_PRESENT_CRYPTO_SHIFT (29U)
  11253. /*! PRESENT_CRYPTO
  11254. * 0b1..Present
  11255. * 0b0..Absent
  11256. */
  11257. #define DCP_CTRL_CLR_PRESENT_CRYPTO(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_CLR_PRESENT_CRYPTO_SHIFT)) & DCP_CTRL_CLR_PRESENT_CRYPTO_MASK)
  11258. #define DCP_CTRL_CLR_CLKGATE_MASK (0x40000000U)
  11259. #define DCP_CTRL_CLR_CLKGATE_SHIFT (30U)
  11260. #define DCP_CTRL_CLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_CLR_CLKGATE_SHIFT)) & DCP_CTRL_CLR_CLKGATE_MASK)
  11261. #define DCP_CTRL_CLR_SFTRST_MASK (0x80000000U)
  11262. #define DCP_CTRL_CLR_SFTRST_SHIFT (31U)
  11263. #define DCP_CTRL_CLR_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_CLR_SFTRST_SHIFT)) & DCP_CTRL_CLR_SFTRST_MASK)
  11264. /*! @} */
  11265. /*! @name CTRL_TOG - DCP control register 0 */
  11266. /*! @{ */
  11267. #define DCP_CTRL_TOG_CHANNEL_INTERRUPT_ENABLE_MASK (0xFFU)
  11268. #define DCP_CTRL_TOG_CHANNEL_INTERRUPT_ENABLE_SHIFT (0U)
  11269. /*! CHANNEL_INTERRUPT_ENABLE
  11270. * 0b00000001..CH0
  11271. * 0b00000010..CH1
  11272. * 0b00000100..CH2
  11273. * 0b00001000..CH3
  11274. */
  11275. #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)
  11276. #define DCP_CTRL_TOG_RSVD_CSC_INTERRUPT_ENABLE_MASK (0x100U)
  11277. #define DCP_CTRL_TOG_RSVD_CSC_INTERRUPT_ENABLE_SHIFT (8U)
  11278. #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)
  11279. #define DCP_CTRL_TOG_ENABLE_CONTEXT_SWITCHING_MASK (0x200000U)
  11280. #define DCP_CTRL_TOG_ENABLE_CONTEXT_SWITCHING_SHIFT (21U)
  11281. #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)
  11282. #define DCP_CTRL_TOG_ENABLE_CONTEXT_CACHING_MASK (0x400000U)
  11283. #define DCP_CTRL_TOG_ENABLE_CONTEXT_CACHING_SHIFT (22U)
  11284. #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)
  11285. #define DCP_CTRL_TOG_GATHER_RESIDUAL_WRITES_MASK (0x800000U)
  11286. #define DCP_CTRL_TOG_GATHER_RESIDUAL_WRITES_SHIFT (23U)
  11287. #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)
  11288. #define DCP_CTRL_TOG_PRESENT_SHA_MASK (0x10000000U)
  11289. #define DCP_CTRL_TOG_PRESENT_SHA_SHIFT (28U)
  11290. /*! PRESENT_SHA
  11291. * 0b1..Present
  11292. * 0b0..Absent
  11293. */
  11294. #define DCP_CTRL_TOG_PRESENT_SHA(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_TOG_PRESENT_SHA_SHIFT)) & DCP_CTRL_TOG_PRESENT_SHA_MASK)
  11295. #define DCP_CTRL_TOG_PRESENT_CRYPTO_MASK (0x20000000U)
  11296. #define DCP_CTRL_TOG_PRESENT_CRYPTO_SHIFT (29U)
  11297. /*! PRESENT_CRYPTO
  11298. * 0b1..Present
  11299. * 0b0..Absent
  11300. */
  11301. #define DCP_CTRL_TOG_PRESENT_CRYPTO(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_TOG_PRESENT_CRYPTO_SHIFT)) & DCP_CTRL_TOG_PRESENT_CRYPTO_MASK)
  11302. #define DCP_CTRL_TOG_CLKGATE_MASK (0x40000000U)
  11303. #define DCP_CTRL_TOG_CLKGATE_SHIFT (30U)
  11304. #define DCP_CTRL_TOG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_TOG_CLKGATE_SHIFT)) & DCP_CTRL_TOG_CLKGATE_MASK)
  11305. #define DCP_CTRL_TOG_SFTRST_MASK (0x80000000U)
  11306. #define DCP_CTRL_TOG_SFTRST_SHIFT (31U)
  11307. #define DCP_CTRL_TOG_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CTRL_TOG_SFTRST_SHIFT)) & DCP_CTRL_TOG_SFTRST_MASK)
  11308. /*! @} */
  11309. /*! @name STAT - DCP status register */
  11310. /*! @{ */
  11311. #define DCP_STAT_IRQ_MASK (0xFU)
  11312. #define DCP_STAT_IRQ_SHIFT (0U)
  11313. #define DCP_STAT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_IRQ_SHIFT)) & DCP_STAT_IRQ_MASK)
  11314. #define DCP_STAT_RSVD_IRQ_MASK (0x100U)
  11315. #define DCP_STAT_RSVD_IRQ_SHIFT (8U)
  11316. #define DCP_STAT_RSVD_IRQ(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_RSVD_IRQ_SHIFT)) & DCP_STAT_RSVD_IRQ_MASK)
  11317. #define DCP_STAT_READY_CHANNELS_MASK (0xFF0000U)
  11318. #define DCP_STAT_READY_CHANNELS_SHIFT (16U)
  11319. /*! READY_CHANNELS
  11320. * 0b00000001..CH0
  11321. * 0b00000010..CH1
  11322. * 0b00000100..CH2
  11323. * 0b00001000..CH3
  11324. */
  11325. #define DCP_STAT_READY_CHANNELS(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_READY_CHANNELS_SHIFT)) & DCP_STAT_READY_CHANNELS_MASK)
  11326. #define DCP_STAT_CUR_CHANNEL_MASK (0xF000000U)
  11327. #define DCP_STAT_CUR_CHANNEL_SHIFT (24U)
  11328. /*! CUR_CHANNEL
  11329. * 0b0000..None
  11330. * 0b0001..CH0
  11331. * 0b0010..CH1
  11332. * 0b0011..CH2
  11333. * 0b0100..CH3
  11334. */
  11335. #define DCP_STAT_CUR_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_CUR_CHANNEL_SHIFT)) & DCP_STAT_CUR_CHANNEL_MASK)
  11336. #define DCP_STAT_OTP_KEY_READY_MASK (0x10000000U)
  11337. #define DCP_STAT_OTP_KEY_READY_SHIFT (28U)
  11338. #define DCP_STAT_OTP_KEY_READY(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_OTP_KEY_READY_SHIFT)) & DCP_STAT_OTP_KEY_READY_MASK)
  11339. /*! @} */
  11340. /*! @name STAT_SET - DCP status register */
  11341. /*! @{ */
  11342. #define DCP_STAT_SET_IRQ_MASK (0xFU)
  11343. #define DCP_STAT_SET_IRQ_SHIFT (0U)
  11344. #define DCP_STAT_SET_IRQ(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_SET_IRQ_SHIFT)) & DCP_STAT_SET_IRQ_MASK)
  11345. #define DCP_STAT_SET_RSVD_IRQ_MASK (0x100U)
  11346. #define DCP_STAT_SET_RSVD_IRQ_SHIFT (8U)
  11347. #define DCP_STAT_SET_RSVD_IRQ(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_SET_RSVD_IRQ_SHIFT)) & DCP_STAT_SET_RSVD_IRQ_MASK)
  11348. #define DCP_STAT_SET_READY_CHANNELS_MASK (0xFF0000U)
  11349. #define DCP_STAT_SET_READY_CHANNELS_SHIFT (16U)
  11350. /*! READY_CHANNELS
  11351. * 0b00000001..CH0
  11352. * 0b00000010..CH1
  11353. * 0b00000100..CH2
  11354. * 0b00001000..CH3
  11355. */
  11356. #define DCP_STAT_SET_READY_CHANNELS(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_SET_READY_CHANNELS_SHIFT)) & DCP_STAT_SET_READY_CHANNELS_MASK)
  11357. #define DCP_STAT_SET_CUR_CHANNEL_MASK (0xF000000U)
  11358. #define DCP_STAT_SET_CUR_CHANNEL_SHIFT (24U)
  11359. /*! CUR_CHANNEL
  11360. * 0b0000..None
  11361. * 0b0001..CH0
  11362. * 0b0010..CH1
  11363. * 0b0011..CH2
  11364. * 0b0100..CH3
  11365. */
  11366. #define DCP_STAT_SET_CUR_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_SET_CUR_CHANNEL_SHIFT)) & DCP_STAT_SET_CUR_CHANNEL_MASK)
  11367. #define DCP_STAT_SET_OTP_KEY_READY_MASK (0x10000000U)
  11368. #define DCP_STAT_SET_OTP_KEY_READY_SHIFT (28U)
  11369. #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)
  11370. /*! @} */
  11371. /*! @name STAT_CLR - DCP status register */
  11372. /*! @{ */
  11373. #define DCP_STAT_CLR_IRQ_MASK (0xFU)
  11374. #define DCP_STAT_CLR_IRQ_SHIFT (0U)
  11375. #define DCP_STAT_CLR_IRQ(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_CLR_IRQ_SHIFT)) & DCP_STAT_CLR_IRQ_MASK)
  11376. #define DCP_STAT_CLR_RSVD_IRQ_MASK (0x100U)
  11377. #define DCP_STAT_CLR_RSVD_IRQ_SHIFT (8U)
  11378. #define DCP_STAT_CLR_RSVD_IRQ(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_CLR_RSVD_IRQ_SHIFT)) & DCP_STAT_CLR_RSVD_IRQ_MASK)
  11379. #define DCP_STAT_CLR_READY_CHANNELS_MASK (0xFF0000U)
  11380. #define DCP_STAT_CLR_READY_CHANNELS_SHIFT (16U)
  11381. /*! READY_CHANNELS
  11382. * 0b00000001..CH0
  11383. * 0b00000010..CH1
  11384. * 0b00000100..CH2
  11385. * 0b00001000..CH3
  11386. */
  11387. #define DCP_STAT_CLR_READY_CHANNELS(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_CLR_READY_CHANNELS_SHIFT)) & DCP_STAT_CLR_READY_CHANNELS_MASK)
  11388. #define DCP_STAT_CLR_CUR_CHANNEL_MASK (0xF000000U)
  11389. #define DCP_STAT_CLR_CUR_CHANNEL_SHIFT (24U)
  11390. /*! CUR_CHANNEL
  11391. * 0b0000..None
  11392. * 0b0001..CH0
  11393. * 0b0010..CH1
  11394. * 0b0011..CH2
  11395. * 0b0100..CH3
  11396. */
  11397. #define DCP_STAT_CLR_CUR_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_CLR_CUR_CHANNEL_SHIFT)) & DCP_STAT_CLR_CUR_CHANNEL_MASK)
  11398. #define DCP_STAT_CLR_OTP_KEY_READY_MASK (0x10000000U)
  11399. #define DCP_STAT_CLR_OTP_KEY_READY_SHIFT (28U)
  11400. #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)
  11401. /*! @} */
  11402. /*! @name STAT_TOG - DCP status register */
  11403. /*! @{ */
  11404. #define DCP_STAT_TOG_IRQ_MASK (0xFU)
  11405. #define DCP_STAT_TOG_IRQ_SHIFT (0U)
  11406. #define DCP_STAT_TOG_IRQ(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_TOG_IRQ_SHIFT)) & DCP_STAT_TOG_IRQ_MASK)
  11407. #define DCP_STAT_TOG_RSVD_IRQ_MASK (0x100U)
  11408. #define DCP_STAT_TOG_RSVD_IRQ_SHIFT (8U)
  11409. #define DCP_STAT_TOG_RSVD_IRQ(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_TOG_RSVD_IRQ_SHIFT)) & DCP_STAT_TOG_RSVD_IRQ_MASK)
  11410. #define DCP_STAT_TOG_READY_CHANNELS_MASK (0xFF0000U)
  11411. #define DCP_STAT_TOG_READY_CHANNELS_SHIFT (16U)
  11412. /*! READY_CHANNELS
  11413. * 0b00000001..CH0
  11414. * 0b00000010..CH1
  11415. * 0b00000100..CH2
  11416. * 0b00001000..CH3
  11417. */
  11418. #define DCP_STAT_TOG_READY_CHANNELS(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_TOG_READY_CHANNELS_SHIFT)) & DCP_STAT_TOG_READY_CHANNELS_MASK)
  11419. #define DCP_STAT_TOG_CUR_CHANNEL_MASK (0xF000000U)
  11420. #define DCP_STAT_TOG_CUR_CHANNEL_SHIFT (24U)
  11421. /*! CUR_CHANNEL
  11422. * 0b0000..None
  11423. * 0b0001..CH0
  11424. * 0b0010..CH1
  11425. * 0b0011..CH2
  11426. * 0b0100..CH3
  11427. */
  11428. #define DCP_STAT_TOG_CUR_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_STAT_TOG_CUR_CHANNEL_SHIFT)) & DCP_STAT_TOG_CUR_CHANNEL_MASK)
  11429. #define DCP_STAT_TOG_OTP_KEY_READY_MASK (0x10000000U)
  11430. #define DCP_STAT_TOG_OTP_KEY_READY_SHIFT (28U)
  11431. #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)
  11432. /*! @} */
  11433. /*! @name CHANNELCTRL - DCP channel control register */
  11434. /*! @{ */
  11435. #define DCP_CHANNELCTRL_ENABLE_CHANNEL_MASK (0xFFU)
  11436. #define DCP_CHANNELCTRL_ENABLE_CHANNEL_SHIFT (0U)
  11437. /*! ENABLE_CHANNEL
  11438. * 0b00000001..CH0
  11439. * 0b00000010..CH1
  11440. * 0b00000100..CH2
  11441. * 0b00001000..CH3
  11442. */
  11443. #define DCP_CHANNELCTRL_ENABLE_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_ENABLE_CHANNEL_SHIFT)) & DCP_CHANNELCTRL_ENABLE_CHANNEL_MASK)
  11444. #define DCP_CHANNELCTRL_HIGH_PRIORITY_CHANNEL_MASK (0xFF00U)
  11445. #define DCP_CHANNELCTRL_HIGH_PRIORITY_CHANNEL_SHIFT (8U)
  11446. /*! HIGH_PRIORITY_CHANNEL
  11447. * 0b00000001..CH0
  11448. * 0b00000010..CH1
  11449. * 0b00000100..CH2
  11450. * 0b00001000..CH3
  11451. */
  11452. #define DCP_CHANNELCTRL_HIGH_PRIORITY_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_HIGH_PRIORITY_CHANNEL_SHIFT)) & DCP_CHANNELCTRL_HIGH_PRIORITY_CHANNEL_MASK)
  11453. #define DCP_CHANNELCTRL_CH0_IRQ_MERGED_MASK (0x10000U)
  11454. #define DCP_CHANNELCTRL_CH0_IRQ_MERGED_SHIFT (16U)
  11455. #define DCP_CHANNELCTRL_CH0_IRQ_MERGED(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_CH0_IRQ_MERGED_SHIFT)) & DCP_CHANNELCTRL_CH0_IRQ_MERGED_MASK)
  11456. #define DCP_CHANNELCTRL_RSVD_MASK (0xFFFE0000U)
  11457. #define DCP_CHANNELCTRL_RSVD_SHIFT (17U)
  11458. #define DCP_CHANNELCTRL_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_RSVD_SHIFT)) & DCP_CHANNELCTRL_RSVD_MASK)
  11459. /*! @} */
  11460. /*! @name CHANNELCTRL_SET - DCP channel control register */
  11461. /*! @{ */
  11462. #define DCP_CHANNELCTRL_SET_ENABLE_CHANNEL_MASK (0xFFU)
  11463. #define DCP_CHANNELCTRL_SET_ENABLE_CHANNEL_SHIFT (0U)
  11464. /*! ENABLE_CHANNEL
  11465. * 0b00000001..CH0
  11466. * 0b00000010..CH1
  11467. * 0b00000100..CH2
  11468. * 0b00001000..CH3
  11469. */
  11470. #define DCP_CHANNELCTRL_SET_ENABLE_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_SET_ENABLE_CHANNEL_SHIFT)) & DCP_CHANNELCTRL_SET_ENABLE_CHANNEL_MASK)
  11471. #define DCP_CHANNELCTRL_SET_HIGH_PRIORITY_CHANNEL_MASK (0xFF00U)
  11472. #define DCP_CHANNELCTRL_SET_HIGH_PRIORITY_CHANNEL_SHIFT (8U)
  11473. /*! HIGH_PRIORITY_CHANNEL
  11474. * 0b00000001..CH0
  11475. * 0b00000010..CH1
  11476. * 0b00000100..CH2
  11477. * 0b00001000..CH3
  11478. */
  11479. #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)
  11480. #define DCP_CHANNELCTRL_SET_CH0_IRQ_MERGED_MASK (0x10000U)
  11481. #define DCP_CHANNELCTRL_SET_CH0_IRQ_MERGED_SHIFT (16U)
  11482. #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)
  11483. #define DCP_CHANNELCTRL_SET_RSVD_MASK (0xFFFE0000U)
  11484. #define DCP_CHANNELCTRL_SET_RSVD_SHIFT (17U)
  11485. #define DCP_CHANNELCTRL_SET_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_SET_RSVD_SHIFT)) & DCP_CHANNELCTRL_SET_RSVD_MASK)
  11486. /*! @} */
  11487. /*! @name CHANNELCTRL_CLR - DCP channel control register */
  11488. /*! @{ */
  11489. #define DCP_CHANNELCTRL_CLR_ENABLE_CHANNEL_MASK (0xFFU)
  11490. #define DCP_CHANNELCTRL_CLR_ENABLE_CHANNEL_SHIFT (0U)
  11491. /*! ENABLE_CHANNEL
  11492. * 0b00000001..CH0
  11493. * 0b00000010..CH1
  11494. * 0b00000100..CH2
  11495. * 0b00001000..CH3
  11496. */
  11497. #define DCP_CHANNELCTRL_CLR_ENABLE_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_CLR_ENABLE_CHANNEL_SHIFT)) & DCP_CHANNELCTRL_CLR_ENABLE_CHANNEL_MASK)
  11498. #define DCP_CHANNELCTRL_CLR_HIGH_PRIORITY_CHANNEL_MASK (0xFF00U)
  11499. #define DCP_CHANNELCTRL_CLR_HIGH_PRIORITY_CHANNEL_SHIFT (8U)
  11500. /*! HIGH_PRIORITY_CHANNEL
  11501. * 0b00000001..CH0
  11502. * 0b00000010..CH1
  11503. * 0b00000100..CH2
  11504. * 0b00001000..CH3
  11505. */
  11506. #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)
  11507. #define DCP_CHANNELCTRL_CLR_CH0_IRQ_MERGED_MASK (0x10000U)
  11508. #define DCP_CHANNELCTRL_CLR_CH0_IRQ_MERGED_SHIFT (16U)
  11509. #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)
  11510. #define DCP_CHANNELCTRL_CLR_RSVD_MASK (0xFFFE0000U)
  11511. #define DCP_CHANNELCTRL_CLR_RSVD_SHIFT (17U)
  11512. #define DCP_CHANNELCTRL_CLR_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_CLR_RSVD_SHIFT)) & DCP_CHANNELCTRL_CLR_RSVD_MASK)
  11513. /*! @} */
  11514. /*! @name CHANNELCTRL_TOG - DCP channel control register */
  11515. /*! @{ */
  11516. #define DCP_CHANNELCTRL_TOG_ENABLE_CHANNEL_MASK (0xFFU)
  11517. #define DCP_CHANNELCTRL_TOG_ENABLE_CHANNEL_SHIFT (0U)
  11518. /*! ENABLE_CHANNEL
  11519. * 0b00000001..CH0
  11520. * 0b00000010..CH1
  11521. * 0b00000100..CH2
  11522. * 0b00001000..CH3
  11523. */
  11524. #define DCP_CHANNELCTRL_TOG_ENABLE_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_TOG_ENABLE_CHANNEL_SHIFT)) & DCP_CHANNELCTRL_TOG_ENABLE_CHANNEL_MASK)
  11525. #define DCP_CHANNELCTRL_TOG_HIGH_PRIORITY_CHANNEL_MASK (0xFF00U)
  11526. #define DCP_CHANNELCTRL_TOG_HIGH_PRIORITY_CHANNEL_SHIFT (8U)
  11527. /*! HIGH_PRIORITY_CHANNEL
  11528. * 0b00000001..CH0
  11529. * 0b00000010..CH1
  11530. * 0b00000100..CH2
  11531. * 0b00001000..CH3
  11532. */
  11533. #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)
  11534. #define DCP_CHANNELCTRL_TOG_CH0_IRQ_MERGED_MASK (0x10000U)
  11535. #define DCP_CHANNELCTRL_TOG_CH0_IRQ_MERGED_SHIFT (16U)
  11536. #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)
  11537. #define DCP_CHANNELCTRL_TOG_RSVD_MASK (0xFFFE0000U)
  11538. #define DCP_CHANNELCTRL_TOG_RSVD_SHIFT (17U)
  11539. #define DCP_CHANNELCTRL_TOG_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CHANNELCTRL_TOG_RSVD_SHIFT)) & DCP_CHANNELCTRL_TOG_RSVD_MASK)
  11540. /*! @} */
  11541. /*! @name CAPABILITY0 - DCP capability 0 register */
  11542. /*! @{ */
  11543. #define DCP_CAPABILITY0_NUM_KEYS_MASK (0xFFU)
  11544. #define DCP_CAPABILITY0_NUM_KEYS_SHIFT (0U)
  11545. #define DCP_CAPABILITY0_NUM_KEYS(x) (((uint32_t)(((uint32_t)(x)) << DCP_CAPABILITY0_NUM_KEYS_SHIFT)) & DCP_CAPABILITY0_NUM_KEYS_MASK)
  11546. #define DCP_CAPABILITY0_NUM_CHANNELS_MASK (0xF00U)
  11547. #define DCP_CAPABILITY0_NUM_CHANNELS_SHIFT (8U)
  11548. #define DCP_CAPABILITY0_NUM_CHANNELS(x) (((uint32_t)(((uint32_t)(x)) << DCP_CAPABILITY0_NUM_CHANNELS_SHIFT)) & DCP_CAPABILITY0_NUM_CHANNELS_MASK)
  11549. #define DCP_CAPABILITY0_RSVD_MASK (0x1FFFF000U)
  11550. #define DCP_CAPABILITY0_RSVD_SHIFT (12U)
  11551. #define DCP_CAPABILITY0_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CAPABILITY0_RSVD_SHIFT)) & DCP_CAPABILITY0_RSVD_MASK)
  11552. #define DCP_CAPABILITY0_DISABLE_UNIQUE_KEY_MASK (0x20000000U)
  11553. #define DCP_CAPABILITY0_DISABLE_UNIQUE_KEY_SHIFT (29U)
  11554. #define DCP_CAPABILITY0_DISABLE_UNIQUE_KEY(x) (((uint32_t)(((uint32_t)(x)) << DCP_CAPABILITY0_DISABLE_UNIQUE_KEY_SHIFT)) & DCP_CAPABILITY0_DISABLE_UNIQUE_KEY_MASK)
  11555. #define DCP_CAPABILITY0_DISABLE_DECRYPT_MASK (0x80000000U)
  11556. #define DCP_CAPABILITY0_DISABLE_DECRYPT_SHIFT (31U)
  11557. #define DCP_CAPABILITY0_DISABLE_DECRYPT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CAPABILITY0_DISABLE_DECRYPT_SHIFT)) & DCP_CAPABILITY0_DISABLE_DECRYPT_MASK)
  11558. /*! @} */
  11559. /*! @name CAPABILITY1 - DCP capability 1 register */
  11560. /*! @{ */
  11561. #define DCP_CAPABILITY1_CIPHER_ALGORITHMS_MASK (0xFFFFU)
  11562. #define DCP_CAPABILITY1_CIPHER_ALGORITHMS_SHIFT (0U)
  11563. /*! CIPHER_ALGORITHMS
  11564. * 0b0000000000000001..AES128
  11565. */
  11566. #define DCP_CAPABILITY1_CIPHER_ALGORITHMS(x) (((uint32_t)(((uint32_t)(x)) << DCP_CAPABILITY1_CIPHER_ALGORITHMS_SHIFT)) & DCP_CAPABILITY1_CIPHER_ALGORITHMS_MASK)
  11567. #define DCP_CAPABILITY1_HASH_ALGORITHMS_MASK (0xFFFF0000U)
  11568. #define DCP_CAPABILITY1_HASH_ALGORITHMS_SHIFT (16U)
  11569. /*! HASH_ALGORITHMS
  11570. * 0b0000000000000001..SHA1
  11571. * 0b0000000000000010..CRC32
  11572. * 0b0000000000000100..SHA256
  11573. */
  11574. #define DCP_CAPABILITY1_HASH_ALGORITHMS(x) (((uint32_t)(((uint32_t)(x)) << DCP_CAPABILITY1_HASH_ALGORITHMS_SHIFT)) & DCP_CAPABILITY1_HASH_ALGORITHMS_MASK)
  11575. /*! @} */
  11576. /*! @name CONTEXT - DCP context buffer pointer */
  11577. /*! @{ */
  11578. #define DCP_CONTEXT_ADDR_MASK (0xFFFFFFFFU)
  11579. #define DCP_CONTEXT_ADDR_SHIFT (0U)
  11580. #define DCP_CONTEXT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DCP_CONTEXT_ADDR_SHIFT)) & DCP_CONTEXT_ADDR_MASK)
  11581. /*! @} */
  11582. /*! @name KEY - DCP key index */
  11583. /*! @{ */
  11584. #define DCP_KEY_SUBWORD_MASK (0x3U)
  11585. #define DCP_KEY_SUBWORD_SHIFT (0U)
  11586. #define DCP_KEY_SUBWORD(x) (((uint32_t)(((uint32_t)(x)) << DCP_KEY_SUBWORD_SHIFT)) & DCP_KEY_SUBWORD_MASK)
  11587. #define DCP_KEY_RSVD_SUBWORD_MASK (0xCU)
  11588. #define DCP_KEY_RSVD_SUBWORD_SHIFT (2U)
  11589. #define DCP_KEY_RSVD_SUBWORD(x) (((uint32_t)(((uint32_t)(x)) << DCP_KEY_RSVD_SUBWORD_SHIFT)) & DCP_KEY_RSVD_SUBWORD_MASK)
  11590. #define DCP_KEY_INDEX_MASK (0x30U)
  11591. #define DCP_KEY_INDEX_SHIFT (4U)
  11592. #define DCP_KEY_INDEX(x) (((uint32_t)(((uint32_t)(x)) << DCP_KEY_INDEX_SHIFT)) & DCP_KEY_INDEX_MASK)
  11593. #define DCP_KEY_RSVD_INDEX_MASK (0xC0U)
  11594. #define DCP_KEY_RSVD_INDEX_SHIFT (6U)
  11595. #define DCP_KEY_RSVD_INDEX(x) (((uint32_t)(((uint32_t)(x)) << DCP_KEY_RSVD_INDEX_SHIFT)) & DCP_KEY_RSVD_INDEX_MASK)
  11596. #define DCP_KEY_RSVD_MASK (0xFFFFFF00U)
  11597. #define DCP_KEY_RSVD_SHIFT (8U)
  11598. #define DCP_KEY_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_KEY_RSVD_SHIFT)) & DCP_KEY_RSVD_MASK)
  11599. /*! @} */
  11600. /*! @name KEYDATA - DCP key data */
  11601. /*! @{ */
  11602. #define DCP_KEYDATA_DATA_MASK (0xFFFFFFFFU)
  11603. #define DCP_KEYDATA_DATA_SHIFT (0U)
  11604. #define DCP_KEYDATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << DCP_KEYDATA_DATA_SHIFT)) & DCP_KEYDATA_DATA_MASK)
  11605. /*! @} */
  11606. /*! @name PACKET0 - DCP work packet 0 status register */
  11607. /*! @{ */
  11608. #define DCP_PACKET0_ADDR_MASK (0xFFFFFFFFU)
  11609. #define DCP_PACKET0_ADDR_SHIFT (0U)
  11610. #define DCP_PACKET0_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET0_ADDR_SHIFT)) & DCP_PACKET0_ADDR_MASK)
  11611. /*! @} */
  11612. /*! @name PACKET1 - DCP work packet 1 status register */
  11613. /*! @{ */
  11614. #define DCP_PACKET1_INTERRUPT_MASK (0x1U)
  11615. #define DCP_PACKET1_INTERRUPT_SHIFT (0U)
  11616. #define DCP_PACKET1_INTERRUPT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_INTERRUPT_SHIFT)) & DCP_PACKET1_INTERRUPT_MASK)
  11617. #define DCP_PACKET1_DECR_SEMAPHORE_MASK (0x2U)
  11618. #define DCP_PACKET1_DECR_SEMAPHORE_SHIFT (1U)
  11619. #define DCP_PACKET1_DECR_SEMAPHORE(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_DECR_SEMAPHORE_SHIFT)) & DCP_PACKET1_DECR_SEMAPHORE_MASK)
  11620. #define DCP_PACKET1_CHAIN_MASK (0x4U)
  11621. #define DCP_PACKET1_CHAIN_SHIFT (2U)
  11622. #define DCP_PACKET1_CHAIN(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_CHAIN_SHIFT)) & DCP_PACKET1_CHAIN_MASK)
  11623. #define DCP_PACKET1_CHAIN_CONTIGUOUS_MASK (0x8U)
  11624. #define DCP_PACKET1_CHAIN_CONTIGUOUS_SHIFT (3U)
  11625. #define DCP_PACKET1_CHAIN_CONTIGUOUS(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_CHAIN_CONTIGUOUS_SHIFT)) & DCP_PACKET1_CHAIN_CONTIGUOUS_MASK)
  11626. #define DCP_PACKET1_ENABLE_MEMCOPY_MASK (0x10U)
  11627. #define DCP_PACKET1_ENABLE_MEMCOPY_SHIFT (4U)
  11628. #define DCP_PACKET1_ENABLE_MEMCOPY(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_ENABLE_MEMCOPY_SHIFT)) & DCP_PACKET1_ENABLE_MEMCOPY_MASK)
  11629. #define DCP_PACKET1_ENABLE_CIPHER_MASK (0x20U)
  11630. #define DCP_PACKET1_ENABLE_CIPHER_SHIFT (5U)
  11631. #define DCP_PACKET1_ENABLE_CIPHER(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_ENABLE_CIPHER_SHIFT)) & DCP_PACKET1_ENABLE_CIPHER_MASK)
  11632. #define DCP_PACKET1_ENABLE_HASH_MASK (0x40U)
  11633. #define DCP_PACKET1_ENABLE_HASH_SHIFT (6U)
  11634. #define DCP_PACKET1_ENABLE_HASH(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_ENABLE_HASH_SHIFT)) & DCP_PACKET1_ENABLE_HASH_MASK)
  11635. #define DCP_PACKET1_ENABLE_BLIT_MASK (0x80U)
  11636. #define DCP_PACKET1_ENABLE_BLIT_SHIFT (7U)
  11637. #define DCP_PACKET1_ENABLE_BLIT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_ENABLE_BLIT_SHIFT)) & DCP_PACKET1_ENABLE_BLIT_MASK)
  11638. #define DCP_PACKET1_CIPHER_ENCRYPT_MASK (0x100U)
  11639. #define DCP_PACKET1_CIPHER_ENCRYPT_SHIFT (8U)
  11640. /*! CIPHER_ENCRYPT
  11641. * 0b1..ENCRYPT
  11642. * 0b0..DECRYPT
  11643. */
  11644. #define DCP_PACKET1_CIPHER_ENCRYPT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_CIPHER_ENCRYPT_SHIFT)) & DCP_PACKET1_CIPHER_ENCRYPT_MASK)
  11645. #define DCP_PACKET1_CIPHER_INIT_MASK (0x200U)
  11646. #define DCP_PACKET1_CIPHER_INIT_SHIFT (9U)
  11647. #define DCP_PACKET1_CIPHER_INIT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_CIPHER_INIT_SHIFT)) & DCP_PACKET1_CIPHER_INIT_MASK)
  11648. #define DCP_PACKET1_OTP_KEY_MASK (0x400U)
  11649. #define DCP_PACKET1_OTP_KEY_SHIFT (10U)
  11650. #define DCP_PACKET1_OTP_KEY(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_OTP_KEY_SHIFT)) & DCP_PACKET1_OTP_KEY_MASK)
  11651. #define DCP_PACKET1_PAYLOAD_KEY_MASK (0x800U)
  11652. #define DCP_PACKET1_PAYLOAD_KEY_SHIFT (11U)
  11653. #define DCP_PACKET1_PAYLOAD_KEY(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_PAYLOAD_KEY_SHIFT)) & DCP_PACKET1_PAYLOAD_KEY_MASK)
  11654. #define DCP_PACKET1_HASH_INIT_MASK (0x1000U)
  11655. #define DCP_PACKET1_HASH_INIT_SHIFT (12U)
  11656. #define DCP_PACKET1_HASH_INIT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_HASH_INIT_SHIFT)) & DCP_PACKET1_HASH_INIT_MASK)
  11657. #define DCP_PACKET1_HASH_TERM_MASK (0x2000U)
  11658. #define DCP_PACKET1_HASH_TERM_SHIFT (13U)
  11659. #define DCP_PACKET1_HASH_TERM(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_HASH_TERM_SHIFT)) & DCP_PACKET1_HASH_TERM_MASK)
  11660. #define DCP_PACKET1_CHECK_HASH_MASK (0x4000U)
  11661. #define DCP_PACKET1_CHECK_HASH_SHIFT (14U)
  11662. #define DCP_PACKET1_CHECK_HASH(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_CHECK_HASH_SHIFT)) & DCP_PACKET1_CHECK_HASH_MASK)
  11663. #define DCP_PACKET1_HASH_OUTPUT_MASK (0x8000U)
  11664. #define DCP_PACKET1_HASH_OUTPUT_SHIFT (15U)
  11665. /*! HASH_OUTPUT
  11666. * 0b0..INPUT
  11667. * 0b1..OUTPUT
  11668. */
  11669. #define DCP_PACKET1_HASH_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_HASH_OUTPUT_SHIFT)) & DCP_PACKET1_HASH_OUTPUT_MASK)
  11670. #define DCP_PACKET1_CONSTANT_FILL_MASK (0x10000U)
  11671. #define DCP_PACKET1_CONSTANT_FILL_SHIFT (16U)
  11672. #define DCP_PACKET1_CONSTANT_FILL(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_CONSTANT_FILL_SHIFT)) & DCP_PACKET1_CONSTANT_FILL_MASK)
  11673. #define DCP_PACKET1_TEST_SEMA_IRQ_MASK (0x20000U)
  11674. #define DCP_PACKET1_TEST_SEMA_IRQ_SHIFT (17U)
  11675. #define DCP_PACKET1_TEST_SEMA_IRQ(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_TEST_SEMA_IRQ_SHIFT)) & DCP_PACKET1_TEST_SEMA_IRQ_MASK)
  11676. #define DCP_PACKET1_KEY_BYTESWAP_MASK (0x40000U)
  11677. #define DCP_PACKET1_KEY_BYTESWAP_SHIFT (18U)
  11678. #define DCP_PACKET1_KEY_BYTESWAP(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_KEY_BYTESWAP_SHIFT)) & DCP_PACKET1_KEY_BYTESWAP_MASK)
  11679. #define DCP_PACKET1_KEY_WORDSWAP_MASK (0x80000U)
  11680. #define DCP_PACKET1_KEY_WORDSWAP_SHIFT (19U)
  11681. #define DCP_PACKET1_KEY_WORDSWAP(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_KEY_WORDSWAP_SHIFT)) & DCP_PACKET1_KEY_WORDSWAP_MASK)
  11682. #define DCP_PACKET1_INPUT_BYTESWAP_MASK (0x100000U)
  11683. #define DCP_PACKET1_INPUT_BYTESWAP_SHIFT (20U)
  11684. #define DCP_PACKET1_INPUT_BYTESWAP(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_INPUT_BYTESWAP_SHIFT)) & DCP_PACKET1_INPUT_BYTESWAP_MASK)
  11685. #define DCP_PACKET1_INPUT_WORDSWAP_MASK (0x200000U)
  11686. #define DCP_PACKET1_INPUT_WORDSWAP_SHIFT (21U)
  11687. #define DCP_PACKET1_INPUT_WORDSWAP(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_INPUT_WORDSWAP_SHIFT)) & DCP_PACKET1_INPUT_WORDSWAP_MASK)
  11688. #define DCP_PACKET1_OUTPUT_BYTESWAP_MASK (0x400000U)
  11689. #define DCP_PACKET1_OUTPUT_BYTESWAP_SHIFT (22U)
  11690. #define DCP_PACKET1_OUTPUT_BYTESWAP(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_OUTPUT_BYTESWAP_SHIFT)) & DCP_PACKET1_OUTPUT_BYTESWAP_MASK)
  11691. #define DCP_PACKET1_OUTPUT_WORDSWAP_MASK (0x800000U)
  11692. #define DCP_PACKET1_OUTPUT_WORDSWAP_SHIFT (23U)
  11693. #define DCP_PACKET1_OUTPUT_WORDSWAP(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_OUTPUT_WORDSWAP_SHIFT)) & DCP_PACKET1_OUTPUT_WORDSWAP_MASK)
  11694. #define DCP_PACKET1_TAG_MASK (0xFF000000U)
  11695. #define DCP_PACKET1_TAG_SHIFT (24U)
  11696. #define DCP_PACKET1_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET1_TAG_SHIFT)) & DCP_PACKET1_TAG_MASK)
  11697. /*! @} */
  11698. /*! @name PACKET2 - DCP work packet 2 status register */
  11699. /*! @{ */
  11700. #define DCP_PACKET2_CIPHER_SELECT_MASK (0xFU)
  11701. #define DCP_PACKET2_CIPHER_SELECT_SHIFT (0U)
  11702. /*! CIPHER_SELECT
  11703. * 0b0000..AES128
  11704. */
  11705. #define DCP_PACKET2_CIPHER_SELECT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET2_CIPHER_SELECT_SHIFT)) & DCP_PACKET2_CIPHER_SELECT_MASK)
  11706. #define DCP_PACKET2_CIPHER_MODE_MASK (0xF0U)
  11707. #define DCP_PACKET2_CIPHER_MODE_SHIFT (4U)
  11708. /*! CIPHER_MODE
  11709. * 0b0000..ECB
  11710. * 0b0001..CBC
  11711. */
  11712. #define DCP_PACKET2_CIPHER_MODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET2_CIPHER_MODE_SHIFT)) & DCP_PACKET2_CIPHER_MODE_MASK)
  11713. #define DCP_PACKET2_KEY_SELECT_MASK (0xFF00U)
  11714. #define DCP_PACKET2_KEY_SELECT_SHIFT (8U)
  11715. /*! KEY_SELECT
  11716. * 0b00000000..KEY0
  11717. * 0b00000001..KEY1
  11718. * 0b00000010..KEY2
  11719. * 0b00000011..KEY3
  11720. * 0b11111110..UNIQUE_KEY
  11721. * 0b11111111..OTP_KEY
  11722. */
  11723. #define DCP_PACKET2_KEY_SELECT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET2_KEY_SELECT_SHIFT)) & DCP_PACKET2_KEY_SELECT_MASK)
  11724. #define DCP_PACKET2_HASH_SELECT_MASK (0xF0000U)
  11725. #define DCP_PACKET2_HASH_SELECT_SHIFT (16U)
  11726. /*! HASH_SELECT
  11727. * 0b0000..SHA1
  11728. * 0b0001..CRC32
  11729. * 0b0010..SHA256
  11730. */
  11731. #define DCP_PACKET2_HASH_SELECT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET2_HASH_SELECT_SHIFT)) & DCP_PACKET2_HASH_SELECT_MASK)
  11732. #define DCP_PACKET2_RSVD_MASK (0xF00000U)
  11733. #define DCP_PACKET2_RSVD_SHIFT (20U)
  11734. #define DCP_PACKET2_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET2_RSVD_SHIFT)) & DCP_PACKET2_RSVD_MASK)
  11735. #define DCP_PACKET2_CIPHER_CFG_MASK (0xFF000000U)
  11736. #define DCP_PACKET2_CIPHER_CFG_SHIFT (24U)
  11737. #define DCP_PACKET2_CIPHER_CFG(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET2_CIPHER_CFG_SHIFT)) & DCP_PACKET2_CIPHER_CFG_MASK)
  11738. /*! @} */
  11739. /*! @name PACKET3 - DCP work packet 3 status register */
  11740. /*! @{ */
  11741. #define DCP_PACKET3_ADDR_MASK (0xFFFFFFFFU)
  11742. #define DCP_PACKET3_ADDR_SHIFT (0U)
  11743. #define DCP_PACKET3_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET3_ADDR_SHIFT)) & DCP_PACKET3_ADDR_MASK)
  11744. /*! @} */
  11745. /*! @name PACKET4 - DCP work packet 4 status register */
  11746. /*! @{ */
  11747. #define DCP_PACKET4_ADDR_MASK (0xFFFFFFFFU)
  11748. #define DCP_PACKET4_ADDR_SHIFT (0U)
  11749. #define DCP_PACKET4_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET4_ADDR_SHIFT)) & DCP_PACKET4_ADDR_MASK)
  11750. /*! @} */
  11751. /*! @name PACKET5 - DCP work packet 5 status register */
  11752. /*! @{ */
  11753. #define DCP_PACKET5_COUNT_MASK (0xFFFFFFFFU)
  11754. #define DCP_PACKET5_COUNT_SHIFT (0U)
  11755. #define DCP_PACKET5_COUNT(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET5_COUNT_SHIFT)) & DCP_PACKET5_COUNT_MASK)
  11756. /*! @} */
  11757. /*! @name PACKET6 - DCP work packet 6 status register */
  11758. /*! @{ */
  11759. #define DCP_PACKET6_ADDR_MASK (0xFFFFFFFFU)
  11760. #define DCP_PACKET6_ADDR_SHIFT (0U)
  11761. #define DCP_PACKET6_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DCP_PACKET6_ADDR_SHIFT)) & DCP_PACKET6_ADDR_MASK)
  11762. /*! @} */
  11763. /*! @name CH0CMDPTR - DCP channel 0 command pointer address register */
  11764. /*! @{ */
  11765. #define DCP_CH0CMDPTR_ADDR_MASK (0xFFFFFFFFU)
  11766. #define DCP_CH0CMDPTR_ADDR_SHIFT (0U)
  11767. #define DCP_CH0CMDPTR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0CMDPTR_ADDR_SHIFT)) & DCP_CH0CMDPTR_ADDR_MASK)
  11768. /*! @} */
  11769. /*! @name CH0SEMA - DCP channel 0 semaphore register */
  11770. /*! @{ */
  11771. #define DCP_CH0SEMA_INCREMENT_MASK (0xFFU)
  11772. #define DCP_CH0SEMA_INCREMENT_SHIFT (0U)
  11773. #define DCP_CH0SEMA_INCREMENT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0SEMA_INCREMENT_SHIFT)) & DCP_CH0SEMA_INCREMENT_MASK)
  11774. #define DCP_CH0SEMA_VALUE_MASK (0xFF0000U)
  11775. #define DCP_CH0SEMA_VALUE_SHIFT (16U)
  11776. #define DCP_CH0SEMA_VALUE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0SEMA_VALUE_SHIFT)) & DCP_CH0SEMA_VALUE_MASK)
  11777. /*! @} */
  11778. /*! @name CH0STAT - DCP channel 0 status register */
  11779. /*! @{ */
  11780. #define DCP_CH0STAT_RSVD_COMPLETE_MASK (0x1U)
  11781. #define DCP_CH0STAT_RSVD_COMPLETE_SHIFT (0U)
  11782. #define DCP_CH0STAT_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_RSVD_COMPLETE_SHIFT)) & DCP_CH0STAT_RSVD_COMPLETE_MASK)
  11783. #define DCP_CH0STAT_HASH_MISMATCH_MASK (0x2U)
  11784. #define DCP_CH0STAT_HASH_MISMATCH_SHIFT (1U)
  11785. #define DCP_CH0STAT_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_HASH_MISMATCH_SHIFT)) & DCP_CH0STAT_HASH_MISMATCH_MASK)
  11786. #define DCP_CH0STAT_ERROR_SETUP_MASK (0x4U)
  11787. #define DCP_CH0STAT_ERROR_SETUP_SHIFT (2U)
  11788. #define DCP_CH0STAT_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_ERROR_SETUP_SHIFT)) & DCP_CH0STAT_ERROR_SETUP_MASK)
  11789. #define DCP_CH0STAT_ERROR_PACKET_MASK (0x8U)
  11790. #define DCP_CH0STAT_ERROR_PACKET_SHIFT (3U)
  11791. #define DCP_CH0STAT_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_ERROR_PACKET_SHIFT)) & DCP_CH0STAT_ERROR_PACKET_MASK)
  11792. #define DCP_CH0STAT_ERROR_SRC_MASK (0x10U)
  11793. #define DCP_CH0STAT_ERROR_SRC_SHIFT (4U)
  11794. #define DCP_CH0STAT_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_ERROR_SRC_SHIFT)) & DCP_CH0STAT_ERROR_SRC_MASK)
  11795. #define DCP_CH0STAT_ERROR_DST_MASK (0x20U)
  11796. #define DCP_CH0STAT_ERROR_DST_SHIFT (5U)
  11797. #define DCP_CH0STAT_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_ERROR_DST_SHIFT)) & DCP_CH0STAT_ERROR_DST_MASK)
  11798. #define DCP_CH0STAT_ERROR_PAGEFAULT_MASK (0x40U)
  11799. #define DCP_CH0STAT_ERROR_PAGEFAULT_SHIFT (6U)
  11800. #define DCP_CH0STAT_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_ERROR_PAGEFAULT_SHIFT)) & DCP_CH0STAT_ERROR_PAGEFAULT_MASK)
  11801. #define DCP_CH0STAT_ERROR_CODE_MASK (0xFF0000U)
  11802. #define DCP_CH0STAT_ERROR_CODE_SHIFT (16U)
  11803. /*! ERROR_CODE
  11804. * 0b00000001..Error signalled because the next pointer is 0x00000000
  11805. * 0b00000010..Error signalled because the semaphore is non-zero and neither chain bit is set
  11806. * 0b00000011..Error signalled because an error is reported reading/writing the context buffer
  11807. * 0b00000100..Error signalled because an error is reported reading/writing the payload
  11808. * 0b00000101..Error signalled because the control packet specifies an invalid mode select (for instance, blit + hash)
  11809. */
  11810. #define DCP_CH0STAT_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_ERROR_CODE_SHIFT)) & DCP_CH0STAT_ERROR_CODE_MASK)
  11811. #define DCP_CH0STAT_TAG_MASK (0xFF000000U)
  11812. #define DCP_CH0STAT_TAG_SHIFT (24U)
  11813. #define DCP_CH0STAT_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TAG_SHIFT)) & DCP_CH0STAT_TAG_MASK)
  11814. /*! @} */
  11815. /*! @name CH0STAT_SET - DCP channel 0 status register */
  11816. /*! @{ */
  11817. #define DCP_CH0STAT_SET_RSVD_COMPLETE_MASK (0x1U)
  11818. #define DCP_CH0STAT_SET_RSVD_COMPLETE_SHIFT (0U)
  11819. #define DCP_CH0STAT_SET_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_SET_RSVD_COMPLETE_SHIFT)) & DCP_CH0STAT_SET_RSVD_COMPLETE_MASK)
  11820. #define DCP_CH0STAT_SET_HASH_MISMATCH_MASK (0x2U)
  11821. #define DCP_CH0STAT_SET_HASH_MISMATCH_SHIFT (1U)
  11822. #define DCP_CH0STAT_SET_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_SET_HASH_MISMATCH_SHIFT)) & DCP_CH0STAT_SET_HASH_MISMATCH_MASK)
  11823. #define DCP_CH0STAT_SET_ERROR_SETUP_MASK (0x4U)
  11824. #define DCP_CH0STAT_SET_ERROR_SETUP_SHIFT (2U)
  11825. #define DCP_CH0STAT_SET_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_SET_ERROR_SETUP_SHIFT)) & DCP_CH0STAT_SET_ERROR_SETUP_MASK)
  11826. #define DCP_CH0STAT_SET_ERROR_PACKET_MASK (0x8U)
  11827. #define DCP_CH0STAT_SET_ERROR_PACKET_SHIFT (3U)
  11828. #define DCP_CH0STAT_SET_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_SET_ERROR_PACKET_SHIFT)) & DCP_CH0STAT_SET_ERROR_PACKET_MASK)
  11829. #define DCP_CH0STAT_SET_ERROR_SRC_MASK (0x10U)
  11830. #define DCP_CH0STAT_SET_ERROR_SRC_SHIFT (4U)
  11831. #define DCP_CH0STAT_SET_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_SET_ERROR_SRC_SHIFT)) & DCP_CH0STAT_SET_ERROR_SRC_MASK)
  11832. #define DCP_CH0STAT_SET_ERROR_DST_MASK (0x20U)
  11833. #define DCP_CH0STAT_SET_ERROR_DST_SHIFT (5U)
  11834. #define DCP_CH0STAT_SET_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_SET_ERROR_DST_SHIFT)) & DCP_CH0STAT_SET_ERROR_DST_MASK)
  11835. #define DCP_CH0STAT_SET_ERROR_PAGEFAULT_MASK (0x40U)
  11836. #define DCP_CH0STAT_SET_ERROR_PAGEFAULT_SHIFT (6U)
  11837. #define DCP_CH0STAT_SET_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_SET_ERROR_PAGEFAULT_SHIFT)) & DCP_CH0STAT_SET_ERROR_PAGEFAULT_MASK)
  11838. #define DCP_CH0STAT_SET_ERROR_CODE_MASK (0xFF0000U)
  11839. #define DCP_CH0STAT_SET_ERROR_CODE_SHIFT (16U)
  11840. /*! ERROR_CODE
  11841. * 0b00000001..Error signalled because the next pointer is 0x00000000
  11842. * 0b00000010..Error signalled because the semaphore is non-zero and neither chain bit is set
  11843. * 0b00000011..Error signalled because an error is reported reading/writing the context buffer
  11844. * 0b00000100..Error signalled because an error is reported reading/writing the payload
  11845. * 0b00000101..Error signalled because the control packet specifies an invalid mode select (for instance, blit + hash)
  11846. */
  11847. #define DCP_CH0STAT_SET_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_SET_ERROR_CODE_SHIFT)) & DCP_CH0STAT_SET_ERROR_CODE_MASK)
  11848. #define DCP_CH0STAT_SET_TAG_MASK (0xFF000000U)
  11849. #define DCP_CH0STAT_SET_TAG_SHIFT (24U)
  11850. #define DCP_CH0STAT_SET_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_SET_TAG_SHIFT)) & DCP_CH0STAT_SET_TAG_MASK)
  11851. /*! @} */
  11852. /*! @name CH0STAT_CLR - DCP channel 0 status register */
  11853. /*! @{ */
  11854. #define DCP_CH0STAT_CLR_RSVD_COMPLETE_MASK (0x1U)
  11855. #define DCP_CH0STAT_CLR_RSVD_COMPLETE_SHIFT (0U)
  11856. #define DCP_CH0STAT_CLR_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_CLR_RSVD_COMPLETE_SHIFT)) & DCP_CH0STAT_CLR_RSVD_COMPLETE_MASK)
  11857. #define DCP_CH0STAT_CLR_HASH_MISMATCH_MASK (0x2U)
  11858. #define DCP_CH0STAT_CLR_HASH_MISMATCH_SHIFT (1U)
  11859. #define DCP_CH0STAT_CLR_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_CLR_HASH_MISMATCH_SHIFT)) & DCP_CH0STAT_CLR_HASH_MISMATCH_MASK)
  11860. #define DCP_CH0STAT_CLR_ERROR_SETUP_MASK (0x4U)
  11861. #define DCP_CH0STAT_CLR_ERROR_SETUP_SHIFT (2U)
  11862. #define DCP_CH0STAT_CLR_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_CLR_ERROR_SETUP_SHIFT)) & DCP_CH0STAT_CLR_ERROR_SETUP_MASK)
  11863. #define DCP_CH0STAT_CLR_ERROR_PACKET_MASK (0x8U)
  11864. #define DCP_CH0STAT_CLR_ERROR_PACKET_SHIFT (3U)
  11865. #define DCP_CH0STAT_CLR_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_CLR_ERROR_PACKET_SHIFT)) & DCP_CH0STAT_CLR_ERROR_PACKET_MASK)
  11866. #define DCP_CH0STAT_CLR_ERROR_SRC_MASK (0x10U)
  11867. #define DCP_CH0STAT_CLR_ERROR_SRC_SHIFT (4U)
  11868. #define DCP_CH0STAT_CLR_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_CLR_ERROR_SRC_SHIFT)) & DCP_CH0STAT_CLR_ERROR_SRC_MASK)
  11869. #define DCP_CH0STAT_CLR_ERROR_DST_MASK (0x20U)
  11870. #define DCP_CH0STAT_CLR_ERROR_DST_SHIFT (5U)
  11871. #define DCP_CH0STAT_CLR_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_CLR_ERROR_DST_SHIFT)) & DCP_CH0STAT_CLR_ERROR_DST_MASK)
  11872. #define DCP_CH0STAT_CLR_ERROR_PAGEFAULT_MASK (0x40U)
  11873. #define DCP_CH0STAT_CLR_ERROR_PAGEFAULT_SHIFT (6U)
  11874. #define DCP_CH0STAT_CLR_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_CLR_ERROR_PAGEFAULT_SHIFT)) & DCP_CH0STAT_CLR_ERROR_PAGEFAULT_MASK)
  11875. #define DCP_CH0STAT_CLR_ERROR_CODE_MASK (0xFF0000U)
  11876. #define DCP_CH0STAT_CLR_ERROR_CODE_SHIFT (16U)
  11877. /*! ERROR_CODE
  11878. * 0b00000001..Error signalled because the next pointer is 0x00000000
  11879. * 0b00000010..Error signalled because the semaphore is non-zero and neither chain bit is set
  11880. * 0b00000011..Error signalled because an error is reported reading/writing the context buffer
  11881. * 0b00000100..Error signalled because an error is reported reading/writing the payload
  11882. * 0b00000101..Error signalled because the control packet specifies an invalid mode select (for instance, blit + hash)
  11883. */
  11884. #define DCP_CH0STAT_CLR_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_CLR_ERROR_CODE_SHIFT)) & DCP_CH0STAT_CLR_ERROR_CODE_MASK)
  11885. #define DCP_CH0STAT_CLR_TAG_MASK (0xFF000000U)
  11886. #define DCP_CH0STAT_CLR_TAG_SHIFT (24U)
  11887. #define DCP_CH0STAT_CLR_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_CLR_TAG_SHIFT)) & DCP_CH0STAT_CLR_TAG_MASK)
  11888. /*! @} */
  11889. /*! @name CH0STAT_TOG - DCP channel 0 status register */
  11890. /*! @{ */
  11891. #define DCP_CH0STAT_TOG_RSVD_COMPLETE_MASK (0x1U)
  11892. #define DCP_CH0STAT_TOG_RSVD_COMPLETE_SHIFT (0U)
  11893. #define DCP_CH0STAT_TOG_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TOG_RSVD_COMPLETE_SHIFT)) & DCP_CH0STAT_TOG_RSVD_COMPLETE_MASK)
  11894. #define DCP_CH0STAT_TOG_HASH_MISMATCH_MASK (0x2U)
  11895. #define DCP_CH0STAT_TOG_HASH_MISMATCH_SHIFT (1U)
  11896. #define DCP_CH0STAT_TOG_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TOG_HASH_MISMATCH_SHIFT)) & DCP_CH0STAT_TOG_HASH_MISMATCH_MASK)
  11897. #define DCP_CH0STAT_TOG_ERROR_SETUP_MASK (0x4U)
  11898. #define DCP_CH0STAT_TOG_ERROR_SETUP_SHIFT (2U)
  11899. #define DCP_CH0STAT_TOG_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TOG_ERROR_SETUP_SHIFT)) & DCP_CH0STAT_TOG_ERROR_SETUP_MASK)
  11900. #define DCP_CH0STAT_TOG_ERROR_PACKET_MASK (0x8U)
  11901. #define DCP_CH0STAT_TOG_ERROR_PACKET_SHIFT (3U)
  11902. #define DCP_CH0STAT_TOG_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TOG_ERROR_PACKET_SHIFT)) & DCP_CH0STAT_TOG_ERROR_PACKET_MASK)
  11903. #define DCP_CH0STAT_TOG_ERROR_SRC_MASK (0x10U)
  11904. #define DCP_CH0STAT_TOG_ERROR_SRC_SHIFT (4U)
  11905. #define DCP_CH0STAT_TOG_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TOG_ERROR_SRC_SHIFT)) & DCP_CH0STAT_TOG_ERROR_SRC_MASK)
  11906. #define DCP_CH0STAT_TOG_ERROR_DST_MASK (0x20U)
  11907. #define DCP_CH0STAT_TOG_ERROR_DST_SHIFT (5U)
  11908. #define DCP_CH0STAT_TOG_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TOG_ERROR_DST_SHIFT)) & DCP_CH0STAT_TOG_ERROR_DST_MASK)
  11909. #define DCP_CH0STAT_TOG_ERROR_PAGEFAULT_MASK (0x40U)
  11910. #define DCP_CH0STAT_TOG_ERROR_PAGEFAULT_SHIFT (6U)
  11911. #define DCP_CH0STAT_TOG_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TOG_ERROR_PAGEFAULT_SHIFT)) & DCP_CH0STAT_TOG_ERROR_PAGEFAULT_MASK)
  11912. #define DCP_CH0STAT_TOG_ERROR_CODE_MASK (0xFF0000U)
  11913. #define DCP_CH0STAT_TOG_ERROR_CODE_SHIFT (16U)
  11914. /*! ERROR_CODE
  11915. * 0b00000001..Error signalled because the next pointer is 0x00000000
  11916. * 0b00000010..Error signalled because the semaphore is non-zero and neither chain bit is set
  11917. * 0b00000011..Error signalled because an error is reported reading/writing the context buffer
  11918. * 0b00000100..Error signalled because an error is reported reading/writing the payload
  11919. * 0b00000101..Error signalled because the control packet specifies an invalid mode select (for instance, blit + hash)
  11920. */
  11921. #define DCP_CH0STAT_TOG_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TOG_ERROR_CODE_SHIFT)) & DCP_CH0STAT_TOG_ERROR_CODE_MASK)
  11922. #define DCP_CH0STAT_TOG_TAG_MASK (0xFF000000U)
  11923. #define DCP_CH0STAT_TOG_TAG_SHIFT (24U)
  11924. #define DCP_CH0STAT_TOG_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0STAT_TOG_TAG_SHIFT)) & DCP_CH0STAT_TOG_TAG_MASK)
  11925. /*! @} */
  11926. /*! @name CH0OPTS - DCP channel 0 options register */
  11927. /*! @{ */
  11928. #define DCP_CH0OPTS_RECOVERY_TIMER_MASK (0xFFFFU)
  11929. #define DCP_CH0OPTS_RECOVERY_TIMER_SHIFT (0U)
  11930. #define DCP_CH0OPTS_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0OPTS_RECOVERY_TIMER_SHIFT)) & DCP_CH0OPTS_RECOVERY_TIMER_MASK)
  11931. #define DCP_CH0OPTS_RSVD_MASK (0xFFFF0000U)
  11932. #define DCP_CH0OPTS_RSVD_SHIFT (16U)
  11933. #define DCP_CH0OPTS_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0OPTS_RSVD_SHIFT)) & DCP_CH0OPTS_RSVD_MASK)
  11934. /*! @} */
  11935. /*! @name CH0OPTS_SET - DCP channel 0 options register */
  11936. /*! @{ */
  11937. #define DCP_CH0OPTS_SET_RECOVERY_TIMER_MASK (0xFFFFU)
  11938. #define DCP_CH0OPTS_SET_RECOVERY_TIMER_SHIFT (0U)
  11939. #define DCP_CH0OPTS_SET_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0OPTS_SET_RECOVERY_TIMER_SHIFT)) & DCP_CH0OPTS_SET_RECOVERY_TIMER_MASK)
  11940. #define DCP_CH0OPTS_SET_RSVD_MASK (0xFFFF0000U)
  11941. #define DCP_CH0OPTS_SET_RSVD_SHIFT (16U)
  11942. #define DCP_CH0OPTS_SET_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0OPTS_SET_RSVD_SHIFT)) & DCP_CH0OPTS_SET_RSVD_MASK)
  11943. /*! @} */
  11944. /*! @name CH0OPTS_CLR - DCP channel 0 options register */
  11945. /*! @{ */
  11946. #define DCP_CH0OPTS_CLR_RECOVERY_TIMER_MASK (0xFFFFU)
  11947. #define DCP_CH0OPTS_CLR_RECOVERY_TIMER_SHIFT (0U)
  11948. #define DCP_CH0OPTS_CLR_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0OPTS_CLR_RECOVERY_TIMER_SHIFT)) & DCP_CH0OPTS_CLR_RECOVERY_TIMER_MASK)
  11949. #define DCP_CH0OPTS_CLR_RSVD_MASK (0xFFFF0000U)
  11950. #define DCP_CH0OPTS_CLR_RSVD_SHIFT (16U)
  11951. #define DCP_CH0OPTS_CLR_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0OPTS_CLR_RSVD_SHIFT)) & DCP_CH0OPTS_CLR_RSVD_MASK)
  11952. /*! @} */
  11953. /*! @name CH0OPTS_TOG - DCP channel 0 options register */
  11954. /*! @{ */
  11955. #define DCP_CH0OPTS_TOG_RECOVERY_TIMER_MASK (0xFFFFU)
  11956. #define DCP_CH0OPTS_TOG_RECOVERY_TIMER_SHIFT (0U)
  11957. #define DCP_CH0OPTS_TOG_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0OPTS_TOG_RECOVERY_TIMER_SHIFT)) & DCP_CH0OPTS_TOG_RECOVERY_TIMER_MASK)
  11958. #define DCP_CH0OPTS_TOG_RSVD_MASK (0xFFFF0000U)
  11959. #define DCP_CH0OPTS_TOG_RSVD_SHIFT (16U)
  11960. #define DCP_CH0OPTS_TOG_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH0OPTS_TOG_RSVD_SHIFT)) & DCP_CH0OPTS_TOG_RSVD_MASK)
  11961. /*! @} */
  11962. /*! @name CH1CMDPTR - DCP channel 1 command pointer address register */
  11963. /*! @{ */
  11964. #define DCP_CH1CMDPTR_ADDR_MASK (0xFFFFFFFFU)
  11965. #define DCP_CH1CMDPTR_ADDR_SHIFT (0U)
  11966. #define DCP_CH1CMDPTR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1CMDPTR_ADDR_SHIFT)) & DCP_CH1CMDPTR_ADDR_MASK)
  11967. /*! @} */
  11968. /*! @name CH1SEMA - DCP channel 1 semaphore register */
  11969. /*! @{ */
  11970. #define DCP_CH1SEMA_INCREMENT_MASK (0xFFU)
  11971. #define DCP_CH1SEMA_INCREMENT_SHIFT (0U)
  11972. #define DCP_CH1SEMA_INCREMENT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1SEMA_INCREMENT_SHIFT)) & DCP_CH1SEMA_INCREMENT_MASK)
  11973. #define DCP_CH1SEMA_VALUE_MASK (0xFF0000U)
  11974. #define DCP_CH1SEMA_VALUE_SHIFT (16U)
  11975. #define DCP_CH1SEMA_VALUE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1SEMA_VALUE_SHIFT)) & DCP_CH1SEMA_VALUE_MASK)
  11976. /*! @} */
  11977. /*! @name CH1STAT - DCP channel 1 status register */
  11978. /*! @{ */
  11979. #define DCP_CH1STAT_RSVD_COMPLETE_MASK (0x1U)
  11980. #define DCP_CH1STAT_RSVD_COMPLETE_SHIFT (0U)
  11981. #define DCP_CH1STAT_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_RSVD_COMPLETE_SHIFT)) & DCP_CH1STAT_RSVD_COMPLETE_MASK)
  11982. #define DCP_CH1STAT_HASH_MISMATCH_MASK (0x2U)
  11983. #define DCP_CH1STAT_HASH_MISMATCH_SHIFT (1U)
  11984. #define DCP_CH1STAT_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_HASH_MISMATCH_SHIFT)) & DCP_CH1STAT_HASH_MISMATCH_MASK)
  11985. #define DCP_CH1STAT_ERROR_SETUP_MASK (0x4U)
  11986. #define DCP_CH1STAT_ERROR_SETUP_SHIFT (2U)
  11987. #define DCP_CH1STAT_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_ERROR_SETUP_SHIFT)) & DCP_CH1STAT_ERROR_SETUP_MASK)
  11988. #define DCP_CH1STAT_ERROR_PACKET_MASK (0x8U)
  11989. #define DCP_CH1STAT_ERROR_PACKET_SHIFT (3U)
  11990. #define DCP_CH1STAT_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_ERROR_PACKET_SHIFT)) & DCP_CH1STAT_ERROR_PACKET_MASK)
  11991. #define DCP_CH1STAT_ERROR_SRC_MASK (0x10U)
  11992. #define DCP_CH1STAT_ERROR_SRC_SHIFT (4U)
  11993. #define DCP_CH1STAT_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_ERROR_SRC_SHIFT)) & DCP_CH1STAT_ERROR_SRC_MASK)
  11994. #define DCP_CH1STAT_ERROR_DST_MASK (0x20U)
  11995. #define DCP_CH1STAT_ERROR_DST_SHIFT (5U)
  11996. #define DCP_CH1STAT_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_ERROR_DST_SHIFT)) & DCP_CH1STAT_ERROR_DST_MASK)
  11997. #define DCP_CH1STAT_ERROR_PAGEFAULT_MASK (0x40U)
  11998. #define DCP_CH1STAT_ERROR_PAGEFAULT_SHIFT (6U)
  11999. #define DCP_CH1STAT_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_ERROR_PAGEFAULT_SHIFT)) & DCP_CH1STAT_ERROR_PAGEFAULT_MASK)
  12000. #define DCP_CH1STAT_ERROR_CODE_MASK (0xFF0000U)
  12001. #define DCP_CH1STAT_ERROR_CODE_SHIFT (16U)
  12002. /*! ERROR_CODE
  12003. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  12004. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  12005. * 0b00000011..Error is signalled because an error was reported when reading/writing the context buffer.
  12006. * 0b00000100..Error is signalled because an error was reported when reading/writing the payload.
  12007. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for example, blit + hash).
  12008. */
  12009. #define DCP_CH1STAT_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_ERROR_CODE_SHIFT)) & DCP_CH1STAT_ERROR_CODE_MASK)
  12010. #define DCP_CH1STAT_TAG_MASK (0xFF000000U)
  12011. #define DCP_CH1STAT_TAG_SHIFT (24U)
  12012. #define DCP_CH1STAT_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TAG_SHIFT)) & DCP_CH1STAT_TAG_MASK)
  12013. /*! @} */
  12014. /*! @name CH1STAT_SET - DCP channel 1 status register */
  12015. /*! @{ */
  12016. #define DCP_CH1STAT_SET_RSVD_COMPLETE_MASK (0x1U)
  12017. #define DCP_CH1STAT_SET_RSVD_COMPLETE_SHIFT (0U)
  12018. #define DCP_CH1STAT_SET_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_SET_RSVD_COMPLETE_SHIFT)) & DCP_CH1STAT_SET_RSVD_COMPLETE_MASK)
  12019. #define DCP_CH1STAT_SET_HASH_MISMATCH_MASK (0x2U)
  12020. #define DCP_CH1STAT_SET_HASH_MISMATCH_SHIFT (1U)
  12021. #define DCP_CH1STAT_SET_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_SET_HASH_MISMATCH_SHIFT)) & DCP_CH1STAT_SET_HASH_MISMATCH_MASK)
  12022. #define DCP_CH1STAT_SET_ERROR_SETUP_MASK (0x4U)
  12023. #define DCP_CH1STAT_SET_ERROR_SETUP_SHIFT (2U)
  12024. #define DCP_CH1STAT_SET_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_SET_ERROR_SETUP_SHIFT)) & DCP_CH1STAT_SET_ERROR_SETUP_MASK)
  12025. #define DCP_CH1STAT_SET_ERROR_PACKET_MASK (0x8U)
  12026. #define DCP_CH1STAT_SET_ERROR_PACKET_SHIFT (3U)
  12027. #define DCP_CH1STAT_SET_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_SET_ERROR_PACKET_SHIFT)) & DCP_CH1STAT_SET_ERROR_PACKET_MASK)
  12028. #define DCP_CH1STAT_SET_ERROR_SRC_MASK (0x10U)
  12029. #define DCP_CH1STAT_SET_ERROR_SRC_SHIFT (4U)
  12030. #define DCP_CH1STAT_SET_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_SET_ERROR_SRC_SHIFT)) & DCP_CH1STAT_SET_ERROR_SRC_MASK)
  12031. #define DCP_CH1STAT_SET_ERROR_DST_MASK (0x20U)
  12032. #define DCP_CH1STAT_SET_ERROR_DST_SHIFT (5U)
  12033. #define DCP_CH1STAT_SET_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_SET_ERROR_DST_SHIFT)) & DCP_CH1STAT_SET_ERROR_DST_MASK)
  12034. #define DCP_CH1STAT_SET_ERROR_PAGEFAULT_MASK (0x40U)
  12035. #define DCP_CH1STAT_SET_ERROR_PAGEFAULT_SHIFT (6U)
  12036. #define DCP_CH1STAT_SET_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_SET_ERROR_PAGEFAULT_SHIFT)) & DCP_CH1STAT_SET_ERROR_PAGEFAULT_MASK)
  12037. #define DCP_CH1STAT_SET_ERROR_CODE_MASK (0xFF0000U)
  12038. #define DCP_CH1STAT_SET_ERROR_CODE_SHIFT (16U)
  12039. /*! ERROR_CODE
  12040. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  12041. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  12042. * 0b00000011..Error is signalled because an error was reported when reading/writing the context buffer.
  12043. * 0b00000100..Error is signalled because an error was reported when reading/writing the payload.
  12044. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for example, blit + hash).
  12045. */
  12046. #define DCP_CH1STAT_SET_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_SET_ERROR_CODE_SHIFT)) & DCP_CH1STAT_SET_ERROR_CODE_MASK)
  12047. #define DCP_CH1STAT_SET_TAG_MASK (0xFF000000U)
  12048. #define DCP_CH1STAT_SET_TAG_SHIFT (24U)
  12049. #define DCP_CH1STAT_SET_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_SET_TAG_SHIFT)) & DCP_CH1STAT_SET_TAG_MASK)
  12050. /*! @} */
  12051. /*! @name CH1STAT_CLR - DCP channel 1 status register */
  12052. /*! @{ */
  12053. #define DCP_CH1STAT_CLR_RSVD_COMPLETE_MASK (0x1U)
  12054. #define DCP_CH1STAT_CLR_RSVD_COMPLETE_SHIFT (0U)
  12055. #define DCP_CH1STAT_CLR_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_CLR_RSVD_COMPLETE_SHIFT)) & DCP_CH1STAT_CLR_RSVD_COMPLETE_MASK)
  12056. #define DCP_CH1STAT_CLR_HASH_MISMATCH_MASK (0x2U)
  12057. #define DCP_CH1STAT_CLR_HASH_MISMATCH_SHIFT (1U)
  12058. #define DCP_CH1STAT_CLR_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_CLR_HASH_MISMATCH_SHIFT)) & DCP_CH1STAT_CLR_HASH_MISMATCH_MASK)
  12059. #define DCP_CH1STAT_CLR_ERROR_SETUP_MASK (0x4U)
  12060. #define DCP_CH1STAT_CLR_ERROR_SETUP_SHIFT (2U)
  12061. #define DCP_CH1STAT_CLR_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_CLR_ERROR_SETUP_SHIFT)) & DCP_CH1STAT_CLR_ERROR_SETUP_MASK)
  12062. #define DCP_CH1STAT_CLR_ERROR_PACKET_MASK (0x8U)
  12063. #define DCP_CH1STAT_CLR_ERROR_PACKET_SHIFT (3U)
  12064. #define DCP_CH1STAT_CLR_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_CLR_ERROR_PACKET_SHIFT)) & DCP_CH1STAT_CLR_ERROR_PACKET_MASK)
  12065. #define DCP_CH1STAT_CLR_ERROR_SRC_MASK (0x10U)
  12066. #define DCP_CH1STAT_CLR_ERROR_SRC_SHIFT (4U)
  12067. #define DCP_CH1STAT_CLR_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_CLR_ERROR_SRC_SHIFT)) & DCP_CH1STAT_CLR_ERROR_SRC_MASK)
  12068. #define DCP_CH1STAT_CLR_ERROR_DST_MASK (0x20U)
  12069. #define DCP_CH1STAT_CLR_ERROR_DST_SHIFT (5U)
  12070. #define DCP_CH1STAT_CLR_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_CLR_ERROR_DST_SHIFT)) & DCP_CH1STAT_CLR_ERROR_DST_MASK)
  12071. #define DCP_CH1STAT_CLR_ERROR_PAGEFAULT_MASK (0x40U)
  12072. #define DCP_CH1STAT_CLR_ERROR_PAGEFAULT_SHIFT (6U)
  12073. #define DCP_CH1STAT_CLR_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_CLR_ERROR_PAGEFAULT_SHIFT)) & DCP_CH1STAT_CLR_ERROR_PAGEFAULT_MASK)
  12074. #define DCP_CH1STAT_CLR_ERROR_CODE_MASK (0xFF0000U)
  12075. #define DCP_CH1STAT_CLR_ERROR_CODE_SHIFT (16U)
  12076. /*! ERROR_CODE
  12077. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  12078. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  12079. * 0b00000011..Error is signalled because an error was reported when reading/writing the context buffer.
  12080. * 0b00000100..Error is signalled because an error was reported when reading/writing the payload.
  12081. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for example, blit + hash).
  12082. */
  12083. #define DCP_CH1STAT_CLR_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_CLR_ERROR_CODE_SHIFT)) & DCP_CH1STAT_CLR_ERROR_CODE_MASK)
  12084. #define DCP_CH1STAT_CLR_TAG_MASK (0xFF000000U)
  12085. #define DCP_CH1STAT_CLR_TAG_SHIFT (24U)
  12086. #define DCP_CH1STAT_CLR_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_CLR_TAG_SHIFT)) & DCP_CH1STAT_CLR_TAG_MASK)
  12087. /*! @} */
  12088. /*! @name CH1STAT_TOG - DCP channel 1 status register */
  12089. /*! @{ */
  12090. #define DCP_CH1STAT_TOG_RSVD_COMPLETE_MASK (0x1U)
  12091. #define DCP_CH1STAT_TOG_RSVD_COMPLETE_SHIFT (0U)
  12092. #define DCP_CH1STAT_TOG_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TOG_RSVD_COMPLETE_SHIFT)) & DCP_CH1STAT_TOG_RSVD_COMPLETE_MASK)
  12093. #define DCP_CH1STAT_TOG_HASH_MISMATCH_MASK (0x2U)
  12094. #define DCP_CH1STAT_TOG_HASH_MISMATCH_SHIFT (1U)
  12095. #define DCP_CH1STAT_TOG_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TOG_HASH_MISMATCH_SHIFT)) & DCP_CH1STAT_TOG_HASH_MISMATCH_MASK)
  12096. #define DCP_CH1STAT_TOG_ERROR_SETUP_MASK (0x4U)
  12097. #define DCP_CH1STAT_TOG_ERROR_SETUP_SHIFT (2U)
  12098. #define DCP_CH1STAT_TOG_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TOG_ERROR_SETUP_SHIFT)) & DCP_CH1STAT_TOG_ERROR_SETUP_MASK)
  12099. #define DCP_CH1STAT_TOG_ERROR_PACKET_MASK (0x8U)
  12100. #define DCP_CH1STAT_TOG_ERROR_PACKET_SHIFT (3U)
  12101. #define DCP_CH1STAT_TOG_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TOG_ERROR_PACKET_SHIFT)) & DCP_CH1STAT_TOG_ERROR_PACKET_MASK)
  12102. #define DCP_CH1STAT_TOG_ERROR_SRC_MASK (0x10U)
  12103. #define DCP_CH1STAT_TOG_ERROR_SRC_SHIFT (4U)
  12104. #define DCP_CH1STAT_TOG_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TOG_ERROR_SRC_SHIFT)) & DCP_CH1STAT_TOG_ERROR_SRC_MASK)
  12105. #define DCP_CH1STAT_TOG_ERROR_DST_MASK (0x20U)
  12106. #define DCP_CH1STAT_TOG_ERROR_DST_SHIFT (5U)
  12107. #define DCP_CH1STAT_TOG_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TOG_ERROR_DST_SHIFT)) & DCP_CH1STAT_TOG_ERROR_DST_MASK)
  12108. #define DCP_CH1STAT_TOG_ERROR_PAGEFAULT_MASK (0x40U)
  12109. #define DCP_CH1STAT_TOG_ERROR_PAGEFAULT_SHIFT (6U)
  12110. #define DCP_CH1STAT_TOG_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TOG_ERROR_PAGEFAULT_SHIFT)) & DCP_CH1STAT_TOG_ERROR_PAGEFAULT_MASK)
  12111. #define DCP_CH1STAT_TOG_ERROR_CODE_MASK (0xFF0000U)
  12112. #define DCP_CH1STAT_TOG_ERROR_CODE_SHIFT (16U)
  12113. /*! ERROR_CODE
  12114. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  12115. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  12116. * 0b00000011..Error is signalled because an error was reported when reading/writing the context buffer.
  12117. * 0b00000100..Error is signalled because an error was reported when reading/writing the payload.
  12118. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for example, blit + hash).
  12119. */
  12120. #define DCP_CH1STAT_TOG_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TOG_ERROR_CODE_SHIFT)) & DCP_CH1STAT_TOG_ERROR_CODE_MASK)
  12121. #define DCP_CH1STAT_TOG_TAG_MASK (0xFF000000U)
  12122. #define DCP_CH1STAT_TOG_TAG_SHIFT (24U)
  12123. #define DCP_CH1STAT_TOG_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1STAT_TOG_TAG_SHIFT)) & DCP_CH1STAT_TOG_TAG_MASK)
  12124. /*! @} */
  12125. /*! @name CH1OPTS - DCP channel 1 options register */
  12126. /*! @{ */
  12127. #define DCP_CH1OPTS_RECOVERY_TIMER_MASK (0xFFFFU)
  12128. #define DCP_CH1OPTS_RECOVERY_TIMER_SHIFT (0U)
  12129. #define DCP_CH1OPTS_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1OPTS_RECOVERY_TIMER_SHIFT)) & DCP_CH1OPTS_RECOVERY_TIMER_MASK)
  12130. #define DCP_CH1OPTS_RSVD_MASK (0xFFFF0000U)
  12131. #define DCP_CH1OPTS_RSVD_SHIFT (16U)
  12132. #define DCP_CH1OPTS_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1OPTS_RSVD_SHIFT)) & DCP_CH1OPTS_RSVD_MASK)
  12133. /*! @} */
  12134. /*! @name CH1OPTS_SET - DCP channel 1 options register */
  12135. /*! @{ */
  12136. #define DCP_CH1OPTS_SET_RECOVERY_TIMER_MASK (0xFFFFU)
  12137. #define DCP_CH1OPTS_SET_RECOVERY_TIMER_SHIFT (0U)
  12138. #define DCP_CH1OPTS_SET_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1OPTS_SET_RECOVERY_TIMER_SHIFT)) & DCP_CH1OPTS_SET_RECOVERY_TIMER_MASK)
  12139. #define DCP_CH1OPTS_SET_RSVD_MASK (0xFFFF0000U)
  12140. #define DCP_CH1OPTS_SET_RSVD_SHIFT (16U)
  12141. #define DCP_CH1OPTS_SET_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1OPTS_SET_RSVD_SHIFT)) & DCP_CH1OPTS_SET_RSVD_MASK)
  12142. /*! @} */
  12143. /*! @name CH1OPTS_CLR - DCP channel 1 options register */
  12144. /*! @{ */
  12145. #define DCP_CH1OPTS_CLR_RECOVERY_TIMER_MASK (0xFFFFU)
  12146. #define DCP_CH1OPTS_CLR_RECOVERY_TIMER_SHIFT (0U)
  12147. #define DCP_CH1OPTS_CLR_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1OPTS_CLR_RECOVERY_TIMER_SHIFT)) & DCP_CH1OPTS_CLR_RECOVERY_TIMER_MASK)
  12148. #define DCP_CH1OPTS_CLR_RSVD_MASK (0xFFFF0000U)
  12149. #define DCP_CH1OPTS_CLR_RSVD_SHIFT (16U)
  12150. #define DCP_CH1OPTS_CLR_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1OPTS_CLR_RSVD_SHIFT)) & DCP_CH1OPTS_CLR_RSVD_MASK)
  12151. /*! @} */
  12152. /*! @name CH1OPTS_TOG - DCP channel 1 options register */
  12153. /*! @{ */
  12154. #define DCP_CH1OPTS_TOG_RECOVERY_TIMER_MASK (0xFFFFU)
  12155. #define DCP_CH1OPTS_TOG_RECOVERY_TIMER_SHIFT (0U)
  12156. #define DCP_CH1OPTS_TOG_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1OPTS_TOG_RECOVERY_TIMER_SHIFT)) & DCP_CH1OPTS_TOG_RECOVERY_TIMER_MASK)
  12157. #define DCP_CH1OPTS_TOG_RSVD_MASK (0xFFFF0000U)
  12158. #define DCP_CH1OPTS_TOG_RSVD_SHIFT (16U)
  12159. #define DCP_CH1OPTS_TOG_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH1OPTS_TOG_RSVD_SHIFT)) & DCP_CH1OPTS_TOG_RSVD_MASK)
  12160. /*! @} */
  12161. /*! @name CH2CMDPTR - DCP channel 2 command pointer address register */
  12162. /*! @{ */
  12163. #define DCP_CH2CMDPTR_ADDR_MASK (0xFFFFFFFFU)
  12164. #define DCP_CH2CMDPTR_ADDR_SHIFT (0U)
  12165. #define DCP_CH2CMDPTR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2CMDPTR_ADDR_SHIFT)) & DCP_CH2CMDPTR_ADDR_MASK)
  12166. /*! @} */
  12167. /*! @name CH2SEMA - DCP channel 2 semaphore register */
  12168. /*! @{ */
  12169. #define DCP_CH2SEMA_INCREMENT_MASK (0xFFU)
  12170. #define DCP_CH2SEMA_INCREMENT_SHIFT (0U)
  12171. #define DCP_CH2SEMA_INCREMENT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2SEMA_INCREMENT_SHIFT)) & DCP_CH2SEMA_INCREMENT_MASK)
  12172. #define DCP_CH2SEMA_VALUE_MASK (0xFF0000U)
  12173. #define DCP_CH2SEMA_VALUE_SHIFT (16U)
  12174. #define DCP_CH2SEMA_VALUE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2SEMA_VALUE_SHIFT)) & DCP_CH2SEMA_VALUE_MASK)
  12175. /*! @} */
  12176. /*! @name CH2STAT - DCP channel 2 status register */
  12177. /*! @{ */
  12178. #define DCP_CH2STAT_RSVD_COMPLETE_MASK (0x1U)
  12179. #define DCP_CH2STAT_RSVD_COMPLETE_SHIFT (0U)
  12180. #define DCP_CH2STAT_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_RSVD_COMPLETE_SHIFT)) & DCP_CH2STAT_RSVD_COMPLETE_MASK)
  12181. #define DCP_CH2STAT_HASH_MISMATCH_MASK (0x2U)
  12182. #define DCP_CH2STAT_HASH_MISMATCH_SHIFT (1U)
  12183. #define DCP_CH2STAT_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_HASH_MISMATCH_SHIFT)) & DCP_CH2STAT_HASH_MISMATCH_MASK)
  12184. #define DCP_CH2STAT_ERROR_SETUP_MASK (0x4U)
  12185. #define DCP_CH2STAT_ERROR_SETUP_SHIFT (2U)
  12186. #define DCP_CH2STAT_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_ERROR_SETUP_SHIFT)) & DCP_CH2STAT_ERROR_SETUP_MASK)
  12187. #define DCP_CH2STAT_ERROR_PACKET_MASK (0x8U)
  12188. #define DCP_CH2STAT_ERROR_PACKET_SHIFT (3U)
  12189. #define DCP_CH2STAT_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_ERROR_PACKET_SHIFT)) & DCP_CH2STAT_ERROR_PACKET_MASK)
  12190. #define DCP_CH2STAT_ERROR_SRC_MASK (0x10U)
  12191. #define DCP_CH2STAT_ERROR_SRC_SHIFT (4U)
  12192. #define DCP_CH2STAT_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_ERROR_SRC_SHIFT)) & DCP_CH2STAT_ERROR_SRC_MASK)
  12193. #define DCP_CH2STAT_ERROR_DST_MASK (0x20U)
  12194. #define DCP_CH2STAT_ERROR_DST_SHIFT (5U)
  12195. #define DCP_CH2STAT_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_ERROR_DST_SHIFT)) & DCP_CH2STAT_ERROR_DST_MASK)
  12196. #define DCP_CH2STAT_ERROR_PAGEFAULT_MASK (0x40U)
  12197. #define DCP_CH2STAT_ERROR_PAGEFAULT_SHIFT (6U)
  12198. #define DCP_CH2STAT_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_ERROR_PAGEFAULT_SHIFT)) & DCP_CH2STAT_ERROR_PAGEFAULT_MASK)
  12199. #define DCP_CH2STAT_ERROR_CODE_MASK (0xFF0000U)
  12200. #define DCP_CH2STAT_ERROR_CODE_SHIFT (16U)
  12201. /*! ERROR_CODE
  12202. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  12203. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  12204. * 0b00000011..Error is signalled because an error was reported while reading/writing the context buffer.
  12205. * 0b00000100..Error is signalled because an error was reported while reading/writing the payload.
  12206. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for instance, blit + hash).
  12207. */
  12208. #define DCP_CH2STAT_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_ERROR_CODE_SHIFT)) & DCP_CH2STAT_ERROR_CODE_MASK)
  12209. #define DCP_CH2STAT_TAG_MASK (0xFF000000U)
  12210. #define DCP_CH2STAT_TAG_SHIFT (24U)
  12211. #define DCP_CH2STAT_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TAG_SHIFT)) & DCP_CH2STAT_TAG_MASK)
  12212. /*! @} */
  12213. /*! @name CH2STAT_SET - DCP channel 2 status register */
  12214. /*! @{ */
  12215. #define DCP_CH2STAT_SET_RSVD_COMPLETE_MASK (0x1U)
  12216. #define DCP_CH2STAT_SET_RSVD_COMPLETE_SHIFT (0U)
  12217. #define DCP_CH2STAT_SET_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_SET_RSVD_COMPLETE_SHIFT)) & DCP_CH2STAT_SET_RSVD_COMPLETE_MASK)
  12218. #define DCP_CH2STAT_SET_HASH_MISMATCH_MASK (0x2U)
  12219. #define DCP_CH2STAT_SET_HASH_MISMATCH_SHIFT (1U)
  12220. #define DCP_CH2STAT_SET_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_SET_HASH_MISMATCH_SHIFT)) & DCP_CH2STAT_SET_HASH_MISMATCH_MASK)
  12221. #define DCP_CH2STAT_SET_ERROR_SETUP_MASK (0x4U)
  12222. #define DCP_CH2STAT_SET_ERROR_SETUP_SHIFT (2U)
  12223. #define DCP_CH2STAT_SET_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_SET_ERROR_SETUP_SHIFT)) & DCP_CH2STAT_SET_ERROR_SETUP_MASK)
  12224. #define DCP_CH2STAT_SET_ERROR_PACKET_MASK (0x8U)
  12225. #define DCP_CH2STAT_SET_ERROR_PACKET_SHIFT (3U)
  12226. #define DCP_CH2STAT_SET_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_SET_ERROR_PACKET_SHIFT)) & DCP_CH2STAT_SET_ERROR_PACKET_MASK)
  12227. #define DCP_CH2STAT_SET_ERROR_SRC_MASK (0x10U)
  12228. #define DCP_CH2STAT_SET_ERROR_SRC_SHIFT (4U)
  12229. #define DCP_CH2STAT_SET_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_SET_ERROR_SRC_SHIFT)) & DCP_CH2STAT_SET_ERROR_SRC_MASK)
  12230. #define DCP_CH2STAT_SET_ERROR_DST_MASK (0x20U)
  12231. #define DCP_CH2STAT_SET_ERROR_DST_SHIFT (5U)
  12232. #define DCP_CH2STAT_SET_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_SET_ERROR_DST_SHIFT)) & DCP_CH2STAT_SET_ERROR_DST_MASK)
  12233. #define DCP_CH2STAT_SET_ERROR_PAGEFAULT_MASK (0x40U)
  12234. #define DCP_CH2STAT_SET_ERROR_PAGEFAULT_SHIFT (6U)
  12235. #define DCP_CH2STAT_SET_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_SET_ERROR_PAGEFAULT_SHIFT)) & DCP_CH2STAT_SET_ERROR_PAGEFAULT_MASK)
  12236. #define DCP_CH2STAT_SET_ERROR_CODE_MASK (0xFF0000U)
  12237. #define DCP_CH2STAT_SET_ERROR_CODE_SHIFT (16U)
  12238. /*! ERROR_CODE
  12239. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  12240. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  12241. * 0b00000011..Error is signalled because an error was reported while reading/writing the context buffer.
  12242. * 0b00000100..Error is signalled because an error was reported while reading/writing the payload.
  12243. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for instance, blit + hash).
  12244. */
  12245. #define DCP_CH2STAT_SET_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_SET_ERROR_CODE_SHIFT)) & DCP_CH2STAT_SET_ERROR_CODE_MASK)
  12246. #define DCP_CH2STAT_SET_TAG_MASK (0xFF000000U)
  12247. #define DCP_CH2STAT_SET_TAG_SHIFT (24U)
  12248. #define DCP_CH2STAT_SET_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_SET_TAG_SHIFT)) & DCP_CH2STAT_SET_TAG_MASK)
  12249. /*! @} */
  12250. /*! @name CH2STAT_CLR - DCP channel 2 status register */
  12251. /*! @{ */
  12252. #define DCP_CH2STAT_CLR_RSVD_COMPLETE_MASK (0x1U)
  12253. #define DCP_CH2STAT_CLR_RSVD_COMPLETE_SHIFT (0U)
  12254. #define DCP_CH2STAT_CLR_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_CLR_RSVD_COMPLETE_SHIFT)) & DCP_CH2STAT_CLR_RSVD_COMPLETE_MASK)
  12255. #define DCP_CH2STAT_CLR_HASH_MISMATCH_MASK (0x2U)
  12256. #define DCP_CH2STAT_CLR_HASH_MISMATCH_SHIFT (1U)
  12257. #define DCP_CH2STAT_CLR_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_CLR_HASH_MISMATCH_SHIFT)) & DCP_CH2STAT_CLR_HASH_MISMATCH_MASK)
  12258. #define DCP_CH2STAT_CLR_ERROR_SETUP_MASK (0x4U)
  12259. #define DCP_CH2STAT_CLR_ERROR_SETUP_SHIFT (2U)
  12260. #define DCP_CH2STAT_CLR_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_CLR_ERROR_SETUP_SHIFT)) & DCP_CH2STAT_CLR_ERROR_SETUP_MASK)
  12261. #define DCP_CH2STAT_CLR_ERROR_PACKET_MASK (0x8U)
  12262. #define DCP_CH2STAT_CLR_ERROR_PACKET_SHIFT (3U)
  12263. #define DCP_CH2STAT_CLR_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_CLR_ERROR_PACKET_SHIFT)) & DCP_CH2STAT_CLR_ERROR_PACKET_MASK)
  12264. #define DCP_CH2STAT_CLR_ERROR_SRC_MASK (0x10U)
  12265. #define DCP_CH2STAT_CLR_ERROR_SRC_SHIFT (4U)
  12266. #define DCP_CH2STAT_CLR_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_CLR_ERROR_SRC_SHIFT)) & DCP_CH2STAT_CLR_ERROR_SRC_MASK)
  12267. #define DCP_CH2STAT_CLR_ERROR_DST_MASK (0x20U)
  12268. #define DCP_CH2STAT_CLR_ERROR_DST_SHIFT (5U)
  12269. #define DCP_CH2STAT_CLR_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_CLR_ERROR_DST_SHIFT)) & DCP_CH2STAT_CLR_ERROR_DST_MASK)
  12270. #define DCP_CH2STAT_CLR_ERROR_PAGEFAULT_MASK (0x40U)
  12271. #define DCP_CH2STAT_CLR_ERROR_PAGEFAULT_SHIFT (6U)
  12272. #define DCP_CH2STAT_CLR_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_CLR_ERROR_PAGEFAULT_SHIFT)) & DCP_CH2STAT_CLR_ERROR_PAGEFAULT_MASK)
  12273. #define DCP_CH2STAT_CLR_ERROR_CODE_MASK (0xFF0000U)
  12274. #define DCP_CH2STAT_CLR_ERROR_CODE_SHIFT (16U)
  12275. /*! ERROR_CODE
  12276. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  12277. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  12278. * 0b00000011..Error is signalled because an error was reported while reading/writing the context buffer.
  12279. * 0b00000100..Error is signalled because an error was reported while reading/writing the payload.
  12280. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for instance, blit + hash).
  12281. */
  12282. #define DCP_CH2STAT_CLR_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_CLR_ERROR_CODE_SHIFT)) & DCP_CH2STAT_CLR_ERROR_CODE_MASK)
  12283. #define DCP_CH2STAT_CLR_TAG_MASK (0xFF000000U)
  12284. #define DCP_CH2STAT_CLR_TAG_SHIFT (24U)
  12285. #define DCP_CH2STAT_CLR_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_CLR_TAG_SHIFT)) & DCP_CH2STAT_CLR_TAG_MASK)
  12286. /*! @} */
  12287. /*! @name CH2STAT_TOG - DCP channel 2 status register */
  12288. /*! @{ */
  12289. #define DCP_CH2STAT_TOG_RSVD_COMPLETE_MASK (0x1U)
  12290. #define DCP_CH2STAT_TOG_RSVD_COMPLETE_SHIFT (0U)
  12291. #define DCP_CH2STAT_TOG_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TOG_RSVD_COMPLETE_SHIFT)) & DCP_CH2STAT_TOG_RSVD_COMPLETE_MASK)
  12292. #define DCP_CH2STAT_TOG_HASH_MISMATCH_MASK (0x2U)
  12293. #define DCP_CH2STAT_TOG_HASH_MISMATCH_SHIFT (1U)
  12294. #define DCP_CH2STAT_TOG_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TOG_HASH_MISMATCH_SHIFT)) & DCP_CH2STAT_TOG_HASH_MISMATCH_MASK)
  12295. #define DCP_CH2STAT_TOG_ERROR_SETUP_MASK (0x4U)
  12296. #define DCP_CH2STAT_TOG_ERROR_SETUP_SHIFT (2U)
  12297. #define DCP_CH2STAT_TOG_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TOG_ERROR_SETUP_SHIFT)) & DCP_CH2STAT_TOG_ERROR_SETUP_MASK)
  12298. #define DCP_CH2STAT_TOG_ERROR_PACKET_MASK (0x8U)
  12299. #define DCP_CH2STAT_TOG_ERROR_PACKET_SHIFT (3U)
  12300. #define DCP_CH2STAT_TOG_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TOG_ERROR_PACKET_SHIFT)) & DCP_CH2STAT_TOG_ERROR_PACKET_MASK)
  12301. #define DCP_CH2STAT_TOG_ERROR_SRC_MASK (0x10U)
  12302. #define DCP_CH2STAT_TOG_ERROR_SRC_SHIFT (4U)
  12303. #define DCP_CH2STAT_TOG_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TOG_ERROR_SRC_SHIFT)) & DCP_CH2STAT_TOG_ERROR_SRC_MASK)
  12304. #define DCP_CH2STAT_TOG_ERROR_DST_MASK (0x20U)
  12305. #define DCP_CH2STAT_TOG_ERROR_DST_SHIFT (5U)
  12306. #define DCP_CH2STAT_TOG_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TOG_ERROR_DST_SHIFT)) & DCP_CH2STAT_TOG_ERROR_DST_MASK)
  12307. #define DCP_CH2STAT_TOG_ERROR_PAGEFAULT_MASK (0x40U)
  12308. #define DCP_CH2STAT_TOG_ERROR_PAGEFAULT_SHIFT (6U)
  12309. #define DCP_CH2STAT_TOG_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TOG_ERROR_PAGEFAULT_SHIFT)) & DCP_CH2STAT_TOG_ERROR_PAGEFAULT_MASK)
  12310. #define DCP_CH2STAT_TOG_ERROR_CODE_MASK (0xFF0000U)
  12311. #define DCP_CH2STAT_TOG_ERROR_CODE_SHIFT (16U)
  12312. /*! ERROR_CODE
  12313. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  12314. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  12315. * 0b00000011..Error is signalled because an error was reported while reading/writing the context buffer.
  12316. * 0b00000100..Error is signalled because an error was reported while reading/writing the payload.
  12317. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for instance, blit + hash).
  12318. */
  12319. #define DCP_CH2STAT_TOG_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TOG_ERROR_CODE_SHIFT)) & DCP_CH2STAT_TOG_ERROR_CODE_MASK)
  12320. #define DCP_CH2STAT_TOG_TAG_MASK (0xFF000000U)
  12321. #define DCP_CH2STAT_TOG_TAG_SHIFT (24U)
  12322. #define DCP_CH2STAT_TOG_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2STAT_TOG_TAG_SHIFT)) & DCP_CH2STAT_TOG_TAG_MASK)
  12323. /*! @} */
  12324. /*! @name CH2OPTS - DCP channel 2 options register */
  12325. /*! @{ */
  12326. #define DCP_CH2OPTS_RECOVERY_TIMER_MASK (0xFFFFU)
  12327. #define DCP_CH2OPTS_RECOVERY_TIMER_SHIFT (0U)
  12328. #define DCP_CH2OPTS_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2OPTS_RECOVERY_TIMER_SHIFT)) & DCP_CH2OPTS_RECOVERY_TIMER_MASK)
  12329. #define DCP_CH2OPTS_RSVD_MASK (0xFFFF0000U)
  12330. #define DCP_CH2OPTS_RSVD_SHIFT (16U)
  12331. #define DCP_CH2OPTS_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2OPTS_RSVD_SHIFT)) & DCP_CH2OPTS_RSVD_MASK)
  12332. /*! @} */
  12333. /*! @name CH2OPTS_SET - DCP channel 2 options register */
  12334. /*! @{ */
  12335. #define DCP_CH2OPTS_SET_RECOVERY_TIMER_MASK (0xFFFFU)
  12336. #define DCP_CH2OPTS_SET_RECOVERY_TIMER_SHIFT (0U)
  12337. #define DCP_CH2OPTS_SET_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2OPTS_SET_RECOVERY_TIMER_SHIFT)) & DCP_CH2OPTS_SET_RECOVERY_TIMER_MASK)
  12338. #define DCP_CH2OPTS_SET_RSVD_MASK (0xFFFF0000U)
  12339. #define DCP_CH2OPTS_SET_RSVD_SHIFT (16U)
  12340. #define DCP_CH2OPTS_SET_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2OPTS_SET_RSVD_SHIFT)) & DCP_CH2OPTS_SET_RSVD_MASK)
  12341. /*! @} */
  12342. /*! @name CH2OPTS_CLR - DCP channel 2 options register */
  12343. /*! @{ */
  12344. #define DCP_CH2OPTS_CLR_RECOVERY_TIMER_MASK (0xFFFFU)
  12345. #define DCP_CH2OPTS_CLR_RECOVERY_TIMER_SHIFT (0U)
  12346. #define DCP_CH2OPTS_CLR_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2OPTS_CLR_RECOVERY_TIMER_SHIFT)) & DCP_CH2OPTS_CLR_RECOVERY_TIMER_MASK)
  12347. #define DCP_CH2OPTS_CLR_RSVD_MASK (0xFFFF0000U)
  12348. #define DCP_CH2OPTS_CLR_RSVD_SHIFT (16U)
  12349. #define DCP_CH2OPTS_CLR_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2OPTS_CLR_RSVD_SHIFT)) & DCP_CH2OPTS_CLR_RSVD_MASK)
  12350. /*! @} */
  12351. /*! @name CH2OPTS_TOG - DCP channel 2 options register */
  12352. /*! @{ */
  12353. #define DCP_CH2OPTS_TOG_RECOVERY_TIMER_MASK (0xFFFFU)
  12354. #define DCP_CH2OPTS_TOG_RECOVERY_TIMER_SHIFT (0U)
  12355. #define DCP_CH2OPTS_TOG_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2OPTS_TOG_RECOVERY_TIMER_SHIFT)) & DCP_CH2OPTS_TOG_RECOVERY_TIMER_MASK)
  12356. #define DCP_CH2OPTS_TOG_RSVD_MASK (0xFFFF0000U)
  12357. #define DCP_CH2OPTS_TOG_RSVD_SHIFT (16U)
  12358. #define DCP_CH2OPTS_TOG_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH2OPTS_TOG_RSVD_SHIFT)) & DCP_CH2OPTS_TOG_RSVD_MASK)
  12359. /*! @} */
  12360. /*! @name CH3CMDPTR - DCP channel 3 command pointer address register */
  12361. /*! @{ */
  12362. #define DCP_CH3CMDPTR_ADDR_MASK (0xFFFFFFFFU)
  12363. #define DCP_CH3CMDPTR_ADDR_SHIFT (0U)
  12364. #define DCP_CH3CMDPTR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3CMDPTR_ADDR_SHIFT)) & DCP_CH3CMDPTR_ADDR_MASK)
  12365. /*! @} */
  12366. /*! @name CH3SEMA - DCP channel 3 semaphore register */
  12367. /*! @{ */
  12368. #define DCP_CH3SEMA_INCREMENT_MASK (0xFFU)
  12369. #define DCP_CH3SEMA_INCREMENT_SHIFT (0U)
  12370. #define DCP_CH3SEMA_INCREMENT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3SEMA_INCREMENT_SHIFT)) & DCP_CH3SEMA_INCREMENT_MASK)
  12371. #define DCP_CH3SEMA_VALUE_MASK (0xFF0000U)
  12372. #define DCP_CH3SEMA_VALUE_SHIFT (16U)
  12373. #define DCP_CH3SEMA_VALUE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3SEMA_VALUE_SHIFT)) & DCP_CH3SEMA_VALUE_MASK)
  12374. /*! @} */
  12375. /*! @name CH3STAT - DCP channel 3 status register */
  12376. /*! @{ */
  12377. #define DCP_CH3STAT_RSVD_COMPLETE_MASK (0x1U)
  12378. #define DCP_CH3STAT_RSVD_COMPLETE_SHIFT (0U)
  12379. #define DCP_CH3STAT_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_RSVD_COMPLETE_SHIFT)) & DCP_CH3STAT_RSVD_COMPLETE_MASK)
  12380. #define DCP_CH3STAT_HASH_MISMATCH_MASK (0x2U)
  12381. #define DCP_CH3STAT_HASH_MISMATCH_SHIFT (1U)
  12382. #define DCP_CH3STAT_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_HASH_MISMATCH_SHIFT)) & DCP_CH3STAT_HASH_MISMATCH_MASK)
  12383. #define DCP_CH3STAT_ERROR_SETUP_MASK (0x4U)
  12384. #define DCP_CH3STAT_ERROR_SETUP_SHIFT (2U)
  12385. #define DCP_CH3STAT_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_ERROR_SETUP_SHIFT)) & DCP_CH3STAT_ERROR_SETUP_MASK)
  12386. #define DCP_CH3STAT_ERROR_PACKET_MASK (0x8U)
  12387. #define DCP_CH3STAT_ERROR_PACKET_SHIFT (3U)
  12388. #define DCP_CH3STAT_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_ERROR_PACKET_SHIFT)) & DCP_CH3STAT_ERROR_PACKET_MASK)
  12389. #define DCP_CH3STAT_ERROR_SRC_MASK (0x10U)
  12390. #define DCP_CH3STAT_ERROR_SRC_SHIFT (4U)
  12391. #define DCP_CH3STAT_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_ERROR_SRC_SHIFT)) & DCP_CH3STAT_ERROR_SRC_MASK)
  12392. #define DCP_CH3STAT_ERROR_DST_MASK (0x20U)
  12393. #define DCP_CH3STAT_ERROR_DST_SHIFT (5U)
  12394. #define DCP_CH3STAT_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_ERROR_DST_SHIFT)) & DCP_CH3STAT_ERROR_DST_MASK)
  12395. #define DCP_CH3STAT_ERROR_PAGEFAULT_MASK (0x40U)
  12396. #define DCP_CH3STAT_ERROR_PAGEFAULT_SHIFT (6U)
  12397. #define DCP_CH3STAT_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_ERROR_PAGEFAULT_SHIFT)) & DCP_CH3STAT_ERROR_PAGEFAULT_MASK)
  12398. #define DCP_CH3STAT_ERROR_CODE_MASK (0xFF0000U)
  12399. #define DCP_CH3STAT_ERROR_CODE_SHIFT (16U)
  12400. /*! ERROR_CODE
  12401. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  12402. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  12403. * 0b00000011..Error is signalled because an error was reported while reading/writing the context buffer.
  12404. * 0b00000100..Error is signalled because an error was reported while reading/writing the payload.
  12405. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for example, blit + hash).
  12406. */
  12407. #define DCP_CH3STAT_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_ERROR_CODE_SHIFT)) & DCP_CH3STAT_ERROR_CODE_MASK)
  12408. #define DCP_CH3STAT_TAG_MASK (0xFF000000U)
  12409. #define DCP_CH3STAT_TAG_SHIFT (24U)
  12410. #define DCP_CH3STAT_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TAG_SHIFT)) & DCP_CH3STAT_TAG_MASK)
  12411. /*! @} */
  12412. /*! @name CH3STAT_SET - DCP channel 3 status register */
  12413. /*! @{ */
  12414. #define DCP_CH3STAT_SET_RSVD_COMPLETE_MASK (0x1U)
  12415. #define DCP_CH3STAT_SET_RSVD_COMPLETE_SHIFT (0U)
  12416. #define DCP_CH3STAT_SET_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_SET_RSVD_COMPLETE_SHIFT)) & DCP_CH3STAT_SET_RSVD_COMPLETE_MASK)
  12417. #define DCP_CH3STAT_SET_HASH_MISMATCH_MASK (0x2U)
  12418. #define DCP_CH3STAT_SET_HASH_MISMATCH_SHIFT (1U)
  12419. #define DCP_CH3STAT_SET_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_SET_HASH_MISMATCH_SHIFT)) & DCP_CH3STAT_SET_HASH_MISMATCH_MASK)
  12420. #define DCP_CH3STAT_SET_ERROR_SETUP_MASK (0x4U)
  12421. #define DCP_CH3STAT_SET_ERROR_SETUP_SHIFT (2U)
  12422. #define DCP_CH3STAT_SET_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_SET_ERROR_SETUP_SHIFT)) & DCP_CH3STAT_SET_ERROR_SETUP_MASK)
  12423. #define DCP_CH3STAT_SET_ERROR_PACKET_MASK (0x8U)
  12424. #define DCP_CH3STAT_SET_ERROR_PACKET_SHIFT (3U)
  12425. #define DCP_CH3STAT_SET_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_SET_ERROR_PACKET_SHIFT)) & DCP_CH3STAT_SET_ERROR_PACKET_MASK)
  12426. #define DCP_CH3STAT_SET_ERROR_SRC_MASK (0x10U)
  12427. #define DCP_CH3STAT_SET_ERROR_SRC_SHIFT (4U)
  12428. #define DCP_CH3STAT_SET_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_SET_ERROR_SRC_SHIFT)) & DCP_CH3STAT_SET_ERROR_SRC_MASK)
  12429. #define DCP_CH3STAT_SET_ERROR_DST_MASK (0x20U)
  12430. #define DCP_CH3STAT_SET_ERROR_DST_SHIFT (5U)
  12431. #define DCP_CH3STAT_SET_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_SET_ERROR_DST_SHIFT)) & DCP_CH3STAT_SET_ERROR_DST_MASK)
  12432. #define DCP_CH3STAT_SET_ERROR_PAGEFAULT_MASK (0x40U)
  12433. #define DCP_CH3STAT_SET_ERROR_PAGEFAULT_SHIFT (6U)
  12434. #define DCP_CH3STAT_SET_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_SET_ERROR_PAGEFAULT_SHIFT)) & DCP_CH3STAT_SET_ERROR_PAGEFAULT_MASK)
  12435. #define DCP_CH3STAT_SET_ERROR_CODE_MASK (0xFF0000U)
  12436. #define DCP_CH3STAT_SET_ERROR_CODE_SHIFT (16U)
  12437. /*! ERROR_CODE
  12438. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  12439. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  12440. * 0b00000011..Error is signalled because an error was reported while reading/writing the context buffer.
  12441. * 0b00000100..Error is signalled because an error was reported while reading/writing the payload.
  12442. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for example, blit + hash).
  12443. */
  12444. #define DCP_CH3STAT_SET_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_SET_ERROR_CODE_SHIFT)) & DCP_CH3STAT_SET_ERROR_CODE_MASK)
  12445. #define DCP_CH3STAT_SET_TAG_MASK (0xFF000000U)
  12446. #define DCP_CH3STAT_SET_TAG_SHIFT (24U)
  12447. #define DCP_CH3STAT_SET_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_SET_TAG_SHIFT)) & DCP_CH3STAT_SET_TAG_MASK)
  12448. /*! @} */
  12449. /*! @name CH3STAT_CLR - DCP channel 3 status register */
  12450. /*! @{ */
  12451. #define DCP_CH3STAT_CLR_RSVD_COMPLETE_MASK (0x1U)
  12452. #define DCP_CH3STAT_CLR_RSVD_COMPLETE_SHIFT (0U)
  12453. #define DCP_CH3STAT_CLR_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_CLR_RSVD_COMPLETE_SHIFT)) & DCP_CH3STAT_CLR_RSVD_COMPLETE_MASK)
  12454. #define DCP_CH3STAT_CLR_HASH_MISMATCH_MASK (0x2U)
  12455. #define DCP_CH3STAT_CLR_HASH_MISMATCH_SHIFT (1U)
  12456. #define DCP_CH3STAT_CLR_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_CLR_HASH_MISMATCH_SHIFT)) & DCP_CH3STAT_CLR_HASH_MISMATCH_MASK)
  12457. #define DCP_CH3STAT_CLR_ERROR_SETUP_MASK (0x4U)
  12458. #define DCP_CH3STAT_CLR_ERROR_SETUP_SHIFT (2U)
  12459. #define DCP_CH3STAT_CLR_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_CLR_ERROR_SETUP_SHIFT)) & DCP_CH3STAT_CLR_ERROR_SETUP_MASK)
  12460. #define DCP_CH3STAT_CLR_ERROR_PACKET_MASK (0x8U)
  12461. #define DCP_CH3STAT_CLR_ERROR_PACKET_SHIFT (3U)
  12462. #define DCP_CH3STAT_CLR_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_CLR_ERROR_PACKET_SHIFT)) & DCP_CH3STAT_CLR_ERROR_PACKET_MASK)
  12463. #define DCP_CH3STAT_CLR_ERROR_SRC_MASK (0x10U)
  12464. #define DCP_CH3STAT_CLR_ERROR_SRC_SHIFT (4U)
  12465. #define DCP_CH3STAT_CLR_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_CLR_ERROR_SRC_SHIFT)) & DCP_CH3STAT_CLR_ERROR_SRC_MASK)
  12466. #define DCP_CH3STAT_CLR_ERROR_DST_MASK (0x20U)
  12467. #define DCP_CH3STAT_CLR_ERROR_DST_SHIFT (5U)
  12468. #define DCP_CH3STAT_CLR_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_CLR_ERROR_DST_SHIFT)) & DCP_CH3STAT_CLR_ERROR_DST_MASK)
  12469. #define DCP_CH3STAT_CLR_ERROR_PAGEFAULT_MASK (0x40U)
  12470. #define DCP_CH3STAT_CLR_ERROR_PAGEFAULT_SHIFT (6U)
  12471. #define DCP_CH3STAT_CLR_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_CLR_ERROR_PAGEFAULT_SHIFT)) & DCP_CH3STAT_CLR_ERROR_PAGEFAULT_MASK)
  12472. #define DCP_CH3STAT_CLR_ERROR_CODE_MASK (0xFF0000U)
  12473. #define DCP_CH3STAT_CLR_ERROR_CODE_SHIFT (16U)
  12474. /*! ERROR_CODE
  12475. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  12476. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  12477. * 0b00000011..Error is signalled because an error was reported while reading/writing the context buffer.
  12478. * 0b00000100..Error is signalled because an error was reported while reading/writing the payload.
  12479. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for example, blit + hash).
  12480. */
  12481. #define DCP_CH3STAT_CLR_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_CLR_ERROR_CODE_SHIFT)) & DCP_CH3STAT_CLR_ERROR_CODE_MASK)
  12482. #define DCP_CH3STAT_CLR_TAG_MASK (0xFF000000U)
  12483. #define DCP_CH3STAT_CLR_TAG_SHIFT (24U)
  12484. #define DCP_CH3STAT_CLR_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_CLR_TAG_SHIFT)) & DCP_CH3STAT_CLR_TAG_MASK)
  12485. /*! @} */
  12486. /*! @name CH3STAT_TOG - DCP channel 3 status register */
  12487. /*! @{ */
  12488. #define DCP_CH3STAT_TOG_RSVD_COMPLETE_MASK (0x1U)
  12489. #define DCP_CH3STAT_TOG_RSVD_COMPLETE_SHIFT (0U)
  12490. #define DCP_CH3STAT_TOG_RSVD_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TOG_RSVD_COMPLETE_SHIFT)) & DCP_CH3STAT_TOG_RSVD_COMPLETE_MASK)
  12491. #define DCP_CH3STAT_TOG_HASH_MISMATCH_MASK (0x2U)
  12492. #define DCP_CH3STAT_TOG_HASH_MISMATCH_SHIFT (1U)
  12493. #define DCP_CH3STAT_TOG_HASH_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TOG_HASH_MISMATCH_SHIFT)) & DCP_CH3STAT_TOG_HASH_MISMATCH_MASK)
  12494. #define DCP_CH3STAT_TOG_ERROR_SETUP_MASK (0x4U)
  12495. #define DCP_CH3STAT_TOG_ERROR_SETUP_SHIFT (2U)
  12496. #define DCP_CH3STAT_TOG_ERROR_SETUP(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TOG_ERROR_SETUP_SHIFT)) & DCP_CH3STAT_TOG_ERROR_SETUP_MASK)
  12497. #define DCP_CH3STAT_TOG_ERROR_PACKET_MASK (0x8U)
  12498. #define DCP_CH3STAT_TOG_ERROR_PACKET_SHIFT (3U)
  12499. #define DCP_CH3STAT_TOG_ERROR_PACKET(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TOG_ERROR_PACKET_SHIFT)) & DCP_CH3STAT_TOG_ERROR_PACKET_MASK)
  12500. #define DCP_CH3STAT_TOG_ERROR_SRC_MASK (0x10U)
  12501. #define DCP_CH3STAT_TOG_ERROR_SRC_SHIFT (4U)
  12502. #define DCP_CH3STAT_TOG_ERROR_SRC(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TOG_ERROR_SRC_SHIFT)) & DCP_CH3STAT_TOG_ERROR_SRC_MASK)
  12503. #define DCP_CH3STAT_TOG_ERROR_DST_MASK (0x20U)
  12504. #define DCP_CH3STAT_TOG_ERROR_DST_SHIFT (5U)
  12505. #define DCP_CH3STAT_TOG_ERROR_DST(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TOG_ERROR_DST_SHIFT)) & DCP_CH3STAT_TOG_ERROR_DST_MASK)
  12506. #define DCP_CH3STAT_TOG_ERROR_PAGEFAULT_MASK (0x40U)
  12507. #define DCP_CH3STAT_TOG_ERROR_PAGEFAULT_SHIFT (6U)
  12508. #define DCP_CH3STAT_TOG_ERROR_PAGEFAULT(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TOG_ERROR_PAGEFAULT_SHIFT)) & DCP_CH3STAT_TOG_ERROR_PAGEFAULT_MASK)
  12509. #define DCP_CH3STAT_TOG_ERROR_CODE_MASK (0xFF0000U)
  12510. #define DCP_CH3STAT_TOG_ERROR_CODE_SHIFT (16U)
  12511. /*! ERROR_CODE
  12512. * 0b00000001..Error is signalled because the next pointer is 0x00000000.
  12513. * 0b00000010..Error is signalled because the semaphore is of a non-zero value and neither of the chain bits is set.
  12514. * 0b00000011..Error is signalled because an error was reported while reading/writing the context buffer.
  12515. * 0b00000100..Error is signalled because an error was reported while reading/writing the payload.
  12516. * 0b00000101..Error is signalled because the control packet specifies an invalid mode select (for example, blit + hash).
  12517. */
  12518. #define DCP_CH3STAT_TOG_ERROR_CODE(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TOG_ERROR_CODE_SHIFT)) & DCP_CH3STAT_TOG_ERROR_CODE_MASK)
  12519. #define DCP_CH3STAT_TOG_TAG_MASK (0xFF000000U)
  12520. #define DCP_CH3STAT_TOG_TAG_SHIFT (24U)
  12521. #define DCP_CH3STAT_TOG_TAG(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3STAT_TOG_TAG_SHIFT)) & DCP_CH3STAT_TOG_TAG_MASK)
  12522. /*! @} */
  12523. /*! @name CH3OPTS - DCP channel 3 options register */
  12524. /*! @{ */
  12525. #define DCP_CH3OPTS_RECOVERY_TIMER_MASK (0xFFFFU)
  12526. #define DCP_CH3OPTS_RECOVERY_TIMER_SHIFT (0U)
  12527. #define DCP_CH3OPTS_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3OPTS_RECOVERY_TIMER_SHIFT)) & DCP_CH3OPTS_RECOVERY_TIMER_MASK)
  12528. #define DCP_CH3OPTS_RSVD_MASK (0xFFFF0000U)
  12529. #define DCP_CH3OPTS_RSVD_SHIFT (16U)
  12530. #define DCP_CH3OPTS_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3OPTS_RSVD_SHIFT)) & DCP_CH3OPTS_RSVD_MASK)
  12531. /*! @} */
  12532. /*! @name CH3OPTS_SET - DCP channel 3 options register */
  12533. /*! @{ */
  12534. #define DCP_CH3OPTS_SET_RECOVERY_TIMER_MASK (0xFFFFU)
  12535. #define DCP_CH3OPTS_SET_RECOVERY_TIMER_SHIFT (0U)
  12536. #define DCP_CH3OPTS_SET_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3OPTS_SET_RECOVERY_TIMER_SHIFT)) & DCP_CH3OPTS_SET_RECOVERY_TIMER_MASK)
  12537. #define DCP_CH3OPTS_SET_RSVD_MASK (0xFFFF0000U)
  12538. #define DCP_CH3OPTS_SET_RSVD_SHIFT (16U)
  12539. #define DCP_CH3OPTS_SET_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3OPTS_SET_RSVD_SHIFT)) & DCP_CH3OPTS_SET_RSVD_MASK)
  12540. /*! @} */
  12541. /*! @name CH3OPTS_CLR - DCP channel 3 options register */
  12542. /*! @{ */
  12543. #define DCP_CH3OPTS_CLR_RECOVERY_TIMER_MASK (0xFFFFU)
  12544. #define DCP_CH3OPTS_CLR_RECOVERY_TIMER_SHIFT (0U)
  12545. #define DCP_CH3OPTS_CLR_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3OPTS_CLR_RECOVERY_TIMER_SHIFT)) & DCP_CH3OPTS_CLR_RECOVERY_TIMER_MASK)
  12546. #define DCP_CH3OPTS_CLR_RSVD_MASK (0xFFFF0000U)
  12547. #define DCP_CH3OPTS_CLR_RSVD_SHIFT (16U)
  12548. #define DCP_CH3OPTS_CLR_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3OPTS_CLR_RSVD_SHIFT)) & DCP_CH3OPTS_CLR_RSVD_MASK)
  12549. /*! @} */
  12550. /*! @name CH3OPTS_TOG - DCP channel 3 options register */
  12551. /*! @{ */
  12552. #define DCP_CH3OPTS_TOG_RECOVERY_TIMER_MASK (0xFFFFU)
  12553. #define DCP_CH3OPTS_TOG_RECOVERY_TIMER_SHIFT (0U)
  12554. #define DCP_CH3OPTS_TOG_RECOVERY_TIMER(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3OPTS_TOG_RECOVERY_TIMER_SHIFT)) & DCP_CH3OPTS_TOG_RECOVERY_TIMER_MASK)
  12555. #define DCP_CH3OPTS_TOG_RSVD_MASK (0xFFFF0000U)
  12556. #define DCP_CH3OPTS_TOG_RSVD_SHIFT (16U)
  12557. #define DCP_CH3OPTS_TOG_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_CH3OPTS_TOG_RSVD_SHIFT)) & DCP_CH3OPTS_TOG_RSVD_MASK)
  12558. /*! @} */
  12559. /*! @name DBGSELECT - DCP debug select register */
  12560. /*! @{ */
  12561. #define DCP_DBGSELECT_INDEX_MASK (0xFFU)
  12562. #define DCP_DBGSELECT_INDEX_SHIFT (0U)
  12563. /*! INDEX
  12564. * 0b00000001..CONTROL
  12565. * 0b00010000..OTPKEY0
  12566. * 0b00010001..OTPKEY1
  12567. * 0b00010010..OTPKEY2
  12568. * 0b00010011..OTPKEY3
  12569. */
  12570. #define DCP_DBGSELECT_INDEX(x) (((uint32_t)(((uint32_t)(x)) << DCP_DBGSELECT_INDEX_SHIFT)) & DCP_DBGSELECT_INDEX_MASK)
  12571. #define DCP_DBGSELECT_RSVD_MASK (0xFFFFFF00U)
  12572. #define DCP_DBGSELECT_RSVD_SHIFT (8U)
  12573. #define DCP_DBGSELECT_RSVD(x) (((uint32_t)(((uint32_t)(x)) << DCP_DBGSELECT_RSVD_SHIFT)) & DCP_DBGSELECT_RSVD_MASK)
  12574. /*! @} */
  12575. /*! @name DBGDATA - DCP debug data register */
  12576. /*! @{ */
  12577. #define DCP_DBGDATA_DATA_MASK (0xFFFFFFFFU)
  12578. #define DCP_DBGDATA_DATA_SHIFT (0U)
  12579. #define DCP_DBGDATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << DCP_DBGDATA_DATA_SHIFT)) & DCP_DBGDATA_DATA_MASK)
  12580. /*! @} */
  12581. /*! @name PAGETABLE - DCP page table register */
  12582. /*! @{ */
  12583. #define DCP_PAGETABLE_ENABLE_MASK (0x1U)
  12584. #define DCP_PAGETABLE_ENABLE_SHIFT (0U)
  12585. #define DCP_PAGETABLE_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << DCP_PAGETABLE_ENABLE_SHIFT)) & DCP_PAGETABLE_ENABLE_MASK)
  12586. #define DCP_PAGETABLE_FLUSH_MASK (0x2U)
  12587. #define DCP_PAGETABLE_FLUSH_SHIFT (1U)
  12588. #define DCP_PAGETABLE_FLUSH(x) (((uint32_t)(((uint32_t)(x)) << DCP_PAGETABLE_FLUSH_SHIFT)) & DCP_PAGETABLE_FLUSH_MASK)
  12589. #define DCP_PAGETABLE_BASE_MASK (0xFFFFFFFCU)
  12590. #define DCP_PAGETABLE_BASE_SHIFT (2U)
  12591. #define DCP_PAGETABLE_BASE(x) (((uint32_t)(((uint32_t)(x)) << DCP_PAGETABLE_BASE_SHIFT)) & DCP_PAGETABLE_BASE_MASK)
  12592. /*! @} */
  12593. /*! @name VERSION - DCP version register */
  12594. /*! @{ */
  12595. #define DCP_VERSION_STEP_MASK (0xFFFFU)
  12596. #define DCP_VERSION_STEP_SHIFT (0U)
  12597. #define DCP_VERSION_STEP(x) (((uint32_t)(((uint32_t)(x)) << DCP_VERSION_STEP_SHIFT)) & DCP_VERSION_STEP_MASK)
  12598. #define DCP_VERSION_MINOR_MASK (0xFF0000U)
  12599. #define DCP_VERSION_MINOR_SHIFT (16U)
  12600. #define DCP_VERSION_MINOR(x) (((uint32_t)(((uint32_t)(x)) << DCP_VERSION_MINOR_SHIFT)) & DCP_VERSION_MINOR_MASK)
  12601. #define DCP_VERSION_MAJOR_MASK (0xFF000000U)
  12602. #define DCP_VERSION_MAJOR_SHIFT (24U)
  12603. #define DCP_VERSION_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << DCP_VERSION_MAJOR_SHIFT)) & DCP_VERSION_MAJOR_MASK)
  12604. /*! @} */
  12605. /*!
  12606. * @}
  12607. */ /* end of group DCP_Register_Masks */
  12608. /* DCP - Peripheral instance base addresses */
  12609. /** Peripheral DCP base address */
  12610. #define DCP_BASE (0x402FC000u)
  12611. /** Peripheral DCP base pointer */
  12612. #define DCP ((DCP_Type *)DCP_BASE)
  12613. /** Array initializer of DCP peripheral base addresses */
  12614. #define DCP_BASE_ADDRS { DCP_BASE }
  12615. /** Array initializer of DCP peripheral base pointers */
  12616. #define DCP_BASE_PTRS { DCP }
  12617. /** Interrupt vectors for the DCP peripheral type */
  12618. #define DCP_IRQS { DCP_IRQn }
  12619. #define DCP_VMI_IRQS { DCP_VMI_IRQn }
  12620. /*!
  12621. * @}
  12622. */ /* end of group DCP_Peripheral_Access_Layer */
  12623. /* ----------------------------------------------------------------------------
  12624. -- DMA Peripheral Access Layer
  12625. ---------------------------------------------------------------------------- */
  12626. /*!
  12627. * @addtogroup DMA_Peripheral_Access_Layer DMA Peripheral Access Layer
  12628. * @{
  12629. */
  12630. /** DMA - Register Layout Typedef */
  12631. typedef struct {
  12632. __IO uint32_t CR; /**< Control Register, offset: 0x0 */
  12633. __I uint32_t ES; /**< Error Status Register, offset: 0x4 */
  12634. uint8_t RESERVED_0[4];
  12635. __IO uint32_t ERQ; /**< Enable Request Register, offset: 0xC */
  12636. uint8_t RESERVED_1[4];
  12637. __IO uint32_t EEI; /**< Enable Error Interrupt Register, offset: 0x14 */
  12638. __O uint8_t CEEI; /**< Clear Enable Error Interrupt Register, offset: 0x18 */
  12639. __O uint8_t SEEI; /**< Set Enable Error Interrupt Register, offset: 0x19 */
  12640. __O uint8_t CERQ; /**< Clear Enable Request Register, offset: 0x1A */
  12641. __O uint8_t SERQ; /**< Set Enable Request Register, offset: 0x1B */
  12642. __O uint8_t CDNE; /**< Clear DONE Status Bit Register, offset: 0x1C */
  12643. __O uint8_t SSRT; /**< Set START Bit Register, offset: 0x1D */
  12644. __O uint8_t CERR; /**< Clear Error Register, offset: 0x1E */
  12645. __O uint8_t CINT; /**< Clear Interrupt Request Register, offset: 0x1F */
  12646. uint8_t RESERVED_2[4];
  12647. __IO uint32_t INT; /**< Interrupt Request Register, offset: 0x24 */
  12648. uint8_t RESERVED_3[4];
  12649. __IO uint32_t ERR; /**< Error Register, offset: 0x2C */
  12650. uint8_t RESERVED_4[4];
  12651. __I uint32_t HRS; /**< Hardware Request Status Register, offset: 0x34 */
  12652. uint8_t RESERVED_5[12];
  12653. __IO uint32_t EARS; /**< Enable Asynchronous Request in Stop Register, offset: 0x44 */
  12654. uint8_t RESERVED_6[184];
  12655. __IO uint8_t DCHPRI3; /**< Channel n Priority Register, offset: 0x100 */
  12656. __IO uint8_t DCHPRI2; /**< Channel n Priority Register, offset: 0x101 */
  12657. __IO uint8_t DCHPRI1; /**< Channel n Priority Register, offset: 0x102 */
  12658. __IO uint8_t DCHPRI0; /**< Channel n Priority Register, offset: 0x103 */
  12659. __IO uint8_t DCHPRI7; /**< Channel n Priority Register, offset: 0x104 */
  12660. __IO uint8_t DCHPRI6; /**< Channel n Priority Register, offset: 0x105 */
  12661. __IO uint8_t DCHPRI5; /**< Channel n Priority Register, offset: 0x106 */
  12662. __IO uint8_t DCHPRI4; /**< Channel n Priority Register, offset: 0x107 */
  12663. __IO uint8_t DCHPRI11; /**< Channel n Priority Register, offset: 0x108 */
  12664. __IO uint8_t DCHPRI10; /**< Channel n Priority Register, offset: 0x109 */
  12665. __IO uint8_t DCHPRI9; /**< Channel n Priority Register, offset: 0x10A */
  12666. __IO uint8_t DCHPRI8; /**< Channel n Priority Register, offset: 0x10B */
  12667. __IO uint8_t DCHPRI15; /**< Channel n Priority Register, offset: 0x10C */
  12668. __IO uint8_t DCHPRI14; /**< Channel n Priority Register, offset: 0x10D */
  12669. __IO uint8_t DCHPRI13; /**< Channel n Priority Register, offset: 0x10E */
  12670. __IO uint8_t DCHPRI12; /**< Channel n Priority Register, offset: 0x10F */
  12671. __IO uint8_t DCHPRI19; /**< Channel n Priority Register, offset: 0x110 */
  12672. __IO uint8_t DCHPRI18; /**< Channel n Priority Register, offset: 0x111 */
  12673. __IO uint8_t DCHPRI17; /**< Channel n Priority Register, offset: 0x112 */
  12674. __IO uint8_t DCHPRI16; /**< Channel n Priority Register, offset: 0x113 */
  12675. __IO uint8_t DCHPRI23; /**< Channel n Priority Register, offset: 0x114 */
  12676. __IO uint8_t DCHPRI22; /**< Channel n Priority Register, offset: 0x115 */
  12677. __IO uint8_t DCHPRI21; /**< Channel n Priority Register, offset: 0x116 */
  12678. __IO uint8_t DCHPRI20; /**< Channel n Priority Register, offset: 0x117 */
  12679. __IO uint8_t DCHPRI27; /**< Channel n Priority Register, offset: 0x118 */
  12680. __IO uint8_t DCHPRI26; /**< Channel n Priority Register, offset: 0x119 */
  12681. __IO uint8_t DCHPRI25; /**< Channel n Priority Register, offset: 0x11A */
  12682. __IO uint8_t DCHPRI24; /**< Channel n Priority Register, offset: 0x11B */
  12683. __IO uint8_t DCHPRI31; /**< Channel n Priority Register, offset: 0x11C */
  12684. __IO uint8_t DCHPRI30; /**< Channel n Priority Register, offset: 0x11D */
  12685. __IO uint8_t DCHPRI29; /**< Channel n Priority Register, offset: 0x11E */
  12686. __IO uint8_t DCHPRI28; /**< Channel n Priority Register, offset: 0x11F */
  12687. uint8_t RESERVED_7[3808];
  12688. struct { /* offset: 0x1000, array step: 0x20 */
  12689. __IO uint32_t SADDR; /**< TCD Source Address, array offset: 0x1000, array step: 0x20 */
  12690. __IO uint16_t SOFF; /**< TCD Signed Source Address Offset, array offset: 0x1004, array step: 0x20 */
  12691. __IO uint16_t ATTR; /**< TCD Transfer Attributes, array offset: 0x1006, array step: 0x20 */
  12692. union { /* offset: 0x1008, array step: 0x20 */
  12693. __IO uint32_t NBYTES_MLNO; /**< TCD Minor Byte Count (Minor Loop Mapping Disabled), array offset: 0x1008, array step: 0x20 */
  12694. __IO uint32_t NBYTES_MLOFFNO; /**< TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled), array offset: 0x1008, array step: 0x20 */
  12695. __IO uint32_t NBYTES_MLOFFYES; /**< TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled), array offset: 0x1008, array step: 0x20 */
  12696. };
  12697. __IO uint32_t SLAST; /**< TCD Last Source Address Adjustment, array offset: 0x100C, array step: 0x20 */
  12698. __IO uint32_t DADDR; /**< TCD Destination Address, array offset: 0x1010, array step: 0x20 */
  12699. __IO uint16_t DOFF; /**< TCD Signed Destination Address Offset, array offset: 0x1014, array step: 0x20 */
  12700. union { /* offset: 0x1016, array step: 0x20 */
  12701. __IO uint16_t CITER_ELINKNO; /**< TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled), array offset: 0x1016, array step: 0x20 */
  12702. __IO uint16_t CITER_ELINKYES; /**< TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled), array offset: 0x1016, array step: 0x20 */
  12703. };
  12704. __IO uint32_t DLAST_SGA; /**< TCD Last Destination Address Adjustment/Scatter Gather Address, array offset: 0x1018, array step: 0x20 */
  12705. __IO uint16_t CSR; /**< TCD Control and Status, array offset: 0x101C, array step: 0x20 */
  12706. union { /* offset: 0x101E, array step: 0x20 */
  12707. __IO uint16_t BITER_ELINKNO; /**< TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled), array offset: 0x101E, array step: 0x20 */
  12708. __IO uint16_t BITER_ELINKYES; /**< TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled), array offset: 0x101E, array step: 0x20 */
  12709. };
  12710. } TCD[32];
  12711. } DMA_Type;
  12712. /* ----------------------------------------------------------------------------
  12713. -- DMA Register Masks
  12714. ---------------------------------------------------------------------------- */
  12715. /*!
  12716. * @addtogroup DMA_Register_Masks DMA Register Masks
  12717. * @{
  12718. */
  12719. /*! @name CR - Control Register */
  12720. /*! @{ */
  12721. #define DMA_CR_EDBG_MASK (0x2U)
  12722. #define DMA_CR_EDBG_SHIFT (1U)
  12723. /*! EDBG - Enable Debug
  12724. * 0b0..When in debug mode, the DMA continues to operate.
  12725. * 0b1..When in debug mode, the DMA stalls the start of a new channel. Executing channels are allowed to
  12726. * complete. Channel execution resumes when the system exits debug mode or the EDBG bit is cleared.
  12727. */
  12728. #define DMA_CR_EDBG(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_EDBG_SHIFT)) & DMA_CR_EDBG_MASK)
  12729. #define DMA_CR_ERCA_MASK (0x4U)
  12730. #define DMA_CR_ERCA_SHIFT (2U)
  12731. /*! ERCA - Enable Round Robin Channel Arbitration
  12732. * 0b0..Fixed priority arbitration is used for channel selection within each group.
  12733. * 0b1..Round robin arbitration is used for channel selection within each group.
  12734. */
  12735. #define DMA_CR_ERCA(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ERCA_SHIFT)) & DMA_CR_ERCA_MASK)
  12736. #define DMA_CR_ERGA_MASK (0x8U)
  12737. #define DMA_CR_ERGA_SHIFT (3U)
  12738. /*! ERGA - Enable Round Robin Group Arbitration
  12739. * 0b0..Fixed priority arbitration is used for selection among the groups.
  12740. * 0b1..Round robin arbitration is used for selection among the groups.
  12741. */
  12742. #define DMA_CR_ERGA(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ERGA_SHIFT)) & DMA_CR_ERGA_MASK)
  12743. #define DMA_CR_HOE_MASK (0x10U)
  12744. #define DMA_CR_HOE_SHIFT (4U)
  12745. /*! HOE - Halt On Error
  12746. * 0b0..Normal operation
  12747. * 0b1..Any error causes the HALT bit to set. Subsequently, all service requests are ignored until the HALT bit is cleared.
  12748. */
  12749. #define DMA_CR_HOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_HOE_SHIFT)) & DMA_CR_HOE_MASK)
  12750. #define DMA_CR_HALT_MASK (0x20U)
  12751. #define DMA_CR_HALT_SHIFT (5U)
  12752. /*! HALT - Halt DMA Operations
  12753. * 0b0..Normal operation
  12754. * 0b1..Stall the start of any new channels. Executing channels are allowed to complete. Channel execution resumes when this bit is cleared.
  12755. */
  12756. #define DMA_CR_HALT(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_HALT_SHIFT)) & DMA_CR_HALT_MASK)
  12757. #define DMA_CR_CLM_MASK (0x40U)
  12758. #define DMA_CR_CLM_SHIFT (6U)
  12759. /*! CLM - Continuous Link Mode
  12760. * 0b0..A minor loop channel link made to itself goes through channel arbitration before being activated again.
  12761. * 0b1..A minor loop channel link made to itself does not go through channel arbitration before being activated
  12762. * again. Upon minor loop completion, the channel activates again if that channel has a minor loop channel
  12763. * link enabled and the link channel is itself. This effectively applies the minor loop offsets and restarts the
  12764. * next minor loop.
  12765. */
  12766. #define DMA_CR_CLM(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_CLM_SHIFT)) & DMA_CR_CLM_MASK)
  12767. #define DMA_CR_EMLM_MASK (0x80U)
  12768. #define DMA_CR_EMLM_SHIFT (7U)
  12769. /*! EMLM - Enable Minor Loop Mapping
  12770. * 0b0..Disabled. TCDn.word2 is defined as a 32-bit NBYTES field.
  12771. * 0b1..Enabled. TCDn.word2 is redefined to include individual enable fields, an offset field, and the NBYTES
  12772. * field. The individual enable fields allow the minor loop offset to be applied to the source address, the
  12773. * destination address, or both. The NBYTES field is reduced when either offset is enabled.
  12774. */
  12775. #define DMA_CR_EMLM(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_EMLM_SHIFT)) & DMA_CR_EMLM_MASK)
  12776. #define DMA_CR_GRP0PRI_MASK (0x100U)
  12777. #define DMA_CR_GRP0PRI_SHIFT (8U)
  12778. /*! GRP0PRI - Channel Group 0 Priority
  12779. */
  12780. #define DMA_CR_GRP0PRI(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_GRP0PRI_SHIFT)) & DMA_CR_GRP0PRI_MASK)
  12781. #define DMA_CR_GRP1PRI_MASK (0x400U)
  12782. #define DMA_CR_GRP1PRI_SHIFT (10U)
  12783. /*! GRP1PRI - Channel Group 1 Priority
  12784. */
  12785. #define DMA_CR_GRP1PRI(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_GRP1PRI_SHIFT)) & DMA_CR_GRP1PRI_MASK)
  12786. #define DMA_CR_ECX_MASK (0x10000U)
  12787. #define DMA_CR_ECX_SHIFT (16U)
  12788. /*! ECX - Error Cancel Transfer
  12789. * 0b0..Normal operation
  12790. * 0b1..Cancel the remaining data transfer in the same fashion as the CX bit. Stop the executing channel and
  12791. * force the minor loop to finish. The cancel takes effect after the last write of the current read/write
  12792. * sequence. The ECX bit clears itself after the cancel is honored. In addition to cancelling the transfer, ECX
  12793. * treats the cancel as an error condition, thus updating the Error Status register (DMAx_ES) and generating an
  12794. * optional error interrupt.
  12795. */
  12796. #define DMA_CR_ECX(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ECX_SHIFT)) & DMA_CR_ECX_MASK)
  12797. #define DMA_CR_CX_MASK (0x20000U)
  12798. #define DMA_CR_CX_SHIFT (17U)
  12799. /*! CX - Cancel Transfer
  12800. * 0b0..Normal operation
  12801. * 0b1..Cancel the remaining data transfer. Stop the executing channel and force the minor loop to finish. The
  12802. * cancel takes effect after the last write of the current read/write sequence. The CX bit clears itself after
  12803. * the cancel has been honored. This cancel retires the channel normally as if the minor loop was completed.
  12804. */
  12805. #define DMA_CR_CX(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_CX_SHIFT)) & DMA_CR_CX_MASK)
  12806. #define DMA_CR_ACTIVE_MASK (0x80000000U)
  12807. #define DMA_CR_ACTIVE_SHIFT (31U)
  12808. /*! ACTIVE - DMA Active Status
  12809. * 0b0..eDMA is idle.
  12810. * 0b1..eDMA is executing a channel.
  12811. */
  12812. #define DMA_CR_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ACTIVE_SHIFT)) & DMA_CR_ACTIVE_MASK)
  12813. /*! @} */
  12814. /*! @name ES - Error Status Register */
  12815. /*! @{ */
  12816. #define DMA_ES_DBE_MASK (0x1U)
  12817. #define DMA_ES_DBE_SHIFT (0U)
  12818. /*! DBE - Destination Bus Error
  12819. * 0b0..No destination bus error
  12820. * 0b1..The last recorded error was a bus error on a destination write
  12821. */
  12822. #define DMA_ES_DBE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_DBE_SHIFT)) & DMA_ES_DBE_MASK)
  12823. #define DMA_ES_SBE_MASK (0x2U)
  12824. #define DMA_ES_SBE_SHIFT (1U)
  12825. /*! SBE - Source Bus Error
  12826. * 0b0..No source bus error
  12827. * 0b1..The last recorded error was a bus error on a source read
  12828. */
  12829. #define DMA_ES_SBE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SBE_SHIFT)) & DMA_ES_SBE_MASK)
  12830. #define DMA_ES_SGE_MASK (0x4U)
  12831. #define DMA_ES_SGE_SHIFT (2U)
  12832. /*! SGE - Scatter/Gather Configuration Error
  12833. * 0b0..No scatter/gather configuration error
  12834. * 0b1..The last recorded error was a configuration error detected in the TCDn_DLASTSGA field. This field is
  12835. * checked at the beginning of a scatter/gather operation after major loop completion if TCDn_CSR[ESG] is
  12836. * enabled. TCDn_DLASTSGA is not on a 32 byte boundary.
  12837. */
  12838. #define DMA_ES_SGE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SGE_SHIFT)) & DMA_ES_SGE_MASK)
  12839. #define DMA_ES_NCE_MASK (0x8U)
  12840. #define DMA_ES_NCE_SHIFT (3U)
  12841. /*! NCE - NBYTES/CITER Configuration Error
  12842. * 0b0..No NBYTES/CITER configuration error
  12843. * 0b1..The last recorded error was a configuration error detected in the TCDn_NBYTES or TCDn_CITER fields.
  12844. * TCDn_NBYTES is not a multiple of TCDn_ATTR[SSIZE] and TCDn_ATTR[DSIZE], or TCDn_CITER[CITER] is equal to zero,
  12845. * or TCDn_CITER[ELINK] is not equal to TCDn_BITER[ELINK]
  12846. */
  12847. #define DMA_ES_NCE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_NCE_SHIFT)) & DMA_ES_NCE_MASK)
  12848. #define DMA_ES_DOE_MASK (0x10U)
  12849. #define DMA_ES_DOE_SHIFT (4U)
  12850. /*! DOE - Destination Offset Error
  12851. * 0b0..No destination offset configuration error
  12852. * 0b1..The last recorded error was a configuration error detected in the TCDn_DOFF field. TCDn_DOFF is inconsistent with TCDn_ATTR[DSIZE].
  12853. */
  12854. #define DMA_ES_DOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_DOE_SHIFT)) & DMA_ES_DOE_MASK)
  12855. #define DMA_ES_DAE_MASK (0x20U)
  12856. #define DMA_ES_DAE_SHIFT (5U)
  12857. /*! DAE - Destination Address Error
  12858. * 0b0..No destination address configuration error
  12859. * 0b1..The last recorded error was a configuration error detected in the TCDn_DADDR field. TCDn_DADDR is inconsistent with TCDn_ATTR[DSIZE].
  12860. */
  12861. #define DMA_ES_DAE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_DAE_SHIFT)) & DMA_ES_DAE_MASK)
  12862. #define DMA_ES_SOE_MASK (0x40U)
  12863. #define DMA_ES_SOE_SHIFT (6U)
  12864. /*! SOE - Source Offset Error
  12865. * 0b0..No source offset configuration error
  12866. * 0b1..The last recorded error was a configuration error detected in the TCDn_SOFF field. TCDn_SOFF is inconsistent with TCDn_ATTR[SSIZE].
  12867. */
  12868. #define DMA_ES_SOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SOE_SHIFT)) & DMA_ES_SOE_MASK)
  12869. #define DMA_ES_SAE_MASK (0x80U)
  12870. #define DMA_ES_SAE_SHIFT (7U)
  12871. /*! SAE - Source Address Error
  12872. * 0b0..No source address configuration error.
  12873. * 0b1..The last recorded error was a configuration error detected in the TCDn_SADDR field. TCDn_SADDR is inconsistent with TCDn_ATTR[SSIZE].
  12874. */
  12875. #define DMA_ES_SAE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SAE_SHIFT)) & DMA_ES_SAE_MASK)
  12876. #define DMA_ES_ERRCHN_MASK (0x1F00U)
  12877. #define DMA_ES_ERRCHN_SHIFT (8U)
  12878. /*! ERRCHN - Error Channel Number or Canceled Channel Number
  12879. */
  12880. #define DMA_ES_ERRCHN(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_ERRCHN_SHIFT)) & DMA_ES_ERRCHN_MASK)
  12881. #define DMA_ES_CPE_MASK (0x4000U)
  12882. #define DMA_ES_CPE_SHIFT (14U)
  12883. /*! CPE - Channel Priority Error
  12884. * 0b0..No channel priority error
  12885. * 0b1..The last recorded error was a configuration error in the channel priorities within a group. Channel
  12886. * priorities within a group are not unique.
  12887. */
  12888. #define DMA_ES_CPE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_CPE_SHIFT)) & DMA_ES_CPE_MASK)
  12889. #define DMA_ES_GPE_MASK (0x8000U)
  12890. #define DMA_ES_GPE_SHIFT (15U)
  12891. /*! GPE - Group Priority Error
  12892. * 0b0..No group priority error
  12893. * 0b1..The last recorded error was a configuration error among the group priorities. All group priorities are not unique.
  12894. */
  12895. #define DMA_ES_GPE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_GPE_SHIFT)) & DMA_ES_GPE_MASK)
  12896. #define DMA_ES_ECX_MASK (0x10000U)
  12897. #define DMA_ES_ECX_SHIFT (16U)
  12898. /*! ECX - Transfer Canceled
  12899. * 0b0..No canceled transfers
  12900. * 0b1..The last recorded entry was a canceled transfer by the error cancel transfer input
  12901. */
  12902. #define DMA_ES_ECX(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_ECX_SHIFT)) & DMA_ES_ECX_MASK)
  12903. #define DMA_ES_VLD_MASK (0x80000000U)
  12904. #define DMA_ES_VLD_SHIFT (31U)
  12905. /*! VLD - VLD
  12906. * 0b0..No ERR bits are set.
  12907. * 0b1..At least one ERR bit is set indicating a valid error exists that has not been cleared.
  12908. */
  12909. #define DMA_ES_VLD(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_VLD_SHIFT)) & DMA_ES_VLD_MASK)
  12910. /*! @} */
  12911. /*! @name ERQ - Enable Request Register */
  12912. /*! @{ */
  12913. #define DMA_ERQ_ERQ0_MASK (0x1U)
  12914. #define DMA_ERQ_ERQ0_SHIFT (0U)
  12915. /*! ERQ0 - Enable DMA Request 0
  12916. * 0b0..The DMA request signal for the corresponding channel is disabled
  12917. * 0b1..The DMA request signal for the corresponding channel is enabled
  12918. */
  12919. #define DMA_ERQ_ERQ0(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ0_SHIFT)) & DMA_ERQ_ERQ0_MASK)
  12920. #define DMA_ERQ_ERQ1_MASK (0x2U)
  12921. #define DMA_ERQ_ERQ1_SHIFT (1U)
  12922. /*! ERQ1 - Enable DMA Request 1
  12923. * 0b0..The DMA request signal for the corresponding channel is disabled
  12924. * 0b1..The DMA request signal for the corresponding channel is enabled
  12925. */
  12926. #define DMA_ERQ_ERQ1(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ1_SHIFT)) & DMA_ERQ_ERQ1_MASK)
  12927. #define DMA_ERQ_ERQ2_MASK (0x4U)
  12928. #define DMA_ERQ_ERQ2_SHIFT (2U)
  12929. /*! ERQ2 - Enable DMA Request 2
  12930. * 0b0..The DMA request signal for the corresponding channel is disabled
  12931. * 0b1..The DMA request signal for the corresponding channel is enabled
  12932. */
  12933. #define DMA_ERQ_ERQ2(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ2_SHIFT)) & DMA_ERQ_ERQ2_MASK)
  12934. #define DMA_ERQ_ERQ3_MASK (0x8U)
  12935. #define DMA_ERQ_ERQ3_SHIFT (3U)
  12936. /*! ERQ3 - Enable DMA Request 3
  12937. * 0b0..The DMA request signal for the corresponding channel is disabled
  12938. * 0b1..The DMA request signal for the corresponding channel is enabled
  12939. */
  12940. #define DMA_ERQ_ERQ3(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ3_SHIFT)) & DMA_ERQ_ERQ3_MASK)
  12941. #define DMA_ERQ_ERQ4_MASK (0x10U)
  12942. #define DMA_ERQ_ERQ4_SHIFT (4U)
  12943. /*! ERQ4 - Enable DMA Request 4
  12944. * 0b0..The DMA request signal for the corresponding channel is disabled
  12945. * 0b1..The DMA request signal for the corresponding channel is enabled
  12946. */
  12947. #define DMA_ERQ_ERQ4(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ4_SHIFT)) & DMA_ERQ_ERQ4_MASK)
  12948. #define DMA_ERQ_ERQ5_MASK (0x20U)
  12949. #define DMA_ERQ_ERQ5_SHIFT (5U)
  12950. /*! ERQ5 - Enable DMA Request 5
  12951. * 0b0..The DMA request signal for the corresponding channel is disabled
  12952. * 0b1..The DMA request signal for the corresponding channel is enabled
  12953. */
  12954. #define DMA_ERQ_ERQ5(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ5_SHIFT)) & DMA_ERQ_ERQ5_MASK)
  12955. #define DMA_ERQ_ERQ6_MASK (0x40U)
  12956. #define DMA_ERQ_ERQ6_SHIFT (6U)
  12957. /*! ERQ6 - Enable DMA Request 6
  12958. * 0b0..The DMA request signal for the corresponding channel is disabled
  12959. * 0b1..The DMA request signal for the corresponding channel is enabled
  12960. */
  12961. #define DMA_ERQ_ERQ6(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ6_SHIFT)) & DMA_ERQ_ERQ6_MASK)
  12962. #define DMA_ERQ_ERQ7_MASK (0x80U)
  12963. #define DMA_ERQ_ERQ7_SHIFT (7U)
  12964. /*! ERQ7 - Enable DMA Request 7
  12965. * 0b0..The DMA request signal for the corresponding channel is disabled
  12966. * 0b1..The DMA request signal for the corresponding channel is enabled
  12967. */
  12968. #define DMA_ERQ_ERQ7(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ7_SHIFT)) & DMA_ERQ_ERQ7_MASK)
  12969. #define DMA_ERQ_ERQ8_MASK (0x100U)
  12970. #define DMA_ERQ_ERQ8_SHIFT (8U)
  12971. /*! ERQ8 - Enable DMA Request 8
  12972. * 0b0..The DMA request signal for the corresponding channel is disabled
  12973. * 0b1..The DMA request signal for the corresponding channel is enabled
  12974. */
  12975. #define DMA_ERQ_ERQ8(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ8_SHIFT)) & DMA_ERQ_ERQ8_MASK)
  12976. #define DMA_ERQ_ERQ9_MASK (0x200U)
  12977. #define DMA_ERQ_ERQ9_SHIFT (9U)
  12978. /*! ERQ9 - Enable DMA Request 9
  12979. * 0b0..The DMA request signal for the corresponding channel is disabled
  12980. * 0b1..The DMA request signal for the corresponding channel is enabled
  12981. */
  12982. #define DMA_ERQ_ERQ9(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ9_SHIFT)) & DMA_ERQ_ERQ9_MASK)
  12983. #define DMA_ERQ_ERQ10_MASK (0x400U)
  12984. #define DMA_ERQ_ERQ10_SHIFT (10U)
  12985. /*! ERQ10 - Enable DMA Request 10
  12986. * 0b0..The DMA request signal for the corresponding channel is disabled
  12987. * 0b1..The DMA request signal for the corresponding channel is enabled
  12988. */
  12989. #define DMA_ERQ_ERQ10(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ10_SHIFT)) & DMA_ERQ_ERQ10_MASK)
  12990. #define DMA_ERQ_ERQ11_MASK (0x800U)
  12991. #define DMA_ERQ_ERQ11_SHIFT (11U)
  12992. /*! ERQ11 - Enable DMA Request 11
  12993. * 0b0..The DMA request signal for the corresponding channel is disabled
  12994. * 0b1..The DMA request signal for the corresponding channel is enabled
  12995. */
  12996. #define DMA_ERQ_ERQ11(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ11_SHIFT)) & DMA_ERQ_ERQ11_MASK)
  12997. #define DMA_ERQ_ERQ12_MASK (0x1000U)
  12998. #define DMA_ERQ_ERQ12_SHIFT (12U)
  12999. /*! ERQ12 - Enable DMA Request 12
  13000. * 0b0..The DMA request signal for the corresponding channel is disabled
  13001. * 0b1..The DMA request signal for the corresponding channel is enabled
  13002. */
  13003. #define DMA_ERQ_ERQ12(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ12_SHIFT)) & DMA_ERQ_ERQ12_MASK)
  13004. #define DMA_ERQ_ERQ13_MASK (0x2000U)
  13005. #define DMA_ERQ_ERQ13_SHIFT (13U)
  13006. /*! ERQ13 - Enable DMA Request 13
  13007. * 0b0..The DMA request signal for the corresponding channel is disabled
  13008. * 0b1..The DMA request signal for the corresponding channel is enabled
  13009. */
  13010. #define DMA_ERQ_ERQ13(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ13_SHIFT)) & DMA_ERQ_ERQ13_MASK)
  13011. #define DMA_ERQ_ERQ14_MASK (0x4000U)
  13012. #define DMA_ERQ_ERQ14_SHIFT (14U)
  13013. /*! ERQ14 - Enable DMA Request 14
  13014. * 0b0..The DMA request signal for the corresponding channel is disabled
  13015. * 0b1..The DMA request signal for the corresponding channel is enabled
  13016. */
  13017. #define DMA_ERQ_ERQ14(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ14_SHIFT)) & DMA_ERQ_ERQ14_MASK)
  13018. #define DMA_ERQ_ERQ15_MASK (0x8000U)
  13019. #define DMA_ERQ_ERQ15_SHIFT (15U)
  13020. /*! ERQ15 - Enable DMA Request 15
  13021. * 0b0..The DMA request signal for the corresponding channel is disabled
  13022. * 0b1..The DMA request signal for the corresponding channel is enabled
  13023. */
  13024. #define DMA_ERQ_ERQ15(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ15_SHIFT)) & DMA_ERQ_ERQ15_MASK)
  13025. #define DMA_ERQ_ERQ16_MASK (0x10000U)
  13026. #define DMA_ERQ_ERQ16_SHIFT (16U)
  13027. /*! ERQ16 - Enable DMA Request 16
  13028. * 0b0..The DMA request signal for the corresponding channel is disabled
  13029. * 0b1..The DMA request signal for the corresponding channel is enabled
  13030. */
  13031. #define DMA_ERQ_ERQ16(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ16_SHIFT)) & DMA_ERQ_ERQ16_MASK)
  13032. #define DMA_ERQ_ERQ17_MASK (0x20000U)
  13033. #define DMA_ERQ_ERQ17_SHIFT (17U)
  13034. /*! ERQ17 - Enable DMA Request 17
  13035. * 0b0..The DMA request signal for the corresponding channel is disabled
  13036. * 0b1..The DMA request signal for the corresponding channel is enabled
  13037. */
  13038. #define DMA_ERQ_ERQ17(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ17_SHIFT)) & DMA_ERQ_ERQ17_MASK)
  13039. #define DMA_ERQ_ERQ18_MASK (0x40000U)
  13040. #define DMA_ERQ_ERQ18_SHIFT (18U)
  13041. /*! ERQ18 - Enable DMA Request 18
  13042. * 0b0..The DMA request signal for the corresponding channel is disabled
  13043. * 0b1..The DMA request signal for the corresponding channel is enabled
  13044. */
  13045. #define DMA_ERQ_ERQ18(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ18_SHIFT)) & DMA_ERQ_ERQ18_MASK)
  13046. #define DMA_ERQ_ERQ19_MASK (0x80000U)
  13047. #define DMA_ERQ_ERQ19_SHIFT (19U)
  13048. /*! ERQ19 - Enable DMA Request 19
  13049. * 0b0..The DMA request signal for the corresponding channel is disabled
  13050. * 0b1..The DMA request signal for the corresponding channel is enabled
  13051. */
  13052. #define DMA_ERQ_ERQ19(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ19_SHIFT)) & DMA_ERQ_ERQ19_MASK)
  13053. #define DMA_ERQ_ERQ20_MASK (0x100000U)
  13054. #define DMA_ERQ_ERQ20_SHIFT (20U)
  13055. /*! ERQ20 - Enable DMA Request 20
  13056. * 0b0..The DMA request signal for the corresponding channel is disabled
  13057. * 0b1..The DMA request signal for the corresponding channel is enabled
  13058. */
  13059. #define DMA_ERQ_ERQ20(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ20_SHIFT)) & DMA_ERQ_ERQ20_MASK)
  13060. #define DMA_ERQ_ERQ21_MASK (0x200000U)
  13061. #define DMA_ERQ_ERQ21_SHIFT (21U)
  13062. /*! ERQ21 - Enable DMA Request 21
  13063. * 0b0..The DMA request signal for the corresponding channel is disabled
  13064. * 0b1..The DMA request signal for the corresponding channel is enabled
  13065. */
  13066. #define DMA_ERQ_ERQ21(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ21_SHIFT)) & DMA_ERQ_ERQ21_MASK)
  13067. #define DMA_ERQ_ERQ22_MASK (0x400000U)
  13068. #define DMA_ERQ_ERQ22_SHIFT (22U)
  13069. /*! ERQ22 - Enable DMA Request 22
  13070. * 0b0..The DMA request signal for the corresponding channel is disabled
  13071. * 0b1..The DMA request signal for the corresponding channel is enabled
  13072. */
  13073. #define DMA_ERQ_ERQ22(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ22_SHIFT)) & DMA_ERQ_ERQ22_MASK)
  13074. #define DMA_ERQ_ERQ23_MASK (0x800000U)
  13075. #define DMA_ERQ_ERQ23_SHIFT (23U)
  13076. /*! ERQ23 - Enable DMA Request 23
  13077. * 0b0..The DMA request signal for the corresponding channel is disabled
  13078. * 0b1..The DMA request signal for the corresponding channel is enabled
  13079. */
  13080. #define DMA_ERQ_ERQ23(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ23_SHIFT)) & DMA_ERQ_ERQ23_MASK)
  13081. #define DMA_ERQ_ERQ24_MASK (0x1000000U)
  13082. #define DMA_ERQ_ERQ24_SHIFT (24U)
  13083. /*! ERQ24 - Enable DMA Request 24
  13084. * 0b0..The DMA request signal for the corresponding channel is disabled
  13085. * 0b1..The DMA request signal for the corresponding channel is enabled
  13086. */
  13087. #define DMA_ERQ_ERQ24(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ24_SHIFT)) & DMA_ERQ_ERQ24_MASK)
  13088. #define DMA_ERQ_ERQ25_MASK (0x2000000U)
  13089. #define DMA_ERQ_ERQ25_SHIFT (25U)
  13090. /*! ERQ25 - Enable DMA Request 25
  13091. * 0b0..The DMA request signal for the corresponding channel is disabled
  13092. * 0b1..The DMA request signal for the corresponding channel is enabled
  13093. */
  13094. #define DMA_ERQ_ERQ25(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ25_SHIFT)) & DMA_ERQ_ERQ25_MASK)
  13095. #define DMA_ERQ_ERQ26_MASK (0x4000000U)
  13096. #define DMA_ERQ_ERQ26_SHIFT (26U)
  13097. /*! ERQ26 - Enable DMA Request 26
  13098. * 0b0..The DMA request signal for the corresponding channel is disabled
  13099. * 0b1..The DMA request signal for the corresponding channel is enabled
  13100. */
  13101. #define DMA_ERQ_ERQ26(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ26_SHIFT)) & DMA_ERQ_ERQ26_MASK)
  13102. #define DMA_ERQ_ERQ27_MASK (0x8000000U)
  13103. #define DMA_ERQ_ERQ27_SHIFT (27U)
  13104. /*! ERQ27 - Enable DMA Request 27
  13105. * 0b0..The DMA request signal for the corresponding channel is disabled
  13106. * 0b1..The DMA request signal for the corresponding channel is enabled
  13107. */
  13108. #define DMA_ERQ_ERQ27(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ27_SHIFT)) & DMA_ERQ_ERQ27_MASK)
  13109. #define DMA_ERQ_ERQ28_MASK (0x10000000U)
  13110. #define DMA_ERQ_ERQ28_SHIFT (28U)
  13111. /*! ERQ28 - Enable DMA Request 28
  13112. * 0b0..The DMA request signal for the corresponding channel is disabled
  13113. * 0b1..The DMA request signal for the corresponding channel is enabled
  13114. */
  13115. #define DMA_ERQ_ERQ28(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ28_SHIFT)) & DMA_ERQ_ERQ28_MASK)
  13116. #define DMA_ERQ_ERQ29_MASK (0x20000000U)
  13117. #define DMA_ERQ_ERQ29_SHIFT (29U)
  13118. /*! ERQ29 - Enable DMA Request 29
  13119. * 0b0..The DMA request signal for the corresponding channel is disabled
  13120. * 0b1..The DMA request signal for the corresponding channel is enabled
  13121. */
  13122. #define DMA_ERQ_ERQ29(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ29_SHIFT)) & DMA_ERQ_ERQ29_MASK)
  13123. #define DMA_ERQ_ERQ30_MASK (0x40000000U)
  13124. #define DMA_ERQ_ERQ30_SHIFT (30U)
  13125. /*! ERQ30 - Enable DMA Request 30
  13126. * 0b0..The DMA request signal for the corresponding channel is disabled
  13127. * 0b1..The DMA request signal for the corresponding channel is enabled
  13128. */
  13129. #define DMA_ERQ_ERQ30(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ30_SHIFT)) & DMA_ERQ_ERQ30_MASK)
  13130. #define DMA_ERQ_ERQ31_MASK (0x80000000U)
  13131. #define DMA_ERQ_ERQ31_SHIFT (31U)
  13132. /*! ERQ31 - Enable DMA Request 31
  13133. * 0b0..The DMA request signal for the corresponding channel is disabled
  13134. * 0b1..The DMA request signal for the corresponding channel is enabled
  13135. */
  13136. #define DMA_ERQ_ERQ31(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ31_SHIFT)) & DMA_ERQ_ERQ31_MASK)
  13137. /*! @} */
  13138. /*! @name EEI - Enable Error Interrupt Register */
  13139. /*! @{ */
  13140. #define DMA_EEI_EEI0_MASK (0x1U)
  13141. #define DMA_EEI_EEI0_SHIFT (0U)
  13142. /*! EEI0 - Enable Error Interrupt 0
  13143. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13144. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13145. */
  13146. #define DMA_EEI_EEI0(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI0_SHIFT)) & DMA_EEI_EEI0_MASK)
  13147. #define DMA_EEI_EEI1_MASK (0x2U)
  13148. #define DMA_EEI_EEI1_SHIFT (1U)
  13149. /*! EEI1 - Enable Error Interrupt 1
  13150. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13151. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13152. */
  13153. #define DMA_EEI_EEI1(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI1_SHIFT)) & DMA_EEI_EEI1_MASK)
  13154. #define DMA_EEI_EEI2_MASK (0x4U)
  13155. #define DMA_EEI_EEI2_SHIFT (2U)
  13156. /*! EEI2 - Enable Error Interrupt 2
  13157. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13158. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13159. */
  13160. #define DMA_EEI_EEI2(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI2_SHIFT)) & DMA_EEI_EEI2_MASK)
  13161. #define DMA_EEI_EEI3_MASK (0x8U)
  13162. #define DMA_EEI_EEI3_SHIFT (3U)
  13163. /*! EEI3 - Enable Error Interrupt 3
  13164. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13165. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13166. */
  13167. #define DMA_EEI_EEI3(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI3_SHIFT)) & DMA_EEI_EEI3_MASK)
  13168. #define DMA_EEI_EEI4_MASK (0x10U)
  13169. #define DMA_EEI_EEI4_SHIFT (4U)
  13170. /*! EEI4 - Enable Error Interrupt 4
  13171. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13172. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13173. */
  13174. #define DMA_EEI_EEI4(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI4_SHIFT)) & DMA_EEI_EEI4_MASK)
  13175. #define DMA_EEI_EEI5_MASK (0x20U)
  13176. #define DMA_EEI_EEI5_SHIFT (5U)
  13177. /*! EEI5 - Enable Error Interrupt 5
  13178. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13179. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13180. */
  13181. #define DMA_EEI_EEI5(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI5_SHIFT)) & DMA_EEI_EEI5_MASK)
  13182. #define DMA_EEI_EEI6_MASK (0x40U)
  13183. #define DMA_EEI_EEI6_SHIFT (6U)
  13184. /*! EEI6 - Enable Error Interrupt 6
  13185. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13186. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13187. */
  13188. #define DMA_EEI_EEI6(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI6_SHIFT)) & DMA_EEI_EEI6_MASK)
  13189. #define DMA_EEI_EEI7_MASK (0x80U)
  13190. #define DMA_EEI_EEI7_SHIFT (7U)
  13191. /*! EEI7 - Enable Error Interrupt 7
  13192. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13193. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13194. */
  13195. #define DMA_EEI_EEI7(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI7_SHIFT)) & DMA_EEI_EEI7_MASK)
  13196. #define DMA_EEI_EEI8_MASK (0x100U)
  13197. #define DMA_EEI_EEI8_SHIFT (8U)
  13198. /*! EEI8 - Enable Error Interrupt 8
  13199. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13200. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13201. */
  13202. #define DMA_EEI_EEI8(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI8_SHIFT)) & DMA_EEI_EEI8_MASK)
  13203. #define DMA_EEI_EEI9_MASK (0x200U)
  13204. #define DMA_EEI_EEI9_SHIFT (9U)
  13205. /*! EEI9 - Enable Error Interrupt 9
  13206. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13207. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13208. */
  13209. #define DMA_EEI_EEI9(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI9_SHIFT)) & DMA_EEI_EEI9_MASK)
  13210. #define DMA_EEI_EEI10_MASK (0x400U)
  13211. #define DMA_EEI_EEI10_SHIFT (10U)
  13212. /*! EEI10 - Enable Error Interrupt 10
  13213. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13214. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13215. */
  13216. #define DMA_EEI_EEI10(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI10_SHIFT)) & DMA_EEI_EEI10_MASK)
  13217. #define DMA_EEI_EEI11_MASK (0x800U)
  13218. #define DMA_EEI_EEI11_SHIFT (11U)
  13219. /*! EEI11 - Enable Error Interrupt 11
  13220. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13221. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13222. */
  13223. #define DMA_EEI_EEI11(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI11_SHIFT)) & DMA_EEI_EEI11_MASK)
  13224. #define DMA_EEI_EEI12_MASK (0x1000U)
  13225. #define DMA_EEI_EEI12_SHIFT (12U)
  13226. /*! EEI12 - Enable Error Interrupt 12
  13227. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13228. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13229. */
  13230. #define DMA_EEI_EEI12(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI12_SHIFT)) & DMA_EEI_EEI12_MASK)
  13231. #define DMA_EEI_EEI13_MASK (0x2000U)
  13232. #define DMA_EEI_EEI13_SHIFT (13U)
  13233. /*! EEI13 - Enable Error Interrupt 13
  13234. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13235. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13236. */
  13237. #define DMA_EEI_EEI13(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI13_SHIFT)) & DMA_EEI_EEI13_MASK)
  13238. #define DMA_EEI_EEI14_MASK (0x4000U)
  13239. #define DMA_EEI_EEI14_SHIFT (14U)
  13240. /*! EEI14 - Enable Error Interrupt 14
  13241. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13242. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13243. */
  13244. #define DMA_EEI_EEI14(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI14_SHIFT)) & DMA_EEI_EEI14_MASK)
  13245. #define DMA_EEI_EEI15_MASK (0x8000U)
  13246. #define DMA_EEI_EEI15_SHIFT (15U)
  13247. /*! EEI15 - Enable Error Interrupt 15
  13248. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13249. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13250. */
  13251. #define DMA_EEI_EEI15(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI15_SHIFT)) & DMA_EEI_EEI15_MASK)
  13252. #define DMA_EEI_EEI16_MASK (0x10000U)
  13253. #define DMA_EEI_EEI16_SHIFT (16U)
  13254. /*! EEI16 - Enable Error Interrupt 16
  13255. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13256. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13257. */
  13258. #define DMA_EEI_EEI16(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI16_SHIFT)) & DMA_EEI_EEI16_MASK)
  13259. #define DMA_EEI_EEI17_MASK (0x20000U)
  13260. #define DMA_EEI_EEI17_SHIFT (17U)
  13261. /*! EEI17 - Enable Error Interrupt 17
  13262. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13263. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13264. */
  13265. #define DMA_EEI_EEI17(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI17_SHIFT)) & DMA_EEI_EEI17_MASK)
  13266. #define DMA_EEI_EEI18_MASK (0x40000U)
  13267. #define DMA_EEI_EEI18_SHIFT (18U)
  13268. /*! EEI18 - Enable Error Interrupt 18
  13269. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13270. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13271. */
  13272. #define DMA_EEI_EEI18(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI18_SHIFT)) & DMA_EEI_EEI18_MASK)
  13273. #define DMA_EEI_EEI19_MASK (0x80000U)
  13274. #define DMA_EEI_EEI19_SHIFT (19U)
  13275. /*! EEI19 - Enable Error Interrupt 19
  13276. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13277. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13278. */
  13279. #define DMA_EEI_EEI19(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI19_SHIFT)) & DMA_EEI_EEI19_MASK)
  13280. #define DMA_EEI_EEI20_MASK (0x100000U)
  13281. #define DMA_EEI_EEI20_SHIFT (20U)
  13282. /*! EEI20 - Enable Error Interrupt 20
  13283. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13284. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13285. */
  13286. #define DMA_EEI_EEI20(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI20_SHIFT)) & DMA_EEI_EEI20_MASK)
  13287. #define DMA_EEI_EEI21_MASK (0x200000U)
  13288. #define DMA_EEI_EEI21_SHIFT (21U)
  13289. /*! EEI21 - Enable Error Interrupt 21
  13290. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13291. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13292. */
  13293. #define DMA_EEI_EEI21(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI21_SHIFT)) & DMA_EEI_EEI21_MASK)
  13294. #define DMA_EEI_EEI22_MASK (0x400000U)
  13295. #define DMA_EEI_EEI22_SHIFT (22U)
  13296. /*! EEI22 - Enable Error Interrupt 22
  13297. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13298. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13299. */
  13300. #define DMA_EEI_EEI22(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI22_SHIFT)) & DMA_EEI_EEI22_MASK)
  13301. #define DMA_EEI_EEI23_MASK (0x800000U)
  13302. #define DMA_EEI_EEI23_SHIFT (23U)
  13303. /*! EEI23 - Enable Error Interrupt 23
  13304. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13305. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13306. */
  13307. #define DMA_EEI_EEI23(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI23_SHIFT)) & DMA_EEI_EEI23_MASK)
  13308. #define DMA_EEI_EEI24_MASK (0x1000000U)
  13309. #define DMA_EEI_EEI24_SHIFT (24U)
  13310. /*! EEI24 - Enable Error Interrupt 24
  13311. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13312. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13313. */
  13314. #define DMA_EEI_EEI24(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI24_SHIFT)) & DMA_EEI_EEI24_MASK)
  13315. #define DMA_EEI_EEI25_MASK (0x2000000U)
  13316. #define DMA_EEI_EEI25_SHIFT (25U)
  13317. /*! EEI25 - Enable Error Interrupt 25
  13318. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13319. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13320. */
  13321. #define DMA_EEI_EEI25(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI25_SHIFT)) & DMA_EEI_EEI25_MASK)
  13322. #define DMA_EEI_EEI26_MASK (0x4000000U)
  13323. #define DMA_EEI_EEI26_SHIFT (26U)
  13324. /*! EEI26 - Enable Error Interrupt 26
  13325. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13326. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13327. */
  13328. #define DMA_EEI_EEI26(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI26_SHIFT)) & DMA_EEI_EEI26_MASK)
  13329. #define DMA_EEI_EEI27_MASK (0x8000000U)
  13330. #define DMA_EEI_EEI27_SHIFT (27U)
  13331. /*! EEI27 - Enable Error Interrupt 27
  13332. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13333. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13334. */
  13335. #define DMA_EEI_EEI27(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI27_SHIFT)) & DMA_EEI_EEI27_MASK)
  13336. #define DMA_EEI_EEI28_MASK (0x10000000U)
  13337. #define DMA_EEI_EEI28_SHIFT (28U)
  13338. /*! EEI28 - Enable Error Interrupt 28
  13339. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13340. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13341. */
  13342. #define DMA_EEI_EEI28(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI28_SHIFT)) & DMA_EEI_EEI28_MASK)
  13343. #define DMA_EEI_EEI29_MASK (0x20000000U)
  13344. #define DMA_EEI_EEI29_SHIFT (29U)
  13345. /*! EEI29 - Enable Error Interrupt 29
  13346. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13347. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13348. */
  13349. #define DMA_EEI_EEI29(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI29_SHIFT)) & DMA_EEI_EEI29_MASK)
  13350. #define DMA_EEI_EEI30_MASK (0x40000000U)
  13351. #define DMA_EEI_EEI30_SHIFT (30U)
  13352. /*! EEI30 - Enable Error Interrupt 30
  13353. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13354. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13355. */
  13356. #define DMA_EEI_EEI30(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI30_SHIFT)) & DMA_EEI_EEI30_MASK)
  13357. #define DMA_EEI_EEI31_MASK (0x80000000U)
  13358. #define DMA_EEI_EEI31_SHIFT (31U)
  13359. /*! EEI31 - Enable Error Interrupt 31
  13360. * 0b0..The error signal for corresponding channel does not generate an error interrupt
  13361. * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request
  13362. */
  13363. #define DMA_EEI_EEI31(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI31_SHIFT)) & DMA_EEI_EEI31_MASK)
  13364. /*! @} */
  13365. /*! @name CEEI - Clear Enable Error Interrupt Register */
  13366. /*! @{ */
  13367. #define DMA_CEEI_CEEI_MASK (0x1FU)
  13368. #define DMA_CEEI_CEEI_SHIFT (0U)
  13369. /*! CEEI - Clear Enable Error Interrupt
  13370. */
  13371. #define DMA_CEEI_CEEI(x) (((uint8_t)(((uint8_t)(x)) << DMA_CEEI_CEEI_SHIFT)) & DMA_CEEI_CEEI_MASK)
  13372. #define DMA_CEEI_CAEE_MASK (0x40U)
  13373. #define DMA_CEEI_CAEE_SHIFT (6U)
  13374. /*! CAEE - Clear All Enable Error Interrupts
  13375. * 0b0..Clear only the EEI bit specified in the CEEI field
  13376. * 0b1..Clear all bits in EEI
  13377. */
  13378. #define DMA_CEEI_CAEE(x) (((uint8_t)(((uint8_t)(x)) << DMA_CEEI_CAEE_SHIFT)) & DMA_CEEI_CAEE_MASK)
  13379. #define DMA_CEEI_NOP_MASK (0x80U)
  13380. #define DMA_CEEI_NOP_SHIFT (7U)
  13381. /*! NOP - No Op enable
  13382. * 0b0..Normal operation
  13383. * 0b1..No operation, ignore the other bits in this register
  13384. */
  13385. #define DMA_CEEI_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CEEI_NOP_SHIFT)) & DMA_CEEI_NOP_MASK)
  13386. /*! @} */
  13387. /*! @name SEEI - Set Enable Error Interrupt Register */
  13388. /*! @{ */
  13389. #define DMA_SEEI_SEEI_MASK (0x1FU)
  13390. #define DMA_SEEI_SEEI_SHIFT (0U)
  13391. /*! SEEI - Set Enable Error Interrupt
  13392. */
  13393. #define DMA_SEEI_SEEI(x) (((uint8_t)(((uint8_t)(x)) << DMA_SEEI_SEEI_SHIFT)) & DMA_SEEI_SEEI_MASK)
  13394. #define DMA_SEEI_SAEE_MASK (0x40U)
  13395. #define DMA_SEEI_SAEE_SHIFT (6U)
  13396. /*! SAEE - Sets All Enable Error Interrupts
  13397. * 0b0..Set only the EEI bit specified in the SEEI field.
  13398. * 0b1..Sets all bits in EEI
  13399. */
  13400. #define DMA_SEEI_SAEE(x) (((uint8_t)(((uint8_t)(x)) << DMA_SEEI_SAEE_SHIFT)) & DMA_SEEI_SAEE_MASK)
  13401. #define DMA_SEEI_NOP_MASK (0x80U)
  13402. #define DMA_SEEI_NOP_SHIFT (7U)
  13403. /*! NOP - No Op enable
  13404. * 0b0..Normal operation
  13405. * 0b1..No operation, ignore the other bits in this register
  13406. */
  13407. #define DMA_SEEI_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_SEEI_NOP_SHIFT)) & DMA_SEEI_NOP_MASK)
  13408. /*! @} */
  13409. /*! @name CERQ - Clear Enable Request Register */
  13410. /*! @{ */
  13411. #define DMA_CERQ_CERQ_MASK (0x1FU)
  13412. #define DMA_CERQ_CERQ_SHIFT (0U)
  13413. /*! CERQ - Clear Enable Request
  13414. */
  13415. #define DMA_CERQ_CERQ(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERQ_CERQ_SHIFT)) & DMA_CERQ_CERQ_MASK)
  13416. #define DMA_CERQ_CAER_MASK (0x40U)
  13417. #define DMA_CERQ_CAER_SHIFT (6U)
  13418. /*! CAER - Clear All Enable Requests
  13419. * 0b0..Clear only the ERQ bit specified in the CERQ field
  13420. * 0b1..Clear all bits in ERQ
  13421. */
  13422. #define DMA_CERQ_CAER(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERQ_CAER_SHIFT)) & DMA_CERQ_CAER_MASK)
  13423. #define DMA_CERQ_NOP_MASK (0x80U)
  13424. #define DMA_CERQ_NOP_SHIFT (7U)
  13425. /*! NOP - No Op enable
  13426. * 0b0..Normal operation
  13427. * 0b1..No operation, ignore the other bits in this register
  13428. */
  13429. #define DMA_CERQ_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERQ_NOP_SHIFT)) & DMA_CERQ_NOP_MASK)
  13430. /*! @} */
  13431. /*! @name SERQ - Set Enable Request Register */
  13432. /*! @{ */
  13433. #define DMA_SERQ_SERQ_MASK (0x1FU)
  13434. #define DMA_SERQ_SERQ_SHIFT (0U)
  13435. /*! SERQ - Set Enable Request
  13436. */
  13437. #define DMA_SERQ_SERQ(x) (((uint8_t)(((uint8_t)(x)) << DMA_SERQ_SERQ_SHIFT)) & DMA_SERQ_SERQ_MASK)
  13438. #define DMA_SERQ_SAER_MASK (0x40U)
  13439. #define DMA_SERQ_SAER_SHIFT (6U)
  13440. /*! SAER - Set All Enable Requests
  13441. * 0b0..Set only the ERQ bit specified in the SERQ field
  13442. * 0b1..Set all bits in ERQ
  13443. */
  13444. #define DMA_SERQ_SAER(x) (((uint8_t)(((uint8_t)(x)) << DMA_SERQ_SAER_SHIFT)) & DMA_SERQ_SAER_MASK)
  13445. #define DMA_SERQ_NOP_MASK (0x80U)
  13446. #define DMA_SERQ_NOP_SHIFT (7U)
  13447. /*! NOP - No Op enable
  13448. * 0b0..Normal operation
  13449. * 0b1..No operation, ignore the other bits in this register
  13450. */
  13451. #define DMA_SERQ_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_SERQ_NOP_SHIFT)) & DMA_SERQ_NOP_MASK)
  13452. /*! @} */
  13453. /*! @name CDNE - Clear DONE Status Bit Register */
  13454. /*! @{ */
  13455. #define DMA_CDNE_CDNE_MASK (0x1FU)
  13456. #define DMA_CDNE_CDNE_SHIFT (0U)
  13457. /*! CDNE - Clear DONE Bit
  13458. */
  13459. #define DMA_CDNE_CDNE(x) (((uint8_t)(((uint8_t)(x)) << DMA_CDNE_CDNE_SHIFT)) & DMA_CDNE_CDNE_MASK)
  13460. #define DMA_CDNE_CADN_MASK (0x40U)
  13461. #define DMA_CDNE_CADN_SHIFT (6U)
  13462. /*! CADN - Clears All DONE Bits
  13463. * 0b0..Clears only the TCDn_CSR[DONE] bit specified in the CDNE field
  13464. * 0b1..Clears all bits in TCDn_CSR[DONE]
  13465. */
  13466. #define DMA_CDNE_CADN(x) (((uint8_t)(((uint8_t)(x)) << DMA_CDNE_CADN_SHIFT)) & DMA_CDNE_CADN_MASK)
  13467. #define DMA_CDNE_NOP_MASK (0x80U)
  13468. #define DMA_CDNE_NOP_SHIFT (7U)
  13469. /*! NOP - No Op enable
  13470. * 0b0..Normal operation
  13471. * 0b1..No operation, ignore the other bits in this register
  13472. */
  13473. #define DMA_CDNE_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CDNE_NOP_SHIFT)) & DMA_CDNE_NOP_MASK)
  13474. /*! @} */
  13475. /*! @name SSRT - Set START Bit Register */
  13476. /*! @{ */
  13477. #define DMA_SSRT_SSRT_MASK (0x1FU)
  13478. #define DMA_SSRT_SSRT_SHIFT (0U)
  13479. /*! SSRT - Set START Bit
  13480. */
  13481. #define DMA_SSRT_SSRT(x) (((uint8_t)(((uint8_t)(x)) << DMA_SSRT_SSRT_SHIFT)) & DMA_SSRT_SSRT_MASK)
  13482. #define DMA_SSRT_SAST_MASK (0x40U)
  13483. #define DMA_SSRT_SAST_SHIFT (6U)
  13484. /*! SAST - Set All START Bits (activates all channels)
  13485. * 0b0..Set only the TCDn_CSR[START] bit specified in the SSRT field
  13486. * 0b1..Set all bits in TCDn_CSR[START]
  13487. */
  13488. #define DMA_SSRT_SAST(x) (((uint8_t)(((uint8_t)(x)) << DMA_SSRT_SAST_SHIFT)) & DMA_SSRT_SAST_MASK)
  13489. #define DMA_SSRT_NOP_MASK (0x80U)
  13490. #define DMA_SSRT_NOP_SHIFT (7U)
  13491. /*! NOP - No Op enable
  13492. * 0b0..Normal operation
  13493. * 0b1..No operation, ignore the other bits in this register
  13494. */
  13495. #define DMA_SSRT_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_SSRT_NOP_SHIFT)) & DMA_SSRT_NOP_MASK)
  13496. /*! @} */
  13497. /*! @name CERR - Clear Error Register */
  13498. /*! @{ */
  13499. #define DMA_CERR_CERR_MASK (0x1FU)
  13500. #define DMA_CERR_CERR_SHIFT (0U)
  13501. /*! CERR - Clear Error Indicator
  13502. */
  13503. #define DMA_CERR_CERR(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERR_CERR_SHIFT)) & DMA_CERR_CERR_MASK)
  13504. #define DMA_CERR_CAEI_MASK (0x40U)
  13505. #define DMA_CERR_CAEI_SHIFT (6U)
  13506. /*! CAEI - Clear All Error Indicators
  13507. * 0b0..Clear only the ERR bit specified in the CERR field
  13508. * 0b1..Clear all bits in ERR
  13509. */
  13510. #define DMA_CERR_CAEI(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERR_CAEI_SHIFT)) & DMA_CERR_CAEI_MASK)
  13511. #define DMA_CERR_NOP_MASK (0x80U)
  13512. #define DMA_CERR_NOP_SHIFT (7U)
  13513. /*! NOP - No Op enable
  13514. * 0b0..Normal operation
  13515. * 0b1..No operation, ignore the other bits in this register
  13516. */
  13517. #define DMA_CERR_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERR_NOP_SHIFT)) & DMA_CERR_NOP_MASK)
  13518. /*! @} */
  13519. /*! @name CINT - Clear Interrupt Request Register */
  13520. /*! @{ */
  13521. #define DMA_CINT_CINT_MASK (0x1FU)
  13522. #define DMA_CINT_CINT_SHIFT (0U)
  13523. /*! CINT - Clear Interrupt Request
  13524. */
  13525. #define DMA_CINT_CINT(x) (((uint8_t)(((uint8_t)(x)) << DMA_CINT_CINT_SHIFT)) & DMA_CINT_CINT_MASK)
  13526. #define DMA_CINT_CAIR_MASK (0x40U)
  13527. #define DMA_CINT_CAIR_SHIFT (6U)
  13528. /*! CAIR - Clear All Interrupt Requests
  13529. * 0b0..Clear only the INT bit specified in the CINT field
  13530. * 0b1..Clear all bits in INT
  13531. */
  13532. #define DMA_CINT_CAIR(x) (((uint8_t)(((uint8_t)(x)) << DMA_CINT_CAIR_SHIFT)) & DMA_CINT_CAIR_MASK)
  13533. #define DMA_CINT_NOP_MASK (0x80U)
  13534. #define DMA_CINT_NOP_SHIFT (7U)
  13535. /*! NOP - No Op enable
  13536. * 0b0..Normal operation
  13537. * 0b1..No operation, ignore the other bits in this register
  13538. */
  13539. #define DMA_CINT_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CINT_NOP_SHIFT)) & DMA_CINT_NOP_MASK)
  13540. /*! @} */
  13541. /*! @name INT - Interrupt Request Register */
  13542. /*! @{ */
  13543. #define DMA_INT_INT0_MASK (0x1U)
  13544. #define DMA_INT_INT0_SHIFT (0U)
  13545. /*! INT0 - Interrupt Request 0
  13546. * 0b0..The interrupt request for corresponding channel is cleared
  13547. * 0b1..The interrupt request for corresponding channel is active
  13548. */
  13549. #define DMA_INT_INT0(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT0_SHIFT)) & DMA_INT_INT0_MASK)
  13550. #define DMA_INT_INT1_MASK (0x2U)
  13551. #define DMA_INT_INT1_SHIFT (1U)
  13552. /*! INT1 - Interrupt Request 1
  13553. * 0b0..The interrupt request for corresponding channel is cleared
  13554. * 0b1..The interrupt request for corresponding channel is active
  13555. */
  13556. #define DMA_INT_INT1(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT1_SHIFT)) & DMA_INT_INT1_MASK)
  13557. #define DMA_INT_INT2_MASK (0x4U)
  13558. #define DMA_INT_INT2_SHIFT (2U)
  13559. /*! INT2 - Interrupt Request 2
  13560. * 0b0..The interrupt request for corresponding channel is cleared
  13561. * 0b1..The interrupt request for corresponding channel is active
  13562. */
  13563. #define DMA_INT_INT2(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT2_SHIFT)) & DMA_INT_INT2_MASK)
  13564. #define DMA_INT_INT3_MASK (0x8U)
  13565. #define DMA_INT_INT3_SHIFT (3U)
  13566. /*! INT3 - Interrupt Request 3
  13567. * 0b0..The interrupt request for corresponding channel is cleared
  13568. * 0b1..The interrupt request for corresponding channel is active
  13569. */
  13570. #define DMA_INT_INT3(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT3_SHIFT)) & DMA_INT_INT3_MASK)
  13571. #define DMA_INT_INT4_MASK (0x10U)
  13572. #define DMA_INT_INT4_SHIFT (4U)
  13573. /*! INT4 - Interrupt Request 4
  13574. * 0b0..The interrupt request for corresponding channel is cleared
  13575. * 0b1..The interrupt request for corresponding channel is active
  13576. */
  13577. #define DMA_INT_INT4(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT4_SHIFT)) & DMA_INT_INT4_MASK)
  13578. #define DMA_INT_INT5_MASK (0x20U)
  13579. #define DMA_INT_INT5_SHIFT (5U)
  13580. /*! INT5 - Interrupt Request 5
  13581. * 0b0..The interrupt request for corresponding channel is cleared
  13582. * 0b1..The interrupt request for corresponding channel is active
  13583. */
  13584. #define DMA_INT_INT5(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT5_SHIFT)) & DMA_INT_INT5_MASK)
  13585. #define DMA_INT_INT6_MASK (0x40U)
  13586. #define DMA_INT_INT6_SHIFT (6U)
  13587. /*! INT6 - Interrupt Request 6
  13588. * 0b0..The interrupt request for corresponding channel is cleared
  13589. * 0b1..The interrupt request for corresponding channel is active
  13590. */
  13591. #define DMA_INT_INT6(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT6_SHIFT)) & DMA_INT_INT6_MASK)
  13592. #define DMA_INT_INT7_MASK (0x80U)
  13593. #define DMA_INT_INT7_SHIFT (7U)
  13594. /*! INT7 - Interrupt Request 7
  13595. * 0b0..The interrupt request for corresponding channel is cleared
  13596. * 0b1..The interrupt request for corresponding channel is active
  13597. */
  13598. #define DMA_INT_INT7(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT7_SHIFT)) & DMA_INT_INT7_MASK)
  13599. #define DMA_INT_INT8_MASK (0x100U)
  13600. #define DMA_INT_INT8_SHIFT (8U)
  13601. /*! INT8 - Interrupt Request 8
  13602. * 0b0..The interrupt request for corresponding channel is cleared
  13603. * 0b1..The interrupt request for corresponding channel is active
  13604. */
  13605. #define DMA_INT_INT8(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT8_SHIFT)) & DMA_INT_INT8_MASK)
  13606. #define DMA_INT_INT9_MASK (0x200U)
  13607. #define DMA_INT_INT9_SHIFT (9U)
  13608. /*! INT9 - Interrupt Request 9
  13609. * 0b0..The interrupt request for corresponding channel is cleared
  13610. * 0b1..The interrupt request for corresponding channel is active
  13611. */
  13612. #define DMA_INT_INT9(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT9_SHIFT)) & DMA_INT_INT9_MASK)
  13613. #define DMA_INT_INT10_MASK (0x400U)
  13614. #define DMA_INT_INT10_SHIFT (10U)
  13615. /*! INT10 - Interrupt Request 10
  13616. * 0b0..The interrupt request for corresponding channel is cleared
  13617. * 0b1..The interrupt request for corresponding channel is active
  13618. */
  13619. #define DMA_INT_INT10(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT10_SHIFT)) & DMA_INT_INT10_MASK)
  13620. #define DMA_INT_INT11_MASK (0x800U)
  13621. #define DMA_INT_INT11_SHIFT (11U)
  13622. /*! INT11 - Interrupt Request 11
  13623. * 0b0..The interrupt request for corresponding channel is cleared
  13624. * 0b1..The interrupt request for corresponding channel is active
  13625. */
  13626. #define DMA_INT_INT11(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT11_SHIFT)) & DMA_INT_INT11_MASK)
  13627. #define DMA_INT_INT12_MASK (0x1000U)
  13628. #define DMA_INT_INT12_SHIFT (12U)
  13629. /*! INT12 - Interrupt Request 12
  13630. * 0b0..The interrupt request for corresponding channel is cleared
  13631. * 0b1..The interrupt request for corresponding channel is active
  13632. */
  13633. #define DMA_INT_INT12(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT12_SHIFT)) & DMA_INT_INT12_MASK)
  13634. #define DMA_INT_INT13_MASK (0x2000U)
  13635. #define DMA_INT_INT13_SHIFT (13U)
  13636. /*! INT13 - Interrupt Request 13
  13637. * 0b0..The interrupt request for corresponding channel is cleared
  13638. * 0b1..The interrupt request for corresponding channel is active
  13639. */
  13640. #define DMA_INT_INT13(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT13_SHIFT)) & DMA_INT_INT13_MASK)
  13641. #define DMA_INT_INT14_MASK (0x4000U)
  13642. #define DMA_INT_INT14_SHIFT (14U)
  13643. /*! INT14 - Interrupt Request 14
  13644. * 0b0..The interrupt request for corresponding channel is cleared
  13645. * 0b1..The interrupt request for corresponding channel is active
  13646. */
  13647. #define DMA_INT_INT14(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT14_SHIFT)) & DMA_INT_INT14_MASK)
  13648. #define DMA_INT_INT15_MASK (0x8000U)
  13649. #define DMA_INT_INT15_SHIFT (15U)
  13650. /*! INT15 - Interrupt Request 15
  13651. * 0b0..The interrupt request for corresponding channel is cleared
  13652. * 0b1..The interrupt request for corresponding channel is active
  13653. */
  13654. #define DMA_INT_INT15(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT15_SHIFT)) & DMA_INT_INT15_MASK)
  13655. #define DMA_INT_INT16_MASK (0x10000U)
  13656. #define DMA_INT_INT16_SHIFT (16U)
  13657. /*! INT16 - Interrupt Request 16
  13658. * 0b0..The interrupt request for corresponding channel is cleared
  13659. * 0b1..The interrupt request for corresponding channel is active
  13660. */
  13661. #define DMA_INT_INT16(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT16_SHIFT)) & DMA_INT_INT16_MASK)
  13662. #define DMA_INT_INT17_MASK (0x20000U)
  13663. #define DMA_INT_INT17_SHIFT (17U)
  13664. /*! INT17 - Interrupt Request 17
  13665. * 0b0..The interrupt request for corresponding channel is cleared
  13666. * 0b1..The interrupt request for corresponding channel is active
  13667. */
  13668. #define DMA_INT_INT17(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT17_SHIFT)) & DMA_INT_INT17_MASK)
  13669. #define DMA_INT_INT18_MASK (0x40000U)
  13670. #define DMA_INT_INT18_SHIFT (18U)
  13671. /*! INT18 - Interrupt Request 18
  13672. * 0b0..The interrupt request for corresponding channel is cleared
  13673. * 0b1..The interrupt request for corresponding channel is active
  13674. */
  13675. #define DMA_INT_INT18(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT18_SHIFT)) & DMA_INT_INT18_MASK)
  13676. #define DMA_INT_INT19_MASK (0x80000U)
  13677. #define DMA_INT_INT19_SHIFT (19U)
  13678. /*! INT19 - Interrupt Request 19
  13679. * 0b0..The interrupt request for corresponding channel is cleared
  13680. * 0b1..The interrupt request for corresponding channel is active
  13681. */
  13682. #define DMA_INT_INT19(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT19_SHIFT)) & DMA_INT_INT19_MASK)
  13683. #define DMA_INT_INT20_MASK (0x100000U)
  13684. #define DMA_INT_INT20_SHIFT (20U)
  13685. /*! INT20 - Interrupt Request 20
  13686. * 0b0..The interrupt request for corresponding channel is cleared
  13687. * 0b1..The interrupt request for corresponding channel is active
  13688. */
  13689. #define DMA_INT_INT20(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT20_SHIFT)) & DMA_INT_INT20_MASK)
  13690. #define DMA_INT_INT21_MASK (0x200000U)
  13691. #define DMA_INT_INT21_SHIFT (21U)
  13692. /*! INT21 - Interrupt Request 21
  13693. * 0b0..The interrupt request for corresponding channel is cleared
  13694. * 0b1..The interrupt request for corresponding channel is active
  13695. */
  13696. #define DMA_INT_INT21(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT21_SHIFT)) & DMA_INT_INT21_MASK)
  13697. #define DMA_INT_INT22_MASK (0x400000U)
  13698. #define DMA_INT_INT22_SHIFT (22U)
  13699. /*! INT22 - Interrupt Request 22
  13700. * 0b0..The interrupt request for corresponding channel is cleared
  13701. * 0b1..The interrupt request for corresponding channel is active
  13702. */
  13703. #define DMA_INT_INT22(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT22_SHIFT)) & DMA_INT_INT22_MASK)
  13704. #define DMA_INT_INT23_MASK (0x800000U)
  13705. #define DMA_INT_INT23_SHIFT (23U)
  13706. /*! INT23 - Interrupt Request 23
  13707. * 0b0..The interrupt request for corresponding channel is cleared
  13708. * 0b1..The interrupt request for corresponding channel is active
  13709. */
  13710. #define DMA_INT_INT23(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT23_SHIFT)) & DMA_INT_INT23_MASK)
  13711. #define DMA_INT_INT24_MASK (0x1000000U)
  13712. #define DMA_INT_INT24_SHIFT (24U)
  13713. /*! INT24 - Interrupt Request 24
  13714. * 0b0..The interrupt request for corresponding channel is cleared
  13715. * 0b1..The interrupt request for corresponding channel is active
  13716. */
  13717. #define DMA_INT_INT24(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT24_SHIFT)) & DMA_INT_INT24_MASK)
  13718. #define DMA_INT_INT25_MASK (0x2000000U)
  13719. #define DMA_INT_INT25_SHIFT (25U)
  13720. /*! INT25 - Interrupt Request 25
  13721. * 0b0..The interrupt request for corresponding channel is cleared
  13722. * 0b1..The interrupt request for corresponding channel is active
  13723. */
  13724. #define DMA_INT_INT25(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT25_SHIFT)) & DMA_INT_INT25_MASK)
  13725. #define DMA_INT_INT26_MASK (0x4000000U)
  13726. #define DMA_INT_INT26_SHIFT (26U)
  13727. /*! INT26 - Interrupt Request 26
  13728. * 0b0..The interrupt request for corresponding channel is cleared
  13729. * 0b1..The interrupt request for corresponding channel is active
  13730. */
  13731. #define DMA_INT_INT26(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT26_SHIFT)) & DMA_INT_INT26_MASK)
  13732. #define DMA_INT_INT27_MASK (0x8000000U)
  13733. #define DMA_INT_INT27_SHIFT (27U)
  13734. /*! INT27 - Interrupt Request 27
  13735. * 0b0..The interrupt request for corresponding channel is cleared
  13736. * 0b1..The interrupt request for corresponding channel is active
  13737. */
  13738. #define DMA_INT_INT27(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT27_SHIFT)) & DMA_INT_INT27_MASK)
  13739. #define DMA_INT_INT28_MASK (0x10000000U)
  13740. #define DMA_INT_INT28_SHIFT (28U)
  13741. /*! INT28 - Interrupt Request 28
  13742. * 0b0..The interrupt request for corresponding channel is cleared
  13743. * 0b1..The interrupt request for corresponding channel is active
  13744. */
  13745. #define DMA_INT_INT28(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT28_SHIFT)) & DMA_INT_INT28_MASK)
  13746. #define DMA_INT_INT29_MASK (0x20000000U)
  13747. #define DMA_INT_INT29_SHIFT (29U)
  13748. /*! INT29 - Interrupt Request 29
  13749. * 0b0..The interrupt request for corresponding channel is cleared
  13750. * 0b1..The interrupt request for corresponding channel is active
  13751. */
  13752. #define DMA_INT_INT29(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT29_SHIFT)) & DMA_INT_INT29_MASK)
  13753. #define DMA_INT_INT30_MASK (0x40000000U)
  13754. #define DMA_INT_INT30_SHIFT (30U)
  13755. /*! INT30 - Interrupt Request 30
  13756. * 0b0..The interrupt request for corresponding channel is cleared
  13757. * 0b1..The interrupt request for corresponding channel is active
  13758. */
  13759. #define DMA_INT_INT30(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT30_SHIFT)) & DMA_INT_INT30_MASK)
  13760. #define DMA_INT_INT31_MASK (0x80000000U)
  13761. #define DMA_INT_INT31_SHIFT (31U)
  13762. /*! INT31 - Interrupt Request 31
  13763. * 0b0..The interrupt request for corresponding channel is cleared
  13764. * 0b1..The interrupt request for corresponding channel is active
  13765. */
  13766. #define DMA_INT_INT31(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT31_SHIFT)) & DMA_INT_INT31_MASK)
  13767. /*! @} */
  13768. /*! @name ERR - Error Register */
  13769. /*! @{ */
  13770. #define DMA_ERR_ERR0_MASK (0x1U)
  13771. #define DMA_ERR_ERR0_SHIFT (0U)
  13772. /*! ERR0 - Error In Channel 0
  13773. * 0b0..An error in this channel has not occurred
  13774. * 0b1..An error in this channel has occurred
  13775. */
  13776. #define DMA_ERR_ERR0(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR0_SHIFT)) & DMA_ERR_ERR0_MASK)
  13777. #define DMA_ERR_ERR1_MASK (0x2U)
  13778. #define DMA_ERR_ERR1_SHIFT (1U)
  13779. /*! ERR1 - Error In Channel 1
  13780. * 0b0..An error in this channel has not occurred
  13781. * 0b1..An error in this channel has occurred
  13782. */
  13783. #define DMA_ERR_ERR1(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR1_SHIFT)) & DMA_ERR_ERR1_MASK)
  13784. #define DMA_ERR_ERR2_MASK (0x4U)
  13785. #define DMA_ERR_ERR2_SHIFT (2U)
  13786. /*! ERR2 - Error In Channel 2
  13787. * 0b0..An error in this channel has not occurred
  13788. * 0b1..An error in this channel has occurred
  13789. */
  13790. #define DMA_ERR_ERR2(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR2_SHIFT)) & DMA_ERR_ERR2_MASK)
  13791. #define DMA_ERR_ERR3_MASK (0x8U)
  13792. #define DMA_ERR_ERR3_SHIFT (3U)
  13793. /*! ERR3 - Error In Channel 3
  13794. * 0b0..An error in this channel has not occurred
  13795. * 0b1..An error in this channel has occurred
  13796. */
  13797. #define DMA_ERR_ERR3(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR3_SHIFT)) & DMA_ERR_ERR3_MASK)
  13798. #define DMA_ERR_ERR4_MASK (0x10U)
  13799. #define DMA_ERR_ERR4_SHIFT (4U)
  13800. /*! ERR4 - Error In Channel 4
  13801. * 0b0..An error in this channel has not occurred
  13802. * 0b1..An error in this channel has occurred
  13803. */
  13804. #define DMA_ERR_ERR4(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR4_SHIFT)) & DMA_ERR_ERR4_MASK)
  13805. #define DMA_ERR_ERR5_MASK (0x20U)
  13806. #define DMA_ERR_ERR5_SHIFT (5U)
  13807. /*! ERR5 - Error In Channel 5
  13808. * 0b0..An error in this channel has not occurred
  13809. * 0b1..An error in this channel has occurred
  13810. */
  13811. #define DMA_ERR_ERR5(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR5_SHIFT)) & DMA_ERR_ERR5_MASK)
  13812. #define DMA_ERR_ERR6_MASK (0x40U)
  13813. #define DMA_ERR_ERR6_SHIFT (6U)
  13814. /*! ERR6 - Error In Channel 6
  13815. * 0b0..An error in this channel has not occurred
  13816. * 0b1..An error in this channel has occurred
  13817. */
  13818. #define DMA_ERR_ERR6(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR6_SHIFT)) & DMA_ERR_ERR6_MASK)
  13819. #define DMA_ERR_ERR7_MASK (0x80U)
  13820. #define DMA_ERR_ERR7_SHIFT (7U)
  13821. /*! ERR7 - Error In Channel 7
  13822. * 0b0..An error in this channel has not occurred
  13823. * 0b1..An error in this channel has occurred
  13824. */
  13825. #define DMA_ERR_ERR7(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR7_SHIFT)) & DMA_ERR_ERR7_MASK)
  13826. #define DMA_ERR_ERR8_MASK (0x100U)
  13827. #define DMA_ERR_ERR8_SHIFT (8U)
  13828. /*! ERR8 - Error In Channel 8
  13829. * 0b0..An error in this channel has not occurred
  13830. * 0b1..An error in this channel has occurred
  13831. */
  13832. #define DMA_ERR_ERR8(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR8_SHIFT)) & DMA_ERR_ERR8_MASK)
  13833. #define DMA_ERR_ERR9_MASK (0x200U)
  13834. #define DMA_ERR_ERR9_SHIFT (9U)
  13835. /*! ERR9 - Error In Channel 9
  13836. * 0b0..An error in this channel has not occurred
  13837. * 0b1..An error in this channel has occurred
  13838. */
  13839. #define DMA_ERR_ERR9(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR9_SHIFT)) & DMA_ERR_ERR9_MASK)
  13840. #define DMA_ERR_ERR10_MASK (0x400U)
  13841. #define DMA_ERR_ERR10_SHIFT (10U)
  13842. /*! ERR10 - Error In Channel 10
  13843. * 0b0..An error in this channel has not occurred
  13844. * 0b1..An error in this channel has occurred
  13845. */
  13846. #define DMA_ERR_ERR10(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR10_SHIFT)) & DMA_ERR_ERR10_MASK)
  13847. #define DMA_ERR_ERR11_MASK (0x800U)
  13848. #define DMA_ERR_ERR11_SHIFT (11U)
  13849. /*! ERR11 - Error In Channel 11
  13850. * 0b0..An error in this channel has not occurred
  13851. * 0b1..An error in this channel has occurred
  13852. */
  13853. #define DMA_ERR_ERR11(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR11_SHIFT)) & DMA_ERR_ERR11_MASK)
  13854. #define DMA_ERR_ERR12_MASK (0x1000U)
  13855. #define DMA_ERR_ERR12_SHIFT (12U)
  13856. /*! ERR12 - Error In Channel 12
  13857. * 0b0..An error in this channel has not occurred
  13858. * 0b1..An error in this channel has occurred
  13859. */
  13860. #define DMA_ERR_ERR12(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR12_SHIFT)) & DMA_ERR_ERR12_MASK)
  13861. #define DMA_ERR_ERR13_MASK (0x2000U)
  13862. #define DMA_ERR_ERR13_SHIFT (13U)
  13863. /*! ERR13 - Error In Channel 13
  13864. * 0b0..An error in this channel has not occurred
  13865. * 0b1..An error in this channel has occurred
  13866. */
  13867. #define DMA_ERR_ERR13(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR13_SHIFT)) & DMA_ERR_ERR13_MASK)
  13868. #define DMA_ERR_ERR14_MASK (0x4000U)
  13869. #define DMA_ERR_ERR14_SHIFT (14U)
  13870. /*! ERR14 - Error In Channel 14
  13871. * 0b0..An error in this channel has not occurred
  13872. * 0b1..An error in this channel has occurred
  13873. */
  13874. #define DMA_ERR_ERR14(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR14_SHIFT)) & DMA_ERR_ERR14_MASK)
  13875. #define DMA_ERR_ERR15_MASK (0x8000U)
  13876. #define DMA_ERR_ERR15_SHIFT (15U)
  13877. /*! ERR15 - Error In Channel 15
  13878. * 0b0..An error in this channel has not occurred
  13879. * 0b1..An error in this channel has occurred
  13880. */
  13881. #define DMA_ERR_ERR15(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR15_SHIFT)) & DMA_ERR_ERR15_MASK)
  13882. #define DMA_ERR_ERR16_MASK (0x10000U)
  13883. #define DMA_ERR_ERR16_SHIFT (16U)
  13884. /*! ERR16 - Error In Channel 16
  13885. * 0b0..An error in this channel has not occurred
  13886. * 0b1..An error in this channel has occurred
  13887. */
  13888. #define DMA_ERR_ERR16(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR16_SHIFT)) & DMA_ERR_ERR16_MASK)
  13889. #define DMA_ERR_ERR17_MASK (0x20000U)
  13890. #define DMA_ERR_ERR17_SHIFT (17U)
  13891. /*! ERR17 - Error In Channel 17
  13892. * 0b0..An error in this channel has not occurred
  13893. * 0b1..An error in this channel has occurred
  13894. */
  13895. #define DMA_ERR_ERR17(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR17_SHIFT)) & DMA_ERR_ERR17_MASK)
  13896. #define DMA_ERR_ERR18_MASK (0x40000U)
  13897. #define DMA_ERR_ERR18_SHIFT (18U)
  13898. /*! ERR18 - Error In Channel 18
  13899. * 0b0..An error in this channel has not occurred
  13900. * 0b1..An error in this channel has occurred
  13901. */
  13902. #define DMA_ERR_ERR18(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR18_SHIFT)) & DMA_ERR_ERR18_MASK)
  13903. #define DMA_ERR_ERR19_MASK (0x80000U)
  13904. #define DMA_ERR_ERR19_SHIFT (19U)
  13905. /*! ERR19 - Error In Channel 19
  13906. * 0b0..An error in this channel has not occurred
  13907. * 0b1..An error in this channel has occurred
  13908. */
  13909. #define DMA_ERR_ERR19(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR19_SHIFT)) & DMA_ERR_ERR19_MASK)
  13910. #define DMA_ERR_ERR20_MASK (0x100000U)
  13911. #define DMA_ERR_ERR20_SHIFT (20U)
  13912. /*! ERR20 - Error In Channel 20
  13913. * 0b0..An error in this channel has not occurred
  13914. * 0b1..An error in this channel has occurred
  13915. */
  13916. #define DMA_ERR_ERR20(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR20_SHIFT)) & DMA_ERR_ERR20_MASK)
  13917. #define DMA_ERR_ERR21_MASK (0x200000U)
  13918. #define DMA_ERR_ERR21_SHIFT (21U)
  13919. /*! ERR21 - Error In Channel 21
  13920. * 0b0..An error in this channel has not occurred
  13921. * 0b1..An error in this channel has occurred
  13922. */
  13923. #define DMA_ERR_ERR21(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR21_SHIFT)) & DMA_ERR_ERR21_MASK)
  13924. #define DMA_ERR_ERR22_MASK (0x400000U)
  13925. #define DMA_ERR_ERR22_SHIFT (22U)
  13926. /*! ERR22 - Error In Channel 22
  13927. * 0b0..An error in this channel has not occurred
  13928. * 0b1..An error in this channel has occurred
  13929. */
  13930. #define DMA_ERR_ERR22(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR22_SHIFT)) & DMA_ERR_ERR22_MASK)
  13931. #define DMA_ERR_ERR23_MASK (0x800000U)
  13932. #define DMA_ERR_ERR23_SHIFT (23U)
  13933. /*! ERR23 - Error In Channel 23
  13934. * 0b0..An error in this channel has not occurred
  13935. * 0b1..An error in this channel has occurred
  13936. */
  13937. #define DMA_ERR_ERR23(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR23_SHIFT)) & DMA_ERR_ERR23_MASK)
  13938. #define DMA_ERR_ERR24_MASK (0x1000000U)
  13939. #define DMA_ERR_ERR24_SHIFT (24U)
  13940. /*! ERR24 - Error In Channel 24
  13941. * 0b0..An error in this channel has not occurred
  13942. * 0b1..An error in this channel has occurred
  13943. */
  13944. #define DMA_ERR_ERR24(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR24_SHIFT)) & DMA_ERR_ERR24_MASK)
  13945. #define DMA_ERR_ERR25_MASK (0x2000000U)
  13946. #define DMA_ERR_ERR25_SHIFT (25U)
  13947. /*! ERR25 - Error In Channel 25
  13948. * 0b0..An error in this channel has not occurred
  13949. * 0b1..An error in this channel has occurred
  13950. */
  13951. #define DMA_ERR_ERR25(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR25_SHIFT)) & DMA_ERR_ERR25_MASK)
  13952. #define DMA_ERR_ERR26_MASK (0x4000000U)
  13953. #define DMA_ERR_ERR26_SHIFT (26U)
  13954. /*! ERR26 - Error In Channel 26
  13955. * 0b0..An error in this channel has not occurred
  13956. * 0b1..An error in this channel has occurred
  13957. */
  13958. #define DMA_ERR_ERR26(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR26_SHIFT)) & DMA_ERR_ERR26_MASK)
  13959. #define DMA_ERR_ERR27_MASK (0x8000000U)
  13960. #define DMA_ERR_ERR27_SHIFT (27U)
  13961. /*! ERR27 - Error In Channel 27
  13962. * 0b0..An error in this channel has not occurred
  13963. * 0b1..An error in this channel has occurred
  13964. */
  13965. #define DMA_ERR_ERR27(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR27_SHIFT)) & DMA_ERR_ERR27_MASK)
  13966. #define DMA_ERR_ERR28_MASK (0x10000000U)
  13967. #define DMA_ERR_ERR28_SHIFT (28U)
  13968. /*! ERR28 - Error In Channel 28
  13969. * 0b0..An error in this channel has not occurred
  13970. * 0b1..An error in this channel has occurred
  13971. */
  13972. #define DMA_ERR_ERR28(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR28_SHIFT)) & DMA_ERR_ERR28_MASK)
  13973. #define DMA_ERR_ERR29_MASK (0x20000000U)
  13974. #define DMA_ERR_ERR29_SHIFT (29U)
  13975. /*! ERR29 - Error In Channel 29
  13976. * 0b0..An error in this channel has not occurred
  13977. * 0b1..An error in this channel has occurred
  13978. */
  13979. #define DMA_ERR_ERR29(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR29_SHIFT)) & DMA_ERR_ERR29_MASK)
  13980. #define DMA_ERR_ERR30_MASK (0x40000000U)
  13981. #define DMA_ERR_ERR30_SHIFT (30U)
  13982. /*! ERR30 - Error In Channel 30
  13983. * 0b0..An error in this channel has not occurred
  13984. * 0b1..An error in this channel has occurred
  13985. */
  13986. #define DMA_ERR_ERR30(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR30_SHIFT)) & DMA_ERR_ERR30_MASK)
  13987. #define DMA_ERR_ERR31_MASK (0x80000000U)
  13988. #define DMA_ERR_ERR31_SHIFT (31U)
  13989. /*! ERR31 - Error In Channel 31
  13990. * 0b0..An error in this channel has not occurred
  13991. * 0b1..An error in this channel has occurred
  13992. */
  13993. #define DMA_ERR_ERR31(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR31_SHIFT)) & DMA_ERR_ERR31_MASK)
  13994. /*! @} */
  13995. /*! @name HRS - Hardware Request Status Register */
  13996. /*! @{ */
  13997. #define DMA_HRS_HRS0_MASK (0x1U)
  13998. #define DMA_HRS_HRS0_SHIFT (0U)
  13999. /*! HRS0 - Hardware Request Status Channel 0
  14000. * 0b0..A hardware service request for channel 0 is not present
  14001. * 0b1..A hardware service request for channel 0 is present
  14002. */
  14003. #define DMA_HRS_HRS0(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS0_SHIFT)) & DMA_HRS_HRS0_MASK)
  14004. #define DMA_HRS_HRS1_MASK (0x2U)
  14005. #define DMA_HRS_HRS1_SHIFT (1U)
  14006. /*! HRS1 - Hardware Request Status Channel 1
  14007. * 0b0..A hardware service request for channel 1 is not present
  14008. * 0b1..A hardware service request for channel 1 is present
  14009. */
  14010. #define DMA_HRS_HRS1(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS1_SHIFT)) & DMA_HRS_HRS1_MASK)
  14011. #define DMA_HRS_HRS2_MASK (0x4U)
  14012. #define DMA_HRS_HRS2_SHIFT (2U)
  14013. /*! HRS2 - Hardware Request Status Channel 2
  14014. * 0b0..A hardware service request for channel 2 is not present
  14015. * 0b1..A hardware service request for channel 2 is present
  14016. */
  14017. #define DMA_HRS_HRS2(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS2_SHIFT)) & DMA_HRS_HRS2_MASK)
  14018. #define DMA_HRS_HRS3_MASK (0x8U)
  14019. #define DMA_HRS_HRS3_SHIFT (3U)
  14020. /*! HRS3 - Hardware Request Status Channel 3
  14021. * 0b0..A hardware service request for channel 3 is not present
  14022. * 0b1..A hardware service request for channel 3 is present
  14023. */
  14024. #define DMA_HRS_HRS3(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS3_SHIFT)) & DMA_HRS_HRS3_MASK)
  14025. #define DMA_HRS_HRS4_MASK (0x10U)
  14026. #define DMA_HRS_HRS4_SHIFT (4U)
  14027. /*! HRS4 - Hardware Request Status Channel 4
  14028. * 0b0..A hardware service request for channel 4 is not present
  14029. * 0b1..A hardware service request for channel 4 is present
  14030. */
  14031. #define DMA_HRS_HRS4(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS4_SHIFT)) & DMA_HRS_HRS4_MASK)
  14032. #define DMA_HRS_HRS5_MASK (0x20U)
  14033. #define DMA_HRS_HRS5_SHIFT (5U)
  14034. /*! HRS5 - Hardware Request Status Channel 5
  14035. * 0b0..A hardware service request for channel 5 is not present
  14036. * 0b1..A hardware service request for channel 5 is present
  14037. */
  14038. #define DMA_HRS_HRS5(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS5_SHIFT)) & DMA_HRS_HRS5_MASK)
  14039. #define DMA_HRS_HRS6_MASK (0x40U)
  14040. #define DMA_HRS_HRS6_SHIFT (6U)
  14041. /*! HRS6 - Hardware Request Status Channel 6
  14042. * 0b0..A hardware service request for channel 6 is not present
  14043. * 0b1..A hardware service request for channel 6 is present
  14044. */
  14045. #define DMA_HRS_HRS6(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS6_SHIFT)) & DMA_HRS_HRS6_MASK)
  14046. #define DMA_HRS_HRS7_MASK (0x80U)
  14047. #define DMA_HRS_HRS7_SHIFT (7U)
  14048. /*! HRS7 - Hardware Request Status Channel 7
  14049. * 0b0..A hardware service request for channel 7 is not present
  14050. * 0b1..A hardware service request for channel 7 is present
  14051. */
  14052. #define DMA_HRS_HRS7(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS7_SHIFT)) & DMA_HRS_HRS7_MASK)
  14053. #define DMA_HRS_HRS8_MASK (0x100U)
  14054. #define DMA_HRS_HRS8_SHIFT (8U)
  14055. /*! HRS8 - Hardware Request Status Channel 8
  14056. * 0b0..A hardware service request for channel 8 is not present
  14057. * 0b1..A hardware service request for channel 8 is present
  14058. */
  14059. #define DMA_HRS_HRS8(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS8_SHIFT)) & DMA_HRS_HRS8_MASK)
  14060. #define DMA_HRS_HRS9_MASK (0x200U)
  14061. #define DMA_HRS_HRS9_SHIFT (9U)
  14062. /*! HRS9 - Hardware Request Status Channel 9
  14063. * 0b0..A hardware service request for channel 9 is not present
  14064. * 0b1..A hardware service request for channel 9 is present
  14065. */
  14066. #define DMA_HRS_HRS9(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS9_SHIFT)) & DMA_HRS_HRS9_MASK)
  14067. #define DMA_HRS_HRS10_MASK (0x400U)
  14068. #define DMA_HRS_HRS10_SHIFT (10U)
  14069. /*! HRS10 - Hardware Request Status Channel 10
  14070. * 0b0..A hardware service request for channel 10 is not present
  14071. * 0b1..A hardware service request for channel 10 is present
  14072. */
  14073. #define DMA_HRS_HRS10(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS10_SHIFT)) & DMA_HRS_HRS10_MASK)
  14074. #define DMA_HRS_HRS11_MASK (0x800U)
  14075. #define DMA_HRS_HRS11_SHIFT (11U)
  14076. /*! HRS11 - Hardware Request Status Channel 11
  14077. * 0b0..A hardware service request for channel 11 is not present
  14078. * 0b1..A hardware service request for channel 11 is present
  14079. */
  14080. #define DMA_HRS_HRS11(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS11_SHIFT)) & DMA_HRS_HRS11_MASK)
  14081. #define DMA_HRS_HRS12_MASK (0x1000U)
  14082. #define DMA_HRS_HRS12_SHIFT (12U)
  14083. /*! HRS12 - Hardware Request Status Channel 12
  14084. * 0b0..A hardware service request for channel 12 is not present
  14085. * 0b1..A hardware service request for channel 12 is present
  14086. */
  14087. #define DMA_HRS_HRS12(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS12_SHIFT)) & DMA_HRS_HRS12_MASK)
  14088. #define DMA_HRS_HRS13_MASK (0x2000U)
  14089. #define DMA_HRS_HRS13_SHIFT (13U)
  14090. /*! HRS13 - Hardware Request Status Channel 13
  14091. * 0b0..A hardware service request for channel 13 is not present
  14092. * 0b1..A hardware service request for channel 13 is present
  14093. */
  14094. #define DMA_HRS_HRS13(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS13_SHIFT)) & DMA_HRS_HRS13_MASK)
  14095. #define DMA_HRS_HRS14_MASK (0x4000U)
  14096. #define DMA_HRS_HRS14_SHIFT (14U)
  14097. /*! HRS14 - Hardware Request Status Channel 14
  14098. * 0b0..A hardware service request for channel 14 is not present
  14099. * 0b1..A hardware service request for channel 14 is present
  14100. */
  14101. #define DMA_HRS_HRS14(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS14_SHIFT)) & DMA_HRS_HRS14_MASK)
  14102. #define DMA_HRS_HRS15_MASK (0x8000U)
  14103. #define DMA_HRS_HRS15_SHIFT (15U)
  14104. /*! HRS15 - Hardware Request Status Channel 15
  14105. * 0b0..A hardware service request for channel 15 is not present
  14106. * 0b1..A hardware service request for channel 15 is present
  14107. */
  14108. #define DMA_HRS_HRS15(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS15_SHIFT)) & DMA_HRS_HRS15_MASK)
  14109. #define DMA_HRS_HRS16_MASK (0x10000U)
  14110. #define DMA_HRS_HRS16_SHIFT (16U)
  14111. /*! HRS16 - Hardware Request Status Channel 16
  14112. * 0b0..A hardware service request for channel 16 is not present
  14113. * 0b1..A hardware service request for channel 16 is present
  14114. */
  14115. #define DMA_HRS_HRS16(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS16_SHIFT)) & DMA_HRS_HRS16_MASK)
  14116. #define DMA_HRS_HRS17_MASK (0x20000U)
  14117. #define DMA_HRS_HRS17_SHIFT (17U)
  14118. /*! HRS17 - Hardware Request Status Channel 17
  14119. * 0b0..A hardware service request for channel 17 is not present
  14120. * 0b1..A hardware service request for channel 17 is present
  14121. */
  14122. #define DMA_HRS_HRS17(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS17_SHIFT)) & DMA_HRS_HRS17_MASK)
  14123. #define DMA_HRS_HRS18_MASK (0x40000U)
  14124. #define DMA_HRS_HRS18_SHIFT (18U)
  14125. /*! HRS18 - Hardware Request Status Channel 18
  14126. * 0b0..A hardware service request for channel 18 is not present
  14127. * 0b1..A hardware service request for channel 18 is present
  14128. */
  14129. #define DMA_HRS_HRS18(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS18_SHIFT)) & DMA_HRS_HRS18_MASK)
  14130. #define DMA_HRS_HRS19_MASK (0x80000U)
  14131. #define DMA_HRS_HRS19_SHIFT (19U)
  14132. /*! HRS19 - Hardware Request Status Channel 19
  14133. * 0b0..A hardware service request for channel 19 is not present
  14134. * 0b1..A hardware service request for channel 19 is present
  14135. */
  14136. #define DMA_HRS_HRS19(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS19_SHIFT)) & DMA_HRS_HRS19_MASK)
  14137. #define DMA_HRS_HRS20_MASK (0x100000U)
  14138. #define DMA_HRS_HRS20_SHIFT (20U)
  14139. /*! HRS20 - Hardware Request Status Channel 20
  14140. * 0b0..A hardware service request for channel 20 is not present
  14141. * 0b1..A hardware service request for channel 20 is present
  14142. */
  14143. #define DMA_HRS_HRS20(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS20_SHIFT)) & DMA_HRS_HRS20_MASK)
  14144. #define DMA_HRS_HRS21_MASK (0x200000U)
  14145. #define DMA_HRS_HRS21_SHIFT (21U)
  14146. /*! HRS21 - Hardware Request Status Channel 21
  14147. * 0b0..A hardware service request for channel 21 is not present
  14148. * 0b1..A hardware service request for channel 21 is present
  14149. */
  14150. #define DMA_HRS_HRS21(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS21_SHIFT)) & DMA_HRS_HRS21_MASK)
  14151. #define DMA_HRS_HRS22_MASK (0x400000U)
  14152. #define DMA_HRS_HRS22_SHIFT (22U)
  14153. /*! HRS22 - Hardware Request Status Channel 22
  14154. * 0b0..A hardware service request for channel 22 is not present
  14155. * 0b1..A hardware service request for channel 22 is present
  14156. */
  14157. #define DMA_HRS_HRS22(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS22_SHIFT)) & DMA_HRS_HRS22_MASK)
  14158. #define DMA_HRS_HRS23_MASK (0x800000U)
  14159. #define DMA_HRS_HRS23_SHIFT (23U)
  14160. /*! HRS23 - Hardware Request Status Channel 23
  14161. * 0b0..A hardware service request for channel 23 is not present
  14162. * 0b1..A hardware service request for channel 23 is present
  14163. */
  14164. #define DMA_HRS_HRS23(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS23_SHIFT)) & DMA_HRS_HRS23_MASK)
  14165. #define DMA_HRS_HRS24_MASK (0x1000000U)
  14166. #define DMA_HRS_HRS24_SHIFT (24U)
  14167. /*! HRS24 - Hardware Request Status Channel 24
  14168. * 0b0..A hardware service request for channel 24 is not present
  14169. * 0b1..A hardware service request for channel 24 is present
  14170. */
  14171. #define DMA_HRS_HRS24(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS24_SHIFT)) & DMA_HRS_HRS24_MASK)
  14172. #define DMA_HRS_HRS25_MASK (0x2000000U)
  14173. #define DMA_HRS_HRS25_SHIFT (25U)
  14174. /*! HRS25 - Hardware Request Status Channel 25
  14175. * 0b0..A hardware service request for channel 25 is not present
  14176. * 0b1..A hardware service request for channel 25 is present
  14177. */
  14178. #define DMA_HRS_HRS25(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS25_SHIFT)) & DMA_HRS_HRS25_MASK)
  14179. #define DMA_HRS_HRS26_MASK (0x4000000U)
  14180. #define DMA_HRS_HRS26_SHIFT (26U)
  14181. /*! HRS26 - Hardware Request Status Channel 26
  14182. * 0b0..A hardware service request for channel 26 is not present
  14183. * 0b1..A hardware service request for channel 26 is present
  14184. */
  14185. #define DMA_HRS_HRS26(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS26_SHIFT)) & DMA_HRS_HRS26_MASK)
  14186. #define DMA_HRS_HRS27_MASK (0x8000000U)
  14187. #define DMA_HRS_HRS27_SHIFT (27U)
  14188. /*! HRS27 - Hardware Request Status Channel 27
  14189. * 0b0..A hardware service request for channel 27 is not present
  14190. * 0b1..A hardware service request for channel 27 is present
  14191. */
  14192. #define DMA_HRS_HRS27(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS27_SHIFT)) & DMA_HRS_HRS27_MASK)
  14193. #define DMA_HRS_HRS28_MASK (0x10000000U)
  14194. #define DMA_HRS_HRS28_SHIFT (28U)
  14195. /*! HRS28 - Hardware Request Status Channel 28
  14196. * 0b0..A hardware service request for channel 28 is not present
  14197. * 0b1..A hardware service request for channel 28 is present
  14198. */
  14199. #define DMA_HRS_HRS28(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS28_SHIFT)) & DMA_HRS_HRS28_MASK)
  14200. #define DMA_HRS_HRS29_MASK (0x20000000U)
  14201. #define DMA_HRS_HRS29_SHIFT (29U)
  14202. /*! HRS29 - Hardware Request Status Channel 29
  14203. * 0b0..A hardware service request for channel 29 is not preset
  14204. * 0b1..A hardware service request for channel 29 is present
  14205. */
  14206. #define DMA_HRS_HRS29(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS29_SHIFT)) & DMA_HRS_HRS29_MASK)
  14207. #define DMA_HRS_HRS30_MASK (0x40000000U)
  14208. #define DMA_HRS_HRS30_SHIFT (30U)
  14209. /*! HRS30 - Hardware Request Status Channel 30
  14210. * 0b0..A hardware service request for channel 30 is not present
  14211. * 0b1..A hardware service request for channel 30 is present
  14212. */
  14213. #define DMA_HRS_HRS30(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS30_SHIFT)) & DMA_HRS_HRS30_MASK)
  14214. #define DMA_HRS_HRS31_MASK (0x80000000U)
  14215. #define DMA_HRS_HRS31_SHIFT (31U)
  14216. /*! HRS31 - Hardware Request Status Channel 31
  14217. * 0b0..A hardware service request for channel 31 is not present
  14218. * 0b1..A hardware service request for channel 31 is present
  14219. */
  14220. #define DMA_HRS_HRS31(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS31_SHIFT)) & DMA_HRS_HRS31_MASK)
  14221. /*! @} */
  14222. /*! @name EARS - Enable Asynchronous Request in Stop Register */
  14223. /*! @{ */
  14224. #define DMA_EARS_EDREQ_0_MASK (0x1U)
  14225. #define DMA_EARS_EDREQ_0_SHIFT (0U)
  14226. /*! EDREQ_0 - Enable asynchronous DMA request in stop mode for channel 0.
  14227. * 0b0..Disable asynchronous DMA request for channel 0.
  14228. * 0b1..Enable asynchronous DMA request for channel 0.
  14229. */
  14230. #define DMA_EARS_EDREQ_0(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_0_SHIFT)) & DMA_EARS_EDREQ_0_MASK)
  14231. #define DMA_EARS_EDREQ_1_MASK (0x2U)
  14232. #define DMA_EARS_EDREQ_1_SHIFT (1U)
  14233. /*! EDREQ_1 - Enable asynchronous DMA request in stop mode for channel 1.
  14234. * 0b0..Disable asynchronous DMA request for channel 1
  14235. * 0b1..Enable asynchronous DMA request for channel 1.
  14236. */
  14237. #define DMA_EARS_EDREQ_1(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_1_SHIFT)) & DMA_EARS_EDREQ_1_MASK)
  14238. #define DMA_EARS_EDREQ_2_MASK (0x4U)
  14239. #define DMA_EARS_EDREQ_2_SHIFT (2U)
  14240. /*! EDREQ_2 - Enable asynchronous DMA request in stop mode for channel 2.
  14241. * 0b0..Disable asynchronous DMA request for channel 2.
  14242. * 0b1..Enable asynchronous DMA request for channel 2.
  14243. */
  14244. #define DMA_EARS_EDREQ_2(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_2_SHIFT)) & DMA_EARS_EDREQ_2_MASK)
  14245. #define DMA_EARS_EDREQ_3_MASK (0x8U)
  14246. #define DMA_EARS_EDREQ_3_SHIFT (3U)
  14247. /*! EDREQ_3 - Enable asynchronous DMA request in stop mode for channel 3.
  14248. * 0b0..Disable asynchronous DMA request for channel 3.
  14249. * 0b1..Enable asynchronous DMA request for channel 3.
  14250. */
  14251. #define DMA_EARS_EDREQ_3(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_3_SHIFT)) & DMA_EARS_EDREQ_3_MASK)
  14252. #define DMA_EARS_EDREQ_4_MASK (0x10U)
  14253. #define DMA_EARS_EDREQ_4_SHIFT (4U)
  14254. /*! EDREQ_4 - Enable asynchronous DMA request in stop mode for channel 4
  14255. * 0b0..Disable asynchronous DMA request for channel 4.
  14256. * 0b1..Enable asynchronous DMA request for channel 4.
  14257. */
  14258. #define DMA_EARS_EDREQ_4(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_4_SHIFT)) & DMA_EARS_EDREQ_4_MASK)
  14259. #define DMA_EARS_EDREQ_5_MASK (0x20U)
  14260. #define DMA_EARS_EDREQ_5_SHIFT (5U)
  14261. /*! EDREQ_5 - Enable asynchronous DMA request in stop mode for channel 5
  14262. * 0b0..Disable asynchronous DMA request for channel 5.
  14263. * 0b1..Enable asynchronous DMA request for channel 5.
  14264. */
  14265. #define DMA_EARS_EDREQ_5(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_5_SHIFT)) & DMA_EARS_EDREQ_5_MASK)
  14266. #define DMA_EARS_EDREQ_6_MASK (0x40U)
  14267. #define DMA_EARS_EDREQ_6_SHIFT (6U)
  14268. /*! EDREQ_6 - Enable asynchronous DMA request in stop mode for channel 6
  14269. * 0b0..Disable asynchronous DMA request for channel 6.
  14270. * 0b1..Enable asynchronous DMA request for channel 6.
  14271. */
  14272. #define DMA_EARS_EDREQ_6(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_6_SHIFT)) & DMA_EARS_EDREQ_6_MASK)
  14273. #define DMA_EARS_EDREQ_7_MASK (0x80U)
  14274. #define DMA_EARS_EDREQ_7_SHIFT (7U)
  14275. /*! EDREQ_7 - Enable asynchronous DMA request in stop mode for channel 7
  14276. * 0b0..Disable asynchronous DMA request for channel 7.
  14277. * 0b1..Enable asynchronous DMA request for channel 7.
  14278. */
  14279. #define DMA_EARS_EDREQ_7(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_7_SHIFT)) & DMA_EARS_EDREQ_7_MASK)
  14280. #define DMA_EARS_EDREQ_8_MASK (0x100U)
  14281. #define DMA_EARS_EDREQ_8_SHIFT (8U)
  14282. /*! EDREQ_8 - Enable asynchronous DMA request in stop mode for channel 8
  14283. * 0b0..Disable asynchronous DMA request for channel 8.
  14284. * 0b1..Enable asynchronous DMA request for channel 8.
  14285. */
  14286. #define DMA_EARS_EDREQ_8(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_8_SHIFT)) & DMA_EARS_EDREQ_8_MASK)
  14287. #define DMA_EARS_EDREQ_9_MASK (0x200U)
  14288. #define DMA_EARS_EDREQ_9_SHIFT (9U)
  14289. /*! EDREQ_9 - Enable asynchronous DMA request in stop mode for channel 9
  14290. * 0b0..Disable asynchronous DMA request for channel 9.
  14291. * 0b1..Enable asynchronous DMA request for channel 9.
  14292. */
  14293. #define DMA_EARS_EDREQ_9(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_9_SHIFT)) & DMA_EARS_EDREQ_9_MASK)
  14294. #define DMA_EARS_EDREQ_10_MASK (0x400U)
  14295. #define DMA_EARS_EDREQ_10_SHIFT (10U)
  14296. /*! EDREQ_10 - Enable asynchronous DMA request in stop mode for channel 10
  14297. * 0b0..Disable asynchronous DMA request for channel 10.
  14298. * 0b1..Enable asynchronous DMA request for channel 10.
  14299. */
  14300. #define DMA_EARS_EDREQ_10(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_10_SHIFT)) & DMA_EARS_EDREQ_10_MASK)
  14301. #define DMA_EARS_EDREQ_11_MASK (0x800U)
  14302. #define DMA_EARS_EDREQ_11_SHIFT (11U)
  14303. /*! EDREQ_11 - Enable asynchronous DMA request in stop mode for channel 11
  14304. * 0b0..Disable asynchronous DMA request for channel 11.
  14305. * 0b1..Enable asynchronous DMA request for channel 11.
  14306. */
  14307. #define DMA_EARS_EDREQ_11(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_11_SHIFT)) & DMA_EARS_EDREQ_11_MASK)
  14308. #define DMA_EARS_EDREQ_12_MASK (0x1000U)
  14309. #define DMA_EARS_EDREQ_12_SHIFT (12U)
  14310. /*! EDREQ_12 - Enable asynchronous DMA request in stop mode for channel 12
  14311. * 0b0..Disable asynchronous DMA request for channel 12.
  14312. * 0b1..Enable asynchronous DMA request for channel 12.
  14313. */
  14314. #define DMA_EARS_EDREQ_12(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_12_SHIFT)) & DMA_EARS_EDREQ_12_MASK)
  14315. #define DMA_EARS_EDREQ_13_MASK (0x2000U)
  14316. #define DMA_EARS_EDREQ_13_SHIFT (13U)
  14317. /*! EDREQ_13 - Enable asynchronous DMA request in stop mode for channel 13
  14318. * 0b0..Disable asynchronous DMA request for channel 13.
  14319. * 0b1..Enable asynchronous DMA request for channel 13.
  14320. */
  14321. #define DMA_EARS_EDREQ_13(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_13_SHIFT)) & DMA_EARS_EDREQ_13_MASK)
  14322. #define DMA_EARS_EDREQ_14_MASK (0x4000U)
  14323. #define DMA_EARS_EDREQ_14_SHIFT (14U)
  14324. /*! EDREQ_14 - Enable asynchronous DMA request in stop mode for channel 14
  14325. * 0b0..Disable asynchronous DMA request for channel 14.
  14326. * 0b1..Enable asynchronous DMA request for channel 14.
  14327. */
  14328. #define DMA_EARS_EDREQ_14(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_14_SHIFT)) & DMA_EARS_EDREQ_14_MASK)
  14329. #define DMA_EARS_EDREQ_15_MASK (0x8000U)
  14330. #define DMA_EARS_EDREQ_15_SHIFT (15U)
  14331. /*! EDREQ_15 - Enable asynchronous DMA request in stop mode for channel 15
  14332. * 0b0..Disable asynchronous DMA request for channel 15.
  14333. * 0b1..Enable asynchronous DMA request for channel 15.
  14334. */
  14335. #define DMA_EARS_EDREQ_15(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_15_SHIFT)) & DMA_EARS_EDREQ_15_MASK)
  14336. #define DMA_EARS_EDREQ_16_MASK (0x10000U)
  14337. #define DMA_EARS_EDREQ_16_SHIFT (16U)
  14338. /*! EDREQ_16 - Enable asynchronous DMA request in stop mode for channel 16
  14339. * 0b0..Disable asynchronous DMA request for channel 16
  14340. * 0b1..Enable asynchronous DMA request for channel 16
  14341. */
  14342. #define DMA_EARS_EDREQ_16(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_16_SHIFT)) & DMA_EARS_EDREQ_16_MASK)
  14343. #define DMA_EARS_EDREQ_17_MASK (0x20000U)
  14344. #define DMA_EARS_EDREQ_17_SHIFT (17U)
  14345. /*! EDREQ_17 - Enable asynchronous DMA request in stop mode for channel 17
  14346. * 0b0..Disable asynchronous DMA request for channel 17
  14347. * 0b1..Enable asynchronous DMA request for channel 17
  14348. */
  14349. #define DMA_EARS_EDREQ_17(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_17_SHIFT)) & DMA_EARS_EDREQ_17_MASK)
  14350. #define DMA_EARS_EDREQ_18_MASK (0x40000U)
  14351. #define DMA_EARS_EDREQ_18_SHIFT (18U)
  14352. /*! EDREQ_18 - Enable asynchronous DMA request in stop mode for channel 18
  14353. * 0b0..Disable asynchronous DMA request for channel 18
  14354. * 0b1..Enable asynchronous DMA request for channel 18
  14355. */
  14356. #define DMA_EARS_EDREQ_18(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_18_SHIFT)) & DMA_EARS_EDREQ_18_MASK)
  14357. #define DMA_EARS_EDREQ_19_MASK (0x80000U)
  14358. #define DMA_EARS_EDREQ_19_SHIFT (19U)
  14359. /*! EDREQ_19 - Enable asynchronous DMA request in stop mode for channel 19
  14360. * 0b0..Disable asynchronous DMA request for channel 19
  14361. * 0b1..Enable asynchronous DMA request for channel 19
  14362. */
  14363. #define DMA_EARS_EDREQ_19(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_19_SHIFT)) & DMA_EARS_EDREQ_19_MASK)
  14364. #define DMA_EARS_EDREQ_20_MASK (0x100000U)
  14365. #define DMA_EARS_EDREQ_20_SHIFT (20U)
  14366. /*! EDREQ_20 - Enable asynchronous DMA request in stop mode for channel 20
  14367. * 0b0..Disable asynchronous DMA request for channel 20
  14368. * 0b1..Enable asynchronous DMA request for channel 20
  14369. */
  14370. #define DMA_EARS_EDREQ_20(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_20_SHIFT)) & DMA_EARS_EDREQ_20_MASK)
  14371. #define DMA_EARS_EDREQ_21_MASK (0x200000U)
  14372. #define DMA_EARS_EDREQ_21_SHIFT (21U)
  14373. /*! EDREQ_21 - Enable asynchronous DMA request in stop mode for channel 21
  14374. * 0b0..Disable asynchronous DMA request for channel 21
  14375. * 0b1..Enable asynchronous DMA request for channel 21
  14376. */
  14377. #define DMA_EARS_EDREQ_21(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_21_SHIFT)) & DMA_EARS_EDREQ_21_MASK)
  14378. #define DMA_EARS_EDREQ_22_MASK (0x400000U)
  14379. #define DMA_EARS_EDREQ_22_SHIFT (22U)
  14380. /*! EDREQ_22 - Enable asynchronous DMA request in stop mode for channel 22
  14381. * 0b0..Disable asynchronous DMA request for channel 22
  14382. * 0b1..Enable asynchronous DMA request for channel 22
  14383. */
  14384. #define DMA_EARS_EDREQ_22(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_22_SHIFT)) & DMA_EARS_EDREQ_22_MASK)
  14385. #define DMA_EARS_EDREQ_23_MASK (0x800000U)
  14386. #define DMA_EARS_EDREQ_23_SHIFT (23U)
  14387. /*! EDREQ_23 - Enable asynchronous DMA request in stop mode for channel 23
  14388. * 0b0..Disable asynchronous DMA request for channel 23
  14389. * 0b1..Enable asynchronous DMA request for channel 23
  14390. */
  14391. #define DMA_EARS_EDREQ_23(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_23_SHIFT)) & DMA_EARS_EDREQ_23_MASK)
  14392. #define DMA_EARS_EDREQ_24_MASK (0x1000000U)
  14393. #define DMA_EARS_EDREQ_24_SHIFT (24U)
  14394. /*! EDREQ_24 - Enable asynchronous DMA request in stop mode for channel 24
  14395. * 0b0..Disable asynchronous DMA request for channel 24
  14396. * 0b1..Enable asynchronous DMA request for channel 24
  14397. */
  14398. #define DMA_EARS_EDREQ_24(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_24_SHIFT)) & DMA_EARS_EDREQ_24_MASK)
  14399. #define DMA_EARS_EDREQ_25_MASK (0x2000000U)
  14400. #define DMA_EARS_EDREQ_25_SHIFT (25U)
  14401. /*! EDREQ_25 - Enable asynchronous DMA request in stop mode for channel 25
  14402. * 0b0..Disable asynchronous DMA request for channel 25
  14403. * 0b1..Enable asynchronous DMA request for channel 25
  14404. */
  14405. #define DMA_EARS_EDREQ_25(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_25_SHIFT)) & DMA_EARS_EDREQ_25_MASK)
  14406. #define DMA_EARS_EDREQ_26_MASK (0x4000000U)
  14407. #define DMA_EARS_EDREQ_26_SHIFT (26U)
  14408. /*! EDREQ_26 - Enable asynchronous DMA request in stop mode for channel 26
  14409. * 0b0..Disable asynchronous DMA request for channel 26
  14410. * 0b1..Enable asynchronous DMA request for channel 26
  14411. */
  14412. #define DMA_EARS_EDREQ_26(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_26_SHIFT)) & DMA_EARS_EDREQ_26_MASK)
  14413. #define DMA_EARS_EDREQ_27_MASK (0x8000000U)
  14414. #define DMA_EARS_EDREQ_27_SHIFT (27U)
  14415. /*! EDREQ_27 - Enable asynchronous DMA request in stop mode for channel 27
  14416. * 0b0..Disable asynchronous DMA request for channel 27
  14417. * 0b1..Enable asynchronous DMA request for channel 27
  14418. */
  14419. #define DMA_EARS_EDREQ_27(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_27_SHIFT)) & DMA_EARS_EDREQ_27_MASK)
  14420. #define DMA_EARS_EDREQ_28_MASK (0x10000000U)
  14421. #define DMA_EARS_EDREQ_28_SHIFT (28U)
  14422. /*! EDREQ_28 - Enable asynchronous DMA request in stop mode for channel 28
  14423. * 0b0..Disable asynchronous DMA request for channel 28
  14424. * 0b1..Enable asynchronous DMA request for channel 28
  14425. */
  14426. #define DMA_EARS_EDREQ_28(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_28_SHIFT)) & DMA_EARS_EDREQ_28_MASK)
  14427. #define DMA_EARS_EDREQ_29_MASK (0x20000000U)
  14428. #define DMA_EARS_EDREQ_29_SHIFT (29U)
  14429. /*! EDREQ_29 - Enable asynchronous DMA request in stop mode for channel 29
  14430. * 0b0..Disable asynchronous DMA request for channel 29
  14431. * 0b1..Enable asynchronous DMA request for channel 29
  14432. */
  14433. #define DMA_EARS_EDREQ_29(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_29_SHIFT)) & DMA_EARS_EDREQ_29_MASK)
  14434. #define DMA_EARS_EDREQ_30_MASK (0x40000000U)
  14435. #define DMA_EARS_EDREQ_30_SHIFT (30U)
  14436. /*! EDREQ_30 - Enable asynchronous DMA request in stop mode for channel 30
  14437. * 0b0..Disable asynchronous DMA request for channel 30
  14438. * 0b1..Enable asynchronous DMA request for channel 30
  14439. */
  14440. #define DMA_EARS_EDREQ_30(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_30_SHIFT)) & DMA_EARS_EDREQ_30_MASK)
  14441. #define DMA_EARS_EDREQ_31_MASK (0x80000000U)
  14442. #define DMA_EARS_EDREQ_31_SHIFT (31U)
  14443. /*! EDREQ_31 - Enable asynchronous DMA request in stop mode for channel 31
  14444. * 0b0..Disable asynchronous DMA request for channel 31
  14445. * 0b1..Enable asynchronous DMA request for channel 31
  14446. */
  14447. #define DMA_EARS_EDREQ_31(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_31_SHIFT)) & DMA_EARS_EDREQ_31_MASK)
  14448. /*! @} */
  14449. /*! @name DCHPRI3 - Channel n Priority Register */
  14450. /*! @{ */
  14451. #define DMA_DCHPRI3_CHPRI_MASK (0xFU)
  14452. #define DMA_DCHPRI3_CHPRI_SHIFT (0U)
  14453. /*! CHPRI - Channel n Arbitration Priority
  14454. */
  14455. #define DMA_DCHPRI3_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_CHPRI_SHIFT)) & DMA_DCHPRI3_CHPRI_MASK)
  14456. #define DMA_DCHPRI3_GRPPRI_MASK (0x30U)
  14457. #define DMA_DCHPRI3_GRPPRI_SHIFT (4U)
  14458. /*! GRPPRI - Channel n Current Group Priority
  14459. */
  14460. #define DMA_DCHPRI3_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_GRPPRI_SHIFT)) & DMA_DCHPRI3_GRPPRI_MASK)
  14461. #define DMA_DCHPRI3_DPA_MASK (0x40U)
  14462. #define DMA_DCHPRI3_DPA_SHIFT (6U)
  14463. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14464. * 0b0..Channel n can suspend a lower priority channel.
  14465. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14466. */
  14467. #define DMA_DCHPRI3_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_DPA_SHIFT)) & DMA_DCHPRI3_DPA_MASK)
  14468. #define DMA_DCHPRI3_ECP_MASK (0x80U)
  14469. #define DMA_DCHPRI3_ECP_SHIFT (7U)
  14470. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14471. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14472. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14473. */
  14474. #define DMA_DCHPRI3_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_ECP_SHIFT)) & DMA_DCHPRI3_ECP_MASK)
  14475. /*! @} */
  14476. /*! @name DCHPRI2 - Channel n Priority Register */
  14477. /*! @{ */
  14478. #define DMA_DCHPRI2_CHPRI_MASK (0xFU)
  14479. #define DMA_DCHPRI2_CHPRI_SHIFT (0U)
  14480. /*! CHPRI - Channel n Arbitration Priority
  14481. */
  14482. #define DMA_DCHPRI2_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_CHPRI_SHIFT)) & DMA_DCHPRI2_CHPRI_MASK)
  14483. #define DMA_DCHPRI2_GRPPRI_MASK (0x30U)
  14484. #define DMA_DCHPRI2_GRPPRI_SHIFT (4U)
  14485. /*! GRPPRI - Channel n Current Group Priority
  14486. */
  14487. #define DMA_DCHPRI2_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_GRPPRI_SHIFT)) & DMA_DCHPRI2_GRPPRI_MASK)
  14488. #define DMA_DCHPRI2_DPA_MASK (0x40U)
  14489. #define DMA_DCHPRI2_DPA_SHIFT (6U)
  14490. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14491. * 0b0..Channel n can suspend a lower priority channel.
  14492. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14493. */
  14494. #define DMA_DCHPRI2_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_DPA_SHIFT)) & DMA_DCHPRI2_DPA_MASK)
  14495. #define DMA_DCHPRI2_ECP_MASK (0x80U)
  14496. #define DMA_DCHPRI2_ECP_SHIFT (7U)
  14497. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14498. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14499. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14500. */
  14501. #define DMA_DCHPRI2_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_ECP_SHIFT)) & DMA_DCHPRI2_ECP_MASK)
  14502. /*! @} */
  14503. /*! @name DCHPRI1 - Channel n Priority Register */
  14504. /*! @{ */
  14505. #define DMA_DCHPRI1_CHPRI_MASK (0xFU)
  14506. #define DMA_DCHPRI1_CHPRI_SHIFT (0U)
  14507. /*! CHPRI - Channel n Arbitration Priority
  14508. */
  14509. #define DMA_DCHPRI1_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_CHPRI_SHIFT)) & DMA_DCHPRI1_CHPRI_MASK)
  14510. #define DMA_DCHPRI1_GRPPRI_MASK (0x30U)
  14511. #define DMA_DCHPRI1_GRPPRI_SHIFT (4U)
  14512. /*! GRPPRI - Channel n Current Group Priority
  14513. */
  14514. #define DMA_DCHPRI1_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_GRPPRI_SHIFT)) & DMA_DCHPRI1_GRPPRI_MASK)
  14515. #define DMA_DCHPRI1_DPA_MASK (0x40U)
  14516. #define DMA_DCHPRI1_DPA_SHIFT (6U)
  14517. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14518. * 0b0..Channel n can suspend a lower priority channel.
  14519. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14520. */
  14521. #define DMA_DCHPRI1_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_DPA_SHIFT)) & DMA_DCHPRI1_DPA_MASK)
  14522. #define DMA_DCHPRI1_ECP_MASK (0x80U)
  14523. #define DMA_DCHPRI1_ECP_SHIFT (7U)
  14524. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14525. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14526. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14527. */
  14528. #define DMA_DCHPRI1_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_ECP_SHIFT)) & DMA_DCHPRI1_ECP_MASK)
  14529. /*! @} */
  14530. /*! @name DCHPRI0 - Channel n Priority Register */
  14531. /*! @{ */
  14532. #define DMA_DCHPRI0_CHPRI_MASK (0xFU)
  14533. #define DMA_DCHPRI0_CHPRI_SHIFT (0U)
  14534. /*! CHPRI - Channel n Arbitration Priority
  14535. */
  14536. #define DMA_DCHPRI0_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_CHPRI_SHIFT)) & DMA_DCHPRI0_CHPRI_MASK)
  14537. #define DMA_DCHPRI0_GRPPRI_MASK (0x30U)
  14538. #define DMA_DCHPRI0_GRPPRI_SHIFT (4U)
  14539. /*! GRPPRI - Channel n Current Group Priority
  14540. */
  14541. #define DMA_DCHPRI0_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_GRPPRI_SHIFT)) & DMA_DCHPRI0_GRPPRI_MASK)
  14542. #define DMA_DCHPRI0_DPA_MASK (0x40U)
  14543. #define DMA_DCHPRI0_DPA_SHIFT (6U)
  14544. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14545. * 0b0..Channel n can suspend a lower priority channel.
  14546. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14547. */
  14548. #define DMA_DCHPRI0_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_DPA_SHIFT)) & DMA_DCHPRI0_DPA_MASK)
  14549. #define DMA_DCHPRI0_ECP_MASK (0x80U)
  14550. #define DMA_DCHPRI0_ECP_SHIFT (7U)
  14551. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14552. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14553. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14554. */
  14555. #define DMA_DCHPRI0_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_ECP_SHIFT)) & DMA_DCHPRI0_ECP_MASK)
  14556. /*! @} */
  14557. /*! @name DCHPRI7 - Channel n Priority Register */
  14558. /*! @{ */
  14559. #define DMA_DCHPRI7_CHPRI_MASK (0xFU)
  14560. #define DMA_DCHPRI7_CHPRI_SHIFT (0U)
  14561. /*! CHPRI - Channel n Arbitration Priority
  14562. */
  14563. #define DMA_DCHPRI7_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_CHPRI_SHIFT)) & DMA_DCHPRI7_CHPRI_MASK)
  14564. #define DMA_DCHPRI7_GRPPRI_MASK (0x30U)
  14565. #define DMA_DCHPRI7_GRPPRI_SHIFT (4U)
  14566. /*! GRPPRI - Channel n Current Group Priority
  14567. */
  14568. #define DMA_DCHPRI7_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_GRPPRI_SHIFT)) & DMA_DCHPRI7_GRPPRI_MASK)
  14569. #define DMA_DCHPRI7_DPA_MASK (0x40U)
  14570. #define DMA_DCHPRI7_DPA_SHIFT (6U)
  14571. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14572. * 0b0..Channel n can suspend a lower priority channel.
  14573. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14574. */
  14575. #define DMA_DCHPRI7_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_DPA_SHIFT)) & DMA_DCHPRI7_DPA_MASK)
  14576. #define DMA_DCHPRI7_ECP_MASK (0x80U)
  14577. #define DMA_DCHPRI7_ECP_SHIFT (7U)
  14578. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14579. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14580. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14581. */
  14582. #define DMA_DCHPRI7_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_ECP_SHIFT)) & DMA_DCHPRI7_ECP_MASK)
  14583. /*! @} */
  14584. /*! @name DCHPRI6 - Channel n Priority Register */
  14585. /*! @{ */
  14586. #define DMA_DCHPRI6_CHPRI_MASK (0xFU)
  14587. #define DMA_DCHPRI6_CHPRI_SHIFT (0U)
  14588. /*! CHPRI - Channel n Arbitration Priority
  14589. */
  14590. #define DMA_DCHPRI6_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_CHPRI_SHIFT)) & DMA_DCHPRI6_CHPRI_MASK)
  14591. #define DMA_DCHPRI6_GRPPRI_MASK (0x30U)
  14592. #define DMA_DCHPRI6_GRPPRI_SHIFT (4U)
  14593. /*! GRPPRI - Channel n Current Group Priority
  14594. */
  14595. #define DMA_DCHPRI6_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_GRPPRI_SHIFT)) & DMA_DCHPRI6_GRPPRI_MASK)
  14596. #define DMA_DCHPRI6_DPA_MASK (0x40U)
  14597. #define DMA_DCHPRI6_DPA_SHIFT (6U)
  14598. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14599. * 0b0..Channel n can suspend a lower priority channel.
  14600. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14601. */
  14602. #define DMA_DCHPRI6_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_DPA_SHIFT)) & DMA_DCHPRI6_DPA_MASK)
  14603. #define DMA_DCHPRI6_ECP_MASK (0x80U)
  14604. #define DMA_DCHPRI6_ECP_SHIFT (7U)
  14605. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14606. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14607. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14608. */
  14609. #define DMA_DCHPRI6_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_ECP_SHIFT)) & DMA_DCHPRI6_ECP_MASK)
  14610. /*! @} */
  14611. /*! @name DCHPRI5 - Channel n Priority Register */
  14612. /*! @{ */
  14613. #define DMA_DCHPRI5_CHPRI_MASK (0xFU)
  14614. #define DMA_DCHPRI5_CHPRI_SHIFT (0U)
  14615. /*! CHPRI - Channel n Arbitration Priority
  14616. */
  14617. #define DMA_DCHPRI5_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_CHPRI_SHIFT)) & DMA_DCHPRI5_CHPRI_MASK)
  14618. #define DMA_DCHPRI5_GRPPRI_MASK (0x30U)
  14619. #define DMA_DCHPRI5_GRPPRI_SHIFT (4U)
  14620. /*! GRPPRI - Channel n Current Group Priority
  14621. */
  14622. #define DMA_DCHPRI5_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_GRPPRI_SHIFT)) & DMA_DCHPRI5_GRPPRI_MASK)
  14623. #define DMA_DCHPRI5_DPA_MASK (0x40U)
  14624. #define DMA_DCHPRI5_DPA_SHIFT (6U)
  14625. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14626. * 0b0..Channel n can suspend a lower priority channel.
  14627. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14628. */
  14629. #define DMA_DCHPRI5_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_DPA_SHIFT)) & DMA_DCHPRI5_DPA_MASK)
  14630. #define DMA_DCHPRI5_ECP_MASK (0x80U)
  14631. #define DMA_DCHPRI5_ECP_SHIFT (7U)
  14632. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14633. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14634. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14635. */
  14636. #define DMA_DCHPRI5_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_ECP_SHIFT)) & DMA_DCHPRI5_ECP_MASK)
  14637. /*! @} */
  14638. /*! @name DCHPRI4 - Channel n Priority Register */
  14639. /*! @{ */
  14640. #define DMA_DCHPRI4_CHPRI_MASK (0xFU)
  14641. #define DMA_DCHPRI4_CHPRI_SHIFT (0U)
  14642. /*! CHPRI - Channel n Arbitration Priority
  14643. */
  14644. #define DMA_DCHPRI4_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_CHPRI_SHIFT)) & DMA_DCHPRI4_CHPRI_MASK)
  14645. #define DMA_DCHPRI4_GRPPRI_MASK (0x30U)
  14646. #define DMA_DCHPRI4_GRPPRI_SHIFT (4U)
  14647. /*! GRPPRI - Channel n Current Group Priority
  14648. */
  14649. #define DMA_DCHPRI4_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_GRPPRI_SHIFT)) & DMA_DCHPRI4_GRPPRI_MASK)
  14650. #define DMA_DCHPRI4_DPA_MASK (0x40U)
  14651. #define DMA_DCHPRI4_DPA_SHIFT (6U)
  14652. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14653. * 0b0..Channel n can suspend a lower priority channel.
  14654. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14655. */
  14656. #define DMA_DCHPRI4_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_DPA_SHIFT)) & DMA_DCHPRI4_DPA_MASK)
  14657. #define DMA_DCHPRI4_ECP_MASK (0x80U)
  14658. #define DMA_DCHPRI4_ECP_SHIFT (7U)
  14659. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14660. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14661. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14662. */
  14663. #define DMA_DCHPRI4_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_ECP_SHIFT)) & DMA_DCHPRI4_ECP_MASK)
  14664. /*! @} */
  14665. /*! @name DCHPRI11 - Channel n Priority Register */
  14666. /*! @{ */
  14667. #define DMA_DCHPRI11_CHPRI_MASK (0xFU)
  14668. #define DMA_DCHPRI11_CHPRI_SHIFT (0U)
  14669. /*! CHPRI - Channel n Arbitration Priority
  14670. */
  14671. #define DMA_DCHPRI11_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI11_CHPRI_SHIFT)) & DMA_DCHPRI11_CHPRI_MASK)
  14672. #define DMA_DCHPRI11_GRPPRI_MASK (0x30U)
  14673. #define DMA_DCHPRI11_GRPPRI_SHIFT (4U)
  14674. /*! GRPPRI - Channel n Current Group Priority
  14675. */
  14676. #define DMA_DCHPRI11_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI11_GRPPRI_SHIFT)) & DMA_DCHPRI11_GRPPRI_MASK)
  14677. #define DMA_DCHPRI11_DPA_MASK (0x40U)
  14678. #define DMA_DCHPRI11_DPA_SHIFT (6U)
  14679. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14680. * 0b0..Channel n can suspend a lower priority channel.
  14681. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14682. */
  14683. #define DMA_DCHPRI11_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI11_DPA_SHIFT)) & DMA_DCHPRI11_DPA_MASK)
  14684. #define DMA_DCHPRI11_ECP_MASK (0x80U)
  14685. #define DMA_DCHPRI11_ECP_SHIFT (7U)
  14686. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14687. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14688. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14689. */
  14690. #define DMA_DCHPRI11_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI11_ECP_SHIFT)) & DMA_DCHPRI11_ECP_MASK)
  14691. /*! @} */
  14692. /*! @name DCHPRI10 - Channel n Priority Register */
  14693. /*! @{ */
  14694. #define DMA_DCHPRI10_CHPRI_MASK (0xFU)
  14695. #define DMA_DCHPRI10_CHPRI_SHIFT (0U)
  14696. /*! CHPRI - Channel n Arbitration Priority
  14697. */
  14698. #define DMA_DCHPRI10_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI10_CHPRI_SHIFT)) & DMA_DCHPRI10_CHPRI_MASK)
  14699. #define DMA_DCHPRI10_GRPPRI_MASK (0x30U)
  14700. #define DMA_DCHPRI10_GRPPRI_SHIFT (4U)
  14701. /*! GRPPRI - Channel n Current Group Priority
  14702. */
  14703. #define DMA_DCHPRI10_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI10_GRPPRI_SHIFT)) & DMA_DCHPRI10_GRPPRI_MASK)
  14704. #define DMA_DCHPRI10_DPA_MASK (0x40U)
  14705. #define DMA_DCHPRI10_DPA_SHIFT (6U)
  14706. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14707. * 0b0..Channel n can suspend a lower priority channel.
  14708. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14709. */
  14710. #define DMA_DCHPRI10_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI10_DPA_SHIFT)) & DMA_DCHPRI10_DPA_MASK)
  14711. #define DMA_DCHPRI10_ECP_MASK (0x80U)
  14712. #define DMA_DCHPRI10_ECP_SHIFT (7U)
  14713. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14714. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14715. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14716. */
  14717. #define DMA_DCHPRI10_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI10_ECP_SHIFT)) & DMA_DCHPRI10_ECP_MASK)
  14718. /*! @} */
  14719. /*! @name DCHPRI9 - Channel n Priority Register */
  14720. /*! @{ */
  14721. #define DMA_DCHPRI9_CHPRI_MASK (0xFU)
  14722. #define DMA_DCHPRI9_CHPRI_SHIFT (0U)
  14723. /*! CHPRI - Channel n Arbitration Priority
  14724. */
  14725. #define DMA_DCHPRI9_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI9_CHPRI_SHIFT)) & DMA_DCHPRI9_CHPRI_MASK)
  14726. #define DMA_DCHPRI9_GRPPRI_MASK (0x30U)
  14727. #define DMA_DCHPRI9_GRPPRI_SHIFT (4U)
  14728. /*! GRPPRI - Channel n Current Group Priority
  14729. */
  14730. #define DMA_DCHPRI9_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI9_GRPPRI_SHIFT)) & DMA_DCHPRI9_GRPPRI_MASK)
  14731. #define DMA_DCHPRI9_DPA_MASK (0x40U)
  14732. #define DMA_DCHPRI9_DPA_SHIFT (6U)
  14733. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14734. * 0b0..Channel n can suspend a lower priority channel.
  14735. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14736. */
  14737. #define DMA_DCHPRI9_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI9_DPA_SHIFT)) & DMA_DCHPRI9_DPA_MASK)
  14738. #define DMA_DCHPRI9_ECP_MASK (0x80U)
  14739. #define DMA_DCHPRI9_ECP_SHIFT (7U)
  14740. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14741. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14742. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14743. */
  14744. #define DMA_DCHPRI9_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI9_ECP_SHIFT)) & DMA_DCHPRI9_ECP_MASK)
  14745. /*! @} */
  14746. /*! @name DCHPRI8 - Channel n Priority Register */
  14747. /*! @{ */
  14748. #define DMA_DCHPRI8_CHPRI_MASK (0xFU)
  14749. #define DMA_DCHPRI8_CHPRI_SHIFT (0U)
  14750. /*! CHPRI - Channel n Arbitration Priority
  14751. */
  14752. #define DMA_DCHPRI8_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI8_CHPRI_SHIFT)) & DMA_DCHPRI8_CHPRI_MASK)
  14753. #define DMA_DCHPRI8_GRPPRI_MASK (0x30U)
  14754. #define DMA_DCHPRI8_GRPPRI_SHIFT (4U)
  14755. /*! GRPPRI - Channel n Current Group Priority
  14756. */
  14757. #define DMA_DCHPRI8_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI8_GRPPRI_SHIFT)) & DMA_DCHPRI8_GRPPRI_MASK)
  14758. #define DMA_DCHPRI8_DPA_MASK (0x40U)
  14759. #define DMA_DCHPRI8_DPA_SHIFT (6U)
  14760. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14761. * 0b0..Channel n can suspend a lower priority channel.
  14762. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14763. */
  14764. #define DMA_DCHPRI8_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI8_DPA_SHIFT)) & DMA_DCHPRI8_DPA_MASK)
  14765. #define DMA_DCHPRI8_ECP_MASK (0x80U)
  14766. #define DMA_DCHPRI8_ECP_SHIFT (7U)
  14767. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14768. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14769. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14770. */
  14771. #define DMA_DCHPRI8_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI8_ECP_SHIFT)) & DMA_DCHPRI8_ECP_MASK)
  14772. /*! @} */
  14773. /*! @name DCHPRI15 - Channel n Priority Register */
  14774. /*! @{ */
  14775. #define DMA_DCHPRI15_CHPRI_MASK (0xFU)
  14776. #define DMA_DCHPRI15_CHPRI_SHIFT (0U)
  14777. /*! CHPRI - Channel n Arbitration Priority
  14778. */
  14779. #define DMA_DCHPRI15_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI15_CHPRI_SHIFT)) & DMA_DCHPRI15_CHPRI_MASK)
  14780. #define DMA_DCHPRI15_GRPPRI_MASK (0x30U)
  14781. #define DMA_DCHPRI15_GRPPRI_SHIFT (4U)
  14782. /*! GRPPRI - Channel n Current Group Priority
  14783. */
  14784. #define DMA_DCHPRI15_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI15_GRPPRI_SHIFT)) & DMA_DCHPRI15_GRPPRI_MASK)
  14785. #define DMA_DCHPRI15_DPA_MASK (0x40U)
  14786. #define DMA_DCHPRI15_DPA_SHIFT (6U)
  14787. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14788. * 0b0..Channel n can suspend a lower priority channel.
  14789. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14790. */
  14791. #define DMA_DCHPRI15_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI15_DPA_SHIFT)) & DMA_DCHPRI15_DPA_MASK)
  14792. #define DMA_DCHPRI15_ECP_MASK (0x80U)
  14793. #define DMA_DCHPRI15_ECP_SHIFT (7U)
  14794. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14795. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14796. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14797. */
  14798. #define DMA_DCHPRI15_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI15_ECP_SHIFT)) & DMA_DCHPRI15_ECP_MASK)
  14799. /*! @} */
  14800. /*! @name DCHPRI14 - Channel n Priority Register */
  14801. /*! @{ */
  14802. #define DMA_DCHPRI14_CHPRI_MASK (0xFU)
  14803. #define DMA_DCHPRI14_CHPRI_SHIFT (0U)
  14804. /*! CHPRI - Channel n Arbitration Priority
  14805. */
  14806. #define DMA_DCHPRI14_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI14_CHPRI_SHIFT)) & DMA_DCHPRI14_CHPRI_MASK)
  14807. #define DMA_DCHPRI14_GRPPRI_MASK (0x30U)
  14808. #define DMA_DCHPRI14_GRPPRI_SHIFT (4U)
  14809. /*! GRPPRI - Channel n Current Group Priority
  14810. */
  14811. #define DMA_DCHPRI14_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI14_GRPPRI_SHIFT)) & DMA_DCHPRI14_GRPPRI_MASK)
  14812. #define DMA_DCHPRI14_DPA_MASK (0x40U)
  14813. #define DMA_DCHPRI14_DPA_SHIFT (6U)
  14814. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14815. * 0b0..Channel n can suspend a lower priority channel.
  14816. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14817. */
  14818. #define DMA_DCHPRI14_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI14_DPA_SHIFT)) & DMA_DCHPRI14_DPA_MASK)
  14819. #define DMA_DCHPRI14_ECP_MASK (0x80U)
  14820. #define DMA_DCHPRI14_ECP_SHIFT (7U)
  14821. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14822. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14823. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14824. */
  14825. #define DMA_DCHPRI14_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI14_ECP_SHIFT)) & DMA_DCHPRI14_ECP_MASK)
  14826. /*! @} */
  14827. /*! @name DCHPRI13 - Channel n Priority Register */
  14828. /*! @{ */
  14829. #define DMA_DCHPRI13_CHPRI_MASK (0xFU)
  14830. #define DMA_DCHPRI13_CHPRI_SHIFT (0U)
  14831. /*! CHPRI - Channel n Arbitration Priority
  14832. */
  14833. #define DMA_DCHPRI13_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI13_CHPRI_SHIFT)) & DMA_DCHPRI13_CHPRI_MASK)
  14834. #define DMA_DCHPRI13_GRPPRI_MASK (0x30U)
  14835. #define DMA_DCHPRI13_GRPPRI_SHIFT (4U)
  14836. /*! GRPPRI - Channel n Current Group Priority
  14837. */
  14838. #define DMA_DCHPRI13_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI13_GRPPRI_SHIFT)) & DMA_DCHPRI13_GRPPRI_MASK)
  14839. #define DMA_DCHPRI13_DPA_MASK (0x40U)
  14840. #define DMA_DCHPRI13_DPA_SHIFT (6U)
  14841. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14842. * 0b0..Channel n can suspend a lower priority channel.
  14843. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14844. */
  14845. #define DMA_DCHPRI13_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI13_DPA_SHIFT)) & DMA_DCHPRI13_DPA_MASK)
  14846. #define DMA_DCHPRI13_ECP_MASK (0x80U)
  14847. #define DMA_DCHPRI13_ECP_SHIFT (7U)
  14848. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14849. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14850. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14851. */
  14852. #define DMA_DCHPRI13_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI13_ECP_SHIFT)) & DMA_DCHPRI13_ECP_MASK)
  14853. /*! @} */
  14854. /*! @name DCHPRI12 - Channel n Priority Register */
  14855. /*! @{ */
  14856. #define DMA_DCHPRI12_CHPRI_MASK (0xFU)
  14857. #define DMA_DCHPRI12_CHPRI_SHIFT (0U)
  14858. /*! CHPRI - Channel n Arbitration Priority
  14859. */
  14860. #define DMA_DCHPRI12_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI12_CHPRI_SHIFT)) & DMA_DCHPRI12_CHPRI_MASK)
  14861. #define DMA_DCHPRI12_GRPPRI_MASK (0x30U)
  14862. #define DMA_DCHPRI12_GRPPRI_SHIFT (4U)
  14863. /*! GRPPRI - Channel n Current Group Priority
  14864. */
  14865. #define DMA_DCHPRI12_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI12_GRPPRI_SHIFT)) & DMA_DCHPRI12_GRPPRI_MASK)
  14866. #define DMA_DCHPRI12_DPA_MASK (0x40U)
  14867. #define DMA_DCHPRI12_DPA_SHIFT (6U)
  14868. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14869. * 0b0..Channel n can suspend a lower priority channel.
  14870. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14871. */
  14872. #define DMA_DCHPRI12_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI12_DPA_SHIFT)) & DMA_DCHPRI12_DPA_MASK)
  14873. #define DMA_DCHPRI12_ECP_MASK (0x80U)
  14874. #define DMA_DCHPRI12_ECP_SHIFT (7U)
  14875. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14876. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14877. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14878. */
  14879. #define DMA_DCHPRI12_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI12_ECP_SHIFT)) & DMA_DCHPRI12_ECP_MASK)
  14880. /*! @} */
  14881. /*! @name DCHPRI19 - Channel n Priority Register */
  14882. /*! @{ */
  14883. #define DMA_DCHPRI19_CHPRI_MASK (0xFU)
  14884. #define DMA_DCHPRI19_CHPRI_SHIFT (0U)
  14885. /*! CHPRI - Channel n Arbitration Priority
  14886. */
  14887. #define DMA_DCHPRI19_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI19_CHPRI_SHIFT)) & DMA_DCHPRI19_CHPRI_MASK)
  14888. #define DMA_DCHPRI19_GRPPRI_MASK (0x30U)
  14889. #define DMA_DCHPRI19_GRPPRI_SHIFT (4U)
  14890. /*! GRPPRI - Channel n Current Group Priority
  14891. */
  14892. #define DMA_DCHPRI19_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI19_GRPPRI_SHIFT)) & DMA_DCHPRI19_GRPPRI_MASK)
  14893. #define DMA_DCHPRI19_DPA_MASK (0x40U)
  14894. #define DMA_DCHPRI19_DPA_SHIFT (6U)
  14895. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14896. * 0b0..Channel n can suspend a lower priority channel.
  14897. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14898. */
  14899. #define DMA_DCHPRI19_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI19_DPA_SHIFT)) & DMA_DCHPRI19_DPA_MASK)
  14900. #define DMA_DCHPRI19_ECP_MASK (0x80U)
  14901. #define DMA_DCHPRI19_ECP_SHIFT (7U)
  14902. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14903. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14904. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14905. */
  14906. #define DMA_DCHPRI19_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI19_ECP_SHIFT)) & DMA_DCHPRI19_ECP_MASK)
  14907. /*! @} */
  14908. /*! @name DCHPRI18 - Channel n Priority Register */
  14909. /*! @{ */
  14910. #define DMA_DCHPRI18_CHPRI_MASK (0xFU)
  14911. #define DMA_DCHPRI18_CHPRI_SHIFT (0U)
  14912. /*! CHPRI - Channel n Arbitration Priority
  14913. */
  14914. #define DMA_DCHPRI18_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI18_CHPRI_SHIFT)) & DMA_DCHPRI18_CHPRI_MASK)
  14915. #define DMA_DCHPRI18_GRPPRI_MASK (0x30U)
  14916. #define DMA_DCHPRI18_GRPPRI_SHIFT (4U)
  14917. /*! GRPPRI - Channel n Current Group Priority
  14918. */
  14919. #define DMA_DCHPRI18_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI18_GRPPRI_SHIFT)) & DMA_DCHPRI18_GRPPRI_MASK)
  14920. #define DMA_DCHPRI18_DPA_MASK (0x40U)
  14921. #define DMA_DCHPRI18_DPA_SHIFT (6U)
  14922. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14923. * 0b0..Channel n can suspend a lower priority channel.
  14924. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14925. */
  14926. #define DMA_DCHPRI18_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI18_DPA_SHIFT)) & DMA_DCHPRI18_DPA_MASK)
  14927. #define DMA_DCHPRI18_ECP_MASK (0x80U)
  14928. #define DMA_DCHPRI18_ECP_SHIFT (7U)
  14929. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14930. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14931. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14932. */
  14933. #define DMA_DCHPRI18_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI18_ECP_SHIFT)) & DMA_DCHPRI18_ECP_MASK)
  14934. /*! @} */
  14935. /*! @name DCHPRI17 - Channel n Priority Register */
  14936. /*! @{ */
  14937. #define DMA_DCHPRI17_CHPRI_MASK (0xFU)
  14938. #define DMA_DCHPRI17_CHPRI_SHIFT (0U)
  14939. /*! CHPRI - Channel n Arbitration Priority
  14940. */
  14941. #define DMA_DCHPRI17_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI17_CHPRI_SHIFT)) & DMA_DCHPRI17_CHPRI_MASK)
  14942. #define DMA_DCHPRI17_GRPPRI_MASK (0x30U)
  14943. #define DMA_DCHPRI17_GRPPRI_SHIFT (4U)
  14944. /*! GRPPRI - Channel n Current Group Priority
  14945. */
  14946. #define DMA_DCHPRI17_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI17_GRPPRI_SHIFT)) & DMA_DCHPRI17_GRPPRI_MASK)
  14947. #define DMA_DCHPRI17_DPA_MASK (0x40U)
  14948. #define DMA_DCHPRI17_DPA_SHIFT (6U)
  14949. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14950. * 0b0..Channel n can suspend a lower priority channel.
  14951. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14952. */
  14953. #define DMA_DCHPRI17_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI17_DPA_SHIFT)) & DMA_DCHPRI17_DPA_MASK)
  14954. #define DMA_DCHPRI17_ECP_MASK (0x80U)
  14955. #define DMA_DCHPRI17_ECP_SHIFT (7U)
  14956. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14957. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14958. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14959. */
  14960. #define DMA_DCHPRI17_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI17_ECP_SHIFT)) & DMA_DCHPRI17_ECP_MASK)
  14961. /*! @} */
  14962. /*! @name DCHPRI16 - Channel n Priority Register */
  14963. /*! @{ */
  14964. #define DMA_DCHPRI16_CHPRI_MASK (0xFU)
  14965. #define DMA_DCHPRI16_CHPRI_SHIFT (0U)
  14966. /*! CHPRI - Channel n Arbitration Priority
  14967. */
  14968. #define DMA_DCHPRI16_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI16_CHPRI_SHIFT)) & DMA_DCHPRI16_CHPRI_MASK)
  14969. #define DMA_DCHPRI16_GRPPRI_MASK (0x30U)
  14970. #define DMA_DCHPRI16_GRPPRI_SHIFT (4U)
  14971. /*! GRPPRI - Channel n Current Group Priority
  14972. */
  14973. #define DMA_DCHPRI16_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI16_GRPPRI_SHIFT)) & DMA_DCHPRI16_GRPPRI_MASK)
  14974. #define DMA_DCHPRI16_DPA_MASK (0x40U)
  14975. #define DMA_DCHPRI16_DPA_SHIFT (6U)
  14976. /*! DPA - Disable Preempt Ability. This field resets to 0.
  14977. * 0b0..Channel n can suspend a lower priority channel.
  14978. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  14979. */
  14980. #define DMA_DCHPRI16_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI16_DPA_SHIFT)) & DMA_DCHPRI16_DPA_MASK)
  14981. #define DMA_DCHPRI16_ECP_MASK (0x80U)
  14982. #define DMA_DCHPRI16_ECP_SHIFT (7U)
  14983. /*! ECP - Enable Channel Preemption. This field resets to 0.
  14984. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  14985. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  14986. */
  14987. #define DMA_DCHPRI16_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI16_ECP_SHIFT)) & DMA_DCHPRI16_ECP_MASK)
  14988. /*! @} */
  14989. /*! @name DCHPRI23 - Channel n Priority Register */
  14990. /*! @{ */
  14991. #define DMA_DCHPRI23_CHPRI_MASK (0xFU)
  14992. #define DMA_DCHPRI23_CHPRI_SHIFT (0U)
  14993. /*! CHPRI - Channel n Arbitration Priority
  14994. */
  14995. #define DMA_DCHPRI23_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI23_CHPRI_SHIFT)) & DMA_DCHPRI23_CHPRI_MASK)
  14996. #define DMA_DCHPRI23_GRPPRI_MASK (0x30U)
  14997. #define DMA_DCHPRI23_GRPPRI_SHIFT (4U)
  14998. /*! GRPPRI - Channel n Current Group Priority
  14999. */
  15000. #define DMA_DCHPRI23_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI23_GRPPRI_SHIFT)) & DMA_DCHPRI23_GRPPRI_MASK)
  15001. #define DMA_DCHPRI23_DPA_MASK (0x40U)
  15002. #define DMA_DCHPRI23_DPA_SHIFT (6U)
  15003. /*! DPA - Disable Preempt Ability. This field resets to 0.
  15004. * 0b0..Channel n can suspend a lower priority channel.
  15005. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  15006. */
  15007. #define DMA_DCHPRI23_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI23_DPA_SHIFT)) & DMA_DCHPRI23_DPA_MASK)
  15008. #define DMA_DCHPRI23_ECP_MASK (0x80U)
  15009. #define DMA_DCHPRI23_ECP_SHIFT (7U)
  15010. /*! ECP - Enable Channel Preemption. This field resets to 0.
  15011. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  15012. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  15013. */
  15014. #define DMA_DCHPRI23_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI23_ECP_SHIFT)) & DMA_DCHPRI23_ECP_MASK)
  15015. /*! @} */
  15016. /*! @name DCHPRI22 - Channel n Priority Register */
  15017. /*! @{ */
  15018. #define DMA_DCHPRI22_CHPRI_MASK (0xFU)
  15019. #define DMA_DCHPRI22_CHPRI_SHIFT (0U)
  15020. /*! CHPRI - Channel n Arbitration Priority
  15021. */
  15022. #define DMA_DCHPRI22_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI22_CHPRI_SHIFT)) & DMA_DCHPRI22_CHPRI_MASK)
  15023. #define DMA_DCHPRI22_GRPPRI_MASK (0x30U)
  15024. #define DMA_DCHPRI22_GRPPRI_SHIFT (4U)
  15025. /*! GRPPRI - Channel n Current Group Priority
  15026. */
  15027. #define DMA_DCHPRI22_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI22_GRPPRI_SHIFT)) & DMA_DCHPRI22_GRPPRI_MASK)
  15028. #define DMA_DCHPRI22_DPA_MASK (0x40U)
  15029. #define DMA_DCHPRI22_DPA_SHIFT (6U)
  15030. /*! DPA - Disable Preempt Ability. This field resets to 0.
  15031. * 0b0..Channel n can suspend a lower priority channel.
  15032. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  15033. */
  15034. #define DMA_DCHPRI22_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI22_DPA_SHIFT)) & DMA_DCHPRI22_DPA_MASK)
  15035. #define DMA_DCHPRI22_ECP_MASK (0x80U)
  15036. #define DMA_DCHPRI22_ECP_SHIFT (7U)
  15037. /*! ECP - Enable Channel Preemption. This field resets to 0.
  15038. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  15039. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  15040. */
  15041. #define DMA_DCHPRI22_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI22_ECP_SHIFT)) & DMA_DCHPRI22_ECP_MASK)
  15042. /*! @} */
  15043. /*! @name DCHPRI21 - Channel n Priority Register */
  15044. /*! @{ */
  15045. #define DMA_DCHPRI21_CHPRI_MASK (0xFU)
  15046. #define DMA_DCHPRI21_CHPRI_SHIFT (0U)
  15047. /*! CHPRI - Channel n Arbitration Priority
  15048. */
  15049. #define DMA_DCHPRI21_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI21_CHPRI_SHIFT)) & DMA_DCHPRI21_CHPRI_MASK)
  15050. #define DMA_DCHPRI21_GRPPRI_MASK (0x30U)
  15051. #define DMA_DCHPRI21_GRPPRI_SHIFT (4U)
  15052. /*! GRPPRI - Channel n Current Group Priority
  15053. */
  15054. #define DMA_DCHPRI21_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI21_GRPPRI_SHIFT)) & DMA_DCHPRI21_GRPPRI_MASK)
  15055. #define DMA_DCHPRI21_DPA_MASK (0x40U)
  15056. #define DMA_DCHPRI21_DPA_SHIFT (6U)
  15057. /*! DPA - Disable Preempt Ability. This field resets to 0.
  15058. * 0b0..Channel n can suspend a lower priority channel.
  15059. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  15060. */
  15061. #define DMA_DCHPRI21_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI21_DPA_SHIFT)) & DMA_DCHPRI21_DPA_MASK)
  15062. #define DMA_DCHPRI21_ECP_MASK (0x80U)
  15063. #define DMA_DCHPRI21_ECP_SHIFT (7U)
  15064. /*! ECP - Enable Channel Preemption. This field resets to 0.
  15065. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  15066. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  15067. */
  15068. #define DMA_DCHPRI21_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI21_ECP_SHIFT)) & DMA_DCHPRI21_ECP_MASK)
  15069. /*! @} */
  15070. /*! @name DCHPRI20 - Channel n Priority Register */
  15071. /*! @{ */
  15072. #define DMA_DCHPRI20_CHPRI_MASK (0xFU)
  15073. #define DMA_DCHPRI20_CHPRI_SHIFT (0U)
  15074. /*! CHPRI - Channel n Arbitration Priority
  15075. */
  15076. #define DMA_DCHPRI20_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI20_CHPRI_SHIFT)) & DMA_DCHPRI20_CHPRI_MASK)
  15077. #define DMA_DCHPRI20_GRPPRI_MASK (0x30U)
  15078. #define DMA_DCHPRI20_GRPPRI_SHIFT (4U)
  15079. /*! GRPPRI - Channel n Current Group Priority
  15080. */
  15081. #define DMA_DCHPRI20_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI20_GRPPRI_SHIFT)) & DMA_DCHPRI20_GRPPRI_MASK)
  15082. #define DMA_DCHPRI20_DPA_MASK (0x40U)
  15083. #define DMA_DCHPRI20_DPA_SHIFT (6U)
  15084. /*! DPA - Disable Preempt Ability. This field resets to 0.
  15085. * 0b0..Channel n can suspend a lower priority channel.
  15086. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  15087. */
  15088. #define DMA_DCHPRI20_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI20_DPA_SHIFT)) & DMA_DCHPRI20_DPA_MASK)
  15089. #define DMA_DCHPRI20_ECP_MASK (0x80U)
  15090. #define DMA_DCHPRI20_ECP_SHIFT (7U)
  15091. /*! ECP - Enable Channel Preemption. This field resets to 0.
  15092. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  15093. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  15094. */
  15095. #define DMA_DCHPRI20_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI20_ECP_SHIFT)) & DMA_DCHPRI20_ECP_MASK)
  15096. /*! @} */
  15097. /*! @name DCHPRI27 - Channel n Priority Register */
  15098. /*! @{ */
  15099. #define DMA_DCHPRI27_CHPRI_MASK (0xFU)
  15100. #define DMA_DCHPRI27_CHPRI_SHIFT (0U)
  15101. /*! CHPRI - Channel n Arbitration Priority
  15102. */
  15103. #define DMA_DCHPRI27_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI27_CHPRI_SHIFT)) & DMA_DCHPRI27_CHPRI_MASK)
  15104. #define DMA_DCHPRI27_GRPPRI_MASK (0x30U)
  15105. #define DMA_DCHPRI27_GRPPRI_SHIFT (4U)
  15106. /*! GRPPRI - Channel n Current Group Priority
  15107. */
  15108. #define DMA_DCHPRI27_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI27_GRPPRI_SHIFT)) & DMA_DCHPRI27_GRPPRI_MASK)
  15109. #define DMA_DCHPRI27_DPA_MASK (0x40U)
  15110. #define DMA_DCHPRI27_DPA_SHIFT (6U)
  15111. /*! DPA - Disable Preempt Ability. This field resets to 0.
  15112. * 0b0..Channel n can suspend a lower priority channel.
  15113. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  15114. */
  15115. #define DMA_DCHPRI27_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI27_DPA_SHIFT)) & DMA_DCHPRI27_DPA_MASK)
  15116. #define DMA_DCHPRI27_ECP_MASK (0x80U)
  15117. #define DMA_DCHPRI27_ECP_SHIFT (7U)
  15118. /*! ECP - Enable Channel Preemption. This field resets to 0.
  15119. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  15120. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  15121. */
  15122. #define DMA_DCHPRI27_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI27_ECP_SHIFT)) & DMA_DCHPRI27_ECP_MASK)
  15123. /*! @} */
  15124. /*! @name DCHPRI26 - Channel n Priority Register */
  15125. /*! @{ */
  15126. #define DMA_DCHPRI26_CHPRI_MASK (0xFU)
  15127. #define DMA_DCHPRI26_CHPRI_SHIFT (0U)
  15128. /*! CHPRI - Channel n Arbitration Priority
  15129. */
  15130. #define DMA_DCHPRI26_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI26_CHPRI_SHIFT)) & DMA_DCHPRI26_CHPRI_MASK)
  15131. #define DMA_DCHPRI26_GRPPRI_MASK (0x30U)
  15132. #define DMA_DCHPRI26_GRPPRI_SHIFT (4U)
  15133. /*! GRPPRI - Channel n Current Group Priority
  15134. */
  15135. #define DMA_DCHPRI26_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI26_GRPPRI_SHIFT)) & DMA_DCHPRI26_GRPPRI_MASK)
  15136. #define DMA_DCHPRI26_DPA_MASK (0x40U)
  15137. #define DMA_DCHPRI26_DPA_SHIFT (6U)
  15138. /*! DPA - Disable Preempt Ability. This field resets to 0.
  15139. * 0b0..Channel n can suspend a lower priority channel.
  15140. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  15141. */
  15142. #define DMA_DCHPRI26_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI26_DPA_SHIFT)) & DMA_DCHPRI26_DPA_MASK)
  15143. #define DMA_DCHPRI26_ECP_MASK (0x80U)
  15144. #define DMA_DCHPRI26_ECP_SHIFT (7U)
  15145. /*! ECP - Enable Channel Preemption. This field resets to 0.
  15146. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  15147. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  15148. */
  15149. #define DMA_DCHPRI26_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI26_ECP_SHIFT)) & DMA_DCHPRI26_ECP_MASK)
  15150. /*! @} */
  15151. /*! @name DCHPRI25 - Channel n Priority Register */
  15152. /*! @{ */
  15153. #define DMA_DCHPRI25_CHPRI_MASK (0xFU)
  15154. #define DMA_DCHPRI25_CHPRI_SHIFT (0U)
  15155. /*! CHPRI - Channel n Arbitration Priority
  15156. */
  15157. #define DMA_DCHPRI25_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI25_CHPRI_SHIFT)) & DMA_DCHPRI25_CHPRI_MASK)
  15158. #define DMA_DCHPRI25_GRPPRI_MASK (0x30U)
  15159. #define DMA_DCHPRI25_GRPPRI_SHIFT (4U)
  15160. /*! GRPPRI - Channel n Current Group Priority
  15161. */
  15162. #define DMA_DCHPRI25_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI25_GRPPRI_SHIFT)) & DMA_DCHPRI25_GRPPRI_MASK)
  15163. #define DMA_DCHPRI25_DPA_MASK (0x40U)
  15164. #define DMA_DCHPRI25_DPA_SHIFT (6U)
  15165. /*! DPA - Disable Preempt Ability. This field resets to 0.
  15166. * 0b0..Channel n can suspend a lower priority channel.
  15167. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  15168. */
  15169. #define DMA_DCHPRI25_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI25_DPA_SHIFT)) & DMA_DCHPRI25_DPA_MASK)
  15170. #define DMA_DCHPRI25_ECP_MASK (0x80U)
  15171. #define DMA_DCHPRI25_ECP_SHIFT (7U)
  15172. /*! ECP - Enable Channel Preemption. This field resets to 0.
  15173. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  15174. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  15175. */
  15176. #define DMA_DCHPRI25_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI25_ECP_SHIFT)) & DMA_DCHPRI25_ECP_MASK)
  15177. /*! @} */
  15178. /*! @name DCHPRI24 - Channel n Priority Register */
  15179. /*! @{ */
  15180. #define DMA_DCHPRI24_CHPRI_MASK (0xFU)
  15181. #define DMA_DCHPRI24_CHPRI_SHIFT (0U)
  15182. /*! CHPRI - Channel n Arbitration Priority
  15183. */
  15184. #define DMA_DCHPRI24_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI24_CHPRI_SHIFT)) & DMA_DCHPRI24_CHPRI_MASK)
  15185. #define DMA_DCHPRI24_GRPPRI_MASK (0x30U)
  15186. #define DMA_DCHPRI24_GRPPRI_SHIFT (4U)
  15187. /*! GRPPRI - Channel n Current Group Priority
  15188. */
  15189. #define DMA_DCHPRI24_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI24_GRPPRI_SHIFT)) & DMA_DCHPRI24_GRPPRI_MASK)
  15190. #define DMA_DCHPRI24_DPA_MASK (0x40U)
  15191. #define DMA_DCHPRI24_DPA_SHIFT (6U)
  15192. /*! DPA - Disable Preempt Ability. This field resets to 0.
  15193. * 0b0..Channel n can suspend a lower priority channel.
  15194. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  15195. */
  15196. #define DMA_DCHPRI24_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI24_DPA_SHIFT)) & DMA_DCHPRI24_DPA_MASK)
  15197. #define DMA_DCHPRI24_ECP_MASK (0x80U)
  15198. #define DMA_DCHPRI24_ECP_SHIFT (7U)
  15199. /*! ECP - Enable Channel Preemption. This field resets to 0.
  15200. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  15201. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  15202. */
  15203. #define DMA_DCHPRI24_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI24_ECP_SHIFT)) & DMA_DCHPRI24_ECP_MASK)
  15204. /*! @} */
  15205. /*! @name DCHPRI31 - Channel n Priority Register */
  15206. /*! @{ */
  15207. #define DMA_DCHPRI31_CHPRI_MASK (0xFU)
  15208. #define DMA_DCHPRI31_CHPRI_SHIFT (0U)
  15209. /*! CHPRI - Channel n Arbitration Priority
  15210. */
  15211. #define DMA_DCHPRI31_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI31_CHPRI_SHIFT)) & DMA_DCHPRI31_CHPRI_MASK)
  15212. #define DMA_DCHPRI31_GRPPRI_MASK (0x30U)
  15213. #define DMA_DCHPRI31_GRPPRI_SHIFT (4U)
  15214. /*! GRPPRI - Channel n Current Group Priority
  15215. */
  15216. #define DMA_DCHPRI31_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI31_GRPPRI_SHIFT)) & DMA_DCHPRI31_GRPPRI_MASK)
  15217. #define DMA_DCHPRI31_DPA_MASK (0x40U)
  15218. #define DMA_DCHPRI31_DPA_SHIFT (6U)
  15219. /*! DPA - Disable Preempt Ability. This field resets to 0.
  15220. * 0b0..Channel n can suspend a lower priority channel.
  15221. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  15222. */
  15223. #define DMA_DCHPRI31_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI31_DPA_SHIFT)) & DMA_DCHPRI31_DPA_MASK)
  15224. #define DMA_DCHPRI31_ECP_MASK (0x80U)
  15225. #define DMA_DCHPRI31_ECP_SHIFT (7U)
  15226. /*! ECP - Enable Channel Preemption. This field resets to 0.
  15227. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  15228. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  15229. */
  15230. #define DMA_DCHPRI31_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI31_ECP_SHIFT)) & DMA_DCHPRI31_ECP_MASK)
  15231. /*! @} */
  15232. /*! @name DCHPRI30 - Channel n Priority Register */
  15233. /*! @{ */
  15234. #define DMA_DCHPRI30_CHPRI_MASK (0xFU)
  15235. #define DMA_DCHPRI30_CHPRI_SHIFT (0U)
  15236. /*! CHPRI - Channel n Arbitration Priority
  15237. */
  15238. #define DMA_DCHPRI30_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI30_CHPRI_SHIFT)) & DMA_DCHPRI30_CHPRI_MASK)
  15239. #define DMA_DCHPRI30_GRPPRI_MASK (0x30U)
  15240. #define DMA_DCHPRI30_GRPPRI_SHIFT (4U)
  15241. /*! GRPPRI - Channel n Current Group Priority
  15242. */
  15243. #define DMA_DCHPRI30_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI30_GRPPRI_SHIFT)) & DMA_DCHPRI30_GRPPRI_MASK)
  15244. #define DMA_DCHPRI30_DPA_MASK (0x40U)
  15245. #define DMA_DCHPRI30_DPA_SHIFT (6U)
  15246. /*! DPA - Disable Preempt Ability. This field resets to 0.
  15247. * 0b0..Channel n can suspend a lower priority channel.
  15248. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  15249. */
  15250. #define DMA_DCHPRI30_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI30_DPA_SHIFT)) & DMA_DCHPRI30_DPA_MASK)
  15251. #define DMA_DCHPRI30_ECP_MASK (0x80U)
  15252. #define DMA_DCHPRI30_ECP_SHIFT (7U)
  15253. /*! ECP - Enable Channel Preemption. This field resets to 0.
  15254. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  15255. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  15256. */
  15257. #define DMA_DCHPRI30_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI30_ECP_SHIFT)) & DMA_DCHPRI30_ECP_MASK)
  15258. /*! @} */
  15259. /*! @name DCHPRI29 - Channel n Priority Register */
  15260. /*! @{ */
  15261. #define DMA_DCHPRI29_CHPRI_MASK (0xFU)
  15262. #define DMA_DCHPRI29_CHPRI_SHIFT (0U)
  15263. /*! CHPRI - Channel n Arbitration Priority
  15264. */
  15265. #define DMA_DCHPRI29_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI29_CHPRI_SHIFT)) & DMA_DCHPRI29_CHPRI_MASK)
  15266. #define DMA_DCHPRI29_GRPPRI_MASK (0x30U)
  15267. #define DMA_DCHPRI29_GRPPRI_SHIFT (4U)
  15268. /*! GRPPRI - Channel n Current Group Priority
  15269. */
  15270. #define DMA_DCHPRI29_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI29_GRPPRI_SHIFT)) & DMA_DCHPRI29_GRPPRI_MASK)
  15271. #define DMA_DCHPRI29_DPA_MASK (0x40U)
  15272. #define DMA_DCHPRI29_DPA_SHIFT (6U)
  15273. /*! DPA - Disable Preempt Ability. This field resets to 0.
  15274. * 0b0..Channel n can suspend a lower priority channel.
  15275. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  15276. */
  15277. #define DMA_DCHPRI29_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI29_DPA_SHIFT)) & DMA_DCHPRI29_DPA_MASK)
  15278. #define DMA_DCHPRI29_ECP_MASK (0x80U)
  15279. #define DMA_DCHPRI29_ECP_SHIFT (7U)
  15280. /*! ECP - Enable Channel Preemption. This field resets to 0.
  15281. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  15282. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  15283. */
  15284. #define DMA_DCHPRI29_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI29_ECP_SHIFT)) & DMA_DCHPRI29_ECP_MASK)
  15285. /*! @} */
  15286. /*! @name DCHPRI28 - Channel n Priority Register */
  15287. /*! @{ */
  15288. #define DMA_DCHPRI28_CHPRI_MASK (0xFU)
  15289. #define DMA_DCHPRI28_CHPRI_SHIFT (0U)
  15290. /*! CHPRI - Channel n Arbitration Priority
  15291. */
  15292. #define DMA_DCHPRI28_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI28_CHPRI_SHIFT)) & DMA_DCHPRI28_CHPRI_MASK)
  15293. #define DMA_DCHPRI28_GRPPRI_MASK (0x30U)
  15294. #define DMA_DCHPRI28_GRPPRI_SHIFT (4U)
  15295. /*! GRPPRI - Channel n Current Group Priority
  15296. */
  15297. #define DMA_DCHPRI28_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI28_GRPPRI_SHIFT)) & DMA_DCHPRI28_GRPPRI_MASK)
  15298. #define DMA_DCHPRI28_DPA_MASK (0x40U)
  15299. #define DMA_DCHPRI28_DPA_SHIFT (6U)
  15300. /*! DPA - Disable Preempt Ability. This field resets to 0.
  15301. * 0b0..Channel n can suspend a lower priority channel.
  15302. * 0b1..Channel n cannot suspend any channel, regardless of channel priority.
  15303. */
  15304. #define DMA_DCHPRI28_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI28_DPA_SHIFT)) & DMA_DCHPRI28_DPA_MASK)
  15305. #define DMA_DCHPRI28_ECP_MASK (0x80U)
  15306. #define DMA_DCHPRI28_ECP_SHIFT (7U)
  15307. /*! ECP - Enable Channel Preemption. This field resets to 0.
  15308. * 0b0..Channel n cannot be suspended by a higher priority channel's service request.
  15309. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel.
  15310. */
  15311. #define DMA_DCHPRI28_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI28_ECP_SHIFT)) & DMA_DCHPRI28_ECP_MASK)
  15312. /*! @} */
  15313. /*! @name SADDR - TCD Source Address */
  15314. /*! @{ */
  15315. #define DMA_SADDR_SADDR_MASK (0xFFFFFFFFU)
  15316. #define DMA_SADDR_SADDR_SHIFT (0U)
  15317. /*! SADDR - Source Address
  15318. */
  15319. #define DMA_SADDR_SADDR(x) (((uint32_t)(((uint32_t)(x)) << DMA_SADDR_SADDR_SHIFT)) & DMA_SADDR_SADDR_MASK)
  15320. /*! @} */
  15321. /* The count of DMA_SADDR */
  15322. #define DMA_SADDR_COUNT (32U)
  15323. /*! @name SOFF - TCD Signed Source Address Offset */
  15324. /*! @{ */
  15325. #define DMA_SOFF_SOFF_MASK (0xFFFFU)
  15326. #define DMA_SOFF_SOFF_SHIFT (0U)
  15327. /*! SOFF - Source address signed offset
  15328. */
  15329. #define DMA_SOFF_SOFF(x) (((uint16_t)(((uint16_t)(x)) << DMA_SOFF_SOFF_SHIFT)) & DMA_SOFF_SOFF_MASK)
  15330. /*! @} */
  15331. /* The count of DMA_SOFF */
  15332. #define DMA_SOFF_COUNT (32U)
  15333. /*! @name ATTR - TCD Transfer Attributes */
  15334. /*! @{ */
  15335. #define DMA_ATTR_DSIZE_MASK (0x7U)
  15336. #define DMA_ATTR_DSIZE_SHIFT (0U)
  15337. /*! DSIZE - Destination data transfer size
  15338. */
  15339. #define DMA_ATTR_DSIZE(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_DSIZE_SHIFT)) & DMA_ATTR_DSIZE_MASK)
  15340. #define DMA_ATTR_DMOD_MASK (0xF8U)
  15341. #define DMA_ATTR_DMOD_SHIFT (3U)
  15342. /*! DMOD - Destination Address Modulo
  15343. */
  15344. #define DMA_ATTR_DMOD(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_DMOD_SHIFT)) & DMA_ATTR_DMOD_MASK)
  15345. #define DMA_ATTR_SSIZE_MASK (0x700U)
  15346. #define DMA_ATTR_SSIZE_SHIFT (8U)
  15347. /*! SSIZE - Source data transfer size
  15348. * 0b000..8-bit
  15349. * 0b001..16-bit
  15350. * 0b010..32-bit
  15351. * 0b011..64-bit
  15352. * 0b100..Reserved
  15353. * 0b101..32-byte burst (4 beats of 64 bits)
  15354. * 0b110..Reserved
  15355. * 0b111..Reserved
  15356. */
  15357. #define DMA_ATTR_SSIZE(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_SSIZE_SHIFT)) & DMA_ATTR_SSIZE_MASK)
  15358. #define DMA_ATTR_SMOD_MASK (0xF800U)
  15359. #define DMA_ATTR_SMOD_SHIFT (11U)
  15360. /*! SMOD - Source Address Modulo
  15361. * 0b00000..Source address modulo feature is disabled
  15362. * 0b00001-0b11111..This value defines a specific address range specified to be the value after SADDR + SOFF
  15363. * calculation is performed on the original register value. Setting this field provides the ability
  15364. * to implement a circular data queue easily. For data queues requiring power-of-2 size bytes, the
  15365. * queue should start at a 0-modulo-size address and the SMOD field should be set to the
  15366. * appropriate value for the queue, freezing the desired number of upper address bits. The value
  15367. * programmed into this field specifies the number of lower address bits allowed to change. For a
  15368. * circular queue application, the SOFF is typically set to the transfer size to implement
  15369. * post-increment addressing with the SMOD function constraining the addresses to a 0-modulo-size range.
  15370. */
  15371. #define DMA_ATTR_SMOD(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_SMOD_SHIFT)) & DMA_ATTR_SMOD_MASK)
  15372. /*! @} */
  15373. /* The count of DMA_ATTR */
  15374. #define DMA_ATTR_COUNT (32U)
  15375. /*! @name NBYTES_MLNO - TCD Minor Byte Count (Minor Loop Mapping Disabled) */
  15376. /*! @{ */
  15377. #define DMA_NBYTES_MLNO_NBYTES_MASK (0xFFFFFFFFU)
  15378. #define DMA_NBYTES_MLNO_NBYTES_SHIFT (0U)
  15379. /*! NBYTES - Minor Byte Transfer Count
  15380. */
  15381. #define DMA_NBYTES_MLNO_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLNO_NBYTES_SHIFT)) & DMA_NBYTES_MLNO_NBYTES_MASK)
  15382. /*! @} */
  15383. /* The count of DMA_NBYTES_MLNO */
  15384. #define DMA_NBYTES_MLNO_COUNT (32U)
  15385. /*! @name NBYTES_MLOFFNO - TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled) */
  15386. /*! @{ */
  15387. #define DMA_NBYTES_MLOFFNO_NBYTES_MASK (0x3FFFFFFFU)
  15388. #define DMA_NBYTES_MLOFFNO_NBYTES_SHIFT (0U)
  15389. /*! NBYTES - Minor Byte Transfer Count
  15390. */
  15391. #define DMA_NBYTES_MLOFFNO_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFNO_NBYTES_SHIFT)) & DMA_NBYTES_MLOFFNO_NBYTES_MASK)
  15392. #define DMA_NBYTES_MLOFFNO_DMLOE_MASK (0x40000000U)
  15393. #define DMA_NBYTES_MLOFFNO_DMLOE_SHIFT (30U)
  15394. /*! DMLOE - Destination Minor Loop Offset enable
  15395. * 0b0..The minor loop offset is not applied to the DADDR
  15396. * 0b1..The minor loop offset is applied to the DADDR
  15397. */
  15398. #define DMA_NBYTES_MLOFFNO_DMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFNO_DMLOE_SHIFT)) & DMA_NBYTES_MLOFFNO_DMLOE_MASK)
  15399. #define DMA_NBYTES_MLOFFNO_SMLOE_MASK (0x80000000U)
  15400. #define DMA_NBYTES_MLOFFNO_SMLOE_SHIFT (31U)
  15401. /*! SMLOE - Source Minor Loop Offset Enable
  15402. * 0b0..The minor loop offset is not applied to the SADDR
  15403. * 0b1..The minor loop offset is applied to the SADDR
  15404. */
  15405. #define DMA_NBYTES_MLOFFNO_SMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFNO_SMLOE_SHIFT)) & DMA_NBYTES_MLOFFNO_SMLOE_MASK)
  15406. /*! @} */
  15407. /* The count of DMA_NBYTES_MLOFFNO */
  15408. #define DMA_NBYTES_MLOFFNO_COUNT (32U)
  15409. /*! @name NBYTES_MLOFFYES - TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled) */
  15410. /*! @{ */
  15411. #define DMA_NBYTES_MLOFFYES_NBYTES_MASK (0x3FFU)
  15412. #define DMA_NBYTES_MLOFFYES_NBYTES_SHIFT (0U)
  15413. /*! NBYTES - Minor Byte Transfer Count
  15414. */
  15415. #define DMA_NBYTES_MLOFFYES_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_NBYTES_SHIFT)) & DMA_NBYTES_MLOFFYES_NBYTES_MASK)
  15416. #define DMA_NBYTES_MLOFFYES_MLOFF_MASK (0x3FFFFC00U)
  15417. #define DMA_NBYTES_MLOFFYES_MLOFF_SHIFT (10U)
  15418. /*! MLOFF - If SMLOE or DMLOE is set, this field represents a sign-extended offset applied to the
  15419. * source or destination address to form the next-state value after the minor loop completes.
  15420. */
  15421. #define DMA_NBYTES_MLOFFYES_MLOFF(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_MLOFF_SHIFT)) & DMA_NBYTES_MLOFFYES_MLOFF_MASK)
  15422. #define DMA_NBYTES_MLOFFYES_DMLOE_MASK (0x40000000U)
  15423. #define DMA_NBYTES_MLOFFYES_DMLOE_SHIFT (30U)
  15424. /*! DMLOE - Destination Minor Loop Offset enable
  15425. * 0b0..The minor loop offset is not applied to the DADDR
  15426. * 0b1..The minor loop offset is applied to the DADDR
  15427. */
  15428. #define DMA_NBYTES_MLOFFYES_DMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_DMLOE_SHIFT)) & DMA_NBYTES_MLOFFYES_DMLOE_MASK)
  15429. #define DMA_NBYTES_MLOFFYES_SMLOE_MASK (0x80000000U)
  15430. #define DMA_NBYTES_MLOFFYES_SMLOE_SHIFT (31U)
  15431. /*! SMLOE - Source Minor Loop Offset Enable
  15432. * 0b0..The minor loop offset is not applied to the SADDR
  15433. * 0b1..The minor loop offset is applied to the SADDR
  15434. */
  15435. #define DMA_NBYTES_MLOFFYES_SMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_SMLOE_SHIFT)) & DMA_NBYTES_MLOFFYES_SMLOE_MASK)
  15436. /*! @} */
  15437. /* The count of DMA_NBYTES_MLOFFYES */
  15438. #define DMA_NBYTES_MLOFFYES_COUNT (32U)
  15439. /*! @name SLAST - TCD Last Source Address Adjustment */
  15440. /*! @{ */
  15441. #define DMA_SLAST_SLAST_MASK (0xFFFFFFFFU)
  15442. #define DMA_SLAST_SLAST_SHIFT (0U)
  15443. /*! SLAST - Last Source Address Adjustment
  15444. */
  15445. #define DMA_SLAST_SLAST(x) (((uint32_t)(((uint32_t)(x)) << DMA_SLAST_SLAST_SHIFT)) & DMA_SLAST_SLAST_MASK)
  15446. /*! @} */
  15447. /* The count of DMA_SLAST */
  15448. #define DMA_SLAST_COUNT (32U)
  15449. /*! @name DADDR - TCD Destination Address */
  15450. /*! @{ */
  15451. #define DMA_DADDR_DADDR_MASK (0xFFFFFFFFU)
  15452. #define DMA_DADDR_DADDR_SHIFT (0U)
  15453. /*! DADDR - Destination Address
  15454. */
  15455. #define DMA_DADDR_DADDR(x) (((uint32_t)(((uint32_t)(x)) << DMA_DADDR_DADDR_SHIFT)) & DMA_DADDR_DADDR_MASK)
  15456. /*! @} */
  15457. /* The count of DMA_DADDR */
  15458. #define DMA_DADDR_COUNT (32U)
  15459. /*! @name DOFF - TCD Signed Destination Address Offset */
  15460. /*! @{ */
  15461. #define DMA_DOFF_DOFF_MASK (0xFFFFU)
  15462. #define DMA_DOFF_DOFF_SHIFT (0U)
  15463. /*! DOFF - Destination Address Signed Offset
  15464. */
  15465. #define DMA_DOFF_DOFF(x) (((uint16_t)(((uint16_t)(x)) << DMA_DOFF_DOFF_SHIFT)) & DMA_DOFF_DOFF_MASK)
  15466. /*! @} */
  15467. /* The count of DMA_DOFF */
  15468. #define DMA_DOFF_COUNT (32U)
  15469. /*! @name CITER_ELINKNO - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled) */
  15470. /*! @{ */
  15471. #define DMA_CITER_ELINKNO_CITER_MASK (0x7FFFU)
  15472. #define DMA_CITER_ELINKNO_CITER_SHIFT (0U)
  15473. /*! CITER - Current Major Iteration Count
  15474. */
  15475. #define DMA_CITER_ELINKNO_CITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKNO_CITER_SHIFT)) & DMA_CITER_ELINKNO_CITER_MASK)
  15476. #define DMA_CITER_ELINKNO_ELINK_MASK (0x8000U)
  15477. #define DMA_CITER_ELINKNO_ELINK_SHIFT (15U)
  15478. /*! ELINK - Enable channel-to-channel linking on minor-loop complete
  15479. * 0b0..The channel-to-channel linking is disabled
  15480. * 0b1..The channel-to-channel linking is enabled
  15481. */
  15482. #define DMA_CITER_ELINKNO_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKNO_ELINK_SHIFT)) & DMA_CITER_ELINKNO_ELINK_MASK)
  15483. /*! @} */
  15484. /* The count of DMA_CITER_ELINKNO */
  15485. #define DMA_CITER_ELINKNO_COUNT (32U)
  15486. /*! @name CITER_ELINKYES - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled) */
  15487. /*! @{ */
  15488. #define DMA_CITER_ELINKYES_CITER_MASK (0x1FFU)
  15489. #define DMA_CITER_ELINKYES_CITER_SHIFT (0U)
  15490. /*! CITER - Current Major Iteration Count
  15491. */
  15492. #define DMA_CITER_ELINKYES_CITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKYES_CITER_SHIFT)) & DMA_CITER_ELINKYES_CITER_MASK)
  15493. #define DMA_CITER_ELINKYES_LINKCH_MASK (0x3E00U)
  15494. #define DMA_CITER_ELINKYES_LINKCH_SHIFT (9U)
  15495. /*! LINKCH - Minor Loop Link Channel Number
  15496. */
  15497. #define DMA_CITER_ELINKYES_LINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKYES_LINKCH_SHIFT)) & DMA_CITER_ELINKYES_LINKCH_MASK)
  15498. #define DMA_CITER_ELINKYES_ELINK_MASK (0x8000U)
  15499. #define DMA_CITER_ELINKYES_ELINK_SHIFT (15U)
  15500. /*! ELINK - Enable channel-to-channel linking on minor-loop complete
  15501. * 0b0..The channel-to-channel linking is disabled
  15502. * 0b1..The channel-to-channel linking is enabled
  15503. */
  15504. #define DMA_CITER_ELINKYES_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKYES_ELINK_SHIFT)) & DMA_CITER_ELINKYES_ELINK_MASK)
  15505. /*! @} */
  15506. /* The count of DMA_CITER_ELINKYES */
  15507. #define DMA_CITER_ELINKYES_COUNT (32U)
  15508. /*! @name DLAST_SGA - TCD Last Destination Address Adjustment/Scatter Gather Address */
  15509. /*! @{ */
  15510. #define DMA_DLAST_SGA_DLASTSGA_MASK (0xFFFFFFFFU)
  15511. #define DMA_DLAST_SGA_DLASTSGA_SHIFT (0U)
  15512. /*! DLASTSGA - DLASTSGA
  15513. */
  15514. #define DMA_DLAST_SGA_DLASTSGA(x) (((uint32_t)(((uint32_t)(x)) << DMA_DLAST_SGA_DLASTSGA_SHIFT)) & DMA_DLAST_SGA_DLASTSGA_MASK)
  15515. /*! @} */
  15516. /* The count of DMA_DLAST_SGA */
  15517. #define DMA_DLAST_SGA_COUNT (32U)
  15518. /*! @name CSR - TCD Control and Status */
  15519. /*! @{ */
  15520. #define DMA_CSR_START_MASK (0x1U)
  15521. #define DMA_CSR_START_SHIFT (0U)
  15522. /*! START - Channel Start
  15523. * 0b0..The channel is not explicitly started.
  15524. * 0b1..The channel is explicitly started via a software initiated service request.
  15525. */
  15526. #define DMA_CSR_START(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_START_SHIFT)) & DMA_CSR_START_MASK)
  15527. #define DMA_CSR_INTMAJOR_MASK (0x2U)
  15528. #define DMA_CSR_INTMAJOR_SHIFT (1U)
  15529. /*! INTMAJOR - Enable an interrupt when major iteration count completes.
  15530. * 0b0..The end-of-major loop interrupt is disabled.
  15531. * 0b1..The end-of-major loop interrupt is enabled.
  15532. */
  15533. #define DMA_CSR_INTMAJOR(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_INTMAJOR_SHIFT)) & DMA_CSR_INTMAJOR_MASK)
  15534. #define DMA_CSR_INTHALF_MASK (0x4U)
  15535. #define DMA_CSR_INTHALF_SHIFT (2U)
  15536. /*! INTHALF - Enable an interrupt when major counter is half complete.
  15537. * 0b0..The half-point interrupt is disabled.
  15538. * 0b1..The half-point interrupt is enabled.
  15539. */
  15540. #define DMA_CSR_INTHALF(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_INTHALF_SHIFT)) & DMA_CSR_INTHALF_MASK)
  15541. #define DMA_CSR_DREQ_MASK (0x8U)
  15542. #define DMA_CSR_DREQ_SHIFT (3U)
  15543. /*! DREQ - Disable Request
  15544. * 0b0..The channel's ERQ bit is not affected.
  15545. * 0b1..The channel's ERQ bit is cleared when the major loop is complete.
  15546. */
  15547. #define DMA_CSR_DREQ(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_DREQ_SHIFT)) & DMA_CSR_DREQ_MASK)
  15548. #define DMA_CSR_ESG_MASK (0x10U)
  15549. #define DMA_CSR_ESG_SHIFT (4U)
  15550. /*! ESG - Enable Scatter/Gather Processing
  15551. * 0b0..The current channel's TCD is normal format.
  15552. * 0b1..The current channel's TCD specifies a scatter gather format. The DLASTSGA field provides a memory pointer
  15553. * to the next TCD to be loaded into this channel after the major loop completes its execution.
  15554. */
  15555. #define DMA_CSR_ESG(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_ESG_SHIFT)) & DMA_CSR_ESG_MASK)
  15556. #define DMA_CSR_MAJORELINK_MASK (0x20U)
  15557. #define DMA_CSR_MAJORELINK_SHIFT (5U)
  15558. /*! MAJORELINK - Enable channel-to-channel linking on major loop complete
  15559. * 0b0..The channel-to-channel linking is disabled.
  15560. * 0b1..The channel-to-channel linking is enabled.
  15561. */
  15562. #define DMA_CSR_MAJORELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_MAJORELINK_SHIFT)) & DMA_CSR_MAJORELINK_MASK)
  15563. #define DMA_CSR_ACTIVE_MASK (0x40U)
  15564. #define DMA_CSR_ACTIVE_SHIFT (6U)
  15565. /*! ACTIVE - Channel Active
  15566. */
  15567. #define DMA_CSR_ACTIVE(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_ACTIVE_SHIFT)) & DMA_CSR_ACTIVE_MASK)
  15568. #define DMA_CSR_DONE_MASK (0x80U)
  15569. #define DMA_CSR_DONE_SHIFT (7U)
  15570. /*! DONE - Channel Done
  15571. */
  15572. #define DMA_CSR_DONE(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_DONE_SHIFT)) & DMA_CSR_DONE_MASK)
  15573. #define DMA_CSR_MAJORLINKCH_MASK (0x1F00U)
  15574. #define DMA_CSR_MAJORLINKCH_SHIFT (8U)
  15575. /*! MAJORLINKCH - Major Loop Link Channel Number
  15576. */
  15577. #define DMA_CSR_MAJORLINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_MAJORLINKCH_SHIFT)) & DMA_CSR_MAJORLINKCH_MASK)
  15578. #define DMA_CSR_BWC_MASK (0xC000U)
  15579. #define DMA_CSR_BWC_SHIFT (14U)
  15580. /*! BWC - Bandwidth Control
  15581. * 0b00..No eDMA engine stalls.
  15582. * 0b01..Reserved
  15583. * 0b10..eDMA engine stalls for 4 cycles after each R/W.
  15584. * 0b11..eDMA engine stalls for 8 cycles after each R/W.
  15585. */
  15586. #define DMA_CSR_BWC(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_BWC_SHIFT)) & DMA_CSR_BWC_MASK)
  15587. /*! @} */
  15588. /* The count of DMA_CSR */
  15589. #define DMA_CSR_COUNT (32U)
  15590. /*! @name BITER_ELINKNO - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled) */
  15591. /*! @{ */
  15592. #define DMA_BITER_ELINKNO_BITER_MASK (0x7FFFU)
  15593. #define DMA_BITER_ELINKNO_BITER_SHIFT (0U)
  15594. /*! BITER - Starting Major Iteration Count
  15595. */
  15596. #define DMA_BITER_ELINKNO_BITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKNO_BITER_SHIFT)) & DMA_BITER_ELINKNO_BITER_MASK)
  15597. #define DMA_BITER_ELINKNO_ELINK_MASK (0x8000U)
  15598. #define DMA_BITER_ELINKNO_ELINK_SHIFT (15U)
  15599. /*! ELINK - Enables channel-to-channel linking on minor loop complete
  15600. * 0b0..The channel-to-channel linking is disabled
  15601. * 0b1..The channel-to-channel linking is enabled
  15602. */
  15603. #define DMA_BITER_ELINKNO_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKNO_ELINK_SHIFT)) & DMA_BITER_ELINKNO_ELINK_MASK)
  15604. /*! @} */
  15605. /* The count of DMA_BITER_ELINKNO */
  15606. #define DMA_BITER_ELINKNO_COUNT (32U)
  15607. /*! @name BITER_ELINKYES - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled) */
  15608. /*! @{ */
  15609. #define DMA_BITER_ELINKYES_BITER_MASK (0x1FFU)
  15610. #define DMA_BITER_ELINKYES_BITER_SHIFT (0U)
  15611. /*! BITER - Starting major iteration count
  15612. */
  15613. #define DMA_BITER_ELINKYES_BITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKYES_BITER_SHIFT)) & DMA_BITER_ELINKYES_BITER_MASK)
  15614. #define DMA_BITER_ELINKYES_LINKCH_MASK (0x3E00U)
  15615. #define DMA_BITER_ELINKYES_LINKCH_SHIFT (9U)
  15616. /*! LINKCH - Link Channel Number
  15617. */
  15618. #define DMA_BITER_ELINKYES_LINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKYES_LINKCH_SHIFT)) & DMA_BITER_ELINKYES_LINKCH_MASK)
  15619. #define DMA_BITER_ELINKYES_ELINK_MASK (0x8000U)
  15620. #define DMA_BITER_ELINKYES_ELINK_SHIFT (15U)
  15621. /*! ELINK - Enables channel-to-channel linking on minor loop complete
  15622. * 0b0..The channel-to-channel linking is disabled
  15623. * 0b1..The channel-to-channel linking is enabled
  15624. */
  15625. #define DMA_BITER_ELINKYES_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKYES_ELINK_SHIFT)) & DMA_BITER_ELINKYES_ELINK_MASK)
  15626. /*! @} */
  15627. /* The count of DMA_BITER_ELINKYES */
  15628. #define DMA_BITER_ELINKYES_COUNT (32U)
  15629. /*!
  15630. * @}
  15631. */ /* end of group DMA_Register_Masks */
  15632. /* DMA - Peripheral instance base addresses */
  15633. /** Peripheral DMA0 base address */
  15634. #define DMA0_BASE (0x400E8000u)
  15635. /** Peripheral DMA0 base pointer */
  15636. #define DMA0 ((DMA_Type *)DMA0_BASE)
  15637. /** Array initializer of DMA peripheral base addresses */
  15638. #define DMA_BASE_ADDRS { DMA0_BASE }
  15639. /** Array initializer of DMA peripheral base pointers */
  15640. #define DMA_BASE_PTRS { DMA0 }
  15641. /** Interrupt vectors for the DMA peripheral type */
  15642. #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 } }
  15643. #define DMA_ERROR_IRQS { DMA_ERROR_IRQn }
  15644. /*!
  15645. * @}
  15646. */ /* end of group DMA_Peripheral_Access_Layer */
  15647. /* ----------------------------------------------------------------------------
  15648. -- DMAMUX Peripheral Access Layer
  15649. ---------------------------------------------------------------------------- */
  15650. /*!
  15651. * @addtogroup DMAMUX_Peripheral_Access_Layer DMAMUX Peripheral Access Layer
  15652. * @{
  15653. */
  15654. /** DMAMUX - Register Layout Typedef */
  15655. typedef struct {
  15656. __IO uint32_t CHCFG[32]; /**< Channel 0 Configuration Register..Channel 31 Configuration Register, array offset: 0x0, array step: 0x4 */
  15657. } DMAMUX_Type;
  15658. /* ----------------------------------------------------------------------------
  15659. -- DMAMUX Register Masks
  15660. ---------------------------------------------------------------------------- */
  15661. /*!
  15662. * @addtogroup DMAMUX_Register_Masks DMAMUX Register Masks
  15663. * @{
  15664. */
  15665. /*! @name CHCFG - Channel 0 Configuration Register..Channel 31 Configuration Register */
  15666. /*! @{ */
  15667. #define DMAMUX_CHCFG_SOURCE_MASK (0x7FU)
  15668. #define DMAMUX_CHCFG_SOURCE_SHIFT (0U)
  15669. /*! SOURCE - DMA Channel Source (Slot Number)
  15670. */
  15671. #define DMAMUX_CHCFG_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_SOURCE_SHIFT)) & DMAMUX_CHCFG_SOURCE_MASK)
  15672. #define DMAMUX_CHCFG_A_ON_MASK (0x20000000U)
  15673. #define DMAMUX_CHCFG_A_ON_SHIFT (29U)
  15674. /*! A_ON - DMA Channel Always Enable
  15675. * 0b0..DMA Channel Always ON function is disabled
  15676. * 0b1..DMA Channel Always ON function is enabled
  15677. */
  15678. #define DMAMUX_CHCFG_A_ON(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_A_ON_SHIFT)) & DMAMUX_CHCFG_A_ON_MASK)
  15679. #define DMAMUX_CHCFG_TRIG_MASK (0x40000000U)
  15680. #define DMAMUX_CHCFG_TRIG_SHIFT (30U)
  15681. /*! TRIG - DMA Channel Trigger Enable
  15682. * 0b0..Triggering is disabled. If triggering is disabled and ENBL is set, the DMA Channel will simply route the
  15683. * specified source to the DMA channel. (Normal mode)
  15684. * 0b1..Triggering is enabled. If triggering is enabled and ENBL is set, the DMA_CH_MUX is in Periodic Trigger mode.
  15685. */
  15686. #define DMAMUX_CHCFG_TRIG(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_TRIG_SHIFT)) & DMAMUX_CHCFG_TRIG_MASK)
  15687. #define DMAMUX_CHCFG_ENBL_MASK (0x80000000U)
  15688. #define DMAMUX_CHCFG_ENBL_SHIFT (31U)
  15689. /*! ENBL - DMA Mux Channel Enable
  15690. * 0b0..DMA Mux channel is disabled
  15691. * 0b1..DMA Mux channel is enabled
  15692. */
  15693. #define DMAMUX_CHCFG_ENBL(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_ENBL_SHIFT)) & DMAMUX_CHCFG_ENBL_MASK)
  15694. /*! @} */
  15695. /* The count of DMAMUX_CHCFG */
  15696. #define DMAMUX_CHCFG_COUNT (32U)
  15697. /*!
  15698. * @}
  15699. */ /* end of group DMAMUX_Register_Masks */
  15700. /* DMAMUX - Peripheral instance base addresses */
  15701. /** Peripheral DMAMUX base address */
  15702. #define DMAMUX_BASE (0x400EC000u)
  15703. /** Peripheral DMAMUX base pointer */
  15704. #define DMAMUX ((DMAMUX_Type *)DMAMUX_BASE)
  15705. /** Array initializer of DMAMUX peripheral base addresses */
  15706. #define DMAMUX_BASE_ADDRS { DMAMUX_BASE }
  15707. /** Array initializer of DMAMUX peripheral base pointers */
  15708. #define DMAMUX_BASE_PTRS { DMAMUX }
  15709. /*!
  15710. * @}
  15711. */ /* end of group DMAMUX_Peripheral_Access_Layer */
  15712. /* ----------------------------------------------------------------------------
  15713. -- ENC Peripheral Access Layer
  15714. ---------------------------------------------------------------------------- */
  15715. /*!
  15716. * @addtogroup ENC_Peripheral_Access_Layer ENC Peripheral Access Layer
  15717. * @{
  15718. */
  15719. /** ENC - Register Layout Typedef */
  15720. typedef struct {
  15721. __IO uint16_t CTRL; /**< Control Register, offset: 0x0 */
  15722. __IO uint16_t FILT; /**< Input Filter Register, offset: 0x2 */
  15723. __IO uint16_t WTR; /**< Watchdog Timeout Register, offset: 0x4 */
  15724. __IO uint16_t POSD; /**< Position Difference Counter Register, offset: 0x6 */
  15725. __I uint16_t POSDH; /**< Position Difference Hold Register, offset: 0x8 */
  15726. __IO uint16_t REV; /**< Revolution Counter Register, offset: 0xA */
  15727. __I uint16_t REVH; /**< Revolution Hold Register, offset: 0xC */
  15728. __IO uint16_t UPOS; /**< Upper Position Counter Register, offset: 0xE */
  15729. __IO uint16_t LPOS; /**< Lower Position Counter Register, offset: 0x10 */
  15730. __I uint16_t UPOSH; /**< Upper Position Hold Register, offset: 0x12 */
  15731. __I uint16_t LPOSH; /**< Lower Position Hold Register, offset: 0x14 */
  15732. __IO uint16_t UINIT; /**< Upper Initialization Register, offset: 0x16 */
  15733. __IO uint16_t LINIT; /**< Lower Initialization Register, offset: 0x18 */
  15734. __I uint16_t IMR; /**< Input Monitor Register, offset: 0x1A */
  15735. __IO uint16_t TST; /**< Test Register, offset: 0x1C */
  15736. __IO uint16_t CTRL2; /**< Control 2 Register, offset: 0x1E */
  15737. __IO uint16_t UMOD; /**< Upper Modulus Register, offset: 0x20 */
  15738. __IO uint16_t LMOD; /**< Lower Modulus Register, offset: 0x22 */
  15739. __IO uint16_t UCOMP; /**< Upper Position Compare Register, offset: 0x24 */
  15740. __IO uint16_t LCOMP; /**< Lower Position Compare Register, offset: 0x26 */
  15741. } ENC_Type;
  15742. /* ----------------------------------------------------------------------------
  15743. -- ENC Register Masks
  15744. ---------------------------------------------------------------------------- */
  15745. /*!
  15746. * @addtogroup ENC_Register_Masks ENC Register Masks
  15747. * @{
  15748. */
  15749. /*! @name CTRL - Control Register */
  15750. /*! @{ */
  15751. #define ENC_CTRL_CMPIE_MASK (0x1U)
  15752. #define ENC_CTRL_CMPIE_SHIFT (0U)
  15753. /*! CMPIE - Compare Interrupt Enable
  15754. * 0b0..Compare interrupt is disabled
  15755. * 0b1..Compare interrupt is enabled
  15756. */
  15757. #define ENC_CTRL_CMPIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_CMPIE_SHIFT)) & ENC_CTRL_CMPIE_MASK)
  15758. #define ENC_CTRL_CMPIRQ_MASK (0x2U)
  15759. #define ENC_CTRL_CMPIRQ_SHIFT (1U)
  15760. /*! CMPIRQ - Compare Interrupt Request
  15761. * 0b0..No match has occurred
  15762. * 0b1..COMP match has occurred
  15763. */
  15764. #define ENC_CTRL_CMPIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_CMPIRQ_SHIFT)) & ENC_CTRL_CMPIRQ_MASK)
  15765. #define ENC_CTRL_WDE_MASK (0x4U)
  15766. #define ENC_CTRL_WDE_SHIFT (2U)
  15767. /*! WDE - Watchdog Enable
  15768. * 0b0..Watchdog timer is disabled
  15769. * 0b1..Watchdog timer is enabled
  15770. */
  15771. #define ENC_CTRL_WDE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_WDE_SHIFT)) & ENC_CTRL_WDE_MASK)
  15772. #define ENC_CTRL_DIE_MASK (0x8U)
  15773. #define ENC_CTRL_DIE_SHIFT (3U)
  15774. /*! DIE - Watchdog Timeout Interrupt Enable
  15775. * 0b0..Watchdog timer interrupt is disabled
  15776. * 0b1..Watchdog timer interrupt is enabled
  15777. */
  15778. #define ENC_CTRL_DIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_DIE_SHIFT)) & ENC_CTRL_DIE_MASK)
  15779. #define ENC_CTRL_DIRQ_MASK (0x10U)
  15780. #define ENC_CTRL_DIRQ_SHIFT (4U)
  15781. /*! DIRQ - Watchdog Timeout Interrupt Request
  15782. * 0b0..No interrupt has occurred
  15783. * 0b1..Watchdog timeout interrupt has occurred
  15784. */
  15785. #define ENC_CTRL_DIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_DIRQ_SHIFT)) & ENC_CTRL_DIRQ_MASK)
  15786. #define ENC_CTRL_XNE_MASK (0x20U)
  15787. #define ENC_CTRL_XNE_SHIFT (5U)
  15788. /*! XNE - Use Negative Edge of INDEX Pulse
  15789. * 0b0..Use positive transition edge of INDEX pulse
  15790. * 0b1..Use negative transition edge of INDEX pulse
  15791. */
  15792. #define ENC_CTRL_XNE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_XNE_SHIFT)) & ENC_CTRL_XNE_MASK)
  15793. #define ENC_CTRL_XIP_MASK (0x40U)
  15794. #define ENC_CTRL_XIP_SHIFT (6U)
  15795. /*! XIP - INDEX Triggered Initialization of Position Counters UPOS and LPOS
  15796. * 0b0..No action
  15797. * 0b1..INDEX pulse initializes the position counter
  15798. */
  15799. #define ENC_CTRL_XIP(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_XIP_SHIFT)) & ENC_CTRL_XIP_MASK)
  15800. #define ENC_CTRL_XIE_MASK (0x80U)
  15801. #define ENC_CTRL_XIE_SHIFT (7U)
  15802. /*! XIE - INDEX Pulse Interrupt Enable
  15803. * 0b0..INDEX pulse interrupt is disabled
  15804. * 0b1..INDEX pulse interrupt is enabled
  15805. */
  15806. #define ENC_CTRL_XIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_XIE_SHIFT)) & ENC_CTRL_XIE_MASK)
  15807. #define ENC_CTRL_XIRQ_MASK (0x100U)
  15808. #define ENC_CTRL_XIRQ_SHIFT (8U)
  15809. /*! XIRQ - INDEX Pulse Interrupt Request
  15810. * 0b0..No interrupt has occurred
  15811. * 0b1..INDEX pulse interrupt has occurred
  15812. */
  15813. #define ENC_CTRL_XIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_XIRQ_SHIFT)) & ENC_CTRL_XIRQ_MASK)
  15814. #define ENC_CTRL_PH1_MASK (0x200U)
  15815. #define ENC_CTRL_PH1_SHIFT (9U)
  15816. /*! PH1 - Enable Signal Phase Count Mode
  15817. * 0b0..Use standard quadrature decoder where PHASEA and PHASEB represent a two phase quadrature signal.
  15818. * 0b1..Bypass the quadrature decoder. A positive transition of the PHASEA input generates a count signal. The
  15819. * PHASEB input and the REV bit control the counter direction. If CTRL[REV] = 0, PHASEB = 0, then count up If
  15820. * CTRL[REV] = 0, PHASEB = 1, then count down If CTRL[REV] = 1, PHASEB = 0, then count down If CTRL[REV] = 1,
  15821. * PHASEB = 1, then count up
  15822. */
  15823. #define ENC_CTRL_PH1(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_PH1_SHIFT)) & ENC_CTRL_PH1_MASK)
  15824. #define ENC_CTRL_REV_MASK (0x400U)
  15825. #define ENC_CTRL_REV_SHIFT (10U)
  15826. /*! REV - Enable Reverse Direction Counting
  15827. * 0b0..Count normally
  15828. * 0b1..Count in the reverse direction
  15829. */
  15830. #define ENC_CTRL_REV(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_REV_SHIFT)) & ENC_CTRL_REV_MASK)
  15831. #define ENC_CTRL_SWIP_MASK (0x800U)
  15832. #define ENC_CTRL_SWIP_SHIFT (11U)
  15833. /*! SWIP - Software Triggered Initialization of Position Counters UPOS and LPOS
  15834. * 0b0..No action
  15835. * 0b1..Initialize position counter
  15836. */
  15837. #define ENC_CTRL_SWIP(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_SWIP_SHIFT)) & ENC_CTRL_SWIP_MASK)
  15838. #define ENC_CTRL_HNE_MASK (0x1000U)
  15839. #define ENC_CTRL_HNE_SHIFT (12U)
  15840. /*! HNE - Use Negative Edge of HOME Input
  15841. * 0b0..Use positive going edge-to-trigger initialization of position counters UPOS and LPOS
  15842. * 0b1..Use negative going edge-to-trigger initialization of position counters UPOS and LPOS
  15843. */
  15844. #define ENC_CTRL_HNE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_HNE_SHIFT)) & ENC_CTRL_HNE_MASK)
  15845. #define ENC_CTRL_HIP_MASK (0x2000U)
  15846. #define ENC_CTRL_HIP_SHIFT (13U)
  15847. /*! HIP - Enable HOME to Initialize Position Counters UPOS and LPOS
  15848. * 0b0..No action
  15849. * 0b1..HOME signal initializes the position counter
  15850. */
  15851. #define ENC_CTRL_HIP(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_HIP_SHIFT)) & ENC_CTRL_HIP_MASK)
  15852. #define ENC_CTRL_HIE_MASK (0x4000U)
  15853. #define ENC_CTRL_HIE_SHIFT (14U)
  15854. /*! HIE - HOME Interrupt Enable
  15855. * 0b0..Disable HOME interrupts
  15856. * 0b1..Enable HOME interrupts
  15857. */
  15858. #define ENC_CTRL_HIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_HIE_SHIFT)) & ENC_CTRL_HIE_MASK)
  15859. #define ENC_CTRL_HIRQ_MASK (0x8000U)
  15860. #define ENC_CTRL_HIRQ_SHIFT (15U)
  15861. /*! HIRQ - HOME Signal Transition Interrupt Request
  15862. * 0b0..No interrupt
  15863. * 0b1..HOME signal transition interrupt request
  15864. */
  15865. #define ENC_CTRL_HIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_HIRQ_SHIFT)) & ENC_CTRL_HIRQ_MASK)
  15866. /*! @} */
  15867. /*! @name FILT - Input Filter Register */
  15868. /*! @{ */
  15869. #define ENC_FILT_FILT_PER_MASK (0xFFU)
  15870. #define ENC_FILT_FILT_PER_SHIFT (0U)
  15871. /*! FILT_PER - Input Filter Sample Period
  15872. */
  15873. #define ENC_FILT_FILT_PER(x) (((uint16_t)(((uint16_t)(x)) << ENC_FILT_FILT_PER_SHIFT)) & ENC_FILT_FILT_PER_MASK)
  15874. #define ENC_FILT_FILT_CNT_MASK (0x700U)
  15875. #define ENC_FILT_FILT_CNT_SHIFT (8U)
  15876. /*! FILT_CNT - Input Filter Sample Count
  15877. */
  15878. #define ENC_FILT_FILT_CNT(x) (((uint16_t)(((uint16_t)(x)) << ENC_FILT_FILT_CNT_SHIFT)) & ENC_FILT_FILT_CNT_MASK)
  15879. /*! @} */
  15880. /*! @name WTR - Watchdog Timeout Register */
  15881. /*! @{ */
  15882. #define ENC_WTR_WDOG_MASK (0xFFFFU)
  15883. #define ENC_WTR_WDOG_SHIFT (0U)
  15884. #define ENC_WTR_WDOG(x) (((uint16_t)(((uint16_t)(x)) << ENC_WTR_WDOG_SHIFT)) & ENC_WTR_WDOG_MASK)
  15885. /*! @} */
  15886. /*! @name POSD - Position Difference Counter Register */
  15887. /*! @{ */
  15888. #define ENC_POSD_POSD_MASK (0xFFFFU)
  15889. #define ENC_POSD_POSD_SHIFT (0U)
  15890. #define ENC_POSD_POSD(x) (((uint16_t)(((uint16_t)(x)) << ENC_POSD_POSD_SHIFT)) & ENC_POSD_POSD_MASK)
  15891. /*! @} */
  15892. /*! @name POSDH - Position Difference Hold Register */
  15893. /*! @{ */
  15894. #define ENC_POSDH_POSDH_MASK (0xFFFFU)
  15895. #define ENC_POSDH_POSDH_SHIFT (0U)
  15896. #define ENC_POSDH_POSDH(x) (((uint16_t)(((uint16_t)(x)) << ENC_POSDH_POSDH_SHIFT)) & ENC_POSDH_POSDH_MASK)
  15897. /*! @} */
  15898. /*! @name REV - Revolution Counter Register */
  15899. /*! @{ */
  15900. #define ENC_REV_REV_MASK (0xFFFFU)
  15901. #define ENC_REV_REV_SHIFT (0U)
  15902. #define ENC_REV_REV(x) (((uint16_t)(((uint16_t)(x)) << ENC_REV_REV_SHIFT)) & ENC_REV_REV_MASK)
  15903. /*! @} */
  15904. /*! @name REVH - Revolution Hold Register */
  15905. /*! @{ */
  15906. #define ENC_REVH_REVH_MASK (0xFFFFU)
  15907. #define ENC_REVH_REVH_SHIFT (0U)
  15908. #define ENC_REVH_REVH(x) (((uint16_t)(((uint16_t)(x)) << ENC_REVH_REVH_SHIFT)) & ENC_REVH_REVH_MASK)
  15909. /*! @} */
  15910. /*! @name UPOS - Upper Position Counter Register */
  15911. /*! @{ */
  15912. #define ENC_UPOS_POS_MASK (0xFFFFU)
  15913. #define ENC_UPOS_POS_SHIFT (0U)
  15914. #define ENC_UPOS_POS(x) (((uint16_t)(((uint16_t)(x)) << ENC_UPOS_POS_SHIFT)) & ENC_UPOS_POS_MASK)
  15915. /*! @} */
  15916. /*! @name LPOS - Lower Position Counter Register */
  15917. /*! @{ */
  15918. #define ENC_LPOS_POS_MASK (0xFFFFU)
  15919. #define ENC_LPOS_POS_SHIFT (0U)
  15920. #define ENC_LPOS_POS(x) (((uint16_t)(((uint16_t)(x)) << ENC_LPOS_POS_SHIFT)) & ENC_LPOS_POS_MASK)
  15921. /*! @} */
  15922. /*! @name UPOSH - Upper Position Hold Register */
  15923. /*! @{ */
  15924. #define ENC_UPOSH_POSH_MASK (0xFFFFU)
  15925. #define ENC_UPOSH_POSH_SHIFT (0U)
  15926. #define ENC_UPOSH_POSH(x) (((uint16_t)(((uint16_t)(x)) << ENC_UPOSH_POSH_SHIFT)) & ENC_UPOSH_POSH_MASK)
  15927. /*! @} */
  15928. /*! @name LPOSH - Lower Position Hold Register */
  15929. /*! @{ */
  15930. #define ENC_LPOSH_POSH_MASK (0xFFFFU)
  15931. #define ENC_LPOSH_POSH_SHIFT (0U)
  15932. #define ENC_LPOSH_POSH(x) (((uint16_t)(((uint16_t)(x)) << ENC_LPOSH_POSH_SHIFT)) & ENC_LPOSH_POSH_MASK)
  15933. /*! @} */
  15934. /*! @name UINIT - Upper Initialization Register */
  15935. /*! @{ */
  15936. #define ENC_UINIT_INIT_MASK (0xFFFFU)
  15937. #define ENC_UINIT_INIT_SHIFT (0U)
  15938. #define ENC_UINIT_INIT(x) (((uint16_t)(((uint16_t)(x)) << ENC_UINIT_INIT_SHIFT)) & ENC_UINIT_INIT_MASK)
  15939. /*! @} */
  15940. /*! @name LINIT - Lower Initialization Register */
  15941. /*! @{ */
  15942. #define ENC_LINIT_INIT_MASK (0xFFFFU)
  15943. #define ENC_LINIT_INIT_SHIFT (0U)
  15944. #define ENC_LINIT_INIT(x) (((uint16_t)(((uint16_t)(x)) << ENC_LINIT_INIT_SHIFT)) & ENC_LINIT_INIT_MASK)
  15945. /*! @} */
  15946. /*! @name IMR - Input Monitor Register */
  15947. /*! @{ */
  15948. #define ENC_IMR_HOME_MASK (0x1U)
  15949. #define ENC_IMR_HOME_SHIFT (0U)
  15950. #define ENC_IMR_HOME(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_HOME_SHIFT)) & ENC_IMR_HOME_MASK)
  15951. #define ENC_IMR_INDEX_MASK (0x2U)
  15952. #define ENC_IMR_INDEX_SHIFT (1U)
  15953. #define ENC_IMR_INDEX(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_INDEX_SHIFT)) & ENC_IMR_INDEX_MASK)
  15954. #define ENC_IMR_PHB_MASK (0x4U)
  15955. #define ENC_IMR_PHB_SHIFT (2U)
  15956. #define ENC_IMR_PHB(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_PHB_SHIFT)) & ENC_IMR_PHB_MASK)
  15957. #define ENC_IMR_PHA_MASK (0x8U)
  15958. #define ENC_IMR_PHA_SHIFT (3U)
  15959. #define ENC_IMR_PHA(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_PHA_SHIFT)) & ENC_IMR_PHA_MASK)
  15960. #define ENC_IMR_FHOM_MASK (0x10U)
  15961. #define ENC_IMR_FHOM_SHIFT (4U)
  15962. #define ENC_IMR_FHOM(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_FHOM_SHIFT)) & ENC_IMR_FHOM_MASK)
  15963. #define ENC_IMR_FIND_MASK (0x20U)
  15964. #define ENC_IMR_FIND_SHIFT (5U)
  15965. #define ENC_IMR_FIND(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_FIND_SHIFT)) & ENC_IMR_FIND_MASK)
  15966. #define ENC_IMR_FPHB_MASK (0x40U)
  15967. #define ENC_IMR_FPHB_SHIFT (6U)
  15968. #define ENC_IMR_FPHB(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_FPHB_SHIFT)) & ENC_IMR_FPHB_MASK)
  15969. #define ENC_IMR_FPHA_MASK (0x80U)
  15970. #define ENC_IMR_FPHA_SHIFT (7U)
  15971. #define ENC_IMR_FPHA(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_FPHA_SHIFT)) & ENC_IMR_FPHA_MASK)
  15972. /*! @} */
  15973. /*! @name TST - Test Register */
  15974. /*! @{ */
  15975. #define ENC_TST_TEST_COUNT_MASK (0xFFU)
  15976. #define ENC_TST_TEST_COUNT_SHIFT (0U)
  15977. #define ENC_TST_TEST_COUNT(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_TEST_COUNT_SHIFT)) & ENC_TST_TEST_COUNT_MASK)
  15978. #define ENC_TST_TEST_PERIOD_MASK (0x1F00U)
  15979. #define ENC_TST_TEST_PERIOD_SHIFT (8U)
  15980. #define ENC_TST_TEST_PERIOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_TEST_PERIOD_SHIFT)) & ENC_TST_TEST_PERIOD_MASK)
  15981. #define ENC_TST_QDN_MASK (0x2000U)
  15982. #define ENC_TST_QDN_SHIFT (13U)
  15983. /*! QDN - Quadrature Decoder Negative Signal
  15984. * 0b0..Leaves quadrature decoder signal in a positive direction
  15985. * 0b1..Generates a negative quadrature decoder signal
  15986. */
  15987. #define ENC_TST_QDN(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_QDN_SHIFT)) & ENC_TST_QDN_MASK)
  15988. #define ENC_TST_TCE_MASK (0x4000U)
  15989. #define ENC_TST_TCE_SHIFT (14U)
  15990. /*! TCE - Test Counter Enable
  15991. * 0b0..Test count is not enabled
  15992. * 0b1..Test count is enabled
  15993. */
  15994. #define ENC_TST_TCE(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_TCE_SHIFT)) & ENC_TST_TCE_MASK)
  15995. #define ENC_TST_TEN_MASK (0x8000U)
  15996. #define ENC_TST_TEN_SHIFT (15U)
  15997. /*! TEN - Test Mode Enable
  15998. * 0b0..Test module is not enabled
  15999. * 0b1..Test module is enabled
  16000. */
  16001. #define ENC_TST_TEN(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_TEN_SHIFT)) & ENC_TST_TEN_MASK)
  16002. /*! @} */
  16003. /*! @name CTRL2 - Control 2 Register */
  16004. /*! @{ */
  16005. #define ENC_CTRL2_UPDHLD_MASK (0x1U)
  16006. #define ENC_CTRL2_UPDHLD_SHIFT (0U)
  16007. /*! UPDHLD - Update Hold Registers
  16008. * 0b0..Disable updates of hold registers on rising edge of TRIGGER
  16009. * 0b1..Enable updates of hold registers on rising edge of TRIGGER
  16010. */
  16011. #define ENC_CTRL2_UPDHLD(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_UPDHLD_SHIFT)) & ENC_CTRL2_UPDHLD_MASK)
  16012. #define ENC_CTRL2_UPDPOS_MASK (0x2U)
  16013. #define ENC_CTRL2_UPDPOS_SHIFT (1U)
  16014. /*! UPDPOS - Update Position Registers
  16015. * 0b0..No action for POSD, REV, UPOS and LPOS on rising edge of TRIGGER
  16016. * 0b1..Clear POSD, REV, UPOS and LPOS on rising edge of TRIGGER
  16017. */
  16018. #define ENC_CTRL2_UPDPOS(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_UPDPOS_SHIFT)) & ENC_CTRL2_UPDPOS_MASK)
  16019. #define ENC_CTRL2_MOD_MASK (0x4U)
  16020. #define ENC_CTRL2_MOD_SHIFT (2U)
  16021. /*! MOD - Enable Modulo Counting
  16022. * 0b0..Disable modulo counting
  16023. * 0b1..Enable modulo counting
  16024. */
  16025. #define ENC_CTRL2_MOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_MOD_SHIFT)) & ENC_CTRL2_MOD_MASK)
  16026. #define ENC_CTRL2_DIR_MASK (0x8U)
  16027. #define ENC_CTRL2_DIR_SHIFT (3U)
  16028. /*! DIR - Count Direction Flag
  16029. * 0b0..Last count was in the down direction
  16030. * 0b1..Last count was in the up direction
  16031. */
  16032. #define ENC_CTRL2_DIR(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_DIR_SHIFT)) & ENC_CTRL2_DIR_MASK)
  16033. #define ENC_CTRL2_RUIE_MASK (0x10U)
  16034. #define ENC_CTRL2_RUIE_SHIFT (4U)
  16035. /*! RUIE - Roll-under Interrupt Enable
  16036. * 0b0..Roll-under interrupt is disabled
  16037. * 0b1..Roll-under interrupt is enabled
  16038. */
  16039. #define ENC_CTRL2_RUIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_RUIE_SHIFT)) & ENC_CTRL2_RUIE_MASK)
  16040. #define ENC_CTRL2_RUIRQ_MASK (0x20U)
  16041. #define ENC_CTRL2_RUIRQ_SHIFT (5U)
  16042. /*! RUIRQ - Roll-under Interrupt Request
  16043. * 0b0..No roll-under has occurred
  16044. * 0b1..Roll-under has occurred
  16045. */
  16046. #define ENC_CTRL2_RUIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_RUIRQ_SHIFT)) & ENC_CTRL2_RUIRQ_MASK)
  16047. #define ENC_CTRL2_ROIE_MASK (0x40U)
  16048. #define ENC_CTRL2_ROIE_SHIFT (6U)
  16049. /*! ROIE - Roll-over Interrupt Enable
  16050. * 0b0..Roll-over interrupt is disabled
  16051. * 0b1..Roll-over interrupt is enabled
  16052. */
  16053. #define ENC_CTRL2_ROIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_ROIE_SHIFT)) & ENC_CTRL2_ROIE_MASK)
  16054. #define ENC_CTRL2_ROIRQ_MASK (0x80U)
  16055. #define ENC_CTRL2_ROIRQ_SHIFT (7U)
  16056. /*! ROIRQ - Roll-over Interrupt Request
  16057. * 0b0..No roll-over has occurred
  16058. * 0b1..Roll-over has occurred
  16059. */
  16060. #define ENC_CTRL2_ROIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_ROIRQ_SHIFT)) & ENC_CTRL2_ROIRQ_MASK)
  16061. #define ENC_CTRL2_REVMOD_MASK (0x100U)
  16062. #define ENC_CTRL2_REVMOD_SHIFT (8U)
  16063. /*! REVMOD - Revolution Counter Modulus Enable
  16064. * 0b0..Use INDEX pulse to increment/decrement revolution counter (REV).
  16065. * 0b1..Use modulus counting roll-over/under to increment/decrement revolution counter (REV).
  16066. */
  16067. #define ENC_CTRL2_REVMOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_REVMOD_SHIFT)) & ENC_CTRL2_REVMOD_MASK)
  16068. #define ENC_CTRL2_OUTCTL_MASK (0x200U)
  16069. #define ENC_CTRL2_OUTCTL_SHIFT (9U)
  16070. /*! OUTCTL - Output Control
  16071. * 0b0..POSMATCH pulses when a match occurs between the position counters (POS) and the compare value (COMP).
  16072. * 0b1..POSMATCH pulses when the UPOS, LPOS, REV, or POSD registers are read.
  16073. */
  16074. #define ENC_CTRL2_OUTCTL(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_OUTCTL_SHIFT)) & ENC_CTRL2_OUTCTL_MASK)
  16075. #define ENC_CTRL2_SABIE_MASK (0x400U)
  16076. #define ENC_CTRL2_SABIE_SHIFT (10U)
  16077. /*! SABIE - Simultaneous PHASEA and PHASEB Change Interrupt Enable
  16078. * 0b0..Simultaneous PHASEA and PHASEB change interrupt disabled.
  16079. * 0b1..Simultaneous PHASEA and PHASEB change interrupt enabled.
  16080. */
  16081. #define ENC_CTRL2_SABIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_SABIE_SHIFT)) & ENC_CTRL2_SABIE_MASK)
  16082. #define ENC_CTRL2_SABIRQ_MASK (0x800U)
  16083. #define ENC_CTRL2_SABIRQ_SHIFT (11U)
  16084. /*! SABIRQ - Simultaneous PHASEA and PHASEB Change Interrupt Request
  16085. * 0b0..No simultaneous change of PHASEA and PHASEB has occurred.
  16086. * 0b1..A simultaneous change of PHASEA and PHASEB has occurred.
  16087. */
  16088. #define ENC_CTRL2_SABIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_SABIRQ_SHIFT)) & ENC_CTRL2_SABIRQ_MASK)
  16089. /*! @} */
  16090. /*! @name UMOD - Upper Modulus Register */
  16091. /*! @{ */
  16092. #define ENC_UMOD_MOD_MASK (0xFFFFU)
  16093. #define ENC_UMOD_MOD_SHIFT (0U)
  16094. #define ENC_UMOD_MOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_UMOD_MOD_SHIFT)) & ENC_UMOD_MOD_MASK)
  16095. /*! @} */
  16096. /*! @name LMOD - Lower Modulus Register */
  16097. /*! @{ */
  16098. #define ENC_LMOD_MOD_MASK (0xFFFFU)
  16099. #define ENC_LMOD_MOD_SHIFT (0U)
  16100. #define ENC_LMOD_MOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_LMOD_MOD_SHIFT)) & ENC_LMOD_MOD_MASK)
  16101. /*! @} */
  16102. /*! @name UCOMP - Upper Position Compare Register */
  16103. /*! @{ */
  16104. #define ENC_UCOMP_COMP_MASK (0xFFFFU)
  16105. #define ENC_UCOMP_COMP_SHIFT (0U)
  16106. #define ENC_UCOMP_COMP(x) (((uint16_t)(((uint16_t)(x)) << ENC_UCOMP_COMP_SHIFT)) & ENC_UCOMP_COMP_MASK)
  16107. /*! @} */
  16108. /*! @name LCOMP - Lower Position Compare Register */
  16109. /*! @{ */
  16110. #define ENC_LCOMP_COMP_MASK (0xFFFFU)
  16111. #define ENC_LCOMP_COMP_SHIFT (0U)
  16112. #define ENC_LCOMP_COMP(x) (((uint16_t)(((uint16_t)(x)) << ENC_LCOMP_COMP_SHIFT)) & ENC_LCOMP_COMP_MASK)
  16113. /*! @} */
  16114. /*!
  16115. * @}
  16116. */ /* end of group ENC_Register_Masks */
  16117. /* ENC - Peripheral instance base addresses */
  16118. /** Peripheral ENC1 base address */
  16119. #define ENC1_BASE (0x403C8000u)
  16120. /** Peripheral ENC1 base pointer */
  16121. #define ENC1 ((ENC_Type *)ENC1_BASE)
  16122. /** Peripheral ENC2 base address */
  16123. #define ENC2_BASE (0x403CC000u)
  16124. /** Peripheral ENC2 base pointer */
  16125. #define ENC2 ((ENC_Type *)ENC2_BASE)
  16126. /** Peripheral ENC3 base address */
  16127. #define ENC3_BASE (0x403D0000u)
  16128. /** Peripheral ENC3 base pointer */
  16129. #define ENC3 ((ENC_Type *)ENC3_BASE)
  16130. /** Peripheral ENC4 base address */
  16131. #define ENC4_BASE (0x403D4000u)
  16132. /** Peripheral ENC4 base pointer */
  16133. #define ENC4 ((ENC_Type *)ENC4_BASE)
  16134. /** Array initializer of ENC peripheral base addresses */
  16135. #define ENC_BASE_ADDRS { 0u, ENC1_BASE, ENC2_BASE, ENC3_BASE, ENC4_BASE }
  16136. /** Array initializer of ENC peripheral base pointers */
  16137. #define ENC_BASE_PTRS { (ENC_Type *)0u, ENC1, ENC2, ENC3, ENC4 }
  16138. /** Interrupt vectors for the ENC peripheral type */
  16139. #define ENC_COMPARE_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn, ENC3_IRQn, ENC4_IRQn }
  16140. #define ENC_HOME_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn, ENC3_IRQn, ENC4_IRQn }
  16141. #define ENC_WDOG_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn, ENC3_IRQn, ENC4_IRQn }
  16142. #define ENC_INDEX_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn, ENC3_IRQn, ENC4_IRQn }
  16143. #define ENC_INPUT_SWITCH_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn, ENC3_IRQn, ENC4_IRQn }
  16144. /*!
  16145. * @}
  16146. */ /* end of group ENC_Peripheral_Access_Layer */
  16147. /* ----------------------------------------------------------------------------
  16148. -- ENET Peripheral Access Layer
  16149. ---------------------------------------------------------------------------- */
  16150. /*!
  16151. * @addtogroup ENET_Peripheral_Access_Layer ENET Peripheral Access Layer
  16152. * @{
  16153. */
  16154. /** ENET - Register Layout Typedef */
  16155. typedef struct {
  16156. uint8_t RESERVED_0[4];
  16157. __IO uint32_t EIR; /**< Interrupt Event Register, offset: 0x4 */
  16158. __IO uint32_t EIMR; /**< Interrupt Mask Register, offset: 0x8 */
  16159. uint8_t RESERVED_1[4];
  16160. __IO uint32_t RDAR; /**< Receive Descriptor Active Register, offset: 0x10 */
  16161. __IO uint32_t TDAR; /**< Transmit Descriptor Active Register, offset: 0x14 */
  16162. uint8_t RESERVED_2[12];
  16163. __IO uint32_t ECR; /**< Ethernet Control Register, offset: 0x24 */
  16164. uint8_t RESERVED_3[24];
  16165. __IO uint32_t MMFR; /**< MII Management Frame Register, offset: 0x40 */
  16166. __IO uint32_t MSCR; /**< MII Speed Control Register, offset: 0x44 */
  16167. uint8_t RESERVED_4[28];
  16168. __IO uint32_t MIBC; /**< MIB Control Register, offset: 0x64 */
  16169. uint8_t RESERVED_5[28];
  16170. __IO uint32_t RCR; /**< Receive Control Register, offset: 0x84 */
  16171. uint8_t RESERVED_6[60];
  16172. __IO uint32_t TCR; /**< Transmit Control Register, offset: 0xC4 */
  16173. uint8_t RESERVED_7[28];
  16174. __IO uint32_t PALR; /**< Physical Address Lower Register, offset: 0xE4 */
  16175. __IO uint32_t PAUR; /**< Physical Address Upper Register, offset: 0xE8 */
  16176. __IO uint32_t OPD; /**< Opcode/Pause Duration Register, offset: 0xEC */
  16177. __IO uint32_t TXIC; /**< Transmit Interrupt Coalescing Register, offset: 0xF0 */
  16178. uint8_t RESERVED_8[12];
  16179. __IO uint32_t RXIC; /**< Receive Interrupt Coalescing Register, offset: 0x100 */
  16180. uint8_t RESERVED_9[20];
  16181. __IO uint32_t IAUR; /**< Descriptor Individual Upper Address Register, offset: 0x118 */
  16182. __IO uint32_t IALR; /**< Descriptor Individual Lower Address Register, offset: 0x11C */
  16183. __IO uint32_t GAUR; /**< Descriptor Group Upper Address Register, offset: 0x120 */
  16184. __IO uint32_t GALR; /**< Descriptor Group Lower Address Register, offset: 0x124 */
  16185. uint8_t RESERVED_10[28];
  16186. __IO uint32_t TFWR; /**< Transmit FIFO Watermark Register, offset: 0x144 */
  16187. uint8_t RESERVED_11[56];
  16188. __IO uint32_t RDSR; /**< Receive Descriptor Ring Start Register, offset: 0x180 */
  16189. __IO uint32_t TDSR; /**< Transmit Buffer Descriptor Ring Start Register, offset: 0x184 */
  16190. __IO uint32_t MRBR; /**< Maximum Receive Buffer Size Register, offset: 0x188 */
  16191. uint8_t RESERVED_12[4];
  16192. __IO uint32_t RSFL; /**< Receive FIFO Section Full Threshold, offset: 0x190 */
  16193. __IO uint32_t RSEM; /**< Receive FIFO Section Empty Threshold, offset: 0x194 */
  16194. __IO uint32_t RAEM; /**< Receive FIFO Almost Empty Threshold, offset: 0x198 */
  16195. __IO uint32_t RAFL; /**< Receive FIFO Almost Full Threshold, offset: 0x19C */
  16196. __IO uint32_t TSEM; /**< Transmit FIFO Section Empty Threshold, offset: 0x1A0 */
  16197. __IO uint32_t TAEM; /**< Transmit FIFO Almost Empty Threshold, offset: 0x1A4 */
  16198. __IO uint32_t TAFL; /**< Transmit FIFO Almost Full Threshold, offset: 0x1A8 */
  16199. __IO uint32_t TIPG; /**< Transmit Inter-Packet Gap, offset: 0x1AC */
  16200. __IO uint32_t FTRL; /**< Frame Truncation Length, offset: 0x1B0 */
  16201. uint8_t RESERVED_13[12];
  16202. __IO uint32_t TACC; /**< Transmit Accelerator Function Configuration, offset: 0x1C0 */
  16203. __IO uint32_t RACC; /**< Receive Accelerator Function Configuration, offset: 0x1C4 */
  16204. uint8_t RESERVED_14[56];
  16205. uint32_t RMON_T_DROP; /**< Reserved Statistic Register, offset: 0x200 */
  16206. __I uint32_t RMON_T_PACKETS; /**< Tx Packet Count Statistic Register, offset: 0x204 */
  16207. __I uint32_t RMON_T_BC_PKT; /**< Tx Broadcast Packets Statistic Register, offset: 0x208 */
  16208. __I uint32_t RMON_T_MC_PKT; /**< Tx Multicast Packets Statistic Register, offset: 0x20C */
  16209. __I uint32_t RMON_T_CRC_ALIGN; /**< Tx Packets with CRC/Align Error Statistic Register, offset: 0x210 */
  16210. __I uint32_t RMON_T_UNDERSIZE; /**< Tx Packets Less Than Bytes and Good CRC Statistic Register, offset: 0x214 */
  16211. __I uint32_t RMON_T_OVERSIZE; /**< Tx Packets GT MAX_FL bytes and Good CRC Statistic Register, offset: 0x218 */
  16212. __I uint32_t RMON_T_FRAG; /**< Tx Packets Less Than 64 Bytes and Bad CRC Statistic Register, offset: 0x21C */
  16213. __I uint32_t RMON_T_JAB; /**< Tx Packets Greater Than MAX_FL bytes and Bad CRC Statistic Register, offset: 0x220 */
  16214. __I uint32_t RMON_T_COL; /**< Tx Collision Count Statistic Register, offset: 0x224 */
  16215. __I uint32_t RMON_T_P64; /**< Tx 64-Byte Packets Statistic Register, offset: 0x228 */
  16216. __I uint32_t RMON_T_P65TO127; /**< Tx 65- to 127-byte Packets Statistic Register, offset: 0x22C */
  16217. __I uint32_t RMON_T_P128TO255; /**< Tx 128- to 255-byte Packets Statistic Register, offset: 0x230 */
  16218. __I uint32_t RMON_T_P256TO511; /**< Tx 256- to 511-byte Packets Statistic Register, offset: 0x234 */
  16219. __I uint32_t RMON_T_P512TO1023; /**< Tx 512- to 1023-byte Packets Statistic Register, offset: 0x238 */
  16220. __I uint32_t RMON_T_P1024TO2047; /**< Tx 1024- to 2047-byte Packets Statistic Register, offset: 0x23C */
  16221. __I uint32_t RMON_T_P_GTE2048; /**< Tx Packets Greater Than 2048 Bytes Statistic Register, offset: 0x240 */
  16222. __I uint32_t RMON_T_OCTETS; /**< Tx Octets Statistic Register, offset: 0x244 */
  16223. uint32_t IEEE_T_DROP; /**< Reserved Statistic Register, offset: 0x248 */
  16224. __I uint32_t IEEE_T_FRAME_OK; /**< Frames Transmitted OK Statistic Register, offset: 0x24C */
  16225. __I uint32_t IEEE_T_1COL; /**< Frames Transmitted with Single Collision Statistic Register, offset: 0x250 */
  16226. __I uint32_t IEEE_T_MCOL; /**< Frames Transmitted with Multiple Collisions Statistic Register, offset: 0x254 */
  16227. __I uint32_t IEEE_T_DEF; /**< Frames Transmitted after Deferral Delay Statistic Register, offset: 0x258 */
  16228. __I uint32_t IEEE_T_LCOL; /**< Frames Transmitted with Late Collision Statistic Register, offset: 0x25C */
  16229. __I uint32_t IEEE_T_EXCOL; /**< Frames Transmitted with Excessive Collisions Statistic Register, offset: 0x260 */
  16230. __I uint32_t IEEE_T_MACERR; /**< Frames Transmitted with Tx FIFO Underrun Statistic Register, offset: 0x264 */
  16231. __I uint32_t IEEE_T_CSERR; /**< Frames Transmitted with Carrier Sense Error Statistic Register, offset: 0x268 */
  16232. __I uint32_t IEEE_T_SQE; /**< Reserved Statistic Register, offset: 0x26C */
  16233. __I uint32_t IEEE_T_FDXFC; /**< Flow Control Pause Frames Transmitted Statistic Register, offset: 0x270 */
  16234. __I uint32_t IEEE_T_OCTETS_OK; /**< Octet Count for Frames Transmitted w/o Error Statistic Register, offset: 0x274 */
  16235. uint8_t RESERVED_15[12];
  16236. __I uint32_t RMON_R_PACKETS; /**< Rx Packet Count Statistic Register, offset: 0x284 */
  16237. __I uint32_t RMON_R_BC_PKT; /**< Rx Broadcast Packets Statistic Register, offset: 0x288 */
  16238. __I uint32_t RMON_R_MC_PKT; /**< Rx Multicast Packets Statistic Register, offset: 0x28C */
  16239. __I uint32_t RMON_R_CRC_ALIGN; /**< Rx Packets with CRC/Align Error Statistic Register, offset: 0x290 */
  16240. __I uint32_t RMON_R_UNDERSIZE; /**< Rx Packets with Less Than 64 Bytes and Good CRC Statistic Register, offset: 0x294 */
  16241. __I uint32_t RMON_R_OVERSIZE; /**< Rx Packets Greater Than MAX_FL and Good CRC Statistic Register, offset: 0x298 */
  16242. __I uint32_t RMON_R_FRAG; /**< Rx Packets Less Than 64 Bytes and Bad CRC Statistic Register, offset: 0x29C */
  16243. __I uint32_t RMON_R_JAB; /**< Rx Packets Greater Than MAX_FL Bytes and Bad CRC Statistic Register, offset: 0x2A0 */
  16244. uint32_t RMON_R_RESVD_0; /**< Reserved Statistic Register, offset: 0x2A4 */
  16245. __I uint32_t RMON_R_P64; /**< Rx 64-Byte Packets Statistic Register, offset: 0x2A8 */
  16246. __I uint32_t RMON_R_P65TO127; /**< Rx 65- to 127-Byte Packets Statistic Register, offset: 0x2AC */
  16247. __I uint32_t RMON_R_P128TO255; /**< Rx 128- to 255-Byte Packets Statistic Register, offset: 0x2B0 */
  16248. __I uint32_t RMON_R_P256TO511; /**< Rx 256- to 511-Byte Packets Statistic Register, offset: 0x2B4 */
  16249. __I uint32_t RMON_R_P512TO1023; /**< Rx 512- to 1023-Byte Packets Statistic Register, offset: 0x2B8 */
  16250. __I uint32_t RMON_R_P1024TO2047; /**< Rx 1024- to 2047-Byte Packets Statistic Register, offset: 0x2BC */
  16251. __I uint32_t RMON_R_P_GTE2048; /**< Rx Packets Greater than 2048 Bytes Statistic Register, offset: 0x2C0 */
  16252. __I uint32_t RMON_R_OCTETS; /**< Rx Octets Statistic Register, offset: 0x2C4 */
  16253. __I uint32_t IEEE_R_DROP; /**< Frames not Counted Correctly Statistic Register, offset: 0x2C8 */
  16254. __I uint32_t IEEE_R_FRAME_OK; /**< Frames Received OK Statistic Register, offset: 0x2CC */
  16255. __I uint32_t IEEE_R_CRC; /**< Frames Received with CRC Error Statistic Register, offset: 0x2D0 */
  16256. __I uint32_t IEEE_R_ALIGN; /**< Frames Received with Alignment Error Statistic Register, offset: 0x2D4 */
  16257. __I uint32_t IEEE_R_MACERR; /**< Receive FIFO Overflow Count Statistic Register, offset: 0x2D8 */
  16258. __I uint32_t IEEE_R_FDXFC; /**< Flow Control Pause Frames Received Statistic Register, offset: 0x2DC */
  16259. __I uint32_t IEEE_R_OCTETS_OK; /**< Octet Count for Frames Received without Error Statistic Register, offset: 0x2E0 */
  16260. uint8_t RESERVED_16[284];
  16261. __IO uint32_t ATCR; /**< Adjustable Timer Control Register, offset: 0x400 */
  16262. __IO uint32_t ATVR; /**< Timer Value Register, offset: 0x404 */
  16263. __IO uint32_t ATOFF; /**< Timer Offset Register, offset: 0x408 */
  16264. __IO uint32_t ATPER; /**< Timer Period Register, offset: 0x40C */
  16265. __IO uint32_t ATCOR; /**< Timer Correction Register, offset: 0x410 */
  16266. __IO uint32_t ATINC; /**< Time-Stamping Clock Period Register, offset: 0x414 */
  16267. __I uint32_t ATSTMP; /**< Timestamp of Last Transmitted Frame, offset: 0x418 */
  16268. uint8_t RESERVED_17[488];
  16269. __IO uint32_t TGSR; /**< Timer Global Status Register, offset: 0x604 */
  16270. struct { /* offset: 0x608, array step: 0x8 */
  16271. __IO uint32_t TCSR; /**< Timer Control Status Register, array offset: 0x608, array step: 0x8 */
  16272. __IO uint32_t TCCR; /**< Timer Compare Capture Register, array offset: 0x60C, array step: 0x8 */
  16273. } CHANNEL[4];
  16274. } ENET_Type;
  16275. /* ----------------------------------------------------------------------------
  16276. -- ENET Register Masks
  16277. ---------------------------------------------------------------------------- */
  16278. /*!
  16279. * @addtogroup ENET_Register_Masks ENET Register Masks
  16280. * @{
  16281. */
  16282. /*! @name EIR - Interrupt Event Register */
  16283. /*! @{ */
  16284. #define ENET_EIR_TS_TIMER_MASK (0x8000U)
  16285. #define ENET_EIR_TS_TIMER_SHIFT (15U)
  16286. /*! TS_TIMER - Timestamp Timer
  16287. */
  16288. #define ENET_EIR_TS_TIMER(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TS_TIMER_SHIFT)) & ENET_EIR_TS_TIMER_MASK)
  16289. #define ENET_EIR_TS_AVAIL_MASK (0x10000U)
  16290. #define ENET_EIR_TS_AVAIL_SHIFT (16U)
  16291. /*! TS_AVAIL - Transmit Timestamp Available
  16292. */
  16293. #define ENET_EIR_TS_AVAIL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TS_AVAIL_SHIFT)) & ENET_EIR_TS_AVAIL_MASK)
  16294. #define ENET_EIR_WAKEUP_MASK (0x20000U)
  16295. #define ENET_EIR_WAKEUP_SHIFT (17U)
  16296. /*! WAKEUP - Node Wakeup Request Indication
  16297. */
  16298. #define ENET_EIR_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_WAKEUP_SHIFT)) & ENET_EIR_WAKEUP_MASK)
  16299. #define ENET_EIR_PLR_MASK (0x40000U)
  16300. #define ENET_EIR_PLR_SHIFT (18U)
  16301. /*! PLR - Payload Receive Error
  16302. */
  16303. #define ENET_EIR_PLR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_PLR_SHIFT)) & ENET_EIR_PLR_MASK)
  16304. #define ENET_EIR_UN_MASK (0x80000U)
  16305. #define ENET_EIR_UN_SHIFT (19U)
  16306. /*! UN - Transmit FIFO Underrun
  16307. */
  16308. #define ENET_EIR_UN(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_UN_SHIFT)) & ENET_EIR_UN_MASK)
  16309. #define ENET_EIR_RL_MASK (0x100000U)
  16310. #define ENET_EIR_RL_SHIFT (20U)
  16311. /*! RL - Collision Retry Limit
  16312. */
  16313. #define ENET_EIR_RL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RL_SHIFT)) & ENET_EIR_RL_MASK)
  16314. #define ENET_EIR_LC_MASK (0x200000U)
  16315. #define ENET_EIR_LC_SHIFT (21U)
  16316. /*! LC - Late Collision
  16317. */
  16318. #define ENET_EIR_LC(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_LC_SHIFT)) & ENET_EIR_LC_MASK)
  16319. #define ENET_EIR_EBERR_MASK (0x400000U)
  16320. #define ENET_EIR_EBERR_SHIFT (22U)
  16321. /*! EBERR - Ethernet Bus Error
  16322. */
  16323. #define ENET_EIR_EBERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_EBERR_SHIFT)) & ENET_EIR_EBERR_MASK)
  16324. #define ENET_EIR_MII_MASK (0x800000U)
  16325. #define ENET_EIR_MII_SHIFT (23U)
  16326. /*! MII - MII Interrupt.
  16327. */
  16328. #define ENET_EIR_MII(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_MII_SHIFT)) & ENET_EIR_MII_MASK)
  16329. #define ENET_EIR_RXB_MASK (0x1000000U)
  16330. #define ENET_EIR_RXB_SHIFT (24U)
  16331. /*! RXB - Receive Buffer Interrupt
  16332. */
  16333. #define ENET_EIR_RXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXB_SHIFT)) & ENET_EIR_RXB_MASK)
  16334. #define ENET_EIR_RXF_MASK (0x2000000U)
  16335. #define ENET_EIR_RXF_SHIFT (25U)
  16336. /*! RXF - Receive Frame Interrupt
  16337. */
  16338. #define ENET_EIR_RXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXF_SHIFT)) & ENET_EIR_RXF_MASK)
  16339. #define ENET_EIR_TXB_MASK (0x4000000U)
  16340. #define ENET_EIR_TXB_SHIFT (26U)
  16341. /*! TXB - Transmit Buffer Interrupt
  16342. */
  16343. #define ENET_EIR_TXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXB_SHIFT)) & ENET_EIR_TXB_MASK)
  16344. #define ENET_EIR_TXF_MASK (0x8000000U)
  16345. #define ENET_EIR_TXF_SHIFT (27U)
  16346. /*! TXF - Transmit Frame Interrupt
  16347. */
  16348. #define ENET_EIR_TXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXF_SHIFT)) & ENET_EIR_TXF_MASK)
  16349. #define ENET_EIR_GRA_MASK (0x10000000U)
  16350. #define ENET_EIR_GRA_SHIFT (28U)
  16351. /*! GRA - Graceful Stop Complete
  16352. */
  16353. #define ENET_EIR_GRA(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_GRA_SHIFT)) & ENET_EIR_GRA_MASK)
  16354. #define ENET_EIR_BABT_MASK (0x20000000U)
  16355. #define ENET_EIR_BABT_SHIFT (29U)
  16356. /*! BABT - Babbling Transmit Error
  16357. */
  16358. #define ENET_EIR_BABT(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_BABT_SHIFT)) & ENET_EIR_BABT_MASK)
  16359. #define ENET_EIR_BABR_MASK (0x40000000U)
  16360. #define ENET_EIR_BABR_SHIFT (30U)
  16361. /*! BABR - Babbling Receive Error
  16362. */
  16363. #define ENET_EIR_BABR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_BABR_SHIFT)) & ENET_EIR_BABR_MASK)
  16364. /*! @} */
  16365. /*! @name EIMR - Interrupt Mask Register */
  16366. /*! @{ */
  16367. #define ENET_EIMR_TS_TIMER_MASK (0x8000U)
  16368. #define ENET_EIMR_TS_TIMER_SHIFT (15U)
  16369. /*! TS_TIMER - TS_TIMER Interrupt Mask
  16370. */
  16371. #define ENET_EIMR_TS_TIMER(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TS_TIMER_SHIFT)) & ENET_EIMR_TS_TIMER_MASK)
  16372. #define ENET_EIMR_TS_AVAIL_MASK (0x10000U)
  16373. #define ENET_EIMR_TS_AVAIL_SHIFT (16U)
  16374. /*! TS_AVAIL - TS_AVAIL Interrupt Mask
  16375. */
  16376. #define ENET_EIMR_TS_AVAIL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TS_AVAIL_SHIFT)) & ENET_EIMR_TS_AVAIL_MASK)
  16377. #define ENET_EIMR_WAKEUP_MASK (0x20000U)
  16378. #define ENET_EIMR_WAKEUP_SHIFT (17U)
  16379. /*! WAKEUP - WAKEUP Interrupt Mask
  16380. */
  16381. #define ENET_EIMR_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_WAKEUP_SHIFT)) & ENET_EIMR_WAKEUP_MASK)
  16382. #define ENET_EIMR_PLR_MASK (0x40000U)
  16383. #define ENET_EIMR_PLR_SHIFT (18U)
  16384. /*! PLR - PLR Interrupt Mask
  16385. */
  16386. #define ENET_EIMR_PLR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_PLR_SHIFT)) & ENET_EIMR_PLR_MASK)
  16387. #define ENET_EIMR_UN_MASK (0x80000U)
  16388. #define ENET_EIMR_UN_SHIFT (19U)
  16389. /*! UN - UN Interrupt Mask
  16390. */
  16391. #define ENET_EIMR_UN(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_UN_SHIFT)) & ENET_EIMR_UN_MASK)
  16392. #define ENET_EIMR_RL_MASK (0x100000U)
  16393. #define ENET_EIMR_RL_SHIFT (20U)
  16394. /*! RL - RL Interrupt Mask
  16395. */
  16396. #define ENET_EIMR_RL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RL_SHIFT)) & ENET_EIMR_RL_MASK)
  16397. #define ENET_EIMR_LC_MASK (0x200000U)
  16398. #define ENET_EIMR_LC_SHIFT (21U)
  16399. /*! LC - LC Interrupt Mask
  16400. */
  16401. #define ENET_EIMR_LC(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_LC_SHIFT)) & ENET_EIMR_LC_MASK)
  16402. #define ENET_EIMR_EBERR_MASK (0x400000U)
  16403. #define ENET_EIMR_EBERR_SHIFT (22U)
  16404. /*! EBERR - EBERR Interrupt Mask
  16405. */
  16406. #define ENET_EIMR_EBERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_EBERR_SHIFT)) & ENET_EIMR_EBERR_MASK)
  16407. #define ENET_EIMR_MII_MASK (0x800000U)
  16408. #define ENET_EIMR_MII_SHIFT (23U)
  16409. /*! MII - MII Interrupt Mask
  16410. */
  16411. #define ENET_EIMR_MII(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_MII_SHIFT)) & ENET_EIMR_MII_MASK)
  16412. #define ENET_EIMR_RXB_MASK (0x1000000U)
  16413. #define ENET_EIMR_RXB_SHIFT (24U)
  16414. /*! RXB - RXB Interrupt Mask
  16415. */
  16416. #define ENET_EIMR_RXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXB_SHIFT)) & ENET_EIMR_RXB_MASK)
  16417. #define ENET_EIMR_RXF_MASK (0x2000000U)
  16418. #define ENET_EIMR_RXF_SHIFT (25U)
  16419. /*! RXF - RXF Interrupt Mask
  16420. */
  16421. #define ENET_EIMR_RXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXF_SHIFT)) & ENET_EIMR_RXF_MASK)
  16422. #define ENET_EIMR_TXB_MASK (0x4000000U)
  16423. #define ENET_EIMR_TXB_SHIFT (26U)
  16424. /*! TXB - TXB Interrupt Mask
  16425. * 0b0..The corresponding interrupt source is masked.
  16426. * 0b1..The corresponding interrupt source is not masked.
  16427. */
  16428. #define ENET_EIMR_TXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXB_SHIFT)) & ENET_EIMR_TXB_MASK)
  16429. #define ENET_EIMR_TXF_MASK (0x8000000U)
  16430. #define ENET_EIMR_TXF_SHIFT (27U)
  16431. /*! TXF - TXF Interrupt Mask
  16432. * 0b0..The corresponding interrupt source is masked.
  16433. * 0b1..The corresponding interrupt source is not masked.
  16434. */
  16435. #define ENET_EIMR_TXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXF_SHIFT)) & ENET_EIMR_TXF_MASK)
  16436. #define ENET_EIMR_GRA_MASK (0x10000000U)
  16437. #define ENET_EIMR_GRA_SHIFT (28U)
  16438. /*! GRA - GRA Interrupt Mask
  16439. * 0b0..The corresponding interrupt source is masked.
  16440. * 0b1..The corresponding interrupt source is not masked.
  16441. */
  16442. #define ENET_EIMR_GRA(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_GRA_SHIFT)) & ENET_EIMR_GRA_MASK)
  16443. #define ENET_EIMR_BABT_MASK (0x20000000U)
  16444. #define ENET_EIMR_BABT_SHIFT (29U)
  16445. /*! BABT - BABT Interrupt Mask
  16446. * 0b0..The corresponding interrupt source is masked.
  16447. * 0b1..The corresponding interrupt source is not masked.
  16448. */
  16449. #define ENET_EIMR_BABT(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_BABT_SHIFT)) & ENET_EIMR_BABT_MASK)
  16450. #define ENET_EIMR_BABR_MASK (0x40000000U)
  16451. #define ENET_EIMR_BABR_SHIFT (30U)
  16452. /*! BABR - BABR Interrupt Mask
  16453. * 0b0..The corresponding interrupt source is masked.
  16454. * 0b1..The corresponding interrupt source is not masked.
  16455. */
  16456. #define ENET_EIMR_BABR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_BABR_SHIFT)) & ENET_EIMR_BABR_MASK)
  16457. /*! @} */
  16458. /*! @name RDAR - Receive Descriptor Active Register */
  16459. /*! @{ */
  16460. #define ENET_RDAR_RDAR_MASK (0x1000000U)
  16461. #define ENET_RDAR_RDAR_SHIFT (24U)
  16462. /*! RDAR - Receive Descriptor Active
  16463. */
  16464. #define ENET_RDAR_RDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDAR_RDAR_SHIFT)) & ENET_RDAR_RDAR_MASK)
  16465. /*! @} */
  16466. /*! @name TDAR - Transmit Descriptor Active Register */
  16467. /*! @{ */
  16468. #define ENET_TDAR_TDAR_MASK (0x1000000U)
  16469. #define ENET_TDAR_TDAR_SHIFT (24U)
  16470. /*! TDAR - Transmit Descriptor Active
  16471. */
  16472. #define ENET_TDAR_TDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDAR_TDAR_SHIFT)) & ENET_TDAR_TDAR_MASK)
  16473. /*! @} */
  16474. /*! @name ECR - Ethernet Control Register */
  16475. /*! @{ */
  16476. #define ENET_ECR_RESET_MASK (0x1U)
  16477. #define ENET_ECR_RESET_SHIFT (0U)
  16478. /*! RESET - Ethernet MAC Reset
  16479. */
  16480. #define ENET_ECR_RESET(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_RESET_SHIFT)) & ENET_ECR_RESET_MASK)
  16481. #define ENET_ECR_ETHEREN_MASK (0x2U)
  16482. #define ENET_ECR_ETHEREN_SHIFT (1U)
  16483. /*! ETHEREN - Ethernet Enable
  16484. * 0b0..Reception immediately stops and transmission stops after a bad CRC is appended to any currently transmitted frame.
  16485. * 0b1..MAC is enabled, and reception and transmission are possible.
  16486. */
  16487. #define ENET_ECR_ETHEREN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_ETHEREN_SHIFT)) & ENET_ECR_ETHEREN_MASK)
  16488. #define ENET_ECR_MAGICEN_MASK (0x4U)
  16489. #define ENET_ECR_MAGICEN_SHIFT (2U)
  16490. /*! MAGICEN - Magic Packet Detection Enable
  16491. * 0b0..Magic detection logic disabled.
  16492. * 0b1..The MAC core detects magic packets and asserts EIR[WAKEUP] when a frame is detected.
  16493. */
  16494. #define ENET_ECR_MAGICEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_MAGICEN_SHIFT)) & ENET_ECR_MAGICEN_MASK)
  16495. #define ENET_ECR_SLEEP_MASK (0x8U)
  16496. #define ENET_ECR_SLEEP_SHIFT (3U)
  16497. /*! SLEEP - Sleep Mode Enable
  16498. * 0b0..Normal operating mode.
  16499. * 0b1..Sleep mode.
  16500. */
  16501. #define ENET_ECR_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_SLEEP_SHIFT)) & ENET_ECR_SLEEP_MASK)
  16502. #define ENET_ECR_EN1588_MASK (0x10U)
  16503. #define ENET_ECR_EN1588_SHIFT (4U)
  16504. /*! EN1588 - EN1588 Enable
  16505. * 0b0..Legacy FEC buffer descriptors and functions enabled.
  16506. * 0b1..Enhanced frame time-stamping functions enabled.
  16507. */
  16508. #define ENET_ECR_EN1588(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_EN1588_SHIFT)) & ENET_ECR_EN1588_MASK)
  16509. #define ENET_ECR_DBGEN_MASK (0x40U)
  16510. #define ENET_ECR_DBGEN_SHIFT (6U)
  16511. /*! DBGEN - Debug Enable
  16512. * 0b0..MAC continues operation in debug mode.
  16513. * 0b1..MAC enters hardware freeze mode when the processor is in debug mode.
  16514. */
  16515. #define ENET_ECR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_DBGEN_SHIFT)) & ENET_ECR_DBGEN_MASK)
  16516. #define ENET_ECR_DBSWP_MASK (0x100U)
  16517. #define ENET_ECR_DBSWP_SHIFT (8U)
  16518. /*! DBSWP - Descriptor Byte Swapping Enable
  16519. * 0b0..The buffer descriptor bytes are not swapped to support big-endian devices.
  16520. * 0b1..The buffer descriptor bytes are swapped to support little-endian devices.
  16521. */
  16522. #define ENET_ECR_DBSWP(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_DBSWP_SHIFT)) & ENET_ECR_DBSWP_MASK)
  16523. /*! @} */
  16524. /*! @name MMFR - MII Management Frame Register */
  16525. /*! @{ */
  16526. #define ENET_MMFR_DATA_MASK (0xFFFFU)
  16527. #define ENET_MMFR_DATA_SHIFT (0U)
  16528. /*! DATA - Management Frame Data
  16529. */
  16530. #define ENET_MMFR_DATA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_DATA_SHIFT)) & ENET_MMFR_DATA_MASK)
  16531. #define ENET_MMFR_TA_MASK (0x30000U)
  16532. #define ENET_MMFR_TA_SHIFT (16U)
  16533. /*! TA - Turn Around
  16534. */
  16535. #define ENET_MMFR_TA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_TA_SHIFT)) & ENET_MMFR_TA_MASK)
  16536. #define ENET_MMFR_RA_MASK (0x7C0000U)
  16537. #define ENET_MMFR_RA_SHIFT (18U)
  16538. /*! RA - Register Address
  16539. */
  16540. #define ENET_MMFR_RA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_RA_SHIFT)) & ENET_MMFR_RA_MASK)
  16541. #define ENET_MMFR_PA_MASK (0xF800000U)
  16542. #define ENET_MMFR_PA_SHIFT (23U)
  16543. /*! PA - PHY Address
  16544. */
  16545. #define ENET_MMFR_PA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_PA_SHIFT)) & ENET_MMFR_PA_MASK)
  16546. #define ENET_MMFR_OP_MASK (0x30000000U)
  16547. #define ENET_MMFR_OP_SHIFT (28U)
  16548. /*! OP - Operation Code
  16549. */
  16550. #define ENET_MMFR_OP(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_OP_SHIFT)) & ENET_MMFR_OP_MASK)
  16551. #define ENET_MMFR_ST_MASK (0xC0000000U)
  16552. #define ENET_MMFR_ST_SHIFT (30U)
  16553. /*! ST - Start Of Frame Delimiter
  16554. */
  16555. #define ENET_MMFR_ST(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_ST_SHIFT)) & ENET_MMFR_ST_MASK)
  16556. /*! @} */
  16557. /*! @name MSCR - MII Speed Control Register */
  16558. /*! @{ */
  16559. #define ENET_MSCR_MII_SPEED_MASK (0x7EU)
  16560. #define ENET_MSCR_MII_SPEED_SHIFT (1U)
  16561. /*! MII_SPEED - MII Speed
  16562. */
  16563. #define ENET_MSCR_MII_SPEED(x) (((uint32_t)(((uint32_t)(x)) << ENET_MSCR_MII_SPEED_SHIFT)) & ENET_MSCR_MII_SPEED_MASK)
  16564. #define ENET_MSCR_DIS_PRE_MASK (0x80U)
  16565. #define ENET_MSCR_DIS_PRE_SHIFT (7U)
  16566. /*! DIS_PRE - Disable Preamble
  16567. * 0b0..Preamble enabled.
  16568. * 0b1..Preamble (32 ones) is not prepended to the MII management frame.
  16569. */
  16570. #define ENET_MSCR_DIS_PRE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MSCR_DIS_PRE_SHIFT)) & ENET_MSCR_DIS_PRE_MASK)
  16571. #define ENET_MSCR_HOLDTIME_MASK (0x700U)
  16572. #define ENET_MSCR_HOLDTIME_SHIFT (8U)
  16573. /*! HOLDTIME - Hold time On MDIO Output
  16574. * 0b000..1 internal module clock cycle
  16575. * 0b001..2 internal module clock cycles
  16576. * 0b010..3 internal module clock cycles
  16577. * 0b111..8 internal module clock cycles
  16578. */
  16579. #define ENET_MSCR_HOLDTIME(x) (((uint32_t)(((uint32_t)(x)) << ENET_MSCR_HOLDTIME_SHIFT)) & ENET_MSCR_HOLDTIME_MASK)
  16580. /*! @} */
  16581. /*! @name MIBC - MIB Control Register */
  16582. /*! @{ */
  16583. #define ENET_MIBC_MIB_CLEAR_MASK (0x20000000U)
  16584. #define ENET_MIBC_MIB_CLEAR_SHIFT (29U)
  16585. /*! MIB_CLEAR - MIB Clear
  16586. * 0b0..See note above.
  16587. * 0b1..All statistics counters are reset to 0.
  16588. */
  16589. #define ENET_MIBC_MIB_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_MIBC_MIB_CLEAR_SHIFT)) & ENET_MIBC_MIB_CLEAR_MASK)
  16590. #define ENET_MIBC_MIB_IDLE_MASK (0x40000000U)
  16591. #define ENET_MIBC_MIB_IDLE_SHIFT (30U)
  16592. /*! MIB_IDLE - MIB Idle
  16593. * 0b0..The MIB block is updating MIB counters.
  16594. * 0b1..The MIB block is not currently updating any MIB counters.
  16595. */
  16596. #define ENET_MIBC_MIB_IDLE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MIBC_MIB_IDLE_SHIFT)) & ENET_MIBC_MIB_IDLE_MASK)
  16597. #define ENET_MIBC_MIB_DIS_MASK (0x80000000U)
  16598. #define ENET_MIBC_MIB_DIS_SHIFT (31U)
  16599. /*! MIB_DIS - Disable MIB Logic
  16600. * 0b0..MIB logic is enabled.
  16601. * 0b1..MIB logic is disabled. The MIB logic halts and does not update any MIB counters.
  16602. */
  16603. #define ENET_MIBC_MIB_DIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MIBC_MIB_DIS_SHIFT)) & ENET_MIBC_MIB_DIS_MASK)
  16604. /*! @} */
  16605. /*! @name RCR - Receive Control Register */
  16606. /*! @{ */
  16607. #define ENET_RCR_LOOP_MASK (0x1U)
  16608. #define ENET_RCR_LOOP_SHIFT (0U)
  16609. /*! LOOP - Internal Loopback
  16610. * 0b0..Loopback disabled.
  16611. * 0b1..Transmitted frames are looped back internal to the device and transmit MII output signals are not asserted. DRT must be cleared.
  16612. */
  16613. #define ENET_RCR_LOOP(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_LOOP_SHIFT)) & ENET_RCR_LOOP_MASK)
  16614. #define ENET_RCR_DRT_MASK (0x2U)
  16615. #define ENET_RCR_DRT_SHIFT (1U)
  16616. /*! DRT - Disable Receive On Transmit
  16617. * 0b0..Receive path operates independently of transmit (i.e., full-duplex mode). Can also be used to monitor transmit activity in half-duplex mode.
  16618. * 0b1..Disable reception of frames while transmitting. (Normally used for half-duplex mode.)
  16619. */
  16620. #define ENET_RCR_DRT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_DRT_SHIFT)) & ENET_RCR_DRT_MASK)
  16621. #define ENET_RCR_MII_MODE_MASK (0x4U)
  16622. #define ENET_RCR_MII_MODE_SHIFT (2U)
  16623. /*! MII_MODE - Media Independent Interface Mode
  16624. * 0b0..Reserved.
  16625. * 0b1..MII or RMII mode, as indicated by the RMII_MODE field.
  16626. */
  16627. #define ENET_RCR_MII_MODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_MII_MODE_SHIFT)) & ENET_RCR_MII_MODE_MASK)
  16628. #define ENET_RCR_PROM_MASK (0x8U)
  16629. #define ENET_RCR_PROM_SHIFT (3U)
  16630. /*! PROM - Promiscuous Mode
  16631. * 0b0..Disabled.
  16632. * 0b1..Enabled.
  16633. */
  16634. #define ENET_RCR_PROM(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_PROM_SHIFT)) & ENET_RCR_PROM_MASK)
  16635. #define ENET_RCR_BC_REJ_MASK (0x10U)
  16636. #define ENET_RCR_BC_REJ_SHIFT (4U)
  16637. /*! BC_REJ - Broadcast Frame Reject
  16638. */
  16639. #define ENET_RCR_BC_REJ(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_BC_REJ_SHIFT)) & ENET_RCR_BC_REJ_MASK)
  16640. #define ENET_RCR_FCE_MASK (0x20U)
  16641. #define ENET_RCR_FCE_SHIFT (5U)
  16642. /*! FCE - Flow Control Enable
  16643. */
  16644. #define ENET_RCR_FCE(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_FCE_SHIFT)) & ENET_RCR_FCE_MASK)
  16645. #define ENET_RCR_RMII_MODE_MASK (0x100U)
  16646. #define ENET_RCR_RMII_MODE_SHIFT (8U)
  16647. /*! RMII_MODE - RMII Mode Enable
  16648. * 0b0..MAC configured for MII mode.
  16649. * 0b1..MAC configured for RMII operation.
  16650. */
  16651. #define ENET_RCR_RMII_MODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_RMII_MODE_SHIFT)) & ENET_RCR_RMII_MODE_MASK)
  16652. #define ENET_RCR_RMII_10T_MASK (0x200U)
  16653. #define ENET_RCR_RMII_10T_SHIFT (9U)
  16654. /*! RMII_10T
  16655. * 0b0..100-Mbit/s operation.
  16656. * 0b1..10-Mbit/s operation.
  16657. */
  16658. #define ENET_RCR_RMII_10T(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_RMII_10T_SHIFT)) & ENET_RCR_RMII_10T_MASK)
  16659. #define ENET_RCR_PADEN_MASK (0x1000U)
  16660. #define ENET_RCR_PADEN_SHIFT (12U)
  16661. /*! PADEN - Enable Frame Padding Remove On Receive
  16662. * 0b0..No padding is removed on receive by the MAC.
  16663. * 0b1..Padding is removed from received frames.
  16664. */
  16665. #define ENET_RCR_PADEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_PADEN_SHIFT)) & ENET_RCR_PADEN_MASK)
  16666. #define ENET_RCR_PAUFWD_MASK (0x2000U)
  16667. #define ENET_RCR_PAUFWD_SHIFT (13U)
  16668. /*! PAUFWD - Terminate/Forward Pause Frames
  16669. * 0b0..Pause frames are terminated and discarded in the MAC.
  16670. * 0b1..Pause frames are forwarded to the user application.
  16671. */
  16672. #define ENET_RCR_PAUFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_PAUFWD_SHIFT)) & ENET_RCR_PAUFWD_MASK)
  16673. #define ENET_RCR_CRCFWD_MASK (0x4000U)
  16674. #define ENET_RCR_CRCFWD_SHIFT (14U)
  16675. /*! CRCFWD - Terminate/Forward Received CRC
  16676. * 0b0..The CRC field of received frames is transmitted to the user application.
  16677. * 0b1..The CRC field is stripped from the frame.
  16678. */
  16679. #define ENET_RCR_CRCFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_CRCFWD_SHIFT)) & ENET_RCR_CRCFWD_MASK)
  16680. #define ENET_RCR_CFEN_MASK (0x8000U)
  16681. #define ENET_RCR_CFEN_SHIFT (15U)
  16682. /*! CFEN - MAC Control Frame Enable
  16683. * 0b0..MAC control frames with any opcode other than 0x0001 (pause frame) are accepted and forwarded to the client interface.
  16684. * 0b1..MAC control frames with any opcode other than 0x0001 (pause frame) are silently discarded.
  16685. */
  16686. #define ENET_RCR_CFEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_CFEN_SHIFT)) & ENET_RCR_CFEN_MASK)
  16687. #define ENET_RCR_MAX_FL_MASK (0x3FFF0000U)
  16688. #define ENET_RCR_MAX_FL_SHIFT (16U)
  16689. /*! MAX_FL - Maximum Frame Length
  16690. */
  16691. #define ENET_RCR_MAX_FL(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_MAX_FL_SHIFT)) & ENET_RCR_MAX_FL_MASK)
  16692. #define ENET_RCR_NLC_MASK (0x40000000U)
  16693. #define ENET_RCR_NLC_SHIFT (30U)
  16694. /*! NLC - Payload Length Check Disable
  16695. * 0b0..The payload length check is disabled.
  16696. * 0b1..The core checks the frame's payload length with the frame length/type field. Errors are indicated in the EIR[PLR] field.
  16697. */
  16698. #define ENET_RCR_NLC(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_NLC_SHIFT)) & ENET_RCR_NLC_MASK)
  16699. #define ENET_RCR_GRS_MASK (0x80000000U)
  16700. #define ENET_RCR_GRS_SHIFT (31U)
  16701. /*! GRS - Graceful Receive Stopped
  16702. */
  16703. #define ENET_RCR_GRS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_GRS_SHIFT)) & ENET_RCR_GRS_MASK)
  16704. /*! @} */
  16705. /*! @name TCR - Transmit Control Register */
  16706. /*! @{ */
  16707. #define ENET_TCR_GTS_MASK (0x1U)
  16708. #define ENET_TCR_GTS_SHIFT (0U)
  16709. /*! GTS - Graceful Transmit Stop
  16710. */
  16711. #define ENET_TCR_GTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_GTS_SHIFT)) & ENET_TCR_GTS_MASK)
  16712. #define ENET_TCR_FDEN_MASK (0x4U)
  16713. #define ENET_TCR_FDEN_SHIFT (2U)
  16714. /*! FDEN - Full-Duplex Enable
  16715. */
  16716. #define ENET_TCR_FDEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_FDEN_SHIFT)) & ENET_TCR_FDEN_MASK)
  16717. #define ENET_TCR_TFC_PAUSE_MASK (0x8U)
  16718. #define ENET_TCR_TFC_PAUSE_SHIFT (3U)
  16719. /*! TFC_PAUSE - Transmit Frame Control Pause
  16720. * 0b0..No PAUSE frame transmitted.
  16721. * 0b1..The MAC stops transmission of data frames after the current transmission is complete.
  16722. */
  16723. #define ENET_TCR_TFC_PAUSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_TFC_PAUSE_SHIFT)) & ENET_TCR_TFC_PAUSE_MASK)
  16724. #define ENET_TCR_RFC_PAUSE_MASK (0x10U)
  16725. #define ENET_TCR_RFC_PAUSE_SHIFT (4U)
  16726. /*! RFC_PAUSE - Receive Frame Control Pause
  16727. */
  16728. #define ENET_TCR_RFC_PAUSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_RFC_PAUSE_SHIFT)) & ENET_TCR_RFC_PAUSE_MASK)
  16729. #define ENET_TCR_ADDSEL_MASK (0xE0U)
  16730. #define ENET_TCR_ADDSEL_SHIFT (5U)
  16731. /*! ADDSEL - Source MAC Address Select On Transmit
  16732. * 0b000..Node MAC address programmed on PADDR1/2 registers.
  16733. * 0b100..Reserved.
  16734. * 0b101..Reserved.
  16735. * 0b110..Reserved.
  16736. */
  16737. #define ENET_TCR_ADDSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_ADDSEL_SHIFT)) & ENET_TCR_ADDSEL_MASK)
  16738. #define ENET_TCR_ADDINS_MASK (0x100U)
  16739. #define ENET_TCR_ADDINS_SHIFT (8U)
  16740. /*! ADDINS - Set MAC Address On Transmit
  16741. * 0b0..The source MAC address is not modified by the MAC.
  16742. * 0b1..The MAC overwrites the source MAC address with the programmed MAC address according to ADDSEL.
  16743. */
  16744. #define ENET_TCR_ADDINS(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_ADDINS_SHIFT)) & ENET_TCR_ADDINS_MASK)
  16745. #define ENET_TCR_CRCFWD_MASK (0x200U)
  16746. #define ENET_TCR_CRCFWD_SHIFT (9U)
  16747. /*! CRCFWD - Forward Frame From Application With CRC
  16748. * 0b0..TxBD[TC] controls whether the frame has a CRC from the application.
  16749. * 0b1..The transmitter does not append any CRC to transmitted frames, as it is expecting a frame with CRC from the application.
  16750. */
  16751. #define ENET_TCR_CRCFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_CRCFWD_SHIFT)) & ENET_TCR_CRCFWD_MASK)
  16752. /*! @} */
  16753. /*! @name PALR - Physical Address Lower Register */
  16754. /*! @{ */
  16755. #define ENET_PALR_PADDR1_MASK (0xFFFFFFFFU)
  16756. #define ENET_PALR_PADDR1_SHIFT (0U)
  16757. /*! PADDR1 - Pause Address
  16758. */
  16759. #define ENET_PALR_PADDR1(x) (((uint32_t)(((uint32_t)(x)) << ENET_PALR_PADDR1_SHIFT)) & ENET_PALR_PADDR1_MASK)
  16760. /*! @} */
  16761. /*! @name PAUR - Physical Address Upper Register */
  16762. /*! @{ */
  16763. #define ENET_PAUR_TYPE_MASK (0xFFFFU)
  16764. #define ENET_PAUR_TYPE_SHIFT (0U)
  16765. /*! TYPE - Type Field In PAUSE Frames
  16766. */
  16767. #define ENET_PAUR_TYPE(x) (((uint32_t)(((uint32_t)(x)) << ENET_PAUR_TYPE_SHIFT)) & ENET_PAUR_TYPE_MASK)
  16768. #define ENET_PAUR_PADDR2_MASK (0xFFFF0000U)
  16769. #define ENET_PAUR_PADDR2_SHIFT (16U)
  16770. #define ENET_PAUR_PADDR2(x) (((uint32_t)(((uint32_t)(x)) << ENET_PAUR_PADDR2_SHIFT)) & ENET_PAUR_PADDR2_MASK)
  16771. /*! @} */
  16772. /*! @name OPD - Opcode/Pause Duration Register */
  16773. /*! @{ */
  16774. #define ENET_OPD_PAUSE_DUR_MASK (0xFFFFU)
  16775. #define ENET_OPD_PAUSE_DUR_SHIFT (0U)
  16776. /*! PAUSE_DUR - Pause Duration
  16777. */
  16778. #define ENET_OPD_PAUSE_DUR(x) (((uint32_t)(((uint32_t)(x)) << ENET_OPD_PAUSE_DUR_SHIFT)) & ENET_OPD_PAUSE_DUR_MASK)
  16779. #define ENET_OPD_OPCODE_MASK (0xFFFF0000U)
  16780. #define ENET_OPD_OPCODE_SHIFT (16U)
  16781. /*! OPCODE - Opcode Field In PAUSE Frames
  16782. */
  16783. #define ENET_OPD_OPCODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_OPD_OPCODE_SHIFT)) & ENET_OPD_OPCODE_MASK)
  16784. /*! @} */
  16785. /*! @name TXIC - Transmit Interrupt Coalescing Register */
  16786. /*! @{ */
  16787. #define ENET_TXIC_ICTT_MASK (0xFFFFU)
  16788. #define ENET_TXIC_ICTT_SHIFT (0U)
  16789. /*! ICTT - Interrupt coalescing timer threshold
  16790. */
  16791. #define ENET_TXIC_ICTT(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICTT_SHIFT)) & ENET_TXIC_ICTT_MASK)
  16792. #define ENET_TXIC_ICFT_MASK (0xFF00000U)
  16793. #define ENET_TXIC_ICFT_SHIFT (20U)
  16794. /*! ICFT - Interrupt coalescing frame count threshold
  16795. */
  16796. #define ENET_TXIC_ICFT(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICFT_SHIFT)) & ENET_TXIC_ICFT_MASK)
  16797. #define ENET_TXIC_ICCS_MASK (0x40000000U)
  16798. #define ENET_TXIC_ICCS_SHIFT (30U)
  16799. /*! ICCS - Interrupt Coalescing Timer Clock Source Select
  16800. * 0b0..Use MII/GMII TX clocks.
  16801. * 0b1..Use ENET system clock.
  16802. */
  16803. #define ENET_TXIC_ICCS(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICCS_SHIFT)) & ENET_TXIC_ICCS_MASK)
  16804. #define ENET_TXIC_ICEN_MASK (0x80000000U)
  16805. #define ENET_TXIC_ICEN_SHIFT (31U)
  16806. /*! ICEN - Interrupt Coalescing Enable
  16807. * 0b0..Disable Interrupt coalescing.
  16808. * 0b1..Enable Interrupt coalescing.
  16809. */
  16810. #define ENET_TXIC_ICEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICEN_SHIFT)) & ENET_TXIC_ICEN_MASK)
  16811. /*! @} */
  16812. /*! @name RXIC - Receive Interrupt Coalescing Register */
  16813. /*! @{ */
  16814. #define ENET_RXIC_ICTT_MASK (0xFFFFU)
  16815. #define ENET_RXIC_ICTT_SHIFT (0U)
  16816. /*! ICTT - Interrupt coalescing timer threshold
  16817. */
  16818. #define ENET_RXIC_ICTT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICTT_SHIFT)) & ENET_RXIC_ICTT_MASK)
  16819. #define ENET_RXIC_ICFT_MASK (0xFF00000U)
  16820. #define ENET_RXIC_ICFT_SHIFT (20U)
  16821. /*! ICFT - Interrupt coalescing frame count threshold
  16822. */
  16823. #define ENET_RXIC_ICFT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICFT_SHIFT)) & ENET_RXIC_ICFT_MASK)
  16824. #define ENET_RXIC_ICCS_MASK (0x40000000U)
  16825. #define ENET_RXIC_ICCS_SHIFT (30U)
  16826. /*! ICCS - Interrupt Coalescing Timer Clock Source Select
  16827. * 0b0..Use MII/GMII TX clocks.
  16828. * 0b1..Use ENET system clock.
  16829. */
  16830. #define ENET_RXIC_ICCS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICCS_SHIFT)) & ENET_RXIC_ICCS_MASK)
  16831. #define ENET_RXIC_ICEN_MASK (0x80000000U)
  16832. #define ENET_RXIC_ICEN_SHIFT (31U)
  16833. /*! ICEN - Interrupt Coalescing Enable
  16834. * 0b0..Disable Interrupt coalescing.
  16835. * 0b1..Enable Interrupt coalescing.
  16836. */
  16837. #define ENET_RXIC_ICEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICEN_SHIFT)) & ENET_RXIC_ICEN_MASK)
  16838. /*! @} */
  16839. /*! @name IAUR - Descriptor Individual Upper Address Register */
  16840. /*! @{ */
  16841. #define ENET_IAUR_IADDR1_MASK (0xFFFFFFFFU)
  16842. #define ENET_IAUR_IADDR1_SHIFT (0U)
  16843. #define ENET_IAUR_IADDR1(x) (((uint32_t)(((uint32_t)(x)) << ENET_IAUR_IADDR1_SHIFT)) & ENET_IAUR_IADDR1_MASK)
  16844. /*! @} */
  16845. /*! @name IALR - Descriptor Individual Lower Address Register */
  16846. /*! @{ */
  16847. #define ENET_IALR_IADDR2_MASK (0xFFFFFFFFU)
  16848. #define ENET_IALR_IADDR2_SHIFT (0U)
  16849. #define ENET_IALR_IADDR2(x) (((uint32_t)(((uint32_t)(x)) << ENET_IALR_IADDR2_SHIFT)) & ENET_IALR_IADDR2_MASK)
  16850. /*! @} */
  16851. /*! @name GAUR - Descriptor Group Upper Address Register */
  16852. /*! @{ */
  16853. #define ENET_GAUR_GADDR1_MASK (0xFFFFFFFFU)
  16854. #define ENET_GAUR_GADDR1_SHIFT (0U)
  16855. #define ENET_GAUR_GADDR1(x) (((uint32_t)(((uint32_t)(x)) << ENET_GAUR_GADDR1_SHIFT)) & ENET_GAUR_GADDR1_MASK)
  16856. /*! @} */
  16857. /*! @name GALR - Descriptor Group Lower Address Register */
  16858. /*! @{ */
  16859. #define ENET_GALR_GADDR2_MASK (0xFFFFFFFFU)
  16860. #define ENET_GALR_GADDR2_SHIFT (0U)
  16861. #define ENET_GALR_GADDR2(x) (((uint32_t)(((uint32_t)(x)) << ENET_GALR_GADDR2_SHIFT)) & ENET_GALR_GADDR2_MASK)
  16862. /*! @} */
  16863. /*! @name TFWR - Transmit FIFO Watermark Register */
  16864. /*! @{ */
  16865. #define ENET_TFWR_TFWR_MASK (0x3FU)
  16866. #define ENET_TFWR_TFWR_SHIFT (0U)
  16867. /*! TFWR - Transmit FIFO Write
  16868. * 0b000000..64 bytes written.
  16869. * 0b000001..64 bytes written.
  16870. * 0b000010..128 bytes written.
  16871. * 0b000011..192 bytes written.
  16872. * 0b011111..1984 bytes written.
  16873. */
  16874. #define ENET_TFWR_TFWR(x) (((uint32_t)(((uint32_t)(x)) << ENET_TFWR_TFWR_SHIFT)) & ENET_TFWR_TFWR_MASK)
  16875. #define ENET_TFWR_STRFWD_MASK (0x100U)
  16876. #define ENET_TFWR_STRFWD_SHIFT (8U)
  16877. /*! STRFWD - Store And Forward Enable
  16878. * 0b0..Reset. The transmission start threshold is programmed in TFWR[TFWR].
  16879. * 0b1..Enabled.
  16880. */
  16881. #define ENET_TFWR_STRFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_TFWR_STRFWD_SHIFT)) & ENET_TFWR_STRFWD_MASK)
  16882. /*! @} */
  16883. /*! @name RDSR - Receive Descriptor Ring Start Register */
  16884. /*! @{ */
  16885. #define ENET_RDSR_R_DES_START_MASK (0xFFFFFFF8U)
  16886. #define ENET_RDSR_R_DES_START_SHIFT (3U)
  16887. #define ENET_RDSR_R_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDSR_R_DES_START_SHIFT)) & ENET_RDSR_R_DES_START_MASK)
  16888. /*! @} */
  16889. /*! @name TDSR - Transmit Buffer Descriptor Ring Start Register */
  16890. /*! @{ */
  16891. #define ENET_TDSR_X_DES_START_MASK (0xFFFFFFF8U)
  16892. #define ENET_TDSR_X_DES_START_SHIFT (3U)
  16893. #define ENET_TDSR_X_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDSR_X_DES_START_SHIFT)) & ENET_TDSR_X_DES_START_MASK)
  16894. /*! @} */
  16895. /*! @name MRBR - Maximum Receive Buffer Size Register */
  16896. /*! @{ */
  16897. #define ENET_MRBR_R_BUF_SIZE_MASK (0x3FF0U)
  16898. #define ENET_MRBR_R_BUF_SIZE_SHIFT (4U)
  16899. #define ENET_MRBR_R_BUF_SIZE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MRBR_R_BUF_SIZE_SHIFT)) & ENET_MRBR_R_BUF_SIZE_MASK)
  16900. /*! @} */
  16901. /*! @name RSFL - Receive FIFO Section Full Threshold */
  16902. /*! @{ */
  16903. #define ENET_RSFL_RX_SECTION_FULL_MASK (0xFFU)
  16904. #define ENET_RSFL_RX_SECTION_FULL_SHIFT (0U)
  16905. /*! RX_SECTION_FULL - Value Of Receive FIFO Section Full Threshold
  16906. */
  16907. #define ENET_RSFL_RX_SECTION_FULL(x) (((uint32_t)(((uint32_t)(x)) << ENET_RSFL_RX_SECTION_FULL_SHIFT)) & ENET_RSFL_RX_SECTION_FULL_MASK)
  16908. /*! @} */
  16909. /*! @name RSEM - Receive FIFO Section Empty Threshold */
  16910. /*! @{ */
  16911. #define ENET_RSEM_RX_SECTION_EMPTY_MASK (0xFFU)
  16912. #define ENET_RSEM_RX_SECTION_EMPTY_SHIFT (0U)
  16913. /*! RX_SECTION_EMPTY - Value Of The Receive FIFO Section Empty Threshold
  16914. */
  16915. #define ENET_RSEM_RX_SECTION_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_RSEM_RX_SECTION_EMPTY_SHIFT)) & ENET_RSEM_RX_SECTION_EMPTY_MASK)
  16916. #define ENET_RSEM_STAT_SECTION_EMPTY_MASK (0x1F0000U)
  16917. #define ENET_RSEM_STAT_SECTION_EMPTY_SHIFT (16U)
  16918. /*! STAT_SECTION_EMPTY - RX Status FIFO Section Empty Threshold
  16919. */
  16920. #define ENET_RSEM_STAT_SECTION_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_RSEM_STAT_SECTION_EMPTY_SHIFT)) & ENET_RSEM_STAT_SECTION_EMPTY_MASK)
  16921. /*! @} */
  16922. /*! @name RAEM - Receive FIFO Almost Empty Threshold */
  16923. /*! @{ */
  16924. #define ENET_RAEM_RX_ALMOST_EMPTY_MASK (0xFFU)
  16925. #define ENET_RAEM_RX_ALMOST_EMPTY_SHIFT (0U)
  16926. /*! RX_ALMOST_EMPTY - Value Of The Receive FIFO Almost Empty Threshold
  16927. */
  16928. #define ENET_RAEM_RX_ALMOST_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_RAEM_RX_ALMOST_EMPTY_SHIFT)) & ENET_RAEM_RX_ALMOST_EMPTY_MASK)
  16929. /*! @} */
  16930. /*! @name RAFL - Receive FIFO Almost Full Threshold */
  16931. /*! @{ */
  16932. #define ENET_RAFL_RX_ALMOST_FULL_MASK (0xFFU)
  16933. #define ENET_RAFL_RX_ALMOST_FULL_SHIFT (0U)
  16934. /*! RX_ALMOST_FULL - Value Of The Receive FIFO Almost Full Threshold
  16935. */
  16936. #define ENET_RAFL_RX_ALMOST_FULL(x) (((uint32_t)(((uint32_t)(x)) << ENET_RAFL_RX_ALMOST_FULL_SHIFT)) & ENET_RAFL_RX_ALMOST_FULL_MASK)
  16937. /*! @} */
  16938. /*! @name TSEM - Transmit FIFO Section Empty Threshold */
  16939. /*! @{ */
  16940. #define ENET_TSEM_TX_SECTION_EMPTY_MASK (0xFFU)
  16941. #define ENET_TSEM_TX_SECTION_EMPTY_SHIFT (0U)
  16942. /*! TX_SECTION_EMPTY - Value Of The Transmit FIFO Section Empty Threshold
  16943. */
  16944. #define ENET_TSEM_TX_SECTION_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_TSEM_TX_SECTION_EMPTY_SHIFT)) & ENET_TSEM_TX_SECTION_EMPTY_MASK)
  16945. /*! @} */
  16946. /*! @name TAEM - Transmit FIFO Almost Empty Threshold */
  16947. /*! @{ */
  16948. #define ENET_TAEM_TX_ALMOST_EMPTY_MASK (0xFFU)
  16949. #define ENET_TAEM_TX_ALMOST_EMPTY_SHIFT (0U)
  16950. /*! TX_ALMOST_EMPTY - Value of Transmit FIFO Almost Empty Threshold
  16951. */
  16952. #define ENET_TAEM_TX_ALMOST_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_TAEM_TX_ALMOST_EMPTY_SHIFT)) & ENET_TAEM_TX_ALMOST_EMPTY_MASK)
  16953. /*! @} */
  16954. /*! @name TAFL - Transmit FIFO Almost Full Threshold */
  16955. /*! @{ */
  16956. #define ENET_TAFL_TX_ALMOST_FULL_MASK (0xFFU)
  16957. #define ENET_TAFL_TX_ALMOST_FULL_SHIFT (0U)
  16958. /*! TX_ALMOST_FULL - Value Of The Transmit FIFO Almost Full Threshold
  16959. */
  16960. #define ENET_TAFL_TX_ALMOST_FULL(x) (((uint32_t)(((uint32_t)(x)) << ENET_TAFL_TX_ALMOST_FULL_SHIFT)) & ENET_TAFL_TX_ALMOST_FULL_MASK)
  16961. /*! @} */
  16962. /*! @name TIPG - Transmit Inter-Packet Gap */
  16963. /*! @{ */
  16964. #define ENET_TIPG_IPG_MASK (0x1FU)
  16965. #define ENET_TIPG_IPG_SHIFT (0U)
  16966. /*! IPG - Transmit Inter-Packet Gap
  16967. */
  16968. #define ENET_TIPG_IPG(x) (((uint32_t)(((uint32_t)(x)) << ENET_TIPG_IPG_SHIFT)) & ENET_TIPG_IPG_MASK)
  16969. /*! @} */
  16970. /*! @name FTRL - Frame Truncation Length */
  16971. /*! @{ */
  16972. #define ENET_FTRL_TRUNC_FL_MASK (0x3FFFU)
  16973. #define ENET_FTRL_TRUNC_FL_SHIFT (0U)
  16974. /*! TRUNC_FL - Frame Truncation Length
  16975. */
  16976. #define ENET_FTRL_TRUNC_FL(x) (((uint32_t)(((uint32_t)(x)) << ENET_FTRL_TRUNC_FL_SHIFT)) & ENET_FTRL_TRUNC_FL_MASK)
  16977. /*! @} */
  16978. /*! @name TACC - Transmit Accelerator Function Configuration */
  16979. /*! @{ */
  16980. #define ENET_TACC_SHIFT16_MASK (0x1U)
  16981. #define ENET_TACC_SHIFT16_SHIFT (0U)
  16982. /*! SHIFT16 - TX FIFO Shift-16
  16983. * 0b0..Disabled.
  16984. * 0b1..Indicates to the transmit data FIFO that the written frames contain two additional octets before the
  16985. * frame data. This means the actual frame begins at bit 16 of the first word written into the FIFO. This
  16986. * function allows putting the frame payload on a 32-bit boundary in memory, as the 14-byte Ethernet header is
  16987. * extended to a 16-byte header.
  16988. */
  16989. #define ENET_TACC_SHIFT16(x) (((uint32_t)(((uint32_t)(x)) << ENET_TACC_SHIFT16_SHIFT)) & ENET_TACC_SHIFT16_MASK)
  16990. #define ENET_TACC_IPCHK_MASK (0x8U)
  16991. #define ENET_TACC_IPCHK_SHIFT (3U)
  16992. /*! IPCHK
  16993. * 0b0..Checksum is not inserted.
  16994. * 0b1..If an IP frame is transmitted, the checksum is inserted automatically. The IP header checksum field must
  16995. * be cleared. If a non-IP frame is transmitted the frame is not modified.
  16996. */
  16997. #define ENET_TACC_IPCHK(x) (((uint32_t)(((uint32_t)(x)) << ENET_TACC_IPCHK_SHIFT)) & ENET_TACC_IPCHK_MASK)
  16998. #define ENET_TACC_PROCHK_MASK (0x10U)
  16999. #define ENET_TACC_PROCHK_SHIFT (4U)
  17000. /*! PROCHK
  17001. * 0b0..Checksum not inserted.
  17002. * 0b1..If an IP frame with a known protocol is transmitted, the checksum is inserted automatically into the
  17003. * frame. The checksum field must be cleared. The other frames are not modified.
  17004. */
  17005. #define ENET_TACC_PROCHK(x) (((uint32_t)(((uint32_t)(x)) << ENET_TACC_PROCHK_SHIFT)) & ENET_TACC_PROCHK_MASK)
  17006. /*! @} */
  17007. /*! @name RACC - Receive Accelerator Function Configuration */
  17008. /*! @{ */
  17009. #define ENET_RACC_PADREM_MASK (0x1U)
  17010. #define ENET_RACC_PADREM_SHIFT (0U)
  17011. /*! PADREM - Enable Padding Removal For Short IP Frames
  17012. * 0b0..Padding not removed.
  17013. * 0b1..Any bytes following the IP payload section of the frame are removed from the frame.
  17014. */
  17015. #define ENET_RACC_PADREM(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_PADREM_SHIFT)) & ENET_RACC_PADREM_MASK)
  17016. #define ENET_RACC_IPDIS_MASK (0x2U)
  17017. #define ENET_RACC_IPDIS_SHIFT (1U)
  17018. /*! IPDIS - Enable Discard Of Frames With Wrong IPv4 Header Checksum
  17019. * 0b0..Frames with wrong IPv4 header checksum are not discarded.
  17020. * 0b1..If an IPv4 frame is received with a mismatching header checksum, the frame is discarded. IPv6 has no
  17021. * header checksum and is not affected by this setting. Discarding is only available when the RX FIFO operates in
  17022. * store and forward mode (RSFL cleared).
  17023. */
  17024. #define ENET_RACC_IPDIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_IPDIS_SHIFT)) & ENET_RACC_IPDIS_MASK)
  17025. #define ENET_RACC_PRODIS_MASK (0x4U)
  17026. #define ENET_RACC_PRODIS_SHIFT (2U)
  17027. /*! PRODIS - Enable Discard Of Frames With Wrong Protocol Checksum
  17028. * 0b0..Frames with wrong checksum are not discarded.
  17029. * 0b1..If a TCP/IP, UDP/IP, or ICMP/IP frame is received that has a wrong TCP, UDP, or ICMP checksum, the frame
  17030. * is discarded. Discarding is only available when the RX FIFO operates in store and forward mode (RSFL
  17031. * cleared).
  17032. */
  17033. #define ENET_RACC_PRODIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_PRODIS_SHIFT)) & ENET_RACC_PRODIS_MASK)
  17034. #define ENET_RACC_LINEDIS_MASK (0x40U)
  17035. #define ENET_RACC_LINEDIS_SHIFT (6U)
  17036. /*! LINEDIS - Enable Discard Of Frames With MAC Layer Errors
  17037. * 0b0..Frames with errors are not discarded.
  17038. * 0b1..Any frame received with a CRC, length, or PHY error is automatically discarded and not forwarded to the user application interface.
  17039. */
  17040. #define ENET_RACC_LINEDIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_LINEDIS_SHIFT)) & ENET_RACC_LINEDIS_MASK)
  17041. #define ENET_RACC_SHIFT16_MASK (0x80U)
  17042. #define ENET_RACC_SHIFT16_SHIFT (7U)
  17043. /*! SHIFT16 - RX FIFO Shift-16
  17044. * 0b0..Disabled.
  17045. * 0b1..Instructs the MAC to write two additional bytes in front of each frame received into the RX FIFO.
  17046. */
  17047. #define ENET_RACC_SHIFT16(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_SHIFT16_SHIFT)) & ENET_RACC_SHIFT16_MASK)
  17048. /*! @} */
  17049. /*! @name RMON_T_PACKETS - Tx Packet Count Statistic Register */
  17050. /*! @{ */
  17051. #define ENET_RMON_T_PACKETS_TXPKTS_MASK (0xFFFFU)
  17052. #define ENET_RMON_T_PACKETS_TXPKTS_SHIFT (0U)
  17053. /*! TXPKTS - Packet count
  17054. */
  17055. #define ENET_RMON_T_PACKETS_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_PACKETS_TXPKTS_SHIFT)) & ENET_RMON_T_PACKETS_TXPKTS_MASK)
  17056. /*! @} */
  17057. /*! @name RMON_T_BC_PKT - Tx Broadcast Packets Statistic Register */
  17058. /*! @{ */
  17059. #define ENET_RMON_T_BC_PKT_TXPKTS_MASK (0xFFFFU)
  17060. #define ENET_RMON_T_BC_PKT_TXPKTS_SHIFT (0U)
  17061. /*! TXPKTS - Broadcast packets
  17062. */
  17063. #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)
  17064. /*! @} */
  17065. /*! @name RMON_T_MC_PKT - Tx Multicast Packets Statistic Register */
  17066. /*! @{ */
  17067. #define ENET_RMON_T_MC_PKT_TXPKTS_MASK (0xFFFFU)
  17068. #define ENET_RMON_T_MC_PKT_TXPKTS_SHIFT (0U)
  17069. /*! TXPKTS - Multicast packets
  17070. */
  17071. #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)
  17072. /*! @} */
  17073. /*! @name RMON_T_CRC_ALIGN - Tx Packets with CRC/Align Error Statistic Register */
  17074. /*! @{ */
  17075. #define ENET_RMON_T_CRC_ALIGN_TXPKTS_MASK (0xFFFFU)
  17076. #define ENET_RMON_T_CRC_ALIGN_TXPKTS_SHIFT (0U)
  17077. /*! TXPKTS - Packets with CRC/align error
  17078. */
  17079. #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)
  17080. /*! @} */
  17081. /*! @name RMON_T_UNDERSIZE - Tx Packets Less Than Bytes and Good CRC Statistic Register */
  17082. /*! @{ */
  17083. #define ENET_RMON_T_UNDERSIZE_TXPKTS_MASK (0xFFFFU)
  17084. #define ENET_RMON_T_UNDERSIZE_TXPKTS_SHIFT (0U)
  17085. /*! TXPKTS - Number of transmit packets less than 64 bytes with good CRC
  17086. */
  17087. #define ENET_RMON_T_UNDERSIZE_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_UNDERSIZE_TXPKTS_SHIFT)) & ENET_RMON_T_UNDERSIZE_TXPKTS_MASK)
  17088. /*! @} */
  17089. /*! @name RMON_T_OVERSIZE - Tx Packets GT MAX_FL bytes and Good CRC Statistic Register */
  17090. /*! @{ */
  17091. #define ENET_RMON_T_OVERSIZE_TXPKTS_MASK (0xFFFFU)
  17092. #define ENET_RMON_T_OVERSIZE_TXPKTS_SHIFT (0U)
  17093. /*! TXPKTS - Number of transmit packets greater than MAX_FL bytes with good CRC
  17094. */
  17095. #define ENET_RMON_T_OVERSIZE_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_OVERSIZE_TXPKTS_SHIFT)) & ENET_RMON_T_OVERSIZE_TXPKTS_MASK)
  17096. /*! @} */
  17097. /*! @name RMON_T_FRAG - Tx Packets Less Than 64 Bytes and Bad CRC Statistic Register */
  17098. /*! @{ */
  17099. #define ENET_RMON_T_FRAG_TXPKTS_MASK (0xFFFFU)
  17100. #define ENET_RMON_T_FRAG_TXPKTS_SHIFT (0U)
  17101. /*! TXPKTS - Number of packets less than 64 bytes with bad CRC
  17102. */
  17103. #define ENET_RMON_T_FRAG_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_FRAG_TXPKTS_SHIFT)) & ENET_RMON_T_FRAG_TXPKTS_MASK)
  17104. /*! @} */
  17105. /*! @name RMON_T_JAB - Tx Packets Greater Than MAX_FL bytes and Bad CRC Statistic Register */
  17106. /*! @{ */
  17107. #define ENET_RMON_T_JAB_TXPKTS_MASK (0xFFFFU)
  17108. #define ENET_RMON_T_JAB_TXPKTS_SHIFT (0U)
  17109. /*! TXPKTS - Number of transmit packets greater than MAX_FL bytes and bad CRC
  17110. */
  17111. #define ENET_RMON_T_JAB_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_JAB_TXPKTS_SHIFT)) & ENET_RMON_T_JAB_TXPKTS_MASK)
  17112. /*! @} */
  17113. /*! @name RMON_T_COL - Tx Collision Count Statistic Register */
  17114. /*! @{ */
  17115. #define ENET_RMON_T_COL_TXPKTS_MASK (0xFFFFU)
  17116. #define ENET_RMON_T_COL_TXPKTS_SHIFT (0U)
  17117. /*! TXPKTS - Number of transmit collisions
  17118. */
  17119. #define ENET_RMON_T_COL_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_COL_TXPKTS_SHIFT)) & ENET_RMON_T_COL_TXPKTS_MASK)
  17120. /*! @} */
  17121. /*! @name RMON_T_P64 - Tx 64-Byte Packets Statistic Register */
  17122. /*! @{ */
  17123. #define ENET_RMON_T_P64_TXPKTS_MASK (0xFFFFU)
  17124. #define ENET_RMON_T_P64_TXPKTS_SHIFT (0U)
  17125. /*! TXPKTS - Number of 64-byte transmit packets
  17126. */
  17127. #define ENET_RMON_T_P64_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P64_TXPKTS_SHIFT)) & ENET_RMON_T_P64_TXPKTS_MASK)
  17128. /*! @} */
  17129. /*! @name RMON_T_P65TO127 - Tx 65- to 127-byte Packets Statistic Register */
  17130. /*! @{ */
  17131. #define ENET_RMON_T_P65TO127_TXPKTS_MASK (0xFFFFU)
  17132. #define ENET_RMON_T_P65TO127_TXPKTS_SHIFT (0U)
  17133. /*! TXPKTS - Number of 65- to 127-byte transmit packets
  17134. */
  17135. #define ENET_RMON_T_P65TO127_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P65TO127_TXPKTS_SHIFT)) & ENET_RMON_T_P65TO127_TXPKTS_MASK)
  17136. /*! @} */
  17137. /*! @name RMON_T_P128TO255 - Tx 128- to 255-byte Packets Statistic Register */
  17138. /*! @{ */
  17139. #define ENET_RMON_T_P128TO255_TXPKTS_MASK (0xFFFFU)
  17140. #define ENET_RMON_T_P128TO255_TXPKTS_SHIFT (0U)
  17141. /*! TXPKTS - Number of 128- to 255-byte transmit packets
  17142. */
  17143. #define ENET_RMON_T_P128TO255_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P128TO255_TXPKTS_SHIFT)) & ENET_RMON_T_P128TO255_TXPKTS_MASK)
  17144. /*! @} */
  17145. /*! @name RMON_T_P256TO511 - Tx 256- to 511-byte Packets Statistic Register */
  17146. /*! @{ */
  17147. #define ENET_RMON_T_P256TO511_TXPKTS_MASK (0xFFFFU)
  17148. #define ENET_RMON_T_P256TO511_TXPKTS_SHIFT (0U)
  17149. /*! TXPKTS - Number of 256- to 511-byte transmit packets
  17150. */
  17151. #define ENET_RMON_T_P256TO511_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P256TO511_TXPKTS_SHIFT)) & ENET_RMON_T_P256TO511_TXPKTS_MASK)
  17152. /*! @} */
  17153. /*! @name RMON_T_P512TO1023 - Tx 512- to 1023-byte Packets Statistic Register */
  17154. /*! @{ */
  17155. #define ENET_RMON_T_P512TO1023_TXPKTS_MASK (0xFFFFU)
  17156. #define ENET_RMON_T_P512TO1023_TXPKTS_SHIFT (0U)
  17157. /*! TXPKTS - Number of 512- to 1023-byte transmit packets
  17158. */
  17159. #define ENET_RMON_T_P512TO1023_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P512TO1023_TXPKTS_SHIFT)) & ENET_RMON_T_P512TO1023_TXPKTS_MASK)
  17160. /*! @} */
  17161. /*! @name RMON_T_P1024TO2047 - Tx 1024- to 2047-byte Packets Statistic Register */
  17162. /*! @{ */
  17163. #define ENET_RMON_T_P1024TO2047_TXPKTS_MASK (0xFFFFU)
  17164. #define ENET_RMON_T_P1024TO2047_TXPKTS_SHIFT (0U)
  17165. /*! TXPKTS - Number of 1024- to 2047-byte transmit packets
  17166. */
  17167. #define ENET_RMON_T_P1024TO2047_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P1024TO2047_TXPKTS_SHIFT)) & ENET_RMON_T_P1024TO2047_TXPKTS_MASK)
  17168. /*! @} */
  17169. /*! @name RMON_T_P_GTE2048 - Tx Packets Greater Than 2048 Bytes Statistic Register */
  17170. /*! @{ */
  17171. #define ENET_RMON_T_P_GTE2048_TXPKTS_MASK (0xFFFFU)
  17172. #define ENET_RMON_T_P_GTE2048_TXPKTS_SHIFT (0U)
  17173. /*! TXPKTS - Number of transmit packets greater than 2048 bytes
  17174. */
  17175. #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)
  17176. /*! @} */
  17177. /*! @name RMON_T_OCTETS - Tx Octets Statistic Register */
  17178. /*! @{ */
  17179. #define ENET_RMON_T_OCTETS_TXOCTS_MASK (0xFFFFFFFFU)
  17180. #define ENET_RMON_T_OCTETS_TXOCTS_SHIFT (0U)
  17181. /*! TXOCTS - Number of transmit octets
  17182. */
  17183. #define ENET_RMON_T_OCTETS_TXOCTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_OCTETS_TXOCTS_SHIFT)) & ENET_RMON_T_OCTETS_TXOCTS_MASK)
  17184. /*! @} */
  17185. /*! @name IEEE_T_FRAME_OK - Frames Transmitted OK Statistic Register */
  17186. /*! @{ */
  17187. #define ENET_IEEE_T_FRAME_OK_COUNT_MASK (0xFFFFU)
  17188. #define ENET_IEEE_T_FRAME_OK_COUNT_SHIFT (0U)
  17189. /*! COUNT - Number of frames transmitted OK
  17190. */
  17191. #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)
  17192. /*! @} */
  17193. /*! @name IEEE_T_1COL - Frames Transmitted with Single Collision Statistic Register */
  17194. /*! @{ */
  17195. #define ENET_IEEE_T_1COL_COUNT_MASK (0xFFFFU)
  17196. #define ENET_IEEE_T_1COL_COUNT_SHIFT (0U)
  17197. /*! COUNT - Number of frames transmitted with one collision
  17198. */
  17199. #define ENET_IEEE_T_1COL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_1COL_COUNT_SHIFT)) & ENET_IEEE_T_1COL_COUNT_MASK)
  17200. /*! @} */
  17201. /*! @name IEEE_T_MCOL - Frames Transmitted with Multiple Collisions Statistic Register */
  17202. /*! @{ */
  17203. #define ENET_IEEE_T_MCOL_COUNT_MASK (0xFFFFU)
  17204. #define ENET_IEEE_T_MCOL_COUNT_SHIFT (0U)
  17205. /*! COUNT - Number of frames transmitted with multiple collisions
  17206. */
  17207. #define ENET_IEEE_T_MCOL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_MCOL_COUNT_SHIFT)) & ENET_IEEE_T_MCOL_COUNT_MASK)
  17208. /*! @} */
  17209. /*! @name IEEE_T_DEF - Frames Transmitted after Deferral Delay Statistic Register */
  17210. /*! @{ */
  17211. #define ENET_IEEE_T_DEF_COUNT_MASK (0xFFFFU)
  17212. #define ENET_IEEE_T_DEF_COUNT_SHIFT (0U)
  17213. /*! COUNT - Number of frames transmitted with deferral delay
  17214. */
  17215. #define ENET_IEEE_T_DEF_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_DEF_COUNT_SHIFT)) & ENET_IEEE_T_DEF_COUNT_MASK)
  17216. /*! @} */
  17217. /*! @name IEEE_T_LCOL - Frames Transmitted with Late Collision Statistic Register */
  17218. /*! @{ */
  17219. #define ENET_IEEE_T_LCOL_COUNT_MASK (0xFFFFU)
  17220. #define ENET_IEEE_T_LCOL_COUNT_SHIFT (0U)
  17221. /*! COUNT - Number of frames transmitted with late collision
  17222. */
  17223. #define ENET_IEEE_T_LCOL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_LCOL_COUNT_SHIFT)) & ENET_IEEE_T_LCOL_COUNT_MASK)
  17224. /*! @} */
  17225. /*! @name IEEE_T_EXCOL - Frames Transmitted with Excessive Collisions Statistic Register */
  17226. /*! @{ */
  17227. #define ENET_IEEE_T_EXCOL_COUNT_MASK (0xFFFFU)
  17228. #define ENET_IEEE_T_EXCOL_COUNT_SHIFT (0U)
  17229. /*! COUNT - Number of frames transmitted with excessive collisions
  17230. */
  17231. #define ENET_IEEE_T_EXCOL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_EXCOL_COUNT_SHIFT)) & ENET_IEEE_T_EXCOL_COUNT_MASK)
  17232. /*! @} */
  17233. /*! @name IEEE_T_MACERR - Frames Transmitted with Tx FIFO Underrun Statistic Register */
  17234. /*! @{ */
  17235. #define ENET_IEEE_T_MACERR_COUNT_MASK (0xFFFFU)
  17236. #define ENET_IEEE_T_MACERR_COUNT_SHIFT (0U)
  17237. /*! COUNT - Number of frames transmitted with transmit FIFO underrun
  17238. */
  17239. #define ENET_IEEE_T_MACERR_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_MACERR_COUNT_SHIFT)) & ENET_IEEE_T_MACERR_COUNT_MASK)
  17240. /*! @} */
  17241. /*! @name IEEE_T_CSERR - Frames Transmitted with Carrier Sense Error Statistic Register */
  17242. /*! @{ */
  17243. #define ENET_IEEE_T_CSERR_COUNT_MASK (0xFFFFU)
  17244. #define ENET_IEEE_T_CSERR_COUNT_SHIFT (0U)
  17245. /*! COUNT - Number of frames transmitted with carrier sense error
  17246. */
  17247. #define ENET_IEEE_T_CSERR_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_CSERR_COUNT_SHIFT)) & ENET_IEEE_T_CSERR_COUNT_MASK)
  17248. /*! @} */
  17249. /*! @name IEEE_T_SQE - Reserved Statistic Register */
  17250. /*! @{ */
  17251. #define ENET_IEEE_T_SQE_COUNT_MASK (0xFFFFU)
  17252. #define ENET_IEEE_T_SQE_COUNT_SHIFT (0U)
  17253. #define ENET_IEEE_T_SQE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_SQE_COUNT_SHIFT)) & ENET_IEEE_T_SQE_COUNT_MASK)
  17254. /*! @} */
  17255. /*! @name IEEE_T_FDXFC - Flow Control Pause Frames Transmitted Statistic Register */
  17256. /*! @{ */
  17257. #define ENET_IEEE_T_FDXFC_COUNT_MASK (0xFFFFU)
  17258. #define ENET_IEEE_T_FDXFC_COUNT_SHIFT (0U)
  17259. /*! COUNT - Number of flow-control pause frames transmitted
  17260. */
  17261. #define ENET_IEEE_T_FDXFC_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_FDXFC_COUNT_SHIFT)) & ENET_IEEE_T_FDXFC_COUNT_MASK)
  17262. /*! @} */
  17263. /*! @name IEEE_T_OCTETS_OK - Octet Count for Frames Transmitted w/o Error Statistic Register */
  17264. /*! @{ */
  17265. #define ENET_IEEE_T_OCTETS_OK_COUNT_MASK (0xFFFFFFFFU)
  17266. #define ENET_IEEE_T_OCTETS_OK_COUNT_SHIFT (0U)
  17267. /*! COUNT - Octet count for frames transmitted without error Counts total octets (includes header and FCS fields).
  17268. */
  17269. #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)
  17270. /*! @} */
  17271. /*! @name RMON_R_PACKETS - Rx Packet Count Statistic Register */
  17272. /*! @{ */
  17273. #define ENET_RMON_R_PACKETS_COUNT_MASK (0xFFFFU)
  17274. #define ENET_RMON_R_PACKETS_COUNT_SHIFT (0U)
  17275. /*! COUNT - Number of packets received
  17276. */
  17277. #define ENET_RMON_R_PACKETS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_PACKETS_COUNT_SHIFT)) & ENET_RMON_R_PACKETS_COUNT_MASK)
  17278. /*! @} */
  17279. /*! @name RMON_R_BC_PKT - Rx Broadcast Packets Statistic Register */
  17280. /*! @{ */
  17281. #define ENET_RMON_R_BC_PKT_COUNT_MASK (0xFFFFU)
  17282. #define ENET_RMON_R_BC_PKT_COUNT_SHIFT (0U)
  17283. /*! COUNT - Number of receive broadcast packets
  17284. */
  17285. #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)
  17286. /*! @} */
  17287. /*! @name RMON_R_MC_PKT - Rx Multicast Packets Statistic Register */
  17288. /*! @{ */
  17289. #define ENET_RMON_R_MC_PKT_COUNT_MASK (0xFFFFU)
  17290. #define ENET_RMON_R_MC_PKT_COUNT_SHIFT (0U)
  17291. /*! COUNT - Number of receive multicast packets
  17292. */
  17293. #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)
  17294. /*! @} */
  17295. /*! @name RMON_R_CRC_ALIGN - Rx Packets with CRC/Align Error Statistic Register */
  17296. /*! @{ */
  17297. #define ENET_RMON_R_CRC_ALIGN_COUNT_MASK (0xFFFFU)
  17298. #define ENET_RMON_R_CRC_ALIGN_COUNT_SHIFT (0U)
  17299. /*! COUNT - Number of receive packets with CRC or align error
  17300. */
  17301. #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)
  17302. /*! @} */
  17303. /*! @name RMON_R_UNDERSIZE - Rx Packets with Less Than 64 Bytes and Good CRC Statistic Register */
  17304. /*! @{ */
  17305. #define ENET_RMON_R_UNDERSIZE_COUNT_MASK (0xFFFFU)
  17306. #define ENET_RMON_R_UNDERSIZE_COUNT_SHIFT (0U)
  17307. /*! COUNT - Number of receive packets with less than 64 bytes and good CRC
  17308. */
  17309. #define ENET_RMON_R_UNDERSIZE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_UNDERSIZE_COUNT_SHIFT)) & ENET_RMON_R_UNDERSIZE_COUNT_MASK)
  17310. /*! @} */
  17311. /*! @name RMON_R_OVERSIZE - Rx Packets Greater Than MAX_FL and Good CRC Statistic Register */
  17312. /*! @{ */
  17313. #define ENET_RMON_R_OVERSIZE_COUNT_MASK (0xFFFFU)
  17314. #define ENET_RMON_R_OVERSIZE_COUNT_SHIFT (0U)
  17315. /*! COUNT - Number of receive packets greater than MAX_FL and good CRC
  17316. */
  17317. #define ENET_RMON_R_OVERSIZE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_OVERSIZE_COUNT_SHIFT)) & ENET_RMON_R_OVERSIZE_COUNT_MASK)
  17318. /*! @} */
  17319. /*! @name RMON_R_FRAG - Rx Packets Less Than 64 Bytes and Bad CRC Statistic Register */
  17320. /*! @{ */
  17321. #define ENET_RMON_R_FRAG_COUNT_MASK (0xFFFFU)
  17322. #define ENET_RMON_R_FRAG_COUNT_SHIFT (0U)
  17323. /*! COUNT - Number of receive packets with less than 64 bytes and bad CRC
  17324. */
  17325. #define ENET_RMON_R_FRAG_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_FRAG_COUNT_SHIFT)) & ENET_RMON_R_FRAG_COUNT_MASK)
  17326. /*! @} */
  17327. /*! @name RMON_R_JAB - Rx Packets Greater Than MAX_FL Bytes and Bad CRC Statistic Register */
  17328. /*! @{ */
  17329. #define ENET_RMON_R_JAB_COUNT_MASK (0xFFFFU)
  17330. #define ENET_RMON_R_JAB_COUNT_SHIFT (0U)
  17331. /*! COUNT - Number of receive packets greater than MAX_FL and bad CRC
  17332. */
  17333. #define ENET_RMON_R_JAB_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_JAB_COUNT_SHIFT)) & ENET_RMON_R_JAB_COUNT_MASK)
  17334. /*! @} */
  17335. /*! @name RMON_R_P64 - Rx 64-Byte Packets Statistic Register */
  17336. /*! @{ */
  17337. #define ENET_RMON_R_P64_COUNT_MASK (0xFFFFU)
  17338. #define ENET_RMON_R_P64_COUNT_SHIFT (0U)
  17339. /*! COUNT - Number of 64-byte receive packets
  17340. */
  17341. #define ENET_RMON_R_P64_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P64_COUNT_SHIFT)) & ENET_RMON_R_P64_COUNT_MASK)
  17342. /*! @} */
  17343. /*! @name RMON_R_P65TO127 - Rx 65- to 127-Byte Packets Statistic Register */
  17344. /*! @{ */
  17345. #define ENET_RMON_R_P65TO127_COUNT_MASK (0xFFFFU)
  17346. #define ENET_RMON_R_P65TO127_COUNT_SHIFT (0U)
  17347. /*! COUNT - Number of 65- to 127-byte recieve packets
  17348. */
  17349. #define ENET_RMON_R_P65TO127_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P65TO127_COUNT_SHIFT)) & ENET_RMON_R_P65TO127_COUNT_MASK)
  17350. /*! @} */
  17351. /*! @name RMON_R_P128TO255 - Rx 128- to 255-Byte Packets Statistic Register */
  17352. /*! @{ */
  17353. #define ENET_RMON_R_P128TO255_COUNT_MASK (0xFFFFU)
  17354. #define ENET_RMON_R_P128TO255_COUNT_SHIFT (0U)
  17355. /*! COUNT - Number of 128- to 255-byte recieve packets
  17356. */
  17357. #define ENET_RMON_R_P128TO255_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P128TO255_COUNT_SHIFT)) & ENET_RMON_R_P128TO255_COUNT_MASK)
  17358. /*! @} */
  17359. /*! @name RMON_R_P256TO511 - Rx 256- to 511-Byte Packets Statistic Register */
  17360. /*! @{ */
  17361. #define ENET_RMON_R_P256TO511_COUNT_MASK (0xFFFFU)
  17362. #define ENET_RMON_R_P256TO511_COUNT_SHIFT (0U)
  17363. /*! COUNT - Number of 256- to 511-byte recieve packets
  17364. */
  17365. #define ENET_RMON_R_P256TO511_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P256TO511_COUNT_SHIFT)) & ENET_RMON_R_P256TO511_COUNT_MASK)
  17366. /*! @} */
  17367. /*! @name RMON_R_P512TO1023 - Rx 512- to 1023-Byte Packets Statistic Register */
  17368. /*! @{ */
  17369. #define ENET_RMON_R_P512TO1023_COUNT_MASK (0xFFFFU)
  17370. #define ENET_RMON_R_P512TO1023_COUNT_SHIFT (0U)
  17371. /*! COUNT - Number of 512- to 1023-byte recieve packets
  17372. */
  17373. #define ENET_RMON_R_P512TO1023_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P512TO1023_COUNT_SHIFT)) & ENET_RMON_R_P512TO1023_COUNT_MASK)
  17374. /*! @} */
  17375. /*! @name RMON_R_P1024TO2047 - Rx 1024- to 2047-Byte Packets Statistic Register */
  17376. /*! @{ */
  17377. #define ENET_RMON_R_P1024TO2047_COUNT_MASK (0xFFFFU)
  17378. #define ENET_RMON_R_P1024TO2047_COUNT_SHIFT (0U)
  17379. /*! COUNT - Number of 1024- to 2047-byte recieve packets
  17380. */
  17381. #define ENET_RMON_R_P1024TO2047_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P1024TO2047_COUNT_SHIFT)) & ENET_RMON_R_P1024TO2047_COUNT_MASK)
  17382. /*! @} */
  17383. /*! @name RMON_R_P_GTE2048 - Rx Packets Greater than 2048 Bytes Statistic Register */
  17384. /*! @{ */
  17385. #define ENET_RMON_R_P_GTE2048_COUNT_MASK (0xFFFFU)
  17386. #define ENET_RMON_R_P_GTE2048_COUNT_SHIFT (0U)
  17387. /*! COUNT - Number of greater-than-2048-byte recieve packets
  17388. */
  17389. #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)
  17390. /*! @} */
  17391. /*! @name RMON_R_OCTETS - Rx Octets Statistic Register */
  17392. /*! @{ */
  17393. #define ENET_RMON_R_OCTETS_COUNT_MASK (0xFFFFFFFFU)
  17394. #define ENET_RMON_R_OCTETS_COUNT_SHIFT (0U)
  17395. /*! COUNT - Number of receive octets
  17396. */
  17397. #define ENET_RMON_R_OCTETS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_OCTETS_COUNT_SHIFT)) & ENET_RMON_R_OCTETS_COUNT_MASK)
  17398. /*! @} */
  17399. /*! @name IEEE_R_DROP - Frames not Counted Correctly Statistic Register */
  17400. /*! @{ */
  17401. #define ENET_IEEE_R_DROP_COUNT_MASK (0xFFFFU)
  17402. #define ENET_IEEE_R_DROP_COUNT_SHIFT (0U)
  17403. /*! COUNT - Frame count
  17404. */
  17405. #define ENET_IEEE_R_DROP_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_DROP_COUNT_SHIFT)) & ENET_IEEE_R_DROP_COUNT_MASK)
  17406. /*! @} */
  17407. /*! @name IEEE_R_FRAME_OK - Frames Received OK Statistic Register */
  17408. /*! @{ */
  17409. #define ENET_IEEE_R_FRAME_OK_COUNT_MASK (0xFFFFU)
  17410. #define ENET_IEEE_R_FRAME_OK_COUNT_SHIFT (0U)
  17411. /*! COUNT - Number of frames received OK
  17412. */
  17413. #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)
  17414. /*! @} */
  17415. /*! @name IEEE_R_CRC - Frames Received with CRC Error Statistic Register */
  17416. /*! @{ */
  17417. #define ENET_IEEE_R_CRC_COUNT_MASK (0xFFFFU)
  17418. #define ENET_IEEE_R_CRC_COUNT_SHIFT (0U)
  17419. /*! COUNT - Number of frames received with CRC error
  17420. */
  17421. #define ENET_IEEE_R_CRC_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_CRC_COUNT_SHIFT)) & ENET_IEEE_R_CRC_COUNT_MASK)
  17422. /*! @} */
  17423. /*! @name IEEE_R_ALIGN - Frames Received with Alignment Error Statistic Register */
  17424. /*! @{ */
  17425. #define ENET_IEEE_R_ALIGN_COUNT_MASK (0xFFFFU)
  17426. #define ENET_IEEE_R_ALIGN_COUNT_SHIFT (0U)
  17427. /*! COUNT - Number of frames received with alignment error
  17428. */
  17429. #define ENET_IEEE_R_ALIGN_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_ALIGN_COUNT_SHIFT)) & ENET_IEEE_R_ALIGN_COUNT_MASK)
  17430. /*! @} */
  17431. /*! @name IEEE_R_MACERR - Receive FIFO Overflow Count Statistic Register */
  17432. /*! @{ */
  17433. #define ENET_IEEE_R_MACERR_COUNT_MASK (0xFFFFU)
  17434. #define ENET_IEEE_R_MACERR_COUNT_SHIFT (0U)
  17435. /*! COUNT - Receive FIFO overflow count
  17436. */
  17437. #define ENET_IEEE_R_MACERR_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_MACERR_COUNT_SHIFT)) & ENET_IEEE_R_MACERR_COUNT_MASK)
  17438. /*! @} */
  17439. /*! @name IEEE_R_FDXFC - Flow Control Pause Frames Received Statistic Register */
  17440. /*! @{ */
  17441. #define ENET_IEEE_R_FDXFC_COUNT_MASK (0xFFFFU)
  17442. #define ENET_IEEE_R_FDXFC_COUNT_SHIFT (0U)
  17443. /*! COUNT - Number of flow-control pause frames received
  17444. */
  17445. #define ENET_IEEE_R_FDXFC_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_FDXFC_COUNT_SHIFT)) & ENET_IEEE_R_FDXFC_COUNT_MASK)
  17446. /*! @} */
  17447. /*! @name IEEE_R_OCTETS_OK - Octet Count for Frames Received without Error Statistic Register */
  17448. /*! @{ */
  17449. #define ENET_IEEE_R_OCTETS_OK_COUNT_MASK (0xFFFFFFFFU)
  17450. #define ENET_IEEE_R_OCTETS_OK_COUNT_SHIFT (0U)
  17451. /*! COUNT - Number of octets for frames received without error
  17452. */
  17453. #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)
  17454. /*! @} */
  17455. /*! @name ATCR - Adjustable Timer Control Register */
  17456. /*! @{ */
  17457. #define ENET_ATCR_EN_MASK (0x1U)
  17458. #define ENET_ATCR_EN_SHIFT (0U)
  17459. /*! EN - Enable Timer
  17460. * 0b0..The timer stops at the current value.
  17461. * 0b1..The timer starts incrementing.
  17462. */
  17463. #define ENET_ATCR_EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_EN_SHIFT)) & ENET_ATCR_EN_MASK)
  17464. #define ENET_ATCR_OFFEN_MASK (0x4U)
  17465. #define ENET_ATCR_OFFEN_SHIFT (2U)
  17466. /*! OFFEN - Enable One-Shot Offset Event
  17467. * 0b0..Disable.
  17468. * 0b1..The timer can be reset to zero when the given offset time is reached (offset event). The field is cleared
  17469. * when the offset event is reached, so no further event occurs until the field is set again. The timer
  17470. * offset value must be set before setting this field.
  17471. */
  17472. #define ENET_ATCR_OFFEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_OFFEN_SHIFT)) & ENET_ATCR_OFFEN_MASK)
  17473. #define ENET_ATCR_OFFRST_MASK (0x8U)
  17474. #define ENET_ATCR_OFFRST_SHIFT (3U)
  17475. /*! OFFRST - Reset Timer On Offset Event
  17476. * 0b0..The timer is not affected and no action occurs, besides clearing OFFEN, when the offset is reached.
  17477. * 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.
  17478. */
  17479. #define ENET_ATCR_OFFRST(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_OFFRST_SHIFT)) & ENET_ATCR_OFFRST_MASK)
  17480. #define ENET_ATCR_PEREN_MASK (0x10U)
  17481. #define ENET_ATCR_PEREN_SHIFT (4U)
  17482. /*! PEREN - Enable Periodical Event
  17483. * 0b0..Disable.
  17484. * 0b1..A period event interrupt can be generated (EIR[TS_TIMER]) and the event signal output is asserted when
  17485. * the timer wraps around according to the periodic setting ATPER. The timer period value must be set before
  17486. * setting this bit. Not all devices contain the event signal output. See the chip configuration details.
  17487. */
  17488. #define ENET_ATCR_PEREN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_PEREN_SHIFT)) & ENET_ATCR_PEREN_MASK)
  17489. #define ENET_ATCR_PINPER_MASK (0x80U)
  17490. #define ENET_ATCR_PINPER_SHIFT (7U)
  17491. /*! PINPER
  17492. * 0b0..Disable.
  17493. * 0b1..Enable.
  17494. */
  17495. #define ENET_ATCR_PINPER(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_PINPER_SHIFT)) & ENET_ATCR_PINPER_MASK)
  17496. #define ENET_ATCR_RESTART_MASK (0x200U)
  17497. #define ENET_ATCR_RESTART_SHIFT (9U)
  17498. /*! RESTART - Reset Timer
  17499. */
  17500. #define ENET_ATCR_RESTART(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_RESTART_SHIFT)) & ENET_ATCR_RESTART_MASK)
  17501. #define ENET_ATCR_CAPTURE_MASK (0x800U)
  17502. #define ENET_ATCR_CAPTURE_SHIFT (11U)
  17503. /*! CAPTURE - Capture Timer Value
  17504. * 0b0..No effect.
  17505. * 0b1..The current time is captured and can be read from the ATVR register.
  17506. */
  17507. #define ENET_ATCR_CAPTURE(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_CAPTURE_SHIFT)) & ENET_ATCR_CAPTURE_MASK)
  17508. #define ENET_ATCR_SLAVE_MASK (0x2000U)
  17509. #define ENET_ATCR_SLAVE_SHIFT (13U)
  17510. /*! SLAVE - Enable Timer Slave Mode
  17511. * 0b0..The timer is active and all configuration fields in this register are relevant.
  17512. * 0b1..The internal timer is disabled and the externally provided timer value is used. All other fields, except
  17513. * CAPTURE, in this register have no effect. CAPTURE can still be used to capture the current timer value.
  17514. */
  17515. #define ENET_ATCR_SLAVE(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_SLAVE_SHIFT)) & ENET_ATCR_SLAVE_MASK)
  17516. /*! @} */
  17517. /*! @name ATVR - Timer Value Register */
  17518. /*! @{ */
  17519. #define ENET_ATVR_ATIME_MASK (0xFFFFFFFFU)
  17520. #define ENET_ATVR_ATIME_SHIFT (0U)
  17521. #define ENET_ATVR_ATIME(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATVR_ATIME_SHIFT)) & ENET_ATVR_ATIME_MASK)
  17522. /*! @} */
  17523. /*! @name ATOFF - Timer Offset Register */
  17524. /*! @{ */
  17525. #define ENET_ATOFF_OFFSET_MASK (0xFFFFFFFFU)
  17526. #define ENET_ATOFF_OFFSET_SHIFT (0U)
  17527. #define ENET_ATOFF_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATOFF_OFFSET_SHIFT)) & ENET_ATOFF_OFFSET_MASK)
  17528. /*! @} */
  17529. /*! @name ATPER - Timer Period Register */
  17530. /*! @{ */
  17531. #define ENET_ATPER_PERIOD_MASK (0xFFFFFFFFU)
  17532. #define ENET_ATPER_PERIOD_SHIFT (0U)
  17533. #define ENET_ATPER_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATPER_PERIOD_SHIFT)) & ENET_ATPER_PERIOD_MASK)
  17534. /*! @} */
  17535. /*! @name ATCOR - Timer Correction Register */
  17536. /*! @{ */
  17537. #define ENET_ATCOR_COR_MASK (0x7FFFFFFFU)
  17538. #define ENET_ATCOR_COR_SHIFT (0U)
  17539. /*! COR - Correction Counter Wrap-Around Value
  17540. */
  17541. #define ENET_ATCOR_COR(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCOR_COR_SHIFT)) & ENET_ATCOR_COR_MASK)
  17542. /*! @} */
  17543. /*! @name ATINC - Time-Stamping Clock Period Register */
  17544. /*! @{ */
  17545. #define ENET_ATINC_INC_MASK (0x7FU)
  17546. #define ENET_ATINC_INC_SHIFT (0U)
  17547. /*! INC - Clock Period Of The Timestamping Clock (ts_clk) In Nanoseconds
  17548. */
  17549. #define ENET_ATINC_INC(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATINC_INC_SHIFT)) & ENET_ATINC_INC_MASK)
  17550. #define ENET_ATINC_INC_CORR_MASK (0x7F00U)
  17551. #define ENET_ATINC_INC_CORR_SHIFT (8U)
  17552. /*! INC_CORR - Correction Increment Value
  17553. */
  17554. #define ENET_ATINC_INC_CORR(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATINC_INC_CORR_SHIFT)) & ENET_ATINC_INC_CORR_MASK)
  17555. /*! @} */
  17556. /*! @name ATSTMP - Timestamp of Last Transmitted Frame */
  17557. /*! @{ */
  17558. #define ENET_ATSTMP_TIMESTAMP_MASK (0xFFFFFFFFU)
  17559. #define ENET_ATSTMP_TIMESTAMP_SHIFT (0U)
  17560. #define ENET_ATSTMP_TIMESTAMP(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATSTMP_TIMESTAMP_SHIFT)) & ENET_ATSTMP_TIMESTAMP_MASK)
  17561. /*! @} */
  17562. /*! @name TGSR - Timer Global Status Register */
  17563. /*! @{ */
  17564. #define ENET_TGSR_TF0_MASK (0x1U)
  17565. #define ENET_TGSR_TF0_SHIFT (0U)
  17566. /*! TF0 - Copy Of Timer Flag For Channel 0
  17567. * 0b0..Timer Flag for Channel 0 is clear
  17568. * 0b1..Timer Flag for Channel 0 is set
  17569. */
  17570. #define ENET_TGSR_TF0(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF0_SHIFT)) & ENET_TGSR_TF0_MASK)
  17571. #define ENET_TGSR_TF1_MASK (0x2U)
  17572. #define ENET_TGSR_TF1_SHIFT (1U)
  17573. /*! TF1 - Copy Of Timer Flag For Channel 1
  17574. * 0b0..Timer Flag for Channel 1 is clear
  17575. * 0b1..Timer Flag for Channel 1 is set
  17576. */
  17577. #define ENET_TGSR_TF1(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF1_SHIFT)) & ENET_TGSR_TF1_MASK)
  17578. #define ENET_TGSR_TF2_MASK (0x4U)
  17579. #define ENET_TGSR_TF2_SHIFT (2U)
  17580. /*! TF2 - Copy Of Timer Flag For Channel 2
  17581. * 0b0..Timer Flag for Channel 2 is clear
  17582. * 0b1..Timer Flag for Channel 2 is set
  17583. */
  17584. #define ENET_TGSR_TF2(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF2_SHIFT)) & ENET_TGSR_TF2_MASK)
  17585. #define ENET_TGSR_TF3_MASK (0x8U)
  17586. #define ENET_TGSR_TF3_SHIFT (3U)
  17587. /*! TF3 - Copy Of Timer Flag For Channel 3
  17588. * 0b0..Timer Flag for Channel 3 is clear
  17589. * 0b1..Timer Flag for Channel 3 is set
  17590. */
  17591. #define ENET_TGSR_TF3(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF3_SHIFT)) & ENET_TGSR_TF3_MASK)
  17592. /*! @} */
  17593. /*! @name TCSR - Timer Control Status Register */
  17594. /*! @{ */
  17595. #define ENET_TCSR_TDRE_MASK (0x1U)
  17596. #define ENET_TCSR_TDRE_SHIFT (0U)
  17597. /*! TDRE - Timer DMA Request Enable
  17598. * 0b0..DMA request is disabled
  17599. * 0b1..DMA request is enabled
  17600. */
  17601. #define ENET_TCSR_TDRE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TDRE_SHIFT)) & ENET_TCSR_TDRE_MASK)
  17602. #define ENET_TCSR_TMODE_MASK (0x3CU)
  17603. #define ENET_TCSR_TMODE_SHIFT (2U)
  17604. /*! TMODE - Timer Mode
  17605. * 0b0000..Timer Channel is disabled.
  17606. * 0b0001..Timer Channel is configured for Input Capture on rising edge.
  17607. * 0b0010..Timer Channel is configured for Input Capture on falling edge.
  17608. * 0b0011..Timer Channel is configured for Input Capture on both edges.
  17609. * 0b0100..Timer Channel is configured for Output Compare - software only.
  17610. * 0b0101..Timer Channel is configured for Output Compare - toggle output on compare.
  17611. * 0b0110..Timer Channel is configured for Output Compare - clear output on compare.
  17612. * 0b0111..Timer Channel is configured for Output Compare - set output on compare.
  17613. * 0b1000..Reserved
  17614. * 0b1010..Timer Channel is configured for Output Compare - clear output on compare, set output on overflow.
  17615. * 0b10x1..Timer Channel is configured for Output Compare - set output on compare, clear output on overflow.
  17616. * 0b110x..Reserved
  17617. * 0b1110..Timer Channel is configured for Output Compare - pulse output low on compare for 1 to 32 1588-clock cycles as specified by TPWC.
  17618. * 0b1111..Timer Channel is configured for Output Compare - pulse output high on compare for 1 to 32 1588-clock cycles as specified by TPWC.
  17619. */
  17620. #define ENET_TCSR_TMODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TMODE_SHIFT)) & ENET_TCSR_TMODE_MASK)
  17621. #define ENET_TCSR_TIE_MASK (0x40U)
  17622. #define ENET_TCSR_TIE_SHIFT (6U)
  17623. /*! TIE - Timer Interrupt Enable
  17624. * 0b0..Interrupt is disabled
  17625. * 0b1..Interrupt is enabled
  17626. */
  17627. #define ENET_TCSR_TIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TIE_SHIFT)) & ENET_TCSR_TIE_MASK)
  17628. #define ENET_TCSR_TF_MASK (0x80U)
  17629. #define ENET_TCSR_TF_SHIFT (7U)
  17630. /*! TF - Timer Flag
  17631. * 0b0..Input Capture or Output Compare has not occurred.
  17632. * 0b1..Input Capture or Output Compare has occurred.
  17633. */
  17634. #define ENET_TCSR_TF(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TF_SHIFT)) & ENET_TCSR_TF_MASK)
  17635. #define ENET_TCSR_TPWC_MASK (0xF800U)
  17636. #define ENET_TCSR_TPWC_SHIFT (11U)
  17637. /*! TPWC - Timer PulseWidth Control
  17638. * 0b00000..Pulse width is one 1588-clock cycle.
  17639. * 0b00001..Pulse width is two 1588-clock cycles.
  17640. * 0b00010..Pulse width is three 1588-clock cycles.
  17641. * 0b00011..Pulse width is four 1588-clock cycles.
  17642. * 0b11111..Pulse width is 32 1588-clock cycles.
  17643. */
  17644. #define ENET_TCSR_TPWC(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TPWC_SHIFT)) & ENET_TCSR_TPWC_MASK)
  17645. /*! @} */
  17646. /* The count of ENET_TCSR */
  17647. #define ENET_TCSR_COUNT (4U)
  17648. /*! @name TCCR - Timer Compare Capture Register */
  17649. /*! @{ */
  17650. #define ENET_TCCR_TCC_MASK (0xFFFFFFFFU)
  17651. #define ENET_TCCR_TCC_SHIFT (0U)
  17652. /*! TCC - Timer Capture Compare
  17653. */
  17654. #define ENET_TCCR_TCC(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCCR_TCC_SHIFT)) & ENET_TCCR_TCC_MASK)
  17655. /*! @} */
  17656. /* The count of ENET_TCCR */
  17657. #define ENET_TCCR_COUNT (4U)
  17658. /*!
  17659. * @}
  17660. */ /* end of group ENET_Register_Masks */
  17661. /* ENET - Peripheral instance base addresses */
  17662. /** Peripheral ENET base address */
  17663. #define ENET_BASE (0x402D8000u)
  17664. /** Peripheral ENET base pointer */
  17665. #define ENET ((ENET_Type *)ENET_BASE)
  17666. /** Peripheral ENET2 base address */
  17667. #define ENET2_BASE (0x402D4000u)
  17668. /** Peripheral ENET2 base pointer */
  17669. #define ENET2 ((ENET_Type *)ENET2_BASE)
  17670. /** Array initializer of ENET peripheral base addresses */
  17671. #define ENET_BASE_ADDRS { ENET_BASE, 0u, ENET2_BASE }
  17672. /** Array initializer of ENET peripheral base pointers */
  17673. #define ENET_BASE_PTRS { ENET, (ENET_Type *)0u, ENET2 }
  17674. /** Interrupt vectors for the ENET peripheral type */
  17675. #define ENET_Transmit_IRQS { ENET_IRQn, NotAvail_IRQn, ENET2_IRQn }
  17676. #define ENET_Receive_IRQS { ENET_IRQn, NotAvail_IRQn, ENET2_IRQn }
  17677. #define ENET_Error_IRQS { ENET_IRQn, NotAvail_IRQn, ENET2_IRQn }
  17678. #define ENET_1588_Timer_IRQS { ENET_1588_Timer_IRQn, NotAvail_IRQn, ENET2_1588_Timer_IRQn }
  17679. /* ENET Buffer Descriptor and Buffer Address Alignment. */
  17680. #define ENET_BUFF_ALIGNMENT (64U)
  17681. /*!
  17682. * @}
  17683. */ /* end of group ENET_Peripheral_Access_Layer */
  17684. /* ----------------------------------------------------------------------------
  17685. -- EWM Peripheral Access Layer
  17686. ---------------------------------------------------------------------------- */
  17687. /*!
  17688. * @addtogroup EWM_Peripheral_Access_Layer EWM Peripheral Access Layer
  17689. * @{
  17690. */
  17691. /** EWM - Register Layout Typedef */
  17692. typedef struct {
  17693. __IO uint8_t CTRL; /**< Control Register, offset: 0x0 */
  17694. __O uint8_t SERV; /**< Service Register, offset: 0x1 */
  17695. __IO uint8_t CMPL; /**< Compare Low Register, offset: 0x2 */
  17696. __IO uint8_t CMPH; /**< Compare High Register, offset: 0x3 */
  17697. __IO uint8_t CLKCTRL; /**< Clock Control Register, offset: 0x4 */
  17698. __IO uint8_t CLKPRESCALER; /**< Clock Prescaler Register, offset: 0x5 */
  17699. } EWM_Type;
  17700. /* ----------------------------------------------------------------------------
  17701. -- EWM Register Masks
  17702. ---------------------------------------------------------------------------- */
  17703. /*!
  17704. * @addtogroup EWM_Register_Masks EWM Register Masks
  17705. * @{
  17706. */
  17707. /*! @name CTRL - Control Register */
  17708. /*! @{ */
  17709. #define EWM_CTRL_EWMEN_MASK (0x1U)
  17710. #define EWM_CTRL_EWMEN_SHIFT (0U)
  17711. /*! EWMEN - EWM enable.
  17712. */
  17713. #define EWM_CTRL_EWMEN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_EWMEN_SHIFT)) & EWM_CTRL_EWMEN_MASK)
  17714. #define EWM_CTRL_ASSIN_MASK (0x2U)
  17715. #define EWM_CTRL_ASSIN_SHIFT (1U)
  17716. /*! ASSIN - EWM_in's Assertion State Select.
  17717. */
  17718. #define EWM_CTRL_ASSIN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_ASSIN_SHIFT)) & EWM_CTRL_ASSIN_MASK)
  17719. #define EWM_CTRL_INEN_MASK (0x4U)
  17720. #define EWM_CTRL_INEN_SHIFT (2U)
  17721. /*! INEN - Input Enable.
  17722. */
  17723. #define EWM_CTRL_INEN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_INEN_SHIFT)) & EWM_CTRL_INEN_MASK)
  17724. #define EWM_CTRL_INTEN_MASK (0x8U)
  17725. #define EWM_CTRL_INTEN_SHIFT (3U)
  17726. /*! INTEN - Interrupt Enable.
  17727. */
  17728. #define EWM_CTRL_INTEN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_INTEN_SHIFT)) & EWM_CTRL_INTEN_MASK)
  17729. /*! @} */
  17730. /*! @name SERV - Service Register */
  17731. /*! @{ */
  17732. #define EWM_SERV_SERVICE_MASK (0xFFU)
  17733. #define EWM_SERV_SERVICE_SHIFT (0U)
  17734. /*! SERVICE - SERVICE
  17735. */
  17736. #define EWM_SERV_SERVICE(x) (((uint8_t)(((uint8_t)(x)) << EWM_SERV_SERVICE_SHIFT)) & EWM_SERV_SERVICE_MASK)
  17737. /*! @} */
  17738. /*! @name CMPL - Compare Low Register */
  17739. /*! @{ */
  17740. #define EWM_CMPL_COMPAREL_MASK (0xFFU)
  17741. #define EWM_CMPL_COMPAREL_SHIFT (0U)
  17742. /*! COMPAREL - COMPAREL
  17743. */
  17744. #define EWM_CMPL_COMPAREL(x) (((uint8_t)(((uint8_t)(x)) << EWM_CMPL_COMPAREL_SHIFT)) & EWM_CMPL_COMPAREL_MASK)
  17745. /*! @} */
  17746. /*! @name CMPH - Compare High Register */
  17747. /*! @{ */
  17748. #define EWM_CMPH_COMPAREH_MASK (0xFFU)
  17749. #define EWM_CMPH_COMPAREH_SHIFT (0U)
  17750. /*! COMPAREH - COMPAREH
  17751. */
  17752. #define EWM_CMPH_COMPAREH(x) (((uint8_t)(((uint8_t)(x)) << EWM_CMPH_COMPAREH_SHIFT)) & EWM_CMPH_COMPAREH_MASK)
  17753. /*! @} */
  17754. /*! @name CLKCTRL - Clock Control Register */
  17755. /*! @{ */
  17756. #define EWM_CLKCTRL_CLKSEL_MASK (0x3U)
  17757. #define EWM_CLKCTRL_CLKSEL_SHIFT (0U)
  17758. /*! CLKSEL - CLKSEL
  17759. */
  17760. #define EWM_CLKCTRL_CLKSEL(x) (((uint8_t)(((uint8_t)(x)) << EWM_CLKCTRL_CLKSEL_SHIFT)) & EWM_CLKCTRL_CLKSEL_MASK)
  17761. /*! @} */
  17762. /*! @name CLKPRESCALER - Clock Prescaler Register */
  17763. /*! @{ */
  17764. #define EWM_CLKPRESCALER_CLK_DIV_MASK (0xFFU)
  17765. #define EWM_CLKPRESCALER_CLK_DIV_SHIFT (0U)
  17766. /*! CLK_DIV - CLK_DIV
  17767. */
  17768. #define EWM_CLKPRESCALER_CLK_DIV(x) (((uint8_t)(((uint8_t)(x)) << EWM_CLKPRESCALER_CLK_DIV_SHIFT)) & EWM_CLKPRESCALER_CLK_DIV_MASK)
  17769. /*! @} */
  17770. /*!
  17771. * @}
  17772. */ /* end of group EWM_Register_Masks */
  17773. /* EWM - Peripheral instance base addresses */
  17774. /** Peripheral EWM base address */
  17775. #define EWM_BASE (0x400B4000u)
  17776. /** Peripheral EWM base pointer */
  17777. #define EWM ((EWM_Type *)EWM_BASE)
  17778. /** Array initializer of EWM peripheral base addresses */
  17779. #define EWM_BASE_ADDRS { EWM_BASE }
  17780. /** Array initializer of EWM peripheral base pointers */
  17781. #define EWM_BASE_PTRS { EWM }
  17782. /** Interrupt vectors for the EWM peripheral type */
  17783. #define EWM_IRQS { EWM_IRQn }
  17784. /*!
  17785. * @}
  17786. */ /* end of group EWM_Peripheral_Access_Layer */
  17787. /* ----------------------------------------------------------------------------
  17788. -- FLEXIO Peripheral Access Layer
  17789. ---------------------------------------------------------------------------- */
  17790. /*!
  17791. * @addtogroup FLEXIO_Peripheral_Access_Layer FLEXIO Peripheral Access Layer
  17792. * @{
  17793. */
  17794. /** FLEXIO - Register Layout Typedef */
  17795. typedef struct {
  17796. __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */
  17797. __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
  17798. __IO uint32_t CTRL; /**< FlexIO Control Register, offset: 0x8 */
  17799. __I uint32_t PIN; /**< Pin State Register, offset: 0xC */
  17800. __IO uint32_t SHIFTSTAT; /**< Shifter Status Register, offset: 0x10 */
  17801. __IO uint32_t SHIFTERR; /**< Shifter Error Register, offset: 0x14 */
  17802. __IO uint32_t TIMSTAT; /**< Timer Status Register, offset: 0x18 */
  17803. uint8_t RESERVED_0[4];
  17804. __IO uint32_t SHIFTSIEN; /**< Shifter Status Interrupt Enable, offset: 0x20 */
  17805. __IO uint32_t SHIFTEIEN; /**< Shifter Error Interrupt Enable, offset: 0x24 */
  17806. __IO uint32_t TIMIEN; /**< Timer Interrupt Enable Register, offset: 0x28 */
  17807. uint8_t RESERVED_1[4];
  17808. __IO uint32_t SHIFTSDEN; /**< Shifter Status DMA Enable, offset: 0x30 */
  17809. uint8_t RESERVED_2[12];
  17810. __IO uint32_t SHIFTSTATE; /**< Shifter State Register, offset: 0x40 */
  17811. uint8_t RESERVED_3[60];
  17812. __IO uint32_t SHIFTCTL[4]; /**< Shifter Control N Register, array offset: 0x80, array step: 0x4 */
  17813. uint8_t RESERVED_4[112];
  17814. __IO uint32_t SHIFTCFG[4]; /**< Shifter Configuration N Register, array offset: 0x100, array step: 0x4 */
  17815. uint8_t RESERVED_5[240];
  17816. __IO uint32_t SHIFTBUF[4]; /**< Shifter Buffer N Register, array offset: 0x200, array step: 0x4 */
  17817. uint8_t RESERVED_6[112];
  17818. __IO uint32_t SHIFTBUFBIS[4]; /**< Shifter Buffer N Bit Swapped Register, array offset: 0x280, array step: 0x4 */
  17819. uint8_t RESERVED_7[112];
  17820. __IO uint32_t SHIFTBUFBYS[4]; /**< Shifter Buffer N Byte Swapped Register, array offset: 0x300, array step: 0x4 */
  17821. uint8_t RESERVED_8[112];
  17822. __IO uint32_t SHIFTBUFBBS[4]; /**< Shifter Buffer N Bit Byte Swapped Register, array offset: 0x380, array step: 0x4 */
  17823. uint8_t RESERVED_9[112];
  17824. __IO uint32_t TIMCTL[4]; /**< Timer Control N Register, array offset: 0x400, array step: 0x4 */
  17825. uint8_t RESERVED_10[112];
  17826. __IO uint32_t TIMCFG[4]; /**< Timer Configuration N Register, array offset: 0x480, array step: 0x4 */
  17827. uint8_t RESERVED_11[112];
  17828. __IO uint32_t TIMCMP[4]; /**< Timer Compare N Register, array offset: 0x500, array step: 0x4 */
  17829. uint8_t RESERVED_12[368];
  17830. __IO uint32_t SHIFTBUFNBS[4]; /**< Shifter Buffer N Nibble Byte Swapped Register, array offset: 0x680, array step: 0x4 */
  17831. uint8_t RESERVED_13[112];
  17832. __IO uint32_t SHIFTBUFHWS[4]; /**< Shifter Buffer N Half Word Swapped Register, array offset: 0x700, array step: 0x4 */
  17833. uint8_t RESERVED_14[112];
  17834. __IO uint32_t SHIFTBUFNIS[4]; /**< Shifter Buffer N Nibble Swapped Register, array offset: 0x780, array step: 0x4 */
  17835. } FLEXIO_Type;
  17836. /* ----------------------------------------------------------------------------
  17837. -- FLEXIO Register Masks
  17838. ---------------------------------------------------------------------------- */
  17839. /*!
  17840. * @addtogroup FLEXIO_Register_Masks FLEXIO Register Masks
  17841. * @{
  17842. */
  17843. /*! @name VERID - Version ID Register */
  17844. /*! @{ */
  17845. #define FLEXIO_VERID_FEATURE_MASK (0xFFFFU)
  17846. #define FLEXIO_VERID_FEATURE_SHIFT (0U)
  17847. /*! FEATURE - Feature Specification Number
  17848. * 0b0000000000000000..Standard features implemented.
  17849. * 0b0000000000000001..Supports state, logic and parallel modes.
  17850. */
  17851. #define FLEXIO_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_FEATURE_SHIFT)) & FLEXIO_VERID_FEATURE_MASK)
  17852. #define FLEXIO_VERID_MINOR_MASK (0xFF0000U)
  17853. #define FLEXIO_VERID_MINOR_SHIFT (16U)
  17854. /*! MINOR - Minor Version Number
  17855. */
  17856. #define FLEXIO_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_MINOR_SHIFT)) & FLEXIO_VERID_MINOR_MASK)
  17857. #define FLEXIO_VERID_MAJOR_MASK (0xFF000000U)
  17858. #define FLEXIO_VERID_MAJOR_SHIFT (24U)
  17859. /*! MAJOR - Major Version Number
  17860. */
  17861. #define FLEXIO_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_MAJOR_SHIFT)) & FLEXIO_VERID_MAJOR_MASK)
  17862. /*! @} */
  17863. /*! @name PARAM - Parameter Register */
  17864. /*! @{ */
  17865. #define FLEXIO_PARAM_SHIFTER_MASK (0xFFU)
  17866. #define FLEXIO_PARAM_SHIFTER_SHIFT (0U)
  17867. /*! SHIFTER - Shifter Number
  17868. */
  17869. #define FLEXIO_PARAM_SHIFTER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_SHIFTER_SHIFT)) & FLEXIO_PARAM_SHIFTER_MASK)
  17870. #define FLEXIO_PARAM_TIMER_MASK (0xFF00U)
  17871. #define FLEXIO_PARAM_TIMER_SHIFT (8U)
  17872. /*! TIMER - Timer Number
  17873. */
  17874. #define FLEXIO_PARAM_TIMER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_TIMER_SHIFT)) & FLEXIO_PARAM_TIMER_MASK)
  17875. #define FLEXIO_PARAM_PIN_MASK (0xFF0000U)
  17876. #define FLEXIO_PARAM_PIN_SHIFT (16U)
  17877. /*! PIN - Pin Number
  17878. */
  17879. #define FLEXIO_PARAM_PIN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_PIN_SHIFT)) & FLEXIO_PARAM_PIN_MASK)
  17880. #define FLEXIO_PARAM_TRIGGER_MASK (0xFF000000U)
  17881. #define FLEXIO_PARAM_TRIGGER_SHIFT (24U)
  17882. /*! TRIGGER - Trigger Number
  17883. */
  17884. #define FLEXIO_PARAM_TRIGGER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_TRIGGER_SHIFT)) & FLEXIO_PARAM_TRIGGER_MASK)
  17885. /*! @} */
  17886. /*! @name CTRL - FlexIO Control Register */
  17887. /*! @{ */
  17888. #define FLEXIO_CTRL_FLEXEN_MASK (0x1U)
  17889. #define FLEXIO_CTRL_FLEXEN_SHIFT (0U)
  17890. /*! FLEXEN - FlexIO Enable
  17891. * 0b0..FlexIO module is disabled.
  17892. * 0b1..FlexIO module is enabled.
  17893. */
  17894. #define FLEXIO_CTRL_FLEXEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_FLEXEN_SHIFT)) & FLEXIO_CTRL_FLEXEN_MASK)
  17895. #define FLEXIO_CTRL_SWRST_MASK (0x2U)
  17896. #define FLEXIO_CTRL_SWRST_SHIFT (1U)
  17897. /*! SWRST - Software Reset
  17898. * 0b0..Software reset is disabled
  17899. * 0b1..Software reset is enabled, all FlexIO registers except the Control Register are reset.
  17900. */
  17901. #define FLEXIO_CTRL_SWRST(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_SWRST_SHIFT)) & FLEXIO_CTRL_SWRST_MASK)
  17902. #define FLEXIO_CTRL_FASTACC_MASK (0x4U)
  17903. #define FLEXIO_CTRL_FASTACC_SHIFT (2U)
  17904. /*! FASTACC - Fast Access
  17905. * 0b0..Configures for normal register accesses to FlexIO
  17906. * 0b1..Configures for fast register accesses to FlexIO
  17907. */
  17908. #define FLEXIO_CTRL_FASTACC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_FASTACC_SHIFT)) & FLEXIO_CTRL_FASTACC_MASK)
  17909. #define FLEXIO_CTRL_DBGE_MASK (0x40000000U)
  17910. #define FLEXIO_CTRL_DBGE_SHIFT (30U)
  17911. /*! DBGE - Debug Enable
  17912. * 0b0..FlexIO is disabled in debug modes.
  17913. * 0b1..FlexIO is enabled in debug modes
  17914. */
  17915. #define FLEXIO_CTRL_DBGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_DBGE_SHIFT)) & FLEXIO_CTRL_DBGE_MASK)
  17916. #define FLEXIO_CTRL_DOZEN_MASK (0x80000000U)
  17917. #define FLEXIO_CTRL_DOZEN_SHIFT (31U)
  17918. /*! DOZEN - Doze Enable
  17919. * 0b0..FlexIO enabled in Doze modes.
  17920. * 0b1..FlexIO disabled in Doze modes.
  17921. */
  17922. #define FLEXIO_CTRL_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_DOZEN_SHIFT)) & FLEXIO_CTRL_DOZEN_MASK)
  17923. /*! @} */
  17924. /*! @name PIN - Pin State Register */
  17925. /*! @{ */
  17926. #define FLEXIO_PIN_PDI_MASK (0xFFFFFFFFU) /* Merged from fields with different position or width, of widths (16, 32), largest definition used */
  17927. #define FLEXIO_PIN_PDI_SHIFT (0U)
  17928. /*! PDI - Pin Data Input
  17929. */
  17930. #define FLEXIO_PIN_PDI(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PIN_PDI_SHIFT)) & FLEXIO_PIN_PDI_MASK) /* Merged from fields with different position or width, of widths (16, 32), largest definition used */
  17931. /*! @} */
  17932. /*! @name SHIFTSTAT - Shifter Status Register */
  17933. /*! @{ */
  17934. #define FLEXIO_SHIFTSTAT_SSF_MASK (0xFU)
  17935. #define FLEXIO_SHIFTSTAT_SSF_SHIFT (0U)
  17936. /*! SSF - Shifter Status Flag
  17937. */
  17938. #define FLEXIO_SHIFTSTAT_SSF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSTAT_SSF_SHIFT)) & FLEXIO_SHIFTSTAT_SSF_MASK)
  17939. /*! @} */
  17940. /*! @name SHIFTERR - Shifter Error Register */
  17941. /*! @{ */
  17942. #define FLEXIO_SHIFTERR_SEF_MASK (0xFU)
  17943. #define FLEXIO_SHIFTERR_SEF_SHIFT (0U)
  17944. /*! SEF - Shifter Error Flags
  17945. */
  17946. #define FLEXIO_SHIFTERR_SEF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTERR_SEF_SHIFT)) & FLEXIO_SHIFTERR_SEF_MASK)
  17947. /*! @} */
  17948. /*! @name TIMSTAT - Timer Status Register */
  17949. /*! @{ */
  17950. #define FLEXIO_TIMSTAT_TSF_MASK (0xFU)
  17951. #define FLEXIO_TIMSTAT_TSF_SHIFT (0U)
  17952. /*! TSF - Timer Status Flags
  17953. */
  17954. #define FLEXIO_TIMSTAT_TSF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMSTAT_TSF_SHIFT)) & FLEXIO_TIMSTAT_TSF_MASK)
  17955. /*! @} */
  17956. /*! @name SHIFTSIEN - Shifter Status Interrupt Enable */
  17957. /*! @{ */
  17958. #define FLEXIO_SHIFTSIEN_SSIE_MASK (0xFU)
  17959. #define FLEXIO_SHIFTSIEN_SSIE_SHIFT (0U)
  17960. /*! SSIE - Shifter Status Interrupt Enable
  17961. */
  17962. #define FLEXIO_SHIFTSIEN_SSIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSIEN_SSIE_SHIFT)) & FLEXIO_SHIFTSIEN_SSIE_MASK)
  17963. /*! @} */
  17964. /*! @name SHIFTEIEN - Shifter Error Interrupt Enable */
  17965. /*! @{ */
  17966. #define FLEXIO_SHIFTEIEN_SEIE_MASK (0xFU)
  17967. #define FLEXIO_SHIFTEIEN_SEIE_SHIFT (0U)
  17968. /*! SEIE - Shifter Error Interrupt Enable
  17969. */
  17970. #define FLEXIO_SHIFTEIEN_SEIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTEIEN_SEIE_SHIFT)) & FLEXIO_SHIFTEIEN_SEIE_MASK)
  17971. /*! @} */
  17972. /*! @name TIMIEN - Timer Interrupt Enable Register */
  17973. /*! @{ */
  17974. #define FLEXIO_TIMIEN_TEIE_MASK (0xFU)
  17975. #define FLEXIO_TIMIEN_TEIE_SHIFT (0U)
  17976. /*! TEIE - Timer Status Interrupt Enable
  17977. */
  17978. #define FLEXIO_TIMIEN_TEIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMIEN_TEIE_SHIFT)) & FLEXIO_TIMIEN_TEIE_MASK)
  17979. /*! @} */
  17980. /*! @name SHIFTSDEN - Shifter Status DMA Enable */
  17981. /*! @{ */
  17982. #define FLEXIO_SHIFTSDEN_SSDE_MASK (0xFU)
  17983. #define FLEXIO_SHIFTSDEN_SSDE_SHIFT (0U)
  17984. /*! SSDE - Shifter Status DMA Enable
  17985. */
  17986. #define FLEXIO_SHIFTSDEN_SSDE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSDEN_SSDE_SHIFT)) & FLEXIO_SHIFTSDEN_SSDE_MASK)
  17987. /*! @} */
  17988. /*! @name SHIFTSTATE - Shifter State Register */
  17989. /*! @{ */
  17990. #define FLEXIO_SHIFTSTATE_STATE_MASK (0x7U)
  17991. #define FLEXIO_SHIFTSTATE_STATE_SHIFT (0U)
  17992. /*! STATE - Current State Pointer
  17993. */
  17994. #define FLEXIO_SHIFTSTATE_STATE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSTATE_STATE_SHIFT)) & FLEXIO_SHIFTSTATE_STATE_MASK)
  17995. /*! @} */
  17996. /*! @name SHIFTCTL - Shifter Control N Register */
  17997. /*! @{ */
  17998. #define FLEXIO_SHIFTCTL_SMOD_MASK (0x7U)
  17999. #define FLEXIO_SHIFTCTL_SMOD_SHIFT (0U)
  18000. /*! SMOD - Shifter Mode
  18001. * 0b000..Disabled.
  18002. * 0b001..Receive mode. Captures the current Shifter content into the SHIFTBUF on expiration of the Timer.
  18003. * 0b010..Transmit mode. Load SHIFTBUF contents into the Shifter on expiration of the Timer.
  18004. * 0b011..Reserved.
  18005. * 0b100..Match Store mode. Shifter data is compared to SHIFTBUF content on expiration of the Timer.
  18006. * 0b101..Match Continuous mode. Shifter data is continuously compared to SHIFTBUF contents.
  18007. * 0b110..State mode. SHIFTBUF contents are used for storing programmable state attributes.
  18008. * 0b111..Logic mode. SHIFTBUF contents are used for implementing programmable logic look up table.
  18009. */
  18010. #define FLEXIO_SHIFTCTL_SMOD(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_SMOD_SHIFT)) & FLEXIO_SHIFTCTL_SMOD_MASK)
  18011. #define FLEXIO_SHIFTCTL_PINPOL_MASK (0x80U)
  18012. #define FLEXIO_SHIFTCTL_PINPOL_SHIFT (7U)
  18013. /*! PINPOL - Shifter Pin Polarity
  18014. * 0b0..Pin is active high
  18015. * 0b1..Pin is active low
  18016. */
  18017. #define FLEXIO_SHIFTCTL_PINPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINPOL_SHIFT)) & FLEXIO_SHIFTCTL_PINPOL_MASK)
  18018. #define FLEXIO_SHIFTCTL_PINSEL_MASK (0x1F00U) /* Merged from fields with different position or width, of widths (4, 5), largest definition used */
  18019. #define FLEXIO_SHIFTCTL_PINSEL_SHIFT (8U)
  18020. /*! PINSEL - Shifter Pin Select
  18021. */
  18022. #define FLEXIO_SHIFTCTL_PINSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINSEL_SHIFT)) & FLEXIO_SHIFTCTL_PINSEL_MASK) /* Merged from fields with different position or width, of widths (4, 5), largest definition used */
  18023. #define FLEXIO_SHIFTCTL_PINCFG_MASK (0x30000U)
  18024. #define FLEXIO_SHIFTCTL_PINCFG_SHIFT (16U)
  18025. /*! PINCFG - Shifter Pin Configuration
  18026. * 0b00..Shifter pin output disabled
  18027. * 0b01..Shifter pin open drain or bidirectional output enable
  18028. * 0b10..Shifter pin bidirectional output data
  18029. * 0b11..Shifter pin output
  18030. */
  18031. #define FLEXIO_SHIFTCTL_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINCFG_SHIFT)) & FLEXIO_SHIFTCTL_PINCFG_MASK)
  18032. #define FLEXIO_SHIFTCTL_TIMPOL_MASK (0x800000U)
  18033. #define FLEXIO_SHIFTCTL_TIMPOL_SHIFT (23U)
  18034. /*! TIMPOL - Timer Polarity
  18035. * 0b0..Shift on posedge of Shift clock
  18036. * 0b1..Shift on negedge of Shift clock
  18037. */
  18038. #define FLEXIO_SHIFTCTL_TIMPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_TIMPOL_SHIFT)) & FLEXIO_SHIFTCTL_TIMPOL_MASK)
  18039. #define FLEXIO_SHIFTCTL_TIMSEL_MASK (0x3000000U)
  18040. #define FLEXIO_SHIFTCTL_TIMSEL_SHIFT (24U)
  18041. /*! TIMSEL - Timer Select
  18042. */
  18043. #define FLEXIO_SHIFTCTL_TIMSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_TIMSEL_SHIFT)) & FLEXIO_SHIFTCTL_TIMSEL_MASK)
  18044. /*! @} */
  18045. /* The count of FLEXIO_SHIFTCTL */
  18046. #define FLEXIO_SHIFTCTL_COUNT (4U)
  18047. /*! @name SHIFTCFG - Shifter Configuration N Register */
  18048. /*! @{ */
  18049. #define FLEXIO_SHIFTCFG_SSTART_MASK (0x3U)
  18050. #define FLEXIO_SHIFTCFG_SSTART_SHIFT (0U)
  18051. /*! SSTART - Shifter Start bit
  18052. * 0b00..Start bit disabled for transmitter/receiver/match store, transmitter loads data on enable
  18053. * 0b01..Start bit disabled for transmitter/receiver/match store, transmitter loads data on first shift
  18054. * 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
  18055. * 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
  18056. */
  18057. #define FLEXIO_SHIFTCFG_SSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_SSTART_SHIFT)) & FLEXIO_SHIFTCFG_SSTART_MASK)
  18058. #define FLEXIO_SHIFTCFG_SSTOP_MASK (0x30U)
  18059. #define FLEXIO_SHIFTCFG_SSTOP_SHIFT (4U)
  18060. /*! SSTOP - Shifter Stop bit
  18061. * 0b00..Stop bit disabled for transmitter/receiver/match store
  18062. * 0b01..Reserved for transmitter/receiver/match store
  18063. * 0b10..Transmitter outputs stop bit value 0 on store, receiver/match store sets error flag if stop bit is not 0
  18064. * 0b11..Transmitter outputs stop bit value 1 on store, receiver/match store sets error flag if stop bit is not 1
  18065. */
  18066. #define FLEXIO_SHIFTCFG_SSTOP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_SSTOP_SHIFT)) & FLEXIO_SHIFTCFG_SSTOP_MASK)
  18067. #define FLEXIO_SHIFTCFG_INSRC_MASK (0x100U)
  18068. #define FLEXIO_SHIFTCFG_INSRC_SHIFT (8U)
  18069. /*! INSRC - Input Source
  18070. * 0b0..Pin
  18071. * 0b1..Shifter N+1 Output
  18072. */
  18073. #define FLEXIO_SHIFTCFG_INSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_INSRC_SHIFT)) & FLEXIO_SHIFTCFG_INSRC_MASK)
  18074. #define FLEXIO_SHIFTCFG_PWIDTH_MASK (0x1F0000U) /* Merged from fields with different position or width, of widths (4, 5), largest definition used */
  18075. #define FLEXIO_SHIFTCFG_PWIDTH_SHIFT (16U)
  18076. /*! PWIDTH - Parallel Width
  18077. */
  18078. #define FLEXIO_SHIFTCFG_PWIDTH(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_PWIDTH_SHIFT)) & FLEXIO_SHIFTCFG_PWIDTH_MASK) /* Merged from fields with different position or width, of widths (4, 5), largest definition used */
  18079. /*! @} */
  18080. /* The count of FLEXIO_SHIFTCFG */
  18081. #define FLEXIO_SHIFTCFG_COUNT (4U)
  18082. /*! @name SHIFTBUF - Shifter Buffer N Register */
  18083. /*! @{ */
  18084. #define FLEXIO_SHIFTBUF_SHIFTBUF_MASK (0xFFFFFFFFU)
  18085. #define FLEXIO_SHIFTBUF_SHIFTBUF_SHIFT (0U)
  18086. /*! SHIFTBUF - Shift Buffer
  18087. */
  18088. #define FLEXIO_SHIFTBUF_SHIFTBUF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUF_SHIFTBUF_SHIFT)) & FLEXIO_SHIFTBUF_SHIFTBUF_MASK)
  18089. /*! @} */
  18090. /* The count of FLEXIO_SHIFTBUF */
  18091. #define FLEXIO_SHIFTBUF_COUNT (4U)
  18092. /*! @name SHIFTBUFBIS - Shifter Buffer N Bit Swapped Register */
  18093. /*! @{ */
  18094. #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_MASK (0xFFFFFFFFU)
  18095. #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_SHIFT (0U)
  18096. /*! SHIFTBUFBIS - Shift Buffer
  18097. */
  18098. #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_SHIFT)) & FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_MASK)
  18099. /*! @} */
  18100. /* The count of FLEXIO_SHIFTBUFBIS */
  18101. #define FLEXIO_SHIFTBUFBIS_COUNT (4U)
  18102. /*! @name SHIFTBUFBYS - Shifter Buffer N Byte Swapped Register */
  18103. /*! @{ */
  18104. #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_MASK (0xFFFFFFFFU)
  18105. #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_SHIFT (0U)
  18106. /*! SHIFTBUFBYS - Shift Buffer
  18107. */
  18108. #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_SHIFT)) & FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_MASK)
  18109. /*! @} */
  18110. /* The count of FLEXIO_SHIFTBUFBYS */
  18111. #define FLEXIO_SHIFTBUFBYS_COUNT (4U)
  18112. /*! @name SHIFTBUFBBS - Shifter Buffer N Bit Byte Swapped Register */
  18113. /*! @{ */
  18114. #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_MASK (0xFFFFFFFFU)
  18115. #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_SHIFT (0U)
  18116. /*! SHIFTBUFBBS - Shift Buffer
  18117. */
  18118. #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_SHIFT)) & FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_MASK)
  18119. /*! @} */
  18120. /* The count of FLEXIO_SHIFTBUFBBS */
  18121. #define FLEXIO_SHIFTBUFBBS_COUNT (4U)
  18122. /*! @name TIMCTL - Timer Control N Register */
  18123. /*! @{ */
  18124. #define FLEXIO_TIMCTL_TIMOD_MASK (0x3U)
  18125. #define FLEXIO_TIMCTL_TIMOD_SHIFT (0U)
  18126. /*! TIMOD - Timer Mode
  18127. * 0b00..Timer Disabled.
  18128. * 0b01..Dual 8-bit counters baud mode.
  18129. * 0b10..Dual 8-bit counters PWM high mode.
  18130. * 0b11..Single 16-bit counter mode.
  18131. */
  18132. #define FLEXIO_TIMCTL_TIMOD(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TIMOD_SHIFT)) & FLEXIO_TIMCTL_TIMOD_MASK)
  18133. #define FLEXIO_TIMCTL_PINPOL_MASK (0x80U)
  18134. #define FLEXIO_TIMCTL_PINPOL_SHIFT (7U)
  18135. /*! PINPOL - Timer Pin Polarity
  18136. * 0b0..Pin is active high
  18137. * 0b1..Pin is active low
  18138. */
  18139. #define FLEXIO_TIMCTL_PINPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINPOL_SHIFT)) & FLEXIO_TIMCTL_PINPOL_MASK)
  18140. #define FLEXIO_TIMCTL_PINSEL_MASK (0x1F00U) /* Merged from fields with different position or width, of widths (4, 5), largest definition used */
  18141. #define FLEXIO_TIMCTL_PINSEL_SHIFT (8U)
  18142. /*! PINSEL - Timer Pin Select
  18143. */
  18144. #define FLEXIO_TIMCTL_PINSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINSEL_SHIFT)) & FLEXIO_TIMCTL_PINSEL_MASK) /* Merged from fields with different position or width, of widths (4, 5), largest definition used */
  18145. #define FLEXIO_TIMCTL_PINCFG_MASK (0x30000U)
  18146. #define FLEXIO_TIMCTL_PINCFG_SHIFT (16U)
  18147. /*! PINCFG - Timer Pin Configuration
  18148. * 0b00..Timer pin output disabled
  18149. * 0b01..Timer pin open drain or bidirectional output enable
  18150. * 0b10..Timer pin bidirectional output data
  18151. * 0b11..Timer pin output
  18152. */
  18153. #define FLEXIO_TIMCTL_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINCFG_SHIFT)) & FLEXIO_TIMCTL_PINCFG_MASK)
  18154. #define FLEXIO_TIMCTL_TRGSRC_MASK (0x400000U)
  18155. #define FLEXIO_TIMCTL_TRGSRC_SHIFT (22U)
  18156. /*! TRGSRC - Trigger Source
  18157. * 0b0..External trigger selected
  18158. * 0b1..Internal trigger selected
  18159. */
  18160. #define FLEXIO_TIMCTL_TRGSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGSRC_SHIFT)) & FLEXIO_TIMCTL_TRGSRC_MASK)
  18161. #define FLEXIO_TIMCTL_TRGPOL_MASK (0x800000U)
  18162. #define FLEXIO_TIMCTL_TRGPOL_SHIFT (23U)
  18163. /*! TRGPOL - Trigger Polarity
  18164. * 0b0..Trigger active high
  18165. * 0b1..Trigger active low
  18166. */
  18167. #define FLEXIO_TIMCTL_TRGPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGPOL_SHIFT)) & FLEXIO_TIMCTL_TRGPOL_MASK)
  18168. #define FLEXIO_TIMCTL_TRGSEL_MASK (0x3F000000U) /* Merged from fields with different position or width, of widths (5, 6), largest definition used */
  18169. #define FLEXIO_TIMCTL_TRGSEL_SHIFT (24U)
  18170. /*! TRGSEL - Trigger Select
  18171. */
  18172. #define FLEXIO_TIMCTL_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGSEL_SHIFT)) & FLEXIO_TIMCTL_TRGSEL_MASK) /* Merged from fields with different position or width, of widths (5, 6), largest definition used */
  18173. /*! @} */
  18174. /* The count of FLEXIO_TIMCTL */
  18175. #define FLEXIO_TIMCTL_COUNT (4U)
  18176. /*! @name TIMCFG - Timer Configuration N Register */
  18177. /*! @{ */
  18178. #define FLEXIO_TIMCFG_TSTART_MASK (0x2U)
  18179. #define FLEXIO_TIMCFG_TSTART_SHIFT (1U)
  18180. /*! TSTART - Timer Start Bit
  18181. * 0b0..Start bit disabled
  18182. * 0b1..Start bit enabled
  18183. */
  18184. #define FLEXIO_TIMCFG_TSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TSTART_SHIFT)) & FLEXIO_TIMCFG_TSTART_MASK)
  18185. #define FLEXIO_TIMCFG_TSTOP_MASK (0x30U)
  18186. #define FLEXIO_TIMCFG_TSTOP_SHIFT (4U)
  18187. /*! TSTOP - Timer Stop Bit
  18188. * 0b00..Stop bit disabled
  18189. * 0b01..Stop bit is enabled on timer compare
  18190. * 0b10..Stop bit is enabled on timer disable
  18191. * 0b11..Stop bit is enabled on timer compare and timer disable
  18192. */
  18193. #define FLEXIO_TIMCFG_TSTOP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TSTOP_SHIFT)) & FLEXIO_TIMCFG_TSTOP_MASK)
  18194. #define FLEXIO_TIMCFG_TIMENA_MASK (0x700U)
  18195. #define FLEXIO_TIMCFG_TIMENA_SHIFT (8U)
  18196. /*! TIMENA - Timer Enable
  18197. * 0b000..Timer always enabled
  18198. * 0b001..Timer enabled on Timer N-1 enable
  18199. * 0b010..Timer enabled on Trigger high
  18200. * 0b011..Timer enabled on Trigger high and Pin high
  18201. * 0b100..Timer enabled on Pin rising edge
  18202. * 0b101..Timer enabled on Pin rising edge and Trigger high
  18203. * 0b110..Timer enabled on Trigger rising edge
  18204. * 0b111..Timer enabled on Trigger rising or falling edge
  18205. */
  18206. #define FLEXIO_TIMCFG_TIMENA(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMENA_SHIFT)) & FLEXIO_TIMCFG_TIMENA_MASK)
  18207. #define FLEXIO_TIMCFG_TIMDIS_MASK (0x7000U)
  18208. #define FLEXIO_TIMCFG_TIMDIS_SHIFT (12U)
  18209. /*! TIMDIS - Timer Disable
  18210. * 0b000..Timer never disabled
  18211. * 0b001..Timer disabled on Timer N-1 disable
  18212. * 0b010..Timer disabled on Timer compare (upper 8-bits match and decrement)
  18213. * 0b011..Timer disabled on Timer compare (upper 8-bits match and decrement) and Trigger Low
  18214. * 0b100..Timer disabled on Pin rising or falling edge
  18215. * 0b101..Timer disabled on Pin rising or falling edge provided Trigger is high
  18216. * 0b110..Timer disabled on Trigger falling edge
  18217. * 0b111..Reserved
  18218. */
  18219. #define FLEXIO_TIMCFG_TIMDIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMDIS_SHIFT)) & FLEXIO_TIMCFG_TIMDIS_MASK)
  18220. #define FLEXIO_TIMCFG_TIMRST_MASK (0x70000U)
  18221. #define FLEXIO_TIMCFG_TIMRST_SHIFT (16U)
  18222. /*! TIMRST - Timer Reset
  18223. * 0b000..Timer never reset
  18224. * 0b001..Reserved
  18225. * 0b010..Timer reset on Timer Pin equal to Timer Output
  18226. * 0b011..Timer reset on Timer Trigger equal to Timer Output
  18227. * 0b100..Timer reset on Timer Pin rising edge
  18228. * 0b101..Reserved
  18229. * 0b110..Timer reset on Trigger rising edge
  18230. * 0b111..Timer reset on Trigger rising or falling edge
  18231. */
  18232. #define FLEXIO_TIMCFG_TIMRST(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMRST_SHIFT)) & FLEXIO_TIMCFG_TIMRST_MASK)
  18233. #define FLEXIO_TIMCFG_TIMDEC_MASK (0x300000U)
  18234. #define FLEXIO_TIMCFG_TIMDEC_SHIFT (20U)
  18235. /*! TIMDEC - Timer Decrement
  18236. * 0b00..Decrement counter on FlexIO clock, Shift clock equals Timer output.
  18237. * 0b01..Decrement counter on Trigger input (both edges), Shift clock equals Timer output.
  18238. * 0b10..Decrement counter on Pin input (both edges), Shift clock equals Pin input.
  18239. * 0b11..Decrement counter on Trigger input (both edges), Shift clock equals Trigger input.
  18240. */
  18241. #define FLEXIO_TIMCFG_TIMDEC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMDEC_SHIFT)) & FLEXIO_TIMCFG_TIMDEC_MASK)
  18242. #define FLEXIO_TIMCFG_TIMOUT_MASK (0x3000000U)
  18243. #define FLEXIO_TIMCFG_TIMOUT_SHIFT (24U)
  18244. /*! TIMOUT - Timer Output
  18245. * 0b00..Timer output is logic one when enabled and is not affected by timer reset
  18246. * 0b01..Timer output is logic zero when enabled and is not affected by timer reset
  18247. * 0b10..Timer output is logic one when enabled and on timer reset
  18248. * 0b11..Timer output is logic zero when enabled and on timer reset
  18249. */
  18250. #define FLEXIO_TIMCFG_TIMOUT(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMOUT_SHIFT)) & FLEXIO_TIMCFG_TIMOUT_MASK)
  18251. /*! @} */
  18252. /* The count of FLEXIO_TIMCFG */
  18253. #define FLEXIO_TIMCFG_COUNT (4U)
  18254. /*! @name TIMCMP - Timer Compare N Register */
  18255. /*! @{ */
  18256. #define FLEXIO_TIMCMP_CMP_MASK (0xFFFFU)
  18257. #define FLEXIO_TIMCMP_CMP_SHIFT (0U)
  18258. /*! CMP - Timer Compare Value
  18259. */
  18260. #define FLEXIO_TIMCMP_CMP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCMP_CMP_SHIFT)) & FLEXIO_TIMCMP_CMP_MASK)
  18261. /*! @} */
  18262. /* The count of FLEXIO_TIMCMP */
  18263. #define FLEXIO_TIMCMP_COUNT (4U)
  18264. /*! @name SHIFTBUFNBS - Shifter Buffer N Nibble Byte Swapped Register */
  18265. /*! @{ */
  18266. #define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_MASK (0xFFFFFFFFU)
  18267. #define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_SHIFT (0U)
  18268. /*! SHIFTBUFNBS - Shift Buffer
  18269. */
  18270. #define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_SHIFT)) & FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_MASK)
  18271. /*! @} */
  18272. /* The count of FLEXIO_SHIFTBUFNBS */
  18273. #define FLEXIO_SHIFTBUFNBS_COUNT (4U)
  18274. /*! @name SHIFTBUFHWS - Shifter Buffer N Half Word Swapped Register */
  18275. /*! @{ */
  18276. #define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_MASK (0xFFFFFFFFU)
  18277. #define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_SHIFT (0U)
  18278. /*! SHIFTBUFHWS - Shift Buffer
  18279. */
  18280. #define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_SHIFT)) & FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_MASK)
  18281. /*! @} */
  18282. /* The count of FLEXIO_SHIFTBUFHWS */
  18283. #define FLEXIO_SHIFTBUFHWS_COUNT (4U)
  18284. /*! @name SHIFTBUFNIS - Shifter Buffer N Nibble Swapped Register */
  18285. /*! @{ */
  18286. #define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_MASK (0xFFFFFFFFU)
  18287. #define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_SHIFT (0U)
  18288. /*! SHIFTBUFNIS - Shift Buffer
  18289. */
  18290. #define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_SHIFT)) & FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_MASK)
  18291. /*! @} */
  18292. /* The count of FLEXIO_SHIFTBUFNIS */
  18293. #define FLEXIO_SHIFTBUFNIS_COUNT (4U)
  18294. /*!
  18295. * @}
  18296. */ /* end of group FLEXIO_Register_Masks */
  18297. /* FLEXIO - Peripheral instance base addresses */
  18298. /** Peripheral FLEXIO1 base address */
  18299. #define FLEXIO1_BASE (0x401AC000u)
  18300. /** Peripheral FLEXIO1 base pointer */
  18301. #define FLEXIO1 ((FLEXIO_Type *)FLEXIO1_BASE)
  18302. /** Peripheral FLEXIO2 base address */
  18303. #define FLEXIO2_BASE (0x401B0000u)
  18304. /** Peripheral FLEXIO2 base pointer */
  18305. #define FLEXIO2 ((FLEXIO_Type *)FLEXIO2_BASE)
  18306. /** Peripheral FLEXIO3 base address */
  18307. #define FLEXIO3_BASE (0x42020000u)
  18308. /** Peripheral FLEXIO3 base pointer */
  18309. #define FLEXIO3 ((FLEXIO_Type *)FLEXIO3_BASE)
  18310. /** Array initializer of FLEXIO peripheral base addresses */
  18311. #define FLEXIO_BASE_ADDRS { 0u, FLEXIO1_BASE, FLEXIO2_BASE, FLEXIO3_BASE }
  18312. /** Array initializer of FLEXIO peripheral base pointers */
  18313. #define FLEXIO_BASE_PTRS { (FLEXIO_Type *)0u, FLEXIO1, FLEXIO2, FLEXIO3 }
  18314. /** Interrupt vectors for the FLEXIO peripheral type */
  18315. #define FLEXIO_IRQS { NotAvail_IRQn, FLEXIO1_IRQn, FLEXIO2_IRQn, FLEXIO3_IRQn }
  18316. /*!
  18317. * @}
  18318. */ /* end of group FLEXIO_Peripheral_Access_Layer */
  18319. /* ----------------------------------------------------------------------------
  18320. -- FLEXRAM Peripheral Access Layer
  18321. ---------------------------------------------------------------------------- */
  18322. /*!
  18323. * @addtogroup FLEXRAM_Peripheral_Access_Layer FLEXRAM Peripheral Access Layer
  18324. * @{
  18325. */
  18326. /** FLEXRAM - Register Layout Typedef */
  18327. typedef struct {
  18328. __IO uint32_t TCM_CTRL; /**< TCM CRTL Register, offset: 0x0 */
  18329. uint8_t RESERVED_0[12];
  18330. __IO uint32_t INT_STATUS; /**< Interrupt Status Register, offset: 0x10 */
  18331. __IO uint32_t INT_STAT_EN; /**< Interrupt Status Enable Register, offset: 0x14 */
  18332. __IO uint32_t INT_SIG_EN; /**< Interrupt Enable Register, offset: 0x18 */
  18333. } FLEXRAM_Type;
  18334. /* ----------------------------------------------------------------------------
  18335. -- FLEXRAM Register Masks
  18336. ---------------------------------------------------------------------------- */
  18337. /*!
  18338. * @addtogroup FLEXRAM_Register_Masks FLEXRAM Register Masks
  18339. * @{
  18340. */
  18341. /*! @name TCM_CTRL - TCM CRTL Register */
  18342. /*! @{ */
  18343. #define FLEXRAM_TCM_CTRL_TCM_WWAIT_EN_MASK (0x1U)
  18344. #define FLEXRAM_TCM_CTRL_TCM_WWAIT_EN_SHIFT (0U)
  18345. /*! TCM_WWAIT_EN - TCM Write Wait Mode Enable
  18346. * 0b0..TCM write fast mode: Write RAM accesses are expected to be finished in 1-cycle.
  18347. * 0b1..TCM write wait mode: Write RAM accesses are expected to be finished in 2-cycles.
  18348. */
  18349. #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)
  18350. #define FLEXRAM_TCM_CTRL_TCM_RWAIT_EN_MASK (0x2U)
  18351. #define FLEXRAM_TCM_CTRL_TCM_RWAIT_EN_SHIFT (1U)
  18352. /*! TCM_RWAIT_EN - TCM Read Wait Mode Enable
  18353. * 0b0..TCM read fast mode: Read RAM accesses are expected to be finished in 1-cycle.
  18354. * 0b1..TCM read wait mode: Read RAM accesses are expected to be finished in 2-cycles.
  18355. */
  18356. #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)
  18357. #define FLEXRAM_TCM_CTRL_FORCE_CLK_ON_MASK (0x4U)
  18358. #define FLEXRAM_TCM_CTRL_FORCE_CLK_ON_SHIFT (2U)
  18359. /*! FORCE_CLK_ON - Force RAM Clock Always On
  18360. */
  18361. #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)
  18362. /*! @} */
  18363. /*! @name INT_STATUS - Interrupt Status Register */
  18364. /*! @{ */
  18365. #define FLEXRAM_INT_STATUS_ITCM_ERR_STATUS_MASK (0x8U)
  18366. #define FLEXRAM_INT_STATUS_ITCM_ERR_STATUS_SHIFT (3U)
  18367. /*! ITCM_ERR_STATUS - ITCM Access Error Status
  18368. * 0b0..ITCM access error does not happen
  18369. * 0b1..ITCM access error happens.
  18370. */
  18371. #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)
  18372. #define FLEXRAM_INT_STATUS_DTCM_ERR_STATUS_MASK (0x10U)
  18373. #define FLEXRAM_INT_STATUS_DTCM_ERR_STATUS_SHIFT (4U)
  18374. /*! DTCM_ERR_STATUS - DTCM Access Error Status
  18375. * 0b0..DTCM access error does not happen
  18376. * 0b1..DTCM access error happens.
  18377. */
  18378. #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)
  18379. #define FLEXRAM_INT_STATUS_OCRAM_ERR_STATUS_MASK (0x20U)
  18380. #define FLEXRAM_INT_STATUS_OCRAM_ERR_STATUS_SHIFT (5U)
  18381. /*! OCRAM_ERR_STATUS - OCRAM Access Error Status
  18382. * 0b0..OCRAM access error does not happen
  18383. * 0b1..OCRAM access error happens.
  18384. */
  18385. #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)
  18386. /*! @} */
  18387. /*! @name INT_STAT_EN - Interrupt Status Enable Register */
  18388. /*! @{ */
  18389. #define FLEXRAM_INT_STAT_EN_ITCM_ERR_STAT_EN_MASK (0x8U)
  18390. #define FLEXRAM_INT_STAT_EN_ITCM_ERR_STAT_EN_SHIFT (3U)
  18391. /*! ITCM_ERR_STAT_EN - ITCM Access Error Status Enable
  18392. * 0b0..Masked
  18393. * 0b1..Enabled
  18394. */
  18395. #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)
  18396. #define FLEXRAM_INT_STAT_EN_DTCM_ERR_STAT_EN_MASK (0x10U)
  18397. #define FLEXRAM_INT_STAT_EN_DTCM_ERR_STAT_EN_SHIFT (4U)
  18398. /*! DTCM_ERR_STAT_EN - DTCM Access Error Status Enable
  18399. * 0b0..Masked
  18400. * 0b1..Enabled
  18401. */
  18402. #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)
  18403. #define FLEXRAM_INT_STAT_EN_OCRAM_ERR_STAT_EN_MASK (0x20U)
  18404. #define FLEXRAM_INT_STAT_EN_OCRAM_ERR_STAT_EN_SHIFT (5U)
  18405. /*! OCRAM_ERR_STAT_EN - OCRAM Access Error Status Enable
  18406. * 0b0..Masked
  18407. * 0b1..Enabled
  18408. */
  18409. #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)
  18410. /*! @} */
  18411. /*! @name INT_SIG_EN - Interrupt Enable Register */
  18412. /*! @{ */
  18413. #define FLEXRAM_INT_SIG_EN_ITCM_ERR_SIG_EN_MASK (0x8U)
  18414. #define FLEXRAM_INT_SIG_EN_ITCM_ERR_SIG_EN_SHIFT (3U)
  18415. /*! ITCM_ERR_SIG_EN - ITCM Access Error Interrupt Enable
  18416. * 0b0..Masked
  18417. * 0b1..Enabled
  18418. */
  18419. #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)
  18420. #define FLEXRAM_INT_SIG_EN_DTCM_ERR_SIG_EN_MASK (0x10U)
  18421. #define FLEXRAM_INT_SIG_EN_DTCM_ERR_SIG_EN_SHIFT (4U)
  18422. /*! DTCM_ERR_SIG_EN - DTCM Access Error Interrupt Enable
  18423. * 0b0..Masked
  18424. * 0b1..Enabled
  18425. */
  18426. #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)
  18427. #define FLEXRAM_INT_SIG_EN_OCRAM_ERR_SIG_EN_MASK (0x20U)
  18428. #define FLEXRAM_INT_SIG_EN_OCRAM_ERR_SIG_EN_SHIFT (5U)
  18429. /*! OCRAM_ERR_SIG_EN - OCRAM Access Error Interrupt Enable
  18430. * 0b0..Masked
  18431. * 0b1..Enabled
  18432. */
  18433. #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)
  18434. /*! @} */
  18435. /*!
  18436. * @}
  18437. */ /* end of group FLEXRAM_Register_Masks */
  18438. /* FLEXRAM - Peripheral instance base addresses */
  18439. /** Peripheral FLEXRAM base address */
  18440. #define FLEXRAM_BASE (0x400B0000u)
  18441. /** Peripheral FLEXRAM base pointer */
  18442. #define FLEXRAM ((FLEXRAM_Type *)FLEXRAM_BASE)
  18443. /** Array initializer of FLEXRAM peripheral base addresses */
  18444. #define FLEXRAM_BASE_ADDRS { FLEXRAM_BASE }
  18445. /** Array initializer of FLEXRAM peripheral base pointers */
  18446. #define FLEXRAM_BASE_PTRS { FLEXRAM }
  18447. /** Interrupt vectors for the FLEXRAM peripheral type */
  18448. #define FLEXRAM_IRQS { FLEXRAM_IRQn }
  18449. /*!
  18450. * @}
  18451. */ /* end of group FLEXRAM_Peripheral_Access_Layer */
  18452. /* ----------------------------------------------------------------------------
  18453. -- FLEXSPI Peripheral Access Layer
  18454. ---------------------------------------------------------------------------- */
  18455. /*!
  18456. * @addtogroup FLEXSPI_Peripheral_Access_Layer FLEXSPI Peripheral Access Layer
  18457. * @{
  18458. */
  18459. /** FLEXSPI - Register Layout Typedef */
  18460. typedef struct {
  18461. __IO uint32_t MCR0; /**< Module Control Register 0, offset: 0x0 */
  18462. __IO uint32_t MCR1; /**< Module Control Register 1, offset: 0x4 */
  18463. __IO uint32_t MCR2; /**< Module Control Register 2, offset: 0x8 */
  18464. __IO uint32_t AHBCR; /**< AHB Bus Control Register, offset: 0xC */
  18465. __IO uint32_t INTEN; /**< Interrupt Enable Register, offset: 0x10 */
  18466. __IO uint32_t INTR; /**< Interrupt Register, offset: 0x14 */
  18467. __IO uint32_t LUTKEY; /**< LUT Key Register, offset: 0x18 */
  18468. __IO uint32_t LUTCR; /**< LUT Control Register, offset: 0x1C */
  18469. __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 */
  18470. uint8_t RESERVED_0[48];
  18471. __IO uint32_t FLSHCR0[4]; /**< Flash A1 Control Register 0..Flash B2 Control Register 0, array offset: 0x60, array step: 0x4 */
  18472. __IO uint32_t FLSHCR1[4]; /**< Flash A1 Control Register 1..Flash B2 Control Register 1, array offset: 0x70, array step: 0x4 */
  18473. __IO uint32_t FLSHCR2[4]; /**< Flash A1 Control Register 2..Flash B2 Control Register 2, array offset: 0x80, array step: 0x4 */
  18474. uint8_t RESERVED_1[4];
  18475. __IO uint32_t FLSHCR4; /**< Flash Control Register 4, offset: 0x94 */
  18476. uint8_t RESERVED_2[8];
  18477. __IO uint32_t IPCR0; /**< IP Control Register 0, offset: 0xA0 */
  18478. __IO uint32_t IPCR1; /**< IP Control Register 1, offset: 0xA4 */
  18479. uint8_t RESERVED_3[8];
  18480. __IO uint32_t IPCMD; /**< IP Command Register, offset: 0xB0 */
  18481. uint8_t RESERVED_4[4];
  18482. __IO uint32_t IPRXFCR; /**< IP RX FIFO Control Register, offset: 0xB8 */
  18483. __IO uint32_t IPTXFCR; /**< IP TX FIFO Control Register, offset: 0xBC */
  18484. __IO uint32_t DLLCR[2]; /**< DLL Control Register 0, array offset: 0xC0, array step: 0x4 */
  18485. uint8_t RESERVED_5[24];
  18486. __I uint32_t STS0; /**< Status Register 0, offset: 0xE0 */
  18487. __I uint32_t STS1; /**< Status Register 1, offset: 0xE4 */
  18488. __I uint32_t STS2; /**< Status Register 2, offset: 0xE8 */
  18489. __I uint32_t AHBSPNDSTS; /**< AHB Suspend Status Register, offset: 0xEC */
  18490. __I uint32_t IPRXFSTS; /**< IP RX FIFO Status Register, offset: 0xF0 */
  18491. __I uint32_t IPTXFSTS; /**< IP TX FIFO Status Register, offset: 0xF4 */
  18492. uint8_t RESERVED_6[8];
  18493. __I uint32_t RFDR[32]; /**< IP RX FIFO Data Register 0..IP RX FIFO Data Register 31, array offset: 0x100, array step: 0x4 */
  18494. __O uint32_t TFDR[32]; /**< IP TX FIFO Data Register 0..IP TX FIFO Data Register 31, array offset: 0x180, array step: 0x4 */
  18495. __IO uint32_t LUT[64]; /**< LUT 0..LUT 63, array offset: 0x200, array step: 0x4 */
  18496. } FLEXSPI_Type;
  18497. /* ----------------------------------------------------------------------------
  18498. -- FLEXSPI Register Masks
  18499. ---------------------------------------------------------------------------- */
  18500. /*!
  18501. * @addtogroup FLEXSPI_Register_Masks FLEXSPI Register Masks
  18502. * @{
  18503. */
  18504. /*! @name MCR0 - Module Control Register 0 */
  18505. /*! @{ */
  18506. #define FLEXSPI_MCR0_SWRESET_MASK (0x1U)
  18507. #define FLEXSPI_MCR0_SWRESET_SHIFT (0U)
  18508. /*! SWRESET - Software Reset
  18509. */
  18510. #define FLEXSPI_MCR0_SWRESET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_SWRESET_SHIFT)) & FLEXSPI_MCR0_SWRESET_MASK)
  18511. #define FLEXSPI_MCR0_MDIS_MASK (0x2U)
  18512. #define FLEXSPI_MCR0_MDIS_SHIFT (1U)
  18513. /*! MDIS - Module Disable
  18514. */
  18515. #define FLEXSPI_MCR0_MDIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_MDIS_SHIFT)) & FLEXSPI_MCR0_MDIS_MASK)
  18516. #define FLEXSPI_MCR0_RXCLKSRC_MASK (0x30U)
  18517. #define FLEXSPI_MCR0_RXCLKSRC_SHIFT (4U)
  18518. /*! RXCLKSRC - Sample Clock source selection for Flash Reading
  18519. * 0b00..Dummy Read strobe generated by FlexSPI Controller and loopback internally.
  18520. * 0b01..Dummy Read strobe generated by FlexSPI Controller and loopback from DQS pad.
  18521. * 0b10..Reserved
  18522. * 0b11..Flash provided Read strobe and input from DQS pad
  18523. */
  18524. #define FLEXSPI_MCR0_RXCLKSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_RXCLKSRC_SHIFT)) & FLEXSPI_MCR0_RXCLKSRC_MASK)
  18525. #define FLEXSPI_MCR0_ARDFEN_MASK (0x40U)
  18526. #define FLEXSPI_MCR0_ARDFEN_SHIFT (6U)
  18527. /*! ARDFEN - Enable AHB bus Read Access to IP RX FIFO.
  18528. * 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.
  18529. * 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.
  18530. */
  18531. #define FLEXSPI_MCR0_ARDFEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_ARDFEN_SHIFT)) & FLEXSPI_MCR0_ARDFEN_MASK)
  18532. #define FLEXSPI_MCR0_ATDFEN_MASK (0x80U)
  18533. #define FLEXSPI_MCR0_ATDFEN_SHIFT (7U)
  18534. /*! ATDFEN - Enable AHB bus Write Access to IP TX FIFO.
  18535. * 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.
  18536. * 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.
  18537. */
  18538. #define FLEXSPI_MCR0_ATDFEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_ATDFEN_SHIFT)) & FLEXSPI_MCR0_ATDFEN_MASK)
  18539. #define FLEXSPI_MCR0_HSEN_MASK (0x800U)
  18540. #define FLEXSPI_MCR0_HSEN_SHIFT (11U)
  18541. /*! HSEN - Half Speed Serial Flash access Enable.
  18542. * 0b0..Disable divide by 2 of serial flash clock for half speed commands.
  18543. * 0b1..Enable divide by 2 of serial flash clock for half speed commands.
  18544. */
  18545. #define FLEXSPI_MCR0_HSEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_HSEN_SHIFT)) & FLEXSPI_MCR0_HSEN_MASK)
  18546. #define FLEXSPI_MCR0_DOZEEN_MASK (0x1000U)
  18547. #define FLEXSPI_MCR0_DOZEEN_SHIFT (12U)
  18548. /*! DOZEEN - Doze mode enable bit
  18549. * 0b0..Doze mode support disabled. AHB clock and serial clock will not be gated off when there is doze mode request from system.
  18550. * 0b1..Doze mode support enabled. AHB clock and serial clock will be gated off when there is doze mode request from system.
  18551. */
  18552. #define FLEXSPI_MCR0_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_DOZEEN_SHIFT)) & FLEXSPI_MCR0_DOZEEN_MASK)
  18553. #define FLEXSPI_MCR0_COMBINATIONEN_MASK (0x2000U)
  18554. #define FLEXSPI_MCR0_COMBINATIONEN_SHIFT (13U)
  18555. /*! COMBINATIONEN - This bit is to support Flash Octal mode access by combining Port A and B Data pins (SIOA[3:0] and SIOB[3:0]).
  18556. * 0b0..Disable.
  18557. * 0b1..Enable.
  18558. */
  18559. #define FLEXSPI_MCR0_COMBINATIONEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_COMBINATIONEN_SHIFT)) & FLEXSPI_MCR0_COMBINATIONEN_MASK)
  18560. #define FLEXSPI_MCR0_SCKFREERUNEN_MASK (0x4000U)
  18561. #define FLEXSPI_MCR0_SCKFREERUNEN_SHIFT (14U)
  18562. /*! SCKFREERUNEN - This bit is used to force SCK output free-running. For FPGA applications,
  18563. * external device may use SCK clock as reference clock to its internal PLL. If SCK free-running is
  18564. * enabled, data sampling with loopback clock from SCK pad is not supported (MCR0[RXCLKSRC]=2).
  18565. * 0b0..Disable.
  18566. * 0b1..Enable.
  18567. */
  18568. #define FLEXSPI_MCR0_SCKFREERUNEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_SCKFREERUNEN_SHIFT)) & FLEXSPI_MCR0_SCKFREERUNEN_MASK)
  18569. #define FLEXSPI_MCR0_IPGRANTWAIT_MASK (0xFF0000U)
  18570. #define FLEXSPI_MCR0_IPGRANTWAIT_SHIFT (16U)
  18571. /*! IPGRANTWAIT - Time out wait cycle for IP command grant.
  18572. */
  18573. #define FLEXSPI_MCR0_IPGRANTWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_IPGRANTWAIT_SHIFT)) & FLEXSPI_MCR0_IPGRANTWAIT_MASK)
  18574. #define FLEXSPI_MCR0_AHBGRANTWAIT_MASK (0xFF000000U)
  18575. #define FLEXSPI_MCR0_AHBGRANTWAIT_SHIFT (24U)
  18576. /*! AHBGRANTWAIT - Timeout wait cycle for AHB command grant.
  18577. */
  18578. #define FLEXSPI_MCR0_AHBGRANTWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_AHBGRANTWAIT_SHIFT)) & FLEXSPI_MCR0_AHBGRANTWAIT_MASK)
  18579. /*! @} */
  18580. /*! @name MCR1 - Module Control Register 1 */
  18581. /*! @{ */
  18582. #define FLEXSPI_MCR1_AHBBUSWAIT_MASK (0xFFFFU)
  18583. #define FLEXSPI_MCR1_AHBBUSWAIT_SHIFT (0U)
  18584. #define FLEXSPI_MCR1_AHBBUSWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR1_AHBBUSWAIT_SHIFT)) & FLEXSPI_MCR1_AHBBUSWAIT_MASK)
  18585. #define FLEXSPI_MCR1_SEQWAIT_MASK (0xFFFF0000U)
  18586. #define FLEXSPI_MCR1_SEQWAIT_SHIFT (16U)
  18587. #define FLEXSPI_MCR1_SEQWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR1_SEQWAIT_SHIFT)) & FLEXSPI_MCR1_SEQWAIT_MASK)
  18588. /*! @} */
  18589. /*! @name MCR2 - Module Control Register 2 */
  18590. /*! @{ */
  18591. #define FLEXSPI_MCR2_CLRAHBBUFOPT_MASK (0x800U)
  18592. #define FLEXSPI_MCR2_CLRAHBBUFOPT_SHIFT (11U)
  18593. /*! CLRAHBBUFOPT - This bit determines whether AHB RX Buffer and AHB TX Buffer will be cleaned
  18594. * automaticaly when FlexSPI returns STOP mode ACK. Software should set this bit if AHB RX Buffer or
  18595. * AHB TX Buffer will be powered off in STOP mode. Otherwise AHB read access after exiting STOP
  18596. * mode may hit AHB RX Buffer or AHB TX Buffer but their data entries are invalid.
  18597. * 0b0..AHB RX/TX Buffer will not be cleaned automatically when FlexSPI return Stop mode ACK.
  18598. * 0b1..AHB RX/TX Buffer will be cleaned automatically when FlexSPI return Stop mode ACK.
  18599. */
  18600. #define FLEXSPI_MCR2_CLRAHBBUFOPT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_CLRAHBBUFOPT_SHIFT)) & FLEXSPI_MCR2_CLRAHBBUFOPT_MASK)
  18601. #define FLEXSPI_MCR2_CLRLEARNPHASE_MASK (0x4000U)
  18602. #define FLEXSPI_MCR2_CLRLEARNPHASE_SHIFT (14U)
  18603. /*! CLRLEARNPHASE - The sampling clock phase selection will be reset to phase 0 when this bit is
  18604. * written with 0x1. This bit will be auto-cleared immediately.
  18605. */
  18606. #define FLEXSPI_MCR2_CLRLEARNPHASE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_CLRLEARNPHASE_SHIFT)) & FLEXSPI_MCR2_CLRLEARNPHASE_MASK)
  18607. #define FLEXSPI_MCR2_SAMEDEVICEEN_MASK (0x8000U)
  18608. #define FLEXSPI_MCR2_SAMEDEVICEEN_SHIFT (15U)
  18609. /*! SAMEDEVICEEN - All external devices are same devices (both in types and size) for A1/A2/B1/B2.
  18610. * 0b0..In Individual mode, FLSHA1CRx/FLSHA2CRx/FLSHB1CRx/FLSHB2CRx register setting will be applied to Flash
  18611. * A1/A2/B1/B2 seperately. In Parallel mode, FLSHA1CRx register setting will be applied to Flash A1 and B1,
  18612. * FLSHA2CRx register setting will be applied to Flash A2 and B2. FLSHB1CRx/FLSHB2CRx register settings will be
  18613. * ignored.
  18614. * 0b1..FLSHA1CR0/FLSHA1CR1/FLSHA1CR2 register settings will be applied to Flash A1/A2/B1/B2. FLSHA2CRx/FLSHB1CRx/FLSHB2CRx will be ignored.
  18615. */
  18616. #define FLEXSPI_MCR2_SAMEDEVICEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_SAMEDEVICEEN_SHIFT)) & FLEXSPI_MCR2_SAMEDEVICEEN_MASK)
  18617. #define FLEXSPI_MCR2_SCKBDIFFOPT_MASK (0x80000U)
  18618. #define FLEXSPI_MCR2_SCKBDIFFOPT_SHIFT (19U)
  18619. /*! SCKBDIFFOPT - SCKB pad can be used as SCKA differential clock output (inverted clock to SCKA).
  18620. * In this case, port B flash access is not available. After change the value of this feild,
  18621. * MCR0[SWRESET] should be set.
  18622. * 0b1..SCKB pad is used as port A SCK inverted clock output (Differential clock to SCKA). Port B flash access is not available.
  18623. * 0b0..SCKB pad is used as port B SCK clock output. Port B flash access is available.
  18624. */
  18625. #define FLEXSPI_MCR2_SCKBDIFFOPT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_SCKBDIFFOPT_SHIFT)) & FLEXSPI_MCR2_SCKBDIFFOPT_MASK)
  18626. #define FLEXSPI_MCR2_RESUMEWAIT_MASK (0xFF000000U)
  18627. #define FLEXSPI_MCR2_RESUMEWAIT_SHIFT (24U)
  18628. /*! RESUMEWAIT - Wait cycle (in AHB clock cycle) for idle state before suspended command sequence resumed.
  18629. */
  18630. #define FLEXSPI_MCR2_RESUMEWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_RESUMEWAIT_SHIFT)) & FLEXSPI_MCR2_RESUMEWAIT_MASK)
  18631. /*! @} */
  18632. /*! @name AHBCR - AHB Bus Control Register */
  18633. /*! @{ */
  18634. #define FLEXSPI_AHBCR_APAREN_MASK (0x1U)
  18635. #define FLEXSPI_AHBCR_APAREN_SHIFT (0U)
  18636. /*! APAREN - Parallel mode enabled for AHB triggered Command (both read and write) .
  18637. * 0b0..Flash will be accessed in Individual mode.
  18638. * 0b1..Flash will be accessed in Parallel mode.
  18639. */
  18640. #define FLEXSPI_AHBCR_APAREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_APAREN_SHIFT)) & FLEXSPI_AHBCR_APAREN_MASK)
  18641. #define FLEXSPI_AHBCR_CACHABLEEN_MASK (0x8U)
  18642. #define FLEXSPI_AHBCR_CACHABLEEN_SHIFT (3U)
  18643. /*! CACHABLEEN - Enable AHB bus cachable read access support.
  18644. * 0b0..Disabled. When there is AHB bus cachable read access, FlexSPI will not check whether it hit AHB TX Buffer.
  18645. * 0b1..Enabled. When there is AHB bus cachable read access, FlexSPI will check whether it hit AHB TX Buffer first.
  18646. */
  18647. #define FLEXSPI_AHBCR_CACHABLEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_CACHABLEEN_SHIFT)) & FLEXSPI_AHBCR_CACHABLEEN_MASK)
  18648. #define FLEXSPI_AHBCR_BUFFERABLEEN_MASK (0x10U)
  18649. #define FLEXSPI_AHBCR_BUFFERABLEEN_SHIFT (4U)
  18650. /*! BUFFERABLEEN - Enable AHB bus bufferable write access support. This field affects the last beat
  18651. * of AHB write access, refer for more details about AHB bufferable write.
  18652. * 0b0..Disabled. For all AHB write access (no matter bufferable or non-bufferable ), FlexSPI will return AHB Bus
  18653. * ready after all data is transmitted to External device and AHB command finished.
  18654. * 0b1..Enabled. For AHB bufferable write access, FlexSPI will return AHB Bus ready when the AHB command is
  18655. * granted by arbitrator and will not wait for AHB command finished.
  18656. */
  18657. #define FLEXSPI_AHBCR_BUFFERABLEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_BUFFERABLEEN_SHIFT)) & FLEXSPI_AHBCR_BUFFERABLEEN_MASK)
  18658. #define FLEXSPI_AHBCR_PREFETCHEN_MASK (0x20U)
  18659. #define FLEXSPI_AHBCR_PREFETCHEN_SHIFT (5U)
  18660. /*! PREFETCHEN - AHB Read Prefetch Enable.
  18661. */
  18662. #define FLEXSPI_AHBCR_PREFETCHEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_PREFETCHEN_SHIFT)) & FLEXSPI_AHBCR_PREFETCHEN_MASK)
  18663. #define FLEXSPI_AHBCR_READADDROPT_MASK (0x40U)
  18664. #define FLEXSPI_AHBCR_READADDROPT_SHIFT (6U)
  18665. /*! READADDROPT - AHB Read Address option bit. This option bit is intend to remove AHB burst start address alignment limitation.
  18666. * 0b0..There is AHB read burst start address alignment limitation when flash is accessed in parallel mode or flash is wordaddressable.
  18667. * 0b1..There is no AHB read burst start address alignment limitation. FlexSPI will fetch more datas than AHB
  18668. * burst required to meet the alignment requirement.
  18669. */
  18670. #define FLEXSPI_AHBCR_READADDROPT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_READADDROPT_SHIFT)) & FLEXSPI_AHBCR_READADDROPT_MASK)
  18671. /*! @} */
  18672. /*! @name INTEN - Interrupt Enable Register */
  18673. /*! @{ */
  18674. #define FLEXSPI_INTEN_IPCMDDONEEN_MASK (0x1U)
  18675. #define FLEXSPI_INTEN_IPCMDDONEEN_SHIFT (0U)
  18676. /*! IPCMDDONEEN - IP triggered Command Sequences Execution finished interrupt enable.
  18677. */
  18678. #define FLEXSPI_INTEN_IPCMDDONEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDDONEEN_SHIFT)) & FLEXSPI_INTEN_IPCMDDONEEN_MASK)
  18679. #define FLEXSPI_INTEN_IPCMDGEEN_MASK (0x2U)
  18680. #define FLEXSPI_INTEN_IPCMDGEEN_SHIFT (1U)
  18681. /*! IPCMDGEEN - IP triggered Command Sequences Grant Timeout interrupt enable.
  18682. */
  18683. #define FLEXSPI_INTEN_IPCMDGEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDGEEN_SHIFT)) & FLEXSPI_INTEN_IPCMDGEEN_MASK)
  18684. #define FLEXSPI_INTEN_AHBCMDGEEN_MASK (0x4U)
  18685. #define FLEXSPI_INTEN_AHBCMDGEEN_SHIFT (2U)
  18686. /*! AHBCMDGEEN - AHB triggered Command Sequences Grant Timeout interrupt enable.
  18687. */
  18688. #define FLEXSPI_INTEN_AHBCMDGEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_AHBCMDGEEN_SHIFT)) & FLEXSPI_INTEN_AHBCMDGEEN_MASK)
  18689. #define FLEXSPI_INTEN_IPCMDERREN_MASK (0x8U)
  18690. #define FLEXSPI_INTEN_IPCMDERREN_SHIFT (3U)
  18691. /*! IPCMDERREN - IP triggered Command Sequences Error Detected interrupt enable.
  18692. */
  18693. #define FLEXSPI_INTEN_IPCMDERREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDERREN_SHIFT)) & FLEXSPI_INTEN_IPCMDERREN_MASK)
  18694. #define FLEXSPI_INTEN_AHBCMDERREN_MASK (0x10U)
  18695. #define FLEXSPI_INTEN_AHBCMDERREN_SHIFT (4U)
  18696. /*! AHBCMDERREN - AHB triggered Command Sequences Error Detected interrupt enable.
  18697. */
  18698. #define FLEXSPI_INTEN_AHBCMDERREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_AHBCMDERREN_SHIFT)) & FLEXSPI_INTEN_AHBCMDERREN_MASK)
  18699. #define FLEXSPI_INTEN_IPRXWAEN_MASK (0x20U)
  18700. #define FLEXSPI_INTEN_IPRXWAEN_SHIFT (5U)
  18701. /*! IPRXWAEN - IP RX FIFO WaterMark available interrupt enable.
  18702. */
  18703. #define FLEXSPI_INTEN_IPRXWAEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPRXWAEN_SHIFT)) & FLEXSPI_INTEN_IPRXWAEN_MASK)
  18704. #define FLEXSPI_INTEN_IPTXWEEN_MASK (0x40U)
  18705. #define FLEXSPI_INTEN_IPTXWEEN_SHIFT (6U)
  18706. /*! IPTXWEEN - IP TX FIFO WaterMark empty interrupt enable.
  18707. */
  18708. #define FLEXSPI_INTEN_IPTXWEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPTXWEEN_SHIFT)) & FLEXSPI_INTEN_IPTXWEEN_MASK)
  18709. #define FLEXSPI_INTEN_SCKSTOPBYRDEN_MASK (0x100U)
  18710. #define FLEXSPI_INTEN_SCKSTOPBYRDEN_SHIFT (8U)
  18711. /*! SCKSTOPBYRDEN - SCK is stopped during command sequence because Async RX FIFO full interrupt enable.
  18712. */
  18713. #define FLEXSPI_INTEN_SCKSTOPBYRDEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_SCKSTOPBYRDEN_SHIFT)) & FLEXSPI_INTEN_SCKSTOPBYRDEN_MASK)
  18714. #define FLEXSPI_INTEN_SCKSTOPBYWREN_MASK (0x200U)
  18715. #define FLEXSPI_INTEN_SCKSTOPBYWREN_SHIFT (9U)
  18716. /*! SCKSTOPBYWREN - SCK is stopped during command sequence because Async TX FIFO empty interrupt enable.
  18717. */
  18718. #define FLEXSPI_INTEN_SCKSTOPBYWREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_SCKSTOPBYWREN_SHIFT)) & FLEXSPI_INTEN_SCKSTOPBYWREN_MASK)
  18719. #define FLEXSPI_INTEN_AHBBUSTIMEOUTEN_MASK (0x400U)
  18720. #define FLEXSPI_INTEN_AHBBUSTIMEOUTEN_SHIFT (10U)
  18721. /*! AHBBUSTIMEOUTEN - AHB Bus timeout interrupt.Refer Interrupts chapter for more details.
  18722. */
  18723. #define FLEXSPI_INTEN_AHBBUSTIMEOUTEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_AHBBUSTIMEOUTEN_SHIFT)) & FLEXSPI_INTEN_AHBBUSTIMEOUTEN_MASK)
  18724. #define FLEXSPI_INTEN_SEQTIMEOUTEN_MASK (0x800U)
  18725. #define FLEXSPI_INTEN_SEQTIMEOUTEN_SHIFT (11U)
  18726. /*! SEQTIMEOUTEN - Sequence execution timeout interrupt enable.Refer Interrupts chapter for more details.
  18727. */
  18728. #define FLEXSPI_INTEN_SEQTIMEOUTEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_SEQTIMEOUTEN_SHIFT)) & FLEXSPI_INTEN_SEQTIMEOUTEN_MASK)
  18729. /*! @} */
  18730. /*! @name INTR - Interrupt Register */
  18731. /*! @{ */
  18732. #define FLEXSPI_INTR_IPCMDDONE_MASK (0x1U)
  18733. #define FLEXSPI_INTR_IPCMDDONE_SHIFT (0U)
  18734. /*! IPCMDDONE - IP triggered Command Sequences Execution finished interrupt. This interrupt is also
  18735. * generated when there is IPCMDGE or IPCMDERR interrupt generated.
  18736. */
  18737. #define FLEXSPI_INTR_IPCMDDONE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDDONE_SHIFT)) & FLEXSPI_INTR_IPCMDDONE_MASK)
  18738. #define FLEXSPI_INTR_IPCMDGE_MASK (0x2U)
  18739. #define FLEXSPI_INTR_IPCMDGE_SHIFT (1U)
  18740. /*! IPCMDGE - IP triggered Command Sequences Grant Timeout interrupt.
  18741. */
  18742. #define FLEXSPI_INTR_IPCMDGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDGE_SHIFT)) & FLEXSPI_INTR_IPCMDGE_MASK)
  18743. #define FLEXSPI_INTR_AHBCMDGE_MASK (0x4U)
  18744. #define FLEXSPI_INTR_AHBCMDGE_SHIFT (2U)
  18745. /*! AHBCMDGE - AHB triggered Command Sequences Grant Timeout interrupt.
  18746. */
  18747. #define FLEXSPI_INTR_AHBCMDGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_AHBCMDGE_SHIFT)) & FLEXSPI_INTR_AHBCMDGE_MASK)
  18748. #define FLEXSPI_INTR_IPCMDERR_MASK (0x8U)
  18749. #define FLEXSPI_INTR_IPCMDERR_SHIFT (3U)
  18750. /*! IPCMDERR - IP triggered Command Sequences Error Detected interrupt. When an error detected for
  18751. * IP command, this command will be ignored and not executed at all.
  18752. */
  18753. #define FLEXSPI_INTR_IPCMDERR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDERR_SHIFT)) & FLEXSPI_INTR_IPCMDERR_MASK)
  18754. #define FLEXSPI_INTR_AHBCMDERR_MASK (0x10U)
  18755. #define FLEXSPI_INTR_AHBCMDERR_SHIFT (4U)
  18756. /*! AHBCMDERR - AHB triggered Command Sequences Error Detected interrupt. When an error detected for
  18757. * AHB command, this command will be ignored and not executed at all.
  18758. */
  18759. #define FLEXSPI_INTR_AHBCMDERR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_AHBCMDERR_SHIFT)) & FLEXSPI_INTR_AHBCMDERR_MASK)
  18760. #define FLEXSPI_INTR_IPRXWA_MASK (0x20U)
  18761. #define FLEXSPI_INTR_IPRXWA_SHIFT (5U)
  18762. /*! IPRXWA - IP RX FIFO watermark available interrupt.
  18763. */
  18764. #define FLEXSPI_INTR_IPRXWA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPRXWA_SHIFT)) & FLEXSPI_INTR_IPRXWA_MASK)
  18765. #define FLEXSPI_INTR_IPTXWE_MASK (0x40U)
  18766. #define FLEXSPI_INTR_IPTXWE_SHIFT (6U)
  18767. /*! IPTXWE - IP TX FIFO watermark empty interrupt.
  18768. */
  18769. #define FLEXSPI_INTR_IPTXWE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPTXWE_SHIFT)) & FLEXSPI_INTR_IPTXWE_MASK)
  18770. #define FLEXSPI_INTR_SCKSTOPBYRD_MASK (0x100U)
  18771. #define FLEXSPI_INTR_SCKSTOPBYRD_SHIFT (8U)
  18772. /*! SCKSTOPBYRD - SCK is stopped during command sequence because Async RX FIFO full interrupt.
  18773. */
  18774. #define FLEXSPI_INTR_SCKSTOPBYRD(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_SCKSTOPBYRD_SHIFT)) & FLEXSPI_INTR_SCKSTOPBYRD_MASK)
  18775. #define FLEXSPI_INTR_SCKSTOPBYWR_MASK (0x200U)
  18776. #define FLEXSPI_INTR_SCKSTOPBYWR_SHIFT (9U)
  18777. /*! SCKSTOPBYWR - SCK is stopped during command sequence because Async TX FIFO empty interrupt.
  18778. */
  18779. #define FLEXSPI_INTR_SCKSTOPBYWR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_SCKSTOPBYWR_SHIFT)) & FLEXSPI_INTR_SCKSTOPBYWR_MASK)
  18780. #define FLEXSPI_INTR_AHBBUSTIMEOUT_MASK (0x400U)
  18781. #define FLEXSPI_INTR_AHBBUSTIMEOUT_SHIFT (10U)
  18782. /*! AHBBUSTIMEOUT - AHB Bus timeout interrupt.Refer Interrupts chapter for more details.
  18783. */
  18784. #define FLEXSPI_INTR_AHBBUSTIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_AHBBUSTIMEOUT_SHIFT)) & FLEXSPI_INTR_AHBBUSTIMEOUT_MASK)
  18785. #define FLEXSPI_INTR_SEQTIMEOUT_MASK (0x800U)
  18786. #define FLEXSPI_INTR_SEQTIMEOUT_SHIFT (11U)
  18787. /*! SEQTIMEOUT - Sequence execution timeout interrupt.
  18788. */
  18789. #define FLEXSPI_INTR_SEQTIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_SEQTIMEOUT_SHIFT)) & FLEXSPI_INTR_SEQTIMEOUT_MASK)
  18790. /*! @} */
  18791. /*! @name LUTKEY - LUT Key Register */
  18792. /*! @{ */
  18793. #define FLEXSPI_LUTKEY_KEY_MASK (0xFFFFFFFFU)
  18794. #define FLEXSPI_LUTKEY_KEY_SHIFT (0U)
  18795. /*! KEY - The Key to lock or unlock LUT.
  18796. */
  18797. #define FLEXSPI_LUTKEY_KEY(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTKEY_KEY_SHIFT)) & FLEXSPI_LUTKEY_KEY_MASK)
  18798. /*! @} */
  18799. /*! @name LUTCR - LUT Control Register */
  18800. /*! @{ */
  18801. #define FLEXSPI_LUTCR_LOCK_MASK (0x1U)
  18802. #define FLEXSPI_LUTCR_LOCK_SHIFT (0U)
  18803. /*! LOCK - Lock LUT
  18804. */
  18805. #define FLEXSPI_LUTCR_LOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTCR_LOCK_SHIFT)) & FLEXSPI_LUTCR_LOCK_MASK)
  18806. #define FLEXSPI_LUTCR_UNLOCK_MASK (0x2U)
  18807. #define FLEXSPI_LUTCR_UNLOCK_SHIFT (1U)
  18808. /*! UNLOCK - Unlock LUT
  18809. */
  18810. #define FLEXSPI_LUTCR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTCR_UNLOCK_SHIFT)) & FLEXSPI_LUTCR_UNLOCK_MASK)
  18811. /*! @} */
  18812. /*! @name AHBRXBUFCR0 - AHB RX Buffer 0 Control Register 0..AHB RX Buffer 3 Control Register 0 */
  18813. /*! @{ */
  18814. #define FLEXSPI_AHBRXBUFCR0_BUFSZ_MASK (0xFFU)
  18815. #define FLEXSPI_AHBRXBUFCR0_BUFSZ_SHIFT (0U)
  18816. /*! BUFSZ - AHB RX Buffer Size in 64 bits.Refer AHB RX Buffer Management for more details.
  18817. */
  18818. #define FLEXSPI_AHBRXBUFCR0_BUFSZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_BUFSZ_SHIFT)) & FLEXSPI_AHBRXBUFCR0_BUFSZ_MASK)
  18819. #define FLEXSPI_AHBRXBUFCR0_MSTRID_MASK (0xF0000U)
  18820. #define FLEXSPI_AHBRXBUFCR0_MSTRID_SHIFT (16U)
  18821. /*! MSTRID - This AHB RX Buffer is assigned according to AHB Master with ID (MSTR_ID). Please refer to for AHB RX Buffer allocation.
  18822. */
  18823. #define FLEXSPI_AHBRXBUFCR0_MSTRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_MSTRID_SHIFT)) & FLEXSPI_AHBRXBUFCR0_MSTRID_MASK)
  18824. #define FLEXSPI_AHBRXBUFCR0_PRIORITY_MASK (0x3000000U)
  18825. #define FLEXSPI_AHBRXBUFCR0_PRIORITY_SHIFT (24U)
  18826. /*! PRIORITY - This priority for AHB Master Read which this AHB RX Buffer is assigned. Refer for more details.
  18827. */
  18828. #define FLEXSPI_AHBRXBUFCR0_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_PRIORITY_SHIFT)) & FLEXSPI_AHBRXBUFCR0_PRIORITY_MASK)
  18829. #define FLEXSPI_AHBRXBUFCR0_PREFETCHEN_MASK (0x80000000U)
  18830. #define FLEXSPI_AHBRXBUFCR0_PREFETCHEN_SHIFT (31U)
  18831. /*! PREFETCHEN - AHB Read Prefetch Enable for current AHB RX Buffer corresponding Master.
  18832. */
  18833. #define FLEXSPI_AHBRXBUFCR0_PREFETCHEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_PREFETCHEN_SHIFT)) & FLEXSPI_AHBRXBUFCR0_PREFETCHEN_MASK)
  18834. /*! @} */
  18835. /* The count of FLEXSPI_AHBRXBUFCR0 */
  18836. #define FLEXSPI_AHBRXBUFCR0_COUNT (4U)
  18837. /*! @name FLSHCR0 - Flash A1 Control Register 0..Flash B2 Control Register 0 */
  18838. /*! @{ */
  18839. #define FLEXSPI_FLSHCR0_FLSHSZ_MASK (0x7FFFFFU)
  18840. #define FLEXSPI_FLSHCR0_FLSHSZ_SHIFT (0U)
  18841. /*! FLSHSZ - Flash Size in KByte.
  18842. */
  18843. #define FLEXSPI_FLSHCR0_FLSHSZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR0_FLSHSZ_SHIFT)) & FLEXSPI_FLSHCR0_FLSHSZ_MASK)
  18844. /*! @} */
  18845. /* The count of FLEXSPI_FLSHCR0 */
  18846. #define FLEXSPI_FLSHCR0_COUNT (4U)
  18847. /*! @name FLSHCR1 - Flash A1 Control Register 1..Flash B2 Control Register 1 */
  18848. /*! @{ */
  18849. #define FLEXSPI_FLSHCR1_TCSS_MASK (0x1FU)
  18850. #define FLEXSPI_FLSHCR1_TCSS_SHIFT (0U)
  18851. /*! TCSS - Serial Flash CS setup time.
  18852. */
  18853. #define FLEXSPI_FLSHCR1_TCSS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_TCSS_SHIFT)) & FLEXSPI_FLSHCR1_TCSS_MASK)
  18854. #define FLEXSPI_FLSHCR1_TCSH_MASK (0x3E0U)
  18855. #define FLEXSPI_FLSHCR1_TCSH_SHIFT (5U)
  18856. /*! TCSH - Serial Flash CS Hold time.
  18857. */
  18858. #define FLEXSPI_FLSHCR1_TCSH(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_TCSH_SHIFT)) & FLEXSPI_FLSHCR1_TCSH_MASK)
  18859. #define FLEXSPI_FLSHCR1_WA_MASK (0x400U)
  18860. #define FLEXSPI_FLSHCR1_WA_SHIFT (10U)
  18861. /*! WA - Word Addressable.
  18862. */
  18863. #define FLEXSPI_FLSHCR1_WA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_WA_SHIFT)) & FLEXSPI_FLSHCR1_WA_MASK)
  18864. #define FLEXSPI_FLSHCR1_CAS_MASK (0x7800U)
  18865. #define FLEXSPI_FLSHCR1_CAS_SHIFT (11U)
  18866. /*! CAS - Column Address Size.
  18867. */
  18868. #define FLEXSPI_FLSHCR1_CAS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_CAS_SHIFT)) & FLEXSPI_FLSHCR1_CAS_MASK)
  18869. #define FLEXSPI_FLSHCR1_CSINTERVALUNIT_MASK (0x8000U)
  18870. #define FLEXSPI_FLSHCR1_CSINTERVALUNIT_SHIFT (15U)
  18871. /*! CSINTERVALUNIT - CS interval unit
  18872. * 0b0..The CS interval unit is 1 serial clock cycle
  18873. * 0b1..The CS interval unit is 256 serial clock cycle
  18874. */
  18875. #define FLEXSPI_FLSHCR1_CSINTERVALUNIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_CSINTERVALUNIT_SHIFT)) & FLEXSPI_FLSHCR1_CSINTERVALUNIT_MASK)
  18876. #define FLEXSPI_FLSHCR1_CSINTERVAL_MASK (0xFFFF0000U)
  18877. #define FLEXSPI_FLSHCR1_CSINTERVAL_SHIFT (16U)
  18878. /*! CSINTERVAL - This field is used to set the minimum interval between flash device Chip selection
  18879. * deassertion and flash device Chip selection assertion. If external flash has a limitation on
  18880. * the interval between command sequences, this field should be set accordingly. If there is no
  18881. * limitation, set this field with value 0x0.
  18882. */
  18883. #define FLEXSPI_FLSHCR1_CSINTERVAL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_CSINTERVAL_SHIFT)) & FLEXSPI_FLSHCR1_CSINTERVAL_MASK)
  18884. /*! @} */
  18885. /* The count of FLEXSPI_FLSHCR1 */
  18886. #define FLEXSPI_FLSHCR1_COUNT (4U)
  18887. /*! @name FLSHCR2 - Flash A1 Control Register 2..Flash B2 Control Register 2 */
  18888. /*! @{ */
  18889. #define FLEXSPI_FLSHCR2_ARDSEQID_MASK (0xFU)
  18890. #define FLEXSPI_FLSHCR2_ARDSEQID_SHIFT (0U)
  18891. /*! ARDSEQID - Sequence Index for AHB Read triggered Command in LUT.
  18892. */
  18893. #define FLEXSPI_FLSHCR2_ARDSEQID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_ARDSEQID_SHIFT)) & FLEXSPI_FLSHCR2_ARDSEQID_MASK)
  18894. #define FLEXSPI_FLSHCR2_ARDSEQNUM_MASK (0xE0U)
  18895. #define FLEXSPI_FLSHCR2_ARDSEQNUM_SHIFT (5U)
  18896. /*! ARDSEQNUM - Sequence Number for AHB Read triggered Command in LUT.
  18897. */
  18898. #define FLEXSPI_FLSHCR2_ARDSEQNUM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_ARDSEQNUM_SHIFT)) & FLEXSPI_FLSHCR2_ARDSEQNUM_MASK)
  18899. #define FLEXSPI_FLSHCR2_AWRSEQID_MASK (0xF00U)
  18900. #define FLEXSPI_FLSHCR2_AWRSEQID_SHIFT (8U)
  18901. /*! AWRSEQID - Sequence Index for AHB Write triggered Command.
  18902. */
  18903. #define FLEXSPI_FLSHCR2_AWRSEQID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRSEQID_SHIFT)) & FLEXSPI_FLSHCR2_AWRSEQID_MASK)
  18904. #define FLEXSPI_FLSHCR2_AWRSEQNUM_MASK (0xE000U)
  18905. #define FLEXSPI_FLSHCR2_AWRSEQNUM_SHIFT (13U)
  18906. /*! AWRSEQNUM - Sequence Number for AHB Write triggered Command.
  18907. */
  18908. #define FLEXSPI_FLSHCR2_AWRSEQNUM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRSEQNUM_SHIFT)) & FLEXSPI_FLSHCR2_AWRSEQNUM_MASK)
  18909. #define FLEXSPI_FLSHCR2_AWRWAIT_MASK (0xFFF0000U)
  18910. #define FLEXSPI_FLSHCR2_AWRWAIT_SHIFT (16U)
  18911. #define FLEXSPI_FLSHCR2_AWRWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRWAIT_SHIFT)) & FLEXSPI_FLSHCR2_AWRWAIT_MASK)
  18912. #define FLEXSPI_FLSHCR2_AWRWAITUNIT_MASK (0x70000000U)
  18913. #define FLEXSPI_FLSHCR2_AWRWAITUNIT_SHIFT (28U)
  18914. /*! AWRWAITUNIT - AWRWAIT unit
  18915. * 0b000..The AWRWAIT unit is 2 ahb clock cycle
  18916. * 0b001..The AWRWAIT unit is 8 ahb clock cycle
  18917. * 0b010..The AWRWAIT unit is 32 ahb clock cycle
  18918. * 0b011..The AWRWAIT unit is 128 ahb clock cycle
  18919. * 0b100..The AWRWAIT unit is 512 ahb clock cycle
  18920. * 0b101..The AWRWAIT unit is 2048 ahb clock cycle
  18921. * 0b110..The AWRWAIT unit is 8192 ahb clock cycle
  18922. * 0b111..The AWRWAIT unit is 32768 ahb clock cycle
  18923. */
  18924. #define FLEXSPI_FLSHCR2_AWRWAITUNIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRWAITUNIT_SHIFT)) & FLEXSPI_FLSHCR2_AWRWAITUNIT_MASK)
  18925. #define FLEXSPI_FLSHCR2_CLRINSTRPTR_MASK (0x80000000U)
  18926. #define FLEXSPI_FLSHCR2_CLRINSTRPTR_SHIFT (31U)
  18927. /*! CLRINSTRPTR - Clear the instruction pointer which is internally saved pointer by JMP_ON_CS.
  18928. * Refer Programmable Sequence Engine for details.
  18929. */
  18930. #define FLEXSPI_FLSHCR2_CLRINSTRPTR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_CLRINSTRPTR_SHIFT)) & FLEXSPI_FLSHCR2_CLRINSTRPTR_MASK)
  18931. /*! @} */
  18932. /* The count of FLEXSPI_FLSHCR2 */
  18933. #define FLEXSPI_FLSHCR2_COUNT (4U)
  18934. /*! @name FLSHCR4 - Flash Control Register 4 */
  18935. /*! @{ */
  18936. #define FLEXSPI_FLSHCR4_WMOPT1_MASK (0x1U)
  18937. #define FLEXSPI_FLSHCR4_WMOPT1_SHIFT (0U)
  18938. /*! WMOPT1 - Write mask option bit 1. This option bit could be used to remove AHB write burst start address alignment limitation.
  18939. * 0b0..DQS pin will be used as Write Mask when writing to external device. There is no limitation on AHB write
  18940. * burst start address alignment when flash is accessed in individual mode.
  18941. * 0b1..DQS pin will not be used as Write Mask when writing to external device. There is limitation on AHB write
  18942. * burst start address alignment when flash is accessed in individual mode.
  18943. */
  18944. #define FLEXSPI_FLSHCR4_WMOPT1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMOPT1_SHIFT)) & FLEXSPI_FLSHCR4_WMOPT1_MASK)
  18945. #define FLEXSPI_FLSHCR4_WMENA_MASK (0x4U)
  18946. #define FLEXSPI_FLSHCR4_WMENA_SHIFT (2U)
  18947. /*! WMENA - Write mask enable bit for flash device on port A. When write mask function is needed for
  18948. * memory device on port A, this bit must be set.
  18949. * 0b0..Write mask is disabled, DQS(RWDS) pin will be un-driven when writing to external device.
  18950. * 0b1..Write mask is enabled, DQS(RWDS) pin will be driven by FlexSPI as write mask output when writing to external device.
  18951. */
  18952. #define FLEXSPI_FLSHCR4_WMENA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMENA_SHIFT)) & FLEXSPI_FLSHCR4_WMENA_MASK)
  18953. #define FLEXSPI_FLSHCR4_WMENB_MASK (0x8U)
  18954. #define FLEXSPI_FLSHCR4_WMENB_SHIFT (3U)
  18955. /*! WMENB - Write mask enable bit for flash device on port B. When write mask function is needed for
  18956. * memory device on port B, this bit must be set.
  18957. * 0b0..Write mask is disabled, DQS(RWDS) pin will be un-driven when writing to external device.
  18958. * 0b1..Write mask is enabled, DQS(RWDS) pin will be driven by FlexSPI as write mask output when writing to external device.
  18959. */
  18960. #define FLEXSPI_FLSHCR4_WMENB(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMENB_SHIFT)) & FLEXSPI_FLSHCR4_WMENB_MASK)
  18961. /*! @} */
  18962. /*! @name IPCR0 - IP Control Register 0 */
  18963. /*! @{ */
  18964. #define FLEXSPI_IPCR0_SFAR_MASK (0xFFFFFFFFU)
  18965. #define FLEXSPI_IPCR0_SFAR_SHIFT (0U)
  18966. /*! SFAR - Serial Flash Address for IP command.
  18967. */
  18968. #define FLEXSPI_IPCR0_SFAR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR0_SFAR_SHIFT)) & FLEXSPI_IPCR0_SFAR_MASK)
  18969. /*! @} */
  18970. /*! @name IPCR1 - IP Control Register 1 */
  18971. /*! @{ */
  18972. #define FLEXSPI_IPCR1_IDATSZ_MASK (0xFFFFU)
  18973. #define FLEXSPI_IPCR1_IDATSZ_SHIFT (0U)
  18974. /*! IDATSZ - Flash Read/Program Data Size (in Bytes) for IP command.
  18975. */
  18976. #define FLEXSPI_IPCR1_IDATSZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_IDATSZ_SHIFT)) & FLEXSPI_IPCR1_IDATSZ_MASK)
  18977. #define FLEXSPI_IPCR1_ISEQID_MASK (0xF0000U)
  18978. #define FLEXSPI_IPCR1_ISEQID_SHIFT (16U)
  18979. /*! ISEQID - Sequence Index in LUT for IP command.
  18980. */
  18981. #define FLEXSPI_IPCR1_ISEQID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_ISEQID_SHIFT)) & FLEXSPI_IPCR1_ISEQID_MASK)
  18982. #define FLEXSPI_IPCR1_ISEQNUM_MASK (0x7000000U)
  18983. #define FLEXSPI_IPCR1_ISEQNUM_SHIFT (24U)
  18984. /*! ISEQNUM - Sequence Number for IP command: ISEQNUM+1.
  18985. */
  18986. #define FLEXSPI_IPCR1_ISEQNUM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_ISEQNUM_SHIFT)) & FLEXSPI_IPCR1_ISEQNUM_MASK)
  18987. #define FLEXSPI_IPCR1_IPAREN_MASK (0x80000000U)
  18988. #define FLEXSPI_IPCR1_IPAREN_SHIFT (31U)
  18989. /*! IPAREN - Parallel mode Enabled for IP command.
  18990. * 0b0..Flash will be accessed in Individual mode.
  18991. * 0b1..Flash will be accessed in Parallel mode.
  18992. */
  18993. #define FLEXSPI_IPCR1_IPAREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_IPAREN_SHIFT)) & FLEXSPI_IPCR1_IPAREN_MASK)
  18994. /*! @} */
  18995. /*! @name IPCMD - IP Command Register */
  18996. /*! @{ */
  18997. #define FLEXSPI_IPCMD_TRG_MASK (0x1U)
  18998. #define FLEXSPI_IPCMD_TRG_SHIFT (0U)
  18999. /*! TRG - Setting this bit will trigger an IP Command.
  19000. */
  19001. #define FLEXSPI_IPCMD_TRG(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCMD_TRG_SHIFT)) & FLEXSPI_IPCMD_TRG_MASK)
  19002. /*! @} */
  19003. /*! @name IPRXFCR - IP RX FIFO Control Register */
  19004. /*! @{ */
  19005. #define FLEXSPI_IPRXFCR_CLRIPRXF_MASK (0x1U)
  19006. #define FLEXSPI_IPRXFCR_CLRIPRXF_SHIFT (0U)
  19007. /*! CLRIPRXF - Clear all valid data entries in IP RX FIFO.
  19008. */
  19009. #define FLEXSPI_IPRXFCR_CLRIPRXF(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFCR_CLRIPRXF_SHIFT)) & FLEXSPI_IPRXFCR_CLRIPRXF_MASK)
  19010. #define FLEXSPI_IPRXFCR_RXDMAEN_MASK (0x2U)
  19011. #define FLEXSPI_IPRXFCR_RXDMAEN_SHIFT (1U)
  19012. /*! RXDMAEN - IP RX FIFO reading by DMA enabled.
  19013. * 0b0..IP RX FIFO would be read by processor.
  19014. * 0b1..IP RX FIFO would be read by DMA.
  19015. */
  19016. #define FLEXSPI_IPRXFCR_RXDMAEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFCR_RXDMAEN_SHIFT)) & FLEXSPI_IPRXFCR_RXDMAEN_MASK)
  19017. #define FLEXSPI_IPRXFCR_RXWMRK_MASK (0x3CU)
  19018. #define FLEXSPI_IPRXFCR_RXWMRK_SHIFT (2U)
  19019. /*! RXWMRK - Watermark level is (RXWMRK+1)*64 Bits.
  19020. */
  19021. #define FLEXSPI_IPRXFCR_RXWMRK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFCR_RXWMRK_SHIFT)) & FLEXSPI_IPRXFCR_RXWMRK_MASK)
  19022. /*! @} */
  19023. /*! @name IPTXFCR - IP TX FIFO Control Register */
  19024. /*! @{ */
  19025. #define FLEXSPI_IPTXFCR_CLRIPTXF_MASK (0x1U)
  19026. #define FLEXSPI_IPTXFCR_CLRIPTXF_SHIFT (0U)
  19027. /*! CLRIPTXF - Clear all valid data entries in IP TX FIFO.
  19028. */
  19029. #define FLEXSPI_IPTXFCR_CLRIPTXF(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFCR_CLRIPTXF_SHIFT)) & FLEXSPI_IPTXFCR_CLRIPTXF_MASK)
  19030. #define FLEXSPI_IPTXFCR_TXDMAEN_MASK (0x2U)
  19031. #define FLEXSPI_IPTXFCR_TXDMAEN_SHIFT (1U)
  19032. /*! TXDMAEN - IP TX FIFO filling by DMA enabled.
  19033. * 0b0..IP TX FIFO would be filled by processor.
  19034. * 0b1..IP TX FIFO would be filled by DMA.
  19035. */
  19036. #define FLEXSPI_IPTXFCR_TXDMAEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFCR_TXDMAEN_SHIFT)) & FLEXSPI_IPTXFCR_TXDMAEN_MASK)
  19037. #define FLEXSPI_IPTXFCR_TXWMRK_MASK (0x3CU)
  19038. #define FLEXSPI_IPTXFCR_TXWMRK_SHIFT (2U)
  19039. /*! TXWMRK - Watermark level is (TXWMRK+1)*64 Bits.
  19040. */
  19041. #define FLEXSPI_IPTXFCR_TXWMRK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFCR_TXWMRK_SHIFT)) & FLEXSPI_IPTXFCR_TXWMRK_MASK)
  19042. /*! @} */
  19043. /*! @name DLLCR - DLL Control Register 0 */
  19044. /*! @{ */
  19045. #define FLEXSPI_DLLCR_DLLEN_MASK (0x1U)
  19046. #define FLEXSPI_DLLCR_DLLEN_SHIFT (0U)
  19047. /*! DLLEN - DLL calibration enable.
  19048. */
  19049. #define FLEXSPI_DLLCR_DLLEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_DLLEN_SHIFT)) & FLEXSPI_DLLCR_DLLEN_MASK)
  19050. #define FLEXSPI_DLLCR_DLLRESET_MASK (0x2U)
  19051. #define FLEXSPI_DLLCR_DLLRESET_SHIFT (1U)
  19052. /*! DLLRESET - Software could force a reset on DLL by setting this field to 0x1. This will cause the
  19053. * DLL to lose lock and re-calibrate to detect an ref_clock half period phase shift. The reset
  19054. * action is edge triggered, so software need to clear this bit after set this bit (no delay
  19055. * limitation).
  19056. */
  19057. #define FLEXSPI_DLLCR_DLLRESET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_DLLRESET_SHIFT)) & FLEXSPI_DLLCR_DLLRESET_MASK)
  19058. #define FLEXSPI_DLLCR_SLVDLYTARGET_MASK (0x78U)
  19059. #define FLEXSPI_DLLCR_SLVDLYTARGET_SHIFT (3U)
  19060. /*! SLVDLYTARGET - The delay target for slave delay line is: ((SLVDLYTARGET+1) * 1/32 * clock cycle of reference clock (serial clock).
  19061. */
  19062. #define FLEXSPI_DLLCR_SLVDLYTARGET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_SLVDLYTARGET_SHIFT)) & FLEXSPI_DLLCR_SLVDLYTARGET_MASK)
  19063. #define FLEXSPI_DLLCR_OVRDEN_MASK (0x100U)
  19064. #define FLEXSPI_DLLCR_OVRDEN_SHIFT (8U)
  19065. /*! OVRDEN - Slave clock delay line delay cell number selection override enable.
  19066. */
  19067. #define FLEXSPI_DLLCR_OVRDEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_OVRDEN_SHIFT)) & FLEXSPI_DLLCR_OVRDEN_MASK)
  19068. #define FLEXSPI_DLLCR_OVRDVAL_MASK (0x7E00U)
  19069. #define FLEXSPI_DLLCR_OVRDVAL_SHIFT (9U)
  19070. /*! OVRDVAL - Slave clock delay line delay cell number selection override value.
  19071. */
  19072. #define FLEXSPI_DLLCR_OVRDVAL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_OVRDVAL_SHIFT)) & FLEXSPI_DLLCR_OVRDVAL_MASK)
  19073. /*! @} */
  19074. /* The count of FLEXSPI_DLLCR */
  19075. #define FLEXSPI_DLLCR_COUNT (2U)
  19076. /*! @name STS0 - Status Register 0 */
  19077. /*! @{ */
  19078. #define FLEXSPI_STS0_SEQIDLE_MASK (0x1U)
  19079. #define FLEXSPI_STS0_SEQIDLE_SHIFT (0U)
  19080. /*! SEQIDLE - This status bit indicates the state machine in SEQ_CTL is idle and there is command
  19081. * sequence executing on FlexSPI interface.
  19082. */
  19083. #define FLEXSPI_STS0_SEQIDLE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_SEQIDLE_SHIFT)) & FLEXSPI_STS0_SEQIDLE_MASK)
  19084. #define FLEXSPI_STS0_ARBIDLE_MASK (0x2U)
  19085. #define FLEXSPI_STS0_ARBIDLE_SHIFT (1U)
  19086. /*! ARBIDLE - This status bit indicates the state machine in ARB_CTL is busy and there is command
  19087. * sequence granted by arbitrator and not finished yet on FlexSPI interface. When ARB_CTL state
  19088. * (ARBIDLE=0x1) is idle, there will be no transaction on FlexSPI interface also (SEQIDLE=0x1). So
  19089. * this bit should be polled to wait for FlexSPI controller become idle instead of SEQIDLE.
  19090. */
  19091. #define FLEXSPI_STS0_ARBIDLE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_ARBIDLE_SHIFT)) & FLEXSPI_STS0_ARBIDLE_MASK)
  19092. #define FLEXSPI_STS0_ARBCMDSRC_MASK (0xCU)
  19093. #define FLEXSPI_STS0_ARBCMDSRC_SHIFT (2U)
  19094. /*! ARBCMDSRC - This status field indicates the trigger source of current command sequence granted
  19095. * by arbitrator. This field value is meaningless when ARB_CTL is not busy (STS0[ARBIDLE]=0x1).
  19096. * 0b00..Triggered by AHB read command (triggered by AHB read).
  19097. * 0b01..Triggered by AHB write command (triggered by AHB Write).
  19098. * 0b10..Triggered by IP command (triggered by setting register bit IPCMD.TRG).
  19099. * 0b11..Triggered by suspended command (resumed).
  19100. */
  19101. #define FLEXSPI_STS0_ARBCMDSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_ARBCMDSRC_SHIFT)) & FLEXSPI_STS0_ARBCMDSRC_MASK)
  19102. /*! @} */
  19103. /*! @name STS1 - Status Register 1 */
  19104. /*! @{ */
  19105. #define FLEXSPI_STS1_AHBCMDERRID_MASK (0xFU)
  19106. #define FLEXSPI_STS1_AHBCMDERRID_SHIFT (0U)
  19107. /*! AHBCMDERRID - Indicates the sequence index when an AHB command error is detected. This field
  19108. * will be cleared when INTR[AHBCMDERR] is write-1-clear(w1c).
  19109. */
  19110. #define FLEXSPI_STS1_AHBCMDERRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_AHBCMDERRID_SHIFT)) & FLEXSPI_STS1_AHBCMDERRID_MASK)
  19111. #define FLEXSPI_STS1_AHBCMDERRCODE_MASK (0xF00U)
  19112. #define FLEXSPI_STS1_AHBCMDERRCODE_SHIFT (8U)
  19113. /*! AHBCMDERRCODE - Indicates the Error Code when AHB command Error detected. This field will be
  19114. * cleared when INTR[AHBCMDERR] is write-1-clear(w1c).
  19115. * 0b0000..No error.
  19116. * 0b0010..AHB Write command with JMP_ON_CS instruction used in the sequence.
  19117. * 0b0011..There is unknown instruction opcode in the sequence.
  19118. * 0b0100..Instruction DUMMY_SDR/DUMMY_RWDS_SDR used in DDR sequence.
  19119. * 0b0101..Instruction DUMMY_DDR/DUMMY_RWDS_DDR used in SDR sequence.
  19120. * 0b1110..Sequence execution timeout.
  19121. */
  19122. #define FLEXSPI_STS1_AHBCMDERRCODE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_AHBCMDERRCODE_SHIFT)) & FLEXSPI_STS1_AHBCMDERRCODE_MASK)
  19123. #define FLEXSPI_STS1_IPCMDERRID_MASK (0xF0000U)
  19124. #define FLEXSPI_STS1_IPCMDERRID_SHIFT (16U)
  19125. /*! IPCMDERRID - Indicates the sequence Index when IP command error detected. This field will be
  19126. * cleared when INTR[IPCMDERR] is write-1-clear(w1c).
  19127. */
  19128. #define FLEXSPI_STS1_IPCMDERRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_IPCMDERRID_SHIFT)) & FLEXSPI_STS1_IPCMDERRID_MASK)
  19129. #define FLEXSPI_STS1_IPCMDERRCODE_MASK (0xF000000U)
  19130. #define FLEXSPI_STS1_IPCMDERRCODE_SHIFT (24U)
  19131. /*! IPCMDERRCODE - Indicates the Error Code when IP command Error detected. This field will be
  19132. * cleared when INTR[IPCMDERR] is write-1-clear(w1c).
  19133. * 0b0000..No error.
  19134. * 0b0010..IP command with JMP_ON_CS instruction used in the sequence.
  19135. * 0b0011..There is unknown instruction opcode in the sequence.
  19136. * 0b0100..Instruction DUMMY_SDR/DUMMY_RWDS_SDR used in DDR sequence.
  19137. * 0b0101..Instruction DUMMY_DDR/DUMMY_RWDS_DDR used in SDR sequence.
  19138. * 0b0110..Flash access start address exceed the whole flash address range (A1/A2/B1/B2).
  19139. * 0b1110..Sequence execution timeout.
  19140. * 0b1111..Flash boundary crossed.
  19141. */
  19142. #define FLEXSPI_STS1_IPCMDERRCODE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_IPCMDERRCODE_SHIFT)) & FLEXSPI_STS1_IPCMDERRCODE_MASK)
  19143. /*! @} */
  19144. /*! @name STS2 - Status Register 2 */
  19145. /*! @{ */
  19146. #define FLEXSPI_STS2_ASLVLOCK_MASK (0x1U)
  19147. #define FLEXSPI_STS2_ASLVLOCK_SHIFT (0U)
  19148. /*! ASLVLOCK - Flash A sample clock slave delay line locked.
  19149. */
  19150. #define FLEXSPI_STS2_ASLVLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_ASLVLOCK_SHIFT)) & FLEXSPI_STS2_ASLVLOCK_MASK)
  19151. #define FLEXSPI_STS2_AREFLOCK_MASK (0x2U)
  19152. #define FLEXSPI_STS2_AREFLOCK_SHIFT (1U)
  19153. /*! AREFLOCK - Flash A sample clock reference delay line locked.
  19154. */
  19155. #define FLEXSPI_STS2_AREFLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_AREFLOCK_SHIFT)) & FLEXSPI_STS2_AREFLOCK_MASK)
  19156. #define FLEXSPI_STS2_ASLVSEL_MASK (0xFCU)
  19157. #define FLEXSPI_STS2_ASLVSEL_SHIFT (2U)
  19158. /*! ASLVSEL - Flash A sample clock slave delay line delay cell number selection .
  19159. */
  19160. #define FLEXSPI_STS2_ASLVSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_ASLVSEL_SHIFT)) & FLEXSPI_STS2_ASLVSEL_MASK)
  19161. #define FLEXSPI_STS2_AREFSEL_MASK (0x3F00U)
  19162. #define FLEXSPI_STS2_AREFSEL_SHIFT (8U)
  19163. /*! AREFSEL - Flash A sample clock reference delay line delay cell number selection.
  19164. */
  19165. #define FLEXSPI_STS2_AREFSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_AREFSEL_SHIFT)) & FLEXSPI_STS2_AREFSEL_MASK)
  19166. #define FLEXSPI_STS2_BSLVLOCK_MASK (0x10000U)
  19167. #define FLEXSPI_STS2_BSLVLOCK_SHIFT (16U)
  19168. /*! BSLVLOCK - Flash B sample clock slave delay line locked.
  19169. */
  19170. #define FLEXSPI_STS2_BSLVLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BSLVLOCK_SHIFT)) & FLEXSPI_STS2_BSLVLOCK_MASK)
  19171. #define FLEXSPI_STS2_BREFLOCK_MASK (0x20000U)
  19172. #define FLEXSPI_STS2_BREFLOCK_SHIFT (17U)
  19173. /*! BREFLOCK - Flash B sample clock reference delay line locked.
  19174. */
  19175. #define FLEXSPI_STS2_BREFLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BREFLOCK_SHIFT)) & FLEXSPI_STS2_BREFLOCK_MASK)
  19176. #define FLEXSPI_STS2_BSLVSEL_MASK (0xFC0000U)
  19177. #define FLEXSPI_STS2_BSLVSEL_SHIFT (18U)
  19178. /*! BSLVSEL - Flash B sample clock slave delay line delay cell number selection.
  19179. */
  19180. #define FLEXSPI_STS2_BSLVSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BSLVSEL_SHIFT)) & FLEXSPI_STS2_BSLVSEL_MASK)
  19181. #define FLEXSPI_STS2_BREFSEL_MASK (0x3F000000U)
  19182. #define FLEXSPI_STS2_BREFSEL_SHIFT (24U)
  19183. /*! BREFSEL - Flash B sample clock reference delay line delay cell number selection.
  19184. */
  19185. #define FLEXSPI_STS2_BREFSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BREFSEL_SHIFT)) & FLEXSPI_STS2_BREFSEL_MASK)
  19186. /*! @} */
  19187. /*! @name AHBSPNDSTS - AHB Suspend Status Register */
  19188. /*! @{ */
  19189. #define FLEXSPI_AHBSPNDSTS_ACTIVE_MASK (0x1U)
  19190. #define FLEXSPI_AHBSPNDSTS_ACTIVE_SHIFT (0U)
  19191. /*! ACTIVE - Indicates if an AHB read prefetch command sequence has been suspended.
  19192. */
  19193. #define FLEXSPI_AHBSPNDSTS_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBSPNDSTS_ACTIVE_SHIFT)) & FLEXSPI_AHBSPNDSTS_ACTIVE_MASK)
  19194. #define FLEXSPI_AHBSPNDSTS_BUFID_MASK (0xEU)
  19195. #define FLEXSPI_AHBSPNDSTS_BUFID_SHIFT (1U)
  19196. /*! BUFID - AHB RX BUF ID for suspended command sequence.
  19197. */
  19198. #define FLEXSPI_AHBSPNDSTS_BUFID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBSPNDSTS_BUFID_SHIFT)) & FLEXSPI_AHBSPNDSTS_BUFID_MASK)
  19199. #define FLEXSPI_AHBSPNDSTS_DATLFT_MASK (0xFFFF0000U)
  19200. #define FLEXSPI_AHBSPNDSTS_DATLFT_SHIFT (16U)
  19201. /*! DATLFT - Left Data size for suspended command sequence (in byte).
  19202. */
  19203. #define FLEXSPI_AHBSPNDSTS_DATLFT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBSPNDSTS_DATLFT_SHIFT)) & FLEXSPI_AHBSPNDSTS_DATLFT_MASK)
  19204. /*! @} */
  19205. /*! @name IPRXFSTS - IP RX FIFO Status Register */
  19206. /*! @{ */
  19207. #define FLEXSPI_IPRXFSTS_FILL_MASK (0xFFU)
  19208. #define FLEXSPI_IPRXFSTS_FILL_SHIFT (0U)
  19209. /*! FILL - Fill level of IP RX FIFO.
  19210. */
  19211. #define FLEXSPI_IPRXFSTS_FILL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFSTS_FILL_SHIFT)) & FLEXSPI_IPRXFSTS_FILL_MASK)
  19212. #define FLEXSPI_IPRXFSTS_RDCNTR_MASK (0xFFFF0000U)
  19213. #define FLEXSPI_IPRXFSTS_RDCNTR_SHIFT (16U)
  19214. /*! RDCNTR - Total Read Data Counter: RDCNTR * 64 Bits.
  19215. */
  19216. #define FLEXSPI_IPRXFSTS_RDCNTR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFSTS_RDCNTR_SHIFT)) & FLEXSPI_IPRXFSTS_RDCNTR_MASK)
  19217. /*! @} */
  19218. /*! @name IPTXFSTS - IP TX FIFO Status Register */
  19219. /*! @{ */
  19220. #define FLEXSPI_IPTXFSTS_FILL_MASK (0xFFU)
  19221. #define FLEXSPI_IPTXFSTS_FILL_SHIFT (0U)
  19222. /*! FILL - Fill level of IP TX FIFO.
  19223. */
  19224. #define FLEXSPI_IPTXFSTS_FILL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFSTS_FILL_SHIFT)) & FLEXSPI_IPTXFSTS_FILL_MASK)
  19225. #define FLEXSPI_IPTXFSTS_WRCNTR_MASK (0xFFFF0000U)
  19226. #define FLEXSPI_IPTXFSTS_WRCNTR_SHIFT (16U)
  19227. /*! WRCNTR - Total Write Data Counter: WRCNTR * 64 Bits.
  19228. */
  19229. #define FLEXSPI_IPTXFSTS_WRCNTR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFSTS_WRCNTR_SHIFT)) & FLEXSPI_IPTXFSTS_WRCNTR_MASK)
  19230. /*! @} */
  19231. /*! @name RFDR - IP RX FIFO Data Register 0..IP RX FIFO Data Register 31 */
  19232. /*! @{ */
  19233. #define FLEXSPI_RFDR_RXDATA_MASK (0xFFFFFFFFU)
  19234. #define FLEXSPI_RFDR_RXDATA_SHIFT (0U)
  19235. /*! RXDATA - RX Data
  19236. */
  19237. #define FLEXSPI_RFDR_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_RFDR_RXDATA_SHIFT)) & FLEXSPI_RFDR_RXDATA_MASK)
  19238. /*! @} */
  19239. /* The count of FLEXSPI_RFDR */
  19240. #define FLEXSPI_RFDR_COUNT (32U)
  19241. /*! @name TFDR - IP TX FIFO Data Register 0..IP TX FIFO Data Register 31 */
  19242. /*! @{ */
  19243. #define FLEXSPI_TFDR_TXDATA_MASK (0xFFFFFFFFU)
  19244. #define FLEXSPI_TFDR_TXDATA_SHIFT (0U)
  19245. /*! TXDATA - TX Data
  19246. */
  19247. #define FLEXSPI_TFDR_TXDATA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_TFDR_TXDATA_SHIFT)) & FLEXSPI_TFDR_TXDATA_MASK)
  19248. /*! @} */
  19249. /* The count of FLEXSPI_TFDR */
  19250. #define FLEXSPI_TFDR_COUNT (32U)
  19251. /*! @name LUT - LUT 0..LUT 63 */
  19252. /*! @{ */
  19253. #define FLEXSPI_LUT_OPERAND0_MASK (0xFFU)
  19254. #define FLEXSPI_LUT_OPERAND0_SHIFT (0U)
  19255. /*! OPERAND0 - OPERAND0
  19256. */
  19257. #define FLEXSPI_LUT_OPERAND0(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPERAND0_SHIFT)) & FLEXSPI_LUT_OPERAND0_MASK)
  19258. #define FLEXSPI_LUT_NUM_PADS0_MASK (0x300U)
  19259. #define FLEXSPI_LUT_NUM_PADS0_SHIFT (8U)
  19260. /*! NUM_PADS0 - NUM_PADS0
  19261. */
  19262. #define FLEXSPI_LUT_NUM_PADS0(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_NUM_PADS0_SHIFT)) & FLEXSPI_LUT_NUM_PADS0_MASK)
  19263. #define FLEXSPI_LUT_OPCODE0_MASK (0xFC00U)
  19264. #define FLEXSPI_LUT_OPCODE0_SHIFT (10U)
  19265. /*! OPCODE0 - OPCODE
  19266. */
  19267. #define FLEXSPI_LUT_OPCODE0(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPCODE0_SHIFT)) & FLEXSPI_LUT_OPCODE0_MASK)
  19268. #define FLEXSPI_LUT_OPERAND1_MASK (0xFF0000U)
  19269. #define FLEXSPI_LUT_OPERAND1_SHIFT (16U)
  19270. /*! OPERAND1 - OPERAND1
  19271. */
  19272. #define FLEXSPI_LUT_OPERAND1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPERAND1_SHIFT)) & FLEXSPI_LUT_OPERAND1_MASK)
  19273. #define FLEXSPI_LUT_NUM_PADS1_MASK (0x3000000U)
  19274. #define FLEXSPI_LUT_NUM_PADS1_SHIFT (24U)
  19275. /*! NUM_PADS1 - NUM_PADS1
  19276. */
  19277. #define FLEXSPI_LUT_NUM_PADS1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_NUM_PADS1_SHIFT)) & FLEXSPI_LUT_NUM_PADS1_MASK)
  19278. #define FLEXSPI_LUT_OPCODE1_MASK (0xFC000000U)
  19279. #define FLEXSPI_LUT_OPCODE1_SHIFT (26U)
  19280. /*! OPCODE1 - OPCODE1
  19281. */
  19282. #define FLEXSPI_LUT_OPCODE1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPCODE1_SHIFT)) & FLEXSPI_LUT_OPCODE1_MASK)
  19283. /*! @} */
  19284. /* The count of FLEXSPI_LUT */
  19285. #define FLEXSPI_LUT_COUNT (64U)
  19286. /*!
  19287. * @}
  19288. */ /* end of group FLEXSPI_Register_Masks */
  19289. /* FLEXSPI - Peripheral instance base addresses */
  19290. /** Peripheral FLEXSPI base address */
  19291. #define FLEXSPI_BASE (0x402A8000u)
  19292. /** Peripheral FLEXSPI base pointer */
  19293. #define FLEXSPI ((FLEXSPI_Type *)FLEXSPI_BASE)
  19294. /** Peripheral FLEXSPI2 base address */
  19295. #define FLEXSPI2_BASE (0x402A4000u)
  19296. /** Peripheral FLEXSPI2 base pointer */
  19297. #define FLEXSPI2 ((FLEXSPI_Type *)FLEXSPI2_BASE)
  19298. /** Array initializer of FLEXSPI peripheral base addresses */
  19299. #define FLEXSPI_BASE_ADDRS { FLEXSPI_BASE, 0u, FLEXSPI2_BASE }
  19300. /** Array initializer of FLEXSPI peripheral base pointers */
  19301. #define FLEXSPI_BASE_PTRS { FLEXSPI, (FLEXSPI_Type *)0u, FLEXSPI2 }
  19302. /** Interrupt vectors for the FLEXSPI peripheral type */
  19303. #define FLEXSPI_IRQS { FLEXSPI_IRQn, NotAvail_IRQn, FLEXSPI2_IRQn }
  19304. /* FlexSPI AMBA address. */
  19305. #define FlexSPI_AMBA_BASE (0x60000000U)
  19306. /* FlexSPI ASFM address. */
  19307. #define FlexSPI_ASFM_BASE (0x60000000U)
  19308. /* Base Address of AHB address space mapped to IP RX FIFO. */
  19309. #define FlexSPI_ARDF_BASE (0x7FC00000U)
  19310. /* Base Address of AHB address space mapped to IP TX FIFO. */
  19311. #define FlexSPI_ATDF_BASE (0x7F800000U)
  19312. /* FlexSPI2 AMBA address. */
  19313. #define FlexSPI2_AMBA_BASE (0x70000000U)
  19314. /* FlexSPI ASFM address. */
  19315. #define FlexSPI2_ASFM_BASE (0x70000000U)
  19316. /* Base Address of AHB address space mapped to IP RX FIFO. */
  19317. #define FlexSPI2_ARDF_BASE (0x7F400000U)
  19318. /* Base Address of AHB address space mapped to IP TX FIFO. */
  19319. #define FlexSPI2_ATDF_BASE (0x7F000000U)
  19320. /*!
  19321. * @}
  19322. */ /* end of group FLEXSPI_Peripheral_Access_Layer */
  19323. /* ----------------------------------------------------------------------------
  19324. -- GPC Peripheral Access Layer
  19325. ---------------------------------------------------------------------------- */
  19326. /*!
  19327. * @addtogroup GPC_Peripheral_Access_Layer GPC Peripheral Access Layer
  19328. * @{
  19329. */
  19330. /** GPC - Register Layout Typedef */
  19331. typedef struct {
  19332. __IO uint32_t CNTR; /**< GPC Interface control register, offset: 0x0 */
  19333. uint8_t RESERVED_0[4];
  19334. __IO uint32_t IMR[4]; /**< IRQ masking register 1..IRQ masking register 4, array offset: 0x8, array step: 0x4 */
  19335. __I uint32_t ISR[4]; /**< IRQ status resister 1..IRQ status resister 4, array offset: 0x18, array step: 0x4 */
  19336. uint8_t RESERVED_1[12];
  19337. __IO uint32_t IMR5; /**< IRQ masking register 5, offset: 0x34 */
  19338. __I uint32_t ISR5; /**< IRQ status resister 5, offset: 0x38 */
  19339. } GPC_Type;
  19340. /* ----------------------------------------------------------------------------
  19341. -- GPC Register Masks
  19342. ---------------------------------------------------------------------------- */
  19343. /*!
  19344. * @addtogroup GPC_Register_Masks GPC Register Masks
  19345. * @{
  19346. */
  19347. /*! @name CNTR - GPC Interface control register */
  19348. /*! @{ */
  19349. #define GPC_CNTR_MEGA_PDN_REQ_MASK (0x4U)
  19350. #define GPC_CNTR_MEGA_PDN_REQ_SHIFT (2U)
  19351. /*! MEGA_PDN_REQ
  19352. * 0b0..No Request
  19353. * 0b1..Request power down sequence
  19354. */
  19355. #define GPC_CNTR_MEGA_PDN_REQ(x) (((uint32_t)(((uint32_t)(x)) << GPC_CNTR_MEGA_PDN_REQ_SHIFT)) & GPC_CNTR_MEGA_PDN_REQ_MASK)
  19356. #define GPC_CNTR_MEGA_PUP_REQ_MASK (0x8U)
  19357. #define GPC_CNTR_MEGA_PUP_REQ_SHIFT (3U)
  19358. /*! MEGA_PUP_REQ
  19359. * 0b0..No Request
  19360. * 0b1..Request power up sequence
  19361. */
  19362. #define GPC_CNTR_MEGA_PUP_REQ(x) (((uint32_t)(((uint32_t)(x)) << GPC_CNTR_MEGA_PUP_REQ_SHIFT)) & GPC_CNTR_MEGA_PUP_REQ_MASK)
  19363. #define GPC_CNTR_PDRAM0_PGE_MASK (0x400000U)
  19364. #define GPC_CNTR_PDRAM0_PGE_SHIFT (22U)
  19365. /*! PDRAM0_PGE
  19366. * 0b1..FlexRAM PDRAM0 domain will be power down once when CPU core is power down.
  19367. * 0b0..FlexRAM PDRAM0 domain will keep power on even if CPU core is power down.
  19368. */
  19369. #define GPC_CNTR_PDRAM0_PGE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CNTR_PDRAM0_PGE_SHIFT)) & GPC_CNTR_PDRAM0_PGE_MASK)
  19370. /*! @} */
  19371. /*! @name IMR - IRQ masking register 1..IRQ masking register 4 */
  19372. /*! @{ */
  19373. #define GPC_IMR_IMR1_MASK (0xFFFFFFFFU)
  19374. #define GPC_IMR_IMR1_SHIFT (0U)
  19375. #define GPC_IMR_IMR1(x) (((uint32_t)(((uint32_t)(x)) << GPC_IMR_IMR1_SHIFT)) & GPC_IMR_IMR1_MASK)
  19376. #define GPC_IMR_IMR2_MASK (0xFFFFFFFFU)
  19377. #define GPC_IMR_IMR2_SHIFT (0U)
  19378. #define GPC_IMR_IMR2(x) (((uint32_t)(((uint32_t)(x)) << GPC_IMR_IMR2_SHIFT)) & GPC_IMR_IMR2_MASK)
  19379. #define GPC_IMR_IMR3_MASK (0xFFFFFFFFU)
  19380. #define GPC_IMR_IMR3_SHIFT (0U)
  19381. #define GPC_IMR_IMR3(x) (((uint32_t)(((uint32_t)(x)) << GPC_IMR_IMR3_SHIFT)) & GPC_IMR_IMR3_MASK)
  19382. #define GPC_IMR_IMR4_MASK (0xFFFFFFFFU)
  19383. #define GPC_IMR_IMR4_SHIFT (0U)
  19384. #define GPC_IMR_IMR4(x) (((uint32_t)(((uint32_t)(x)) << GPC_IMR_IMR4_SHIFT)) & GPC_IMR_IMR4_MASK)
  19385. /*! @} */
  19386. /* The count of GPC_IMR */
  19387. #define GPC_IMR_COUNT (4U)
  19388. /*! @name ISR - IRQ status resister 1..IRQ status resister 4 */
  19389. /*! @{ */
  19390. #define GPC_ISR_ISR1_MASK (0xFFFFFFFFU)
  19391. #define GPC_ISR_ISR1_SHIFT (0U)
  19392. #define GPC_ISR_ISR1(x) (((uint32_t)(((uint32_t)(x)) << GPC_ISR_ISR1_SHIFT)) & GPC_ISR_ISR1_MASK)
  19393. #define GPC_ISR_ISR2_MASK (0xFFFFFFFFU)
  19394. #define GPC_ISR_ISR2_SHIFT (0U)
  19395. #define GPC_ISR_ISR2(x) (((uint32_t)(((uint32_t)(x)) << GPC_ISR_ISR2_SHIFT)) & GPC_ISR_ISR2_MASK)
  19396. #define GPC_ISR_ISR3_MASK (0xFFFFFFFFU)
  19397. #define GPC_ISR_ISR3_SHIFT (0U)
  19398. #define GPC_ISR_ISR3(x) (((uint32_t)(((uint32_t)(x)) << GPC_ISR_ISR3_SHIFT)) & GPC_ISR_ISR3_MASK)
  19399. #define GPC_ISR_ISR4_MASK (0xFFFFFFFFU)
  19400. #define GPC_ISR_ISR4_SHIFT (0U)
  19401. #define GPC_ISR_ISR4(x) (((uint32_t)(((uint32_t)(x)) << GPC_ISR_ISR4_SHIFT)) & GPC_ISR_ISR4_MASK)
  19402. /*! @} */
  19403. /* The count of GPC_ISR */
  19404. #define GPC_ISR_COUNT (4U)
  19405. /*! @name IMR5 - IRQ masking register 5 */
  19406. /*! @{ */
  19407. #define GPC_IMR5_IMR5_MASK (0xFFFFFFFFU)
  19408. #define GPC_IMR5_IMR5_SHIFT (0U)
  19409. #define GPC_IMR5_IMR5(x) (((uint32_t)(((uint32_t)(x)) << GPC_IMR5_IMR5_SHIFT)) & GPC_IMR5_IMR5_MASK)
  19410. /*! @} */
  19411. /*! @name ISR5 - IRQ status resister 5 */
  19412. /*! @{ */
  19413. #define GPC_ISR5_ISR4_MASK (0xFFFFFFFFU)
  19414. #define GPC_ISR5_ISR4_SHIFT (0U)
  19415. #define GPC_ISR5_ISR4(x) (((uint32_t)(((uint32_t)(x)) << GPC_ISR5_ISR4_SHIFT)) & GPC_ISR5_ISR4_MASK)
  19416. /*! @} */
  19417. /*!
  19418. * @}
  19419. */ /* end of group GPC_Register_Masks */
  19420. /* GPC - Peripheral instance base addresses */
  19421. /** Peripheral GPC base address */
  19422. #define GPC_BASE (0x400F4000u)
  19423. /** Peripheral GPC base pointer */
  19424. #define GPC ((GPC_Type *)GPC_BASE)
  19425. /** Array initializer of GPC peripheral base addresses */
  19426. #define GPC_BASE_ADDRS { GPC_BASE }
  19427. /** Array initializer of GPC peripheral base pointers */
  19428. #define GPC_BASE_PTRS { GPC }
  19429. /** Interrupt vectors for the GPC peripheral type */
  19430. #define GPC_IRQS { GPC_IRQn }
  19431. /*!
  19432. * @}
  19433. */ /* end of group GPC_Peripheral_Access_Layer */
  19434. /* ----------------------------------------------------------------------------
  19435. -- GPIO Peripheral Access Layer
  19436. ---------------------------------------------------------------------------- */
  19437. /*!
  19438. * @addtogroup GPIO_Peripheral_Access_Layer GPIO Peripheral Access Layer
  19439. * @{
  19440. */
  19441. /** GPIO - Register Layout Typedef */
  19442. typedef struct {
  19443. __IO uint32_t DR; /**< GPIO data register, offset: 0x0 */
  19444. __IO uint32_t GDIR; /**< GPIO direction register, offset: 0x4 */
  19445. __I uint32_t PSR; /**< GPIO pad status register, offset: 0x8 */
  19446. __IO uint32_t ICR1; /**< GPIO interrupt configuration register1, offset: 0xC */
  19447. __IO uint32_t ICR2; /**< GPIO interrupt configuration register2, offset: 0x10 */
  19448. __IO uint32_t IMR; /**< GPIO interrupt mask register, offset: 0x14 */
  19449. __IO uint32_t ISR; /**< GPIO interrupt status register, offset: 0x18 */
  19450. __IO uint32_t EDGE_SEL; /**< GPIO edge select register, offset: 0x1C */
  19451. uint8_t RESERVED_0[100];
  19452. __O uint32_t DR_SET; /**< GPIO data register SET, offset: 0x84 */
  19453. __O uint32_t DR_CLEAR; /**< GPIO data register CLEAR, offset: 0x88 */
  19454. __O uint32_t DR_TOGGLE; /**< GPIO data register TOGGLE, offset: 0x8C */
  19455. } GPIO_Type;
  19456. /* ----------------------------------------------------------------------------
  19457. -- GPIO Register Masks
  19458. ---------------------------------------------------------------------------- */
  19459. /*!
  19460. * @addtogroup GPIO_Register_Masks GPIO Register Masks
  19461. * @{
  19462. */
  19463. /*! @name DR - GPIO data register */
  19464. /*! @{ */
  19465. #define GPIO_DR_DR_MASK (0xFFFFFFFFU)
  19466. #define GPIO_DR_DR_SHIFT (0U)
  19467. /*! DR - DR
  19468. */
  19469. #define GPIO_DR_DR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DR_DR_SHIFT)) & GPIO_DR_DR_MASK)
  19470. /*! @} */
  19471. /*! @name GDIR - GPIO direction register */
  19472. /*! @{ */
  19473. #define GPIO_GDIR_GDIR_MASK (0xFFFFFFFFU)
  19474. #define GPIO_GDIR_GDIR_SHIFT (0U)
  19475. /*! GDIR - GDIR
  19476. */
  19477. #define GPIO_GDIR_GDIR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_GDIR_GDIR_SHIFT)) & GPIO_GDIR_GDIR_MASK)
  19478. /*! @} */
  19479. /*! @name PSR - GPIO pad status register */
  19480. /*! @{ */
  19481. #define GPIO_PSR_PSR_MASK (0xFFFFFFFFU)
  19482. #define GPIO_PSR_PSR_SHIFT (0U)
  19483. /*! PSR - PSR
  19484. */
  19485. #define GPIO_PSR_PSR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_PSR_PSR_SHIFT)) & GPIO_PSR_PSR_MASK)
  19486. /*! @} */
  19487. /*! @name ICR1 - GPIO interrupt configuration register1 */
  19488. /*! @{ */
  19489. #define GPIO_ICR1_ICR0_MASK (0x3U)
  19490. #define GPIO_ICR1_ICR0_SHIFT (0U)
  19491. /*! ICR0 - ICR0
  19492. * 0b00..Interrupt n is low-level sensitive.
  19493. * 0b01..Interrupt n is high-level sensitive.
  19494. * 0b10..Interrupt n is rising-edge sensitive.
  19495. * 0b11..Interrupt n is falling-edge sensitive.
  19496. */
  19497. #define GPIO_ICR1_ICR0(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR0_SHIFT)) & GPIO_ICR1_ICR0_MASK)
  19498. #define GPIO_ICR1_ICR1_MASK (0xCU)
  19499. #define GPIO_ICR1_ICR1_SHIFT (2U)
  19500. /*! ICR1 - ICR1
  19501. * 0b00..Interrupt n is low-level sensitive.
  19502. * 0b01..Interrupt n is high-level sensitive.
  19503. * 0b10..Interrupt n is rising-edge sensitive.
  19504. * 0b11..Interrupt n is falling-edge sensitive.
  19505. */
  19506. #define GPIO_ICR1_ICR1(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR1_SHIFT)) & GPIO_ICR1_ICR1_MASK)
  19507. #define GPIO_ICR1_ICR2_MASK (0x30U)
  19508. #define GPIO_ICR1_ICR2_SHIFT (4U)
  19509. /*! ICR2 - ICR2
  19510. * 0b00..Interrupt n is low-level sensitive.
  19511. * 0b01..Interrupt n is high-level sensitive.
  19512. * 0b10..Interrupt n is rising-edge sensitive.
  19513. * 0b11..Interrupt n is falling-edge sensitive.
  19514. */
  19515. #define GPIO_ICR1_ICR2(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR2_SHIFT)) & GPIO_ICR1_ICR2_MASK)
  19516. #define GPIO_ICR1_ICR3_MASK (0xC0U)
  19517. #define GPIO_ICR1_ICR3_SHIFT (6U)
  19518. /*! ICR3 - ICR3
  19519. * 0b00..Interrupt n is low-level sensitive.
  19520. * 0b01..Interrupt n is high-level sensitive.
  19521. * 0b10..Interrupt n is rising-edge sensitive.
  19522. * 0b11..Interrupt n is falling-edge sensitive.
  19523. */
  19524. #define GPIO_ICR1_ICR3(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR3_SHIFT)) & GPIO_ICR1_ICR3_MASK)
  19525. #define GPIO_ICR1_ICR4_MASK (0x300U)
  19526. #define GPIO_ICR1_ICR4_SHIFT (8U)
  19527. /*! ICR4 - ICR4
  19528. * 0b00..Interrupt n is low-level sensitive.
  19529. * 0b01..Interrupt n is high-level sensitive.
  19530. * 0b10..Interrupt n is rising-edge sensitive.
  19531. * 0b11..Interrupt n is falling-edge sensitive.
  19532. */
  19533. #define GPIO_ICR1_ICR4(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR4_SHIFT)) & GPIO_ICR1_ICR4_MASK)
  19534. #define GPIO_ICR1_ICR5_MASK (0xC00U)
  19535. #define GPIO_ICR1_ICR5_SHIFT (10U)
  19536. /*! ICR5 - ICR5
  19537. * 0b00..Interrupt n is low-level sensitive.
  19538. * 0b01..Interrupt n is high-level sensitive.
  19539. * 0b10..Interrupt n is rising-edge sensitive.
  19540. * 0b11..Interrupt n is falling-edge sensitive.
  19541. */
  19542. #define GPIO_ICR1_ICR5(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR5_SHIFT)) & GPIO_ICR1_ICR5_MASK)
  19543. #define GPIO_ICR1_ICR6_MASK (0x3000U)
  19544. #define GPIO_ICR1_ICR6_SHIFT (12U)
  19545. /*! ICR6 - ICR6
  19546. * 0b00..Interrupt n is low-level sensitive.
  19547. * 0b01..Interrupt n is high-level sensitive.
  19548. * 0b10..Interrupt n is rising-edge sensitive.
  19549. * 0b11..Interrupt n is falling-edge sensitive.
  19550. */
  19551. #define GPIO_ICR1_ICR6(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR6_SHIFT)) & GPIO_ICR1_ICR6_MASK)
  19552. #define GPIO_ICR1_ICR7_MASK (0xC000U)
  19553. #define GPIO_ICR1_ICR7_SHIFT (14U)
  19554. /*! ICR7 - ICR7
  19555. * 0b00..Interrupt n is low-level sensitive.
  19556. * 0b01..Interrupt n is high-level sensitive.
  19557. * 0b10..Interrupt n is rising-edge sensitive.
  19558. * 0b11..Interrupt n is falling-edge sensitive.
  19559. */
  19560. #define GPIO_ICR1_ICR7(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR7_SHIFT)) & GPIO_ICR1_ICR7_MASK)
  19561. #define GPIO_ICR1_ICR8_MASK (0x30000U)
  19562. #define GPIO_ICR1_ICR8_SHIFT (16U)
  19563. /*! ICR8 - ICR8
  19564. * 0b00..Interrupt n is low-level sensitive.
  19565. * 0b01..Interrupt n is high-level sensitive.
  19566. * 0b10..Interrupt n is rising-edge sensitive.
  19567. * 0b11..Interrupt n is falling-edge sensitive.
  19568. */
  19569. #define GPIO_ICR1_ICR8(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR8_SHIFT)) & GPIO_ICR1_ICR8_MASK)
  19570. #define GPIO_ICR1_ICR9_MASK (0xC0000U)
  19571. #define GPIO_ICR1_ICR9_SHIFT (18U)
  19572. /*! ICR9 - ICR9
  19573. * 0b00..Interrupt n is low-level sensitive.
  19574. * 0b01..Interrupt n is high-level sensitive.
  19575. * 0b10..Interrupt n is rising-edge sensitive.
  19576. * 0b11..Interrupt n is falling-edge sensitive.
  19577. */
  19578. #define GPIO_ICR1_ICR9(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR9_SHIFT)) & GPIO_ICR1_ICR9_MASK)
  19579. #define GPIO_ICR1_ICR10_MASK (0x300000U)
  19580. #define GPIO_ICR1_ICR10_SHIFT (20U)
  19581. /*! ICR10 - ICR10
  19582. * 0b00..Interrupt n is low-level sensitive.
  19583. * 0b01..Interrupt n is high-level sensitive.
  19584. * 0b10..Interrupt n is rising-edge sensitive.
  19585. * 0b11..Interrupt n is falling-edge sensitive.
  19586. */
  19587. #define GPIO_ICR1_ICR10(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR10_SHIFT)) & GPIO_ICR1_ICR10_MASK)
  19588. #define GPIO_ICR1_ICR11_MASK (0xC00000U)
  19589. #define GPIO_ICR1_ICR11_SHIFT (22U)
  19590. /*! ICR11 - ICR11
  19591. * 0b00..Interrupt n is low-level sensitive.
  19592. * 0b01..Interrupt n is high-level sensitive.
  19593. * 0b10..Interrupt n is rising-edge sensitive.
  19594. * 0b11..Interrupt n is falling-edge sensitive.
  19595. */
  19596. #define GPIO_ICR1_ICR11(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR11_SHIFT)) & GPIO_ICR1_ICR11_MASK)
  19597. #define GPIO_ICR1_ICR12_MASK (0x3000000U)
  19598. #define GPIO_ICR1_ICR12_SHIFT (24U)
  19599. /*! ICR12 - ICR12
  19600. * 0b00..Interrupt n is low-level sensitive.
  19601. * 0b01..Interrupt n is high-level sensitive.
  19602. * 0b10..Interrupt n is rising-edge sensitive.
  19603. * 0b11..Interrupt n is falling-edge sensitive.
  19604. */
  19605. #define GPIO_ICR1_ICR12(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR12_SHIFT)) & GPIO_ICR1_ICR12_MASK)
  19606. #define GPIO_ICR1_ICR13_MASK (0xC000000U)
  19607. #define GPIO_ICR1_ICR13_SHIFT (26U)
  19608. /*! ICR13 - ICR13
  19609. * 0b00..Interrupt n is low-level sensitive.
  19610. * 0b01..Interrupt n is high-level sensitive.
  19611. * 0b10..Interrupt n is rising-edge sensitive.
  19612. * 0b11..Interrupt n is falling-edge sensitive.
  19613. */
  19614. #define GPIO_ICR1_ICR13(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR13_SHIFT)) & GPIO_ICR1_ICR13_MASK)
  19615. #define GPIO_ICR1_ICR14_MASK (0x30000000U)
  19616. #define GPIO_ICR1_ICR14_SHIFT (28U)
  19617. /*! ICR14 - ICR14
  19618. * 0b00..Interrupt n is low-level sensitive.
  19619. * 0b01..Interrupt n is high-level sensitive.
  19620. * 0b10..Interrupt n is rising-edge sensitive.
  19621. * 0b11..Interrupt n is falling-edge sensitive.
  19622. */
  19623. #define GPIO_ICR1_ICR14(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR14_SHIFT)) & GPIO_ICR1_ICR14_MASK)
  19624. #define GPIO_ICR1_ICR15_MASK (0xC0000000U)
  19625. #define GPIO_ICR1_ICR15_SHIFT (30U)
  19626. /*! ICR15 - ICR15
  19627. * 0b00..Interrupt n is low-level sensitive.
  19628. * 0b01..Interrupt n is high-level sensitive.
  19629. * 0b10..Interrupt n is rising-edge sensitive.
  19630. * 0b11..Interrupt n is falling-edge sensitive.
  19631. */
  19632. #define GPIO_ICR1_ICR15(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR15_SHIFT)) & GPIO_ICR1_ICR15_MASK)
  19633. /*! @} */
  19634. /*! @name ICR2 - GPIO interrupt configuration register2 */
  19635. /*! @{ */
  19636. #define GPIO_ICR2_ICR16_MASK (0x3U)
  19637. #define GPIO_ICR2_ICR16_SHIFT (0U)
  19638. /*! ICR16 - ICR16
  19639. * 0b00..Interrupt n is low-level sensitive.
  19640. * 0b01..Interrupt n is high-level sensitive.
  19641. * 0b10..Interrupt n is rising-edge sensitive.
  19642. * 0b11..Interrupt n is falling-edge sensitive.
  19643. */
  19644. #define GPIO_ICR2_ICR16(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR16_SHIFT)) & GPIO_ICR2_ICR16_MASK)
  19645. #define GPIO_ICR2_ICR17_MASK (0xCU)
  19646. #define GPIO_ICR2_ICR17_SHIFT (2U)
  19647. /*! ICR17 - ICR17
  19648. * 0b00..Interrupt n is low-level sensitive.
  19649. * 0b01..Interrupt n is high-level sensitive.
  19650. * 0b10..Interrupt n is rising-edge sensitive.
  19651. * 0b11..Interrupt n is falling-edge sensitive.
  19652. */
  19653. #define GPIO_ICR2_ICR17(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR17_SHIFT)) & GPIO_ICR2_ICR17_MASK)
  19654. #define GPIO_ICR2_ICR18_MASK (0x30U)
  19655. #define GPIO_ICR2_ICR18_SHIFT (4U)
  19656. /*! ICR18 - ICR18
  19657. * 0b00..Interrupt n is low-level sensitive.
  19658. * 0b01..Interrupt n is high-level sensitive.
  19659. * 0b10..Interrupt n is rising-edge sensitive.
  19660. * 0b11..Interrupt n is falling-edge sensitive.
  19661. */
  19662. #define GPIO_ICR2_ICR18(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR18_SHIFT)) & GPIO_ICR2_ICR18_MASK)
  19663. #define GPIO_ICR2_ICR19_MASK (0xC0U)
  19664. #define GPIO_ICR2_ICR19_SHIFT (6U)
  19665. /*! ICR19 - ICR19
  19666. * 0b00..Interrupt n is low-level sensitive.
  19667. * 0b01..Interrupt n is high-level sensitive.
  19668. * 0b10..Interrupt n is rising-edge sensitive.
  19669. * 0b11..Interrupt n is falling-edge sensitive.
  19670. */
  19671. #define GPIO_ICR2_ICR19(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR19_SHIFT)) & GPIO_ICR2_ICR19_MASK)
  19672. #define GPIO_ICR2_ICR20_MASK (0x300U)
  19673. #define GPIO_ICR2_ICR20_SHIFT (8U)
  19674. /*! ICR20 - ICR20
  19675. * 0b00..Interrupt n is low-level sensitive.
  19676. * 0b01..Interrupt n is high-level sensitive.
  19677. * 0b10..Interrupt n is rising-edge sensitive.
  19678. * 0b11..Interrupt n is falling-edge sensitive.
  19679. */
  19680. #define GPIO_ICR2_ICR20(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR20_SHIFT)) & GPIO_ICR2_ICR20_MASK)
  19681. #define GPIO_ICR2_ICR21_MASK (0xC00U)
  19682. #define GPIO_ICR2_ICR21_SHIFT (10U)
  19683. /*! ICR21 - ICR21
  19684. * 0b00..Interrupt n is low-level sensitive.
  19685. * 0b01..Interrupt n is high-level sensitive.
  19686. * 0b10..Interrupt n is rising-edge sensitive.
  19687. * 0b11..Interrupt n is falling-edge sensitive.
  19688. */
  19689. #define GPIO_ICR2_ICR21(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR21_SHIFT)) & GPIO_ICR2_ICR21_MASK)
  19690. #define GPIO_ICR2_ICR22_MASK (0x3000U)
  19691. #define GPIO_ICR2_ICR22_SHIFT (12U)
  19692. /*! ICR22 - ICR22
  19693. * 0b00..Interrupt n is low-level sensitive.
  19694. * 0b01..Interrupt n is high-level sensitive.
  19695. * 0b10..Interrupt n is rising-edge sensitive.
  19696. * 0b11..Interrupt n is falling-edge sensitive.
  19697. */
  19698. #define GPIO_ICR2_ICR22(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR22_SHIFT)) & GPIO_ICR2_ICR22_MASK)
  19699. #define GPIO_ICR2_ICR23_MASK (0xC000U)
  19700. #define GPIO_ICR2_ICR23_SHIFT (14U)
  19701. /*! ICR23 - ICR23
  19702. * 0b00..Interrupt n is low-level sensitive.
  19703. * 0b01..Interrupt n is high-level sensitive.
  19704. * 0b10..Interrupt n is rising-edge sensitive.
  19705. * 0b11..Interrupt n is falling-edge sensitive.
  19706. */
  19707. #define GPIO_ICR2_ICR23(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR23_SHIFT)) & GPIO_ICR2_ICR23_MASK)
  19708. #define GPIO_ICR2_ICR24_MASK (0x30000U)
  19709. #define GPIO_ICR2_ICR24_SHIFT (16U)
  19710. /*! ICR24 - ICR24
  19711. * 0b00..Interrupt n is low-level sensitive.
  19712. * 0b01..Interrupt n is high-level sensitive.
  19713. * 0b10..Interrupt n is rising-edge sensitive.
  19714. * 0b11..Interrupt n is falling-edge sensitive.
  19715. */
  19716. #define GPIO_ICR2_ICR24(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR24_SHIFT)) & GPIO_ICR2_ICR24_MASK)
  19717. #define GPIO_ICR2_ICR25_MASK (0xC0000U)
  19718. #define GPIO_ICR2_ICR25_SHIFT (18U)
  19719. /*! ICR25 - ICR25
  19720. * 0b00..Interrupt n is low-level sensitive.
  19721. * 0b01..Interrupt n is high-level sensitive.
  19722. * 0b10..Interrupt n is rising-edge sensitive.
  19723. * 0b11..Interrupt n is falling-edge sensitive.
  19724. */
  19725. #define GPIO_ICR2_ICR25(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR25_SHIFT)) & GPIO_ICR2_ICR25_MASK)
  19726. #define GPIO_ICR2_ICR26_MASK (0x300000U)
  19727. #define GPIO_ICR2_ICR26_SHIFT (20U)
  19728. /*! ICR26 - ICR26
  19729. * 0b00..Interrupt n is low-level sensitive.
  19730. * 0b01..Interrupt n is high-level sensitive.
  19731. * 0b10..Interrupt n is rising-edge sensitive.
  19732. * 0b11..Interrupt n is falling-edge sensitive.
  19733. */
  19734. #define GPIO_ICR2_ICR26(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR26_SHIFT)) & GPIO_ICR2_ICR26_MASK)
  19735. #define GPIO_ICR2_ICR27_MASK (0xC00000U)
  19736. #define GPIO_ICR2_ICR27_SHIFT (22U)
  19737. /*! ICR27 - ICR27
  19738. * 0b00..Interrupt n is low-level sensitive.
  19739. * 0b01..Interrupt n is high-level sensitive.
  19740. * 0b10..Interrupt n is rising-edge sensitive.
  19741. * 0b11..Interrupt n is falling-edge sensitive.
  19742. */
  19743. #define GPIO_ICR2_ICR27(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR27_SHIFT)) & GPIO_ICR2_ICR27_MASK)
  19744. #define GPIO_ICR2_ICR28_MASK (0x3000000U)
  19745. #define GPIO_ICR2_ICR28_SHIFT (24U)
  19746. /*! ICR28 - ICR28
  19747. * 0b00..Interrupt n is low-level sensitive.
  19748. * 0b01..Interrupt n is high-level sensitive.
  19749. * 0b10..Interrupt n is rising-edge sensitive.
  19750. * 0b11..Interrupt n is falling-edge sensitive.
  19751. */
  19752. #define GPIO_ICR2_ICR28(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR28_SHIFT)) & GPIO_ICR2_ICR28_MASK)
  19753. #define GPIO_ICR2_ICR29_MASK (0xC000000U)
  19754. #define GPIO_ICR2_ICR29_SHIFT (26U)
  19755. /*! ICR29 - ICR29
  19756. * 0b00..Interrupt n is low-level sensitive.
  19757. * 0b01..Interrupt n is high-level sensitive.
  19758. * 0b10..Interrupt n is rising-edge sensitive.
  19759. * 0b11..Interrupt n is falling-edge sensitive.
  19760. */
  19761. #define GPIO_ICR2_ICR29(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR29_SHIFT)) & GPIO_ICR2_ICR29_MASK)
  19762. #define GPIO_ICR2_ICR30_MASK (0x30000000U)
  19763. #define GPIO_ICR2_ICR30_SHIFT (28U)
  19764. /*! ICR30 - ICR30
  19765. * 0b00..Interrupt n is low-level sensitive.
  19766. * 0b01..Interrupt n is high-level sensitive.
  19767. * 0b10..Interrupt n is rising-edge sensitive.
  19768. * 0b11..Interrupt n is falling-edge sensitive.
  19769. */
  19770. #define GPIO_ICR2_ICR30(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR30_SHIFT)) & GPIO_ICR2_ICR30_MASK)
  19771. #define GPIO_ICR2_ICR31_MASK (0xC0000000U)
  19772. #define GPIO_ICR2_ICR31_SHIFT (30U)
  19773. /*! ICR31 - ICR31
  19774. * 0b00..Interrupt n is low-level sensitive.
  19775. * 0b01..Interrupt n is high-level sensitive.
  19776. * 0b10..Interrupt n is rising-edge sensitive.
  19777. * 0b11..Interrupt n is falling-edge sensitive.
  19778. */
  19779. #define GPIO_ICR2_ICR31(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR31_SHIFT)) & GPIO_ICR2_ICR31_MASK)
  19780. /*! @} */
  19781. /*! @name IMR - GPIO interrupt mask register */
  19782. /*! @{ */
  19783. #define GPIO_IMR_IMR_MASK (0xFFFFFFFFU)
  19784. #define GPIO_IMR_IMR_SHIFT (0U)
  19785. /*! IMR - IMR
  19786. */
  19787. #define GPIO_IMR_IMR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_IMR_IMR_SHIFT)) & GPIO_IMR_IMR_MASK)
  19788. /*! @} */
  19789. /*! @name ISR - GPIO interrupt status register */
  19790. /*! @{ */
  19791. #define GPIO_ISR_ISR_MASK (0xFFFFFFFFU)
  19792. #define GPIO_ISR_ISR_SHIFT (0U)
  19793. /*! ISR - ISR
  19794. */
  19795. #define GPIO_ISR_ISR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ISR_ISR_SHIFT)) & GPIO_ISR_ISR_MASK)
  19796. /*! @} */
  19797. /*! @name EDGE_SEL - GPIO edge select register */
  19798. /*! @{ */
  19799. #define GPIO_EDGE_SEL_GPIO_EDGE_SEL_MASK (0xFFFFFFFFU)
  19800. #define GPIO_EDGE_SEL_GPIO_EDGE_SEL_SHIFT (0U)
  19801. /*! GPIO_EDGE_SEL - GPIO_EDGE_SEL
  19802. */
  19803. #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)
  19804. /*! @} */
  19805. /*! @name DR_SET - GPIO data register SET */
  19806. /*! @{ */
  19807. #define GPIO_DR_SET_DR_SET_MASK (0xFFFFFFFFU)
  19808. #define GPIO_DR_SET_DR_SET_SHIFT (0U)
  19809. /*! DR_SET - DR_SET
  19810. */
  19811. #define GPIO_DR_SET_DR_SET(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DR_SET_DR_SET_SHIFT)) & GPIO_DR_SET_DR_SET_MASK)
  19812. /*! @} */
  19813. /*! @name DR_CLEAR - GPIO data register CLEAR */
  19814. /*! @{ */
  19815. #define GPIO_DR_CLEAR_DR_CLEAR_MASK (0xFFFFFFFFU)
  19816. #define GPIO_DR_CLEAR_DR_CLEAR_SHIFT (0U)
  19817. /*! DR_CLEAR - DR_CLEAR
  19818. */
  19819. #define GPIO_DR_CLEAR_DR_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DR_CLEAR_DR_CLEAR_SHIFT)) & GPIO_DR_CLEAR_DR_CLEAR_MASK)
  19820. /*! @} */
  19821. /*! @name DR_TOGGLE - GPIO data register TOGGLE */
  19822. /*! @{ */
  19823. #define GPIO_DR_TOGGLE_DR_TOGGLE_MASK (0xFFFFFFFFU)
  19824. #define GPIO_DR_TOGGLE_DR_TOGGLE_SHIFT (0U)
  19825. /*! DR_TOGGLE - DR_TOGGLE
  19826. */
  19827. #define GPIO_DR_TOGGLE_DR_TOGGLE(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DR_TOGGLE_DR_TOGGLE_SHIFT)) & GPIO_DR_TOGGLE_DR_TOGGLE_MASK)
  19828. /*! @} */
  19829. /*!
  19830. * @}
  19831. */ /* end of group GPIO_Register_Masks */
  19832. /* GPIO - Peripheral instance base addresses */
  19833. /** Peripheral GPIO1 base address */
  19834. #define GPIO1_BASE (0x401B8000u)
  19835. /** Peripheral GPIO1 base pointer */
  19836. #define GPIO1 ((GPIO_Type *)GPIO1_BASE)
  19837. /** Peripheral GPIO2 base address */
  19838. #define GPIO2_BASE (0x401BC000u)
  19839. /** Peripheral GPIO2 base pointer */
  19840. #define GPIO2 ((GPIO_Type *)GPIO2_BASE)
  19841. /** Peripheral GPIO3 base address */
  19842. #define GPIO3_BASE (0x401C0000u)
  19843. /** Peripheral GPIO3 base pointer */
  19844. #define GPIO3 ((GPIO_Type *)GPIO3_BASE)
  19845. /** Peripheral GPIO4 base address */
  19846. #define GPIO4_BASE (0x401C4000u)
  19847. /** Peripheral GPIO4 base pointer */
  19848. #define GPIO4 ((GPIO_Type *)GPIO4_BASE)
  19849. /** Peripheral GPIO5 base address */
  19850. #define GPIO5_BASE (0x400C0000u)
  19851. /** Peripheral GPIO5 base pointer */
  19852. #define GPIO5 ((GPIO_Type *)GPIO5_BASE)
  19853. /** Peripheral GPIO6 base address */
  19854. #define GPIO6_BASE (0x42000000u)
  19855. /** Peripheral GPIO6 base pointer */
  19856. #define GPIO6 ((GPIO_Type *)GPIO6_BASE)
  19857. /** Peripheral GPIO7 base address */
  19858. #define GPIO7_BASE (0x42004000u)
  19859. /** Peripheral GPIO7 base pointer */
  19860. #define GPIO7 ((GPIO_Type *)GPIO7_BASE)
  19861. /** Peripheral GPIO8 base address */
  19862. #define GPIO8_BASE (0x42008000u)
  19863. /** Peripheral GPIO8 base pointer */
  19864. #define GPIO8 ((GPIO_Type *)GPIO8_BASE)
  19865. /** Peripheral GPIO9 base address */
  19866. #define GPIO9_BASE (0x4200C000u)
  19867. /** Peripheral GPIO9 base pointer */
  19868. #define GPIO9 ((GPIO_Type *)GPIO9_BASE)
  19869. /** Array initializer of GPIO peripheral base addresses */
  19870. #define GPIO_BASE_ADDRS { 0u, GPIO1_BASE, GPIO2_BASE, GPIO3_BASE, GPIO4_BASE, GPIO5_BASE, GPIO6_BASE, GPIO7_BASE, GPIO8_BASE, GPIO9_BASE }
  19871. /** Array initializer of GPIO peripheral base pointers */
  19872. #define GPIO_BASE_PTRS { (GPIO_Type *)0u, GPIO1, GPIO2, GPIO3, GPIO4, GPIO5, GPIO6, GPIO7, GPIO8, GPIO9 }
  19873. /** Interrupt vectors for the GPIO peripheral type */
  19874. #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, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn }
  19875. #define GPIO_COMBINED_LOW_IRQS { NotAvail_IRQn, GPIO1_Combined_0_15_IRQn, GPIO2_Combined_0_15_IRQn, GPIO3_Combined_0_15_IRQn, GPIO4_Combined_0_15_IRQn, GPIO5_Combined_0_15_IRQn, GPIO6_7_8_9_IRQn, GPIO6_7_8_9_IRQn, GPIO6_7_8_9_IRQn, GPIO6_7_8_9_IRQn }
  19876. #define GPIO_COMBINED_HIGH_IRQS { NotAvail_IRQn, GPIO1_Combined_16_31_IRQn, GPIO2_Combined_16_31_IRQn, GPIO3_Combined_16_31_IRQn, GPIO4_Combined_16_31_IRQn, GPIO5_Combined_16_31_IRQn, GPIO6_7_8_9_IRQn, GPIO6_7_8_9_IRQn, GPIO6_7_8_9_IRQn, GPIO6_7_8_9_IRQn }
  19877. /*!
  19878. * @}
  19879. */ /* end of group GPIO_Peripheral_Access_Layer */
  19880. /* ----------------------------------------------------------------------------
  19881. -- GPT Peripheral Access Layer
  19882. ---------------------------------------------------------------------------- */
  19883. /*!
  19884. * @addtogroup GPT_Peripheral_Access_Layer GPT Peripheral Access Layer
  19885. * @{
  19886. */
  19887. /** GPT - Register Layout Typedef */
  19888. typedef struct {
  19889. __IO uint32_t CR; /**< GPT Control Register, offset: 0x0 */
  19890. __IO uint32_t PR; /**< GPT Prescaler Register, offset: 0x4 */
  19891. __IO uint32_t SR; /**< GPT Status Register, offset: 0x8 */
  19892. __IO uint32_t IR; /**< GPT Interrupt Register, offset: 0xC */
  19893. __IO uint32_t OCR[3]; /**< GPT Output Compare Register 1..GPT Output Compare Register 3, array offset: 0x10, array step: 0x4 */
  19894. __I uint32_t ICR[2]; /**< GPT Input Capture Register 1..GPT Input Capture Register 2, array offset: 0x1C, array step: 0x4 */
  19895. __I uint32_t CNT; /**< GPT Counter Register, offset: 0x24 */
  19896. } GPT_Type;
  19897. /* ----------------------------------------------------------------------------
  19898. -- GPT Register Masks
  19899. ---------------------------------------------------------------------------- */
  19900. /*!
  19901. * @addtogroup GPT_Register_Masks GPT Register Masks
  19902. * @{
  19903. */
  19904. /*! @name CR - GPT Control Register */
  19905. /*! @{ */
  19906. #define GPT_CR_EN_MASK (0x1U)
  19907. #define GPT_CR_EN_SHIFT (0U)
  19908. /*! EN
  19909. * 0b0..GPT is disabled.
  19910. * 0b1..GPT is enabled.
  19911. */
  19912. #define GPT_CR_EN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_EN_SHIFT)) & GPT_CR_EN_MASK)
  19913. #define GPT_CR_ENMOD_MASK (0x2U)
  19914. #define GPT_CR_ENMOD_SHIFT (1U)
  19915. /*! ENMOD
  19916. * 0b0..GPT counter will retain its value when it is disabled.
  19917. * 0b1..GPT counter value is reset to 0 when it is disabled.
  19918. */
  19919. #define GPT_CR_ENMOD(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_ENMOD_SHIFT)) & GPT_CR_ENMOD_MASK)
  19920. #define GPT_CR_DBGEN_MASK (0x4U)
  19921. #define GPT_CR_DBGEN_SHIFT (2U)
  19922. /*! DBGEN
  19923. * 0b0..GPT is disabled in debug mode.
  19924. * 0b1..GPT is enabled in debug mode.
  19925. */
  19926. #define GPT_CR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_DBGEN_SHIFT)) & GPT_CR_DBGEN_MASK)
  19927. #define GPT_CR_WAITEN_MASK (0x8U)
  19928. #define GPT_CR_WAITEN_SHIFT (3U)
  19929. /*! WAITEN
  19930. * 0b0..GPT is disabled in wait mode.
  19931. * 0b1..GPT is enabled in wait mode.
  19932. */
  19933. #define GPT_CR_WAITEN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_WAITEN_SHIFT)) & GPT_CR_WAITEN_MASK)
  19934. #define GPT_CR_DOZEEN_MASK (0x10U)
  19935. #define GPT_CR_DOZEEN_SHIFT (4U)
  19936. /*! DOZEEN
  19937. * 0b0..GPT is disabled in doze mode.
  19938. * 0b1..GPT is enabled in doze mode.
  19939. */
  19940. #define GPT_CR_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_DOZEEN_SHIFT)) & GPT_CR_DOZEEN_MASK)
  19941. #define GPT_CR_STOPEN_MASK (0x20U)
  19942. #define GPT_CR_STOPEN_SHIFT (5U)
  19943. /*! STOPEN
  19944. * 0b0..GPT is disabled in Stop mode.
  19945. * 0b1..GPT is enabled in Stop mode.
  19946. */
  19947. #define GPT_CR_STOPEN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_STOPEN_SHIFT)) & GPT_CR_STOPEN_MASK)
  19948. #define GPT_CR_CLKSRC_MASK (0x1C0U)
  19949. #define GPT_CR_CLKSRC_SHIFT (6U)
  19950. /*! CLKSRC
  19951. * 0b000..No clock
  19952. * 0b001..Peripheral Clock (ipg_clk)
  19953. * 0b010..High Frequency Reference Clock (ipg_clk_highfreq)
  19954. * 0b011..External Clock
  19955. * 0b100..Low Frequency Reference Clock (ipg_clk_32k)
  19956. * 0b101..Crystal oscillator as Reference Clock (ipg_clk_24M)
  19957. */
  19958. #define GPT_CR_CLKSRC(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_CLKSRC_SHIFT)) & GPT_CR_CLKSRC_MASK)
  19959. #define GPT_CR_FRR_MASK (0x200U)
  19960. #define GPT_CR_FRR_SHIFT (9U)
  19961. /*! FRR
  19962. * 0b0..Restart mode
  19963. * 0b1..Free-Run mode
  19964. */
  19965. #define GPT_CR_FRR(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_FRR_SHIFT)) & GPT_CR_FRR_MASK)
  19966. #define GPT_CR_EN_24M_MASK (0x400U)
  19967. #define GPT_CR_EN_24M_SHIFT (10U)
  19968. /*! EN_24M
  19969. * 0b0..24M clock disabled
  19970. * 0b1..24M clock enabled
  19971. */
  19972. #define GPT_CR_EN_24M(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_EN_24M_SHIFT)) & GPT_CR_EN_24M_MASK)
  19973. #define GPT_CR_SWR_MASK (0x8000U)
  19974. #define GPT_CR_SWR_SHIFT (15U)
  19975. /*! SWR
  19976. * 0b0..GPT is not in reset state
  19977. * 0b1..GPT is in reset state
  19978. */
  19979. #define GPT_CR_SWR(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_SWR_SHIFT)) & GPT_CR_SWR_MASK)
  19980. #define GPT_CR_IM1_MASK (0x30000U)
  19981. #define GPT_CR_IM1_SHIFT (16U)
  19982. #define GPT_CR_IM1(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_IM1_SHIFT)) & GPT_CR_IM1_MASK)
  19983. #define GPT_CR_IM2_MASK (0xC0000U)
  19984. #define GPT_CR_IM2_SHIFT (18U)
  19985. /*! IM2
  19986. * 0b00..capture disabled
  19987. * 0b01..capture on rising edge only
  19988. * 0b10..capture on falling edge only
  19989. * 0b11..capture on both edges
  19990. */
  19991. #define GPT_CR_IM2(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_IM2_SHIFT)) & GPT_CR_IM2_MASK)
  19992. #define GPT_CR_OM1_MASK (0x700000U)
  19993. #define GPT_CR_OM1_SHIFT (20U)
  19994. #define GPT_CR_OM1(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_OM1_SHIFT)) & GPT_CR_OM1_MASK)
  19995. #define GPT_CR_OM2_MASK (0x3800000U)
  19996. #define GPT_CR_OM2_SHIFT (23U)
  19997. #define GPT_CR_OM2(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_OM2_SHIFT)) & GPT_CR_OM2_MASK)
  19998. #define GPT_CR_OM3_MASK (0x1C000000U)
  19999. #define GPT_CR_OM3_SHIFT (26U)
  20000. /*! OM3
  20001. * 0b000..Output disconnected. No response on pin.
  20002. * 0b001..Toggle output pin
  20003. * 0b010..Clear output pin
  20004. * 0b011..Set output pin
  20005. * 0b1xx..Generate an active low pulse (that is one input clock wide) on the output pin.
  20006. */
  20007. #define GPT_CR_OM3(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_OM3_SHIFT)) & GPT_CR_OM3_MASK)
  20008. #define GPT_CR_FO1_MASK (0x20000000U)
  20009. #define GPT_CR_FO1_SHIFT (29U)
  20010. #define GPT_CR_FO1(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_FO1_SHIFT)) & GPT_CR_FO1_MASK)
  20011. #define GPT_CR_FO2_MASK (0x40000000U)
  20012. #define GPT_CR_FO2_SHIFT (30U)
  20013. #define GPT_CR_FO2(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_FO2_SHIFT)) & GPT_CR_FO2_MASK)
  20014. #define GPT_CR_FO3_MASK (0x80000000U)
  20015. #define GPT_CR_FO3_SHIFT (31U)
  20016. /*! FO3
  20017. * 0b0..Writing a 0 has no effect.
  20018. * 0b1..Causes the programmed pin action on the timer Output Compare n pin; the OFn flag is not set.
  20019. */
  20020. #define GPT_CR_FO3(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_FO3_SHIFT)) & GPT_CR_FO3_MASK)
  20021. /*! @} */
  20022. /*! @name PR - GPT Prescaler Register */
  20023. /*! @{ */
  20024. #define GPT_PR_PRESCALER_MASK (0xFFFU)
  20025. #define GPT_PR_PRESCALER_SHIFT (0U)
  20026. /*! PRESCALER
  20027. * 0b000000000000..Divide by 1
  20028. * 0b000000000001..Divide by 2
  20029. * 0b111111111111..Divide by 4096
  20030. */
  20031. #define GPT_PR_PRESCALER(x) (((uint32_t)(((uint32_t)(x)) << GPT_PR_PRESCALER_SHIFT)) & GPT_PR_PRESCALER_MASK)
  20032. #define GPT_PR_PRESCALER24M_MASK (0xF000U)
  20033. #define GPT_PR_PRESCALER24M_SHIFT (12U)
  20034. /*! PRESCALER24M
  20035. * 0b0000..Divide by 1
  20036. * 0b0001..Divide by 2
  20037. * 0b1111..Divide by 16
  20038. */
  20039. #define GPT_PR_PRESCALER24M(x) (((uint32_t)(((uint32_t)(x)) << GPT_PR_PRESCALER24M_SHIFT)) & GPT_PR_PRESCALER24M_MASK)
  20040. /*! @} */
  20041. /*! @name SR - GPT Status Register */
  20042. /*! @{ */
  20043. #define GPT_SR_OF1_MASK (0x1U)
  20044. #define GPT_SR_OF1_SHIFT (0U)
  20045. #define GPT_SR_OF1(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_OF1_SHIFT)) & GPT_SR_OF1_MASK)
  20046. #define GPT_SR_OF2_MASK (0x2U)
  20047. #define GPT_SR_OF2_SHIFT (1U)
  20048. #define GPT_SR_OF2(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_OF2_SHIFT)) & GPT_SR_OF2_MASK)
  20049. #define GPT_SR_OF3_MASK (0x4U)
  20050. #define GPT_SR_OF3_SHIFT (2U)
  20051. /*! OF3
  20052. * 0b0..Compare event has not occurred.
  20053. * 0b1..Compare event has occurred.
  20054. */
  20055. #define GPT_SR_OF3(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_OF3_SHIFT)) & GPT_SR_OF3_MASK)
  20056. #define GPT_SR_IF1_MASK (0x8U)
  20057. #define GPT_SR_IF1_SHIFT (3U)
  20058. #define GPT_SR_IF1(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_IF1_SHIFT)) & GPT_SR_IF1_MASK)
  20059. #define GPT_SR_IF2_MASK (0x10U)
  20060. #define GPT_SR_IF2_SHIFT (4U)
  20061. /*! IF2
  20062. * 0b0..Capture event has not occurred.
  20063. * 0b1..Capture event has occurred.
  20064. */
  20065. #define GPT_SR_IF2(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_IF2_SHIFT)) & GPT_SR_IF2_MASK)
  20066. #define GPT_SR_ROV_MASK (0x20U)
  20067. #define GPT_SR_ROV_SHIFT (5U)
  20068. /*! ROV
  20069. * 0b0..Rollover has not occurred.
  20070. * 0b1..Rollover has occurred.
  20071. */
  20072. #define GPT_SR_ROV(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_ROV_SHIFT)) & GPT_SR_ROV_MASK)
  20073. /*! @} */
  20074. /*! @name IR - GPT Interrupt Register */
  20075. /*! @{ */
  20076. #define GPT_IR_OF1IE_MASK (0x1U)
  20077. #define GPT_IR_OF1IE_SHIFT (0U)
  20078. #define GPT_IR_OF1IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_OF1IE_SHIFT)) & GPT_IR_OF1IE_MASK)
  20079. #define GPT_IR_OF2IE_MASK (0x2U)
  20080. #define GPT_IR_OF2IE_SHIFT (1U)
  20081. #define GPT_IR_OF2IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_OF2IE_SHIFT)) & GPT_IR_OF2IE_MASK)
  20082. #define GPT_IR_OF3IE_MASK (0x4U)
  20083. #define GPT_IR_OF3IE_SHIFT (2U)
  20084. /*! OF3IE
  20085. * 0b0..Output Compare Channel n interrupt is disabled.
  20086. * 0b1..Output Compare Channel n interrupt is enabled.
  20087. */
  20088. #define GPT_IR_OF3IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_OF3IE_SHIFT)) & GPT_IR_OF3IE_MASK)
  20089. #define GPT_IR_IF1IE_MASK (0x8U)
  20090. #define GPT_IR_IF1IE_SHIFT (3U)
  20091. #define GPT_IR_IF1IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_IF1IE_SHIFT)) & GPT_IR_IF1IE_MASK)
  20092. #define GPT_IR_IF2IE_MASK (0x10U)
  20093. #define GPT_IR_IF2IE_SHIFT (4U)
  20094. /*! IF2IE
  20095. * 0b0..IF2IE Input Capture n Interrupt Enable is disabled.
  20096. * 0b1..IF2IE Input Capture n Interrupt Enable is enabled.
  20097. */
  20098. #define GPT_IR_IF2IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_IF2IE_SHIFT)) & GPT_IR_IF2IE_MASK)
  20099. #define GPT_IR_ROVIE_MASK (0x20U)
  20100. #define GPT_IR_ROVIE_SHIFT (5U)
  20101. /*! ROVIE
  20102. * 0b0..Rollover interrupt is disabled.
  20103. * 0b1..Rollover interrupt enabled.
  20104. */
  20105. #define GPT_IR_ROVIE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_ROVIE_SHIFT)) & GPT_IR_ROVIE_MASK)
  20106. /*! @} */
  20107. /*! @name OCR - GPT Output Compare Register 1..GPT Output Compare Register 3 */
  20108. /*! @{ */
  20109. #define GPT_OCR_COMP_MASK (0xFFFFFFFFU)
  20110. #define GPT_OCR_COMP_SHIFT (0U)
  20111. #define GPT_OCR_COMP(x) (((uint32_t)(((uint32_t)(x)) << GPT_OCR_COMP_SHIFT)) & GPT_OCR_COMP_MASK)
  20112. /*! @} */
  20113. /* The count of GPT_OCR */
  20114. #define GPT_OCR_COUNT (3U)
  20115. /*! @name ICR - GPT Input Capture Register 1..GPT Input Capture Register 2 */
  20116. /*! @{ */
  20117. #define GPT_ICR_CAPT_MASK (0xFFFFFFFFU)
  20118. #define GPT_ICR_CAPT_SHIFT (0U)
  20119. #define GPT_ICR_CAPT(x) (((uint32_t)(((uint32_t)(x)) << GPT_ICR_CAPT_SHIFT)) & GPT_ICR_CAPT_MASK)
  20120. /*! @} */
  20121. /* The count of GPT_ICR */
  20122. #define GPT_ICR_COUNT (2U)
  20123. /*! @name CNT - GPT Counter Register */
  20124. /*! @{ */
  20125. #define GPT_CNT_COUNT_MASK (0xFFFFFFFFU)
  20126. #define GPT_CNT_COUNT_SHIFT (0U)
  20127. #define GPT_CNT_COUNT(x) (((uint32_t)(((uint32_t)(x)) << GPT_CNT_COUNT_SHIFT)) & GPT_CNT_COUNT_MASK)
  20128. /*! @} */
  20129. /*!
  20130. * @}
  20131. */ /* end of group GPT_Register_Masks */
  20132. /* GPT - Peripheral instance base addresses */
  20133. /** Peripheral GPT1 base address */
  20134. #define GPT1_BASE (0x401EC000u)
  20135. /** Peripheral GPT1 base pointer */
  20136. #define GPT1 ((GPT_Type *)GPT1_BASE)
  20137. /** Peripheral GPT2 base address */
  20138. #define GPT2_BASE (0x401F0000u)
  20139. /** Peripheral GPT2 base pointer */
  20140. #define GPT2 ((GPT_Type *)GPT2_BASE)
  20141. /** Array initializer of GPT peripheral base addresses */
  20142. #define GPT_BASE_ADDRS { 0u, GPT1_BASE, GPT2_BASE }
  20143. /** Array initializer of GPT peripheral base pointers */
  20144. #define GPT_BASE_PTRS { (GPT_Type *)0u, GPT1, GPT2 }
  20145. /** Interrupt vectors for the GPT peripheral type */
  20146. #define GPT_IRQS { NotAvail_IRQn, GPT1_IRQn, GPT2_IRQn }
  20147. /*!
  20148. * @}
  20149. */ /* end of group GPT_Peripheral_Access_Layer */
  20150. /* ----------------------------------------------------------------------------
  20151. -- I2S Peripheral Access Layer
  20152. ---------------------------------------------------------------------------- */
  20153. /*!
  20154. * @addtogroup I2S_Peripheral_Access_Layer I2S Peripheral Access Layer
  20155. * @{
  20156. */
  20157. /** I2S - Register Layout Typedef */
  20158. typedef struct {
  20159. __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */
  20160. __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
  20161. __IO uint32_t TCSR; /**< SAI Transmit Control Register, offset: 0x8 */
  20162. __IO uint32_t TCR1; /**< SAI Transmit Configuration 1 Register, offset: 0xC */
  20163. __IO uint32_t TCR2; /**< SAI Transmit Configuration 2 Register, offset: 0x10 */
  20164. __IO uint32_t TCR3; /**< SAI Transmit Configuration 3 Register, offset: 0x14 */
  20165. __IO uint32_t TCR4; /**< SAI Transmit Configuration 4 Register, offset: 0x18 */
  20166. __IO uint32_t TCR5; /**< SAI Transmit Configuration 5 Register, offset: 0x1C */
  20167. __O uint32_t TDR[4]; /**< SAI Transmit Data Register, array offset: 0x20, array step: 0x4 */
  20168. uint8_t RESERVED_0[16];
  20169. __I uint32_t TFR[4]; /**< SAI Transmit FIFO Register, array offset: 0x40, array step: 0x4 */
  20170. uint8_t RESERVED_1[16];
  20171. __IO uint32_t TMR; /**< SAI Transmit Mask Register, offset: 0x60 */
  20172. uint8_t RESERVED_2[36];
  20173. __IO uint32_t RCSR; /**< SAI Receive Control Register, offset: 0x88 */
  20174. __IO uint32_t RCR1; /**< SAI Receive Configuration 1 Register, offset: 0x8C */
  20175. __IO uint32_t RCR2; /**< SAI Receive Configuration 2 Register, offset: 0x90 */
  20176. __IO uint32_t RCR3; /**< SAI Receive Configuration 3 Register, offset: 0x94 */
  20177. __IO uint32_t RCR4; /**< SAI Receive Configuration 4 Register, offset: 0x98 */
  20178. __IO uint32_t RCR5; /**< SAI Receive Configuration 5 Register, offset: 0x9C */
  20179. __I uint32_t RDR[4]; /**< SAI Receive Data Register, array offset: 0xA0, array step: 0x4 */
  20180. uint8_t RESERVED_3[16];
  20181. __I uint32_t RFR[4]; /**< SAI Receive FIFO Register, array offset: 0xC0, array step: 0x4 */
  20182. uint8_t RESERVED_4[16];
  20183. __IO uint32_t RMR; /**< SAI Receive Mask Register, offset: 0xE0 */
  20184. } I2S_Type;
  20185. /* ----------------------------------------------------------------------------
  20186. -- I2S Register Masks
  20187. ---------------------------------------------------------------------------- */
  20188. /*!
  20189. * @addtogroup I2S_Register_Masks I2S Register Masks
  20190. * @{
  20191. */
  20192. /*! @name VERID - Version ID Register */
  20193. /*! @{ */
  20194. #define I2S_VERID_FEATURE_MASK (0xFFFFU)
  20195. #define I2S_VERID_FEATURE_SHIFT (0U)
  20196. /*! FEATURE - Feature Specification Number
  20197. * 0b0000000000000000..Standard feature set.
  20198. */
  20199. #define I2S_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_FEATURE_SHIFT)) & I2S_VERID_FEATURE_MASK)
  20200. #define I2S_VERID_MINOR_MASK (0xFF0000U)
  20201. #define I2S_VERID_MINOR_SHIFT (16U)
  20202. /*! MINOR - Minor Version Number
  20203. */
  20204. #define I2S_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_MINOR_SHIFT)) & I2S_VERID_MINOR_MASK)
  20205. #define I2S_VERID_MAJOR_MASK (0xFF000000U)
  20206. #define I2S_VERID_MAJOR_SHIFT (24U)
  20207. /*! MAJOR - Major Version Number
  20208. */
  20209. #define I2S_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_MAJOR_SHIFT)) & I2S_VERID_MAJOR_MASK)
  20210. /*! @} */
  20211. /*! @name PARAM - Parameter Register */
  20212. /*! @{ */
  20213. #define I2S_PARAM_DATALINE_MASK (0xFU)
  20214. #define I2S_PARAM_DATALINE_SHIFT (0U)
  20215. /*! DATALINE - Number of Datalines
  20216. */
  20217. #define I2S_PARAM_DATALINE(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_DATALINE_SHIFT)) & I2S_PARAM_DATALINE_MASK)
  20218. #define I2S_PARAM_FIFO_MASK (0xF00U)
  20219. #define I2S_PARAM_FIFO_SHIFT (8U)
  20220. /*! FIFO - FIFO Size
  20221. */
  20222. #define I2S_PARAM_FIFO(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_FIFO_SHIFT)) & I2S_PARAM_FIFO_MASK)
  20223. #define I2S_PARAM_FRAME_MASK (0xF0000U)
  20224. #define I2S_PARAM_FRAME_SHIFT (16U)
  20225. /*! FRAME - Frame Size
  20226. */
  20227. #define I2S_PARAM_FRAME(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_FRAME_SHIFT)) & I2S_PARAM_FRAME_MASK)
  20228. /*! @} */
  20229. /*! @name TCSR - SAI Transmit Control Register */
  20230. /*! @{ */
  20231. #define I2S_TCSR_FRDE_MASK (0x1U)
  20232. #define I2S_TCSR_FRDE_SHIFT (0U)
  20233. /*! FRDE - FIFO Request DMA Enable
  20234. * 0b0..Disables the DMA request.
  20235. * 0b1..Enables the DMA request.
  20236. */
  20237. #define I2S_TCSR_FRDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRDE_SHIFT)) & I2S_TCSR_FRDE_MASK)
  20238. #define I2S_TCSR_FWDE_MASK (0x2U)
  20239. #define I2S_TCSR_FWDE_SHIFT (1U)
  20240. /*! FWDE - FIFO Warning DMA Enable
  20241. * 0b0..Disables the DMA request.
  20242. * 0b1..Enables the DMA request.
  20243. */
  20244. #define I2S_TCSR_FWDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWDE_SHIFT)) & I2S_TCSR_FWDE_MASK)
  20245. #define I2S_TCSR_FRIE_MASK (0x100U)
  20246. #define I2S_TCSR_FRIE_SHIFT (8U)
  20247. /*! FRIE - FIFO Request Interrupt Enable
  20248. * 0b0..Disables the interrupt.
  20249. * 0b1..Enables the interrupt.
  20250. */
  20251. #define I2S_TCSR_FRIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRIE_SHIFT)) & I2S_TCSR_FRIE_MASK)
  20252. #define I2S_TCSR_FWIE_MASK (0x200U)
  20253. #define I2S_TCSR_FWIE_SHIFT (9U)
  20254. /*! FWIE - FIFO Warning Interrupt Enable
  20255. * 0b0..Disables the interrupt.
  20256. * 0b1..Enables the interrupt.
  20257. */
  20258. #define I2S_TCSR_FWIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWIE_SHIFT)) & I2S_TCSR_FWIE_MASK)
  20259. #define I2S_TCSR_FEIE_MASK (0x400U)
  20260. #define I2S_TCSR_FEIE_SHIFT (10U)
  20261. /*! FEIE - FIFO Error Interrupt Enable
  20262. * 0b0..Disables the interrupt.
  20263. * 0b1..Enables the interrupt.
  20264. */
  20265. #define I2S_TCSR_FEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FEIE_SHIFT)) & I2S_TCSR_FEIE_MASK)
  20266. #define I2S_TCSR_SEIE_MASK (0x800U)
  20267. #define I2S_TCSR_SEIE_SHIFT (11U)
  20268. /*! SEIE - Sync Error Interrupt Enable
  20269. * 0b0..Disables interrupt.
  20270. * 0b1..Enables interrupt.
  20271. */
  20272. #define I2S_TCSR_SEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SEIE_SHIFT)) & I2S_TCSR_SEIE_MASK)
  20273. #define I2S_TCSR_WSIE_MASK (0x1000U)
  20274. #define I2S_TCSR_WSIE_SHIFT (12U)
  20275. /*! WSIE - Word Start Interrupt Enable
  20276. * 0b0..Disables interrupt.
  20277. * 0b1..Enables interrupt.
  20278. */
  20279. #define I2S_TCSR_WSIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_WSIE_SHIFT)) & I2S_TCSR_WSIE_MASK)
  20280. #define I2S_TCSR_FRF_MASK (0x10000U)
  20281. #define I2S_TCSR_FRF_SHIFT (16U)
  20282. /*! FRF - FIFO Request Flag
  20283. * 0b0..Transmit FIFO watermark has not been reached.
  20284. * 0b1..Transmit FIFO watermark has been reached.
  20285. */
  20286. #define I2S_TCSR_FRF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRF_SHIFT)) & I2S_TCSR_FRF_MASK)
  20287. #define I2S_TCSR_FWF_MASK (0x20000U)
  20288. #define I2S_TCSR_FWF_SHIFT (17U)
  20289. /*! FWF - FIFO Warning Flag
  20290. * 0b0..No enabled transmit FIFO is empty.
  20291. * 0b1..Enabled transmit FIFO is empty.
  20292. */
  20293. #define I2S_TCSR_FWF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWF_SHIFT)) & I2S_TCSR_FWF_MASK)
  20294. #define I2S_TCSR_FEF_MASK (0x40000U)
  20295. #define I2S_TCSR_FEF_SHIFT (18U)
  20296. /*! FEF - FIFO Error Flag
  20297. * 0b0..Transmit underrun not detected.
  20298. * 0b1..Transmit underrun detected.
  20299. */
  20300. #define I2S_TCSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FEF_SHIFT)) & I2S_TCSR_FEF_MASK)
  20301. #define I2S_TCSR_SEF_MASK (0x80000U)
  20302. #define I2S_TCSR_SEF_SHIFT (19U)
  20303. /*! SEF - Sync Error Flag
  20304. * 0b0..Sync error not detected.
  20305. * 0b1..Frame sync error detected.
  20306. */
  20307. #define I2S_TCSR_SEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SEF_SHIFT)) & I2S_TCSR_SEF_MASK)
  20308. #define I2S_TCSR_WSF_MASK (0x100000U)
  20309. #define I2S_TCSR_WSF_SHIFT (20U)
  20310. /*! WSF - Word Start Flag
  20311. * 0b0..Start of word not detected.
  20312. * 0b1..Start of word detected.
  20313. */
  20314. #define I2S_TCSR_WSF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_WSF_SHIFT)) & I2S_TCSR_WSF_MASK)
  20315. #define I2S_TCSR_SR_MASK (0x1000000U)
  20316. #define I2S_TCSR_SR_SHIFT (24U)
  20317. /*! SR - Software Reset
  20318. * 0b0..No effect.
  20319. * 0b1..Software reset.
  20320. */
  20321. #define I2S_TCSR_SR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SR_SHIFT)) & I2S_TCSR_SR_MASK)
  20322. #define I2S_TCSR_FR_MASK (0x2000000U)
  20323. #define I2S_TCSR_FR_SHIFT (25U)
  20324. /*! FR - FIFO Reset
  20325. * 0b0..No effect.
  20326. * 0b1..FIFO reset.
  20327. */
  20328. #define I2S_TCSR_FR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FR_SHIFT)) & I2S_TCSR_FR_MASK)
  20329. #define I2S_TCSR_BCE_MASK (0x10000000U)
  20330. #define I2S_TCSR_BCE_SHIFT (28U)
  20331. /*! BCE - Bit Clock Enable
  20332. * 0b0..Transmit bit clock is disabled.
  20333. * 0b1..Transmit bit clock is enabled.
  20334. */
  20335. #define I2S_TCSR_BCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_BCE_SHIFT)) & I2S_TCSR_BCE_MASK)
  20336. #define I2S_TCSR_DBGE_MASK (0x20000000U)
  20337. #define I2S_TCSR_DBGE_SHIFT (29U)
  20338. /*! DBGE - Debug Enable
  20339. * 0b0..Transmitter is disabled in Debug mode, after completing the current frame.
  20340. * 0b1..Transmitter is enabled in Debug mode.
  20341. */
  20342. #define I2S_TCSR_DBGE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_DBGE_SHIFT)) & I2S_TCSR_DBGE_MASK)
  20343. #define I2S_TCSR_STOPE_MASK (0x40000000U)
  20344. #define I2S_TCSR_STOPE_SHIFT (30U)
  20345. /*! STOPE - Stop Enable
  20346. * 0b0..Transmitter disabled in Stop mode.
  20347. * 0b1..Transmitter enabled in Stop mode.
  20348. */
  20349. #define I2S_TCSR_STOPE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_STOPE_SHIFT)) & I2S_TCSR_STOPE_MASK)
  20350. #define I2S_TCSR_TE_MASK (0x80000000U)
  20351. #define I2S_TCSR_TE_SHIFT (31U)
  20352. /*! TE - Transmitter Enable
  20353. * 0b0..Transmitter is disabled.
  20354. * 0b1..Transmitter is enabled, or transmitter has been disabled and has not yet reached end of frame.
  20355. */
  20356. #define I2S_TCSR_TE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_TE_SHIFT)) & I2S_TCSR_TE_MASK)
  20357. /*! @} */
  20358. /*! @name TCR1 - SAI Transmit Configuration 1 Register */
  20359. /*! @{ */
  20360. #define I2S_TCR1_TFW_MASK (0x1FU)
  20361. #define I2S_TCR1_TFW_SHIFT (0U)
  20362. /*! TFW - Transmit FIFO Watermark
  20363. */
  20364. #define I2S_TCR1_TFW(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR1_TFW_SHIFT)) & I2S_TCR1_TFW_MASK)
  20365. /*! @} */
  20366. /*! @name TCR2 - SAI Transmit Configuration 2 Register */
  20367. /*! @{ */
  20368. #define I2S_TCR2_DIV_MASK (0xFFU)
  20369. #define I2S_TCR2_DIV_SHIFT (0U)
  20370. /*! DIV - Bit Clock Divide
  20371. */
  20372. #define I2S_TCR2_DIV(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_DIV_SHIFT)) & I2S_TCR2_DIV_MASK)
  20373. #define I2S_TCR2_BCD_MASK (0x1000000U)
  20374. #define I2S_TCR2_BCD_SHIFT (24U)
  20375. /*! BCD - Bit Clock Direction
  20376. * 0b0..Bit clock is generated externally in Slave mode.
  20377. * 0b1..Bit clock is generated internally in Master mode.
  20378. */
  20379. #define I2S_TCR2_BCD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCD_SHIFT)) & I2S_TCR2_BCD_MASK)
  20380. #define I2S_TCR2_BCP_MASK (0x2000000U)
  20381. #define I2S_TCR2_BCP_SHIFT (25U)
  20382. /*! BCP - Bit Clock Polarity
  20383. * 0b0..Bit clock is active high with drive outputs on rising edge and sample inputs on falling edge.
  20384. * 0b1..Bit clock is active low with drive outputs on falling edge and sample inputs on rising edge.
  20385. */
  20386. #define I2S_TCR2_BCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCP_SHIFT)) & I2S_TCR2_BCP_MASK)
  20387. #define I2S_TCR2_MSEL_MASK (0xC000000U)
  20388. #define I2S_TCR2_MSEL_SHIFT (26U)
  20389. /*! MSEL - MCLK Select
  20390. * 0b00..Bus Clock selected.
  20391. * 0b01..Master Clock (MCLK) 1 option selected.
  20392. * 0b10..Master Clock (MCLK) 2 option selected.
  20393. * 0b11..Master Clock (MCLK) 3 option selected.
  20394. */
  20395. #define I2S_TCR2_MSEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_MSEL_SHIFT)) & I2S_TCR2_MSEL_MASK)
  20396. #define I2S_TCR2_BCI_MASK (0x10000000U)
  20397. #define I2S_TCR2_BCI_SHIFT (28U)
  20398. /*! BCI - Bit Clock Input
  20399. * 0b0..No effect.
  20400. * 0b1..Internal logic is clocked as if bit clock was externally generated.
  20401. */
  20402. #define I2S_TCR2_BCI(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCI_SHIFT)) & I2S_TCR2_BCI_MASK)
  20403. #define I2S_TCR2_BCS_MASK (0x20000000U)
  20404. #define I2S_TCR2_BCS_SHIFT (29U)
  20405. /*! BCS - Bit Clock Swap
  20406. * 0b0..Use the normal bit clock source.
  20407. * 0b1..Swap the bit clock source.
  20408. */
  20409. #define I2S_TCR2_BCS(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCS_SHIFT)) & I2S_TCR2_BCS_MASK)
  20410. #define I2S_TCR2_SYNC_MASK (0xC0000000U)
  20411. #define I2S_TCR2_SYNC_SHIFT (30U)
  20412. /*! SYNC - Synchronous Mode
  20413. * 0b00..Asynchronous mode.
  20414. * 0b01..Synchronous with receiver.
  20415. * 0b10..Reserved.
  20416. * 0b11..Reserved.
  20417. */
  20418. #define I2S_TCR2_SYNC(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_SYNC_SHIFT)) & I2S_TCR2_SYNC_MASK)
  20419. /*! @} */
  20420. /*! @name TCR3 - SAI Transmit Configuration 3 Register */
  20421. /*! @{ */
  20422. #define I2S_TCR3_WDFL_MASK (0x1FU)
  20423. #define I2S_TCR3_WDFL_SHIFT (0U)
  20424. /*! WDFL - Word Flag Configuration
  20425. */
  20426. #define I2S_TCR3_WDFL(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR3_WDFL_SHIFT)) & I2S_TCR3_WDFL_MASK)
  20427. #define I2S_TCR3_TCE_MASK (0xF0000U) /* Merged from fields with different position or width, of widths (1, 4), largest definition used */
  20428. #define I2S_TCR3_TCE_SHIFT (16U)
  20429. /*! TCE - Transmit Channel Enable
  20430. */
  20431. #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 */
  20432. #define I2S_TCR3_CFR_MASK (0xF000000U)
  20433. #define I2S_TCR3_CFR_SHIFT (24U)
  20434. /*! CFR - Channel FIFO Reset
  20435. */
  20436. #define I2S_TCR3_CFR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR3_CFR_SHIFT)) & I2S_TCR3_CFR_MASK)
  20437. /*! @} */
  20438. /*! @name TCR4 - SAI Transmit Configuration 4 Register */
  20439. /*! @{ */
  20440. #define I2S_TCR4_FSD_MASK (0x1U)
  20441. #define I2S_TCR4_FSD_SHIFT (0U)
  20442. /*! FSD - Frame Sync Direction
  20443. * 0b0..Frame sync is generated externally in Slave mode.
  20444. * 0b1..Frame sync is generated internally in Master mode.
  20445. */
  20446. #define I2S_TCR4_FSD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSD_SHIFT)) & I2S_TCR4_FSD_MASK)
  20447. #define I2S_TCR4_FSP_MASK (0x2U)
  20448. #define I2S_TCR4_FSP_SHIFT (1U)
  20449. /*! FSP - Frame Sync Polarity
  20450. * 0b0..Frame sync is active high.
  20451. * 0b1..Frame sync is active low.
  20452. */
  20453. #define I2S_TCR4_FSP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSP_SHIFT)) & I2S_TCR4_FSP_MASK)
  20454. #define I2S_TCR4_ONDEM_MASK (0x4U)
  20455. #define I2S_TCR4_ONDEM_SHIFT (2U)
  20456. /*! ONDEM - On Demand Mode
  20457. * 0b0..Internal frame sync is generated continuously.
  20458. * 0b1..Internal frame sync is generated when the FIFO warning flag is clear.
  20459. */
  20460. #define I2S_TCR4_ONDEM(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_ONDEM_SHIFT)) & I2S_TCR4_ONDEM_MASK)
  20461. #define I2S_TCR4_FSE_MASK (0x8U)
  20462. #define I2S_TCR4_FSE_SHIFT (3U)
  20463. /*! FSE - Frame Sync Early
  20464. * 0b0..Frame sync asserts with the first bit of the frame.
  20465. * 0b1..Frame sync asserts one bit before the first bit of the frame.
  20466. */
  20467. #define I2S_TCR4_FSE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSE_SHIFT)) & I2S_TCR4_FSE_MASK)
  20468. #define I2S_TCR4_MF_MASK (0x10U)
  20469. #define I2S_TCR4_MF_SHIFT (4U)
  20470. /*! MF - MSB First
  20471. * 0b0..LSB is transmitted first.
  20472. * 0b1..MSB is transmitted first.
  20473. */
  20474. #define I2S_TCR4_MF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_MF_SHIFT)) & I2S_TCR4_MF_MASK)
  20475. #define I2S_TCR4_CHMOD_MASK (0x20U)
  20476. #define I2S_TCR4_CHMOD_SHIFT (5U)
  20477. /*! CHMOD - Channel Mode
  20478. * 0b0..TDM mode, transmit data pins are tri-stated when slots are masked or channels are disabled.
  20479. * 0b1..Output mode, transmit data pins are never tri-stated and will output zero when slots are masked or channels are disabled.
  20480. */
  20481. #define I2S_TCR4_CHMOD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_CHMOD_SHIFT)) & I2S_TCR4_CHMOD_MASK)
  20482. #define I2S_TCR4_SYWD_MASK (0x1F00U)
  20483. #define I2S_TCR4_SYWD_SHIFT (8U)
  20484. /*! SYWD - Sync Width
  20485. */
  20486. #define I2S_TCR4_SYWD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_SYWD_SHIFT)) & I2S_TCR4_SYWD_MASK)
  20487. #define I2S_TCR4_FRSZ_MASK (0x1F0000U)
  20488. #define I2S_TCR4_FRSZ_SHIFT (16U)
  20489. /*! FRSZ - Frame size
  20490. */
  20491. #define I2S_TCR4_FRSZ(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FRSZ_SHIFT)) & I2S_TCR4_FRSZ_MASK)
  20492. #define I2S_TCR4_FPACK_MASK (0x3000000U)
  20493. #define I2S_TCR4_FPACK_SHIFT (24U)
  20494. /*! FPACK - FIFO Packing Mode
  20495. * 0b00..FIFO packing is disabled
  20496. * 0b01..Reserved
  20497. * 0b10..8-bit FIFO packing is enabled
  20498. * 0b11..16-bit FIFO packing is enabled
  20499. */
  20500. #define I2S_TCR4_FPACK(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FPACK_SHIFT)) & I2S_TCR4_FPACK_MASK)
  20501. #define I2S_TCR4_FCOMB_MASK (0xC000000U)
  20502. #define I2S_TCR4_FCOMB_SHIFT (26U)
  20503. /*! FCOMB - FIFO Combine Mode
  20504. * 0b00..FIFO combine mode disabled.
  20505. * 0b01..FIFO combine mode enabled on FIFO reads (from transmit shift registers).
  20506. * 0b10..FIFO combine mode enabled on FIFO writes (by software).
  20507. * 0b11..FIFO combine mode enabled on FIFO reads (from transmit shift registers) and writes (by software).
  20508. */
  20509. #define I2S_TCR4_FCOMB(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FCOMB_SHIFT)) & I2S_TCR4_FCOMB_MASK)
  20510. #define I2S_TCR4_FCONT_MASK (0x10000000U)
  20511. #define I2S_TCR4_FCONT_SHIFT (28U)
  20512. /*! FCONT - FIFO Continue on Error
  20513. * 0b0..On FIFO error, the SAI will continue from the start of the next frame after the FIFO error flag has been cleared.
  20514. * 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.
  20515. */
  20516. #define I2S_TCR4_FCONT(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FCONT_SHIFT)) & I2S_TCR4_FCONT_MASK)
  20517. /*! @} */
  20518. /*! @name TCR5 - SAI Transmit Configuration 5 Register */
  20519. /*! @{ */
  20520. #define I2S_TCR5_FBT_MASK (0x1F00U)
  20521. #define I2S_TCR5_FBT_SHIFT (8U)
  20522. /*! FBT - First Bit Shifted
  20523. */
  20524. #define I2S_TCR5_FBT(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_FBT_SHIFT)) & I2S_TCR5_FBT_MASK)
  20525. #define I2S_TCR5_W0W_MASK (0x1F0000U)
  20526. #define I2S_TCR5_W0W_SHIFT (16U)
  20527. /*! W0W - Word 0 Width
  20528. */
  20529. #define I2S_TCR5_W0W(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_W0W_SHIFT)) & I2S_TCR5_W0W_MASK)
  20530. #define I2S_TCR5_WNW_MASK (0x1F000000U)
  20531. #define I2S_TCR5_WNW_SHIFT (24U)
  20532. /*! WNW - Word N Width
  20533. */
  20534. #define I2S_TCR5_WNW(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_WNW_SHIFT)) & I2S_TCR5_WNW_MASK)
  20535. /*! @} */
  20536. /*! @name TDR - SAI Transmit Data Register */
  20537. /*! @{ */
  20538. #define I2S_TDR_TDR_MASK (0xFFFFFFFFU)
  20539. #define I2S_TDR_TDR_SHIFT (0U)
  20540. /*! TDR - Transmit Data Register
  20541. */
  20542. #define I2S_TDR_TDR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TDR_TDR_SHIFT)) & I2S_TDR_TDR_MASK)
  20543. /*! @} */
  20544. /* The count of I2S_TDR */
  20545. #define I2S_TDR_COUNT (4U)
  20546. /*! @name TFR - SAI Transmit FIFO Register */
  20547. /*! @{ */
  20548. #define I2S_TFR_RFP_MASK (0x3FU)
  20549. #define I2S_TFR_RFP_SHIFT (0U)
  20550. /*! RFP - Read FIFO Pointer
  20551. */
  20552. #define I2S_TFR_RFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_RFP_SHIFT)) & I2S_TFR_RFP_MASK)
  20553. #define I2S_TFR_WFP_MASK (0x3F0000U)
  20554. #define I2S_TFR_WFP_SHIFT (16U)
  20555. /*! WFP - Write FIFO Pointer
  20556. */
  20557. #define I2S_TFR_WFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_WFP_SHIFT)) & I2S_TFR_WFP_MASK)
  20558. #define I2S_TFR_WCP_MASK (0x80000000U)
  20559. #define I2S_TFR_WCP_SHIFT (31U)
  20560. /*! WCP - Write Channel Pointer
  20561. * 0b0..No effect.
  20562. * 0b1..FIFO combine is enabled for FIFO writes and this FIFO will be written on the next FIFO write.
  20563. */
  20564. #define I2S_TFR_WCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_WCP_SHIFT)) & I2S_TFR_WCP_MASK)
  20565. /*! @} */
  20566. /* The count of I2S_TFR */
  20567. #define I2S_TFR_COUNT (4U)
  20568. /*! @name TMR - SAI Transmit Mask Register */
  20569. /*! @{ */
  20570. #define I2S_TMR_TWM_MASK (0xFFFFFFFFU)
  20571. #define I2S_TMR_TWM_SHIFT (0U)
  20572. /*! TWM - Transmit Word Mask
  20573. * 0b00000000000000000000000000000000..Word N is enabled.
  20574. * 0b00000000000000000000000000000001..Word N is masked. The transmit data pins are tri-stated or drive zero when masked.
  20575. */
  20576. #define I2S_TMR_TWM(x) (((uint32_t)(((uint32_t)(x)) << I2S_TMR_TWM_SHIFT)) & I2S_TMR_TWM_MASK)
  20577. /*! @} */
  20578. /*! @name RCSR - SAI Receive Control Register */
  20579. /*! @{ */
  20580. #define I2S_RCSR_FRDE_MASK (0x1U)
  20581. #define I2S_RCSR_FRDE_SHIFT (0U)
  20582. /*! FRDE - FIFO Request DMA Enable
  20583. * 0b0..Disables the DMA request.
  20584. * 0b1..Enables the DMA request.
  20585. */
  20586. #define I2S_RCSR_FRDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRDE_SHIFT)) & I2S_RCSR_FRDE_MASK)
  20587. #define I2S_RCSR_FWDE_MASK (0x2U)
  20588. #define I2S_RCSR_FWDE_SHIFT (1U)
  20589. /*! FWDE - FIFO Warning DMA Enable
  20590. * 0b0..Disables the DMA request.
  20591. * 0b1..Enables the DMA request.
  20592. */
  20593. #define I2S_RCSR_FWDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWDE_SHIFT)) & I2S_RCSR_FWDE_MASK)
  20594. #define I2S_RCSR_FRIE_MASK (0x100U)
  20595. #define I2S_RCSR_FRIE_SHIFT (8U)
  20596. /*! FRIE - FIFO Request Interrupt Enable
  20597. * 0b0..Disables the interrupt.
  20598. * 0b1..Enables the interrupt.
  20599. */
  20600. #define I2S_RCSR_FRIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRIE_SHIFT)) & I2S_RCSR_FRIE_MASK)
  20601. #define I2S_RCSR_FWIE_MASK (0x200U)
  20602. #define I2S_RCSR_FWIE_SHIFT (9U)
  20603. /*! FWIE - FIFO Warning Interrupt Enable
  20604. * 0b0..Disables the interrupt.
  20605. * 0b1..Enables the interrupt.
  20606. */
  20607. #define I2S_RCSR_FWIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWIE_SHIFT)) & I2S_RCSR_FWIE_MASK)
  20608. #define I2S_RCSR_FEIE_MASK (0x400U)
  20609. #define I2S_RCSR_FEIE_SHIFT (10U)
  20610. /*! FEIE - FIFO Error Interrupt Enable
  20611. * 0b0..Disables the interrupt.
  20612. * 0b1..Enables the interrupt.
  20613. */
  20614. #define I2S_RCSR_FEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FEIE_SHIFT)) & I2S_RCSR_FEIE_MASK)
  20615. #define I2S_RCSR_SEIE_MASK (0x800U)
  20616. #define I2S_RCSR_SEIE_SHIFT (11U)
  20617. /*! SEIE - Sync Error Interrupt Enable
  20618. * 0b0..Disables interrupt.
  20619. * 0b1..Enables interrupt.
  20620. */
  20621. #define I2S_RCSR_SEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SEIE_SHIFT)) & I2S_RCSR_SEIE_MASK)
  20622. #define I2S_RCSR_WSIE_MASK (0x1000U)
  20623. #define I2S_RCSR_WSIE_SHIFT (12U)
  20624. /*! WSIE - Word Start Interrupt Enable
  20625. * 0b0..Disables interrupt.
  20626. * 0b1..Enables interrupt.
  20627. */
  20628. #define I2S_RCSR_WSIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_WSIE_SHIFT)) & I2S_RCSR_WSIE_MASK)
  20629. #define I2S_RCSR_FRF_MASK (0x10000U)
  20630. #define I2S_RCSR_FRF_SHIFT (16U)
  20631. /*! FRF - FIFO Request Flag
  20632. * 0b0..Receive FIFO watermark not reached.
  20633. * 0b1..Receive FIFO watermark has been reached.
  20634. */
  20635. #define I2S_RCSR_FRF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRF_SHIFT)) & I2S_RCSR_FRF_MASK)
  20636. #define I2S_RCSR_FWF_MASK (0x20000U)
  20637. #define I2S_RCSR_FWF_SHIFT (17U)
  20638. /*! FWF - FIFO Warning Flag
  20639. * 0b0..No enabled receive FIFO is full.
  20640. * 0b1..Enabled receive FIFO is full.
  20641. */
  20642. #define I2S_RCSR_FWF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWF_SHIFT)) & I2S_RCSR_FWF_MASK)
  20643. #define I2S_RCSR_FEF_MASK (0x40000U)
  20644. #define I2S_RCSR_FEF_SHIFT (18U)
  20645. /*! FEF - FIFO Error Flag
  20646. * 0b0..Receive overflow not detected.
  20647. * 0b1..Receive overflow detected.
  20648. */
  20649. #define I2S_RCSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FEF_SHIFT)) & I2S_RCSR_FEF_MASK)
  20650. #define I2S_RCSR_SEF_MASK (0x80000U)
  20651. #define I2S_RCSR_SEF_SHIFT (19U)
  20652. /*! SEF - Sync Error Flag
  20653. * 0b0..Sync error not detected.
  20654. * 0b1..Frame sync error detected.
  20655. */
  20656. #define I2S_RCSR_SEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SEF_SHIFT)) & I2S_RCSR_SEF_MASK)
  20657. #define I2S_RCSR_WSF_MASK (0x100000U)
  20658. #define I2S_RCSR_WSF_SHIFT (20U)
  20659. /*! WSF - Word Start Flag
  20660. * 0b0..Start of word not detected.
  20661. * 0b1..Start of word detected.
  20662. */
  20663. #define I2S_RCSR_WSF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_WSF_SHIFT)) & I2S_RCSR_WSF_MASK)
  20664. #define I2S_RCSR_SR_MASK (0x1000000U)
  20665. #define I2S_RCSR_SR_SHIFT (24U)
  20666. /*! SR - Software Reset
  20667. * 0b0..No effect.
  20668. * 0b1..Software reset.
  20669. */
  20670. #define I2S_RCSR_SR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SR_SHIFT)) & I2S_RCSR_SR_MASK)
  20671. #define I2S_RCSR_FR_MASK (0x2000000U)
  20672. #define I2S_RCSR_FR_SHIFT (25U)
  20673. /*! FR - FIFO Reset
  20674. * 0b0..No effect.
  20675. * 0b1..FIFO reset.
  20676. */
  20677. #define I2S_RCSR_FR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FR_SHIFT)) & I2S_RCSR_FR_MASK)
  20678. #define I2S_RCSR_BCE_MASK (0x10000000U)
  20679. #define I2S_RCSR_BCE_SHIFT (28U)
  20680. /*! BCE - Bit Clock Enable
  20681. * 0b0..Receive bit clock is disabled.
  20682. * 0b1..Receive bit clock is enabled.
  20683. */
  20684. #define I2S_RCSR_BCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_BCE_SHIFT)) & I2S_RCSR_BCE_MASK)
  20685. #define I2S_RCSR_DBGE_MASK (0x20000000U)
  20686. #define I2S_RCSR_DBGE_SHIFT (29U)
  20687. /*! DBGE - Debug Enable
  20688. * 0b0..Receiver is disabled in Debug mode, after completing the current frame.
  20689. * 0b1..Receiver is enabled in Debug mode.
  20690. */
  20691. #define I2S_RCSR_DBGE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_DBGE_SHIFT)) & I2S_RCSR_DBGE_MASK)
  20692. #define I2S_RCSR_STOPE_MASK (0x40000000U)
  20693. #define I2S_RCSR_STOPE_SHIFT (30U)
  20694. /*! STOPE - Stop Enable
  20695. * 0b0..Receiver disabled in Stop mode.
  20696. * 0b1..Receiver enabled in Stop mode.
  20697. */
  20698. #define I2S_RCSR_STOPE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_STOPE_SHIFT)) & I2S_RCSR_STOPE_MASK)
  20699. #define I2S_RCSR_RE_MASK (0x80000000U)
  20700. #define I2S_RCSR_RE_SHIFT (31U)
  20701. /*! RE - Receiver Enable
  20702. * 0b0..Receiver is disabled.
  20703. * 0b1..Receiver is enabled, or receiver has been disabled and has not yet reached end of frame.
  20704. */
  20705. #define I2S_RCSR_RE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_RE_SHIFT)) & I2S_RCSR_RE_MASK)
  20706. /*! @} */
  20707. /*! @name RCR1 - SAI Receive Configuration 1 Register */
  20708. /*! @{ */
  20709. #define I2S_RCR1_RFW_MASK (0x1FU)
  20710. #define I2S_RCR1_RFW_SHIFT (0U)
  20711. /*! RFW - Receive FIFO Watermark
  20712. */
  20713. #define I2S_RCR1_RFW(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR1_RFW_SHIFT)) & I2S_RCR1_RFW_MASK)
  20714. /*! @} */
  20715. /*! @name RCR2 - SAI Receive Configuration 2 Register */
  20716. /*! @{ */
  20717. #define I2S_RCR2_DIV_MASK (0xFFU)
  20718. #define I2S_RCR2_DIV_SHIFT (0U)
  20719. /*! DIV - Bit Clock Divide
  20720. */
  20721. #define I2S_RCR2_DIV(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_DIV_SHIFT)) & I2S_RCR2_DIV_MASK)
  20722. #define I2S_RCR2_BCD_MASK (0x1000000U)
  20723. #define I2S_RCR2_BCD_SHIFT (24U)
  20724. /*! BCD - Bit Clock Direction
  20725. * 0b0..Bit clock is generated externally in Slave mode.
  20726. * 0b1..Bit clock is generated internally in Master mode.
  20727. */
  20728. #define I2S_RCR2_BCD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCD_SHIFT)) & I2S_RCR2_BCD_MASK)
  20729. #define I2S_RCR2_BCP_MASK (0x2000000U)
  20730. #define I2S_RCR2_BCP_SHIFT (25U)
  20731. /*! BCP - Bit Clock Polarity
  20732. * 0b0..Bit Clock is active high with drive outputs on rising edge and sample inputs on falling edge.
  20733. * 0b1..Bit Clock is active low with drive outputs on falling edge and sample inputs on rising edge.
  20734. */
  20735. #define I2S_RCR2_BCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCP_SHIFT)) & I2S_RCR2_BCP_MASK)
  20736. #define I2S_RCR2_MSEL_MASK (0xC000000U)
  20737. #define I2S_RCR2_MSEL_SHIFT (26U)
  20738. /*! MSEL - MCLK Select
  20739. * 0b00..Bus Clock selected.
  20740. * 0b01..Master Clock (MCLK) 1 option selected.
  20741. * 0b10..Master Clock (MCLK) 2 option selected.
  20742. * 0b11..Master Clock (MCLK) 3 option selected.
  20743. */
  20744. #define I2S_RCR2_MSEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_MSEL_SHIFT)) & I2S_RCR2_MSEL_MASK)
  20745. #define I2S_RCR2_BCI_MASK (0x10000000U)
  20746. #define I2S_RCR2_BCI_SHIFT (28U)
  20747. /*! BCI - Bit Clock Input
  20748. * 0b0..No effect.
  20749. * 0b1..Internal logic is clocked as if bit clock was externally generated.
  20750. */
  20751. #define I2S_RCR2_BCI(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCI_SHIFT)) & I2S_RCR2_BCI_MASK)
  20752. #define I2S_RCR2_BCS_MASK (0x20000000U)
  20753. #define I2S_RCR2_BCS_SHIFT (29U)
  20754. /*! BCS - Bit Clock Swap
  20755. * 0b0..Use the normal bit clock source.
  20756. * 0b1..Swap the bit clock source.
  20757. */
  20758. #define I2S_RCR2_BCS(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCS_SHIFT)) & I2S_RCR2_BCS_MASK)
  20759. #define I2S_RCR2_SYNC_MASK (0xC0000000U)
  20760. #define I2S_RCR2_SYNC_SHIFT (30U)
  20761. /*! SYNC - Synchronous Mode
  20762. * 0b00..Asynchronous mode.
  20763. * 0b01..Synchronous with transmitter.
  20764. * 0b10..Reserved.
  20765. * 0b11..Reserved.
  20766. */
  20767. #define I2S_RCR2_SYNC(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_SYNC_SHIFT)) & I2S_RCR2_SYNC_MASK)
  20768. /*! @} */
  20769. /*! @name RCR3 - SAI Receive Configuration 3 Register */
  20770. /*! @{ */
  20771. #define I2S_RCR3_WDFL_MASK (0x1FU)
  20772. #define I2S_RCR3_WDFL_SHIFT (0U)
  20773. /*! WDFL - Word Flag Configuration
  20774. */
  20775. #define I2S_RCR3_WDFL(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR3_WDFL_SHIFT)) & I2S_RCR3_WDFL_MASK)
  20776. #define I2S_RCR3_RCE_MASK (0xF0000U) /* Merged from fields with different position or width, of widths (1, 4), largest definition used */
  20777. #define I2S_RCR3_RCE_SHIFT (16U)
  20778. /*! RCE - Receive Channel Enable
  20779. */
  20780. #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 */
  20781. #define I2S_RCR3_CFR_MASK (0xF000000U)
  20782. #define I2S_RCR3_CFR_SHIFT (24U)
  20783. /*! CFR - Channel FIFO Reset
  20784. */
  20785. #define I2S_RCR3_CFR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR3_CFR_SHIFT)) & I2S_RCR3_CFR_MASK)
  20786. /*! @} */
  20787. /*! @name RCR4 - SAI Receive Configuration 4 Register */
  20788. /*! @{ */
  20789. #define I2S_RCR4_FSD_MASK (0x1U)
  20790. #define I2S_RCR4_FSD_SHIFT (0U)
  20791. /*! FSD - Frame Sync Direction
  20792. * 0b0..Frame Sync is generated externally in Slave mode.
  20793. * 0b1..Frame Sync is generated internally in Master mode.
  20794. */
  20795. #define I2S_RCR4_FSD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSD_SHIFT)) & I2S_RCR4_FSD_MASK)
  20796. #define I2S_RCR4_FSP_MASK (0x2U)
  20797. #define I2S_RCR4_FSP_SHIFT (1U)
  20798. /*! FSP - Frame Sync Polarity
  20799. * 0b0..Frame sync is active high.
  20800. * 0b1..Frame sync is active low.
  20801. */
  20802. #define I2S_RCR4_FSP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSP_SHIFT)) & I2S_RCR4_FSP_MASK)
  20803. #define I2S_RCR4_ONDEM_MASK (0x4U)
  20804. #define I2S_RCR4_ONDEM_SHIFT (2U)
  20805. /*! ONDEM - On Demand Mode
  20806. * 0b0..Internal frame sync is generated continuously.
  20807. * 0b1..Internal frame sync is generated when the FIFO warning flag is clear.
  20808. */
  20809. #define I2S_RCR4_ONDEM(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_ONDEM_SHIFT)) & I2S_RCR4_ONDEM_MASK)
  20810. #define I2S_RCR4_FSE_MASK (0x8U)
  20811. #define I2S_RCR4_FSE_SHIFT (3U)
  20812. /*! FSE - Frame Sync Early
  20813. * 0b0..Frame sync asserts with the first bit of the frame.
  20814. * 0b1..Frame sync asserts one bit before the first bit of the frame.
  20815. */
  20816. #define I2S_RCR4_FSE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSE_SHIFT)) & I2S_RCR4_FSE_MASK)
  20817. #define I2S_RCR4_MF_MASK (0x10U)
  20818. #define I2S_RCR4_MF_SHIFT (4U)
  20819. /*! MF - MSB First
  20820. * 0b0..LSB is received first.
  20821. * 0b1..MSB is received first.
  20822. */
  20823. #define I2S_RCR4_MF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_MF_SHIFT)) & I2S_RCR4_MF_MASK)
  20824. #define I2S_RCR4_SYWD_MASK (0x1F00U)
  20825. #define I2S_RCR4_SYWD_SHIFT (8U)
  20826. /*! SYWD - Sync Width
  20827. */
  20828. #define I2S_RCR4_SYWD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_SYWD_SHIFT)) & I2S_RCR4_SYWD_MASK)
  20829. #define I2S_RCR4_FRSZ_MASK (0x1F0000U)
  20830. #define I2S_RCR4_FRSZ_SHIFT (16U)
  20831. /*! FRSZ - Frame Size
  20832. */
  20833. #define I2S_RCR4_FRSZ(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FRSZ_SHIFT)) & I2S_RCR4_FRSZ_MASK)
  20834. #define I2S_RCR4_FPACK_MASK (0x3000000U)
  20835. #define I2S_RCR4_FPACK_SHIFT (24U)
  20836. /*! FPACK - FIFO Packing Mode
  20837. * 0b00..FIFO packing is disabled
  20838. * 0b01..Reserved.
  20839. * 0b10..8-bit FIFO packing is enabled
  20840. * 0b11..16-bit FIFO packing is enabled
  20841. */
  20842. #define I2S_RCR4_FPACK(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FPACK_SHIFT)) & I2S_RCR4_FPACK_MASK)
  20843. #define I2S_RCR4_FCOMB_MASK (0xC000000U)
  20844. #define I2S_RCR4_FCOMB_SHIFT (26U)
  20845. /*! FCOMB - FIFO Combine Mode
  20846. * 0b00..FIFO combine mode disabled.
  20847. * 0b01..FIFO combine mode enabled on FIFO writes (from receive shift registers).
  20848. * 0b10..FIFO combine mode enabled on FIFO reads (by software).
  20849. * 0b11..FIFO combine mode enabled on FIFO writes (from receive shift registers) and reads (by software).
  20850. */
  20851. #define I2S_RCR4_FCOMB(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FCOMB_SHIFT)) & I2S_RCR4_FCOMB_MASK)
  20852. #define I2S_RCR4_FCONT_MASK (0x10000000U)
  20853. #define I2S_RCR4_FCONT_SHIFT (28U)
  20854. /*! FCONT - FIFO Continue on Error
  20855. * 0b0..On FIFO error, the SAI will continue from the start of the next frame after the FIFO error flag has been cleared.
  20856. * 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.
  20857. */
  20858. #define I2S_RCR4_FCONT(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FCONT_SHIFT)) & I2S_RCR4_FCONT_MASK)
  20859. /*! @} */
  20860. /*! @name RCR5 - SAI Receive Configuration 5 Register */
  20861. /*! @{ */
  20862. #define I2S_RCR5_FBT_MASK (0x1F00U)
  20863. #define I2S_RCR5_FBT_SHIFT (8U)
  20864. /*! FBT - First Bit Shifted
  20865. */
  20866. #define I2S_RCR5_FBT(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_FBT_SHIFT)) & I2S_RCR5_FBT_MASK)
  20867. #define I2S_RCR5_W0W_MASK (0x1F0000U)
  20868. #define I2S_RCR5_W0W_SHIFT (16U)
  20869. /*! W0W - Word 0 Width
  20870. */
  20871. #define I2S_RCR5_W0W(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_W0W_SHIFT)) & I2S_RCR5_W0W_MASK)
  20872. #define I2S_RCR5_WNW_MASK (0x1F000000U)
  20873. #define I2S_RCR5_WNW_SHIFT (24U)
  20874. /*! WNW - Word N Width
  20875. */
  20876. #define I2S_RCR5_WNW(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_WNW_SHIFT)) & I2S_RCR5_WNW_MASK)
  20877. /*! @} */
  20878. /*! @name RDR - SAI Receive Data Register */
  20879. /*! @{ */
  20880. #define I2S_RDR_RDR_MASK (0xFFFFFFFFU)
  20881. #define I2S_RDR_RDR_SHIFT (0U)
  20882. /*! RDR - Receive Data Register
  20883. */
  20884. #define I2S_RDR_RDR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RDR_RDR_SHIFT)) & I2S_RDR_RDR_MASK)
  20885. /*! @} */
  20886. /* The count of I2S_RDR */
  20887. #define I2S_RDR_COUNT (4U)
  20888. /*! @name RFR - SAI Receive FIFO Register */
  20889. /*! @{ */
  20890. #define I2S_RFR_RFP_MASK (0x3FU)
  20891. #define I2S_RFR_RFP_SHIFT (0U)
  20892. /*! RFP - Read FIFO Pointer
  20893. */
  20894. #define I2S_RFR_RFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_RFP_SHIFT)) & I2S_RFR_RFP_MASK)
  20895. #define I2S_RFR_RCP_MASK (0x8000U)
  20896. #define I2S_RFR_RCP_SHIFT (15U)
  20897. /*! RCP - Receive Channel Pointer
  20898. * 0b0..No effect.
  20899. * 0b1..FIFO combine is enabled for FIFO reads and this FIFO will be read on the next FIFO read.
  20900. */
  20901. #define I2S_RFR_RCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_RCP_SHIFT)) & I2S_RFR_RCP_MASK)
  20902. #define I2S_RFR_WFP_MASK (0x3F0000U)
  20903. #define I2S_RFR_WFP_SHIFT (16U)
  20904. /*! WFP - Write FIFO Pointer
  20905. */
  20906. #define I2S_RFR_WFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_WFP_SHIFT)) & I2S_RFR_WFP_MASK)
  20907. /*! @} */
  20908. /* The count of I2S_RFR */
  20909. #define I2S_RFR_COUNT (4U)
  20910. /*! @name RMR - SAI Receive Mask Register */
  20911. /*! @{ */
  20912. #define I2S_RMR_RWM_MASK (0xFFFFFFFFU)
  20913. #define I2S_RMR_RWM_SHIFT (0U)
  20914. /*! RWM - Receive Word Mask
  20915. * 0b00000000000000000000000000000000..Word N is enabled.
  20916. * 0b00000000000000000000000000000001..Word N is masked.
  20917. */
  20918. #define I2S_RMR_RWM(x) (((uint32_t)(((uint32_t)(x)) << I2S_RMR_RWM_SHIFT)) & I2S_RMR_RWM_MASK)
  20919. /*! @} */
  20920. /*!
  20921. * @}
  20922. */ /* end of group I2S_Register_Masks */
  20923. /* I2S - Peripheral instance base addresses */
  20924. /** Peripheral SAI1 base address */
  20925. #define SAI1_BASE (0x40384000u)
  20926. /** Peripheral SAI1 base pointer */
  20927. #define SAI1 ((I2S_Type *)SAI1_BASE)
  20928. /** Peripheral SAI2 base address */
  20929. #define SAI2_BASE (0x40388000u)
  20930. /** Peripheral SAI2 base pointer */
  20931. #define SAI2 ((I2S_Type *)SAI2_BASE)
  20932. /** Peripheral SAI3 base address */
  20933. #define SAI3_BASE (0x4038C000u)
  20934. /** Peripheral SAI3 base pointer */
  20935. #define SAI3 ((I2S_Type *)SAI3_BASE)
  20936. /** Array initializer of I2S peripheral base addresses */
  20937. #define I2S_BASE_ADDRS { 0u, SAI1_BASE, SAI2_BASE, SAI3_BASE }
  20938. /** Array initializer of I2S peripheral base pointers */
  20939. #define I2S_BASE_PTRS { (I2S_Type *)0u, SAI1, SAI2, SAI3 }
  20940. /** Interrupt vectors for the I2S peripheral type */
  20941. #define I2S_RX_IRQS { NotAvail_IRQn, SAI1_IRQn, SAI2_IRQn, SAI3_RX_IRQn }
  20942. #define I2S_TX_IRQS { NotAvail_IRQn, SAI1_IRQn, SAI2_IRQn, SAI3_TX_IRQn }
  20943. /*!
  20944. * @}
  20945. */ /* end of group I2S_Peripheral_Access_Layer */
  20946. /* ----------------------------------------------------------------------------
  20947. -- IOMUXC Peripheral Access Layer
  20948. ---------------------------------------------------------------------------- */
  20949. /*!
  20950. * @addtogroup IOMUXC_Peripheral_Access_Layer IOMUXC Peripheral Access Layer
  20951. * @{
  20952. */
  20953. /** IOMUXC - Register Layout Typedef */
  20954. typedef struct {
  20955. uint8_t RESERVED_0[20];
  20956. __IO uint32_t SW_MUX_CTL_PAD[124]; /**< 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 */
  20957. __IO uint32_t SW_PAD_CTL_PAD[124]; /**< 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: 0x204, array step: 0x4 */
  20958. __IO uint32_t SELECT_INPUT[154]; /**< ANATOP_USB_OTG1_ID_SELECT_INPUT DAISY Register..XBAR1_IN23_SELECT_INPUT DAISY Register, array offset: 0x3F4, array step: 0x4 */
  20959. __IO uint32_t SW_MUX_CTL_PAD_1[22]; /**< SW_MUX_CTL_PAD_GPIO_SPI_B0_00 SW MUX Control Register..SW_MUX_CTL_PAD_GPIO_SPI_B1_07 SW MUX Control Register, array offset: 0x65C, array step: 0x4 */
  20960. __IO uint32_t SW_PAD_CTL_PAD_1[22]; /**< SW_PAD_CTL_PAD_GPIO_SPI_B0_00 SW PAD Control Register..SW_PAD_CTL_PAD_GPIO_SPI_B1_07 SW PAD Control Register, array offset: 0x6B4, array step: 0x4 */
  20961. __IO uint32_t SELECT_INPUT_1[33]; /**< ENET2_IPG_CLK_RMII_SELECT_INPUT DAISY Register..CANFD_IPP_IND_CANRX_SELECT_INPUT DAISY Register, array offset: 0x70C, array step: 0x4 */
  20962. } IOMUXC_Type;
  20963. /* ----------------------------------------------------------------------------
  20964. -- IOMUXC Register Masks
  20965. ---------------------------------------------------------------------------- */
  20966. /*!
  20967. * @addtogroup IOMUXC_Register_Masks IOMUXC Register Masks
  20968. * @{
  20969. */
  20970. /*! @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 */
  20971. /*! @{ */
  20972. #define IOMUXC_SW_MUX_CTL_PAD_MUX_MODE_MASK (0xFU) /* Merged from fields with different position or width, of widths (3, 4), largest definition used */
  20973. #define IOMUXC_SW_MUX_CTL_PAD_MUX_MODE_SHIFT (0U)
  20974. /*! MUX_MODE - MUX Mode Select Field.
  20975. * 0b000..Select mux mode: ALT0 mux port: SEMC_DATA00 of instance: semc
  20976. * 0b001..Select mux mode: ALT1 mux port: FLEXPWM4_PWMA00 of instance: flexpwm4
  20977. * 0b010..Select mux mode: ALT2 mux port: LPSPI2_SCK of instance: lpspi2
  20978. * 0b011..Select mux mode: ALT3 mux port: XBAR1_XBAR_IN02 of instance: xbar1
  20979. * 0b100..Select mux mode: ALT4 mux port: FLEXIO1_FLEXIO00 of instance: flexio1
  20980. * 0b101..Select mux mode: ALT5 mux port: GPIO4_IO00 of instance: gpio4
  20981. */
  20982. #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) /* Merged from fields with different position or width, of widths (3, 4), largest definition used */
  20983. #define IOMUXC_SW_MUX_CTL_PAD_SION_MASK (0x10U)
  20984. #define IOMUXC_SW_MUX_CTL_PAD_SION_SHIFT (4U)
  20985. /*! SION - Software Input On Field.
  20986. * 0b1..Force input path of pad GPIO_EMC_00
  20987. * 0b0..Input Path is determined by functionality
  20988. */
  20989. #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)
  20990. /*! @} */
  20991. /* The count of IOMUXC_SW_MUX_CTL_PAD */
  20992. #define IOMUXC_SW_MUX_CTL_PAD_COUNT (124U)
  20993. /*! @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 */
  20994. /*! @{ */
  20995. #define IOMUXC_SW_PAD_CTL_PAD_SRE_MASK (0x1U)
  20996. #define IOMUXC_SW_PAD_CTL_PAD_SRE_SHIFT (0U)
  20997. /*! SRE - Slew Rate Field
  20998. * 0b0..Slow Slew Rate
  20999. * 0b1..Fast Slew Rate
  21000. */
  21001. #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)
  21002. #define IOMUXC_SW_PAD_CTL_PAD_DSE_MASK (0x38U)
  21003. #define IOMUXC_SW_PAD_CTL_PAD_DSE_SHIFT (3U)
  21004. /*! DSE - Drive Strength Field
  21005. * 0b000..output driver disabled;
  21006. * 0b001..R0(150 Ohm @ 3.3V, 260 Ohm@1.8V)
  21007. * 0b010..R0/2
  21008. * 0b011..R0/3
  21009. * 0b100..R0/4
  21010. * 0b101..R0/5
  21011. * 0b110..R0/6
  21012. * 0b111..R0/7
  21013. */
  21014. #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)
  21015. #define IOMUXC_SW_PAD_CTL_PAD_SPEED_MASK (0xC0U)
  21016. #define IOMUXC_SW_PAD_CTL_PAD_SPEED_SHIFT (6U)
  21017. /*! SPEED - Speed Field
  21018. * 0b00..low(50MHz)
  21019. * 0b01..medium(100MHz)
  21020. * 0b10..medium(100MHz)
  21021. * 0b11..max(200MHz)
  21022. */
  21023. #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)
  21024. #define IOMUXC_SW_PAD_CTL_PAD_ODE_MASK (0x800U)
  21025. #define IOMUXC_SW_PAD_CTL_PAD_ODE_SHIFT (11U)
  21026. /*! ODE - Open Drain Enable Field
  21027. * 0b0..Open Drain Disabled
  21028. * 0b1..Open Drain Enabled
  21029. */
  21030. #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)
  21031. #define IOMUXC_SW_PAD_CTL_PAD_PKE_MASK (0x1000U)
  21032. #define IOMUXC_SW_PAD_CTL_PAD_PKE_SHIFT (12U)
  21033. /*! PKE - Pull / Keep Enable Field
  21034. * 0b0..Pull/Keeper Disabled
  21035. * 0b1..Pull/Keeper Enabled
  21036. */
  21037. #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)
  21038. #define IOMUXC_SW_PAD_CTL_PAD_PUE_MASK (0x2000U)
  21039. #define IOMUXC_SW_PAD_CTL_PAD_PUE_SHIFT (13U)
  21040. /*! PUE - Pull / Keep Select Field
  21041. * 0b0..Keeper
  21042. * 0b1..Pull
  21043. */
  21044. #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)
  21045. #define IOMUXC_SW_PAD_CTL_PAD_PUS_MASK (0xC000U)
  21046. #define IOMUXC_SW_PAD_CTL_PAD_PUS_SHIFT (14U)
  21047. /*! PUS - Pull Up / Down Config. Field
  21048. * 0b00..100K Ohm Pull Down
  21049. * 0b01..47K Ohm Pull Up
  21050. * 0b10..100K Ohm Pull Up
  21051. * 0b11..22K Ohm Pull Up
  21052. */
  21053. #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)
  21054. #define IOMUXC_SW_PAD_CTL_PAD_HYS_MASK (0x10000U)
  21055. #define IOMUXC_SW_PAD_CTL_PAD_HYS_SHIFT (16U)
  21056. /*! HYS - Hyst. Enable Field
  21057. * 0b0..Hysteresis Disabled
  21058. * 0b1..Hysteresis Enabled
  21059. */
  21060. #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)
  21061. /*! @} */
  21062. /* The count of IOMUXC_SW_PAD_CTL_PAD */
  21063. #define IOMUXC_SW_PAD_CTL_PAD_COUNT (124U)
  21064. /*! @name SELECT_INPUT - ANATOP_USB_OTG1_ID_SELECT_INPUT DAISY Register..XBAR1_IN23_SELECT_INPUT DAISY Register */
  21065. /*! @{ */
  21066. #define IOMUXC_SELECT_INPUT_DAISY_MASK (0x7U) /* Merged from fields with different position or width, of widths (1, 2, 3), largest definition used */
  21067. #define IOMUXC_SELECT_INPUT_DAISY_SHIFT (0U)
  21068. /*! DAISY - Selecting Pads Involved in Daisy Chain.
  21069. * 0b0..Selecting Pad: GPIO_AD_B0_01 for Mode: ALT3
  21070. * 0b1..Selecting Pad: GPIO_AD_B1_02 for Mode: ALT0
  21071. */
  21072. #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 */
  21073. /*! @} */
  21074. /* The count of IOMUXC_SELECT_INPUT */
  21075. #define IOMUXC_SELECT_INPUT_COUNT (154U)
  21076. /*! @name SW_MUX_CTL_PAD_1 - SW_MUX_CTL_PAD_GPIO_SPI_B0_00 SW MUX Control Register..SW_MUX_CTL_PAD_GPIO_SPI_B1_07 SW MUX Control Register */
  21077. /*! @{ */
  21078. #define IOMUXC_SW_MUX_CTL_PAD_1_MUX_MODE_MASK (0x7U)
  21079. #define IOMUXC_SW_MUX_CTL_PAD_1_MUX_MODE_SHIFT (0U)
  21080. /*! MUX_MODE - MUX Mode Select Field.
  21081. * 0b000..Select mux mode: ALT0 mux port: FLEXSPI2_B_SCLK of instance: flexspi2
  21082. */
  21083. #define IOMUXC_SW_MUX_CTL_PAD_1_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_MUX_CTL_PAD_1_MUX_MODE_SHIFT)) & IOMUXC_SW_MUX_CTL_PAD_1_MUX_MODE_MASK)
  21084. #define IOMUXC_SW_MUX_CTL_PAD_1_SION_MASK (0x10U)
  21085. #define IOMUXC_SW_MUX_CTL_PAD_1_SION_SHIFT (4U)
  21086. /*! SION - Software Input On Field.
  21087. * 0b1..Force input path of pad GPIO_SPI_B0_00
  21088. * 0b0..Input Path is determined by functionality
  21089. */
  21090. #define IOMUXC_SW_MUX_CTL_PAD_1_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_MUX_CTL_PAD_1_SION_SHIFT)) & IOMUXC_SW_MUX_CTL_PAD_1_SION_MASK)
  21091. /*! @} */
  21092. /* The count of IOMUXC_SW_MUX_CTL_PAD_1 */
  21093. #define IOMUXC_SW_MUX_CTL_PAD_1_COUNT (22U)
  21094. /*! @name SW_PAD_CTL_PAD_1 - SW_PAD_CTL_PAD_GPIO_SPI_B0_00 SW PAD Control Register..SW_PAD_CTL_PAD_GPIO_SPI_B1_07 SW PAD Control Register */
  21095. /*! @{ */
  21096. #define IOMUXC_SW_PAD_CTL_PAD_1_SRE_MASK (0x1U)
  21097. #define IOMUXC_SW_PAD_CTL_PAD_1_SRE_SHIFT (0U)
  21098. /*! SRE - Slew Rate Field
  21099. * 0b0..Slow Slew Rate
  21100. * 0b1..Fast Slew Rate
  21101. */
  21102. #define IOMUXC_SW_PAD_CTL_PAD_1_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_1_SRE_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_1_SRE_MASK)
  21103. #define IOMUXC_SW_PAD_CTL_PAD_1_DSE_MASK (0x38U)
  21104. #define IOMUXC_SW_PAD_CTL_PAD_1_DSE_SHIFT (3U)
  21105. /*! DSE - Drive Strength Field
  21106. * 0b000..output driver disabled;
  21107. * 0b001..R0(150 Ohm @ 3.3V, 260 Ohm@1.8V)
  21108. * 0b010..R0/2
  21109. * 0b011..R0/3
  21110. * 0b100..R0/4
  21111. * 0b101..R0/5
  21112. * 0b110..R0/6
  21113. * 0b111..R0/7
  21114. */
  21115. #define IOMUXC_SW_PAD_CTL_PAD_1_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_1_DSE_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_1_DSE_MASK)
  21116. #define IOMUXC_SW_PAD_CTL_PAD_1_SPEED_MASK (0xC0U)
  21117. #define IOMUXC_SW_PAD_CTL_PAD_1_SPEED_SHIFT (6U)
  21118. /*! SPEED - Speed Field
  21119. * 0b00..low(50MHz)
  21120. * 0b01..medium(100MHz)
  21121. * 0b10..medium(100MHz)
  21122. * 0b11..max(200MHz)
  21123. */
  21124. #define IOMUXC_SW_PAD_CTL_PAD_1_SPEED(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_1_SPEED_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_1_SPEED_MASK)
  21125. #define IOMUXC_SW_PAD_CTL_PAD_1_ODE_MASK (0x800U)
  21126. #define IOMUXC_SW_PAD_CTL_PAD_1_ODE_SHIFT (11U)
  21127. /*! ODE - Open Drain Enable Field
  21128. * 0b0..Open Drain Disabled
  21129. * 0b1..Open Drain Enabled
  21130. */
  21131. #define IOMUXC_SW_PAD_CTL_PAD_1_ODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_1_ODE_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_1_ODE_MASK)
  21132. #define IOMUXC_SW_PAD_CTL_PAD_1_PKE_MASK (0x1000U)
  21133. #define IOMUXC_SW_PAD_CTL_PAD_1_PKE_SHIFT (12U)
  21134. /*! PKE - Pull / Keep Enable Field
  21135. * 0b0..Pull/Keeper Disabled
  21136. * 0b1..Pull/Keeper Enabled
  21137. */
  21138. #define IOMUXC_SW_PAD_CTL_PAD_1_PKE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_1_PKE_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_1_PKE_MASK)
  21139. #define IOMUXC_SW_PAD_CTL_PAD_1_PUE_MASK (0x2000U)
  21140. #define IOMUXC_SW_PAD_CTL_PAD_1_PUE_SHIFT (13U)
  21141. /*! PUE - Pull / Keep Select Field
  21142. * 0b0..Keeper
  21143. * 0b1..Pull
  21144. */
  21145. #define IOMUXC_SW_PAD_CTL_PAD_1_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_1_PUE_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_1_PUE_MASK)
  21146. #define IOMUXC_SW_PAD_CTL_PAD_1_PUS_MASK (0xC000U)
  21147. #define IOMUXC_SW_PAD_CTL_PAD_1_PUS_SHIFT (14U)
  21148. /*! PUS - Pull Up / Down Config. Field
  21149. * 0b00..100K Ohm Pull Down
  21150. * 0b01..47K Ohm Pull Up
  21151. * 0b10..100K Ohm Pull Up
  21152. * 0b11..22K Ohm Pull Up
  21153. */
  21154. #define IOMUXC_SW_PAD_CTL_PAD_1_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_1_PUS_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_1_PUS_MASK)
  21155. #define IOMUXC_SW_PAD_CTL_PAD_1_HYS_MASK (0x10000U)
  21156. #define IOMUXC_SW_PAD_CTL_PAD_1_HYS_SHIFT (16U)
  21157. /*! HYS - Hyst. Enable Field
  21158. * 0b0..Hysteresis Disabled
  21159. * 0b1..Hysteresis Enabled
  21160. */
  21161. #define IOMUXC_SW_PAD_CTL_PAD_1_HYS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_1_HYS_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_1_HYS_MASK)
  21162. /*! @} */
  21163. /* The count of IOMUXC_SW_PAD_CTL_PAD_1 */
  21164. #define IOMUXC_SW_PAD_CTL_PAD_1_COUNT (22U)
  21165. /*! @name SELECT_INPUT_1 - ENET2_IPG_CLK_RMII_SELECT_INPUT DAISY Register..CANFD_IPP_IND_CANRX_SELECT_INPUT DAISY Register */
  21166. /*! @{ */
  21167. #define IOMUXC_SELECT_INPUT_1_DAISY_MASK (0x3U) /* Merged from fields with different position or width, of widths (1, 2), largest definition used */
  21168. #define IOMUXC_SELECT_INPUT_1_DAISY_SHIFT (0U)
  21169. /*! DAISY - Selecting Pads Involved in Daisy Chain.
  21170. * 0b00..Selecting Pad: GPIO_EMC_33 for Mode: ALT9
  21171. * 0b01..Selecting Pad: GPIO_SD_B0_01 for Mode: ALT9
  21172. * 0b10..Selecting Pad: GPIO_B0_15 for Mode: ALT9
  21173. */
  21174. #define IOMUXC_SELECT_INPUT_1_DAISY(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SELECT_INPUT_1_DAISY_SHIFT)) & IOMUXC_SELECT_INPUT_1_DAISY_MASK) /* Merged from fields with different position or width, of widths (1, 2), largest definition used */
  21175. /*! @} */
  21176. /* The count of IOMUXC_SELECT_INPUT_1 */
  21177. #define IOMUXC_SELECT_INPUT_1_COUNT (33U)
  21178. /*!
  21179. * @}
  21180. */ /* end of group IOMUXC_Register_Masks */
  21181. /* IOMUXC - Peripheral instance base addresses */
  21182. /** Peripheral IOMUXC base address */
  21183. #define IOMUXC_BASE (0x401F8000u)
  21184. /** Peripheral IOMUXC base pointer */
  21185. #define IOMUXC ((IOMUXC_Type *)IOMUXC_BASE)
  21186. /** Array initializer of IOMUXC peripheral base addresses */
  21187. #define IOMUXC_BASE_ADDRS { IOMUXC_BASE }
  21188. /** Array initializer of IOMUXC peripheral base pointers */
  21189. #define IOMUXC_BASE_PTRS { IOMUXC }
  21190. /*!
  21191. * @}
  21192. */ /* end of group IOMUXC_Peripheral_Access_Layer */
  21193. /* ----------------------------------------------------------------------------
  21194. -- IOMUXC_GPR Peripheral Access Layer
  21195. ---------------------------------------------------------------------------- */
  21196. /*!
  21197. * @addtogroup IOMUXC_GPR_Peripheral_Access_Layer IOMUXC_GPR Peripheral Access Layer
  21198. * @{
  21199. */
  21200. /** IOMUXC_GPR - Register Layout Typedef */
  21201. typedef struct {
  21202. uint32_t GPR0; /**< GPR0 General Purpose Register, offset: 0x0 */
  21203. __IO uint32_t GPR1; /**< GPR1 General Purpose Register, offset: 0x4 */
  21204. __IO uint32_t GPR2; /**< GPR2 General Purpose Register, offset: 0x8 */
  21205. __IO uint32_t GPR3; /**< GPR3 General Purpose Register, offset: 0xC */
  21206. __IO uint32_t GPR4; /**< GPR4 General Purpose Register, offset: 0x10 */
  21207. __IO uint32_t GPR5; /**< GPR5 General Purpose Register, offset: 0x14 */
  21208. __IO uint32_t GPR6; /**< GPR6 General Purpose Register, offset: 0x18 */
  21209. __IO uint32_t GPR7; /**< GPR7 General Purpose Register, offset: 0x1C */
  21210. __IO uint32_t GPR8; /**< GPR8 General Purpose Register, offset: 0x20 */
  21211. uint32_t GPR9; /**< GPR9 General Purpose Register, offset: 0x24 */
  21212. __IO uint32_t GPR10; /**< GPR10 General Purpose Register, offset: 0x28 */
  21213. __IO uint32_t GPR11; /**< GPR11 General Purpose Register, offset: 0x2C */
  21214. __IO uint32_t GPR12; /**< GPR12 General Purpose Register, offset: 0x30 */
  21215. __IO uint32_t GPR13; /**< GPR13 General Purpose Register, offset: 0x34 */
  21216. __IO uint32_t GPR14; /**< GPR14 General Purpose Register, offset: 0x38 */
  21217. uint32_t GPR15; /**< GPR15 General Purpose Register, offset: 0x3C */
  21218. __IO uint32_t GPR16; /**< GPR16 General Purpose Register, offset: 0x40 */
  21219. __IO uint32_t GPR17; /**< GPR17 General Purpose Register, offset: 0x44 */
  21220. __IO uint32_t GPR18; /**< GPR18 General Purpose Register, offset: 0x48 */
  21221. __IO uint32_t GPR19; /**< GPR19 General Purpose Register, offset: 0x4C */
  21222. __IO uint32_t GPR20; /**< GPR20 General Purpose Register, offset: 0x50 */
  21223. __IO uint32_t GPR21; /**< GPR21 General Purpose Register, offset: 0x54 */
  21224. __IO uint32_t GPR22; /**< GPR22 General Purpose Register, offset: 0x58 */
  21225. __IO uint32_t GPR23; /**< GPR23 General Purpose Register, offset: 0x5C */
  21226. __IO uint32_t GPR24; /**< GPR24 General Purpose Register, offset: 0x60 */
  21227. __IO uint32_t GPR25; /**< GPR25 General Purpose Register, offset: 0x64 */
  21228. __IO uint32_t GPR26; /**< GPR26 General Purpose Register, offset: 0x68 */
  21229. __IO uint32_t GPR27; /**< GPR27 General Purpose Register, offset: 0x6C */
  21230. __IO uint32_t GPR28; /**< GPR28 General Purpose Register, offset: 0x70 */
  21231. __IO uint32_t GPR29; /**< GPR29 General Purpose Register, offset: 0x74 */
  21232. __IO uint32_t GPR30; /**< GPR30 General Purpose Register, offset: 0x78 */
  21233. __IO uint32_t GPR31; /**< GPR31 General Purpose Register, offset: 0x7C */
  21234. __IO uint32_t GPR32; /**< GPR32 General Purpose Register, offset: 0x80 */
  21235. __IO uint32_t GPR33; /**< GPR33 General Purpose Register, offset: 0x84 */
  21236. __IO uint32_t GPR34; /**< GPR34 General Purpose Register, offset: 0x88 */
  21237. } IOMUXC_GPR_Type;
  21238. /* ----------------------------------------------------------------------------
  21239. -- IOMUXC_GPR Register Masks
  21240. ---------------------------------------------------------------------------- */
  21241. /*!
  21242. * @addtogroup IOMUXC_GPR_Register_Masks IOMUXC_GPR Register Masks
  21243. * @{
  21244. */
  21245. /*! @name GPR1 - GPR1 General Purpose Register */
  21246. /*! @{ */
  21247. #define IOMUXC_GPR_GPR1_SAI1_MCLK1_SEL_MASK (0x7U)
  21248. #define IOMUXC_GPR_GPR1_SAI1_MCLK1_SEL_SHIFT (0U)
  21249. /*! SAI1_MCLK1_SEL
  21250. * 0b000..ccm.ssi1_clk_root
  21251. * 0b001..ccm.ssi2_clk_root
  21252. * 0b010..ccm.ssi3_clk_root
  21253. * 0b011..iomux.sai1_ipg_clk_sai_mclk
  21254. * 0b100..iomux.sai2_ipg_clk_sai_mclk
  21255. * 0b101..iomux.sai3_ipg_clk_sai_mclk
  21256. * 0b110..Reserved
  21257. * 0b111..Reserved
  21258. */
  21259. #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)
  21260. #define IOMUXC_GPR_GPR1_SAI1_MCLK2_SEL_MASK (0x38U)
  21261. #define IOMUXC_GPR_GPR1_SAI1_MCLK2_SEL_SHIFT (3U)
  21262. /*! SAI1_MCLK2_SEL
  21263. * 0b000..ccm.ssi1_clk_root
  21264. * 0b001..ccm.ssi2_clk_root
  21265. * 0b010..ccm.ssi3_clk_root
  21266. * 0b011..iomux.sai1_ipg_clk_sai_mclk
  21267. * 0b100..iomux.sai2_ipg_clk_sai_mclk
  21268. * 0b101..iomux.sai3_ipg_clk_sai_mclk
  21269. * 0b110..Reserved
  21270. * 0b111..Reserved
  21271. */
  21272. #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)
  21273. #define IOMUXC_GPR_GPR1_SAI1_MCLK3_SEL_MASK (0xC0U)
  21274. #define IOMUXC_GPR_GPR1_SAI1_MCLK3_SEL_SHIFT (6U)
  21275. /*! SAI1_MCLK3_SEL
  21276. * 0b00..ccm.spdif0_clk_root
  21277. * 0b01..iomux.spdif_tx_clk2
  21278. * 0b10..spdif.spdif_srclk
  21279. * 0b11..spdif.spdif_outclock
  21280. */
  21281. #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)
  21282. #define IOMUXC_GPR_GPR1_SAI2_MCLK3_SEL_MASK (0x300U)
  21283. #define IOMUXC_GPR_GPR1_SAI2_MCLK3_SEL_SHIFT (8U)
  21284. /*! SAI2_MCLK3_SEL
  21285. * 0b00..ccm.spdif0_clk_root
  21286. * 0b01..iomux.spdif_tx_clk2
  21287. * 0b10..spdif.spdif_srclk
  21288. * 0b11..spdif.spdif_outclock
  21289. */
  21290. #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)
  21291. #define IOMUXC_GPR_GPR1_SAI3_MCLK3_SEL_MASK (0xC00U)
  21292. #define IOMUXC_GPR_GPR1_SAI3_MCLK3_SEL_SHIFT (10U)
  21293. /*! SAI3_MCLK3_SEL
  21294. * 0b00..ccm.spdif0_clk_root
  21295. * 0b01..iomux.spdif_tx_clk2
  21296. * 0b10..spdif.spdif_srclk
  21297. * 0b11..spdif.spdif_outclock
  21298. */
  21299. #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)
  21300. #define IOMUXC_GPR_GPR1_GINT_MASK (0x1000U)
  21301. #define IOMUXC_GPR_GPR1_GINT_SHIFT (12U)
  21302. /*! GINT
  21303. * 0b0..Global interrupt request is not asserted.
  21304. * 0b1..Global interrupt request is asserted.
  21305. */
  21306. #define IOMUXC_GPR_GPR1_GINT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_GINT_SHIFT)) & IOMUXC_GPR_GPR1_GINT_MASK)
  21307. #define IOMUXC_GPR_GPR1_ENET1_CLK_SEL_MASK (0x2000U)
  21308. #define IOMUXC_GPR_GPR1_ENET1_CLK_SEL_SHIFT (13U)
  21309. /*! ENET1_CLK_SEL
  21310. * 0b0..ENET1 TX reference clock driven by ref_enetpll. This clock is also output to pins via the IOMUX. ENET_REF_CLK1 function.
  21311. * 0b1..Gets ENET1 TX reference clock from the ENET1_TX_CLK pin. In this use case, an external OSC provides the
  21312. * clock for both the external PHY and the internal controller.
  21313. */
  21314. #define IOMUXC_GPR_GPR1_ENET1_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_ENET1_CLK_SEL_SHIFT)) & IOMUXC_GPR_GPR1_ENET1_CLK_SEL_MASK)
  21315. #define IOMUXC_GPR_GPR1_ENET2_CLK_SEL_MASK (0x4000U)
  21316. #define IOMUXC_GPR_GPR1_ENET2_CLK_SEL_SHIFT (14U)
  21317. /*! ENET2_CLK_SEL
  21318. * 0b0..ENET2 TX reference clock driven by ref_enetpll. This clock is also output to pins via the IOMUX. ENET2_REF_CLK function.
  21319. * 0b1..Gets ENET2 TX reference clock from the ENET2_TX_CLK pin. In this use case, an external OSC provides the
  21320. * clock for both the external PHY and the internal controller.
  21321. */
  21322. #define IOMUXC_GPR_GPR1_ENET2_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_ENET2_CLK_SEL_SHIFT)) & IOMUXC_GPR_GPR1_ENET2_CLK_SEL_MASK)
  21323. #define IOMUXC_GPR_GPR1_USB_EXP_MODE_MASK (0x8000U)
  21324. #define IOMUXC_GPR_GPR1_USB_EXP_MODE_SHIFT (15U)
  21325. /*! USB_EXP_MODE
  21326. * 0b0..Exposure mode is disabled.
  21327. * 0b1..Exposure mode is enabled.
  21328. */
  21329. #define IOMUXC_GPR_GPR1_USB_EXP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_USB_EXP_MODE_SHIFT)) & IOMUXC_GPR_GPR1_USB_EXP_MODE_MASK)
  21330. #define IOMUXC_GPR_GPR1_ENET1_TX_CLK_DIR_MASK (0x20000U)
  21331. #define IOMUXC_GPR_GPR1_ENET1_TX_CLK_DIR_SHIFT (17U)
  21332. /*! ENET1_TX_CLK_DIR
  21333. * 0b0..ENET1_TX_CLK output driver is disabled
  21334. * 0b1..ENET1_TX_CLK output driver is enabled
  21335. */
  21336. #define IOMUXC_GPR_GPR1_ENET1_TX_CLK_DIR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_ENET1_TX_CLK_DIR_SHIFT)) & IOMUXC_GPR_GPR1_ENET1_TX_CLK_DIR_MASK)
  21337. #define IOMUXC_GPR_GPR1_ENET2_TX_CLK_DIR_MASK (0x40000U)
  21338. #define IOMUXC_GPR_GPR1_ENET2_TX_CLK_DIR_SHIFT (18U)
  21339. /*! ENET2_TX_CLK_DIR
  21340. * 0b0..ENET2_TX_CLK output driver is disabled
  21341. * 0b1..ENET2_TX_CLK output driver is enabled
  21342. */
  21343. #define IOMUXC_GPR_GPR1_ENET2_TX_CLK_DIR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_ENET2_TX_CLK_DIR_SHIFT)) & IOMUXC_GPR_GPR1_ENET2_TX_CLK_DIR_MASK)
  21344. #define IOMUXC_GPR_GPR1_SAI1_MCLK_DIR_MASK (0x80000U)
  21345. #define IOMUXC_GPR_GPR1_SAI1_MCLK_DIR_SHIFT (19U)
  21346. /*! SAI1_MCLK_DIR
  21347. * 0b0..sai1.MCLK is input signal
  21348. * 0b1..sai1.MCLK is output signal
  21349. */
  21350. #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)
  21351. #define IOMUXC_GPR_GPR1_SAI2_MCLK_DIR_MASK (0x100000U)
  21352. #define IOMUXC_GPR_GPR1_SAI2_MCLK_DIR_SHIFT (20U)
  21353. /*! SAI2_MCLK_DIR
  21354. * 0b0..sai2.MCLK is input signal
  21355. * 0b1..sai2.MCLK is output signal
  21356. */
  21357. #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)
  21358. #define IOMUXC_GPR_GPR1_SAI3_MCLK_DIR_MASK (0x200000U)
  21359. #define IOMUXC_GPR_GPR1_SAI3_MCLK_DIR_SHIFT (21U)
  21360. /*! SAI3_MCLK_DIR
  21361. * 0b0..sai3.MCLK is input signal
  21362. * 0b1..sai3.MCLK is output signal
  21363. */
  21364. #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)
  21365. #define IOMUXC_GPR_GPR1_EXC_MON_MASK (0x400000U)
  21366. #define IOMUXC_GPR_GPR1_EXC_MON_SHIFT (22U)
  21367. /*! EXC_MON
  21368. * 0b0..OKAY response
  21369. * 0b1..SLVError response (default)
  21370. */
  21371. #define IOMUXC_GPR_GPR1_EXC_MON(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_EXC_MON_SHIFT)) & IOMUXC_GPR_GPR1_EXC_MON_MASK)
  21372. #define IOMUXC_GPR_GPR1_ENET_IPG_CLK_S_EN_MASK (0x800000U)
  21373. #define IOMUXC_GPR_GPR1_ENET_IPG_CLK_S_EN_SHIFT (23U)
  21374. /*! ENET_IPG_CLK_S_EN
  21375. * 0b0..ipg_clk_s is gated when there is no IPS access
  21376. * 0b1..ipg_clk_s is always on
  21377. */
  21378. #define IOMUXC_GPR_GPR1_ENET_IPG_CLK_S_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_ENET_IPG_CLK_S_EN_SHIFT)) & IOMUXC_GPR_GPR1_ENET_IPG_CLK_S_EN_MASK)
  21379. #define IOMUXC_GPR_GPR1_CM7_FORCE_HCLK_EN_MASK (0x80000000U)
  21380. #define IOMUXC_GPR_GPR1_CM7_FORCE_HCLK_EN_SHIFT (31U)
  21381. /*! CM7_FORCE_HCLK_EN
  21382. * 0b0..AHB clock is not running (gated)
  21383. * 0b1..AHB clock is running (enabled)
  21384. */
  21385. #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)
  21386. /*! @} */
  21387. /*! @name GPR2 - GPR2 General Purpose Register */
  21388. /*! @{ */
  21389. #define IOMUXC_GPR_GPR2_AXBS_L_AHBXL_HIGH_PRIORITY_MASK (0x1U)
  21390. #define IOMUXC_GPR_GPR2_AXBS_L_AHBXL_HIGH_PRIORITY_SHIFT (0U)
  21391. /*! AXBS_L_AHBXL_HIGH_PRIORITY
  21392. * 0b0..AXBS_L AHBXL master does not have high priority
  21393. * 0b1..AXBS_P AHBXL master has high priority
  21394. */
  21395. #define IOMUXC_GPR_GPR2_AXBS_L_AHBXL_HIGH_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_AXBS_L_AHBXL_HIGH_PRIORITY_SHIFT)) & IOMUXC_GPR_GPR2_AXBS_L_AHBXL_HIGH_PRIORITY_MASK)
  21396. #define IOMUXC_GPR_GPR2_AXBS_L_DMA_HIGH_PRIORITY_MASK (0x2U)
  21397. #define IOMUXC_GPR_GPR2_AXBS_L_DMA_HIGH_PRIORITY_SHIFT (1U)
  21398. /*! AXBS_L_DMA_HIGH_PRIORITY
  21399. * 0b0..AXBS_L DMA master does not have high priority
  21400. * 0b1..AXBS_L DMA master has high priority
  21401. */
  21402. #define IOMUXC_GPR_GPR2_AXBS_L_DMA_HIGH_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_AXBS_L_DMA_HIGH_PRIORITY_SHIFT)) & IOMUXC_GPR_GPR2_AXBS_L_DMA_HIGH_PRIORITY_MASK)
  21403. #define IOMUXC_GPR_GPR2_AXBS_L_FORCE_ROUND_ROBIN_MASK (0x4U)
  21404. #define IOMUXC_GPR_GPR2_AXBS_L_FORCE_ROUND_ROBIN_SHIFT (2U)
  21405. /*! AXBS_L_FORCE_ROUND_ROBIN
  21406. * 0b0..AXBS_L masters are not arbitored in round robin, depending on DMA and AHBXL master priority settings.
  21407. * 0b1..AXBS_L masters are arbitored in round robin
  21408. */
  21409. #define IOMUXC_GPR_GPR2_AXBS_L_FORCE_ROUND_ROBIN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_AXBS_L_FORCE_ROUND_ROBIN_SHIFT)) & IOMUXC_GPR_GPR2_AXBS_L_FORCE_ROUND_ROBIN_MASK)
  21410. #define IOMUXC_GPR_GPR2_AXBS_P_M0_HIGH_PRIORITY_MASK (0x8U)
  21411. #define IOMUXC_GPR_GPR2_AXBS_P_M0_HIGH_PRIORITY_SHIFT (3U)
  21412. /*! AXBS_P_M0_HIGH_PRIORITY
  21413. * 0b0..AXBS_P M0 master doesn't have high priority
  21414. * 0b1..AXBS_P M0 master has high priority
  21415. */
  21416. #define IOMUXC_GPR_GPR2_AXBS_P_M0_HIGH_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_AXBS_P_M0_HIGH_PRIORITY_SHIFT)) & IOMUXC_GPR_GPR2_AXBS_P_M0_HIGH_PRIORITY_MASK)
  21417. #define IOMUXC_GPR_GPR2_AXBS_P_M1_HIGH_PRIORITY_MASK (0x10U)
  21418. #define IOMUXC_GPR_GPR2_AXBS_P_M1_HIGH_PRIORITY_SHIFT (4U)
  21419. /*! AXBS_P_M1_HIGH_PRIORITY
  21420. * 0b0..AXBS_P M1 master does not have high priority
  21421. * 0b1..AXBS_P M1 master has high priority
  21422. */
  21423. #define IOMUXC_GPR_GPR2_AXBS_P_M1_HIGH_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_AXBS_P_M1_HIGH_PRIORITY_SHIFT)) & IOMUXC_GPR_GPR2_AXBS_P_M1_HIGH_PRIORITY_MASK)
  21424. #define IOMUXC_GPR_GPR2_AXBS_P_FORCE_ROUND_ROBIN_MASK (0x20U)
  21425. #define IOMUXC_GPR_GPR2_AXBS_P_FORCE_ROUND_ROBIN_SHIFT (5U)
  21426. /*! AXBS_P_FORCE_ROUND_ROBIN
  21427. * 0b0..AXBS_P masters are not arbitored in round robin, depending on M0/M1 master priority settings.
  21428. * 0b1..AXBS_P masters are arbitored in round robin
  21429. */
  21430. #define IOMUXC_GPR_GPR2_AXBS_P_FORCE_ROUND_ROBIN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_AXBS_P_FORCE_ROUND_ROBIN_SHIFT)) & IOMUXC_GPR_GPR2_AXBS_P_FORCE_ROUND_ROBIN_MASK)
  21431. #define IOMUXC_GPR_GPR2_CANFD_FILTER_BYPASS_MASK (0x40U)
  21432. #define IOMUXC_GPR_GPR2_CANFD_FILTER_BYPASS_SHIFT (6U)
  21433. /*! CANFD_FILTER_BYPASS
  21434. * 0b0..enable CANFD filter
  21435. * 0b1..disable CANFD filter
  21436. */
  21437. #define IOMUXC_GPR_GPR2_CANFD_FILTER_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_CANFD_FILTER_BYPASS_SHIFT)) & IOMUXC_GPR_GPR2_CANFD_FILTER_BYPASS_MASK)
  21438. #define IOMUXC_GPR_GPR2_L2_MEM_EN_POWERSAVING_MASK (0x1000U)
  21439. #define IOMUXC_GPR_GPR2_L2_MEM_EN_POWERSAVING_SHIFT (12U)
  21440. /*! L2_MEM_EN_POWERSAVING
  21441. * 0b0..none memory power saving features enabled, SHUTDOWN/DEEPSLEEP/LIGHTSLEEP will have no effect
  21442. * 0b1..memory power saving features enabled, set SHUTDOWN/DEEPSLEEP/LIGHTSLEEP (priority high to low) to enable power saving levels
  21443. */
  21444. #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)
  21445. #define IOMUXC_GPR_GPR2_RAM_AUTO_CLK_GATING_EN_MASK (0x2000U)
  21446. #define IOMUXC_GPR_GPR2_RAM_AUTO_CLK_GATING_EN_SHIFT (13U)
  21447. /*! RAM_AUTO_CLK_GATING_EN
  21448. * 0b0..disable automatically gate off RAM clock
  21449. * 0b1..enable automatically gate off RAM clock
  21450. */
  21451. #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)
  21452. #define IOMUXC_GPR_GPR2_L2_MEM_DEEPSLEEP_MASK (0x4000U)
  21453. #define IOMUXC_GPR_GPR2_L2_MEM_DEEPSLEEP_SHIFT (14U)
  21454. /*! L2_MEM_DEEPSLEEP
  21455. * 0b0..no force sleep control supported, memory deep sleep mode only entered when whole system in stop mode
  21456. * 0b1..force memory into deep sleep mode
  21457. */
  21458. #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)
  21459. #define IOMUXC_GPR_GPR2_MQS_CLK_DIV_MASK (0xFF0000U)
  21460. #define IOMUXC_GPR_GPR2_MQS_CLK_DIV_SHIFT (16U)
  21461. /*! MQS_CLK_DIV - Divider ratio control for mclk from hmclk. mclk frequency = 1/(n+1) * hmclk frequency.
  21462. * 0b00000000..mclk frequency = 1/1 * hmclk frequency
  21463. * 0b00000001..mclk frequency = 1/2 * hmclk frequency
  21464. * 0b00000010..mclk frequency = 1/3 * hmclk frequency
  21465. * 0b00000011..mclk frequency = 1/4 * hmclk frequency
  21466. * 0b00000100..mclk frequency = 1/5 * hmclk frequency
  21467. * 0b00000101..mclk frequency = 1/6 * hmclk frequency
  21468. * 0b00000110..mclk frequency = 1/7 * hmclk frequency
  21469. * 0b00000111..mclk frequency = 1/8 * hmclk frequency
  21470. * 0b00001000..mclk frequency = 1/9 * hmclk frequency
  21471. * 0b00001001..mclk frequency = 1/10 * hmclk frequency
  21472. * 0b00001010..mclk frequency = 1/11 * hmclk frequency
  21473. * 0b00001011..mclk frequency = 1/12 * hmclk frequency
  21474. * 0b00001100..mclk frequency = 1/13 * hmclk frequency
  21475. * 0b00001101..mclk frequency = 1/14 * hmclk frequency
  21476. * 0b00001110..mclk frequency = 1/15 * hmclk frequency
  21477. * 0b00001111..mclk frequency = 1/16 * hmclk frequency
  21478. * 0b00010000..mclk frequency = 1/17 * hmclk frequency
  21479. * 0b00010001..mclk frequency = 1/18 * hmclk frequency
  21480. * 0b00010010..mclk frequency = 1/19 * hmclk frequency
  21481. * 0b00010011..mclk frequency = 1/20 * hmclk frequency
  21482. * 0b00010100..mclk frequency = 1/21 * hmclk frequency
  21483. * 0b00010101..mclk frequency = 1/22 * hmclk frequency
  21484. * 0b00010110..mclk frequency = 1/23 * hmclk frequency
  21485. * 0b00010111..mclk frequency = 1/24 * hmclk frequency
  21486. * 0b00011000..mclk frequency = 1/25 * hmclk frequency
  21487. * 0b00011001..mclk frequency = 1/26 * hmclk frequency
  21488. * 0b00011010..mclk frequency = 1/27 * hmclk frequency
  21489. * 0b00011011..mclk frequency = 1/28 * hmclk frequency
  21490. * 0b00011100..mclk frequency = 1/29 * hmclk frequency
  21491. * 0b00011101..mclk frequency = 1/30 * hmclk frequency
  21492. * 0b00011110..mclk frequency = 1/31 * hmclk frequency
  21493. * 0b00011111..mclk frequency = 1/32 * hmclk frequency
  21494. * 0b00100000..mclk frequency = 1/33 * hmclk frequency
  21495. * 0b00100001..mclk frequency = 1/34 * hmclk frequency
  21496. * 0b00100010..mclk frequency = 1/35 * hmclk frequency
  21497. * 0b00100011..mclk frequency = 1/36 * hmclk frequency
  21498. * 0b00100100..mclk frequency = 1/37 * hmclk frequency
  21499. * 0b00100101..mclk frequency = 1/38 * hmclk frequency
  21500. * 0b00100110..mclk frequency = 1/39 * hmclk frequency
  21501. * 0b00100111..mclk frequency = 1/40 * hmclk frequency
  21502. * 0b00101000..mclk frequency = 1/41 * hmclk frequency
  21503. * 0b00101001..mclk frequency = 1/42 * hmclk frequency
  21504. * 0b00101010..mclk frequency = 1/43 * hmclk frequency
  21505. * 0b00101011..mclk frequency = 1/44 * hmclk frequency
  21506. * 0b00101100..mclk frequency = 1/45 * hmclk frequency
  21507. * 0b00101101..mclk frequency = 1/46 * hmclk frequency
  21508. * 0b00101110..mclk frequency = 1/47 * hmclk frequency
  21509. * 0b00101111..mclk frequency = 1/48 * hmclk frequency
  21510. * 0b00110000..mclk frequency = 1/49 * hmclk frequency
  21511. * 0b00110001..mclk frequency = 1/50 * hmclk frequency
  21512. * 0b00110010..mclk frequency = 1/51 * hmclk frequency
  21513. * 0b00110011..mclk frequency = 1/52 * hmclk frequency
  21514. * 0b00110100..mclk frequency = 1/53 * hmclk frequency
  21515. * 0b00110101..mclk frequency = 1/54 * hmclk frequency
  21516. * 0b00110110..mclk frequency = 1/55 * hmclk frequency
  21517. * 0b00110111..mclk frequency = 1/56 * hmclk frequency
  21518. * 0b00111000..mclk frequency = 1/57 * hmclk frequency
  21519. * 0b00111001..mclk frequency = 1/58 * hmclk frequency
  21520. * 0b00111010..mclk frequency = 1/59 * hmclk frequency
  21521. * 0b00111011..mclk frequency = 1/60 * hmclk frequency
  21522. * 0b00111100..mclk frequency = 1/61 * hmclk frequency
  21523. * 0b00111101..mclk frequency = 1/62 * hmclk frequency
  21524. * 0b00111110..mclk frequency = 1/63 * hmclk frequency
  21525. * 0b00111111..mclk frequency = 1/64 * hmclk frequency
  21526. * 0b01000000..mclk frequency = 1/65 * hmclk frequency
  21527. * 0b01000001..mclk frequency = 1/66 * hmclk frequency
  21528. * 0b01000010..mclk frequency = 1/67 * hmclk frequency
  21529. * 0b01000011..mclk frequency = 1/68 * hmclk frequency
  21530. * 0b01000100..mclk frequency = 1/69 * hmclk frequency
  21531. * 0b01000101..mclk frequency = 1/70 * hmclk frequency
  21532. * 0b01000110..mclk frequency = 1/71 * hmclk frequency
  21533. * 0b01000111..mclk frequency = 1/72 * hmclk frequency
  21534. * 0b01001000..mclk frequency = 1/73 * hmclk frequency
  21535. * 0b01001001..mclk frequency = 1/74 * hmclk frequency
  21536. * 0b01001010..mclk frequency = 1/75 * hmclk frequency
  21537. * 0b01001011..mclk frequency = 1/76 * hmclk frequency
  21538. * 0b01001100..mclk frequency = 1/77 * hmclk frequency
  21539. * 0b01001101..mclk frequency = 1/78 * hmclk frequency
  21540. * 0b01001110..mclk frequency = 1/79 * hmclk frequency
  21541. * 0b01001111..mclk frequency = 1/80 * hmclk frequency
  21542. * 0b01010000..mclk frequency = 1/81 * hmclk frequency
  21543. * 0b01010001..mclk frequency = 1/82 * hmclk frequency
  21544. * 0b01010010..mclk frequency = 1/83 * hmclk frequency
  21545. * 0b01010011..mclk frequency = 1/84 * hmclk frequency
  21546. * 0b01010100..mclk frequency = 1/85 * hmclk frequency
  21547. * 0b01010101..mclk frequency = 1/86 * hmclk frequency
  21548. * 0b01010110..mclk frequency = 1/87 * hmclk frequency
  21549. * 0b01010111..mclk frequency = 1/88 * hmclk frequency
  21550. * 0b01011000..mclk frequency = 1/89 * hmclk frequency
  21551. * 0b01011001..mclk frequency = 1/90 * hmclk frequency
  21552. * 0b01011010..mclk frequency = 1/91 * hmclk frequency
  21553. * 0b01011011..mclk frequency = 1/92 * hmclk frequency
  21554. * 0b01011100..mclk frequency = 1/93 * hmclk frequency
  21555. * 0b01011101..mclk frequency = 1/94 * hmclk frequency
  21556. * 0b01011110..mclk frequency = 1/95 * hmclk frequency
  21557. * 0b01011111..mclk frequency = 1/96 * hmclk frequency
  21558. * 0b01100000..mclk frequency = 1/97 * hmclk frequency
  21559. * 0b01100001..mclk frequency = 1/98 * hmclk frequency
  21560. * 0b01100010..mclk frequency = 1/99 * hmclk frequency
  21561. * 0b01100011..mclk frequency = 1/100 * hmclk frequency
  21562. * 0b01100100..mclk frequency = 1/101 * hmclk frequency
  21563. * 0b01100101..mclk frequency = 1/102 * hmclk frequency
  21564. * 0b01100110..mclk frequency = 1/103 * hmclk frequency
  21565. * 0b01100111..mclk frequency = 1/104 * hmclk frequency
  21566. * 0b01101000..mclk frequency = 1/105 * hmclk frequency
  21567. * 0b01101001..mclk frequency = 1/106 * hmclk frequency
  21568. * 0b01101010..mclk frequency = 1/107 * hmclk frequency
  21569. * 0b01101011..mclk frequency = 1/108 * hmclk frequency
  21570. * 0b01101100..mclk frequency = 1/109 * hmclk frequency
  21571. * 0b01101101..mclk frequency = 1/110 * hmclk frequency
  21572. * 0b01101110..mclk frequency = 1/111 * hmclk frequency
  21573. * 0b01101111..mclk frequency = 1/112 * hmclk frequency
  21574. * 0b01110000..mclk frequency = 1/113 * hmclk frequency
  21575. * 0b01110001..mclk frequency = 1/114 * hmclk frequency
  21576. * 0b01110010..mclk frequency = 1/115 * hmclk frequency
  21577. * 0b01110011..mclk frequency = 1/116 * hmclk frequency
  21578. * 0b01110100..mclk frequency = 1/117 * hmclk frequency
  21579. * 0b01110101..mclk frequency = 1/118 * hmclk frequency
  21580. * 0b01110110..mclk frequency = 1/119 * hmclk frequency
  21581. * 0b01110111..mclk frequency = 1/120 * hmclk frequency
  21582. * 0b01111000..mclk frequency = 1/121 * hmclk frequency
  21583. * 0b01111001..mclk frequency = 1/122 * hmclk frequency
  21584. * 0b01111010..mclk frequency = 1/123 * hmclk frequency
  21585. * 0b01111011..mclk frequency = 1/124 * hmclk frequency
  21586. * 0b01111100..mclk frequency = 1/125 * hmclk frequency
  21587. * 0b01111101..mclk frequency = 1/126 * hmclk frequency
  21588. * 0b01111110..mclk frequency = 1/127 * hmclk frequency
  21589. * 0b01111111..mclk frequency = 1/128 * hmclk frequency
  21590. * 0b10000000..mclk frequency = 1/129 * hmclk frequency
  21591. * 0b10000001..mclk frequency = 1/130 * hmclk frequency
  21592. * 0b10000010..mclk frequency = 1/131 * hmclk frequency
  21593. * 0b10000011..mclk frequency = 1/132 * hmclk frequency
  21594. * 0b10000100..mclk frequency = 1/133 * hmclk frequency
  21595. * 0b10000101..mclk frequency = 1/134 * hmclk frequency
  21596. * 0b10000110..mclk frequency = 1/135 * hmclk frequency
  21597. * 0b10000111..mclk frequency = 1/136 * hmclk frequency
  21598. * 0b10001000..mclk frequency = 1/137 * hmclk frequency
  21599. * 0b10001001..mclk frequency = 1/138 * hmclk frequency
  21600. * 0b10001010..mclk frequency = 1/139 * hmclk frequency
  21601. * 0b10001011..mclk frequency = 1/140 * hmclk frequency
  21602. * 0b10001100..mclk frequency = 1/141 * hmclk frequency
  21603. * 0b10001101..mclk frequency = 1/142 * hmclk frequency
  21604. * 0b10001110..mclk frequency = 1/143 * hmclk frequency
  21605. * 0b10001111..mclk frequency = 1/144 * hmclk frequency
  21606. * 0b10010000..mclk frequency = 1/145 * hmclk frequency
  21607. * 0b10010001..mclk frequency = 1/146 * hmclk frequency
  21608. * 0b10010010..mclk frequency = 1/147 * hmclk frequency
  21609. * 0b10010011..mclk frequency = 1/148 * hmclk frequency
  21610. * 0b10010100..mclk frequency = 1/149 * hmclk frequency
  21611. * 0b10010101..mclk frequency = 1/150 * hmclk frequency
  21612. * 0b10010110..mclk frequency = 1/151 * hmclk frequency
  21613. * 0b10010111..mclk frequency = 1/152 * hmclk frequency
  21614. * 0b10011000..mclk frequency = 1/153 * hmclk frequency
  21615. * 0b10011001..mclk frequency = 1/154 * hmclk frequency
  21616. * 0b10011010..mclk frequency = 1/155 * hmclk frequency
  21617. * 0b10011011..mclk frequency = 1/156 * hmclk frequency
  21618. * 0b10011100..mclk frequency = 1/157 * hmclk frequency
  21619. * 0b10011101..mclk frequency = 1/158 * hmclk frequency
  21620. * 0b10011110..mclk frequency = 1/159 * hmclk frequency
  21621. * 0b10011111..mclk frequency = 1/160 * hmclk frequency
  21622. * 0b10100000..mclk frequency = 1/161 * hmclk frequency
  21623. * 0b10100001..mclk frequency = 1/162 * hmclk frequency
  21624. * 0b10100010..mclk frequency = 1/163 * hmclk frequency
  21625. * 0b10100011..mclk frequency = 1/164 * hmclk frequency
  21626. * 0b10100100..mclk frequency = 1/165 * hmclk frequency
  21627. * 0b10100101..mclk frequency = 1/166 * hmclk frequency
  21628. * 0b10100110..mclk frequency = 1/167 * hmclk frequency
  21629. * 0b10100111..mclk frequency = 1/168 * hmclk frequency
  21630. * 0b10101000..mclk frequency = 1/169 * hmclk frequency
  21631. * 0b10101001..mclk frequency = 1/170 * hmclk frequency
  21632. * 0b10101010..mclk frequency = 1/171 * hmclk frequency
  21633. * 0b10101011..mclk frequency = 1/172 * hmclk frequency
  21634. * 0b10101100..mclk frequency = 1/173 * hmclk frequency
  21635. * 0b10101101..mclk frequency = 1/174 * hmclk frequency
  21636. * 0b10101110..mclk frequency = 1/175 * hmclk frequency
  21637. * 0b10101111..mclk frequency = 1/176 * hmclk frequency
  21638. * 0b10110000..mclk frequency = 1/177 * hmclk frequency
  21639. * 0b10110001..mclk frequency = 1/178 * hmclk frequency
  21640. * 0b10110010..mclk frequency = 1/179 * hmclk frequency
  21641. * 0b10110011..mclk frequency = 1/180 * hmclk frequency
  21642. * 0b10110100..mclk frequency = 1/181 * hmclk frequency
  21643. * 0b10110101..mclk frequency = 1/182 * hmclk frequency
  21644. * 0b10110110..mclk frequency = 1/183 * hmclk frequency
  21645. * 0b10110111..mclk frequency = 1/184 * hmclk frequency
  21646. * 0b10111000..mclk frequency = 1/185 * hmclk frequency
  21647. * 0b10111001..mclk frequency = 1/186 * hmclk frequency
  21648. * 0b10111010..mclk frequency = 1/187 * hmclk frequency
  21649. * 0b10111011..mclk frequency = 1/188 * hmclk frequency
  21650. * 0b10111100..mclk frequency = 1/189 * hmclk frequency
  21651. * 0b10111101..mclk frequency = 1/190 * hmclk frequency
  21652. * 0b10111110..mclk frequency = 1/191 * hmclk frequency
  21653. * 0b10111111..mclk frequency = 1/192 * hmclk frequency
  21654. * 0b11000000..mclk frequency = 1/193 * hmclk frequency
  21655. * 0b11000001..mclk frequency = 1/194 * hmclk frequency
  21656. * 0b11000010..mclk frequency = 1/195 * hmclk frequency
  21657. * 0b11000011..mclk frequency = 1/196 * hmclk frequency
  21658. * 0b11000100..mclk frequency = 1/197 * hmclk frequency
  21659. * 0b11000101..mclk frequency = 1/198 * hmclk frequency
  21660. * 0b11000110..mclk frequency = 1/199 * hmclk frequency
  21661. * 0b11000111..mclk frequency = 1/200 * hmclk frequency
  21662. * 0b11001000..mclk frequency = 1/201 * hmclk frequency
  21663. * 0b11001001..mclk frequency = 1/202 * hmclk frequency
  21664. * 0b11001010..mclk frequency = 1/203 * hmclk frequency
  21665. * 0b11001011..mclk frequency = 1/204 * hmclk frequency
  21666. * 0b11001100..mclk frequency = 1/205 * hmclk frequency
  21667. * 0b11001101..mclk frequency = 1/206 * hmclk frequency
  21668. * 0b11001110..mclk frequency = 1/207 * hmclk frequency
  21669. * 0b11001111..mclk frequency = 1/208 * hmclk frequency
  21670. * 0b11010000..mclk frequency = 1/209 * hmclk frequency
  21671. * 0b11010001..mclk frequency = 1/210 * hmclk frequency
  21672. * 0b11010010..mclk frequency = 1/211 * hmclk frequency
  21673. * 0b11010011..mclk frequency = 1/212 * hmclk frequency
  21674. * 0b11010100..mclk frequency = 1/213 * hmclk frequency
  21675. * 0b11010101..mclk frequency = 1/214 * hmclk frequency
  21676. * 0b11010110..mclk frequency = 1/215 * hmclk frequency
  21677. * 0b11010111..mclk frequency = 1/216 * hmclk frequency
  21678. * 0b11011000..mclk frequency = 1/217 * hmclk frequency
  21679. * 0b11011001..mclk frequency = 1/218 * hmclk frequency
  21680. * 0b11011010..mclk frequency = 1/219 * hmclk frequency
  21681. * 0b11011011..mclk frequency = 1/220 * hmclk frequency
  21682. * 0b11011100..mclk frequency = 1/221 * hmclk frequency
  21683. * 0b11011101..mclk frequency = 1/222 * hmclk frequency
  21684. * 0b11011110..mclk frequency = 1/223 * hmclk frequency
  21685. * 0b11011111..mclk frequency = 1/224 * hmclk frequency
  21686. * 0b11100000..mclk frequency = 1/225 * hmclk frequency
  21687. * 0b11100001..mclk frequency = 1/226 * hmclk frequency
  21688. * 0b11100010..mclk frequency = 1/227 * hmclk frequency
  21689. * 0b11100011..mclk frequency = 1/228 * hmclk frequency
  21690. * 0b11100100..mclk frequency = 1/229 * hmclk frequency
  21691. * 0b11100101..mclk frequency = 1/230 * hmclk frequency
  21692. * 0b11100110..mclk frequency = 1/231 * hmclk frequency
  21693. * 0b11100111..mclk frequency = 1/232 * hmclk frequency
  21694. * 0b11101000..mclk frequency = 1/233 * hmclk frequency
  21695. * 0b11101001..mclk frequency = 1/234 * hmclk frequency
  21696. * 0b11101010..mclk frequency = 1/235 * hmclk frequency
  21697. * 0b11101011..mclk frequency = 1/236 * hmclk frequency
  21698. * 0b11101100..mclk frequency = 1/237 * hmclk frequency
  21699. * 0b11101101..mclk frequency = 1/238 * hmclk frequency
  21700. * 0b11101110..mclk frequency = 1/239 * hmclk frequency
  21701. * 0b11101111..mclk frequency = 1/240 * hmclk frequency
  21702. * 0b11110000..mclk frequency = 1/241 * hmclk frequency
  21703. * 0b11110001..mclk frequency = 1/242 * hmclk frequency
  21704. * 0b11110010..mclk frequency = 1/243 * hmclk frequency
  21705. * 0b11110011..mclk frequency = 1/244 * hmclk frequency
  21706. * 0b11110100..mclk frequency = 1/245 * hmclk frequency
  21707. * 0b11110101..mclk frequency = 1/246 * hmclk frequency
  21708. * 0b11110110..mclk frequency = 1/247 * hmclk frequency
  21709. * 0b11110111..mclk frequency = 1/248 * hmclk frequency
  21710. * 0b11111000..mclk frequency = 1/249 * hmclk frequency
  21711. * 0b11111001..mclk frequency = 1/250 * hmclk frequency
  21712. * 0b11111010..mclk frequency = 1/251 * hmclk frequency
  21713. * 0b11111011..mclk frequency = 1/252 * hmclk frequency
  21714. * 0b11111100..mclk frequency = 1/253 * hmclk frequency
  21715. * 0b11111101..mclk frequency = 1/254 * hmclk frequency
  21716. * 0b11111110..mclk frequency = 1/255 * hmclk frequency
  21717. * 0b11111111..mclk frequency = 1/256 * hmclk frequency
  21718. */
  21719. #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)
  21720. #define IOMUXC_GPR_GPR2_MQS_SW_RST_MASK (0x1000000U)
  21721. #define IOMUXC_GPR_GPR2_MQS_SW_RST_SHIFT (24U)
  21722. /*! MQS_SW_RST
  21723. * 0b0..Exit software reset for MQS
  21724. * 0b1..Enable software reset for MQS
  21725. */
  21726. #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)
  21727. #define IOMUXC_GPR_GPR2_MQS_EN_MASK (0x2000000U)
  21728. #define IOMUXC_GPR_GPR2_MQS_EN_SHIFT (25U)
  21729. /*! MQS_EN
  21730. * 0b0..Disable MQS
  21731. * 0b1..Enable MQS
  21732. */
  21733. #define IOMUXC_GPR_GPR2_MQS_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_MQS_EN_SHIFT)) & IOMUXC_GPR_GPR2_MQS_EN_MASK)
  21734. #define IOMUXC_GPR_GPR2_MQS_OVERSAMPLE_MASK (0x4000000U)
  21735. #define IOMUXC_GPR_GPR2_MQS_OVERSAMPLE_SHIFT (26U)
  21736. /*! MQS_OVERSAMPLE
  21737. * 0b0..32
  21738. * 0b1..64
  21739. */
  21740. #define IOMUXC_GPR_GPR2_MQS_OVERSAMPLE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_MQS_OVERSAMPLE_SHIFT)) & IOMUXC_GPR_GPR2_MQS_OVERSAMPLE_MASK)
  21741. #define IOMUXC_GPR_GPR2_QTIMER1_TMR_CNTS_FREEZE_MASK (0x10000000U)
  21742. #define IOMUXC_GPR_GPR2_QTIMER1_TMR_CNTS_FREEZE_SHIFT (28U)
  21743. /*! QTIMER1_TMR_CNTS_FREEZE
  21744. * 0b0..timer counter work normally
  21745. * 0b1..reset counter and ouput flags
  21746. */
  21747. #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)
  21748. #define IOMUXC_GPR_GPR2_QTIMER2_TMR_CNTS_FREEZE_MASK (0x20000000U)
  21749. #define IOMUXC_GPR_GPR2_QTIMER2_TMR_CNTS_FREEZE_SHIFT (29U)
  21750. /*! QTIMER2_TMR_CNTS_FREEZE
  21751. * 0b0..timer counter work normally
  21752. * 0b1..reset counter and ouput flags
  21753. */
  21754. #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)
  21755. #define IOMUXC_GPR_GPR2_QTIMER3_TMR_CNTS_FREEZE_MASK (0x40000000U)
  21756. #define IOMUXC_GPR_GPR2_QTIMER3_TMR_CNTS_FREEZE_SHIFT (30U)
  21757. /*! QTIMER3_TMR_CNTS_FREEZE
  21758. * 0b0..timer counter work normally
  21759. * 0b1..reset counter and ouput flags
  21760. */
  21761. #define IOMUXC_GPR_GPR2_QTIMER3_TMR_CNTS_FREEZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_QTIMER3_TMR_CNTS_FREEZE_SHIFT)) & IOMUXC_GPR_GPR2_QTIMER3_TMR_CNTS_FREEZE_MASK)
  21762. #define IOMUXC_GPR_GPR2_QTIMER4_TMR_CNTS_FREEZE_MASK (0x80000000U)
  21763. #define IOMUXC_GPR_GPR2_QTIMER4_TMR_CNTS_FREEZE_SHIFT (31U)
  21764. /*! QTIMER4_TMR_CNTS_FREEZE
  21765. * 0b0..timer counter work normally
  21766. * 0b1..reset counter and ouput flags
  21767. */
  21768. #define IOMUXC_GPR_GPR2_QTIMER4_TMR_CNTS_FREEZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_QTIMER4_TMR_CNTS_FREEZE_SHIFT)) & IOMUXC_GPR_GPR2_QTIMER4_TMR_CNTS_FREEZE_MASK)
  21769. /*! @} */
  21770. /*! @name GPR3 - GPR3 General Purpose Register */
  21771. /*! @{ */
  21772. #define IOMUXC_GPR_GPR3_OCRAM_CTL_MASK (0xFU)
  21773. #define IOMUXC_GPR_GPR3_OCRAM_CTL_SHIFT (0U)
  21774. #define IOMUXC_GPR_GPR3_OCRAM_CTL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR3_OCRAM_CTL_SHIFT)) & IOMUXC_GPR_GPR3_OCRAM_CTL_MASK)
  21775. #define IOMUXC_GPR_GPR3_DCP_KEY_SEL_MASK (0x10U)
  21776. #define IOMUXC_GPR_GPR3_DCP_KEY_SEL_SHIFT (4U)
  21777. /*! DCP_KEY_SEL
  21778. * 0b0..Select [127:0] from snvs/ocotp key as dcp key
  21779. * 0b1..Select [255:128] from snvs/ocotp key as dcp key
  21780. */
  21781. #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)
  21782. #define IOMUXC_GPR_GPR3_OCRAM2_CTL_MASK (0xF00U)
  21783. #define IOMUXC_GPR_GPR3_OCRAM2_CTL_SHIFT (8U)
  21784. #define IOMUXC_GPR_GPR3_OCRAM2_CTL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR3_OCRAM2_CTL_SHIFT)) & IOMUXC_GPR_GPR3_OCRAM2_CTL_MASK)
  21785. #define IOMUXC_GPR_GPR3_AXBS_L_HALT_REQ_MASK (0x8000U)
  21786. #define IOMUXC_GPR_GPR3_AXBS_L_HALT_REQ_SHIFT (15U)
  21787. /*! AXBS_L_HALT_REQ
  21788. * 0b0..axbs_l normal run
  21789. * 0b1..request to halt axbs_l
  21790. */
  21791. #define IOMUXC_GPR_GPR3_AXBS_L_HALT_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR3_AXBS_L_HALT_REQ_SHIFT)) & IOMUXC_GPR_GPR3_AXBS_L_HALT_REQ_MASK)
  21792. #define IOMUXC_GPR_GPR3_OCRAM_STATUS_MASK (0xF0000U)
  21793. #define IOMUXC_GPR_GPR3_OCRAM_STATUS_SHIFT (16U)
  21794. #define IOMUXC_GPR_GPR3_OCRAM_STATUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR3_OCRAM_STATUS_SHIFT)) & IOMUXC_GPR_GPR3_OCRAM_STATUS_MASK)
  21795. #define IOMUXC_GPR_GPR3_OCRAM2_STATUS_MASK (0xF000000U)
  21796. #define IOMUXC_GPR_GPR3_OCRAM2_STATUS_SHIFT (24U)
  21797. #define IOMUXC_GPR_GPR3_OCRAM2_STATUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR3_OCRAM2_STATUS_SHIFT)) & IOMUXC_GPR_GPR3_OCRAM2_STATUS_MASK)
  21798. #define IOMUXC_GPR_GPR3_AXBS_L_HALTED_MASK (0x80000000U)
  21799. #define IOMUXC_GPR_GPR3_AXBS_L_HALTED_SHIFT (31U)
  21800. /*! AXBS_L_HALTED
  21801. * 0b0..axbs_l is not halted
  21802. * 0b1..axbs_l is in halted status
  21803. */
  21804. #define IOMUXC_GPR_GPR3_AXBS_L_HALTED(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR3_AXBS_L_HALTED_SHIFT)) & IOMUXC_GPR_GPR3_AXBS_L_HALTED_MASK)
  21805. /*! @} */
  21806. /*! @name GPR4 - GPR4 General Purpose Register */
  21807. /*! @{ */
  21808. #define IOMUXC_GPR_GPR4_EDMA_STOP_REQ_MASK (0x1U)
  21809. #define IOMUXC_GPR_GPR4_EDMA_STOP_REQ_SHIFT (0U)
  21810. /*! EDMA_STOP_REQ
  21811. * 0b0..stop request off
  21812. * 0b1..stop request on
  21813. */
  21814. #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)
  21815. #define IOMUXC_GPR_GPR4_CAN1_STOP_REQ_MASK (0x2U)
  21816. #define IOMUXC_GPR_GPR4_CAN1_STOP_REQ_SHIFT (1U)
  21817. /*! CAN1_STOP_REQ
  21818. * 0b0..stop request off
  21819. * 0b1..stop request on
  21820. */
  21821. #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)
  21822. #define IOMUXC_GPR_GPR4_CAN2_STOP_REQ_MASK (0x4U)
  21823. #define IOMUXC_GPR_GPR4_CAN2_STOP_REQ_SHIFT (2U)
  21824. /*! CAN2_STOP_REQ
  21825. * 0b0..stop request off
  21826. * 0b1..stop request on
  21827. */
  21828. #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)
  21829. #define IOMUXC_GPR_GPR4_TRNG_STOP_REQ_MASK (0x8U)
  21830. #define IOMUXC_GPR_GPR4_TRNG_STOP_REQ_SHIFT (3U)
  21831. /*! TRNG_STOP_REQ
  21832. * 0b0..stop request off
  21833. * 0b1..stop request on
  21834. */
  21835. #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)
  21836. #define IOMUXC_GPR_GPR4_ENET_STOP_REQ_MASK (0x10U)
  21837. #define IOMUXC_GPR_GPR4_ENET_STOP_REQ_SHIFT (4U)
  21838. /*! ENET_STOP_REQ
  21839. * 0b0..stop request off
  21840. * 0b1..stop request on
  21841. */
  21842. #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)
  21843. #define IOMUXC_GPR_GPR4_SAI1_STOP_REQ_MASK (0x20U)
  21844. #define IOMUXC_GPR_GPR4_SAI1_STOP_REQ_SHIFT (5U)
  21845. /*! SAI1_STOP_REQ
  21846. * 0b0..stop request off
  21847. * 0b1..stop request on
  21848. */
  21849. #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)
  21850. #define IOMUXC_GPR_GPR4_SAI2_STOP_REQ_MASK (0x40U)
  21851. #define IOMUXC_GPR_GPR4_SAI2_STOP_REQ_SHIFT (6U)
  21852. /*! SAI2_STOP_REQ
  21853. * 0b0..stop request off
  21854. * 0b1..stop request on
  21855. */
  21856. #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)
  21857. #define IOMUXC_GPR_GPR4_SAI3_STOP_REQ_MASK (0x80U)
  21858. #define IOMUXC_GPR_GPR4_SAI3_STOP_REQ_SHIFT (7U)
  21859. /*! SAI3_STOP_REQ
  21860. * 0b0..stop request off
  21861. * 0b1..stop request on
  21862. */
  21863. #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)
  21864. #define IOMUXC_GPR_GPR4_ENET2_STOP_REQ_MASK (0x100U)
  21865. #define IOMUXC_GPR_GPR4_ENET2_STOP_REQ_SHIFT (8U)
  21866. /*! ENET2_STOP_REQ
  21867. * 0b0..stop request off
  21868. * 0b1..stop request on
  21869. */
  21870. #define IOMUXC_GPR_GPR4_ENET2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_ENET2_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR4_ENET2_STOP_REQ_MASK)
  21871. #define IOMUXC_GPR_GPR4_SEMC_STOP_REQ_MASK (0x200U)
  21872. #define IOMUXC_GPR_GPR4_SEMC_STOP_REQ_SHIFT (9U)
  21873. /*! SEMC_STOP_REQ
  21874. * 0b0..stop request off
  21875. * 0b1..stop request on
  21876. */
  21877. #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)
  21878. #define IOMUXC_GPR_GPR4_PIT_STOP_REQ_MASK (0x400U)
  21879. #define IOMUXC_GPR_GPR4_PIT_STOP_REQ_SHIFT (10U)
  21880. /*! PIT_STOP_REQ
  21881. * 0b0..stop request off
  21882. * 0b1..stop request on
  21883. */
  21884. #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)
  21885. #define IOMUXC_GPR_GPR4_FLEXSPI_STOP_REQ_MASK (0x800U)
  21886. #define IOMUXC_GPR_GPR4_FLEXSPI_STOP_REQ_SHIFT (11U)
  21887. /*! FLEXSPI_STOP_REQ
  21888. * 0b0..stop request off
  21889. * 0b1..stop request on
  21890. */
  21891. #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)
  21892. #define IOMUXC_GPR_GPR4_FLEXIO1_STOP_REQ_MASK (0x1000U)
  21893. #define IOMUXC_GPR_GPR4_FLEXIO1_STOP_REQ_SHIFT (12U)
  21894. /*! FLEXIO1_STOP_REQ
  21895. * 0b0..stop request off
  21896. * 0b1..stop request on
  21897. */
  21898. #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)
  21899. #define IOMUXC_GPR_GPR4_FLEXIO2_STOP_REQ_MASK (0x2000U)
  21900. #define IOMUXC_GPR_GPR4_FLEXIO2_STOP_REQ_SHIFT (13U)
  21901. /*! FLEXIO2_STOP_REQ
  21902. * 0b0..stop request off
  21903. * 0b1..stop request on
  21904. */
  21905. #define IOMUXC_GPR_GPR4_FLEXIO2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_FLEXIO2_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR4_FLEXIO2_STOP_REQ_MASK)
  21906. #define IOMUXC_GPR_GPR4_FLEXIO3_STOP_REQ_MASK (0x4000U)
  21907. #define IOMUXC_GPR_GPR4_FLEXIO3_STOP_REQ_SHIFT (14U)
  21908. /*! FLEXIO3_STOP_REQ
  21909. * 0b0..stop request off
  21910. * 0b1..stop request on
  21911. */
  21912. #define IOMUXC_GPR_GPR4_FLEXIO3_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_FLEXIO3_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR4_FLEXIO3_STOP_REQ_MASK)
  21913. #define IOMUXC_GPR_GPR4_FLEXSPI2_STOP_REQ_MASK (0x8000U)
  21914. #define IOMUXC_GPR_GPR4_FLEXSPI2_STOP_REQ_SHIFT (15U)
  21915. /*! FLEXSPI2_STOP_REQ
  21916. * 0b0..stop request off
  21917. * 0b1..stop request on
  21918. */
  21919. #define IOMUXC_GPR_GPR4_FLEXSPI2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_FLEXSPI2_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR4_FLEXSPI2_STOP_REQ_MASK)
  21920. #define IOMUXC_GPR_GPR4_EDMA_STOP_ACK_MASK (0x10000U)
  21921. #define IOMUXC_GPR_GPR4_EDMA_STOP_ACK_SHIFT (16U)
  21922. /*! EDMA_STOP_ACK
  21923. * 0b0..EDMA stop acknowledge is not asserted
  21924. * 0b1..EDMA stop acknowledge is asserted (EDMA is in STOP mode).
  21925. */
  21926. #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)
  21927. #define IOMUXC_GPR_GPR4_CAN1_STOP_ACK_MASK (0x20000U)
  21928. #define IOMUXC_GPR_GPR4_CAN1_STOP_ACK_SHIFT (17U)
  21929. /*! CAN1_STOP_ACK
  21930. * 0b0..CAN1 stop acknowledge is not asserted
  21931. * 0b1..CAN1 stop acknowledge is asserted
  21932. */
  21933. #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)
  21934. #define IOMUXC_GPR_GPR4_CAN2_STOP_ACK_MASK (0x40000U)
  21935. #define IOMUXC_GPR_GPR4_CAN2_STOP_ACK_SHIFT (18U)
  21936. /*! CAN2_STOP_ACK
  21937. * 0b0..CAN2 stop acknowledge is not asserted
  21938. * 0b1..CAN2 stop acknowledge is asserted
  21939. */
  21940. #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)
  21941. #define IOMUXC_GPR_GPR4_TRNG_STOP_ACK_MASK (0x80000U)
  21942. #define IOMUXC_GPR_GPR4_TRNG_STOP_ACK_SHIFT (19U)
  21943. /*! TRNG_STOP_ACK
  21944. * 0b0..TRNG stop acknowledge is not asserted
  21945. * 0b1..TRNG stop acknowledge is asserted
  21946. */
  21947. #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)
  21948. #define IOMUXC_GPR_GPR4_ENET_STOP_ACK_MASK (0x100000U)
  21949. #define IOMUXC_GPR_GPR4_ENET_STOP_ACK_SHIFT (20U)
  21950. /*! ENET_STOP_ACK
  21951. * 0b0..ENET1 stop acknowledge is not asserted
  21952. * 0b1..ENET1 stop acknowledge is asserted
  21953. */
  21954. #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)
  21955. #define IOMUXC_GPR_GPR4_SAI1_STOP_ACK_MASK (0x200000U)
  21956. #define IOMUXC_GPR_GPR4_SAI1_STOP_ACK_SHIFT (21U)
  21957. /*! SAI1_STOP_ACK
  21958. * 0b0..SAI1 stop acknowledge is not asserted
  21959. * 0b1..SAI1 stop acknowledge is asserted
  21960. */
  21961. #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)
  21962. #define IOMUXC_GPR_GPR4_SAI2_STOP_ACK_MASK (0x400000U)
  21963. #define IOMUXC_GPR_GPR4_SAI2_STOP_ACK_SHIFT (22U)
  21964. /*! SAI2_STOP_ACK
  21965. * 0b0..SAI2 stop acknowledge is not asserted
  21966. * 0b1..SAI2 stop acknowledge is asserted
  21967. */
  21968. #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)
  21969. #define IOMUXC_GPR_GPR4_SAI3_STOP_ACK_MASK (0x800000U)
  21970. #define IOMUXC_GPR_GPR4_SAI3_STOP_ACK_SHIFT (23U)
  21971. /*! SAI3_STOP_ACK
  21972. * 0b0..SAI3 stop acknowledge is not asserted
  21973. * 0b1..SAI3 stop acknowledge is asserted
  21974. */
  21975. #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)
  21976. #define IOMUXC_GPR_GPR4_ENET2_STOP_ACK_MASK (0x1000000U)
  21977. #define IOMUXC_GPR_GPR4_ENET2_STOP_ACK_SHIFT (24U)
  21978. /*! ENET2_STOP_ACK
  21979. * 0b0..ENET2 stop acknowledge is not asserted
  21980. * 0b1..ENET2 stop acknowledge is asserted
  21981. */
  21982. #define IOMUXC_GPR_GPR4_ENET2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_ENET2_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR4_ENET2_STOP_ACK_MASK)
  21983. #define IOMUXC_GPR_GPR4_SEMC_STOP_ACK_MASK (0x2000000U)
  21984. #define IOMUXC_GPR_GPR4_SEMC_STOP_ACK_SHIFT (25U)
  21985. /*! SEMC_STOP_ACK
  21986. * 0b0..SEMC stop acknowledge is not asserted
  21987. * 0b1..SEMC stop acknowledge is asserted
  21988. */
  21989. #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)
  21990. #define IOMUXC_GPR_GPR4_PIT_STOP_ACK_MASK (0x4000000U)
  21991. #define IOMUXC_GPR_GPR4_PIT_STOP_ACK_SHIFT (26U)
  21992. /*! PIT_STOP_ACK
  21993. * 0b0..PIT stop acknowledge is not asserted
  21994. * 0b1..PIT stop acknowledge is asserted
  21995. */
  21996. #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)
  21997. #define IOMUXC_GPR_GPR4_FLEXSPI_STOP_ACK_MASK (0x8000000U)
  21998. #define IOMUXC_GPR_GPR4_FLEXSPI_STOP_ACK_SHIFT (27U)
  21999. /*! FLEXSPI_STOP_ACK
  22000. * 0b0..FLEXSPI stop acknowledge is not asserted
  22001. * 0b1..FLEXSPI stop acknowledge is asserted
  22002. */
  22003. #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)
  22004. #define IOMUXC_GPR_GPR4_FLEXIO1_STOP_ACK_MASK (0x10000000U)
  22005. #define IOMUXC_GPR_GPR4_FLEXIO1_STOP_ACK_SHIFT (28U)
  22006. /*! FLEXIO1_STOP_ACK
  22007. * 0b0..FLEXIO1 stop acknowledge is not asserted
  22008. * 0b1..FLEXIO1 stop acknowledge is asserted
  22009. */
  22010. #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)
  22011. #define IOMUXC_GPR_GPR4_FLEXIO2_STOP_ACK_MASK (0x20000000U)
  22012. #define IOMUXC_GPR_GPR4_FLEXIO2_STOP_ACK_SHIFT (29U)
  22013. /*! FLEXIO2_STOP_ACK
  22014. * 0b0..FLEXIO2 stop acknowledge is not asserted
  22015. * 0b1..FLEXIO2 stop acknowledge is asserted (FLEXIO2 is in STOP mode)
  22016. */
  22017. #define IOMUXC_GPR_GPR4_FLEXIO2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_FLEXIO2_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR4_FLEXIO2_STOP_ACK_MASK)
  22018. #define IOMUXC_GPR_GPR4_FLEXIO3_STOP_ACK_MASK (0x40000000U)
  22019. #define IOMUXC_GPR_GPR4_FLEXIO3_STOP_ACK_SHIFT (30U)
  22020. /*! FLEXIO3_STOP_ACK
  22021. * 0b0..FLEXIO3 stop acknowledge is not asserted
  22022. * 0b1..FLEXIO3 stop acknowledge is asserted
  22023. */
  22024. #define IOMUXC_GPR_GPR4_FLEXIO3_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_FLEXIO3_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR4_FLEXIO3_STOP_ACK_MASK)
  22025. #define IOMUXC_GPR_GPR4_FLEXSPI2_STOP_ACK_MASK (0x80000000U)
  22026. #define IOMUXC_GPR_GPR4_FLEXSPI2_STOP_ACK_SHIFT (31U)
  22027. /*! FLEXSPI2_STOP_ACK
  22028. * 0b0..FLEXSPI2 stop acknowledge is not asserted
  22029. * 0b1..FLEXSPI2 stop acknowledge is asserted
  22030. */
  22031. #define IOMUXC_GPR_GPR4_FLEXSPI2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_FLEXSPI2_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR4_FLEXSPI2_STOP_ACK_MASK)
  22032. /*! @} */
  22033. /*! @name GPR5 - GPR5 General Purpose Register */
  22034. /*! @{ */
  22035. #define IOMUXC_GPR_GPR5_WDOG1_MASK_MASK (0x40U)
  22036. #define IOMUXC_GPR_GPR5_WDOG1_MASK_SHIFT (6U)
  22037. /*! WDOG1_MASK
  22038. * 0b0..WDOG1 Timeout behaves normally
  22039. * 0b1..WDOG1 Timeout is masked
  22040. */
  22041. #define IOMUXC_GPR_GPR5_WDOG1_MASK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR5_WDOG1_MASK_SHIFT)) & IOMUXC_GPR_GPR5_WDOG1_MASK_MASK)
  22042. #define IOMUXC_GPR_GPR5_WDOG2_MASK_MASK (0x80U)
  22043. #define IOMUXC_GPR_GPR5_WDOG2_MASK_SHIFT (7U)
  22044. /*! WDOG2_MASK
  22045. * 0b0..WDOG2 Timeout behaves normally
  22046. * 0b1..WDOG2 Timeout is masked
  22047. */
  22048. #define IOMUXC_GPR_GPR5_WDOG2_MASK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR5_WDOG2_MASK_SHIFT)) & IOMUXC_GPR_GPR5_WDOG2_MASK_MASK)
  22049. #define IOMUXC_GPR_GPR5_GPT2_CAPIN1_SEL_MASK (0x800000U)
  22050. #define IOMUXC_GPR_GPR5_GPT2_CAPIN1_SEL_SHIFT (23U)
  22051. /*! GPT2_CAPIN1_SEL
  22052. * 0b0..source from GPT2_CAPTURE1
  22053. * 0b1..source from ENET_1588_EVENT3_OUT (chnnal 3 of IEEE 1588 timer)
  22054. */
  22055. #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)
  22056. #define IOMUXC_GPR_GPR5_GPT2_CAPIN2_SEL_MASK (0x1000000U)
  22057. #define IOMUXC_GPR_GPR5_GPT2_CAPIN2_SEL_SHIFT (24U)
  22058. /*! GPT2_CAPIN2_SEL
  22059. * 0b0..source from GPT2_CAPTURE2
  22060. * 0b1..source from ENET2_1588_EVENT3_OUT (chnnal 3 of IEEE 1588 timer)
  22061. */
  22062. #define IOMUXC_GPR_GPR5_GPT2_CAPIN2_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR5_GPT2_CAPIN2_SEL_SHIFT)) & IOMUXC_GPR_GPR5_GPT2_CAPIN2_SEL_MASK)
  22063. #define IOMUXC_GPR_GPR5_ENET_EVENT3IN_SEL_MASK (0x2000000U)
  22064. #define IOMUXC_GPR_GPR5_ENET_EVENT3IN_SEL_SHIFT (25U)
  22065. /*! ENET_EVENT3IN_SEL
  22066. * 0b0..event3 source input from ENET_1588_EVENT3_IN
  22067. * 0b1..event3 source input from GPT2.GPT_COMPARE1
  22068. */
  22069. #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)
  22070. #define IOMUXC_GPR_GPR5_ENET2_EVENT3IN_SEL_MASK (0x4000000U)
  22071. #define IOMUXC_GPR_GPR5_ENET2_EVENT3IN_SEL_SHIFT (26U)
  22072. /*! ENET2_EVENT3IN_SEL
  22073. * 0b0..event3 source input from ENET2_1588_EVENT3_IN
  22074. * 0b1..event3 source input from GPT2.GPT_COMPARE2
  22075. */
  22076. #define IOMUXC_GPR_GPR5_ENET2_EVENT3IN_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR5_ENET2_EVENT3IN_SEL_SHIFT)) & IOMUXC_GPR_GPR5_ENET2_EVENT3IN_SEL_MASK)
  22077. #define IOMUXC_GPR_GPR5_VREF_1M_CLK_GPT1_MASK (0x10000000U)
  22078. #define IOMUXC_GPR_GPR5_VREF_1M_CLK_GPT1_SHIFT (28U)
  22079. /*! VREF_1M_CLK_GPT1
  22080. * 0b0..GPT1 ipg_clk_highfreq driven by IPG_PERCLK
  22081. * 0b1..GPT1 ipg_clk_highfreq driven by anatop 1 MHz clock
  22082. */
  22083. #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)
  22084. #define IOMUXC_GPR_GPR5_VREF_1M_CLK_GPT2_MASK (0x20000000U)
  22085. #define IOMUXC_GPR_GPR5_VREF_1M_CLK_GPT2_SHIFT (29U)
  22086. /*! VREF_1M_CLK_GPT2
  22087. * 0b0..GPT2 ipg_clk_highfreq driven by IPG_PERCLK
  22088. * 0b1..GPT2 ipg_clk_highfreq driven by anatop 1 MHz clock
  22089. */
  22090. #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)
  22091. /*! @} */
  22092. /*! @name GPR6 - GPR6 General Purpose Register */
  22093. /*! @{ */
  22094. #define IOMUXC_GPR_GPR6_QTIMER1_TRM0_INPUT_SEL_MASK (0x1U)
  22095. #define IOMUXC_GPR_GPR6_QTIMER1_TRM0_INPUT_SEL_SHIFT (0U)
  22096. /*! QTIMER1_TRM0_INPUT_SEL
  22097. * 0b0..input from IOMUX
  22098. * 0b1..input from XBAR
  22099. */
  22100. #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)
  22101. #define IOMUXC_GPR_GPR6_QTIMER1_TRM1_INPUT_SEL_MASK (0x2U)
  22102. #define IOMUXC_GPR_GPR6_QTIMER1_TRM1_INPUT_SEL_SHIFT (1U)
  22103. /*! QTIMER1_TRM1_INPUT_SEL
  22104. * 0b0..input from IOMUX
  22105. * 0b1..input from XBAR
  22106. */
  22107. #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)
  22108. #define IOMUXC_GPR_GPR6_QTIMER1_TRM2_INPUT_SEL_MASK (0x4U)
  22109. #define IOMUXC_GPR_GPR6_QTIMER1_TRM2_INPUT_SEL_SHIFT (2U)
  22110. /*! QTIMER1_TRM2_INPUT_SEL
  22111. * 0b0..input from IOMUX
  22112. * 0b1..input from XBAR
  22113. */
  22114. #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)
  22115. #define IOMUXC_GPR_GPR6_QTIMER1_TRM3_INPUT_SEL_MASK (0x8U)
  22116. #define IOMUXC_GPR_GPR6_QTIMER1_TRM3_INPUT_SEL_SHIFT (3U)
  22117. /*! QTIMER1_TRM3_INPUT_SEL
  22118. * 0b0..input from IOMUX
  22119. * 0b1..input from XBAR
  22120. */
  22121. #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)
  22122. #define IOMUXC_GPR_GPR6_QTIMER2_TRM0_INPUT_SEL_MASK (0x10U)
  22123. #define IOMUXC_GPR_GPR6_QTIMER2_TRM0_INPUT_SEL_SHIFT (4U)
  22124. /*! QTIMER2_TRM0_INPUT_SEL
  22125. * 0b0..input from IOMUX
  22126. * 0b1..input from XBAR
  22127. */
  22128. #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)
  22129. #define IOMUXC_GPR_GPR6_QTIMER2_TRM1_INPUT_SEL_MASK (0x20U)
  22130. #define IOMUXC_GPR_GPR6_QTIMER2_TRM1_INPUT_SEL_SHIFT (5U)
  22131. /*! QTIMER2_TRM1_INPUT_SEL
  22132. * 0b0..input from IOMUX
  22133. * 0b1..input from XBAR
  22134. */
  22135. #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)
  22136. #define IOMUXC_GPR_GPR6_QTIMER2_TRM2_INPUT_SEL_MASK (0x40U)
  22137. #define IOMUXC_GPR_GPR6_QTIMER2_TRM2_INPUT_SEL_SHIFT (6U)
  22138. /*! QTIMER2_TRM2_INPUT_SEL
  22139. * 0b0..input from IOMUX
  22140. * 0b1..input from XBAR
  22141. */
  22142. #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)
  22143. #define IOMUXC_GPR_GPR6_QTIMER2_TRM3_INPUT_SEL_MASK (0x80U)
  22144. #define IOMUXC_GPR_GPR6_QTIMER2_TRM3_INPUT_SEL_SHIFT (7U)
  22145. /*! QTIMER2_TRM3_INPUT_SEL
  22146. * 0b0..input from IOMUX
  22147. * 0b1..input from XBAR
  22148. */
  22149. #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)
  22150. #define IOMUXC_GPR_GPR6_QTIMER3_TRM0_INPUT_SEL_MASK (0x100U)
  22151. #define IOMUXC_GPR_GPR6_QTIMER3_TRM0_INPUT_SEL_SHIFT (8U)
  22152. /*! QTIMER3_TRM0_INPUT_SEL
  22153. * 0b0..input from IOMUX
  22154. * 0b1..input from XBAR
  22155. */
  22156. #define IOMUXC_GPR_GPR6_QTIMER3_TRM0_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_QTIMER3_TRM0_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR6_QTIMER3_TRM0_INPUT_SEL_MASK)
  22157. #define IOMUXC_GPR_GPR6_QTIMER3_TRM1_INPUT_SEL_MASK (0x200U)
  22158. #define IOMUXC_GPR_GPR6_QTIMER3_TRM1_INPUT_SEL_SHIFT (9U)
  22159. /*! QTIMER3_TRM1_INPUT_SEL
  22160. * 0b0..input from IOMUX
  22161. * 0b1..input from XBAR
  22162. */
  22163. #define IOMUXC_GPR_GPR6_QTIMER3_TRM1_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_QTIMER3_TRM1_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR6_QTIMER3_TRM1_INPUT_SEL_MASK)
  22164. #define IOMUXC_GPR_GPR6_QTIMER3_TRM2_INPUT_SEL_MASK (0x400U)
  22165. #define IOMUXC_GPR_GPR6_QTIMER3_TRM2_INPUT_SEL_SHIFT (10U)
  22166. /*! QTIMER3_TRM2_INPUT_SEL
  22167. * 0b0..input from IOMUX
  22168. * 0b1..input from XBAR
  22169. */
  22170. #define IOMUXC_GPR_GPR6_QTIMER3_TRM2_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_QTIMER3_TRM2_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR6_QTIMER3_TRM2_INPUT_SEL_MASK)
  22171. #define IOMUXC_GPR_GPR6_QTIMER3_TRM3_INPUT_SEL_MASK (0x800U)
  22172. #define IOMUXC_GPR_GPR6_QTIMER3_TRM3_INPUT_SEL_SHIFT (11U)
  22173. /*! QTIMER3_TRM3_INPUT_SEL
  22174. * 0b0..input from IOMUX
  22175. * 0b1..input from XBAR
  22176. */
  22177. #define IOMUXC_GPR_GPR6_QTIMER3_TRM3_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_QTIMER3_TRM3_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR6_QTIMER3_TRM3_INPUT_SEL_MASK)
  22178. #define IOMUXC_GPR_GPR6_QTIMER4_TRM0_INPUT_SEL_MASK (0x1000U)
  22179. #define IOMUXC_GPR_GPR6_QTIMER4_TRM0_INPUT_SEL_SHIFT (12U)
  22180. /*! QTIMER4_TRM0_INPUT_SEL
  22181. * 0b0..input from IOMUX
  22182. * 0b1..input from XBAR
  22183. */
  22184. #define IOMUXC_GPR_GPR6_QTIMER4_TRM0_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_QTIMER4_TRM0_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR6_QTIMER4_TRM0_INPUT_SEL_MASK)
  22185. #define IOMUXC_GPR_GPR6_QTIMER4_TRM1_INPUT_SEL_MASK (0x2000U)
  22186. #define IOMUXC_GPR_GPR6_QTIMER4_TRM1_INPUT_SEL_SHIFT (13U)
  22187. /*! QTIMER4_TRM1_INPUT_SEL
  22188. * 0b0..input from IOMUX
  22189. * 0b1..input from XBAR
  22190. */
  22191. #define IOMUXC_GPR_GPR6_QTIMER4_TRM1_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_QTIMER4_TRM1_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR6_QTIMER4_TRM1_INPUT_SEL_MASK)
  22192. #define IOMUXC_GPR_GPR6_QTIMER4_TRM2_INPUT_SEL_MASK (0x4000U)
  22193. #define IOMUXC_GPR_GPR6_QTIMER4_TRM2_INPUT_SEL_SHIFT (14U)
  22194. /*! QTIMER4_TRM2_INPUT_SEL
  22195. * 0b0..input from IOMUX
  22196. * 0b1..input from XBAR
  22197. */
  22198. #define IOMUXC_GPR_GPR6_QTIMER4_TRM2_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_QTIMER4_TRM2_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR6_QTIMER4_TRM2_INPUT_SEL_MASK)
  22199. #define IOMUXC_GPR_GPR6_QTIMER4_TRM3_INPUT_SEL_MASK (0x8000U)
  22200. #define IOMUXC_GPR_GPR6_QTIMER4_TRM3_INPUT_SEL_SHIFT (15U)
  22201. /*! QTIMER4_TRM3_INPUT_SEL
  22202. * 0b0..input from IOMUX
  22203. * 0b1..input from XBAR
  22204. */
  22205. #define IOMUXC_GPR_GPR6_QTIMER4_TRM3_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_QTIMER4_TRM3_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR6_QTIMER4_TRM3_INPUT_SEL_MASK)
  22206. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_4_MASK (0x10000U)
  22207. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_4_SHIFT (16U)
  22208. /*! IOMUXC_XBAR_DIR_SEL_4
  22209. * 0b0..XBAR_INOUT as input
  22210. * 0b1..XBAR_INOUT as output
  22211. */
  22212. #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)
  22213. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_5_MASK (0x20000U)
  22214. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_5_SHIFT (17U)
  22215. /*! IOMUXC_XBAR_DIR_SEL_5
  22216. * 0b0..XBAR_INOUT as input
  22217. * 0b1..XBAR_INOUT as output
  22218. */
  22219. #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)
  22220. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_6_MASK (0x40000U)
  22221. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_6_SHIFT (18U)
  22222. /*! IOMUXC_XBAR_DIR_SEL_6
  22223. * 0b0..XBAR_INOUT as input
  22224. * 0b1..XBAR_INOUT as output
  22225. */
  22226. #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)
  22227. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_7_MASK (0x80000U)
  22228. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_7_SHIFT (19U)
  22229. /*! IOMUXC_XBAR_DIR_SEL_7
  22230. * 0b0..XBAR_INOUT as input
  22231. * 0b1..XBAR_INOUT as output
  22232. */
  22233. #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)
  22234. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_8_MASK (0x100000U)
  22235. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_8_SHIFT (20U)
  22236. /*! IOMUXC_XBAR_DIR_SEL_8
  22237. * 0b0..XBAR_INOUT as input
  22238. * 0b1..XBAR_INOUT as output
  22239. */
  22240. #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)
  22241. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_9_MASK (0x200000U)
  22242. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_9_SHIFT (21U)
  22243. /*! IOMUXC_XBAR_DIR_SEL_9
  22244. * 0b0..XBAR_INOUT as input
  22245. * 0b1..XBAR_INOUT as output
  22246. */
  22247. #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)
  22248. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_10_MASK (0x400000U)
  22249. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_10_SHIFT (22U)
  22250. /*! IOMUXC_XBAR_DIR_SEL_10
  22251. * 0b0..XBAR_INOUT as input
  22252. * 0b1..XBAR_INOUT as output
  22253. */
  22254. #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)
  22255. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_11_MASK (0x800000U)
  22256. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_11_SHIFT (23U)
  22257. /*! IOMUXC_XBAR_DIR_SEL_11
  22258. * 0b0..XBAR_INOUT as input
  22259. * 0b1..XBAR_INOUT as output
  22260. */
  22261. #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)
  22262. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_12_MASK (0x1000000U)
  22263. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_12_SHIFT (24U)
  22264. /*! IOMUXC_XBAR_DIR_SEL_12
  22265. * 0b0..XBAR_INOUT as input
  22266. * 0b1..XBAR_INOUT as output
  22267. */
  22268. #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)
  22269. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_13_MASK (0x2000000U)
  22270. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_13_SHIFT (25U)
  22271. /*! IOMUXC_XBAR_DIR_SEL_13
  22272. * 0b0..XBAR_INOUT as input
  22273. * 0b1..XBAR_INOUT as output
  22274. */
  22275. #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)
  22276. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_14_MASK (0x4000000U)
  22277. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_14_SHIFT (26U)
  22278. /*! IOMUXC_XBAR_DIR_SEL_14
  22279. * 0b0..XBAR_INOUT as input
  22280. * 0b1..XBAR_INOUT as output
  22281. */
  22282. #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)
  22283. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_15_MASK (0x8000000U)
  22284. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_15_SHIFT (27U)
  22285. /*! IOMUXC_XBAR_DIR_SEL_15
  22286. * 0b0..XBAR_INOUT as input
  22287. * 0b1..XBAR_INOUT as output
  22288. */
  22289. #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)
  22290. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_16_MASK (0x10000000U)
  22291. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_16_SHIFT (28U)
  22292. /*! IOMUXC_XBAR_DIR_SEL_16
  22293. * 0b0..XBAR_INOUT as input
  22294. * 0b1..XBAR_INOUT as output
  22295. */
  22296. #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)
  22297. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_17_MASK (0x20000000U)
  22298. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_17_SHIFT (29U)
  22299. /*! IOMUXC_XBAR_DIR_SEL_17
  22300. * 0b0..XBAR_INOUT as input
  22301. * 0b1..XBAR_INOUT as output
  22302. */
  22303. #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)
  22304. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_18_MASK (0x40000000U)
  22305. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_18_SHIFT (30U)
  22306. /*! IOMUXC_XBAR_DIR_SEL_18
  22307. * 0b0..XBAR_INOUT as input
  22308. * 0b1..XBAR_INOUT as output
  22309. */
  22310. #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)
  22311. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_19_MASK (0x80000000U)
  22312. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_19_SHIFT (31U)
  22313. /*! IOMUXC_XBAR_DIR_SEL_19
  22314. * 0b0..XBAR_INOUT as input
  22315. * 0b1..XBAR_INOUT as output
  22316. */
  22317. #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)
  22318. /*! @} */
  22319. /*! @name GPR7 - GPR7 General Purpose Register */
  22320. /*! @{ */
  22321. #define IOMUXC_GPR_GPR7_LPI2C1_STOP_REQ_MASK (0x1U)
  22322. #define IOMUXC_GPR_GPR7_LPI2C1_STOP_REQ_SHIFT (0U)
  22323. /*! LPI2C1_STOP_REQ
  22324. * 0b0..stop request off
  22325. * 0b1..stop request on
  22326. */
  22327. #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)
  22328. #define IOMUXC_GPR_GPR7_LPI2C2_STOP_REQ_MASK (0x2U)
  22329. #define IOMUXC_GPR_GPR7_LPI2C2_STOP_REQ_SHIFT (1U)
  22330. /*! LPI2C2_STOP_REQ
  22331. * 0b0..stop request off
  22332. * 0b1..stop request on
  22333. */
  22334. #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)
  22335. #define IOMUXC_GPR_GPR7_LPI2C3_STOP_REQ_MASK (0x4U)
  22336. #define IOMUXC_GPR_GPR7_LPI2C3_STOP_REQ_SHIFT (2U)
  22337. /*! LPI2C3_STOP_REQ
  22338. * 0b0..stop request off
  22339. * 0b1..stop request on
  22340. */
  22341. #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)
  22342. #define IOMUXC_GPR_GPR7_LPI2C4_STOP_REQ_MASK (0x8U)
  22343. #define IOMUXC_GPR_GPR7_LPI2C4_STOP_REQ_SHIFT (3U)
  22344. /*! LPI2C4_STOP_REQ
  22345. * 0b0..stop request off
  22346. * 0b1..stop request on
  22347. */
  22348. #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)
  22349. #define IOMUXC_GPR_GPR7_LPSPI1_STOP_REQ_MASK (0x10U)
  22350. #define IOMUXC_GPR_GPR7_LPSPI1_STOP_REQ_SHIFT (4U)
  22351. /*! LPSPI1_STOP_REQ
  22352. * 0b0..stop request off
  22353. * 0b1..stop request on
  22354. */
  22355. #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)
  22356. #define IOMUXC_GPR_GPR7_LPSPI2_STOP_REQ_MASK (0x20U)
  22357. #define IOMUXC_GPR_GPR7_LPSPI2_STOP_REQ_SHIFT (5U)
  22358. /*! LPSPI2_STOP_REQ
  22359. * 0b0..stop request off
  22360. * 0b1..stop request on
  22361. */
  22362. #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)
  22363. #define IOMUXC_GPR_GPR7_LPSPI3_STOP_REQ_MASK (0x40U)
  22364. #define IOMUXC_GPR_GPR7_LPSPI3_STOP_REQ_SHIFT (6U)
  22365. /*! LPSPI3_STOP_REQ
  22366. * 0b0..stop request off
  22367. * 0b1..stop request on
  22368. */
  22369. #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)
  22370. #define IOMUXC_GPR_GPR7_LPSPI4_STOP_REQ_MASK (0x80U)
  22371. #define IOMUXC_GPR_GPR7_LPSPI4_STOP_REQ_SHIFT (7U)
  22372. /*! LPSPI4_STOP_REQ
  22373. * 0b0..stop request off
  22374. * 0b1..stop request on
  22375. */
  22376. #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)
  22377. #define IOMUXC_GPR_GPR7_LPUART1_STOP_REQ_MASK (0x100U)
  22378. #define IOMUXC_GPR_GPR7_LPUART1_STOP_REQ_SHIFT (8U)
  22379. /*! LPUART1_STOP_REQ
  22380. * 0b0..stop request off
  22381. * 0b1..stop request on
  22382. */
  22383. #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)
  22384. #define IOMUXC_GPR_GPR7_LPUART2_STOP_REQ_MASK (0x200U)
  22385. #define IOMUXC_GPR_GPR7_LPUART2_STOP_REQ_SHIFT (9U)
  22386. /*! LPUART2_STOP_REQ
  22387. * 0b0..stop request off
  22388. * 0b1..stop request on
  22389. */
  22390. #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)
  22391. #define IOMUXC_GPR_GPR7_LPUART3_STOP_REQ_MASK (0x400U)
  22392. #define IOMUXC_GPR_GPR7_LPUART3_STOP_REQ_SHIFT (10U)
  22393. /*! LPUART3_STOP_REQ
  22394. * 0b0..stop request off
  22395. * 0b1..stop request on
  22396. */
  22397. #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)
  22398. #define IOMUXC_GPR_GPR7_LPUART4_STOP_REQ_MASK (0x800U)
  22399. #define IOMUXC_GPR_GPR7_LPUART4_STOP_REQ_SHIFT (11U)
  22400. /*! LPUART4_STOP_REQ
  22401. * 0b0..stop request off
  22402. * 0b1..stop request on
  22403. */
  22404. #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)
  22405. #define IOMUXC_GPR_GPR7_LPUART5_STOP_REQ_MASK (0x1000U)
  22406. #define IOMUXC_GPR_GPR7_LPUART5_STOP_REQ_SHIFT (12U)
  22407. /*! LPUART5_STOP_REQ
  22408. * 0b0..stop request off
  22409. * 0b1..stop request on
  22410. */
  22411. #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)
  22412. #define IOMUXC_GPR_GPR7_LPUART6_STOP_REQ_MASK (0x2000U)
  22413. #define IOMUXC_GPR_GPR7_LPUART6_STOP_REQ_SHIFT (13U)
  22414. /*! LPUART6_STOP_REQ
  22415. * 0b0..stop request off
  22416. * 0b1..stop request on
  22417. */
  22418. #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)
  22419. #define IOMUXC_GPR_GPR7_LPUART7_STOP_REQ_MASK (0x4000U)
  22420. #define IOMUXC_GPR_GPR7_LPUART7_STOP_REQ_SHIFT (14U)
  22421. /*! LPUART7_STOP_REQ
  22422. * 0b0..stop request off
  22423. * 0b1..stop request on
  22424. */
  22425. #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)
  22426. #define IOMUXC_GPR_GPR7_LPUART8_STOP_REQ_MASK (0x8000U)
  22427. #define IOMUXC_GPR_GPR7_LPUART8_STOP_REQ_SHIFT (15U)
  22428. /*! LPUART8_STOP_REQ
  22429. * 0b0..stop request off
  22430. * 0b1..stop request on
  22431. */
  22432. #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)
  22433. #define IOMUXC_GPR_GPR7_LPI2C1_STOP_ACK_MASK (0x10000U)
  22434. #define IOMUXC_GPR_GPR7_LPI2C1_STOP_ACK_SHIFT (16U)
  22435. /*! LPI2C1_STOP_ACK
  22436. * 0b0..stop acknowledge is not asserted
  22437. * 0b1..stop acknowledge is asserted (the module is in Stop mode)
  22438. */
  22439. #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)
  22440. #define IOMUXC_GPR_GPR7_LPI2C2_STOP_ACK_MASK (0x20000U)
  22441. #define IOMUXC_GPR_GPR7_LPI2C2_STOP_ACK_SHIFT (17U)
  22442. /*! LPI2C2_STOP_ACK
  22443. * 0b0..stop acknowledge is not asserted
  22444. * 0b1..stop acknowledge is asserted
  22445. */
  22446. #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)
  22447. #define IOMUXC_GPR_GPR7_LPI2C3_STOP_ACK_MASK (0x40000U)
  22448. #define IOMUXC_GPR_GPR7_LPI2C3_STOP_ACK_SHIFT (18U)
  22449. /*! LPI2C3_STOP_ACK
  22450. * 0b0..stop acknowledge is not asserted
  22451. * 0b1..stop acknowledge is asserted
  22452. */
  22453. #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)
  22454. #define IOMUXC_GPR_GPR7_LPI2C4_STOP_ACK_MASK (0x80000U)
  22455. #define IOMUXC_GPR_GPR7_LPI2C4_STOP_ACK_SHIFT (19U)
  22456. /*! LPI2C4_STOP_ACK
  22457. * 0b0..stop acknowledge is not asserted
  22458. * 0b1..stop acknowledge is asserted
  22459. */
  22460. #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)
  22461. #define IOMUXC_GPR_GPR7_LPSPI1_STOP_ACK_MASK (0x100000U)
  22462. #define IOMUXC_GPR_GPR7_LPSPI1_STOP_ACK_SHIFT (20U)
  22463. /*! LPSPI1_STOP_ACK
  22464. * 0b0..stop acknowledge is not asserted
  22465. * 0b1..stop acknowledge is asserted
  22466. */
  22467. #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)
  22468. #define IOMUXC_GPR_GPR7_LPSPI2_STOP_ACK_MASK (0x200000U)
  22469. #define IOMUXC_GPR_GPR7_LPSPI2_STOP_ACK_SHIFT (21U)
  22470. /*! LPSPI2_STOP_ACK
  22471. * 0b0..stop acknowledge is not asserted
  22472. * 0b1..stop acknowledge is asserted
  22473. */
  22474. #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)
  22475. #define IOMUXC_GPR_GPR7_LPSPI3_STOP_ACK_MASK (0x400000U)
  22476. #define IOMUXC_GPR_GPR7_LPSPI3_STOP_ACK_SHIFT (22U)
  22477. /*! LPSPI3_STOP_ACK
  22478. * 0b0..stop acknowledge is not asserted
  22479. * 0b1..stop acknowledge is asserted
  22480. */
  22481. #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)
  22482. #define IOMUXC_GPR_GPR7_LPSPI4_STOP_ACK_MASK (0x800000U)
  22483. #define IOMUXC_GPR_GPR7_LPSPI4_STOP_ACK_SHIFT (23U)
  22484. /*! LPSPI4_STOP_ACK
  22485. * 0b0..stop acknowledge is not asserted
  22486. * 0b1..stop acknowledge is asserted
  22487. */
  22488. #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)
  22489. #define IOMUXC_GPR_GPR7_LPUART1_STOP_ACK_MASK (0x1000000U)
  22490. #define IOMUXC_GPR_GPR7_LPUART1_STOP_ACK_SHIFT (24U)
  22491. /*! LPUART1_STOP_ACK
  22492. * 0b0..stop acknowledge is not asserted
  22493. * 0b1..stop acknowledge is asserted
  22494. */
  22495. #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)
  22496. #define IOMUXC_GPR_GPR7_LPUART2_STOP_ACK_MASK (0x2000000U)
  22497. #define IOMUXC_GPR_GPR7_LPUART2_STOP_ACK_SHIFT (25U)
  22498. /*! LPUART2_STOP_ACK
  22499. * 0b0..stop acknowledge is not asserted
  22500. * 0b1..stop acknowledge is asserted
  22501. */
  22502. #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)
  22503. #define IOMUXC_GPR_GPR7_LPUART3_STOP_ACK_MASK (0x4000000U)
  22504. #define IOMUXC_GPR_GPR7_LPUART3_STOP_ACK_SHIFT (26U)
  22505. /*! LPUART3_STOP_ACK
  22506. * 0b0..stop acknowledge is not asserted
  22507. * 0b1..stop acknowledge is asserted
  22508. */
  22509. #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)
  22510. #define IOMUXC_GPR_GPR7_LPUART4_STOP_ACK_MASK (0x8000000U)
  22511. #define IOMUXC_GPR_GPR7_LPUART4_STOP_ACK_SHIFT (27U)
  22512. /*! LPUART4_STOP_ACK
  22513. * 0b0..stop acknowledge is not asserted
  22514. * 0b1..stop acknowledge is asserted
  22515. */
  22516. #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)
  22517. #define IOMUXC_GPR_GPR7_LPUART5_STOP_ACK_MASK (0x10000000U)
  22518. #define IOMUXC_GPR_GPR7_LPUART5_STOP_ACK_SHIFT (28U)
  22519. /*! LPUART5_STOP_ACK
  22520. * 0b0..stop acknowledge is not asserted
  22521. * 0b1..stop acknowledge is asserted
  22522. */
  22523. #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)
  22524. #define IOMUXC_GPR_GPR7_LPUART6_STOP_ACK_MASK (0x20000000U)
  22525. #define IOMUXC_GPR_GPR7_LPUART6_STOP_ACK_SHIFT (29U)
  22526. /*! LPUART6_STOP_ACK
  22527. * 0b0..stop acknowledge is not asserted
  22528. * 0b1..stop acknowledge is asserted
  22529. */
  22530. #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)
  22531. #define IOMUXC_GPR_GPR7_LPUART7_STOP_ACK_MASK (0x40000000U)
  22532. #define IOMUXC_GPR_GPR7_LPUART7_STOP_ACK_SHIFT (30U)
  22533. /*! LPUART7_STOP_ACK
  22534. * 0b0..stop acknowledge is not asserted
  22535. * 0b1..stop acknowledge is asserted
  22536. */
  22537. #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)
  22538. #define IOMUXC_GPR_GPR7_LPUART8_STOP_ACK_MASK (0x80000000U)
  22539. #define IOMUXC_GPR_GPR7_LPUART8_STOP_ACK_SHIFT (31U)
  22540. /*! LPUART8_STOP_ACK
  22541. * 0b0..stop acknowledge is not asserted
  22542. * 0b1..stop acknowledge is asserted (the module is in Stop mode)
  22543. */
  22544. #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)
  22545. /*! @} */
  22546. /*! @name GPR8 - GPR8 General Purpose Register */
  22547. /*! @{ */
  22548. #define IOMUXC_GPR_GPR8_LPI2C1_IPG_STOP_MODE_MASK (0x1U)
  22549. #define IOMUXC_GPR_GPR8_LPI2C1_IPG_STOP_MODE_SHIFT (0U)
  22550. /*! LPI2C1_IPG_STOP_MODE
  22551. * 0b0..the module is functional in Stop mode
  22552. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  22553. */
  22554. #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)
  22555. #define IOMUXC_GPR_GPR8_LPI2C1_IPG_DOZE_MASK (0x2U)
  22556. #define IOMUXC_GPR_GPR8_LPI2C1_IPG_DOZE_SHIFT (1U)
  22557. /*! LPI2C1_IPG_DOZE
  22558. * 0b0..not in doze mode
  22559. * 0b1..in doze mode
  22560. */
  22561. #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)
  22562. #define IOMUXC_GPR_GPR8_LPI2C2_IPG_STOP_MODE_MASK (0x4U)
  22563. #define IOMUXC_GPR_GPR8_LPI2C2_IPG_STOP_MODE_SHIFT (2U)
  22564. /*! LPI2C2_IPG_STOP_MODE
  22565. * 0b0..the module is functional in Stop mode
  22566. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  22567. */
  22568. #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)
  22569. #define IOMUXC_GPR_GPR8_LPI2C2_IPG_DOZE_MASK (0x8U)
  22570. #define IOMUXC_GPR_GPR8_LPI2C2_IPG_DOZE_SHIFT (3U)
  22571. /*! LPI2C2_IPG_DOZE
  22572. * 0b0..not in doze mode
  22573. * 0b1..in doze mode
  22574. */
  22575. #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)
  22576. #define IOMUXC_GPR_GPR8_LPI2C3_IPG_STOP_MODE_MASK (0x10U)
  22577. #define IOMUXC_GPR_GPR8_LPI2C3_IPG_STOP_MODE_SHIFT (4U)
  22578. /*! LPI2C3_IPG_STOP_MODE
  22579. * 0b0..the module is functional in Stop mode
  22580. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  22581. */
  22582. #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)
  22583. #define IOMUXC_GPR_GPR8_LPI2C3_IPG_DOZE_MASK (0x20U)
  22584. #define IOMUXC_GPR_GPR8_LPI2C3_IPG_DOZE_SHIFT (5U)
  22585. /*! LPI2C3_IPG_DOZE
  22586. * 0b0..not in doze mode
  22587. * 0b1..in doze mode
  22588. */
  22589. #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)
  22590. #define IOMUXC_GPR_GPR8_LPI2C4_IPG_STOP_MODE_MASK (0x40U)
  22591. #define IOMUXC_GPR_GPR8_LPI2C4_IPG_STOP_MODE_SHIFT (6U)
  22592. /*! LPI2C4_IPG_STOP_MODE
  22593. * 0b0..the module is functional in Stop mode
  22594. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  22595. */
  22596. #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)
  22597. #define IOMUXC_GPR_GPR8_LPI2C4_IPG_DOZE_MASK (0x80U)
  22598. #define IOMUXC_GPR_GPR8_LPI2C4_IPG_DOZE_SHIFT (7U)
  22599. /*! LPI2C4_IPG_DOZE
  22600. * 0b0..not in doze mode
  22601. * 0b1..in doze mode
  22602. */
  22603. #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)
  22604. #define IOMUXC_GPR_GPR8_LPSPI1_IPG_STOP_MODE_MASK (0x100U)
  22605. #define IOMUXC_GPR_GPR8_LPSPI1_IPG_STOP_MODE_SHIFT (8U)
  22606. /*! LPSPI1_IPG_STOP_MODE
  22607. * 0b0..the module is functional in Stop mode
  22608. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  22609. */
  22610. #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)
  22611. #define IOMUXC_GPR_GPR8_LPSPI1_IPG_DOZE_MASK (0x200U)
  22612. #define IOMUXC_GPR_GPR8_LPSPI1_IPG_DOZE_SHIFT (9U)
  22613. /*! LPSPI1_IPG_DOZE
  22614. * 0b0..not in doze mode
  22615. * 0b1..in doze mode
  22616. */
  22617. #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)
  22618. #define IOMUXC_GPR_GPR8_LPSPI2_IPG_STOP_MODE_MASK (0x400U)
  22619. #define IOMUXC_GPR_GPR8_LPSPI2_IPG_STOP_MODE_SHIFT (10U)
  22620. /*! LPSPI2_IPG_STOP_MODE
  22621. * 0b0..the module is functional in Stop mode
  22622. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  22623. */
  22624. #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)
  22625. #define IOMUXC_GPR_GPR8_LPSPI2_IPG_DOZE_MASK (0x800U)
  22626. #define IOMUXC_GPR_GPR8_LPSPI2_IPG_DOZE_SHIFT (11U)
  22627. /*! LPSPI2_IPG_DOZE
  22628. * 0b0..not in doze mode
  22629. * 0b1..in doze mode
  22630. */
  22631. #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)
  22632. #define IOMUXC_GPR_GPR8_LPSPI3_IPG_STOP_MODE_MASK (0x1000U)
  22633. #define IOMUXC_GPR_GPR8_LPSPI3_IPG_STOP_MODE_SHIFT (12U)
  22634. /*! LPSPI3_IPG_STOP_MODE
  22635. * 0b0..the module is functional in Stop mode
  22636. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  22637. */
  22638. #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)
  22639. #define IOMUXC_GPR_GPR8_LPSPI3_IPG_DOZE_MASK (0x2000U)
  22640. #define IOMUXC_GPR_GPR8_LPSPI3_IPG_DOZE_SHIFT (13U)
  22641. /*! LPSPI3_IPG_DOZE
  22642. * 0b0..not in doze mode
  22643. * 0b1..in doze mode
  22644. */
  22645. #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)
  22646. #define IOMUXC_GPR_GPR8_LPSPI4_IPG_STOP_MODE_MASK (0x4000U)
  22647. #define IOMUXC_GPR_GPR8_LPSPI4_IPG_STOP_MODE_SHIFT (14U)
  22648. /*! LPSPI4_IPG_STOP_MODE
  22649. * 0b0..the module is functional in Stop mode
  22650. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  22651. */
  22652. #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)
  22653. #define IOMUXC_GPR_GPR8_LPSPI4_IPG_DOZE_MASK (0x8000U)
  22654. #define IOMUXC_GPR_GPR8_LPSPI4_IPG_DOZE_SHIFT (15U)
  22655. /*! LPSPI4_IPG_DOZE
  22656. * 0b0..not in doze mode
  22657. * 0b1..in doze mode
  22658. */
  22659. #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)
  22660. #define IOMUXC_GPR_GPR8_LPUART1_IPG_STOP_MODE_MASK (0x10000U)
  22661. #define IOMUXC_GPR_GPR8_LPUART1_IPG_STOP_MODE_SHIFT (16U)
  22662. /*! LPUART1_IPG_STOP_MODE
  22663. * 0b0..the module is functional in Stop mode
  22664. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  22665. */
  22666. #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)
  22667. #define IOMUXC_GPR_GPR8_LPUART1_IPG_DOZE_MASK (0x20000U)
  22668. #define IOMUXC_GPR_GPR8_LPUART1_IPG_DOZE_SHIFT (17U)
  22669. /*! LPUART1_IPG_DOZE
  22670. * 0b0..not in doze mode
  22671. * 0b1..in doze mode
  22672. */
  22673. #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)
  22674. #define IOMUXC_GPR_GPR8_LPUART2_IPG_STOP_MODE_MASK (0x40000U)
  22675. #define IOMUXC_GPR_GPR8_LPUART2_IPG_STOP_MODE_SHIFT (18U)
  22676. /*! LPUART2_IPG_STOP_MODE
  22677. * 0b0..the module is functional in Stop mode
  22678. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  22679. */
  22680. #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)
  22681. #define IOMUXC_GPR_GPR8_LPUART2_IPG_DOZE_MASK (0x80000U)
  22682. #define IOMUXC_GPR_GPR8_LPUART2_IPG_DOZE_SHIFT (19U)
  22683. /*! LPUART2_IPG_DOZE
  22684. * 0b0..not in doze mode
  22685. * 0b1..in doze mode
  22686. */
  22687. #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)
  22688. #define IOMUXC_GPR_GPR8_LPUART3_IPG_STOP_MODE_MASK (0x100000U)
  22689. #define IOMUXC_GPR_GPR8_LPUART3_IPG_STOP_MODE_SHIFT (20U)
  22690. /*! LPUART3_IPG_STOP_MODE
  22691. * 0b0..the module is functional in Stop mode
  22692. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  22693. */
  22694. #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)
  22695. #define IOMUXC_GPR_GPR8_LPUART3_IPG_DOZE_MASK (0x200000U)
  22696. #define IOMUXC_GPR_GPR8_LPUART3_IPG_DOZE_SHIFT (21U)
  22697. /*! LPUART3_IPG_DOZE
  22698. * 0b0..not in doze mode
  22699. * 0b1..in doze mode
  22700. */
  22701. #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)
  22702. #define IOMUXC_GPR_GPR8_LPUART4_IPG_STOP_MODE_MASK (0x400000U)
  22703. #define IOMUXC_GPR_GPR8_LPUART4_IPG_STOP_MODE_SHIFT (22U)
  22704. /*! LPUART4_IPG_STOP_MODE
  22705. * 0b0..the module is functional in Stop mode
  22706. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  22707. */
  22708. #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)
  22709. #define IOMUXC_GPR_GPR8_LPUART4_IPG_DOZE_MASK (0x800000U)
  22710. #define IOMUXC_GPR_GPR8_LPUART4_IPG_DOZE_SHIFT (23U)
  22711. /*! LPUART4_IPG_DOZE
  22712. * 0b0..not in doze mode
  22713. * 0b1..in doze mode
  22714. */
  22715. #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)
  22716. #define IOMUXC_GPR_GPR8_LPUART5_IPG_STOP_MODE_MASK (0x1000000U)
  22717. #define IOMUXC_GPR_GPR8_LPUART5_IPG_STOP_MODE_SHIFT (24U)
  22718. /*! LPUART5_IPG_STOP_MODE
  22719. * 0b0..the module is functional in Stop mode
  22720. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  22721. */
  22722. #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)
  22723. #define IOMUXC_GPR_GPR8_LPUART5_IPG_DOZE_MASK (0x2000000U)
  22724. #define IOMUXC_GPR_GPR8_LPUART5_IPG_DOZE_SHIFT (25U)
  22725. /*! LPUART5_IPG_DOZE
  22726. * 0b0..not in doze mode
  22727. * 0b1..in doze mode
  22728. */
  22729. #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)
  22730. #define IOMUXC_GPR_GPR8_LPUART6_IPG_STOP_MODE_MASK (0x4000000U)
  22731. #define IOMUXC_GPR_GPR8_LPUART6_IPG_STOP_MODE_SHIFT (26U)
  22732. /*! LPUART6_IPG_STOP_MODE
  22733. * 0b0..the module is functional in Stop mode
  22734. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  22735. */
  22736. #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)
  22737. #define IOMUXC_GPR_GPR8_LPUART6_IPG_DOZE_MASK (0x8000000U)
  22738. #define IOMUXC_GPR_GPR8_LPUART6_IPG_DOZE_SHIFT (27U)
  22739. /*! LPUART6_IPG_DOZE
  22740. * 0b0..not in doze mode
  22741. * 0b1..in doze mode
  22742. */
  22743. #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)
  22744. #define IOMUXC_GPR_GPR8_LPUART7_IPG_STOP_MODE_MASK (0x10000000U)
  22745. #define IOMUXC_GPR_GPR8_LPUART7_IPG_STOP_MODE_SHIFT (28U)
  22746. /*! LPUART7_IPG_STOP_MODE
  22747. * 0b0..the module is functional in Stop mode
  22748. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  22749. */
  22750. #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)
  22751. #define IOMUXC_GPR_GPR8_LPUART7_IPG_DOZE_MASK (0x20000000U)
  22752. #define IOMUXC_GPR_GPR8_LPUART7_IPG_DOZE_SHIFT (29U)
  22753. /*! LPUART7_IPG_DOZE
  22754. * 0b0..not in doze mode
  22755. * 0b1..in doze mode
  22756. */
  22757. #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)
  22758. #define IOMUXC_GPR_GPR8_LPUART8_IPG_STOP_MODE_MASK (0x40000000U)
  22759. #define IOMUXC_GPR_GPR8_LPUART8_IPG_STOP_MODE_SHIFT (30U)
  22760. /*! LPUART8_IPG_STOP_MODE
  22761. * 0b0..the module is functional in Stop mode
  22762. * 0b1..the module is NOT functional in Stop mode, when this bit is equal to 1 and ipg_stop is asserted
  22763. */
  22764. #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)
  22765. #define IOMUXC_GPR_GPR8_LPUART8_IPG_DOZE_MASK (0x80000000U)
  22766. #define IOMUXC_GPR_GPR8_LPUART8_IPG_DOZE_SHIFT (31U)
  22767. /*! LPUART8_IPG_DOZE
  22768. * 0b0..not in doze mode
  22769. * 0b1..in doze mode
  22770. */
  22771. #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)
  22772. /*! @} */
  22773. /*! @name GPR10 - GPR10 General Purpose Register */
  22774. /*! @{ */
  22775. #define IOMUXC_GPR_GPR10_NIDEN_MASK (0x1U)
  22776. #define IOMUXC_GPR_GPR10_NIDEN_SHIFT (0U)
  22777. /*! NIDEN
  22778. * 0b0..Debug turned off.
  22779. * 0b1..Debug enabled (default).
  22780. */
  22781. #define IOMUXC_GPR_GPR10_NIDEN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR10_NIDEN_SHIFT)) & IOMUXC_GPR_GPR10_NIDEN_MASK)
  22782. #define IOMUXC_GPR_GPR10_DBG_EN_MASK (0x2U)
  22783. #define IOMUXC_GPR_GPR10_DBG_EN_SHIFT (1U)
  22784. /*! DBG_EN
  22785. * 0b0..Debug turned off.
  22786. * 0b1..Debug enabled (default).
  22787. */
  22788. #define IOMUXC_GPR_GPR10_DBG_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR10_DBG_EN_SHIFT)) & IOMUXC_GPR_GPR10_DBG_EN_MASK)
  22789. #define IOMUXC_GPR_GPR10_SEC_ERR_RESP_MASK (0x4U)
  22790. #define IOMUXC_GPR_GPR10_SEC_ERR_RESP_SHIFT (2U)
  22791. /*! SEC_ERR_RESP
  22792. * 0b0..OKEY response
  22793. * 0b1..SLVError (default)
  22794. */
  22795. #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)
  22796. #define IOMUXC_GPR_GPR10_DCPKEY_OCOTP_OR_KEYMUX_MASK (0x10U)
  22797. #define IOMUXC_GPR_GPR10_DCPKEY_OCOTP_OR_KEYMUX_SHIFT (4U)
  22798. /*! DCPKEY_OCOTP_OR_KEYMUX
  22799. * 0b0..Select key from Key MUX (SNVS/OTPMK).
  22800. * 0b1..Select key from OCOTP (SW_GP2).
  22801. */
  22802. #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)
  22803. #define IOMUXC_GPR_GPR10_OCRAM_TZ_EN_MASK (0x100U)
  22804. #define IOMUXC_GPR_GPR10_OCRAM_TZ_EN_SHIFT (8U)
  22805. /*! OCRAM_TZ_EN
  22806. * 0b0..The TrustZone feature is disabled. Entire OCRAM space is available for all access types (secure/non-secure/user/supervisor).
  22807. * 0b1..The TrustZone feature is enabled. Access to address in the range specified by [ENDADDR:STARTADDR] follows
  22808. * the execution mode access policy described in CSU chapter.
  22809. */
  22810. #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)
  22811. #define IOMUXC_GPR_GPR10_OCRAM_TZ_ADDR_MASK (0xFE00U)
  22812. #define IOMUXC_GPR_GPR10_OCRAM_TZ_ADDR_SHIFT (9U)
  22813. #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)
  22814. #define IOMUXC_GPR_GPR10_LOCK_NIDEN_MASK (0x10000U)
  22815. #define IOMUXC_GPR_GPR10_LOCK_NIDEN_SHIFT (16U)
  22816. /*! LOCK_NIDEN
  22817. * 0b0..Field is not locked
  22818. * 0b1..Field is locked (read access only)
  22819. */
  22820. #define IOMUXC_GPR_GPR10_LOCK_NIDEN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR10_LOCK_NIDEN_SHIFT)) & IOMUXC_GPR_GPR10_LOCK_NIDEN_MASK)
  22821. #define IOMUXC_GPR_GPR10_LOCK_DBG_EN_MASK (0x20000U)
  22822. #define IOMUXC_GPR_GPR10_LOCK_DBG_EN_SHIFT (17U)
  22823. /*! LOCK_DBG_EN
  22824. * 0b0..Field is not locked
  22825. * 0b1..Field is locked (read access only)
  22826. */
  22827. #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)
  22828. #define IOMUXC_GPR_GPR10_LOCK_SEC_ERR_RESP_MASK (0x40000U)
  22829. #define IOMUXC_GPR_GPR10_LOCK_SEC_ERR_RESP_SHIFT (18U)
  22830. /*! LOCK_SEC_ERR_RESP
  22831. * 0b0..Field is not locked
  22832. * 0b1..Field is locked (read access only)
  22833. */
  22834. #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)
  22835. #define IOMUXC_GPR_GPR10_LOCK_DCPKEY_OCOTP_OR_KEYMUX_MASK (0x100000U)
  22836. #define IOMUXC_GPR_GPR10_LOCK_DCPKEY_OCOTP_OR_KEYMUX_SHIFT (20U)
  22837. /*! LOCK_DCPKEY_OCOTP_OR_KEYMUX
  22838. * 0b0..Field is not locked
  22839. * 0b1..Field is locked (read access only)
  22840. */
  22841. #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)
  22842. #define IOMUXC_GPR_GPR10_LOCK_OCRAM_TZ_EN_MASK (0x1000000U)
  22843. #define IOMUXC_GPR_GPR10_LOCK_OCRAM_TZ_EN_SHIFT (24U)
  22844. /*! LOCK_OCRAM_TZ_EN
  22845. * 0b0..Field is not locked
  22846. * 0b1..Field is locked (read access only)
  22847. */
  22848. #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)
  22849. #define IOMUXC_GPR_GPR10_LOCK_OCRAM_TZ_ADDR_MASK (0xFE000000U)
  22850. #define IOMUXC_GPR_GPR10_LOCK_OCRAM_TZ_ADDR_SHIFT (25U)
  22851. /*! LOCK_OCRAM_TZ_ADDR
  22852. * 0b0000000..Field is not locked
  22853. * 0b0000001..Field is locked (read access only)
  22854. */
  22855. #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)
  22856. /*! @} */
  22857. /*! @name GPR11 - GPR11 General Purpose Register */
  22858. /*! @{ */
  22859. #define IOMUXC_GPR_GPR11_M7_APC_AC_R0_CTRL_MASK (0x3U)
  22860. #define IOMUXC_GPR_GPR11_M7_APC_AC_R0_CTRL_SHIFT (0U)
  22861. /*! M7_APC_AC_R0_CTRL
  22862. * 0b00..No access protection
  22863. * 0b01..M7 debug protection enabled
  22864. * 0b10..FlexSPI access protection
  22865. * 0b11..Both M7 debug and FlexSPI access are protected
  22866. */
  22867. #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)
  22868. #define IOMUXC_GPR_GPR11_M7_APC_AC_R1_CTRL_MASK (0xCU)
  22869. #define IOMUXC_GPR_GPR11_M7_APC_AC_R1_CTRL_SHIFT (2U)
  22870. /*! M7_APC_AC_R1_CTRL
  22871. * 0b00..No access protection
  22872. * 0b01..M7 debug protection enabled
  22873. * 0b10..FlexSPI access protection
  22874. * 0b11..Both M7 debug and FlexSPI access are protected
  22875. */
  22876. #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)
  22877. #define IOMUXC_GPR_GPR11_M7_APC_AC_R2_CTRL_MASK (0x30U)
  22878. #define IOMUXC_GPR_GPR11_M7_APC_AC_R2_CTRL_SHIFT (4U)
  22879. /*! M7_APC_AC_R2_CTRL
  22880. * 0b00..No access protection
  22881. * 0b01..M7 debug protection enabled
  22882. * 0b10..FlexSPI access protection
  22883. * 0b11..Both M7 debug and FlexSPI access are protected
  22884. */
  22885. #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)
  22886. #define IOMUXC_GPR_GPR11_M7_APC_AC_R3_CTRL_MASK (0xC0U)
  22887. #define IOMUXC_GPR_GPR11_M7_APC_AC_R3_CTRL_SHIFT (6U)
  22888. /*! M7_APC_AC_R3_CTRL
  22889. * 0b00..No access protection
  22890. * 0b01..M7 debug protection enabled
  22891. * 0b10..FlexSPI access protection
  22892. * 0b11..Both M7 debug and FlexSPI access are protected
  22893. */
  22894. #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)
  22895. #define IOMUXC_GPR_GPR11_BEE_DE_RX_EN_MASK (0xF00U)
  22896. #define IOMUXC_GPR_GPR11_BEE_DE_RX_EN_SHIFT (8U)
  22897. #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)
  22898. /*! @} */
  22899. /*! @name GPR12 - GPR12 General Purpose Register */
  22900. /*! @{ */
  22901. #define IOMUXC_GPR_GPR12_FLEXIO1_IPG_STOP_MODE_MASK (0x1U)
  22902. #define IOMUXC_GPR_GPR12_FLEXIO1_IPG_STOP_MODE_SHIFT (0U)
  22903. /*! FLEXIO1_IPG_STOP_MODE
  22904. * 0b0..FlexIO1 is functional in Stop mode.
  22905. * 0b1..When this bit is equal to 1'b1 and ipg_stop is asserted, FlexIO1 is not functional in Stop mode.
  22906. */
  22907. #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)
  22908. #define IOMUXC_GPR_GPR12_FLEXIO1_IPG_DOZE_MASK (0x2U)
  22909. #define IOMUXC_GPR_GPR12_FLEXIO1_IPG_DOZE_SHIFT (1U)
  22910. /*! FLEXIO1_IPG_DOZE
  22911. * 0b0..FLEXIO1 is not in doze mode
  22912. * 0b1..FLEXIO1 is in doze mode
  22913. */
  22914. #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)
  22915. #define IOMUXC_GPR_GPR12_FLEXIO2_IPG_STOP_MODE_MASK (0x4U)
  22916. #define IOMUXC_GPR_GPR12_FLEXIO2_IPG_STOP_MODE_SHIFT (2U)
  22917. /*! FLEXIO2_IPG_STOP_MODE
  22918. * 0b0..FlexIO2 is functional in Stop mode.
  22919. * 0b1..When this bit is equal to 1'b1 and ipg_stop is asserted, FlexIO2 is not functional in Stop mode.
  22920. */
  22921. #define IOMUXC_GPR_GPR12_FLEXIO2_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR12_FLEXIO2_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR12_FLEXIO2_IPG_STOP_MODE_MASK)
  22922. #define IOMUXC_GPR_GPR12_FLEXIO2_IPG_DOZE_MASK (0x8U)
  22923. #define IOMUXC_GPR_GPR12_FLEXIO2_IPG_DOZE_SHIFT (3U)
  22924. /*! FLEXIO2_IPG_DOZE
  22925. * 0b0..FLEXIO2 is not in doze mode
  22926. * 0b1..FLEXIO2 is in doze mode
  22927. */
  22928. #define IOMUXC_GPR_GPR12_FLEXIO2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR12_FLEXIO2_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR12_FLEXIO2_IPG_DOZE_MASK)
  22929. #define IOMUXC_GPR_GPR12_ACMP_IPG_STOP_MODE_MASK (0x10U)
  22930. #define IOMUXC_GPR_GPR12_ACMP_IPG_STOP_MODE_SHIFT (4U)
  22931. /*! ACMP_IPG_STOP_MODE
  22932. * 0b0..ACMP is functional in Stop mode.
  22933. * 0b1..When this bit is equal to 1'b1 and ipg_stop is asserted, ACMP is not functional in Stop mode.
  22934. */
  22935. #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)
  22936. #define IOMUXC_GPR_GPR12_FLEXIO3_IPG_STOP_MODE_MASK (0x20U)
  22937. #define IOMUXC_GPR_GPR12_FLEXIO3_IPG_STOP_MODE_SHIFT (5U)
  22938. /*! FLEXIO3_IPG_STOP_MODE
  22939. * 0b0..FlexIO3 is functional in Stop mode.
  22940. * 0b1..When this bit is equal to 1'b1 and ipg_stop is asserted, FlexIO3 is not functional in Stop mode.
  22941. */
  22942. #define IOMUXC_GPR_GPR12_FLEXIO3_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR12_FLEXIO3_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR12_FLEXIO3_IPG_STOP_MODE_MASK)
  22943. #define IOMUXC_GPR_GPR12_FLEXIO3_IPG_DOZE_MASK (0x40U)
  22944. #define IOMUXC_GPR_GPR12_FLEXIO3_IPG_DOZE_SHIFT (6U)
  22945. /*! FLEXIO3_IPG_DOZE
  22946. * 0b0..FLEXIO3 is not in doze mode
  22947. * 0b1..FLEXIO3 is in doze mode
  22948. */
  22949. #define IOMUXC_GPR_GPR12_FLEXIO3_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR12_FLEXIO3_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR12_FLEXIO3_IPG_DOZE_MASK)
  22950. /*! @} */
  22951. /*! @name GPR13 - GPR13 General Purpose Register */
  22952. /*! @{ */
  22953. #define IOMUXC_GPR_GPR13_ARCACHE_USDHC_MASK (0x1U)
  22954. #define IOMUXC_GPR_GPR13_ARCACHE_USDHC_SHIFT (0U)
  22955. /*! ARCACHE_USDHC
  22956. * 0b0..Cacheable attribute is off for read transactions.
  22957. * 0b1..Cacheable attribute is on for read transactions.
  22958. */
  22959. #define IOMUXC_GPR_GPR13_ARCACHE_USDHC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR13_ARCACHE_USDHC_SHIFT)) & IOMUXC_GPR_GPR13_ARCACHE_USDHC_MASK)
  22960. #define IOMUXC_GPR_GPR13_AWCACHE_USDHC_MASK (0x2U)
  22961. #define IOMUXC_GPR_GPR13_AWCACHE_USDHC_SHIFT (1U)
  22962. /*! AWCACHE_USDHC
  22963. * 0b0..Cacheable attribute is off for write transactions.
  22964. * 0b1..Cacheable attribute is on for write transactions.
  22965. */
  22966. #define IOMUXC_GPR_GPR13_AWCACHE_USDHC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR13_AWCACHE_USDHC_SHIFT)) & IOMUXC_GPR_GPR13_AWCACHE_USDHC_MASK)
  22967. #define IOMUXC_GPR_GPR13_CANFD_STOP_REQ_MASK (0x10U)
  22968. #define IOMUXC_GPR_GPR13_CANFD_STOP_REQ_SHIFT (4U)
  22969. /*! CANFD_STOP_REQ
  22970. * 0b0..stop request off
  22971. * 0b1..stop request on
  22972. */
  22973. #define IOMUXC_GPR_GPR13_CANFD_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR13_CANFD_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR13_CANFD_STOP_REQ_MASK)
  22974. #define IOMUXC_GPR_GPR13_CACHE_ENET_MASK (0x80U)
  22975. #define IOMUXC_GPR_GPR13_CACHE_ENET_SHIFT (7U)
  22976. /*! CACHE_ENET
  22977. * 0b0..Cacheable attribute is off for read/write transactions.
  22978. * 0b1..Cacheable attribute is on for read/write transactions.
  22979. */
  22980. #define IOMUXC_GPR_GPR13_CACHE_ENET(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR13_CACHE_ENET_SHIFT)) & IOMUXC_GPR_GPR13_CACHE_ENET_MASK)
  22981. #define IOMUXC_GPR_GPR13_CACHE_USB_MASK (0x2000U)
  22982. #define IOMUXC_GPR_GPR13_CACHE_USB_SHIFT (13U)
  22983. /*! CACHE_USB
  22984. * 0b0..Cacheable attribute is off for read/write transactions.
  22985. * 0b1..Cacheable attribute is on for read/write transactions.
  22986. */
  22987. #define IOMUXC_GPR_GPR13_CACHE_USB(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR13_CACHE_USB_SHIFT)) & IOMUXC_GPR_GPR13_CACHE_USB_MASK)
  22988. #define IOMUXC_GPR_GPR13_CANFD_STOP_ACK_MASK (0x100000U)
  22989. #define IOMUXC_GPR_GPR13_CANFD_STOP_ACK_SHIFT (20U)
  22990. /*! CANFD_STOP_ACK
  22991. * 0b0..CANFD stop acknowledge is not asserted
  22992. * 0b1..CANFD stop acknowledge is asserted
  22993. */
  22994. #define IOMUXC_GPR_GPR13_CANFD_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR13_CANFD_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR13_CANFD_STOP_ACK_MASK)
  22995. /*! @} */
  22996. /*! @name GPR14 - GPR14 General Purpose Register */
  22997. /*! @{ */
  22998. #define IOMUXC_GPR_GPR14_ACMP1_CMP_IGEN_TRIM_DN_MASK (0x1U)
  22999. #define IOMUXC_GPR_GPR14_ACMP1_CMP_IGEN_TRIM_DN_SHIFT (0U)
  23000. /*! ACMP1_CMP_IGEN_TRIM_DN
  23001. * 0b0..no reduce
  23002. * 0b1..reduces
  23003. */
  23004. #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)
  23005. #define IOMUXC_GPR_GPR14_ACMP2_CMP_IGEN_TRIM_DN_MASK (0x2U)
  23006. #define IOMUXC_GPR_GPR14_ACMP2_CMP_IGEN_TRIM_DN_SHIFT (1U)
  23007. /*! ACMP2_CMP_IGEN_TRIM_DN
  23008. * 0b0..no reduce
  23009. * 0b1..reduces
  23010. */
  23011. #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)
  23012. #define IOMUXC_GPR_GPR14_ACMP3_CMP_IGEN_TRIM_DN_MASK (0x4U)
  23013. #define IOMUXC_GPR_GPR14_ACMP3_CMP_IGEN_TRIM_DN_SHIFT (2U)
  23014. /*! ACMP3_CMP_IGEN_TRIM_DN
  23015. * 0b0..no reduce
  23016. * 0b1..reduces
  23017. */
  23018. #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)
  23019. #define IOMUXC_GPR_GPR14_ACMP4_CMP_IGEN_TRIM_DN_MASK (0x8U)
  23020. #define IOMUXC_GPR_GPR14_ACMP4_CMP_IGEN_TRIM_DN_SHIFT (3U)
  23021. /*! ACMP4_CMP_IGEN_TRIM_DN
  23022. * 0b0..no reduce
  23023. * 0b1..reduces
  23024. */
  23025. #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)
  23026. #define IOMUXC_GPR_GPR14_ACMP1_CMP_IGEN_TRIM_UP_MASK (0x10U)
  23027. #define IOMUXC_GPR_GPR14_ACMP1_CMP_IGEN_TRIM_UP_SHIFT (4U)
  23028. /*! ACMP1_CMP_IGEN_TRIM_UP
  23029. * 0b0..no increase
  23030. * 0b1..increases
  23031. */
  23032. #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)
  23033. #define IOMUXC_GPR_GPR14_ACMP2_CMP_IGEN_TRIM_UP_MASK (0x20U)
  23034. #define IOMUXC_GPR_GPR14_ACMP2_CMP_IGEN_TRIM_UP_SHIFT (5U)
  23035. /*! ACMP2_CMP_IGEN_TRIM_UP
  23036. * 0b0..no increase
  23037. * 0b1..increases
  23038. */
  23039. #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)
  23040. #define IOMUXC_GPR_GPR14_ACMP3_CMP_IGEN_TRIM_UP_MASK (0x40U)
  23041. #define IOMUXC_GPR_GPR14_ACMP3_CMP_IGEN_TRIM_UP_SHIFT (6U)
  23042. /*! ACMP3_CMP_IGEN_TRIM_UP
  23043. * 0b0..no increase
  23044. * 0b1..increases
  23045. */
  23046. #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)
  23047. #define IOMUXC_GPR_GPR14_ACMP4_CMP_IGEN_TRIM_UP_MASK (0x80U)
  23048. #define IOMUXC_GPR_GPR14_ACMP4_CMP_IGEN_TRIM_UP_SHIFT (7U)
  23049. /*! ACMP4_CMP_IGEN_TRIM_UP
  23050. * 0b0..no increase
  23051. * 0b1..increases
  23052. */
  23053. #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)
  23054. #define IOMUXC_GPR_GPR14_ACMP1_SAMPLE_SYNC_EN_MASK (0x100U)
  23055. #define IOMUXC_GPR_GPR14_ACMP1_SAMPLE_SYNC_EN_SHIFT (8U)
  23056. /*! ACMP1_SAMPLE_SYNC_EN
  23057. * 0b0..select XBAR output
  23058. * 0b1..select synced sample_lv
  23059. */
  23060. #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)
  23061. #define IOMUXC_GPR_GPR14_ACMP2_SAMPLE_SYNC_EN_MASK (0x200U)
  23062. #define IOMUXC_GPR_GPR14_ACMP2_SAMPLE_SYNC_EN_SHIFT (9U)
  23063. /*! ACMP2_SAMPLE_SYNC_EN
  23064. * 0b0..select XBAR output
  23065. * 0b1..select synced sample_lv
  23066. */
  23067. #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)
  23068. #define IOMUXC_GPR_GPR14_ACMP3_SAMPLE_SYNC_EN_MASK (0x400U)
  23069. #define IOMUXC_GPR_GPR14_ACMP3_SAMPLE_SYNC_EN_SHIFT (10U)
  23070. /*! ACMP3_SAMPLE_SYNC_EN
  23071. * 0b0..select XBAR output
  23072. * 0b1..select synced sample_lv
  23073. */
  23074. #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)
  23075. #define IOMUXC_GPR_GPR14_ACMP4_SAMPLE_SYNC_EN_MASK (0x800U)
  23076. #define IOMUXC_GPR_GPR14_ACMP4_SAMPLE_SYNC_EN_SHIFT (11U)
  23077. /*! ACMP4_SAMPLE_SYNC_EN
  23078. * 0b0..select XBAR output
  23079. * 0b1..select synced sample_lv
  23080. */
  23081. #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)
  23082. #define IOMUXC_GPR_GPR14_CM7_CFGITCMSZ_MASK (0xF0000U)
  23083. #define IOMUXC_GPR_GPR14_CM7_CFGITCMSZ_SHIFT (16U)
  23084. /*! CM7_CFGITCMSZ
  23085. * 0b0000..0 KB (No ITCM)
  23086. * 0b0011..4 KB
  23087. * 0b0100..8 KB
  23088. * 0b0101..16 KB
  23089. * 0b0110..32 KB
  23090. * 0b0111..64 KB
  23091. * 0b1000..128 KB
  23092. * 0b1001..256 KB
  23093. * 0b1010..512 KB
  23094. */
  23095. #define IOMUXC_GPR_GPR14_CM7_CFGITCMSZ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_CM7_CFGITCMSZ_SHIFT)) & IOMUXC_GPR_GPR14_CM7_CFGITCMSZ_MASK)
  23096. #define IOMUXC_GPR_GPR14_CM7_CFGDTCMSZ_MASK (0xF00000U)
  23097. #define IOMUXC_GPR_GPR14_CM7_CFGDTCMSZ_SHIFT (20U)
  23098. /*! CM7_CFGDTCMSZ
  23099. * 0b0000..0 KB (No DTCM)
  23100. * 0b0011..4 KB
  23101. * 0b0100..8 KB
  23102. * 0b0101..16 KB
  23103. * 0b0110..32 KB
  23104. * 0b0111..64 KB
  23105. * 0b1000..128 KB
  23106. * 0b1001..256 KB
  23107. * 0b1010..512 KB
  23108. */
  23109. #define IOMUXC_GPR_GPR14_CM7_CFGDTCMSZ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_CM7_CFGDTCMSZ_SHIFT)) & IOMUXC_GPR_GPR14_CM7_CFGDTCMSZ_MASK)
  23110. /*! @} */
  23111. /*! @name GPR16 - GPR16 General Purpose Register */
  23112. /*! @{ */
  23113. #define IOMUXC_GPR_GPR16_INIT_ITCM_EN_MASK (0x1U)
  23114. #define IOMUXC_GPR_GPR16_INIT_ITCM_EN_SHIFT (0U)
  23115. /*! INIT_ITCM_EN
  23116. * 0b0..ITCM is disabled
  23117. * 0b1..ITCM is enabled
  23118. */
  23119. #define IOMUXC_GPR_GPR16_INIT_ITCM_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR16_INIT_ITCM_EN_SHIFT)) & IOMUXC_GPR_GPR16_INIT_ITCM_EN_MASK)
  23120. #define IOMUXC_GPR_GPR16_INIT_DTCM_EN_MASK (0x2U)
  23121. #define IOMUXC_GPR_GPR16_INIT_DTCM_EN_SHIFT (1U)
  23122. /*! INIT_DTCM_EN
  23123. * 0b0..DTCM is disabled
  23124. * 0b1..DTCM is enabled
  23125. */
  23126. #define IOMUXC_GPR_GPR16_INIT_DTCM_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR16_INIT_DTCM_EN_SHIFT)) & IOMUXC_GPR_GPR16_INIT_DTCM_EN_MASK)
  23127. #define IOMUXC_GPR_GPR16_FLEXRAM_BANK_CFG_SEL_MASK (0x4U)
  23128. #define IOMUXC_GPR_GPR16_FLEXRAM_BANK_CFG_SEL_SHIFT (2U)
  23129. /*! FLEXRAM_BANK_CFG_SEL
  23130. * 0b0..use fuse value to config
  23131. * 0b1..use FLEXRAM_BANK_CFG to config
  23132. */
  23133. #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)
  23134. /*! @} */
  23135. /*! @name GPR17 - GPR17 General Purpose Register */
  23136. /*! @{ */
  23137. #define IOMUXC_GPR_GPR17_FLEXRAM_BANK_CFG_MASK (0xFFFFFFFFU)
  23138. #define IOMUXC_GPR_GPR17_FLEXRAM_BANK_CFG_SHIFT (0U)
  23139. /*! FLEXRAM_BANK_CFG - FlexRAM bank config value
  23140. */
  23141. #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)
  23142. /*! @} */
  23143. /*! @name GPR18 - GPR18 General Purpose Register */
  23144. /*! @{ */
  23145. #define IOMUXC_GPR_GPR18_LOCK_M7_APC_AC_R0_BOT_MASK (0x1U)
  23146. #define IOMUXC_GPR_GPR18_LOCK_M7_APC_AC_R0_BOT_SHIFT (0U)
  23147. /*! LOCK_M7_APC_AC_R0_BOT
  23148. * 0b0..Register field [31:1] is not locked
  23149. * 0b1..Register field [31:1] is locked (read access only)
  23150. */
  23151. #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)
  23152. #define IOMUXC_GPR_GPR18_M7_APC_AC_R0_BOT_MASK (0xFFFFFFF8U)
  23153. #define IOMUXC_GPR_GPR18_M7_APC_AC_R0_BOT_SHIFT (3U)
  23154. #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)
  23155. /*! @} */
  23156. /*! @name GPR19 - GPR19 General Purpose Register */
  23157. /*! @{ */
  23158. #define IOMUXC_GPR_GPR19_LOCK_M7_APC_AC_R0_TOP_MASK (0x1U)
  23159. #define IOMUXC_GPR_GPR19_LOCK_M7_APC_AC_R0_TOP_SHIFT (0U)
  23160. /*! LOCK_M7_APC_AC_R0_TOP
  23161. * 0b0..Register field [31:1] is not locked
  23162. * 0b1..Register field [31:1] is locked (read access only)
  23163. */
  23164. #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)
  23165. #define IOMUXC_GPR_GPR19_M7_APC_AC_R0_TOP_MASK (0xFFFFFFF8U)
  23166. #define IOMUXC_GPR_GPR19_M7_APC_AC_R0_TOP_SHIFT (3U)
  23167. #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)
  23168. /*! @} */
  23169. /*! @name GPR20 - GPR20 General Purpose Register */
  23170. /*! @{ */
  23171. #define IOMUXC_GPR_GPR20_LOCK_M7_APC_AC_R1_BOT_MASK (0x1U)
  23172. #define IOMUXC_GPR_GPR20_LOCK_M7_APC_AC_R1_BOT_SHIFT (0U)
  23173. /*! LOCK_M7_APC_AC_R1_BOT
  23174. * 0b0..Register field [31:1] is not locked
  23175. * 0b1..Register field [31:1] is locked (read access only)
  23176. */
  23177. #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)
  23178. #define IOMUXC_GPR_GPR20_M7_APC_AC_R1_BOT_MASK (0xFFFFFFF8U)
  23179. #define IOMUXC_GPR_GPR20_M7_APC_AC_R1_BOT_SHIFT (3U)
  23180. #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)
  23181. /*! @} */
  23182. /*! @name GPR21 - GPR21 General Purpose Register */
  23183. /*! @{ */
  23184. #define IOMUXC_GPR_GPR21_LOCK_M7_APC_AC_R1_TOP_MASK (0x1U)
  23185. #define IOMUXC_GPR_GPR21_LOCK_M7_APC_AC_R1_TOP_SHIFT (0U)
  23186. /*! LOCK_M7_APC_AC_R1_TOP
  23187. * 0b0..Register field [31:1] is not locked
  23188. * 0b1..Register field [31:1] is locked (read access only)
  23189. */
  23190. #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)
  23191. #define IOMUXC_GPR_GPR21_M7_APC_AC_R1_TOP_MASK (0xFFFFFFF8U)
  23192. #define IOMUXC_GPR_GPR21_M7_APC_AC_R1_TOP_SHIFT (3U)
  23193. #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)
  23194. /*! @} */
  23195. /*! @name GPR22 - GPR22 General Purpose Register */
  23196. /*! @{ */
  23197. #define IOMUXC_GPR_GPR22_LOCK_M7_APC_AC_R2_BOT_MASK (0x1U)
  23198. #define IOMUXC_GPR_GPR22_LOCK_M7_APC_AC_R2_BOT_SHIFT (0U)
  23199. /*! LOCK_M7_APC_AC_R2_BOT
  23200. * 0b0..Register field [31:1] is not locked
  23201. * 0b1..Register field [31:1] is locked (read access only)
  23202. */
  23203. #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)
  23204. #define IOMUXC_GPR_GPR22_M7_APC_AC_R2_BOT_MASK (0xFFFFFFF8U)
  23205. #define IOMUXC_GPR_GPR22_M7_APC_AC_R2_BOT_SHIFT (3U)
  23206. #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)
  23207. /*! @} */
  23208. /*! @name GPR23 - GPR23 General Purpose Register */
  23209. /*! @{ */
  23210. #define IOMUXC_GPR_GPR23_LOCK_M7_APC_AC_R2_TOP_MASK (0x1U)
  23211. #define IOMUXC_GPR_GPR23_LOCK_M7_APC_AC_R2_TOP_SHIFT (0U)
  23212. /*! LOCK_M7_APC_AC_R2_TOP
  23213. * 0b0..Register field [31:1] is not locked
  23214. * 0b1..Register field [31:1] is locked (read access only)
  23215. */
  23216. #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)
  23217. #define IOMUXC_GPR_GPR23_M7_APC_AC_R2_TOP_MASK (0xFFFFFFF8U)
  23218. #define IOMUXC_GPR_GPR23_M7_APC_AC_R2_TOP_SHIFT (3U)
  23219. #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)
  23220. /*! @} */
  23221. /*! @name GPR24 - GPR24 General Purpose Register */
  23222. /*! @{ */
  23223. #define IOMUXC_GPR_GPR24_LOCK_M7_APC_AC_R3_BOT_MASK (0x1U)
  23224. #define IOMUXC_GPR_GPR24_LOCK_M7_APC_AC_R3_BOT_SHIFT (0U)
  23225. /*! LOCK_M7_APC_AC_R3_BOT
  23226. * 0b0..Register field [31:1] is not locked
  23227. * 0b1..Register field [31:1] is locked (read access only)
  23228. */
  23229. #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)
  23230. #define IOMUXC_GPR_GPR24_M7_APC_AC_R3_BOT_MASK (0xFFFFFFF8U)
  23231. #define IOMUXC_GPR_GPR24_M7_APC_AC_R3_BOT_SHIFT (3U)
  23232. #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)
  23233. /*! @} */
  23234. /*! @name GPR25 - GPR25 General Purpose Register */
  23235. /*! @{ */
  23236. #define IOMUXC_GPR_GPR25_LOCK_M7_APC_AC_R3_TOP_MASK (0x1U)
  23237. #define IOMUXC_GPR_GPR25_LOCK_M7_APC_AC_R3_TOP_SHIFT (0U)
  23238. /*! LOCK_M7_APC_AC_R3_TOP
  23239. * 0b0..Register field [31:1] is not locked
  23240. * 0b1..Register field [31:1] is locked (read access only)
  23241. */
  23242. #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)
  23243. #define IOMUXC_GPR_GPR25_M7_APC_AC_R3_TOP_MASK (0xFFFFFFF8U)
  23244. #define IOMUXC_GPR_GPR25_M7_APC_AC_R3_TOP_SHIFT (3U)
  23245. #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)
  23246. /*! @} */
  23247. /*! @name GPR26 - GPR26 General Purpose Register */
  23248. /*! @{ */
  23249. #define IOMUXC_GPR_GPR26_GPIO_MUX1_GPIO_SEL_MASK (0xFFFFFFFFU)
  23250. #define IOMUXC_GPR_GPR26_GPIO_MUX1_GPIO_SEL_SHIFT (0U)
  23251. /*! GPIO_MUX1_GPIO_SEL - GPIO1 and GPIO6 share same IO MUX function, GPIO_MUX1 selects one GPIO function.
  23252. */
  23253. #define IOMUXC_GPR_GPR26_GPIO_MUX1_GPIO_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR26_GPIO_MUX1_GPIO_SEL_SHIFT)) & IOMUXC_GPR_GPR26_GPIO_MUX1_GPIO_SEL_MASK)
  23254. /*! @} */
  23255. /*! @name GPR27 - GPR27 General Purpose Register */
  23256. /*! @{ */
  23257. #define IOMUXC_GPR_GPR27_GPIO_MUX2_GPIO_SEL_MASK (0xFFFFFFFFU)
  23258. #define IOMUXC_GPR_GPR27_GPIO_MUX2_GPIO_SEL_SHIFT (0U)
  23259. /*! GPIO_MUX2_GPIO_SEL - GPIO2 and GPIO7 share same IO MUX function, GPIO_MUX2 selects one GPIO function.
  23260. */
  23261. #define IOMUXC_GPR_GPR27_GPIO_MUX2_GPIO_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR27_GPIO_MUX2_GPIO_SEL_SHIFT)) & IOMUXC_GPR_GPR27_GPIO_MUX2_GPIO_SEL_MASK)
  23262. /*! @} */
  23263. /*! @name GPR28 - GPR28 General Purpose Register */
  23264. /*! @{ */
  23265. #define IOMUXC_GPR_GPR28_GPIO_MUX3_GPIO_SEL_MASK (0xFFFFFFFFU)
  23266. #define IOMUXC_GPR_GPR28_GPIO_MUX3_GPIO_SEL_SHIFT (0U)
  23267. /*! GPIO_MUX3_GPIO_SEL - GPIO3 and GPIO8 share same IO MUX function, GPIO_MUX3 selects one GPIO function.
  23268. */
  23269. #define IOMUXC_GPR_GPR28_GPIO_MUX3_GPIO_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR28_GPIO_MUX3_GPIO_SEL_SHIFT)) & IOMUXC_GPR_GPR28_GPIO_MUX3_GPIO_SEL_MASK)
  23270. /*! @} */
  23271. /*! @name GPR29 - GPR29 General Purpose Register */
  23272. /*! @{ */
  23273. #define IOMUXC_GPR_GPR29_GPIO_MUX4_GPIO_SEL_MASK (0xFFFFFFFFU)
  23274. #define IOMUXC_GPR_GPR29_GPIO_MUX4_GPIO_SEL_SHIFT (0U)
  23275. /*! GPIO_MUX4_GPIO_SEL - GPIO4 and GPIO9 share same IO MUX function, GPIO_MUX4 selects one GPIO function.
  23276. */
  23277. #define IOMUXC_GPR_GPR29_GPIO_MUX4_GPIO_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR29_GPIO_MUX4_GPIO_SEL_SHIFT)) & IOMUXC_GPR_GPR29_GPIO_MUX4_GPIO_SEL_MASK)
  23278. /*! @} */
  23279. /*! @name GPR30 - GPR30 General Purpose Register */
  23280. /*! @{ */
  23281. #define IOMUXC_GPR_GPR30_FLEXSPI_REMAP_ADDR_START_MASK (0xFFFFF000U)
  23282. #define IOMUXC_GPR_GPR30_FLEXSPI_REMAP_ADDR_START_SHIFT (12U)
  23283. #define IOMUXC_GPR_GPR30_FLEXSPI_REMAP_ADDR_START(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR30_FLEXSPI_REMAP_ADDR_START_SHIFT)) & IOMUXC_GPR_GPR30_FLEXSPI_REMAP_ADDR_START_MASK)
  23284. /*! @} */
  23285. /*! @name GPR31 - GPR31 General Purpose Register */
  23286. /*! @{ */
  23287. #define IOMUXC_GPR_GPR31_FLEXSPI_REMAP_ADDR_END_MASK (0xFFFFF000U)
  23288. #define IOMUXC_GPR_GPR31_FLEXSPI_REMAP_ADDR_END_SHIFT (12U)
  23289. #define IOMUXC_GPR_GPR31_FLEXSPI_REMAP_ADDR_END(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR31_FLEXSPI_REMAP_ADDR_END_SHIFT)) & IOMUXC_GPR_GPR31_FLEXSPI_REMAP_ADDR_END_MASK)
  23290. /*! @} */
  23291. /*! @name GPR32 - GPR32 General Purpose Register */
  23292. /*! @{ */
  23293. #define IOMUXC_GPR_GPR32_FLEXSPI_REMAP_ADDR_OFFSET_MASK (0xFFFFF000U)
  23294. #define IOMUXC_GPR_GPR32_FLEXSPI_REMAP_ADDR_OFFSET_SHIFT (12U)
  23295. #define IOMUXC_GPR_GPR32_FLEXSPI_REMAP_ADDR_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR32_FLEXSPI_REMAP_ADDR_OFFSET_SHIFT)) & IOMUXC_GPR_GPR32_FLEXSPI_REMAP_ADDR_OFFSET_MASK)
  23296. /*! @} */
  23297. /*! @name GPR33 - GPR33 General Purpose Register */
  23298. /*! @{ */
  23299. #define IOMUXC_GPR_GPR33_OCRAM2_TZ_EN_MASK (0x1U)
  23300. #define IOMUXC_GPR_GPR33_OCRAM2_TZ_EN_SHIFT (0U)
  23301. /*! OCRAM2_TZ_EN
  23302. * 0b0..The TrustZone feature is disabled. Entire OCRAM2 space is available for all access types (secure/non-secure/user/supervisor).
  23303. * 0b1..The TrustZone feature is enabled. Access to address in the range specified by [ENDADDR:STARTADDR] follows
  23304. * the execution mode access policy described in CSU chapter.
  23305. */
  23306. #define IOMUXC_GPR_GPR33_OCRAM2_TZ_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR33_OCRAM2_TZ_EN_SHIFT)) & IOMUXC_GPR_GPR33_OCRAM2_TZ_EN_MASK)
  23307. #define IOMUXC_GPR_GPR33_OCRAM2_TZ_ADDR_MASK (0xFEU)
  23308. #define IOMUXC_GPR_GPR33_OCRAM2_TZ_ADDR_SHIFT (1U)
  23309. #define IOMUXC_GPR_GPR33_OCRAM2_TZ_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR33_OCRAM2_TZ_ADDR_SHIFT)) & IOMUXC_GPR_GPR33_OCRAM2_TZ_ADDR_MASK)
  23310. #define IOMUXC_GPR_GPR33_LOCK_OCRAM2_TZ_EN_MASK (0x10000U)
  23311. #define IOMUXC_GPR_GPR33_LOCK_OCRAM2_TZ_EN_SHIFT (16U)
  23312. /*! LOCK_OCRAM2_TZ_EN
  23313. * 0b0..Field is not locked
  23314. * 0b1..Field is locked (read access only)
  23315. */
  23316. #define IOMUXC_GPR_GPR33_LOCK_OCRAM2_TZ_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR33_LOCK_OCRAM2_TZ_EN_SHIFT)) & IOMUXC_GPR_GPR33_LOCK_OCRAM2_TZ_EN_MASK)
  23317. #define IOMUXC_GPR_GPR33_LOCK_OCRAM2_TZ_ADDR_MASK (0xFE0000U)
  23318. #define IOMUXC_GPR_GPR33_LOCK_OCRAM2_TZ_ADDR_SHIFT (17U)
  23319. /*! LOCK_OCRAM2_TZ_ADDR
  23320. * 0b0000000..Field is not locked
  23321. * 0b0000001..Field is locked (read access only)
  23322. */
  23323. #define IOMUXC_GPR_GPR33_LOCK_OCRAM2_TZ_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR33_LOCK_OCRAM2_TZ_ADDR_SHIFT)) & IOMUXC_GPR_GPR33_LOCK_OCRAM2_TZ_ADDR_MASK)
  23324. /*! @} */
  23325. /*! @name GPR34 - GPR34 General Purpose Register */
  23326. /*! @{ */
  23327. #define IOMUXC_GPR_GPR34_SIP_TEST_MUX_BOOT_PIN_SEL_MASK (0xFFU)
  23328. #define IOMUXC_GPR_GPR34_SIP_TEST_MUX_BOOT_PIN_SEL_SHIFT (0U)
  23329. /*! SIP_TEST_MUX_BOOT_PIN_SEL - Boot Pin select in SIP_TEST_MUX
  23330. */
  23331. #define IOMUXC_GPR_GPR34_SIP_TEST_MUX_BOOT_PIN_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR34_SIP_TEST_MUX_BOOT_PIN_SEL_SHIFT)) & IOMUXC_GPR_GPR34_SIP_TEST_MUX_BOOT_PIN_SEL_MASK)
  23332. #define IOMUXC_GPR_GPR34_SIP_TEST_MUX_QSPI_SIP_EN_MASK (0x100U)
  23333. #define IOMUXC_GPR_GPR34_SIP_TEST_MUX_QSPI_SIP_EN_SHIFT (8U)
  23334. /*! SIP_TEST_MUX_QSPI_SIP_EN
  23335. * 0b0..SIP_TEST_MUX is disabled
  23336. * 0b1..SIP_TEST_MUX is enabled
  23337. */
  23338. #define IOMUXC_GPR_GPR34_SIP_TEST_MUX_QSPI_SIP_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR34_SIP_TEST_MUX_QSPI_SIP_EN_SHIFT)) & IOMUXC_GPR_GPR34_SIP_TEST_MUX_QSPI_SIP_EN_MASK)
  23339. /*! @} */
  23340. /*!
  23341. * @}
  23342. */ /* end of group IOMUXC_GPR_Register_Masks */
  23343. /* IOMUXC_GPR - Peripheral instance base addresses */
  23344. /** Peripheral IOMUXC_GPR base address */
  23345. #define IOMUXC_GPR_BASE (0x400AC000u)
  23346. /** Peripheral IOMUXC_GPR base pointer */
  23347. #define IOMUXC_GPR ((IOMUXC_GPR_Type *)IOMUXC_GPR_BASE)
  23348. /** Array initializer of IOMUXC_GPR peripheral base addresses */
  23349. #define IOMUXC_GPR_BASE_ADDRS { IOMUXC_GPR_BASE }
  23350. /** Array initializer of IOMUXC_GPR peripheral base pointers */
  23351. #define IOMUXC_GPR_BASE_PTRS { IOMUXC_GPR }
  23352. /*!
  23353. * @}
  23354. */ /* end of group IOMUXC_GPR_Peripheral_Access_Layer */
  23355. /* ----------------------------------------------------------------------------
  23356. -- IOMUXC_SNVS Peripheral Access Layer
  23357. ---------------------------------------------------------------------------- */
  23358. /*!
  23359. * @addtogroup IOMUXC_SNVS_Peripheral_Access_Layer IOMUXC_SNVS Peripheral Access Layer
  23360. * @{
  23361. */
  23362. /** IOMUXC_SNVS - Register Layout Typedef */
  23363. typedef struct {
  23364. __IO uint32_t SW_MUX_CTL_PAD_WAKEUP; /**< SW_MUX_CTL_PAD_WAKEUP SW MUX Control Register, offset: 0x0 */
  23365. __IO uint32_t SW_MUX_CTL_PAD_PMIC_ON_REQ; /**< SW_MUX_CTL_PAD_PMIC_ON_REQ SW MUX Control Register, offset: 0x4 */
  23366. __IO uint32_t SW_MUX_CTL_PAD_PMIC_STBY_REQ; /**< SW_MUX_CTL_PAD_PMIC_STBY_REQ SW MUX Control Register, offset: 0x8 */
  23367. __IO uint32_t SW_PAD_CTL_PAD_TEST_MODE; /**< SW_PAD_CTL_PAD_TEST_MODE SW PAD Control Register, offset: 0xC */
  23368. __IO uint32_t SW_PAD_CTL_PAD_POR_B; /**< SW_PAD_CTL_PAD_POR_B SW PAD Control Register, offset: 0x10 */
  23369. __IO uint32_t SW_PAD_CTL_PAD_ONOFF; /**< SW_PAD_CTL_PAD_ONOFF SW PAD Control Register, offset: 0x14 */
  23370. __IO uint32_t SW_PAD_CTL_PAD_WAKEUP; /**< SW_PAD_CTL_PAD_WAKEUP SW PAD Control Register, offset: 0x18 */
  23371. __IO uint32_t SW_PAD_CTL_PAD_PMIC_ON_REQ; /**< SW_PAD_CTL_PAD_PMIC_ON_REQ SW PAD Control Register, offset: 0x1C */
  23372. __IO uint32_t SW_PAD_CTL_PAD_PMIC_STBY_REQ; /**< SW_PAD_CTL_PAD_PMIC_STBY_REQ SW PAD Control Register, offset: 0x20 */
  23373. } IOMUXC_SNVS_Type;
  23374. /* ----------------------------------------------------------------------------
  23375. -- IOMUXC_SNVS Register Masks
  23376. ---------------------------------------------------------------------------- */
  23377. /*!
  23378. * @addtogroup IOMUXC_SNVS_Register_Masks IOMUXC_SNVS Register Masks
  23379. * @{
  23380. */
  23381. /*! @name SW_MUX_CTL_PAD_WAKEUP - SW_MUX_CTL_PAD_WAKEUP SW MUX Control Register */
  23382. /*! @{ */
  23383. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_MUX_MODE_MASK (0x7U)
  23384. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_MUX_MODE_SHIFT (0U)
  23385. /*! MUX_MODE - MUX Mode Select Field.
  23386. * 0b101..Select mux mode: ALT5 mux port: GPIO5_IO00 of instance: gpio5
  23387. * 0b111..Select mux mode: ALT7 mux port: NMI_GLUE_NMI of instance: nmi_glue
  23388. */
  23389. #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)
  23390. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_SION_MASK (0x10U)
  23391. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_SION_SHIFT (4U)
  23392. /*! SION - Software Input On Field.
  23393. * 0b1..Force input path of pad WAKEUP
  23394. * 0b0..Input Path is determined by functionality
  23395. */
  23396. #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)
  23397. /*! @} */
  23398. /*! @name SW_MUX_CTL_PAD_PMIC_ON_REQ - SW_MUX_CTL_PAD_PMIC_ON_REQ SW MUX Control Register */
  23399. /*! @{ */
  23400. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_MUX_MODE_MASK (0x7U)
  23401. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_MUX_MODE_SHIFT (0U)
  23402. /*! MUX_MODE - MUX Mode Select Field.
  23403. * 0b000..Select mux mode: ALT0 mux port: SNVS_LP_PMIC_ON_REQ of instance: snvs_lp
  23404. * 0b101..Select mux mode: ALT5 mux port: GPIO5_IO01 of instance: gpio5
  23405. */
  23406. #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)
  23407. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_SION_MASK (0x10U)
  23408. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_SION_SHIFT (4U)
  23409. /*! SION - Software Input On Field.
  23410. * 0b1..Force input path of pad PMIC_ON_REQ
  23411. * 0b0..Input Path is determined by functionality
  23412. */
  23413. #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)
  23414. /*! @} */
  23415. /*! @name SW_MUX_CTL_PAD_PMIC_STBY_REQ - SW_MUX_CTL_PAD_PMIC_STBY_REQ SW MUX Control Register */
  23416. /*! @{ */
  23417. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_MUX_MODE_MASK (0x7U)
  23418. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_MUX_MODE_SHIFT (0U)
  23419. /*! MUX_MODE - MUX Mode Select Field.
  23420. * 0b000..Select mux mode: ALT0 mux port: CCM_PMIC_VSTBY_REQ of instance: ccm
  23421. * 0b101..Select mux mode: ALT5 mux port: GPIO5_IO02 of instance: gpio5
  23422. */
  23423. #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)
  23424. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_SION_MASK (0x10U)
  23425. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_SION_SHIFT (4U)
  23426. /*! SION - Software Input On Field.
  23427. * 0b1..Force input path of pad PMIC_STBY_REQ
  23428. * 0b0..Input Path is determined by functionality
  23429. */
  23430. #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)
  23431. /*! @} */
  23432. /*! @name SW_PAD_CTL_PAD_TEST_MODE - SW_PAD_CTL_PAD_TEST_MODE SW PAD Control Register */
  23433. /*! @{ */
  23434. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_SRE_MASK (0x1U)
  23435. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_SRE_SHIFT (0U)
  23436. /*! SRE - Slew Rate Field
  23437. * 0b0..Slow Slew Rate
  23438. * 0b1..Fast Slew Rate
  23439. */
  23440. #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)
  23441. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DSE_MASK (0x38U)
  23442. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DSE_SHIFT (3U)
  23443. /*! DSE - Drive Strength Field
  23444. * 0b000..output driver disabled;
  23445. * 0b001..R0(260 Ohm @ 3.3V, 150 Ohm@1.8V, 240 Ohm for DDR)
  23446. * 0b010..R0/2
  23447. * 0b011..R0/3
  23448. * 0b100..R0/4
  23449. * 0b101..R0/5
  23450. * 0b110..R0/6
  23451. * 0b111..R0/7
  23452. */
  23453. #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)
  23454. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_SPEED_MASK (0xC0U)
  23455. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_SPEED_SHIFT (6U)
  23456. /*! SPEED - Speed Field
  23457. * 0b10..medium(100MHz)
  23458. */
  23459. #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)
  23460. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_ODE_MASK (0x800U)
  23461. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_ODE_SHIFT (11U)
  23462. /*! ODE - Open Drain Enable Field
  23463. * 0b0..Open Drain Disabled
  23464. * 0b1..Open Drain Enabled
  23465. */
  23466. #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)
  23467. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PKE_MASK (0x1000U)
  23468. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PKE_SHIFT (12U)
  23469. /*! PKE - Pull / Keep Enable Field
  23470. * 0b0..Pull/Keeper Disabled
  23471. * 0b1..Pull/Keeper Enabled
  23472. */
  23473. #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)
  23474. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PUE_MASK (0x2000U)
  23475. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PUE_SHIFT (13U)
  23476. /*! PUE - Pull / Keep Select Field
  23477. * 0b0..Keeper
  23478. * 0b1..Pull
  23479. */
  23480. #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)
  23481. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PUS_MASK (0xC000U)
  23482. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_PUS_SHIFT (14U)
  23483. /*! PUS - Pull Up / Down Config. Field
  23484. * 0b00..100K Ohm Pull Down
  23485. * 0b01..47K Ohm Pull Up
  23486. * 0b10..100K Ohm Pull Up
  23487. * 0b11..22K Ohm Pull Up
  23488. */
  23489. #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)
  23490. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_HYS_MASK (0x10000U)
  23491. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_HYS_SHIFT (16U)
  23492. /*! HYS - Hyst. Enable Field
  23493. * 0b0..Hysteresis Disabled
  23494. * 0b1..Hysteresis Enabled
  23495. */
  23496. #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)
  23497. /*! @} */
  23498. /*! @name SW_PAD_CTL_PAD_POR_B - SW_PAD_CTL_PAD_POR_B SW PAD Control Register */
  23499. /*! @{ */
  23500. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_SRE_MASK (0x1U)
  23501. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_SRE_SHIFT (0U)
  23502. /*! SRE - Slew Rate Field
  23503. * 0b0..Slow Slew Rate
  23504. * 0b1..Fast Slew Rate
  23505. */
  23506. #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)
  23507. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DSE_MASK (0x38U)
  23508. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DSE_SHIFT (3U)
  23509. /*! DSE - Drive Strength Field
  23510. * 0b000..output driver disabled;
  23511. * 0b001..R0(260 Ohm @ 3.3V, 150 Ohm@1.8V, 240 Ohm for DDR)
  23512. * 0b010..R0/2
  23513. * 0b011..R0/3
  23514. * 0b100..R0/4
  23515. * 0b101..R0/5
  23516. * 0b110..R0/6
  23517. * 0b111..R0/7
  23518. */
  23519. #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)
  23520. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_SPEED_MASK (0xC0U)
  23521. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_SPEED_SHIFT (6U)
  23522. /*! SPEED - Speed Field
  23523. * 0b10..medium(100MHz)
  23524. */
  23525. #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)
  23526. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_ODE_MASK (0x800U)
  23527. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_ODE_SHIFT (11U)
  23528. /*! ODE - Open Drain Enable Field
  23529. * 0b0..Open Drain Disabled
  23530. * 0b1..Open Drain Enabled
  23531. */
  23532. #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)
  23533. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PKE_MASK (0x1000U)
  23534. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PKE_SHIFT (12U)
  23535. /*! PKE - Pull / Keep Enable Field
  23536. * 0b0..Pull/Keeper Disabled
  23537. * 0b1..Pull/Keeper Enabled
  23538. */
  23539. #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)
  23540. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PUE_MASK (0x2000U)
  23541. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PUE_SHIFT (13U)
  23542. /*! PUE - Pull / Keep Select Field
  23543. * 0b0..Keeper
  23544. * 0b1..Pull
  23545. */
  23546. #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)
  23547. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PUS_MASK (0xC000U)
  23548. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_PUS_SHIFT (14U)
  23549. /*! PUS - Pull Up / Down Config. Field
  23550. * 0b00..100K Ohm Pull Down
  23551. * 0b01..47K Ohm Pull Up
  23552. * 0b10..100K Ohm Pull Up
  23553. * 0b11..22K Ohm Pull Up
  23554. */
  23555. #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)
  23556. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_HYS_MASK (0x10000U)
  23557. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_HYS_SHIFT (16U)
  23558. /*! HYS - Hyst. Enable Field
  23559. * 0b0..Hysteresis Disabled
  23560. * 0b1..Hysteresis Enabled
  23561. */
  23562. #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)
  23563. /*! @} */
  23564. /*! @name SW_PAD_CTL_PAD_ONOFF - SW_PAD_CTL_PAD_ONOFF SW PAD Control Register */
  23565. /*! @{ */
  23566. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_SRE_MASK (0x1U)
  23567. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_SRE_SHIFT (0U)
  23568. /*! SRE - Slew Rate Field
  23569. * 0b0..Slow Slew Rate
  23570. * 0b1..Fast Slew Rate
  23571. */
  23572. #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)
  23573. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DSE_MASK (0x38U)
  23574. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DSE_SHIFT (3U)
  23575. /*! DSE - Drive Strength Field
  23576. * 0b000..output driver disabled;
  23577. * 0b001..R0(260 Ohm @ 3.3V, 150 Ohm@1.8V, 240 Ohm for DDR)
  23578. * 0b010..R0/2
  23579. * 0b011..R0/3
  23580. * 0b100..R0/4
  23581. * 0b101..R0/5
  23582. * 0b110..R0/6
  23583. * 0b111..R0/7
  23584. */
  23585. #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)
  23586. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_SPEED_MASK (0xC0U)
  23587. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_SPEED_SHIFT (6U)
  23588. /*! SPEED - Speed Field
  23589. * 0b10..medium(100MHz)
  23590. */
  23591. #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)
  23592. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_ODE_MASK (0x800U)
  23593. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_ODE_SHIFT (11U)
  23594. /*! ODE - Open Drain Enable Field
  23595. * 0b0..Open Drain Disabled
  23596. * 0b1..Open Drain Enabled
  23597. */
  23598. #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)
  23599. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PKE_MASK (0x1000U)
  23600. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PKE_SHIFT (12U)
  23601. /*! PKE - Pull / Keep Enable Field
  23602. * 0b0..Pull/Keeper Disabled
  23603. * 0b1..Pull/Keeper Enabled
  23604. */
  23605. #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)
  23606. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PUE_MASK (0x2000U)
  23607. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PUE_SHIFT (13U)
  23608. /*! PUE - Pull / Keep Select Field
  23609. * 0b0..Keeper
  23610. * 0b1..Pull
  23611. */
  23612. #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)
  23613. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PUS_MASK (0xC000U)
  23614. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_PUS_SHIFT (14U)
  23615. /*! PUS - Pull Up / Down Config. Field
  23616. * 0b00..100K Ohm Pull Down
  23617. * 0b01..47K Ohm Pull Up
  23618. * 0b10..100K Ohm Pull Up
  23619. * 0b11..22K Ohm Pull Up
  23620. */
  23621. #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)
  23622. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_HYS_MASK (0x10000U)
  23623. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_HYS_SHIFT (16U)
  23624. /*! HYS - Hyst. Enable Field
  23625. * 0b0..Hysteresis Disabled
  23626. * 0b1..Hysteresis Enabled
  23627. */
  23628. #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)
  23629. /*! @} */
  23630. /*! @name SW_PAD_CTL_PAD_WAKEUP - SW_PAD_CTL_PAD_WAKEUP SW PAD Control Register */
  23631. /*! @{ */
  23632. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_SRE_MASK (0x1U)
  23633. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_SRE_SHIFT (0U)
  23634. /*! SRE - Slew Rate Field
  23635. * 0b0..Slow Slew Rate
  23636. * 0b1..Fast Slew Rate
  23637. */
  23638. #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)
  23639. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DSE_MASK (0x38U)
  23640. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DSE_SHIFT (3U)
  23641. /*! DSE - Drive Strength Field
  23642. * 0b000..output driver disabled;
  23643. * 0b001..R0(260 Ohm @ 3.3V, 150 Ohm@1.8V, 240 Ohm for DDR)
  23644. * 0b010..R0/2
  23645. * 0b011..R0/3
  23646. * 0b100..R0/4
  23647. * 0b101..R0/5
  23648. * 0b110..R0/6
  23649. * 0b111..R0/7
  23650. */
  23651. #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)
  23652. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_SPEED_MASK (0xC0U)
  23653. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_SPEED_SHIFT (6U)
  23654. /*! SPEED - Speed Field
  23655. * 0b10..medium(100MHz)
  23656. */
  23657. #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)
  23658. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_ODE_MASK (0x800U)
  23659. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_ODE_SHIFT (11U)
  23660. /*! ODE - Open Drain Enable Field
  23661. * 0b0..Open Drain Disabled
  23662. * 0b1..Open Drain Enabled
  23663. */
  23664. #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)
  23665. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PKE_MASK (0x1000U)
  23666. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PKE_SHIFT (12U)
  23667. /*! PKE - Pull / Keep Enable Field
  23668. * 0b0..Pull/Keeper Disabled
  23669. * 0b1..Pull/Keeper Enabled
  23670. */
  23671. #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)
  23672. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PUE_MASK (0x2000U)
  23673. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PUE_SHIFT (13U)
  23674. /*! PUE - Pull / Keep Select Field
  23675. * 0b0..Keeper
  23676. * 0b1..Pull
  23677. */
  23678. #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)
  23679. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PUS_MASK (0xC000U)
  23680. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_PUS_SHIFT (14U)
  23681. /*! PUS - Pull Up / Down Config. Field
  23682. * 0b00..100K Ohm Pull Down
  23683. * 0b01..47K Ohm Pull Up
  23684. * 0b10..100K Ohm Pull Up
  23685. * 0b11..22K Ohm Pull Up
  23686. */
  23687. #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)
  23688. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_HYS_MASK (0x10000U)
  23689. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_HYS_SHIFT (16U)
  23690. /*! HYS - Hyst. Enable Field
  23691. * 0b0..Hysteresis Disabled
  23692. * 0b1..Hysteresis Enabled
  23693. */
  23694. #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)
  23695. /*! @} */
  23696. /*! @name SW_PAD_CTL_PAD_PMIC_ON_REQ - SW_PAD_CTL_PAD_PMIC_ON_REQ SW PAD Control Register */
  23697. /*! @{ */
  23698. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_SRE_MASK (0x1U)
  23699. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_SRE_SHIFT (0U)
  23700. /*! SRE - Slew Rate Field
  23701. * 0b0..Slow Slew Rate
  23702. * 0b1..Fast Slew Rate
  23703. */
  23704. #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)
  23705. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DSE_MASK (0x38U)
  23706. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DSE_SHIFT (3U)
  23707. /*! DSE - Drive Strength Field
  23708. * 0b000..output driver disabled;
  23709. * 0b001..R0(260 Ohm @ 3.3V, 150 Ohm@1.8V, 240 Ohm for DDR)
  23710. * 0b010..R0/2
  23711. * 0b011..R0/3
  23712. * 0b100..R0/4
  23713. * 0b101..R0/5
  23714. * 0b110..R0/6
  23715. * 0b111..R0/7
  23716. */
  23717. #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)
  23718. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_SPEED_MASK (0xC0U)
  23719. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_SPEED_SHIFT (6U)
  23720. /*! SPEED - Speed Field
  23721. * 0b10..medium(100MHz)
  23722. */
  23723. #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)
  23724. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_ODE_MASK (0x800U)
  23725. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_ODE_SHIFT (11U)
  23726. /*! ODE - Open Drain Enable Field
  23727. * 0b0..Open Drain Disabled
  23728. * 0b1..Open Drain Enabled
  23729. */
  23730. #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)
  23731. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PKE_MASK (0x1000U)
  23732. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PKE_SHIFT (12U)
  23733. /*! PKE - Pull / Keep Enable Field
  23734. * 0b0..Pull/Keeper Disabled
  23735. * 0b1..Pull/Keeper Enabled
  23736. */
  23737. #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)
  23738. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PUE_MASK (0x2000U)
  23739. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PUE_SHIFT (13U)
  23740. /*! PUE - Pull / Keep Select Field
  23741. * 0b0..Keeper
  23742. * 0b1..Pull
  23743. */
  23744. #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)
  23745. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PUS_MASK (0xC000U)
  23746. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_PUS_SHIFT (14U)
  23747. /*! PUS - Pull Up / Down Config. Field
  23748. * 0b00..100K Ohm Pull Down
  23749. * 0b01..47K Ohm Pull Up
  23750. * 0b10..100K Ohm Pull Up
  23751. * 0b11..22K Ohm Pull Up
  23752. */
  23753. #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)
  23754. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_HYS_MASK (0x10000U)
  23755. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_HYS_SHIFT (16U)
  23756. /*! HYS - Hyst. Enable Field
  23757. * 0b0..Hysteresis Disabled
  23758. * 0b1..Hysteresis Enabled
  23759. */
  23760. #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)
  23761. /*! @} */
  23762. /*! @name SW_PAD_CTL_PAD_PMIC_STBY_REQ - SW_PAD_CTL_PAD_PMIC_STBY_REQ SW PAD Control Register */
  23763. /*! @{ */
  23764. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_SRE_MASK (0x1U)
  23765. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_SRE_SHIFT (0U)
  23766. /*! SRE - Slew Rate Field
  23767. * 0b0..Slow Slew Rate
  23768. * 0b1..Fast Slew Rate
  23769. */
  23770. #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)
  23771. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DSE_MASK (0x38U)
  23772. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DSE_SHIFT (3U)
  23773. /*! DSE - Drive Strength Field
  23774. * 0b000..output driver disabled;
  23775. * 0b001..R0(260 Ohm @ 3.3V, 150 Ohm@1.8V, 240 Ohm for DDR)
  23776. * 0b010..R0/2
  23777. * 0b011..R0/3
  23778. * 0b100..R0/4
  23779. * 0b101..R0/5
  23780. * 0b110..R0/6
  23781. * 0b111..R0/7
  23782. */
  23783. #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)
  23784. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_SPEED_MASK (0xC0U)
  23785. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_SPEED_SHIFT (6U)
  23786. /*! SPEED - Speed Field
  23787. * 0b10..medium(100MHz)
  23788. */
  23789. #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)
  23790. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_ODE_MASK (0x800U)
  23791. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_ODE_SHIFT (11U)
  23792. /*! ODE - Open Drain Enable Field
  23793. * 0b0..Open Drain Disabled
  23794. * 0b1..Open Drain Enabled
  23795. */
  23796. #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)
  23797. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PKE_MASK (0x1000U)
  23798. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PKE_SHIFT (12U)
  23799. /*! PKE - Pull / Keep Enable Field
  23800. * 0b0..Pull/Keeper Disabled
  23801. * 0b1..Pull/Keeper Enabled
  23802. */
  23803. #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)
  23804. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PUE_MASK (0x2000U)
  23805. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PUE_SHIFT (13U)
  23806. /*! PUE - Pull / Keep Select Field
  23807. * 0b0..Keeper
  23808. * 0b1..Pull
  23809. */
  23810. #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)
  23811. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PUS_MASK (0xC000U)
  23812. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_PUS_SHIFT (14U)
  23813. /*! PUS - Pull Up / Down Config. Field
  23814. * 0b00..100K Ohm Pull Down
  23815. * 0b01..47K Ohm Pull Up
  23816. * 0b10..100K Ohm Pull Up
  23817. * 0b11..22K Ohm Pull Up
  23818. */
  23819. #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)
  23820. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_HYS_MASK (0x10000U)
  23821. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_HYS_SHIFT (16U)
  23822. /*! HYS - Hyst. Enable Field
  23823. * 0b0..Hysteresis Disabled
  23824. * 0b1..Hysteresis Enabled
  23825. */
  23826. #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)
  23827. /*! @} */
  23828. /*!
  23829. * @}
  23830. */ /* end of group IOMUXC_SNVS_Register_Masks */
  23831. /* IOMUXC_SNVS - Peripheral instance base addresses */
  23832. /** Peripheral IOMUXC_SNVS base address */
  23833. #define IOMUXC_SNVS_BASE (0x400A8000u)
  23834. /** Peripheral IOMUXC_SNVS base pointer */
  23835. #define IOMUXC_SNVS ((IOMUXC_SNVS_Type *)IOMUXC_SNVS_BASE)
  23836. /** Array initializer of IOMUXC_SNVS peripheral base addresses */
  23837. #define IOMUXC_SNVS_BASE_ADDRS { IOMUXC_SNVS_BASE }
  23838. /** Array initializer of IOMUXC_SNVS peripheral base pointers */
  23839. #define IOMUXC_SNVS_BASE_PTRS { IOMUXC_SNVS }
  23840. /*!
  23841. * @}
  23842. */ /* end of group IOMUXC_SNVS_Peripheral_Access_Layer */
  23843. /* ----------------------------------------------------------------------------
  23844. -- IOMUXC_SNVS_GPR Peripheral Access Layer
  23845. ---------------------------------------------------------------------------- */
  23846. /*!
  23847. * @addtogroup IOMUXC_SNVS_GPR_Peripheral_Access_Layer IOMUXC_SNVS_GPR Peripheral Access Layer
  23848. * @{
  23849. */
  23850. /** IOMUXC_SNVS_GPR - Register Layout Typedef */
  23851. typedef struct {
  23852. uint32_t GPR0; /**< GPR0 General Purpose Register, offset: 0x0 */
  23853. uint32_t GPR1; /**< GPR1 General Purpose Register, offset: 0x4 */
  23854. uint32_t GPR2; /**< GPR2 General Purpose Register, offset: 0x8 */
  23855. __IO uint32_t GPR3; /**< GPR3 General Purpose Register, offset: 0xC */
  23856. } IOMUXC_SNVS_GPR_Type;
  23857. /* ----------------------------------------------------------------------------
  23858. -- IOMUXC_SNVS_GPR Register Masks
  23859. ---------------------------------------------------------------------------- */
  23860. /*!
  23861. * @addtogroup IOMUXC_SNVS_GPR_Register_Masks IOMUXC_SNVS_GPR Register Masks
  23862. * @{
  23863. */
  23864. /*! @name GPR3 - GPR3 General Purpose Register */
  23865. /*! @{ */
  23866. #define IOMUXC_SNVS_GPR_GPR3_LPSR_MODE_ENABLE_MASK (0x1U)
  23867. #define IOMUXC_SNVS_GPR_GPR3_LPSR_MODE_ENABLE_SHIFT (0U)
  23868. #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)
  23869. #define IOMUXC_SNVS_GPR_GPR3_DCDC_STATUS_CAPT_CLR_MASK (0x2U)
  23870. #define IOMUXC_SNVS_GPR_GPR3_DCDC_STATUS_CAPT_CLR_SHIFT (1U)
  23871. /*! DCDC_STATUS_CAPT_CLR - DCDC captured status clear
  23872. */
  23873. #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)
  23874. #define IOMUXC_SNVS_GPR_GPR3_POR_PULL_TYPE_MASK (0xCU)
  23875. #define IOMUXC_SNVS_GPR_GPR3_POR_PULL_TYPE_SHIFT (2U)
  23876. #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)
  23877. #define IOMUXC_SNVS_GPR_GPR3_DCDC_IN_LOW_VOL_MASK (0x10000U)
  23878. #define IOMUXC_SNVS_GPR_GPR3_DCDC_IN_LOW_VOL_SHIFT (16U)
  23879. #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)
  23880. #define IOMUXC_SNVS_GPR_GPR3_DCDC_OVER_CUR_MASK (0x20000U)
  23881. #define IOMUXC_SNVS_GPR_GPR3_DCDC_OVER_CUR_SHIFT (17U)
  23882. #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)
  23883. #define IOMUXC_SNVS_GPR_GPR3_DCDC_OVER_VOL_MASK (0x40000U)
  23884. #define IOMUXC_SNVS_GPR_GPR3_DCDC_OVER_VOL_SHIFT (18U)
  23885. #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)
  23886. #define IOMUXC_SNVS_GPR_GPR3_DCDC_STS_DC_OK_MASK (0x80000U)
  23887. #define IOMUXC_SNVS_GPR_GPR3_DCDC_STS_DC_OK_SHIFT (19U)
  23888. #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)
  23889. /*! @} */
  23890. /*!
  23891. * @}
  23892. */ /* end of group IOMUXC_SNVS_GPR_Register_Masks */
  23893. /* IOMUXC_SNVS_GPR - Peripheral instance base addresses */
  23894. /** Peripheral IOMUXC_SNVS_GPR base address */
  23895. #define IOMUXC_SNVS_GPR_BASE (0x400A4000u)
  23896. /** Peripheral IOMUXC_SNVS_GPR base pointer */
  23897. #define IOMUXC_SNVS_GPR ((IOMUXC_SNVS_GPR_Type *)IOMUXC_SNVS_GPR_BASE)
  23898. /** Array initializer of IOMUXC_SNVS_GPR peripheral base addresses */
  23899. #define IOMUXC_SNVS_GPR_BASE_ADDRS { IOMUXC_SNVS_GPR_BASE }
  23900. /** Array initializer of IOMUXC_SNVS_GPR peripheral base pointers */
  23901. #define IOMUXC_SNVS_GPR_BASE_PTRS { IOMUXC_SNVS_GPR }
  23902. /*!
  23903. * @}
  23904. */ /* end of group IOMUXC_SNVS_GPR_Peripheral_Access_Layer */
  23905. /* ----------------------------------------------------------------------------
  23906. -- KPP Peripheral Access Layer
  23907. ---------------------------------------------------------------------------- */
  23908. /*!
  23909. * @addtogroup KPP_Peripheral_Access_Layer KPP Peripheral Access Layer
  23910. * @{
  23911. */
  23912. /** KPP - Register Layout Typedef */
  23913. typedef struct {
  23914. __IO uint16_t KPCR; /**< Keypad Control Register, offset: 0x0 */
  23915. __IO uint16_t KPSR; /**< Keypad Status Register, offset: 0x2 */
  23916. __IO uint16_t KDDR; /**< Keypad Data Direction Register, offset: 0x4 */
  23917. __IO uint16_t KPDR; /**< Keypad Data Register, offset: 0x6 */
  23918. } KPP_Type;
  23919. /* ----------------------------------------------------------------------------
  23920. -- KPP Register Masks
  23921. ---------------------------------------------------------------------------- */
  23922. /*!
  23923. * @addtogroup KPP_Register_Masks KPP Register Masks
  23924. * @{
  23925. */
  23926. /*! @name KPCR - Keypad Control Register */
  23927. /*! @{ */
  23928. #define KPP_KPCR_KRE_MASK (0xFFU)
  23929. #define KPP_KPCR_KRE_SHIFT (0U)
  23930. /*! KRE
  23931. * 0b00000000..Row is not included in the keypad key press detect.
  23932. * 0b00000001..Row is included in the keypad key press detect.
  23933. */
  23934. #define KPP_KPCR_KRE(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPCR_KRE_SHIFT)) & KPP_KPCR_KRE_MASK)
  23935. #define KPP_KPCR_KCO_MASK (0xFF00U)
  23936. #define KPP_KPCR_KCO_SHIFT (8U)
  23937. /*! KCO
  23938. * 0b00000000..Column strobe output is totem pole drive.
  23939. * 0b00000001..Column strobe output is open drain.
  23940. */
  23941. #define KPP_KPCR_KCO(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPCR_KCO_SHIFT)) & KPP_KPCR_KCO_MASK)
  23942. /*! @} */
  23943. /*! @name KPSR - Keypad Status Register */
  23944. /*! @{ */
  23945. #define KPP_KPSR_KPKD_MASK (0x1U)
  23946. #define KPP_KPSR_KPKD_SHIFT (0U)
  23947. /*! KPKD
  23948. * 0b0..No key presses detected
  23949. * 0b1..A key has been depressed
  23950. */
  23951. #define KPP_KPSR_KPKD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KPKD_SHIFT)) & KPP_KPSR_KPKD_MASK)
  23952. #define KPP_KPSR_KPKR_MASK (0x2U)
  23953. #define KPP_KPSR_KPKR_SHIFT (1U)
  23954. /*! KPKR
  23955. * 0b0..No key release detected
  23956. * 0b1..All keys have been released
  23957. */
  23958. #define KPP_KPSR_KPKR(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KPKR_SHIFT)) & KPP_KPSR_KPKR_MASK)
  23959. #define KPP_KPSR_KDSC_MASK (0x4U)
  23960. #define KPP_KPSR_KDSC_SHIFT (2U)
  23961. /*! KDSC
  23962. * 0b0..No effect
  23963. * 0b1..Set bits that clear the keypad depress synchronizer chain
  23964. */
  23965. #define KPP_KPSR_KDSC(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KDSC_SHIFT)) & KPP_KPSR_KDSC_MASK)
  23966. #define KPP_KPSR_KRSS_MASK (0x8U)
  23967. #define KPP_KPSR_KRSS_SHIFT (3U)
  23968. /*! KRSS
  23969. * 0b0..No effect
  23970. * 0b1..Set bits which sets keypad release synchronizer chain
  23971. */
  23972. #define KPP_KPSR_KRSS(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KRSS_SHIFT)) & KPP_KPSR_KRSS_MASK)
  23973. #define KPP_KPSR_KDIE_MASK (0x100U)
  23974. #define KPP_KPSR_KDIE_SHIFT (8U)
  23975. /*! KDIE
  23976. * 0b0..No interrupt request is generated when KPKD is set.
  23977. * 0b1..An interrupt request is generated when KPKD is set.
  23978. */
  23979. #define KPP_KPSR_KDIE(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KDIE_SHIFT)) & KPP_KPSR_KDIE_MASK)
  23980. #define KPP_KPSR_KRIE_MASK (0x200U)
  23981. #define KPP_KPSR_KRIE_SHIFT (9U)
  23982. /*! KRIE
  23983. * 0b0..No interrupt request is generated when KPKR is set.
  23984. * 0b1..An interrupt request is generated when KPKR is set.
  23985. */
  23986. #define KPP_KPSR_KRIE(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KRIE_SHIFT)) & KPP_KPSR_KRIE_MASK)
  23987. /*! @} */
  23988. /*! @name KDDR - Keypad Data Direction Register */
  23989. /*! @{ */
  23990. #define KPP_KDDR_KRDD_MASK (0xFFU)
  23991. #define KPP_KDDR_KRDD_SHIFT (0U)
  23992. /*! KRDD
  23993. * 0b00000000..ROWn pin configured as an input.
  23994. * 0b00000001..ROWn pin configured as an output.
  23995. */
  23996. #define KPP_KDDR_KRDD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KDDR_KRDD_SHIFT)) & KPP_KDDR_KRDD_MASK)
  23997. #define KPP_KDDR_KCDD_MASK (0xFF00U)
  23998. #define KPP_KDDR_KCDD_SHIFT (8U)
  23999. /*! KCDD
  24000. * 0b00000000..COLn pin is configured as an input.
  24001. * 0b00000001..COLn pin is configured as an output.
  24002. */
  24003. #define KPP_KDDR_KCDD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KDDR_KCDD_SHIFT)) & KPP_KDDR_KCDD_MASK)
  24004. /*! @} */
  24005. /*! @name KPDR - Keypad Data Register */
  24006. /*! @{ */
  24007. #define KPP_KPDR_KRD_MASK (0xFFU)
  24008. #define KPP_KPDR_KRD_SHIFT (0U)
  24009. #define KPP_KPDR_KRD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPDR_KRD_SHIFT)) & KPP_KPDR_KRD_MASK)
  24010. #define KPP_KPDR_KCD_MASK (0xFF00U)
  24011. #define KPP_KPDR_KCD_SHIFT (8U)
  24012. #define KPP_KPDR_KCD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPDR_KCD_SHIFT)) & KPP_KPDR_KCD_MASK)
  24013. /*! @} */
  24014. /*!
  24015. * @}
  24016. */ /* end of group KPP_Register_Masks */
  24017. /* KPP - Peripheral instance base addresses */
  24018. /** Peripheral KPP base address */
  24019. #define KPP_BASE (0x401FC000u)
  24020. /** Peripheral KPP base pointer */
  24021. #define KPP ((KPP_Type *)KPP_BASE)
  24022. /** Array initializer of KPP peripheral base addresses */
  24023. #define KPP_BASE_ADDRS { KPP_BASE }
  24024. /** Array initializer of KPP peripheral base pointers */
  24025. #define KPP_BASE_PTRS { KPP }
  24026. /** Interrupt vectors for the KPP peripheral type */
  24027. #define KPP_IRQS { KPP_IRQn }
  24028. /*!
  24029. * @}
  24030. */ /* end of group KPP_Peripheral_Access_Layer */
  24031. /* ----------------------------------------------------------------------------
  24032. -- LCDIF Peripheral Access Layer
  24033. ---------------------------------------------------------------------------- */
  24034. /*!
  24035. * @addtogroup LCDIF_Peripheral_Access_Layer LCDIF Peripheral Access Layer
  24036. * @{
  24037. */
  24038. /** LCDIF - Register Layout Typedef */
  24039. typedef struct {
  24040. __IO uint32_t CTRL; /**< LCDIF General Control Register, offset: 0x0 */
  24041. __IO uint32_t CTRL_SET; /**< LCDIF General Control Register, offset: 0x4 */
  24042. __IO uint32_t CTRL_CLR; /**< LCDIF General Control Register, offset: 0x8 */
  24043. __IO uint32_t CTRL_TOG; /**< LCDIF General Control Register, offset: 0xC */
  24044. __IO uint32_t CTRL1; /**< LCDIF General Control1 Register, offset: 0x10 */
  24045. __IO uint32_t CTRL1_SET; /**< LCDIF General Control1 Register, offset: 0x14 */
  24046. __IO uint32_t CTRL1_CLR; /**< LCDIF General Control1 Register, offset: 0x18 */
  24047. __IO uint32_t CTRL1_TOG; /**< LCDIF General Control1 Register, offset: 0x1C */
  24048. __IO uint32_t CTRL2; /**< LCDIF General Control2 Register, offset: 0x20 */
  24049. __IO uint32_t CTRL2_SET; /**< LCDIF General Control2 Register, offset: 0x24 */
  24050. __IO uint32_t CTRL2_CLR; /**< LCDIF General Control2 Register, offset: 0x28 */
  24051. __IO uint32_t CTRL2_TOG; /**< LCDIF General Control2 Register, offset: 0x2C */
  24052. __IO uint32_t TRANSFER_COUNT; /**< LCDIF Horizontal and Vertical Valid Data Count Register, offset: 0x30 */
  24053. uint8_t RESERVED_0[12];
  24054. __IO uint32_t CUR_BUF; /**< LCD Interface Current Buffer Address Register, offset: 0x40 */
  24055. uint8_t RESERVED_1[12];
  24056. __IO uint32_t NEXT_BUF; /**< LCD Interface Next Buffer Address Register, offset: 0x50 */
  24057. uint8_t RESERVED_2[28];
  24058. __IO uint32_t VDCTRL0; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register0, offset: 0x70 */
  24059. __IO uint32_t VDCTRL0_SET; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register0, offset: 0x74 */
  24060. __IO uint32_t VDCTRL0_CLR; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register0, offset: 0x78 */
  24061. __IO uint32_t VDCTRL0_TOG; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register0, offset: 0x7C */
  24062. __IO uint32_t VDCTRL1; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register1, offset: 0x80 */
  24063. uint8_t RESERVED_3[12];
  24064. __IO uint32_t VDCTRL2; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register2, offset: 0x90 */
  24065. uint8_t RESERVED_4[12];
  24066. __IO uint32_t VDCTRL3; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register3, offset: 0xA0 */
  24067. uint8_t RESERVED_5[12];
  24068. __IO uint32_t VDCTRL4; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register4, offset: 0xB0 */
  24069. uint8_t RESERVED_6[220];
  24070. __IO uint32_t BM_ERROR_STAT; /**< Bus Master Error Status Register, offset: 0x190 */
  24071. uint8_t RESERVED_7[12];
  24072. __IO uint32_t CRC_STAT; /**< CRC Status Register, offset: 0x1A0 */
  24073. uint8_t RESERVED_8[12];
  24074. __I uint32_t STAT; /**< LCD Interface Status Register, offset: 0x1B0 */
  24075. uint8_t RESERVED_9[460];
  24076. __IO uint32_t PIGEONCTRL0; /**< LCDIF Pigeon Mode Control0 Register, offset: 0x380 */
  24077. __IO uint32_t PIGEONCTRL0_SET; /**< LCDIF Pigeon Mode Control0 Register, offset: 0x384 */
  24078. __IO uint32_t PIGEONCTRL0_CLR; /**< LCDIF Pigeon Mode Control0 Register, offset: 0x388 */
  24079. __IO uint32_t PIGEONCTRL0_TOG; /**< LCDIF Pigeon Mode Control0 Register, offset: 0x38C */
  24080. __IO uint32_t PIGEONCTRL1; /**< LCDIF Pigeon Mode Control1 Register, offset: 0x390 */
  24081. __IO uint32_t PIGEONCTRL1_SET; /**< LCDIF Pigeon Mode Control1 Register, offset: 0x394 */
  24082. __IO uint32_t PIGEONCTRL1_CLR; /**< LCDIF Pigeon Mode Control1 Register, offset: 0x398 */
  24083. __IO uint32_t PIGEONCTRL1_TOG; /**< LCDIF Pigeon Mode Control1 Register, offset: 0x39C */
  24084. __IO uint32_t PIGEONCTRL2; /**< LCDIF Pigeon Mode Control2 Register, offset: 0x3A0 */
  24085. __IO uint32_t PIGEONCTRL2_SET; /**< LCDIF Pigeon Mode Control2 Register, offset: 0x3A4 */
  24086. __IO uint32_t PIGEONCTRL2_CLR; /**< LCDIF Pigeon Mode Control2 Register, offset: 0x3A8 */
  24087. __IO uint32_t PIGEONCTRL2_TOG; /**< LCDIF Pigeon Mode Control2 Register, offset: 0x3AC */
  24088. uint8_t RESERVED_10[1104];
  24089. struct { /* offset: 0x800, array step: 0x40 */
  24090. __IO uint32_t PIGEON_0; /**< Panel Interface Signal Generator Register, array offset: 0x800, array step: 0x40 */
  24091. uint8_t RESERVED_0[12];
  24092. __IO uint32_t PIGEON_1; /**< Panel Interface Signal Generator Register, array offset: 0x810, array step: 0x40 */
  24093. uint8_t RESERVED_1[12];
  24094. __IO uint32_t PIGEON_2; /**< Panel Interface Signal Generator Register, array offset: 0x820, array step: 0x40 */
  24095. uint8_t RESERVED_2[28];
  24096. } PIGEON[12];
  24097. __IO uint32_t LUT_CTRL; /**< Lookup Table Data Register., offset: 0xB00 */
  24098. uint8_t RESERVED_11[12];
  24099. __IO uint32_t LUT0_ADDR; /**< Lookup Table Control Register., offset: 0xB10 */
  24100. uint8_t RESERVED_12[12];
  24101. __IO uint32_t LUT0_DATA; /**< Lookup Table Data Register., offset: 0xB20 */
  24102. uint8_t RESERVED_13[12];
  24103. __IO uint32_t LUT1_ADDR; /**< Lookup Table Control Register., offset: 0xB30 */
  24104. uint8_t RESERVED_14[12];
  24105. __IO uint32_t LUT1_DATA; /**< Lookup Table Data Register., offset: 0xB40 */
  24106. } LCDIF_Type;
  24107. /* ----------------------------------------------------------------------------
  24108. -- LCDIF Register Masks
  24109. ---------------------------------------------------------------------------- */
  24110. /*!
  24111. * @addtogroup LCDIF_Register_Masks LCDIF Register Masks
  24112. * @{
  24113. */
  24114. /*! @name CTRL - LCDIF General Control Register */
  24115. /*! @{ */
  24116. #define LCDIF_CTRL_RUN_MASK (0x1U)
  24117. #define LCDIF_CTRL_RUN_SHIFT (0U)
  24118. #define LCDIF_CTRL_RUN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_RUN_SHIFT)) & LCDIF_CTRL_RUN_MASK)
  24119. #define LCDIF_CTRL_DATA_FORMAT_24_BIT_MASK (0x2U)
  24120. #define LCDIF_CTRL_DATA_FORMAT_24_BIT_SHIFT (1U)
  24121. /*! DATA_FORMAT_24_BIT
  24122. * 0b0..Data input to the block is in 24 bpp format, such that all RGB 888 data is contained in 24 bits.
  24123. * 0b1..Data input to the block is actually RGB 18 bpp, but there is 1 color per byte, hence the upper 2 bits in
  24124. * each byte do not contain any useful data, and should be dropped.
  24125. */
  24126. #define LCDIF_CTRL_DATA_FORMAT_24_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_DATA_FORMAT_24_BIT_SHIFT)) & LCDIF_CTRL_DATA_FORMAT_24_BIT_MASK)
  24127. #define LCDIF_CTRL_DATA_FORMAT_18_BIT_MASK (0x4U)
  24128. #define LCDIF_CTRL_DATA_FORMAT_18_BIT_SHIFT (2U)
  24129. /*! DATA_FORMAT_18_BIT
  24130. * 0b0..Data input to the block is in 18 bpp format, such that lower 18 bits contain RGB 666 and upper 14 bits do not contain any useful data.
  24131. * 0b1..Data input to the block is in 18 bpp format, such that upper 18 bits contain RGB 666 and lower 14 bits do not contain any useful data.
  24132. */
  24133. #define LCDIF_CTRL_DATA_FORMAT_18_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_DATA_FORMAT_18_BIT_SHIFT)) & LCDIF_CTRL_DATA_FORMAT_18_BIT_MASK)
  24134. #define LCDIF_CTRL_DATA_FORMAT_16_BIT_MASK (0x8U)
  24135. #define LCDIF_CTRL_DATA_FORMAT_16_BIT_SHIFT (3U)
  24136. #define LCDIF_CTRL_DATA_FORMAT_16_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_DATA_FORMAT_16_BIT_SHIFT)) & LCDIF_CTRL_DATA_FORMAT_16_BIT_MASK)
  24137. #define LCDIF_CTRL_RSRVD0_MASK (0x10U)
  24138. #define LCDIF_CTRL_RSRVD0_SHIFT (4U)
  24139. #define LCDIF_CTRL_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_RSRVD0_SHIFT)) & LCDIF_CTRL_RSRVD0_MASK)
  24140. #define LCDIF_CTRL_MASTER_MASK (0x20U)
  24141. #define LCDIF_CTRL_MASTER_SHIFT (5U)
  24142. #define LCDIF_CTRL_MASTER(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_MASTER_SHIFT)) & LCDIF_CTRL_MASTER_MASK)
  24143. #define LCDIF_CTRL_ENABLE_PXP_HANDSHAKE_MASK (0x40U)
  24144. #define LCDIF_CTRL_ENABLE_PXP_HANDSHAKE_SHIFT (6U)
  24145. #define LCDIF_CTRL_ENABLE_PXP_HANDSHAKE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_ENABLE_PXP_HANDSHAKE_SHIFT)) & LCDIF_CTRL_ENABLE_PXP_HANDSHAKE_MASK)
  24146. #define LCDIF_CTRL_WORD_LENGTH_MASK (0x300U)
  24147. #define LCDIF_CTRL_WORD_LENGTH_SHIFT (8U)
  24148. /*! WORD_LENGTH
  24149. * 0b00..Input data is 16 bits per pixel.
  24150. * 0b01..Input data is 8 bits wide.
  24151. * 0b10..Input data is 18 bits per pixel.
  24152. * 0b11..Input data is 24 bits per pixel.
  24153. */
  24154. #define LCDIF_CTRL_WORD_LENGTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_WORD_LENGTH_SHIFT)) & LCDIF_CTRL_WORD_LENGTH_MASK)
  24155. #define LCDIF_CTRL_LCD_DATABUS_WIDTH_MASK (0xC00U)
  24156. #define LCDIF_CTRL_LCD_DATABUS_WIDTH_SHIFT (10U)
  24157. /*! LCD_DATABUS_WIDTH
  24158. * 0b00..16-bit data bus mode.
  24159. * 0b01..8-bit data bus mode.
  24160. * 0b10..18-bit data bus mode.
  24161. * 0b11..24-bit data bus mode.
  24162. */
  24163. #define LCDIF_CTRL_LCD_DATABUS_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_LCD_DATABUS_WIDTH_SHIFT)) & LCDIF_CTRL_LCD_DATABUS_WIDTH_MASK)
  24164. #define LCDIF_CTRL_CSC_DATA_SWIZZLE_MASK (0x3000U)
  24165. #define LCDIF_CTRL_CSC_DATA_SWIZZLE_SHIFT (12U)
  24166. /*! CSC_DATA_SWIZZLE
  24167. * 0b00..No byte swapping.(Little endian)
  24168. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  24169. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  24170. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  24171. * 0b10..Swap half-words.
  24172. * 0b11..Swap bytes within each half-word.
  24173. */
  24174. #define LCDIF_CTRL_CSC_DATA_SWIZZLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CSC_DATA_SWIZZLE_SHIFT)) & LCDIF_CTRL_CSC_DATA_SWIZZLE_MASK)
  24175. #define LCDIF_CTRL_INPUT_DATA_SWIZZLE_MASK (0xC000U)
  24176. #define LCDIF_CTRL_INPUT_DATA_SWIZZLE_SHIFT (14U)
  24177. /*! INPUT_DATA_SWIZZLE
  24178. * 0b00..No byte swapping.(Little endian)
  24179. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  24180. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  24181. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  24182. * 0b10..Swap half-words.
  24183. * 0b11..Swap bytes within each half-word.
  24184. */
  24185. #define LCDIF_CTRL_INPUT_DATA_SWIZZLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_INPUT_DATA_SWIZZLE_SHIFT)) & LCDIF_CTRL_INPUT_DATA_SWIZZLE_MASK)
  24186. #define LCDIF_CTRL_DOTCLK_MODE_MASK (0x20000U)
  24187. #define LCDIF_CTRL_DOTCLK_MODE_SHIFT (17U)
  24188. #define LCDIF_CTRL_DOTCLK_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_DOTCLK_MODE_SHIFT)) & LCDIF_CTRL_DOTCLK_MODE_MASK)
  24189. #define LCDIF_CTRL_BYPASS_COUNT_MASK (0x80000U)
  24190. #define LCDIF_CTRL_BYPASS_COUNT_SHIFT (19U)
  24191. #define LCDIF_CTRL_BYPASS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_BYPASS_COUNT_SHIFT)) & LCDIF_CTRL_BYPASS_COUNT_MASK)
  24192. #define LCDIF_CTRL_SHIFT_NUM_BITS_MASK (0x3E00000U)
  24193. #define LCDIF_CTRL_SHIFT_NUM_BITS_SHIFT (21U)
  24194. #define LCDIF_CTRL_SHIFT_NUM_BITS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SHIFT_NUM_BITS_SHIFT)) & LCDIF_CTRL_SHIFT_NUM_BITS_MASK)
  24195. #define LCDIF_CTRL_DATA_SHIFT_DIR_MASK (0x4000000U)
  24196. #define LCDIF_CTRL_DATA_SHIFT_DIR_SHIFT (26U)
  24197. /*! DATA_SHIFT_DIR
  24198. * 0b0..Data to be transmitted is shifted LEFT by SHIFT_NUM_BITS bits.
  24199. * 0b1..Data to be transmitted is shifted RIGHT by SHIFT_NUM_BITS bits.
  24200. */
  24201. #define LCDIF_CTRL_DATA_SHIFT_DIR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_DATA_SHIFT_DIR_SHIFT)) & LCDIF_CTRL_DATA_SHIFT_DIR_MASK)
  24202. #define LCDIF_CTRL_CLKGATE_MASK (0x40000000U)
  24203. #define LCDIF_CTRL_CLKGATE_SHIFT (30U)
  24204. #define LCDIF_CTRL_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLKGATE_SHIFT)) & LCDIF_CTRL_CLKGATE_MASK)
  24205. #define LCDIF_CTRL_SFTRST_MASK (0x80000000U)
  24206. #define LCDIF_CTRL_SFTRST_SHIFT (31U)
  24207. #define LCDIF_CTRL_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SFTRST_SHIFT)) & LCDIF_CTRL_SFTRST_MASK)
  24208. /*! @} */
  24209. /*! @name CTRL_SET - LCDIF General Control Register */
  24210. /*! @{ */
  24211. #define LCDIF_CTRL_SET_RUN_MASK (0x1U)
  24212. #define LCDIF_CTRL_SET_RUN_SHIFT (0U)
  24213. #define LCDIF_CTRL_SET_RUN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_RUN_SHIFT)) & LCDIF_CTRL_SET_RUN_MASK)
  24214. #define LCDIF_CTRL_SET_DATA_FORMAT_24_BIT_MASK (0x2U)
  24215. #define LCDIF_CTRL_SET_DATA_FORMAT_24_BIT_SHIFT (1U)
  24216. /*! DATA_FORMAT_24_BIT
  24217. * 0b0..Data input to the block is in 24 bpp format, such that all RGB 888 data is contained in 24 bits.
  24218. * 0b1..Data input to the block is actually RGB 18 bpp, but there is 1 color per byte, hence the upper 2 bits in
  24219. * each byte do not contain any useful data, and should be dropped.
  24220. */
  24221. #define LCDIF_CTRL_SET_DATA_FORMAT_24_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_DATA_FORMAT_24_BIT_SHIFT)) & LCDIF_CTRL_SET_DATA_FORMAT_24_BIT_MASK)
  24222. #define LCDIF_CTRL_SET_DATA_FORMAT_18_BIT_MASK (0x4U)
  24223. #define LCDIF_CTRL_SET_DATA_FORMAT_18_BIT_SHIFT (2U)
  24224. /*! DATA_FORMAT_18_BIT
  24225. * 0b0..Data input to the block is in 18 bpp format, such that lower 18 bits contain RGB 666 and upper 14 bits do not contain any useful data.
  24226. * 0b1..Data input to the block is in 18 bpp format, such that upper 18 bits contain RGB 666 and lower 14 bits do not contain any useful data.
  24227. */
  24228. #define LCDIF_CTRL_SET_DATA_FORMAT_18_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_DATA_FORMAT_18_BIT_SHIFT)) & LCDIF_CTRL_SET_DATA_FORMAT_18_BIT_MASK)
  24229. #define LCDIF_CTRL_SET_DATA_FORMAT_16_BIT_MASK (0x8U)
  24230. #define LCDIF_CTRL_SET_DATA_FORMAT_16_BIT_SHIFT (3U)
  24231. #define LCDIF_CTRL_SET_DATA_FORMAT_16_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_DATA_FORMAT_16_BIT_SHIFT)) & LCDIF_CTRL_SET_DATA_FORMAT_16_BIT_MASK)
  24232. #define LCDIF_CTRL_SET_RSRVD0_MASK (0x10U)
  24233. #define LCDIF_CTRL_SET_RSRVD0_SHIFT (4U)
  24234. #define LCDIF_CTRL_SET_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_RSRVD0_SHIFT)) & LCDIF_CTRL_SET_RSRVD0_MASK)
  24235. #define LCDIF_CTRL_SET_MASTER_MASK (0x20U)
  24236. #define LCDIF_CTRL_SET_MASTER_SHIFT (5U)
  24237. #define LCDIF_CTRL_SET_MASTER(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_MASTER_SHIFT)) & LCDIF_CTRL_SET_MASTER_MASK)
  24238. #define LCDIF_CTRL_SET_ENABLE_PXP_HANDSHAKE_MASK (0x40U)
  24239. #define LCDIF_CTRL_SET_ENABLE_PXP_HANDSHAKE_SHIFT (6U)
  24240. #define LCDIF_CTRL_SET_ENABLE_PXP_HANDSHAKE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_ENABLE_PXP_HANDSHAKE_SHIFT)) & LCDIF_CTRL_SET_ENABLE_PXP_HANDSHAKE_MASK)
  24241. #define LCDIF_CTRL_SET_WORD_LENGTH_MASK (0x300U)
  24242. #define LCDIF_CTRL_SET_WORD_LENGTH_SHIFT (8U)
  24243. /*! WORD_LENGTH
  24244. * 0b00..Input data is 16 bits per pixel.
  24245. * 0b01..Input data is 8 bits wide.
  24246. * 0b10..Input data is 18 bits per pixel.
  24247. * 0b11..Input data is 24 bits per pixel.
  24248. */
  24249. #define LCDIF_CTRL_SET_WORD_LENGTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_WORD_LENGTH_SHIFT)) & LCDIF_CTRL_SET_WORD_LENGTH_MASK)
  24250. #define LCDIF_CTRL_SET_LCD_DATABUS_WIDTH_MASK (0xC00U)
  24251. #define LCDIF_CTRL_SET_LCD_DATABUS_WIDTH_SHIFT (10U)
  24252. /*! LCD_DATABUS_WIDTH
  24253. * 0b00..16-bit data bus mode.
  24254. * 0b01..8-bit data bus mode.
  24255. * 0b10..18-bit data bus mode.
  24256. * 0b11..24-bit data bus mode.
  24257. */
  24258. #define LCDIF_CTRL_SET_LCD_DATABUS_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_LCD_DATABUS_WIDTH_SHIFT)) & LCDIF_CTRL_SET_LCD_DATABUS_WIDTH_MASK)
  24259. #define LCDIF_CTRL_SET_CSC_DATA_SWIZZLE_MASK (0x3000U)
  24260. #define LCDIF_CTRL_SET_CSC_DATA_SWIZZLE_SHIFT (12U)
  24261. /*! CSC_DATA_SWIZZLE
  24262. * 0b00..No byte swapping.(Little endian)
  24263. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  24264. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  24265. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  24266. * 0b10..Swap half-words.
  24267. * 0b11..Swap bytes within each half-word.
  24268. */
  24269. #define LCDIF_CTRL_SET_CSC_DATA_SWIZZLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_CSC_DATA_SWIZZLE_SHIFT)) & LCDIF_CTRL_SET_CSC_DATA_SWIZZLE_MASK)
  24270. #define LCDIF_CTRL_SET_INPUT_DATA_SWIZZLE_MASK (0xC000U)
  24271. #define LCDIF_CTRL_SET_INPUT_DATA_SWIZZLE_SHIFT (14U)
  24272. /*! INPUT_DATA_SWIZZLE
  24273. * 0b00..No byte swapping.(Little endian)
  24274. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  24275. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  24276. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  24277. * 0b10..Swap half-words.
  24278. * 0b11..Swap bytes within each half-word.
  24279. */
  24280. #define LCDIF_CTRL_SET_INPUT_DATA_SWIZZLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_INPUT_DATA_SWIZZLE_SHIFT)) & LCDIF_CTRL_SET_INPUT_DATA_SWIZZLE_MASK)
  24281. #define LCDIF_CTRL_SET_DOTCLK_MODE_MASK (0x20000U)
  24282. #define LCDIF_CTRL_SET_DOTCLK_MODE_SHIFT (17U)
  24283. #define LCDIF_CTRL_SET_DOTCLK_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_DOTCLK_MODE_SHIFT)) & LCDIF_CTRL_SET_DOTCLK_MODE_MASK)
  24284. #define LCDIF_CTRL_SET_BYPASS_COUNT_MASK (0x80000U)
  24285. #define LCDIF_CTRL_SET_BYPASS_COUNT_SHIFT (19U)
  24286. #define LCDIF_CTRL_SET_BYPASS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_BYPASS_COUNT_SHIFT)) & LCDIF_CTRL_SET_BYPASS_COUNT_MASK)
  24287. #define LCDIF_CTRL_SET_SHIFT_NUM_BITS_MASK (0x3E00000U)
  24288. #define LCDIF_CTRL_SET_SHIFT_NUM_BITS_SHIFT (21U)
  24289. #define LCDIF_CTRL_SET_SHIFT_NUM_BITS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_SHIFT_NUM_BITS_SHIFT)) & LCDIF_CTRL_SET_SHIFT_NUM_BITS_MASK)
  24290. #define LCDIF_CTRL_SET_DATA_SHIFT_DIR_MASK (0x4000000U)
  24291. #define LCDIF_CTRL_SET_DATA_SHIFT_DIR_SHIFT (26U)
  24292. /*! DATA_SHIFT_DIR
  24293. * 0b0..Data to be transmitted is shifted LEFT by SHIFT_NUM_BITS bits.
  24294. * 0b1..Data to be transmitted is shifted RIGHT by SHIFT_NUM_BITS bits.
  24295. */
  24296. #define LCDIF_CTRL_SET_DATA_SHIFT_DIR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_DATA_SHIFT_DIR_SHIFT)) & LCDIF_CTRL_SET_DATA_SHIFT_DIR_MASK)
  24297. #define LCDIF_CTRL_SET_CLKGATE_MASK (0x40000000U)
  24298. #define LCDIF_CTRL_SET_CLKGATE_SHIFT (30U)
  24299. #define LCDIF_CTRL_SET_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_CLKGATE_SHIFT)) & LCDIF_CTRL_SET_CLKGATE_MASK)
  24300. #define LCDIF_CTRL_SET_SFTRST_MASK (0x80000000U)
  24301. #define LCDIF_CTRL_SET_SFTRST_SHIFT (31U)
  24302. #define LCDIF_CTRL_SET_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_SFTRST_SHIFT)) & LCDIF_CTRL_SET_SFTRST_MASK)
  24303. /*! @} */
  24304. /*! @name CTRL_CLR - LCDIF General Control Register */
  24305. /*! @{ */
  24306. #define LCDIF_CTRL_CLR_RUN_MASK (0x1U)
  24307. #define LCDIF_CTRL_CLR_RUN_SHIFT (0U)
  24308. #define LCDIF_CTRL_CLR_RUN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_RUN_SHIFT)) & LCDIF_CTRL_CLR_RUN_MASK)
  24309. #define LCDIF_CTRL_CLR_DATA_FORMAT_24_BIT_MASK (0x2U)
  24310. #define LCDIF_CTRL_CLR_DATA_FORMAT_24_BIT_SHIFT (1U)
  24311. /*! DATA_FORMAT_24_BIT
  24312. * 0b0..Data input to the block is in 24 bpp format, such that all RGB 888 data is contained in 24 bits.
  24313. * 0b1..Data input to the block is actually RGB 18 bpp, but there is 1 color per byte, hence the upper 2 bits in
  24314. * each byte do not contain any useful data, and should be dropped.
  24315. */
  24316. #define LCDIF_CTRL_CLR_DATA_FORMAT_24_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_DATA_FORMAT_24_BIT_SHIFT)) & LCDIF_CTRL_CLR_DATA_FORMAT_24_BIT_MASK)
  24317. #define LCDIF_CTRL_CLR_DATA_FORMAT_18_BIT_MASK (0x4U)
  24318. #define LCDIF_CTRL_CLR_DATA_FORMAT_18_BIT_SHIFT (2U)
  24319. /*! DATA_FORMAT_18_BIT
  24320. * 0b0..Data input to the block is in 18 bpp format, such that lower 18 bits contain RGB 666 and upper 14 bits do not contain any useful data.
  24321. * 0b1..Data input to the block is in 18 bpp format, such that upper 18 bits contain RGB 666 and lower 14 bits do not contain any useful data.
  24322. */
  24323. #define LCDIF_CTRL_CLR_DATA_FORMAT_18_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_DATA_FORMAT_18_BIT_SHIFT)) & LCDIF_CTRL_CLR_DATA_FORMAT_18_BIT_MASK)
  24324. #define LCDIF_CTRL_CLR_DATA_FORMAT_16_BIT_MASK (0x8U)
  24325. #define LCDIF_CTRL_CLR_DATA_FORMAT_16_BIT_SHIFT (3U)
  24326. #define LCDIF_CTRL_CLR_DATA_FORMAT_16_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_DATA_FORMAT_16_BIT_SHIFT)) & LCDIF_CTRL_CLR_DATA_FORMAT_16_BIT_MASK)
  24327. #define LCDIF_CTRL_CLR_RSRVD0_MASK (0x10U)
  24328. #define LCDIF_CTRL_CLR_RSRVD0_SHIFT (4U)
  24329. #define LCDIF_CTRL_CLR_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_RSRVD0_SHIFT)) & LCDIF_CTRL_CLR_RSRVD0_MASK)
  24330. #define LCDIF_CTRL_CLR_MASTER_MASK (0x20U)
  24331. #define LCDIF_CTRL_CLR_MASTER_SHIFT (5U)
  24332. #define LCDIF_CTRL_CLR_MASTER(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_MASTER_SHIFT)) & LCDIF_CTRL_CLR_MASTER_MASK)
  24333. #define LCDIF_CTRL_CLR_ENABLE_PXP_HANDSHAKE_MASK (0x40U)
  24334. #define LCDIF_CTRL_CLR_ENABLE_PXP_HANDSHAKE_SHIFT (6U)
  24335. #define LCDIF_CTRL_CLR_ENABLE_PXP_HANDSHAKE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_ENABLE_PXP_HANDSHAKE_SHIFT)) & LCDIF_CTRL_CLR_ENABLE_PXP_HANDSHAKE_MASK)
  24336. #define LCDIF_CTRL_CLR_WORD_LENGTH_MASK (0x300U)
  24337. #define LCDIF_CTRL_CLR_WORD_LENGTH_SHIFT (8U)
  24338. /*! WORD_LENGTH
  24339. * 0b00..Input data is 16 bits per pixel.
  24340. * 0b01..Input data is 8 bits wide.
  24341. * 0b10..Input data is 18 bits per pixel.
  24342. * 0b11..Input data is 24 bits per pixel.
  24343. */
  24344. #define LCDIF_CTRL_CLR_WORD_LENGTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_WORD_LENGTH_SHIFT)) & LCDIF_CTRL_CLR_WORD_LENGTH_MASK)
  24345. #define LCDIF_CTRL_CLR_LCD_DATABUS_WIDTH_MASK (0xC00U)
  24346. #define LCDIF_CTRL_CLR_LCD_DATABUS_WIDTH_SHIFT (10U)
  24347. /*! LCD_DATABUS_WIDTH
  24348. * 0b00..16-bit data bus mode.
  24349. * 0b01..8-bit data bus mode.
  24350. * 0b10..18-bit data bus mode.
  24351. * 0b11..24-bit data bus mode.
  24352. */
  24353. #define LCDIF_CTRL_CLR_LCD_DATABUS_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_LCD_DATABUS_WIDTH_SHIFT)) & LCDIF_CTRL_CLR_LCD_DATABUS_WIDTH_MASK)
  24354. #define LCDIF_CTRL_CLR_CSC_DATA_SWIZZLE_MASK (0x3000U)
  24355. #define LCDIF_CTRL_CLR_CSC_DATA_SWIZZLE_SHIFT (12U)
  24356. /*! CSC_DATA_SWIZZLE
  24357. * 0b00..No byte swapping.(Little endian)
  24358. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  24359. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  24360. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  24361. * 0b10..Swap half-words.
  24362. * 0b11..Swap bytes within each half-word.
  24363. */
  24364. #define LCDIF_CTRL_CLR_CSC_DATA_SWIZZLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_CSC_DATA_SWIZZLE_SHIFT)) & LCDIF_CTRL_CLR_CSC_DATA_SWIZZLE_MASK)
  24365. #define LCDIF_CTRL_CLR_INPUT_DATA_SWIZZLE_MASK (0xC000U)
  24366. #define LCDIF_CTRL_CLR_INPUT_DATA_SWIZZLE_SHIFT (14U)
  24367. /*! INPUT_DATA_SWIZZLE
  24368. * 0b00..No byte swapping.(Little endian)
  24369. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  24370. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  24371. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  24372. * 0b10..Swap half-words.
  24373. * 0b11..Swap bytes within each half-word.
  24374. */
  24375. #define LCDIF_CTRL_CLR_INPUT_DATA_SWIZZLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_INPUT_DATA_SWIZZLE_SHIFT)) & LCDIF_CTRL_CLR_INPUT_DATA_SWIZZLE_MASK)
  24376. #define LCDIF_CTRL_CLR_DOTCLK_MODE_MASK (0x20000U)
  24377. #define LCDIF_CTRL_CLR_DOTCLK_MODE_SHIFT (17U)
  24378. #define LCDIF_CTRL_CLR_DOTCLK_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_DOTCLK_MODE_SHIFT)) & LCDIF_CTRL_CLR_DOTCLK_MODE_MASK)
  24379. #define LCDIF_CTRL_CLR_BYPASS_COUNT_MASK (0x80000U)
  24380. #define LCDIF_CTRL_CLR_BYPASS_COUNT_SHIFT (19U)
  24381. #define LCDIF_CTRL_CLR_BYPASS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_BYPASS_COUNT_SHIFT)) & LCDIF_CTRL_CLR_BYPASS_COUNT_MASK)
  24382. #define LCDIF_CTRL_CLR_SHIFT_NUM_BITS_MASK (0x3E00000U)
  24383. #define LCDIF_CTRL_CLR_SHIFT_NUM_BITS_SHIFT (21U)
  24384. #define LCDIF_CTRL_CLR_SHIFT_NUM_BITS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_SHIFT_NUM_BITS_SHIFT)) & LCDIF_CTRL_CLR_SHIFT_NUM_BITS_MASK)
  24385. #define LCDIF_CTRL_CLR_DATA_SHIFT_DIR_MASK (0x4000000U)
  24386. #define LCDIF_CTRL_CLR_DATA_SHIFT_DIR_SHIFT (26U)
  24387. /*! DATA_SHIFT_DIR
  24388. * 0b0..Data to be transmitted is shifted LEFT by SHIFT_NUM_BITS bits.
  24389. * 0b1..Data to be transmitted is shifted RIGHT by SHIFT_NUM_BITS bits.
  24390. */
  24391. #define LCDIF_CTRL_CLR_DATA_SHIFT_DIR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_DATA_SHIFT_DIR_SHIFT)) & LCDIF_CTRL_CLR_DATA_SHIFT_DIR_MASK)
  24392. #define LCDIF_CTRL_CLR_CLKGATE_MASK (0x40000000U)
  24393. #define LCDIF_CTRL_CLR_CLKGATE_SHIFT (30U)
  24394. #define LCDIF_CTRL_CLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_CLKGATE_SHIFT)) & LCDIF_CTRL_CLR_CLKGATE_MASK)
  24395. #define LCDIF_CTRL_CLR_SFTRST_MASK (0x80000000U)
  24396. #define LCDIF_CTRL_CLR_SFTRST_SHIFT (31U)
  24397. #define LCDIF_CTRL_CLR_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_SFTRST_SHIFT)) & LCDIF_CTRL_CLR_SFTRST_MASK)
  24398. /*! @} */
  24399. /*! @name CTRL_TOG - LCDIF General Control Register */
  24400. /*! @{ */
  24401. #define LCDIF_CTRL_TOG_RUN_MASK (0x1U)
  24402. #define LCDIF_CTRL_TOG_RUN_SHIFT (0U)
  24403. #define LCDIF_CTRL_TOG_RUN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_RUN_SHIFT)) & LCDIF_CTRL_TOG_RUN_MASK)
  24404. #define LCDIF_CTRL_TOG_DATA_FORMAT_24_BIT_MASK (0x2U)
  24405. #define LCDIF_CTRL_TOG_DATA_FORMAT_24_BIT_SHIFT (1U)
  24406. /*! DATA_FORMAT_24_BIT
  24407. * 0b0..Data input to the block is in 24 bpp format, such that all RGB 888 data is contained in 24 bits.
  24408. * 0b1..Data input to the block is actually RGB 18 bpp, but there is 1 color per byte, hence the upper 2 bits in
  24409. * each byte do not contain any useful data, and should be dropped.
  24410. */
  24411. #define LCDIF_CTRL_TOG_DATA_FORMAT_24_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_DATA_FORMAT_24_BIT_SHIFT)) & LCDIF_CTRL_TOG_DATA_FORMAT_24_BIT_MASK)
  24412. #define LCDIF_CTRL_TOG_DATA_FORMAT_18_BIT_MASK (0x4U)
  24413. #define LCDIF_CTRL_TOG_DATA_FORMAT_18_BIT_SHIFT (2U)
  24414. /*! DATA_FORMAT_18_BIT
  24415. * 0b0..Data input to the block is in 18 bpp format, such that lower 18 bits contain RGB 666 and upper 14 bits do not contain any useful data.
  24416. * 0b1..Data input to the block is in 18 bpp format, such that upper 18 bits contain RGB 666 and lower 14 bits do not contain any useful data.
  24417. */
  24418. #define LCDIF_CTRL_TOG_DATA_FORMAT_18_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_DATA_FORMAT_18_BIT_SHIFT)) & LCDIF_CTRL_TOG_DATA_FORMAT_18_BIT_MASK)
  24419. #define LCDIF_CTRL_TOG_DATA_FORMAT_16_BIT_MASK (0x8U)
  24420. #define LCDIF_CTRL_TOG_DATA_FORMAT_16_BIT_SHIFT (3U)
  24421. #define LCDIF_CTRL_TOG_DATA_FORMAT_16_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_DATA_FORMAT_16_BIT_SHIFT)) & LCDIF_CTRL_TOG_DATA_FORMAT_16_BIT_MASK)
  24422. #define LCDIF_CTRL_TOG_RSRVD0_MASK (0x10U)
  24423. #define LCDIF_CTRL_TOG_RSRVD0_SHIFT (4U)
  24424. #define LCDIF_CTRL_TOG_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_RSRVD0_SHIFT)) & LCDIF_CTRL_TOG_RSRVD0_MASK)
  24425. #define LCDIF_CTRL_TOG_MASTER_MASK (0x20U)
  24426. #define LCDIF_CTRL_TOG_MASTER_SHIFT (5U)
  24427. #define LCDIF_CTRL_TOG_MASTER(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_MASTER_SHIFT)) & LCDIF_CTRL_TOG_MASTER_MASK)
  24428. #define LCDIF_CTRL_TOG_ENABLE_PXP_HANDSHAKE_MASK (0x40U)
  24429. #define LCDIF_CTRL_TOG_ENABLE_PXP_HANDSHAKE_SHIFT (6U)
  24430. #define LCDIF_CTRL_TOG_ENABLE_PXP_HANDSHAKE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_ENABLE_PXP_HANDSHAKE_SHIFT)) & LCDIF_CTRL_TOG_ENABLE_PXP_HANDSHAKE_MASK)
  24431. #define LCDIF_CTRL_TOG_WORD_LENGTH_MASK (0x300U)
  24432. #define LCDIF_CTRL_TOG_WORD_LENGTH_SHIFT (8U)
  24433. /*! WORD_LENGTH
  24434. * 0b00..Input data is 16 bits per pixel.
  24435. * 0b01..Input data is 8 bits wide.
  24436. * 0b10..Input data is 18 bits per pixel.
  24437. * 0b11..Input data is 24 bits per pixel.
  24438. */
  24439. #define LCDIF_CTRL_TOG_WORD_LENGTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_WORD_LENGTH_SHIFT)) & LCDIF_CTRL_TOG_WORD_LENGTH_MASK)
  24440. #define LCDIF_CTRL_TOG_LCD_DATABUS_WIDTH_MASK (0xC00U)
  24441. #define LCDIF_CTRL_TOG_LCD_DATABUS_WIDTH_SHIFT (10U)
  24442. /*! LCD_DATABUS_WIDTH
  24443. * 0b00..16-bit data bus mode.
  24444. * 0b01..8-bit data bus mode.
  24445. * 0b10..18-bit data bus mode.
  24446. * 0b11..24-bit data bus mode.
  24447. */
  24448. #define LCDIF_CTRL_TOG_LCD_DATABUS_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_LCD_DATABUS_WIDTH_SHIFT)) & LCDIF_CTRL_TOG_LCD_DATABUS_WIDTH_MASK)
  24449. #define LCDIF_CTRL_TOG_CSC_DATA_SWIZZLE_MASK (0x3000U)
  24450. #define LCDIF_CTRL_TOG_CSC_DATA_SWIZZLE_SHIFT (12U)
  24451. /*! CSC_DATA_SWIZZLE
  24452. * 0b00..No byte swapping.(Little endian)
  24453. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  24454. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  24455. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  24456. * 0b10..Swap half-words.
  24457. * 0b11..Swap bytes within each half-word.
  24458. */
  24459. #define LCDIF_CTRL_TOG_CSC_DATA_SWIZZLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_CSC_DATA_SWIZZLE_SHIFT)) & LCDIF_CTRL_TOG_CSC_DATA_SWIZZLE_MASK)
  24460. #define LCDIF_CTRL_TOG_INPUT_DATA_SWIZZLE_MASK (0xC000U)
  24461. #define LCDIF_CTRL_TOG_INPUT_DATA_SWIZZLE_SHIFT (14U)
  24462. /*! INPUT_DATA_SWIZZLE
  24463. * 0b00..No byte swapping.(Little endian)
  24464. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  24465. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  24466. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  24467. * 0b10..Swap half-words.
  24468. * 0b11..Swap bytes within each half-word.
  24469. */
  24470. #define LCDIF_CTRL_TOG_INPUT_DATA_SWIZZLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_INPUT_DATA_SWIZZLE_SHIFT)) & LCDIF_CTRL_TOG_INPUT_DATA_SWIZZLE_MASK)
  24471. #define LCDIF_CTRL_TOG_DOTCLK_MODE_MASK (0x20000U)
  24472. #define LCDIF_CTRL_TOG_DOTCLK_MODE_SHIFT (17U)
  24473. #define LCDIF_CTRL_TOG_DOTCLK_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_DOTCLK_MODE_SHIFT)) & LCDIF_CTRL_TOG_DOTCLK_MODE_MASK)
  24474. #define LCDIF_CTRL_TOG_BYPASS_COUNT_MASK (0x80000U)
  24475. #define LCDIF_CTRL_TOG_BYPASS_COUNT_SHIFT (19U)
  24476. #define LCDIF_CTRL_TOG_BYPASS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_BYPASS_COUNT_SHIFT)) & LCDIF_CTRL_TOG_BYPASS_COUNT_MASK)
  24477. #define LCDIF_CTRL_TOG_SHIFT_NUM_BITS_MASK (0x3E00000U)
  24478. #define LCDIF_CTRL_TOG_SHIFT_NUM_BITS_SHIFT (21U)
  24479. #define LCDIF_CTRL_TOG_SHIFT_NUM_BITS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_SHIFT_NUM_BITS_SHIFT)) & LCDIF_CTRL_TOG_SHIFT_NUM_BITS_MASK)
  24480. #define LCDIF_CTRL_TOG_DATA_SHIFT_DIR_MASK (0x4000000U)
  24481. #define LCDIF_CTRL_TOG_DATA_SHIFT_DIR_SHIFT (26U)
  24482. /*! DATA_SHIFT_DIR
  24483. * 0b0..Data to be transmitted is shifted LEFT by SHIFT_NUM_BITS bits.
  24484. * 0b1..Data to be transmitted is shifted RIGHT by SHIFT_NUM_BITS bits.
  24485. */
  24486. #define LCDIF_CTRL_TOG_DATA_SHIFT_DIR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_DATA_SHIFT_DIR_SHIFT)) & LCDIF_CTRL_TOG_DATA_SHIFT_DIR_MASK)
  24487. #define LCDIF_CTRL_TOG_CLKGATE_MASK (0x40000000U)
  24488. #define LCDIF_CTRL_TOG_CLKGATE_SHIFT (30U)
  24489. #define LCDIF_CTRL_TOG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_CLKGATE_SHIFT)) & LCDIF_CTRL_TOG_CLKGATE_MASK)
  24490. #define LCDIF_CTRL_TOG_SFTRST_MASK (0x80000000U)
  24491. #define LCDIF_CTRL_TOG_SFTRST_SHIFT (31U)
  24492. #define LCDIF_CTRL_TOG_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_SFTRST_SHIFT)) & LCDIF_CTRL_TOG_SFTRST_MASK)
  24493. /*! @} */
  24494. /*! @name CTRL1 - LCDIF General Control1 Register */
  24495. /*! @{ */
  24496. #define LCDIF_CTRL1_RSRVD0_MASK (0xF8U)
  24497. #define LCDIF_CTRL1_RSRVD0_SHIFT (3U)
  24498. #define LCDIF_CTRL1_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_RSRVD0_SHIFT)) & LCDIF_CTRL1_RSRVD0_MASK)
  24499. #define LCDIF_CTRL1_VSYNC_EDGE_IRQ_MASK (0x100U)
  24500. #define LCDIF_CTRL1_VSYNC_EDGE_IRQ_SHIFT (8U)
  24501. /*! VSYNC_EDGE_IRQ
  24502. * 0b0..No Interrupt Request Pending.
  24503. * 0b1..Interrupt Request Pending.
  24504. */
  24505. #define LCDIF_CTRL1_VSYNC_EDGE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_VSYNC_EDGE_IRQ_SHIFT)) & LCDIF_CTRL1_VSYNC_EDGE_IRQ_MASK)
  24506. #define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_MASK (0x200U)
  24507. #define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_SHIFT (9U)
  24508. /*! CUR_FRAME_DONE_IRQ
  24509. * 0b0..No Interrupt Request Pending.
  24510. * 0b1..Interrupt Request Pending.
  24511. */
  24512. #define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_SHIFT)) & LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_MASK)
  24513. #define LCDIF_CTRL1_UNDERFLOW_IRQ_MASK (0x400U)
  24514. #define LCDIF_CTRL1_UNDERFLOW_IRQ_SHIFT (10U)
  24515. /*! UNDERFLOW_IRQ
  24516. * 0b0..No Interrupt Request Pending.
  24517. * 0b1..Interrupt Request Pending.
  24518. */
  24519. #define LCDIF_CTRL1_UNDERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_UNDERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_UNDERFLOW_IRQ_MASK)
  24520. #define LCDIF_CTRL1_OVERFLOW_IRQ_MASK (0x800U)
  24521. #define LCDIF_CTRL1_OVERFLOW_IRQ_SHIFT (11U)
  24522. /*! OVERFLOW_IRQ
  24523. * 0b0..No Interrupt Request Pending.
  24524. * 0b1..Interrupt Request Pending.
  24525. */
  24526. #define LCDIF_CTRL1_OVERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_OVERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_OVERFLOW_IRQ_MASK)
  24527. #define LCDIF_CTRL1_VSYNC_EDGE_IRQ_EN_MASK (0x1000U)
  24528. #define LCDIF_CTRL1_VSYNC_EDGE_IRQ_EN_SHIFT (12U)
  24529. #define LCDIF_CTRL1_VSYNC_EDGE_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_VSYNC_EDGE_IRQ_EN_SHIFT)) & LCDIF_CTRL1_VSYNC_EDGE_IRQ_EN_MASK)
  24530. #define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_EN_MASK (0x2000U)
  24531. #define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_EN_SHIFT (13U)
  24532. #define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_EN_SHIFT)) & LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_EN_MASK)
  24533. #define LCDIF_CTRL1_UNDERFLOW_IRQ_EN_MASK (0x4000U)
  24534. #define LCDIF_CTRL1_UNDERFLOW_IRQ_EN_SHIFT (14U)
  24535. #define LCDIF_CTRL1_UNDERFLOW_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_UNDERFLOW_IRQ_EN_SHIFT)) & LCDIF_CTRL1_UNDERFLOW_IRQ_EN_MASK)
  24536. #define LCDIF_CTRL1_OVERFLOW_IRQ_EN_MASK (0x8000U)
  24537. #define LCDIF_CTRL1_OVERFLOW_IRQ_EN_SHIFT (15U)
  24538. #define LCDIF_CTRL1_OVERFLOW_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_OVERFLOW_IRQ_EN_SHIFT)) & LCDIF_CTRL1_OVERFLOW_IRQ_EN_MASK)
  24539. #define LCDIF_CTRL1_BYTE_PACKING_FORMAT_MASK (0xF0000U)
  24540. #define LCDIF_CTRL1_BYTE_PACKING_FORMAT_SHIFT (16U)
  24541. #define LCDIF_CTRL1_BYTE_PACKING_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_BYTE_PACKING_FORMAT_SHIFT)) & LCDIF_CTRL1_BYTE_PACKING_FORMAT_MASK)
  24542. #define LCDIF_CTRL1_IRQ_ON_ALTERNATE_FIELDS_MASK (0x100000U)
  24543. #define LCDIF_CTRL1_IRQ_ON_ALTERNATE_FIELDS_SHIFT (20U)
  24544. #define LCDIF_CTRL1_IRQ_ON_ALTERNATE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_IRQ_ON_ALTERNATE_FIELDS_SHIFT)) & LCDIF_CTRL1_IRQ_ON_ALTERNATE_FIELDS_MASK)
  24545. #define LCDIF_CTRL1_FIFO_CLEAR_MASK (0x200000U)
  24546. #define LCDIF_CTRL1_FIFO_CLEAR_SHIFT (21U)
  24547. #define LCDIF_CTRL1_FIFO_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_FIFO_CLEAR_SHIFT)) & LCDIF_CTRL1_FIFO_CLEAR_MASK)
  24548. #define LCDIF_CTRL1_START_INTERLACE_FROM_SECOND_FIELD_MASK (0x400000U)
  24549. #define LCDIF_CTRL1_START_INTERLACE_FROM_SECOND_FIELD_SHIFT (22U)
  24550. #define LCDIF_CTRL1_START_INTERLACE_FROM_SECOND_FIELD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_START_INTERLACE_FROM_SECOND_FIELD_SHIFT)) & LCDIF_CTRL1_START_INTERLACE_FROM_SECOND_FIELD_MASK)
  24551. #define LCDIF_CTRL1_INTERLACE_FIELDS_MASK (0x800000U)
  24552. #define LCDIF_CTRL1_INTERLACE_FIELDS_SHIFT (23U)
  24553. #define LCDIF_CTRL1_INTERLACE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_INTERLACE_FIELDS_SHIFT)) & LCDIF_CTRL1_INTERLACE_FIELDS_MASK)
  24554. #define LCDIF_CTRL1_RECOVER_ON_UNDERFLOW_MASK (0x1000000U)
  24555. #define LCDIF_CTRL1_RECOVER_ON_UNDERFLOW_SHIFT (24U)
  24556. #define LCDIF_CTRL1_RECOVER_ON_UNDERFLOW(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_RECOVER_ON_UNDERFLOW_SHIFT)) & LCDIF_CTRL1_RECOVER_ON_UNDERFLOW_MASK)
  24557. #define LCDIF_CTRL1_BM_ERROR_IRQ_MASK (0x2000000U)
  24558. #define LCDIF_CTRL1_BM_ERROR_IRQ_SHIFT (25U)
  24559. /*! BM_ERROR_IRQ
  24560. * 0b0..No Interrupt Request Pending.
  24561. * 0b1..Interrupt Request Pending.
  24562. */
  24563. #define LCDIF_CTRL1_BM_ERROR_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_BM_ERROR_IRQ_SHIFT)) & LCDIF_CTRL1_BM_ERROR_IRQ_MASK)
  24564. #define LCDIF_CTRL1_BM_ERROR_IRQ_EN_MASK (0x4000000U)
  24565. #define LCDIF_CTRL1_BM_ERROR_IRQ_EN_SHIFT (26U)
  24566. #define LCDIF_CTRL1_BM_ERROR_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_BM_ERROR_IRQ_EN_SHIFT)) & LCDIF_CTRL1_BM_ERROR_IRQ_EN_MASK)
  24567. #define LCDIF_CTRL1_CS_OUT_SELECT_MASK (0x40000000U)
  24568. #define LCDIF_CTRL1_CS_OUT_SELECT_SHIFT (30U)
  24569. #define LCDIF_CTRL1_CS_OUT_SELECT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CS_OUT_SELECT_SHIFT)) & LCDIF_CTRL1_CS_OUT_SELECT_MASK)
  24570. #define LCDIF_CTRL1_IMAGE_DATA_SELECT_MASK (0x80000000U)
  24571. #define LCDIF_CTRL1_IMAGE_DATA_SELECT_SHIFT (31U)
  24572. #define LCDIF_CTRL1_IMAGE_DATA_SELECT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_IMAGE_DATA_SELECT_SHIFT)) & LCDIF_CTRL1_IMAGE_DATA_SELECT_MASK)
  24573. /*! @} */
  24574. /*! @name CTRL1_SET - LCDIF General Control1 Register */
  24575. /*! @{ */
  24576. #define LCDIF_CTRL1_SET_RSRVD0_MASK (0xF8U)
  24577. #define LCDIF_CTRL1_SET_RSRVD0_SHIFT (3U)
  24578. #define LCDIF_CTRL1_SET_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_RSRVD0_SHIFT)) & LCDIF_CTRL1_SET_RSRVD0_MASK)
  24579. #define LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_MASK (0x100U)
  24580. #define LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_SHIFT (8U)
  24581. /*! VSYNC_EDGE_IRQ
  24582. * 0b0..No Interrupt Request Pending.
  24583. * 0b1..Interrupt Request Pending.
  24584. */
  24585. #define LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_SHIFT)) & LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_MASK)
  24586. #define LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_MASK (0x200U)
  24587. #define LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_SHIFT (9U)
  24588. /*! CUR_FRAME_DONE_IRQ
  24589. * 0b0..No Interrupt Request Pending.
  24590. * 0b1..Interrupt Request Pending.
  24591. */
  24592. #define LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_SHIFT)) & LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_MASK)
  24593. #define LCDIF_CTRL1_SET_UNDERFLOW_IRQ_MASK (0x400U)
  24594. #define LCDIF_CTRL1_SET_UNDERFLOW_IRQ_SHIFT (10U)
  24595. /*! UNDERFLOW_IRQ
  24596. * 0b0..No Interrupt Request Pending.
  24597. * 0b1..Interrupt Request Pending.
  24598. */
  24599. #define LCDIF_CTRL1_SET_UNDERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_UNDERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_SET_UNDERFLOW_IRQ_MASK)
  24600. #define LCDIF_CTRL1_SET_OVERFLOW_IRQ_MASK (0x800U)
  24601. #define LCDIF_CTRL1_SET_OVERFLOW_IRQ_SHIFT (11U)
  24602. /*! OVERFLOW_IRQ
  24603. * 0b0..No Interrupt Request Pending.
  24604. * 0b1..Interrupt Request Pending.
  24605. */
  24606. #define LCDIF_CTRL1_SET_OVERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_OVERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_SET_OVERFLOW_IRQ_MASK)
  24607. #define LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_EN_MASK (0x1000U)
  24608. #define LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_EN_SHIFT (12U)
  24609. #define LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_EN_SHIFT)) & LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_EN_MASK)
  24610. #define LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_EN_MASK (0x2000U)
  24611. #define LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_EN_SHIFT (13U)
  24612. #define LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_EN_SHIFT)) & LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_EN_MASK)
  24613. #define LCDIF_CTRL1_SET_UNDERFLOW_IRQ_EN_MASK (0x4000U)
  24614. #define LCDIF_CTRL1_SET_UNDERFLOW_IRQ_EN_SHIFT (14U)
  24615. #define LCDIF_CTRL1_SET_UNDERFLOW_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_UNDERFLOW_IRQ_EN_SHIFT)) & LCDIF_CTRL1_SET_UNDERFLOW_IRQ_EN_MASK)
  24616. #define LCDIF_CTRL1_SET_OVERFLOW_IRQ_EN_MASK (0x8000U)
  24617. #define LCDIF_CTRL1_SET_OVERFLOW_IRQ_EN_SHIFT (15U)
  24618. #define LCDIF_CTRL1_SET_OVERFLOW_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_OVERFLOW_IRQ_EN_SHIFT)) & LCDIF_CTRL1_SET_OVERFLOW_IRQ_EN_MASK)
  24619. #define LCDIF_CTRL1_SET_BYTE_PACKING_FORMAT_MASK (0xF0000U)
  24620. #define LCDIF_CTRL1_SET_BYTE_PACKING_FORMAT_SHIFT (16U)
  24621. #define LCDIF_CTRL1_SET_BYTE_PACKING_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_BYTE_PACKING_FORMAT_SHIFT)) & LCDIF_CTRL1_SET_BYTE_PACKING_FORMAT_MASK)
  24622. #define LCDIF_CTRL1_SET_IRQ_ON_ALTERNATE_FIELDS_MASK (0x100000U)
  24623. #define LCDIF_CTRL1_SET_IRQ_ON_ALTERNATE_FIELDS_SHIFT (20U)
  24624. #define LCDIF_CTRL1_SET_IRQ_ON_ALTERNATE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_IRQ_ON_ALTERNATE_FIELDS_SHIFT)) & LCDIF_CTRL1_SET_IRQ_ON_ALTERNATE_FIELDS_MASK)
  24625. #define LCDIF_CTRL1_SET_FIFO_CLEAR_MASK (0x200000U)
  24626. #define LCDIF_CTRL1_SET_FIFO_CLEAR_SHIFT (21U)
  24627. #define LCDIF_CTRL1_SET_FIFO_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_FIFO_CLEAR_SHIFT)) & LCDIF_CTRL1_SET_FIFO_CLEAR_MASK)
  24628. #define LCDIF_CTRL1_SET_START_INTERLACE_FROM_SECOND_FIELD_MASK (0x400000U)
  24629. #define LCDIF_CTRL1_SET_START_INTERLACE_FROM_SECOND_FIELD_SHIFT (22U)
  24630. #define LCDIF_CTRL1_SET_START_INTERLACE_FROM_SECOND_FIELD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_START_INTERLACE_FROM_SECOND_FIELD_SHIFT)) & LCDIF_CTRL1_SET_START_INTERLACE_FROM_SECOND_FIELD_MASK)
  24631. #define LCDIF_CTRL1_SET_INTERLACE_FIELDS_MASK (0x800000U)
  24632. #define LCDIF_CTRL1_SET_INTERLACE_FIELDS_SHIFT (23U)
  24633. #define LCDIF_CTRL1_SET_INTERLACE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_INTERLACE_FIELDS_SHIFT)) & LCDIF_CTRL1_SET_INTERLACE_FIELDS_MASK)
  24634. #define LCDIF_CTRL1_SET_RECOVER_ON_UNDERFLOW_MASK (0x1000000U)
  24635. #define LCDIF_CTRL1_SET_RECOVER_ON_UNDERFLOW_SHIFT (24U)
  24636. #define LCDIF_CTRL1_SET_RECOVER_ON_UNDERFLOW(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_RECOVER_ON_UNDERFLOW_SHIFT)) & LCDIF_CTRL1_SET_RECOVER_ON_UNDERFLOW_MASK)
  24637. #define LCDIF_CTRL1_SET_BM_ERROR_IRQ_MASK (0x2000000U)
  24638. #define LCDIF_CTRL1_SET_BM_ERROR_IRQ_SHIFT (25U)
  24639. /*! BM_ERROR_IRQ
  24640. * 0b0..No Interrupt Request Pending.
  24641. * 0b1..Interrupt Request Pending.
  24642. */
  24643. #define LCDIF_CTRL1_SET_BM_ERROR_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_BM_ERROR_IRQ_SHIFT)) & LCDIF_CTRL1_SET_BM_ERROR_IRQ_MASK)
  24644. #define LCDIF_CTRL1_SET_BM_ERROR_IRQ_EN_MASK (0x4000000U)
  24645. #define LCDIF_CTRL1_SET_BM_ERROR_IRQ_EN_SHIFT (26U)
  24646. #define LCDIF_CTRL1_SET_BM_ERROR_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_BM_ERROR_IRQ_EN_SHIFT)) & LCDIF_CTRL1_SET_BM_ERROR_IRQ_EN_MASK)
  24647. #define LCDIF_CTRL1_SET_CS_OUT_SELECT_MASK (0x40000000U)
  24648. #define LCDIF_CTRL1_SET_CS_OUT_SELECT_SHIFT (30U)
  24649. #define LCDIF_CTRL1_SET_CS_OUT_SELECT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_CS_OUT_SELECT_SHIFT)) & LCDIF_CTRL1_SET_CS_OUT_SELECT_MASK)
  24650. #define LCDIF_CTRL1_SET_IMAGE_DATA_SELECT_MASK (0x80000000U)
  24651. #define LCDIF_CTRL1_SET_IMAGE_DATA_SELECT_SHIFT (31U)
  24652. #define LCDIF_CTRL1_SET_IMAGE_DATA_SELECT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_IMAGE_DATA_SELECT_SHIFT)) & LCDIF_CTRL1_SET_IMAGE_DATA_SELECT_MASK)
  24653. /*! @} */
  24654. /*! @name CTRL1_CLR - LCDIF General Control1 Register */
  24655. /*! @{ */
  24656. #define LCDIF_CTRL1_CLR_RSRVD0_MASK (0xF8U)
  24657. #define LCDIF_CTRL1_CLR_RSRVD0_SHIFT (3U)
  24658. #define LCDIF_CTRL1_CLR_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_RSRVD0_SHIFT)) & LCDIF_CTRL1_CLR_RSRVD0_MASK)
  24659. #define LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_MASK (0x100U)
  24660. #define LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_SHIFT (8U)
  24661. /*! VSYNC_EDGE_IRQ
  24662. * 0b0..No Interrupt Request Pending.
  24663. * 0b1..Interrupt Request Pending.
  24664. */
  24665. #define LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_SHIFT)) & LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_MASK)
  24666. #define LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_MASK (0x200U)
  24667. #define LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_SHIFT (9U)
  24668. /*! CUR_FRAME_DONE_IRQ
  24669. * 0b0..No Interrupt Request Pending.
  24670. * 0b1..Interrupt Request Pending.
  24671. */
  24672. #define LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_SHIFT)) & LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_MASK)
  24673. #define LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_MASK (0x400U)
  24674. #define LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_SHIFT (10U)
  24675. /*! UNDERFLOW_IRQ
  24676. * 0b0..No Interrupt Request Pending.
  24677. * 0b1..Interrupt Request Pending.
  24678. */
  24679. #define LCDIF_CTRL1_CLR_UNDERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_MASK)
  24680. #define LCDIF_CTRL1_CLR_OVERFLOW_IRQ_MASK (0x800U)
  24681. #define LCDIF_CTRL1_CLR_OVERFLOW_IRQ_SHIFT (11U)
  24682. /*! OVERFLOW_IRQ
  24683. * 0b0..No Interrupt Request Pending.
  24684. * 0b1..Interrupt Request Pending.
  24685. */
  24686. #define LCDIF_CTRL1_CLR_OVERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_OVERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_CLR_OVERFLOW_IRQ_MASK)
  24687. #define LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_EN_MASK (0x1000U)
  24688. #define LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_EN_SHIFT (12U)
  24689. #define LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_EN_SHIFT)) & LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_EN_MASK)
  24690. #define LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_EN_MASK (0x2000U)
  24691. #define LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_EN_SHIFT (13U)
  24692. #define LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_EN_SHIFT)) & LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_EN_MASK)
  24693. #define LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_EN_MASK (0x4000U)
  24694. #define LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_EN_SHIFT (14U)
  24695. #define LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_EN_SHIFT)) & LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_EN_MASK)
  24696. #define LCDIF_CTRL1_CLR_OVERFLOW_IRQ_EN_MASK (0x8000U)
  24697. #define LCDIF_CTRL1_CLR_OVERFLOW_IRQ_EN_SHIFT (15U)
  24698. #define LCDIF_CTRL1_CLR_OVERFLOW_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_OVERFLOW_IRQ_EN_SHIFT)) & LCDIF_CTRL1_CLR_OVERFLOW_IRQ_EN_MASK)
  24699. #define LCDIF_CTRL1_CLR_BYTE_PACKING_FORMAT_MASK (0xF0000U)
  24700. #define LCDIF_CTRL1_CLR_BYTE_PACKING_FORMAT_SHIFT (16U)
  24701. #define LCDIF_CTRL1_CLR_BYTE_PACKING_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_BYTE_PACKING_FORMAT_SHIFT)) & LCDIF_CTRL1_CLR_BYTE_PACKING_FORMAT_MASK)
  24702. #define LCDIF_CTRL1_CLR_IRQ_ON_ALTERNATE_FIELDS_MASK (0x100000U)
  24703. #define LCDIF_CTRL1_CLR_IRQ_ON_ALTERNATE_FIELDS_SHIFT (20U)
  24704. #define LCDIF_CTRL1_CLR_IRQ_ON_ALTERNATE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_IRQ_ON_ALTERNATE_FIELDS_SHIFT)) & LCDIF_CTRL1_CLR_IRQ_ON_ALTERNATE_FIELDS_MASK)
  24705. #define LCDIF_CTRL1_CLR_FIFO_CLEAR_MASK (0x200000U)
  24706. #define LCDIF_CTRL1_CLR_FIFO_CLEAR_SHIFT (21U)
  24707. #define LCDIF_CTRL1_CLR_FIFO_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_FIFO_CLEAR_SHIFT)) & LCDIF_CTRL1_CLR_FIFO_CLEAR_MASK)
  24708. #define LCDIF_CTRL1_CLR_START_INTERLACE_FROM_SECOND_FIELD_MASK (0x400000U)
  24709. #define LCDIF_CTRL1_CLR_START_INTERLACE_FROM_SECOND_FIELD_SHIFT (22U)
  24710. #define LCDIF_CTRL1_CLR_START_INTERLACE_FROM_SECOND_FIELD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_START_INTERLACE_FROM_SECOND_FIELD_SHIFT)) & LCDIF_CTRL1_CLR_START_INTERLACE_FROM_SECOND_FIELD_MASK)
  24711. #define LCDIF_CTRL1_CLR_INTERLACE_FIELDS_MASK (0x800000U)
  24712. #define LCDIF_CTRL1_CLR_INTERLACE_FIELDS_SHIFT (23U)
  24713. #define LCDIF_CTRL1_CLR_INTERLACE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_INTERLACE_FIELDS_SHIFT)) & LCDIF_CTRL1_CLR_INTERLACE_FIELDS_MASK)
  24714. #define LCDIF_CTRL1_CLR_RECOVER_ON_UNDERFLOW_MASK (0x1000000U)
  24715. #define LCDIF_CTRL1_CLR_RECOVER_ON_UNDERFLOW_SHIFT (24U)
  24716. #define LCDIF_CTRL1_CLR_RECOVER_ON_UNDERFLOW(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_RECOVER_ON_UNDERFLOW_SHIFT)) & LCDIF_CTRL1_CLR_RECOVER_ON_UNDERFLOW_MASK)
  24717. #define LCDIF_CTRL1_CLR_BM_ERROR_IRQ_MASK (0x2000000U)
  24718. #define LCDIF_CTRL1_CLR_BM_ERROR_IRQ_SHIFT (25U)
  24719. /*! BM_ERROR_IRQ
  24720. * 0b0..No Interrupt Request Pending.
  24721. * 0b1..Interrupt Request Pending.
  24722. */
  24723. #define LCDIF_CTRL1_CLR_BM_ERROR_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_BM_ERROR_IRQ_SHIFT)) & LCDIF_CTRL1_CLR_BM_ERROR_IRQ_MASK)
  24724. #define LCDIF_CTRL1_CLR_BM_ERROR_IRQ_EN_MASK (0x4000000U)
  24725. #define LCDIF_CTRL1_CLR_BM_ERROR_IRQ_EN_SHIFT (26U)
  24726. #define LCDIF_CTRL1_CLR_BM_ERROR_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_BM_ERROR_IRQ_EN_SHIFT)) & LCDIF_CTRL1_CLR_BM_ERROR_IRQ_EN_MASK)
  24727. #define LCDIF_CTRL1_CLR_CS_OUT_SELECT_MASK (0x40000000U)
  24728. #define LCDIF_CTRL1_CLR_CS_OUT_SELECT_SHIFT (30U)
  24729. #define LCDIF_CTRL1_CLR_CS_OUT_SELECT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_CS_OUT_SELECT_SHIFT)) & LCDIF_CTRL1_CLR_CS_OUT_SELECT_MASK)
  24730. #define LCDIF_CTRL1_CLR_IMAGE_DATA_SELECT_MASK (0x80000000U)
  24731. #define LCDIF_CTRL1_CLR_IMAGE_DATA_SELECT_SHIFT (31U)
  24732. #define LCDIF_CTRL1_CLR_IMAGE_DATA_SELECT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_IMAGE_DATA_SELECT_SHIFT)) & LCDIF_CTRL1_CLR_IMAGE_DATA_SELECT_MASK)
  24733. /*! @} */
  24734. /*! @name CTRL1_TOG - LCDIF General Control1 Register */
  24735. /*! @{ */
  24736. #define LCDIF_CTRL1_TOG_RSRVD0_MASK (0xF8U)
  24737. #define LCDIF_CTRL1_TOG_RSRVD0_SHIFT (3U)
  24738. #define LCDIF_CTRL1_TOG_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_RSRVD0_SHIFT)) & LCDIF_CTRL1_TOG_RSRVD0_MASK)
  24739. #define LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_MASK (0x100U)
  24740. #define LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_SHIFT (8U)
  24741. /*! VSYNC_EDGE_IRQ
  24742. * 0b0..No Interrupt Request Pending.
  24743. * 0b1..Interrupt Request Pending.
  24744. */
  24745. #define LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_SHIFT)) & LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_MASK)
  24746. #define LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_MASK (0x200U)
  24747. #define LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_SHIFT (9U)
  24748. /*! CUR_FRAME_DONE_IRQ
  24749. * 0b0..No Interrupt Request Pending.
  24750. * 0b1..Interrupt Request Pending.
  24751. */
  24752. #define LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_SHIFT)) & LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_MASK)
  24753. #define LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_MASK (0x400U)
  24754. #define LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_SHIFT (10U)
  24755. /*! UNDERFLOW_IRQ
  24756. * 0b0..No Interrupt Request Pending.
  24757. * 0b1..Interrupt Request Pending.
  24758. */
  24759. #define LCDIF_CTRL1_TOG_UNDERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_MASK)
  24760. #define LCDIF_CTRL1_TOG_OVERFLOW_IRQ_MASK (0x800U)
  24761. #define LCDIF_CTRL1_TOG_OVERFLOW_IRQ_SHIFT (11U)
  24762. /*! OVERFLOW_IRQ
  24763. * 0b0..No Interrupt Request Pending.
  24764. * 0b1..Interrupt Request Pending.
  24765. */
  24766. #define LCDIF_CTRL1_TOG_OVERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_OVERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_TOG_OVERFLOW_IRQ_MASK)
  24767. #define LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_EN_MASK (0x1000U)
  24768. #define LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_EN_SHIFT (12U)
  24769. #define LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_EN_SHIFT)) & LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_EN_MASK)
  24770. #define LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_EN_MASK (0x2000U)
  24771. #define LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_EN_SHIFT (13U)
  24772. #define LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_EN_SHIFT)) & LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_EN_MASK)
  24773. #define LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_EN_MASK (0x4000U)
  24774. #define LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_EN_SHIFT (14U)
  24775. #define LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_EN_SHIFT)) & LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_EN_MASK)
  24776. #define LCDIF_CTRL1_TOG_OVERFLOW_IRQ_EN_MASK (0x8000U)
  24777. #define LCDIF_CTRL1_TOG_OVERFLOW_IRQ_EN_SHIFT (15U)
  24778. #define LCDIF_CTRL1_TOG_OVERFLOW_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_OVERFLOW_IRQ_EN_SHIFT)) & LCDIF_CTRL1_TOG_OVERFLOW_IRQ_EN_MASK)
  24779. #define LCDIF_CTRL1_TOG_BYTE_PACKING_FORMAT_MASK (0xF0000U)
  24780. #define LCDIF_CTRL1_TOG_BYTE_PACKING_FORMAT_SHIFT (16U)
  24781. #define LCDIF_CTRL1_TOG_BYTE_PACKING_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_BYTE_PACKING_FORMAT_SHIFT)) & LCDIF_CTRL1_TOG_BYTE_PACKING_FORMAT_MASK)
  24782. #define LCDIF_CTRL1_TOG_IRQ_ON_ALTERNATE_FIELDS_MASK (0x100000U)
  24783. #define LCDIF_CTRL1_TOG_IRQ_ON_ALTERNATE_FIELDS_SHIFT (20U)
  24784. #define LCDIF_CTRL1_TOG_IRQ_ON_ALTERNATE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_IRQ_ON_ALTERNATE_FIELDS_SHIFT)) & LCDIF_CTRL1_TOG_IRQ_ON_ALTERNATE_FIELDS_MASK)
  24785. #define LCDIF_CTRL1_TOG_FIFO_CLEAR_MASK (0x200000U)
  24786. #define LCDIF_CTRL1_TOG_FIFO_CLEAR_SHIFT (21U)
  24787. #define LCDIF_CTRL1_TOG_FIFO_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_FIFO_CLEAR_SHIFT)) & LCDIF_CTRL1_TOG_FIFO_CLEAR_MASK)
  24788. #define LCDIF_CTRL1_TOG_START_INTERLACE_FROM_SECOND_FIELD_MASK (0x400000U)
  24789. #define LCDIF_CTRL1_TOG_START_INTERLACE_FROM_SECOND_FIELD_SHIFT (22U)
  24790. #define LCDIF_CTRL1_TOG_START_INTERLACE_FROM_SECOND_FIELD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_START_INTERLACE_FROM_SECOND_FIELD_SHIFT)) & LCDIF_CTRL1_TOG_START_INTERLACE_FROM_SECOND_FIELD_MASK)
  24791. #define LCDIF_CTRL1_TOG_INTERLACE_FIELDS_MASK (0x800000U)
  24792. #define LCDIF_CTRL1_TOG_INTERLACE_FIELDS_SHIFT (23U)
  24793. #define LCDIF_CTRL1_TOG_INTERLACE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_INTERLACE_FIELDS_SHIFT)) & LCDIF_CTRL1_TOG_INTERLACE_FIELDS_MASK)
  24794. #define LCDIF_CTRL1_TOG_RECOVER_ON_UNDERFLOW_MASK (0x1000000U)
  24795. #define LCDIF_CTRL1_TOG_RECOVER_ON_UNDERFLOW_SHIFT (24U)
  24796. #define LCDIF_CTRL1_TOG_RECOVER_ON_UNDERFLOW(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_RECOVER_ON_UNDERFLOW_SHIFT)) & LCDIF_CTRL1_TOG_RECOVER_ON_UNDERFLOW_MASK)
  24797. #define LCDIF_CTRL1_TOG_BM_ERROR_IRQ_MASK (0x2000000U)
  24798. #define LCDIF_CTRL1_TOG_BM_ERROR_IRQ_SHIFT (25U)
  24799. /*! BM_ERROR_IRQ
  24800. * 0b0..No Interrupt Request Pending.
  24801. * 0b1..Interrupt Request Pending.
  24802. */
  24803. #define LCDIF_CTRL1_TOG_BM_ERROR_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_BM_ERROR_IRQ_SHIFT)) & LCDIF_CTRL1_TOG_BM_ERROR_IRQ_MASK)
  24804. #define LCDIF_CTRL1_TOG_BM_ERROR_IRQ_EN_MASK (0x4000000U)
  24805. #define LCDIF_CTRL1_TOG_BM_ERROR_IRQ_EN_SHIFT (26U)
  24806. #define LCDIF_CTRL1_TOG_BM_ERROR_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_BM_ERROR_IRQ_EN_SHIFT)) & LCDIF_CTRL1_TOG_BM_ERROR_IRQ_EN_MASK)
  24807. #define LCDIF_CTRL1_TOG_CS_OUT_SELECT_MASK (0x40000000U)
  24808. #define LCDIF_CTRL1_TOG_CS_OUT_SELECT_SHIFT (30U)
  24809. #define LCDIF_CTRL1_TOG_CS_OUT_SELECT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_CS_OUT_SELECT_SHIFT)) & LCDIF_CTRL1_TOG_CS_OUT_SELECT_MASK)
  24810. #define LCDIF_CTRL1_TOG_IMAGE_DATA_SELECT_MASK (0x80000000U)
  24811. #define LCDIF_CTRL1_TOG_IMAGE_DATA_SELECT_SHIFT (31U)
  24812. #define LCDIF_CTRL1_TOG_IMAGE_DATA_SELECT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_IMAGE_DATA_SELECT_SHIFT)) & LCDIF_CTRL1_TOG_IMAGE_DATA_SELECT_MASK)
  24813. /*! @} */
  24814. /*! @name CTRL2 - LCDIF General Control2 Register */
  24815. /*! @{ */
  24816. #define LCDIF_CTRL2_RSRVD0_MASK (0xFFFU)
  24817. #define LCDIF_CTRL2_RSRVD0_SHIFT (0U)
  24818. #define LCDIF_CTRL2_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_RSRVD0_SHIFT)) & LCDIF_CTRL2_RSRVD0_MASK)
  24819. #define LCDIF_CTRL2_EVEN_LINE_PATTERN_MASK (0x7000U)
  24820. #define LCDIF_CTRL2_EVEN_LINE_PATTERN_SHIFT (12U)
  24821. /*! EVEN_LINE_PATTERN
  24822. * 0b000..RGB
  24823. * 0b001..RBG
  24824. * 0b010..GBR
  24825. * 0b011..GRB
  24826. * 0b100..BRG
  24827. * 0b101..BGR
  24828. */
  24829. #define LCDIF_CTRL2_EVEN_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_EVEN_LINE_PATTERN_SHIFT)) & LCDIF_CTRL2_EVEN_LINE_PATTERN_MASK)
  24830. #define LCDIF_CTRL2_RSRVD3_MASK (0x8000U)
  24831. #define LCDIF_CTRL2_RSRVD3_SHIFT (15U)
  24832. #define LCDIF_CTRL2_RSRVD3(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_RSRVD3_SHIFT)) & LCDIF_CTRL2_RSRVD3_MASK)
  24833. #define LCDIF_CTRL2_ODD_LINE_PATTERN_MASK (0x70000U)
  24834. #define LCDIF_CTRL2_ODD_LINE_PATTERN_SHIFT (16U)
  24835. /*! ODD_LINE_PATTERN
  24836. * 0b000..RGB
  24837. * 0b001..RBG
  24838. * 0b010..GBR
  24839. * 0b011..GRB
  24840. * 0b100..BRG
  24841. * 0b101..BGR
  24842. */
  24843. #define LCDIF_CTRL2_ODD_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_ODD_LINE_PATTERN_SHIFT)) & LCDIF_CTRL2_ODD_LINE_PATTERN_MASK)
  24844. #define LCDIF_CTRL2_RSRVD4_MASK (0x80000U)
  24845. #define LCDIF_CTRL2_RSRVD4_SHIFT (19U)
  24846. #define LCDIF_CTRL2_RSRVD4(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_RSRVD4_SHIFT)) & LCDIF_CTRL2_RSRVD4_MASK)
  24847. #define LCDIF_CTRL2_BURST_LEN_8_MASK (0x100000U)
  24848. #define LCDIF_CTRL2_BURST_LEN_8_SHIFT (20U)
  24849. #define LCDIF_CTRL2_BURST_LEN_8(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_BURST_LEN_8_SHIFT)) & LCDIF_CTRL2_BURST_LEN_8_MASK)
  24850. #define LCDIF_CTRL2_OUTSTANDING_REQS_MASK (0xE00000U)
  24851. #define LCDIF_CTRL2_OUTSTANDING_REQS_SHIFT (21U)
  24852. /*! OUTSTANDING_REQS
  24853. * 0b000..REQ_1
  24854. * 0b001..REQ_2
  24855. * 0b010..REQ_4
  24856. * 0b011..REQ_8
  24857. * 0b100..REQ_16
  24858. */
  24859. #define LCDIF_CTRL2_OUTSTANDING_REQS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_OUTSTANDING_REQS_SHIFT)) & LCDIF_CTRL2_OUTSTANDING_REQS_MASK)
  24860. #define LCDIF_CTRL2_RSRVD5_MASK (0xFF000000U)
  24861. #define LCDIF_CTRL2_RSRVD5_SHIFT (24U)
  24862. #define LCDIF_CTRL2_RSRVD5(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_RSRVD5_SHIFT)) & LCDIF_CTRL2_RSRVD5_MASK)
  24863. /*! @} */
  24864. /*! @name CTRL2_SET - LCDIF General Control2 Register */
  24865. /*! @{ */
  24866. #define LCDIF_CTRL2_SET_RSRVD0_MASK (0xFFFU)
  24867. #define LCDIF_CTRL2_SET_RSRVD0_SHIFT (0U)
  24868. #define LCDIF_CTRL2_SET_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_RSRVD0_SHIFT)) & LCDIF_CTRL2_SET_RSRVD0_MASK)
  24869. #define LCDIF_CTRL2_SET_EVEN_LINE_PATTERN_MASK (0x7000U)
  24870. #define LCDIF_CTRL2_SET_EVEN_LINE_PATTERN_SHIFT (12U)
  24871. /*! EVEN_LINE_PATTERN
  24872. * 0b000..RGB
  24873. * 0b001..RBG
  24874. * 0b010..GBR
  24875. * 0b011..GRB
  24876. * 0b100..BRG
  24877. * 0b101..BGR
  24878. */
  24879. #define LCDIF_CTRL2_SET_EVEN_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_EVEN_LINE_PATTERN_SHIFT)) & LCDIF_CTRL2_SET_EVEN_LINE_PATTERN_MASK)
  24880. #define LCDIF_CTRL2_SET_RSRVD3_MASK (0x8000U)
  24881. #define LCDIF_CTRL2_SET_RSRVD3_SHIFT (15U)
  24882. #define LCDIF_CTRL2_SET_RSRVD3(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_RSRVD3_SHIFT)) & LCDIF_CTRL2_SET_RSRVD3_MASK)
  24883. #define LCDIF_CTRL2_SET_ODD_LINE_PATTERN_MASK (0x70000U)
  24884. #define LCDIF_CTRL2_SET_ODD_LINE_PATTERN_SHIFT (16U)
  24885. /*! ODD_LINE_PATTERN
  24886. * 0b000..RGB
  24887. * 0b001..RBG
  24888. * 0b010..GBR
  24889. * 0b011..GRB
  24890. * 0b100..BRG
  24891. * 0b101..BGR
  24892. */
  24893. #define LCDIF_CTRL2_SET_ODD_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_ODD_LINE_PATTERN_SHIFT)) & LCDIF_CTRL2_SET_ODD_LINE_PATTERN_MASK)
  24894. #define LCDIF_CTRL2_SET_RSRVD4_MASK (0x80000U)
  24895. #define LCDIF_CTRL2_SET_RSRVD4_SHIFT (19U)
  24896. #define LCDIF_CTRL2_SET_RSRVD4(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_RSRVD4_SHIFT)) & LCDIF_CTRL2_SET_RSRVD4_MASK)
  24897. #define LCDIF_CTRL2_SET_BURST_LEN_8_MASK (0x100000U)
  24898. #define LCDIF_CTRL2_SET_BURST_LEN_8_SHIFT (20U)
  24899. #define LCDIF_CTRL2_SET_BURST_LEN_8(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_BURST_LEN_8_SHIFT)) & LCDIF_CTRL2_SET_BURST_LEN_8_MASK)
  24900. #define LCDIF_CTRL2_SET_OUTSTANDING_REQS_MASK (0xE00000U)
  24901. #define LCDIF_CTRL2_SET_OUTSTANDING_REQS_SHIFT (21U)
  24902. /*! OUTSTANDING_REQS
  24903. * 0b000..REQ_1
  24904. * 0b001..REQ_2
  24905. * 0b010..REQ_4
  24906. * 0b011..REQ_8
  24907. * 0b100..REQ_16
  24908. */
  24909. #define LCDIF_CTRL2_SET_OUTSTANDING_REQS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_OUTSTANDING_REQS_SHIFT)) & LCDIF_CTRL2_SET_OUTSTANDING_REQS_MASK)
  24910. #define LCDIF_CTRL2_SET_RSRVD5_MASK (0xFF000000U)
  24911. #define LCDIF_CTRL2_SET_RSRVD5_SHIFT (24U)
  24912. #define LCDIF_CTRL2_SET_RSRVD5(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_RSRVD5_SHIFT)) & LCDIF_CTRL2_SET_RSRVD5_MASK)
  24913. /*! @} */
  24914. /*! @name CTRL2_CLR - LCDIF General Control2 Register */
  24915. /*! @{ */
  24916. #define LCDIF_CTRL2_CLR_RSRVD0_MASK (0xFFFU)
  24917. #define LCDIF_CTRL2_CLR_RSRVD0_SHIFT (0U)
  24918. #define LCDIF_CTRL2_CLR_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_RSRVD0_SHIFT)) & LCDIF_CTRL2_CLR_RSRVD0_MASK)
  24919. #define LCDIF_CTRL2_CLR_EVEN_LINE_PATTERN_MASK (0x7000U)
  24920. #define LCDIF_CTRL2_CLR_EVEN_LINE_PATTERN_SHIFT (12U)
  24921. /*! EVEN_LINE_PATTERN
  24922. * 0b000..RGB
  24923. * 0b001..RBG
  24924. * 0b010..GBR
  24925. * 0b011..GRB
  24926. * 0b100..BRG
  24927. * 0b101..BGR
  24928. */
  24929. #define LCDIF_CTRL2_CLR_EVEN_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_EVEN_LINE_PATTERN_SHIFT)) & LCDIF_CTRL2_CLR_EVEN_LINE_PATTERN_MASK)
  24930. #define LCDIF_CTRL2_CLR_RSRVD3_MASK (0x8000U)
  24931. #define LCDIF_CTRL2_CLR_RSRVD3_SHIFT (15U)
  24932. #define LCDIF_CTRL2_CLR_RSRVD3(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_RSRVD3_SHIFT)) & LCDIF_CTRL2_CLR_RSRVD3_MASK)
  24933. #define LCDIF_CTRL2_CLR_ODD_LINE_PATTERN_MASK (0x70000U)
  24934. #define LCDIF_CTRL2_CLR_ODD_LINE_PATTERN_SHIFT (16U)
  24935. /*! ODD_LINE_PATTERN
  24936. * 0b000..RGB
  24937. * 0b001..RBG
  24938. * 0b010..GBR
  24939. * 0b011..GRB
  24940. * 0b100..BRG
  24941. * 0b101..BGR
  24942. */
  24943. #define LCDIF_CTRL2_CLR_ODD_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_ODD_LINE_PATTERN_SHIFT)) & LCDIF_CTRL2_CLR_ODD_LINE_PATTERN_MASK)
  24944. #define LCDIF_CTRL2_CLR_RSRVD4_MASK (0x80000U)
  24945. #define LCDIF_CTRL2_CLR_RSRVD4_SHIFT (19U)
  24946. #define LCDIF_CTRL2_CLR_RSRVD4(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_RSRVD4_SHIFT)) & LCDIF_CTRL2_CLR_RSRVD4_MASK)
  24947. #define LCDIF_CTRL2_CLR_BURST_LEN_8_MASK (0x100000U)
  24948. #define LCDIF_CTRL2_CLR_BURST_LEN_8_SHIFT (20U)
  24949. #define LCDIF_CTRL2_CLR_BURST_LEN_8(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_BURST_LEN_8_SHIFT)) & LCDIF_CTRL2_CLR_BURST_LEN_8_MASK)
  24950. #define LCDIF_CTRL2_CLR_OUTSTANDING_REQS_MASK (0xE00000U)
  24951. #define LCDIF_CTRL2_CLR_OUTSTANDING_REQS_SHIFT (21U)
  24952. /*! OUTSTANDING_REQS
  24953. * 0b000..REQ_1
  24954. * 0b001..REQ_2
  24955. * 0b010..REQ_4
  24956. * 0b011..REQ_8
  24957. * 0b100..REQ_16
  24958. */
  24959. #define LCDIF_CTRL2_CLR_OUTSTANDING_REQS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_OUTSTANDING_REQS_SHIFT)) & LCDIF_CTRL2_CLR_OUTSTANDING_REQS_MASK)
  24960. #define LCDIF_CTRL2_CLR_RSRVD5_MASK (0xFF000000U)
  24961. #define LCDIF_CTRL2_CLR_RSRVD5_SHIFT (24U)
  24962. #define LCDIF_CTRL2_CLR_RSRVD5(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_RSRVD5_SHIFT)) & LCDIF_CTRL2_CLR_RSRVD5_MASK)
  24963. /*! @} */
  24964. /*! @name CTRL2_TOG - LCDIF General Control2 Register */
  24965. /*! @{ */
  24966. #define LCDIF_CTRL2_TOG_RSRVD0_MASK (0xFFFU)
  24967. #define LCDIF_CTRL2_TOG_RSRVD0_SHIFT (0U)
  24968. #define LCDIF_CTRL2_TOG_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_RSRVD0_SHIFT)) & LCDIF_CTRL2_TOG_RSRVD0_MASK)
  24969. #define LCDIF_CTRL2_TOG_EVEN_LINE_PATTERN_MASK (0x7000U)
  24970. #define LCDIF_CTRL2_TOG_EVEN_LINE_PATTERN_SHIFT (12U)
  24971. /*! EVEN_LINE_PATTERN
  24972. * 0b000..RGB
  24973. * 0b001..RBG
  24974. * 0b010..GBR
  24975. * 0b011..GRB
  24976. * 0b100..BRG
  24977. * 0b101..BGR
  24978. */
  24979. #define LCDIF_CTRL2_TOG_EVEN_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_EVEN_LINE_PATTERN_SHIFT)) & LCDIF_CTRL2_TOG_EVEN_LINE_PATTERN_MASK)
  24980. #define LCDIF_CTRL2_TOG_RSRVD3_MASK (0x8000U)
  24981. #define LCDIF_CTRL2_TOG_RSRVD3_SHIFT (15U)
  24982. #define LCDIF_CTRL2_TOG_RSRVD3(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_RSRVD3_SHIFT)) & LCDIF_CTRL2_TOG_RSRVD3_MASK)
  24983. #define LCDIF_CTRL2_TOG_ODD_LINE_PATTERN_MASK (0x70000U)
  24984. #define LCDIF_CTRL2_TOG_ODD_LINE_PATTERN_SHIFT (16U)
  24985. /*! ODD_LINE_PATTERN
  24986. * 0b000..RGB
  24987. * 0b001..RBG
  24988. * 0b010..GBR
  24989. * 0b011..GRB
  24990. * 0b100..BRG
  24991. * 0b101..BGR
  24992. */
  24993. #define LCDIF_CTRL2_TOG_ODD_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_ODD_LINE_PATTERN_SHIFT)) & LCDIF_CTRL2_TOG_ODD_LINE_PATTERN_MASK)
  24994. #define LCDIF_CTRL2_TOG_RSRVD4_MASK (0x80000U)
  24995. #define LCDIF_CTRL2_TOG_RSRVD4_SHIFT (19U)
  24996. #define LCDIF_CTRL2_TOG_RSRVD4(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_RSRVD4_SHIFT)) & LCDIF_CTRL2_TOG_RSRVD4_MASK)
  24997. #define LCDIF_CTRL2_TOG_BURST_LEN_8_MASK (0x100000U)
  24998. #define LCDIF_CTRL2_TOG_BURST_LEN_8_SHIFT (20U)
  24999. #define LCDIF_CTRL2_TOG_BURST_LEN_8(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_BURST_LEN_8_SHIFT)) & LCDIF_CTRL2_TOG_BURST_LEN_8_MASK)
  25000. #define LCDIF_CTRL2_TOG_OUTSTANDING_REQS_MASK (0xE00000U)
  25001. #define LCDIF_CTRL2_TOG_OUTSTANDING_REQS_SHIFT (21U)
  25002. /*! OUTSTANDING_REQS
  25003. * 0b000..REQ_1
  25004. * 0b001..REQ_2
  25005. * 0b010..REQ_4
  25006. * 0b011..REQ_8
  25007. * 0b100..REQ_16
  25008. */
  25009. #define LCDIF_CTRL2_TOG_OUTSTANDING_REQS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_OUTSTANDING_REQS_SHIFT)) & LCDIF_CTRL2_TOG_OUTSTANDING_REQS_MASK)
  25010. #define LCDIF_CTRL2_TOG_RSRVD5_MASK (0xFF000000U)
  25011. #define LCDIF_CTRL2_TOG_RSRVD5_SHIFT (24U)
  25012. #define LCDIF_CTRL2_TOG_RSRVD5(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_RSRVD5_SHIFT)) & LCDIF_CTRL2_TOG_RSRVD5_MASK)
  25013. /*! @} */
  25014. /*! @name TRANSFER_COUNT - LCDIF Horizontal and Vertical Valid Data Count Register */
  25015. /*! @{ */
  25016. #define LCDIF_TRANSFER_COUNT_H_COUNT_MASK (0xFFFFU)
  25017. #define LCDIF_TRANSFER_COUNT_H_COUNT_SHIFT (0U)
  25018. #define LCDIF_TRANSFER_COUNT_H_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_TRANSFER_COUNT_H_COUNT_SHIFT)) & LCDIF_TRANSFER_COUNT_H_COUNT_MASK)
  25019. #define LCDIF_TRANSFER_COUNT_V_COUNT_MASK (0xFFFF0000U)
  25020. #define LCDIF_TRANSFER_COUNT_V_COUNT_SHIFT (16U)
  25021. #define LCDIF_TRANSFER_COUNT_V_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_TRANSFER_COUNT_V_COUNT_SHIFT)) & LCDIF_TRANSFER_COUNT_V_COUNT_MASK)
  25022. /*! @} */
  25023. /*! @name CUR_BUF - LCD Interface Current Buffer Address Register */
  25024. /*! @{ */
  25025. #define LCDIF_CUR_BUF_ADDR_MASK (0xFFFFFFFFU)
  25026. #define LCDIF_CUR_BUF_ADDR_SHIFT (0U)
  25027. #define LCDIF_CUR_BUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CUR_BUF_ADDR_SHIFT)) & LCDIF_CUR_BUF_ADDR_MASK)
  25028. /*! @} */
  25029. /*! @name NEXT_BUF - LCD Interface Next Buffer Address Register */
  25030. /*! @{ */
  25031. #define LCDIF_NEXT_BUF_ADDR_MASK (0xFFFFFFFFU)
  25032. #define LCDIF_NEXT_BUF_ADDR_SHIFT (0U)
  25033. #define LCDIF_NEXT_BUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_NEXT_BUF_ADDR_SHIFT)) & LCDIF_NEXT_BUF_ADDR_MASK)
  25034. /*! @} */
  25035. /*! @name VDCTRL0 - LCDIF VSYNC Mode and Dotclk Mode Control Register0 */
  25036. /*! @{ */
  25037. #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_MASK (0x3FFFFU)
  25038. #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_SHIFT (0U)
  25039. #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_SHIFT)) & LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_MASK)
  25040. #define LCDIF_VDCTRL0_HALF_LINE_MODE_MASK (0x40000U)
  25041. #define LCDIF_VDCTRL0_HALF_LINE_MODE_SHIFT (18U)
  25042. #define LCDIF_VDCTRL0_HALF_LINE_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_HALF_LINE_MODE_SHIFT)) & LCDIF_VDCTRL0_HALF_LINE_MODE_MASK)
  25043. #define LCDIF_VDCTRL0_HALF_LINE_MASK (0x80000U)
  25044. #define LCDIF_VDCTRL0_HALF_LINE_SHIFT (19U)
  25045. #define LCDIF_VDCTRL0_HALF_LINE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_HALF_LINE_SHIFT)) & LCDIF_VDCTRL0_HALF_LINE_MASK)
  25046. #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_UNIT_MASK (0x100000U)
  25047. #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_UNIT_SHIFT (20U)
  25048. #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_UNIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_UNIT_SHIFT)) & LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_UNIT_MASK)
  25049. #define LCDIF_VDCTRL0_VSYNC_PERIOD_UNIT_MASK (0x200000U)
  25050. #define LCDIF_VDCTRL0_VSYNC_PERIOD_UNIT_SHIFT (21U)
  25051. #define LCDIF_VDCTRL0_VSYNC_PERIOD_UNIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_VSYNC_PERIOD_UNIT_SHIFT)) & LCDIF_VDCTRL0_VSYNC_PERIOD_UNIT_MASK)
  25052. #define LCDIF_VDCTRL0_RSRVD1_MASK (0xC00000U)
  25053. #define LCDIF_VDCTRL0_RSRVD1_SHIFT (22U)
  25054. #define LCDIF_VDCTRL0_RSRVD1(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_RSRVD1_SHIFT)) & LCDIF_VDCTRL0_RSRVD1_MASK)
  25055. #define LCDIF_VDCTRL0_ENABLE_POL_MASK (0x1000000U)
  25056. #define LCDIF_VDCTRL0_ENABLE_POL_SHIFT (24U)
  25057. #define LCDIF_VDCTRL0_ENABLE_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_ENABLE_POL_SHIFT)) & LCDIF_VDCTRL0_ENABLE_POL_MASK)
  25058. #define LCDIF_VDCTRL0_DOTCLK_POL_MASK (0x2000000U)
  25059. #define LCDIF_VDCTRL0_DOTCLK_POL_SHIFT (25U)
  25060. #define LCDIF_VDCTRL0_DOTCLK_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_DOTCLK_POL_SHIFT)) & LCDIF_VDCTRL0_DOTCLK_POL_MASK)
  25061. #define LCDIF_VDCTRL0_HSYNC_POL_MASK (0x4000000U)
  25062. #define LCDIF_VDCTRL0_HSYNC_POL_SHIFT (26U)
  25063. #define LCDIF_VDCTRL0_HSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_HSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_HSYNC_POL_MASK)
  25064. #define LCDIF_VDCTRL0_VSYNC_POL_MASK (0x8000000U)
  25065. #define LCDIF_VDCTRL0_VSYNC_POL_SHIFT (27U)
  25066. #define LCDIF_VDCTRL0_VSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_VSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_VSYNC_POL_MASK)
  25067. #define LCDIF_VDCTRL0_ENABLE_PRESENT_MASK (0x10000000U)
  25068. #define LCDIF_VDCTRL0_ENABLE_PRESENT_SHIFT (28U)
  25069. #define LCDIF_VDCTRL0_ENABLE_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_ENABLE_PRESENT_SHIFT)) & LCDIF_VDCTRL0_ENABLE_PRESENT_MASK)
  25070. #define LCDIF_VDCTRL0_RSRVD2_MASK (0xE0000000U)
  25071. #define LCDIF_VDCTRL0_RSRVD2_SHIFT (29U)
  25072. #define LCDIF_VDCTRL0_RSRVD2(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_RSRVD2_SHIFT)) & LCDIF_VDCTRL0_RSRVD2_MASK)
  25073. /*! @} */
  25074. /*! @name VDCTRL0_SET - LCDIF VSYNC Mode and Dotclk Mode Control Register0 */
  25075. /*! @{ */
  25076. #define LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_MASK (0x3FFFFU)
  25077. #define LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_SHIFT (0U)
  25078. #define LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_SHIFT)) & LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_MASK)
  25079. #define LCDIF_VDCTRL0_SET_HALF_LINE_MODE_MASK (0x40000U)
  25080. #define LCDIF_VDCTRL0_SET_HALF_LINE_MODE_SHIFT (18U)
  25081. #define LCDIF_VDCTRL0_SET_HALF_LINE_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_HALF_LINE_MODE_SHIFT)) & LCDIF_VDCTRL0_SET_HALF_LINE_MODE_MASK)
  25082. #define LCDIF_VDCTRL0_SET_HALF_LINE_MASK (0x80000U)
  25083. #define LCDIF_VDCTRL0_SET_HALF_LINE_SHIFT (19U)
  25084. #define LCDIF_VDCTRL0_SET_HALF_LINE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_HALF_LINE_SHIFT)) & LCDIF_VDCTRL0_SET_HALF_LINE_MASK)
  25085. #define LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_UNIT_MASK (0x100000U)
  25086. #define LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_UNIT_SHIFT (20U)
  25087. #define LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_UNIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_UNIT_SHIFT)) & LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_UNIT_MASK)
  25088. #define LCDIF_VDCTRL0_SET_VSYNC_PERIOD_UNIT_MASK (0x200000U)
  25089. #define LCDIF_VDCTRL0_SET_VSYNC_PERIOD_UNIT_SHIFT (21U)
  25090. #define LCDIF_VDCTRL0_SET_VSYNC_PERIOD_UNIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_VSYNC_PERIOD_UNIT_SHIFT)) & LCDIF_VDCTRL0_SET_VSYNC_PERIOD_UNIT_MASK)
  25091. #define LCDIF_VDCTRL0_SET_RSRVD1_MASK (0xC00000U)
  25092. #define LCDIF_VDCTRL0_SET_RSRVD1_SHIFT (22U)
  25093. #define LCDIF_VDCTRL0_SET_RSRVD1(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_RSRVD1_SHIFT)) & LCDIF_VDCTRL0_SET_RSRVD1_MASK)
  25094. #define LCDIF_VDCTRL0_SET_ENABLE_POL_MASK (0x1000000U)
  25095. #define LCDIF_VDCTRL0_SET_ENABLE_POL_SHIFT (24U)
  25096. #define LCDIF_VDCTRL0_SET_ENABLE_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_ENABLE_POL_SHIFT)) & LCDIF_VDCTRL0_SET_ENABLE_POL_MASK)
  25097. #define LCDIF_VDCTRL0_SET_DOTCLK_POL_MASK (0x2000000U)
  25098. #define LCDIF_VDCTRL0_SET_DOTCLK_POL_SHIFT (25U)
  25099. #define LCDIF_VDCTRL0_SET_DOTCLK_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_DOTCLK_POL_SHIFT)) & LCDIF_VDCTRL0_SET_DOTCLK_POL_MASK)
  25100. #define LCDIF_VDCTRL0_SET_HSYNC_POL_MASK (0x4000000U)
  25101. #define LCDIF_VDCTRL0_SET_HSYNC_POL_SHIFT (26U)
  25102. #define LCDIF_VDCTRL0_SET_HSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_HSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_SET_HSYNC_POL_MASK)
  25103. #define LCDIF_VDCTRL0_SET_VSYNC_POL_MASK (0x8000000U)
  25104. #define LCDIF_VDCTRL0_SET_VSYNC_POL_SHIFT (27U)
  25105. #define LCDIF_VDCTRL0_SET_VSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_VSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_SET_VSYNC_POL_MASK)
  25106. #define LCDIF_VDCTRL0_SET_ENABLE_PRESENT_MASK (0x10000000U)
  25107. #define LCDIF_VDCTRL0_SET_ENABLE_PRESENT_SHIFT (28U)
  25108. #define LCDIF_VDCTRL0_SET_ENABLE_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_ENABLE_PRESENT_SHIFT)) & LCDIF_VDCTRL0_SET_ENABLE_PRESENT_MASK)
  25109. #define LCDIF_VDCTRL0_SET_RSRVD2_MASK (0xE0000000U)
  25110. #define LCDIF_VDCTRL0_SET_RSRVD2_SHIFT (29U)
  25111. #define LCDIF_VDCTRL0_SET_RSRVD2(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_RSRVD2_SHIFT)) & LCDIF_VDCTRL0_SET_RSRVD2_MASK)
  25112. /*! @} */
  25113. /*! @name VDCTRL0_CLR - LCDIF VSYNC Mode and Dotclk Mode Control Register0 */
  25114. /*! @{ */
  25115. #define LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_MASK (0x3FFFFU)
  25116. #define LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_SHIFT (0U)
  25117. #define LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_SHIFT)) & LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_MASK)
  25118. #define LCDIF_VDCTRL0_CLR_HALF_LINE_MODE_MASK (0x40000U)
  25119. #define LCDIF_VDCTRL0_CLR_HALF_LINE_MODE_SHIFT (18U)
  25120. #define LCDIF_VDCTRL0_CLR_HALF_LINE_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_HALF_LINE_MODE_SHIFT)) & LCDIF_VDCTRL0_CLR_HALF_LINE_MODE_MASK)
  25121. #define LCDIF_VDCTRL0_CLR_HALF_LINE_MASK (0x80000U)
  25122. #define LCDIF_VDCTRL0_CLR_HALF_LINE_SHIFT (19U)
  25123. #define LCDIF_VDCTRL0_CLR_HALF_LINE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_HALF_LINE_SHIFT)) & LCDIF_VDCTRL0_CLR_HALF_LINE_MASK)
  25124. #define LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_UNIT_MASK (0x100000U)
  25125. #define LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_UNIT_SHIFT (20U)
  25126. #define LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_UNIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_UNIT_SHIFT)) & LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_UNIT_MASK)
  25127. #define LCDIF_VDCTRL0_CLR_VSYNC_PERIOD_UNIT_MASK (0x200000U)
  25128. #define LCDIF_VDCTRL0_CLR_VSYNC_PERIOD_UNIT_SHIFT (21U)
  25129. #define LCDIF_VDCTRL0_CLR_VSYNC_PERIOD_UNIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_VSYNC_PERIOD_UNIT_SHIFT)) & LCDIF_VDCTRL0_CLR_VSYNC_PERIOD_UNIT_MASK)
  25130. #define LCDIF_VDCTRL0_CLR_RSRVD1_MASK (0xC00000U)
  25131. #define LCDIF_VDCTRL0_CLR_RSRVD1_SHIFT (22U)
  25132. #define LCDIF_VDCTRL0_CLR_RSRVD1(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_RSRVD1_SHIFT)) & LCDIF_VDCTRL0_CLR_RSRVD1_MASK)
  25133. #define LCDIF_VDCTRL0_CLR_ENABLE_POL_MASK (0x1000000U)
  25134. #define LCDIF_VDCTRL0_CLR_ENABLE_POL_SHIFT (24U)
  25135. #define LCDIF_VDCTRL0_CLR_ENABLE_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_ENABLE_POL_SHIFT)) & LCDIF_VDCTRL0_CLR_ENABLE_POL_MASK)
  25136. #define LCDIF_VDCTRL0_CLR_DOTCLK_POL_MASK (0x2000000U)
  25137. #define LCDIF_VDCTRL0_CLR_DOTCLK_POL_SHIFT (25U)
  25138. #define LCDIF_VDCTRL0_CLR_DOTCLK_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_DOTCLK_POL_SHIFT)) & LCDIF_VDCTRL0_CLR_DOTCLK_POL_MASK)
  25139. #define LCDIF_VDCTRL0_CLR_HSYNC_POL_MASK (0x4000000U)
  25140. #define LCDIF_VDCTRL0_CLR_HSYNC_POL_SHIFT (26U)
  25141. #define LCDIF_VDCTRL0_CLR_HSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_HSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_CLR_HSYNC_POL_MASK)
  25142. #define LCDIF_VDCTRL0_CLR_VSYNC_POL_MASK (0x8000000U)
  25143. #define LCDIF_VDCTRL0_CLR_VSYNC_POL_SHIFT (27U)
  25144. #define LCDIF_VDCTRL0_CLR_VSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_VSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_CLR_VSYNC_POL_MASK)
  25145. #define LCDIF_VDCTRL0_CLR_ENABLE_PRESENT_MASK (0x10000000U)
  25146. #define LCDIF_VDCTRL0_CLR_ENABLE_PRESENT_SHIFT (28U)
  25147. #define LCDIF_VDCTRL0_CLR_ENABLE_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_ENABLE_PRESENT_SHIFT)) & LCDIF_VDCTRL0_CLR_ENABLE_PRESENT_MASK)
  25148. #define LCDIF_VDCTRL0_CLR_RSRVD2_MASK (0xE0000000U)
  25149. #define LCDIF_VDCTRL0_CLR_RSRVD2_SHIFT (29U)
  25150. #define LCDIF_VDCTRL0_CLR_RSRVD2(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_RSRVD2_SHIFT)) & LCDIF_VDCTRL0_CLR_RSRVD2_MASK)
  25151. /*! @} */
  25152. /*! @name VDCTRL0_TOG - LCDIF VSYNC Mode and Dotclk Mode Control Register0 */
  25153. /*! @{ */
  25154. #define LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_MASK (0x3FFFFU)
  25155. #define LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_SHIFT (0U)
  25156. #define LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_SHIFT)) & LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_MASK)
  25157. #define LCDIF_VDCTRL0_TOG_HALF_LINE_MODE_MASK (0x40000U)
  25158. #define LCDIF_VDCTRL0_TOG_HALF_LINE_MODE_SHIFT (18U)
  25159. #define LCDIF_VDCTRL0_TOG_HALF_LINE_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_HALF_LINE_MODE_SHIFT)) & LCDIF_VDCTRL0_TOG_HALF_LINE_MODE_MASK)
  25160. #define LCDIF_VDCTRL0_TOG_HALF_LINE_MASK (0x80000U)
  25161. #define LCDIF_VDCTRL0_TOG_HALF_LINE_SHIFT (19U)
  25162. #define LCDIF_VDCTRL0_TOG_HALF_LINE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_HALF_LINE_SHIFT)) & LCDIF_VDCTRL0_TOG_HALF_LINE_MASK)
  25163. #define LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_UNIT_MASK (0x100000U)
  25164. #define LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_UNIT_SHIFT (20U)
  25165. #define LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_UNIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_UNIT_SHIFT)) & LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_UNIT_MASK)
  25166. #define LCDIF_VDCTRL0_TOG_VSYNC_PERIOD_UNIT_MASK (0x200000U)
  25167. #define LCDIF_VDCTRL0_TOG_VSYNC_PERIOD_UNIT_SHIFT (21U)
  25168. #define LCDIF_VDCTRL0_TOG_VSYNC_PERIOD_UNIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_VSYNC_PERIOD_UNIT_SHIFT)) & LCDIF_VDCTRL0_TOG_VSYNC_PERIOD_UNIT_MASK)
  25169. #define LCDIF_VDCTRL0_TOG_RSRVD1_MASK (0xC00000U)
  25170. #define LCDIF_VDCTRL0_TOG_RSRVD1_SHIFT (22U)
  25171. #define LCDIF_VDCTRL0_TOG_RSRVD1(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_RSRVD1_SHIFT)) & LCDIF_VDCTRL0_TOG_RSRVD1_MASK)
  25172. #define LCDIF_VDCTRL0_TOG_ENABLE_POL_MASK (0x1000000U)
  25173. #define LCDIF_VDCTRL0_TOG_ENABLE_POL_SHIFT (24U)
  25174. #define LCDIF_VDCTRL0_TOG_ENABLE_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_ENABLE_POL_SHIFT)) & LCDIF_VDCTRL0_TOG_ENABLE_POL_MASK)
  25175. #define LCDIF_VDCTRL0_TOG_DOTCLK_POL_MASK (0x2000000U)
  25176. #define LCDIF_VDCTRL0_TOG_DOTCLK_POL_SHIFT (25U)
  25177. #define LCDIF_VDCTRL0_TOG_DOTCLK_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_DOTCLK_POL_SHIFT)) & LCDIF_VDCTRL0_TOG_DOTCLK_POL_MASK)
  25178. #define LCDIF_VDCTRL0_TOG_HSYNC_POL_MASK (0x4000000U)
  25179. #define LCDIF_VDCTRL0_TOG_HSYNC_POL_SHIFT (26U)
  25180. #define LCDIF_VDCTRL0_TOG_HSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_HSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_TOG_HSYNC_POL_MASK)
  25181. #define LCDIF_VDCTRL0_TOG_VSYNC_POL_MASK (0x8000000U)
  25182. #define LCDIF_VDCTRL0_TOG_VSYNC_POL_SHIFT (27U)
  25183. #define LCDIF_VDCTRL0_TOG_VSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_VSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_TOG_VSYNC_POL_MASK)
  25184. #define LCDIF_VDCTRL0_TOG_ENABLE_PRESENT_MASK (0x10000000U)
  25185. #define LCDIF_VDCTRL0_TOG_ENABLE_PRESENT_SHIFT (28U)
  25186. #define LCDIF_VDCTRL0_TOG_ENABLE_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_ENABLE_PRESENT_SHIFT)) & LCDIF_VDCTRL0_TOG_ENABLE_PRESENT_MASK)
  25187. #define LCDIF_VDCTRL0_TOG_RSRVD2_MASK (0xE0000000U)
  25188. #define LCDIF_VDCTRL0_TOG_RSRVD2_SHIFT (29U)
  25189. #define LCDIF_VDCTRL0_TOG_RSRVD2(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_RSRVD2_SHIFT)) & LCDIF_VDCTRL0_TOG_RSRVD2_MASK)
  25190. /*! @} */
  25191. /*! @name VDCTRL1 - LCDIF VSYNC Mode and Dotclk Mode Control Register1 */
  25192. /*! @{ */
  25193. #define LCDIF_VDCTRL1_VSYNC_PERIOD_MASK (0xFFFFFFFFU)
  25194. #define LCDIF_VDCTRL1_VSYNC_PERIOD_SHIFT (0U)
  25195. #define LCDIF_VDCTRL1_VSYNC_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL1_VSYNC_PERIOD_SHIFT)) & LCDIF_VDCTRL1_VSYNC_PERIOD_MASK)
  25196. /*! @} */
  25197. /*! @name VDCTRL2 - LCDIF VSYNC Mode and Dotclk Mode Control Register2 */
  25198. /*! @{ */
  25199. #define LCDIF_VDCTRL2_HSYNC_PERIOD_MASK (0x3FFFFU)
  25200. #define LCDIF_VDCTRL2_HSYNC_PERIOD_SHIFT (0U)
  25201. #define LCDIF_VDCTRL2_HSYNC_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL2_HSYNC_PERIOD_SHIFT)) & LCDIF_VDCTRL2_HSYNC_PERIOD_MASK)
  25202. #define LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH_MASK (0xFFFC0000U)
  25203. #define LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH_SHIFT (18U)
  25204. #define LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH_SHIFT)) & LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH_MASK)
  25205. /*! @} */
  25206. /*! @name VDCTRL3 - LCDIF VSYNC Mode and Dotclk Mode Control Register3 */
  25207. /*! @{ */
  25208. #define LCDIF_VDCTRL3_VERTICAL_WAIT_CNT_MASK (0xFFFFU)
  25209. #define LCDIF_VDCTRL3_VERTICAL_WAIT_CNT_SHIFT (0U)
  25210. #define LCDIF_VDCTRL3_VERTICAL_WAIT_CNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL3_VERTICAL_WAIT_CNT_SHIFT)) & LCDIF_VDCTRL3_VERTICAL_WAIT_CNT_MASK)
  25211. #define LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT_MASK (0xFFF0000U)
  25212. #define LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT_SHIFT (16U)
  25213. #define LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT_SHIFT)) & LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT_MASK)
  25214. #define LCDIF_VDCTRL3_VSYNC_ONLY_MASK (0x10000000U)
  25215. #define LCDIF_VDCTRL3_VSYNC_ONLY_SHIFT (28U)
  25216. #define LCDIF_VDCTRL3_VSYNC_ONLY(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL3_VSYNC_ONLY_SHIFT)) & LCDIF_VDCTRL3_VSYNC_ONLY_MASK)
  25217. #define LCDIF_VDCTRL3_MUX_SYNC_SIGNALS_MASK (0x20000000U)
  25218. #define LCDIF_VDCTRL3_MUX_SYNC_SIGNALS_SHIFT (29U)
  25219. #define LCDIF_VDCTRL3_MUX_SYNC_SIGNALS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL3_MUX_SYNC_SIGNALS_SHIFT)) & LCDIF_VDCTRL3_MUX_SYNC_SIGNALS_MASK)
  25220. #define LCDIF_VDCTRL3_RSRVD0_MASK (0xC0000000U)
  25221. #define LCDIF_VDCTRL3_RSRVD0_SHIFT (30U)
  25222. #define LCDIF_VDCTRL3_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL3_RSRVD0_SHIFT)) & LCDIF_VDCTRL3_RSRVD0_MASK)
  25223. /*! @} */
  25224. /*! @name VDCTRL4 - LCDIF VSYNC Mode and Dotclk Mode Control Register4 */
  25225. /*! @{ */
  25226. #define LCDIF_VDCTRL4_DOTCLK_H_VALID_DATA_CNT_MASK (0x3FFFFU)
  25227. #define LCDIF_VDCTRL4_DOTCLK_H_VALID_DATA_CNT_SHIFT (0U)
  25228. #define LCDIF_VDCTRL4_DOTCLK_H_VALID_DATA_CNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL4_DOTCLK_H_VALID_DATA_CNT_SHIFT)) & LCDIF_VDCTRL4_DOTCLK_H_VALID_DATA_CNT_MASK)
  25229. #define LCDIF_VDCTRL4_SYNC_SIGNALS_ON_MASK (0x40000U)
  25230. #define LCDIF_VDCTRL4_SYNC_SIGNALS_ON_SHIFT (18U)
  25231. #define LCDIF_VDCTRL4_SYNC_SIGNALS_ON(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL4_SYNC_SIGNALS_ON_SHIFT)) & LCDIF_VDCTRL4_SYNC_SIGNALS_ON_MASK)
  25232. #define LCDIF_VDCTRL4_RSRVD0_MASK (0x1FF80000U)
  25233. #define LCDIF_VDCTRL4_RSRVD0_SHIFT (19U)
  25234. #define LCDIF_VDCTRL4_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL4_RSRVD0_SHIFT)) & LCDIF_VDCTRL4_RSRVD0_MASK)
  25235. #define LCDIF_VDCTRL4_DOTCLK_DLY_SEL_MASK (0xE0000000U)
  25236. #define LCDIF_VDCTRL4_DOTCLK_DLY_SEL_SHIFT (29U)
  25237. #define LCDIF_VDCTRL4_DOTCLK_DLY_SEL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL4_DOTCLK_DLY_SEL_SHIFT)) & LCDIF_VDCTRL4_DOTCLK_DLY_SEL_MASK)
  25238. /*! @} */
  25239. /*! @name BM_ERROR_STAT - Bus Master Error Status Register */
  25240. /*! @{ */
  25241. #define LCDIF_BM_ERROR_STAT_ADDR_MASK (0xFFFFFFFFU)
  25242. #define LCDIF_BM_ERROR_STAT_ADDR_SHIFT (0U)
  25243. #define LCDIF_BM_ERROR_STAT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_BM_ERROR_STAT_ADDR_SHIFT)) & LCDIF_BM_ERROR_STAT_ADDR_MASK)
  25244. /*! @} */
  25245. /*! @name CRC_STAT - CRC Status Register */
  25246. /*! @{ */
  25247. #define LCDIF_CRC_STAT_CRC_VALUE_MASK (0xFFFFFFFFU)
  25248. #define LCDIF_CRC_STAT_CRC_VALUE_SHIFT (0U)
  25249. #define LCDIF_CRC_STAT_CRC_VALUE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CRC_STAT_CRC_VALUE_SHIFT)) & LCDIF_CRC_STAT_CRC_VALUE_MASK)
  25250. /*! @} */
  25251. /*! @name STAT - LCD Interface Status Register */
  25252. /*! @{ */
  25253. #define LCDIF_STAT_LFIFO_COUNT_MASK (0x1FFU)
  25254. #define LCDIF_STAT_LFIFO_COUNT_SHIFT (0U)
  25255. #define LCDIF_STAT_LFIFO_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_LFIFO_COUNT_SHIFT)) & LCDIF_STAT_LFIFO_COUNT_MASK)
  25256. #define LCDIF_STAT_RSRVD0_MASK (0x1FFFE00U)
  25257. #define LCDIF_STAT_RSRVD0_SHIFT (9U)
  25258. #define LCDIF_STAT_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_RSRVD0_SHIFT)) & LCDIF_STAT_RSRVD0_MASK)
  25259. #define LCDIF_STAT_TXFIFO_EMPTY_MASK (0x4000000U)
  25260. #define LCDIF_STAT_TXFIFO_EMPTY_SHIFT (26U)
  25261. #define LCDIF_STAT_TXFIFO_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_TXFIFO_EMPTY_SHIFT)) & LCDIF_STAT_TXFIFO_EMPTY_MASK)
  25262. #define LCDIF_STAT_TXFIFO_FULL_MASK (0x8000000U)
  25263. #define LCDIF_STAT_TXFIFO_FULL_SHIFT (27U)
  25264. #define LCDIF_STAT_TXFIFO_FULL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_TXFIFO_FULL_SHIFT)) & LCDIF_STAT_TXFIFO_FULL_MASK)
  25265. #define LCDIF_STAT_LFIFO_EMPTY_MASK (0x10000000U)
  25266. #define LCDIF_STAT_LFIFO_EMPTY_SHIFT (28U)
  25267. #define LCDIF_STAT_LFIFO_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_LFIFO_EMPTY_SHIFT)) & LCDIF_STAT_LFIFO_EMPTY_MASK)
  25268. #define LCDIF_STAT_LFIFO_FULL_MASK (0x20000000U)
  25269. #define LCDIF_STAT_LFIFO_FULL_SHIFT (29U)
  25270. #define LCDIF_STAT_LFIFO_FULL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_LFIFO_FULL_SHIFT)) & LCDIF_STAT_LFIFO_FULL_MASK)
  25271. #define LCDIF_STAT_DMA_REQ_MASK (0x40000000U)
  25272. #define LCDIF_STAT_DMA_REQ_SHIFT (30U)
  25273. #define LCDIF_STAT_DMA_REQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_DMA_REQ_SHIFT)) & LCDIF_STAT_DMA_REQ_MASK)
  25274. #define LCDIF_STAT_PRESENT_MASK (0x80000000U)
  25275. #define LCDIF_STAT_PRESENT_SHIFT (31U)
  25276. #define LCDIF_STAT_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_PRESENT_SHIFT)) & LCDIF_STAT_PRESENT_MASK)
  25277. /*! @} */
  25278. /*! @name PIGEONCTRL0 - LCDIF Pigeon Mode Control0 Register */
  25279. /*! @{ */
  25280. #define LCDIF_PIGEONCTRL0_FD_PERIOD_MASK (0xFFFU)
  25281. #define LCDIF_PIGEONCTRL0_FD_PERIOD_SHIFT (0U)
  25282. #define LCDIF_PIGEONCTRL0_FD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_FD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_FD_PERIOD_MASK)
  25283. #define LCDIF_PIGEONCTRL0_LD_PERIOD_MASK (0xFFF0000U)
  25284. #define LCDIF_PIGEONCTRL0_LD_PERIOD_SHIFT (16U)
  25285. #define LCDIF_PIGEONCTRL0_LD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_LD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_LD_PERIOD_MASK)
  25286. /*! @} */
  25287. /*! @name PIGEONCTRL0_SET - LCDIF Pigeon Mode Control0 Register */
  25288. /*! @{ */
  25289. #define LCDIF_PIGEONCTRL0_SET_FD_PERIOD_MASK (0xFFFU)
  25290. #define LCDIF_PIGEONCTRL0_SET_FD_PERIOD_SHIFT (0U)
  25291. #define LCDIF_PIGEONCTRL0_SET_FD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_SET_FD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_SET_FD_PERIOD_MASK)
  25292. #define LCDIF_PIGEONCTRL0_SET_LD_PERIOD_MASK (0xFFF0000U)
  25293. #define LCDIF_PIGEONCTRL0_SET_LD_PERIOD_SHIFT (16U)
  25294. #define LCDIF_PIGEONCTRL0_SET_LD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_SET_LD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_SET_LD_PERIOD_MASK)
  25295. /*! @} */
  25296. /*! @name PIGEONCTRL0_CLR - LCDIF Pigeon Mode Control0 Register */
  25297. /*! @{ */
  25298. #define LCDIF_PIGEONCTRL0_CLR_FD_PERIOD_MASK (0xFFFU)
  25299. #define LCDIF_PIGEONCTRL0_CLR_FD_PERIOD_SHIFT (0U)
  25300. #define LCDIF_PIGEONCTRL0_CLR_FD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_CLR_FD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_CLR_FD_PERIOD_MASK)
  25301. #define LCDIF_PIGEONCTRL0_CLR_LD_PERIOD_MASK (0xFFF0000U)
  25302. #define LCDIF_PIGEONCTRL0_CLR_LD_PERIOD_SHIFT (16U)
  25303. #define LCDIF_PIGEONCTRL0_CLR_LD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_CLR_LD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_CLR_LD_PERIOD_MASK)
  25304. /*! @} */
  25305. /*! @name PIGEONCTRL0_TOG - LCDIF Pigeon Mode Control0 Register */
  25306. /*! @{ */
  25307. #define LCDIF_PIGEONCTRL0_TOG_FD_PERIOD_MASK (0xFFFU)
  25308. #define LCDIF_PIGEONCTRL0_TOG_FD_PERIOD_SHIFT (0U)
  25309. #define LCDIF_PIGEONCTRL0_TOG_FD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_TOG_FD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_TOG_FD_PERIOD_MASK)
  25310. #define LCDIF_PIGEONCTRL0_TOG_LD_PERIOD_MASK (0xFFF0000U)
  25311. #define LCDIF_PIGEONCTRL0_TOG_LD_PERIOD_SHIFT (16U)
  25312. #define LCDIF_PIGEONCTRL0_TOG_LD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_TOG_LD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_TOG_LD_PERIOD_MASK)
  25313. /*! @} */
  25314. /*! @name PIGEONCTRL1 - LCDIF Pigeon Mode Control1 Register */
  25315. /*! @{ */
  25316. #define LCDIF_PIGEONCTRL1_FRAME_CNT_PERIOD_MASK (0xFFFU)
  25317. #define LCDIF_PIGEONCTRL1_FRAME_CNT_PERIOD_SHIFT (0U)
  25318. #define LCDIF_PIGEONCTRL1_FRAME_CNT_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL1_FRAME_CNT_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL1_FRAME_CNT_PERIOD_MASK)
  25319. #define LCDIF_PIGEONCTRL1_FRAME_CNT_CYCLES_MASK (0xFFF0000U)
  25320. #define LCDIF_PIGEONCTRL1_FRAME_CNT_CYCLES_SHIFT (16U)
  25321. #define LCDIF_PIGEONCTRL1_FRAME_CNT_CYCLES(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL1_FRAME_CNT_CYCLES_SHIFT)) & LCDIF_PIGEONCTRL1_FRAME_CNT_CYCLES_MASK)
  25322. /*! @} */
  25323. /*! @name PIGEONCTRL1_SET - LCDIF Pigeon Mode Control1 Register */
  25324. /*! @{ */
  25325. #define LCDIF_PIGEONCTRL1_SET_FRAME_CNT_PERIOD_MASK (0xFFFU)
  25326. #define LCDIF_PIGEONCTRL1_SET_FRAME_CNT_PERIOD_SHIFT (0U)
  25327. #define LCDIF_PIGEONCTRL1_SET_FRAME_CNT_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL1_SET_FRAME_CNT_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL1_SET_FRAME_CNT_PERIOD_MASK)
  25328. #define LCDIF_PIGEONCTRL1_SET_FRAME_CNT_CYCLES_MASK (0xFFF0000U)
  25329. #define LCDIF_PIGEONCTRL1_SET_FRAME_CNT_CYCLES_SHIFT (16U)
  25330. #define LCDIF_PIGEONCTRL1_SET_FRAME_CNT_CYCLES(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL1_SET_FRAME_CNT_CYCLES_SHIFT)) & LCDIF_PIGEONCTRL1_SET_FRAME_CNT_CYCLES_MASK)
  25331. /*! @} */
  25332. /*! @name PIGEONCTRL1_CLR - LCDIF Pigeon Mode Control1 Register */
  25333. /*! @{ */
  25334. #define LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_PERIOD_MASK (0xFFFU)
  25335. #define LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_PERIOD_SHIFT (0U)
  25336. #define LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_PERIOD_MASK)
  25337. #define LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_CYCLES_MASK (0xFFF0000U)
  25338. #define LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_CYCLES_SHIFT (16U)
  25339. #define LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_CYCLES(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_CYCLES_SHIFT)) & LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_CYCLES_MASK)
  25340. /*! @} */
  25341. /*! @name PIGEONCTRL1_TOG - LCDIF Pigeon Mode Control1 Register */
  25342. /*! @{ */
  25343. #define LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_PERIOD_MASK (0xFFFU)
  25344. #define LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_PERIOD_SHIFT (0U)
  25345. #define LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_PERIOD_MASK)
  25346. #define LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_CYCLES_MASK (0xFFF0000U)
  25347. #define LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_CYCLES_SHIFT (16U)
  25348. #define LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_CYCLES(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_CYCLES_SHIFT)) & LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_CYCLES_MASK)
  25349. /*! @} */
  25350. /*! @name PIGEONCTRL2 - LCDIF Pigeon Mode Control2 Register */
  25351. /*! @{ */
  25352. #define LCDIF_PIGEONCTRL2_PIGEON_DATA_EN_MASK (0x1U)
  25353. #define LCDIF_PIGEONCTRL2_PIGEON_DATA_EN_SHIFT (0U)
  25354. #define LCDIF_PIGEONCTRL2_PIGEON_DATA_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL2_PIGEON_DATA_EN_SHIFT)) & LCDIF_PIGEONCTRL2_PIGEON_DATA_EN_MASK)
  25355. #define LCDIF_PIGEONCTRL2_PIGEON_CLK_GATE_MASK (0x2U)
  25356. #define LCDIF_PIGEONCTRL2_PIGEON_CLK_GATE_SHIFT (1U)
  25357. #define LCDIF_PIGEONCTRL2_PIGEON_CLK_GATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL2_PIGEON_CLK_GATE_SHIFT)) & LCDIF_PIGEONCTRL2_PIGEON_CLK_GATE_MASK)
  25358. /*! @} */
  25359. /*! @name PIGEONCTRL2_SET - LCDIF Pigeon Mode Control2 Register */
  25360. /*! @{ */
  25361. #define LCDIF_PIGEONCTRL2_SET_PIGEON_DATA_EN_MASK (0x1U)
  25362. #define LCDIF_PIGEONCTRL2_SET_PIGEON_DATA_EN_SHIFT (0U)
  25363. #define LCDIF_PIGEONCTRL2_SET_PIGEON_DATA_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL2_SET_PIGEON_DATA_EN_SHIFT)) & LCDIF_PIGEONCTRL2_SET_PIGEON_DATA_EN_MASK)
  25364. #define LCDIF_PIGEONCTRL2_SET_PIGEON_CLK_GATE_MASK (0x2U)
  25365. #define LCDIF_PIGEONCTRL2_SET_PIGEON_CLK_GATE_SHIFT (1U)
  25366. #define LCDIF_PIGEONCTRL2_SET_PIGEON_CLK_GATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL2_SET_PIGEON_CLK_GATE_SHIFT)) & LCDIF_PIGEONCTRL2_SET_PIGEON_CLK_GATE_MASK)
  25367. /*! @} */
  25368. /*! @name PIGEONCTRL2_CLR - LCDIF Pigeon Mode Control2 Register */
  25369. /*! @{ */
  25370. #define LCDIF_PIGEONCTRL2_CLR_PIGEON_DATA_EN_MASK (0x1U)
  25371. #define LCDIF_PIGEONCTRL2_CLR_PIGEON_DATA_EN_SHIFT (0U)
  25372. #define LCDIF_PIGEONCTRL2_CLR_PIGEON_DATA_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL2_CLR_PIGEON_DATA_EN_SHIFT)) & LCDIF_PIGEONCTRL2_CLR_PIGEON_DATA_EN_MASK)
  25373. #define LCDIF_PIGEONCTRL2_CLR_PIGEON_CLK_GATE_MASK (0x2U)
  25374. #define LCDIF_PIGEONCTRL2_CLR_PIGEON_CLK_GATE_SHIFT (1U)
  25375. #define LCDIF_PIGEONCTRL2_CLR_PIGEON_CLK_GATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL2_CLR_PIGEON_CLK_GATE_SHIFT)) & LCDIF_PIGEONCTRL2_CLR_PIGEON_CLK_GATE_MASK)
  25376. /*! @} */
  25377. /*! @name PIGEONCTRL2_TOG - LCDIF Pigeon Mode Control2 Register */
  25378. /*! @{ */
  25379. #define LCDIF_PIGEONCTRL2_TOG_PIGEON_DATA_EN_MASK (0x1U)
  25380. #define LCDIF_PIGEONCTRL2_TOG_PIGEON_DATA_EN_SHIFT (0U)
  25381. #define LCDIF_PIGEONCTRL2_TOG_PIGEON_DATA_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL2_TOG_PIGEON_DATA_EN_SHIFT)) & LCDIF_PIGEONCTRL2_TOG_PIGEON_DATA_EN_MASK)
  25382. #define LCDIF_PIGEONCTRL2_TOG_PIGEON_CLK_GATE_MASK (0x2U)
  25383. #define LCDIF_PIGEONCTRL2_TOG_PIGEON_CLK_GATE_SHIFT (1U)
  25384. #define LCDIF_PIGEONCTRL2_TOG_PIGEON_CLK_GATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL2_TOG_PIGEON_CLK_GATE_SHIFT)) & LCDIF_PIGEONCTRL2_TOG_PIGEON_CLK_GATE_MASK)
  25385. /*! @} */
  25386. /*! @name PIGEON_0 - Panel Interface Signal Generator Register */
  25387. /*! @{ */
  25388. #define LCDIF_PIGEON_0_EN_MASK (0x1U)
  25389. #define LCDIF_PIGEON_0_EN_SHIFT (0U)
  25390. #define LCDIF_PIGEON_0_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_EN_SHIFT)) & LCDIF_PIGEON_0_EN_MASK)
  25391. #define LCDIF_PIGEON_0_POL_MASK (0x2U)
  25392. #define LCDIF_PIGEON_0_POL_SHIFT (1U)
  25393. /*! POL
  25394. * 0b0..Normal Signal (Active high)
  25395. * 0b1..Inverted signal (Active low)
  25396. */
  25397. #define LCDIF_PIGEON_0_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_POL_SHIFT)) & LCDIF_PIGEON_0_POL_MASK)
  25398. #define LCDIF_PIGEON_0_INC_SEL_MASK (0xCU)
  25399. #define LCDIF_PIGEON_0_INC_SEL_SHIFT (2U)
  25400. /*! INC_SEL
  25401. * 0b00..pclk
  25402. * 0b01..Line start pulse
  25403. * 0b10..Frame start pulse
  25404. * 0b11..Use another signal as tick event
  25405. */
  25406. #define LCDIF_PIGEON_0_INC_SEL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_INC_SEL_SHIFT)) & LCDIF_PIGEON_0_INC_SEL_MASK)
  25407. #define LCDIF_PIGEON_0_OFFSET_MASK (0xF0U)
  25408. #define LCDIF_PIGEON_0_OFFSET_SHIFT (4U)
  25409. #define LCDIF_PIGEON_0_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_OFFSET_SHIFT)) & LCDIF_PIGEON_0_OFFSET_MASK)
  25410. #define LCDIF_PIGEON_0_MASK_CNT_SEL_MASK (0xF00U)
  25411. #define LCDIF_PIGEON_0_MASK_CNT_SEL_SHIFT (8U)
  25412. /*! MASK_CNT_SEL
  25413. * 0b0000..pclk counter within one hscan state
  25414. * 0b0001..pclk cycle within one hscan state
  25415. * 0b0010..line counter within one vscan state
  25416. * 0b0011..line cycle within one vscan state
  25417. * 0b0100..frame counter
  25418. * 0b0101..frame cycle
  25419. * 0b0110..horizontal counter (pclk counter within one line )
  25420. * 0b0111..vertical counter (line counter within one frame)
  25421. */
  25422. #define LCDIF_PIGEON_0_MASK_CNT_SEL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_MASK_CNT_SEL_SHIFT)) & LCDIF_PIGEON_0_MASK_CNT_SEL_MASK)
  25423. #define LCDIF_PIGEON_0_MASK_CNT_MASK (0xFFF000U)
  25424. #define LCDIF_PIGEON_0_MASK_CNT_SHIFT (12U)
  25425. #define LCDIF_PIGEON_0_MASK_CNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_MASK_CNT_SHIFT)) & LCDIF_PIGEON_0_MASK_CNT_MASK)
  25426. #define LCDIF_PIGEON_0_STATE_MASK_MASK (0xFF000000U)
  25427. #define LCDIF_PIGEON_0_STATE_MASK_SHIFT (24U)
  25428. /*! STATE_MASK
  25429. * 0b00000001..FRAME SYNC
  25430. * 0b00000010..FRAME BEGIN
  25431. * 0b00000100..FRAME DATA
  25432. * 0b00001000..FRAME END
  25433. * 0b00010000..LINE SYNC
  25434. * 0b00100000..LINE BEGIN
  25435. * 0b01000000..LINE DATA
  25436. * 0b10000000..LINE END
  25437. */
  25438. #define LCDIF_PIGEON_0_STATE_MASK(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_STATE_MASK_SHIFT)) & LCDIF_PIGEON_0_STATE_MASK_MASK)
  25439. /*! @} */
  25440. /* The count of LCDIF_PIGEON_0 */
  25441. #define LCDIF_PIGEON_0_COUNT (12U)
  25442. /*! @name PIGEON_1 - Panel Interface Signal Generator Register */
  25443. /*! @{ */
  25444. #define LCDIF_PIGEON_1_SET_CNT_MASK (0xFFFFU)
  25445. #define LCDIF_PIGEON_1_SET_CNT_SHIFT (0U)
  25446. /*! SET_CNT
  25447. * 0b0000000000000000..Start as active
  25448. */
  25449. #define LCDIF_PIGEON_1_SET_CNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_1_SET_CNT_SHIFT)) & LCDIF_PIGEON_1_SET_CNT_MASK)
  25450. #define LCDIF_PIGEON_1_CLR_CNT_MASK (0xFFFF0000U)
  25451. #define LCDIF_PIGEON_1_CLR_CNT_SHIFT (16U)
  25452. /*! CLR_CNT
  25453. * 0b0000000000000000..Keep active until mask off
  25454. */
  25455. #define LCDIF_PIGEON_1_CLR_CNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_1_CLR_CNT_SHIFT)) & LCDIF_PIGEON_1_CLR_CNT_MASK)
  25456. /*! @} */
  25457. /* The count of LCDIF_PIGEON_1 */
  25458. #define LCDIF_PIGEON_1_COUNT (12U)
  25459. /*! @name PIGEON_2 - Panel Interface Signal Generator Register */
  25460. /*! @{ */
  25461. #define LCDIF_PIGEON_2_SIG_LOGIC_MASK (0xFU)
  25462. #define LCDIF_PIGEON_2_SIG_LOGIC_SHIFT (0U)
  25463. /*! SIG_LOGIC
  25464. * 0b0000..No logic operation
  25465. * 0b0001..sigout = sig_another AND this_sig
  25466. * 0b0010..sigout = sig_another OR this_sig
  25467. * 0b0011..mask = sig_another AND other_masks
  25468. */
  25469. #define LCDIF_PIGEON_2_SIG_LOGIC(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_2_SIG_LOGIC_SHIFT)) & LCDIF_PIGEON_2_SIG_LOGIC_MASK)
  25470. #define LCDIF_PIGEON_2_SIG_ANOTHER_MASK (0x1F0U)
  25471. #define LCDIF_PIGEON_2_SIG_ANOTHER_SHIFT (4U)
  25472. /*! SIG_ANOTHER
  25473. * 0b00000..Keep active until mask off
  25474. */
  25475. #define LCDIF_PIGEON_2_SIG_ANOTHER(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_2_SIG_ANOTHER_SHIFT)) & LCDIF_PIGEON_2_SIG_ANOTHER_MASK)
  25476. #define LCDIF_PIGEON_2_RSVD_MASK (0xFFFFFE00U)
  25477. #define LCDIF_PIGEON_2_RSVD_SHIFT (9U)
  25478. #define LCDIF_PIGEON_2_RSVD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_2_RSVD_SHIFT)) & LCDIF_PIGEON_2_RSVD_MASK)
  25479. /*! @} */
  25480. /* The count of LCDIF_PIGEON_2 */
  25481. #define LCDIF_PIGEON_2_COUNT (12U)
  25482. /*! @name LUT_CTRL - Lookup Table Data Register. */
  25483. /*! @{ */
  25484. #define LCDIF_LUT_CTRL_LUT_BYPASS_MASK (0x1U)
  25485. #define LCDIF_LUT_CTRL_LUT_BYPASS_SHIFT (0U)
  25486. #define LCDIF_LUT_CTRL_LUT_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_LUT_CTRL_LUT_BYPASS_SHIFT)) & LCDIF_LUT_CTRL_LUT_BYPASS_MASK)
  25487. /*! @} */
  25488. /*! @name LUT0_ADDR - Lookup Table Control Register. */
  25489. /*! @{ */
  25490. #define LCDIF_LUT0_ADDR_ADDR_MASK (0xFFU)
  25491. #define LCDIF_LUT0_ADDR_ADDR_SHIFT (0U)
  25492. #define LCDIF_LUT0_ADDR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_LUT0_ADDR_ADDR_SHIFT)) & LCDIF_LUT0_ADDR_ADDR_MASK)
  25493. /*! @} */
  25494. /*! @name LUT0_DATA - Lookup Table Data Register. */
  25495. /*! @{ */
  25496. #define LCDIF_LUT0_DATA_DATA_MASK (0xFFFFFFFFU)
  25497. #define LCDIF_LUT0_DATA_DATA_SHIFT (0U)
  25498. #define LCDIF_LUT0_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_LUT0_DATA_DATA_SHIFT)) & LCDIF_LUT0_DATA_DATA_MASK)
  25499. /*! @} */
  25500. /*! @name LUT1_ADDR - Lookup Table Control Register. */
  25501. /*! @{ */
  25502. #define LCDIF_LUT1_ADDR_ADDR_MASK (0xFFU)
  25503. #define LCDIF_LUT1_ADDR_ADDR_SHIFT (0U)
  25504. #define LCDIF_LUT1_ADDR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_LUT1_ADDR_ADDR_SHIFT)) & LCDIF_LUT1_ADDR_ADDR_MASK)
  25505. /*! @} */
  25506. /*! @name LUT1_DATA - Lookup Table Data Register. */
  25507. /*! @{ */
  25508. #define LCDIF_LUT1_DATA_DATA_MASK (0xFFFFFFFFU)
  25509. #define LCDIF_LUT1_DATA_DATA_SHIFT (0U)
  25510. #define LCDIF_LUT1_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_LUT1_DATA_DATA_SHIFT)) & LCDIF_LUT1_DATA_DATA_MASK)
  25511. /*! @} */
  25512. /*!
  25513. * @}
  25514. */ /* end of group LCDIF_Register_Masks */
  25515. /* LCDIF - Peripheral instance base addresses */
  25516. /** Peripheral LCDIF base address */
  25517. #define LCDIF_BASE (0x402B8000u)
  25518. /** Peripheral LCDIF base pointer */
  25519. #define LCDIF ((LCDIF_Type *)LCDIF_BASE)
  25520. /** Array initializer of LCDIF peripheral base addresses */
  25521. #define LCDIF_BASE_ADDRS { LCDIF_BASE }
  25522. /** Array initializer of LCDIF peripheral base pointers */
  25523. #define LCDIF_BASE_PTRS { LCDIF }
  25524. /** Interrupt vectors for the LCDIF peripheral type */
  25525. #define LCDIF_IRQ0_IRQS { LCDIF_IRQn }
  25526. /*!
  25527. * @}
  25528. */ /* end of group LCDIF_Peripheral_Access_Layer */
  25529. /* ----------------------------------------------------------------------------
  25530. -- LPI2C Peripheral Access Layer
  25531. ---------------------------------------------------------------------------- */
  25532. /*!
  25533. * @addtogroup LPI2C_Peripheral_Access_Layer LPI2C Peripheral Access Layer
  25534. * @{
  25535. */
  25536. /** LPI2C - Register Layout Typedef */
  25537. typedef struct {
  25538. __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */
  25539. __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
  25540. uint8_t RESERVED_0[8];
  25541. __IO uint32_t MCR; /**< Master Control Register, offset: 0x10 */
  25542. __IO uint32_t MSR; /**< Master Status Register, offset: 0x14 */
  25543. __IO uint32_t MIER; /**< Master Interrupt Enable Register, offset: 0x18 */
  25544. __IO uint32_t MDER; /**< Master DMA Enable Register, offset: 0x1C */
  25545. __IO uint32_t MCFGR0; /**< Master Configuration Register 0, offset: 0x20 */
  25546. __IO uint32_t MCFGR1; /**< Master Configuration Register 1, offset: 0x24 */
  25547. __IO uint32_t MCFGR2; /**< Master Configuration Register 2, offset: 0x28 */
  25548. __IO uint32_t MCFGR3; /**< Master Configuration Register 3, offset: 0x2C */
  25549. uint8_t RESERVED_1[16];
  25550. __IO uint32_t MDMR; /**< Master Data Match Register, offset: 0x40 */
  25551. uint8_t RESERVED_2[4];
  25552. __IO uint32_t MCCR0; /**< Master Clock Configuration Register 0, offset: 0x48 */
  25553. uint8_t RESERVED_3[4];
  25554. __IO uint32_t MCCR1; /**< Master Clock Configuration Register 1, offset: 0x50 */
  25555. uint8_t RESERVED_4[4];
  25556. __IO uint32_t MFCR; /**< Master FIFO Control Register, offset: 0x58 */
  25557. __I uint32_t MFSR; /**< Master FIFO Status Register, offset: 0x5C */
  25558. __O uint32_t MTDR; /**< Master Transmit Data Register, offset: 0x60 */
  25559. uint8_t RESERVED_5[12];
  25560. __I uint32_t MRDR; /**< Master Receive Data Register, offset: 0x70 */
  25561. uint8_t RESERVED_6[156];
  25562. __IO uint32_t SCR; /**< Slave Control Register, offset: 0x110 */
  25563. __IO uint32_t SSR; /**< Slave Status Register, offset: 0x114 */
  25564. __IO uint32_t SIER; /**< Slave Interrupt Enable Register, offset: 0x118 */
  25565. __IO uint32_t SDER; /**< Slave DMA Enable Register, offset: 0x11C */
  25566. uint8_t RESERVED_7[4];
  25567. __IO uint32_t SCFGR1; /**< Slave Configuration Register 1, offset: 0x124 */
  25568. __IO uint32_t SCFGR2; /**< Slave Configuration Register 2, offset: 0x128 */
  25569. uint8_t RESERVED_8[20];
  25570. __IO uint32_t SAMR; /**< Slave Address Match Register, offset: 0x140 */
  25571. uint8_t RESERVED_9[12];
  25572. __I uint32_t SASR; /**< Slave Address Status Register, offset: 0x150 */
  25573. __IO uint32_t STAR; /**< Slave Transmit ACK Register, offset: 0x154 */
  25574. uint8_t RESERVED_10[8];
  25575. __O uint32_t STDR; /**< Slave Transmit Data Register, offset: 0x160 */
  25576. uint8_t RESERVED_11[12];
  25577. __I uint32_t SRDR; /**< Slave Receive Data Register, offset: 0x170 */
  25578. } LPI2C_Type;
  25579. /* ----------------------------------------------------------------------------
  25580. -- LPI2C Register Masks
  25581. ---------------------------------------------------------------------------- */
  25582. /*!
  25583. * @addtogroup LPI2C_Register_Masks LPI2C Register Masks
  25584. * @{
  25585. */
  25586. /*! @name VERID - Version ID Register */
  25587. /*! @{ */
  25588. #define LPI2C_VERID_FEATURE_MASK (0xFFFFU)
  25589. #define LPI2C_VERID_FEATURE_SHIFT (0U)
  25590. /*! FEATURE - Feature Specification Number
  25591. * 0b0000000000000010..Master only, with standard feature set
  25592. * 0b0000000000000011..Master and slave, with standard feature set
  25593. */
  25594. #define LPI2C_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_FEATURE_SHIFT)) & LPI2C_VERID_FEATURE_MASK)
  25595. #define LPI2C_VERID_MINOR_MASK (0xFF0000U)
  25596. #define LPI2C_VERID_MINOR_SHIFT (16U)
  25597. /*! MINOR - Minor Version Number
  25598. */
  25599. #define LPI2C_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_MINOR_SHIFT)) & LPI2C_VERID_MINOR_MASK)
  25600. #define LPI2C_VERID_MAJOR_MASK (0xFF000000U)
  25601. #define LPI2C_VERID_MAJOR_SHIFT (24U)
  25602. /*! MAJOR - Major Version Number
  25603. */
  25604. #define LPI2C_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_MAJOR_SHIFT)) & LPI2C_VERID_MAJOR_MASK)
  25605. /*! @} */
  25606. /*! @name PARAM - Parameter Register */
  25607. /*! @{ */
  25608. #define LPI2C_PARAM_MTXFIFO_MASK (0xFU)
  25609. #define LPI2C_PARAM_MTXFIFO_SHIFT (0U)
  25610. /*! MTXFIFO - Master Transmit FIFO Size
  25611. */
  25612. #define LPI2C_PARAM_MTXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_PARAM_MTXFIFO_SHIFT)) & LPI2C_PARAM_MTXFIFO_MASK)
  25613. #define LPI2C_PARAM_MRXFIFO_MASK (0xF00U)
  25614. #define LPI2C_PARAM_MRXFIFO_SHIFT (8U)
  25615. /*! MRXFIFO - Master Receive FIFO Size
  25616. */
  25617. #define LPI2C_PARAM_MRXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_PARAM_MRXFIFO_SHIFT)) & LPI2C_PARAM_MRXFIFO_MASK)
  25618. /*! @} */
  25619. /*! @name MCR - Master Control Register */
  25620. /*! @{ */
  25621. #define LPI2C_MCR_MEN_MASK (0x1U)
  25622. #define LPI2C_MCR_MEN_SHIFT (0U)
  25623. /*! MEN - Master Enable
  25624. * 0b0..Master logic is disabled
  25625. * 0b1..Master logic is enabled
  25626. */
  25627. #define LPI2C_MCR_MEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_MEN_SHIFT)) & LPI2C_MCR_MEN_MASK)
  25628. #define LPI2C_MCR_RST_MASK (0x2U)
  25629. #define LPI2C_MCR_RST_SHIFT (1U)
  25630. /*! RST - Software Reset
  25631. * 0b0..Master logic is not reset
  25632. * 0b1..Master logic is reset
  25633. */
  25634. #define LPI2C_MCR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RST_SHIFT)) & LPI2C_MCR_RST_MASK)
  25635. #define LPI2C_MCR_DOZEN_MASK (0x4U)
  25636. #define LPI2C_MCR_DOZEN_SHIFT (2U)
  25637. /*! DOZEN - Doze mode enable
  25638. * 0b0..Master is enabled in Doze mode
  25639. * 0b1..Master is disabled in Doze mode
  25640. */
  25641. #define LPI2C_MCR_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_DOZEN_SHIFT)) & LPI2C_MCR_DOZEN_MASK)
  25642. #define LPI2C_MCR_DBGEN_MASK (0x8U)
  25643. #define LPI2C_MCR_DBGEN_SHIFT (3U)
  25644. /*! DBGEN - Debug Enable
  25645. * 0b0..Master is disabled in debug mode
  25646. * 0b1..Master is enabled in debug mode
  25647. */
  25648. #define LPI2C_MCR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_DBGEN_SHIFT)) & LPI2C_MCR_DBGEN_MASK)
  25649. #define LPI2C_MCR_RTF_MASK (0x100U)
  25650. #define LPI2C_MCR_RTF_SHIFT (8U)
  25651. /*! RTF - Reset Transmit FIFO
  25652. * 0b0..No effect
  25653. * 0b1..Transmit FIFO is reset
  25654. */
  25655. #define LPI2C_MCR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RTF_SHIFT)) & LPI2C_MCR_RTF_MASK)
  25656. #define LPI2C_MCR_RRF_MASK (0x200U)
  25657. #define LPI2C_MCR_RRF_SHIFT (9U)
  25658. /*! RRF - Reset Receive FIFO
  25659. * 0b0..No effect
  25660. * 0b1..Receive FIFO is reset
  25661. */
  25662. #define LPI2C_MCR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RRF_SHIFT)) & LPI2C_MCR_RRF_MASK)
  25663. /*! @} */
  25664. /*! @name MSR - Master Status Register */
  25665. /*! @{ */
  25666. #define LPI2C_MSR_TDF_MASK (0x1U)
  25667. #define LPI2C_MSR_TDF_SHIFT (0U)
  25668. /*! TDF - Transmit Data Flag
  25669. * 0b0..Transmit data is not requested
  25670. * 0b1..Transmit data is requested
  25671. */
  25672. #define LPI2C_MSR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_TDF_SHIFT)) & LPI2C_MSR_TDF_MASK)
  25673. #define LPI2C_MSR_RDF_MASK (0x2U)
  25674. #define LPI2C_MSR_RDF_SHIFT (1U)
  25675. /*! RDF - Receive Data Flag
  25676. * 0b0..Receive Data is not ready
  25677. * 0b1..Receive data is ready
  25678. */
  25679. #define LPI2C_MSR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_RDF_SHIFT)) & LPI2C_MSR_RDF_MASK)
  25680. #define LPI2C_MSR_EPF_MASK (0x100U)
  25681. #define LPI2C_MSR_EPF_SHIFT (8U)
  25682. /*! EPF - End Packet Flag
  25683. * 0b0..Master has not generated a STOP or Repeated START condition
  25684. * 0b1..Master has generated a STOP or Repeated START condition
  25685. */
  25686. #define LPI2C_MSR_EPF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_EPF_SHIFT)) & LPI2C_MSR_EPF_MASK)
  25687. #define LPI2C_MSR_SDF_MASK (0x200U)
  25688. #define LPI2C_MSR_SDF_SHIFT (9U)
  25689. /*! SDF - STOP Detect Flag
  25690. * 0b0..Master has not generated a STOP condition
  25691. * 0b1..Master has generated a STOP condition
  25692. */
  25693. #define LPI2C_MSR_SDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_SDF_SHIFT)) & LPI2C_MSR_SDF_MASK)
  25694. #define LPI2C_MSR_NDF_MASK (0x400U)
  25695. #define LPI2C_MSR_NDF_SHIFT (10U)
  25696. /*! NDF - NACK Detect Flag
  25697. * 0b0..Unexpected NACK was not detected
  25698. * 0b1..Unexpected NACK was detected
  25699. */
  25700. #define LPI2C_MSR_NDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_NDF_SHIFT)) & LPI2C_MSR_NDF_MASK)
  25701. #define LPI2C_MSR_ALF_MASK (0x800U)
  25702. #define LPI2C_MSR_ALF_SHIFT (11U)
  25703. /*! ALF - Arbitration Lost Flag
  25704. * 0b0..Master has not lost arbitration
  25705. * 0b1..Master has lost arbitration
  25706. */
  25707. #define LPI2C_MSR_ALF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_ALF_SHIFT)) & LPI2C_MSR_ALF_MASK)
  25708. #define LPI2C_MSR_FEF_MASK (0x1000U)
  25709. #define LPI2C_MSR_FEF_SHIFT (12U)
  25710. /*! FEF - FIFO Error Flag
  25711. * 0b0..No error
  25712. * 0b1..Master sending or receiving data without a START condition
  25713. */
  25714. #define LPI2C_MSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_FEF_SHIFT)) & LPI2C_MSR_FEF_MASK)
  25715. #define LPI2C_MSR_PLTF_MASK (0x2000U)
  25716. #define LPI2C_MSR_PLTF_SHIFT (13U)
  25717. /*! PLTF - Pin Low Timeout Flag
  25718. * 0b0..Pin low timeout has not occurred or is disabled
  25719. * 0b1..Pin low timeout has occurred
  25720. */
  25721. #define LPI2C_MSR_PLTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_PLTF_SHIFT)) & LPI2C_MSR_PLTF_MASK)
  25722. #define LPI2C_MSR_DMF_MASK (0x4000U)
  25723. #define LPI2C_MSR_DMF_SHIFT (14U)
  25724. /*! DMF - Data Match Flag
  25725. * 0b0..Have not received matching data
  25726. * 0b1..Have received matching data
  25727. */
  25728. #define LPI2C_MSR_DMF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_DMF_SHIFT)) & LPI2C_MSR_DMF_MASK)
  25729. #define LPI2C_MSR_MBF_MASK (0x1000000U)
  25730. #define LPI2C_MSR_MBF_SHIFT (24U)
  25731. /*! MBF - Master Busy Flag
  25732. * 0b0..I2C Master is idle
  25733. * 0b1..I2C Master is busy
  25734. */
  25735. #define LPI2C_MSR_MBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_MBF_SHIFT)) & LPI2C_MSR_MBF_MASK)
  25736. #define LPI2C_MSR_BBF_MASK (0x2000000U)
  25737. #define LPI2C_MSR_BBF_SHIFT (25U)
  25738. /*! BBF - Bus Busy Flag
  25739. * 0b0..I2C Bus is idle
  25740. * 0b1..I2C Bus is busy
  25741. */
  25742. #define LPI2C_MSR_BBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_BBF_SHIFT)) & LPI2C_MSR_BBF_MASK)
  25743. /*! @} */
  25744. /*! @name MIER - Master Interrupt Enable Register */
  25745. /*! @{ */
  25746. #define LPI2C_MIER_TDIE_MASK (0x1U)
  25747. #define LPI2C_MIER_TDIE_SHIFT (0U)
  25748. /*! TDIE - Transmit Data Interrupt Enable
  25749. * 0b0..Disabled
  25750. * 0b1..Enabled
  25751. */
  25752. #define LPI2C_MIER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_TDIE_SHIFT)) & LPI2C_MIER_TDIE_MASK)
  25753. #define LPI2C_MIER_RDIE_MASK (0x2U)
  25754. #define LPI2C_MIER_RDIE_SHIFT (1U)
  25755. /*! RDIE - Receive Data Interrupt Enable
  25756. * 0b0..Disabled
  25757. * 0b1..Enabled
  25758. */
  25759. #define LPI2C_MIER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_RDIE_SHIFT)) & LPI2C_MIER_RDIE_MASK)
  25760. #define LPI2C_MIER_EPIE_MASK (0x100U)
  25761. #define LPI2C_MIER_EPIE_SHIFT (8U)
  25762. /*! EPIE - End Packet Interrupt Enable
  25763. * 0b0..Disabled
  25764. * 0b1..Enabled
  25765. */
  25766. #define LPI2C_MIER_EPIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_EPIE_SHIFT)) & LPI2C_MIER_EPIE_MASK)
  25767. #define LPI2C_MIER_SDIE_MASK (0x200U)
  25768. #define LPI2C_MIER_SDIE_SHIFT (9U)
  25769. /*! SDIE - STOP Detect Interrupt Enable
  25770. * 0b0..Disabled
  25771. * 0b1..Enabled
  25772. */
  25773. #define LPI2C_MIER_SDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_SDIE_SHIFT)) & LPI2C_MIER_SDIE_MASK)
  25774. #define LPI2C_MIER_NDIE_MASK (0x400U)
  25775. #define LPI2C_MIER_NDIE_SHIFT (10U)
  25776. /*! NDIE - NACK Detect Interrupt Enable
  25777. * 0b0..Disabled
  25778. * 0b1..Enabled
  25779. */
  25780. #define LPI2C_MIER_NDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_NDIE_SHIFT)) & LPI2C_MIER_NDIE_MASK)
  25781. #define LPI2C_MIER_ALIE_MASK (0x800U)
  25782. #define LPI2C_MIER_ALIE_SHIFT (11U)
  25783. /*! ALIE - Arbitration Lost Interrupt Enable
  25784. * 0b0..Disabled
  25785. * 0b1..Enabled
  25786. */
  25787. #define LPI2C_MIER_ALIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_ALIE_SHIFT)) & LPI2C_MIER_ALIE_MASK)
  25788. #define LPI2C_MIER_FEIE_MASK (0x1000U)
  25789. #define LPI2C_MIER_FEIE_SHIFT (12U)
  25790. /*! FEIE - FIFO Error Interrupt Enable
  25791. * 0b0..Enabled
  25792. * 0b1..Disabled
  25793. */
  25794. #define LPI2C_MIER_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_FEIE_SHIFT)) & LPI2C_MIER_FEIE_MASK)
  25795. #define LPI2C_MIER_PLTIE_MASK (0x2000U)
  25796. #define LPI2C_MIER_PLTIE_SHIFT (13U)
  25797. /*! PLTIE - Pin Low Timeout Interrupt Enable
  25798. * 0b0..Disabled
  25799. * 0b1..Enabled
  25800. */
  25801. #define LPI2C_MIER_PLTIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_PLTIE_SHIFT)) & LPI2C_MIER_PLTIE_MASK)
  25802. #define LPI2C_MIER_DMIE_MASK (0x4000U)
  25803. #define LPI2C_MIER_DMIE_SHIFT (14U)
  25804. /*! DMIE - Data Match Interrupt Enable
  25805. * 0b0..Disabled
  25806. * 0b1..Enabled
  25807. */
  25808. #define LPI2C_MIER_DMIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_DMIE_SHIFT)) & LPI2C_MIER_DMIE_MASK)
  25809. /*! @} */
  25810. /*! @name MDER - Master DMA Enable Register */
  25811. /*! @{ */
  25812. #define LPI2C_MDER_TDDE_MASK (0x1U)
  25813. #define LPI2C_MDER_TDDE_SHIFT (0U)
  25814. /*! TDDE - Transmit Data DMA Enable
  25815. * 0b0..DMA request is disabled
  25816. * 0b1..DMA request is enabled
  25817. */
  25818. #define LPI2C_MDER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDER_TDDE_SHIFT)) & LPI2C_MDER_TDDE_MASK)
  25819. #define LPI2C_MDER_RDDE_MASK (0x2U)
  25820. #define LPI2C_MDER_RDDE_SHIFT (1U)
  25821. /*! RDDE - Receive Data DMA Enable
  25822. * 0b0..DMA request is disabled
  25823. * 0b1..DMA request is enabled
  25824. */
  25825. #define LPI2C_MDER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDER_RDDE_SHIFT)) & LPI2C_MDER_RDDE_MASK)
  25826. /*! @} */
  25827. /*! @name MCFGR0 - Master Configuration Register 0 */
  25828. /*! @{ */
  25829. #define LPI2C_MCFGR0_HREN_MASK (0x1U)
  25830. #define LPI2C_MCFGR0_HREN_SHIFT (0U)
  25831. /*! HREN - Host Request Enable
  25832. * 0b0..Host request input is disabled
  25833. * 0b1..Host request input is enabled
  25834. */
  25835. #define LPI2C_MCFGR0_HREN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HREN_SHIFT)) & LPI2C_MCFGR0_HREN_MASK)
  25836. #define LPI2C_MCFGR0_HRPOL_MASK (0x2U)
  25837. #define LPI2C_MCFGR0_HRPOL_SHIFT (1U)
  25838. /*! HRPOL - Host Request Polarity
  25839. * 0b0..Active low
  25840. * 0b1..Active high
  25841. */
  25842. #define LPI2C_MCFGR0_HRPOL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HRPOL_SHIFT)) & LPI2C_MCFGR0_HRPOL_MASK)
  25843. #define LPI2C_MCFGR0_HRSEL_MASK (0x4U)
  25844. #define LPI2C_MCFGR0_HRSEL_SHIFT (2U)
  25845. /*! HRSEL - Host Request Select
  25846. * 0b0..Host request input is pin HREQ
  25847. * 0b1..Host request input is input trigger
  25848. */
  25849. #define LPI2C_MCFGR0_HRSEL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HRSEL_SHIFT)) & LPI2C_MCFGR0_HRSEL_MASK)
  25850. #define LPI2C_MCFGR0_CIRFIFO_MASK (0x100U)
  25851. #define LPI2C_MCFGR0_CIRFIFO_SHIFT (8U)
  25852. /*! CIRFIFO - Circular FIFO Enable
  25853. * 0b0..Circular FIFO is disabled
  25854. * 0b1..Circular FIFO is enabled
  25855. */
  25856. #define LPI2C_MCFGR0_CIRFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_CIRFIFO_SHIFT)) & LPI2C_MCFGR0_CIRFIFO_MASK)
  25857. #define LPI2C_MCFGR0_RDMO_MASK (0x200U)
  25858. #define LPI2C_MCFGR0_RDMO_SHIFT (9U)
  25859. /*! RDMO - Receive Data Match Only
  25860. * 0b0..Received data is stored in the receive FIFO
  25861. * 0b1..Received data is discarded unless the the Data Match Flag (MSR[DMF]) is set
  25862. */
  25863. #define LPI2C_MCFGR0_RDMO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_RDMO_SHIFT)) & LPI2C_MCFGR0_RDMO_MASK)
  25864. /*! @} */
  25865. /*! @name MCFGR1 - Master Configuration Register 1 */
  25866. /*! @{ */
  25867. #define LPI2C_MCFGR1_PRESCALE_MASK (0x7U)
  25868. #define LPI2C_MCFGR1_PRESCALE_SHIFT (0U)
  25869. /*! PRESCALE - Prescaler
  25870. * 0b000..Divide by 1
  25871. * 0b001..Divide by 2
  25872. * 0b010..Divide by 4
  25873. * 0b011..Divide by 8
  25874. * 0b100..Divide by 16
  25875. * 0b101..Divide by 32
  25876. * 0b110..Divide by 64
  25877. * 0b111..Divide by 128
  25878. */
  25879. #define LPI2C_MCFGR1_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_PRESCALE_SHIFT)) & LPI2C_MCFGR1_PRESCALE_MASK)
  25880. #define LPI2C_MCFGR1_AUTOSTOP_MASK (0x100U)
  25881. #define LPI2C_MCFGR1_AUTOSTOP_SHIFT (8U)
  25882. /*! AUTOSTOP - Automatic STOP Generation
  25883. * 0b0..No effect
  25884. * 0b1..STOP condition is automatically generated whenever the transmit FIFO is empty and the LPI2C master is busy
  25885. */
  25886. #define LPI2C_MCFGR1_AUTOSTOP(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_AUTOSTOP_SHIFT)) & LPI2C_MCFGR1_AUTOSTOP_MASK)
  25887. #define LPI2C_MCFGR1_IGNACK_MASK (0x200U)
  25888. #define LPI2C_MCFGR1_IGNACK_SHIFT (9U)
  25889. /*! IGNACK - IGNACK
  25890. * 0b0..LPI2C Master will receive ACK and NACK normally
  25891. * 0b1..LPI2C Master will treat a received NACK as if it (NACK) was an ACK
  25892. */
  25893. #define LPI2C_MCFGR1_IGNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_IGNACK_SHIFT)) & LPI2C_MCFGR1_IGNACK_MASK)
  25894. #define LPI2C_MCFGR1_TIMECFG_MASK (0x400U)
  25895. #define LPI2C_MCFGR1_TIMECFG_SHIFT (10U)
  25896. /*! TIMECFG - Timeout Configuration
  25897. * 0b0..Pin Low Timeout Flag will set if SCL is low for longer than the configured timeout
  25898. * 0b1..Pin Low Timeout Flag will set if either SCL or SDA is low for longer than the configured timeout
  25899. */
  25900. #define LPI2C_MCFGR1_TIMECFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_TIMECFG_SHIFT)) & LPI2C_MCFGR1_TIMECFG_MASK)
  25901. #define LPI2C_MCFGR1_MATCFG_MASK (0x70000U)
  25902. #define LPI2C_MCFGR1_MATCFG_SHIFT (16U)
  25903. /*! MATCFG - Match Configuration
  25904. * 0b000..Match is disabled
  25905. * 0b001..Reserved
  25906. * 0b010..Match is enabled (1st data word equals MATCH0 OR MATCH1)
  25907. * 0b011..Match is enabled (any data word equals MATCH0 OR MATCH1)
  25908. * 0b100..Match is enabled (1st data word equals MATCH0 AND 2nd data word equals MATCH1)
  25909. * 0b101..Match is enabled (any data word equals MATCH0 AND next data word equals MATCH1)
  25910. * 0b110..Match is enabled (1st data word AND MATCH1 equals MATCH0 AND MATCH1)
  25911. * 0b111..Match is enabled (any data word AND MATCH1 equals MATCH0 AND MATCH1)
  25912. */
  25913. #define LPI2C_MCFGR1_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_MATCFG_SHIFT)) & LPI2C_MCFGR1_MATCFG_MASK)
  25914. #define LPI2C_MCFGR1_PINCFG_MASK (0x7000000U)
  25915. #define LPI2C_MCFGR1_PINCFG_SHIFT (24U)
  25916. /*! PINCFG - Pin Configuration
  25917. * 0b000..2-pin open drain mode
  25918. * 0b001..2-pin output only mode (ultra-fast mode)
  25919. * 0b010..2-pin push-pull mode
  25920. * 0b011..4-pin push-pull mode
  25921. * 0b100..2-pin open drain mode with separate LPI2C slave
  25922. * 0b101..2-pin output only mode (ultra-fast mode) with separate LPI2C slave
  25923. * 0b110..2-pin push-pull mode with separate LPI2C slave
  25924. * 0b111..4-pin push-pull mode (inverted outputs)
  25925. */
  25926. #define LPI2C_MCFGR1_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_PINCFG_SHIFT)) & LPI2C_MCFGR1_PINCFG_MASK)
  25927. /*! @} */
  25928. /*! @name MCFGR2 - Master Configuration Register 2 */
  25929. /*! @{ */
  25930. #define LPI2C_MCFGR2_BUSIDLE_MASK (0xFFFU)
  25931. #define LPI2C_MCFGR2_BUSIDLE_SHIFT (0U)
  25932. /*! BUSIDLE - Bus Idle Timeout
  25933. */
  25934. #define LPI2C_MCFGR2_BUSIDLE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_BUSIDLE_SHIFT)) & LPI2C_MCFGR2_BUSIDLE_MASK)
  25935. #define LPI2C_MCFGR2_FILTSCL_MASK (0xF0000U)
  25936. #define LPI2C_MCFGR2_FILTSCL_SHIFT (16U)
  25937. /*! FILTSCL - Glitch Filter SCL
  25938. */
  25939. #define LPI2C_MCFGR2_FILTSCL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_FILTSCL_SHIFT)) & LPI2C_MCFGR2_FILTSCL_MASK)
  25940. #define LPI2C_MCFGR2_FILTSDA_MASK (0xF000000U)
  25941. #define LPI2C_MCFGR2_FILTSDA_SHIFT (24U)
  25942. /*! FILTSDA - Glitch Filter SDA
  25943. */
  25944. #define LPI2C_MCFGR2_FILTSDA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_FILTSDA_SHIFT)) & LPI2C_MCFGR2_FILTSDA_MASK)
  25945. /*! @} */
  25946. /*! @name MCFGR3 - Master Configuration Register 3 */
  25947. /*! @{ */
  25948. #define LPI2C_MCFGR3_PINLOW_MASK (0xFFF00U)
  25949. #define LPI2C_MCFGR3_PINLOW_SHIFT (8U)
  25950. /*! PINLOW - Pin Low Timeout
  25951. */
  25952. #define LPI2C_MCFGR3_PINLOW(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR3_PINLOW_SHIFT)) & LPI2C_MCFGR3_PINLOW_MASK)
  25953. /*! @} */
  25954. /*! @name MDMR - Master Data Match Register */
  25955. /*! @{ */
  25956. #define LPI2C_MDMR_MATCH0_MASK (0xFFU)
  25957. #define LPI2C_MDMR_MATCH0_SHIFT (0U)
  25958. /*! MATCH0 - Match 0 Value
  25959. */
  25960. #define LPI2C_MDMR_MATCH0(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDMR_MATCH0_SHIFT)) & LPI2C_MDMR_MATCH0_MASK)
  25961. #define LPI2C_MDMR_MATCH1_MASK (0xFF0000U)
  25962. #define LPI2C_MDMR_MATCH1_SHIFT (16U)
  25963. /*! MATCH1 - Match 1 Value
  25964. */
  25965. #define LPI2C_MDMR_MATCH1(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDMR_MATCH1_SHIFT)) & LPI2C_MDMR_MATCH1_MASK)
  25966. /*! @} */
  25967. /*! @name MCCR0 - Master Clock Configuration Register 0 */
  25968. /*! @{ */
  25969. #define LPI2C_MCCR0_CLKLO_MASK (0x3FU)
  25970. #define LPI2C_MCCR0_CLKLO_SHIFT (0U)
  25971. /*! CLKLO - Clock Low Period
  25972. */
  25973. #define LPI2C_MCCR0_CLKLO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_CLKLO_SHIFT)) & LPI2C_MCCR0_CLKLO_MASK)
  25974. #define LPI2C_MCCR0_CLKHI_MASK (0x3F00U)
  25975. #define LPI2C_MCCR0_CLKHI_SHIFT (8U)
  25976. /*! CLKHI - Clock High Period
  25977. */
  25978. #define LPI2C_MCCR0_CLKHI(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_CLKHI_SHIFT)) & LPI2C_MCCR0_CLKHI_MASK)
  25979. #define LPI2C_MCCR0_SETHOLD_MASK (0x3F0000U)
  25980. #define LPI2C_MCCR0_SETHOLD_SHIFT (16U)
  25981. /*! SETHOLD - Setup Hold Delay
  25982. */
  25983. #define LPI2C_MCCR0_SETHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_SETHOLD_SHIFT)) & LPI2C_MCCR0_SETHOLD_MASK)
  25984. #define LPI2C_MCCR0_DATAVD_MASK (0x3F000000U)
  25985. #define LPI2C_MCCR0_DATAVD_SHIFT (24U)
  25986. /*! DATAVD - Data Valid Delay
  25987. */
  25988. #define LPI2C_MCCR0_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_DATAVD_SHIFT)) & LPI2C_MCCR0_DATAVD_MASK)
  25989. /*! @} */
  25990. /*! @name MCCR1 - Master Clock Configuration Register 1 */
  25991. /*! @{ */
  25992. #define LPI2C_MCCR1_CLKLO_MASK (0x3FU)
  25993. #define LPI2C_MCCR1_CLKLO_SHIFT (0U)
  25994. /*! CLKLO - Clock Low Period
  25995. */
  25996. #define LPI2C_MCCR1_CLKLO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_CLKLO_SHIFT)) & LPI2C_MCCR1_CLKLO_MASK)
  25997. #define LPI2C_MCCR1_CLKHI_MASK (0x3F00U)
  25998. #define LPI2C_MCCR1_CLKHI_SHIFT (8U)
  25999. /*! CLKHI - Clock High Period
  26000. */
  26001. #define LPI2C_MCCR1_CLKHI(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_CLKHI_SHIFT)) & LPI2C_MCCR1_CLKHI_MASK)
  26002. #define LPI2C_MCCR1_SETHOLD_MASK (0x3F0000U)
  26003. #define LPI2C_MCCR1_SETHOLD_SHIFT (16U)
  26004. /*! SETHOLD - Setup Hold Delay
  26005. */
  26006. #define LPI2C_MCCR1_SETHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_SETHOLD_SHIFT)) & LPI2C_MCCR1_SETHOLD_MASK)
  26007. #define LPI2C_MCCR1_DATAVD_MASK (0x3F000000U)
  26008. #define LPI2C_MCCR1_DATAVD_SHIFT (24U)
  26009. /*! DATAVD - Data Valid Delay
  26010. */
  26011. #define LPI2C_MCCR1_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_DATAVD_SHIFT)) & LPI2C_MCCR1_DATAVD_MASK)
  26012. /*! @} */
  26013. /*! @name MFCR - Master FIFO Control Register */
  26014. /*! @{ */
  26015. #define LPI2C_MFCR_TXWATER_MASK (0x3U)
  26016. #define LPI2C_MFCR_TXWATER_SHIFT (0U)
  26017. /*! TXWATER - Transmit FIFO Watermark
  26018. */
  26019. #define LPI2C_MFCR_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFCR_TXWATER_SHIFT)) & LPI2C_MFCR_TXWATER_MASK)
  26020. #define LPI2C_MFCR_RXWATER_MASK (0x30000U)
  26021. #define LPI2C_MFCR_RXWATER_SHIFT (16U)
  26022. /*! RXWATER - Receive FIFO Watermark
  26023. */
  26024. #define LPI2C_MFCR_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFCR_RXWATER_SHIFT)) & LPI2C_MFCR_RXWATER_MASK)
  26025. /*! @} */
  26026. /*! @name MFSR - Master FIFO Status Register */
  26027. /*! @{ */
  26028. #define LPI2C_MFSR_TXCOUNT_MASK (0x7U)
  26029. #define LPI2C_MFSR_TXCOUNT_SHIFT (0U)
  26030. /*! TXCOUNT - Transmit FIFO Count
  26031. */
  26032. #define LPI2C_MFSR_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFSR_TXCOUNT_SHIFT)) & LPI2C_MFSR_TXCOUNT_MASK)
  26033. #define LPI2C_MFSR_RXCOUNT_MASK (0x70000U)
  26034. #define LPI2C_MFSR_RXCOUNT_SHIFT (16U)
  26035. /*! RXCOUNT - Receive FIFO Count
  26036. */
  26037. #define LPI2C_MFSR_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFSR_RXCOUNT_SHIFT)) & LPI2C_MFSR_RXCOUNT_MASK)
  26038. /*! @} */
  26039. /*! @name MTDR - Master Transmit Data Register */
  26040. /*! @{ */
  26041. #define LPI2C_MTDR_DATA_MASK (0xFFU)
  26042. #define LPI2C_MTDR_DATA_SHIFT (0U)
  26043. /*! DATA - Transmit Data
  26044. */
  26045. #define LPI2C_MTDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTDR_DATA_SHIFT)) & LPI2C_MTDR_DATA_MASK)
  26046. #define LPI2C_MTDR_CMD_MASK (0x700U)
  26047. #define LPI2C_MTDR_CMD_SHIFT (8U)
  26048. /*! CMD - Command Data
  26049. * 0b000..Transmit DATA[7:0]
  26050. * 0b001..Receive (DATA[7:0] + 1) bytes
  26051. * 0b010..Generate STOP condition
  26052. * 0b011..Receive and discard (DATA[7:0] + 1) bytes
  26053. * 0b100..Generate (repeated) START and transmit address in DATA[7:0]
  26054. * 0b101..Generate (repeated) START and transmit address in DATA[7:0]. This transfer expects a NACK to be returned.
  26055. * 0b110..Generate (repeated) START and transmit address in DATA[7:0] using high speed mode
  26056. * 0b111..Generate (repeated) START and transmit address in DATA[7:0] using high speed mode. This transfer expects a NACK to be returned.
  26057. */
  26058. #define LPI2C_MTDR_CMD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTDR_CMD_SHIFT)) & LPI2C_MTDR_CMD_MASK)
  26059. /*! @} */
  26060. /*! @name MRDR - Master Receive Data Register */
  26061. /*! @{ */
  26062. #define LPI2C_MRDR_DATA_MASK (0xFFU)
  26063. #define LPI2C_MRDR_DATA_SHIFT (0U)
  26064. /*! DATA - Receive Data
  26065. */
  26066. #define LPI2C_MRDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MRDR_DATA_SHIFT)) & LPI2C_MRDR_DATA_MASK)
  26067. #define LPI2C_MRDR_RXEMPTY_MASK (0x4000U)
  26068. #define LPI2C_MRDR_RXEMPTY_SHIFT (14U)
  26069. /*! RXEMPTY - RX Empty
  26070. * 0b0..Receive FIFO is not empty
  26071. * 0b1..Receive FIFO is empty
  26072. */
  26073. #define LPI2C_MRDR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MRDR_RXEMPTY_SHIFT)) & LPI2C_MRDR_RXEMPTY_MASK)
  26074. /*! @} */
  26075. /*! @name SCR - Slave Control Register */
  26076. /*! @{ */
  26077. #define LPI2C_SCR_SEN_MASK (0x1U)
  26078. #define LPI2C_SCR_SEN_SHIFT (0U)
  26079. /*! SEN - Slave Enable
  26080. * 0b0..I2C Slave mode is disabled
  26081. * 0b1..I2C Slave mode is enabled
  26082. */
  26083. #define LPI2C_SCR_SEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_SEN_SHIFT)) & LPI2C_SCR_SEN_MASK)
  26084. #define LPI2C_SCR_RST_MASK (0x2U)
  26085. #define LPI2C_SCR_RST_SHIFT (1U)
  26086. /*! RST - Software Reset
  26087. * 0b0..Slave mode logic is not reset
  26088. * 0b1..Slave mode logic is reset
  26089. */
  26090. #define LPI2C_SCR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RST_SHIFT)) & LPI2C_SCR_RST_MASK)
  26091. #define LPI2C_SCR_FILTEN_MASK (0x10U)
  26092. #define LPI2C_SCR_FILTEN_SHIFT (4U)
  26093. /*! FILTEN - Filter Enable
  26094. * 0b0..Disable digital filter and output delay counter for slave mode
  26095. * 0b1..Enable digital filter and output delay counter for slave mode
  26096. */
  26097. #define LPI2C_SCR_FILTEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_FILTEN_SHIFT)) & LPI2C_SCR_FILTEN_MASK)
  26098. #define LPI2C_SCR_FILTDZ_MASK (0x20U)
  26099. #define LPI2C_SCR_FILTDZ_SHIFT (5U)
  26100. /*! FILTDZ - Filter Doze Enable
  26101. * 0b0..Filter remains enabled in Doze mode
  26102. * 0b1..Filter is disabled in Doze mode
  26103. */
  26104. #define LPI2C_SCR_FILTDZ(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_FILTDZ_SHIFT)) & LPI2C_SCR_FILTDZ_MASK)
  26105. #define LPI2C_SCR_RTF_MASK (0x100U)
  26106. #define LPI2C_SCR_RTF_SHIFT (8U)
  26107. /*! RTF - Reset Transmit FIFO
  26108. * 0b0..No effect
  26109. * 0b1..Transmit Data Register is now empty
  26110. */
  26111. #define LPI2C_SCR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RTF_SHIFT)) & LPI2C_SCR_RTF_MASK)
  26112. #define LPI2C_SCR_RRF_MASK (0x200U)
  26113. #define LPI2C_SCR_RRF_SHIFT (9U)
  26114. /*! RRF - Reset Receive FIFO
  26115. * 0b0..No effect
  26116. * 0b1..Receive Data Register is now empty
  26117. */
  26118. #define LPI2C_SCR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RRF_SHIFT)) & LPI2C_SCR_RRF_MASK)
  26119. /*! @} */
  26120. /*! @name SSR - Slave Status Register */
  26121. /*! @{ */
  26122. #define LPI2C_SSR_TDF_MASK (0x1U)
  26123. #define LPI2C_SSR_TDF_SHIFT (0U)
  26124. /*! TDF - Transmit Data Flag
  26125. * 0b0..Transmit data not requested
  26126. * 0b1..Transmit data is requested
  26127. */
  26128. #define LPI2C_SSR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_TDF_SHIFT)) & LPI2C_SSR_TDF_MASK)
  26129. #define LPI2C_SSR_RDF_MASK (0x2U)
  26130. #define LPI2C_SSR_RDF_SHIFT (1U)
  26131. /*! RDF - Receive Data Flag
  26132. * 0b0..Receive data is not ready
  26133. * 0b1..Receive data is ready
  26134. */
  26135. #define LPI2C_SSR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_RDF_SHIFT)) & LPI2C_SSR_RDF_MASK)
  26136. #define LPI2C_SSR_AVF_MASK (0x4U)
  26137. #define LPI2C_SSR_AVF_SHIFT (2U)
  26138. /*! AVF - Address Valid Flag
  26139. * 0b0..Address Status Register is not valid
  26140. * 0b1..Address Status Register is valid
  26141. */
  26142. #define LPI2C_SSR_AVF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AVF_SHIFT)) & LPI2C_SSR_AVF_MASK)
  26143. #define LPI2C_SSR_TAF_MASK (0x8U)
  26144. #define LPI2C_SSR_TAF_SHIFT (3U)
  26145. /*! TAF - Transmit ACK Flag
  26146. * 0b0..Transmit ACK/NACK is not required
  26147. * 0b1..Transmit ACK/NACK is required
  26148. */
  26149. #define LPI2C_SSR_TAF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_TAF_SHIFT)) & LPI2C_SSR_TAF_MASK)
  26150. #define LPI2C_SSR_RSF_MASK (0x100U)
  26151. #define LPI2C_SSR_RSF_SHIFT (8U)
  26152. /*! RSF - Repeated Start Flag
  26153. * 0b0..Slave has not detected a Repeated START condition
  26154. * 0b1..Slave has detected a Repeated START condition
  26155. */
  26156. #define LPI2C_SSR_RSF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_RSF_SHIFT)) & LPI2C_SSR_RSF_MASK)
  26157. #define LPI2C_SSR_SDF_MASK (0x200U)
  26158. #define LPI2C_SSR_SDF_SHIFT (9U)
  26159. /*! SDF - STOP Detect Flag
  26160. * 0b0..Slave has not detected a STOP condition
  26161. * 0b1..Slave has detected a STOP condition
  26162. */
  26163. #define LPI2C_SSR_SDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SDF_SHIFT)) & LPI2C_SSR_SDF_MASK)
  26164. #define LPI2C_SSR_BEF_MASK (0x400U)
  26165. #define LPI2C_SSR_BEF_SHIFT (10U)
  26166. /*! BEF - Bit Error Flag
  26167. * 0b0..Slave has not detected a bit error
  26168. * 0b1..Slave has detected a bit error
  26169. */
  26170. #define LPI2C_SSR_BEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_BEF_SHIFT)) & LPI2C_SSR_BEF_MASK)
  26171. #define LPI2C_SSR_FEF_MASK (0x800U)
  26172. #define LPI2C_SSR_FEF_SHIFT (11U)
  26173. /*! FEF - FIFO Error Flag
  26174. * 0b0..FIFO underflow or overflow was not detected
  26175. * 0b1..FIFO underflow or overflow was detected
  26176. */
  26177. #define LPI2C_SSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_FEF_SHIFT)) & LPI2C_SSR_FEF_MASK)
  26178. #define LPI2C_SSR_AM0F_MASK (0x1000U)
  26179. #define LPI2C_SSR_AM0F_SHIFT (12U)
  26180. /*! AM0F - Address Match 0 Flag
  26181. * 0b0..Have not received an ADDR0 matching address
  26182. * 0b1..Have received an ADDR0 matching address
  26183. */
  26184. #define LPI2C_SSR_AM0F(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AM0F_SHIFT)) & LPI2C_SSR_AM0F_MASK)
  26185. #define LPI2C_SSR_AM1F_MASK (0x2000U)
  26186. #define LPI2C_SSR_AM1F_SHIFT (13U)
  26187. /*! AM1F - Address Match 1 Flag
  26188. * 0b0..Have not received an ADDR1 or ADDR0/ADDR1 range matching address
  26189. * 0b1..Have received an ADDR1 or ADDR0/ADDR1 range matching address
  26190. */
  26191. #define LPI2C_SSR_AM1F(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AM1F_SHIFT)) & LPI2C_SSR_AM1F_MASK)
  26192. #define LPI2C_SSR_GCF_MASK (0x4000U)
  26193. #define LPI2C_SSR_GCF_SHIFT (14U)
  26194. /*! GCF - General Call Flag
  26195. * 0b0..Slave has not detected the General Call Address or the General Call Address is disabled
  26196. * 0b1..Slave has detected the General Call Address
  26197. */
  26198. #define LPI2C_SSR_GCF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_GCF_SHIFT)) & LPI2C_SSR_GCF_MASK)
  26199. #define LPI2C_SSR_SARF_MASK (0x8000U)
  26200. #define LPI2C_SSR_SARF_SHIFT (15U)
  26201. /*! SARF - SMBus Alert Response Flag
  26202. * 0b0..SMBus Alert Response is disabled or not detected
  26203. * 0b1..SMBus Alert Response is enabled and detected
  26204. */
  26205. #define LPI2C_SSR_SARF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SARF_SHIFT)) & LPI2C_SSR_SARF_MASK)
  26206. #define LPI2C_SSR_SBF_MASK (0x1000000U)
  26207. #define LPI2C_SSR_SBF_SHIFT (24U)
  26208. /*! SBF - Slave Busy Flag
  26209. * 0b0..I2C Slave is idle
  26210. * 0b1..I2C Slave is busy
  26211. */
  26212. #define LPI2C_SSR_SBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SBF_SHIFT)) & LPI2C_SSR_SBF_MASK)
  26213. #define LPI2C_SSR_BBF_MASK (0x2000000U)
  26214. #define LPI2C_SSR_BBF_SHIFT (25U)
  26215. /*! BBF - Bus Busy Flag
  26216. * 0b0..I2C Bus is idle
  26217. * 0b1..I2C Bus is busy
  26218. */
  26219. #define LPI2C_SSR_BBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_BBF_SHIFT)) & LPI2C_SSR_BBF_MASK)
  26220. /*! @} */
  26221. /*! @name SIER - Slave Interrupt Enable Register */
  26222. /*! @{ */
  26223. #define LPI2C_SIER_TDIE_MASK (0x1U)
  26224. #define LPI2C_SIER_TDIE_SHIFT (0U)
  26225. /*! TDIE - Transmit Data Interrupt Enable
  26226. * 0b0..Disabled
  26227. * 0b1..Enabled
  26228. */
  26229. #define LPI2C_SIER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_TDIE_SHIFT)) & LPI2C_SIER_TDIE_MASK)
  26230. #define LPI2C_SIER_RDIE_MASK (0x2U)
  26231. #define LPI2C_SIER_RDIE_SHIFT (1U)
  26232. /*! RDIE - Receive Data Interrupt Enable
  26233. * 0b0..Disabled
  26234. * 0b1..Enabled
  26235. */
  26236. #define LPI2C_SIER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_RDIE_SHIFT)) & LPI2C_SIER_RDIE_MASK)
  26237. #define LPI2C_SIER_AVIE_MASK (0x4U)
  26238. #define LPI2C_SIER_AVIE_SHIFT (2U)
  26239. /*! AVIE - Address Valid Interrupt Enable
  26240. * 0b0..Disabled
  26241. * 0b1..Enabled
  26242. */
  26243. #define LPI2C_SIER_AVIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AVIE_SHIFT)) & LPI2C_SIER_AVIE_MASK)
  26244. #define LPI2C_SIER_TAIE_MASK (0x8U)
  26245. #define LPI2C_SIER_TAIE_SHIFT (3U)
  26246. /*! TAIE - Transmit ACK Interrupt Enable
  26247. * 0b0..Disabled
  26248. * 0b1..Enabled
  26249. */
  26250. #define LPI2C_SIER_TAIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_TAIE_SHIFT)) & LPI2C_SIER_TAIE_MASK)
  26251. #define LPI2C_SIER_RSIE_MASK (0x100U)
  26252. #define LPI2C_SIER_RSIE_SHIFT (8U)
  26253. /*! RSIE - Repeated Start Interrupt Enable
  26254. * 0b0..Disabled
  26255. * 0b1..Enabled
  26256. */
  26257. #define LPI2C_SIER_RSIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_RSIE_SHIFT)) & LPI2C_SIER_RSIE_MASK)
  26258. #define LPI2C_SIER_SDIE_MASK (0x200U)
  26259. #define LPI2C_SIER_SDIE_SHIFT (9U)
  26260. /*! SDIE - STOP Detect Interrupt Enable
  26261. * 0b0..Disabled
  26262. * 0b1..Enabled
  26263. */
  26264. #define LPI2C_SIER_SDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_SDIE_SHIFT)) & LPI2C_SIER_SDIE_MASK)
  26265. #define LPI2C_SIER_BEIE_MASK (0x400U)
  26266. #define LPI2C_SIER_BEIE_SHIFT (10U)
  26267. /*! BEIE - Bit Error Interrupt Enable
  26268. * 0b0..Disabled
  26269. * 0b1..Enabled
  26270. */
  26271. #define LPI2C_SIER_BEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_BEIE_SHIFT)) & LPI2C_SIER_BEIE_MASK)
  26272. #define LPI2C_SIER_FEIE_MASK (0x800U)
  26273. #define LPI2C_SIER_FEIE_SHIFT (11U)
  26274. /*! FEIE - FIFO Error Interrupt Enable
  26275. * 0b0..Disabled
  26276. * 0b1..Enabled
  26277. */
  26278. #define LPI2C_SIER_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_FEIE_SHIFT)) & LPI2C_SIER_FEIE_MASK)
  26279. #define LPI2C_SIER_AM0IE_MASK (0x1000U)
  26280. #define LPI2C_SIER_AM0IE_SHIFT (12U)
  26281. /*! AM0IE - Address Match 0 Interrupt Enable
  26282. * 0b0..Enabled
  26283. * 0b1..Disabled
  26284. */
  26285. #define LPI2C_SIER_AM0IE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AM0IE_SHIFT)) & LPI2C_SIER_AM0IE_MASK)
  26286. #define LPI2C_SIER_AM1F_MASK (0x2000U)
  26287. #define LPI2C_SIER_AM1F_SHIFT (13U)
  26288. /*! AM1F - Address Match 1 Interrupt Enable
  26289. * 0b0..Disabled
  26290. * 0b1..Enabled
  26291. */
  26292. #define LPI2C_SIER_AM1F(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AM1F_SHIFT)) & LPI2C_SIER_AM1F_MASK)
  26293. #define LPI2C_SIER_GCIE_MASK (0x4000U)
  26294. #define LPI2C_SIER_GCIE_SHIFT (14U)
  26295. /*! GCIE - General Call Interrupt Enable
  26296. * 0b0..Disabled
  26297. * 0b1..Enabled
  26298. */
  26299. #define LPI2C_SIER_GCIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_GCIE_SHIFT)) & LPI2C_SIER_GCIE_MASK)
  26300. #define LPI2C_SIER_SARIE_MASK (0x8000U)
  26301. #define LPI2C_SIER_SARIE_SHIFT (15U)
  26302. /*! SARIE - SMBus Alert Response Interrupt Enable
  26303. * 0b0..Disabled
  26304. * 0b1..Enabled
  26305. */
  26306. #define LPI2C_SIER_SARIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_SARIE_SHIFT)) & LPI2C_SIER_SARIE_MASK)
  26307. /*! @} */
  26308. /*! @name SDER - Slave DMA Enable Register */
  26309. /*! @{ */
  26310. #define LPI2C_SDER_TDDE_MASK (0x1U)
  26311. #define LPI2C_SDER_TDDE_SHIFT (0U)
  26312. /*! TDDE - Transmit Data DMA Enable
  26313. * 0b0..DMA request is disabled
  26314. * 0b1..DMA request is enabled
  26315. */
  26316. #define LPI2C_SDER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_TDDE_SHIFT)) & LPI2C_SDER_TDDE_MASK)
  26317. #define LPI2C_SDER_RDDE_MASK (0x2U)
  26318. #define LPI2C_SDER_RDDE_SHIFT (1U)
  26319. /*! RDDE - Receive Data DMA Enable
  26320. * 0b0..DMA request is disabled
  26321. * 0b1..DMA request is enabled
  26322. */
  26323. #define LPI2C_SDER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_RDDE_SHIFT)) & LPI2C_SDER_RDDE_MASK)
  26324. #define LPI2C_SDER_AVDE_MASK (0x4U)
  26325. #define LPI2C_SDER_AVDE_SHIFT (2U)
  26326. /*! AVDE - Address Valid DMA Enable
  26327. * 0b0..DMA request is disabled
  26328. * 0b1..DMA request is enabled
  26329. */
  26330. #define LPI2C_SDER_AVDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_AVDE_SHIFT)) & LPI2C_SDER_AVDE_MASK)
  26331. /*! @} */
  26332. /*! @name SCFGR1 - Slave Configuration Register 1 */
  26333. /*! @{ */
  26334. #define LPI2C_SCFGR1_ADRSTALL_MASK (0x1U)
  26335. #define LPI2C_SCFGR1_ADRSTALL_SHIFT (0U)
  26336. /*! ADRSTALL - Address SCL Stall
  26337. * 0b0..Clock stretching is disabled
  26338. * 0b1..Clock stretching is enabled
  26339. */
  26340. #define LPI2C_SCFGR1_ADRSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ADRSTALL_SHIFT)) & LPI2C_SCFGR1_ADRSTALL_MASK)
  26341. #define LPI2C_SCFGR1_RXSTALL_MASK (0x2U)
  26342. #define LPI2C_SCFGR1_RXSTALL_SHIFT (1U)
  26343. /*! RXSTALL - RX SCL Stall
  26344. * 0b0..Clock stretching is disabled
  26345. * 0b1..Clock stretching is enabled
  26346. */
  26347. #define LPI2C_SCFGR1_RXSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_RXSTALL_SHIFT)) & LPI2C_SCFGR1_RXSTALL_MASK)
  26348. #define LPI2C_SCFGR1_TXDSTALL_MASK (0x4U)
  26349. #define LPI2C_SCFGR1_TXDSTALL_SHIFT (2U)
  26350. /*! TXDSTALL - TX Data SCL Stall
  26351. * 0b0..Clock stretching is disabled
  26352. * 0b1..Clock stretching is enabled
  26353. */
  26354. #define LPI2C_SCFGR1_TXDSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_TXDSTALL_SHIFT)) & LPI2C_SCFGR1_TXDSTALL_MASK)
  26355. #define LPI2C_SCFGR1_ACKSTALL_MASK (0x8U)
  26356. #define LPI2C_SCFGR1_ACKSTALL_SHIFT (3U)
  26357. /*! ACKSTALL - ACK SCL Stall
  26358. * 0b0..Clock stretching is disabled
  26359. * 0b1..Clock stretching is enabled
  26360. */
  26361. #define LPI2C_SCFGR1_ACKSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ACKSTALL_SHIFT)) & LPI2C_SCFGR1_ACKSTALL_MASK)
  26362. #define LPI2C_SCFGR1_GCEN_MASK (0x100U)
  26363. #define LPI2C_SCFGR1_GCEN_SHIFT (8U)
  26364. /*! GCEN - General Call Enable
  26365. * 0b0..General Call address is disabled
  26366. * 0b1..General Call address is enabled
  26367. */
  26368. #define LPI2C_SCFGR1_GCEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_GCEN_SHIFT)) & LPI2C_SCFGR1_GCEN_MASK)
  26369. #define LPI2C_SCFGR1_SAEN_MASK (0x200U)
  26370. #define LPI2C_SCFGR1_SAEN_SHIFT (9U)
  26371. /*! SAEN - SMBus Alert Enable
  26372. * 0b0..Disables match on SMBus Alert
  26373. * 0b1..Enables match on SMBus Alert
  26374. */
  26375. #define LPI2C_SCFGR1_SAEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_SAEN_SHIFT)) & LPI2C_SCFGR1_SAEN_MASK)
  26376. #define LPI2C_SCFGR1_TXCFG_MASK (0x400U)
  26377. #define LPI2C_SCFGR1_TXCFG_SHIFT (10U)
  26378. /*! TXCFG - Transmit Flag Configuration
  26379. * 0b0..Transmit Data Flag will only assert during a slave-transmit transfer when the Transmit Data register is empty
  26380. * 0b1..Transmit Data Flag will assert whenever the Transmit Data register is empty
  26381. */
  26382. #define LPI2C_SCFGR1_TXCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_TXCFG_SHIFT)) & LPI2C_SCFGR1_TXCFG_MASK)
  26383. #define LPI2C_SCFGR1_RXCFG_MASK (0x800U)
  26384. #define LPI2C_SCFGR1_RXCFG_SHIFT (11U)
  26385. /*! RXCFG - Receive Data Configuration
  26386. * 0b0..Reading the Receive Data register will return received data and clear the Receive Data flag (MSR[RDF]).
  26387. * 0b1..Reading the Receive Data register when the Address Valid flag (SSR[AVF])is set, will return the Address
  26388. * Status register and clear the Address Valid flag. Reading the Receive Data register when the Address Valid
  26389. * flag is clear, will return received data and clear the Receive Data flag (MSR[RDF]).
  26390. */
  26391. #define LPI2C_SCFGR1_RXCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_RXCFG_SHIFT)) & LPI2C_SCFGR1_RXCFG_MASK)
  26392. #define LPI2C_SCFGR1_IGNACK_MASK (0x1000U)
  26393. #define LPI2C_SCFGR1_IGNACK_SHIFT (12U)
  26394. /*! IGNACK - Ignore NACK
  26395. * 0b0..Slave will end transfer when NACK is detected
  26396. * 0b1..Slave will not end transfer when NACK detected
  26397. */
  26398. #define LPI2C_SCFGR1_IGNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_IGNACK_SHIFT)) & LPI2C_SCFGR1_IGNACK_MASK)
  26399. #define LPI2C_SCFGR1_HSMEN_MASK (0x2000U)
  26400. #define LPI2C_SCFGR1_HSMEN_SHIFT (13U)
  26401. /*! HSMEN - High Speed Mode Enable
  26402. * 0b0..Disables detection of HS-mode master code
  26403. * 0b1..Enables detection of HS-mode master code
  26404. */
  26405. #define LPI2C_SCFGR1_HSMEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_HSMEN_SHIFT)) & LPI2C_SCFGR1_HSMEN_MASK)
  26406. #define LPI2C_SCFGR1_ADDRCFG_MASK (0x70000U)
  26407. #define LPI2C_SCFGR1_ADDRCFG_SHIFT (16U)
  26408. /*! ADDRCFG - Address Configuration
  26409. * 0b000..Address match 0 (7-bit)
  26410. * 0b001..Address match 0 (10-bit)
  26411. * 0b010..Address match 0 (7-bit) or Address match 1 (7-bit)
  26412. * 0b011..Address match 0 (10-bit) or Address match 1 (10-bit)
  26413. * 0b100..Address match 0 (7-bit) or Address match 1 (10-bit)
  26414. * 0b101..Address match 0 (10-bit) or Address match 1 (7-bit)
  26415. * 0b110..From Address match 0 (7-bit) to Address match 1 (7-bit)
  26416. * 0b111..From Address match 0 (10-bit) to Address match 1 (10-bit)
  26417. */
  26418. #define LPI2C_SCFGR1_ADDRCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ADDRCFG_SHIFT)) & LPI2C_SCFGR1_ADDRCFG_MASK)
  26419. /*! @} */
  26420. /*! @name SCFGR2 - Slave Configuration Register 2 */
  26421. /*! @{ */
  26422. #define LPI2C_SCFGR2_CLKHOLD_MASK (0xFU)
  26423. #define LPI2C_SCFGR2_CLKHOLD_SHIFT (0U)
  26424. /*! CLKHOLD - Clock Hold Time
  26425. */
  26426. #define LPI2C_SCFGR2_CLKHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_CLKHOLD_SHIFT)) & LPI2C_SCFGR2_CLKHOLD_MASK)
  26427. #define LPI2C_SCFGR2_DATAVD_MASK (0x3F00U)
  26428. #define LPI2C_SCFGR2_DATAVD_SHIFT (8U)
  26429. /*! DATAVD - Data Valid Delay
  26430. */
  26431. #define LPI2C_SCFGR2_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_DATAVD_SHIFT)) & LPI2C_SCFGR2_DATAVD_MASK)
  26432. #define LPI2C_SCFGR2_FILTSCL_MASK (0xF0000U)
  26433. #define LPI2C_SCFGR2_FILTSCL_SHIFT (16U)
  26434. /*! FILTSCL - Glitch Filter SCL
  26435. */
  26436. #define LPI2C_SCFGR2_FILTSCL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_FILTSCL_SHIFT)) & LPI2C_SCFGR2_FILTSCL_MASK)
  26437. #define LPI2C_SCFGR2_FILTSDA_MASK (0xF000000U)
  26438. #define LPI2C_SCFGR2_FILTSDA_SHIFT (24U)
  26439. /*! FILTSDA - Glitch Filter SDA
  26440. */
  26441. #define LPI2C_SCFGR2_FILTSDA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_FILTSDA_SHIFT)) & LPI2C_SCFGR2_FILTSDA_MASK)
  26442. /*! @} */
  26443. /*! @name SAMR - Slave Address Match Register */
  26444. /*! @{ */
  26445. #define LPI2C_SAMR_ADDR0_MASK (0x7FEU)
  26446. #define LPI2C_SAMR_ADDR0_SHIFT (1U)
  26447. /*! ADDR0 - Address 0 Value
  26448. */
  26449. #define LPI2C_SAMR_ADDR0(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SAMR_ADDR0_SHIFT)) & LPI2C_SAMR_ADDR0_MASK)
  26450. #define LPI2C_SAMR_ADDR1_MASK (0x7FE0000U)
  26451. #define LPI2C_SAMR_ADDR1_SHIFT (17U)
  26452. /*! ADDR1 - Address 1 Value
  26453. */
  26454. #define LPI2C_SAMR_ADDR1(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SAMR_ADDR1_SHIFT)) & LPI2C_SAMR_ADDR1_MASK)
  26455. /*! @} */
  26456. /*! @name SASR - Slave Address Status Register */
  26457. /*! @{ */
  26458. #define LPI2C_SASR_RADDR_MASK (0x7FFU)
  26459. #define LPI2C_SASR_RADDR_SHIFT (0U)
  26460. /*! RADDR - Received Address
  26461. */
  26462. #define LPI2C_SASR_RADDR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SASR_RADDR_SHIFT)) & LPI2C_SASR_RADDR_MASK)
  26463. #define LPI2C_SASR_ANV_MASK (0x4000U)
  26464. #define LPI2C_SASR_ANV_SHIFT (14U)
  26465. /*! ANV - Address Not Valid
  26466. * 0b0..Received Address (RADDR) is valid
  26467. * 0b1..Received Address (RADDR) is not valid
  26468. */
  26469. #define LPI2C_SASR_ANV(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SASR_ANV_SHIFT)) & LPI2C_SASR_ANV_MASK)
  26470. /*! @} */
  26471. /*! @name STAR - Slave Transmit ACK Register */
  26472. /*! @{ */
  26473. #define LPI2C_STAR_TXNACK_MASK (0x1U)
  26474. #define LPI2C_STAR_TXNACK_SHIFT (0U)
  26475. /*! TXNACK - Transmit NACK
  26476. * 0b0..Write a Transmit ACK for each received word
  26477. * 0b1..Write a Transmit NACK for each received word
  26478. */
  26479. #define LPI2C_STAR_TXNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_STAR_TXNACK_SHIFT)) & LPI2C_STAR_TXNACK_MASK)
  26480. /*! @} */
  26481. /*! @name STDR - Slave Transmit Data Register */
  26482. /*! @{ */
  26483. #define LPI2C_STDR_DATA_MASK (0xFFU)
  26484. #define LPI2C_STDR_DATA_SHIFT (0U)
  26485. /*! DATA - Transmit Data
  26486. */
  26487. #define LPI2C_STDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_STDR_DATA_SHIFT)) & LPI2C_STDR_DATA_MASK)
  26488. /*! @} */
  26489. /*! @name SRDR - Slave Receive Data Register */
  26490. /*! @{ */
  26491. #define LPI2C_SRDR_DATA_MASK (0xFFU)
  26492. #define LPI2C_SRDR_DATA_SHIFT (0U)
  26493. /*! DATA - Receive Data
  26494. */
  26495. #define LPI2C_SRDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_DATA_SHIFT)) & LPI2C_SRDR_DATA_MASK)
  26496. #define LPI2C_SRDR_RXEMPTY_MASK (0x4000U)
  26497. #define LPI2C_SRDR_RXEMPTY_SHIFT (14U)
  26498. /*! RXEMPTY - RX Empty
  26499. * 0b0..The Receive Data Register is not empty
  26500. * 0b1..The Receive Data Register is empty
  26501. */
  26502. #define LPI2C_SRDR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_RXEMPTY_SHIFT)) & LPI2C_SRDR_RXEMPTY_MASK)
  26503. #define LPI2C_SRDR_SOF_MASK (0x8000U)
  26504. #define LPI2C_SRDR_SOF_SHIFT (15U)
  26505. /*! SOF - Start Of Frame
  26506. * 0b0..Indicates this is not the first data word since a (repeated) START or STOP condition
  26507. * 0b1..Indicates this is the first data word since a (repeated) START or STOP condition
  26508. */
  26509. #define LPI2C_SRDR_SOF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_SOF_SHIFT)) & LPI2C_SRDR_SOF_MASK)
  26510. /*! @} */
  26511. /*!
  26512. * @}
  26513. */ /* end of group LPI2C_Register_Masks */
  26514. /* LPI2C - Peripheral instance base addresses */
  26515. /** Peripheral LPI2C1 base address */
  26516. #define LPI2C1_BASE (0x403F0000u)
  26517. /** Peripheral LPI2C1 base pointer */
  26518. #define LPI2C1 ((LPI2C_Type *)LPI2C1_BASE)
  26519. /** Peripheral LPI2C2 base address */
  26520. #define LPI2C2_BASE (0x403F4000u)
  26521. /** Peripheral LPI2C2 base pointer */
  26522. #define LPI2C2 ((LPI2C_Type *)LPI2C2_BASE)
  26523. /** Peripheral LPI2C3 base address */
  26524. #define LPI2C3_BASE (0x403F8000u)
  26525. /** Peripheral LPI2C3 base pointer */
  26526. #define LPI2C3 ((LPI2C_Type *)LPI2C3_BASE)
  26527. /** Peripheral LPI2C4 base address */
  26528. #define LPI2C4_BASE (0x403FC000u)
  26529. /** Peripheral LPI2C4 base pointer */
  26530. #define LPI2C4 ((LPI2C_Type *)LPI2C4_BASE)
  26531. /** Array initializer of LPI2C peripheral base addresses */
  26532. #define LPI2C_BASE_ADDRS { 0u, LPI2C1_BASE, LPI2C2_BASE, LPI2C3_BASE, LPI2C4_BASE }
  26533. /** Array initializer of LPI2C peripheral base pointers */
  26534. #define LPI2C_BASE_PTRS { (LPI2C_Type *)0u, LPI2C1, LPI2C2, LPI2C3, LPI2C4 }
  26535. /** Interrupt vectors for the LPI2C peripheral type */
  26536. #define LPI2C_IRQS { NotAvail_IRQn, LPI2C1_IRQn, LPI2C2_IRQn, LPI2C3_IRQn, LPI2C4_IRQn }
  26537. /*!
  26538. * @}
  26539. */ /* end of group LPI2C_Peripheral_Access_Layer */
  26540. /* ----------------------------------------------------------------------------
  26541. -- LPSPI Peripheral Access Layer
  26542. ---------------------------------------------------------------------------- */
  26543. /*!
  26544. * @addtogroup LPSPI_Peripheral_Access_Layer LPSPI Peripheral Access Layer
  26545. * @{
  26546. */
  26547. /** LPSPI - Register Layout Typedef */
  26548. typedef struct {
  26549. __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */
  26550. __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
  26551. uint8_t RESERVED_0[8];
  26552. __IO uint32_t CR; /**< Control Register, offset: 0x10 */
  26553. __IO uint32_t SR; /**< Status Register, offset: 0x14 */
  26554. __IO uint32_t IER; /**< Interrupt Enable Register, offset: 0x18 */
  26555. __IO uint32_t DER; /**< DMA Enable Register, offset: 0x1C */
  26556. __IO uint32_t CFGR0; /**< Configuration Register 0, offset: 0x20 */
  26557. __IO uint32_t CFGR1; /**< Configuration Register 1, offset: 0x24 */
  26558. uint8_t RESERVED_1[8];
  26559. __IO uint32_t DMR0; /**< Data Match Register 0, offset: 0x30 */
  26560. __IO uint32_t DMR1; /**< Data Match Register 1, offset: 0x34 */
  26561. uint8_t RESERVED_2[8];
  26562. __IO uint32_t CCR; /**< Clock Configuration Register, offset: 0x40 */
  26563. uint8_t RESERVED_3[20];
  26564. __IO uint32_t FCR; /**< FIFO Control Register, offset: 0x58 */
  26565. __I uint32_t FSR; /**< FIFO Status Register, offset: 0x5C */
  26566. __IO uint32_t TCR; /**< Transmit Command Register, offset: 0x60 */
  26567. __O uint32_t TDR; /**< Transmit Data Register, offset: 0x64 */
  26568. uint8_t RESERVED_4[8];
  26569. __I uint32_t RSR; /**< Receive Status Register, offset: 0x70 */
  26570. __I uint32_t RDR; /**< Receive Data Register, offset: 0x74 */
  26571. } LPSPI_Type;
  26572. /* ----------------------------------------------------------------------------
  26573. -- LPSPI Register Masks
  26574. ---------------------------------------------------------------------------- */
  26575. /*!
  26576. * @addtogroup LPSPI_Register_Masks LPSPI Register Masks
  26577. * @{
  26578. */
  26579. /*! @name VERID - Version ID Register */
  26580. /*! @{ */
  26581. #define LPSPI_VERID_FEATURE_MASK (0xFFFFU)
  26582. #define LPSPI_VERID_FEATURE_SHIFT (0U)
  26583. /*! FEATURE - Module Identification Number
  26584. * 0b0000000000000100..Standard feature set supporting a 32-bit shift register.
  26585. */
  26586. #define LPSPI_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_FEATURE_SHIFT)) & LPSPI_VERID_FEATURE_MASK)
  26587. #define LPSPI_VERID_MINOR_MASK (0xFF0000U)
  26588. #define LPSPI_VERID_MINOR_SHIFT (16U)
  26589. /*! MINOR - Minor Version Number
  26590. */
  26591. #define LPSPI_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_MINOR_SHIFT)) & LPSPI_VERID_MINOR_MASK)
  26592. #define LPSPI_VERID_MAJOR_MASK (0xFF000000U)
  26593. #define LPSPI_VERID_MAJOR_SHIFT (24U)
  26594. /*! MAJOR - Major Version Number
  26595. */
  26596. #define LPSPI_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_MAJOR_SHIFT)) & LPSPI_VERID_MAJOR_MASK)
  26597. /*! @} */
  26598. /*! @name PARAM - Parameter Register */
  26599. /*! @{ */
  26600. #define LPSPI_PARAM_TXFIFO_MASK (0xFFU)
  26601. #define LPSPI_PARAM_TXFIFO_SHIFT (0U)
  26602. /*! TXFIFO - Transmit FIFO Size
  26603. */
  26604. #define LPSPI_PARAM_TXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_PARAM_TXFIFO_SHIFT)) & LPSPI_PARAM_TXFIFO_MASK)
  26605. #define LPSPI_PARAM_RXFIFO_MASK (0xFF00U)
  26606. #define LPSPI_PARAM_RXFIFO_SHIFT (8U)
  26607. /*! RXFIFO - Receive FIFO Size
  26608. */
  26609. #define LPSPI_PARAM_RXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_PARAM_RXFIFO_SHIFT)) & LPSPI_PARAM_RXFIFO_MASK)
  26610. #define LPSPI_PARAM_PCSNUM_MASK (0xFF0000U)
  26611. #define LPSPI_PARAM_PCSNUM_SHIFT (16U)
  26612. /*! PCSNUM - PCS Number
  26613. */
  26614. #define LPSPI_PARAM_PCSNUM(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_PARAM_PCSNUM_SHIFT)) & LPSPI_PARAM_PCSNUM_MASK)
  26615. /*! @} */
  26616. /*! @name CR - Control Register */
  26617. /*! @{ */
  26618. #define LPSPI_CR_MEN_MASK (0x1U)
  26619. #define LPSPI_CR_MEN_SHIFT (0U)
  26620. /*! MEN - Module Enable
  26621. * 0b0..Module is disabled
  26622. * 0b1..Module is enabled
  26623. */
  26624. #define LPSPI_CR_MEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_MEN_SHIFT)) & LPSPI_CR_MEN_MASK)
  26625. #define LPSPI_CR_RST_MASK (0x2U)
  26626. #define LPSPI_CR_RST_SHIFT (1U)
  26627. /*! RST - Software Reset
  26628. * 0b0..Module is not reset
  26629. * 0b1..Module is reset
  26630. */
  26631. #define LPSPI_CR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RST_SHIFT)) & LPSPI_CR_RST_MASK)
  26632. #define LPSPI_CR_DOZEN_MASK (0x4U)
  26633. #define LPSPI_CR_DOZEN_SHIFT (2U)
  26634. /*! DOZEN - Doze mode enable
  26635. * 0b0..Module is enabled in Doze mode
  26636. * 0b1..Module is disabled in Doze mode
  26637. */
  26638. #define LPSPI_CR_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_DOZEN_SHIFT)) & LPSPI_CR_DOZEN_MASK)
  26639. #define LPSPI_CR_DBGEN_MASK (0x8U)
  26640. #define LPSPI_CR_DBGEN_SHIFT (3U)
  26641. /*! DBGEN - Debug Enable
  26642. * 0b0..Module is disabled in debug mode
  26643. * 0b1..Module is enabled in debug mode
  26644. */
  26645. #define LPSPI_CR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_DBGEN_SHIFT)) & LPSPI_CR_DBGEN_MASK)
  26646. #define LPSPI_CR_RTF_MASK (0x100U)
  26647. #define LPSPI_CR_RTF_SHIFT (8U)
  26648. /*! RTF - Reset Transmit FIFO
  26649. * 0b0..No effect
  26650. * 0b1..Transmit FIFO is reset
  26651. */
  26652. #define LPSPI_CR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RTF_SHIFT)) & LPSPI_CR_RTF_MASK)
  26653. #define LPSPI_CR_RRF_MASK (0x200U)
  26654. #define LPSPI_CR_RRF_SHIFT (9U)
  26655. /*! RRF - Reset Receive FIFO
  26656. * 0b0..No effect
  26657. * 0b1..Receive FIFO is reset
  26658. */
  26659. #define LPSPI_CR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RRF_SHIFT)) & LPSPI_CR_RRF_MASK)
  26660. /*! @} */
  26661. /*! @name SR - Status Register */
  26662. /*! @{ */
  26663. #define LPSPI_SR_TDF_MASK (0x1U)
  26664. #define LPSPI_SR_TDF_SHIFT (0U)
  26665. /*! TDF - Transmit Data Flag
  26666. * 0b0..Transmit data not requested
  26667. * 0b1..Transmit data is requested
  26668. */
  26669. #define LPSPI_SR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TDF_SHIFT)) & LPSPI_SR_TDF_MASK)
  26670. #define LPSPI_SR_RDF_MASK (0x2U)
  26671. #define LPSPI_SR_RDF_SHIFT (1U)
  26672. /*! RDF - Receive Data Flag
  26673. * 0b0..Receive Data is not ready
  26674. * 0b1..Receive data is ready
  26675. */
  26676. #define LPSPI_SR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_RDF_SHIFT)) & LPSPI_SR_RDF_MASK)
  26677. #define LPSPI_SR_WCF_MASK (0x100U)
  26678. #define LPSPI_SR_WCF_SHIFT (8U)
  26679. /*! WCF - Word Complete Flag
  26680. * 0b0..Transfer of a received word has not yet completed
  26681. * 0b1..Transfer of a received word has completed
  26682. */
  26683. #define LPSPI_SR_WCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_WCF_SHIFT)) & LPSPI_SR_WCF_MASK)
  26684. #define LPSPI_SR_FCF_MASK (0x200U)
  26685. #define LPSPI_SR_FCF_SHIFT (9U)
  26686. /*! FCF - Frame Complete Flag
  26687. * 0b0..Frame transfer has not completed
  26688. * 0b1..Frame transfer has completed
  26689. */
  26690. #define LPSPI_SR_FCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_FCF_SHIFT)) & LPSPI_SR_FCF_MASK)
  26691. #define LPSPI_SR_TCF_MASK (0x400U)
  26692. #define LPSPI_SR_TCF_SHIFT (10U)
  26693. /*! TCF - Transfer Complete Flag
  26694. * 0b0..All transfers have not completed
  26695. * 0b1..All transfers have completed
  26696. */
  26697. #define LPSPI_SR_TCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TCF_SHIFT)) & LPSPI_SR_TCF_MASK)
  26698. #define LPSPI_SR_TEF_MASK (0x800U)
  26699. #define LPSPI_SR_TEF_SHIFT (11U)
  26700. /*! TEF - Transmit Error Flag
  26701. * 0b0..Transmit FIFO underrun has not occurred
  26702. * 0b1..Transmit FIFO underrun has occurred
  26703. */
  26704. #define LPSPI_SR_TEF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TEF_SHIFT)) & LPSPI_SR_TEF_MASK)
  26705. #define LPSPI_SR_REF_MASK (0x1000U)
  26706. #define LPSPI_SR_REF_SHIFT (12U)
  26707. /*! REF - Receive Error Flag
  26708. * 0b0..Receive FIFO has not overflowed
  26709. * 0b1..Receive FIFO has overflowed
  26710. */
  26711. #define LPSPI_SR_REF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_REF_SHIFT)) & LPSPI_SR_REF_MASK)
  26712. #define LPSPI_SR_DMF_MASK (0x2000U)
  26713. #define LPSPI_SR_DMF_SHIFT (13U)
  26714. /*! DMF - Data Match Flag
  26715. * 0b0..Have not received matching data
  26716. * 0b1..Have received matching data
  26717. */
  26718. #define LPSPI_SR_DMF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_DMF_SHIFT)) & LPSPI_SR_DMF_MASK)
  26719. #define LPSPI_SR_MBF_MASK (0x1000000U)
  26720. #define LPSPI_SR_MBF_SHIFT (24U)
  26721. /*! MBF - Module Busy Flag
  26722. * 0b0..LPSPI is idle
  26723. * 0b1..LPSPI is busy
  26724. */
  26725. #define LPSPI_SR_MBF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_MBF_SHIFT)) & LPSPI_SR_MBF_MASK)
  26726. /*! @} */
  26727. /*! @name IER - Interrupt Enable Register */
  26728. /*! @{ */
  26729. #define LPSPI_IER_TDIE_MASK (0x1U)
  26730. #define LPSPI_IER_TDIE_SHIFT (0U)
  26731. /*! TDIE - Transmit Data Interrupt Enable
  26732. * 0b0..Disabled
  26733. * 0b1..Enabled
  26734. */
  26735. #define LPSPI_IER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TDIE_SHIFT)) & LPSPI_IER_TDIE_MASK)
  26736. #define LPSPI_IER_RDIE_MASK (0x2U)
  26737. #define LPSPI_IER_RDIE_SHIFT (1U)
  26738. /*! RDIE - Receive Data Interrupt Enable
  26739. * 0b0..Disabled
  26740. * 0b1..Enabled
  26741. */
  26742. #define LPSPI_IER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_RDIE_SHIFT)) & LPSPI_IER_RDIE_MASK)
  26743. #define LPSPI_IER_WCIE_MASK (0x100U)
  26744. #define LPSPI_IER_WCIE_SHIFT (8U)
  26745. /*! WCIE - Word Complete Interrupt Enable
  26746. * 0b0..Disabled
  26747. * 0b1..Enabled
  26748. */
  26749. #define LPSPI_IER_WCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_WCIE_SHIFT)) & LPSPI_IER_WCIE_MASK)
  26750. #define LPSPI_IER_FCIE_MASK (0x200U)
  26751. #define LPSPI_IER_FCIE_SHIFT (9U)
  26752. /*! FCIE - Frame Complete Interrupt Enable
  26753. * 0b0..Disabled
  26754. * 0b1..Enabled
  26755. */
  26756. #define LPSPI_IER_FCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_FCIE_SHIFT)) & LPSPI_IER_FCIE_MASK)
  26757. #define LPSPI_IER_TCIE_MASK (0x400U)
  26758. #define LPSPI_IER_TCIE_SHIFT (10U)
  26759. /*! TCIE - Transfer Complete Interrupt Enable
  26760. * 0b0..Disabled
  26761. * 0b1..Enabled
  26762. */
  26763. #define LPSPI_IER_TCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TCIE_SHIFT)) & LPSPI_IER_TCIE_MASK)
  26764. #define LPSPI_IER_TEIE_MASK (0x800U)
  26765. #define LPSPI_IER_TEIE_SHIFT (11U)
  26766. /*! TEIE - Transmit Error Interrupt Enable
  26767. * 0b0..Disabled
  26768. * 0b1..Enabled
  26769. */
  26770. #define LPSPI_IER_TEIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TEIE_SHIFT)) & LPSPI_IER_TEIE_MASK)
  26771. #define LPSPI_IER_REIE_MASK (0x1000U)
  26772. #define LPSPI_IER_REIE_SHIFT (12U)
  26773. /*! REIE - Receive Error Interrupt Enable
  26774. * 0b0..Disabled
  26775. * 0b1..Enabled
  26776. */
  26777. #define LPSPI_IER_REIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_REIE_SHIFT)) & LPSPI_IER_REIE_MASK)
  26778. #define LPSPI_IER_DMIE_MASK (0x2000U)
  26779. #define LPSPI_IER_DMIE_SHIFT (13U)
  26780. /*! DMIE - Data Match Interrupt Enable
  26781. * 0b0..Disabled
  26782. * 0b1..Enabled
  26783. */
  26784. #define LPSPI_IER_DMIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_DMIE_SHIFT)) & LPSPI_IER_DMIE_MASK)
  26785. /*! @} */
  26786. /*! @name DER - DMA Enable Register */
  26787. /*! @{ */
  26788. #define LPSPI_DER_TDDE_MASK (0x1U)
  26789. #define LPSPI_DER_TDDE_SHIFT (0U)
  26790. /*! TDDE - Transmit Data DMA Enable
  26791. * 0b0..DMA request is disabled
  26792. * 0b1..DMA request is enabled
  26793. */
  26794. #define LPSPI_DER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DER_TDDE_SHIFT)) & LPSPI_DER_TDDE_MASK)
  26795. #define LPSPI_DER_RDDE_MASK (0x2U)
  26796. #define LPSPI_DER_RDDE_SHIFT (1U)
  26797. /*! RDDE - Receive Data DMA Enable
  26798. * 0b0..DMA request is disabled
  26799. * 0b1..DMA request is enabled
  26800. */
  26801. #define LPSPI_DER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DER_RDDE_SHIFT)) & LPSPI_DER_RDDE_MASK)
  26802. /*! @} */
  26803. /*! @name CFGR0 - Configuration Register 0 */
  26804. /*! @{ */
  26805. #define LPSPI_CFGR0_HREN_MASK (0x1U)
  26806. #define LPSPI_CFGR0_HREN_SHIFT (0U)
  26807. /*! HREN - Host Request Enable
  26808. * 0b0..Host request is disabled
  26809. * 0b1..Host request is enabled
  26810. */
  26811. #define LPSPI_CFGR0_HREN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_HREN_SHIFT)) & LPSPI_CFGR0_HREN_MASK)
  26812. #define LPSPI_CFGR0_HRPOL_MASK (0x2U)
  26813. #define LPSPI_CFGR0_HRPOL_SHIFT (1U)
  26814. /*! HRPOL - Host Request Polarity
  26815. * 0b0..Active low
  26816. * 0b1..Active high
  26817. */
  26818. #define LPSPI_CFGR0_HRPOL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_HRPOL_SHIFT)) & LPSPI_CFGR0_HRPOL_MASK)
  26819. #define LPSPI_CFGR0_HRSEL_MASK (0x4U)
  26820. #define LPSPI_CFGR0_HRSEL_SHIFT (2U)
  26821. /*! HRSEL - Host Request Select
  26822. * 0b0..Host request input is the LPSPI_HREQ pin
  26823. * 0b1..Host request input is the input trigger
  26824. */
  26825. #define LPSPI_CFGR0_HRSEL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_HRSEL_SHIFT)) & LPSPI_CFGR0_HRSEL_MASK)
  26826. #define LPSPI_CFGR0_CIRFIFO_MASK (0x100U)
  26827. #define LPSPI_CFGR0_CIRFIFO_SHIFT (8U)
  26828. /*! CIRFIFO - Circular FIFO Enable
  26829. * 0b0..Circular FIFO is disabled
  26830. * 0b1..Circular FIFO is enabled
  26831. */
  26832. #define LPSPI_CFGR0_CIRFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_CIRFIFO_SHIFT)) & LPSPI_CFGR0_CIRFIFO_MASK)
  26833. #define LPSPI_CFGR0_RDMO_MASK (0x200U)
  26834. #define LPSPI_CFGR0_RDMO_SHIFT (9U)
  26835. /*! RDMO - Receive Data Match Only
  26836. * 0b0..Received data is stored in the receive FIFO as in normal operations
  26837. * 0b1..Received data is discarded unless the Data Match Flag (DMF) is set
  26838. */
  26839. #define LPSPI_CFGR0_RDMO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_RDMO_SHIFT)) & LPSPI_CFGR0_RDMO_MASK)
  26840. /*! @} */
  26841. /*! @name CFGR1 - Configuration Register 1 */
  26842. /*! @{ */
  26843. #define LPSPI_CFGR1_MASTER_MASK (0x1U)
  26844. #define LPSPI_CFGR1_MASTER_SHIFT (0U)
  26845. /*! MASTER - Master Mode
  26846. * 0b0..Slave mode
  26847. * 0b1..Master mode
  26848. */
  26849. #define LPSPI_CFGR1_MASTER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_MASTER_SHIFT)) & LPSPI_CFGR1_MASTER_MASK)
  26850. #define LPSPI_CFGR1_SAMPLE_MASK (0x2U)
  26851. #define LPSPI_CFGR1_SAMPLE_SHIFT (1U)
  26852. /*! SAMPLE - Sample Point
  26853. * 0b0..Input data is sampled on SCK edge
  26854. * 0b1..Input data is sampled on delayed SCK edge
  26855. */
  26856. #define LPSPI_CFGR1_SAMPLE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_SAMPLE_SHIFT)) & LPSPI_CFGR1_SAMPLE_MASK)
  26857. #define LPSPI_CFGR1_AUTOPCS_MASK (0x4U)
  26858. #define LPSPI_CFGR1_AUTOPCS_SHIFT (2U)
  26859. /*! AUTOPCS - Automatic PCS
  26860. * 0b0..Automatic PCS generation is disabled
  26861. * 0b1..Automatic PCS generation is enabled
  26862. */
  26863. #define LPSPI_CFGR1_AUTOPCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_AUTOPCS_SHIFT)) & LPSPI_CFGR1_AUTOPCS_MASK)
  26864. #define LPSPI_CFGR1_NOSTALL_MASK (0x8U)
  26865. #define LPSPI_CFGR1_NOSTALL_SHIFT (3U)
  26866. /*! NOSTALL - No Stall
  26867. * 0b0..Transfers will stall when the transmit FIFO is empty or the receive FIFO is full
  26868. * 0b1..Transfers will not stall, allowing transmit FIFO underruns or receive FIFO overruns to occur
  26869. */
  26870. #define LPSPI_CFGR1_NOSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_NOSTALL_SHIFT)) & LPSPI_CFGR1_NOSTALL_MASK)
  26871. #define LPSPI_CFGR1_PCSPOL_MASK (0xF00U)
  26872. #define LPSPI_CFGR1_PCSPOL_SHIFT (8U)
  26873. /*! PCSPOL - Peripheral Chip Select Polarity
  26874. * 0b0000..The Peripheral Chip Select pin PCSx is active low
  26875. * 0b0001..The Peripheral Chip Select pin PCSx is active high
  26876. */
  26877. #define LPSPI_CFGR1_PCSPOL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PCSPOL_SHIFT)) & LPSPI_CFGR1_PCSPOL_MASK)
  26878. #define LPSPI_CFGR1_MATCFG_MASK (0x70000U)
  26879. #define LPSPI_CFGR1_MATCFG_SHIFT (16U)
  26880. /*! MATCFG - Match Configuration
  26881. * 0b000..Match is disabled
  26882. * 0b001..Reserved
  26883. * 0b010..010b - Match is enabled, if 1st data word equals MATCH0 OR MATCH1, i.e., (1st data word = MATCH0 + MATCH1)
  26884. * 0b011..011b - Match is enabled, if any data word equals MATCH0 OR MATCH1, i.e., (any data word = MATCH0 + MATCH1)
  26885. * 0b100..100b - Match is enabled, if 1st data word equals MATCH0 AND 2nd data word equals MATCH1, i.e., [(1st
  26886. * data word = MATCH0) * (2nd data word = MATCH1)]
  26887. * 0b101..101b - Match is enabled, if any data word equals MATCH0 AND the next data word equals MATCH1, i.e.,
  26888. * [(any data word = MATCH0) * (next data word = MATCH1)]
  26889. * 0b110..110b - Match is enabled, if (1st data word AND MATCH1) equals (MATCH0 AND MATCH1), i.e., [(1st data word * MATCH1) = (MATCH0 * MATCH1)]
  26890. * 0b111..111b - Match is enabled, if (any data word AND MATCH1) equals (MATCH0 AND MATCH1), i.e., [(any data word * MATCH1) = (MATCH0 * MATCH1)]
  26891. */
  26892. #define LPSPI_CFGR1_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_MATCFG_SHIFT)) & LPSPI_CFGR1_MATCFG_MASK)
  26893. #define LPSPI_CFGR1_PINCFG_MASK (0x3000000U)
  26894. #define LPSPI_CFGR1_PINCFG_SHIFT (24U)
  26895. /*! PINCFG - Pin Configuration
  26896. * 0b00..SIN is used for input data and SOUT is used for output data
  26897. * 0b01..SIN is used for both input and output data
  26898. * 0b10..SOUT is used for both input and output data
  26899. * 0b11..SOUT is used for input data and SIN is used for output data
  26900. */
  26901. #define LPSPI_CFGR1_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PINCFG_SHIFT)) & LPSPI_CFGR1_PINCFG_MASK)
  26902. #define LPSPI_CFGR1_OUTCFG_MASK (0x4000000U)
  26903. #define LPSPI_CFGR1_OUTCFG_SHIFT (26U)
  26904. /*! OUTCFG - Output Config
  26905. * 0b0..Output data retains last value when chip select is negated
  26906. * 0b1..Output data is tristated when chip select is negated
  26907. */
  26908. #define LPSPI_CFGR1_OUTCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_OUTCFG_SHIFT)) & LPSPI_CFGR1_OUTCFG_MASK)
  26909. #define LPSPI_CFGR1_PCSCFG_MASK (0x8000000U)
  26910. #define LPSPI_CFGR1_PCSCFG_SHIFT (27U)
  26911. /*! PCSCFG - Peripheral Chip Select Configuration
  26912. * 0b0..PCS[3:2] are enabled
  26913. * 0b1..PCS[3:2] are disabled
  26914. */
  26915. #define LPSPI_CFGR1_PCSCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PCSCFG_SHIFT)) & LPSPI_CFGR1_PCSCFG_MASK)
  26916. /*! @} */
  26917. /*! @name DMR0 - Data Match Register 0 */
  26918. /*! @{ */
  26919. #define LPSPI_DMR0_MATCH0_MASK (0xFFFFFFFFU)
  26920. #define LPSPI_DMR0_MATCH0_SHIFT (0U)
  26921. /*! MATCH0 - Match 0 Value
  26922. */
  26923. #define LPSPI_DMR0_MATCH0(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DMR0_MATCH0_SHIFT)) & LPSPI_DMR0_MATCH0_MASK)
  26924. /*! @} */
  26925. /*! @name DMR1 - Data Match Register 1 */
  26926. /*! @{ */
  26927. #define LPSPI_DMR1_MATCH1_MASK (0xFFFFFFFFU)
  26928. #define LPSPI_DMR1_MATCH1_SHIFT (0U)
  26929. /*! MATCH1 - Match 1 Value
  26930. */
  26931. #define LPSPI_DMR1_MATCH1(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DMR1_MATCH1_SHIFT)) & LPSPI_DMR1_MATCH1_MASK)
  26932. /*! @} */
  26933. /*! @name CCR - Clock Configuration Register */
  26934. /*! @{ */
  26935. #define LPSPI_CCR_SCKDIV_MASK (0xFFU)
  26936. #define LPSPI_CCR_SCKDIV_SHIFT (0U)
  26937. /*! SCKDIV - SCK Divider
  26938. */
  26939. #define LPSPI_CCR_SCKDIV(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_SCKDIV_SHIFT)) & LPSPI_CCR_SCKDIV_MASK)
  26940. #define LPSPI_CCR_DBT_MASK (0xFF00U)
  26941. #define LPSPI_CCR_DBT_SHIFT (8U)
  26942. /*! DBT - Delay Between Transfers
  26943. */
  26944. #define LPSPI_CCR_DBT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_DBT_SHIFT)) & LPSPI_CCR_DBT_MASK)
  26945. #define LPSPI_CCR_PCSSCK_MASK (0xFF0000U)
  26946. #define LPSPI_CCR_PCSSCK_SHIFT (16U)
  26947. /*! PCSSCK - PCS-to-SCK Delay
  26948. */
  26949. #define LPSPI_CCR_PCSSCK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_PCSSCK_SHIFT)) & LPSPI_CCR_PCSSCK_MASK)
  26950. #define LPSPI_CCR_SCKPCS_MASK (0xFF000000U)
  26951. #define LPSPI_CCR_SCKPCS_SHIFT (24U)
  26952. /*! SCKPCS - SCK-to-PCS Delay
  26953. */
  26954. #define LPSPI_CCR_SCKPCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_SCKPCS_SHIFT)) & LPSPI_CCR_SCKPCS_MASK)
  26955. /*! @} */
  26956. /*! @name FCR - FIFO Control Register */
  26957. /*! @{ */
  26958. #define LPSPI_FCR_TXWATER_MASK (0xFU)
  26959. #define LPSPI_FCR_TXWATER_SHIFT (0U)
  26960. /*! TXWATER - Transmit FIFO Watermark
  26961. */
  26962. #define LPSPI_FCR_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FCR_TXWATER_SHIFT)) & LPSPI_FCR_TXWATER_MASK)
  26963. #define LPSPI_FCR_RXWATER_MASK (0xF0000U)
  26964. #define LPSPI_FCR_RXWATER_SHIFT (16U)
  26965. /*! RXWATER - Receive FIFO Watermark
  26966. */
  26967. #define LPSPI_FCR_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FCR_RXWATER_SHIFT)) & LPSPI_FCR_RXWATER_MASK)
  26968. /*! @} */
  26969. /*! @name FSR - FIFO Status Register */
  26970. /*! @{ */
  26971. #define LPSPI_FSR_TXCOUNT_MASK (0x1FU)
  26972. #define LPSPI_FSR_TXCOUNT_SHIFT (0U)
  26973. /*! TXCOUNT - Transmit FIFO Count
  26974. */
  26975. #define LPSPI_FSR_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FSR_TXCOUNT_SHIFT)) & LPSPI_FSR_TXCOUNT_MASK)
  26976. #define LPSPI_FSR_RXCOUNT_MASK (0x1F0000U)
  26977. #define LPSPI_FSR_RXCOUNT_SHIFT (16U)
  26978. /*! RXCOUNT - Receive FIFO Count
  26979. */
  26980. #define LPSPI_FSR_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FSR_RXCOUNT_SHIFT)) & LPSPI_FSR_RXCOUNT_MASK)
  26981. /*! @} */
  26982. /*! @name TCR - Transmit Command Register */
  26983. /*! @{ */
  26984. #define LPSPI_TCR_FRAMESZ_MASK (0xFFFU)
  26985. #define LPSPI_TCR_FRAMESZ_SHIFT (0U)
  26986. /*! FRAMESZ - Frame Size
  26987. */
  26988. #define LPSPI_TCR_FRAMESZ(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_FRAMESZ_SHIFT)) & LPSPI_TCR_FRAMESZ_MASK)
  26989. #define LPSPI_TCR_WIDTH_MASK (0x30000U)
  26990. #define LPSPI_TCR_WIDTH_SHIFT (16U)
  26991. /*! WIDTH - Transfer Width
  26992. * 0b00..1 bit transfer
  26993. * 0b01..2 bit transfer
  26994. * 0b10..4 bit transfer
  26995. * 0b11..Reserved
  26996. */
  26997. #define LPSPI_TCR_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_WIDTH_SHIFT)) & LPSPI_TCR_WIDTH_MASK)
  26998. #define LPSPI_TCR_TXMSK_MASK (0x40000U)
  26999. #define LPSPI_TCR_TXMSK_SHIFT (18U)
  27000. /*! TXMSK - Transmit Data Mask
  27001. * 0b0..Normal transfer
  27002. * 0b1..Mask transmit data
  27003. */
  27004. #define LPSPI_TCR_TXMSK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_TXMSK_SHIFT)) & LPSPI_TCR_TXMSK_MASK)
  27005. #define LPSPI_TCR_RXMSK_MASK (0x80000U)
  27006. #define LPSPI_TCR_RXMSK_SHIFT (19U)
  27007. /*! RXMSK - Receive Data Mask
  27008. * 0b0..Normal transfer
  27009. * 0b1..Receive data is masked
  27010. */
  27011. #define LPSPI_TCR_RXMSK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_RXMSK_SHIFT)) & LPSPI_TCR_RXMSK_MASK)
  27012. #define LPSPI_TCR_CONTC_MASK (0x100000U)
  27013. #define LPSPI_TCR_CONTC_SHIFT (20U)
  27014. /*! CONTC - Continuing Command
  27015. * 0b0..Command word for start of new transfer
  27016. * 0b1..Command word for continuing transfer
  27017. */
  27018. #define LPSPI_TCR_CONTC(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CONTC_SHIFT)) & LPSPI_TCR_CONTC_MASK)
  27019. #define LPSPI_TCR_CONT_MASK (0x200000U)
  27020. #define LPSPI_TCR_CONT_SHIFT (21U)
  27021. /*! CONT - Continuous Transfer
  27022. * 0b0..Continuous transfer is disabled
  27023. * 0b1..Continuous transfer is enabled
  27024. */
  27025. #define LPSPI_TCR_CONT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CONT_SHIFT)) & LPSPI_TCR_CONT_MASK)
  27026. #define LPSPI_TCR_BYSW_MASK (0x400000U)
  27027. #define LPSPI_TCR_BYSW_SHIFT (22U)
  27028. /*! BYSW - Byte Swap
  27029. * 0b0..Byte swap is disabled
  27030. * 0b1..Byte swap is enabled
  27031. */
  27032. #define LPSPI_TCR_BYSW(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_BYSW_SHIFT)) & LPSPI_TCR_BYSW_MASK)
  27033. #define LPSPI_TCR_LSBF_MASK (0x800000U)
  27034. #define LPSPI_TCR_LSBF_SHIFT (23U)
  27035. /*! LSBF - LSB First
  27036. * 0b0..Data is transferred MSB first
  27037. * 0b1..Data is transferred LSB first
  27038. */
  27039. #define LPSPI_TCR_LSBF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_LSBF_SHIFT)) & LPSPI_TCR_LSBF_MASK)
  27040. #define LPSPI_TCR_PCS_MASK (0x3000000U)
  27041. #define LPSPI_TCR_PCS_SHIFT (24U)
  27042. /*! PCS - Peripheral Chip Select
  27043. * 0b00..Transfer using LPSPI_PCS[0]
  27044. * 0b01..Transfer using LPSPI_PCS[1]
  27045. * 0b10..Transfer using LPSPI_PCS[2]
  27046. * 0b11..Transfer using LPSPI_PCS[3]
  27047. */
  27048. #define LPSPI_TCR_PCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_PCS_SHIFT)) & LPSPI_TCR_PCS_MASK)
  27049. #define LPSPI_TCR_PRESCALE_MASK (0x38000000U)
  27050. #define LPSPI_TCR_PRESCALE_SHIFT (27U)
  27051. /*! PRESCALE - Prescaler Value
  27052. * 0b000..Divide by 1
  27053. * 0b001..Divide by 2
  27054. * 0b010..Divide by 4
  27055. * 0b011..Divide by 8
  27056. * 0b100..Divide by 16
  27057. * 0b101..Divide by 32
  27058. * 0b110..Divide by 64
  27059. * 0b111..Divide by 128
  27060. */
  27061. #define LPSPI_TCR_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_PRESCALE_SHIFT)) & LPSPI_TCR_PRESCALE_MASK)
  27062. #define LPSPI_TCR_CPHA_MASK (0x40000000U)
  27063. #define LPSPI_TCR_CPHA_SHIFT (30U)
  27064. /*! CPHA - Clock Phase
  27065. * 0b0..Data is captured on the leading edge of SCK and changed on the following edge of SCK
  27066. * 0b1..Data is changed on the leading edge of SCK and captured on the following edge of SCK
  27067. */
  27068. #define LPSPI_TCR_CPHA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CPHA_SHIFT)) & LPSPI_TCR_CPHA_MASK)
  27069. #define LPSPI_TCR_CPOL_MASK (0x80000000U)
  27070. #define LPSPI_TCR_CPOL_SHIFT (31U)
  27071. /*! CPOL - Clock Polarity
  27072. * 0b0..The inactive state value of SCK is low
  27073. * 0b1..The inactive state value of SCK is high
  27074. */
  27075. #define LPSPI_TCR_CPOL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CPOL_SHIFT)) & LPSPI_TCR_CPOL_MASK)
  27076. /*! @} */
  27077. /*! @name TDR - Transmit Data Register */
  27078. /*! @{ */
  27079. #define LPSPI_TDR_DATA_MASK (0xFFFFFFFFU)
  27080. #define LPSPI_TDR_DATA_SHIFT (0U)
  27081. /*! DATA - Transmit Data
  27082. */
  27083. #define LPSPI_TDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TDR_DATA_SHIFT)) & LPSPI_TDR_DATA_MASK)
  27084. /*! @} */
  27085. /*! @name RSR - Receive Status Register */
  27086. /*! @{ */
  27087. #define LPSPI_RSR_SOF_MASK (0x1U)
  27088. #define LPSPI_RSR_SOF_SHIFT (0U)
  27089. /*! SOF - Start Of Frame
  27090. * 0b0..Subsequent data word received after LPSPI_PCS assertion
  27091. * 0b1..First data word received after LPSPI_PCS assertion
  27092. */
  27093. #define LPSPI_RSR_SOF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RSR_SOF_SHIFT)) & LPSPI_RSR_SOF_MASK)
  27094. #define LPSPI_RSR_RXEMPTY_MASK (0x2U)
  27095. #define LPSPI_RSR_RXEMPTY_SHIFT (1U)
  27096. /*! RXEMPTY - RX FIFO Empty
  27097. * 0b0..RX FIFO is not empty
  27098. * 0b1..RX FIFO is empty
  27099. */
  27100. #define LPSPI_RSR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RSR_RXEMPTY_SHIFT)) & LPSPI_RSR_RXEMPTY_MASK)
  27101. /*! @} */
  27102. /*! @name RDR - Receive Data Register */
  27103. /*! @{ */
  27104. #define LPSPI_RDR_DATA_MASK (0xFFFFFFFFU)
  27105. #define LPSPI_RDR_DATA_SHIFT (0U)
  27106. /*! DATA - Receive Data
  27107. */
  27108. #define LPSPI_RDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RDR_DATA_SHIFT)) & LPSPI_RDR_DATA_MASK)
  27109. /*! @} */
  27110. /*!
  27111. * @}
  27112. */ /* end of group LPSPI_Register_Masks */
  27113. /* LPSPI - Peripheral instance base addresses */
  27114. /** Peripheral LPSPI1 base address */
  27115. #define LPSPI1_BASE (0x40394000u)
  27116. /** Peripheral LPSPI1 base pointer */
  27117. #define LPSPI1 ((LPSPI_Type *)LPSPI1_BASE)
  27118. /** Peripheral LPSPI2 base address */
  27119. #define LPSPI2_BASE (0x40398000u)
  27120. /** Peripheral LPSPI2 base pointer */
  27121. #define LPSPI2 ((LPSPI_Type *)LPSPI2_BASE)
  27122. /** Peripheral LPSPI3 base address */
  27123. #define LPSPI3_BASE (0x4039C000u)
  27124. /** Peripheral LPSPI3 base pointer */
  27125. #define LPSPI3 ((LPSPI_Type *)LPSPI3_BASE)
  27126. /** Peripheral LPSPI4 base address */
  27127. #define LPSPI4_BASE (0x403A0000u)
  27128. /** Peripheral LPSPI4 base pointer */
  27129. #define LPSPI4 ((LPSPI_Type *)LPSPI4_BASE)
  27130. /** Array initializer of LPSPI peripheral base addresses */
  27131. #define LPSPI_BASE_ADDRS { 0u, LPSPI1_BASE, LPSPI2_BASE, LPSPI3_BASE, LPSPI4_BASE }
  27132. /** Array initializer of LPSPI peripheral base pointers */
  27133. #define LPSPI_BASE_PTRS { (LPSPI_Type *)0u, LPSPI1, LPSPI2, LPSPI3, LPSPI4 }
  27134. /** Interrupt vectors for the LPSPI peripheral type */
  27135. #define LPSPI_IRQS { NotAvail_IRQn, LPSPI1_IRQn, LPSPI2_IRQn, LPSPI3_IRQn, LPSPI4_IRQn }
  27136. /*!
  27137. * @}
  27138. */ /* end of group LPSPI_Peripheral_Access_Layer */
  27139. /* ----------------------------------------------------------------------------
  27140. -- LPUART Peripheral Access Layer
  27141. ---------------------------------------------------------------------------- */
  27142. /*!
  27143. * @addtogroup LPUART_Peripheral_Access_Layer LPUART Peripheral Access Layer
  27144. * @{
  27145. */
  27146. /** LPUART - Register Layout Typedef */
  27147. typedef struct {
  27148. __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */
  27149. __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
  27150. __IO uint32_t GLOBAL; /**< LPUART Global Register, offset: 0x8 */
  27151. __IO uint32_t PINCFG; /**< LPUART Pin Configuration Register, offset: 0xC */
  27152. __IO uint32_t BAUD; /**< LPUART Baud Rate Register, offset: 0x10 */
  27153. __IO uint32_t STAT; /**< LPUART Status Register, offset: 0x14 */
  27154. __IO uint32_t CTRL; /**< LPUART Control Register, offset: 0x18 */
  27155. __IO uint32_t DATA; /**< LPUART Data Register, offset: 0x1C */
  27156. __IO uint32_t MATCH; /**< LPUART Match Address Register, offset: 0x20 */
  27157. __IO uint32_t MODIR; /**< LPUART Modem IrDA Register, offset: 0x24 */
  27158. __IO uint32_t FIFO; /**< LPUART FIFO Register, offset: 0x28 */
  27159. __IO uint32_t WATER; /**< LPUART Watermark Register, offset: 0x2C */
  27160. } LPUART_Type;
  27161. /* ----------------------------------------------------------------------------
  27162. -- LPUART Register Masks
  27163. ---------------------------------------------------------------------------- */
  27164. /*!
  27165. * @addtogroup LPUART_Register_Masks LPUART Register Masks
  27166. * @{
  27167. */
  27168. /*! @name VERID - Version ID Register */
  27169. /*! @{ */
  27170. #define LPUART_VERID_FEATURE_MASK (0xFFFFU)
  27171. #define LPUART_VERID_FEATURE_SHIFT (0U)
  27172. /*! FEATURE - Feature Identification Number
  27173. * 0b0000000000000001..Standard feature set.
  27174. * 0b0000000000000011..Standard feature set with MODEM/IrDA support.
  27175. */
  27176. #define LPUART_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_FEATURE_SHIFT)) & LPUART_VERID_FEATURE_MASK)
  27177. #define LPUART_VERID_MINOR_MASK (0xFF0000U)
  27178. #define LPUART_VERID_MINOR_SHIFT (16U)
  27179. /*! MINOR - Minor Version Number
  27180. */
  27181. #define LPUART_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_MINOR_SHIFT)) & LPUART_VERID_MINOR_MASK)
  27182. #define LPUART_VERID_MAJOR_MASK (0xFF000000U)
  27183. #define LPUART_VERID_MAJOR_SHIFT (24U)
  27184. /*! MAJOR - Major Version Number
  27185. */
  27186. #define LPUART_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_MAJOR_SHIFT)) & LPUART_VERID_MAJOR_MASK)
  27187. /*! @} */
  27188. /*! @name PARAM - Parameter Register */
  27189. /*! @{ */
  27190. #define LPUART_PARAM_TXFIFO_MASK (0xFFU)
  27191. #define LPUART_PARAM_TXFIFO_SHIFT (0U)
  27192. /*! TXFIFO - Transmit FIFO Size
  27193. */
  27194. #define LPUART_PARAM_TXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PARAM_TXFIFO_SHIFT)) & LPUART_PARAM_TXFIFO_MASK)
  27195. #define LPUART_PARAM_RXFIFO_MASK (0xFF00U)
  27196. #define LPUART_PARAM_RXFIFO_SHIFT (8U)
  27197. /*! RXFIFO - Receive FIFO Size
  27198. */
  27199. #define LPUART_PARAM_RXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PARAM_RXFIFO_SHIFT)) & LPUART_PARAM_RXFIFO_MASK)
  27200. /*! @} */
  27201. /*! @name GLOBAL - LPUART Global Register */
  27202. /*! @{ */
  27203. #define LPUART_GLOBAL_RST_MASK (0x2U)
  27204. #define LPUART_GLOBAL_RST_SHIFT (1U)
  27205. /*! RST - Software Reset
  27206. * 0b0..Module is not reset.
  27207. * 0b1..Module is reset.
  27208. */
  27209. #define LPUART_GLOBAL_RST(x) (((uint32_t)(((uint32_t)(x)) << LPUART_GLOBAL_RST_SHIFT)) & LPUART_GLOBAL_RST_MASK)
  27210. /*! @} */
  27211. /*! @name PINCFG - LPUART Pin Configuration Register */
  27212. /*! @{ */
  27213. #define LPUART_PINCFG_TRGSEL_MASK (0x3U)
  27214. #define LPUART_PINCFG_TRGSEL_SHIFT (0U)
  27215. /*! TRGSEL - Trigger Select
  27216. * 0b00..Input trigger is disabled.
  27217. * 0b01..Input trigger is used instead of RXD pin input.
  27218. * 0b10..Input trigger is used instead of CTS_B pin input.
  27219. * 0b11..Input trigger is used to modulate the TXD pin output. The TXD pin output (after TXINV configuration) is ANDed with the input trigger.
  27220. */
  27221. #define LPUART_PINCFG_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PINCFG_TRGSEL_SHIFT)) & LPUART_PINCFG_TRGSEL_MASK)
  27222. /*! @} */
  27223. /*! @name BAUD - LPUART Baud Rate Register */
  27224. /*! @{ */
  27225. #define LPUART_BAUD_SBR_MASK (0x1FFFU)
  27226. #define LPUART_BAUD_SBR_SHIFT (0U)
  27227. /*! SBR - Baud Rate Modulo Divisor.
  27228. */
  27229. #define LPUART_BAUD_SBR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_SBR_SHIFT)) & LPUART_BAUD_SBR_MASK)
  27230. #define LPUART_BAUD_SBNS_MASK (0x2000U)
  27231. #define LPUART_BAUD_SBNS_SHIFT (13U)
  27232. /*! SBNS - Stop Bit Number Select
  27233. * 0b0..One stop bit.
  27234. * 0b1..Two stop bits.
  27235. */
  27236. #define LPUART_BAUD_SBNS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_SBNS_SHIFT)) & LPUART_BAUD_SBNS_MASK)
  27237. #define LPUART_BAUD_RXEDGIE_MASK (0x4000U)
  27238. #define LPUART_BAUD_RXEDGIE_SHIFT (14U)
  27239. /*! RXEDGIE - RX Input Active Edge Interrupt Enable
  27240. * 0b0..Hardware interrupts from STAT[RXEDGIF] are disabled.
  27241. * 0b1..Hardware interrupt is requested when STAT[RXEDGIF] flag is 1.
  27242. */
  27243. #define LPUART_BAUD_RXEDGIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RXEDGIE_SHIFT)) & LPUART_BAUD_RXEDGIE_MASK)
  27244. #define LPUART_BAUD_LBKDIE_MASK (0x8000U)
  27245. #define LPUART_BAUD_LBKDIE_SHIFT (15U)
  27246. /*! LBKDIE - LIN Break Detect Interrupt Enable
  27247. * 0b0..Hardware interrupts from STAT[LBKDIF] flag are disabled (use polling).
  27248. * 0b1..Hardware interrupt requested when STAT[LBKDIF] flag is 1.
  27249. */
  27250. #define LPUART_BAUD_LBKDIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_LBKDIE_SHIFT)) & LPUART_BAUD_LBKDIE_MASK)
  27251. #define LPUART_BAUD_RESYNCDIS_MASK (0x10000U)
  27252. #define LPUART_BAUD_RESYNCDIS_SHIFT (16U)
  27253. /*! RESYNCDIS - Resynchronization Disable
  27254. * 0b0..Resynchronization during received data word is supported
  27255. * 0b1..Resynchronization during received data word is disabled
  27256. */
  27257. #define LPUART_BAUD_RESYNCDIS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RESYNCDIS_SHIFT)) & LPUART_BAUD_RESYNCDIS_MASK)
  27258. #define LPUART_BAUD_BOTHEDGE_MASK (0x20000U)
  27259. #define LPUART_BAUD_BOTHEDGE_SHIFT (17U)
  27260. /*! BOTHEDGE - Both Edge Sampling
  27261. * 0b0..Receiver samples input data using the rising edge of the baud rate clock.
  27262. * 0b1..Receiver samples input data using the rising and falling edge of the baud rate clock.
  27263. */
  27264. #define LPUART_BAUD_BOTHEDGE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_BOTHEDGE_SHIFT)) & LPUART_BAUD_BOTHEDGE_MASK)
  27265. #define LPUART_BAUD_MATCFG_MASK (0xC0000U)
  27266. #define LPUART_BAUD_MATCFG_SHIFT (18U)
  27267. /*! MATCFG - Match Configuration
  27268. * 0b00..Address Match Wakeup
  27269. * 0b01..Idle Match Wakeup
  27270. * 0b10..Match On and Match Off
  27271. * 0b11..Enables RWU on Data Match and Match On/Off for transmitter CTS input
  27272. */
  27273. #define LPUART_BAUD_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MATCFG_SHIFT)) & LPUART_BAUD_MATCFG_MASK)
  27274. #define LPUART_BAUD_RIDMAE_MASK (0x100000U)
  27275. #define LPUART_BAUD_RIDMAE_SHIFT (20U)
  27276. /*! RIDMAE - Receiver Idle DMA Enable
  27277. * 0b0..DMA request disabled.
  27278. * 0b1..DMA request enabled.
  27279. */
  27280. #define LPUART_BAUD_RIDMAE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RIDMAE_SHIFT)) & LPUART_BAUD_RIDMAE_MASK)
  27281. #define LPUART_BAUD_RDMAE_MASK (0x200000U)
  27282. #define LPUART_BAUD_RDMAE_SHIFT (21U)
  27283. /*! RDMAE - Receiver Full DMA Enable
  27284. * 0b0..DMA request disabled.
  27285. * 0b1..DMA request enabled.
  27286. */
  27287. #define LPUART_BAUD_RDMAE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RDMAE_SHIFT)) & LPUART_BAUD_RDMAE_MASK)
  27288. #define LPUART_BAUD_TDMAE_MASK (0x800000U)
  27289. #define LPUART_BAUD_TDMAE_SHIFT (23U)
  27290. /*! TDMAE - Transmitter DMA Enable
  27291. * 0b0..DMA request disabled.
  27292. * 0b1..DMA request enabled.
  27293. */
  27294. #define LPUART_BAUD_TDMAE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_TDMAE_SHIFT)) & LPUART_BAUD_TDMAE_MASK)
  27295. #define LPUART_BAUD_OSR_MASK (0x1F000000U)
  27296. #define LPUART_BAUD_OSR_SHIFT (24U)
  27297. /*! OSR - Oversampling Ratio
  27298. * 0b00000..Writing 0 to this field will result in an oversampling ratio of 16
  27299. * 0b00001..Reserved
  27300. * 0b00010..Reserved
  27301. * 0b00011..Oversampling ratio of 4, requires BOTHEDGE to be set.
  27302. * 0b00100..Oversampling ratio of 5, requires BOTHEDGE to be set.
  27303. * 0b00101..Oversampling ratio of 6, requires BOTHEDGE to be set.
  27304. * 0b00110..Oversampling ratio of 7, requires BOTHEDGE to be set.
  27305. * 0b00111..Oversampling ratio of 8.
  27306. * 0b01000..Oversampling ratio of 9.
  27307. * 0b01001..Oversampling ratio of 10.
  27308. * 0b01010..Oversampling ratio of 11.
  27309. * 0b01011..Oversampling ratio of 12.
  27310. * 0b01100..Oversampling ratio of 13.
  27311. * 0b01101..Oversampling ratio of 14.
  27312. * 0b01110..Oversampling ratio of 15.
  27313. * 0b01111..Oversampling ratio of 16.
  27314. * 0b10000..Oversampling ratio of 17.
  27315. * 0b10001..Oversampling ratio of 18.
  27316. * 0b10010..Oversampling ratio of 19.
  27317. * 0b10011..Oversampling ratio of 20.
  27318. * 0b10100..Oversampling ratio of 21.
  27319. * 0b10101..Oversampling ratio of 22.
  27320. * 0b10110..Oversampling ratio of 23.
  27321. * 0b10111..Oversampling ratio of 24.
  27322. * 0b11000..Oversampling ratio of 25.
  27323. * 0b11001..Oversampling ratio of 26.
  27324. * 0b11010..Oversampling ratio of 27.
  27325. * 0b11011..Oversampling ratio of 28.
  27326. * 0b11100..Oversampling ratio of 29.
  27327. * 0b11101..Oversampling ratio of 30.
  27328. * 0b11110..Oversampling ratio of 31.
  27329. * 0b11111..Oversampling ratio of 32.
  27330. */
  27331. #define LPUART_BAUD_OSR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_OSR_SHIFT)) & LPUART_BAUD_OSR_MASK)
  27332. #define LPUART_BAUD_M10_MASK (0x20000000U)
  27333. #define LPUART_BAUD_M10_SHIFT (29U)
  27334. /*! M10 - 10-bit Mode select
  27335. * 0b0..Receiver and transmitter use 7-bit to 9-bit data characters.
  27336. * 0b1..Receiver and transmitter use 10-bit data characters.
  27337. */
  27338. #define LPUART_BAUD_M10(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_M10_SHIFT)) & LPUART_BAUD_M10_MASK)
  27339. #define LPUART_BAUD_MAEN2_MASK (0x40000000U)
  27340. #define LPUART_BAUD_MAEN2_SHIFT (30U)
  27341. /*! MAEN2 - Match Address Mode Enable 2
  27342. * 0b0..Normal operation.
  27343. * 0b1..Enables automatic address matching or data matching mode for MATCH[MA2].
  27344. */
  27345. #define LPUART_BAUD_MAEN2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MAEN2_SHIFT)) & LPUART_BAUD_MAEN2_MASK)
  27346. #define LPUART_BAUD_MAEN1_MASK (0x80000000U)
  27347. #define LPUART_BAUD_MAEN1_SHIFT (31U)
  27348. /*! MAEN1 - Match Address Mode Enable 1
  27349. * 0b0..Normal operation.
  27350. * 0b1..Enables automatic address matching or data matching mode for MATCH[MA1].
  27351. */
  27352. #define LPUART_BAUD_MAEN1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MAEN1_SHIFT)) & LPUART_BAUD_MAEN1_MASK)
  27353. /*! @} */
  27354. /*! @name STAT - LPUART Status Register */
  27355. /*! @{ */
  27356. #define LPUART_STAT_MA2F_MASK (0x4000U)
  27357. #define LPUART_STAT_MA2F_SHIFT (14U)
  27358. /*! MA2F - Match 2 Flag
  27359. * 0b0..Received data is not equal to MA2
  27360. * 0b1..Received data is equal to MA2
  27361. */
  27362. #define LPUART_STAT_MA2F(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MA2F_SHIFT)) & LPUART_STAT_MA2F_MASK)
  27363. #define LPUART_STAT_MA1F_MASK (0x8000U)
  27364. #define LPUART_STAT_MA1F_SHIFT (15U)
  27365. /*! MA1F - Match 1 Flag
  27366. * 0b0..Received data is not equal to MA1
  27367. * 0b1..Received data is equal to MA1
  27368. */
  27369. #define LPUART_STAT_MA1F(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MA1F_SHIFT)) & LPUART_STAT_MA1F_MASK)
  27370. #define LPUART_STAT_PF_MASK (0x10000U)
  27371. #define LPUART_STAT_PF_SHIFT (16U)
  27372. /*! PF - Parity Error Flag
  27373. * 0b0..No parity error.
  27374. * 0b1..Parity error.
  27375. */
  27376. #define LPUART_STAT_PF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_PF_SHIFT)) & LPUART_STAT_PF_MASK)
  27377. #define LPUART_STAT_FE_MASK (0x20000U)
  27378. #define LPUART_STAT_FE_SHIFT (17U)
  27379. /*! FE - Framing Error Flag
  27380. * 0b0..No framing error detected. This does not guarantee the framing is correct.
  27381. * 0b1..Framing error.
  27382. */
  27383. #define LPUART_STAT_FE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_FE_SHIFT)) & LPUART_STAT_FE_MASK)
  27384. #define LPUART_STAT_NF_MASK (0x40000U)
  27385. #define LPUART_STAT_NF_SHIFT (18U)
  27386. /*! NF - Noise Flag
  27387. * 0b0..No noise detected.
  27388. * 0b1..Noise detected in the received character in the DATA register.
  27389. */
  27390. #define LPUART_STAT_NF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_NF_SHIFT)) & LPUART_STAT_NF_MASK)
  27391. #define LPUART_STAT_OR_MASK (0x80000U)
  27392. #define LPUART_STAT_OR_SHIFT (19U)
  27393. /*! OR - Receiver Overrun Flag
  27394. * 0b0..No overrun.
  27395. * 0b1..Receive overrun (new LPUART data lost).
  27396. */
  27397. #define LPUART_STAT_OR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_OR_SHIFT)) & LPUART_STAT_OR_MASK)
  27398. #define LPUART_STAT_IDLE_MASK (0x100000U)
  27399. #define LPUART_STAT_IDLE_SHIFT (20U)
  27400. /*! IDLE - Idle Line Flag
  27401. * 0b0..No idle line detected.
  27402. * 0b1..Idle line was detected.
  27403. */
  27404. #define LPUART_STAT_IDLE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_IDLE_SHIFT)) & LPUART_STAT_IDLE_MASK)
  27405. #define LPUART_STAT_RDRF_MASK (0x200000U)
  27406. #define LPUART_STAT_RDRF_SHIFT (21U)
  27407. /*! RDRF - Receive Data Register Full Flag
  27408. * 0b0..Receive data buffer empty.
  27409. * 0b1..Receive data buffer full.
  27410. */
  27411. #define LPUART_STAT_RDRF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RDRF_SHIFT)) & LPUART_STAT_RDRF_MASK)
  27412. #define LPUART_STAT_TC_MASK (0x400000U)
  27413. #define LPUART_STAT_TC_SHIFT (22U)
  27414. /*! TC - Transmission Complete Flag
  27415. * 0b0..Transmitter active (sending data, a preamble, or a break).
  27416. * 0b1..Transmitter idle (transmission activity complete).
  27417. */
  27418. #define LPUART_STAT_TC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_TC_SHIFT)) & LPUART_STAT_TC_MASK)
  27419. #define LPUART_STAT_TDRE_MASK (0x800000U)
  27420. #define LPUART_STAT_TDRE_SHIFT (23U)
  27421. /*! TDRE - Transmit Data Register Empty Flag
  27422. * 0b0..Transmit data buffer full.
  27423. * 0b1..Transmit data buffer empty.
  27424. */
  27425. #define LPUART_STAT_TDRE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_TDRE_SHIFT)) & LPUART_STAT_TDRE_MASK)
  27426. #define LPUART_STAT_RAF_MASK (0x1000000U)
  27427. #define LPUART_STAT_RAF_SHIFT (24U)
  27428. /*! RAF - Receiver Active Flag
  27429. * 0b0..LPUART receiver idle waiting for a start bit.
  27430. * 0b1..LPUART receiver active (RXD input not idle).
  27431. */
  27432. #define LPUART_STAT_RAF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RAF_SHIFT)) & LPUART_STAT_RAF_MASK)
  27433. #define LPUART_STAT_LBKDE_MASK (0x2000000U)
  27434. #define LPUART_STAT_LBKDE_SHIFT (25U)
  27435. /*! LBKDE - LIN Break Detection Enable
  27436. * 0b0..LIN break detect is disabled, normal break character can be detected.
  27437. * 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).
  27438. */
  27439. #define LPUART_STAT_LBKDE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_LBKDE_SHIFT)) & LPUART_STAT_LBKDE_MASK)
  27440. #define LPUART_STAT_BRK13_MASK (0x4000000U)
  27441. #define LPUART_STAT_BRK13_SHIFT (26U)
  27442. /*! BRK13 - Break Character Generation Length
  27443. * 0b0..Break character is transmitted with length of 9 to 13 bit times.
  27444. * 0b1..Break character is transmitted with length of 12 to 15 bit times.
  27445. */
  27446. #define LPUART_STAT_BRK13(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_BRK13_SHIFT)) & LPUART_STAT_BRK13_MASK)
  27447. #define LPUART_STAT_RWUID_MASK (0x8000000U)
  27448. #define LPUART_STAT_RWUID_SHIFT (27U)
  27449. /*! RWUID - Receive Wake Up Idle Detect
  27450. * 0b0..During receive standby state (RWU = 1), the IDLE bit does not get set upon detection of an idle
  27451. * character. During address match wakeup, the IDLE bit does not set when an address does not match.
  27452. * 0b1..During receive standby state (RWU = 1), the IDLE bit gets set upon detection of an idle character. During
  27453. * address match wakeup, the IDLE bit does set when an address does not match.
  27454. */
  27455. #define LPUART_STAT_RWUID(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RWUID_SHIFT)) & LPUART_STAT_RWUID_MASK)
  27456. #define LPUART_STAT_RXINV_MASK (0x10000000U)
  27457. #define LPUART_STAT_RXINV_SHIFT (28U)
  27458. /*! RXINV - Receive Data Inversion
  27459. * 0b0..Receive data not inverted.
  27460. * 0b1..Receive data inverted.
  27461. */
  27462. #define LPUART_STAT_RXINV(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RXINV_SHIFT)) & LPUART_STAT_RXINV_MASK)
  27463. #define LPUART_STAT_MSBF_MASK (0x20000000U)
  27464. #define LPUART_STAT_MSBF_SHIFT (29U)
  27465. /*! MSBF - MSB First
  27466. * 0b0..LSB (bit0) is the first bit that is transmitted following the start bit. Further, the first bit received
  27467. * after the start bit is identified as bit0.
  27468. * 0b1..MSB (bit9, bit8, bit7 or bit6) is the first bit that is transmitted following the start bit depending on
  27469. * the setting of CTRL[M], CTRL[PE] and BAUD[M10]. Further, the first bit received after the start bit is
  27470. * identified as bit9, bit8, bit7 or bit6 depending on the setting of CTRL[M] and CTRL[PE].
  27471. */
  27472. #define LPUART_STAT_MSBF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MSBF_SHIFT)) & LPUART_STAT_MSBF_MASK)
  27473. #define LPUART_STAT_RXEDGIF_MASK (0x40000000U)
  27474. #define LPUART_STAT_RXEDGIF_SHIFT (30U)
  27475. /*! RXEDGIF - RXD Pin Active Edge Interrupt Flag
  27476. * 0b0..No active edge on the receive pin has occurred.
  27477. * 0b1..An active edge on the receive pin has occurred.
  27478. */
  27479. #define LPUART_STAT_RXEDGIF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RXEDGIF_SHIFT)) & LPUART_STAT_RXEDGIF_MASK)
  27480. #define LPUART_STAT_LBKDIF_MASK (0x80000000U)
  27481. #define LPUART_STAT_LBKDIF_SHIFT (31U)
  27482. /*! LBKDIF - LIN Break Detect Interrupt Flag
  27483. * 0b0..No LIN break character has been detected.
  27484. * 0b1..LIN break character has been detected.
  27485. */
  27486. #define LPUART_STAT_LBKDIF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_LBKDIF_SHIFT)) & LPUART_STAT_LBKDIF_MASK)
  27487. /*! @} */
  27488. /*! @name CTRL - LPUART Control Register */
  27489. /*! @{ */
  27490. #define LPUART_CTRL_PT_MASK (0x1U)
  27491. #define LPUART_CTRL_PT_SHIFT (0U)
  27492. /*! PT - Parity Type
  27493. * 0b0..Even parity.
  27494. * 0b1..Odd parity.
  27495. */
  27496. #define LPUART_CTRL_PT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PT_SHIFT)) & LPUART_CTRL_PT_MASK)
  27497. #define LPUART_CTRL_PE_MASK (0x2U)
  27498. #define LPUART_CTRL_PE_SHIFT (1U)
  27499. /*! PE - Parity Enable
  27500. * 0b0..No hardware parity generation or checking.
  27501. * 0b1..Parity enabled.
  27502. */
  27503. #define LPUART_CTRL_PE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PE_SHIFT)) & LPUART_CTRL_PE_MASK)
  27504. #define LPUART_CTRL_ILT_MASK (0x4U)
  27505. #define LPUART_CTRL_ILT_SHIFT (2U)
  27506. /*! ILT - Idle Line Type Select
  27507. * 0b0..Idle character bit count starts after start bit.
  27508. * 0b1..Idle character bit count starts after stop bit.
  27509. */
  27510. #define LPUART_CTRL_ILT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ILT_SHIFT)) & LPUART_CTRL_ILT_MASK)
  27511. #define LPUART_CTRL_WAKE_MASK (0x8U)
  27512. #define LPUART_CTRL_WAKE_SHIFT (3U)
  27513. /*! WAKE - Receiver Wakeup Method Select
  27514. * 0b0..Configures RWU for idle-line wakeup.
  27515. * 0b1..Configures RWU with address-mark wakeup.
  27516. */
  27517. #define LPUART_CTRL_WAKE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_WAKE_SHIFT)) & LPUART_CTRL_WAKE_MASK)
  27518. #define LPUART_CTRL_M_MASK (0x10U)
  27519. #define LPUART_CTRL_M_SHIFT (4U)
  27520. /*! M - 9-Bit or 8-Bit Mode Select
  27521. * 0b0..Receiver and transmitter use 8-bit data characters.
  27522. * 0b1..Receiver and transmitter use 9-bit data characters.
  27523. */
  27524. #define LPUART_CTRL_M(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_M_SHIFT)) & LPUART_CTRL_M_MASK)
  27525. #define LPUART_CTRL_RSRC_MASK (0x20U)
  27526. #define LPUART_CTRL_RSRC_SHIFT (5U)
  27527. /*! RSRC - Receiver Source Select
  27528. * 0b0..Provided LOOPS is set, RSRC is cleared, selects internal loop back mode and the LPUART does not use the RXD pin.
  27529. * 0b1..Single-wire LPUART mode where the TXD pin is connected to the transmitter output and receiver input.
  27530. */
  27531. #define LPUART_CTRL_RSRC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RSRC_SHIFT)) & LPUART_CTRL_RSRC_MASK)
  27532. #define LPUART_CTRL_DOZEEN_MASK (0x40U)
  27533. #define LPUART_CTRL_DOZEEN_SHIFT (6U)
  27534. /*! DOZEEN - Doze Enable
  27535. * 0b0..LPUART is enabled in Doze mode.
  27536. * 0b1..LPUART is disabled in Doze mode.
  27537. */
  27538. #define LPUART_CTRL_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_DOZEEN_SHIFT)) & LPUART_CTRL_DOZEEN_MASK)
  27539. #define LPUART_CTRL_LOOPS_MASK (0x80U)
  27540. #define LPUART_CTRL_LOOPS_SHIFT (7U)
  27541. /*! LOOPS - Loop Mode Select
  27542. * 0b0..Normal operation - RXD and TXD use separate pins.
  27543. * 0b1..Loop mode or single-wire mode where transmitter outputs are internally connected to receiver input (see RSRC bit).
  27544. */
  27545. #define LPUART_CTRL_LOOPS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_LOOPS_SHIFT)) & LPUART_CTRL_LOOPS_MASK)
  27546. #define LPUART_CTRL_IDLECFG_MASK (0x700U)
  27547. #define LPUART_CTRL_IDLECFG_SHIFT (8U)
  27548. /*! IDLECFG - Idle Configuration
  27549. * 0b000..1 idle character
  27550. * 0b001..2 idle characters
  27551. * 0b010..4 idle characters
  27552. * 0b011..8 idle characters
  27553. * 0b100..16 idle characters
  27554. * 0b101..32 idle characters
  27555. * 0b110..64 idle characters
  27556. * 0b111..128 idle characters
  27557. */
  27558. #define LPUART_CTRL_IDLECFG(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_IDLECFG_SHIFT)) & LPUART_CTRL_IDLECFG_MASK)
  27559. #define LPUART_CTRL_M7_MASK (0x800U)
  27560. #define LPUART_CTRL_M7_SHIFT (11U)
  27561. /*! M7 - 7-Bit Mode Select
  27562. * 0b0..Receiver and transmitter use 8-bit to 10-bit data characters.
  27563. * 0b1..Receiver and transmitter use 7-bit data characters.
  27564. */
  27565. #define LPUART_CTRL_M7(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_M7_SHIFT)) & LPUART_CTRL_M7_MASK)
  27566. #define LPUART_CTRL_MA2IE_MASK (0x4000U)
  27567. #define LPUART_CTRL_MA2IE_SHIFT (14U)
  27568. /*! MA2IE - Match 2 Interrupt Enable
  27569. * 0b0..MA2F interrupt disabled
  27570. * 0b1..MA2F interrupt enabled
  27571. */
  27572. #define LPUART_CTRL_MA2IE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_MA2IE_SHIFT)) & LPUART_CTRL_MA2IE_MASK)
  27573. #define LPUART_CTRL_MA1IE_MASK (0x8000U)
  27574. #define LPUART_CTRL_MA1IE_SHIFT (15U)
  27575. /*! MA1IE - Match 1 Interrupt Enable
  27576. * 0b0..MA1F interrupt disabled
  27577. * 0b1..MA1F interrupt enabled
  27578. */
  27579. #define LPUART_CTRL_MA1IE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_MA1IE_SHIFT)) & LPUART_CTRL_MA1IE_MASK)
  27580. #define LPUART_CTRL_SBK_MASK (0x10000U)
  27581. #define LPUART_CTRL_SBK_SHIFT (16U)
  27582. /*! SBK - Send Break
  27583. * 0b0..Normal transmitter operation.
  27584. * 0b1..Queue break character(s) to be sent.
  27585. */
  27586. #define LPUART_CTRL_SBK(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_SBK_SHIFT)) & LPUART_CTRL_SBK_MASK)
  27587. #define LPUART_CTRL_RWU_MASK (0x20000U)
  27588. #define LPUART_CTRL_RWU_SHIFT (17U)
  27589. /*! RWU - Receiver Wakeup Control
  27590. * 0b0..Normal receiver operation.
  27591. * 0b1..LPUART receiver in standby waiting for wakeup condition.
  27592. */
  27593. #define LPUART_CTRL_RWU(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RWU_SHIFT)) & LPUART_CTRL_RWU_MASK)
  27594. #define LPUART_CTRL_RE_MASK (0x40000U)
  27595. #define LPUART_CTRL_RE_SHIFT (18U)
  27596. /*! RE - Receiver Enable
  27597. * 0b0..Receiver disabled.
  27598. * 0b1..Receiver enabled.
  27599. */
  27600. #define LPUART_CTRL_RE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RE_SHIFT)) & LPUART_CTRL_RE_MASK)
  27601. #define LPUART_CTRL_TE_MASK (0x80000U)
  27602. #define LPUART_CTRL_TE_SHIFT (19U)
  27603. /*! TE - Transmitter Enable
  27604. * 0b0..Transmitter disabled.
  27605. * 0b1..Transmitter enabled.
  27606. */
  27607. #define LPUART_CTRL_TE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TE_SHIFT)) & LPUART_CTRL_TE_MASK)
  27608. #define LPUART_CTRL_ILIE_MASK (0x100000U)
  27609. #define LPUART_CTRL_ILIE_SHIFT (20U)
  27610. /*! ILIE - Idle Line Interrupt Enable
  27611. * 0b0..Hardware interrupts from IDLE disabled; use polling.
  27612. * 0b1..Hardware interrupt requested when IDLE flag is 1.
  27613. */
  27614. #define LPUART_CTRL_ILIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ILIE_SHIFT)) & LPUART_CTRL_ILIE_MASK)
  27615. #define LPUART_CTRL_RIE_MASK (0x200000U)
  27616. #define LPUART_CTRL_RIE_SHIFT (21U)
  27617. /*! RIE - Receiver Interrupt Enable
  27618. * 0b0..Hardware interrupts from RDRF disabled; use polling.
  27619. * 0b1..Hardware interrupt requested when RDRF flag is 1.
  27620. */
  27621. #define LPUART_CTRL_RIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RIE_SHIFT)) & LPUART_CTRL_RIE_MASK)
  27622. #define LPUART_CTRL_TCIE_MASK (0x400000U)
  27623. #define LPUART_CTRL_TCIE_SHIFT (22U)
  27624. /*! TCIE - Transmission Complete Interrupt Enable for
  27625. * 0b0..Hardware interrupts from TC disabled; use polling.
  27626. * 0b1..Hardware interrupt requested when TC flag is 1.
  27627. */
  27628. #define LPUART_CTRL_TCIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TCIE_SHIFT)) & LPUART_CTRL_TCIE_MASK)
  27629. #define LPUART_CTRL_TIE_MASK (0x800000U)
  27630. #define LPUART_CTRL_TIE_SHIFT (23U)
  27631. /*! TIE - Transmit Interrupt Enable
  27632. * 0b0..Hardware interrupts from TDRE disabled; use polling.
  27633. * 0b1..Hardware interrupt requested when TDRE flag is 1.
  27634. */
  27635. #define LPUART_CTRL_TIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TIE_SHIFT)) & LPUART_CTRL_TIE_MASK)
  27636. #define LPUART_CTRL_PEIE_MASK (0x1000000U)
  27637. #define LPUART_CTRL_PEIE_SHIFT (24U)
  27638. /*! PEIE - Parity Error Interrupt Enable
  27639. * 0b0..PF interrupts disabled; use polling).
  27640. * 0b1..Hardware interrupt requested when PF is set.
  27641. */
  27642. #define LPUART_CTRL_PEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PEIE_SHIFT)) & LPUART_CTRL_PEIE_MASK)
  27643. #define LPUART_CTRL_FEIE_MASK (0x2000000U)
  27644. #define LPUART_CTRL_FEIE_SHIFT (25U)
  27645. /*! FEIE - Framing Error Interrupt Enable
  27646. * 0b0..FE interrupts disabled; use polling.
  27647. * 0b1..Hardware interrupt requested when FE is set.
  27648. */
  27649. #define LPUART_CTRL_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_FEIE_SHIFT)) & LPUART_CTRL_FEIE_MASK)
  27650. #define LPUART_CTRL_NEIE_MASK (0x4000000U)
  27651. #define LPUART_CTRL_NEIE_SHIFT (26U)
  27652. /*! NEIE - Noise Error Interrupt Enable
  27653. * 0b0..NF interrupts disabled; use polling.
  27654. * 0b1..Hardware interrupt requested when NF is set.
  27655. */
  27656. #define LPUART_CTRL_NEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_NEIE_SHIFT)) & LPUART_CTRL_NEIE_MASK)
  27657. #define LPUART_CTRL_ORIE_MASK (0x8000000U)
  27658. #define LPUART_CTRL_ORIE_SHIFT (27U)
  27659. /*! ORIE - Overrun Interrupt Enable
  27660. * 0b0..OR interrupts disabled; use polling.
  27661. * 0b1..Hardware interrupt requested when OR is set.
  27662. */
  27663. #define LPUART_CTRL_ORIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ORIE_SHIFT)) & LPUART_CTRL_ORIE_MASK)
  27664. #define LPUART_CTRL_TXINV_MASK (0x10000000U)
  27665. #define LPUART_CTRL_TXINV_SHIFT (28U)
  27666. /*! TXINV - Transmit Data Inversion
  27667. * 0b0..Transmit data not inverted.
  27668. * 0b1..Transmit data inverted.
  27669. */
  27670. #define LPUART_CTRL_TXINV(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TXINV_SHIFT)) & LPUART_CTRL_TXINV_MASK)
  27671. #define LPUART_CTRL_TXDIR_MASK (0x20000000U)
  27672. #define LPUART_CTRL_TXDIR_SHIFT (29U)
  27673. /*! TXDIR - TXD Pin Direction in Single-Wire Mode
  27674. * 0b0..TXD pin is an input in single-wire mode.
  27675. * 0b1..TXD pin is an output in single-wire mode.
  27676. */
  27677. #define LPUART_CTRL_TXDIR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TXDIR_SHIFT)) & LPUART_CTRL_TXDIR_MASK)
  27678. #define LPUART_CTRL_R9T8_MASK (0x40000000U)
  27679. #define LPUART_CTRL_R9T8_SHIFT (30U)
  27680. /*! R9T8 - Receive Bit 9 / Transmit Bit 8
  27681. */
  27682. #define LPUART_CTRL_R9T8(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_R9T8_SHIFT)) & LPUART_CTRL_R9T8_MASK)
  27683. #define LPUART_CTRL_R8T9_MASK (0x80000000U)
  27684. #define LPUART_CTRL_R8T9_SHIFT (31U)
  27685. /*! R8T9 - Receive Bit 8 / Transmit Bit 9
  27686. */
  27687. #define LPUART_CTRL_R8T9(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_R8T9_SHIFT)) & LPUART_CTRL_R8T9_MASK)
  27688. /*! @} */
  27689. /*! @name DATA - LPUART Data Register */
  27690. /*! @{ */
  27691. #define LPUART_DATA_R0T0_MASK (0x1U)
  27692. #define LPUART_DATA_R0T0_SHIFT (0U)
  27693. /*! R0T0 - R0T0
  27694. */
  27695. #define LPUART_DATA_R0T0(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R0T0_SHIFT)) & LPUART_DATA_R0T0_MASK)
  27696. #define LPUART_DATA_R1T1_MASK (0x2U)
  27697. #define LPUART_DATA_R1T1_SHIFT (1U)
  27698. /*! R1T1 - R1T1
  27699. */
  27700. #define LPUART_DATA_R1T1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R1T1_SHIFT)) & LPUART_DATA_R1T1_MASK)
  27701. #define LPUART_DATA_R2T2_MASK (0x4U)
  27702. #define LPUART_DATA_R2T2_SHIFT (2U)
  27703. /*! R2T2 - R2T2
  27704. */
  27705. #define LPUART_DATA_R2T2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R2T2_SHIFT)) & LPUART_DATA_R2T2_MASK)
  27706. #define LPUART_DATA_R3T3_MASK (0x8U)
  27707. #define LPUART_DATA_R3T3_SHIFT (3U)
  27708. /*! R3T3 - R3T3
  27709. */
  27710. #define LPUART_DATA_R3T3(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R3T3_SHIFT)) & LPUART_DATA_R3T3_MASK)
  27711. #define LPUART_DATA_R4T4_MASK (0x10U)
  27712. #define LPUART_DATA_R4T4_SHIFT (4U)
  27713. /*! R4T4 - R4T4
  27714. */
  27715. #define LPUART_DATA_R4T4(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R4T4_SHIFT)) & LPUART_DATA_R4T4_MASK)
  27716. #define LPUART_DATA_R5T5_MASK (0x20U)
  27717. #define LPUART_DATA_R5T5_SHIFT (5U)
  27718. /*! R5T5 - R5T5
  27719. */
  27720. #define LPUART_DATA_R5T5(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R5T5_SHIFT)) & LPUART_DATA_R5T5_MASK)
  27721. #define LPUART_DATA_R6T6_MASK (0x40U)
  27722. #define LPUART_DATA_R6T6_SHIFT (6U)
  27723. /*! R6T6 - R6T6
  27724. */
  27725. #define LPUART_DATA_R6T6(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R6T6_SHIFT)) & LPUART_DATA_R6T6_MASK)
  27726. #define LPUART_DATA_R7T7_MASK (0x80U)
  27727. #define LPUART_DATA_R7T7_SHIFT (7U)
  27728. /*! R7T7 - R7T7
  27729. */
  27730. #define LPUART_DATA_R7T7(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R7T7_SHIFT)) & LPUART_DATA_R7T7_MASK)
  27731. #define LPUART_DATA_R8T8_MASK (0x100U)
  27732. #define LPUART_DATA_R8T8_SHIFT (8U)
  27733. /*! R8T8 - R8T8
  27734. */
  27735. #define LPUART_DATA_R8T8(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R8T8_SHIFT)) & LPUART_DATA_R8T8_MASK)
  27736. #define LPUART_DATA_R9T9_MASK (0x200U)
  27737. #define LPUART_DATA_R9T9_SHIFT (9U)
  27738. /*! R9T9 - R9T9
  27739. */
  27740. #define LPUART_DATA_R9T9(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R9T9_SHIFT)) & LPUART_DATA_R9T9_MASK)
  27741. #define LPUART_DATA_IDLINE_MASK (0x800U)
  27742. #define LPUART_DATA_IDLINE_SHIFT (11U)
  27743. /*! IDLINE - Idle Line
  27744. * 0b0..Receiver was not idle before receiving this character.
  27745. * 0b1..Receiver was idle before receiving this character.
  27746. */
  27747. #define LPUART_DATA_IDLINE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_IDLINE_SHIFT)) & LPUART_DATA_IDLINE_MASK)
  27748. #define LPUART_DATA_RXEMPT_MASK (0x1000U)
  27749. #define LPUART_DATA_RXEMPT_SHIFT (12U)
  27750. /*! RXEMPT - Receive Buffer Empty
  27751. * 0b0..Receive buffer contains valid data.
  27752. * 0b1..Receive buffer is empty, data returned on read is not valid.
  27753. */
  27754. #define LPUART_DATA_RXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_RXEMPT_SHIFT)) & LPUART_DATA_RXEMPT_MASK)
  27755. #define LPUART_DATA_FRETSC_MASK (0x2000U)
  27756. #define LPUART_DATA_FRETSC_SHIFT (13U)
  27757. /*! FRETSC - Frame Error / Transmit Special Character
  27758. * 0b0..The dataword was received without a frame error on read, or transmit a normal character on write.
  27759. * 0b1..The dataword was received with a frame error, or transmit an idle or break character on transmit.
  27760. */
  27761. #define LPUART_DATA_FRETSC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_FRETSC_SHIFT)) & LPUART_DATA_FRETSC_MASK)
  27762. #define LPUART_DATA_PARITYE_MASK (0x4000U)
  27763. #define LPUART_DATA_PARITYE_SHIFT (14U)
  27764. /*! PARITYE - PARITYE
  27765. * 0b0..The dataword was received without a parity error.
  27766. * 0b1..The dataword was received with a parity error.
  27767. */
  27768. #define LPUART_DATA_PARITYE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_PARITYE_SHIFT)) & LPUART_DATA_PARITYE_MASK)
  27769. #define LPUART_DATA_NOISY_MASK (0x8000U)
  27770. #define LPUART_DATA_NOISY_SHIFT (15U)
  27771. /*! NOISY - NOISY
  27772. * 0b0..The dataword was received without noise.
  27773. * 0b1..The data was received with noise.
  27774. */
  27775. #define LPUART_DATA_NOISY(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_NOISY_SHIFT)) & LPUART_DATA_NOISY_MASK)
  27776. /*! @} */
  27777. /*! @name MATCH - LPUART Match Address Register */
  27778. /*! @{ */
  27779. #define LPUART_MATCH_MA1_MASK (0x3FFU)
  27780. #define LPUART_MATCH_MA1_SHIFT (0U)
  27781. /*! MA1 - Match Address 1
  27782. */
  27783. #define LPUART_MATCH_MA1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MATCH_MA1_SHIFT)) & LPUART_MATCH_MA1_MASK)
  27784. #define LPUART_MATCH_MA2_MASK (0x3FF0000U)
  27785. #define LPUART_MATCH_MA2_SHIFT (16U)
  27786. /*! MA2 - Match Address 2
  27787. */
  27788. #define LPUART_MATCH_MA2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MATCH_MA2_SHIFT)) & LPUART_MATCH_MA2_MASK)
  27789. /*! @} */
  27790. /*! @name MODIR - LPUART Modem IrDA Register */
  27791. /*! @{ */
  27792. #define LPUART_MODIR_TXCTSE_MASK (0x1U)
  27793. #define LPUART_MODIR_TXCTSE_SHIFT (0U)
  27794. /*! TXCTSE - Transmitter clear-to-send enable
  27795. * 0b0..CTS has no effect on the transmitter.
  27796. * 0b1..Enables clear-to-send operation. The transmitter checks the state of CTS each time it is ready to send a
  27797. * character. If CTS is asserted, the character is sent. If CTS is deasserted, the signal TXD remains in the
  27798. * mark state and transmission is delayed until CTS is asserted. Changes in CTS as a character is being sent
  27799. * do not affect its transmission.
  27800. */
  27801. #define LPUART_MODIR_TXCTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSE_SHIFT)) & LPUART_MODIR_TXCTSE_MASK)
  27802. #define LPUART_MODIR_TXRTSE_MASK (0x2U)
  27803. #define LPUART_MODIR_TXRTSE_SHIFT (1U)
  27804. /*! TXRTSE - Transmitter request-to-send enable
  27805. * 0b0..The transmitter has no effect on RTS.
  27806. * 0b1..When a character is placed into an empty transmitter data buffer , RTS asserts one bit time before the
  27807. * start bit is transmitted. RTS deasserts one bit time after all characters in the transmitter data buffer and
  27808. * shift register are completely sent, including the last stop bit.
  27809. */
  27810. #define LPUART_MODIR_TXRTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXRTSE_SHIFT)) & LPUART_MODIR_TXRTSE_MASK)
  27811. #define LPUART_MODIR_TXRTSPOL_MASK (0x4U)
  27812. #define LPUART_MODIR_TXRTSPOL_SHIFT (2U)
  27813. /*! TXRTSPOL - Transmitter request-to-send polarity
  27814. * 0b0..Transmitter RTS is active low.
  27815. * 0b1..Transmitter RTS is active high.
  27816. */
  27817. #define LPUART_MODIR_TXRTSPOL(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXRTSPOL_SHIFT)) & LPUART_MODIR_TXRTSPOL_MASK)
  27818. #define LPUART_MODIR_RXRTSE_MASK (0x8U)
  27819. #define LPUART_MODIR_RXRTSE_SHIFT (3U)
  27820. /*! RXRTSE - Receiver request-to-send enable
  27821. * 0b0..The receiver has no effect on RTS.
  27822. * 0b1..RTS is deasserted if the receiver data register is full or a start bit has been detected that would cause
  27823. * the receiver data register to become full. RTS is asserted if the receiver data register is not full and
  27824. * has not detected a start bit that would cause the receiver data register to become full.
  27825. */
  27826. #define LPUART_MODIR_RXRTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_RXRTSE_SHIFT)) & LPUART_MODIR_RXRTSE_MASK)
  27827. #define LPUART_MODIR_TXCTSC_MASK (0x10U)
  27828. #define LPUART_MODIR_TXCTSC_SHIFT (4U)
  27829. /*! TXCTSC - Transmit CTS Configuration
  27830. * 0b0..CTS input is sampled at the start of each character.
  27831. * 0b1..CTS input is sampled when the transmitter is idle.
  27832. */
  27833. #define LPUART_MODIR_TXCTSC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSC_SHIFT)) & LPUART_MODIR_TXCTSC_MASK)
  27834. #define LPUART_MODIR_TXCTSSRC_MASK (0x20U)
  27835. #define LPUART_MODIR_TXCTSSRC_SHIFT (5U)
  27836. /*! TXCTSSRC - Transmit CTS Source
  27837. * 0b0..CTS input is the CTS_B pin.
  27838. * 0b1..CTS input is the inverted Receiver Match result.
  27839. */
  27840. #define LPUART_MODIR_TXCTSSRC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSSRC_SHIFT)) & LPUART_MODIR_TXCTSSRC_MASK)
  27841. #define LPUART_MODIR_RTSWATER_MASK (0x300U)
  27842. #define LPUART_MODIR_RTSWATER_SHIFT (8U)
  27843. /*! RTSWATER - Receive RTS Configuration
  27844. */
  27845. #define LPUART_MODIR_RTSWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_RTSWATER_SHIFT)) & LPUART_MODIR_RTSWATER_MASK)
  27846. #define LPUART_MODIR_TNP_MASK (0x30000U)
  27847. #define LPUART_MODIR_TNP_SHIFT (16U)
  27848. /*! TNP - Transmitter narrow pulse
  27849. * 0b00..1/OSR.
  27850. * 0b01..2/OSR.
  27851. * 0b10..3/OSR.
  27852. * 0b11..4/OSR.
  27853. */
  27854. #define LPUART_MODIR_TNP(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TNP_SHIFT)) & LPUART_MODIR_TNP_MASK)
  27855. #define LPUART_MODIR_IREN_MASK (0x40000U)
  27856. #define LPUART_MODIR_IREN_SHIFT (18U)
  27857. /*! IREN - Infrared enable
  27858. * 0b0..IR disabled.
  27859. * 0b1..IR enabled.
  27860. */
  27861. #define LPUART_MODIR_IREN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_IREN_SHIFT)) & LPUART_MODIR_IREN_MASK)
  27862. /*! @} */
  27863. /*! @name FIFO - LPUART FIFO Register */
  27864. /*! @{ */
  27865. #define LPUART_FIFO_RXFIFOSIZE_MASK (0x7U)
  27866. #define LPUART_FIFO_RXFIFOSIZE_SHIFT (0U)
  27867. /*! RXFIFOSIZE - Receive FIFO Buffer Depth
  27868. * 0b000..Receive FIFO/Buffer depth = 1 dataword.
  27869. * 0b001..Receive FIFO/Buffer depth = 4 datawords.
  27870. * 0b010..Receive FIFO/Buffer depth = 8 datawords.
  27871. * 0b011..Receive FIFO/Buffer depth = 16 datawords.
  27872. * 0b100..Receive FIFO/Buffer depth = 32 datawords.
  27873. * 0b101..Receive FIFO/Buffer depth = 64 datawords.
  27874. * 0b110..Receive FIFO/Buffer depth = 128 datawords.
  27875. * 0b111..Receive FIFO/Buffer depth = 256 datawords.
  27876. */
  27877. #define LPUART_FIFO_RXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFIFOSIZE_SHIFT)) & LPUART_FIFO_RXFIFOSIZE_MASK)
  27878. #define LPUART_FIFO_RXFE_MASK (0x8U)
  27879. #define LPUART_FIFO_RXFE_SHIFT (3U)
  27880. /*! RXFE - Receive FIFO Enable
  27881. * 0b0..Receive FIFO is not enabled. Buffer is depth 1.
  27882. * 0b1..Receive FIFO is enabled. Buffer is depth indicted by RXFIFOSIZE.
  27883. */
  27884. #define LPUART_FIFO_RXFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFE_SHIFT)) & LPUART_FIFO_RXFE_MASK)
  27885. #define LPUART_FIFO_TXFIFOSIZE_MASK (0x70U)
  27886. #define LPUART_FIFO_TXFIFOSIZE_SHIFT (4U)
  27887. /*! TXFIFOSIZE - Transmit FIFO Buffer Depth
  27888. * 0b000..Transmit FIFO/Buffer depth = 1 dataword.
  27889. * 0b001..Transmit FIFO/Buffer depth = 4 datawords.
  27890. * 0b010..Transmit FIFO/Buffer depth = 8 datawords.
  27891. * 0b011..Transmit FIFO/Buffer depth = 16 datawords.
  27892. * 0b100..Transmit FIFO/Buffer depth = 32 datawords.
  27893. * 0b101..Transmit FIFO/Buffer depth = 64 datawords.
  27894. * 0b110..Transmit FIFO/Buffer depth = 128 datawords.
  27895. * 0b111..Transmit FIFO/Buffer depth = 256 datawords
  27896. */
  27897. #define LPUART_FIFO_TXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFIFOSIZE_SHIFT)) & LPUART_FIFO_TXFIFOSIZE_MASK)
  27898. #define LPUART_FIFO_TXFE_MASK (0x80U)
  27899. #define LPUART_FIFO_TXFE_SHIFT (7U)
  27900. /*! TXFE - Transmit FIFO Enable
  27901. * 0b0..Transmit FIFO is not enabled. Buffer is depth 1.
  27902. * 0b1..Transmit FIFO is enabled. Buffer is depth indicated by TXFIFOSIZE.
  27903. */
  27904. #define LPUART_FIFO_TXFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFE_SHIFT)) & LPUART_FIFO_TXFE_MASK)
  27905. #define LPUART_FIFO_RXUFE_MASK (0x100U)
  27906. #define LPUART_FIFO_RXUFE_SHIFT (8U)
  27907. /*! RXUFE - Receive FIFO Underflow Interrupt Enable
  27908. * 0b0..RXUF flag does not generate an interrupt to the host.
  27909. * 0b1..RXUF flag generates an interrupt to the host.
  27910. */
  27911. #define LPUART_FIFO_RXUFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXUFE_SHIFT)) & LPUART_FIFO_RXUFE_MASK)
  27912. #define LPUART_FIFO_TXOFE_MASK (0x200U)
  27913. #define LPUART_FIFO_TXOFE_SHIFT (9U)
  27914. /*! TXOFE - Transmit FIFO Overflow Interrupt Enable
  27915. * 0b0..TXOF flag does not generate an interrupt to the host.
  27916. * 0b1..TXOF flag generates an interrupt to the host.
  27917. */
  27918. #define LPUART_FIFO_TXOFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXOFE_SHIFT)) & LPUART_FIFO_TXOFE_MASK)
  27919. #define LPUART_FIFO_RXIDEN_MASK (0x1C00U)
  27920. #define LPUART_FIFO_RXIDEN_SHIFT (10U)
  27921. /*! RXIDEN - Receiver Idle Empty Enable
  27922. * 0b000..Disable RDRF assertion due to partially filled FIFO when receiver is idle.
  27923. * 0b001..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 1 character.
  27924. * 0b010..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 2 characters.
  27925. * 0b011..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 4 characters.
  27926. * 0b100..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 8 characters.
  27927. * 0b101..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 16 characters.
  27928. * 0b110..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 32 characters.
  27929. * 0b111..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 64 characters.
  27930. */
  27931. #define LPUART_FIFO_RXIDEN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXIDEN_SHIFT)) & LPUART_FIFO_RXIDEN_MASK)
  27932. #define LPUART_FIFO_RXFLUSH_MASK (0x4000U)
  27933. #define LPUART_FIFO_RXFLUSH_SHIFT (14U)
  27934. /*! RXFLUSH - Receive FIFO/Buffer Flush
  27935. * 0b0..No flush operation occurs.
  27936. * 0b1..All data in the receive FIFO/buffer is cleared out.
  27937. */
  27938. #define LPUART_FIFO_RXFLUSH(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFLUSH_SHIFT)) & LPUART_FIFO_RXFLUSH_MASK)
  27939. #define LPUART_FIFO_TXFLUSH_MASK (0x8000U)
  27940. #define LPUART_FIFO_TXFLUSH_SHIFT (15U)
  27941. /*! TXFLUSH - Transmit FIFO/Buffer Flush
  27942. * 0b0..No flush operation occurs.
  27943. * 0b1..All data in the transmit FIFO/Buffer is cleared out.
  27944. */
  27945. #define LPUART_FIFO_TXFLUSH(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFLUSH_SHIFT)) & LPUART_FIFO_TXFLUSH_MASK)
  27946. #define LPUART_FIFO_RXUF_MASK (0x10000U)
  27947. #define LPUART_FIFO_RXUF_SHIFT (16U)
  27948. /*! RXUF - Receiver Buffer Underflow Flag
  27949. * 0b0..No receive buffer underflow has occurred since the last time the flag was cleared.
  27950. * 0b1..At least one receive buffer underflow has occurred since the last time the flag was cleared.
  27951. */
  27952. #define LPUART_FIFO_RXUF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXUF_SHIFT)) & LPUART_FIFO_RXUF_MASK)
  27953. #define LPUART_FIFO_TXOF_MASK (0x20000U)
  27954. #define LPUART_FIFO_TXOF_SHIFT (17U)
  27955. /*! TXOF - Transmitter Buffer Overflow Flag
  27956. * 0b0..No transmit buffer overflow has occurred since the last time the flag was cleared.
  27957. * 0b1..At least one transmit buffer overflow has occurred since the last time the flag was cleared.
  27958. */
  27959. #define LPUART_FIFO_TXOF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXOF_SHIFT)) & LPUART_FIFO_TXOF_MASK)
  27960. #define LPUART_FIFO_RXEMPT_MASK (0x400000U)
  27961. #define LPUART_FIFO_RXEMPT_SHIFT (22U)
  27962. /*! RXEMPT - Receive Buffer/FIFO Empty
  27963. * 0b0..Receive buffer is not empty.
  27964. * 0b1..Receive buffer is empty.
  27965. */
  27966. #define LPUART_FIFO_RXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXEMPT_SHIFT)) & LPUART_FIFO_RXEMPT_MASK)
  27967. #define LPUART_FIFO_TXEMPT_MASK (0x800000U)
  27968. #define LPUART_FIFO_TXEMPT_SHIFT (23U)
  27969. /*! TXEMPT - Transmit Buffer/FIFO Empty
  27970. * 0b0..Transmit buffer is not empty.
  27971. * 0b1..Transmit buffer is empty.
  27972. */
  27973. #define LPUART_FIFO_TXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXEMPT_SHIFT)) & LPUART_FIFO_TXEMPT_MASK)
  27974. /*! @} */
  27975. /*! @name WATER - LPUART Watermark Register */
  27976. /*! @{ */
  27977. #define LPUART_WATER_TXWATER_MASK (0x3U)
  27978. #define LPUART_WATER_TXWATER_SHIFT (0U)
  27979. /*! TXWATER - Transmit Watermark
  27980. */
  27981. #define LPUART_WATER_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_TXWATER_SHIFT)) & LPUART_WATER_TXWATER_MASK)
  27982. #define LPUART_WATER_TXCOUNT_MASK (0x700U)
  27983. #define LPUART_WATER_TXCOUNT_SHIFT (8U)
  27984. /*! TXCOUNT - Transmit Counter
  27985. */
  27986. #define LPUART_WATER_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_TXCOUNT_SHIFT)) & LPUART_WATER_TXCOUNT_MASK)
  27987. #define LPUART_WATER_RXWATER_MASK (0x30000U)
  27988. #define LPUART_WATER_RXWATER_SHIFT (16U)
  27989. /*! RXWATER - Receive Watermark
  27990. */
  27991. #define LPUART_WATER_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_RXWATER_SHIFT)) & LPUART_WATER_RXWATER_MASK)
  27992. #define LPUART_WATER_RXCOUNT_MASK (0x7000000U)
  27993. #define LPUART_WATER_RXCOUNT_SHIFT (24U)
  27994. /*! RXCOUNT - Receive Counter
  27995. */
  27996. #define LPUART_WATER_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_RXCOUNT_SHIFT)) & LPUART_WATER_RXCOUNT_MASK)
  27997. /*! @} */
  27998. /*!
  27999. * @}
  28000. */ /* end of group LPUART_Register_Masks */
  28001. /* LPUART - Peripheral instance base addresses */
  28002. /** Peripheral LPUART1 base address */
  28003. #define LPUART1_BASE (0x40184000u)
  28004. /** Peripheral LPUART1 base pointer */
  28005. #define LPUART1 ((LPUART_Type *)LPUART1_BASE)
  28006. /** Peripheral LPUART2 base address */
  28007. #define LPUART2_BASE (0x40188000u)
  28008. /** Peripheral LPUART2 base pointer */
  28009. #define LPUART2 ((LPUART_Type *)LPUART2_BASE)
  28010. /** Peripheral LPUART3 base address */
  28011. #define LPUART3_BASE (0x4018C000u)
  28012. /** Peripheral LPUART3 base pointer */
  28013. #define LPUART3 ((LPUART_Type *)LPUART3_BASE)
  28014. /** Peripheral LPUART4 base address */
  28015. #define LPUART4_BASE (0x40190000u)
  28016. /** Peripheral LPUART4 base pointer */
  28017. #define LPUART4 ((LPUART_Type *)LPUART4_BASE)
  28018. /** Peripheral LPUART5 base address */
  28019. #define LPUART5_BASE (0x40194000u)
  28020. /** Peripheral LPUART5 base pointer */
  28021. #define LPUART5 ((LPUART_Type *)LPUART5_BASE)
  28022. /** Peripheral LPUART6 base address */
  28023. #define LPUART6_BASE (0x40198000u)
  28024. /** Peripheral LPUART6 base pointer */
  28025. #define LPUART6 ((LPUART_Type *)LPUART6_BASE)
  28026. /** Peripheral LPUART7 base address */
  28027. #define LPUART7_BASE (0x4019C000u)
  28028. /** Peripheral LPUART7 base pointer */
  28029. #define LPUART7 ((LPUART_Type *)LPUART7_BASE)
  28030. /** Peripheral LPUART8 base address */
  28031. #define LPUART8_BASE (0x401A0000u)
  28032. /** Peripheral LPUART8 base pointer */
  28033. #define LPUART8 ((LPUART_Type *)LPUART8_BASE)
  28034. /** Array initializer of LPUART peripheral base addresses */
  28035. #define LPUART_BASE_ADDRS { 0u, LPUART1_BASE, LPUART2_BASE, LPUART3_BASE, LPUART4_BASE, LPUART5_BASE, LPUART6_BASE, LPUART7_BASE, LPUART8_BASE }
  28036. /** Array initializer of LPUART peripheral base pointers */
  28037. #define LPUART_BASE_PTRS { (LPUART_Type *)0u, LPUART1, LPUART2, LPUART3, LPUART4, LPUART5, LPUART6, LPUART7, LPUART8 }
  28038. /** Interrupt vectors for the LPUART peripheral type */
  28039. #define LPUART_RX_TX_IRQS { NotAvail_IRQn, LPUART1_IRQn, LPUART2_IRQn, LPUART3_IRQn, LPUART4_IRQn, LPUART5_IRQn, LPUART6_IRQn, LPUART7_IRQn, LPUART8_IRQn }
  28040. /*!
  28041. * @}
  28042. */ /* end of group LPUART_Peripheral_Access_Layer */
  28043. /* ----------------------------------------------------------------------------
  28044. -- OCOTP Peripheral Access Layer
  28045. ---------------------------------------------------------------------------- */
  28046. /*!
  28047. * @addtogroup OCOTP_Peripheral_Access_Layer OCOTP Peripheral Access Layer
  28048. * @{
  28049. */
  28050. /** OCOTP - Register Layout Typedef */
  28051. typedef struct {
  28052. __IO uint32_t CTRL; /**< OTP Controller Control Register, offset: 0x0 */
  28053. __IO uint32_t CTRL_SET; /**< OTP Controller Control Register, offset: 0x4 */
  28054. __IO uint32_t CTRL_CLR; /**< OTP Controller Control Register, offset: 0x8 */
  28055. __IO uint32_t CTRL_TOG; /**< OTP Controller Control Register, offset: 0xC */
  28056. __IO uint32_t TIMING; /**< OTP Controller Timing Register, offset: 0x10 */
  28057. uint8_t RESERVED_0[12];
  28058. __IO uint32_t DATA; /**< OTP Controller Write Data Register, offset: 0x20 */
  28059. uint8_t RESERVED_1[12];
  28060. __IO uint32_t READ_CTRL; /**< OTP Controller Write Data Register, offset: 0x30 */
  28061. uint8_t RESERVED_2[12];
  28062. __IO uint32_t READ_FUSE_DATA; /**< OTP Controller Read Data Register, offset: 0x40 */
  28063. uint8_t RESERVED_3[12];
  28064. __IO uint32_t SW_STICKY; /**< Sticky bit Register, offset: 0x50 */
  28065. uint8_t RESERVED_4[12];
  28066. __IO uint32_t SCS; /**< Software Controllable Signals Register, offset: 0x60 */
  28067. __IO uint32_t SCS_SET; /**< Software Controllable Signals Register, offset: 0x64 */
  28068. __IO uint32_t SCS_CLR; /**< Software Controllable Signals Register, offset: 0x68 */
  28069. __IO uint32_t SCS_TOG; /**< Software Controllable Signals Register, offset: 0x6C */
  28070. __IO uint32_t CRC_ADDR; /**< OTP Controller CRC test address, offset: 0x70 */
  28071. uint8_t RESERVED_5[12];
  28072. __IO uint32_t CRC_VALUE; /**< OTP Controller CRC Value Register, offset: 0x80 */
  28073. uint8_t RESERVED_6[12];
  28074. __I uint32_t VERSION; /**< OTP Controller Version Register, offset: 0x90 */
  28075. uint8_t RESERVED_7[108];
  28076. __IO uint32_t TIMING2; /**< OTP Controller Timing Register, offset: 0x100 */
  28077. uint8_t RESERVED_8[764];
  28078. __IO uint32_t LOCK; /**< Value of OTP Bank0 Word0 (Lock controls), offset: 0x400 */
  28079. uint8_t RESERVED_9[12];
  28080. __IO uint32_t CFG0; /**< Value of OTP Bank0 Word1 (Configuration and Manufacturing Info.), offset: 0x410 */
  28081. uint8_t RESERVED_10[12];
  28082. __IO uint32_t CFG1; /**< Value of OTP Bank0 Word2 (Configuration and Manufacturing Info.), offset: 0x420 */
  28083. uint8_t RESERVED_11[12];
  28084. __IO uint32_t CFG2; /**< Value of OTP Bank0 Word3 (Configuration and Manufacturing Info.), offset: 0x430 */
  28085. uint8_t RESERVED_12[12];
  28086. __IO uint32_t CFG3; /**< Value of OTP Bank0 Word4 (Configuration and Manufacturing Info.), offset: 0x440 */
  28087. uint8_t RESERVED_13[12];
  28088. __IO uint32_t CFG4; /**< Value of OTP Bank0 Word5 (Configuration and Manufacturing Info.), offset: 0x450 */
  28089. uint8_t RESERVED_14[12];
  28090. __IO uint32_t CFG5; /**< Value of OTP Bank0 Word6 (Configuration and Manufacturing Info.), offset: 0x460 */
  28091. uint8_t RESERVED_15[12];
  28092. __IO uint32_t CFG6; /**< Value of OTP Bank0 Word7 (Configuration and Manufacturing Info.), offset: 0x470 */
  28093. uint8_t RESERVED_16[12];
  28094. __IO uint32_t MEM0; /**< Value of OTP Bank1 Word0 (Memory Related Info.), offset: 0x480 */
  28095. uint8_t RESERVED_17[12];
  28096. __IO uint32_t MEM1; /**< Value of OTP Bank1 Word1 (Memory Related Info.), offset: 0x490 */
  28097. uint8_t RESERVED_18[12];
  28098. __IO uint32_t MEM2; /**< Value of OTP Bank1 Word2 (Memory Related Info.), offset: 0x4A0 */
  28099. uint8_t RESERVED_19[12];
  28100. __IO uint32_t MEM3; /**< Value of OTP Bank1 Word3 (Memory Related Info.), offset: 0x4B0 */
  28101. uint8_t RESERVED_20[12];
  28102. __IO uint32_t MEM4; /**< Value of OTP Bank1 Word4 (Memory Related Info.), offset: 0x4C0 */
  28103. uint8_t RESERVED_21[12];
  28104. __IO uint32_t ANA0; /**< Value of OTP Bank1 Word5 (Memory Related Info.), offset: 0x4D0 */
  28105. uint8_t RESERVED_22[12];
  28106. __IO uint32_t ANA1; /**< Value of OTP Bank1 Word6 (General Purpose Customer Defined Info.), offset: 0x4E0 */
  28107. uint8_t RESERVED_23[12];
  28108. __IO uint32_t ANA2; /**< Value of OTP Bank1 Word7 (General Purpose Customer Defined Info.), offset: 0x4F0 */
  28109. uint8_t RESERVED_24[12];
  28110. __IO uint32_t OTPMK0; /**< Value of OTP Bank2 Word0 (OTPMK Key), offset: 0x500 */
  28111. uint8_t RESERVED_25[12];
  28112. __IO uint32_t OTPMK1; /**< Value of OTP Bank2 Word1 (OTPMK Key), offset: 0x510 */
  28113. uint8_t RESERVED_26[12];
  28114. __IO uint32_t OTPMK2; /**< Value of OTP Bank2 Word2 (OTPMK Key), offset: 0x520 */
  28115. uint8_t RESERVED_27[12];
  28116. __IO uint32_t OTPMK3; /**< Value of OTP Bank2 Word3 (OTPMK Key), offset: 0x530 */
  28117. uint8_t RESERVED_28[12];
  28118. __IO uint32_t OTPMK4; /**< Value of OTP Bank2 Word4 (OTPMK Key), offset: 0x540 */
  28119. uint8_t RESERVED_29[12];
  28120. __IO uint32_t OTPMK5; /**< Value of OTP Bank2 Word5 (OTPMK Key), offset: 0x550 */
  28121. uint8_t RESERVED_30[12];
  28122. __IO uint32_t OTPMK6; /**< Value of OTP Bank2 Word6 (OTPMK Key), offset: 0x560 */
  28123. uint8_t RESERVED_31[12];
  28124. __IO uint32_t OTPMK7; /**< Value of OTP Bank2 Word7 (OTPMK Key), offset: 0x570 */
  28125. uint8_t RESERVED_32[12];
  28126. __IO uint32_t SRK0; /**< Shadow Register for OTP Bank3 Word0 (SRK Hash), offset: 0x580 */
  28127. uint8_t RESERVED_33[12];
  28128. __IO uint32_t SRK1; /**< Shadow Register for OTP Bank3 Word1 (SRK Hash), offset: 0x590 */
  28129. uint8_t RESERVED_34[12];
  28130. __IO uint32_t SRK2; /**< Shadow Register for OTP Bank3 Word2 (SRK Hash), offset: 0x5A0 */
  28131. uint8_t RESERVED_35[12];
  28132. __IO uint32_t SRK3; /**< Shadow Register for OTP Bank3 Word3 (SRK Hash), offset: 0x5B0 */
  28133. uint8_t RESERVED_36[12];
  28134. __IO uint32_t SRK4; /**< Shadow Register for OTP Bank3 Word4 (SRK Hash), offset: 0x5C0 */
  28135. uint8_t RESERVED_37[12];
  28136. __IO uint32_t SRK5; /**< Shadow Register for OTP Bank3 Word5 (SRK Hash), offset: 0x5D0 */
  28137. uint8_t RESERVED_38[12];
  28138. __IO uint32_t SRK6; /**< Shadow Register for OTP Bank3 Word6 (SRK Hash), offset: 0x5E0 */
  28139. uint8_t RESERVED_39[12];
  28140. __IO uint32_t SRK7; /**< Shadow Register for OTP Bank3 Word7 (SRK Hash), offset: 0x5F0 */
  28141. uint8_t RESERVED_40[12];
  28142. __IO uint32_t SJC_RESP0; /**< Value of OTP Bank4 Word0 (Secure JTAG Response Field), offset: 0x600 */
  28143. uint8_t RESERVED_41[12];
  28144. __IO uint32_t SJC_RESP1; /**< Value of OTP Bank4 Word1 (Secure JTAG Response Field), offset: 0x610 */
  28145. uint8_t RESERVED_42[12];
  28146. __IO uint32_t MAC0; /**< Value of OTP Bank4 Word2 (MAC Address), offset: 0x620 */
  28147. uint8_t RESERVED_43[12];
  28148. __IO uint32_t MAC1; /**< Value of OTP Bank4 Word3 (MAC Address), offset: 0x630 */
  28149. uint8_t RESERVED_44[12];
  28150. __IO uint32_t MAC2; /**< Value of OTP Bank4 Word4 (MAC2 Address), offset: 0x640 */
  28151. uint8_t RESERVED_45[12];
  28152. __IO uint32_t OTPMK_CRC32; /**< Value of OTP Bank4 Word5 (CRC Key), offset: 0x650 */
  28153. uint8_t RESERVED_46[12];
  28154. __IO uint32_t GP1; /**< Value of OTP Bank4 Word6 (General Purpose Customer Defined Info), offset: 0x660 */
  28155. uint8_t RESERVED_47[12];
  28156. __IO uint32_t GP2; /**< Value of OTP Bank4 Word7 (General Purpose Customer Defined Info), offset: 0x670 */
  28157. uint8_t RESERVED_48[12];
  28158. __IO uint32_t SW_GP1; /**< Value of OTP Bank5 Word0 (SW GP1), offset: 0x680 */
  28159. uint8_t RESERVED_49[12];
  28160. __IO uint32_t SW_GP20; /**< Value of OTP Bank5 Word1 (SW GP2), offset: 0x690 */
  28161. uint8_t RESERVED_50[12];
  28162. __IO uint32_t SW_GP21; /**< Value of OTP Bank5 Word2 (SW GP2), offset: 0x6A0 */
  28163. uint8_t RESERVED_51[12];
  28164. __IO uint32_t SW_GP22; /**< Value of OTP Bank5 Word3 (SW GP2), offset: 0x6B0 */
  28165. uint8_t RESERVED_52[12];
  28166. __IO uint32_t SW_GP23; /**< Value of OTP Bank5 Word4 (SW GP2), offset: 0x6C0 */
  28167. uint8_t RESERVED_53[12];
  28168. __IO uint32_t MISC_CONF0; /**< Value of OTP Bank5 Word5 (Misc Conf), offset: 0x6D0 */
  28169. uint8_t RESERVED_54[12];
  28170. __IO uint32_t MISC_CONF1; /**< Value of OTP Bank5 Word6 (Misc Conf), offset: 0x6E0 */
  28171. uint8_t RESERVED_55[12];
  28172. __IO uint32_t SRK_REVOKE; /**< Value of OTP Bank5 Word7 (SRK Revoke), offset: 0x6F0 */
  28173. uint8_t RESERVED_56[268];
  28174. __IO uint32_t ROM_PATCH0; /**< Value of OTP Bank6 Word0 (ROM Patch), offset: 0x800 */
  28175. uint8_t RESERVED_57[12];
  28176. __IO uint32_t ROM_PATCH1; /**< Value of OTP Bank6 Word1 (ROM Patch), offset: 0x810 */
  28177. uint8_t RESERVED_58[12];
  28178. __IO uint32_t ROM_PATCH2; /**< Value of OTP Bank6 Word2 (ROM Patch), offset: 0x820 */
  28179. uint8_t RESERVED_59[12];
  28180. __IO uint32_t ROM_PATCH3; /**< Value of OTP Bank6 Word3 (ROM Patch), offset: 0x830 */
  28181. uint8_t RESERVED_60[12];
  28182. __IO uint32_t ROM_PATCH4; /**< Value of OTP Bank6 Word4 (ROM Patch), offset: 0x840 */
  28183. uint8_t RESERVED_61[12];
  28184. __IO uint32_t ROM_PATCH5; /**< Value of OTP Bank6 Word5 (ROM Patch), offset: 0x850 */
  28185. uint8_t RESERVED_62[12];
  28186. __IO uint32_t ROM_PATCH6; /**< Value of OTP Bank6 Word6 (ROM Patch), offset: 0x860 */
  28187. uint8_t RESERVED_63[12];
  28188. __IO uint32_t ROM_PATCH7; /**< Value of OTP Bank6 Word7 (ROM Patch), offset: 0x870 */
  28189. uint8_t RESERVED_64[12];
  28190. __IO uint32_t GP30; /**< Value of OTP Bank7 Word0 (GP3), offset: 0x880 */
  28191. uint8_t RESERVED_65[12];
  28192. __IO uint32_t GP31; /**< Value of OTP Bank7 Word1 (GP3), offset: 0x890 */
  28193. uint8_t RESERVED_66[12];
  28194. __IO uint32_t GP32; /**< Value of OTP Bank7 Word2 (GP3), offset: 0x8A0 */
  28195. uint8_t RESERVED_67[12];
  28196. __IO uint32_t GP33; /**< Value of OTP Bank7 Word3 (GP3), offset: 0x8B0 */
  28197. uint8_t RESERVED_68[12];
  28198. __IO uint32_t GP40; /**< Value of OTP Bank7 Word4 (GP4), offset: 0x8C0 */
  28199. uint8_t RESERVED_69[12];
  28200. __IO uint32_t GP41; /**< Value of OTP Bank7 Word5 (GP4), offset: 0x8D0 */
  28201. uint8_t RESERVED_70[12];
  28202. __IO uint32_t GP42; /**< Value of OTP Bank7 Word6 (GP4), offset: 0x8E0 */
  28203. uint8_t RESERVED_71[12];
  28204. __IO uint32_t GP43; /**< Value of OTP Bank7 Word7 (GP4), offset: 0x8F0 */
  28205. } OCOTP_Type;
  28206. /* ----------------------------------------------------------------------------
  28207. -- OCOTP Register Masks
  28208. ---------------------------------------------------------------------------- */
  28209. /*!
  28210. * @addtogroup OCOTP_Register_Masks OCOTP Register Masks
  28211. * @{
  28212. */
  28213. /*! @name CTRL - OTP Controller Control Register */
  28214. /*! @{ */
  28215. #define OCOTP_CTRL_ADDR_MASK (0x3FU)
  28216. #define OCOTP_CTRL_ADDR_SHIFT (0U)
  28217. /*! ADDR - ADDR
  28218. */
  28219. #define OCOTP_CTRL_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_ADDR_SHIFT)) & OCOTP_CTRL_ADDR_MASK)
  28220. #define OCOTP_CTRL_RSVD0_MASK (0xC0U)
  28221. #define OCOTP_CTRL_RSVD0_SHIFT (6U)
  28222. /*! RSVD0 - RSVD0
  28223. */
  28224. #define OCOTP_CTRL_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_RSVD0_SHIFT)) & OCOTP_CTRL_RSVD0_MASK)
  28225. #define OCOTP_CTRL_BUSY_MASK (0x100U)
  28226. #define OCOTP_CTRL_BUSY_SHIFT (8U)
  28227. /*! BUSY - BUSY
  28228. */
  28229. #define OCOTP_CTRL_BUSY(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_BUSY_SHIFT)) & OCOTP_CTRL_BUSY_MASK)
  28230. #define OCOTP_CTRL_ERROR_MASK (0x200U)
  28231. #define OCOTP_CTRL_ERROR_SHIFT (9U)
  28232. /*! ERROR - ERROR
  28233. */
  28234. #define OCOTP_CTRL_ERROR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_ERROR_SHIFT)) & OCOTP_CTRL_ERROR_MASK)
  28235. #define OCOTP_CTRL_RELOAD_SHADOWS_MASK (0x400U)
  28236. #define OCOTP_CTRL_RELOAD_SHADOWS_SHIFT (10U)
  28237. /*! RELOAD_SHADOWS - RELOAD_SHADOWS
  28238. */
  28239. #define OCOTP_CTRL_RELOAD_SHADOWS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_RELOAD_SHADOWS_SHIFT)) & OCOTP_CTRL_RELOAD_SHADOWS_MASK)
  28240. #define OCOTP_CTRL_CRC_TEST_MASK (0x800U)
  28241. #define OCOTP_CTRL_CRC_TEST_SHIFT (11U)
  28242. /*! CRC_TEST - CRC_TEST
  28243. */
  28244. #define OCOTP_CTRL_CRC_TEST(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CRC_TEST_SHIFT)) & OCOTP_CTRL_CRC_TEST_MASK)
  28245. #define OCOTP_CTRL_CRC_FAIL_MASK (0x1000U)
  28246. #define OCOTP_CTRL_CRC_FAIL_SHIFT (12U)
  28247. /*! CRC_FAIL - CRC_FAIL
  28248. */
  28249. #define OCOTP_CTRL_CRC_FAIL(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CRC_FAIL_SHIFT)) & OCOTP_CTRL_CRC_FAIL_MASK)
  28250. #define OCOTP_CTRL_RSVD1_MASK (0xE000U)
  28251. #define OCOTP_CTRL_RSVD1_SHIFT (13U)
  28252. /*! RSVD1 - RSVD1
  28253. */
  28254. #define OCOTP_CTRL_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_RSVD1_SHIFT)) & OCOTP_CTRL_RSVD1_MASK)
  28255. #define OCOTP_CTRL_WR_UNLOCK_MASK (0xFFFF0000U)
  28256. #define OCOTP_CTRL_WR_UNLOCK_SHIFT (16U)
  28257. /*! WR_UNLOCK - WR_UNLOCK
  28258. * 0b0011111001110111..Key needed to unlock HW_OCOTP_DATA register.
  28259. */
  28260. #define OCOTP_CTRL_WR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_WR_UNLOCK_SHIFT)) & OCOTP_CTRL_WR_UNLOCK_MASK)
  28261. /*! @} */
  28262. /*! @name CTRL_SET - OTP Controller Control Register */
  28263. /*! @{ */
  28264. #define OCOTP_CTRL_SET_ADDR_MASK (0x3FU)
  28265. #define OCOTP_CTRL_SET_ADDR_SHIFT (0U)
  28266. /*! ADDR - ADDR
  28267. */
  28268. #define OCOTP_CTRL_SET_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_ADDR_SHIFT)) & OCOTP_CTRL_SET_ADDR_MASK)
  28269. #define OCOTP_CTRL_SET_RSVD0_MASK (0xC0U)
  28270. #define OCOTP_CTRL_SET_RSVD0_SHIFT (6U)
  28271. /*! RSVD0 - RSVD0
  28272. */
  28273. #define OCOTP_CTRL_SET_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_RSVD0_SHIFT)) & OCOTP_CTRL_SET_RSVD0_MASK)
  28274. #define OCOTP_CTRL_SET_BUSY_MASK (0x100U)
  28275. #define OCOTP_CTRL_SET_BUSY_SHIFT (8U)
  28276. /*! BUSY - BUSY
  28277. */
  28278. #define OCOTP_CTRL_SET_BUSY(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_BUSY_SHIFT)) & OCOTP_CTRL_SET_BUSY_MASK)
  28279. #define OCOTP_CTRL_SET_ERROR_MASK (0x200U)
  28280. #define OCOTP_CTRL_SET_ERROR_SHIFT (9U)
  28281. /*! ERROR - ERROR
  28282. */
  28283. #define OCOTP_CTRL_SET_ERROR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_ERROR_SHIFT)) & OCOTP_CTRL_SET_ERROR_MASK)
  28284. #define OCOTP_CTRL_SET_RELOAD_SHADOWS_MASK (0x400U)
  28285. #define OCOTP_CTRL_SET_RELOAD_SHADOWS_SHIFT (10U)
  28286. /*! RELOAD_SHADOWS - RELOAD_SHADOWS
  28287. */
  28288. #define OCOTP_CTRL_SET_RELOAD_SHADOWS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_RELOAD_SHADOWS_SHIFT)) & OCOTP_CTRL_SET_RELOAD_SHADOWS_MASK)
  28289. #define OCOTP_CTRL_SET_CRC_TEST_MASK (0x800U)
  28290. #define OCOTP_CTRL_SET_CRC_TEST_SHIFT (11U)
  28291. /*! CRC_TEST - CRC_TEST
  28292. */
  28293. #define OCOTP_CTRL_SET_CRC_TEST(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_CRC_TEST_SHIFT)) & OCOTP_CTRL_SET_CRC_TEST_MASK)
  28294. #define OCOTP_CTRL_SET_CRC_FAIL_MASK (0x1000U)
  28295. #define OCOTP_CTRL_SET_CRC_FAIL_SHIFT (12U)
  28296. /*! CRC_FAIL - CRC_FAIL
  28297. */
  28298. #define OCOTP_CTRL_SET_CRC_FAIL(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_CRC_FAIL_SHIFT)) & OCOTP_CTRL_SET_CRC_FAIL_MASK)
  28299. #define OCOTP_CTRL_SET_RSVD1_MASK (0xE000U)
  28300. #define OCOTP_CTRL_SET_RSVD1_SHIFT (13U)
  28301. /*! RSVD1 - RSVD1
  28302. */
  28303. #define OCOTP_CTRL_SET_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_RSVD1_SHIFT)) & OCOTP_CTRL_SET_RSVD1_MASK)
  28304. #define OCOTP_CTRL_SET_WR_UNLOCK_MASK (0xFFFF0000U)
  28305. #define OCOTP_CTRL_SET_WR_UNLOCK_SHIFT (16U)
  28306. /*! WR_UNLOCK - WR_UNLOCK
  28307. */
  28308. #define OCOTP_CTRL_SET_WR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_WR_UNLOCK_SHIFT)) & OCOTP_CTRL_SET_WR_UNLOCK_MASK)
  28309. /*! @} */
  28310. /*! @name CTRL_CLR - OTP Controller Control Register */
  28311. /*! @{ */
  28312. #define OCOTP_CTRL_CLR_ADDR_MASK (0x3FU)
  28313. #define OCOTP_CTRL_CLR_ADDR_SHIFT (0U)
  28314. /*! ADDR - ADDR
  28315. */
  28316. #define OCOTP_CTRL_CLR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_ADDR_SHIFT)) & OCOTP_CTRL_CLR_ADDR_MASK)
  28317. #define OCOTP_CTRL_CLR_RSVD0_MASK (0xC0U)
  28318. #define OCOTP_CTRL_CLR_RSVD0_SHIFT (6U)
  28319. /*! RSVD0 - RSVD0
  28320. */
  28321. #define OCOTP_CTRL_CLR_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_RSVD0_SHIFT)) & OCOTP_CTRL_CLR_RSVD0_MASK)
  28322. #define OCOTP_CTRL_CLR_BUSY_MASK (0x100U)
  28323. #define OCOTP_CTRL_CLR_BUSY_SHIFT (8U)
  28324. /*! BUSY - BUSY
  28325. */
  28326. #define OCOTP_CTRL_CLR_BUSY(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_BUSY_SHIFT)) & OCOTP_CTRL_CLR_BUSY_MASK)
  28327. #define OCOTP_CTRL_CLR_ERROR_MASK (0x200U)
  28328. #define OCOTP_CTRL_CLR_ERROR_SHIFT (9U)
  28329. /*! ERROR - ERROR
  28330. */
  28331. #define OCOTP_CTRL_CLR_ERROR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_ERROR_SHIFT)) & OCOTP_CTRL_CLR_ERROR_MASK)
  28332. #define OCOTP_CTRL_CLR_RELOAD_SHADOWS_MASK (0x400U)
  28333. #define OCOTP_CTRL_CLR_RELOAD_SHADOWS_SHIFT (10U)
  28334. /*! RELOAD_SHADOWS - RELOAD_SHADOWS
  28335. */
  28336. #define OCOTP_CTRL_CLR_RELOAD_SHADOWS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_RELOAD_SHADOWS_SHIFT)) & OCOTP_CTRL_CLR_RELOAD_SHADOWS_MASK)
  28337. #define OCOTP_CTRL_CLR_CRC_TEST_MASK (0x800U)
  28338. #define OCOTP_CTRL_CLR_CRC_TEST_SHIFT (11U)
  28339. /*! CRC_TEST - CRC_TEST
  28340. */
  28341. #define OCOTP_CTRL_CLR_CRC_TEST(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_CRC_TEST_SHIFT)) & OCOTP_CTRL_CLR_CRC_TEST_MASK)
  28342. #define OCOTP_CTRL_CLR_CRC_FAIL_MASK (0x1000U)
  28343. #define OCOTP_CTRL_CLR_CRC_FAIL_SHIFT (12U)
  28344. /*! CRC_FAIL - CRC_FAIL
  28345. */
  28346. #define OCOTP_CTRL_CLR_CRC_FAIL(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_CRC_FAIL_SHIFT)) & OCOTP_CTRL_CLR_CRC_FAIL_MASK)
  28347. #define OCOTP_CTRL_CLR_RSVD1_MASK (0xE000U)
  28348. #define OCOTP_CTRL_CLR_RSVD1_SHIFT (13U)
  28349. /*! RSVD1 - RSVD1
  28350. */
  28351. #define OCOTP_CTRL_CLR_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_RSVD1_SHIFT)) & OCOTP_CTRL_CLR_RSVD1_MASK)
  28352. #define OCOTP_CTRL_CLR_WR_UNLOCK_MASK (0xFFFF0000U)
  28353. #define OCOTP_CTRL_CLR_WR_UNLOCK_SHIFT (16U)
  28354. /*! WR_UNLOCK - WR_UNLOCK
  28355. */
  28356. #define OCOTP_CTRL_CLR_WR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_WR_UNLOCK_SHIFT)) & OCOTP_CTRL_CLR_WR_UNLOCK_MASK)
  28357. /*! @} */
  28358. /*! @name CTRL_TOG - OTP Controller Control Register */
  28359. /*! @{ */
  28360. #define OCOTP_CTRL_TOG_ADDR_MASK (0x3FU)
  28361. #define OCOTP_CTRL_TOG_ADDR_SHIFT (0U)
  28362. /*! ADDR - ADDR
  28363. */
  28364. #define OCOTP_CTRL_TOG_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_ADDR_SHIFT)) & OCOTP_CTRL_TOG_ADDR_MASK)
  28365. #define OCOTP_CTRL_TOG_RSVD0_MASK (0xC0U)
  28366. #define OCOTP_CTRL_TOG_RSVD0_SHIFT (6U)
  28367. /*! RSVD0 - RSVD0
  28368. */
  28369. #define OCOTP_CTRL_TOG_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_RSVD0_SHIFT)) & OCOTP_CTRL_TOG_RSVD0_MASK)
  28370. #define OCOTP_CTRL_TOG_BUSY_MASK (0x100U)
  28371. #define OCOTP_CTRL_TOG_BUSY_SHIFT (8U)
  28372. /*! BUSY - BUSY
  28373. */
  28374. #define OCOTP_CTRL_TOG_BUSY(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_BUSY_SHIFT)) & OCOTP_CTRL_TOG_BUSY_MASK)
  28375. #define OCOTP_CTRL_TOG_ERROR_MASK (0x200U)
  28376. #define OCOTP_CTRL_TOG_ERROR_SHIFT (9U)
  28377. /*! ERROR - ERROR
  28378. */
  28379. #define OCOTP_CTRL_TOG_ERROR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_ERROR_SHIFT)) & OCOTP_CTRL_TOG_ERROR_MASK)
  28380. #define OCOTP_CTRL_TOG_RELOAD_SHADOWS_MASK (0x400U)
  28381. #define OCOTP_CTRL_TOG_RELOAD_SHADOWS_SHIFT (10U)
  28382. /*! RELOAD_SHADOWS - RELOAD_SHADOWS
  28383. */
  28384. #define OCOTP_CTRL_TOG_RELOAD_SHADOWS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_RELOAD_SHADOWS_SHIFT)) & OCOTP_CTRL_TOG_RELOAD_SHADOWS_MASK)
  28385. #define OCOTP_CTRL_TOG_CRC_TEST_MASK (0x800U)
  28386. #define OCOTP_CTRL_TOG_CRC_TEST_SHIFT (11U)
  28387. /*! CRC_TEST - CRC_TEST
  28388. */
  28389. #define OCOTP_CTRL_TOG_CRC_TEST(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_CRC_TEST_SHIFT)) & OCOTP_CTRL_TOG_CRC_TEST_MASK)
  28390. #define OCOTP_CTRL_TOG_CRC_FAIL_MASK (0x1000U)
  28391. #define OCOTP_CTRL_TOG_CRC_FAIL_SHIFT (12U)
  28392. /*! CRC_FAIL - CRC_FAIL
  28393. */
  28394. #define OCOTP_CTRL_TOG_CRC_FAIL(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_CRC_FAIL_SHIFT)) & OCOTP_CTRL_TOG_CRC_FAIL_MASK)
  28395. #define OCOTP_CTRL_TOG_RSVD1_MASK (0xE000U)
  28396. #define OCOTP_CTRL_TOG_RSVD1_SHIFT (13U)
  28397. /*! RSVD1 - RSVD1
  28398. */
  28399. #define OCOTP_CTRL_TOG_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_RSVD1_SHIFT)) & OCOTP_CTRL_TOG_RSVD1_MASK)
  28400. #define OCOTP_CTRL_TOG_WR_UNLOCK_MASK (0xFFFF0000U)
  28401. #define OCOTP_CTRL_TOG_WR_UNLOCK_SHIFT (16U)
  28402. /*! WR_UNLOCK - WR_UNLOCK
  28403. */
  28404. #define OCOTP_CTRL_TOG_WR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_WR_UNLOCK_SHIFT)) & OCOTP_CTRL_TOG_WR_UNLOCK_MASK)
  28405. /*! @} */
  28406. /*! @name TIMING - OTP Controller Timing Register */
  28407. /*! @{ */
  28408. #define OCOTP_TIMING_STROBE_PROG_MASK (0xFFFU)
  28409. #define OCOTP_TIMING_STROBE_PROG_SHIFT (0U)
  28410. /*! STROBE_PROG - STROBE_PROG
  28411. */
  28412. #define OCOTP_TIMING_STROBE_PROG(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_TIMING_STROBE_PROG_SHIFT)) & OCOTP_TIMING_STROBE_PROG_MASK)
  28413. #define OCOTP_TIMING_RELAX_MASK (0xF000U)
  28414. #define OCOTP_TIMING_RELAX_SHIFT (12U)
  28415. /*! RELAX - RELAX
  28416. */
  28417. #define OCOTP_TIMING_RELAX(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_TIMING_RELAX_SHIFT)) & OCOTP_TIMING_RELAX_MASK)
  28418. #define OCOTP_TIMING_STROBE_READ_MASK (0x3F0000U)
  28419. #define OCOTP_TIMING_STROBE_READ_SHIFT (16U)
  28420. /*! STROBE_READ - STROBE_READ
  28421. */
  28422. #define OCOTP_TIMING_STROBE_READ(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_TIMING_STROBE_READ_SHIFT)) & OCOTP_TIMING_STROBE_READ_MASK)
  28423. #define OCOTP_TIMING_WAIT_MASK (0xFC00000U)
  28424. #define OCOTP_TIMING_WAIT_SHIFT (22U)
  28425. /*! WAIT - WAIT
  28426. */
  28427. #define OCOTP_TIMING_WAIT(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_TIMING_WAIT_SHIFT)) & OCOTP_TIMING_WAIT_MASK)
  28428. #define OCOTP_TIMING_RSRVD0_MASK (0xF0000000U)
  28429. #define OCOTP_TIMING_RSRVD0_SHIFT (28U)
  28430. /*! RSRVD0 - RSRVD0
  28431. */
  28432. #define OCOTP_TIMING_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_TIMING_RSRVD0_SHIFT)) & OCOTP_TIMING_RSRVD0_MASK)
  28433. /*! @} */
  28434. /*! @name DATA - OTP Controller Write Data Register */
  28435. /*! @{ */
  28436. #define OCOTP_DATA_DATA_MASK (0xFFFFFFFFU)
  28437. #define OCOTP_DATA_DATA_SHIFT (0U)
  28438. /*! DATA - DATA
  28439. */
  28440. #define OCOTP_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_DATA_DATA_SHIFT)) & OCOTP_DATA_DATA_MASK)
  28441. /*! @} */
  28442. /*! @name READ_CTRL - OTP Controller Write Data Register */
  28443. /*! @{ */
  28444. #define OCOTP_READ_CTRL_READ_FUSE_MASK (0x1U)
  28445. #define OCOTP_READ_CTRL_READ_FUSE_SHIFT (0U)
  28446. /*! READ_FUSE - READ_FUSE
  28447. */
  28448. #define OCOTP_READ_CTRL_READ_FUSE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_READ_CTRL_READ_FUSE_SHIFT)) & OCOTP_READ_CTRL_READ_FUSE_MASK)
  28449. #define OCOTP_READ_CTRL_RSVD0_MASK (0xFFFFFFFEU)
  28450. #define OCOTP_READ_CTRL_RSVD0_SHIFT (1U)
  28451. /*! RSVD0 - RSVD0
  28452. */
  28453. #define OCOTP_READ_CTRL_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_READ_CTRL_RSVD0_SHIFT)) & OCOTP_READ_CTRL_RSVD0_MASK)
  28454. /*! @} */
  28455. /*! @name READ_FUSE_DATA - OTP Controller Read Data Register */
  28456. /*! @{ */
  28457. #define OCOTP_READ_FUSE_DATA_DATA_MASK (0xFFFFFFFFU)
  28458. #define OCOTP_READ_FUSE_DATA_DATA_SHIFT (0U)
  28459. /*! DATA - DATA
  28460. */
  28461. #define OCOTP_READ_FUSE_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_READ_FUSE_DATA_DATA_SHIFT)) & OCOTP_READ_FUSE_DATA_DATA_MASK)
  28462. /*! @} */
  28463. /*! @name SW_STICKY - Sticky bit Register */
  28464. /*! @{ */
  28465. #define OCOTP_SW_STICKY_BLOCK_DTCP_KEY_MASK (0x1U)
  28466. #define OCOTP_SW_STICKY_BLOCK_DTCP_KEY_SHIFT (0U)
  28467. /*! BLOCK_DTCP_KEY - BLOCK_DTCP_KEY
  28468. */
  28469. #define OCOTP_SW_STICKY_BLOCK_DTCP_KEY(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SW_STICKY_BLOCK_DTCP_KEY_SHIFT)) & OCOTP_SW_STICKY_BLOCK_DTCP_KEY_MASK)
  28470. #define OCOTP_SW_STICKY_SRK_REVOKE_LOCK_MASK (0x2U)
  28471. #define OCOTP_SW_STICKY_SRK_REVOKE_LOCK_SHIFT (1U)
  28472. /*! SRK_REVOKE_LOCK - SRK_REVOKE_LOCK
  28473. */
  28474. #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)
  28475. #define OCOTP_SW_STICKY_FIELD_RETURN_LOCK_MASK (0x4U)
  28476. #define OCOTP_SW_STICKY_FIELD_RETURN_LOCK_SHIFT (2U)
  28477. /*! FIELD_RETURN_LOCK - FIELD_RETURN_LOCK
  28478. */
  28479. #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)
  28480. #define OCOTP_SW_STICKY_BLOCK_ROM_PART_MASK (0x8U)
  28481. #define OCOTP_SW_STICKY_BLOCK_ROM_PART_SHIFT (3U)
  28482. /*! BLOCK_ROM_PART - BLOCK_ROM_PART
  28483. */
  28484. #define OCOTP_SW_STICKY_BLOCK_ROM_PART(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SW_STICKY_BLOCK_ROM_PART_SHIFT)) & OCOTP_SW_STICKY_BLOCK_ROM_PART_MASK)
  28485. #define OCOTP_SW_STICKY_JTAG_BLOCK_RELEASE_MASK (0x10U)
  28486. #define OCOTP_SW_STICKY_JTAG_BLOCK_RELEASE_SHIFT (4U)
  28487. /*! JTAG_BLOCK_RELEASE - JTAG_BLOCK_RELEASE
  28488. */
  28489. #define OCOTP_SW_STICKY_JTAG_BLOCK_RELEASE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SW_STICKY_JTAG_BLOCK_RELEASE_SHIFT)) & OCOTP_SW_STICKY_JTAG_BLOCK_RELEASE_MASK)
  28490. #define OCOTP_SW_STICKY_RSVD0_MASK (0xFFFFFFE0U)
  28491. #define OCOTP_SW_STICKY_RSVD0_SHIFT (5U)
  28492. /*! RSVD0 - RSVD0
  28493. */
  28494. #define OCOTP_SW_STICKY_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SW_STICKY_RSVD0_SHIFT)) & OCOTP_SW_STICKY_RSVD0_MASK)
  28495. /*! @} */
  28496. /*! @name SCS - Software Controllable Signals Register */
  28497. /*! @{ */
  28498. #define OCOTP_SCS_HAB_JDE_MASK (0x1U)
  28499. #define OCOTP_SCS_HAB_JDE_SHIFT (0U)
  28500. /*! HAB_JDE - HAB_JDE
  28501. */
  28502. #define OCOTP_SCS_HAB_JDE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_HAB_JDE_SHIFT)) & OCOTP_SCS_HAB_JDE_MASK)
  28503. #define OCOTP_SCS_SPARE_MASK (0x7FFFFFFEU)
  28504. #define OCOTP_SCS_SPARE_SHIFT (1U)
  28505. /*! SPARE - SPARE
  28506. */
  28507. #define OCOTP_SCS_SPARE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_SPARE_SHIFT)) & OCOTP_SCS_SPARE_MASK)
  28508. #define OCOTP_SCS_LOCK_MASK (0x80000000U)
  28509. #define OCOTP_SCS_LOCK_SHIFT (31U)
  28510. /*! LOCK - LOCK
  28511. */
  28512. #define OCOTP_SCS_LOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_LOCK_SHIFT)) & OCOTP_SCS_LOCK_MASK)
  28513. /*! @} */
  28514. /*! @name SCS_SET - Software Controllable Signals Register */
  28515. /*! @{ */
  28516. #define OCOTP_SCS_SET_HAB_JDE_MASK (0x1U)
  28517. #define OCOTP_SCS_SET_HAB_JDE_SHIFT (0U)
  28518. /*! HAB_JDE - HAB_JDE
  28519. */
  28520. #define OCOTP_SCS_SET_HAB_JDE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_SET_HAB_JDE_SHIFT)) & OCOTP_SCS_SET_HAB_JDE_MASK)
  28521. #define OCOTP_SCS_SET_SPARE_MASK (0x7FFFFFFEU)
  28522. #define OCOTP_SCS_SET_SPARE_SHIFT (1U)
  28523. /*! SPARE - SPARE
  28524. */
  28525. #define OCOTP_SCS_SET_SPARE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_SET_SPARE_SHIFT)) & OCOTP_SCS_SET_SPARE_MASK)
  28526. #define OCOTP_SCS_SET_LOCK_MASK (0x80000000U)
  28527. #define OCOTP_SCS_SET_LOCK_SHIFT (31U)
  28528. /*! LOCK - LOCK
  28529. */
  28530. #define OCOTP_SCS_SET_LOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_SET_LOCK_SHIFT)) & OCOTP_SCS_SET_LOCK_MASK)
  28531. /*! @} */
  28532. /*! @name SCS_CLR - Software Controllable Signals Register */
  28533. /*! @{ */
  28534. #define OCOTP_SCS_CLR_HAB_JDE_MASK (0x1U)
  28535. #define OCOTP_SCS_CLR_HAB_JDE_SHIFT (0U)
  28536. /*! HAB_JDE - HAB_JDE
  28537. */
  28538. #define OCOTP_SCS_CLR_HAB_JDE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_CLR_HAB_JDE_SHIFT)) & OCOTP_SCS_CLR_HAB_JDE_MASK)
  28539. #define OCOTP_SCS_CLR_SPARE_MASK (0x7FFFFFFEU)
  28540. #define OCOTP_SCS_CLR_SPARE_SHIFT (1U)
  28541. /*! SPARE - SPARE
  28542. */
  28543. #define OCOTP_SCS_CLR_SPARE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_CLR_SPARE_SHIFT)) & OCOTP_SCS_CLR_SPARE_MASK)
  28544. #define OCOTP_SCS_CLR_LOCK_MASK (0x80000000U)
  28545. #define OCOTP_SCS_CLR_LOCK_SHIFT (31U)
  28546. /*! LOCK - LOCK
  28547. */
  28548. #define OCOTP_SCS_CLR_LOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_CLR_LOCK_SHIFT)) & OCOTP_SCS_CLR_LOCK_MASK)
  28549. /*! @} */
  28550. /*! @name SCS_TOG - Software Controllable Signals Register */
  28551. /*! @{ */
  28552. #define OCOTP_SCS_TOG_HAB_JDE_MASK (0x1U)
  28553. #define OCOTP_SCS_TOG_HAB_JDE_SHIFT (0U)
  28554. /*! HAB_JDE - HAB_JDE
  28555. */
  28556. #define OCOTP_SCS_TOG_HAB_JDE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_TOG_HAB_JDE_SHIFT)) & OCOTP_SCS_TOG_HAB_JDE_MASK)
  28557. #define OCOTP_SCS_TOG_SPARE_MASK (0x7FFFFFFEU)
  28558. #define OCOTP_SCS_TOG_SPARE_SHIFT (1U)
  28559. /*! SPARE - SPARE
  28560. */
  28561. #define OCOTP_SCS_TOG_SPARE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_TOG_SPARE_SHIFT)) & OCOTP_SCS_TOG_SPARE_MASK)
  28562. #define OCOTP_SCS_TOG_LOCK_MASK (0x80000000U)
  28563. #define OCOTP_SCS_TOG_LOCK_SHIFT (31U)
  28564. /*! LOCK - LOCK
  28565. */
  28566. #define OCOTP_SCS_TOG_LOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SCS_TOG_LOCK_SHIFT)) & OCOTP_SCS_TOG_LOCK_MASK)
  28567. /*! @} */
  28568. /*! @name CRC_ADDR - OTP Controller CRC test address */
  28569. /*! @{ */
  28570. #define OCOTP_CRC_ADDR_DATA_START_ADDR_MASK (0xFFU)
  28571. #define OCOTP_CRC_ADDR_DATA_START_ADDR_SHIFT (0U)
  28572. /*! DATA_START_ADDR - DATA_START_ADDR
  28573. */
  28574. #define OCOTP_CRC_ADDR_DATA_START_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CRC_ADDR_DATA_START_ADDR_SHIFT)) & OCOTP_CRC_ADDR_DATA_START_ADDR_MASK)
  28575. #define OCOTP_CRC_ADDR_DATA_END_ADDR_MASK (0xFF00U)
  28576. #define OCOTP_CRC_ADDR_DATA_END_ADDR_SHIFT (8U)
  28577. /*! DATA_END_ADDR - DATA_END_ADDR
  28578. */
  28579. #define OCOTP_CRC_ADDR_DATA_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CRC_ADDR_DATA_END_ADDR_SHIFT)) & OCOTP_CRC_ADDR_DATA_END_ADDR_MASK)
  28580. #define OCOTP_CRC_ADDR_CRC_ADDR_MASK (0xFF0000U)
  28581. #define OCOTP_CRC_ADDR_CRC_ADDR_SHIFT (16U)
  28582. /*! CRC_ADDR - CRC_ADDR
  28583. */
  28584. #define OCOTP_CRC_ADDR_CRC_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CRC_ADDR_CRC_ADDR_SHIFT)) & OCOTP_CRC_ADDR_CRC_ADDR_MASK)
  28585. #define OCOTP_CRC_ADDR_OTPMK_CRC_MASK (0x1000000U)
  28586. #define OCOTP_CRC_ADDR_OTPMK_CRC_SHIFT (24U)
  28587. /*! OTPMK_CRC - OTPMK_CRC
  28588. */
  28589. #define OCOTP_CRC_ADDR_OTPMK_CRC(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CRC_ADDR_OTPMK_CRC_SHIFT)) & OCOTP_CRC_ADDR_OTPMK_CRC_MASK)
  28590. #define OCOTP_CRC_ADDR_RSVD0_MASK (0xFE000000U)
  28591. #define OCOTP_CRC_ADDR_RSVD0_SHIFT (25U)
  28592. /*! RSVD0 - RSVD0
  28593. */
  28594. #define OCOTP_CRC_ADDR_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CRC_ADDR_RSVD0_SHIFT)) & OCOTP_CRC_ADDR_RSVD0_MASK)
  28595. /*! @} */
  28596. /*! @name CRC_VALUE - OTP Controller CRC Value Register */
  28597. /*! @{ */
  28598. #define OCOTP_CRC_VALUE_DATA_MASK (0xFFFFFFFFU)
  28599. #define OCOTP_CRC_VALUE_DATA_SHIFT (0U)
  28600. /*! DATA - DATA
  28601. */
  28602. #define OCOTP_CRC_VALUE_DATA(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CRC_VALUE_DATA_SHIFT)) & OCOTP_CRC_VALUE_DATA_MASK)
  28603. /*! @} */
  28604. /*! @name VERSION - OTP Controller Version Register */
  28605. /*! @{ */
  28606. #define OCOTP_VERSION_STEP_MASK (0xFFFFU)
  28607. #define OCOTP_VERSION_STEP_SHIFT (0U)
  28608. /*! STEP - STEP
  28609. */
  28610. #define OCOTP_VERSION_STEP(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_VERSION_STEP_SHIFT)) & OCOTP_VERSION_STEP_MASK)
  28611. #define OCOTP_VERSION_MINOR_MASK (0xFF0000U)
  28612. #define OCOTP_VERSION_MINOR_SHIFT (16U)
  28613. /*! MINOR - MINOR
  28614. */
  28615. #define OCOTP_VERSION_MINOR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_VERSION_MINOR_SHIFT)) & OCOTP_VERSION_MINOR_MASK)
  28616. #define OCOTP_VERSION_MAJOR_MASK (0xFF000000U)
  28617. #define OCOTP_VERSION_MAJOR_SHIFT (24U)
  28618. /*! MAJOR - MAJOR
  28619. */
  28620. #define OCOTP_VERSION_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_VERSION_MAJOR_SHIFT)) & OCOTP_VERSION_MAJOR_MASK)
  28621. /*! @} */
  28622. /*! @name TIMING2 - OTP Controller Timing Register */
  28623. /*! @{ */
  28624. #define OCOTP_TIMING2_RELAX_PROG_MASK (0xFFFU)
  28625. #define OCOTP_TIMING2_RELAX_PROG_SHIFT (0U)
  28626. /*! RELAX_PROG - RELAX_PROG
  28627. */
  28628. #define OCOTP_TIMING2_RELAX_PROG(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_TIMING2_RELAX_PROG_SHIFT)) & OCOTP_TIMING2_RELAX_PROG_MASK)
  28629. #define OCOTP_TIMING2_RSRVD0_MASK (0xF000U)
  28630. #define OCOTP_TIMING2_RSRVD0_SHIFT (12U)
  28631. /*! RSRVD0 - RSRVD0
  28632. */
  28633. #define OCOTP_TIMING2_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_TIMING2_RSRVD0_SHIFT)) & OCOTP_TIMING2_RSRVD0_MASK)
  28634. #define OCOTP_TIMING2_RELAX_READ_MASK (0x3F0000U)
  28635. #define OCOTP_TIMING2_RELAX_READ_SHIFT (16U)
  28636. /*! RELAX_READ - RELAX_READ
  28637. */
  28638. #define OCOTP_TIMING2_RELAX_READ(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_TIMING2_RELAX_READ_SHIFT)) & OCOTP_TIMING2_RELAX_READ_MASK)
  28639. #define OCOTP_TIMING2_RSRVD1_MASK (0xFFC00000U)
  28640. #define OCOTP_TIMING2_RSRVD1_SHIFT (22U)
  28641. /*! RSRVD1 - RSRVD0
  28642. */
  28643. #define OCOTP_TIMING2_RSRVD1(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_TIMING2_RSRVD1_SHIFT)) & OCOTP_TIMING2_RSRVD1_MASK)
  28644. /*! @} */
  28645. /*! @name LOCK - Value of OTP Bank0 Word0 (Lock controls) */
  28646. /*! @{ */
  28647. #define OCOTP_LOCK_TESTER_MASK (0x3U)
  28648. #define OCOTP_LOCK_TESTER_SHIFT (0U)
  28649. /*! TESTER - TESTER
  28650. */
  28651. #define OCOTP_LOCK_TESTER(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_TESTER_SHIFT)) & OCOTP_LOCK_TESTER_MASK)
  28652. #define OCOTP_LOCK_BOOT_CFG_MASK (0xCU)
  28653. #define OCOTP_LOCK_BOOT_CFG_SHIFT (2U)
  28654. /*! BOOT_CFG - BOOT_CFG
  28655. */
  28656. #define OCOTP_LOCK_BOOT_CFG(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_BOOT_CFG_SHIFT)) & OCOTP_LOCK_BOOT_CFG_MASK)
  28657. #define OCOTP_LOCK_MEM_TRIM_MASK (0x30U)
  28658. #define OCOTP_LOCK_MEM_TRIM_SHIFT (4U)
  28659. /*! MEM_TRIM - MEM_TRIM
  28660. */
  28661. #define OCOTP_LOCK_MEM_TRIM(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_MEM_TRIM_SHIFT)) & OCOTP_LOCK_MEM_TRIM_MASK)
  28662. #define OCOTP_LOCK_SJC_RESP_MASK (0x40U)
  28663. #define OCOTP_LOCK_SJC_RESP_SHIFT (6U)
  28664. /*! SJC_RESP - SJC_RESP
  28665. */
  28666. #define OCOTP_LOCK_SJC_RESP(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_SJC_RESP_SHIFT)) & OCOTP_LOCK_SJC_RESP_MASK)
  28667. #define OCOTP_LOCK_GP4_RLOCK_MASK (0x80U)
  28668. #define OCOTP_LOCK_GP4_RLOCK_SHIFT (7U)
  28669. /*! GP4_RLOCK - GP4_RLOCK
  28670. */
  28671. #define OCOTP_LOCK_GP4_RLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_GP4_RLOCK_SHIFT)) & OCOTP_LOCK_GP4_RLOCK_MASK)
  28672. #define OCOTP_LOCK_MAC_ADDR_MASK (0x300U)
  28673. #define OCOTP_LOCK_MAC_ADDR_SHIFT (8U)
  28674. /*! MAC_ADDR - MAC_ADDR
  28675. */
  28676. #define OCOTP_LOCK_MAC_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_MAC_ADDR_SHIFT)) & OCOTP_LOCK_MAC_ADDR_MASK)
  28677. #define OCOTP_LOCK_GP1_MASK (0xC00U)
  28678. #define OCOTP_LOCK_GP1_SHIFT (10U)
  28679. /*! GP1 - GP1
  28680. */
  28681. #define OCOTP_LOCK_GP1(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_GP1_SHIFT)) & OCOTP_LOCK_GP1_MASK)
  28682. #define OCOTP_LOCK_GP2_MASK (0x3000U)
  28683. #define OCOTP_LOCK_GP2_SHIFT (12U)
  28684. /*! GP2 - GP2
  28685. */
  28686. #define OCOTP_LOCK_GP2(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_GP2_SHIFT)) & OCOTP_LOCK_GP2_MASK)
  28687. #define OCOTP_LOCK_ROM_PATCH_MASK (0x8000U)
  28688. #define OCOTP_LOCK_ROM_PATCH_SHIFT (15U)
  28689. /*! ROM_PATCH - ROM_PATCH
  28690. */
  28691. #define OCOTP_LOCK_ROM_PATCH(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_ROM_PATCH_SHIFT)) & OCOTP_LOCK_ROM_PATCH_MASK)
  28692. #define OCOTP_LOCK_SW_GP1_MASK (0x10000U)
  28693. #define OCOTP_LOCK_SW_GP1_SHIFT (16U)
  28694. /*! SW_GP1 - SW_GP1
  28695. */
  28696. #define OCOTP_LOCK_SW_GP1(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_SW_GP1_SHIFT)) & OCOTP_LOCK_SW_GP1_MASK)
  28697. #define OCOTP_LOCK_OTPMK_MASK (0x20000U)
  28698. #define OCOTP_LOCK_OTPMK_SHIFT (17U)
  28699. /*! OTPMK - OTPMK
  28700. */
  28701. #define OCOTP_LOCK_OTPMK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_OTPMK_SHIFT)) & OCOTP_LOCK_OTPMK_MASK)
  28702. #define OCOTP_LOCK_ANALOG_MASK (0xC0000U)
  28703. #define OCOTP_LOCK_ANALOG_SHIFT (18U)
  28704. /*! ANALOG - ANALOG
  28705. */
  28706. #define OCOTP_LOCK_ANALOG(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_ANALOG_SHIFT)) & OCOTP_LOCK_ANALOG_MASK)
  28707. #define OCOTP_LOCK_OTPMK_CRC_MASK (0x100000U)
  28708. #define OCOTP_LOCK_OTPMK_CRC_SHIFT (20U)
  28709. /*! OTPMK_CRC - OTPMK_CRC
  28710. */
  28711. #define OCOTP_LOCK_OTPMK_CRC(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_OTPMK_CRC_SHIFT)) & OCOTP_LOCK_OTPMK_CRC_MASK)
  28712. #define OCOTP_LOCK_SW_GP2_LOCK_MASK (0x200000U)
  28713. #define OCOTP_LOCK_SW_GP2_LOCK_SHIFT (21U)
  28714. /*! SW_GP2_LOCK - SW_GP2_LOCK
  28715. */
  28716. #define OCOTP_LOCK_SW_GP2_LOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_SW_GP2_LOCK_SHIFT)) & OCOTP_LOCK_SW_GP2_LOCK_MASK)
  28717. #define OCOTP_LOCK_MISC_CONF_MASK (0x400000U)
  28718. #define OCOTP_LOCK_MISC_CONF_SHIFT (22U)
  28719. /*! MISC_CONF - MISC_CONF
  28720. */
  28721. #define OCOTP_LOCK_MISC_CONF(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_MISC_CONF_SHIFT)) & OCOTP_LOCK_MISC_CONF_MASK)
  28722. #define OCOTP_LOCK_SW_GP2_RLOCK_MASK (0x800000U)
  28723. #define OCOTP_LOCK_SW_GP2_RLOCK_SHIFT (23U)
  28724. /*! SW_GP2_RLOCK - SW_GP2_RLOCK
  28725. */
  28726. #define OCOTP_LOCK_SW_GP2_RLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_SW_GP2_RLOCK_SHIFT)) & OCOTP_LOCK_SW_GP2_RLOCK_MASK)
  28727. #define OCOTP_LOCK_GP4_MASK (0x3000000U)
  28728. #define OCOTP_LOCK_GP4_SHIFT (24U)
  28729. /*! GP4 - GP4
  28730. */
  28731. #define OCOTP_LOCK_GP4(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_GP4_SHIFT)) & OCOTP_LOCK_GP4_MASK)
  28732. #define OCOTP_LOCK_GP3_MASK (0xC000000U)
  28733. #define OCOTP_LOCK_GP3_SHIFT (26U)
  28734. /*! GP3 - GP3
  28735. */
  28736. #define OCOTP_LOCK_GP3(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_GP3_SHIFT)) & OCOTP_LOCK_GP3_MASK)
  28737. #define OCOTP_LOCK_FIELD_RETURN_MASK (0xF0000000U)
  28738. #define OCOTP_LOCK_FIELD_RETURN_SHIFT (28U)
  28739. /*! FIELD_RETURN - FIELD_RETURN
  28740. */
  28741. #define OCOTP_LOCK_FIELD_RETURN(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCK_FIELD_RETURN_SHIFT)) & OCOTP_LOCK_FIELD_RETURN_MASK)
  28742. /*! @} */
  28743. /*! @name CFG0 - Value of OTP Bank0 Word1 (Configuration and Manufacturing Info.) */
  28744. /*! @{ */
  28745. #define OCOTP_CFG0_BITS_MASK (0xFFFFFFFFU)
  28746. #define OCOTP_CFG0_BITS_SHIFT (0U)
  28747. /*! BITS - BITS
  28748. */
  28749. #define OCOTP_CFG0_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CFG0_BITS_SHIFT)) & OCOTP_CFG0_BITS_MASK)
  28750. /*! @} */
  28751. /*! @name CFG1 - Value of OTP Bank0 Word2 (Configuration and Manufacturing Info.) */
  28752. /*! @{ */
  28753. #define OCOTP_CFG1_BITS_MASK (0xFFFFFFFFU)
  28754. #define OCOTP_CFG1_BITS_SHIFT (0U)
  28755. /*! BITS - BITS
  28756. */
  28757. #define OCOTP_CFG1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CFG1_BITS_SHIFT)) & OCOTP_CFG1_BITS_MASK)
  28758. /*! @} */
  28759. /*! @name CFG2 - Value of OTP Bank0 Word3 (Configuration and Manufacturing Info.) */
  28760. /*! @{ */
  28761. #define OCOTP_CFG2_BITS_MASK (0xFFFFFFFFU)
  28762. #define OCOTP_CFG2_BITS_SHIFT (0U)
  28763. /*! BITS - BITS
  28764. */
  28765. #define OCOTP_CFG2_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CFG2_BITS_SHIFT)) & OCOTP_CFG2_BITS_MASK)
  28766. /*! @} */
  28767. /*! @name CFG3 - Value of OTP Bank0 Word4 (Configuration and Manufacturing Info.) */
  28768. /*! @{ */
  28769. #define OCOTP_CFG3_BITS_MASK (0xFFFFFFFFU)
  28770. #define OCOTP_CFG3_BITS_SHIFT (0U)
  28771. /*! BITS - BITS
  28772. */
  28773. #define OCOTP_CFG3_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CFG3_BITS_SHIFT)) & OCOTP_CFG3_BITS_MASK)
  28774. /*! @} */
  28775. /*! @name CFG4 - Value of OTP Bank0 Word5 (Configuration and Manufacturing Info.) */
  28776. /*! @{ */
  28777. #define OCOTP_CFG4_BITS_MASK (0xFFFFFFFFU)
  28778. #define OCOTP_CFG4_BITS_SHIFT (0U)
  28779. /*! BITS - BITS
  28780. */
  28781. #define OCOTP_CFG4_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CFG4_BITS_SHIFT)) & OCOTP_CFG4_BITS_MASK)
  28782. /*! @} */
  28783. /*! @name CFG5 - Value of OTP Bank0 Word6 (Configuration and Manufacturing Info.) */
  28784. /*! @{ */
  28785. #define OCOTP_CFG5_BITS_MASK (0xFFFFFFFFU)
  28786. #define OCOTP_CFG5_BITS_SHIFT (0U)
  28787. /*! BITS - BITS
  28788. */
  28789. #define OCOTP_CFG5_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CFG5_BITS_SHIFT)) & OCOTP_CFG5_BITS_MASK)
  28790. /*! @} */
  28791. /*! @name CFG6 - Value of OTP Bank0 Word7 (Configuration and Manufacturing Info.) */
  28792. /*! @{ */
  28793. #define OCOTP_CFG6_BITS_MASK (0xFFFFFFFFU)
  28794. #define OCOTP_CFG6_BITS_SHIFT (0U)
  28795. /*! BITS - BITS
  28796. */
  28797. #define OCOTP_CFG6_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CFG6_BITS_SHIFT)) & OCOTP_CFG6_BITS_MASK)
  28798. /*! @} */
  28799. /*! @name MEM0 - Value of OTP Bank1 Word0 (Memory Related Info.) */
  28800. /*! @{ */
  28801. #define OCOTP_MEM0_BITS_MASK (0xFFFFFFFFU)
  28802. #define OCOTP_MEM0_BITS_SHIFT (0U)
  28803. /*! BITS - BITS
  28804. */
  28805. #define OCOTP_MEM0_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_MEM0_BITS_SHIFT)) & OCOTP_MEM0_BITS_MASK)
  28806. /*! @} */
  28807. /*! @name MEM1 - Value of OTP Bank1 Word1 (Memory Related Info.) */
  28808. /*! @{ */
  28809. #define OCOTP_MEM1_BITS_MASK (0xFFFFFFFFU)
  28810. #define OCOTP_MEM1_BITS_SHIFT (0U)
  28811. /*! BITS - BITS
  28812. */
  28813. #define OCOTP_MEM1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_MEM1_BITS_SHIFT)) & OCOTP_MEM1_BITS_MASK)
  28814. /*! @} */
  28815. /*! @name MEM2 - Value of OTP Bank1 Word2 (Memory Related Info.) */
  28816. /*! @{ */
  28817. #define OCOTP_MEM2_BITS_MASK (0xFFFFFFFFU)
  28818. #define OCOTP_MEM2_BITS_SHIFT (0U)
  28819. /*! BITS - BITS
  28820. */
  28821. #define OCOTP_MEM2_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_MEM2_BITS_SHIFT)) & OCOTP_MEM2_BITS_MASK)
  28822. /*! @} */
  28823. /*! @name MEM3 - Value of OTP Bank1 Word3 (Memory Related Info.) */
  28824. /*! @{ */
  28825. #define OCOTP_MEM3_BITS_MASK (0xFFFFFFFFU)
  28826. #define OCOTP_MEM3_BITS_SHIFT (0U)
  28827. /*! BITS - BITS
  28828. */
  28829. #define OCOTP_MEM3_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_MEM3_BITS_SHIFT)) & OCOTP_MEM3_BITS_MASK)
  28830. /*! @} */
  28831. /*! @name MEM4 - Value of OTP Bank1 Word4 (Memory Related Info.) */
  28832. /*! @{ */
  28833. #define OCOTP_MEM4_BITS_MASK (0xFFFFFFFFU)
  28834. #define OCOTP_MEM4_BITS_SHIFT (0U)
  28835. /*! BITS - BITS
  28836. */
  28837. #define OCOTP_MEM4_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_MEM4_BITS_SHIFT)) & OCOTP_MEM4_BITS_MASK)
  28838. /*! @} */
  28839. /*! @name ANA0 - Value of OTP Bank1 Word5 (Memory Related Info.) */
  28840. /*! @{ */
  28841. #define OCOTP_ANA0_BITS_MASK (0xFFFFFFFFU)
  28842. #define OCOTP_ANA0_BITS_SHIFT (0U)
  28843. /*! BITS - BITS
  28844. */
  28845. #define OCOTP_ANA0_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_ANA0_BITS_SHIFT)) & OCOTP_ANA0_BITS_MASK)
  28846. /*! @} */
  28847. /*! @name ANA1 - Value of OTP Bank1 Word6 (General Purpose Customer Defined Info.) */
  28848. /*! @{ */
  28849. #define OCOTP_ANA1_BITS_MASK (0xFFFFFFFFU)
  28850. #define OCOTP_ANA1_BITS_SHIFT (0U)
  28851. /*! BITS - BITS
  28852. */
  28853. #define OCOTP_ANA1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_ANA1_BITS_SHIFT)) & OCOTP_ANA1_BITS_MASK)
  28854. /*! @} */
  28855. /*! @name ANA2 - Value of OTP Bank1 Word7 (General Purpose Customer Defined Info.) */
  28856. /*! @{ */
  28857. #define OCOTP_ANA2_BITS_MASK (0xFFFFFFFFU)
  28858. #define OCOTP_ANA2_BITS_SHIFT (0U)
  28859. /*! BITS - BITS
  28860. */
  28861. #define OCOTP_ANA2_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_ANA2_BITS_SHIFT)) & OCOTP_ANA2_BITS_MASK)
  28862. /*! @} */
  28863. /*! @name OTPMK0 - Value of OTP Bank2 Word0 (OTPMK Key) */
  28864. /*! @{ */
  28865. #define OCOTP_OTPMK0_BITS_MASK (0xFFFFFFFFU)
  28866. #define OCOTP_OTPMK0_BITS_SHIFT (0U)
  28867. /*! BITS - BITS
  28868. */
  28869. #define OCOTP_OTPMK0_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTPMK0_BITS_SHIFT)) & OCOTP_OTPMK0_BITS_MASK)
  28870. /*! @} */
  28871. /*! @name OTPMK1 - Value of OTP Bank2 Word1 (OTPMK Key) */
  28872. /*! @{ */
  28873. #define OCOTP_OTPMK1_BITS_MASK (0xFFFFFFFFU)
  28874. #define OCOTP_OTPMK1_BITS_SHIFT (0U)
  28875. /*! BITS - BITS
  28876. */
  28877. #define OCOTP_OTPMK1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTPMK1_BITS_SHIFT)) & OCOTP_OTPMK1_BITS_MASK)
  28878. /*! @} */
  28879. /*! @name OTPMK2 - Value of OTP Bank2 Word2 (OTPMK Key) */
  28880. /*! @{ */
  28881. #define OCOTP_OTPMK2_BITS_MASK (0xFFFFFFFFU)
  28882. #define OCOTP_OTPMK2_BITS_SHIFT (0U)
  28883. /*! BITS - BITS
  28884. */
  28885. #define OCOTP_OTPMK2_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTPMK2_BITS_SHIFT)) & OCOTP_OTPMK2_BITS_MASK)
  28886. /*! @} */
  28887. /*! @name OTPMK3 - Value of OTP Bank2 Word3 (OTPMK Key) */
  28888. /*! @{ */
  28889. #define OCOTP_OTPMK3_BITS_MASK (0xFFFFFFFFU)
  28890. #define OCOTP_OTPMK3_BITS_SHIFT (0U)
  28891. /*! BITS - BITS
  28892. */
  28893. #define OCOTP_OTPMK3_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTPMK3_BITS_SHIFT)) & OCOTP_OTPMK3_BITS_MASK)
  28894. /*! @} */
  28895. /*! @name OTPMK4 - Value of OTP Bank2 Word4 (OTPMK Key) */
  28896. /*! @{ */
  28897. #define OCOTP_OTPMK4_BITS_MASK (0xFFFFFFFFU)
  28898. #define OCOTP_OTPMK4_BITS_SHIFT (0U)
  28899. /*! BITS - BITS
  28900. */
  28901. #define OCOTP_OTPMK4_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTPMK4_BITS_SHIFT)) & OCOTP_OTPMK4_BITS_MASK)
  28902. /*! @} */
  28903. /*! @name OTPMK5 - Value of OTP Bank2 Word5 (OTPMK Key) */
  28904. /*! @{ */
  28905. #define OCOTP_OTPMK5_BITS_MASK (0xFFFFFFFFU)
  28906. #define OCOTP_OTPMK5_BITS_SHIFT (0U)
  28907. /*! BITS - BITS
  28908. */
  28909. #define OCOTP_OTPMK5_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTPMK5_BITS_SHIFT)) & OCOTP_OTPMK5_BITS_MASK)
  28910. /*! @} */
  28911. /*! @name OTPMK6 - Value of OTP Bank2 Word6 (OTPMK Key) */
  28912. /*! @{ */
  28913. #define OCOTP_OTPMK6_BITS_MASK (0xFFFFFFFFU)
  28914. #define OCOTP_OTPMK6_BITS_SHIFT (0U)
  28915. /*! BITS - BITS
  28916. */
  28917. #define OCOTP_OTPMK6_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTPMK6_BITS_SHIFT)) & OCOTP_OTPMK6_BITS_MASK)
  28918. /*! @} */
  28919. /*! @name OTPMK7 - Value of OTP Bank2 Word7 (OTPMK Key) */
  28920. /*! @{ */
  28921. #define OCOTP_OTPMK7_BITS_MASK (0xFFFFFFFFU)
  28922. #define OCOTP_OTPMK7_BITS_SHIFT (0U)
  28923. /*! BITS - BITS
  28924. */
  28925. #define OCOTP_OTPMK7_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTPMK7_BITS_SHIFT)) & OCOTP_OTPMK7_BITS_MASK)
  28926. /*! @} */
  28927. /*! @name SRK0 - Shadow Register for OTP Bank3 Word0 (SRK Hash) */
  28928. /*! @{ */
  28929. #define OCOTP_SRK0_BITS_MASK (0xFFFFFFFFU)
  28930. #define OCOTP_SRK0_BITS_SHIFT (0U)
  28931. /*! BITS - BITS
  28932. */
  28933. #define OCOTP_SRK0_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SRK0_BITS_SHIFT)) & OCOTP_SRK0_BITS_MASK)
  28934. /*! @} */
  28935. /*! @name SRK1 - Shadow Register for OTP Bank3 Word1 (SRK Hash) */
  28936. /*! @{ */
  28937. #define OCOTP_SRK1_BITS_MASK (0xFFFFFFFFU)
  28938. #define OCOTP_SRK1_BITS_SHIFT (0U)
  28939. /*! BITS - BITS
  28940. */
  28941. #define OCOTP_SRK1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SRK1_BITS_SHIFT)) & OCOTP_SRK1_BITS_MASK)
  28942. /*! @} */
  28943. /*! @name SRK2 - Shadow Register for OTP Bank3 Word2 (SRK Hash) */
  28944. /*! @{ */
  28945. #define OCOTP_SRK2_BITS_MASK (0xFFFFFFFFU)
  28946. #define OCOTP_SRK2_BITS_SHIFT (0U)
  28947. /*! BITS - BITS
  28948. */
  28949. #define OCOTP_SRK2_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SRK2_BITS_SHIFT)) & OCOTP_SRK2_BITS_MASK)
  28950. /*! @} */
  28951. /*! @name SRK3 - Shadow Register for OTP Bank3 Word3 (SRK Hash) */
  28952. /*! @{ */
  28953. #define OCOTP_SRK3_BITS_MASK (0xFFFFFFFFU)
  28954. #define OCOTP_SRK3_BITS_SHIFT (0U)
  28955. /*! BITS - BITS
  28956. */
  28957. #define OCOTP_SRK3_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SRK3_BITS_SHIFT)) & OCOTP_SRK3_BITS_MASK)
  28958. /*! @} */
  28959. /*! @name SRK4 - Shadow Register for OTP Bank3 Word4 (SRK Hash) */
  28960. /*! @{ */
  28961. #define OCOTP_SRK4_BITS_MASK (0xFFFFFFFFU)
  28962. #define OCOTP_SRK4_BITS_SHIFT (0U)
  28963. /*! BITS - BITS
  28964. */
  28965. #define OCOTP_SRK4_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SRK4_BITS_SHIFT)) & OCOTP_SRK4_BITS_MASK)
  28966. /*! @} */
  28967. /*! @name SRK5 - Shadow Register for OTP Bank3 Word5 (SRK Hash) */
  28968. /*! @{ */
  28969. #define OCOTP_SRK5_BITS_MASK (0xFFFFFFFFU)
  28970. #define OCOTP_SRK5_BITS_SHIFT (0U)
  28971. /*! BITS - BITS
  28972. */
  28973. #define OCOTP_SRK5_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SRK5_BITS_SHIFT)) & OCOTP_SRK5_BITS_MASK)
  28974. /*! @} */
  28975. /*! @name SRK6 - Shadow Register for OTP Bank3 Word6 (SRK Hash) */
  28976. /*! @{ */
  28977. #define OCOTP_SRK6_BITS_MASK (0xFFFFFFFFU)
  28978. #define OCOTP_SRK6_BITS_SHIFT (0U)
  28979. /*! BITS - BITS
  28980. */
  28981. #define OCOTP_SRK6_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SRK6_BITS_SHIFT)) & OCOTP_SRK6_BITS_MASK)
  28982. /*! @} */
  28983. /*! @name SRK7 - Shadow Register for OTP Bank3 Word7 (SRK Hash) */
  28984. /*! @{ */
  28985. #define OCOTP_SRK7_BITS_MASK (0xFFFFFFFFU)
  28986. #define OCOTP_SRK7_BITS_SHIFT (0U)
  28987. /*! BITS - BITS
  28988. */
  28989. #define OCOTP_SRK7_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SRK7_BITS_SHIFT)) & OCOTP_SRK7_BITS_MASK)
  28990. /*! @} */
  28991. /*! @name SJC_RESP0 - Value of OTP Bank4 Word0 (Secure JTAG Response Field) */
  28992. /*! @{ */
  28993. #define OCOTP_SJC_RESP0_BITS_MASK (0xFFFFFFFFU)
  28994. #define OCOTP_SJC_RESP0_BITS_SHIFT (0U)
  28995. /*! BITS - BITS
  28996. */
  28997. #define OCOTP_SJC_RESP0_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SJC_RESP0_BITS_SHIFT)) & OCOTP_SJC_RESP0_BITS_MASK)
  28998. /*! @} */
  28999. /*! @name SJC_RESP1 - Value of OTP Bank4 Word1 (Secure JTAG Response Field) */
  29000. /*! @{ */
  29001. #define OCOTP_SJC_RESP1_BITS_MASK (0xFFFFFFFFU)
  29002. #define OCOTP_SJC_RESP1_BITS_SHIFT (0U)
  29003. /*! BITS - BITS
  29004. */
  29005. #define OCOTP_SJC_RESP1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SJC_RESP1_BITS_SHIFT)) & OCOTP_SJC_RESP1_BITS_MASK)
  29006. /*! @} */
  29007. /*! @name MAC0 - Value of OTP Bank4 Word2 (MAC Address) */
  29008. /*! @{ */
  29009. #define OCOTP_MAC0_BITS_MASK (0xFFFFFFFFU)
  29010. #define OCOTP_MAC0_BITS_SHIFT (0U)
  29011. /*! BITS - BITS
  29012. */
  29013. #define OCOTP_MAC0_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_MAC0_BITS_SHIFT)) & OCOTP_MAC0_BITS_MASK)
  29014. /*! @} */
  29015. /*! @name MAC1 - Value of OTP Bank4 Word3 (MAC Address) */
  29016. /*! @{ */
  29017. #define OCOTP_MAC1_BITS_MASK (0xFFFFFFFFU)
  29018. #define OCOTP_MAC1_BITS_SHIFT (0U)
  29019. /*! BITS - BITS
  29020. */
  29021. #define OCOTP_MAC1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_MAC1_BITS_SHIFT)) & OCOTP_MAC1_BITS_MASK)
  29022. /*! @} */
  29023. /*! @name MAC2 - Value of OTP Bank4 Word4 (MAC2 Address) */
  29024. /*! @{ */
  29025. #define OCOTP_MAC2_BITS_MASK (0xFFFFFFFFU)
  29026. #define OCOTP_MAC2_BITS_SHIFT (0U)
  29027. /*! BITS - BITS
  29028. */
  29029. #define OCOTP_MAC2_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_MAC2_BITS_SHIFT)) & OCOTP_MAC2_BITS_MASK)
  29030. /*! @} */
  29031. /*! @name OTPMK_CRC32 - Value of OTP Bank4 Word5 (CRC Key) */
  29032. /*! @{ */
  29033. #define OCOTP_OTPMK_CRC32_BITS_MASK (0xFFFFFFFFU)
  29034. #define OCOTP_OTPMK_CRC32_BITS_SHIFT (0U)
  29035. /*! BITS - BITS
  29036. */
  29037. #define OCOTP_OTPMK_CRC32_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTPMK_CRC32_BITS_SHIFT)) & OCOTP_OTPMK_CRC32_BITS_MASK)
  29038. /*! @} */
  29039. /*! @name GP1 - Value of OTP Bank4 Word6 (General Purpose Customer Defined Info) */
  29040. /*! @{ */
  29041. #define OCOTP_GP1_BITS_MASK (0xFFFFFFFFU)
  29042. #define OCOTP_GP1_BITS_SHIFT (0U)
  29043. /*! BITS - BITS
  29044. */
  29045. #define OCOTP_GP1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_GP1_BITS_SHIFT)) & OCOTP_GP1_BITS_MASK)
  29046. /*! @} */
  29047. /*! @name GP2 - Value of OTP Bank4 Word7 (General Purpose Customer Defined Info) */
  29048. /*! @{ */
  29049. #define OCOTP_GP2_BITS_MASK (0xFFFFFFFFU)
  29050. #define OCOTP_GP2_BITS_SHIFT (0U)
  29051. /*! BITS - BITS
  29052. */
  29053. #define OCOTP_GP2_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_GP2_BITS_SHIFT)) & OCOTP_GP2_BITS_MASK)
  29054. /*! @} */
  29055. /*! @name SW_GP1 - Value of OTP Bank5 Word0 (SW GP1) */
  29056. /*! @{ */
  29057. #define OCOTP_SW_GP1_BITS_MASK (0xFFFFFFFFU)
  29058. #define OCOTP_SW_GP1_BITS_SHIFT (0U)
  29059. /*! BITS - BITS
  29060. */
  29061. #define OCOTP_SW_GP1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SW_GP1_BITS_SHIFT)) & OCOTP_SW_GP1_BITS_MASK)
  29062. /*! @} */
  29063. /*! @name SW_GP20 - Value of OTP Bank5 Word1 (SW GP2) */
  29064. /*! @{ */
  29065. #define OCOTP_SW_GP20_BITS_MASK (0xFFFFFFFFU)
  29066. #define OCOTP_SW_GP20_BITS_SHIFT (0U)
  29067. /*! BITS - BITS
  29068. */
  29069. #define OCOTP_SW_GP20_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SW_GP20_BITS_SHIFT)) & OCOTP_SW_GP20_BITS_MASK)
  29070. /*! @} */
  29071. /*! @name SW_GP21 - Value of OTP Bank5 Word2 (SW GP2) */
  29072. /*! @{ */
  29073. #define OCOTP_SW_GP21_BITS_MASK (0xFFFFFFFFU)
  29074. #define OCOTP_SW_GP21_BITS_SHIFT (0U)
  29075. /*! BITS - BITS
  29076. */
  29077. #define OCOTP_SW_GP21_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SW_GP21_BITS_SHIFT)) & OCOTP_SW_GP21_BITS_MASK)
  29078. /*! @} */
  29079. /*! @name SW_GP22 - Value of OTP Bank5 Word3 (SW GP2) */
  29080. /*! @{ */
  29081. #define OCOTP_SW_GP22_BITS_MASK (0xFFFFFFFFU)
  29082. #define OCOTP_SW_GP22_BITS_SHIFT (0U)
  29083. /*! BITS - BITS
  29084. */
  29085. #define OCOTP_SW_GP22_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SW_GP22_BITS_SHIFT)) & OCOTP_SW_GP22_BITS_MASK)
  29086. /*! @} */
  29087. /*! @name SW_GP23 - Value of OTP Bank5 Word4 (SW GP2) */
  29088. /*! @{ */
  29089. #define OCOTP_SW_GP23_BITS_MASK (0xFFFFFFFFU)
  29090. #define OCOTP_SW_GP23_BITS_SHIFT (0U)
  29091. /*! BITS - BITS
  29092. */
  29093. #define OCOTP_SW_GP23_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SW_GP23_BITS_SHIFT)) & OCOTP_SW_GP23_BITS_MASK)
  29094. /*! @} */
  29095. /*! @name MISC_CONF0 - Value of OTP Bank5 Word5 (Misc Conf) */
  29096. /*! @{ */
  29097. #define OCOTP_MISC_CONF0_BITS_MASK (0xFFFFFFFFU)
  29098. #define OCOTP_MISC_CONF0_BITS_SHIFT (0U)
  29099. /*! BITS - BITS
  29100. */
  29101. #define OCOTP_MISC_CONF0_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_MISC_CONF0_BITS_SHIFT)) & OCOTP_MISC_CONF0_BITS_MASK)
  29102. /*! @} */
  29103. /*! @name MISC_CONF1 - Value of OTP Bank5 Word6 (Misc Conf) */
  29104. /*! @{ */
  29105. #define OCOTP_MISC_CONF1_BITS_MASK (0xFFFFFFFFU)
  29106. #define OCOTP_MISC_CONF1_BITS_SHIFT (0U)
  29107. /*! BITS - BITS
  29108. */
  29109. #define OCOTP_MISC_CONF1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_MISC_CONF1_BITS_SHIFT)) & OCOTP_MISC_CONF1_BITS_MASK)
  29110. /*! @} */
  29111. /*! @name SRK_REVOKE - Value of OTP Bank5 Word7 (SRK Revoke) */
  29112. /*! @{ */
  29113. #define OCOTP_SRK_REVOKE_BITS_MASK (0xFFFFFFFFU)
  29114. #define OCOTP_SRK_REVOKE_BITS_SHIFT (0U)
  29115. /*! BITS - BITS
  29116. */
  29117. #define OCOTP_SRK_REVOKE_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SRK_REVOKE_BITS_SHIFT)) & OCOTP_SRK_REVOKE_BITS_MASK)
  29118. /*! @} */
  29119. /*! @name ROM_PATCH0 - Value of OTP Bank6 Word0 (ROM Patch) */
  29120. /*! @{ */
  29121. #define OCOTP_ROM_PATCH0_BITS_MASK (0xFFFFFFFFU)
  29122. #define OCOTP_ROM_PATCH0_BITS_SHIFT (0U)
  29123. /*! BITS - BITS
  29124. */
  29125. #define OCOTP_ROM_PATCH0_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_ROM_PATCH0_BITS_SHIFT)) & OCOTP_ROM_PATCH0_BITS_MASK)
  29126. /*! @} */
  29127. /*! @name ROM_PATCH1 - Value of OTP Bank6 Word1 (ROM Patch) */
  29128. /*! @{ */
  29129. #define OCOTP_ROM_PATCH1_BITS_MASK (0xFFFFFFFFU)
  29130. #define OCOTP_ROM_PATCH1_BITS_SHIFT (0U)
  29131. /*! BITS - BITS
  29132. */
  29133. #define OCOTP_ROM_PATCH1_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_ROM_PATCH1_BITS_SHIFT)) & OCOTP_ROM_PATCH1_BITS_MASK)
  29134. /*! @} */
  29135. /*! @name ROM_PATCH2 - Value of OTP Bank6 Word2 (ROM Patch) */
  29136. /*! @{ */
  29137. #define OCOTP_ROM_PATCH2_BITS_MASK (0xFFFFFFFFU)
  29138. #define OCOTP_ROM_PATCH2_BITS_SHIFT (0U)
  29139. /*! BITS - BITS
  29140. */
  29141. #define OCOTP_ROM_PATCH2_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_ROM_PATCH2_BITS_SHIFT)) & OCOTP_ROM_PATCH2_BITS_MASK)
  29142. /*! @} */
  29143. /*! @name ROM_PATCH3 - Value of OTP Bank6 Word3 (ROM Patch) */
  29144. /*! @{ */
  29145. #define OCOTP_ROM_PATCH3_BITS_MASK (0xFFFFFFFFU)
  29146. #define OCOTP_ROM_PATCH3_BITS_SHIFT (0U)
  29147. /*! BITS - BITS
  29148. */
  29149. #define OCOTP_ROM_PATCH3_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_ROM_PATCH3_BITS_SHIFT)) & OCOTP_ROM_PATCH3_BITS_MASK)
  29150. /*! @} */
  29151. /*! @name ROM_PATCH4 - Value of OTP Bank6 Word4 (ROM Patch) */
  29152. /*! @{ */
  29153. #define OCOTP_ROM_PATCH4_BITS_MASK (0xFFFFFFFFU)
  29154. #define OCOTP_ROM_PATCH4_BITS_SHIFT (0U)
  29155. /*! BITS - BITS
  29156. */
  29157. #define OCOTP_ROM_PATCH4_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_ROM_PATCH4_BITS_SHIFT)) & OCOTP_ROM_PATCH4_BITS_MASK)
  29158. /*! @} */
  29159. /*! @name ROM_PATCH5 - Value of OTP Bank6 Word5 (ROM Patch) */
  29160. /*! @{ */
  29161. #define OCOTP_ROM_PATCH5_BITS_MASK (0xFFFFFFFFU)
  29162. #define OCOTP_ROM_PATCH5_BITS_SHIFT (0U)
  29163. /*! BITS - BITS
  29164. */
  29165. #define OCOTP_ROM_PATCH5_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_ROM_PATCH5_BITS_SHIFT)) & OCOTP_ROM_PATCH5_BITS_MASK)
  29166. /*! @} */
  29167. /*! @name ROM_PATCH6 - Value of OTP Bank6 Word6 (ROM Patch) */
  29168. /*! @{ */
  29169. #define OCOTP_ROM_PATCH6_BITS_MASK (0xFFFFFFFFU)
  29170. #define OCOTP_ROM_PATCH6_BITS_SHIFT (0U)
  29171. /*! BITS - BITS
  29172. */
  29173. #define OCOTP_ROM_PATCH6_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_ROM_PATCH6_BITS_SHIFT)) & OCOTP_ROM_PATCH6_BITS_MASK)
  29174. /*! @} */
  29175. /*! @name ROM_PATCH7 - Value of OTP Bank6 Word7 (ROM Patch) */
  29176. /*! @{ */
  29177. #define OCOTP_ROM_PATCH7_BITS_MASK (0xFFFFFFFFU)
  29178. #define OCOTP_ROM_PATCH7_BITS_SHIFT (0U)
  29179. /*! BITS - BITS
  29180. */
  29181. #define OCOTP_ROM_PATCH7_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_ROM_PATCH7_BITS_SHIFT)) & OCOTP_ROM_PATCH7_BITS_MASK)
  29182. /*! @} */
  29183. /*! @name GP30 - Value of OTP Bank7 Word0 (GP3) */
  29184. /*! @{ */
  29185. #define OCOTP_GP30_BITS_MASK (0xFFFFFFFFU)
  29186. #define OCOTP_GP30_BITS_SHIFT (0U)
  29187. /*! BITS - BITS
  29188. */
  29189. #define OCOTP_GP30_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_GP30_BITS_SHIFT)) & OCOTP_GP30_BITS_MASK)
  29190. /*! @} */
  29191. /*! @name GP31 - Value of OTP Bank7 Word1 (GP3) */
  29192. /*! @{ */
  29193. #define OCOTP_GP31_BITS_MASK (0xFFFFFFFFU)
  29194. #define OCOTP_GP31_BITS_SHIFT (0U)
  29195. /*! BITS - BITS
  29196. */
  29197. #define OCOTP_GP31_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_GP31_BITS_SHIFT)) & OCOTP_GP31_BITS_MASK)
  29198. /*! @} */
  29199. /*! @name GP32 - Value of OTP Bank7 Word2 (GP3) */
  29200. /*! @{ */
  29201. #define OCOTP_GP32_BITS_MASK (0xFFFFFFFFU)
  29202. #define OCOTP_GP32_BITS_SHIFT (0U)
  29203. /*! BITS - BITS
  29204. */
  29205. #define OCOTP_GP32_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_GP32_BITS_SHIFT)) & OCOTP_GP32_BITS_MASK)
  29206. /*! @} */
  29207. /*! @name GP33 - Value of OTP Bank7 Word3 (GP3) */
  29208. /*! @{ */
  29209. #define OCOTP_GP33_BITS_MASK (0xFFFFFFFFU)
  29210. #define OCOTP_GP33_BITS_SHIFT (0U)
  29211. /*! BITS - BITS
  29212. */
  29213. #define OCOTP_GP33_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_GP33_BITS_SHIFT)) & OCOTP_GP33_BITS_MASK)
  29214. /*! @} */
  29215. /*! @name GP40 - Value of OTP Bank7 Word4 (GP4) */
  29216. /*! @{ */
  29217. #define OCOTP_GP40_BITS_MASK (0xFFFFFFFFU)
  29218. #define OCOTP_GP40_BITS_SHIFT (0U)
  29219. /*! BITS - BITS
  29220. */
  29221. #define OCOTP_GP40_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_GP40_BITS_SHIFT)) & OCOTP_GP40_BITS_MASK)
  29222. /*! @} */
  29223. /*! @name GP41 - Value of OTP Bank7 Word5 (GP4) */
  29224. /*! @{ */
  29225. #define OCOTP_GP41_BITS_MASK (0xFFFFFFFFU)
  29226. #define OCOTP_GP41_BITS_SHIFT (0U)
  29227. /*! BITS - BITS
  29228. */
  29229. #define OCOTP_GP41_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_GP41_BITS_SHIFT)) & OCOTP_GP41_BITS_MASK)
  29230. /*! @} */
  29231. /*! @name GP42 - Value of OTP Bank7 Word6 (GP4) */
  29232. /*! @{ */
  29233. #define OCOTP_GP42_BITS_MASK (0xFFFFFFFFU)
  29234. #define OCOTP_GP42_BITS_SHIFT (0U)
  29235. /*! BITS - BITS
  29236. */
  29237. #define OCOTP_GP42_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_GP42_BITS_SHIFT)) & OCOTP_GP42_BITS_MASK)
  29238. /*! @} */
  29239. /*! @name GP43 - Value of OTP Bank7 Word7 (GP4) */
  29240. /*! @{ */
  29241. #define OCOTP_GP43_BITS_MASK (0xFFFFFFFFU)
  29242. #define OCOTP_GP43_BITS_SHIFT (0U)
  29243. /*! BITS - BITS
  29244. */
  29245. #define OCOTP_GP43_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_GP43_BITS_SHIFT)) & OCOTP_GP43_BITS_MASK)
  29246. /*! @} */
  29247. /*!
  29248. * @}
  29249. */ /* end of group OCOTP_Register_Masks */
  29250. /* OCOTP - Peripheral instance base addresses */
  29251. /** Peripheral OCOTP base address */
  29252. #define OCOTP_BASE (0x401F4000u)
  29253. /** Peripheral OCOTP base pointer */
  29254. #define OCOTP ((OCOTP_Type *)OCOTP_BASE)
  29255. /** Array initializer of OCOTP peripheral base addresses */
  29256. #define OCOTP_BASE_ADDRS { OCOTP_BASE }
  29257. /** Array initializer of OCOTP peripheral base pointers */
  29258. #define OCOTP_BASE_PTRS { OCOTP }
  29259. /*!
  29260. * @}
  29261. */ /* end of group OCOTP_Peripheral_Access_Layer */
  29262. /* ----------------------------------------------------------------------------
  29263. -- PGC Peripheral Access Layer
  29264. ---------------------------------------------------------------------------- */
  29265. /*!
  29266. * @addtogroup PGC_Peripheral_Access_Layer PGC Peripheral Access Layer
  29267. * @{
  29268. */
  29269. /** PGC - Register Layout Typedef */
  29270. typedef struct {
  29271. uint8_t RESERVED_0[544];
  29272. __IO uint32_t MEGA_CTRL; /**< PGC Mega Control Register, offset: 0x220 */
  29273. __IO uint32_t MEGA_PUPSCR; /**< PGC Mega Power Up Sequence Control Register, offset: 0x224 */
  29274. __IO uint32_t MEGA_PDNSCR; /**< PGC Mega Pull Down Sequence Control Register, offset: 0x228 */
  29275. __IO uint32_t MEGA_SR; /**< PGC Mega Power Gating Controller Status Register, offset: 0x22C */
  29276. uint8_t RESERVED_1[112];
  29277. __IO uint32_t CPU_CTRL; /**< PGC CPU Control Register, offset: 0x2A0 */
  29278. __IO uint32_t CPU_PUPSCR; /**< PGC CPU Power Up Sequence Control Register, offset: 0x2A4 */
  29279. __IO uint32_t CPU_PDNSCR; /**< PGC CPU Pull Down Sequence Control Register, offset: 0x2A8 */
  29280. __IO uint32_t CPU_SR; /**< PGC CPU Power Gating Controller Status Register, offset: 0x2AC */
  29281. } PGC_Type;
  29282. /* ----------------------------------------------------------------------------
  29283. -- PGC Register Masks
  29284. ---------------------------------------------------------------------------- */
  29285. /*!
  29286. * @addtogroup PGC_Register_Masks PGC Register Masks
  29287. * @{
  29288. */
  29289. /*! @name MEGA_CTRL - PGC Mega Control Register */
  29290. /*! @{ */
  29291. #define PGC_MEGA_CTRL_PCR_MASK (0x1U)
  29292. #define PGC_MEGA_CTRL_PCR_SHIFT (0U)
  29293. /*! PCR
  29294. * 0b0..Do not switch off power even if pdn_req is asserted.
  29295. * 0b1..Switch off power when pdn_req is asserted.
  29296. */
  29297. #define PGC_MEGA_CTRL_PCR(x) (((uint32_t)(((uint32_t)(x)) << PGC_MEGA_CTRL_PCR_SHIFT)) & PGC_MEGA_CTRL_PCR_MASK)
  29298. /*! @} */
  29299. /*! @name MEGA_PUPSCR - PGC Mega Power Up Sequence Control Register */
  29300. /*! @{ */
  29301. #define PGC_MEGA_PUPSCR_SW_MASK (0x3FU)
  29302. #define PGC_MEGA_PUPSCR_SW_SHIFT (0U)
  29303. #define PGC_MEGA_PUPSCR_SW(x) (((uint32_t)(((uint32_t)(x)) << PGC_MEGA_PUPSCR_SW_SHIFT)) & PGC_MEGA_PUPSCR_SW_MASK)
  29304. #define PGC_MEGA_PUPSCR_SW2ISO_MASK (0x3F00U)
  29305. #define PGC_MEGA_PUPSCR_SW2ISO_SHIFT (8U)
  29306. #define PGC_MEGA_PUPSCR_SW2ISO(x) (((uint32_t)(((uint32_t)(x)) << PGC_MEGA_PUPSCR_SW2ISO_SHIFT)) & PGC_MEGA_PUPSCR_SW2ISO_MASK)
  29307. /*! @} */
  29308. /*! @name MEGA_PDNSCR - PGC Mega Pull Down Sequence Control Register */
  29309. /*! @{ */
  29310. #define PGC_MEGA_PDNSCR_ISO_MASK (0x3FU)
  29311. #define PGC_MEGA_PDNSCR_ISO_SHIFT (0U)
  29312. #define PGC_MEGA_PDNSCR_ISO(x) (((uint32_t)(((uint32_t)(x)) << PGC_MEGA_PDNSCR_ISO_SHIFT)) & PGC_MEGA_PDNSCR_ISO_MASK)
  29313. #define PGC_MEGA_PDNSCR_ISO2SW_MASK (0x3F00U)
  29314. #define PGC_MEGA_PDNSCR_ISO2SW_SHIFT (8U)
  29315. #define PGC_MEGA_PDNSCR_ISO2SW(x) (((uint32_t)(((uint32_t)(x)) << PGC_MEGA_PDNSCR_ISO2SW_SHIFT)) & PGC_MEGA_PDNSCR_ISO2SW_MASK)
  29316. /*! @} */
  29317. /*! @name MEGA_SR - PGC Mega Power Gating Controller Status Register */
  29318. /*! @{ */
  29319. #define PGC_MEGA_SR_PSR_MASK (0x1U)
  29320. #define PGC_MEGA_SR_PSR_SHIFT (0U)
  29321. /*! PSR
  29322. * 0b0..The target subsystem was not powered down for the previous power-down request.
  29323. * 0b1..The target subsystem was powered down for the previous power-down request.
  29324. */
  29325. #define PGC_MEGA_SR_PSR(x) (((uint32_t)(((uint32_t)(x)) << PGC_MEGA_SR_PSR_SHIFT)) & PGC_MEGA_SR_PSR_MASK)
  29326. /*! @} */
  29327. /*! @name CPU_CTRL - PGC CPU Control Register */
  29328. /*! @{ */
  29329. #define PGC_CPU_CTRL_PCR_MASK (0x1U)
  29330. #define PGC_CPU_CTRL_PCR_SHIFT (0U)
  29331. /*! PCR
  29332. * 0b0..Do not switch off power even if pdn_req is asserted.
  29333. * 0b1..Switch off power when pdn_req is asserted.
  29334. */
  29335. #define PGC_CPU_CTRL_PCR(x) (((uint32_t)(((uint32_t)(x)) << PGC_CPU_CTRL_PCR_SHIFT)) & PGC_CPU_CTRL_PCR_MASK)
  29336. /*! @} */
  29337. /*! @name CPU_PUPSCR - PGC CPU Power Up Sequence Control Register */
  29338. /*! @{ */
  29339. #define PGC_CPU_PUPSCR_SW_MASK (0x3FU)
  29340. #define PGC_CPU_PUPSCR_SW_SHIFT (0U)
  29341. #define PGC_CPU_PUPSCR_SW(x) (((uint32_t)(((uint32_t)(x)) << PGC_CPU_PUPSCR_SW_SHIFT)) & PGC_CPU_PUPSCR_SW_MASK)
  29342. #define PGC_CPU_PUPSCR_SW2ISO_MASK (0x3F00U)
  29343. #define PGC_CPU_PUPSCR_SW2ISO_SHIFT (8U)
  29344. #define PGC_CPU_PUPSCR_SW2ISO(x) (((uint32_t)(((uint32_t)(x)) << PGC_CPU_PUPSCR_SW2ISO_SHIFT)) & PGC_CPU_PUPSCR_SW2ISO_MASK)
  29345. /*! @} */
  29346. /*! @name CPU_PDNSCR - PGC CPU Pull Down Sequence Control Register */
  29347. /*! @{ */
  29348. #define PGC_CPU_PDNSCR_ISO_MASK (0x3FU)
  29349. #define PGC_CPU_PDNSCR_ISO_SHIFT (0U)
  29350. #define PGC_CPU_PDNSCR_ISO(x) (((uint32_t)(((uint32_t)(x)) << PGC_CPU_PDNSCR_ISO_SHIFT)) & PGC_CPU_PDNSCR_ISO_MASK)
  29351. #define PGC_CPU_PDNSCR_ISO2SW_MASK (0x3F00U)
  29352. #define PGC_CPU_PDNSCR_ISO2SW_SHIFT (8U)
  29353. #define PGC_CPU_PDNSCR_ISO2SW(x) (((uint32_t)(((uint32_t)(x)) << PGC_CPU_PDNSCR_ISO2SW_SHIFT)) & PGC_CPU_PDNSCR_ISO2SW_MASK)
  29354. /*! @} */
  29355. /*! @name CPU_SR - PGC CPU Power Gating Controller Status Register */
  29356. /*! @{ */
  29357. #define PGC_CPU_SR_PSR_MASK (0x1U)
  29358. #define PGC_CPU_SR_PSR_SHIFT (0U)
  29359. /*! PSR
  29360. * 0b0..The target subsystem was not powered down for the previous power-down request.
  29361. * 0b1..The target subsystem was powered down for the previous power-down request.
  29362. */
  29363. #define PGC_CPU_SR_PSR(x) (((uint32_t)(((uint32_t)(x)) << PGC_CPU_SR_PSR_SHIFT)) & PGC_CPU_SR_PSR_MASK)
  29364. /*! @} */
  29365. /*!
  29366. * @}
  29367. */ /* end of group PGC_Register_Masks */
  29368. /* PGC - Peripheral instance base addresses */
  29369. /** Peripheral PGC base address */
  29370. #define PGC_BASE (0x400F4000u)
  29371. /** Peripheral PGC base pointer */
  29372. #define PGC ((PGC_Type *)PGC_BASE)
  29373. /** Array initializer of PGC peripheral base addresses */
  29374. #define PGC_BASE_ADDRS { PGC_BASE }
  29375. /** Array initializer of PGC peripheral base pointers */
  29376. #define PGC_BASE_PTRS { PGC }
  29377. /*!
  29378. * @}
  29379. */ /* end of group PGC_Peripheral_Access_Layer */
  29380. /* ----------------------------------------------------------------------------
  29381. -- PIT Peripheral Access Layer
  29382. ---------------------------------------------------------------------------- */
  29383. /*!
  29384. * @addtogroup PIT_Peripheral_Access_Layer PIT Peripheral Access Layer
  29385. * @{
  29386. */
  29387. /** PIT - Register Layout Typedef */
  29388. typedef struct {
  29389. __IO uint32_t MCR; /**< PIT Module Control Register, offset: 0x0 */
  29390. uint8_t RESERVED_0[220];
  29391. __I uint32_t LTMR64H; /**< PIT Upper Lifetime Timer Register, offset: 0xE0 */
  29392. __I uint32_t LTMR64L; /**< PIT Lower Lifetime Timer Register, offset: 0xE4 */
  29393. uint8_t RESERVED_1[24];
  29394. struct { /* offset: 0x100, array step: 0x10 */
  29395. __IO uint32_t LDVAL; /**< Timer Load Value Register, array offset: 0x100, array step: 0x10 */
  29396. __I uint32_t CVAL; /**< Current Timer Value Register, array offset: 0x104, array step: 0x10 */
  29397. __IO uint32_t TCTRL; /**< Timer Control Register, array offset: 0x108, array step: 0x10 */
  29398. __IO uint32_t TFLG; /**< Timer Flag Register, array offset: 0x10C, array step: 0x10 */
  29399. } CHANNEL[4];
  29400. } PIT_Type;
  29401. /* ----------------------------------------------------------------------------
  29402. -- PIT Register Masks
  29403. ---------------------------------------------------------------------------- */
  29404. /*!
  29405. * @addtogroup PIT_Register_Masks PIT Register Masks
  29406. * @{
  29407. */
  29408. /*! @name MCR - PIT Module Control Register */
  29409. /*! @{ */
  29410. #define PIT_MCR_FRZ_MASK (0x1U)
  29411. #define PIT_MCR_FRZ_SHIFT (0U)
  29412. /*! FRZ - Freeze
  29413. * 0b0..Timers continue to run in Debug mode.
  29414. * 0b1..Timers are stopped in Debug mode.
  29415. */
  29416. #define PIT_MCR_FRZ(x) (((uint32_t)(((uint32_t)(x)) << PIT_MCR_FRZ_SHIFT)) & PIT_MCR_FRZ_MASK)
  29417. #define PIT_MCR_MDIS_MASK (0x2U)
  29418. #define PIT_MCR_MDIS_SHIFT (1U)
  29419. /*! MDIS - Module Disable - (PIT section)
  29420. * 0b0..Clock for standard PIT timers is enabled.
  29421. * 0b1..Clock for standard PIT timers is disabled.
  29422. */
  29423. #define PIT_MCR_MDIS(x) (((uint32_t)(((uint32_t)(x)) << PIT_MCR_MDIS_SHIFT)) & PIT_MCR_MDIS_MASK)
  29424. /*! @} */
  29425. /*! @name LTMR64H - PIT Upper Lifetime Timer Register */
  29426. /*! @{ */
  29427. #define PIT_LTMR64H_LTH_MASK (0xFFFFFFFFU)
  29428. #define PIT_LTMR64H_LTH_SHIFT (0U)
  29429. /*! LTH - Life Timer value
  29430. */
  29431. #define PIT_LTMR64H_LTH(x) (((uint32_t)(((uint32_t)(x)) << PIT_LTMR64H_LTH_SHIFT)) & PIT_LTMR64H_LTH_MASK)
  29432. /*! @} */
  29433. /*! @name LTMR64L - PIT Lower Lifetime Timer Register */
  29434. /*! @{ */
  29435. #define PIT_LTMR64L_LTL_MASK (0xFFFFFFFFU)
  29436. #define PIT_LTMR64L_LTL_SHIFT (0U)
  29437. /*! LTL - Life Timer value
  29438. */
  29439. #define PIT_LTMR64L_LTL(x) (((uint32_t)(((uint32_t)(x)) << PIT_LTMR64L_LTL_SHIFT)) & PIT_LTMR64L_LTL_MASK)
  29440. /*! @} */
  29441. /*! @name LDVAL - Timer Load Value Register */
  29442. /*! @{ */
  29443. #define PIT_LDVAL_TSV_MASK (0xFFFFFFFFU)
  29444. #define PIT_LDVAL_TSV_SHIFT (0U)
  29445. /*! TSV - Timer Start Value
  29446. */
  29447. #define PIT_LDVAL_TSV(x) (((uint32_t)(((uint32_t)(x)) << PIT_LDVAL_TSV_SHIFT)) & PIT_LDVAL_TSV_MASK)
  29448. /*! @} */
  29449. /* The count of PIT_LDVAL */
  29450. #define PIT_LDVAL_COUNT (4U)
  29451. /*! @name CVAL - Current Timer Value Register */
  29452. /*! @{ */
  29453. #define PIT_CVAL_TVL_MASK (0xFFFFFFFFU)
  29454. #define PIT_CVAL_TVL_SHIFT (0U)
  29455. /*! TVL - Current Timer Value
  29456. */
  29457. #define PIT_CVAL_TVL(x) (((uint32_t)(((uint32_t)(x)) << PIT_CVAL_TVL_SHIFT)) & PIT_CVAL_TVL_MASK)
  29458. /*! @} */
  29459. /* The count of PIT_CVAL */
  29460. #define PIT_CVAL_COUNT (4U)
  29461. /*! @name TCTRL - Timer Control Register */
  29462. /*! @{ */
  29463. #define PIT_TCTRL_TEN_MASK (0x1U)
  29464. #define PIT_TCTRL_TEN_SHIFT (0U)
  29465. /*! TEN - Timer Enable
  29466. * 0b0..Timer n is disabled.
  29467. * 0b1..Timer n is enabled.
  29468. */
  29469. #define PIT_TCTRL_TEN(x) (((uint32_t)(((uint32_t)(x)) << PIT_TCTRL_TEN_SHIFT)) & PIT_TCTRL_TEN_MASK)
  29470. #define PIT_TCTRL_TIE_MASK (0x2U)
  29471. #define PIT_TCTRL_TIE_SHIFT (1U)
  29472. /*! TIE - Timer Interrupt Enable
  29473. * 0b0..Interrupt requests from Timer n are disabled.
  29474. * 0b1..Interrupt will be requested whenever TIF is set.
  29475. */
  29476. #define PIT_TCTRL_TIE(x) (((uint32_t)(((uint32_t)(x)) << PIT_TCTRL_TIE_SHIFT)) & PIT_TCTRL_TIE_MASK)
  29477. #define PIT_TCTRL_CHN_MASK (0x4U)
  29478. #define PIT_TCTRL_CHN_SHIFT (2U)
  29479. /*! CHN - Chain Mode
  29480. * 0b0..Timer is not chained.
  29481. * 0b1..Timer is chained to previous timer. For example, for Channel 2, if this field is set, Timer 2 is chained to Timer 1.
  29482. */
  29483. #define PIT_TCTRL_CHN(x) (((uint32_t)(((uint32_t)(x)) << PIT_TCTRL_CHN_SHIFT)) & PIT_TCTRL_CHN_MASK)
  29484. /*! @} */
  29485. /* The count of PIT_TCTRL */
  29486. #define PIT_TCTRL_COUNT (4U)
  29487. /*! @name TFLG - Timer Flag Register */
  29488. /*! @{ */
  29489. #define PIT_TFLG_TIF_MASK (0x1U)
  29490. #define PIT_TFLG_TIF_SHIFT (0U)
  29491. /*! TIF - Timer Interrupt Flag
  29492. * 0b0..Timeout has not yet occurred.
  29493. * 0b1..Timeout has occurred.
  29494. */
  29495. #define PIT_TFLG_TIF(x) (((uint32_t)(((uint32_t)(x)) << PIT_TFLG_TIF_SHIFT)) & PIT_TFLG_TIF_MASK)
  29496. /*! @} */
  29497. /* The count of PIT_TFLG */
  29498. #define PIT_TFLG_COUNT (4U)
  29499. /*!
  29500. * @}
  29501. */ /* end of group PIT_Register_Masks */
  29502. /* PIT - Peripheral instance base addresses */
  29503. /** Peripheral PIT base address */
  29504. #define PIT_BASE (0x40084000u)
  29505. /** Peripheral PIT base pointer */
  29506. #define PIT ((PIT_Type *)PIT_BASE)
  29507. /** Array initializer of PIT peripheral base addresses */
  29508. #define PIT_BASE_ADDRS { PIT_BASE }
  29509. /** Array initializer of PIT peripheral base pointers */
  29510. #define PIT_BASE_PTRS { PIT }
  29511. /** Interrupt vectors for the PIT peripheral type */
  29512. #define PIT_IRQS { { PIT_IRQn, PIT_IRQn, PIT_IRQn, PIT_IRQn } }
  29513. /*!
  29514. * @}
  29515. */ /* end of group PIT_Peripheral_Access_Layer */
  29516. /* ----------------------------------------------------------------------------
  29517. -- PMU Peripheral Access Layer
  29518. ---------------------------------------------------------------------------- */
  29519. /*!
  29520. * @addtogroup PMU_Peripheral_Access_Layer PMU Peripheral Access Layer
  29521. * @{
  29522. */
  29523. /** PMU - Register Layout Typedef */
  29524. typedef struct {
  29525. uint8_t RESERVED_0[272];
  29526. __IO uint32_t REG_1P1; /**< Regulator 1P1 Register, offset: 0x110 */
  29527. __IO uint32_t REG_1P1_SET; /**< Regulator 1P1 Register, offset: 0x114 */
  29528. __IO uint32_t REG_1P1_CLR; /**< Regulator 1P1 Register, offset: 0x118 */
  29529. __IO uint32_t REG_1P1_TOG; /**< Regulator 1P1 Register, offset: 0x11C */
  29530. __IO uint32_t REG_3P0; /**< Regulator 3P0 Register, offset: 0x120 */
  29531. __IO uint32_t REG_3P0_SET; /**< Regulator 3P0 Register, offset: 0x124 */
  29532. __IO uint32_t REG_3P0_CLR; /**< Regulator 3P0 Register, offset: 0x128 */
  29533. __IO uint32_t REG_3P0_TOG; /**< Regulator 3P0 Register, offset: 0x12C */
  29534. __IO uint32_t REG_2P5; /**< Regulator 2P5 Register, offset: 0x130 */
  29535. __IO uint32_t REG_2P5_SET; /**< Regulator 2P5 Register, offset: 0x134 */
  29536. __IO uint32_t REG_2P5_CLR; /**< Regulator 2P5 Register, offset: 0x138 */
  29537. __IO uint32_t REG_2P5_TOG; /**< Regulator 2P5 Register, offset: 0x13C */
  29538. __IO uint32_t REG_CORE; /**< Digital Regulator Core Register, offset: 0x140 */
  29539. __IO uint32_t REG_CORE_SET; /**< Digital Regulator Core Register, offset: 0x144 */
  29540. __IO uint32_t REG_CORE_CLR; /**< Digital Regulator Core Register, offset: 0x148 */
  29541. __IO uint32_t REG_CORE_TOG; /**< Digital Regulator Core Register, offset: 0x14C */
  29542. __IO uint32_t MISC0; /**< Miscellaneous Register 0, offset: 0x150 */
  29543. __IO uint32_t MISC0_SET; /**< Miscellaneous Register 0, offset: 0x154 */
  29544. __IO uint32_t MISC0_CLR; /**< Miscellaneous Register 0, offset: 0x158 */
  29545. __IO uint32_t MISC0_TOG; /**< Miscellaneous Register 0, offset: 0x15C */
  29546. __IO uint32_t MISC1; /**< Miscellaneous Register 1, offset: 0x160 */
  29547. __IO uint32_t MISC1_SET; /**< Miscellaneous Register 1, offset: 0x164 */
  29548. __IO uint32_t MISC1_CLR; /**< Miscellaneous Register 1, offset: 0x168 */
  29549. __IO uint32_t MISC1_TOG; /**< Miscellaneous Register 1, offset: 0x16C */
  29550. __IO uint32_t MISC2; /**< Miscellaneous Control Register, offset: 0x170 */
  29551. __IO uint32_t MISC2_SET; /**< Miscellaneous Control Register, offset: 0x174 */
  29552. __IO uint32_t MISC2_CLR; /**< Miscellaneous Control Register, offset: 0x178 */
  29553. __IO uint32_t MISC2_TOG; /**< Miscellaneous Control Register, offset: 0x17C */
  29554. } PMU_Type;
  29555. /* ----------------------------------------------------------------------------
  29556. -- PMU Register Masks
  29557. ---------------------------------------------------------------------------- */
  29558. /*!
  29559. * @addtogroup PMU_Register_Masks PMU Register Masks
  29560. * @{
  29561. */
  29562. /*! @name REG_1P1 - Regulator 1P1 Register */
  29563. /*! @{ */
  29564. #define PMU_REG_1P1_ENABLE_LINREG_MASK (0x1U)
  29565. #define PMU_REG_1P1_ENABLE_LINREG_SHIFT (0U)
  29566. #define PMU_REG_1P1_ENABLE_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_ENABLE_LINREG_SHIFT)) & PMU_REG_1P1_ENABLE_LINREG_MASK)
  29567. #define PMU_REG_1P1_ENABLE_BO_MASK (0x2U)
  29568. #define PMU_REG_1P1_ENABLE_BO_SHIFT (1U)
  29569. #define PMU_REG_1P1_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_ENABLE_BO_SHIFT)) & PMU_REG_1P1_ENABLE_BO_MASK)
  29570. #define PMU_REG_1P1_ENABLE_ILIMIT_MASK (0x4U)
  29571. #define PMU_REG_1P1_ENABLE_ILIMIT_SHIFT (2U)
  29572. #define PMU_REG_1P1_ENABLE_ILIMIT(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_ENABLE_ILIMIT_SHIFT)) & PMU_REG_1P1_ENABLE_ILIMIT_MASK)
  29573. #define PMU_REG_1P1_ENABLE_PULLDOWN_MASK (0x8U)
  29574. #define PMU_REG_1P1_ENABLE_PULLDOWN_SHIFT (3U)
  29575. #define PMU_REG_1P1_ENABLE_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_ENABLE_PULLDOWN_SHIFT)) & PMU_REG_1P1_ENABLE_PULLDOWN_MASK)
  29576. #define PMU_REG_1P1_BO_OFFSET_MASK (0x70U)
  29577. #define PMU_REG_1P1_BO_OFFSET_SHIFT (4U)
  29578. #define PMU_REG_1P1_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_BO_OFFSET_SHIFT)) & PMU_REG_1P1_BO_OFFSET_MASK)
  29579. #define PMU_REG_1P1_OUTPUT_TRG_MASK (0x1F00U)
  29580. #define PMU_REG_1P1_OUTPUT_TRG_SHIFT (8U)
  29581. /*! OUTPUT_TRG
  29582. * 0b00100..0.8V
  29583. * 0b10000..1.1V
  29584. * 0b000x1..1.375V
  29585. */
  29586. #define PMU_REG_1P1_OUTPUT_TRG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_OUTPUT_TRG_SHIFT)) & PMU_REG_1P1_OUTPUT_TRG_MASK)
  29587. #define PMU_REG_1P1_BO_VDD1P1_MASK (0x10000U)
  29588. #define PMU_REG_1P1_BO_VDD1P1_SHIFT (16U)
  29589. #define PMU_REG_1P1_BO_VDD1P1(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_BO_VDD1P1_SHIFT)) & PMU_REG_1P1_BO_VDD1P1_MASK)
  29590. #define PMU_REG_1P1_OK_VDD1P1_MASK (0x20000U)
  29591. #define PMU_REG_1P1_OK_VDD1P1_SHIFT (17U)
  29592. #define PMU_REG_1P1_OK_VDD1P1(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_1P1_OK_VDD1P1_SHIFT)) & PMU_REG_1P1_OK_VDD1P1_MASK)
  29593. #define PMU_REG_1P1_ENABLE_WEAK_LINREG_MASK (0x40000U)
  29594. #define PMU_REG_1P1_ENABLE_WEAK_LINREG_SHIFT (18U)
  29595. #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)
  29596. #define PMU_REG_1P1_SELREF_WEAK_LINREG_MASK (0x80000U)
  29597. #define PMU_REG_1P1_SELREF_WEAK_LINREG_SHIFT (19U)
  29598. /*! SELREF_WEAK_LINREG
  29599. * 0b0..Weak-linreg output tracks low-power-bandgap voltage
  29600. * 0b1..Weak-linreg output tracks VDD_SOC_IN voltage
  29601. */
  29602. #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)
  29603. /*! @} */
  29604. /*! @name REG_1P1_SET - Regulator 1P1 Register */
  29605. /*! @{ */
  29606. #define PMU_REG_1P1_SET_ENABLE_LINREG_MASK (0x1U)
  29607. #define PMU_REG_1P1_SET_ENABLE_LINREG_SHIFT (0U)
  29608. #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)
  29609. #define PMU_REG_1P1_SET_ENABLE_BO_MASK (0x2U)
  29610. #define PMU_REG_1P1_SET_ENABLE_BO_SHIFT (1U)
  29611. #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)
  29612. #define PMU_REG_1P1_SET_ENABLE_ILIMIT_MASK (0x4U)
  29613. #define PMU_REG_1P1_SET_ENABLE_ILIMIT_SHIFT (2U)
  29614. #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)
  29615. #define PMU_REG_1P1_SET_ENABLE_PULLDOWN_MASK (0x8U)
  29616. #define PMU_REG_1P1_SET_ENABLE_PULLDOWN_SHIFT (3U)
  29617. #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)
  29618. #define PMU_REG_1P1_SET_BO_OFFSET_MASK (0x70U)
  29619. #define PMU_REG_1P1_SET_BO_OFFSET_SHIFT (4U)
  29620. #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)
  29621. #define PMU_REG_1P1_SET_OUTPUT_TRG_MASK (0x1F00U)
  29622. #define PMU_REG_1P1_SET_OUTPUT_TRG_SHIFT (8U)
  29623. /*! OUTPUT_TRG
  29624. * 0b00100..0.8V
  29625. * 0b10000..1.1V
  29626. * 0b000x1..1.375V
  29627. */
  29628. #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)
  29629. #define PMU_REG_1P1_SET_BO_VDD1P1_MASK (0x10000U)
  29630. #define PMU_REG_1P1_SET_BO_VDD1P1_SHIFT (16U)
  29631. #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)
  29632. #define PMU_REG_1P1_SET_OK_VDD1P1_MASK (0x20000U)
  29633. #define PMU_REG_1P1_SET_OK_VDD1P1_SHIFT (17U)
  29634. #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)
  29635. #define PMU_REG_1P1_SET_ENABLE_WEAK_LINREG_MASK (0x40000U)
  29636. #define PMU_REG_1P1_SET_ENABLE_WEAK_LINREG_SHIFT (18U)
  29637. #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)
  29638. #define PMU_REG_1P1_SET_SELREF_WEAK_LINREG_MASK (0x80000U)
  29639. #define PMU_REG_1P1_SET_SELREF_WEAK_LINREG_SHIFT (19U)
  29640. /*! SELREF_WEAK_LINREG
  29641. * 0b0..Weak-linreg output tracks low-power-bandgap voltage
  29642. * 0b1..Weak-linreg output tracks VDD_SOC_IN voltage
  29643. */
  29644. #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)
  29645. /*! @} */
  29646. /*! @name REG_1P1_CLR - Regulator 1P1 Register */
  29647. /*! @{ */
  29648. #define PMU_REG_1P1_CLR_ENABLE_LINREG_MASK (0x1U)
  29649. #define PMU_REG_1P1_CLR_ENABLE_LINREG_SHIFT (0U)
  29650. #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)
  29651. #define PMU_REG_1P1_CLR_ENABLE_BO_MASK (0x2U)
  29652. #define PMU_REG_1P1_CLR_ENABLE_BO_SHIFT (1U)
  29653. #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)
  29654. #define PMU_REG_1P1_CLR_ENABLE_ILIMIT_MASK (0x4U)
  29655. #define PMU_REG_1P1_CLR_ENABLE_ILIMIT_SHIFT (2U)
  29656. #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)
  29657. #define PMU_REG_1P1_CLR_ENABLE_PULLDOWN_MASK (0x8U)
  29658. #define PMU_REG_1P1_CLR_ENABLE_PULLDOWN_SHIFT (3U)
  29659. #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)
  29660. #define PMU_REG_1P1_CLR_BO_OFFSET_MASK (0x70U)
  29661. #define PMU_REG_1P1_CLR_BO_OFFSET_SHIFT (4U)
  29662. #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)
  29663. #define PMU_REG_1P1_CLR_OUTPUT_TRG_MASK (0x1F00U)
  29664. #define PMU_REG_1P1_CLR_OUTPUT_TRG_SHIFT (8U)
  29665. /*! OUTPUT_TRG
  29666. * 0b00100..0.8V
  29667. * 0b10000..1.1V
  29668. * 0b000x1..1.375V
  29669. */
  29670. #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)
  29671. #define PMU_REG_1P1_CLR_BO_VDD1P1_MASK (0x10000U)
  29672. #define PMU_REG_1P1_CLR_BO_VDD1P1_SHIFT (16U)
  29673. #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)
  29674. #define PMU_REG_1P1_CLR_OK_VDD1P1_MASK (0x20000U)
  29675. #define PMU_REG_1P1_CLR_OK_VDD1P1_SHIFT (17U)
  29676. #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)
  29677. #define PMU_REG_1P1_CLR_ENABLE_WEAK_LINREG_MASK (0x40000U)
  29678. #define PMU_REG_1P1_CLR_ENABLE_WEAK_LINREG_SHIFT (18U)
  29679. #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)
  29680. #define PMU_REG_1P1_CLR_SELREF_WEAK_LINREG_MASK (0x80000U)
  29681. #define PMU_REG_1P1_CLR_SELREF_WEAK_LINREG_SHIFT (19U)
  29682. /*! SELREF_WEAK_LINREG
  29683. * 0b0..Weak-linreg output tracks low-power-bandgap voltage
  29684. * 0b1..Weak-linreg output tracks VDD_SOC_IN voltage
  29685. */
  29686. #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)
  29687. /*! @} */
  29688. /*! @name REG_1P1_TOG - Regulator 1P1 Register */
  29689. /*! @{ */
  29690. #define PMU_REG_1P1_TOG_ENABLE_LINREG_MASK (0x1U)
  29691. #define PMU_REG_1P1_TOG_ENABLE_LINREG_SHIFT (0U)
  29692. #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)
  29693. #define PMU_REG_1P1_TOG_ENABLE_BO_MASK (0x2U)
  29694. #define PMU_REG_1P1_TOG_ENABLE_BO_SHIFT (1U)
  29695. #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)
  29696. #define PMU_REG_1P1_TOG_ENABLE_ILIMIT_MASK (0x4U)
  29697. #define PMU_REG_1P1_TOG_ENABLE_ILIMIT_SHIFT (2U)
  29698. #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)
  29699. #define PMU_REG_1P1_TOG_ENABLE_PULLDOWN_MASK (0x8U)
  29700. #define PMU_REG_1P1_TOG_ENABLE_PULLDOWN_SHIFT (3U)
  29701. #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)
  29702. #define PMU_REG_1P1_TOG_BO_OFFSET_MASK (0x70U)
  29703. #define PMU_REG_1P1_TOG_BO_OFFSET_SHIFT (4U)
  29704. #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)
  29705. #define PMU_REG_1P1_TOG_OUTPUT_TRG_MASK (0x1F00U)
  29706. #define PMU_REG_1P1_TOG_OUTPUT_TRG_SHIFT (8U)
  29707. /*! OUTPUT_TRG
  29708. * 0b00100..0.8V
  29709. * 0b10000..1.1V
  29710. * 0b000x1..1.375V
  29711. */
  29712. #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)
  29713. #define PMU_REG_1P1_TOG_BO_VDD1P1_MASK (0x10000U)
  29714. #define PMU_REG_1P1_TOG_BO_VDD1P1_SHIFT (16U)
  29715. #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)
  29716. #define PMU_REG_1P1_TOG_OK_VDD1P1_MASK (0x20000U)
  29717. #define PMU_REG_1P1_TOG_OK_VDD1P1_SHIFT (17U)
  29718. #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)
  29719. #define PMU_REG_1P1_TOG_ENABLE_WEAK_LINREG_MASK (0x40000U)
  29720. #define PMU_REG_1P1_TOG_ENABLE_WEAK_LINREG_SHIFT (18U)
  29721. #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)
  29722. #define PMU_REG_1P1_TOG_SELREF_WEAK_LINREG_MASK (0x80000U)
  29723. #define PMU_REG_1P1_TOG_SELREF_WEAK_LINREG_SHIFT (19U)
  29724. /*! SELREF_WEAK_LINREG
  29725. * 0b0..Weak-linreg output tracks low-power-bandgap voltage
  29726. * 0b1..Weak-linreg output tracks VDD_SOC_IN voltage
  29727. */
  29728. #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)
  29729. /*! @} */
  29730. /*! @name REG_3P0 - Regulator 3P0 Register */
  29731. /*! @{ */
  29732. #define PMU_REG_3P0_ENABLE_LINREG_MASK (0x1U)
  29733. #define PMU_REG_3P0_ENABLE_LINREG_SHIFT (0U)
  29734. #define PMU_REG_3P0_ENABLE_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_ENABLE_LINREG_SHIFT)) & PMU_REG_3P0_ENABLE_LINREG_MASK)
  29735. #define PMU_REG_3P0_ENABLE_BO_MASK (0x2U)
  29736. #define PMU_REG_3P0_ENABLE_BO_SHIFT (1U)
  29737. #define PMU_REG_3P0_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_ENABLE_BO_SHIFT)) & PMU_REG_3P0_ENABLE_BO_MASK)
  29738. #define PMU_REG_3P0_ENABLE_ILIMIT_MASK (0x4U)
  29739. #define PMU_REG_3P0_ENABLE_ILIMIT_SHIFT (2U)
  29740. #define PMU_REG_3P0_ENABLE_ILIMIT(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_ENABLE_ILIMIT_SHIFT)) & PMU_REG_3P0_ENABLE_ILIMIT_MASK)
  29741. #define PMU_REG_3P0_BO_OFFSET_MASK (0x70U)
  29742. #define PMU_REG_3P0_BO_OFFSET_SHIFT (4U)
  29743. #define PMU_REG_3P0_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_BO_OFFSET_SHIFT)) & PMU_REG_3P0_BO_OFFSET_MASK)
  29744. #define PMU_REG_3P0_VBUS_SEL_MASK (0x80U)
  29745. #define PMU_REG_3P0_VBUS_SEL_SHIFT (7U)
  29746. /*! VBUS_SEL
  29747. * 0b1..Utilize VBUS OTG1 power
  29748. * 0b0..Utilize VBUS OTG2 power
  29749. */
  29750. #define PMU_REG_3P0_VBUS_SEL(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_VBUS_SEL_SHIFT)) & PMU_REG_3P0_VBUS_SEL_MASK)
  29751. #define PMU_REG_3P0_OUTPUT_TRG_MASK (0x1F00U)
  29752. #define PMU_REG_3P0_OUTPUT_TRG_SHIFT (8U)
  29753. /*! OUTPUT_TRG
  29754. * 0b00000..2.625V
  29755. * 0b01111..3.000V
  29756. * 0b11111..3.400V
  29757. */
  29758. #define PMU_REG_3P0_OUTPUT_TRG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_OUTPUT_TRG_SHIFT)) & PMU_REG_3P0_OUTPUT_TRG_MASK)
  29759. #define PMU_REG_3P0_BO_VDD3P0_MASK (0x10000U)
  29760. #define PMU_REG_3P0_BO_VDD3P0_SHIFT (16U)
  29761. #define PMU_REG_3P0_BO_VDD3P0(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_BO_VDD3P0_SHIFT)) & PMU_REG_3P0_BO_VDD3P0_MASK)
  29762. #define PMU_REG_3P0_OK_VDD3P0_MASK (0x20000U)
  29763. #define PMU_REG_3P0_OK_VDD3P0_SHIFT (17U)
  29764. #define PMU_REG_3P0_OK_VDD3P0(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_3P0_OK_VDD3P0_SHIFT)) & PMU_REG_3P0_OK_VDD3P0_MASK)
  29765. /*! @} */
  29766. /*! @name REG_3P0_SET - Regulator 3P0 Register */
  29767. /*! @{ */
  29768. #define PMU_REG_3P0_SET_ENABLE_LINREG_MASK (0x1U)
  29769. #define PMU_REG_3P0_SET_ENABLE_LINREG_SHIFT (0U)
  29770. #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)
  29771. #define PMU_REG_3P0_SET_ENABLE_BO_MASK (0x2U)
  29772. #define PMU_REG_3P0_SET_ENABLE_BO_SHIFT (1U)
  29773. #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)
  29774. #define PMU_REG_3P0_SET_ENABLE_ILIMIT_MASK (0x4U)
  29775. #define PMU_REG_3P0_SET_ENABLE_ILIMIT_SHIFT (2U)
  29776. #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)
  29777. #define PMU_REG_3P0_SET_BO_OFFSET_MASK (0x70U)
  29778. #define PMU_REG_3P0_SET_BO_OFFSET_SHIFT (4U)
  29779. #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)
  29780. #define PMU_REG_3P0_SET_VBUS_SEL_MASK (0x80U)
  29781. #define PMU_REG_3P0_SET_VBUS_SEL_SHIFT (7U)
  29782. /*! VBUS_SEL
  29783. * 0b1..Utilize VBUS OTG1 power
  29784. * 0b0..Utilize VBUS OTG2 power
  29785. */
  29786. #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)
  29787. #define PMU_REG_3P0_SET_OUTPUT_TRG_MASK (0x1F00U)
  29788. #define PMU_REG_3P0_SET_OUTPUT_TRG_SHIFT (8U)
  29789. /*! OUTPUT_TRG
  29790. * 0b00000..2.625V
  29791. * 0b01111..3.000V
  29792. * 0b11111..3.400V
  29793. */
  29794. #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)
  29795. #define PMU_REG_3P0_SET_BO_VDD3P0_MASK (0x10000U)
  29796. #define PMU_REG_3P0_SET_BO_VDD3P0_SHIFT (16U)
  29797. #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)
  29798. #define PMU_REG_3P0_SET_OK_VDD3P0_MASK (0x20000U)
  29799. #define PMU_REG_3P0_SET_OK_VDD3P0_SHIFT (17U)
  29800. #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)
  29801. /*! @} */
  29802. /*! @name REG_3P0_CLR - Regulator 3P0 Register */
  29803. /*! @{ */
  29804. #define PMU_REG_3P0_CLR_ENABLE_LINREG_MASK (0x1U)
  29805. #define PMU_REG_3P0_CLR_ENABLE_LINREG_SHIFT (0U)
  29806. #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)
  29807. #define PMU_REG_3P0_CLR_ENABLE_BO_MASK (0x2U)
  29808. #define PMU_REG_3P0_CLR_ENABLE_BO_SHIFT (1U)
  29809. #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)
  29810. #define PMU_REG_3P0_CLR_ENABLE_ILIMIT_MASK (0x4U)
  29811. #define PMU_REG_3P0_CLR_ENABLE_ILIMIT_SHIFT (2U)
  29812. #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)
  29813. #define PMU_REG_3P0_CLR_BO_OFFSET_MASK (0x70U)
  29814. #define PMU_REG_3P0_CLR_BO_OFFSET_SHIFT (4U)
  29815. #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)
  29816. #define PMU_REG_3P0_CLR_VBUS_SEL_MASK (0x80U)
  29817. #define PMU_REG_3P0_CLR_VBUS_SEL_SHIFT (7U)
  29818. /*! VBUS_SEL
  29819. * 0b1..Utilize VBUS OTG1 power
  29820. * 0b0..Utilize VBUS OTG2 power
  29821. */
  29822. #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)
  29823. #define PMU_REG_3P0_CLR_OUTPUT_TRG_MASK (0x1F00U)
  29824. #define PMU_REG_3P0_CLR_OUTPUT_TRG_SHIFT (8U)
  29825. /*! OUTPUT_TRG
  29826. * 0b00000..2.625V
  29827. * 0b01111..3.000V
  29828. * 0b11111..3.400V
  29829. */
  29830. #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)
  29831. #define PMU_REG_3P0_CLR_BO_VDD3P0_MASK (0x10000U)
  29832. #define PMU_REG_3P0_CLR_BO_VDD3P0_SHIFT (16U)
  29833. #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)
  29834. #define PMU_REG_3P0_CLR_OK_VDD3P0_MASK (0x20000U)
  29835. #define PMU_REG_3P0_CLR_OK_VDD3P0_SHIFT (17U)
  29836. #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)
  29837. /*! @} */
  29838. /*! @name REG_3P0_TOG - Regulator 3P0 Register */
  29839. /*! @{ */
  29840. #define PMU_REG_3P0_TOG_ENABLE_LINREG_MASK (0x1U)
  29841. #define PMU_REG_3P0_TOG_ENABLE_LINREG_SHIFT (0U)
  29842. #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)
  29843. #define PMU_REG_3P0_TOG_ENABLE_BO_MASK (0x2U)
  29844. #define PMU_REG_3P0_TOG_ENABLE_BO_SHIFT (1U)
  29845. #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)
  29846. #define PMU_REG_3P0_TOG_ENABLE_ILIMIT_MASK (0x4U)
  29847. #define PMU_REG_3P0_TOG_ENABLE_ILIMIT_SHIFT (2U)
  29848. #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)
  29849. #define PMU_REG_3P0_TOG_BO_OFFSET_MASK (0x70U)
  29850. #define PMU_REG_3P0_TOG_BO_OFFSET_SHIFT (4U)
  29851. #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)
  29852. #define PMU_REG_3P0_TOG_VBUS_SEL_MASK (0x80U)
  29853. #define PMU_REG_3P0_TOG_VBUS_SEL_SHIFT (7U)
  29854. /*! VBUS_SEL
  29855. * 0b1..Utilize VBUS OTG1 power
  29856. * 0b0..Utilize VBUS OTG2 power
  29857. */
  29858. #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)
  29859. #define PMU_REG_3P0_TOG_OUTPUT_TRG_MASK (0x1F00U)
  29860. #define PMU_REG_3P0_TOG_OUTPUT_TRG_SHIFT (8U)
  29861. /*! OUTPUT_TRG
  29862. * 0b00000..2.625V
  29863. * 0b01111..3.000V
  29864. * 0b11111..3.400V
  29865. */
  29866. #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)
  29867. #define PMU_REG_3P0_TOG_BO_VDD3P0_MASK (0x10000U)
  29868. #define PMU_REG_3P0_TOG_BO_VDD3P0_SHIFT (16U)
  29869. #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)
  29870. #define PMU_REG_3P0_TOG_OK_VDD3P0_MASK (0x20000U)
  29871. #define PMU_REG_3P0_TOG_OK_VDD3P0_SHIFT (17U)
  29872. #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)
  29873. /*! @} */
  29874. /*! @name REG_2P5 - Regulator 2P5 Register */
  29875. /*! @{ */
  29876. #define PMU_REG_2P5_ENABLE_LINREG_MASK (0x1U)
  29877. #define PMU_REG_2P5_ENABLE_LINREG_SHIFT (0U)
  29878. #define PMU_REG_2P5_ENABLE_LINREG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_ENABLE_LINREG_SHIFT)) & PMU_REG_2P5_ENABLE_LINREG_MASK)
  29879. #define PMU_REG_2P5_ENABLE_BO_MASK (0x2U)
  29880. #define PMU_REG_2P5_ENABLE_BO_SHIFT (1U)
  29881. #define PMU_REG_2P5_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_ENABLE_BO_SHIFT)) & PMU_REG_2P5_ENABLE_BO_MASK)
  29882. #define PMU_REG_2P5_ENABLE_ILIMIT_MASK (0x4U)
  29883. #define PMU_REG_2P5_ENABLE_ILIMIT_SHIFT (2U)
  29884. #define PMU_REG_2P5_ENABLE_ILIMIT(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_ENABLE_ILIMIT_SHIFT)) & PMU_REG_2P5_ENABLE_ILIMIT_MASK)
  29885. #define PMU_REG_2P5_ENABLE_PULLDOWN_MASK (0x8U)
  29886. #define PMU_REG_2P5_ENABLE_PULLDOWN_SHIFT (3U)
  29887. #define PMU_REG_2P5_ENABLE_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_ENABLE_PULLDOWN_SHIFT)) & PMU_REG_2P5_ENABLE_PULLDOWN_MASK)
  29888. #define PMU_REG_2P5_BO_OFFSET_MASK (0x70U)
  29889. #define PMU_REG_2P5_BO_OFFSET_SHIFT (4U)
  29890. #define PMU_REG_2P5_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_BO_OFFSET_SHIFT)) & PMU_REG_2P5_BO_OFFSET_MASK)
  29891. #define PMU_REG_2P5_OUTPUT_TRG_MASK (0x1F00U)
  29892. #define PMU_REG_2P5_OUTPUT_TRG_SHIFT (8U)
  29893. /*! OUTPUT_TRG
  29894. * 0b00000..2.10V
  29895. * 0b10000..2.50V
  29896. * 0b11111..2.875V
  29897. */
  29898. #define PMU_REG_2P5_OUTPUT_TRG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_OUTPUT_TRG_SHIFT)) & PMU_REG_2P5_OUTPUT_TRG_MASK)
  29899. #define PMU_REG_2P5_BO_VDD2P5_MASK (0x10000U)
  29900. #define PMU_REG_2P5_BO_VDD2P5_SHIFT (16U)
  29901. #define PMU_REG_2P5_BO_VDD2P5(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_BO_VDD2P5_SHIFT)) & PMU_REG_2P5_BO_VDD2P5_MASK)
  29902. #define PMU_REG_2P5_OK_VDD2P5_MASK (0x20000U)
  29903. #define PMU_REG_2P5_OK_VDD2P5_SHIFT (17U)
  29904. #define PMU_REG_2P5_OK_VDD2P5(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_2P5_OK_VDD2P5_SHIFT)) & PMU_REG_2P5_OK_VDD2P5_MASK)
  29905. #define PMU_REG_2P5_ENABLE_WEAK_LINREG_MASK (0x40000U)
  29906. #define PMU_REG_2P5_ENABLE_WEAK_LINREG_SHIFT (18U)
  29907. #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)
  29908. /*! @} */
  29909. /*! @name REG_2P5_SET - Regulator 2P5 Register */
  29910. /*! @{ */
  29911. #define PMU_REG_2P5_SET_ENABLE_LINREG_MASK (0x1U)
  29912. #define PMU_REG_2P5_SET_ENABLE_LINREG_SHIFT (0U)
  29913. #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)
  29914. #define PMU_REG_2P5_SET_ENABLE_BO_MASK (0x2U)
  29915. #define PMU_REG_2P5_SET_ENABLE_BO_SHIFT (1U)
  29916. #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)
  29917. #define PMU_REG_2P5_SET_ENABLE_ILIMIT_MASK (0x4U)
  29918. #define PMU_REG_2P5_SET_ENABLE_ILIMIT_SHIFT (2U)
  29919. #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)
  29920. #define PMU_REG_2P5_SET_ENABLE_PULLDOWN_MASK (0x8U)
  29921. #define PMU_REG_2P5_SET_ENABLE_PULLDOWN_SHIFT (3U)
  29922. #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)
  29923. #define PMU_REG_2P5_SET_BO_OFFSET_MASK (0x70U)
  29924. #define PMU_REG_2P5_SET_BO_OFFSET_SHIFT (4U)
  29925. #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)
  29926. #define PMU_REG_2P5_SET_OUTPUT_TRG_MASK (0x1F00U)
  29927. #define PMU_REG_2P5_SET_OUTPUT_TRG_SHIFT (8U)
  29928. /*! OUTPUT_TRG
  29929. * 0b00000..2.10V
  29930. * 0b10000..2.50V
  29931. * 0b11111..2.875V
  29932. */
  29933. #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)
  29934. #define PMU_REG_2P5_SET_BO_VDD2P5_MASK (0x10000U)
  29935. #define PMU_REG_2P5_SET_BO_VDD2P5_SHIFT (16U)
  29936. #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)
  29937. #define PMU_REG_2P5_SET_OK_VDD2P5_MASK (0x20000U)
  29938. #define PMU_REG_2P5_SET_OK_VDD2P5_SHIFT (17U)
  29939. #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)
  29940. #define PMU_REG_2P5_SET_ENABLE_WEAK_LINREG_MASK (0x40000U)
  29941. #define PMU_REG_2P5_SET_ENABLE_WEAK_LINREG_SHIFT (18U)
  29942. #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)
  29943. /*! @} */
  29944. /*! @name REG_2P5_CLR - Regulator 2P5 Register */
  29945. /*! @{ */
  29946. #define PMU_REG_2P5_CLR_ENABLE_LINREG_MASK (0x1U)
  29947. #define PMU_REG_2P5_CLR_ENABLE_LINREG_SHIFT (0U)
  29948. #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)
  29949. #define PMU_REG_2P5_CLR_ENABLE_BO_MASK (0x2U)
  29950. #define PMU_REG_2P5_CLR_ENABLE_BO_SHIFT (1U)
  29951. #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)
  29952. #define PMU_REG_2P5_CLR_ENABLE_ILIMIT_MASK (0x4U)
  29953. #define PMU_REG_2P5_CLR_ENABLE_ILIMIT_SHIFT (2U)
  29954. #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)
  29955. #define PMU_REG_2P5_CLR_ENABLE_PULLDOWN_MASK (0x8U)
  29956. #define PMU_REG_2P5_CLR_ENABLE_PULLDOWN_SHIFT (3U)
  29957. #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)
  29958. #define PMU_REG_2P5_CLR_BO_OFFSET_MASK (0x70U)
  29959. #define PMU_REG_2P5_CLR_BO_OFFSET_SHIFT (4U)
  29960. #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)
  29961. #define PMU_REG_2P5_CLR_OUTPUT_TRG_MASK (0x1F00U)
  29962. #define PMU_REG_2P5_CLR_OUTPUT_TRG_SHIFT (8U)
  29963. /*! OUTPUT_TRG
  29964. * 0b00000..2.10V
  29965. * 0b10000..2.50V
  29966. * 0b11111..2.875V
  29967. */
  29968. #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)
  29969. #define PMU_REG_2P5_CLR_BO_VDD2P5_MASK (0x10000U)
  29970. #define PMU_REG_2P5_CLR_BO_VDD2P5_SHIFT (16U)
  29971. #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)
  29972. #define PMU_REG_2P5_CLR_OK_VDD2P5_MASK (0x20000U)
  29973. #define PMU_REG_2P5_CLR_OK_VDD2P5_SHIFT (17U)
  29974. #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)
  29975. #define PMU_REG_2P5_CLR_ENABLE_WEAK_LINREG_MASK (0x40000U)
  29976. #define PMU_REG_2P5_CLR_ENABLE_WEAK_LINREG_SHIFT (18U)
  29977. #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)
  29978. /*! @} */
  29979. /*! @name REG_2P5_TOG - Regulator 2P5 Register */
  29980. /*! @{ */
  29981. #define PMU_REG_2P5_TOG_ENABLE_LINREG_MASK (0x1U)
  29982. #define PMU_REG_2P5_TOG_ENABLE_LINREG_SHIFT (0U)
  29983. #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)
  29984. #define PMU_REG_2P5_TOG_ENABLE_BO_MASK (0x2U)
  29985. #define PMU_REG_2P5_TOG_ENABLE_BO_SHIFT (1U)
  29986. #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)
  29987. #define PMU_REG_2P5_TOG_ENABLE_ILIMIT_MASK (0x4U)
  29988. #define PMU_REG_2P5_TOG_ENABLE_ILIMIT_SHIFT (2U)
  29989. #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)
  29990. #define PMU_REG_2P5_TOG_ENABLE_PULLDOWN_MASK (0x8U)
  29991. #define PMU_REG_2P5_TOG_ENABLE_PULLDOWN_SHIFT (3U)
  29992. #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)
  29993. #define PMU_REG_2P5_TOG_BO_OFFSET_MASK (0x70U)
  29994. #define PMU_REG_2P5_TOG_BO_OFFSET_SHIFT (4U)
  29995. #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)
  29996. #define PMU_REG_2P5_TOG_OUTPUT_TRG_MASK (0x1F00U)
  29997. #define PMU_REG_2P5_TOG_OUTPUT_TRG_SHIFT (8U)
  29998. /*! OUTPUT_TRG
  29999. * 0b00000..2.10V
  30000. * 0b10000..2.50V
  30001. * 0b11111..2.875V
  30002. */
  30003. #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)
  30004. #define PMU_REG_2P5_TOG_BO_VDD2P5_MASK (0x10000U)
  30005. #define PMU_REG_2P5_TOG_BO_VDD2P5_SHIFT (16U)
  30006. #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)
  30007. #define PMU_REG_2P5_TOG_OK_VDD2P5_MASK (0x20000U)
  30008. #define PMU_REG_2P5_TOG_OK_VDD2P5_SHIFT (17U)
  30009. #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)
  30010. #define PMU_REG_2P5_TOG_ENABLE_WEAK_LINREG_MASK (0x40000U)
  30011. #define PMU_REG_2P5_TOG_ENABLE_WEAK_LINREG_SHIFT (18U)
  30012. #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)
  30013. /*! @} */
  30014. /*! @name REG_CORE - Digital Regulator Core Register */
  30015. /*! @{ */
  30016. #define PMU_REG_CORE_REG0_TARG_MASK (0x1FU)
  30017. #define PMU_REG_CORE_REG0_TARG_SHIFT (0U)
  30018. /*! REG0_TARG
  30019. * 0b00000..Power gated off
  30020. * 0b00001..Target core voltage = 0.725V
  30021. * 0b00010..Target core voltage = 0.750V
  30022. * 0b00011..Target core voltage = 0.775V
  30023. * 0b10000..Target core voltage = 1.100V
  30024. * 0b11110..Target core voltage = 1.450V
  30025. * 0b11111..Power FET switched full on. No regulation.
  30026. */
  30027. #define PMU_REG_CORE_REG0_TARG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_REG0_TARG_SHIFT)) & PMU_REG_CORE_REG0_TARG_MASK)
  30028. #define PMU_REG_CORE_REG0_ADJ_MASK (0x1E0U)
  30029. #define PMU_REG_CORE_REG0_ADJ_SHIFT (5U)
  30030. /*! REG0_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg0. The
  30031. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  30032. * register.
  30033. * 0b0000..No adjustment
  30034. * 0b0001..+ 0.25%
  30035. * 0b0010..+ 0.50%
  30036. * 0b0011..+ 0.75%
  30037. * 0b0100..+ 1.00%
  30038. * 0b0101..+ 1.25%
  30039. * 0b0110..+ 1.50%
  30040. * 0b0111..+ 1.75%
  30041. * 0b1000..- 0.25%
  30042. * 0b1001..- 0.50%
  30043. * 0b1010..- 0.75%
  30044. * 0b1011..- 1.00%
  30045. * 0b1100..- 1.25%
  30046. * 0b1101..- 1.50%
  30047. * 0b1110..- 1.75%
  30048. * 0b1111..- 2.00%
  30049. */
  30050. #define PMU_REG_CORE_REG0_ADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_REG0_ADJ_SHIFT)) & PMU_REG_CORE_REG0_ADJ_MASK)
  30051. #define PMU_REG_CORE_REG1_TARG_MASK (0x3E00U)
  30052. #define PMU_REG_CORE_REG1_TARG_SHIFT (9U)
  30053. /*! REG1_TARG - This bit field defines the target voltage for the vpu/gpu power domain. Single bit
  30054. * increments reflect 25mV core voltage steps. Not all steps will make sense to use either because
  30055. * of input supply limitations or load operation.
  30056. * 0b00000..Power gated off
  30057. * 0b00001..Target core voltage = 0.725V
  30058. * 0b00010..Target core voltage = 0.750V
  30059. * 0b00011..Target core voltage = 0.775V
  30060. * 0b10000..Target core voltage = 1.100V
  30061. * 0b11110..Target core voltage = 1.450V
  30062. * 0b11111..Power FET switched full on. No regulation.
  30063. */
  30064. #define PMU_REG_CORE_REG1_TARG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_REG1_TARG_SHIFT)) & PMU_REG_CORE_REG1_TARG_MASK)
  30065. #define PMU_REG_CORE_REG1_ADJ_MASK (0x3C000U)
  30066. #define PMU_REG_CORE_REG1_ADJ_SHIFT (14U)
  30067. /*! REG1_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg1. The
  30068. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  30069. * register.
  30070. * 0b0000..No adjustment
  30071. * 0b0001..+ 0.25%
  30072. * 0b0010..+ 0.50%
  30073. * 0b0011..+ 0.75%
  30074. * 0b0100..+ 1.00%
  30075. * 0b0101..+ 1.25%
  30076. * 0b0110..+ 1.50%
  30077. * 0b0111..+ 1.75%
  30078. * 0b1000..- 0.25%
  30079. * 0b1001..- 0.50%
  30080. * 0b1010..- 0.75%
  30081. * 0b1011..- 1.00%
  30082. * 0b1100..- 1.25%
  30083. * 0b1101..- 1.50%
  30084. * 0b1110..- 1.75%
  30085. * 0b1111..- 2.00%
  30086. */
  30087. #define PMU_REG_CORE_REG1_ADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_REG1_ADJ_SHIFT)) & PMU_REG_CORE_REG1_ADJ_MASK)
  30088. #define PMU_REG_CORE_REG2_TARG_MASK (0x7C0000U)
  30089. #define PMU_REG_CORE_REG2_TARG_SHIFT (18U)
  30090. /*! REG2_TARG
  30091. * 0b00000..Power gated off
  30092. * 0b00001..Target core voltage = 0.725V
  30093. * 0b00010..Target core voltage = 0.750V
  30094. * 0b00011..Target core voltage = 0.775V
  30095. * 0b10000..Target core voltage = 1.100V
  30096. * 0b11110..Target core voltage = 1.450V
  30097. * 0b11111..Power FET switched full on. No regulation.
  30098. */
  30099. #define PMU_REG_CORE_REG2_TARG(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_REG2_TARG_SHIFT)) & PMU_REG_CORE_REG2_TARG_MASK)
  30100. #define PMU_REG_CORE_REG2_ADJ_MASK (0x7800000U)
  30101. #define PMU_REG_CORE_REG2_ADJ_SHIFT (23U)
  30102. /*! REG2_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg2. The
  30103. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  30104. * register.
  30105. * 0b0000..No adjustment
  30106. * 0b0001..+ 0.25%
  30107. * 0b0010..+ 0.50%
  30108. * 0b0011..+ 0.75%
  30109. * 0b0100..+ 1.00%
  30110. * 0b0101..+ 1.25%
  30111. * 0b0110..+ 1.50%
  30112. * 0b0111..+ 1.75%
  30113. * 0b1000..- 0.25%
  30114. * 0b1001..- 0.50%
  30115. * 0b1010..- 0.75%
  30116. * 0b1011..- 1.00%
  30117. * 0b1100..- 1.25%
  30118. * 0b1101..- 1.50%
  30119. * 0b1110..- 1.75%
  30120. * 0b1111..- 2.00%
  30121. */
  30122. #define PMU_REG_CORE_REG2_ADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_REG2_ADJ_SHIFT)) & PMU_REG_CORE_REG2_ADJ_MASK)
  30123. #define PMU_REG_CORE_RAMP_RATE_MASK (0x18000000U)
  30124. #define PMU_REG_CORE_RAMP_RATE_SHIFT (27U)
  30125. /*! RAMP_RATE
  30126. * 0b00..Fast
  30127. * 0b01..Medium Fast
  30128. * 0b10..Medium Slow
  30129. * 0b11..Slow
  30130. */
  30131. #define PMU_REG_CORE_RAMP_RATE(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_RAMP_RATE_SHIFT)) & PMU_REG_CORE_RAMP_RATE_MASK)
  30132. #define PMU_REG_CORE_FET_ODRIVE_MASK (0x20000000U)
  30133. #define PMU_REG_CORE_FET_ODRIVE_SHIFT (29U)
  30134. #define PMU_REG_CORE_FET_ODRIVE(x) (((uint32_t)(((uint32_t)(x)) << PMU_REG_CORE_FET_ODRIVE_SHIFT)) & PMU_REG_CORE_FET_ODRIVE_MASK)
  30135. /*! @} */
  30136. /*! @name REG_CORE_SET - Digital Regulator Core Register */
  30137. /*! @{ */
  30138. #define PMU_REG_CORE_SET_REG0_TARG_MASK (0x1FU)
  30139. #define PMU_REG_CORE_SET_REG0_TARG_SHIFT (0U)
  30140. /*! REG0_TARG
  30141. * 0b00000..Power gated off
  30142. * 0b00001..Target core voltage = 0.725V
  30143. * 0b00010..Target core voltage = 0.750V
  30144. * 0b00011..Target core voltage = 0.775V
  30145. * 0b10000..Target core voltage = 1.100V
  30146. * 0b11110..Target core voltage = 1.450V
  30147. * 0b11111..Power FET switched full on. No regulation.
  30148. */
  30149. #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)
  30150. #define PMU_REG_CORE_SET_REG0_ADJ_MASK (0x1E0U)
  30151. #define PMU_REG_CORE_SET_REG0_ADJ_SHIFT (5U)
  30152. /*! REG0_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg0. The
  30153. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  30154. * register.
  30155. * 0b0000..No adjustment
  30156. * 0b0001..+ 0.25%
  30157. * 0b0010..+ 0.50%
  30158. * 0b0011..+ 0.75%
  30159. * 0b0100..+ 1.00%
  30160. * 0b0101..+ 1.25%
  30161. * 0b0110..+ 1.50%
  30162. * 0b0111..+ 1.75%
  30163. * 0b1000..- 0.25%
  30164. * 0b1001..- 0.50%
  30165. * 0b1010..- 0.75%
  30166. * 0b1011..- 1.00%
  30167. * 0b1100..- 1.25%
  30168. * 0b1101..- 1.50%
  30169. * 0b1110..- 1.75%
  30170. * 0b1111..- 2.00%
  30171. */
  30172. #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)
  30173. #define PMU_REG_CORE_SET_REG1_TARG_MASK (0x3E00U)
  30174. #define PMU_REG_CORE_SET_REG1_TARG_SHIFT (9U)
  30175. /*! REG1_TARG - This bit field defines the target voltage for the vpu/gpu power domain. Single bit
  30176. * increments reflect 25mV core voltage steps. Not all steps will make sense to use either because
  30177. * of input supply limitations or load operation.
  30178. * 0b00000..Power gated off
  30179. * 0b00001..Target core voltage = 0.725V
  30180. * 0b00010..Target core voltage = 0.750V
  30181. * 0b00011..Target core voltage = 0.775V
  30182. * 0b10000..Target core voltage = 1.100V
  30183. * 0b11110..Target core voltage = 1.450V
  30184. * 0b11111..Power FET switched full on. No regulation.
  30185. */
  30186. #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)
  30187. #define PMU_REG_CORE_SET_REG1_ADJ_MASK (0x3C000U)
  30188. #define PMU_REG_CORE_SET_REG1_ADJ_SHIFT (14U)
  30189. /*! REG1_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg1. The
  30190. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  30191. * register.
  30192. * 0b0000..No adjustment
  30193. * 0b0001..+ 0.25%
  30194. * 0b0010..+ 0.50%
  30195. * 0b0011..+ 0.75%
  30196. * 0b0100..+ 1.00%
  30197. * 0b0101..+ 1.25%
  30198. * 0b0110..+ 1.50%
  30199. * 0b0111..+ 1.75%
  30200. * 0b1000..- 0.25%
  30201. * 0b1001..- 0.50%
  30202. * 0b1010..- 0.75%
  30203. * 0b1011..- 1.00%
  30204. * 0b1100..- 1.25%
  30205. * 0b1101..- 1.50%
  30206. * 0b1110..- 1.75%
  30207. * 0b1111..- 2.00%
  30208. */
  30209. #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)
  30210. #define PMU_REG_CORE_SET_REG2_TARG_MASK (0x7C0000U)
  30211. #define PMU_REG_CORE_SET_REG2_TARG_SHIFT (18U)
  30212. /*! REG2_TARG
  30213. * 0b00000..Power gated off
  30214. * 0b00001..Target core voltage = 0.725V
  30215. * 0b00010..Target core voltage = 0.750V
  30216. * 0b00011..Target core voltage = 0.775V
  30217. * 0b10000..Target core voltage = 1.100V
  30218. * 0b11110..Target core voltage = 1.450V
  30219. * 0b11111..Power FET switched full on. No regulation.
  30220. */
  30221. #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)
  30222. #define PMU_REG_CORE_SET_REG2_ADJ_MASK (0x7800000U)
  30223. #define PMU_REG_CORE_SET_REG2_ADJ_SHIFT (23U)
  30224. /*! REG2_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg2. The
  30225. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  30226. * register.
  30227. * 0b0000..No adjustment
  30228. * 0b0001..+ 0.25%
  30229. * 0b0010..+ 0.50%
  30230. * 0b0011..+ 0.75%
  30231. * 0b0100..+ 1.00%
  30232. * 0b0101..+ 1.25%
  30233. * 0b0110..+ 1.50%
  30234. * 0b0111..+ 1.75%
  30235. * 0b1000..- 0.25%
  30236. * 0b1001..- 0.50%
  30237. * 0b1010..- 0.75%
  30238. * 0b1011..- 1.00%
  30239. * 0b1100..- 1.25%
  30240. * 0b1101..- 1.50%
  30241. * 0b1110..- 1.75%
  30242. * 0b1111..- 2.00%
  30243. */
  30244. #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)
  30245. #define PMU_REG_CORE_SET_RAMP_RATE_MASK (0x18000000U)
  30246. #define PMU_REG_CORE_SET_RAMP_RATE_SHIFT (27U)
  30247. /*! RAMP_RATE
  30248. * 0b00..Fast
  30249. * 0b01..Medium Fast
  30250. * 0b10..Medium Slow
  30251. * 0b11..Slow
  30252. */
  30253. #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)
  30254. #define PMU_REG_CORE_SET_FET_ODRIVE_MASK (0x20000000U)
  30255. #define PMU_REG_CORE_SET_FET_ODRIVE_SHIFT (29U)
  30256. #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)
  30257. /*! @} */
  30258. /*! @name REG_CORE_CLR - Digital Regulator Core Register */
  30259. /*! @{ */
  30260. #define PMU_REG_CORE_CLR_REG0_TARG_MASK (0x1FU)
  30261. #define PMU_REG_CORE_CLR_REG0_TARG_SHIFT (0U)
  30262. /*! REG0_TARG
  30263. * 0b00000..Power gated off
  30264. * 0b00001..Target core voltage = 0.725V
  30265. * 0b00010..Target core voltage = 0.750V
  30266. * 0b00011..Target core voltage = 0.775V
  30267. * 0b10000..Target core voltage = 1.100V
  30268. * 0b11110..Target core voltage = 1.450V
  30269. * 0b11111..Power FET switched full on. No regulation.
  30270. */
  30271. #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)
  30272. #define PMU_REG_CORE_CLR_REG0_ADJ_MASK (0x1E0U)
  30273. #define PMU_REG_CORE_CLR_REG0_ADJ_SHIFT (5U)
  30274. /*! REG0_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg0. The
  30275. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  30276. * register.
  30277. * 0b0000..No adjustment
  30278. * 0b0001..+ 0.25%
  30279. * 0b0010..+ 0.50%
  30280. * 0b0011..+ 0.75%
  30281. * 0b0100..+ 1.00%
  30282. * 0b0101..+ 1.25%
  30283. * 0b0110..+ 1.50%
  30284. * 0b0111..+ 1.75%
  30285. * 0b1000..- 0.25%
  30286. * 0b1001..- 0.50%
  30287. * 0b1010..- 0.75%
  30288. * 0b1011..- 1.00%
  30289. * 0b1100..- 1.25%
  30290. * 0b1101..- 1.50%
  30291. * 0b1110..- 1.75%
  30292. * 0b1111..- 2.00%
  30293. */
  30294. #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)
  30295. #define PMU_REG_CORE_CLR_REG1_TARG_MASK (0x3E00U)
  30296. #define PMU_REG_CORE_CLR_REG1_TARG_SHIFT (9U)
  30297. /*! REG1_TARG - This bit field defines the target voltage for the vpu/gpu power domain. Single bit
  30298. * increments reflect 25mV core voltage steps. Not all steps will make sense to use either because
  30299. * of input supply limitations or load operation.
  30300. * 0b00000..Power gated off
  30301. * 0b00001..Target core voltage = 0.725V
  30302. * 0b00010..Target core voltage = 0.750V
  30303. * 0b00011..Target core voltage = 0.775V
  30304. * 0b10000..Target core voltage = 1.100V
  30305. * 0b11110..Target core voltage = 1.450V
  30306. * 0b11111..Power FET switched full on. No regulation.
  30307. */
  30308. #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)
  30309. #define PMU_REG_CORE_CLR_REG1_ADJ_MASK (0x3C000U)
  30310. #define PMU_REG_CORE_CLR_REG1_ADJ_SHIFT (14U)
  30311. /*! REG1_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg1. The
  30312. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  30313. * register.
  30314. * 0b0000..No adjustment
  30315. * 0b0001..+ 0.25%
  30316. * 0b0010..+ 0.50%
  30317. * 0b0011..+ 0.75%
  30318. * 0b0100..+ 1.00%
  30319. * 0b0101..+ 1.25%
  30320. * 0b0110..+ 1.50%
  30321. * 0b0111..+ 1.75%
  30322. * 0b1000..- 0.25%
  30323. * 0b1001..- 0.50%
  30324. * 0b1010..- 0.75%
  30325. * 0b1011..- 1.00%
  30326. * 0b1100..- 1.25%
  30327. * 0b1101..- 1.50%
  30328. * 0b1110..- 1.75%
  30329. * 0b1111..- 2.00%
  30330. */
  30331. #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)
  30332. #define PMU_REG_CORE_CLR_REG2_TARG_MASK (0x7C0000U)
  30333. #define PMU_REG_CORE_CLR_REG2_TARG_SHIFT (18U)
  30334. /*! REG2_TARG
  30335. * 0b00000..Power gated off
  30336. * 0b00001..Target core voltage = 0.725V
  30337. * 0b00010..Target core voltage = 0.750V
  30338. * 0b00011..Target core voltage = 0.775V
  30339. * 0b10000..Target core voltage = 1.100V
  30340. * 0b11110..Target core voltage = 1.450V
  30341. * 0b11111..Power FET switched full on. No regulation.
  30342. */
  30343. #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)
  30344. #define PMU_REG_CORE_CLR_REG2_ADJ_MASK (0x7800000U)
  30345. #define PMU_REG_CORE_CLR_REG2_ADJ_SHIFT (23U)
  30346. /*! REG2_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg2. The
  30347. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  30348. * register.
  30349. * 0b0000..No adjustment
  30350. * 0b0001..+ 0.25%
  30351. * 0b0010..+ 0.50%
  30352. * 0b0011..+ 0.75%
  30353. * 0b0100..+ 1.00%
  30354. * 0b0101..+ 1.25%
  30355. * 0b0110..+ 1.50%
  30356. * 0b0111..+ 1.75%
  30357. * 0b1000..- 0.25%
  30358. * 0b1001..- 0.50%
  30359. * 0b1010..- 0.75%
  30360. * 0b1011..- 1.00%
  30361. * 0b1100..- 1.25%
  30362. * 0b1101..- 1.50%
  30363. * 0b1110..- 1.75%
  30364. * 0b1111..- 2.00%
  30365. */
  30366. #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)
  30367. #define PMU_REG_CORE_CLR_RAMP_RATE_MASK (0x18000000U)
  30368. #define PMU_REG_CORE_CLR_RAMP_RATE_SHIFT (27U)
  30369. /*! RAMP_RATE
  30370. * 0b00..Fast
  30371. * 0b01..Medium Fast
  30372. * 0b10..Medium Slow
  30373. * 0b11..Slow
  30374. */
  30375. #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)
  30376. #define PMU_REG_CORE_CLR_FET_ODRIVE_MASK (0x20000000U)
  30377. #define PMU_REG_CORE_CLR_FET_ODRIVE_SHIFT (29U)
  30378. #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)
  30379. /*! @} */
  30380. /*! @name REG_CORE_TOG - Digital Regulator Core Register */
  30381. /*! @{ */
  30382. #define PMU_REG_CORE_TOG_REG0_TARG_MASK (0x1FU)
  30383. #define PMU_REG_CORE_TOG_REG0_TARG_SHIFT (0U)
  30384. /*! REG0_TARG
  30385. * 0b00000..Power gated off
  30386. * 0b00001..Target core voltage = 0.725V
  30387. * 0b00010..Target core voltage = 0.750V
  30388. * 0b00011..Target core voltage = 0.775V
  30389. * 0b10000..Target core voltage = 1.100V
  30390. * 0b11110..Target core voltage = 1.450V
  30391. * 0b11111..Power FET switched full on. No regulation.
  30392. */
  30393. #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)
  30394. #define PMU_REG_CORE_TOG_REG0_ADJ_MASK (0x1E0U)
  30395. #define PMU_REG_CORE_TOG_REG0_ADJ_SHIFT (5U)
  30396. /*! REG0_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg0. The
  30397. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  30398. * register.
  30399. * 0b0000..No adjustment
  30400. * 0b0001..+ 0.25%
  30401. * 0b0010..+ 0.50%
  30402. * 0b0011..+ 0.75%
  30403. * 0b0100..+ 1.00%
  30404. * 0b0101..+ 1.25%
  30405. * 0b0110..+ 1.50%
  30406. * 0b0111..+ 1.75%
  30407. * 0b1000..- 0.25%
  30408. * 0b1001..- 0.50%
  30409. * 0b1010..- 0.75%
  30410. * 0b1011..- 1.00%
  30411. * 0b1100..- 1.25%
  30412. * 0b1101..- 1.50%
  30413. * 0b1110..- 1.75%
  30414. * 0b1111..- 2.00%
  30415. */
  30416. #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)
  30417. #define PMU_REG_CORE_TOG_REG1_TARG_MASK (0x3E00U)
  30418. #define PMU_REG_CORE_TOG_REG1_TARG_SHIFT (9U)
  30419. /*! REG1_TARG - This bit field defines the target voltage for the vpu/gpu power domain. Single bit
  30420. * increments reflect 25mV core voltage steps. Not all steps will make sense to use either because
  30421. * of input supply limitations or load operation.
  30422. * 0b00000..Power gated off
  30423. * 0b00001..Target core voltage = 0.725V
  30424. * 0b00010..Target core voltage = 0.750V
  30425. * 0b00011..Target core voltage = 0.775V
  30426. * 0b10000..Target core voltage = 1.100V
  30427. * 0b11110..Target core voltage = 1.450V
  30428. * 0b11111..Power FET switched full on. No regulation.
  30429. */
  30430. #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)
  30431. #define PMU_REG_CORE_TOG_REG1_ADJ_MASK (0x3C000U)
  30432. #define PMU_REG_CORE_TOG_REG1_ADJ_SHIFT (14U)
  30433. /*! REG1_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg1. The
  30434. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  30435. * register.
  30436. * 0b0000..No adjustment
  30437. * 0b0001..+ 0.25%
  30438. * 0b0010..+ 0.50%
  30439. * 0b0011..+ 0.75%
  30440. * 0b0100..+ 1.00%
  30441. * 0b0101..+ 1.25%
  30442. * 0b0110..+ 1.50%
  30443. * 0b0111..+ 1.75%
  30444. * 0b1000..- 0.25%
  30445. * 0b1001..- 0.50%
  30446. * 0b1010..- 0.75%
  30447. * 0b1011..- 1.00%
  30448. * 0b1100..- 1.25%
  30449. * 0b1101..- 1.50%
  30450. * 0b1110..- 1.75%
  30451. * 0b1111..- 2.00%
  30452. */
  30453. #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)
  30454. #define PMU_REG_CORE_TOG_REG2_TARG_MASK (0x7C0000U)
  30455. #define PMU_REG_CORE_TOG_REG2_TARG_SHIFT (18U)
  30456. /*! REG2_TARG
  30457. * 0b00000..Power gated off
  30458. * 0b00001..Target core voltage = 0.725V
  30459. * 0b00010..Target core voltage = 0.750V
  30460. * 0b00011..Target core voltage = 0.775V
  30461. * 0b10000..Target core voltage = 1.100V
  30462. * 0b11110..Target core voltage = 1.450V
  30463. * 0b11111..Power FET switched full on. No regulation.
  30464. */
  30465. #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)
  30466. #define PMU_REG_CORE_TOG_REG2_ADJ_MASK (0x7800000U)
  30467. #define PMU_REG_CORE_TOG_REG2_ADJ_SHIFT (23U)
  30468. /*! REG2_ADJ - This bit field defines the adjustment bits to calibrate the target value of Reg2. The
  30469. * adjustment is applied on top on any adjustment applied to the global reference in the misc0
  30470. * register.
  30471. * 0b0000..No adjustment
  30472. * 0b0001..+ 0.25%
  30473. * 0b0010..+ 0.50%
  30474. * 0b0011..+ 0.75%
  30475. * 0b0100..+ 1.00%
  30476. * 0b0101..+ 1.25%
  30477. * 0b0110..+ 1.50%
  30478. * 0b0111..+ 1.75%
  30479. * 0b1000..- 0.25%
  30480. * 0b1001..- 0.50%
  30481. * 0b1010..- 0.75%
  30482. * 0b1011..- 1.00%
  30483. * 0b1100..- 1.25%
  30484. * 0b1101..- 1.50%
  30485. * 0b1110..- 1.75%
  30486. * 0b1111..- 2.00%
  30487. */
  30488. #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)
  30489. #define PMU_REG_CORE_TOG_RAMP_RATE_MASK (0x18000000U)
  30490. #define PMU_REG_CORE_TOG_RAMP_RATE_SHIFT (27U)
  30491. /*! RAMP_RATE
  30492. * 0b00..Fast
  30493. * 0b01..Medium Fast
  30494. * 0b10..Medium Slow
  30495. * 0b11..Slow
  30496. */
  30497. #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)
  30498. #define PMU_REG_CORE_TOG_FET_ODRIVE_MASK (0x20000000U)
  30499. #define PMU_REG_CORE_TOG_FET_ODRIVE_SHIFT (29U)
  30500. #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)
  30501. /*! @} */
  30502. /*! @name MISC0 - Miscellaneous Register 0 */
  30503. /*! @{ */
  30504. #define PMU_MISC0_REFTOP_PWD_MASK (0x1U)
  30505. #define PMU_MISC0_REFTOP_PWD_SHIFT (0U)
  30506. #define PMU_MISC0_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_REFTOP_PWD_SHIFT)) & PMU_MISC0_REFTOP_PWD_MASK)
  30507. #define PMU_MISC0_REFTOP_SELFBIASOFF_MASK (0x8U)
  30508. #define PMU_MISC0_REFTOP_SELFBIASOFF_SHIFT (3U)
  30509. /*! REFTOP_SELFBIASOFF
  30510. * 0b0..Uses coarse bias currents for startup
  30511. * 0b1..Uses bandgap-based bias currents for best performance.
  30512. */
  30513. #define PMU_MISC0_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_REFTOP_SELFBIASOFF_SHIFT)) & PMU_MISC0_REFTOP_SELFBIASOFF_MASK)
  30514. #define PMU_MISC0_REFTOP_VBGADJ_MASK (0x70U)
  30515. #define PMU_MISC0_REFTOP_VBGADJ_SHIFT (4U)
  30516. /*! REFTOP_VBGADJ
  30517. * 0b000..Nominal VBG
  30518. * 0b001..VBG+0.78%
  30519. * 0b010..VBG+1.56%
  30520. * 0b011..VBG+2.34%
  30521. * 0b100..VBG-0.78%
  30522. * 0b101..VBG-1.56%
  30523. * 0b110..VBG-2.34%
  30524. * 0b111..VBG-3.12%
  30525. */
  30526. #define PMU_MISC0_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_REFTOP_VBGADJ_SHIFT)) & PMU_MISC0_REFTOP_VBGADJ_MASK)
  30527. #define PMU_MISC0_REFTOP_VBGUP_MASK (0x80U)
  30528. #define PMU_MISC0_REFTOP_VBGUP_SHIFT (7U)
  30529. #define PMU_MISC0_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_REFTOP_VBGUP_SHIFT)) & PMU_MISC0_REFTOP_VBGUP_MASK)
  30530. #define PMU_MISC0_STOP_MODE_CONFIG_MASK (0xC00U)
  30531. #define PMU_MISC0_STOP_MODE_CONFIG_SHIFT (10U)
  30532. /*! STOP_MODE_CONFIG
  30533. * 0b00..SUSPEND (DSM)
  30534. * 0b01..Analog regulators are ON.
  30535. * 0b10..STOP (lower power)
  30536. * 0b11..STOP (very lower power)
  30537. */
  30538. #define PMU_MISC0_STOP_MODE_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_STOP_MODE_CONFIG_SHIFT)) & PMU_MISC0_STOP_MODE_CONFIG_MASK)
  30539. #define PMU_MISC0_DISCON_HIGH_SNVS_MASK (0x1000U)
  30540. #define PMU_MISC0_DISCON_HIGH_SNVS_SHIFT (12U)
  30541. /*! DISCON_HIGH_SNVS
  30542. * 0b0..Turn on the switch
  30543. * 0b1..Turn off the switch
  30544. */
  30545. #define PMU_MISC0_DISCON_HIGH_SNVS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_DISCON_HIGH_SNVS_SHIFT)) & PMU_MISC0_DISCON_HIGH_SNVS_MASK)
  30546. #define PMU_MISC0_OSC_I_MASK (0x6000U)
  30547. #define PMU_MISC0_OSC_I_SHIFT (13U)
  30548. /*! OSC_I
  30549. * 0b00..Nominal
  30550. * 0b01..Decrease current by 12.5%
  30551. * 0b10..Decrease current by 25.0%
  30552. * 0b11..Decrease current by 37.5%
  30553. */
  30554. #define PMU_MISC0_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_OSC_I_SHIFT)) & PMU_MISC0_OSC_I_MASK)
  30555. #define PMU_MISC0_OSC_XTALOK_MASK (0x8000U)
  30556. #define PMU_MISC0_OSC_XTALOK_SHIFT (15U)
  30557. #define PMU_MISC0_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_OSC_XTALOK_SHIFT)) & PMU_MISC0_OSC_XTALOK_MASK)
  30558. #define PMU_MISC0_OSC_XTALOK_EN_MASK (0x10000U)
  30559. #define PMU_MISC0_OSC_XTALOK_EN_SHIFT (16U)
  30560. #define PMU_MISC0_OSC_XTALOK_EN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_OSC_XTALOK_EN_SHIFT)) & PMU_MISC0_OSC_XTALOK_EN_MASK)
  30561. #define PMU_MISC0_CLKGATE_CTRL_MASK (0x2000000U)
  30562. #define PMU_MISC0_CLKGATE_CTRL_SHIFT (25U)
  30563. /*! CLKGATE_CTRL
  30564. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  30565. * 0b1..Prevent the logic from ever gating off the clock.
  30566. */
  30567. #define PMU_MISC0_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLKGATE_CTRL_SHIFT)) & PMU_MISC0_CLKGATE_CTRL_MASK)
  30568. #define PMU_MISC0_CLKGATE_DELAY_MASK (0x1C000000U)
  30569. #define PMU_MISC0_CLKGATE_DELAY_SHIFT (26U)
  30570. /*! CLKGATE_DELAY
  30571. * 0b000..0.5ms
  30572. * 0b001..1.0ms
  30573. * 0b010..2.0ms
  30574. * 0b011..3.0ms
  30575. * 0b100..4.0ms
  30576. * 0b101..5.0ms
  30577. * 0b110..6.0ms
  30578. * 0b111..7.0ms
  30579. */
  30580. #define PMU_MISC0_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLKGATE_DELAY_SHIFT)) & PMU_MISC0_CLKGATE_DELAY_MASK)
  30581. #define PMU_MISC0_RTC_XTAL_SOURCE_MASK (0x20000000U)
  30582. #define PMU_MISC0_RTC_XTAL_SOURCE_SHIFT (29U)
  30583. /*! RTC_XTAL_SOURCE
  30584. * 0b0..Internal ring oscillator
  30585. * 0b1..RTC_XTAL
  30586. */
  30587. #define PMU_MISC0_RTC_XTAL_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_RTC_XTAL_SOURCE_SHIFT)) & PMU_MISC0_RTC_XTAL_SOURCE_MASK)
  30588. #define PMU_MISC0_XTAL_24M_PWD_MASK (0x40000000U)
  30589. #define PMU_MISC0_XTAL_24M_PWD_SHIFT (30U)
  30590. #define PMU_MISC0_XTAL_24M_PWD(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_XTAL_24M_PWD_SHIFT)) & PMU_MISC0_XTAL_24M_PWD_MASK)
  30591. #define PMU_MISC0_VID_PLL_PREDIV_MASK (0x80000000U)
  30592. #define PMU_MISC0_VID_PLL_PREDIV_SHIFT (31U)
  30593. /*! VID_PLL_PREDIV
  30594. * 0b0..Divide by 1
  30595. * 0b1..Divide by 2
  30596. */
  30597. #define PMU_MISC0_VID_PLL_PREDIV(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_VID_PLL_PREDIV_SHIFT)) & PMU_MISC0_VID_PLL_PREDIV_MASK)
  30598. /*! @} */
  30599. /*! @name MISC0_SET - Miscellaneous Register 0 */
  30600. /*! @{ */
  30601. #define PMU_MISC0_SET_REFTOP_PWD_MASK (0x1U)
  30602. #define PMU_MISC0_SET_REFTOP_PWD_SHIFT (0U)
  30603. #define PMU_MISC0_SET_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_REFTOP_PWD_SHIFT)) & PMU_MISC0_SET_REFTOP_PWD_MASK)
  30604. #define PMU_MISC0_SET_REFTOP_SELFBIASOFF_MASK (0x8U)
  30605. #define PMU_MISC0_SET_REFTOP_SELFBIASOFF_SHIFT (3U)
  30606. /*! REFTOP_SELFBIASOFF
  30607. * 0b0..Uses coarse bias currents for startup
  30608. * 0b1..Uses bandgap-based bias currents for best performance.
  30609. */
  30610. #define PMU_MISC0_SET_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_REFTOP_SELFBIASOFF_SHIFT)) & PMU_MISC0_SET_REFTOP_SELFBIASOFF_MASK)
  30611. #define PMU_MISC0_SET_REFTOP_VBGADJ_MASK (0x70U)
  30612. #define PMU_MISC0_SET_REFTOP_VBGADJ_SHIFT (4U)
  30613. /*! REFTOP_VBGADJ
  30614. * 0b000..Nominal VBG
  30615. * 0b001..VBG+0.78%
  30616. * 0b010..VBG+1.56%
  30617. * 0b011..VBG+2.34%
  30618. * 0b100..VBG-0.78%
  30619. * 0b101..VBG-1.56%
  30620. * 0b110..VBG-2.34%
  30621. * 0b111..VBG-3.12%
  30622. */
  30623. #define PMU_MISC0_SET_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_REFTOP_VBGADJ_SHIFT)) & PMU_MISC0_SET_REFTOP_VBGADJ_MASK)
  30624. #define PMU_MISC0_SET_REFTOP_VBGUP_MASK (0x80U)
  30625. #define PMU_MISC0_SET_REFTOP_VBGUP_SHIFT (7U)
  30626. #define PMU_MISC0_SET_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_REFTOP_VBGUP_SHIFT)) & PMU_MISC0_SET_REFTOP_VBGUP_MASK)
  30627. #define PMU_MISC0_SET_STOP_MODE_CONFIG_MASK (0xC00U)
  30628. #define PMU_MISC0_SET_STOP_MODE_CONFIG_SHIFT (10U)
  30629. /*! STOP_MODE_CONFIG
  30630. * 0b00..SUSPEND (DSM)
  30631. * 0b01..Analog regulators are ON.
  30632. * 0b10..STOP (lower power)
  30633. * 0b11..STOP (very lower power)
  30634. */
  30635. #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)
  30636. #define PMU_MISC0_SET_DISCON_HIGH_SNVS_MASK (0x1000U)
  30637. #define PMU_MISC0_SET_DISCON_HIGH_SNVS_SHIFT (12U)
  30638. /*! DISCON_HIGH_SNVS
  30639. * 0b0..Turn on the switch
  30640. * 0b1..Turn off the switch
  30641. */
  30642. #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)
  30643. #define PMU_MISC0_SET_OSC_I_MASK (0x6000U)
  30644. #define PMU_MISC0_SET_OSC_I_SHIFT (13U)
  30645. /*! OSC_I
  30646. * 0b00..Nominal
  30647. * 0b01..Decrease current by 12.5%
  30648. * 0b10..Decrease current by 25.0%
  30649. * 0b11..Decrease current by 37.5%
  30650. */
  30651. #define PMU_MISC0_SET_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_OSC_I_SHIFT)) & PMU_MISC0_SET_OSC_I_MASK)
  30652. #define PMU_MISC0_SET_OSC_XTALOK_MASK (0x8000U)
  30653. #define PMU_MISC0_SET_OSC_XTALOK_SHIFT (15U)
  30654. #define PMU_MISC0_SET_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_OSC_XTALOK_SHIFT)) & PMU_MISC0_SET_OSC_XTALOK_MASK)
  30655. #define PMU_MISC0_SET_OSC_XTALOK_EN_MASK (0x10000U)
  30656. #define PMU_MISC0_SET_OSC_XTALOK_EN_SHIFT (16U)
  30657. #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)
  30658. #define PMU_MISC0_SET_CLKGATE_CTRL_MASK (0x2000000U)
  30659. #define PMU_MISC0_SET_CLKGATE_CTRL_SHIFT (25U)
  30660. /*! CLKGATE_CTRL
  30661. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  30662. * 0b1..Prevent the logic from ever gating off the clock.
  30663. */
  30664. #define PMU_MISC0_SET_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_CLKGATE_CTRL_SHIFT)) & PMU_MISC0_SET_CLKGATE_CTRL_MASK)
  30665. #define PMU_MISC0_SET_CLKGATE_DELAY_MASK (0x1C000000U)
  30666. #define PMU_MISC0_SET_CLKGATE_DELAY_SHIFT (26U)
  30667. /*! CLKGATE_DELAY
  30668. * 0b000..0.5ms
  30669. * 0b001..1.0ms
  30670. * 0b010..2.0ms
  30671. * 0b011..3.0ms
  30672. * 0b100..4.0ms
  30673. * 0b101..5.0ms
  30674. * 0b110..6.0ms
  30675. * 0b111..7.0ms
  30676. */
  30677. #define PMU_MISC0_SET_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_CLKGATE_DELAY_SHIFT)) & PMU_MISC0_SET_CLKGATE_DELAY_MASK)
  30678. #define PMU_MISC0_SET_RTC_XTAL_SOURCE_MASK (0x20000000U)
  30679. #define PMU_MISC0_SET_RTC_XTAL_SOURCE_SHIFT (29U)
  30680. /*! RTC_XTAL_SOURCE
  30681. * 0b0..Internal ring oscillator
  30682. * 0b1..RTC_XTAL
  30683. */
  30684. #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)
  30685. #define PMU_MISC0_SET_XTAL_24M_PWD_MASK (0x40000000U)
  30686. #define PMU_MISC0_SET_XTAL_24M_PWD_SHIFT (30U)
  30687. #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)
  30688. #define PMU_MISC0_SET_VID_PLL_PREDIV_MASK (0x80000000U)
  30689. #define PMU_MISC0_SET_VID_PLL_PREDIV_SHIFT (31U)
  30690. /*! VID_PLL_PREDIV
  30691. * 0b0..Divide by 1
  30692. * 0b1..Divide by 2
  30693. */
  30694. #define PMU_MISC0_SET_VID_PLL_PREDIV(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_SET_VID_PLL_PREDIV_SHIFT)) & PMU_MISC0_SET_VID_PLL_PREDIV_MASK)
  30695. /*! @} */
  30696. /*! @name MISC0_CLR - Miscellaneous Register 0 */
  30697. /*! @{ */
  30698. #define PMU_MISC0_CLR_REFTOP_PWD_MASK (0x1U)
  30699. #define PMU_MISC0_CLR_REFTOP_PWD_SHIFT (0U)
  30700. #define PMU_MISC0_CLR_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_REFTOP_PWD_SHIFT)) & PMU_MISC0_CLR_REFTOP_PWD_MASK)
  30701. #define PMU_MISC0_CLR_REFTOP_SELFBIASOFF_MASK (0x8U)
  30702. #define PMU_MISC0_CLR_REFTOP_SELFBIASOFF_SHIFT (3U)
  30703. /*! REFTOP_SELFBIASOFF
  30704. * 0b0..Uses coarse bias currents for startup
  30705. * 0b1..Uses bandgap-based bias currents for best performance.
  30706. */
  30707. #define PMU_MISC0_CLR_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_REFTOP_SELFBIASOFF_SHIFT)) & PMU_MISC0_CLR_REFTOP_SELFBIASOFF_MASK)
  30708. #define PMU_MISC0_CLR_REFTOP_VBGADJ_MASK (0x70U)
  30709. #define PMU_MISC0_CLR_REFTOP_VBGADJ_SHIFT (4U)
  30710. /*! REFTOP_VBGADJ
  30711. * 0b000..Nominal VBG
  30712. * 0b001..VBG+0.78%
  30713. * 0b010..VBG+1.56%
  30714. * 0b011..VBG+2.34%
  30715. * 0b100..VBG-0.78%
  30716. * 0b101..VBG-1.56%
  30717. * 0b110..VBG-2.34%
  30718. * 0b111..VBG-3.12%
  30719. */
  30720. #define PMU_MISC0_CLR_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_REFTOP_VBGADJ_SHIFT)) & PMU_MISC0_CLR_REFTOP_VBGADJ_MASK)
  30721. #define PMU_MISC0_CLR_REFTOP_VBGUP_MASK (0x80U)
  30722. #define PMU_MISC0_CLR_REFTOP_VBGUP_SHIFT (7U)
  30723. #define PMU_MISC0_CLR_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_REFTOP_VBGUP_SHIFT)) & PMU_MISC0_CLR_REFTOP_VBGUP_MASK)
  30724. #define PMU_MISC0_CLR_STOP_MODE_CONFIG_MASK (0xC00U)
  30725. #define PMU_MISC0_CLR_STOP_MODE_CONFIG_SHIFT (10U)
  30726. /*! STOP_MODE_CONFIG
  30727. * 0b00..SUSPEND (DSM)
  30728. * 0b01..Analog regulators are ON.
  30729. * 0b10..STOP (lower power)
  30730. * 0b11..STOP (very lower power)
  30731. */
  30732. #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)
  30733. #define PMU_MISC0_CLR_DISCON_HIGH_SNVS_MASK (0x1000U)
  30734. #define PMU_MISC0_CLR_DISCON_HIGH_SNVS_SHIFT (12U)
  30735. /*! DISCON_HIGH_SNVS
  30736. * 0b0..Turn on the switch
  30737. * 0b1..Turn off the switch
  30738. */
  30739. #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)
  30740. #define PMU_MISC0_CLR_OSC_I_MASK (0x6000U)
  30741. #define PMU_MISC0_CLR_OSC_I_SHIFT (13U)
  30742. /*! OSC_I
  30743. * 0b00..Nominal
  30744. * 0b01..Decrease current by 12.5%
  30745. * 0b10..Decrease current by 25.0%
  30746. * 0b11..Decrease current by 37.5%
  30747. */
  30748. #define PMU_MISC0_CLR_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_OSC_I_SHIFT)) & PMU_MISC0_CLR_OSC_I_MASK)
  30749. #define PMU_MISC0_CLR_OSC_XTALOK_MASK (0x8000U)
  30750. #define PMU_MISC0_CLR_OSC_XTALOK_SHIFT (15U)
  30751. #define PMU_MISC0_CLR_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_OSC_XTALOK_SHIFT)) & PMU_MISC0_CLR_OSC_XTALOK_MASK)
  30752. #define PMU_MISC0_CLR_OSC_XTALOK_EN_MASK (0x10000U)
  30753. #define PMU_MISC0_CLR_OSC_XTALOK_EN_SHIFT (16U)
  30754. #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)
  30755. #define PMU_MISC0_CLR_CLKGATE_CTRL_MASK (0x2000000U)
  30756. #define PMU_MISC0_CLR_CLKGATE_CTRL_SHIFT (25U)
  30757. /*! CLKGATE_CTRL
  30758. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  30759. * 0b1..Prevent the logic from ever gating off the clock.
  30760. */
  30761. #define PMU_MISC0_CLR_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_CLKGATE_CTRL_SHIFT)) & PMU_MISC0_CLR_CLKGATE_CTRL_MASK)
  30762. #define PMU_MISC0_CLR_CLKGATE_DELAY_MASK (0x1C000000U)
  30763. #define PMU_MISC0_CLR_CLKGATE_DELAY_SHIFT (26U)
  30764. /*! CLKGATE_DELAY
  30765. * 0b000..0.5ms
  30766. * 0b001..1.0ms
  30767. * 0b010..2.0ms
  30768. * 0b011..3.0ms
  30769. * 0b100..4.0ms
  30770. * 0b101..5.0ms
  30771. * 0b110..6.0ms
  30772. * 0b111..7.0ms
  30773. */
  30774. #define PMU_MISC0_CLR_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_CLKGATE_DELAY_SHIFT)) & PMU_MISC0_CLR_CLKGATE_DELAY_MASK)
  30775. #define PMU_MISC0_CLR_RTC_XTAL_SOURCE_MASK (0x20000000U)
  30776. #define PMU_MISC0_CLR_RTC_XTAL_SOURCE_SHIFT (29U)
  30777. /*! RTC_XTAL_SOURCE
  30778. * 0b0..Internal ring oscillator
  30779. * 0b1..RTC_XTAL
  30780. */
  30781. #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)
  30782. #define PMU_MISC0_CLR_XTAL_24M_PWD_MASK (0x40000000U)
  30783. #define PMU_MISC0_CLR_XTAL_24M_PWD_SHIFT (30U)
  30784. #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)
  30785. #define PMU_MISC0_CLR_VID_PLL_PREDIV_MASK (0x80000000U)
  30786. #define PMU_MISC0_CLR_VID_PLL_PREDIV_SHIFT (31U)
  30787. /*! VID_PLL_PREDIV
  30788. * 0b0..Divide by 1
  30789. * 0b1..Divide by 2
  30790. */
  30791. #define PMU_MISC0_CLR_VID_PLL_PREDIV(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_CLR_VID_PLL_PREDIV_SHIFT)) & PMU_MISC0_CLR_VID_PLL_PREDIV_MASK)
  30792. /*! @} */
  30793. /*! @name MISC0_TOG - Miscellaneous Register 0 */
  30794. /*! @{ */
  30795. #define PMU_MISC0_TOG_REFTOP_PWD_MASK (0x1U)
  30796. #define PMU_MISC0_TOG_REFTOP_PWD_SHIFT (0U)
  30797. #define PMU_MISC0_TOG_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_REFTOP_PWD_SHIFT)) & PMU_MISC0_TOG_REFTOP_PWD_MASK)
  30798. #define PMU_MISC0_TOG_REFTOP_SELFBIASOFF_MASK (0x8U)
  30799. #define PMU_MISC0_TOG_REFTOP_SELFBIASOFF_SHIFT (3U)
  30800. /*! REFTOP_SELFBIASOFF
  30801. * 0b0..Uses coarse bias currents for startup
  30802. * 0b1..Uses bandgap-based bias currents for best performance.
  30803. */
  30804. #define PMU_MISC0_TOG_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_REFTOP_SELFBIASOFF_SHIFT)) & PMU_MISC0_TOG_REFTOP_SELFBIASOFF_MASK)
  30805. #define PMU_MISC0_TOG_REFTOP_VBGADJ_MASK (0x70U)
  30806. #define PMU_MISC0_TOG_REFTOP_VBGADJ_SHIFT (4U)
  30807. /*! REFTOP_VBGADJ
  30808. * 0b000..Nominal VBG
  30809. * 0b001..VBG+0.78%
  30810. * 0b010..VBG+1.56%
  30811. * 0b011..VBG+2.34%
  30812. * 0b100..VBG-0.78%
  30813. * 0b101..VBG-1.56%
  30814. * 0b110..VBG-2.34%
  30815. * 0b111..VBG-3.12%
  30816. */
  30817. #define PMU_MISC0_TOG_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_REFTOP_VBGADJ_SHIFT)) & PMU_MISC0_TOG_REFTOP_VBGADJ_MASK)
  30818. #define PMU_MISC0_TOG_REFTOP_VBGUP_MASK (0x80U)
  30819. #define PMU_MISC0_TOG_REFTOP_VBGUP_SHIFT (7U)
  30820. #define PMU_MISC0_TOG_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_REFTOP_VBGUP_SHIFT)) & PMU_MISC0_TOG_REFTOP_VBGUP_MASK)
  30821. #define PMU_MISC0_TOG_STOP_MODE_CONFIG_MASK (0xC00U)
  30822. #define PMU_MISC0_TOG_STOP_MODE_CONFIG_SHIFT (10U)
  30823. /*! STOP_MODE_CONFIG
  30824. * 0b00..SUSPEND (DSM)
  30825. * 0b01..Analog regulators are ON.
  30826. * 0b10..STOP (lower power)
  30827. * 0b11..STOP (very lower power)
  30828. */
  30829. #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)
  30830. #define PMU_MISC0_TOG_DISCON_HIGH_SNVS_MASK (0x1000U)
  30831. #define PMU_MISC0_TOG_DISCON_HIGH_SNVS_SHIFT (12U)
  30832. /*! DISCON_HIGH_SNVS
  30833. * 0b0..Turn on the switch
  30834. * 0b1..Turn off the switch
  30835. */
  30836. #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)
  30837. #define PMU_MISC0_TOG_OSC_I_MASK (0x6000U)
  30838. #define PMU_MISC0_TOG_OSC_I_SHIFT (13U)
  30839. /*! OSC_I
  30840. * 0b00..Nominal
  30841. * 0b01..Decrease current by 12.5%
  30842. * 0b10..Decrease current by 25.0%
  30843. * 0b11..Decrease current by 37.5%
  30844. */
  30845. #define PMU_MISC0_TOG_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_OSC_I_SHIFT)) & PMU_MISC0_TOG_OSC_I_MASK)
  30846. #define PMU_MISC0_TOG_OSC_XTALOK_MASK (0x8000U)
  30847. #define PMU_MISC0_TOG_OSC_XTALOK_SHIFT (15U)
  30848. #define PMU_MISC0_TOG_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_OSC_XTALOK_SHIFT)) & PMU_MISC0_TOG_OSC_XTALOK_MASK)
  30849. #define PMU_MISC0_TOG_OSC_XTALOK_EN_MASK (0x10000U)
  30850. #define PMU_MISC0_TOG_OSC_XTALOK_EN_SHIFT (16U)
  30851. #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)
  30852. #define PMU_MISC0_TOG_CLKGATE_CTRL_MASK (0x2000000U)
  30853. #define PMU_MISC0_TOG_CLKGATE_CTRL_SHIFT (25U)
  30854. /*! CLKGATE_CTRL
  30855. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  30856. * 0b1..Prevent the logic from ever gating off the clock.
  30857. */
  30858. #define PMU_MISC0_TOG_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_CLKGATE_CTRL_SHIFT)) & PMU_MISC0_TOG_CLKGATE_CTRL_MASK)
  30859. #define PMU_MISC0_TOG_CLKGATE_DELAY_MASK (0x1C000000U)
  30860. #define PMU_MISC0_TOG_CLKGATE_DELAY_SHIFT (26U)
  30861. /*! CLKGATE_DELAY
  30862. * 0b000..0.5ms
  30863. * 0b001..1.0ms
  30864. * 0b010..2.0ms
  30865. * 0b011..3.0ms
  30866. * 0b100..4.0ms
  30867. * 0b101..5.0ms
  30868. * 0b110..6.0ms
  30869. * 0b111..7.0ms
  30870. */
  30871. #define PMU_MISC0_TOG_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_CLKGATE_DELAY_SHIFT)) & PMU_MISC0_TOG_CLKGATE_DELAY_MASK)
  30872. #define PMU_MISC0_TOG_RTC_XTAL_SOURCE_MASK (0x20000000U)
  30873. #define PMU_MISC0_TOG_RTC_XTAL_SOURCE_SHIFT (29U)
  30874. /*! RTC_XTAL_SOURCE
  30875. * 0b0..Internal ring oscillator
  30876. * 0b1..RTC_XTAL
  30877. */
  30878. #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)
  30879. #define PMU_MISC0_TOG_XTAL_24M_PWD_MASK (0x40000000U)
  30880. #define PMU_MISC0_TOG_XTAL_24M_PWD_SHIFT (30U)
  30881. #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)
  30882. #define PMU_MISC0_TOG_VID_PLL_PREDIV_MASK (0x80000000U)
  30883. #define PMU_MISC0_TOG_VID_PLL_PREDIV_SHIFT (31U)
  30884. /*! VID_PLL_PREDIV
  30885. * 0b0..Divide by 1
  30886. * 0b1..Divide by 2
  30887. */
  30888. #define PMU_MISC0_TOG_VID_PLL_PREDIV(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC0_TOG_VID_PLL_PREDIV_SHIFT)) & PMU_MISC0_TOG_VID_PLL_PREDIV_MASK)
  30889. /*! @} */
  30890. /*! @name MISC1 - Miscellaneous Register 1 */
  30891. /*! @{ */
  30892. #define PMU_MISC1_LVDS1_CLK_SEL_MASK (0x1FU)
  30893. #define PMU_MISC1_LVDS1_CLK_SEL_SHIFT (0U)
  30894. /*! LVDS1_CLK_SEL
  30895. * 0b00000..Arm PLL
  30896. * 0b00001..System PLL
  30897. * 0b00010..ref_pfd4_clk == pll2_pfd0_clk
  30898. * 0b00011..ref_pfd5_clk == pll2_pfd1_clk
  30899. * 0b00100..ref_pfd6_clk == pll2_pfd2_clk
  30900. * 0b00101..ref_pfd7_clk == pll2_pfd3_clk
  30901. * 0b00110..Audio PLL
  30902. * 0b00111..Video PLL
  30903. * 0b01001..ethernet ref clock (ENET_PLL)
  30904. * 0b01100..USB1 PLL clock
  30905. * 0b01101..USB2 PLL clock
  30906. * 0b01110..ref_pfd0_clk == pll3_pfd0_clk
  30907. * 0b01111..ref_pfd1_clk == pll3_pfd1_clk
  30908. * 0b10000..ref_pfd2_clk == pll3_pfd2_clk
  30909. * 0b10001..ref_pfd3_clk == pll3_pfd3_clk
  30910. * 0b10010..xtal (24M)
  30911. */
  30912. #define PMU_MISC1_LVDS1_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_LVDS1_CLK_SEL_SHIFT)) & PMU_MISC1_LVDS1_CLK_SEL_MASK)
  30913. #define PMU_MISC1_LVDS2_CLK_SEL_MASK (0x3E0U)
  30914. #define PMU_MISC1_LVDS2_CLK_SEL_SHIFT (5U)
  30915. /*! LVDS2_CLK_SEL
  30916. * 0b00000..Arm PLL
  30917. * 0b00001..System PLL
  30918. * 0b00010..ref_pfd4_clk == pll2_pfd0_clk
  30919. * 0b00011..ref_pfd5_clk == pll2_pfd1_clk
  30920. * 0b00100..ref_pfd6_clk == pll2_pfd2_clk
  30921. * 0b00101..ref_pfd7_clk == pll2_pfd3_clk
  30922. * 0b00110..Audio PLL
  30923. * 0b00111..Video PLL
  30924. * 0b01000..MLB PLL
  30925. * 0b01001..ethernet ref clock (ENET_PLL)
  30926. * 0b01010..PCIe ref clock (125M)
  30927. * 0b01011..SATA ref clock (100M)
  30928. * 0b01100..USB1 PLL clock
  30929. * 0b01101..USB2 PLL clock
  30930. * 0b01110..ref_pfd0_clk == pll3_pfd0_clk
  30931. * 0b01111..ref_pfd1_clk == pll3_pfd1_clk
  30932. * 0b10000..ref_pfd2_clk == pll3_pfd2_clk
  30933. * 0b10001..ref_pfd3_clk == pll3_pfd3_clk
  30934. * 0b10010..xtal (24M)
  30935. * 0b10011..LVDS1 (loopback)
  30936. * 0b10100..LVDS2 (not useful)
  30937. */
  30938. #define PMU_MISC1_LVDS2_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_LVDS2_CLK_SEL_SHIFT)) & PMU_MISC1_LVDS2_CLK_SEL_MASK)
  30939. #define PMU_MISC1_LVDSCLK1_OBEN_MASK (0x400U)
  30940. #define PMU_MISC1_LVDSCLK1_OBEN_SHIFT (10U)
  30941. #define PMU_MISC1_LVDSCLK1_OBEN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_LVDSCLK1_OBEN_SHIFT)) & PMU_MISC1_LVDSCLK1_OBEN_MASK)
  30942. #define PMU_MISC1_LVDSCLK2_OBEN_MASK (0x800U)
  30943. #define PMU_MISC1_LVDSCLK2_OBEN_SHIFT (11U)
  30944. #define PMU_MISC1_LVDSCLK2_OBEN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_LVDSCLK2_OBEN_SHIFT)) & PMU_MISC1_LVDSCLK2_OBEN_MASK)
  30945. #define PMU_MISC1_LVDSCLK1_IBEN_MASK (0x1000U)
  30946. #define PMU_MISC1_LVDSCLK1_IBEN_SHIFT (12U)
  30947. #define PMU_MISC1_LVDSCLK1_IBEN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_LVDSCLK1_IBEN_SHIFT)) & PMU_MISC1_LVDSCLK1_IBEN_MASK)
  30948. #define PMU_MISC1_LVDSCLK2_IBEN_MASK (0x2000U)
  30949. #define PMU_MISC1_LVDSCLK2_IBEN_SHIFT (13U)
  30950. #define PMU_MISC1_LVDSCLK2_IBEN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_LVDSCLK2_IBEN_SHIFT)) & PMU_MISC1_LVDSCLK2_IBEN_MASK)
  30951. #define PMU_MISC1_PFD_480_AUTOGATE_EN_MASK (0x10000U)
  30952. #define PMU_MISC1_PFD_480_AUTOGATE_EN_SHIFT (16U)
  30953. #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)
  30954. #define PMU_MISC1_PFD_528_AUTOGATE_EN_MASK (0x20000U)
  30955. #define PMU_MISC1_PFD_528_AUTOGATE_EN_SHIFT (17U)
  30956. #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)
  30957. #define PMU_MISC1_IRQ_TEMPPANIC_MASK (0x8000000U)
  30958. #define PMU_MISC1_IRQ_TEMPPANIC_SHIFT (27U)
  30959. #define PMU_MISC1_IRQ_TEMPPANIC(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_IRQ_TEMPPANIC_SHIFT)) & PMU_MISC1_IRQ_TEMPPANIC_MASK)
  30960. #define PMU_MISC1_IRQ_TEMPLOW_MASK (0x10000000U)
  30961. #define PMU_MISC1_IRQ_TEMPLOW_SHIFT (28U)
  30962. #define PMU_MISC1_IRQ_TEMPLOW(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_IRQ_TEMPLOW_SHIFT)) & PMU_MISC1_IRQ_TEMPLOW_MASK)
  30963. #define PMU_MISC1_IRQ_TEMPHIGH_MASK (0x20000000U)
  30964. #define PMU_MISC1_IRQ_TEMPHIGH_SHIFT (29U)
  30965. #define PMU_MISC1_IRQ_TEMPHIGH(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_IRQ_TEMPHIGH_SHIFT)) & PMU_MISC1_IRQ_TEMPHIGH_MASK)
  30966. #define PMU_MISC1_IRQ_ANA_BO_MASK (0x40000000U)
  30967. #define PMU_MISC1_IRQ_ANA_BO_SHIFT (30U)
  30968. #define PMU_MISC1_IRQ_ANA_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_IRQ_ANA_BO_SHIFT)) & PMU_MISC1_IRQ_ANA_BO_MASK)
  30969. #define PMU_MISC1_IRQ_DIG_BO_MASK (0x80000000U)
  30970. #define PMU_MISC1_IRQ_DIG_BO_SHIFT (31U)
  30971. #define PMU_MISC1_IRQ_DIG_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_IRQ_DIG_BO_SHIFT)) & PMU_MISC1_IRQ_DIG_BO_MASK)
  30972. /*! @} */
  30973. /*! @name MISC1_SET - Miscellaneous Register 1 */
  30974. /*! @{ */
  30975. #define PMU_MISC1_SET_LVDS1_CLK_SEL_MASK (0x1FU)
  30976. #define PMU_MISC1_SET_LVDS1_CLK_SEL_SHIFT (0U)
  30977. /*! LVDS1_CLK_SEL
  30978. * 0b00000..Arm PLL
  30979. * 0b00001..System PLL
  30980. * 0b00010..ref_pfd4_clk == pll2_pfd0_clk
  30981. * 0b00011..ref_pfd5_clk == pll2_pfd1_clk
  30982. * 0b00100..ref_pfd6_clk == pll2_pfd2_clk
  30983. * 0b00101..ref_pfd7_clk == pll2_pfd3_clk
  30984. * 0b00110..Audio PLL
  30985. * 0b00111..Video PLL
  30986. * 0b01001..ethernet ref clock (ENET_PLL)
  30987. * 0b01100..USB1 PLL clock
  30988. * 0b01101..USB2 PLL clock
  30989. * 0b01110..ref_pfd0_clk == pll3_pfd0_clk
  30990. * 0b01111..ref_pfd1_clk == pll3_pfd1_clk
  30991. * 0b10000..ref_pfd2_clk == pll3_pfd2_clk
  30992. * 0b10001..ref_pfd3_clk == pll3_pfd3_clk
  30993. * 0b10010..xtal (24M)
  30994. */
  30995. #define PMU_MISC1_SET_LVDS1_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_SET_LVDS1_CLK_SEL_SHIFT)) & PMU_MISC1_SET_LVDS1_CLK_SEL_MASK)
  30996. #define PMU_MISC1_SET_LVDS2_CLK_SEL_MASK (0x3E0U)
  30997. #define PMU_MISC1_SET_LVDS2_CLK_SEL_SHIFT (5U)
  30998. /*! LVDS2_CLK_SEL
  30999. * 0b00000..Arm PLL
  31000. * 0b00001..System PLL
  31001. * 0b00010..ref_pfd4_clk == pll2_pfd0_clk
  31002. * 0b00011..ref_pfd5_clk == pll2_pfd1_clk
  31003. * 0b00100..ref_pfd6_clk == pll2_pfd2_clk
  31004. * 0b00101..ref_pfd7_clk == pll2_pfd3_clk
  31005. * 0b00110..Audio PLL
  31006. * 0b00111..Video PLL
  31007. * 0b01000..MLB PLL
  31008. * 0b01001..ethernet ref clock (ENET_PLL)
  31009. * 0b01010..PCIe ref clock (125M)
  31010. * 0b01011..SATA ref clock (100M)
  31011. * 0b01100..USB1 PLL clock
  31012. * 0b01101..USB2 PLL clock
  31013. * 0b01110..ref_pfd0_clk == pll3_pfd0_clk
  31014. * 0b01111..ref_pfd1_clk == pll3_pfd1_clk
  31015. * 0b10000..ref_pfd2_clk == pll3_pfd2_clk
  31016. * 0b10001..ref_pfd3_clk == pll3_pfd3_clk
  31017. * 0b10010..xtal (24M)
  31018. * 0b10011..LVDS1 (loopback)
  31019. * 0b10100..LVDS2 (not useful)
  31020. */
  31021. #define PMU_MISC1_SET_LVDS2_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_SET_LVDS2_CLK_SEL_SHIFT)) & PMU_MISC1_SET_LVDS2_CLK_SEL_MASK)
  31022. #define PMU_MISC1_SET_LVDSCLK1_OBEN_MASK (0x400U)
  31023. #define PMU_MISC1_SET_LVDSCLK1_OBEN_SHIFT (10U)
  31024. #define PMU_MISC1_SET_LVDSCLK1_OBEN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_SET_LVDSCLK1_OBEN_SHIFT)) & PMU_MISC1_SET_LVDSCLK1_OBEN_MASK)
  31025. #define PMU_MISC1_SET_LVDSCLK2_OBEN_MASK (0x800U)
  31026. #define PMU_MISC1_SET_LVDSCLK2_OBEN_SHIFT (11U)
  31027. #define PMU_MISC1_SET_LVDSCLK2_OBEN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_SET_LVDSCLK2_OBEN_SHIFT)) & PMU_MISC1_SET_LVDSCLK2_OBEN_MASK)
  31028. #define PMU_MISC1_SET_LVDSCLK1_IBEN_MASK (0x1000U)
  31029. #define PMU_MISC1_SET_LVDSCLK1_IBEN_SHIFT (12U)
  31030. #define PMU_MISC1_SET_LVDSCLK1_IBEN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_SET_LVDSCLK1_IBEN_SHIFT)) & PMU_MISC1_SET_LVDSCLK1_IBEN_MASK)
  31031. #define PMU_MISC1_SET_LVDSCLK2_IBEN_MASK (0x2000U)
  31032. #define PMU_MISC1_SET_LVDSCLK2_IBEN_SHIFT (13U)
  31033. #define PMU_MISC1_SET_LVDSCLK2_IBEN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_SET_LVDSCLK2_IBEN_SHIFT)) & PMU_MISC1_SET_LVDSCLK2_IBEN_MASK)
  31034. #define PMU_MISC1_SET_PFD_480_AUTOGATE_EN_MASK (0x10000U)
  31035. #define PMU_MISC1_SET_PFD_480_AUTOGATE_EN_SHIFT (16U)
  31036. #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)
  31037. #define PMU_MISC1_SET_PFD_528_AUTOGATE_EN_MASK (0x20000U)
  31038. #define PMU_MISC1_SET_PFD_528_AUTOGATE_EN_SHIFT (17U)
  31039. #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)
  31040. #define PMU_MISC1_SET_IRQ_TEMPPANIC_MASK (0x8000000U)
  31041. #define PMU_MISC1_SET_IRQ_TEMPPANIC_SHIFT (27U)
  31042. #define PMU_MISC1_SET_IRQ_TEMPPANIC(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_SET_IRQ_TEMPPANIC_SHIFT)) & PMU_MISC1_SET_IRQ_TEMPPANIC_MASK)
  31043. #define PMU_MISC1_SET_IRQ_TEMPLOW_MASK (0x10000000U)
  31044. #define PMU_MISC1_SET_IRQ_TEMPLOW_SHIFT (28U)
  31045. #define PMU_MISC1_SET_IRQ_TEMPLOW(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_SET_IRQ_TEMPLOW_SHIFT)) & PMU_MISC1_SET_IRQ_TEMPLOW_MASK)
  31046. #define PMU_MISC1_SET_IRQ_TEMPHIGH_MASK (0x20000000U)
  31047. #define PMU_MISC1_SET_IRQ_TEMPHIGH_SHIFT (29U)
  31048. #define PMU_MISC1_SET_IRQ_TEMPHIGH(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_SET_IRQ_TEMPHIGH_SHIFT)) & PMU_MISC1_SET_IRQ_TEMPHIGH_MASK)
  31049. #define PMU_MISC1_SET_IRQ_ANA_BO_MASK (0x40000000U)
  31050. #define PMU_MISC1_SET_IRQ_ANA_BO_SHIFT (30U)
  31051. #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)
  31052. #define PMU_MISC1_SET_IRQ_DIG_BO_MASK (0x80000000U)
  31053. #define PMU_MISC1_SET_IRQ_DIG_BO_SHIFT (31U)
  31054. #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)
  31055. /*! @} */
  31056. /*! @name MISC1_CLR - Miscellaneous Register 1 */
  31057. /*! @{ */
  31058. #define PMU_MISC1_CLR_LVDS1_CLK_SEL_MASK (0x1FU)
  31059. #define PMU_MISC1_CLR_LVDS1_CLK_SEL_SHIFT (0U)
  31060. /*! LVDS1_CLK_SEL
  31061. * 0b00000..Arm PLL
  31062. * 0b00001..System PLL
  31063. * 0b00010..ref_pfd4_clk == pll2_pfd0_clk
  31064. * 0b00011..ref_pfd5_clk == pll2_pfd1_clk
  31065. * 0b00100..ref_pfd6_clk == pll2_pfd2_clk
  31066. * 0b00101..ref_pfd7_clk == pll2_pfd3_clk
  31067. * 0b00110..Audio PLL
  31068. * 0b00111..Video PLL
  31069. * 0b01001..ethernet ref clock (ENET_PLL)
  31070. * 0b01100..USB1 PLL clock
  31071. * 0b01101..USB2 PLL clock
  31072. * 0b01110..ref_pfd0_clk == pll3_pfd0_clk
  31073. * 0b01111..ref_pfd1_clk == pll3_pfd1_clk
  31074. * 0b10000..ref_pfd2_clk == pll3_pfd2_clk
  31075. * 0b10001..ref_pfd3_clk == pll3_pfd3_clk
  31076. * 0b10010..xtal (24M)
  31077. */
  31078. #define PMU_MISC1_CLR_LVDS1_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_CLR_LVDS1_CLK_SEL_SHIFT)) & PMU_MISC1_CLR_LVDS1_CLK_SEL_MASK)
  31079. #define PMU_MISC1_CLR_LVDS2_CLK_SEL_MASK (0x3E0U)
  31080. #define PMU_MISC1_CLR_LVDS2_CLK_SEL_SHIFT (5U)
  31081. /*! LVDS2_CLK_SEL
  31082. * 0b00000..Arm PLL
  31083. * 0b00001..System PLL
  31084. * 0b00010..ref_pfd4_clk == pll2_pfd0_clk
  31085. * 0b00011..ref_pfd5_clk == pll2_pfd1_clk
  31086. * 0b00100..ref_pfd6_clk == pll2_pfd2_clk
  31087. * 0b00101..ref_pfd7_clk == pll2_pfd3_clk
  31088. * 0b00110..Audio PLL
  31089. * 0b00111..Video PLL
  31090. * 0b01000..MLB PLL
  31091. * 0b01001..ethernet ref clock (ENET_PLL)
  31092. * 0b01010..PCIe ref clock (125M)
  31093. * 0b01011..SATA ref clock (100M)
  31094. * 0b01100..USB1 PLL clock
  31095. * 0b01101..USB2 PLL clock
  31096. * 0b01110..ref_pfd0_clk == pll3_pfd0_clk
  31097. * 0b01111..ref_pfd1_clk == pll3_pfd1_clk
  31098. * 0b10000..ref_pfd2_clk == pll3_pfd2_clk
  31099. * 0b10001..ref_pfd3_clk == pll3_pfd3_clk
  31100. * 0b10010..xtal (24M)
  31101. * 0b10011..LVDS1 (loopback)
  31102. * 0b10100..LVDS2 (not useful)
  31103. */
  31104. #define PMU_MISC1_CLR_LVDS2_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_CLR_LVDS2_CLK_SEL_SHIFT)) & PMU_MISC1_CLR_LVDS2_CLK_SEL_MASK)
  31105. #define PMU_MISC1_CLR_LVDSCLK1_OBEN_MASK (0x400U)
  31106. #define PMU_MISC1_CLR_LVDSCLK1_OBEN_SHIFT (10U)
  31107. #define PMU_MISC1_CLR_LVDSCLK1_OBEN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_CLR_LVDSCLK1_OBEN_SHIFT)) & PMU_MISC1_CLR_LVDSCLK1_OBEN_MASK)
  31108. #define PMU_MISC1_CLR_LVDSCLK2_OBEN_MASK (0x800U)
  31109. #define PMU_MISC1_CLR_LVDSCLK2_OBEN_SHIFT (11U)
  31110. #define PMU_MISC1_CLR_LVDSCLK2_OBEN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_CLR_LVDSCLK2_OBEN_SHIFT)) & PMU_MISC1_CLR_LVDSCLK2_OBEN_MASK)
  31111. #define PMU_MISC1_CLR_LVDSCLK1_IBEN_MASK (0x1000U)
  31112. #define PMU_MISC1_CLR_LVDSCLK1_IBEN_SHIFT (12U)
  31113. #define PMU_MISC1_CLR_LVDSCLK1_IBEN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_CLR_LVDSCLK1_IBEN_SHIFT)) & PMU_MISC1_CLR_LVDSCLK1_IBEN_MASK)
  31114. #define PMU_MISC1_CLR_LVDSCLK2_IBEN_MASK (0x2000U)
  31115. #define PMU_MISC1_CLR_LVDSCLK2_IBEN_SHIFT (13U)
  31116. #define PMU_MISC1_CLR_LVDSCLK2_IBEN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_CLR_LVDSCLK2_IBEN_SHIFT)) & PMU_MISC1_CLR_LVDSCLK2_IBEN_MASK)
  31117. #define PMU_MISC1_CLR_PFD_480_AUTOGATE_EN_MASK (0x10000U)
  31118. #define PMU_MISC1_CLR_PFD_480_AUTOGATE_EN_SHIFT (16U)
  31119. #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)
  31120. #define PMU_MISC1_CLR_PFD_528_AUTOGATE_EN_MASK (0x20000U)
  31121. #define PMU_MISC1_CLR_PFD_528_AUTOGATE_EN_SHIFT (17U)
  31122. #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)
  31123. #define PMU_MISC1_CLR_IRQ_TEMPPANIC_MASK (0x8000000U)
  31124. #define PMU_MISC1_CLR_IRQ_TEMPPANIC_SHIFT (27U)
  31125. #define PMU_MISC1_CLR_IRQ_TEMPPANIC(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_CLR_IRQ_TEMPPANIC_SHIFT)) & PMU_MISC1_CLR_IRQ_TEMPPANIC_MASK)
  31126. #define PMU_MISC1_CLR_IRQ_TEMPLOW_MASK (0x10000000U)
  31127. #define PMU_MISC1_CLR_IRQ_TEMPLOW_SHIFT (28U)
  31128. #define PMU_MISC1_CLR_IRQ_TEMPLOW(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_CLR_IRQ_TEMPLOW_SHIFT)) & PMU_MISC1_CLR_IRQ_TEMPLOW_MASK)
  31129. #define PMU_MISC1_CLR_IRQ_TEMPHIGH_MASK (0x20000000U)
  31130. #define PMU_MISC1_CLR_IRQ_TEMPHIGH_SHIFT (29U)
  31131. #define PMU_MISC1_CLR_IRQ_TEMPHIGH(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_CLR_IRQ_TEMPHIGH_SHIFT)) & PMU_MISC1_CLR_IRQ_TEMPHIGH_MASK)
  31132. #define PMU_MISC1_CLR_IRQ_ANA_BO_MASK (0x40000000U)
  31133. #define PMU_MISC1_CLR_IRQ_ANA_BO_SHIFT (30U)
  31134. #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)
  31135. #define PMU_MISC1_CLR_IRQ_DIG_BO_MASK (0x80000000U)
  31136. #define PMU_MISC1_CLR_IRQ_DIG_BO_SHIFT (31U)
  31137. #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)
  31138. /*! @} */
  31139. /*! @name MISC1_TOG - Miscellaneous Register 1 */
  31140. /*! @{ */
  31141. #define PMU_MISC1_TOG_LVDS1_CLK_SEL_MASK (0x1FU)
  31142. #define PMU_MISC1_TOG_LVDS1_CLK_SEL_SHIFT (0U)
  31143. /*! LVDS1_CLK_SEL
  31144. * 0b00000..Arm PLL
  31145. * 0b00001..System PLL
  31146. * 0b00010..ref_pfd4_clk == pll2_pfd0_clk
  31147. * 0b00011..ref_pfd5_clk == pll2_pfd1_clk
  31148. * 0b00100..ref_pfd6_clk == pll2_pfd2_clk
  31149. * 0b00101..ref_pfd7_clk == pll2_pfd3_clk
  31150. * 0b00110..Audio PLL
  31151. * 0b00111..Video PLL
  31152. * 0b01001..ethernet ref clock (ENET_PLL)
  31153. * 0b01100..USB1 PLL clock
  31154. * 0b01101..USB2 PLL clock
  31155. * 0b01110..ref_pfd0_clk == pll3_pfd0_clk
  31156. * 0b01111..ref_pfd1_clk == pll3_pfd1_clk
  31157. * 0b10000..ref_pfd2_clk == pll3_pfd2_clk
  31158. * 0b10001..ref_pfd3_clk == pll3_pfd3_clk
  31159. * 0b10010..xtal (24M)
  31160. */
  31161. #define PMU_MISC1_TOG_LVDS1_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_TOG_LVDS1_CLK_SEL_SHIFT)) & PMU_MISC1_TOG_LVDS1_CLK_SEL_MASK)
  31162. #define PMU_MISC1_TOG_LVDS2_CLK_SEL_MASK (0x3E0U)
  31163. #define PMU_MISC1_TOG_LVDS2_CLK_SEL_SHIFT (5U)
  31164. /*! LVDS2_CLK_SEL
  31165. * 0b00000..Arm PLL
  31166. * 0b00001..System PLL
  31167. * 0b00010..ref_pfd4_clk == pll2_pfd0_clk
  31168. * 0b00011..ref_pfd5_clk == pll2_pfd1_clk
  31169. * 0b00100..ref_pfd6_clk == pll2_pfd2_clk
  31170. * 0b00101..ref_pfd7_clk == pll2_pfd3_clk
  31171. * 0b00110..Audio PLL
  31172. * 0b00111..Video PLL
  31173. * 0b01000..MLB PLL
  31174. * 0b01001..ethernet ref clock (ENET_PLL)
  31175. * 0b01010..PCIe ref clock (125M)
  31176. * 0b01011..SATA ref clock (100M)
  31177. * 0b01100..USB1 PLL clock
  31178. * 0b01101..USB2 PLL clock
  31179. * 0b01110..ref_pfd0_clk == pll3_pfd0_clk
  31180. * 0b01111..ref_pfd1_clk == pll3_pfd1_clk
  31181. * 0b10000..ref_pfd2_clk == pll3_pfd2_clk
  31182. * 0b10001..ref_pfd3_clk == pll3_pfd3_clk
  31183. * 0b10010..xtal (24M)
  31184. * 0b10011..LVDS1 (loopback)
  31185. * 0b10100..LVDS2 (not useful)
  31186. */
  31187. #define PMU_MISC1_TOG_LVDS2_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_TOG_LVDS2_CLK_SEL_SHIFT)) & PMU_MISC1_TOG_LVDS2_CLK_SEL_MASK)
  31188. #define PMU_MISC1_TOG_LVDSCLK1_OBEN_MASK (0x400U)
  31189. #define PMU_MISC1_TOG_LVDSCLK1_OBEN_SHIFT (10U)
  31190. #define PMU_MISC1_TOG_LVDSCLK1_OBEN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_TOG_LVDSCLK1_OBEN_SHIFT)) & PMU_MISC1_TOG_LVDSCLK1_OBEN_MASK)
  31191. #define PMU_MISC1_TOG_LVDSCLK2_OBEN_MASK (0x800U)
  31192. #define PMU_MISC1_TOG_LVDSCLK2_OBEN_SHIFT (11U)
  31193. #define PMU_MISC1_TOG_LVDSCLK2_OBEN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_TOG_LVDSCLK2_OBEN_SHIFT)) & PMU_MISC1_TOG_LVDSCLK2_OBEN_MASK)
  31194. #define PMU_MISC1_TOG_LVDSCLK1_IBEN_MASK (0x1000U)
  31195. #define PMU_MISC1_TOG_LVDSCLK1_IBEN_SHIFT (12U)
  31196. #define PMU_MISC1_TOG_LVDSCLK1_IBEN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_TOG_LVDSCLK1_IBEN_SHIFT)) & PMU_MISC1_TOG_LVDSCLK1_IBEN_MASK)
  31197. #define PMU_MISC1_TOG_LVDSCLK2_IBEN_MASK (0x2000U)
  31198. #define PMU_MISC1_TOG_LVDSCLK2_IBEN_SHIFT (13U)
  31199. #define PMU_MISC1_TOG_LVDSCLK2_IBEN(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_TOG_LVDSCLK2_IBEN_SHIFT)) & PMU_MISC1_TOG_LVDSCLK2_IBEN_MASK)
  31200. #define PMU_MISC1_TOG_PFD_480_AUTOGATE_EN_MASK (0x10000U)
  31201. #define PMU_MISC1_TOG_PFD_480_AUTOGATE_EN_SHIFT (16U)
  31202. #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)
  31203. #define PMU_MISC1_TOG_PFD_528_AUTOGATE_EN_MASK (0x20000U)
  31204. #define PMU_MISC1_TOG_PFD_528_AUTOGATE_EN_SHIFT (17U)
  31205. #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)
  31206. #define PMU_MISC1_TOG_IRQ_TEMPPANIC_MASK (0x8000000U)
  31207. #define PMU_MISC1_TOG_IRQ_TEMPPANIC_SHIFT (27U)
  31208. #define PMU_MISC1_TOG_IRQ_TEMPPANIC(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_TOG_IRQ_TEMPPANIC_SHIFT)) & PMU_MISC1_TOG_IRQ_TEMPPANIC_MASK)
  31209. #define PMU_MISC1_TOG_IRQ_TEMPLOW_MASK (0x10000000U)
  31210. #define PMU_MISC1_TOG_IRQ_TEMPLOW_SHIFT (28U)
  31211. #define PMU_MISC1_TOG_IRQ_TEMPLOW(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_TOG_IRQ_TEMPLOW_SHIFT)) & PMU_MISC1_TOG_IRQ_TEMPLOW_MASK)
  31212. #define PMU_MISC1_TOG_IRQ_TEMPHIGH_MASK (0x20000000U)
  31213. #define PMU_MISC1_TOG_IRQ_TEMPHIGH_SHIFT (29U)
  31214. #define PMU_MISC1_TOG_IRQ_TEMPHIGH(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC1_TOG_IRQ_TEMPHIGH_SHIFT)) & PMU_MISC1_TOG_IRQ_TEMPHIGH_MASK)
  31215. #define PMU_MISC1_TOG_IRQ_ANA_BO_MASK (0x40000000U)
  31216. #define PMU_MISC1_TOG_IRQ_ANA_BO_SHIFT (30U)
  31217. #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)
  31218. #define PMU_MISC1_TOG_IRQ_DIG_BO_MASK (0x80000000U)
  31219. #define PMU_MISC1_TOG_IRQ_DIG_BO_SHIFT (31U)
  31220. #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)
  31221. /*! @} */
  31222. /*! @name MISC2 - Miscellaneous Control Register */
  31223. /*! @{ */
  31224. #define PMU_MISC2_REG0_BO_OFFSET_MASK (0x7U)
  31225. #define PMU_MISC2_REG0_BO_OFFSET_SHIFT (0U)
  31226. /*! REG0_BO_OFFSET
  31227. * 0b100..Brownout offset = 0.100V
  31228. * 0b111..Brownout offset = 0.175V
  31229. */
  31230. #define PMU_MISC2_REG0_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG0_BO_OFFSET_SHIFT)) & PMU_MISC2_REG0_BO_OFFSET_MASK)
  31231. #define PMU_MISC2_REG0_BO_STATUS_MASK (0x8U)
  31232. #define PMU_MISC2_REG0_BO_STATUS_SHIFT (3U)
  31233. /*! REG0_BO_STATUS
  31234. * 0b1..Brownout, supply is below target minus brownout offset.
  31235. */
  31236. #define PMU_MISC2_REG0_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG0_BO_STATUS_SHIFT)) & PMU_MISC2_REG0_BO_STATUS_MASK)
  31237. #define PMU_MISC2_REG0_ENABLE_BO_MASK (0x20U)
  31238. #define PMU_MISC2_REG0_ENABLE_BO_SHIFT (5U)
  31239. #define PMU_MISC2_REG0_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG0_ENABLE_BO_SHIFT)) & PMU_MISC2_REG0_ENABLE_BO_MASK)
  31240. #define PMU_MISC2_PLL3_disable_MASK (0x80U)
  31241. #define PMU_MISC2_PLL3_disable_SHIFT (7U)
  31242. #define PMU_MISC2_PLL3_disable(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_PLL3_disable_SHIFT)) & PMU_MISC2_PLL3_disable_MASK)
  31243. #define PMU_MISC2_REG1_BO_OFFSET_MASK (0x700U)
  31244. #define PMU_MISC2_REG1_BO_OFFSET_SHIFT (8U)
  31245. /*! REG1_BO_OFFSET
  31246. * 0b100..Brownout offset = 0.100V
  31247. * 0b111..Brownout offset = 0.175V
  31248. */
  31249. #define PMU_MISC2_REG1_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG1_BO_OFFSET_SHIFT)) & PMU_MISC2_REG1_BO_OFFSET_MASK)
  31250. #define PMU_MISC2_REG1_BO_STATUS_MASK (0x800U)
  31251. #define PMU_MISC2_REG1_BO_STATUS_SHIFT (11U)
  31252. /*! REG1_BO_STATUS
  31253. * 0b1..Brownout, supply is below target minus brownout offset.
  31254. */
  31255. #define PMU_MISC2_REG1_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG1_BO_STATUS_SHIFT)) & PMU_MISC2_REG1_BO_STATUS_MASK)
  31256. #define PMU_MISC2_REG1_ENABLE_BO_MASK (0x2000U)
  31257. #define PMU_MISC2_REG1_ENABLE_BO_SHIFT (13U)
  31258. #define PMU_MISC2_REG1_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG1_ENABLE_BO_SHIFT)) & PMU_MISC2_REG1_ENABLE_BO_MASK)
  31259. #define PMU_MISC2_AUDIO_DIV_LSB_MASK (0x8000U)
  31260. #define PMU_MISC2_AUDIO_DIV_LSB_SHIFT (15U)
  31261. /*! AUDIO_DIV_LSB
  31262. * 0b0..divide by 1 (Default)
  31263. * 0b1..divide by 2
  31264. */
  31265. #define PMU_MISC2_AUDIO_DIV_LSB(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_AUDIO_DIV_LSB_SHIFT)) & PMU_MISC2_AUDIO_DIV_LSB_MASK)
  31266. #define PMU_MISC2_REG2_BO_OFFSET_MASK (0x70000U)
  31267. #define PMU_MISC2_REG2_BO_OFFSET_SHIFT (16U)
  31268. /*! REG2_BO_OFFSET
  31269. * 0b100..Brownout offset = 0.100V
  31270. * 0b111..Brownout offset = 0.175V
  31271. */
  31272. #define PMU_MISC2_REG2_BO_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG2_BO_OFFSET_SHIFT)) & PMU_MISC2_REG2_BO_OFFSET_MASK)
  31273. #define PMU_MISC2_REG2_BO_STATUS_MASK (0x80000U)
  31274. #define PMU_MISC2_REG2_BO_STATUS_SHIFT (19U)
  31275. #define PMU_MISC2_REG2_BO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG2_BO_STATUS_SHIFT)) & PMU_MISC2_REG2_BO_STATUS_MASK)
  31276. #define PMU_MISC2_REG2_ENABLE_BO_MASK (0x200000U)
  31277. #define PMU_MISC2_REG2_ENABLE_BO_SHIFT (21U)
  31278. #define PMU_MISC2_REG2_ENABLE_BO(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG2_ENABLE_BO_SHIFT)) & PMU_MISC2_REG2_ENABLE_BO_MASK)
  31279. #define PMU_MISC2_REG2_OK_MASK (0x400000U)
  31280. #define PMU_MISC2_REG2_OK_SHIFT (22U)
  31281. #define PMU_MISC2_REG2_OK(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG2_OK_SHIFT)) & PMU_MISC2_REG2_OK_MASK)
  31282. #define PMU_MISC2_AUDIO_DIV_MSB_MASK (0x800000U)
  31283. #define PMU_MISC2_AUDIO_DIV_MSB_SHIFT (23U)
  31284. /*! AUDIO_DIV_MSB
  31285. * 0b0..divide by 1 (Default)
  31286. * 0b1..divide by 2
  31287. */
  31288. #define PMU_MISC2_AUDIO_DIV_MSB(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_AUDIO_DIV_MSB_SHIFT)) & PMU_MISC2_AUDIO_DIV_MSB_MASK)
  31289. #define PMU_MISC2_REG0_STEP_TIME_MASK (0x3000000U)
  31290. #define PMU_MISC2_REG0_STEP_TIME_SHIFT (24U)
  31291. /*! REG0_STEP_TIME
  31292. * 0b00..64
  31293. * 0b01..128
  31294. * 0b10..256
  31295. * 0b11..512
  31296. */
  31297. #define PMU_MISC2_REG0_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG0_STEP_TIME_SHIFT)) & PMU_MISC2_REG0_STEP_TIME_MASK)
  31298. #define PMU_MISC2_REG1_STEP_TIME_MASK (0xC000000U)
  31299. #define PMU_MISC2_REG1_STEP_TIME_SHIFT (26U)
  31300. /*! REG1_STEP_TIME
  31301. * 0b00..64
  31302. * 0b01..128
  31303. * 0b10..256
  31304. * 0b11..512
  31305. */
  31306. #define PMU_MISC2_REG1_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG1_STEP_TIME_SHIFT)) & PMU_MISC2_REG1_STEP_TIME_MASK)
  31307. #define PMU_MISC2_REG2_STEP_TIME_MASK (0x30000000U)
  31308. #define PMU_MISC2_REG2_STEP_TIME_SHIFT (28U)
  31309. /*! REG2_STEP_TIME
  31310. * 0b00..64
  31311. * 0b01..128
  31312. * 0b10..256
  31313. * 0b11..512
  31314. */
  31315. #define PMU_MISC2_REG2_STEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_REG2_STEP_TIME_SHIFT)) & PMU_MISC2_REG2_STEP_TIME_MASK)
  31316. #define PMU_MISC2_VIDEO_DIV_MASK (0xC0000000U)
  31317. #define PMU_MISC2_VIDEO_DIV_SHIFT (30U)
  31318. /*! VIDEO_DIV
  31319. * 0b00..divide by 1 (Default)
  31320. * 0b01..divide by 2
  31321. * 0b10..divide by 1
  31322. * 0b11..divide by 4
  31323. */
  31324. #define PMU_MISC2_VIDEO_DIV(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_VIDEO_DIV_SHIFT)) & PMU_MISC2_VIDEO_DIV_MASK)
  31325. /*! @} */
  31326. /*! @name MISC2_SET - Miscellaneous Control Register */
  31327. /*! @{ */
  31328. #define PMU_MISC2_SET_REG0_BO_OFFSET_MASK (0x7U)
  31329. #define PMU_MISC2_SET_REG0_BO_OFFSET_SHIFT (0U)
  31330. /*! REG0_BO_OFFSET
  31331. * 0b100..Brownout offset = 0.100V
  31332. * 0b111..Brownout offset = 0.175V
  31333. */
  31334. #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)
  31335. #define PMU_MISC2_SET_REG0_BO_STATUS_MASK (0x8U)
  31336. #define PMU_MISC2_SET_REG0_BO_STATUS_SHIFT (3U)
  31337. /*! REG0_BO_STATUS
  31338. * 0b1..Brownout, supply is below target minus brownout offset.
  31339. */
  31340. #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)
  31341. #define PMU_MISC2_SET_REG0_ENABLE_BO_MASK (0x20U)
  31342. #define PMU_MISC2_SET_REG0_ENABLE_BO_SHIFT (5U)
  31343. #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)
  31344. #define PMU_MISC2_SET_PLL3_disable_MASK (0x80U)
  31345. #define PMU_MISC2_SET_PLL3_disable_SHIFT (7U)
  31346. #define PMU_MISC2_SET_PLL3_disable(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_SET_PLL3_disable_SHIFT)) & PMU_MISC2_SET_PLL3_disable_MASK)
  31347. #define PMU_MISC2_SET_REG1_BO_OFFSET_MASK (0x700U)
  31348. #define PMU_MISC2_SET_REG1_BO_OFFSET_SHIFT (8U)
  31349. /*! REG1_BO_OFFSET
  31350. * 0b100..Brownout offset = 0.100V
  31351. * 0b111..Brownout offset = 0.175V
  31352. */
  31353. #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)
  31354. #define PMU_MISC2_SET_REG1_BO_STATUS_MASK (0x800U)
  31355. #define PMU_MISC2_SET_REG1_BO_STATUS_SHIFT (11U)
  31356. /*! REG1_BO_STATUS
  31357. * 0b1..Brownout, supply is below target minus brownout offset.
  31358. */
  31359. #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)
  31360. #define PMU_MISC2_SET_REG1_ENABLE_BO_MASK (0x2000U)
  31361. #define PMU_MISC2_SET_REG1_ENABLE_BO_SHIFT (13U)
  31362. #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)
  31363. #define PMU_MISC2_SET_AUDIO_DIV_LSB_MASK (0x8000U)
  31364. #define PMU_MISC2_SET_AUDIO_DIV_LSB_SHIFT (15U)
  31365. /*! AUDIO_DIV_LSB
  31366. * 0b0..divide by 1 (Default)
  31367. * 0b1..divide by 2
  31368. */
  31369. #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)
  31370. #define PMU_MISC2_SET_REG2_BO_OFFSET_MASK (0x70000U)
  31371. #define PMU_MISC2_SET_REG2_BO_OFFSET_SHIFT (16U)
  31372. /*! REG2_BO_OFFSET
  31373. * 0b100..Brownout offset = 0.100V
  31374. * 0b111..Brownout offset = 0.175V
  31375. */
  31376. #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)
  31377. #define PMU_MISC2_SET_REG2_BO_STATUS_MASK (0x80000U)
  31378. #define PMU_MISC2_SET_REG2_BO_STATUS_SHIFT (19U)
  31379. #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)
  31380. #define PMU_MISC2_SET_REG2_ENABLE_BO_MASK (0x200000U)
  31381. #define PMU_MISC2_SET_REG2_ENABLE_BO_SHIFT (21U)
  31382. #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)
  31383. #define PMU_MISC2_SET_REG2_OK_MASK (0x400000U)
  31384. #define PMU_MISC2_SET_REG2_OK_SHIFT (22U)
  31385. #define PMU_MISC2_SET_REG2_OK(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_SET_REG2_OK_SHIFT)) & PMU_MISC2_SET_REG2_OK_MASK)
  31386. #define PMU_MISC2_SET_AUDIO_DIV_MSB_MASK (0x800000U)
  31387. #define PMU_MISC2_SET_AUDIO_DIV_MSB_SHIFT (23U)
  31388. /*! AUDIO_DIV_MSB
  31389. * 0b0..divide by 1 (Default)
  31390. * 0b1..divide by 2
  31391. */
  31392. #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)
  31393. #define PMU_MISC2_SET_REG0_STEP_TIME_MASK (0x3000000U)
  31394. #define PMU_MISC2_SET_REG0_STEP_TIME_SHIFT (24U)
  31395. /*! REG0_STEP_TIME
  31396. * 0b00..64
  31397. * 0b01..128
  31398. * 0b10..256
  31399. * 0b11..512
  31400. */
  31401. #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)
  31402. #define PMU_MISC2_SET_REG1_STEP_TIME_MASK (0xC000000U)
  31403. #define PMU_MISC2_SET_REG1_STEP_TIME_SHIFT (26U)
  31404. /*! REG1_STEP_TIME
  31405. * 0b00..64
  31406. * 0b01..128
  31407. * 0b10..256
  31408. * 0b11..512
  31409. */
  31410. #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)
  31411. #define PMU_MISC2_SET_REG2_STEP_TIME_MASK (0x30000000U)
  31412. #define PMU_MISC2_SET_REG2_STEP_TIME_SHIFT (28U)
  31413. /*! REG2_STEP_TIME
  31414. * 0b00..64
  31415. * 0b01..128
  31416. * 0b10..256
  31417. * 0b11..512
  31418. */
  31419. #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)
  31420. #define PMU_MISC2_SET_VIDEO_DIV_MASK (0xC0000000U)
  31421. #define PMU_MISC2_SET_VIDEO_DIV_SHIFT (30U)
  31422. /*! VIDEO_DIV
  31423. * 0b00..divide by 1 (Default)
  31424. * 0b01..divide by 2
  31425. * 0b10..divide by 1
  31426. * 0b11..divide by 4
  31427. */
  31428. #define PMU_MISC2_SET_VIDEO_DIV(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_SET_VIDEO_DIV_SHIFT)) & PMU_MISC2_SET_VIDEO_DIV_MASK)
  31429. /*! @} */
  31430. /*! @name MISC2_CLR - Miscellaneous Control Register */
  31431. /*! @{ */
  31432. #define PMU_MISC2_CLR_REG0_BO_OFFSET_MASK (0x7U)
  31433. #define PMU_MISC2_CLR_REG0_BO_OFFSET_SHIFT (0U)
  31434. /*! REG0_BO_OFFSET
  31435. * 0b100..Brownout offset = 0.100V
  31436. * 0b111..Brownout offset = 0.175V
  31437. */
  31438. #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)
  31439. #define PMU_MISC2_CLR_REG0_BO_STATUS_MASK (0x8U)
  31440. #define PMU_MISC2_CLR_REG0_BO_STATUS_SHIFT (3U)
  31441. /*! REG0_BO_STATUS
  31442. * 0b1..Brownout, supply is below target minus brownout offset.
  31443. */
  31444. #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)
  31445. #define PMU_MISC2_CLR_REG0_ENABLE_BO_MASK (0x20U)
  31446. #define PMU_MISC2_CLR_REG0_ENABLE_BO_SHIFT (5U)
  31447. #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)
  31448. #define PMU_MISC2_CLR_PLL3_disable_MASK (0x80U)
  31449. #define PMU_MISC2_CLR_PLL3_disable_SHIFT (7U)
  31450. #define PMU_MISC2_CLR_PLL3_disable(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_CLR_PLL3_disable_SHIFT)) & PMU_MISC2_CLR_PLL3_disable_MASK)
  31451. #define PMU_MISC2_CLR_REG1_BO_OFFSET_MASK (0x700U)
  31452. #define PMU_MISC2_CLR_REG1_BO_OFFSET_SHIFT (8U)
  31453. /*! REG1_BO_OFFSET
  31454. * 0b100..Brownout offset = 0.100V
  31455. * 0b111..Brownout offset = 0.175V
  31456. */
  31457. #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)
  31458. #define PMU_MISC2_CLR_REG1_BO_STATUS_MASK (0x800U)
  31459. #define PMU_MISC2_CLR_REG1_BO_STATUS_SHIFT (11U)
  31460. /*! REG1_BO_STATUS
  31461. * 0b1..Brownout, supply is below target minus brownout offset.
  31462. */
  31463. #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)
  31464. #define PMU_MISC2_CLR_REG1_ENABLE_BO_MASK (0x2000U)
  31465. #define PMU_MISC2_CLR_REG1_ENABLE_BO_SHIFT (13U)
  31466. #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)
  31467. #define PMU_MISC2_CLR_AUDIO_DIV_LSB_MASK (0x8000U)
  31468. #define PMU_MISC2_CLR_AUDIO_DIV_LSB_SHIFT (15U)
  31469. /*! AUDIO_DIV_LSB
  31470. * 0b0..divide by 1 (Default)
  31471. * 0b1..divide by 2
  31472. */
  31473. #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)
  31474. #define PMU_MISC2_CLR_REG2_BO_OFFSET_MASK (0x70000U)
  31475. #define PMU_MISC2_CLR_REG2_BO_OFFSET_SHIFT (16U)
  31476. /*! REG2_BO_OFFSET
  31477. * 0b100..Brownout offset = 0.100V
  31478. * 0b111..Brownout offset = 0.175V
  31479. */
  31480. #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)
  31481. #define PMU_MISC2_CLR_REG2_BO_STATUS_MASK (0x80000U)
  31482. #define PMU_MISC2_CLR_REG2_BO_STATUS_SHIFT (19U)
  31483. #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)
  31484. #define PMU_MISC2_CLR_REG2_ENABLE_BO_MASK (0x200000U)
  31485. #define PMU_MISC2_CLR_REG2_ENABLE_BO_SHIFT (21U)
  31486. #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)
  31487. #define PMU_MISC2_CLR_REG2_OK_MASK (0x400000U)
  31488. #define PMU_MISC2_CLR_REG2_OK_SHIFT (22U)
  31489. #define PMU_MISC2_CLR_REG2_OK(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_CLR_REG2_OK_SHIFT)) & PMU_MISC2_CLR_REG2_OK_MASK)
  31490. #define PMU_MISC2_CLR_AUDIO_DIV_MSB_MASK (0x800000U)
  31491. #define PMU_MISC2_CLR_AUDIO_DIV_MSB_SHIFT (23U)
  31492. /*! AUDIO_DIV_MSB
  31493. * 0b0..divide by 1 (Default)
  31494. * 0b1..divide by 2
  31495. */
  31496. #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)
  31497. #define PMU_MISC2_CLR_REG0_STEP_TIME_MASK (0x3000000U)
  31498. #define PMU_MISC2_CLR_REG0_STEP_TIME_SHIFT (24U)
  31499. /*! REG0_STEP_TIME
  31500. * 0b00..64
  31501. * 0b01..128
  31502. * 0b10..256
  31503. * 0b11..512
  31504. */
  31505. #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)
  31506. #define PMU_MISC2_CLR_REG1_STEP_TIME_MASK (0xC000000U)
  31507. #define PMU_MISC2_CLR_REG1_STEP_TIME_SHIFT (26U)
  31508. /*! REG1_STEP_TIME
  31509. * 0b00..64
  31510. * 0b01..128
  31511. * 0b10..256
  31512. * 0b11..512
  31513. */
  31514. #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)
  31515. #define PMU_MISC2_CLR_REG2_STEP_TIME_MASK (0x30000000U)
  31516. #define PMU_MISC2_CLR_REG2_STEP_TIME_SHIFT (28U)
  31517. /*! REG2_STEP_TIME
  31518. * 0b00..64
  31519. * 0b01..128
  31520. * 0b10..256
  31521. * 0b11..512
  31522. */
  31523. #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)
  31524. #define PMU_MISC2_CLR_VIDEO_DIV_MASK (0xC0000000U)
  31525. #define PMU_MISC2_CLR_VIDEO_DIV_SHIFT (30U)
  31526. /*! VIDEO_DIV
  31527. * 0b00..divide by 1 (Default)
  31528. * 0b01..divide by 2
  31529. * 0b10..divide by 1
  31530. * 0b11..divide by 4
  31531. */
  31532. #define PMU_MISC2_CLR_VIDEO_DIV(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_CLR_VIDEO_DIV_SHIFT)) & PMU_MISC2_CLR_VIDEO_DIV_MASK)
  31533. /*! @} */
  31534. /*! @name MISC2_TOG - Miscellaneous Control Register */
  31535. /*! @{ */
  31536. #define PMU_MISC2_TOG_REG0_BO_OFFSET_MASK (0x7U)
  31537. #define PMU_MISC2_TOG_REG0_BO_OFFSET_SHIFT (0U)
  31538. /*! REG0_BO_OFFSET
  31539. * 0b100..Brownout offset = 0.100V
  31540. * 0b111..Brownout offset = 0.175V
  31541. */
  31542. #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)
  31543. #define PMU_MISC2_TOG_REG0_BO_STATUS_MASK (0x8U)
  31544. #define PMU_MISC2_TOG_REG0_BO_STATUS_SHIFT (3U)
  31545. /*! REG0_BO_STATUS
  31546. * 0b1..Brownout, supply is below target minus brownout offset.
  31547. */
  31548. #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)
  31549. #define PMU_MISC2_TOG_REG0_ENABLE_BO_MASK (0x20U)
  31550. #define PMU_MISC2_TOG_REG0_ENABLE_BO_SHIFT (5U)
  31551. #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)
  31552. #define PMU_MISC2_TOG_PLL3_disable_MASK (0x80U)
  31553. #define PMU_MISC2_TOG_PLL3_disable_SHIFT (7U)
  31554. #define PMU_MISC2_TOG_PLL3_disable(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_TOG_PLL3_disable_SHIFT)) & PMU_MISC2_TOG_PLL3_disable_MASK)
  31555. #define PMU_MISC2_TOG_REG1_BO_OFFSET_MASK (0x700U)
  31556. #define PMU_MISC2_TOG_REG1_BO_OFFSET_SHIFT (8U)
  31557. /*! REG1_BO_OFFSET
  31558. * 0b100..Brownout offset = 0.100V
  31559. * 0b111..Brownout offset = 0.175V
  31560. */
  31561. #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)
  31562. #define PMU_MISC2_TOG_REG1_BO_STATUS_MASK (0x800U)
  31563. #define PMU_MISC2_TOG_REG1_BO_STATUS_SHIFT (11U)
  31564. /*! REG1_BO_STATUS
  31565. * 0b1..Brownout, supply is below target minus brownout offset.
  31566. */
  31567. #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)
  31568. #define PMU_MISC2_TOG_REG1_ENABLE_BO_MASK (0x2000U)
  31569. #define PMU_MISC2_TOG_REG1_ENABLE_BO_SHIFT (13U)
  31570. #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)
  31571. #define PMU_MISC2_TOG_AUDIO_DIV_LSB_MASK (0x8000U)
  31572. #define PMU_MISC2_TOG_AUDIO_DIV_LSB_SHIFT (15U)
  31573. /*! AUDIO_DIV_LSB
  31574. * 0b0..divide by 1 (Default)
  31575. * 0b1..divide by 2
  31576. */
  31577. #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)
  31578. #define PMU_MISC2_TOG_REG2_BO_OFFSET_MASK (0x70000U)
  31579. #define PMU_MISC2_TOG_REG2_BO_OFFSET_SHIFT (16U)
  31580. /*! REG2_BO_OFFSET
  31581. * 0b100..Brownout offset = 0.100V
  31582. * 0b111..Brownout offset = 0.175V
  31583. */
  31584. #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)
  31585. #define PMU_MISC2_TOG_REG2_BO_STATUS_MASK (0x80000U)
  31586. #define PMU_MISC2_TOG_REG2_BO_STATUS_SHIFT (19U)
  31587. #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)
  31588. #define PMU_MISC2_TOG_REG2_ENABLE_BO_MASK (0x200000U)
  31589. #define PMU_MISC2_TOG_REG2_ENABLE_BO_SHIFT (21U)
  31590. #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)
  31591. #define PMU_MISC2_TOG_REG2_OK_MASK (0x400000U)
  31592. #define PMU_MISC2_TOG_REG2_OK_SHIFT (22U)
  31593. #define PMU_MISC2_TOG_REG2_OK(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_TOG_REG2_OK_SHIFT)) & PMU_MISC2_TOG_REG2_OK_MASK)
  31594. #define PMU_MISC2_TOG_AUDIO_DIV_MSB_MASK (0x800000U)
  31595. #define PMU_MISC2_TOG_AUDIO_DIV_MSB_SHIFT (23U)
  31596. /*! AUDIO_DIV_MSB
  31597. * 0b0..divide by 1 (Default)
  31598. * 0b1..divide by 2
  31599. */
  31600. #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)
  31601. #define PMU_MISC2_TOG_REG0_STEP_TIME_MASK (0x3000000U)
  31602. #define PMU_MISC2_TOG_REG0_STEP_TIME_SHIFT (24U)
  31603. /*! REG0_STEP_TIME
  31604. * 0b00..64
  31605. * 0b01..128
  31606. * 0b10..256
  31607. * 0b11..512
  31608. */
  31609. #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)
  31610. #define PMU_MISC2_TOG_REG1_STEP_TIME_MASK (0xC000000U)
  31611. #define PMU_MISC2_TOG_REG1_STEP_TIME_SHIFT (26U)
  31612. /*! REG1_STEP_TIME
  31613. * 0b00..64
  31614. * 0b01..128
  31615. * 0b10..256
  31616. * 0b11..512
  31617. */
  31618. #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)
  31619. #define PMU_MISC2_TOG_REG2_STEP_TIME_MASK (0x30000000U)
  31620. #define PMU_MISC2_TOG_REG2_STEP_TIME_SHIFT (28U)
  31621. /*! REG2_STEP_TIME
  31622. * 0b00..64
  31623. * 0b01..128
  31624. * 0b10..256
  31625. * 0b11..512
  31626. */
  31627. #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)
  31628. #define PMU_MISC2_TOG_VIDEO_DIV_MASK (0xC0000000U)
  31629. #define PMU_MISC2_TOG_VIDEO_DIV_SHIFT (30U)
  31630. /*! VIDEO_DIV
  31631. * 0b00..divide by 1 (Default)
  31632. * 0b01..divide by 2
  31633. * 0b10..divide by 1
  31634. * 0b11..divide by 4
  31635. */
  31636. #define PMU_MISC2_TOG_VIDEO_DIV(x) (((uint32_t)(((uint32_t)(x)) << PMU_MISC2_TOG_VIDEO_DIV_SHIFT)) & PMU_MISC2_TOG_VIDEO_DIV_MASK)
  31637. /*! @} */
  31638. /*!
  31639. * @}
  31640. */ /* end of group PMU_Register_Masks */
  31641. /* PMU - Peripheral instance base addresses */
  31642. /** Peripheral PMU base address */
  31643. #define PMU_BASE (0x400D8000u)
  31644. /** Peripheral PMU base pointer */
  31645. #define PMU ((PMU_Type *)PMU_BASE)
  31646. /** Array initializer of PMU peripheral base addresses */
  31647. #define PMU_BASE_ADDRS { PMU_BASE }
  31648. /** Array initializer of PMU peripheral base pointers */
  31649. #define PMU_BASE_PTRS { PMU }
  31650. /*!
  31651. * @}
  31652. */ /* end of group PMU_Peripheral_Access_Layer */
  31653. /* ----------------------------------------------------------------------------
  31654. -- PWM Peripheral Access Layer
  31655. ---------------------------------------------------------------------------- */
  31656. /*!
  31657. * @addtogroup PWM_Peripheral_Access_Layer PWM Peripheral Access Layer
  31658. * @{
  31659. */
  31660. /** PWM - Register Layout Typedef */
  31661. typedef struct {
  31662. struct { /* offset: 0x0, array step: 0x60 */
  31663. __I uint16_t CNT; /**< Counter Register, array offset: 0x0, array step: 0x60 */
  31664. __IO uint16_t INIT; /**< Initial Count Register, array offset: 0x2, array step: 0x60 */
  31665. __IO uint16_t CTRL2; /**< Control 2 Register, array offset: 0x4, array step: 0x60 */
  31666. __IO uint16_t CTRL; /**< Control Register, array offset: 0x6, array step: 0x60 */
  31667. uint8_t RESERVED_0[2];
  31668. __IO uint16_t VAL0; /**< Value Register 0, array offset: 0xA, array step: 0x60 */
  31669. __IO uint16_t FRACVAL1; /**< Fractional Value Register 1, array offset: 0xC, array step: 0x60 */
  31670. __IO uint16_t VAL1; /**< Value Register 1, array offset: 0xE, array step: 0x60 */
  31671. __IO uint16_t FRACVAL2; /**< Fractional Value Register 2, array offset: 0x10, array step: 0x60 */
  31672. __IO uint16_t VAL2; /**< Value Register 2, array offset: 0x12, array step: 0x60 */
  31673. __IO uint16_t FRACVAL3; /**< Fractional Value Register 3, array offset: 0x14, array step: 0x60 */
  31674. __IO uint16_t VAL3; /**< Value Register 3, array offset: 0x16, array step: 0x60 */
  31675. __IO uint16_t FRACVAL4; /**< Fractional Value Register 4, array offset: 0x18, array step: 0x60 */
  31676. __IO uint16_t VAL4; /**< Value Register 4, array offset: 0x1A, array step: 0x60 */
  31677. __IO uint16_t FRACVAL5; /**< Fractional Value Register 5, array offset: 0x1C, array step: 0x60 */
  31678. __IO uint16_t VAL5; /**< Value Register 5, array offset: 0x1E, array step: 0x60 */
  31679. __IO uint16_t FRCTRL; /**< Fractional Control Register, array offset: 0x20, array step: 0x60 */
  31680. __IO uint16_t OCTRL; /**< Output Control Register, array offset: 0x22, array step: 0x60 */
  31681. __IO uint16_t STS; /**< Status Register, array offset: 0x24, array step: 0x60 */
  31682. __IO uint16_t INTEN; /**< Interrupt Enable Register, array offset: 0x26, array step: 0x60 */
  31683. __IO uint16_t DMAEN; /**< DMA Enable Register, array offset: 0x28, array step: 0x60 */
  31684. __IO uint16_t TCTRL; /**< Output Trigger Control Register, array offset: 0x2A, array step: 0x60 */
  31685. __IO uint16_t DISMAP[2]; /**< Fault Disable Mapping Register 0..Fault Disable Mapping Register 1, array offset: 0x2C, array step: index*0x60, index2*0x2 */
  31686. __IO uint16_t DTCNT0; /**< Deadtime Count Register 0, array offset: 0x30, array step: 0x60 */
  31687. __IO uint16_t DTCNT1; /**< Deadtime Count Register 1, array offset: 0x32, array step: 0x60 */
  31688. __IO uint16_t CAPTCTRLA; /**< Capture Control A Register, array offset: 0x34, array step: 0x60 */
  31689. __IO uint16_t CAPTCOMPA; /**< Capture Compare A Register, array offset: 0x36, array step: 0x60 */
  31690. __IO uint16_t CAPTCTRLB; /**< Capture Control B Register, array offset: 0x38, array step: 0x60 */
  31691. __IO uint16_t CAPTCOMPB; /**< Capture Compare B Register, array offset: 0x3A, array step: 0x60 */
  31692. __IO uint16_t CAPTCTRLX; /**< Capture Control X Register, array offset: 0x3C, array step: 0x60 */
  31693. __IO uint16_t CAPTCOMPX; /**< Capture Compare X Register, array offset: 0x3E, array step: 0x60 */
  31694. __I uint16_t CVAL0; /**< Capture Value 0 Register, array offset: 0x40, array step: 0x60 */
  31695. __I uint16_t CVAL0CYC; /**< Capture Value 0 Cycle Register, array offset: 0x42, array step: 0x60 */
  31696. __I uint16_t CVAL1; /**< Capture Value 1 Register, array offset: 0x44, array step: 0x60 */
  31697. __I uint16_t CVAL1CYC; /**< Capture Value 1 Cycle Register, array offset: 0x46, array step: 0x60 */
  31698. __I uint16_t CVAL2; /**< Capture Value 2 Register, array offset: 0x48, array step: 0x60 */
  31699. __I uint16_t CVAL2CYC; /**< Capture Value 2 Cycle Register, array offset: 0x4A, array step: 0x60 */
  31700. __I uint16_t CVAL3; /**< Capture Value 3 Register, array offset: 0x4C, array step: 0x60 */
  31701. __I uint16_t CVAL3CYC; /**< Capture Value 3 Cycle Register, array offset: 0x4E, array step: 0x60 */
  31702. __I uint16_t CVAL4; /**< Capture Value 4 Register, array offset: 0x50, array step: 0x60 */
  31703. __I uint16_t CVAL4CYC; /**< Capture Value 4 Cycle Register, array offset: 0x52, array step: 0x60 */
  31704. __I uint16_t CVAL5; /**< Capture Value 5 Register, array offset: 0x54, array step: 0x60 */
  31705. __I uint16_t CVAL5CYC; /**< Capture Value 5 Cycle Register, array offset: 0x56, array step: 0x60 */
  31706. uint8_t RESERVED_1[8];
  31707. } SM[4];
  31708. __IO uint16_t OUTEN; /**< Output Enable Register, offset: 0x180 */
  31709. __IO uint16_t MASK; /**< Mask Register, offset: 0x182 */
  31710. __IO uint16_t SWCOUT; /**< Software Controlled Output Register, offset: 0x184 */
  31711. __IO uint16_t DTSRCSEL; /**< PWM Source Select Register, offset: 0x186 */
  31712. __IO uint16_t MCTRL; /**< Master Control Register, offset: 0x188 */
  31713. __IO uint16_t MCTRL2; /**< Master Control 2 Register, offset: 0x18A */
  31714. __IO uint16_t FCTRL; /**< Fault Control Register, offset: 0x18C */
  31715. __IO uint16_t FSTS; /**< Fault Status Register, offset: 0x18E */
  31716. __IO uint16_t FFILT; /**< Fault Filter Register, offset: 0x190 */
  31717. __IO uint16_t FTST; /**< Fault Test Register, offset: 0x192 */
  31718. __IO uint16_t FCTRL2; /**< Fault Control 2 Register, offset: 0x194 */
  31719. } PWM_Type;
  31720. /* ----------------------------------------------------------------------------
  31721. -- PWM Register Masks
  31722. ---------------------------------------------------------------------------- */
  31723. /*!
  31724. * @addtogroup PWM_Register_Masks PWM Register Masks
  31725. * @{
  31726. */
  31727. /*! @name CNT - Counter Register */
  31728. /*! @{ */
  31729. #define PWM_CNT_CNT_MASK (0xFFFFU)
  31730. #define PWM_CNT_CNT_SHIFT (0U)
  31731. /*! CNT - Counter Register Bits
  31732. */
  31733. #define PWM_CNT_CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CNT_CNT_SHIFT)) & PWM_CNT_CNT_MASK)
  31734. /*! @} */
  31735. /* The count of PWM_CNT */
  31736. #define PWM_CNT_COUNT (4U)
  31737. /*! @name INIT - Initial Count Register */
  31738. /*! @{ */
  31739. #define PWM_INIT_INIT_MASK (0xFFFFU)
  31740. #define PWM_INIT_INIT_SHIFT (0U)
  31741. /*! INIT - Initial Count Register Bits
  31742. */
  31743. #define PWM_INIT_INIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_INIT_INIT_SHIFT)) & PWM_INIT_INIT_MASK)
  31744. /*! @} */
  31745. /* The count of PWM_INIT */
  31746. #define PWM_INIT_COUNT (4U)
  31747. /*! @name CTRL2 - Control 2 Register */
  31748. /*! @{ */
  31749. #define PWM_CTRL2_CLK_SEL_MASK (0x3U)
  31750. #define PWM_CTRL2_CLK_SEL_SHIFT (0U)
  31751. /*! CLK_SEL - Clock Source Select
  31752. * 0b00..The IPBus clock is used as the clock for the local prescaler and counter.
  31753. * 0b01..EXT_CLK is used as the clock for the local prescaler and counter.
  31754. * 0b10..Submodule 0's clock (AUX_CLK) is used as the source clock for the local prescaler and counter. This
  31755. * setting should not be used in submodule 0 as it will force the clock to logic 0.
  31756. * 0b11..reserved
  31757. */
  31758. #define PWM_CTRL2_CLK_SEL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_CLK_SEL_SHIFT)) & PWM_CTRL2_CLK_SEL_MASK)
  31759. #define PWM_CTRL2_RELOAD_SEL_MASK (0x4U)
  31760. #define PWM_CTRL2_RELOAD_SEL_SHIFT (2U)
  31761. /*! RELOAD_SEL - Reload Source Select
  31762. * 0b0..The local RELOAD signal is used to reload registers.
  31763. * 0b1..The master RELOAD signal (from submodule 0) is used to reload registers. This setting should not be used
  31764. * in submodule 0 as it will force the RELOAD signal to logic 0.
  31765. */
  31766. #define PWM_CTRL2_RELOAD_SEL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_RELOAD_SEL_SHIFT)) & PWM_CTRL2_RELOAD_SEL_MASK)
  31767. #define PWM_CTRL2_FORCE_SEL_MASK (0x38U)
  31768. #define PWM_CTRL2_FORCE_SEL_SHIFT (3U)
  31769. /*! FORCE_SEL - This read/write bit determines the source of the FORCE OUTPUT signal for this submodule.
  31770. * 0b000..The local force signal, CTRL2[FORCE], from this submodule is used to force updates.
  31771. * 0b001..The master force signal from submodule 0 is used to force updates. This setting should not be used in
  31772. * submodule 0 as it will hold the FORCE OUTPUT signal to logic 0.
  31773. * 0b010..The local reload signal from this submodule is used to force updates without regard to the state of LDOK.
  31774. * 0b011..The master reload signal from submodule0 is used to force updates if LDOK is set. This setting should
  31775. * not be used in submodule0 as it will hold the FORCE OUTPUT signal to logic 0.
  31776. * 0b100..The local sync signal from this submodule is used to force updates.
  31777. * 0b101..The master sync signal from submodule0 is used to force updates. This setting should not be used in
  31778. * submodule0 as it will hold the FORCE OUTPUT signal to logic 0.
  31779. * 0b110..The external force signal, EXT_FORCE, from outside the PWM module causes updates.
  31780. * 0b111..The external sync signal, EXT_SYNC, from outside the PWM module causes updates.
  31781. */
  31782. #define PWM_CTRL2_FORCE_SEL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_FORCE_SEL_SHIFT)) & PWM_CTRL2_FORCE_SEL_MASK)
  31783. #define PWM_CTRL2_FORCE_MASK (0x40U)
  31784. #define PWM_CTRL2_FORCE_SHIFT (6U)
  31785. /*! FORCE - Force Initialization
  31786. */
  31787. #define PWM_CTRL2_FORCE(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_FORCE_SHIFT)) & PWM_CTRL2_FORCE_MASK)
  31788. #define PWM_CTRL2_FRCEN_MASK (0x80U)
  31789. #define PWM_CTRL2_FRCEN_SHIFT (7U)
  31790. /*! FRCEN - FRCEN
  31791. * 0b0..Initialization from a FORCE_OUT is disabled.
  31792. * 0b1..Initialization from a FORCE_OUT is enabled.
  31793. */
  31794. #define PWM_CTRL2_FRCEN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_FRCEN_SHIFT)) & PWM_CTRL2_FRCEN_MASK)
  31795. #define PWM_CTRL2_INIT_SEL_MASK (0x300U)
  31796. #define PWM_CTRL2_INIT_SEL_SHIFT (8U)
  31797. /*! INIT_SEL - Initialization Control Select
  31798. * 0b00..Local sync (PWM_X) causes initialization.
  31799. * 0b01..Master reload from submodule 0 causes initialization. This setting should not be used in submodule 0 as
  31800. * it will force the INIT signal to logic 0. The submodule counter will only reinitialize when a master
  31801. * reload occurs.
  31802. * 0b10..Master sync from submodule 0 causes initialization. This setting should not be used in submodule 0 as it
  31803. * will force the INIT signal to logic 0.
  31804. * 0b11..EXT_SYNC causes initialization.
  31805. */
  31806. #define PWM_CTRL2_INIT_SEL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_INIT_SEL_SHIFT)) & PWM_CTRL2_INIT_SEL_MASK)
  31807. #define PWM_CTRL2_PWMX_INIT_MASK (0x400U)
  31808. #define PWM_CTRL2_PWMX_INIT_SHIFT (10U)
  31809. /*! PWMX_INIT - PWM_X Initial Value
  31810. */
  31811. #define PWM_CTRL2_PWMX_INIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_PWMX_INIT_SHIFT)) & PWM_CTRL2_PWMX_INIT_MASK)
  31812. #define PWM_CTRL2_PWM45_INIT_MASK (0x800U)
  31813. #define PWM_CTRL2_PWM45_INIT_SHIFT (11U)
  31814. /*! PWM45_INIT - PWM45 Initial Value
  31815. */
  31816. #define PWM_CTRL2_PWM45_INIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_PWM45_INIT_SHIFT)) & PWM_CTRL2_PWM45_INIT_MASK)
  31817. #define PWM_CTRL2_PWM23_INIT_MASK (0x1000U)
  31818. #define PWM_CTRL2_PWM23_INIT_SHIFT (12U)
  31819. /*! PWM23_INIT - PWM23 Initial Value
  31820. */
  31821. #define PWM_CTRL2_PWM23_INIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_PWM23_INIT_SHIFT)) & PWM_CTRL2_PWM23_INIT_MASK)
  31822. #define PWM_CTRL2_INDEP_MASK (0x2000U)
  31823. #define PWM_CTRL2_INDEP_SHIFT (13U)
  31824. /*! INDEP - Independent or Complementary Pair Operation
  31825. * 0b0..PWM_A and PWM_B form a complementary PWM pair.
  31826. * 0b1..PWM_A and PWM_B outputs are independent PWMs.
  31827. */
  31828. #define PWM_CTRL2_INDEP(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_INDEP_SHIFT)) & PWM_CTRL2_INDEP_MASK)
  31829. #define PWM_CTRL2_WAITEN_MASK (0x4000U)
  31830. #define PWM_CTRL2_WAITEN_SHIFT (14U)
  31831. /*! WAITEN - WAIT Enable
  31832. */
  31833. #define PWM_CTRL2_WAITEN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_WAITEN_SHIFT)) & PWM_CTRL2_WAITEN_MASK)
  31834. #define PWM_CTRL2_DBGEN_MASK (0x8000U)
  31835. #define PWM_CTRL2_DBGEN_SHIFT (15U)
  31836. /*! DBGEN - Debug Enable
  31837. */
  31838. #define PWM_CTRL2_DBGEN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_DBGEN_SHIFT)) & PWM_CTRL2_DBGEN_MASK)
  31839. /*! @} */
  31840. /* The count of PWM_CTRL2 */
  31841. #define PWM_CTRL2_COUNT (4U)
  31842. /*! @name CTRL - Control Register */
  31843. /*! @{ */
  31844. #define PWM_CTRL_DBLEN_MASK (0x1U)
  31845. #define PWM_CTRL_DBLEN_SHIFT (0U)
  31846. /*! DBLEN - Double Switching Enable
  31847. * 0b0..Double switching disabled.
  31848. * 0b1..Double switching enabled.
  31849. */
  31850. #define PWM_CTRL_DBLEN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_DBLEN_SHIFT)) & PWM_CTRL_DBLEN_MASK)
  31851. #define PWM_CTRL_DBLX_MASK (0x2U)
  31852. #define PWM_CTRL_DBLX_SHIFT (1U)
  31853. /*! DBLX - PWMX Double Switching Enable
  31854. * 0b0..PWMX double pulse disabled.
  31855. * 0b1..PWMX double pulse enabled.
  31856. */
  31857. #define PWM_CTRL_DBLX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_DBLX_SHIFT)) & PWM_CTRL_DBLX_MASK)
  31858. #define PWM_CTRL_LDMOD_MASK (0x4U)
  31859. #define PWM_CTRL_LDMOD_SHIFT (2U)
  31860. /*! LDMOD - Load Mode Select
  31861. * 0b0..Buffered registers of this submodule are loaded and take effect at the next PWM reload if MCTRL[LDOK] is set.
  31862. * 0b1..Buffered registers of this submodule are loaded and take effect immediately upon MCTRL[LDOK] being set.
  31863. * In this case it is not necessary to set CTRL[FULL] or CTRL[HALF].
  31864. */
  31865. #define PWM_CTRL_LDMOD(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_LDMOD_SHIFT)) & PWM_CTRL_LDMOD_MASK)
  31866. #define PWM_CTRL_SPLIT_MASK (0x8U)
  31867. #define PWM_CTRL_SPLIT_SHIFT (3U)
  31868. /*! SPLIT - Split the DBLPWM signal to PWMA and PWMB
  31869. * 0b0..DBLPWM is not split. PWMA and PWMB each have double pulses.
  31870. * 0b1..DBLPWM is split to PWMA and PWMB.
  31871. */
  31872. #define PWM_CTRL_SPLIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_SPLIT_SHIFT)) & PWM_CTRL_SPLIT_MASK)
  31873. #define PWM_CTRL_PRSC_MASK (0x70U)
  31874. #define PWM_CTRL_PRSC_SHIFT (4U)
  31875. /*! PRSC - Prescaler
  31876. * 0b000..PWM clock frequency = fclk
  31877. * 0b001..PWM clock frequency = fclk/2
  31878. * 0b010..PWM clock frequency = fclk/4
  31879. * 0b011..PWM clock frequency = fclk/8
  31880. * 0b100..PWM clock frequency = fclk/16
  31881. * 0b101..PWM clock frequency = fclk/32
  31882. * 0b110..PWM clock frequency = fclk/64
  31883. * 0b111..PWM clock frequency = fclk/128
  31884. */
  31885. #define PWM_CTRL_PRSC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_PRSC_SHIFT)) & PWM_CTRL_PRSC_MASK)
  31886. #define PWM_CTRL_COMPMODE_MASK (0x80U)
  31887. #define PWM_CTRL_COMPMODE_SHIFT (7U)
  31888. /*! COMPMODE - Compare Mode
  31889. * 0b0..The VAL* registers and the PWM counter are compared using an "equal to" method. This means that PWM edges
  31890. * are only produced when the counter is equal to one of the VAL* register values. This implies that a PWMA
  31891. * output that is high at the end of a period will maintain this state until a match with VAL3 clears the
  31892. * output in the following period.
  31893. * 0b1..The VAL* registers and the PWM counter are compared using an "equal to or greater than" method. This
  31894. * means that PWM edges are produced when the counter is equal to or greater than one of the VAL* register
  31895. * values. This implies that a PWMA output that is high at the end of a period could go low at the start of the
  31896. * next period if the starting counter value is greater than (but not necessarily equal to) the new VAL3 value.
  31897. */
  31898. #define PWM_CTRL_COMPMODE(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_COMPMODE_SHIFT)) & PWM_CTRL_COMPMODE_MASK)
  31899. #define PWM_CTRL_DT_MASK (0x300U)
  31900. #define PWM_CTRL_DT_SHIFT (8U)
  31901. /*! DT - Deadtime
  31902. */
  31903. #define PWM_CTRL_DT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_DT_SHIFT)) & PWM_CTRL_DT_MASK)
  31904. #define PWM_CTRL_FULL_MASK (0x400U)
  31905. #define PWM_CTRL_FULL_SHIFT (10U)
  31906. /*! FULL - Full Cycle Reload
  31907. * 0b0..Full-cycle reloads disabled.
  31908. * 0b1..Full-cycle reloads enabled.
  31909. */
  31910. #define PWM_CTRL_FULL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_FULL_SHIFT)) & PWM_CTRL_FULL_MASK)
  31911. #define PWM_CTRL_HALF_MASK (0x800U)
  31912. #define PWM_CTRL_HALF_SHIFT (11U)
  31913. /*! HALF - Half Cycle Reload
  31914. * 0b0..Half-cycle reloads disabled.
  31915. * 0b1..Half-cycle reloads enabled.
  31916. */
  31917. #define PWM_CTRL_HALF(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_HALF_SHIFT)) & PWM_CTRL_HALF_MASK)
  31918. #define PWM_CTRL_LDFQ_MASK (0xF000U)
  31919. #define PWM_CTRL_LDFQ_SHIFT (12U)
  31920. /*! LDFQ - Load Frequency
  31921. * 0b0000..Every PWM opportunity
  31922. * 0b0001..Every 2 PWM opportunities
  31923. * 0b0010..Every 3 PWM opportunities
  31924. * 0b0011..Every 4 PWM opportunities
  31925. * 0b0100..Every 5 PWM opportunities
  31926. * 0b0101..Every 6 PWM opportunities
  31927. * 0b0110..Every 7 PWM opportunities
  31928. * 0b0111..Every 8 PWM opportunities
  31929. * 0b1000..Every 9 PWM opportunities
  31930. * 0b1001..Every 10 PWM opportunities
  31931. * 0b1010..Every 11 PWM opportunities
  31932. * 0b1011..Every 12 PWM opportunities
  31933. * 0b1100..Every 13 PWM opportunities
  31934. * 0b1101..Every 14 PWM opportunities
  31935. * 0b1110..Every 15 PWM opportunities
  31936. * 0b1111..Every 16 PWM opportunities
  31937. */
  31938. #define PWM_CTRL_LDFQ(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_LDFQ_SHIFT)) & PWM_CTRL_LDFQ_MASK)
  31939. /*! @} */
  31940. /* The count of PWM_CTRL */
  31941. #define PWM_CTRL_COUNT (4U)
  31942. /*! @name VAL0 - Value Register 0 */
  31943. /*! @{ */
  31944. #define PWM_VAL0_VAL0_MASK (0xFFFFU)
  31945. #define PWM_VAL0_VAL0_SHIFT (0U)
  31946. /*! VAL0 - Value Register 0
  31947. */
  31948. #define PWM_VAL0_VAL0(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL0_VAL0_SHIFT)) & PWM_VAL0_VAL0_MASK)
  31949. /*! @} */
  31950. /* The count of PWM_VAL0 */
  31951. #define PWM_VAL0_COUNT (4U)
  31952. /*! @name FRACVAL1 - Fractional Value Register 1 */
  31953. /*! @{ */
  31954. #define PWM_FRACVAL1_FRACVAL1_MASK (0xF800U)
  31955. #define PWM_FRACVAL1_FRACVAL1_SHIFT (11U)
  31956. /*! FRACVAL1 - Fractional Value 1 Register
  31957. */
  31958. #define PWM_FRACVAL1_FRACVAL1(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL1_FRACVAL1_SHIFT)) & PWM_FRACVAL1_FRACVAL1_MASK)
  31959. /*! @} */
  31960. /* The count of PWM_FRACVAL1 */
  31961. #define PWM_FRACVAL1_COUNT (4U)
  31962. /*! @name VAL1 - Value Register 1 */
  31963. /*! @{ */
  31964. #define PWM_VAL1_VAL1_MASK (0xFFFFU)
  31965. #define PWM_VAL1_VAL1_SHIFT (0U)
  31966. /*! VAL1 - Value Register 1
  31967. */
  31968. #define PWM_VAL1_VAL1(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL1_VAL1_SHIFT)) & PWM_VAL1_VAL1_MASK)
  31969. /*! @} */
  31970. /* The count of PWM_VAL1 */
  31971. #define PWM_VAL1_COUNT (4U)
  31972. /*! @name FRACVAL2 - Fractional Value Register 2 */
  31973. /*! @{ */
  31974. #define PWM_FRACVAL2_FRACVAL2_MASK (0xF800U)
  31975. #define PWM_FRACVAL2_FRACVAL2_SHIFT (11U)
  31976. /*! FRACVAL2 - Fractional Value 2
  31977. */
  31978. #define PWM_FRACVAL2_FRACVAL2(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL2_FRACVAL2_SHIFT)) & PWM_FRACVAL2_FRACVAL2_MASK)
  31979. /*! @} */
  31980. /* The count of PWM_FRACVAL2 */
  31981. #define PWM_FRACVAL2_COUNT (4U)
  31982. /*! @name VAL2 - Value Register 2 */
  31983. /*! @{ */
  31984. #define PWM_VAL2_VAL2_MASK (0xFFFFU)
  31985. #define PWM_VAL2_VAL2_SHIFT (0U)
  31986. /*! VAL2 - Value Register 2
  31987. */
  31988. #define PWM_VAL2_VAL2(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL2_VAL2_SHIFT)) & PWM_VAL2_VAL2_MASK)
  31989. /*! @} */
  31990. /* The count of PWM_VAL2 */
  31991. #define PWM_VAL2_COUNT (4U)
  31992. /*! @name FRACVAL3 - Fractional Value Register 3 */
  31993. /*! @{ */
  31994. #define PWM_FRACVAL3_FRACVAL3_MASK (0xF800U)
  31995. #define PWM_FRACVAL3_FRACVAL3_SHIFT (11U)
  31996. /*! FRACVAL3 - Fractional Value 3
  31997. */
  31998. #define PWM_FRACVAL3_FRACVAL3(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL3_FRACVAL3_SHIFT)) & PWM_FRACVAL3_FRACVAL3_MASK)
  31999. /*! @} */
  32000. /* The count of PWM_FRACVAL3 */
  32001. #define PWM_FRACVAL3_COUNT (4U)
  32002. /*! @name VAL3 - Value Register 3 */
  32003. /*! @{ */
  32004. #define PWM_VAL3_VAL3_MASK (0xFFFFU)
  32005. #define PWM_VAL3_VAL3_SHIFT (0U)
  32006. /*! VAL3 - Value Register 3
  32007. */
  32008. #define PWM_VAL3_VAL3(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL3_VAL3_SHIFT)) & PWM_VAL3_VAL3_MASK)
  32009. /*! @} */
  32010. /* The count of PWM_VAL3 */
  32011. #define PWM_VAL3_COUNT (4U)
  32012. /*! @name FRACVAL4 - Fractional Value Register 4 */
  32013. /*! @{ */
  32014. #define PWM_FRACVAL4_FRACVAL4_MASK (0xF800U)
  32015. #define PWM_FRACVAL4_FRACVAL4_SHIFT (11U)
  32016. /*! FRACVAL4 - Fractional Value 4
  32017. */
  32018. #define PWM_FRACVAL4_FRACVAL4(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL4_FRACVAL4_SHIFT)) & PWM_FRACVAL4_FRACVAL4_MASK)
  32019. /*! @} */
  32020. /* The count of PWM_FRACVAL4 */
  32021. #define PWM_FRACVAL4_COUNT (4U)
  32022. /*! @name VAL4 - Value Register 4 */
  32023. /*! @{ */
  32024. #define PWM_VAL4_VAL4_MASK (0xFFFFU)
  32025. #define PWM_VAL4_VAL4_SHIFT (0U)
  32026. /*! VAL4 - Value Register 4
  32027. */
  32028. #define PWM_VAL4_VAL4(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL4_VAL4_SHIFT)) & PWM_VAL4_VAL4_MASK)
  32029. /*! @} */
  32030. /* The count of PWM_VAL4 */
  32031. #define PWM_VAL4_COUNT (4U)
  32032. /*! @name FRACVAL5 - Fractional Value Register 5 */
  32033. /*! @{ */
  32034. #define PWM_FRACVAL5_FRACVAL5_MASK (0xF800U)
  32035. #define PWM_FRACVAL5_FRACVAL5_SHIFT (11U)
  32036. /*! FRACVAL5 - Fractional Value 5
  32037. */
  32038. #define PWM_FRACVAL5_FRACVAL5(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL5_FRACVAL5_SHIFT)) & PWM_FRACVAL5_FRACVAL5_MASK)
  32039. /*! @} */
  32040. /* The count of PWM_FRACVAL5 */
  32041. #define PWM_FRACVAL5_COUNT (4U)
  32042. /*! @name VAL5 - Value Register 5 */
  32043. /*! @{ */
  32044. #define PWM_VAL5_VAL5_MASK (0xFFFFU)
  32045. #define PWM_VAL5_VAL5_SHIFT (0U)
  32046. /*! VAL5 - Value Register 5
  32047. */
  32048. #define PWM_VAL5_VAL5(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL5_VAL5_SHIFT)) & PWM_VAL5_VAL5_MASK)
  32049. /*! @} */
  32050. /* The count of PWM_VAL5 */
  32051. #define PWM_VAL5_COUNT (4U)
  32052. /*! @name FRCTRL - Fractional Control Register */
  32053. /*! @{ */
  32054. #define PWM_FRCTRL_FRAC1_EN_MASK (0x2U)
  32055. #define PWM_FRCTRL_FRAC1_EN_SHIFT (1U)
  32056. /*! FRAC1_EN - Fractional Cycle PWM Period Enable
  32057. * 0b0..Disable fractional cycle length for the PWM period.
  32058. * 0b1..Enable fractional cycle length for the PWM period.
  32059. */
  32060. #define PWM_FRCTRL_FRAC1_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRCTRL_FRAC1_EN_SHIFT)) & PWM_FRCTRL_FRAC1_EN_MASK)
  32061. #define PWM_FRCTRL_FRAC23_EN_MASK (0x4U)
  32062. #define PWM_FRCTRL_FRAC23_EN_SHIFT (2U)
  32063. /*! FRAC23_EN - Fractional Cycle Placement Enable for PWM_A
  32064. * 0b0..Disable fractional cycle placement for PWM_A.
  32065. * 0b1..Enable fractional cycle placement for PWM_A.
  32066. */
  32067. #define PWM_FRCTRL_FRAC23_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRCTRL_FRAC23_EN_SHIFT)) & PWM_FRCTRL_FRAC23_EN_MASK)
  32068. #define PWM_FRCTRL_FRAC45_EN_MASK (0x10U)
  32069. #define PWM_FRCTRL_FRAC45_EN_SHIFT (4U)
  32070. /*! FRAC45_EN - Fractional Cycle Placement Enable for PWM_B
  32071. * 0b0..Disable fractional cycle placement for PWM_B.
  32072. * 0b1..Enable fractional cycle placement for PWM_B.
  32073. */
  32074. #define PWM_FRCTRL_FRAC45_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRCTRL_FRAC45_EN_SHIFT)) & PWM_FRCTRL_FRAC45_EN_MASK)
  32075. #define PWM_FRCTRL_FRAC_PU_MASK (0x100U)
  32076. #define PWM_FRCTRL_FRAC_PU_SHIFT (8U)
  32077. /*! FRAC_PU - Fractional Delay Circuit Power Up
  32078. * 0b0..Turn off fractional delay logic.
  32079. * 0b1..Power up fractional delay logic.
  32080. */
  32081. #define PWM_FRCTRL_FRAC_PU(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRCTRL_FRAC_PU_SHIFT)) & PWM_FRCTRL_FRAC_PU_MASK)
  32082. #define PWM_FRCTRL_TEST_MASK (0x8000U)
  32083. #define PWM_FRCTRL_TEST_SHIFT (15U)
  32084. /*! TEST - Test Status Bit
  32085. */
  32086. #define PWM_FRCTRL_TEST(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRCTRL_TEST_SHIFT)) & PWM_FRCTRL_TEST_MASK)
  32087. /*! @} */
  32088. /* The count of PWM_FRCTRL */
  32089. #define PWM_FRCTRL_COUNT (4U)
  32090. /*! @name OCTRL - Output Control Register */
  32091. /*! @{ */
  32092. #define PWM_OCTRL_PWMXFS_MASK (0x3U)
  32093. #define PWM_OCTRL_PWMXFS_SHIFT (0U)
  32094. /*! PWMXFS - PWM_X Fault State
  32095. * 0b00..Output is forced to logic 0 state prior to consideration of output polarity control.
  32096. * 0b01..Output is forced to logic 1 state prior to consideration of output polarity control.
  32097. * 0b10..Output is tristated.
  32098. * 0b11..Output is tristated.
  32099. */
  32100. #define PWM_OCTRL_PWMXFS(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMXFS_SHIFT)) & PWM_OCTRL_PWMXFS_MASK)
  32101. #define PWM_OCTRL_PWMBFS_MASK (0xCU)
  32102. #define PWM_OCTRL_PWMBFS_SHIFT (2U)
  32103. /*! PWMBFS - PWM_B Fault State
  32104. * 0b00..Output is forced to logic 0 state prior to consideration of output polarity control.
  32105. * 0b01..Output is forced to logic 1 state prior to consideration of output polarity control.
  32106. * 0b10..Output is tristated.
  32107. * 0b11..Output is tristated.
  32108. */
  32109. #define PWM_OCTRL_PWMBFS(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMBFS_SHIFT)) & PWM_OCTRL_PWMBFS_MASK)
  32110. #define PWM_OCTRL_PWMAFS_MASK (0x30U)
  32111. #define PWM_OCTRL_PWMAFS_SHIFT (4U)
  32112. /*! PWMAFS - PWM_A Fault State
  32113. * 0b00..Output is forced to logic 0 state prior to consideration of output polarity control.
  32114. * 0b01..Output is forced to logic 1 state prior to consideration of output polarity control.
  32115. * 0b10..Output is tristated.
  32116. * 0b11..Output is tristated.
  32117. */
  32118. #define PWM_OCTRL_PWMAFS(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMAFS_SHIFT)) & PWM_OCTRL_PWMAFS_MASK)
  32119. #define PWM_OCTRL_POLX_MASK (0x100U)
  32120. #define PWM_OCTRL_POLX_SHIFT (8U)
  32121. /*! POLX - PWM_X Output Polarity
  32122. * 0b0..PWM_X output not inverted. A high level on the PWM_X pin represents the "on" or "active" state.
  32123. * 0b1..PWM_X output inverted. A low level on the PWM_X pin represents the "on" or "active" state.
  32124. */
  32125. #define PWM_OCTRL_POLX(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_POLX_SHIFT)) & PWM_OCTRL_POLX_MASK)
  32126. #define PWM_OCTRL_POLB_MASK (0x200U)
  32127. #define PWM_OCTRL_POLB_SHIFT (9U)
  32128. /*! POLB - PWM_B Output Polarity
  32129. * 0b0..PWM_B output not inverted. A high level on the PWM_B pin represents the "on" or "active" state.
  32130. * 0b1..PWM_B output inverted. A low level on the PWM_B pin represents the "on" or "active" state.
  32131. */
  32132. #define PWM_OCTRL_POLB(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_POLB_SHIFT)) & PWM_OCTRL_POLB_MASK)
  32133. #define PWM_OCTRL_POLA_MASK (0x400U)
  32134. #define PWM_OCTRL_POLA_SHIFT (10U)
  32135. /*! POLA - PWM_A Output Polarity
  32136. * 0b0..PWM_A output not inverted. A high level on the PWM_A pin represents the "on" or "active" state.
  32137. * 0b1..PWM_A output inverted. A low level on the PWM_A pin represents the "on" or "active" state.
  32138. */
  32139. #define PWM_OCTRL_POLA(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_POLA_SHIFT)) & PWM_OCTRL_POLA_MASK)
  32140. #define PWM_OCTRL_PWMX_IN_MASK (0x2000U)
  32141. #define PWM_OCTRL_PWMX_IN_SHIFT (13U)
  32142. /*! PWMX_IN - PWM_X Input
  32143. */
  32144. #define PWM_OCTRL_PWMX_IN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMX_IN_SHIFT)) & PWM_OCTRL_PWMX_IN_MASK)
  32145. #define PWM_OCTRL_PWMB_IN_MASK (0x4000U)
  32146. #define PWM_OCTRL_PWMB_IN_SHIFT (14U)
  32147. /*! PWMB_IN - PWM_B Input
  32148. */
  32149. #define PWM_OCTRL_PWMB_IN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMB_IN_SHIFT)) & PWM_OCTRL_PWMB_IN_MASK)
  32150. #define PWM_OCTRL_PWMA_IN_MASK (0x8000U)
  32151. #define PWM_OCTRL_PWMA_IN_SHIFT (15U)
  32152. /*! PWMA_IN - PWM_A Input
  32153. */
  32154. #define PWM_OCTRL_PWMA_IN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMA_IN_SHIFT)) & PWM_OCTRL_PWMA_IN_MASK)
  32155. /*! @} */
  32156. /* The count of PWM_OCTRL */
  32157. #define PWM_OCTRL_COUNT (4U)
  32158. /*! @name STS - Status Register */
  32159. /*! @{ */
  32160. #define PWM_STS_CMPF_MASK (0x3FU)
  32161. #define PWM_STS_CMPF_SHIFT (0U)
  32162. /*! CMPF - Compare Flags
  32163. * 0b000000..No compare event has occurred for a particular VALx value.
  32164. * 0b000001..A compare event has occurred for a particular VALx value.
  32165. */
  32166. #define PWM_STS_CMPF(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CMPF_SHIFT)) & PWM_STS_CMPF_MASK)
  32167. #define PWM_STS_CFX0_MASK (0x40U)
  32168. #define PWM_STS_CFX0_SHIFT (6U)
  32169. /*! CFX0 - Capture Flag X0
  32170. */
  32171. #define PWM_STS_CFX0(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFX0_SHIFT)) & PWM_STS_CFX0_MASK)
  32172. #define PWM_STS_CFX1_MASK (0x80U)
  32173. #define PWM_STS_CFX1_SHIFT (7U)
  32174. /*! CFX1 - Capture Flag X1
  32175. */
  32176. #define PWM_STS_CFX1(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFX1_SHIFT)) & PWM_STS_CFX1_MASK)
  32177. #define PWM_STS_CFB0_MASK (0x100U)
  32178. #define PWM_STS_CFB0_SHIFT (8U)
  32179. /*! CFB0 - Capture Flag B0
  32180. */
  32181. #define PWM_STS_CFB0(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFB0_SHIFT)) & PWM_STS_CFB0_MASK)
  32182. #define PWM_STS_CFB1_MASK (0x200U)
  32183. #define PWM_STS_CFB1_SHIFT (9U)
  32184. /*! CFB1 - Capture Flag B1
  32185. */
  32186. #define PWM_STS_CFB1(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFB1_SHIFT)) & PWM_STS_CFB1_MASK)
  32187. #define PWM_STS_CFA0_MASK (0x400U)
  32188. #define PWM_STS_CFA0_SHIFT (10U)
  32189. /*! CFA0 - Capture Flag A0
  32190. */
  32191. #define PWM_STS_CFA0(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFA0_SHIFT)) & PWM_STS_CFA0_MASK)
  32192. #define PWM_STS_CFA1_MASK (0x800U)
  32193. #define PWM_STS_CFA1_SHIFT (11U)
  32194. /*! CFA1 - Capture Flag A1
  32195. */
  32196. #define PWM_STS_CFA1(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFA1_SHIFT)) & PWM_STS_CFA1_MASK)
  32197. #define PWM_STS_RF_MASK (0x1000U)
  32198. #define PWM_STS_RF_SHIFT (12U)
  32199. /*! RF - Reload Flag
  32200. * 0b0..No new reload cycle since last STS[RF] clearing
  32201. * 0b1..New reload cycle since last STS[RF] clearing
  32202. */
  32203. #define PWM_STS_RF(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_RF_SHIFT)) & PWM_STS_RF_MASK)
  32204. #define PWM_STS_REF_MASK (0x2000U)
  32205. #define PWM_STS_REF_SHIFT (13U)
  32206. /*! REF - Reload Error Flag
  32207. * 0b0..No reload error occurred.
  32208. * 0b1..Reload signal occurred with non-coherent data and MCTRL[LDOK] = 0.
  32209. */
  32210. #define PWM_STS_REF(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_REF_SHIFT)) & PWM_STS_REF_MASK)
  32211. #define PWM_STS_RUF_MASK (0x4000U)
  32212. #define PWM_STS_RUF_SHIFT (14U)
  32213. /*! RUF - Registers Updated Flag
  32214. * 0b0..No register update has occurred since last reload.
  32215. * 0b1..At least one of the double buffered registers has been updated since the last reload.
  32216. */
  32217. #define PWM_STS_RUF(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_RUF_SHIFT)) & PWM_STS_RUF_MASK)
  32218. /*! @} */
  32219. /* The count of PWM_STS */
  32220. #define PWM_STS_COUNT (4U)
  32221. /*! @name INTEN - Interrupt Enable Register */
  32222. /*! @{ */
  32223. #define PWM_INTEN_CMPIE_MASK (0x3FU)
  32224. #define PWM_INTEN_CMPIE_SHIFT (0U)
  32225. /*! CMPIE - Compare Interrupt Enables
  32226. * 0b000000..The corresponding STS[CMPF] bit will not cause an interrupt request.
  32227. * 0b000001..The corresponding STS[CMPF] bit will cause an interrupt request.
  32228. */
  32229. #define PWM_INTEN_CMPIE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CMPIE_SHIFT)) & PWM_INTEN_CMPIE_MASK)
  32230. #define PWM_INTEN_CX0IE_MASK (0x40U)
  32231. #define PWM_INTEN_CX0IE_SHIFT (6U)
  32232. /*! CX0IE - Capture X 0 Interrupt Enable
  32233. * 0b0..Interrupt request disabled for STS[CFX0].
  32234. * 0b1..Interrupt request enabled for STS[CFX0].
  32235. */
  32236. #define PWM_INTEN_CX0IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CX0IE_SHIFT)) & PWM_INTEN_CX0IE_MASK)
  32237. #define PWM_INTEN_CX1IE_MASK (0x80U)
  32238. #define PWM_INTEN_CX1IE_SHIFT (7U)
  32239. /*! CX1IE - Capture X 1 Interrupt Enable
  32240. * 0b0..Interrupt request disabled for STS[CFX1].
  32241. * 0b1..Interrupt request enabled for STS[CFX1].
  32242. */
  32243. #define PWM_INTEN_CX1IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CX1IE_SHIFT)) & PWM_INTEN_CX1IE_MASK)
  32244. #define PWM_INTEN_CB0IE_MASK (0x100U)
  32245. #define PWM_INTEN_CB0IE_SHIFT (8U)
  32246. /*! CB0IE - Capture B 0 Interrupt Enable
  32247. * 0b0..Interrupt request disabled for STS[CFB0].
  32248. * 0b1..Interrupt request enabled for STS[CFB0].
  32249. */
  32250. #define PWM_INTEN_CB0IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CB0IE_SHIFT)) & PWM_INTEN_CB0IE_MASK)
  32251. #define PWM_INTEN_CB1IE_MASK (0x200U)
  32252. #define PWM_INTEN_CB1IE_SHIFT (9U)
  32253. /*! CB1IE - Capture B 1 Interrupt Enable
  32254. * 0b0..Interrupt request disabled for STS[CFB1].
  32255. * 0b1..Interrupt request enabled for STS[CFB1].
  32256. */
  32257. #define PWM_INTEN_CB1IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CB1IE_SHIFT)) & PWM_INTEN_CB1IE_MASK)
  32258. #define PWM_INTEN_CA0IE_MASK (0x400U)
  32259. #define PWM_INTEN_CA0IE_SHIFT (10U)
  32260. /*! CA0IE - Capture A 0 Interrupt Enable
  32261. * 0b0..Interrupt request disabled for STS[CFA0].
  32262. * 0b1..Interrupt request enabled for STS[CFA0].
  32263. */
  32264. #define PWM_INTEN_CA0IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CA0IE_SHIFT)) & PWM_INTEN_CA0IE_MASK)
  32265. #define PWM_INTEN_CA1IE_MASK (0x800U)
  32266. #define PWM_INTEN_CA1IE_SHIFT (11U)
  32267. /*! CA1IE - Capture A 1 Interrupt Enable
  32268. * 0b0..Interrupt request disabled for STS[CFA1].
  32269. * 0b1..Interrupt request enabled for STS[CFA1].
  32270. */
  32271. #define PWM_INTEN_CA1IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CA1IE_SHIFT)) & PWM_INTEN_CA1IE_MASK)
  32272. #define PWM_INTEN_RIE_MASK (0x1000U)
  32273. #define PWM_INTEN_RIE_SHIFT (12U)
  32274. /*! RIE - Reload Interrupt Enable
  32275. * 0b0..STS[RF] CPU interrupt requests disabled
  32276. * 0b1..STS[RF] CPU interrupt requests enabled
  32277. */
  32278. #define PWM_INTEN_RIE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_RIE_SHIFT)) & PWM_INTEN_RIE_MASK)
  32279. #define PWM_INTEN_REIE_MASK (0x2000U)
  32280. #define PWM_INTEN_REIE_SHIFT (13U)
  32281. /*! REIE - Reload Error Interrupt Enable
  32282. * 0b0..STS[REF] CPU interrupt requests disabled
  32283. * 0b1..STS[REF] CPU interrupt requests enabled
  32284. */
  32285. #define PWM_INTEN_REIE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_REIE_SHIFT)) & PWM_INTEN_REIE_MASK)
  32286. /*! @} */
  32287. /* The count of PWM_INTEN */
  32288. #define PWM_INTEN_COUNT (4U)
  32289. /*! @name DMAEN - DMA Enable Register */
  32290. /*! @{ */
  32291. #define PWM_DMAEN_CX0DE_MASK (0x1U)
  32292. #define PWM_DMAEN_CX0DE_SHIFT (0U)
  32293. /*! CX0DE - Capture X0 FIFO DMA Enable
  32294. */
  32295. #define PWM_DMAEN_CX0DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CX0DE_SHIFT)) & PWM_DMAEN_CX0DE_MASK)
  32296. #define PWM_DMAEN_CX1DE_MASK (0x2U)
  32297. #define PWM_DMAEN_CX1DE_SHIFT (1U)
  32298. /*! CX1DE - Capture X1 FIFO DMA Enable
  32299. */
  32300. #define PWM_DMAEN_CX1DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CX1DE_SHIFT)) & PWM_DMAEN_CX1DE_MASK)
  32301. #define PWM_DMAEN_CB0DE_MASK (0x4U)
  32302. #define PWM_DMAEN_CB0DE_SHIFT (2U)
  32303. /*! CB0DE - Capture B0 FIFO DMA Enable
  32304. */
  32305. #define PWM_DMAEN_CB0DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CB0DE_SHIFT)) & PWM_DMAEN_CB0DE_MASK)
  32306. #define PWM_DMAEN_CB1DE_MASK (0x8U)
  32307. #define PWM_DMAEN_CB1DE_SHIFT (3U)
  32308. /*! CB1DE - Capture B1 FIFO DMA Enable
  32309. */
  32310. #define PWM_DMAEN_CB1DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CB1DE_SHIFT)) & PWM_DMAEN_CB1DE_MASK)
  32311. #define PWM_DMAEN_CA0DE_MASK (0x10U)
  32312. #define PWM_DMAEN_CA0DE_SHIFT (4U)
  32313. /*! CA0DE - Capture A0 FIFO DMA Enable
  32314. */
  32315. #define PWM_DMAEN_CA0DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CA0DE_SHIFT)) & PWM_DMAEN_CA0DE_MASK)
  32316. #define PWM_DMAEN_CA1DE_MASK (0x20U)
  32317. #define PWM_DMAEN_CA1DE_SHIFT (5U)
  32318. /*! CA1DE - Capture A1 FIFO DMA Enable
  32319. */
  32320. #define PWM_DMAEN_CA1DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CA1DE_SHIFT)) & PWM_DMAEN_CA1DE_MASK)
  32321. #define PWM_DMAEN_CAPTDE_MASK (0xC0U)
  32322. #define PWM_DMAEN_CAPTDE_SHIFT (6U)
  32323. /*! CAPTDE - Capture DMA Enable Source Select
  32324. * 0b00..Read DMA requests disabled.
  32325. * 0b01..Exceeding a FIFO watermark sets the DMA read request. This requires at least one of DMAEN[CA1DE],
  32326. * DMAEN[CA0DE], DMAEN[CB1DE], DMAEN[CB0DE], DMAEN[CX1DE], or DMAEN[CX0DE] to also be set in order to determine to
  32327. * which watermark(s) the DMA request is sensitive.
  32328. * 0b10..A local sync (VAL1 matches counter) sets the read DMA request.
  32329. * 0b11..A local reload (STS[RF] being set) sets the read DMA request.
  32330. */
  32331. #define PWM_DMAEN_CAPTDE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CAPTDE_SHIFT)) & PWM_DMAEN_CAPTDE_MASK)
  32332. #define PWM_DMAEN_FAND_MASK (0x100U)
  32333. #define PWM_DMAEN_FAND_SHIFT (8U)
  32334. /*! FAND - FIFO Watermark AND Control
  32335. * 0b0..Selected FIFO watermarks are OR'ed together.
  32336. * 0b1..Selected FIFO watermarks are AND'ed together.
  32337. */
  32338. #define PWM_DMAEN_FAND(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_FAND_SHIFT)) & PWM_DMAEN_FAND_MASK)
  32339. #define PWM_DMAEN_VALDE_MASK (0x200U)
  32340. #define PWM_DMAEN_VALDE_SHIFT (9U)
  32341. /*! VALDE - Value Registers DMA Enable
  32342. * 0b0..DMA write requests disabled
  32343. * 0b1..DMA write requests for the VALx and FRACVALx registers enabled
  32344. */
  32345. #define PWM_DMAEN_VALDE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_VALDE_SHIFT)) & PWM_DMAEN_VALDE_MASK)
  32346. /*! @} */
  32347. /* The count of PWM_DMAEN */
  32348. #define PWM_DMAEN_COUNT (4U)
  32349. /*! @name TCTRL - Output Trigger Control Register */
  32350. /*! @{ */
  32351. #define PWM_TCTRL_OUT_TRIG_EN_MASK (0x3FU)
  32352. #define PWM_TCTRL_OUT_TRIG_EN_SHIFT (0U)
  32353. /*! OUT_TRIG_EN - Output Trigger Enables
  32354. * 0b000000..PWM_OUT_TRIGx will not set when the counter value matches the VALx value.
  32355. * 0b000001..PWM_OUT_TRIGx will set when the counter value matches the VALx value.
  32356. */
  32357. #define PWM_TCTRL_OUT_TRIG_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_TCTRL_OUT_TRIG_EN_SHIFT)) & PWM_TCTRL_OUT_TRIG_EN_MASK)
  32358. #define PWM_TCTRL_TRGFRQ_MASK (0x1000U)
  32359. #define PWM_TCTRL_TRGFRQ_SHIFT (12U)
  32360. /*! TRGFRQ - Trigger frequency
  32361. * 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.
  32362. * 0b1..Trigger outputs are generated only during the final PWM period prior to a reload opportunity when the PWM
  32363. * is not reloaded every period due to CTRL[LDFQ] being non-zero.
  32364. */
  32365. #define PWM_TCTRL_TRGFRQ(x) (((uint16_t)(((uint16_t)(x)) << PWM_TCTRL_TRGFRQ_SHIFT)) & PWM_TCTRL_TRGFRQ_MASK)
  32366. #define PWM_TCTRL_PWBOT1_MASK (0x4000U)
  32367. #define PWM_TCTRL_PWBOT1_SHIFT (14U)
  32368. /*! PWBOT1 - Output Trigger 1 Source Select
  32369. * 0b0..Route the PWM_OUT_TRIG1 signal to PWM_OUT_TRIG1 port.
  32370. * 0b1..Route the PWMB output to the PWM_OUT_TRIG1 port.
  32371. */
  32372. #define PWM_TCTRL_PWBOT1(x) (((uint16_t)(((uint16_t)(x)) << PWM_TCTRL_PWBOT1_SHIFT)) & PWM_TCTRL_PWBOT1_MASK)
  32373. #define PWM_TCTRL_PWAOT0_MASK (0x8000U)
  32374. #define PWM_TCTRL_PWAOT0_SHIFT (15U)
  32375. /*! PWAOT0 - Output Trigger 0 Source Select
  32376. * 0b0..Route the PWM_OUT_TRIG0 signal to PWM_OUT_TRIG0 port.
  32377. * 0b1..Route the PWMA output to the PWM_OUT_TRIG0 port.
  32378. */
  32379. #define PWM_TCTRL_PWAOT0(x) (((uint16_t)(((uint16_t)(x)) << PWM_TCTRL_PWAOT0_SHIFT)) & PWM_TCTRL_PWAOT0_MASK)
  32380. /*! @} */
  32381. /* The count of PWM_TCTRL */
  32382. #define PWM_TCTRL_COUNT (4U)
  32383. /*! @name DISMAP - Fault Disable Mapping Register 0..Fault Disable Mapping Register 1 */
  32384. /*! @{ */
  32385. #define PWM_DISMAP_DIS0A_MASK (0xFU)
  32386. #define PWM_DISMAP_DIS0A_SHIFT (0U)
  32387. /*! DIS0A - PWM_A Fault Disable Mask 0
  32388. */
  32389. #define PWM_DISMAP_DIS0A(x) (((uint16_t)(((uint16_t)(x)) << PWM_DISMAP_DIS0A_SHIFT)) & PWM_DISMAP_DIS0A_MASK)
  32390. #define PWM_DISMAP_DIS1A_MASK (0xFU)
  32391. #define PWM_DISMAP_DIS1A_SHIFT (0U)
  32392. /*! DIS1A - PWM_A Fault Disable Mask 1
  32393. */
  32394. #define PWM_DISMAP_DIS1A(x) (((uint16_t)(((uint16_t)(x)) << PWM_DISMAP_DIS1A_SHIFT)) & PWM_DISMAP_DIS1A_MASK)
  32395. #define PWM_DISMAP_DIS0B_MASK (0xF0U)
  32396. #define PWM_DISMAP_DIS0B_SHIFT (4U)
  32397. /*! DIS0B - PWM_B Fault Disable Mask 0
  32398. */
  32399. #define PWM_DISMAP_DIS0B(x) (((uint16_t)(((uint16_t)(x)) << PWM_DISMAP_DIS0B_SHIFT)) & PWM_DISMAP_DIS0B_MASK)
  32400. #define PWM_DISMAP_DIS1B_MASK (0xF0U)
  32401. #define PWM_DISMAP_DIS1B_SHIFT (4U)
  32402. /*! DIS1B - PWM_B Fault Disable Mask 1
  32403. */
  32404. #define PWM_DISMAP_DIS1B(x) (((uint16_t)(((uint16_t)(x)) << PWM_DISMAP_DIS1B_SHIFT)) & PWM_DISMAP_DIS1B_MASK)
  32405. #define PWM_DISMAP_DIS0X_MASK (0xF00U)
  32406. #define PWM_DISMAP_DIS0X_SHIFT (8U)
  32407. /*! DIS0X - PWM_X Fault Disable Mask 0
  32408. */
  32409. #define PWM_DISMAP_DIS0X(x) (((uint16_t)(((uint16_t)(x)) << PWM_DISMAP_DIS0X_SHIFT)) & PWM_DISMAP_DIS0X_MASK)
  32410. #define PWM_DISMAP_DIS1X_MASK (0xF00U)
  32411. #define PWM_DISMAP_DIS1X_SHIFT (8U)
  32412. /*! DIS1X - PWM_X Fault Disable Mask 1
  32413. */
  32414. #define PWM_DISMAP_DIS1X(x) (((uint16_t)(((uint16_t)(x)) << PWM_DISMAP_DIS1X_SHIFT)) & PWM_DISMAP_DIS1X_MASK)
  32415. /*! @} */
  32416. /* The count of PWM_DISMAP */
  32417. #define PWM_DISMAP_COUNT (4U)
  32418. /* The count of PWM_DISMAP */
  32419. #define PWM_DISMAP_COUNT2 (2U)
  32420. /*! @name DTCNT0 - Deadtime Count Register 0 */
  32421. /*! @{ */
  32422. #define PWM_DTCNT0_DTCNT0_MASK (0xFFFFU)
  32423. #define PWM_DTCNT0_DTCNT0_SHIFT (0U)
  32424. /*! DTCNT0 - DTCNT0
  32425. */
  32426. #define PWM_DTCNT0_DTCNT0(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTCNT0_DTCNT0_SHIFT)) & PWM_DTCNT0_DTCNT0_MASK)
  32427. /*! @} */
  32428. /* The count of PWM_DTCNT0 */
  32429. #define PWM_DTCNT0_COUNT (4U)
  32430. /*! @name DTCNT1 - Deadtime Count Register 1 */
  32431. /*! @{ */
  32432. #define PWM_DTCNT1_DTCNT1_MASK (0xFFFFU)
  32433. #define PWM_DTCNT1_DTCNT1_SHIFT (0U)
  32434. /*! DTCNT1 - DTCNT1
  32435. */
  32436. #define PWM_DTCNT1_DTCNT1(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTCNT1_DTCNT1_SHIFT)) & PWM_DTCNT1_DTCNT1_MASK)
  32437. /*! @} */
  32438. /* The count of PWM_DTCNT1 */
  32439. #define PWM_DTCNT1_COUNT (4U)
  32440. /*! @name CAPTCTRLA - Capture Control A Register */
  32441. /*! @{ */
  32442. #define PWM_CAPTCTRLA_ARMA_MASK (0x1U)
  32443. #define PWM_CAPTCTRLA_ARMA_SHIFT (0U)
  32444. /*! ARMA - Arm A
  32445. * 0b0..Input capture operation is disabled.
  32446. * 0b1..Input capture operation as specified by CAPTCTRLA[EDGAx] is enabled.
  32447. */
  32448. #define PWM_CAPTCTRLA_ARMA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_ARMA_SHIFT)) & PWM_CAPTCTRLA_ARMA_MASK)
  32449. #define PWM_CAPTCTRLA_ONESHOTA_MASK (0x2U)
  32450. #define PWM_CAPTCTRLA_ONESHOTA_SHIFT (1U)
  32451. /*! ONESHOTA - One Shot Mode A
  32452. * 0b0..Free running mode is selected. If both capture circuits are enabled, then capture circuit 0 is armed
  32453. * first after CAPTCTRLA[ARMA] is set. Once a capture occurs, capture circuit 0 is disarmed and capture circuit 1
  32454. * is armed. After capture circuit 1 performs a capture, it is disarmed and capture circuit 0 is re-armed.
  32455. * The process continues indefinitely.If only one of the capture circuits is enabled, then captures continue
  32456. * indefinitely on the enabled capture circuit.
  32457. * 0b1..One shot mode is selected. If both capture circuits are enabled, then capture circuit 0 is armed first
  32458. * after CAPTCTRLA[ARMA] is set. Once a capture occurs, capture circuit 0 is disarmed and capture circuit 1 is
  32459. * armed. After capture circuit 1 performs a capture, it is disarmed and CAPTCTRLA[ARMA] is cleared. No
  32460. * further captures will be performed until CAPTCTRLA[ARMA] is set again.If only one of the capture circuits is
  32461. * enabled, then a single capture will occur on the enabled capture circuit and CAPTCTRLA[ARMA] is then cleared.
  32462. */
  32463. #define PWM_CAPTCTRLA_ONESHOTA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_ONESHOTA_SHIFT)) & PWM_CAPTCTRLA_ONESHOTA_MASK)
  32464. #define PWM_CAPTCTRLA_EDGA0_MASK (0xCU)
  32465. #define PWM_CAPTCTRLA_EDGA0_SHIFT (2U)
  32466. /*! EDGA0 - Edge A 0
  32467. * 0b00..Disabled
  32468. * 0b01..Capture falling edges
  32469. * 0b10..Capture rising edges
  32470. * 0b11..Capture any edge
  32471. */
  32472. #define PWM_CAPTCTRLA_EDGA0(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_EDGA0_SHIFT)) & PWM_CAPTCTRLA_EDGA0_MASK)
  32473. #define PWM_CAPTCTRLA_EDGA1_MASK (0x30U)
  32474. #define PWM_CAPTCTRLA_EDGA1_SHIFT (4U)
  32475. /*! EDGA1 - Edge A 1
  32476. * 0b00..Disabled
  32477. * 0b01..Capture falling edges
  32478. * 0b10..Capture rising edges
  32479. * 0b11..Capture any edge
  32480. */
  32481. #define PWM_CAPTCTRLA_EDGA1(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_EDGA1_SHIFT)) & PWM_CAPTCTRLA_EDGA1_MASK)
  32482. #define PWM_CAPTCTRLA_INP_SELA_MASK (0x40U)
  32483. #define PWM_CAPTCTRLA_INP_SELA_SHIFT (6U)
  32484. /*! INP_SELA - Input Select A
  32485. * 0b0..Raw PWM_A input signal selected as source.
  32486. * 0b1..Output of edge counter/compare selected as source. Note that when this bitfield is set to 1, the internal
  32487. * edge counter is enabled and the rising and/or falling edges specified by the CAPTCTRLA[EDGA0] and
  32488. * CAPTCTRLA[EDGA1] fields are ignored. The software must still place a value other than 00 in either or both of the
  32489. * CAPTCTLRA[EDGA0] and/or CAPTCTRLA[EDGA1] fields in order to enable one or both of the capture registers.
  32490. */
  32491. #define PWM_CAPTCTRLA_INP_SELA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_INP_SELA_SHIFT)) & PWM_CAPTCTRLA_INP_SELA_MASK)
  32492. #define PWM_CAPTCTRLA_EDGCNTA_EN_MASK (0x80U)
  32493. #define PWM_CAPTCTRLA_EDGCNTA_EN_SHIFT (7U)
  32494. /*! EDGCNTA_EN - Edge Counter A Enable
  32495. * 0b0..Edge counter disabled and held in reset
  32496. * 0b1..Edge counter enabled
  32497. */
  32498. #define PWM_CAPTCTRLA_EDGCNTA_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_EDGCNTA_EN_SHIFT)) & PWM_CAPTCTRLA_EDGCNTA_EN_MASK)
  32499. #define PWM_CAPTCTRLA_CFAWM_MASK (0x300U)
  32500. #define PWM_CAPTCTRLA_CFAWM_SHIFT (8U)
  32501. /*! CFAWM - Capture A FIFOs Water Mark
  32502. */
  32503. #define PWM_CAPTCTRLA_CFAWM(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_CFAWM_SHIFT)) & PWM_CAPTCTRLA_CFAWM_MASK)
  32504. #define PWM_CAPTCTRLA_CA0CNT_MASK (0x1C00U)
  32505. #define PWM_CAPTCTRLA_CA0CNT_SHIFT (10U)
  32506. /*! CA0CNT - Capture A0 FIFO Word Count
  32507. */
  32508. #define PWM_CAPTCTRLA_CA0CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_CA0CNT_SHIFT)) & PWM_CAPTCTRLA_CA0CNT_MASK)
  32509. #define PWM_CAPTCTRLA_CA1CNT_MASK (0xE000U)
  32510. #define PWM_CAPTCTRLA_CA1CNT_SHIFT (13U)
  32511. /*! CA1CNT - Capture A1 FIFO Word Count
  32512. */
  32513. #define PWM_CAPTCTRLA_CA1CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_CA1CNT_SHIFT)) & PWM_CAPTCTRLA_CA1CNT_MASK)
  32514. /*! @} */
  32515. /* The count of PWM_CAPTCTRLA */
  32516. #define PWM_CAPTCTRLA_COUNT (4U)
  32517. /*! @name CAPTCOMPA - Capture Compare A Register */
  32518. /*! @{ */
  32519. #define PWM_CAPTCOMPA_EDGCMPA_MASK (0xFFU)
  32520. #define PWM_CAPTCOMPA_EDGCMPA_SHIFT (0U)
  32521. /*! EDGCMPA - Edge Compare A
  32522. */
  32523. #define PWM_CAPTCOMPA_EDGCMPA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPA_EDGCMPA_SHIFT)) & PWM_CAPTCOMPA_EDGCMPA_MASK)
  32524. #define PWM_CAPTCOMPA_EDGCNTA_MASK (0xFF00U)
  32525. #define PWM_CAPTCOMPA_EDGCNTA_SHIFT (8U)
  32526. /*! EDGCNTA - Edge Counter A
  32527. */
  32528. #define PWM_CAPTCOMPA_EDGCNTA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPA_EDGCNTA_SHIFT)) & PWM_CAPTCOMPA_EDGCNTA_MASK)
  32529. /*! @} */
  32530. /* The count of PWM_CAPTCOMPA */
  32531. #define PWM_CAPTCOMPA_COUNT (4U)
  32532. /*! @name CAPTCTRLB - Capture Control B Register */
  32533. /*! @{ */
  32534. #define PWM_CAPTCTRLB_ARMB_MASK (0x1U)
  32535. #define PWM_CAPTCTRLB_ARMB_SHIFT (0U)
  32536. /*! ARMB - Arm B
  32537. * 0b0..Input capture operation is disabled.
  32538. * 0b1..Input capture operation as specified by CAPTCTRLB[EDGBx] is enabled.
  32539. */
  32540. #define PWM_CAPTCTRLB_ARMB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_ARMB_SHIFT)) & PWM_CAPTCTRLB_ARMB_MASK)
  32541. #define PWM_CAPTCTRLB_ONESHOTB_MASK (0x2U)
  32542. #define PWM_CAPTCTRLB_ONESHOTB_SHIFT (1U)
  32543. /*! ONESHOTB - One Shot Mode B
  32544. * 0b0..Free running mode is selected. If both capture circuits are enabled, then capture circuit 0 is armed
  32545. * first after CAPTCTRLB[ARMB] is set. Once a capture occurs, capture circuit 0 is disarmed and capture circuit 1
  32546. * is armed. After capture circuit 1 performs a capture, it is disarmed and capture circuit 0 is re-armed.
  32547. * The process continues indefinitely.If only one of the capture circuits is enabled, then captures continue
  32548. * indefinitely on the enabled capture circuit.
  32549. * 0b1..One shot mode is selected. If both capture circuits are enabled, then capture circuit 0 is armed first
  32550. * after CAPTCTRLB[ARMB] is set. Once a capture occurs, capture circuit 0 is disarmed and capture circuit 1 is
  32551. * armed. After capture circuit 1 performs a capture, it is disarmed and CAPTCTRLB[ARMB] is cleared. No
  32552. * further captures will be performed until CAPTCTRLB[ARMB] is set again.If only one of the capture circuits is
  32553. * enabled, then a single capture will occur on the enabled capture circuit and CAPTCTRLB[ARMB] is then cleared.
  32554. */
  32555. #define PWM_CAPTCTRLB_ONESHOTB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_ONESHOTB_SHIFT)) & PWM_CAPTCTRLB_ONESHOTB_MASK)
  32556. #define PWM_CAPTCTRLB_EDGB0_MASK (0xCU)
  32557. #define PWM_CAPTCTRLB_EDGB0_SHIFT (2U)
  32558. /*! EDGB0 - Edge B 0
  32559. * 0b00..Disabled
  32560. * 0b01..Capture falling edges
  32561. * 0b10..Capture rising edges
  32562. * 0b11..Capture any edge
  32563. */
  32564. #define PWM_CAPTCTRLB_EDGB0(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_EDGB0_SHIFT)) & PWM_CAPTCTRLB_EDGB0_MASK)
  32565. #define PWM_CAPTCTRLB_EDGB1_MASK (0x30U)
  32566. #define PWM_CAPTCTRLB_EDGB1_SHIFT (4U)
  32567. /*! EDGB1 - Edge B 1
  32568. * 0b00..Disabled
  32569. * 0b01..Capture falling edges
  32570. * 0b10..Capture rising edges
  32571. * 0b11..Capture any edge
  32572. */
  32573. #define PWM_CAPTCTRLB_EDGB1(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_EDGB1_SHIFT)) & PWM_CAPTCTRLB_EDGB1_MASK)
  32574. #define PWM_CAPTCTRLB_INP_SELB_MASK (0x40U)
  32575. #define PWM_CAPTCTRLB_INP_SELB_SHIFT (6U)
  32576. /*! INP_SELB - Input Select B
  32577. * 0b0..Raw PWM_B input signal selected as source.
  32578. * 0b1..Output of edge counter/compare selected as source. Note that when this bitfield is set to 1, the internal
  32579. * edge counter is enabled and the rising and/or falling edges specified by the CAPTCTRLB[EDGB0] and
  32580. * CAPTCTRLB[EDGB1] fields are ignored. The software must still place a value other than 00 in either or both of the
  32581. * CAPTCTLRB[EDGB0] and/or CAPTCTRLB[EDGB1] fields in order to enable one or both of the capture registers.
  32582. */
  32583. #define PWM_CAPTCTRLB_INP_SELB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_INP_SELB_SHIFT)) & PWM_CAPTCTRLB_INP_SELB_MASK)
  32584. #define PWM_CAPTCTRLB_EDGCNTB_EN_MASK (0x80U)
  32585. #define PWM_CAPTCTRLB_EDGCNTB_EN_SHIFT (7U)
  32586. /*! EDGCNTB_EN - Edge Counter B Enable
  32587. * 0b0..Edge counter disabled and held in reset
  32588. * 0b1..Edge counter enabled
  32589. */
  32590. #define PWM_CAPTCTRLB_EDGCNTB_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_EDGCNTB_EN_SHIFT)) & PWM_CAPTCTRLB_EDGCNTB_EN_MASK)
  32591. #define PWM_CAPTCTRLB_CFBWM_MASK (0x300U)
  32592. #define PWM_CAPTCTRLB_CFBWM_SHIFT (8U)
  32593. /*! CFBWM - Capture B FIFOs Water Mark
  32594. */
  32595. #define PWM_CAPTCTRLB_CFBWM(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_CFBWM_SHIFT)) & PWM_CAPTCTRLB_CFBWM_MASK)
  32596. #define PWM_CAPTCTRLB_CB0CNT_MASK (0x1C00U)
  32597. #define PWM_CAPTCTRLB_CB0CNT_SHIFT (10U)
  32598. /*! CB0CNT - Capture B0 FIFO Word Count
  32599. */
  32600. #define PWM_CAPTCTRLB_CB0CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_CB0CNT_SHIFT)) & PWM_CAPTCTRLB_CB0CNT_MASK)
  32601. #define PWM_CAPTCTRLB_CB1CNT_MASK (0xE000U)
  32602. #define PWM_CAPTCTRLB_CB1CNT_SHIFT (13U)
  32603. /*! CB1CNT - Capture B1 FIFO Word Count
  32604. */
  32605. #define PWM_CAPTCTRLB_CB1CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_CB1CNT_SHIFT)) & PWM_CAPTCTRLB_CB1CNT_MASK)
  32606. /*! @} */
  32607. /* The count of PWM_CAPTCTRLB */
  32608. #define PWM_CAPTCTRLB_COUNT (4U)
  32609. /*! @name CAPTCOMPB - Capture Compare B Register */
  32610. /*! @{ */
  32611. #define PWM_CAPTCOMPB_EDGCMPB_MASK (0xFFU)
  32612. #define PWM_CAPTCOMPB_EDGCMPB_SHIFT (0U)
  32613. /*! EDGCMPB - Edge Compare B
  32614. */
  32615. #define PWM_CAPTCOMPB_EDGCMPB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPB_EDGCMPB_SHIFT)) & PWM_CAPTCOMPB_EDGCMPB_MASK)
  32616. #define PWM_CAPTCOMPB_EDGCNTB_MASK (0xFF00U)
  32617. #define PWM_CAPTCOMPB_EDGCNTB_SHIFT (8U)
  32618. /*! EDGCNTB - Edge Counter B
  32619. */
  32620. #define PWM_CAPTCOMPB_EDGCNTB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPB_EDGCNTB_SHIFT)) & PWM_CAPTCOMPB_EDGCNTB_MASK)
  32621. /*! @} */
  32622. /* The count of PWM_CAPTCOMPB */
  32623. #define PWM_CAPTCOMPB_COUNT (4U)
  32624. /*! @name CAPTCTRLX - Capture Control X Register */
  32625. /*! @{ */
  32626. #define PWM_CAPTCTRLX_ARMX_MASK (0x1U)
  32627. #define PWM_CAPTCTRLX_ARMX_SHIFT (0U)
  32628. /*! ARMX - Arm X
  32629. * 0b0..Input capture operation is disabled.
  32630. * 0b1..Input capture operation as specified by CAPTCTRLX[EDGXx] is enabled.
  32631. */
  32632. #define PWM_CAPTCTRLX_ARMX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_ARMX_SHIFT)) & PWM_CAPTCTRLX_ARMX_MASK)
  32633. #define PWM_CAPTCTRLX_ONESHOTX_MASK (0x2U)
  32634. #define PWM_CAPTCTRLX_ONESHOTX_SHIFT (1U)
  32635. /*! ONESHOTX - One Shot Mode Aux
  32636. * 0b0..Free running mode is selected. If both capture circuits are enabled, then capture circuit 0 is armed
  32637. * first after the ARMX bit is set. Once a capture occurs, capture circuit 0 is disarmed and capture circuit 1 is
  32638. * armed. After capture circuit 1 performs a capture, it is disarmed and capture circuit 0 is re-armed. The
  32639. * process continues indefinitely.If only one of the capture circuits is enabled, then captures continue
  32640. * indefinitely on the enabled capture circuit.
  32641. * 0b1..One shot mode is selected. If both capture circuits are enabled, then capture circuit 0 is armed first
  32642. * after the ARMX bit is set. Once a capture occurs, capture circuit 0 is disarmed and capture circuit 1 is
  32643. * armed. After capture circuit 1 performs a capture, it is disarmed and the ARMX bit is cleared. No further
  32644. * captures will be performed until the ARMX bit is set again.If only one of the capture circuits is enabled,
  32645. * then a single capture will occur on the enabled capture circuit and the ARMX bit is then cleared.
  32646. */
  32647. #define PWM_CAPTCTRLX_ONESHOTX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_ONESHOTX_SHIFT)) & PWM_CAPTCTRLX_ONESHOTX_MASK)
  32648. #define PWM_CAPTCTRLX_EDGX0_MASK (0xCU)
  32649. #define PWM_CAPTCTRLX_EDGX0_SHIFT (2U)
  32650. /*! EDGX0 - Edge X 0
  32651. * 0b00..Disabled
  32652. * 0b01..Capture falling edges
  32653. * 0b10..Capture rising edges
  32654. * 0b11..Capture any edge
  32655. */
  32656. #define PWM_CAPTCTRLX_EDGX0(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_EDGX0_SHIFT)) & PWM_CAPTCTRLX_EDGX0_MASK)
  32657. #define PWM_CAPTCTRLX_EDGX1_MASK (0x30U)
  32658. #define PWM_CAPTCTRLX_EDGX1_SHIFT (4U)
  32659. /*! EDGX1 - Edge X 1
  32660. * 0b00..Disabled
  32661. * 0b01..Capture falling edges
  32662. * 0b10..Capture rising edges
  32663. * 0b11..Capture any edge
  32664. */
  32665. #define PWM_CAPTCTRLX_EDGX1(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_EDGX1_SHIFT)) & PWM_CAPTCTRLX_EDGX1_MASK)
  32666. #define PWM_CAPTCTRLX_INP_SELX_MASK (0x40U)
  32667. #define PWM_CAPTCTRLX_INP_SELX_SHIFT (6U)
  32668. /*! INP_SELX - Input Select X
  32669. * 0b0..Raw PWM_X input signal selected as source.
  32670. * 0b1..Output of edge counter/compare selected as source. Note that when this bitfield is set to 1, the internal
  32671. * edge counter is enabled and the rising and/or falling edges specified by the CAPTCTRLX[EDGX0] and
  32672. * CAPTCTRLX[EDGX1] fields are ignored. The software must still place a value other than 00 in either or both of the
  32673. * CAPTCTLRX[EDGX0] and/or CAPTCTRLX[EDGX1] fields in order to enable one or both of the capture registers.
  32674. */
  32675. #define PWM_CAPTCTRLX_INP_SELX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_INP_SELX_SHIFT)) & PWM_CAPTCTRLX_INP_SELX_MASK)
  32676. #define PWM_CAPTCTRLX_EDGCNTX_EN_MASK (0x80U)
  32677. #define PWM_CAPTCTRLX_EDGCNTX_EN_SHIFT (7U)
  32678. /*! EDGCNTX_EN - Edge Counter X Enable
  32679. * 0b0..Edge counter disabled and held in reset
  32680. * 0b1..Edge counter enabled
  32681. */
  32682. #define PWM_CAPTCTRLX_EDGCNTX_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_EDGCNTX_EN_SHIFT)) & PWM_CAPTCTRLX_EDGCNTX_EN_MASK)
  32683. #define PWM_CAPTCTRLX_CFXWM_MASK (0x300U)
  32684. #define PWM_CAPTCTRLX_CFXWM_SHIFT (8U)
  32685. /*! CFXWM - Capture X FIFOs Water Mark
  32686. */
  32687. #define PWM_CAPTCTRLX_CFXWM(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_CFXWM_SHIFT)) & PWM_CAPTCTRLX_CFXWM_MASK)
  32688. #define PWM_CAPTCTRLX_CX0CNT_MASK (0x1C00U)
  32689. #define PWM_CAPTCTRLX_CX0CNT_SHIFT (10U)
  32690. /*! CX0CNT - Capture X0 FIFO Word Count
  32691. */
  32692. #define PWM_CAPTCTRLX_CX0CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_CX0CNT_SHIFT)) & PWM_CAPTCTRLX_CX0CNT_MASK)
  32693. #define PWM_CAPTCTRLX_CX1CNT_MASK (0xE000U)
  32694. #define PWM_CAPTCTRLX_CX1CNT_SHIFT (13U)
  32695. /*! CX1CNT - Capture X1 FIFO Word Count
  32696. */
  32697. #define PWM_CAPTCTRLX_CX1CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_CX1CNT_SHIFT)) & PWM_CAPTCTRLX_CX1CNT_MASK)
  32698. /*! @} */
  32699. /* The count of PWM_CAPTCTRLX */
  32700. #define PWM_CAPTCTRLX_COUNT (4U)
  32701. /*! @name CAPTCOMPX - Capture Compare X Register */
  32702. /*! @{ */
  32703. #define PWM_CAPTCOMPX_EDGCMPX_MASK (0xFFU)
  32704. #define PWM_CAPTCOMPX_EDGCMPX_SHIFT (0U)
  32705. /*! EDGCMPX - Edge Compare X
  32706. */
  32707. #define PWM_CAPTCOMPX_EDGCMPX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPX_EDGCMPX_SHIFT)) & PWM_CAPTCOMPX_EDGCMPX_MASK)
  32708. #define PWM_CAPTCOMPX_EDGCNTX_MASK (0xFF00U)
  32709. #define PWM_CAPTCOMPX_EDGCNTX_SHIFT (8U)
  32710. /*! EDGCNTX - Edge Counter X
  32711. */
  32712. #define PWM_CAPTCOMPX_EDGCNTX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPX_EDGCNTX_SHIFT)) & PWM_CAPTCOMPX_EDGCNTX_MASK)
  32713. /*! @} */
  32714. /* The count of PWM_CAPTCOMPX */
  32715. #define PWM_CAPTCOMPX_COUNT (4U)
  32716. /*! @name CVAL0 - Capture Value 0 Register */
  32717. /*! @{ */
  32718. #define PWM_CVAL0_CAPTVAL0_MASK (0xFFFFU)
  32719. #define PWM_CVAL0_CAPTVAL0_SHIFT (0U)
  32720. /*! CAPTVAL0 - CAPTVAL0
  32721. */
  32722. #define PWM_CVAL0_CAPTVAL0(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL0_CAPTVAL0_SHIFT)) & PWM_CVAL0_CAPTVAL0_MASK)
  32723. /*! @} */
  32724. /* The count of PWM_CVAL0 */
  32725. #define PWM_CVAL0_COUNT (4U)
  32726. /*! @name CVAL0CYC - Capture Value 0 Cycle Register */
  32727. /*! @{ */
  32728. #define PWM_CVAL0CYC_CVAL0CYC_MASK (0xFU)
  32729. #define PWM_CVAL0CYC_CVAL0CYC_SHIFT (0U)
  32730. /*! CVAL0CYC - CVAL0CYC
  32731. */
  32732. #define PWM_CVAL0CYC_CVAL0CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL0CYC_CVAL0CYC_SHIFT)) & PWM_CVAL0CYC_CVAL0CYC_MASK)
  32733. /*! @} */
  32734. /* The count of PWM_CVAL0CYC */
  32735. #define PWM_CVAL0CYC_COUNT (4U)
  32736. /*! @name CVAL1 - Capture Value 1 Register */
  32737. /*! @{ */
  32738. #define PWM_CVAL1_CAPTVAL1_MASK (0xFFFFU)
  32739. #define PWM_CVAL1_CAPTVAL1_SHIFT (0U)
  32740. /*! CAPTVAL1 - CAPTVAL1
  32741. */
  32742. #define PWM_CVAL1_CAPTVAL1(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL1_CAPTVAL1_SHIFT)) & PWM_CVAL1_CAPTVAL1_MASK)
  32743. /*! @} */
  32744. /* The count of PWM_CVAL1 */
  32745. #define PWM_CVAL1_COUNT (4U)
  32746. /*! @name CVAL1CYC - Capture Value 1 Cycle Register */
  32747. /*! @{ */
  32748. #define PWM_CVAL1CYC_CVAL1CYC_MASK (0xFU)
  32749. #define PWM_CVAL1CYC_CVAL1CYC_SHIFT (0U)
  32750. /*! CVAL1CYC - CVAL1CYC
  32751. */
  32752. #define PWM_CVAL1CYC_CVAL1CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL1CYC_CVAL1CYC_SHIFT)) & PWM_CVAL1CYC_CVAL1CYC_MASK)
  32753. /*! @} */
  32754. /* The count of PWM_CVAL1CYC */
  32755. #define PWM_CVAL1CYC_COUNT (4U)
  32756. /*! @name CVAL2 - Capture Value 2 Register */
  32757. /*! @{ */
  32758. #define PWM_CVAL2_CAPTVAL2_MASK (0xFFFFU)
  32759. #define PWM_CVAL2_CAPTVAL2_SHIFT (0U)
  32760. /*! CAPTVAL2 - CAPTVAL2
  32761. */
  32762. #define PWM_CVAL2_CAPTVAL2(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL2_CAPTVAL2_SHIFT)) & PWM_CVAL2_CAPTVAL2_MASK)
  32763. /*! @} */
  32764. /* The count of PWM_CVAL2 */
  32765. #define PWM_CVAL2_COUNT (4U)
  32766. /*! @name CVAL2CYC - Capture Value 2 Cycle Register */
  32767. /*! @{ */
  32768. #define PWM_CVAL2CYC_CVAL2CYC_MASK (0xFU)
  32769. #define PWM_CVAL2CYC_CVAL2CYC_SHIFT (0U)
  32770. /*! CVAL2CYC - CVAL2CYC
  32771. */
  32772. #define PWM_CVAL2CYC_CVAL2CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL2CYC_CVAL2CYC_SHIFT)) & PWM_CVAL2CYC_CVAL2CYC_MASK)
  32773. /*! @} */
  32774. /* The count of PWM_CVAL2CYC */
  32775. #define PWM_CVAL2CYC_COUNT (4U)
  32776. /*! @name CVAL3 - Capture Value 3 Register */
  32777. /*! @{ */
  32778. #define PWM_CVAL3_CAPTVAL3_MASK (0xFFFFU)
  32779. #define PWM_CVAL3_CAPTVAL3_SHIFT (0U)
  32780. /*! CAPTVAL3 - CAPTVAL3
  32781. */
  32782. #define PWM_CVAL3_CAPTVAL3(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL3_CAPTVAL3_SHIFT)) & PWM_CVAL3_CAPTVAL3_MASK)
  32783. /*! @} */
  32784. /* The count of PWM_CVAL3 */
  32785. #define PWM_CVAL3_COUNT (4U)
  32786. /*! @name CVAL3CYC - Capture Value 3 Cycle Register */
  32787. /*! @{ */
  32788. #define PWM_CVAL3CYC_CVAL3CYC_MASK (0xFU)
  32789. #define PWM_CVAL3CYC_CVAL3CYC_SHIFT (0U)
  32790. /*! CVAL3CYC - CVAL3CYC
  32791. */
  32792. #define PWM_CVAL3CYC_CVAL3CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL3CYC_CVAL3CYC_SHIFT)) & PWM_CVAL3CYC_CVAL3CYC_MASK)
  32793. /*! @} */
  32794. /* The count of PWM_CVAL3CYC */
  32795. #define PWM_CVAL3CYC_COUNT (4U)
  32796. /*! @name CVAL4 - Capture Value 4 Register */
  32797. /*! @{ */
  32798. #define PWM_CVAL4_CAPTVAL4_MASK (0xFFFFU)
  32799. #define PWM_CVAL4_CAPTVAL4_SHIFT (0U)
  32800. /*! CAPTVAL4 - CAPTVAL4
  32801. */
  32802. #define PWM_CVAL4_CAPTVAL4(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL4_CAPTVAL4_SHIFT)) & PWM_CVAL4_CAPTVAL4_MASK)
  32803. /*! @} */
  32804. /* The count of PWM_CVAL4 */
  32805. #define PWM_CVAL4_COUNT (4U)
  32806. /*! @name CVAL4CYC - Capture Value 4 Cycle Register */
  32807. /*! @{ */
  32808. #define PWM_CVAL4CYC_CVAL4CYC_MASK (0xFU)
  32809. #define PWM_CVAL4CYC_CVAL4CYC_SHIFT (0U)
  32810. /*! CVAL4CYC - CVAL4CYC
  32811. */
  32812. #define PWM_CVAL4CYC_CVAL4CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL4CYC_CVAL4CYC_SHIFT)) & PWM_CVAL4CYC_CVAL4CYC_MASK)
  32813. /*! @} */
  32814. /* The count of PWM_CVAL4CYC */
  32815. #define PWM_CVAL4CYC_COUNT (4U)
  32816. /*! @name CVAL5 - Capture Value 5 Register */
  32817. /*! @{ */
  32818. #define PWM_CVAL5_CAPTVAL5_MASK (0xFFFFU)
  32819. #define PWM_CVAL5_CAPTVAL5_SHIFT (0U)
  32820. /*! CAPTVAL5 - CAPTVAL5
  32821. */
  32822. #define PWM_CVAL5_CAPTVAL5(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL5_CAPTVAL5_SHIFT)) & PWM_CVAL5_CAPTVAL5_MASK)
  32823. /*! @} */
  32824. /* The count of PWM_CVAL5 */
  32825. #define PWM_CVAL5_COUNT (4U)
  32826. /*! @name CVAL5CYC - Capture Value 5 Cycle Register */
  32827. /*! @{ */
  32828. #define PWM_CVAL5CYC_CVAL5CYC_MASK (0xFU)
  32829. #define PWM_CVAL5CYC_CVAL5CYC_SHIFT (0U)
  32830. /*! CVAL5CYC - CVAL5CYC
  32831. */
  32832. #define PWM_CVAL5CYC_CVAL5CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL5CYC_CVAL5CYC_SHIFT)) & PWM_CVAL5CYC_CVAL5CYC_MASK)
  32833. /*! @} */
  32834. /* The count of PWM_CVAL5CYC */
  32835. #define PWM_CVAL5CYC_COUNT (4U)
  32836. /*! @name OUTEN - Output Enable Register */
  32837. /*! @{ */
  32838. #define PWM_OUTEN_PWMX_EN_MASK (0xFU)
  32839. #define PWM_OUTEN_PWMX_EN_SHIFT (0U)
  32840. /*! PWMX_EN - PWM_X Output Enables
  32841. * 0b0000..PWM_X output disabled.
  32842. * 0b0001..PWM_X output enabled.
  32843. */
  32844. #define PWM_OUTEN_PWMX_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OUTEN_PWMX_EN_SHIFT)) & PWM_OUTEN_PWMX_EN_MASK)
  32845. #define PWM_OUTEN_PWMB_EN_MASK (0xF0U)
  32846. #define PWM_OUTEN_PWMB_EN_SHIFT (4U)
  32847. /*! PWMB_EN - PWM_B Output Enables
  32848. * 0b0000..PWM_B output disabled.
  32849. * 0b0001..PWM_B output enabled.
  32850. */
  32851. #define PWM_OUTEN_PWMB_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OUTEN_PWMB_EN_SHIFT)) & PWM_OUTEN_PWMB_EN_MASK)
  32852. #define PWM_OUTEN_PWMA_EN_MASK (0xF00U)
  32853. #define PWM_OUTEN_PWMA_EN_SHIFT (8U)
  32854. /*! PWMA_EN - PWM_A Output Enables
  32855. * 0b0000..PWM_A output disabled.
  32856. * 0b0001..PWM_A output enabled.
  32857. */
  32858. #define PWM_OUTEN_PWMA_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OUTEN_PWMA_EN_SHIFT)) & PWM_OUTEN_PWMA_EN_MASK)
  32859. /*! @} */
  32860. /*! @name MASK - Mask Register */
  32861. /*! @{ */
  32862. #define PWM_MASK_MASKX_MASK (0xFU)
  32863. #define PWM_MASK_MASKX_SHIFT (0U)
  32864. /*! MASKX - PWM_X Masks
  32865. * 0b0000..PWM_X output normal.
  32866. * 0b0001..PWM_X output masked.
  32867. */
  32868. #define PWM_MASK_MASKX(x) (((uint16_t)(((uint16_t)(x)) << PWM_MASK_MASKX_SHIFT)) & PWM_MASK_MASKX_MASK)
  32869. #define PWM_MASK_MASKB_MASK (0xF0U)
  32870. #define PWM_MASK_MASKB_SHIFT (4U)
  32871. /*! MASKB - PWM_B Masks
  32872. * 0b0000..PWM_B output normal.
  32873. * 0b0001..PWM_B output masked.
  32874. */
  32875. #define PWM_MASK_MASKB(x) (((uint16_t)(((uint16_t)(x)) << PWM_MASK_MASKB_SHIFT)) & PWM_MASK_MASKB_MASK)
  32876. #define PWM_MASK_MASKA_MASK (0xF00U)
  32877. #define PWM_MASK_MASKA_SHIFT (8U)
  32878. /*! MASKA - PWM_A Masks
  32879. * 0b0000..PWM_A output normal.
  32880. * 0b0001..PWM_A output masked.
  32881. */
  32882. #define PWM_MASK_MASKA(x) (((uint16_t)(((uint16_t)(x)) << PWM_MASK_MASKA_SHIFT)) & PWM_MASK_MASKA_MASK)
  32883. #define PWM_MASK_UPDATE_MASK_MASK (0xF000U)
  32884. #define PWM_MASK_UPDATE_MASK_SHIFT (12U)
  32885. /*! UPDATE_MASK - Update Mask Bits Immediately
  32886. * 0b0000..Normal operation. MASK* bits within the corresponding submodule are not updated until a FORCE_OUT event occurs within the submodule.
  32887. * 0b0001..Immediate operation. MASK* bits within the corresponding submodule are updated on the following clock edge after setting this bit.
  32888. */
  32889. #define PWM_MASK_UPDATE_MASK(x) (((uint16_t)(((uint16_t)(x)) << PWM_MASK_UPDATE_MASK_SHIFT)) & PWM_MASK_UPDATE_MASK_MASK)
  32890. /*! @} */
  32891. /*! @name SWCOUT - Software Controlled Output Register */
  32892. /*! @{ */
  32893. #define PWM_SWCOUT_SM0OUT45_MASK (0x1U)
  32894. #define PWM_SWCOUT_SM0OUT45_SHIFT (0U)
  32895. /*! SM0OUT45 - Submodule 0 Software Controlled Output 45
  32896. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 0 instead of PWM45.
  32897. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 0 instead of PWM45.
  32898. */
  32899. #define PWM_SWCOUT_SM0OUT45(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM0OUT45_SHIFT)) & PWM_SWCOUT_SM0OUT45_MASK)
  32900. #define PWM_SWCOUT_SM0OUT23_MASK (0x2U)
  32901. #define PWM_SWCOUT_SM0OUT23_SHIFT (1U)
  32902. /*! SM0OUT23 - Submodule 0 Software Controlled Output 23
  32903. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 0 instead of PWM23.
  32904. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 0 instead of PWM23.
  32905. */
  32906. #define PWM_SWCOUT_SM0OUT23(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM0OUT23_SHIFT)) & PWM_SWCOUT_SM0OUT23_MASK)
  32907. #define PWM_SWCOUT_SM1OUT45_MASK (0x4U)
  32908. #define PWM_SWCOUT_SM1OUT45_SHIFT (2U)
  32909. /*! SM1OUT45 - Submodule 1 Software Controlled Output 45
  32910. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 1 instead of PWM45.
  32911. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 1 instead of PWM45.
  32912. */
  32913. #define PWM_SWCOUT_SM1OUT45(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM1OUT45_SHIFT)) & PWM_SWCOUT_SM1OUT45_MASK)
  32914. #define PWM_SWCOUT_SM1OUT23_MASK (0x8U)
  32915. #define PWM_SWCOUT_SM1OUT23_SHIFT (3U)
  32916. /*! SM1OUT23 - Submodule 1 Software Controlled Output 23
  32917. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 1 instead of PWM23.
  32918. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 1 instead of PWM23.
  32919. */
  32920. #define PWM_SWCOUT_SM1OUT23(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM1OUT23_SHIFT)) & PWM_SWCOUT_SM1OUT23_MASK)
  32921. #define PWM_SWCOUT_SM2OUT45_MASK (0x10U)
  32922. #define PWM_SWCOUT_SM2OUT45_SHIFT (4U)
  32923. /*! SM2OUT45 - Submodule 2 Software Controlled Output 45
  32924. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 2 instead of PWM45.
  32925. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 2 instead of PWM45.
  32926. */
  32927. #define PWM_SWCOUT_SM2OUT45(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM2OUT45_SHIFT)) & PWM_SWCOUT_SM2OUT45_MASK)
  32928. #define PWM_SWCOUT_SM2OUT23_MASK (0x20U)
  32929. #define PWM_SWCOUT_SM2OUT23_SHIFT (5U)
  32930. /*! SM2OUT23 - Submodule 2 Software Controlled Output 23
  32931. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 2 instead of PWM23.
  32932. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 2 instead of PWM23.
  32933. */
  32934. #define PWM_SWCOUT_SM2OUT23(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM2OUT23_SHIFT)) & PWM_SWCOUT_SM2OUT23_MASK)
  32935. #define PWM_SWCOUT_SM3OUT45_MASK (0x40U)
  32936. #define PWM_SWCOUT_SM3OUT45_SHIFT (6U)
  32937. /*! SM3OUT45 - Submodule 3 Software Controlled Output 45
  32938. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 3 instead of PWM45.
  32939. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 3 instead of PWM45.
  32940. */
  32941. #define PWM_SWCOUT_SM3OUT45(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM3OUT45_SHIFT)) & PWM_SWCOUT_SM3OUT45_MASK)
  32942. #define PWM_SWCOUT_SM3OUT23_MASK (0x80U)
  32943. #define PWM_SWCOUT_SM3OUT23_SHIFT (7U)
  32944. /*! SM3OUT23 - Submodule 3 Software Controlled Output 23
  32945. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 3 instead of PWM23.
  32946. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 3 instead of PWM23.
  32947. */
  32948. #define PWM_SWCOUT_SM3OUT23(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM3OUT23_SHIFT)) & PWM_SWCOUT_SM3OUT23_MASK)
  32949. /*! @} */
  32950. /*! @name DTSRCSEL - PWM Source Select Register */
  32951. /*! @{ */
  32952. #define PWM_DTSRCSEL_SM0SEL45_MASK (0x3U)
  32953. #define PWM_DTSRCSEL_SM0SEL45_SHIFT (0U)
  32954. /*! SM0SEL45 - Submodule 0 PWM45 Control Select
  32955. * 0b00..Generated SM0PWM45 signal is used by the deadtime logic.
  32956. * 0b01..Inverted generated SM0PWM45 signal is used by the deadtime logic.
  32957. * 0b10..SWCOUT[SM0OUT45] is used by the deadtime logic.
  32958. * 0b11..PWM0_EXTB signal is used by the deadtime logic.
  32959. */
  32960. #define PWM_DTSRCSEL_SM0SEL45(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM0SEL45_SHIFT)) & PWM_DTSRCSEL_SM0SEL45_MASK)
  32961. #define PWM_DTSRCSEL_SM0SEL23_MASK (0xCU)
  32962. #define PWM_DTSRCSEL_SM0SEL23_SHIFT (2U)
  32963. /*! SM0SEL23 - Submodule 0 PWM23 Control Select
  32964. * 0b00..Generated SM0PWM23 signal is used by the deadtime logic.
  32965. * 0b01..Inverted generated SM0PWM23 signal is used by the deadtime logic.
  32966. * 0b10..SWCOUT[SM0OUT23] is used by the deadtime logic.
  32967. * 0b11..PWM0_EXTA signal is used by the deadtime logic.
  32968. */
  32969. #define PWM_DTSRCSEL_SM0SEL23(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM0SEL23_SHIFT)) & PWM_DTSRCSEL_SM0SEL23_MASK)
  32970. #define PWM_DTSRCSEL_SM1SEL45_MASK (0x30U)
  32971. #define PWM_DTSRCSEL_SM1SEL45_SHIFT (4U)
  32972. /*! SM1SEL45 - Submodule 1 PWM45 Control Select
  32973. * 0b00..Generated SM1PWM45 signal is used by the deadtime logic.
  32974. * 0b01..Inverted generated SM1PWM45 signal is used by the deadtime logic.
  32975. * 0b10..SWCOUT[SM1OUT45] is used by the deadtime logic.
  32976. * 0b11..PWM1_EXTB signal is used by the deadtime logic.
  32977. */
  32978. #define PWM_DTSRCSEL_SM1SEL45(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM1SEL45_SHIFT)) & PWM_DTSRCSEL_SM1SEL45_MASK)
  32979. #define PWM_DTSRCSEL_SM1SEL23_MASK (0xC0U)
  32980. #define PWM_DTSRCSEL_SM1SEL23_SHIFT (6U)
  32981. /*! SM1SEL23 - Submodule 1 PWM23 Control Select
  32982. * 0b00..Generated SM1PWM23 signal is used by the deadtime logic.
  32983. * 0b01..Inverted generated SM1PWM23 signal is used by the deadtime logic.
  32984. * 0b10..SWCOUT[SM1OUT23] is used by the deadtime logic.
  32985. * 0b11..PWM1_EXTA signal is used by the deadtime logic.
  32986. */
  32987. #define PWM_DTSRCSEL_SM1SEL23(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM1SEL23_SHIFT)) & PWM_DTSRCSEL_SM1SEL23_MASK)
  32988. #define PWM_DTSRCSEL_SM2SEL45_MASK (0x300U)
  32989. #define PWM_DTSRCSEL_SM2SEL45_SHIFT (8U)
  32990. /*! SM2SEL45 - Submodule 2 PWM45 Control Select
  32991. * 0b00..Generated SM2PWM45 signal is used by the deadtime logic.
  32992. * 0b01..Inverted generated SM2PWM45 signal is used by the deadtime logic.
  32993. * 0b10..SWCOUT[SM2OUT45] is used by the deadtime logic.
  32994. * 0b11..PWM2_EXTB signal is used by the deadtime logic.
  32995. */
  32996. #define PWM_DTSRCSEL_SM2SEL45(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM2SEL45_SHIFT)) & PWM_DTSRCSEL_SM2SEL45_MASK)
  32997. #define PWM_DTSRCSEL_SM2SEL23_MASK (0xC00U)
  32998. #define PWM_DTSRCSEL_SM2SEL23_SHIFT (10U)
  32999. /*! SM2SEL23 - Submodule 2 PWM23 Control Select
  33000. * 0b00..Generated SM2PWM23 signal is used by the deadtime logic.
  33001. * 0b01..Inverted generated SM2PWM23 signal is used by the deadtime logic.
  33002. * 0b10..SWCOUT[SM2OUT23] is used by the deadtime logic.
  33003. * 0b11..PWM2_EXTA signal is used by the deadtime logic.
  33004. */
  33005. #define PWM_DTSRCSEL_SM2SEL23(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM2SEL23_SHIFT)) & PWM_DTSRCSEL_SM2SEL23_MASK)
  33006. #define PWM_DTSRCSEL_SM3SEL45_MASK (0x3000U)
  33007. #define PWM_DTSRCSEL_SM3SEL45_SHIFT (12U)
  33008. /*! SM3SEL45 - Submodule 3 PWM45 Control Select
  33009. * 0b00..Generated SM3PWM45 signal is used by the deadtime logic.
  33010. * 0b01..Inverted generated SM3PWM45 signal is used by the deadtime logic.
  33011. * 0b10..SWCOUT[SM3OUT45] is used by the deadtime logic.
  33012. * 0b11..PWM3_EXTB signal is used by the deadtime logic.
  33013. */
  33014. #define PWM_DTSRCSEL_SM3SEL45(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM3SEL45_SHIFT)) & PWM_DTSRCSEL_SM3SEL45_MASK)
  33015. #define PWM_DTSRCSEL_SM3SEL23_MASK (0xC000U)
  33016. #define PWM_DTSRCSEL_SM3SEL23_SHIFT (14U)
  33017. /*! SM3SEL23 - Submodule 3 PWM23 Control Select
  33018. * 0b00..Generated SM3PWM23 signal is used by the deadtime logic.
  33019. * 0b01..Inverted generated SM3PWM23 signal is used by the deadtime logic.
  33020. * 0b10..SWCOUT[SM3OUT23] is used by the deadtime logic.
  33021. * 0b11..PWM3_EXTA signal is used by the deadtime logic.
  33022. */
  33023. #define PWM_DTSRCSEL_SM3SEL23(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM3SEL23_SHIFT)) & PWM_DTSRCSEL_SM3SEL23_MASK)
  33024. /*! @} */
  33025. /*! @name MCTRL - Master Control Register */
  33026. /*! @{ */
  33027. #define PWM_MCTRL_LDOK_MASK (0xFU)
  33028. #define PWM_MCTRL_LDOK_SHIFT (0U)
  33029. /*! LDOK - Load Okay
  33030. * 0b0000..Do not load new values.
  33031. * 0b0001..Load prescaler, modulus, and PWM values of the corresponding submodule.
  33032. */
  33033. #define PWM_MCTRL_LDOK(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL_LDOK_SHIFT)) & PWM_MCTRL_LDOK_MASK)
  33034. #define PWM_MCTRL_CLDOK_MASK (0xF0U)
  33035. #define PWM_MCTRL_CLDOK_SHIFT (4U)
  33036. /*! CLDOK - Clear Load Okay
  33037. */
  33038. #define PWM_MCTRL_CLDOK(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL_CLDOK_SHIFT)) & PWM_MCTRL_CLDOK_MASK)
  33039. #define PWM_MCTRL_RUN_MASK (0xF00U)
  33040. #define PWM_MCTRL_RUN_SHIFT (8U)
  33041. /*! RUN - Run
  33042. * 0b0000..PWM generator is disabled in the corresponding submodule.
  33043. * 0b0001..PWM generator is enabled in the corresponding submodule.
  33044. */
  33045. #define PWM_MCTRL_RUN(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL_RUN_SHIFT)) & PWM_MCTRL_RUN_MASK)
  33046. #define PWM_MCTRL_IPOL_MASK (0xF000U)
  33047. #define PWM_MCTRL_IPOL_SHIFT (12U)
  33048. /*! IPOL - Current Polarity
  33049. * 0b0000..PWM23 is used to generate complementary PWM pair in the corresponding submodule.
  33050. * 0b0001..PWM45 is used to generate complementary PWM pair in the corresponding submodule.
  33051. */
  33052. #define PWM_MCTRL_IPOL(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL_IPOL_SHIFT)) & PWM_MCTRL_IPOL_MASK)
  33053. /*! @} */
  33054. /*! @name MCTRL2 - Master Control 2 Register */
  33055. /*! @{ */
  33056. #define PWM_MCTRL2_MONPLL_MASK (0x3U)
  33057. #define PWM_MCTRL2_MONPLL_SHIFT (0U)
  33058. /*! MONPLL - Monitor PLL State
  33059. * 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.
  33060. * 0b01..Not locked. Monitor PLL operation to automatically disable the fractional delay block when the PLL encounters problems.
  33061. * 0b10..Locked. Do not monitor PLL operation. Resetting of the fractional delay block in case of PLL losing lock
  33062. * will be controlled by software. These bits are write protected until the next reset.
  33063. * 0b11..Locked. Monitor PLL operation to automatically disable the fractional delay block when the PLL
  33064. * encounters problems. These bits are write protected until the next reset.
  33065. */
  33066. #define PWM_MCTRL2_MONPLL(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL2_MONPLL_SHIFT)) & PWM_MCTRL2_MONPLL_MASK)
  33067. /*! @} */
  33068. /*! @name FCTRL - Fault Control Register */
  33069. /*! @{ */
  33070. #define PWM_FCTRL_FIE_MASK (0xFU)
  33071. #define PWM_FCTRL_FIE_SHIFT (0U)
  33072. /*! FIE - Fault Interrupt Enables
  33073. * 0b0000..FAULTx CPU interrupt requests disabled.
  33074. * 0b0001..FAULTx CPU interrupt requests enabled.
  33075. */
  33076. #define PWM_FCTRL_FIE(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL_FIE_SHIFT)) & PWM_FCTRL_FIE_MASK)
  33077. #define PWM_FCTRL_FSAFE_MASK (0xF0U)
  33078. #define PWM_FCTRL_FSAFE_SHIFT (4U)
  33079. /*! FSAFE - Fault Safety Mode
  33080. * 0b0000..Normal mode. PWM outputs disabled by this fault are not enabled until FSTS[FFLAGx] is clear at the
  33081. * start of a half cycle or full cycle depending on the state of FSTS[FFULL] without regard to the state of
  33082. * FSTS[FFPINx]. The PWM outputs disabled by this fault input will not be re-enabled until the actual
  33083. * FAULTx input signal de-asserts since the fault input will combinationally disable the PWM outputs (as
  33084. * programmed in DISMAPn).
  33085. * 0b0001..Safe mode. PWM outputs disabled by this fault are not enabled until FSTS[FFLAGx] is clear and
  33086. * FSTS[FFPINx] is clear at the start of a half cycle or full cycle depending on the state of FSTS[FFULL].
  33087. */
  33088. #define PWM_FCTRL_FSAFE(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL_FSAFE_SHIFT)) & PWM_FCTRL_FSAFE_MASK)
  33089. #define PWM_FCTRL_FAUTO_MASK (0xF00U)
  33090. #define PWM_FCTRL_FAUTO_SHIFT (8U)
  33091. /*! FAUTO - Automatic Fault Clearing
  33092. * 0b0000..Manual fault clearing. PWM outputs disabled by this fault are not enabled until FSTS[FFLAGx] is clear
  33093. * at the start of a half cycle or full cycle depending the state of FSTS[FFULL]. This is further
  33094. * controlled by FCTRL[FSAFE].
  33095. * 0b0001..Automatic fault clearing. PWM outputs disabled by this fault are enabled when FSTS[FFPINx] is clear at
  33096. * the start of a half cycle or full cycle depending on the state of FSTS[FFULL] without regard to the
  33097. * state of FSTS[FFLAGx].
  33098. */
  33099. #define PWM_FCTRL_FAUTO(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL_FAUTO_SHIFT)) & PWM_FCTRL_FAUTO_MASK)
  33100. #define PWM_FCTRL_FLVL_MASK (0xF000U)
  33101. #define PWM_FCTRL_FLVL_SHIFT (12U)
  33102. /*! FLVL - Fault Level
  33103. * 0b0000..A logic 0 on the fault input indicates a fault condition.
  33104. * 0b0001..A logic 1 on the fault input indicates a fault condition.
  33105. */
  33106. #define PWM_FCTRL_FLVL(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL_FLVL_SHIFT)) & PWM_FCTRL_FLVL_MASK)
  33107. /*! @} */
  33108. /*! @name FSTS - Fault Status Register */
  33109. /*! @{ */
  33110. #define PWM_FSTS_FFLAG_MASK (0xFU)
  33111. #define PWM_FSTS_FFLAG_SHIFT (0U)
  33112. /*! FFLAG - Fault Flags
  33113. * 0b0000..No fault on the FAULTx pin.
  33114. * 0b0001..Fault on the FAULTx pin.
  33115. */
  33116. #define PWM_FSTS_FFLAG(x) (((uint16_t)(((uint16_t)(x)) << PWM_FSTS_FFLAG_SHIFT)) & PWM_FSTS_FFLAG_MASK)
  33117. #define PWM_FSTS_FFULL_MASK (0xF0U)
  33118. #define PWM_FSTS_FFULL_SHIFT (4U)
  33119. /*! FFULL - Full Cycle
  33120. * 0b0000..PWM outputs are not re-enabled at the start of a full cycle
  33121. * 0b0001..PWM outputs are re-enabled at the start of a full cycle
  33122. */
  33123. #define PWM_FSTS_FFULL(x) (((uint16_t)(((uint16_t)(x)) << PWM_FSTS_FFULL_SHIFT)) & PWM_FSTS_FFULL_MASK)
  33124. #define PWM_FSTS_FFPIN_MASK (0xF00U)
  33125. #define PWM_FSTS_FFPIN_SHIFT (8U)
  33126. /*! FFPIN - Filtered Fault Pins
  33127. */
  33128. #define PWM_FSTS_FFPIN(x) (((uint16_t)(((uint16_t)(x)) << PWM_FSTS_FFPIN_SHIFT)) & PWM_FSTS_FFPIN_MASK)
  33129. #define PWM_FSTS_FHALF_MASK (0xF000U)
  33130. #define PWM_FSTS_FHALF_SHIFT (12U)
  33131. /*! FHALF - Half Cycle Fault Recovery
  33132. * 0b0000..PWM outputs are not re-enabled at the start of a half cycle.
  33133. * 0b0001..PWM outputs are re-enabled at the start of a half cycle (as defined by VAL0).
  33134. */
  33135. #define PWM_FSTS_FHALF(x) (((uint16_t)(((uint16_t)(x)) << PWM_FSTS_FHALF_SHIFT)) & PWM_FSTS_FHALF_MASK)
  33136. /*! @} */
  33137. /*! @name FFILT - Fault Filter Register */
  33138. /*! @{ */
  33139. #define PWM_FFILT_FILT_PER_MASK (0xFFU)
  33140. #define PWM_FFILT_FILT_PER_SHIFT (0U)
  33141. /*! FILT_PER - Fault Filter Period
  33142. */
  33143. #define PWM_FFILT_FILT_PER(x) (((uint16_t)(((uint16_t)(x)) << PWM_FFILT_FILT_PER_SHIFT)) & PWM_FFILT_FILT_PER_MASK)
  33144. #define PWM_FFILT_FILT_CNT_MASK (0x700U)
  33145. #define PWM_FFILT_FILT_CNT_SHIFT (8U)
  33146. /*! FILT_CNT - Fault Filter Count
  33147. */
  33148. #define PWM_FFILT_FILT_CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_FFILT_FILT_CNT_SHIFT)) & PWM_FFILT_FILT_CNT_MASK)
  33149. #define PWM_FFILT_GSTR_MASK (0x8000U)
  33150. #define PWM_FFILT_GSTR_SHIFT (15U)
  33151. /*! GSTR - Fault Glitch Stretch Enable
  33152. * 0b0..Fault input glitch stretching is disabled.
  33153. * 0b1..Input fault signals will be stretched to at least 2 IPBus clock cycles.
  33154. */
  33155. #define PWM_FFILT_GSTR(x) (((uint16_t)(((uint16_t)(x)) << PWM_FFILT_GSTR_SHIFT)) & PWM_FFILT_GSTR_MASK)
  33156. /*! @} */
  33157. /*! @name FTST - Fault Test Register */
  33158. /*! @{ */
  33159. #define PWM_FTST_FTEST_MASK (0x1U)
  33160. #define PWM_FTST_FTEST_SHIFT (0U)
  33161. /*! FTEST - Fault Test
  33162. * 0b0..No fault
  33163. * 0b1..Cause a simulated fault
  33164. */
  33165. #define PWM_FTST_FTEST(x) (((uint16_t)(((uint16_t)(x)) << PWM_FTST_FTEST_SHIFT)) & PWM_FTST_FTEST_MASK)
  33166. /*! @} */
  33167. /*! @name FCTRL2 - Fault Control 2 Register */
  33168. /*! @{ */
  33169. #define PWM_FCTRL2_NOCOMB_MASK (0xFU)
  33170. #define PWM_FCTRL2_NOCOMB_SHIFT (0U)
  33171. /*! NOCOMB - No Combinational Path From Fault Input To PWM Output
  33172. * 0b0000..There is a combinational link from the fault inputs to the PWM outputs. The fault inputs are combined
  33173. * with the filtered and latched fault signals to disable the PWM outputs.
  33174. * 0b0001..The direct combinational path from the fault inputs to the PWM outputs is disabled and the filtered
  33175. * and latched fault signals are used to disable the PWM outputs.
  33176. */
  33177. #define PWM_FCTRL2_NOCOMB(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL2_NOCOMB_SHIFT)) & PWM_FCTRL2_NOCOMB_MASK)
  33178. /*! @} */
  33179. /*!
  33180. * @}
  33181. */ /* end of group PWM_Register_Masks */
  33182. /* PWM - Peripheral instance base addresses */
  33183. /** Peripheral PWM1 base address */
  33184. #define PWM1_BASE (0x403DC000u)
  33185. /** Peripheral PWM1 base pointer */
  33186. #define PWM1 ((PWM_Type *)PWM1_BASE)
  33187. /** Peripheral PWM2 base address */
  33188. #define PWM2_BASE (0x403E0000u)
  33189. /** Peripheral PWM2 base pointer */
  33190. #define PWM2 ((PWM_Type *)PWM2_BASE)
  33191. /** Peripheral PWM3 base address */
  33192. #define PWM3_BASE (0x403E4000u)
  33193. /** Peripheral PWM3 base pointer */
  33194. #define PWM3 ((PWM_Type *)PWM3_BASE)
  33195. /** Peripheral PWM4 base address */
  33196. #define PWM4_BASE (0x403E8000u)
  33197. /** Peripheral PWM4 base pointer */
  33198. #define PWM4 ((PWM_Type *)PWM4_BASE)
  33199. /** Array initializer of PWM peripheral base addresses */
  33200. #define PWM_BASE_ADDRS { 0u, PWM1_BASE, PWM2_BASE, PWM3_BASE, PWM4_BASE }
  33201. /** Array initializer of PWM peripheral base pointers */
  33202. #define PWM_BASE_PTRS { (PWM_Type *)0u, PWM1, PWM2, PWM3, PWM4 }
  33203. /** Interrupt vectors for the PWM peripheral type */
  33204. #define PWM_CMP_IRQS { { NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn }, { PWM1_0_IRQn, PWM1_1_IRQn, PWM1_2_IRQn, PWM1_3_IRQn }, { PWM2_0_IRQn, PWM2_1_IRQn, PWM2_2_IRQn, PWM2_3_IRQn }, { PWM3_0_IRQn, PWM3_1_IRQn, PWM3_2_IRQn, PWM3_3_IRQn }, { PWM4_0_IRQn, PWM4_1_IRQn, PWM4_2_IRQn, PWM4_3_IRQn } }
  33205. #define PWM_RELOAD_IRQS { { NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn }, { PWM1_0_IRQn, PWM1_1_IRQn, PWM1_2_IRQn, PWM1_3_IRQn }, { PWM2_0_IRQn, PWM2_1_IRQn, PWM2_2_IRQn, PWM2_3_IRQn }, { PWM3_0_IRQn, PWM3_1_IRQn, PWM3_2_IRQn, PWM3_3_IRQn }, { PWM4_0_IRQn, PWM4_1_IRQn, PWM4_2_IRQn, PWM4_3_IRQn } }
  33206. #define PWM_CAPTURE_IRQS { { NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn }, { PWM1_0_IRQn, PWM1_1_IRQn, PWM1_2_IRQn, PWM1_3_IRQn }, { PWM2_0_IRQn, PWM2_1_IRQn, PWM2_2_IRQn, PWM2_3_IRQn }, { PWM3_0_IRQn, PWM3_1_IRQn, PWM3_2_IRQn, PWM3_3_IRQn }, { PWM4_0_IRQn, PWM4_1_IRQn, PWM4_2_IRQn, PWM4_3_IRQn } }
  33207. #define PWM_FAULT_IRQS { NotAvail_IRQn, PWM1_FAULT_IRQn, PWM2_FAULT_IRQn, PWM3_FAULT_IRQn, PWM4_FAULT_IRQn }
  33208. #define PWM_RELOAD_ERROR_IRQS { NotAvail_IRQn, PWM1_FAULT_IRQn, PWM2_FAULT_IRQn, PWM3_FAULT_IRQn, PWM4_FAULT_IRQn }
  33209. /*!
  33210. * @}
  33211. */ /* end of group PWM_Peripheral_Access_Layer */
  33212. /* ----------------------------------------------------------------------------
  33213. -- PXP Peripheral Access Layer
  33214. ---------------------------------------------------------------------------- */
  33215. /*!
  33216. * @addtogroup PXP_Peripheral_Access_Layer PXP Peripheral Access Layer
  33217. * @{
  33218. */
  33219. /** PXP - Register Layout Typedef */
  33220. typedef struct {
  33221. __IO uint32_t CTRL; /**< Control Register 0, offset: 0x0 */
  33222. __IO uint32_t CTRL_SET; /**< Control Register 0, offset: 0x4 */
  33223. __IO uint32_t CTRL_CLR; /**< Control Register 0, offset: 0x8 */
  33224. __IO uint32_t CTRL_TOG; /**< Control Register 0, offset: 0xC */
  33225. __IO uint32_t STAT; /**< Status Register, offset: 0x10 */
  33226. __IO uint32_t STAT_SET; /**< Status Register, offset: 0x14 */
  33227. __IO uint32_t STAT_CLR; /**< Status Register, offset: 0x18 */
  33228. __IO uint32_t STAT_TOG; /**< Status Register, offset: 0x1C */
  33229. __IO uint32_t OUT_CTRL; /**< Output Buffer Control Register, offset: 0x20 */
  33230. __IO uint32_t OUT_CTRL_SET; /**< Output Buffer Control Register, offset: 0x24 */
  33231. __IO uint32_t OUT_CTRL_CLR; /**< Output Buffer Control Register, offset: 0x28 */
  33232. __IO uint32_t OUT_CTRL_TOG; /**< Output Buffer Control Register, offset: 0x2C */
  33233. __IO uint32_t OUT_BUF; /**< Output Frame Buffer Pointer, offset: 0x30 */
  33234. uint8_t RESERVED_0[12];
  33235. __IO uint32_t OUT_BUF2; /**< Output Frame Buffer Pointer #2, offset: 0x40 */
  33236. uint8_t RESERVED_1[12];
  33237. __IO uint32_t OUT_PITCH; /**< Output Buffer Pitch, offset: 0x50 */
  33238. uint8_t RESERVED_2[12];
  33239. __IO uint32_t OUT_LRC; /**< Output Surface Lower Right Coordinate, offset: 0x60 */
  33240. uint8_t RESERVED_3[12];
  33241. __IO uint32_t OUT_PS_ULC; /**< Processed Surface Upper Left Coordinate, offset: 0x70 */
  33242. uint8_t RESERVED_4[12];
  33243. __IO uint32_t OUT_PS_LRC; /**< Processed Surface Lower Right Coordinate, offset: 0x80 */
  33244. uint8_t RESERVED_5[12];
  33245. __IO uint32_t OUT_AS_ULC; /**< Alpha Surface Upper Left Coordinate, offset: 0x90 */
  33246. uint8_t RESERVED_6[12];
  33247. __IO uint32_t OUT_AS_LRC; /**< Alpha Surface Lower Right Coordinate, offset: 0xA0 */
  33248. uint8_t RESERVED_7[12];
  33249. __IO uint32_t PS_CTRL; /**< Processed Surface (PS) Control Register, offset: 0xB0 */
  33250. __IO uint32_t PS_CTRL_SET; /**< Processed Surface (PS) Control Register, offset: 0xB4 */
  33251. __IO uint32_t PS_CTRL_CLR; /**< Processed Surface (PS) Control Register, offset: 0xB8 */
  33252. __IO uint32_t PS_CTRL_TOG; /**< Processed Surface (PS) Control Register, offset: 0xBC */
  33253. __IO uint32_t PS_BUF; /**< PS Input Buffer Address, offset: 0xC0 */
  33254. uint8_t RESERVED_8[12];
  33255. __IO uint32_t PS_UBUF; /**< PS U/Cb or 2 Plane UV Input Buffer Address, offset: 0xD0 */
  33256. uint8_t RESERVED_9[12];
  33257. __IO uint32_t PS_VBUF; /**< PS V/Cr Input Buffer Address, offset: 0xE0 */
  33258. uint8_t RESERVED_10[12];
  33259. __IO uint32_t PS_PITCH; /**< Processed Surface Pitch, offset: 0xF0 */
  33260. uint8_t RESERVED_11[12];
  33261. __IO uint32_t PS_BACKGROUND; /**< PS Background Color, offset: 0x100 */
  33262. uint8_t RESERVED_12[12];
  33263. __IO uint32_t PS_SCALE; /**< PS Scale Factor Register, offset: 0x110 */
  33264. uint8_t RESERVED_13[12];
  33265. __IO uint32_t PS_OFFSET; /**< PS Scale Offset Register, offset: 0x120 */
  33266. uint8_t RESERVED_14[12];
  33267. __IO uint32_t PS_CLRKEYLOW; /**< PS Color Key Low, offset: 0x130 */
  33268. uint8_t RESERVED_15[12];
  33269. __IO uint32_t PS_CLRKEYHIGH; /**< PS Color Key High, offset: 0x140 */
  33270. uint8_t RESERVED_16[12];
  33271. __IO uint32_t AS_CTRL; /**< Alpha Surface Control, offset: 0x150 */
  33272. uint8_t RESERVED_17[12];
  33273. __IO uint32_t AS_BUF; /**< Alpha Surface Buffer Pointer, offset: 0x160 */
  33274. uint8_t RESERVED_18[12];
  33275. __IO uint32_t AS_PITCH; /**< Alpha Surface Pitch, offset: 0x170 */
  33276. uint8_t RESERVED_19[12];
  33277. __IO uint32_t AS_CLRKEYLOW; /**< Overlay Color Key Low, offset: 0x180 */
  33278. uint8_t RESERVED_20[12];
  33279. __IO uint32_t AS_CLRKEYHIGH; /**< Overlay Color Key High, offset: 0x190 */
  33280. uint8_t RESERVED_21[12];
  33281. __IO uint32_t CSC1_COEF0; /**< Color Space Conversion Coefficient Register 0, offset: 0x1A0 */
  33282. uint8_t RESERVED_22[12];
  33283. __IO uint32_t CSC1_COEF1; /**< Color Space Conversion Coefficient Register 1, offset: 0x1B0 */
  33284. uint8_t RESERVED_23[12];
  33285. __IO uint32_t CSC1_COEF2; /**< Color Space Conversion Coefficient Register 2, offset: 0x1C0 */
  33286. uint8_t RESERVED_24[348];
  33287. __IO uint32_t POWER; /**< PXP Power Control Register, offset: 0x320 */
  33288. uint8_t RESERVED_25[220];
  33289. __IO uint32_t NEXT; /**< Next Frame Pointer, offset: 0x400 */
  33290. uint8_t RESERVED_26[60];
  33291. __IO uint32_t PORTER_DUFF_CTRL; /**< PXP Alpha Engine A Control Register., offset: 0x440 */
  33292. } PXP_Type;
  33293. /* ----------------------------------------------------------------------------
  33294. -- PXP Register Masks
  33295. ---------------------------------------------------------------------------- */
  33296. /*!
  33297. * @addtogroup PXP_Register_Masks PXP Register Masks
  33298. * @{
  33299. */
  33300. /*! @name CTRL - Control Register 0 */
  33301. /*! @{ */
  33302. #define PXP_CTRL_ENABLE_MASK (0x1U)
  33303. #define PXP_CTRL_ENABLE_SHIFT (0U)
  33304. #define PXP_CTRL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_ENABLE_SHIFT)) & PXP_CTRL_ENABLE_MASK)
  33305. #define PXP_CTRL_IRQ_ENABLE_MASK (0x2U)
  33306. #define PXP_CTRL_IRQ_ENABLE_SHIFT (1U)
  33307. #define PXP_CTRL_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_IRQ_ENABLE_SHIFT)) & PXP_CTRL_IRQ_ENABLE_MASK)
  33308. #define PXP_CTRL_NEXT_IRQ_ENABLE_MASK (0x4U)
  33309. #define PXP_CTRL_NEXT_IRQ_ENABLE_SHIFT (2U)
  33310. #define PXP_CTRL_NEXT_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_NEXT_IRQ_ENABLE_SHIFT)) & PXP_CTRL_NEXT_IRQ_ENABLE_MASK)
  33311. #define PXP_CTRL_ENABLE_LCD_HANDSHAKE_MASK (0x10U)
  33312. #define PXP_CTRL_ENABLE_LCD_HANDSHAKE_SHIFT (4U)
  33313. #define PXP_CTRL_ENABLE_LCD_HANDSHAKE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_ENABLE_LCD_HANDSHAKE_SHIFT)) & PXP_CTRL_ENABLE_LCD_HANDSHAKE_MASK)
  33314. #define PXP_CTRL_RSVD0_MASK (0xE0U)
  33315. #define PXP_CTRL_RSVD0_SHIFT (5U)
  33316. #define PXP_CTRL_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_RSVD0_SHIFT)) & PXP_CTRL_RSVD0_MASK)
  33317. #define PXP_CTRL_ROTATE_MASK (0x300U)
  33318. #define PXP_CTRL_ROTATE_SHIFT (8U)
  33319. /*! ROTATE
  33320. * 0b00..ROT_0
  33321. * 0b01..ROT_90
  33322. * 0b10..ROT_180
  33323. * 0b11..ROT_270
  33324. */
  33325. #define PXP_CTRL_ROTATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_ROTATE_SHIFT)) & PXP_CTRL_ROTATE_MASK)
  33326. #define PXP_CTRL_HFLIP_MASK (0x400U)
  33327. #define PXP_CTRL_HFLIP_SHIFT (10U)
  33328. #define PXP_CTRL_HFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_HFLIP_SHIFT)) & PXP_CTRL_HFLIP_MASK)
  33329. #define PXP_CTRL_VFLIP_MASK (0x800U)
  33330. #define PXP_CTRL_VFLIP_SHIFT (11U)
  33331. #define PXP_CTRL_VFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_VFLIP_SHIFT)) & PXP_CTRL_VFLIP_MASK)
  33332. #define PXP_CTRL_RSVD1_MASK (0x3FF000U)
  33333. #define PXP_CTRL_RSVD1_SHIFT (12U)
  33334. #define PXP_CTRL_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_RSVD1_SHIFT)) & PXP_CTRL_RSVD1_MASK)
  33335. #define PXP_CTRL_ROT_POS_MASK (0x400000U)
  33336. #define PXP_CTRL_ROT_POS_SHIFT (22U)
  33337. #define PXP_CTRL_ROT_POS(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_ROT_POS_SHIFT)) & PXP_CTRL_ROT_POS_MASK)
  33338. #define PXP_CTRL_BLOCK_SIZE_MASK (0x800000U)
  33339. #define PXP_CTRL_BLOCK_SIZE_SHIFT (23U)
  33340. /*! BLOCK_SIZE
  33341. * 0b0..Process 8x8 pixel blocks.
  33342. * 0b1..Process 16x16 pixel blocks.
  33343. */
  33344. #define PXP_CTRL_BLOCK_SIZE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_BLOCK_SIZE_SHIFT)) & PXP_CTRL_BLOCK_SIZE_MASK)
  33345. #define PXP_CTRL_RSVD3_MASK (0xF000000U)
  33346. #define PXP_CTRL_RSVD3_SHIFT (24U)
  33347. #define PXP_CTRL_RSVD3(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_RSVD3_SHIFT)) & PXP_CTRL_RSVD3_MASK)
  33348. #define PXP_CTRL_EN_REPEAT_MASK (0x10000000U)
  33349. #define PXP_CTRL_EN_REPEAT_SHIFT (28U)
  33350. #define PXP_CTRL_EN_REPEAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_EN_REPEAT_SHIFT)) & PXP_CTRL_EN_REPEAT_MASK)
  33351. #define PXP_CTRL_RSVD4_MASK (0x20000000U)
  33352. #define PXP_CTRL_RSVD4_SHIFT (29U)
  33353. #define PXP_CTRL_RSVD4(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_RSVD4_SHIFT)) & PXP_CTRL_RSVD4_MASK)
  33354. #define PXP_CTRL_CLKGATE_MASK (0x40000000U)
  33355. #define PXP_CTRL_CLKGATE_SHIFT (30U)
  33356. #define PXP_CTRL_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLKGATE_SHIFT)) & PXP_CTRL_CLKGATE_MASK)
  33357. #define PXP_CTRL_SFTRST_MASK (0x80000000U)
  33358. #define PXP_CTRL_SFTRST_SHIFT (31U)
  33359. #define PXP_CTRL_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SFTRST_SHIFT)) & PXP_CTRL_SFTRST_MASK)
  33360. /*! @} */
  33361. /*! @name CTRL_SET - Control Register 0 */
  33362. /*! @{ */
  33363. #define PXP_CTRL_SET_ENABLE_MASK (0x1U)
  33364. #define PXP_CTRL_SET_ENABLE_SHIFT (0U)
  33365. #define PXP_CTRL_SET_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_ENABLE_SHIFT)) & PXP_CTRL_SET_ENABLE_MASK)
  33366. #define PXP_CTRL_SET_IRQ_ENABLE_MASK (0x2U)
  33367. #define PXP_CTRL_SET_IRQ_ENABLE_SHIFT (1U)
  33368. #define PXP_CTRL_SET_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_IRQ_ENABLE_SHIFT)) & PXP_CTRL_SET_IRQ_ENABLE_MASK)
  33369. #define PXP_CTRL_SET_NEXT_IRQ_ENABLE_MASK (0x4U)
  33370. #define PXP_CTRL_SET_NEXT_IRQ_ENABLE_SHIFT (2U)
  33371. #define PXP_CTRL_SET_NEXT_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_NEXT_IRQ_ENABLE_SHIFT)) & PXP_CTRL_SET_NEXT_IRQ_ENABLE_MASK)
  33372. #define PXP_CTRL_SET_ENABLE_LCD_HANDSHAKE_MASK (0x10U)
  33373. #define PXP_CTRL_SET_ENABLE_LCD_HANDSHAKE_SHIFT (4U)
  33374. #define PXP_CTRL_SET_ENABLE_LCD_HANDSHAKE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_ENABLE_LCD_HANDSHAKE_SHIFT)) & PXP_CTRL_SET_ENABLE_LCD_HANDSHAKE_MASK)
  33375. #define PXP_CTRL_SET_RSVD0_MASK (0xE0U)
  33376. #define PXP_CTRL_SET_RSVD0_SHIFT (5U)
  33377. #define PXP_CTRL_SET_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_RSVD0_SHIFT)) & PXP_CTRL_SET_RSVD0_MASK)
  33378. #define PXP_CTRL_SET_ROTATE_MASK (0x300U)
  33379. #define PXP_CTRL_SET_ROTATE_SHIFT (8U)
  33380. /*! ROTATE
  33381. * 0b00..ROT_0
  33382. * 0b01..ROT_90
  33383. * 0b10..ROT_180
  33384. * 0b11..ROT_270
  33385. */
  33386. #define PXP_CTRL_SET_ROTATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_ROTATE_SHIFT)) & PXP_CTRL_SET_ROTATE_MASK)
  33387. #define PXP_CTRL_SET_HFLIP_MASK (0x400U)
  33388. #define PXP_CTRL_SET_HFLIP_SHIFT (10U)
  33389. #define PXP_CTRL_SET_HFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_HFLIP_SHIFT)) & PXP_CTRL_SET_HFLIP_MASK)
  33390. #define PXP_CTRL_SET_VFLIP_MASK (0x800U)
  33391. #define PXP_CTRL_SET_VFLIP_SHIFT (11U)
  33392. #define PXP_CTRL_SET_VFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_VFLIP_SHIFT)) & PXP_CTRL_SET_VFLIP_MASK)
  33393. #define PXP_CTRL_SET_RSVD1_MASK (0x3FF000U)
  33394. #define PXP_CTRL_SET_RSVD1_SHIFT (12U)
  33395. #define PXP_CTRL_SET_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_RSVD1_SHIFT)) & PXP_CTRL_SET_RSVD1_MASK)
  33396. #define PXP_CTRL_SET_ROT_POS_MASK (0x400000U)
  33397. #define PXP_CTRL_SET_ROT_POS_SHIFT (22U)
  33398. #define PXP_CTRL_SET_ROT_POS(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_ROT_POS_SHIFT)) & PXP_CTRL_SET_ROT_POS_MASK)
  33399. #define PXP_CTRL_SET_BLOCK_SIZE_MASK (0x800000U)
  33400. #define PXP_CTRL_SET_BLOCK_SIZE_SHIFT (23U)
  33401. /*! BLOCK_SIZE
  33402. * 0b0..Process 8x8 pixel blocks.
  33403. * 0b1..Process 16x16 pixel blocks.
  33404. */
  33405. #define PXP_CTRL_SET_BLOCK_SIZE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_BLOCK_SIZE_SHIFT)) & PXP_CTRL_SET_BLOCK_SIZE_MASK)
  33406. #define PXP_CTRL_SET_RSVD3_MASK (0xF000000U)
  33407. #define PXP_CTRL_SET_RSVD3_SHIFT (24U)
  33408. #define PXP_CTRL_SET_RSVD3(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_RSVD3_SHIFT)) & PXP_CTRL_SET_RSVD3_MASK)
  33409. #define PXP_CTRL_SET_EN_REPEAT_MASK (0x10000000U)
  33410. #define PXP_CTRL_SET_EN_REPEAT_SHIFT (28U)
  33411. #define PXP_CTRL_SET_EN_REPEAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_EN_REPEAT_SHIFT)) & PXP_CTRL_SET_EN_REPEAT_MASK)
  33412. #define PXP_CTRL_SET_RSVD4_MASK (0x20000000U)
  33413. #define PXP_CTRL_SET_RSVD4_SHIFT (29U)
  33414. #define PXP_CTRL_SET_RSVD4(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_RSVD4_SHIFT)) & PXP_CTRL_SET_RSVD4_MASK)
  33415. #define PXP_CTRL_SET_CLKGATE_MASK (0x40000000U)
  33416. #define PXP_CTRL_SET_CLKGATE_SHIFT (30U)
  33417. #define PXP_CTRL_SET_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_CLKGATE_SHIFT)) & PXP_CTRL_SET_CLKGATE_MASK)
  33418. #define PXP_CTRL_SET_SFTRST_MASK (0x80000000U)
  33419. #define PXP_CTRL_SET_SFTRST_SHIFT (31U)
  33420. #define PXP_CTRL_SET_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_SFTRST_SHIFT)) & PXP_CTRL_SET_SFTRST_MASK)
  33421. /*! @} */
  33422. /*! @name CTRL_CLR - Control Register 0 */
  33423. /*! @{ */
  33424. #define PXP_CTRL_CLR_ENABLE_MASK (0x1U)
  33425. #define PXP_CTRL_CLR_ENABLE_SHIFT (0U)
  33426. #define PXP_CTRL_CLR_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_ENABLE_SHIFT)) & PXP_CTRL_CLR_ENABLE_MASK)
  33427. #define PXP_CTRL_CLR_IRQ_ENABLE_MASK (0x2U)
  33428. #define PXP_CTRL_CLR_IRQ_ENABLE_SHIFT (1U)
  33429. #define PXP_CTRL_CLR_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_IRQ_ENABLE_SHIFT)) & PXP_CTRL_CLR_IRQ_ENABLE_MASK)
  33430. #define PXP_CTRL_CLR_NEXT_IRQ_ENABLE_MASK (0x4U)
  33431. #define PXP_CTRL_CLR_NEXT_IRQ_ENABLE_SHIFT (2U)
  33432. #define PXP_CTRL_CLR_NEXT_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_NEXT_IRQ_ENABLE_SHIFT)) & PXP_CTRL_CLR_NEXT_IRQ_ENABLE_MASK)
  33433. #define PXP_CTRL_CLR_ENABLE_LCD_HANDSHAKE_MASK (0x10U)
  33434. #define PXP_CTRL_CLR_ENABLE_LCD_HANDSHAKE_SHIFT (4U)
  33435. #define PXP_CTRL_CLR_ENABLE_LCD_HANDSHAKE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_ENABLE_LCD_HANDSHAKE_SHIFT)) & PXP_CTRL_CLR_ENABLE_LCD_HANDSHAKE_MASK)
  33436. #define PXP_CTRL_CLR_RSVD0_MASK (0xE0U)
  33437. #define PXP_CTRL_CLR_RSVD0_SHIFT (5U)
  33438. #define PXP_CTRL_CLR_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_RSVD0_SHIFT)) & PXP_CTRL_CLR_RSVD0_MASK)
  33439. #define PXP_CTRL_CLR_ROTATE_MASK (0x300U)
  33440. #define PXP_CTRL_CLR_ROTATE_SHIFT (8U)
  33441. /*! ROTATE
  33442. * 0b00..ROT_0
  33443. * 0b01..ROT_90
  33444. * 0b10..ROT_180
  33445. * 0b11..ROT_270
  33446. */
  33447. #define PXP_CTRL_CLR_ROTATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_ROTATE_SHIFT)) & PXP_CTRL_CLR_ROTATE_MASK)
  33448. #define PXP_CTRL_CLR_HFLIP_MASK (0x400U)
  33449. #define PXP_CTRL_CLR_HFLIP_SHIFT (10U)
  33450. #define PXP_CTRL_CLR_HFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_HFLIP_SHIFT)) & PXP_CTRL_CLR_HFLIP_MASK)
  33451. #define PXP_CTRL_CLR_VFLIP_MASK (0x800U)
  33452. #define PXP_CTRL_CLR_VFLIP_SHIFT (11U)
  33453. #define PXP_CTRL_CLR_VFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_VFLIP_SHIFT)) & PXP_CTRL_CLR_VFLIP_MASK)
  33454. #define PXP_CTRL_CLR_RSVD1_MASK (0x3FF000U)
  33455. #define PXP_CTRL_CLR_RSVD1_SHIFT (12U)
  33456. #define PXP_CTRL_CLR_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_RSVD1_SHIFT)) & PXP_CTRL_CLR_RSVD1_MASK)
  33457. #define PXP_CTRL_CLR_ROT_POS_MASK (0x400000U)
  33458. #define PXP_CTRL_CLR_ROT_POS_SHIFT (22U)
  33459. #define PXP_CTRL_CLR_ROT_POS(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_ROT_POS_SHIFT)) & PXP_CTRL_CLR_ROT_POS_MASK)
  33460. #define PXP_CTRL_CLR_BLOCK_SIZE_MASK (0x800000U)
  33461. #define PXP_CTRL_CLR_BLOCK_SIZE_SHIFT (23U)
  33462. /*! BLOCK_SIZE
  33463. * 0b0..Process 8x8 pixel blocks.
  33464. * 0b1..Process 16x16 pixel blocks.
  33465. */
  33466. #define PXP_CTRL_CLR_BLOCK_SIZE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_BLOCK_SIZE_SHIFT)) & PXP_CTRL_CLR_BLOCK_SIZE_MASK)
  33467. #define PXP_CTRL_CLR_RSVD3_MASK (0xF000000U)
  33468. #define PXP_CTRL_CLR_RSVD3_SHIFT (24U)
  33469. #define PXP_CTRL_CLR_RSVD3(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_RSVD3_SHIFT)) & PXP_CTRL_CLR_RSVD3_MASK)
  33470. #define PXP_CTRL_CLR_EN_REPEAT_MASK (0x10000000U)
  33471. #define PXP_CTRL_CLR_EN_REPEAT_SHIFT (28U)
  33472. #define PXP_CTRL_CLR_EN_REPEAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_EN_REPEAT_SHIFT)) & PXP_CTRL_CLR_EN_REPEAT_MASK)
  33473. #define PXP_CTRL_CLR_RSVD4_MASK (0x20000000U)
  33474. #define PXP_CTRL_CLR_RSVD4_SHIFT (29U)
  33475. #define PXP_CTRL_CLR_RSVD4(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_RSVD4_SHIFT)) & PXP_CTRL_CLR_RSVD4_MASK)
  33476. #define PXP_CTRL_CLR_CLKGATE_MASK (0x40000000U)
  33477. #define PXP_CTRL_CLR_CLKGATE_SHIFT (30U)
  33478. #define PXP_CTRL_CLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_CLKGATE_SHIFT)) & PXP_CTRL_CLR_CLKGATE_MASK)
  33479. #define PXP_CTRL_CLR_SFTRST_MASK (0x80000000U)
  33480. #define PXP_CTRL_CLR_SFTRST_SHIFT (31U)
  33481. #define PXP_CTRL_CLR_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_SFTRST_SHIFT)) & PXP_CTRL_CLR_SFTRST_MASK)
  33482. /*! @} */
  33483. /*! @name CTRL_TOG - Control Register 0 */
  33484. /*! @{ */
  33485. #define PXP_CTRL_TOG_ENABLE_MASK (0x1U)
  33486. #define PXP_CTRL_TOG_ENABLE_SHIFT (0U)
  33487. #define PXP_CTRL_TOG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_ENABLE_SHIFT)) & PXP_CTRL_TOG_ENABLE_MASK)
  33488. #define PXP_CTRL_TOG_IRQ_ENABLE_MASK (0x2U)
  33489. #define PXP_CTRL_TOG_IRQ_ENABLE_SHIFT (1U)
  33490. #define PXP_CTRL_TOG_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_IRQ_ENABLE_SHIFT)) & PXP_CTRL_TOG_IRQ_ENABLE_MASK)
  33491. #define PXP_CTRL_TOG_NEXT_IRQ_ENABLE_MASK (0x4U)
  33492. #define PXP_CTRL_TOG_NEXT_IRQ_ENABLE_SHIFT (2U)
  33493. #define PXP_CTRL_TOG_NEXT_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_NEXT_IRQ_ENABLE_SHIFT)) & PXP_CTRL_TOG_NEXT_IRQ_ENABLE_MASK)
  33494. #define PXP_CTRL_TOG_ENABLE_LCD_HANDSHAKE_MASK (0x10U)
  33495. #define PXP_CTRL_TOG_ENABLE_LCD_HANDSHAKE_SHIFT (4U)
  33496. #define PXP_CTRL_TOG_ENABLE_LCD_HANDSHAKE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_ENABLE_LCD_HANDSHAKE_SHIFT)) & PXP_CTRL_TOG_ENABLE_LCD_HANDSHAKE_MASK)
  33497. #define PXP_CTRL_TOG_RSVD0_MASK (0xE0U)
  33498. #define PXP_CTRL_TOG_RSVD0_SHIFT (5U)
  33499. #define PXP_CTRL_TOG_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_RSVD0_SHIFT)) & PXP_CTRL_TOG_RSVD0_MASK)
  33500. #define PXP_CTRL_TOG_ROTATE_MASK (0x300U)
  33501. #define PXP_CTRL_TOG_ROTATE_SHIFT (8U)
  33502. /*! ROTATE
  33503. * 0b00..ROT_0
  33504. * 0b01..ROT_90
  33505. * 0b10..ROT_180
  33506. * 0b11..ROT_270
  33507. */
  33508. #define PXP_CTRL_TOG_ROTATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_ROTATE_SHIFT)) & PXP_CTRL_TOG_ROTATE_MASK)
  33509. #define PXP_CTRL_TOG_HFLIP_MASK (0x400U)
  33510. #define PXP_CTRL_TOG_HFLIP_SHIFT (10U)
  33511. #define PXP_CTRL_TOG_HFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_HFLIP_SHIFT)) & PXP_CTRL_TOG_HFLIP_MASK)
  33512. #define PXP_CTRL_TOG_VFLIP_MASK (0x800U)
  33513. #define PXP_CTRL_TOG_VFLIP_SHIFT (11U)
  33514. #define PXP_CTRL_TOG_VFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_VFLIP_SHIFT)) & PXP_CTRL_TOG_VFLIP_MASK)
  33515. #define PXP_CTRL_TOG_RSVD1_MASK (0x3FF000U)
  33516. #define PXP_CTRL_TOG_RSVD1_SHIFT (12U)
  33517. #define PXP_CTRL_TOG_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_RSVD1_SHIFT)) & PXP_CTRL_TOG_RSVD1_MASK)
  33518. #define PXP_CTRL_TOG_ROT_POS_MASK (0x400000U)
  33519. #define PXP_CTRL_TOG_ROT_POS_SHIFT (22U)
  33520. #define PXP_CTRL_TOG_ROT_POS(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_ROT_POS_SHIFT)) & PXP_CTRL_TOG_ROT_POS_MASK)
  33521. #define PXP_CTRL_TOG_BLOCK_SIZE_MASK (0x800000U)
  33522. #define PXP_CTRL_TOG_BLOCK_SIZE_SHIFT (23U)
  33523. /*! BLOCK_SIZE
  33524. * 0b0..Process 8x8 pixel blocks.
  33525. * 0b1..Process 16x16 pixel blocks.
  33526. */
  33527. #define PXP_CTRL_TOG_BLOCK_SIZE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_BLOCK_SIZE_SHIFT)) & PXP_CTRL_TOG_BLOCK_SIZE_MASK)
  33528. #define PXP_CTRL_TOG_RSVD3_MASK (0xF000000U)
  33529. #define PXP_CTRL_TOG_RSVD3_SHIFT (24U)
  33530. #define PXP_CTRL_TOG_RSVD3(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_RSVD3_SHIFT)) & PXP_CTRL_TOG_RSVD3_MASK)
  33531. #define PXP_CTRL_TOG_EN_REPEAT_MASK (0x10000000U)
  33532. #define PXP_CTRL_TOG_EN_REPEAT_SHIFT (28U)
  33533. #define PXP_CTRL_TOG_EN_REPEAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_EN_REPEAT_SHIFT)) & PXP_CTRL_TOG_EN_REPEAT_MASK)
  33534. #define PXP_CTRL_TOG_RSVD4_MASK (0x20000000U)
  33535. #define PXP_CTRL_TOG_RSVD4_SHIFT (29U)
  33536. #define PXP_CTRL_TOG_RSVD4(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_RSVD4_SHIFT)) & PXP_CTRL_TOG_RSVD4_MASK)
  33537. #define PXP_CTRL_TOG_CLKGATE_MASK (0x40000000U)
  33538. #define PXP_CTRL_TOG_CLKGATE_SHIFT (30U)
  33539. #define PXP_CTRL_TOG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_CLKGATE_SHIFT)) & PXP_CTRL_TOG_CLKGATE_MASK)
  33540. #define PXP_CTRL_TOG_SFTRST_MASK (0x80000000U)
  33541. #define PXP_CTRL_TOG_SFTRST_SHIFT (31U)
  33542. #define PXP_CTRL_TOG_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_SFTRST_SHIFT)) & PXP_CTRL_TOG_SFTRST_MASK)
  33543. /*! @} */
  33544. /*! @name STAT - Status Register */
  33545. /*! @{ */
  33546. #define PXP_STAT_IRQ_MASK (0x1U)
  33547. #define PXP_STAT_IRQ_SHIFT (0U)
  33548. #define PXP_STAT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_IRQ_SHIFT)) & PXP_STAT_IRQ_MASK)
  33549. #define PXP_STAT_AXI_WRITE_ERROR_MASK (0x2U)
  33550. #define PXP_STAT_AXI_WRITE_ERROR_SHIFT (1U)
  33551. #define PXP_STAT_AXI_WRITE_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_AXI_WRITE_ERROR_SHIFT)) & PXP_STAT_AXI_WRITE_ERROR_MASK)
  33552. #define PXP_STAT_AXI_READ_ERROR_MASK (0x4U)
  33553. #define PXP_STAT_AXI_READ_ERROR_SHIFT (2U)
  33554. #define PXP_STAT_AXI_READ_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_AXI_READ_ERROR_SHIFT)) & PXP_STAT_AXI_READ_ERROR_MASK)
  33555. #define PXP_STAT_NEXT_IRQ_MASK (0x8U)
  33556. #define PXP_STAT_NEXT_IRQ_SHIFT (3U)
  33557. #define PXP_STAT_NEXT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_NEXT_IRQ_SHIFT)) & PXP_STAT_NEXT_IRQ_MASK)
  33558. #define PXP_STAT_AXI_ERROR_ID_MASK (0xF0U)
  33559. #define PXP_STAT_AXI_ERROR_ID_SHIFT (4U)
  33560. #define PXP_STAT_AXI_ERROR_ID(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_AXI_ERROR_ID_SHIFT)) & PXP_STAT_AXI_ERROR_ID_MASK)
  33561. #define PXP_STAT_LUT_DMA_LOAD_DONE_IRQ_MASK (0x100U)
  33562. #define PXP_STAT_LUT_DMA_LOAD_DONE_IRQ_SHIFT (8U)
  33563. #define PXP_STAT_LUT_DMA_LOAD_DONE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_LUT_DMA_LOAD_DONE_IRQ_SHIFT)) & PXP_STAT_LUT_DMA_LOAD_DONE_IRQ_MASK)
  33564. #define PXP_STAT_RSVD2_MASK (0xFE00U)
  33565. #define PXP_STAT_RSVD2_SHIFT (9U)
  33566. #define PXP_STAT_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_RSVD2_SHIFT)) & PXP_STAT_RSVD2_MASK)
  33567. #define PXP_STAT_BLOCKY_MASK (0xFF0000U)
  33568. #define PXP_STAT_BLOCKY_SHIFT (16U)
  33569. #define PXP_STAT_BLOCKY(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_BLOCKY_SHIFT)) & PXP_STAT_BLOCKY_MASK)
  33570. #define PXP_STAT_BLOCKX_MASK (0xFF000000U)
  33571. #define PXP_STAT_BLOCKX_SHIFT (24U)
  33572. #define PXP_STAT_BLOCKX(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_BLOCKX_SHIFT)) & PXP_STAT_BLOCKX_MASK)
  33573. /*! @} */
  33574. /*! @name STAT_SET - Status Register */
  33575. /*! @{ */
  33576. #define PXP_STAT_SET_IRQ_MASK (0x1U)
  33577. #define PXP_STAT_SET_IRQ_SHIFT (0U)
  33578. #define PXP_STAT_SET_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_IRQ_SHIFT)) & PXP_STAT_SET_IRQ_MASK)
  33579. #define PXP_STAT_SET_AXI_WRITE_ERROR_MASK (0x2U)
  33580. #define PXP_STAT_SET_AXI_WRITE_ERROR_SHIFT (1U)
  33581. #define PXP_STAT_SET_AXI_WRITE_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_AXI_WRITE_ERROR_SHIFT)) & PXP_STAT_SET_AXI_WRITE_ERROR_MASK)
  33582. #define PXP_STAT_SET_AXI_READ_ERROR_MASK (0x4U)
  33583. #define PXP_STAT_SET_AXI_READ_ERROR_SHIFT (2U)
  33584. #define PXP_STAT_SET_AXI_READ_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_AXI_READ_ERROR_SHIFT)) & PXP_STAT_SET_AXI_READ_ERROR_MASK)
  33585. #define PXP_STAT_SET_NEXT_IRQ_MASK (0x8U)
  33586. #define PXP_STAT_SET_NEXT_IRQ_SHIFT (3U)
  33587. #define PXP_STAT_SET_NEXT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_NEXT_IRQ_SHIFT)) & PXP_STAT_SET_NEXT_IRQ_MASK)
  33588. #define PXP_STAT_SET_AXI_ERROR_ID_MASK (0xF0U)
  33589. #define PXP_STAT_SET_AXI_ERROR_ID_SHIFT (4U)
  33590. #define PXP_STAT_SET_AXI_ERROR_ID(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_AXI_ERROR_ID_SHIFT)) & PXP_STAT_SET_AXI_ERROR_ID_MASK)
  33591. #define PXP_STAT_SET_LUT_DMA_LOAD_DONE_IRQ_MASK (0x100U)
  33592. #define PXP_STAT_SET_LUT_DMA_LOAD_DONE_IRQ_SHIFT (8U)
  33593. #define PXP_STAT_SET_LUT_DMA_LOAD_DONE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_LUT_DMA_LOAD_DONE_IRQ_SHIFT)) & PXP_STAT_SET_LUT_DMA_LOAD_DONE_IRQ_MASK)
  33594. #define PXP_STAT_SET_RSVD2_MASK (0xFE00U)
  33595. #define PXP_STAT_SET_RSVD2_SHIFT (9U)
  33596. #define PXP_STAT_SET_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_RSVD2_SHIFT)) & PXP_STAT_SET_RSVD2_MASK)
  33597. #define PXP_STAT_SET_BLOCKY_MASK (0xFF0000U)
  33598. #define PXP_STAT_SET_BLOCKY_SHIFT (16U)
  33599. #define PXP_STAT_SET_BLOCKY(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_BLOCKY_SHIFT)) & PXP_STAT_SET_BLOCKY_MASK)
  33600. #define PXP_STAT_SET_BLOCKX_MASK (0xFF000000U)
  33601. #define PXP_STAT_SET_BLOCKX_SHIFT (24U)
  33602. #define PXP_STAT_SET_BLOCKX(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_BLOCKX_SHIFT)) & PXP_STAT_SET_BLOCKX_MASK)
  33603. /*! @} */
  33604. /*! @name STAT_CLR - Status Register */
  33605. /*! @{ */
  33606. #define PXP_STAT_CLR_IRQ_MASK (0x1U)
  33607. #define PXP_STAT_CLR_IRQ_SHIFT (0U)
  33608. #define PXP_STAT_CLR_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_IRQ_SHIFT)) & PXP_STAT_CLR_IRQ_MASK)
  33609. #define PXP_STAT_CLR_AXI_WRITE_ERROR_MASK (0x2U)
  33610. #define PXP_STAT_CLR_AXI_WRITE_ERROR_SHIFT (1U)
  33611. #define PXP_STAT_CLR_AXI_WRITE_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_AXI_WRITE_ERROR_SHIFT)) & PXP_STAT_CLR_AXI_WRITE_ERROR_MASK)
  33612. #define PXP_STAT_CLR_AXI_READ_ERROR_MASK (0x4U)
  33613. #define PXP_STAT_CLR_AXI_READ_ERROR_SHIFT (2U)
  33614. #define PXP_STAT_CLR_AXI_READ_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_AXI_READ_ERROR_SHIFT)) & PXP_STAT_CLR_AXI_READ_ERROR_MASK)
  33615. #define PXP_STAT_CLR_NEXT_IRQ_MASK (0x8U)
  33616. #define PXP_STAT_CLR_NEXT_IRQ_SHIFT (3U)
  33617. #define PXP_STAT_CLR_NEXT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_NEXT_IRQ_SHIFT)) & PXP_STAT_CLR_NEXT_IRQ_MASK)
  33618. #define PXP_STAT_CLR_AXI_ERROR_ID_MASK (0xF0U)
  33619. #define PXP_STAT_CLR_AXI_ERROR_ID_SHIFT (4U)
  33620. #define PXP_STAT_CLR_AXI_ERROR_ID(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_AXI_ERROR_ID_SHIFT)) & PXP_STAT_CLR_AXI_ERROR_ID_MASK)
  33621. #define PXP_STAT_CLR_LUT_DMA_LOAD_DONE_IRQ_MASK (0x100U)
  33622. #define PXP_STAT_CLR_LUT_DMA_LOAD_DONE_IRQ_SHIFT (8U)
  33623. #define PXP_STAT_CLR_LUT_DMA_LOAD_DONE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_LUT_DMA_LOAD_DONE_IRQ_SHIFT)) & PXP_STAT_CLR_LUT_DMA_LOAD_DONE_IRQ_MASK)
  33624. #define PXP_STAT_CLR_RSVD2_MASK (0xFE00U)
  33625. #define PXP_STAT_CLR_RSVD2_SHIFT (9U)
  33626. #define PXP_STAT_CLR_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_RSVD2_SHIFT)) & PXP_STAT_CLR_RSVD2_MASK)
  33627. #define PXP_STAT_CLR_BLOCKY_MASK (0xFF0000U)
  33628. #define PXP_STAT_CLR_BLOCKY_SHIFT (16U)
  33629. #define PXP_STAT_CLR_BLOCKY(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_BLOCKY_SHIFT)) & PXP_STAT_CLR_BLOCKY_MASK)
  33630. #define PXP_STAT_CLR_BLOCKX_MASK (0xFF000000U)
  33631. #define PXP_STAT_CLR_BLOCKX_SHIFT (24U)
  33632. #define PXP_STAT_CLR_BLOCKX(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_BLOCKX_SHIFT)) & PXP_STAT_CLR_BLOCKX_MASK)
  33633. /*! @} */
  33634. /*! @name STAT_TOG - Status Register */
  33635. /*! @{ */
  33636. #define PXP_STAT_TOG_IRQ_MASK (0x1U)
  33637. #define PXP_STAT_TOG_IRQ_SHIFT (0U)
  33638. #define PXP_STAT_TOG_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_IRQ_SHIFT)) & PXP_STAT_TOG_IRQ_MASK)
  33639. #define PXP_STAT_TOG_AXI_WRITE_ERROR_MASK (0x2U)
  33640. #define PXP_STAT_TOG_AXI_WRITE_ERROR_SHIFT (1U)
  33641. #define PXP_STAT_TOG_AXI_WRITE_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_AXI_WRITE_ERROR_SHIFT)) & PXP_STAT_TOG_AXI_WRITE_ERROR_MASK)
  33642. #define PXP_STAT_TOG_AXI_READ_ERROR_MASK (0x4U)
  33643. #define PXP_STAT_TOG_AXI_READ_ERROR_SHIFT (2U)
  33644. #define PXP_STAT_TOG_AXI_READ_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_AXI_READ_ERROR_SHIFT)) & PXP_STAT_TOG_AXI_READ_ERROR_MASK)
  33645. #define PXP_STAT_TOG_NEXT_IRQ_MASK (0x8U)
  33646. #define PXP_STAT_TOG_NEXT_IRQ_SHIFT (3U)
  33647. #define PXP_STAT_TOG_NEXT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_NEXT_IRQ_SHIFT)) & PXP_STAT_TOG_NEXT_IRQ_MASK)
  33648. #define PXP_STAT_TOG_AXI_ERROR_ID_MASK (0xF0U)
  33649. #define PXP_STAT_TOG_AXI_ERROR_ID_SHIFT (4U)
  33650. #define PXP_STAT_TOG_AXI_ERROR_ID(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_AXI_ERROR_ID_SHIFT)) & PXP_STAT_TOG_AXI_ERROR_ID_MASK)
  33651. #define PXP_STAT_TOG_LUT_DMA_LOAD_DONE_IRQ_MASK (0x100U)
  33652. #define PXP_STAT_TOG_LUT_DMA_LOAD_DONE_IRQ_SHIFT (8U)
  33653. #define PXP_STAT_TOG_LUT_DMA_LOAD_DONE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_LUT_DMA_LOAD_DONE_IRQ_SHIFT)) & PXP_STAT_TOG_LUT_DMA_LOAD_DONE_IRQ_MASK)
  33654. #define PXP_STAT_TOG_RSVD2_MASK (0xFE00U)
  33655. #define PXP_STAT_TOG_RSVD2_SHIFT (9U)
  33656. #define PXP_STAT_TOG_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_RSVD2_SHIFT)) & PXP_STAT_TOG_RSVD2_MASK)
  33657. #define PXP_STAT_TOG_BLOCKY_MASK (0xFF0000U)
  33658. #define PXP_STAT_TOG_BLOCKY_SHIFT (16U)
  33659. #define PXP_STAT_TOG_BLOCKY(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_BLOCKY_SHIFT)) & PXP_STAT_TOG_BLOCKY_MASK)
  33660. #define PXP_STAT_TOG_BLOCKX_MASK (0xFF000000U)
  33661. #define PXP_STAT_TOG_BLOCKX_SHIFT (24U)
  33662. #define PXP_STAT_TOG_BLOCKX(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_BLOCKX_SHIFT)) & PXP_STAT_TOG_BLOCKX_MASK)
  33663. /*! @} */
  33664. /*! @name OUT_CTRL - Output Buffer Control Register */
  33665. /*! @{ */
  33666. #define PXP_OUT_CTRL_FORMAT_MASK (0x1FU)
  33667. #define PXP_OUT_CTRL_FORMAT_SHIFT (0U)
  33668. /*! FORMAT
  33669. * 0b00000..32-bit pixels
  33670. * 0b00100..32-bit pixels (unpacked 24-bit pixel in 32 bit DWORD.)
  33671. * 0b00101..24-bit pixels (packed 24-bit format)
  33672. * 0b01000..16-bit pixels
  33673. * 0b01001..16-bit pixels
  33674. * 0b01100..16-bit pixels
  33675. * 0b01101..16-bit pixels
  33676. * 0b01110..16-bit pixels
  33677. * 0b10000..32-bit pixels (1-plane XYUV unpacked)
  33678. * 0b10010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  33679. * 0b10011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  33680. * 0b10100..8-bit monochrome pixels (1-plane Y luma output)
  33681. * 0b10101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  33682. * 0b11000..16-bit pixels (2-plane UV interleaved bytes)
  33683. * 0b11001..16-bit pixels (2-plane UV)
  33684. * 0b11010..16-bit pixels (2-plane VU interleaved bytes)
  33685. * 0b11011..16-bit pixels (2-plane VU)
  33686. */
  33687. #define PXP_OUT_CTRL_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_FORMAT_SHIFT)) & PXP_OUT_CTRL_FORMAT_MASK)
  33688. #define PXP_OUT_CTRL_RSVD0_MASK (0xE0U)
  33689. #define PXP_OUT_CTRL_RSVD0_SHIFT (5U)
  33690. #define PXP_OUT_CTRL_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_RSVD0_SHIFT)) & PXP_OUT_CTRL_RSVD0_MASK)
  33691. #define PXP_OUT_CTRL_INTERLACED_OUTPUT_MASK (0x300U)
  33692. #define PXP_OUT_CTRL_INTERLACED_OUTPUT_SHIFT (8U)
  33693. /*! INTERLACED_OUTPUT
  33694. * 0b00..All data written in progressive format to the OUTBUF Pointer.
  33695. * 0b01..Interlaced output: only data for field 0 is written to the OUTBUF Pointer.
  33696. * 0b10..Interlaced output: only data for field 1 is written to the OUTBUF2 Pointer.
  33697. * 0b11..Interlaced output: data for field 0 is written to OUTBUF and data for field 1 is written to OUTBUF2.
  33698. */
  33699. #define PXP_OUT_CTRL_INTERLACED_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_INTERLACED_OUTPUT_SHIFT)) & PXP_OUT_CTRL_INTERLACED_OUTPUT_MASK)
  33700. #define PXP_OUT_CTRL_RSVD1_MASK (0x7FFC00U)
  33701. #define PXP_OUT_CTRL_RSVD1_SHIFT (10U)
  33702. #define PXP_OUT_CTRL_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_RSVD1_SHIFT)) & PXP_OUT_CTRL_RSVD1_MASK)
  33703. #define PXP_OUT_CTRL_ALPHA_OUTPUT_MASK (0x800000U)
  33704. #define PXP_OUT_CTRL_ALPHA_OUTPUT_SHIFT (23U)
  33705. #define PXP_OUT_CTRL_ALPHA_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_ALPHA_OUTPUT_SHIFT)) & PXP_OUT_CTRL_ALPHA_OUTPUT_MASK)
  33706. #define PXP_OUT_CTRL_ALPHA_MASK (0xFF000000U)
  33707. #define PXP_OUT_CTRL_ALPHA_SHIFT (24U)
  33708. #define PXP_OUT_CTRL_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_ALPHA_SHIFT)) & PXP_OUT_CTRL_ALPHA_MASK)
  33709. /*! @} */
  33710. /*! @name OUT_CTRL_SET - Output Buffer Control Register */
  33711. /*! @{ */
  33712. #define PXP_OUT_CTRL_SET_FORMAT_MASK (0x1FU)
  33713. #define PXP_OUT_CTRL_SET_FORMAT_SHIFT (0U)
  33714. /*! FORMAT
  33715. * 0b00000..32-bit pixels
  33716. * 0b00100..32-bit pixels (unpacked 24-bit pixel in 32 bit DWORD.)
  33717. * 0b00101..24-bit pixels (packed 24-bit format)
  33718. * 0b01000..16-bit pixels
  33719. * 0b01001..16-bit pixels
  33720. * 0b01100..16-bit pixels
  33721. * 0b01101..16-bit pixels
  33722. * 0b01110..16-bit pixels
  33723. * 0b10000..32-bit pixels (1-plane XYUV unpacked)
  33724. * 0b10010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  33725. * 0b10011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  33726. * 0b10100..8-bit monochrome pixels (1-plane Y luma output)
  33727. * 0b10101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  33728. * 0b11000..16-bit pixels (2-plane UV interleaved bytes)
  33729. * 0b11001..16-bit pixels (2-plane UV)
  33730. * 0b11010..16-bit pixels (2-plane VU interleaved bytes)
  33731. * 0b11011..16-bit pixels (2-plane VU)
  33732. */
  33733. #define PXP_OUT_CTRL_SET_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_SET_FORMAT_SHIFT)) & PXP_OUT_CTRL_SET_FORMAT_MASK)
  33734. #define PXP_OUT_CTRL_SET_RSVD0_MASK (0xE0U)
  33735. #define PXP_OUT_CTRL_SET_RSVD0_SHIFT (5U)
  33736. #define PXP_OUT_CTRL_SET_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_SET_RSVD0_SHIFT)) & PXP_OUT_CTRL_SET_RSVD0_MASK)
  33737. #define PXP_OUT_CTRL_SET_INTERLACED_OUTPUT_MASK (0x300U)
  33738. #define PXP_OUT_CTRL_SET_INTERLACED_OUTPUT_SHIFT (8U)
  33739. /*! INTERLACED_OUTPUT
  33740. * 0b00..All data written in progressive format to the OUTBUF Pointer.
  33741. * 0b01..Interlaced output: only data for field 0 is written to the OUTBUF Pointer.
  33742. * 0b10..Interlaced output: only data for field 1 is written to the OUTBUF2 Pointer.
  33743. * 0b11..Interlaced output: data for field 0 is written to OUTBUF and data for field 1 is written to OUTBUF2.
  33744. */
  33745. #define PXP_OUT_CTRL_SET_INTERLACED_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_SET_INTERLACED_OUTPUT_SHIFT)) & PXP_OUT_CTRL_SET_INTERLACED_OUTPUT_MASK)
  33746. #define PXP_OUT_CTRL_SET_RSVD1_MASK (0x7FFC00U)
  33747. #define PXP_OUT_CTRL_SET_RSVD1_SHIFT (10U)
  33748. #define PXP_OUT_CTRL_SET_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_SET_RSVD1_SHIFT)) & PXP_OUT_CTRL_SET_RSVD1_MASK)
  33749. #define PXP_OUT_CTRL_SET_ALPHA_OUTPUT_MASK (0x800000U)
  33750. #define PXP_OUT_CTRL_SET_ALPHA_OUTPUT_SHIFT (23U)
  33751. #define PXP_OUT_CTRL_SET_ALPHA_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_SET_ALPHA_OUTPUT_SHIFT)) & PXP_OUT_CTRL_SET_ALPHA_OUTPUT_MASK)
  33752. #define PXP_OUT_CTRL_SET_ALPHA_MASK (0xFF000000U)
  33753. #define PXP_OUT_CTRL_SET_ALPHA_SHIFT (24U)
  33754. #define PXP_OUT_CTRL_SET_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_SET_ALPHA_SHIFT)) & PXP_OUT_CTRL_SET_ALPHA_MASK)
  33755. /*! @} */
  33756. /*! @name OUT_CTRL_CLR - Output Buffer Control Register */
  33757. /*! @{ */
  33758. #define PXP_OUT_CTRL_CLR_FORMAT_MASK (0x1FU)
  33759. #define PXP_OUT_CTRL_CLR_FORMAT_SHIFT (0U)
  33760. /*! FORMAT
  33761. * 0b00000..32-bit pixels
  33762. * 0b00100..32-bit pixels (unpacked 24-bit pixel in 32 bit DWORD.)
  33763. * 0b00101..24-bit pixels (packed 24-bit format)
  33764. * 0b01000..16-bit pixels
  33765. * 0b01001..16-bit pixels
  33766. * 0b01100..16-bit pixels
  33767. * 0b01101..16-bit pixels
  33768. * 0b01110..16-bit pixels
  33769. * 0b10000..32-bit pixels (1-plane XYUV unpacked)
  33770. * 0b10010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  33771. * 0b10011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  33772. * 0b10100..8-bit monochrome pixels (1-plane Y luma output)
  33773. * 0b10101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  33774. * 0b11000..16-bit pixels (2-plane UV interleaved bytes)
  33775. * 0b11001..16-bit pixels (2-plane UV)
  33776. * 0b11010..16-bit pixels (2-plane VU interleaved bytes)
  33777. * 0b11011..16-bit pixels (2-plane VU)
  33778. */
  33779. #define PXP_OUT_CTRL_CLR_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_CLR_FORMAT_SHIFT)) & PXP_OUT_CTRL_CLR_FORMAT_MASK)
  33780. #define PXP_OUT_CTRL_CLR_RSVD0_MASK (0xE0U)
  33781. #define PXP_OUT_CTRL_CLR_RSVD0_SHIFT (5U)
  33782. #define PXP_OUT_CTRL_CLR_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_CLR_RSVD0_SHIFT)) & PXP_OUT_CTRL_CLR_RSVD0_MASK)
  33783. #define PXP_OUT_CTRL_CLR_INTERLACED_OUTPUT_MASK (0x300U)
  33784. #define PXP_OUT_CTRL_CLR_INTERLACED_OUTPUT_SHIFT (8U)
  33785. /*! INTERLACED_OUTPUT
  33786. * 0b00..All data written in progressive format to the OUTBUF Pointer.
  33787. * 0b01..Interlaced output: only data for field 0 is written to the OUTBUF Pointer.
  33788. * 0b10..Interlaced output: only data for field 1 is written to the OUTBUF2 Pointer.
  33789. * 0b11..Interlaced output: data for field 0 is written to OUTBUF and data for field 1 is written to OUTBUF2.
  33790. */
  33791. #define PXP_OUT_CTRL_CLR_INTERLACED_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_CLR_INTERLACED_OUTPUT_SHIFT)) & PXP_OUT_CTRL_CLR_INTERLACED_OUTPUT_MASK)
  33792. #define PXP_OUT_CTRL_CLR_RSVD1_MASK (0x7FFC00U)
  33793. #define PXP_OUT_CTRL_CLR_RSVD1_SHIFT (10U)
  33794. #define PXP_OUT_CTRL_CLR_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_CLR_RSVD1_SHIFT)) & PXP_OUT_CTRL_CLR_RSVD1_MASK)
  33795. #define PXP_OUT_CTRL_CLR_ALPHA_OUTPUT_MASK (0x800000U)
  33796. #define PXP_OUT_CTRL_CLR_ALPHA_OUTPUT_SHIFT (23U)
  33797. #define PXP_OUT_CTRL_CLR_ALPHA_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_CLR_ALPHA_OUTPUT_SHIFT)) & PXP_OUT_CTRL_CLR_ALPHA_OUTPUT_MASK)
  33798. #define PXP_OUT_CTRL_CLR_ALPHA_MASK (0xFF000000U)
  33799. #define PXP_OUT_CTRL_CLR_ALPHA_SHIFT (24U)
  33800. #define PXP_OUT_CTRL_CLR_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_CLR_ALPHA_SHIFT)) & PXP_OUT_CTRL_CLR_ALPHA_MASK)
  33801. /*! @} */
  33802. /*! @name OUT_CTRL_TOG - Output Buffer Control Register */
  33803. /*! @{ */
  33804. #define PXP_OUT_CTRL_TOG_FORMAT_MASK (0x1FU)
  33805. #define PXP_OUT_CTRL_TOG_FORMAT_SHIFT (0U)
  33806. /*! FORMAT
  33807. * 0b00000..32-bit pixels
  33808. * 0b00100..32-bit pixels (unpacked 24-bit pixel in 32 bit DWORD.)
  33809. * 0b00101..24-bit pixels (packed 24-bit format)
  33810. * 0b01000..16-bit pixels
  33811. * 0b01001..16-bit pixels
  33812. * 0b01100..16-bit pixels
  33813. * 0b01101..16-bit pixels
  33814. * 0b01110..16-bit pixels
  33815. * 0b10000..32-bit pixels (1-plane XYUV unpacked)
  33816. * 0b10010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  33817. * 0b10011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  33818. * 0b10100..8-bit monochrome pixels (1-plane Y luma output)
  33819. * 0b10101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  33820. * 0b11000..16-bit pixels (2-plane UV interleaved bytes)
  33821. * 0b11001..16-bit pixels (2-plane UV)
  33822. * 0b11010..16-bit pixels (2-plane VU interleaved bytes)
  33823. * 0b11011..16-bit pixels (2-plane VU)
  33824. */
  33825. #define PXP_OUT_CTRL_TOG_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_TOG_FORMAT_SHIFT)) & PXP_OUT_CTRL_TOG_FORMAT_MASK)
  33826. #define PXP_OUT_CTRL_TOG_RSVD0_MASK (0xE0U)
  33827. #define PXP_OUT_CTRL_TOG_RSVD0_SHIFT (5U)
  33828. #define PXP_OUT_CTRL_TOG_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_TOG_RSVD0_SHIFT)) & PXP_OUT_CTRL_TOG_RSVD0_MASK)
  33829. #define PXP_OUT_CTRL_TOG_INTERLACED_OUTPUT_MASK (0x300U)
  33830. #define PXP_OUT_CTRL_TOG_INTERLACED_OUTPUT_SHIFT (8U)
  33831. /*! INTERLACED_OUTPUT
  33832. * 0b00..All data written in progressive format to the OUTBUF Pointer.
  33833. * 0b01..Interlaced output: only data for field 0 is written to the OUTBUF Pointer.
  33834. * 0b10..Interlaced output: only data for field 1 is written to the OUTBUF2 Pointer.
  33835. * 0b11..Interlaced output: data for field 0 is written to OUTBUF and data for field 1 is written to OUTBUF2.
  33836. */
  33837. #define PXP_OUT_CTRL_TOG_INTERLACED_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_TOG_INTERLACED_OUTPUT_SHIFT)) & PXP_OUT_CTRL_TOG_INTERLACED_OUTPUT_MASK)
  33838. #define PXP_OUT_CTRL_TOG_RSVD1_MASK (0x7FFC00U)
  33839. #define PXP_OUT_CTRL_TOG_RSVD1_SHIFT (10U)
  33840. #define PXP_OUT_CTRL_TOG_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_TOG_RSVD1_SHIFT)) & PXP_OUT_CTRL_TOG_RSVD1_MASK)
  33841. #define PXP_OUT_CTRL_TOG_ALPHA_OUTPUT_MASK (0x800000U)
  33842. #define PXP_OUT_CTRL_TOG_ALPHA_OUTPUT_SHIFT (23U)
  33843. #define PXP_OUT_CTRL_TOG_ALPHA_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_TOG_ALPHA_OUTPUT_SHIFT)) & PXP_OUT_CTRL_TOG_ALPHA_OUTPUT_MASK)
  33844. #define PXP_OUT_CTRL_TOG_ALPHA_MASK (0xFF000000U)
  33845. #define PXP_OUT_CTRL_TOG_ALPHA_SHIFT (24U)
  33846. #define PXP_OUT_CTRL_TOG_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_TOG_ALPHA_SHIFT)) & PXP_OUT_CTRL_TOG_ALPHA_MASK)
  33847. /*! @} */
  33848. /*! @name OUT_BUF - Output Frame Buffer Pointer */
  33849. /*! @{ */
  33850. #define PXP_OUT_BUF_ADDR_MASK (0xFFFFFFFFU)
  33851. #define PXP_OUT_BUF_ADDR_SHIFT (0U)
  33852. #define PXP_OUT_BUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_BUF_ADDR_SHIFT)) & PXP_OUT_BUF_ADDR_MASK)
  33853. /*! @} */
  33854. /*! @name OUT_BUF2 - Output Frame Buffer Pointer #2 */
  33855. /*! @{ */
  33856. #define PXP_OUT_BUF2_ADDR_MASK (0xFFFFFFFFU)
  33857. #define PXP_OUT_BUF2_ADDR_SHIFT (0U)
  33858. #define PXP_OUT_BUF2_ADDR(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_BUF2_ADDR_SHIFT)) & PXP_OUT_BUF2_ADDR_MASK)
  33859. /*! @} */
  33860. /*! @name OUT_PITCH - Output Buffer Pitch */
  33861. /*! @{ */
  33862. #define PXP_OUT_PITCH_PITCH_MASK (0xFFFFU)
  33863. #define PXP_OUT_PITCH_PITCH_SHIFT (0U)
  33864. #define PXP_OUT_PITCH_PITCH(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PITCH_PITCH_SHIFT)) & PXP_OUT_PITCH_PITCH_MASK)
  33865. #define PXP_OUT_PITCH_RSVD_MASK (0xFFFF0000U)
  33866. #define PXP_OUT_PITCH_RSVD_SHIFT (16U)
  33867. #define PXP_OUT_PITCH_RSVD(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PITCH_RSVD_SHIFT)) & PXP_OUT_PITCH_RSVD_MASK)
  33868. /*! @} */
  33869. /*! @name OUT_LRC - Output Surface Lower Right Coordinate */
  33870. /*! @{ */
  33871. #define PXP_OUT_LRC_Y_MASK (0x3FFFU)
  33872. #define PXP_OUT_LRC_Y_SHIFT (0U)
  33873. #define PXP_OUT_LRC_Y(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_LRC_Y_SHIFT)) & PXP_OUT_LRC_Y_MASK)
  33874. #define PXP_OUT_LRC_RSVD0_MASK (0xC000U)
  33875. #define PXP_OUT_LRC_RSVD0_SHIFT (14U)
  33876. #define PXP_OUT_LRC_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_LRC_RSVD0_SHIFT)) & PXP_OUT_LRC_RSVD0_MASK)
  33877. #define PXP_OUT_LRC_X_MASK (0x3FFF0000U)
  33878. #define PXP_OUT_LRC_X_SHIFT (16U)
  33879. #define PXP_OUT_LRC_X(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_LRC_X_SHIFT)) & PXP_OUT_LRC_X_MASK)
  33880. #define PXP_OUT_LRC_RSVD1_MASK (0xC0000000U)
  33881. #define PXP_OUT_LRC_RSVD1_SHIFT (30U)
  33882. #define PXP_OUT_LRC_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_LRC_RSVD1_SHIFT)) & PXP_OUT_LRC_RSVD1_MASK)
  33883. /*! @} */
  33884. /*! @name OUT_PS_ULC - Processed Surface Upper Left Coordinate */
  33885. /*! @{ */
  33886. #define PXP_OUT_PS_ULC_Y_MASK (0x3FFFU)
  33887. #define PXP_OUT_PS_ULC_Y_SHIFT (0U)
  33888. #define PXP_OUT_PS_ULC_Y(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PS_ULC_Y_SHIFT)) & PXP_OUT_PS_ULC_Y_MASK)
  33889. #define PXP_OUT_PS_ULC_RSVD0_MASK (0xC000U)
  33890. #define PXP_OUT_PS_ULC_RSVD0_SHIFT (14U)
  33891. #define PXP_OUT_PS_ULC_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PS_ULC_RSVD0_SHIFT)) & PXP_OUT_PS_ULC_RSVD0_MASK)
  33892. #define PXP_OUT_PS_ULC_X_MASK (0x3FFF0000U)
  33893. #define PXP_OUT_PS_ULC_X_SHIFT (16U)
  33894. #define PXP_OUT_PS_ULC_X(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PS_ULC_X_SHIFT)) & PXP_OUT_PS_ULC_X_MASK)
  33895. #define PXP_OUT_PS_ULC_RSVD1_MASK (0xC0000000U)
  33896. #define PXP_OUT_PS_ULC_RSVD1_SHIFT (30U)
  33897. #define PXP_OUT_PS_ULC_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PS_ULC_RSVD1_SHIFT)) & PXP_OUT_PS_ULC_RSVD1_MASK)
  33898. /*! @} */
  33899. /*! @name OUT_PS_LRC - Processed Surface Lower Right Coordinate */
  33900. /*! @{ */
  33901. #define PXP_OUT_PS_LRC_Y_MASK (0x3FFFU)
  33902. #define PXP_OUT_PS_LRC_Y_SHIFT (0U)
  33903. #define PXP_OUT_PS_LRC_Y(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PS_LRC_Y_SHIFT)) & PXP_OUT_PS_LRC_Y_MASK)
  33904. #define PXP_OUT_PS_LRC_RSVD0_MASK (0xC000U)
  33905. #define PXP_OUT_PS_LRC_RSVD0_SHIFT (14U)
  33906. #define PXP_OUT_PS_LRC_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PS_LRC_RSVD0_SHIFT)) & PXP_OUT_PS_LRC_RSVD0_MASK)
  33907. #define PXP_OUT_PS_LRC_X_MASK (0x3FFF0000U)
  33908. #define PXP_OUT_PS_LRC_X_SHIFT (16U)
  33909. #define PXP_OUT_PS_LRC_X(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PS_LRC_X_SHIFT)) & PXP_OUT_PS_LRC_X_MASK)
  33910. #define PXP_OUT_PS_LRC_RSVD1_MASK (0xC0000000U)
  33911. #define PXP_OUT_PS_LRC_RSVD1_SHIFT (30U)
  33912. #define PXP_OUT_PS_LRC_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PS_LRC_RSVD1_SHIFT)) & PXP_OUT_PS_LRC_RSVD1_MASK)
  33913. /*! @} */
  33914. /*! @name OUT_AS_ULC - Alpha Surface Upper Left Coordinate */
  33915. /*! @{ */
  33916. #define PXP_OUT_AS_ULC_Y_MASK (0x3FFFU)
  33917. #define PXP_OUT_AS_ULC_Y_SHIFT (0U)
  33918. #define PXP_OUT_AS_ULC_Y(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_AS_ULC_Y_SHIFT)) & PXP_OUT_AS_ULC_Y_MASK)
  33919. #define PXP_OUT_AS_ULC_RSVD0_MASK (0xC000U)
  33920. #define PXP_OUT_AS_ULC_RSVD0_SHIFT (14U)
  33921. #define PXP_OUT_AS_ULC_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_AS_ULC_RSVD0_SHIFT)) & PXP_OUT_AS_ULC_RSVD0_MASK)
  33922. #define PXP_OUT_AS_ULC_X_MASK (0x3FFF0000U)
  33923. #define PXP_OUT_AS_ULC_X_SHIFT (16U)
  33924. #define PXP_OUT_AS_ULC_X(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_AS_ULC_X_SHIFT)) & PXP_OUT_AS_ULC_X_MASK)
  33925. #define PXP_OUT_AS_ULC_RSVD1_MASK (0xC0000000U)
  33926. #define PXP_OUT_AS_ULC_RSVD1_SHIFT (30U)
  33927. #define PXP_OUT_AS_ULC_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_AS_ULC_RSVD1_SHIFT)) & PXP_OUT_AS_ULC_RSVD1_MASK)
  33928. /*! @} */
  33929. /*! @name OUT_AS_LRC - Alpha Surface Lower Right Coordinate */
  33930. /*! @{ */
  33931. #define PXP_OUT_AS_LRC_Y_MASK (0x3FFFU)
  33932. #define PXP_OUT_AS_LRC_Y_SHIFT (0U)
  33933. #define PXP_OUT_AS_LRC_Y(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_AS_LRC_Y_SHIFT)) & PXP_OUT_AS_LRC_Y_MASK)
  33934. #define PXP_OUT_AS_LRC_RSVD0_MASK (0xC000U)
  33935. #define PXP_OUT_AS_LRC_RSVD0_SHIFT (14U)
  33936. #define PXP_OUT_AS_LRC_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_AS_LRC_RSVD0_SHIFT)) & PXP_OUT_AS_LRC_RSVD0_MASK)
  33937. #define PXP_OUT_AS_LRC_X_MASK (0x3FFF0000U)
  33938. #define PXP_OUT_AS_LRC_X_SHIFT (16U)
  33939. #define PXP_OUT_AS_LRC_X(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_AS_LRC_X_SHIFT)) & PXP_OUT_AS_LRC_X_MASK)
  33940. #define PXP_OUT_AS_LRC_RSVD1_MASK (0xC0000000U)
  33941. #define PXP_OUT_AS_LRC_RSVD1_SHIFT (30U)
  33942. #define PXP_OUT_AS_LRC_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_AS_LRC_RSVD1_SHIFT)) & PXP_OUT_AS_LRC_RSVD1_MASK)
  33943. /*! @} */
  33944. /*! @name PS_CTRL - Processed Surface (PS) Control Register */
  33945. /*! @{ */
  33946. #define PXP_PS_CTRL_FORMAT_MASK (0x1FU)
  33947. #define PXP_PS_CTRL_FORMAT_SHIFT (0U)
  33948. /*! FORMAT
  33949. * 0b00100..32-bit pixels (unpacked 24-bit format)
  33950. * 0b01100..16-bit pixels
  33951. * 0b01101..16-bit pixels
  33952. * 0b01110..16-bit pixels
  33953. * 0b10000..32-bit pixels (1-plane XYUV unpacked)
  33954. * 0b10010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  33955. * 0b10011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  33956. * 0b10100..8-bit monochrome pixels (1-plane Y luma output)
  33957. * 0b10101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  33958. * 0b11000..16-bit pixels (2-plane UV interleaved bytes)
  33959. * 0b11001..16-bit pixels (2-plane UV)
  33960. * 0b11010..16-bit pixels (2-plane VU interleaved bytes)
  33961. * 0b11011..16-bit pixels (2-plane VU)
  33962. * 0b11110..16-bit pixels (3-plane format)
  33963. * 0b11111..16-bit pixels (3-plane format)
  33964. */
  33965. #define PXP_PS_CTRL_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_FORMAT_SHIFT)) & PXP_PS_CTRL_FORMAT_MASK)
  33966. #define PXP_PS_CTRL_WB_SWAP_MASK (0x20U)
  33967. #define PXP_PS_CTRL_WB_SWAP_SHIFT (5U)
  33968. #define PXP_PS_CTRL_WB_SWAP(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_WB_SWAP_SHIFT)) & PXP_PS_CTRL_WB_SWAP_MASK)
  33969. #define PXP_PS_CTRL_RSVD0_MASK (0xC0U)
  33970. #define PXP_PS_CTRL_RSVD0_SHIFT (6U)
  33971. #define PXP_PS_CTRL_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_RSVD0_SHIFT)) & PXP_PS_CTRL_RSVD0_MASK)
  33972. #define PXP_PS_CTRL_DECY_MASK (0x300U)
  33973. #define PXP_PS_CTRL_DECY_SHIFT (8U)
  33974. /*! DECY
  33975. * 0b00..Disable pre-decimation filter.
  33976. * 0b01..Decimate PS by 2.
  33977. * 0b10..Decimate PS by 4.
  33978. * 0b11..Decimate PS by 8.
  33979. */
  33980. #define PXP_PS_CTRL_DECY(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_DECY_SHIFT)) & PXP_PS_CTRL_DECY_MASK)
  33981. #define PXP_PS_CTRL_DECX_MASK (0xC00U)
  33982. #define PXP_PS_CTRL_DECX_SHIFT (10U)
  33983. /*! DECX
  33984. * 0b00..Disable pre-decimation filter.
  33985. * 0b01..Decimate PS by 2.
  33986. * 0b10..Decimate PS by 4.
  33987. * 0b11..Decimate PS by 8.
  33988. */
  33989. #define PXP_PS_CTRL_DECX(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_DECX_SHIFT)) & PXP_PS_CTRL_DECX_MASK)
  33990. #define PXP_PS_CTRL_RSVD1_MASK (0xFFFFF000U)
  33991. #define PXP_PS_CTRL_RSVD1_SHIFT (12U)
  33992. #define PXP_PS_CTRL_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_RSVD1_SHIFT)) & PXP_PS_CTRL_RSVD1_MASK)
  33993. /*! @} */
  33994. /*! @name PS_CTRL_SET - Processed Surface (PS) Control Register */
  33995. /*! @{ */
  33996. #define PXP_PS_CTRL_SET_FORMAT_MASK (0x1FU)
  33997. #define PXP_PS_CTRL_SET_FORMAT_SHIFT (0U)
  33998. /*! FORMAT
  33999. * 0b00100..32-bit pixels (unpacked 24-bit format)
  34000. * 0b01100..16-bit pixels
  34001. * 0b01101..16-bit pixels
  34002. * 0b01110..16-bit pixels
  34003. * 0b10000..32-bit pixels (1-plane XYUV unpacked)
  34004. * 0b10010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  34005. * 0b10011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  34006. * 0b10100..8-bit monochrome pixels (1-plane Y luma output)
  34007. * 0b10101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  34008. * 0b11000..16-bit pixels (2-plane UV interleaved bytes)
  34009. * 0b11001..16-bit pixels (2-plane UV)
  34010. * 0b11010..16-bit pixels (2-plane VU interleaved bytes)
  34011. * 0b11011..16-bit pixels (2-plane VU)
  34012. * 0b11110..16-bit pixels (3-plane format)
  34013. * 0b11111..16-bit pixels (3-plane format)
  34014. */
  34015. #define PXP_PS_CTRL_SET_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_SET_FORMAT_SHIFT)) & PXP_PS_CTRL_SET_FORMAT_MASK)
  34016. #define PXP_PS_CTRL_SET_WB_SWAP_MASK (0x20U)
  34017. #define PXP_PS_CTRL_SET_WB_SWAP_SHIFT (5U)
  34018. #define PXP_PS_CTRL_SET_WB_SWAP(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_SET_WB_SWAP_SHIFT)) & PXP_PS_CTRL_SET_WB_SWAP_MASK)
  34019. #define PXP_PS_CTRL_SET_RSVD0_MASK (0xC0U)
  34020. #define PXP_PS_CTRL_SET_RSVD0_SHIFT (6U)
  34021. #define PXP_PS_CTRL_SET_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_SET_RSVD0_SHIFT)) & PXP_PS_CTRL_SET_RSVD0_MASK)
  34022. #define PXP_PS_CTRL_SET_DECY_MASK (0x300U)
  34023. #define PXP_PS_CTRL_SET_DECY_SHIFT (8U)
  34024. /*! DECY
  34025. * 0b00..Disable pre-decimation filter.
  34026. * 0b01..Decimate PS by 2.
  34027. * 0b10..Decimate PS by 4.
  34028. * 0b11..Decimate PS by 8.
  34029. */
  34030. #define PXP_PS_CTRL_SET_DECY(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_SET_DECY_SHIFT)) & PXP_PS_CTRL_SET_DECY_MASK)
  34031. #define PXP_PS_CTRL_SET_DECX_MASK (0xC00U)
  34032. #define PXP_PS_CTRL_SET_DECX_SHIFT (10U)
  34033. /*! DECX
  34034. * 0b00..Disable pre-decimation filter.
  34035. * 0b01..Decimate PS by 2.
  34036. * 0b10..Decimate PS by 4.
  34037. * 0b11..Decimate PS by 8.
  34038. */
  34039. #define PXP_PS_CTRL_SET_DECX(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_SET_DECX_SHIFT)) & PXP_PS_CTRL_SET_DECX_MASK)
  34040. #define PXP_PS_CTRL_SET_RSVD1_MASK (0xFFFFF000U)
  34041. #define PXP_PS_CTRL_SET_RSVD1_SHIFT (12U)
  34042. #define PXP_PS_CTRL_SET_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_SET_RSVD1_SHIFT)) & PXP_PS_CTRL_SET_RSVD1_MASK)
  34043. /*! @} */
  34044. /*! @name PS_CTRL_CLR - Processed Surface (PS) Control Register */
  34045. /*! @{ */
  34046. #define PXP_PS_CTRL_CLR_FORMAT_MASK (0x1FU)
  34047. #define PXP_PS_CTRL_CLR_FORMAT_SHIFT (0U)
  34048. /*! FORMAT
  34049. * 0b00100..32-bit pixels (unpacked 24-bit format)
  34050. * 0b01100..16-bit pixels
  34051. * 0b01101..16-bit pixels
  34052. * 0b01110..16-bit pixels
  34053. * 0b10000..32-bit pixels (1-plane XYUV unpacked)
  34054. * 0b10010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  34055. * 0b10011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  34056. * 0b10100..8-bit monochrome pixels (1-plane Y luma output)
  34057. * 0b10101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  34058. * 0b11000..16-bit pixels (2-plane UV interleaved bytes)
  34059. * 0b11001..16-bit pixels (2-plane UV)
  34060. * 0b11010..16-bit pixels (2-plane VU interleaved bytes)
  34061. * 0b11011..16-bit pixels (2-plane VU)
  34062. * 0b11110..16-bit pixels (3-plane format)
  34063. * 0b11111..16-bit pixels (3-plane format)
  34064. */
  34065. #define PXP_PS_CTRL_CLR_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_CLR_FORMAT_SHIFT)) & PXP_PS_CTRL_CLR_FORMAT_MASK)
  34066. #define PXP_PS_CTRL_CLR_WB_SWAP_MASK (0x20U)
  34067. #define PXP_PS_CTRL_CLR_WB_SWAP_SHIFT (5U)
  34068. #define PXP_PS_CTRL_CLR_WB_SWAP(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_CLR_WB_SWAP_SHIFT)) & PXP_PS_CTRL_CLR_WB_SWAP_MASK)
  34069. #define PXP_PS_CTRL_CLR_RSVD0_MASK (0xC0U)
  34070. #define PXP_PS_CTRL_CLR_RSVD0_SHIFT (6U)
  34071. #define PXP_PS_CTRL_CLR_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_CLR_RSVD0_SHIFT)) & PXP_PS_CTRL_CLR_RSVD0_MASK)
  34072. #define PXP_PS_CTRL_CLR_DECY_MASK (0x300U)
  34073. #define PXP_PS_CTRL_CLR_DECY_SHIFT (8U)
  34074. /*! DECY
  34075. * 0b00..Disable pre-decimation filter.
  34076. * 0b01..Decimate PS by 2.
  34077. * 0b10..Decimate PS by 4.
  34078. * 0b11..Decimate PS by 8.
  34079. */
  34080. #define PXP_PS_CTRL_CLR_DECY(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_CLR_DECY_SHIFT)) & PXP_PS_CTRL_CLR_DECY_MASK)
  34081. #define PXP_PS_CTRL_CLR_DECX_MASK (0xC00U)
  34082. #define PXP_PS_CTRL_CLR_DECX_SHIFT (10U)
  34083. /*! DECX
  34084. * 0b00..Disable pre-decimation filter.
  34085. * 0b01..Decimate PS by 2.
  34086. * 0b10..Decimate PS by 4.
  34087. * 0b11..Decimate PS by 8.
  34088. */
  34089. #define PXP_PS_CTRL_CLR_DECX(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_CLR_DECX_SHIFT)) & PXP_PS_CTRL_CLR_DECX_MASK)
  34090. #define PXP_PS_CTRL_CLR_RSVD1_MASK (0xFFFFF000U)
  34091. #define PXP_PS_CTRL_CLR_RSVD1_SHIFT (12U)
  34092. #define PXP_PS_CTRL_CLR_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_CLR_RSVD1_SHIFT)) & PXP_PS_CTRL_CLR_RSVD1_MASK)
  34093. /*! @} */
  34094. /*! @name PS_CTRL_TOG - Processed Surface (PS) Control Register */
  34095. /*! @{ */
  34096. #define PXP_PS_CTRL_TOG_FORMAT_MASK (0x1FU)
  34097. #define PXP_PS_CTRL_TOG_FORMAT_SHIFT (0U)
  34098. /*! FORMAT
  34099. * 0b00100..32-bit pixels (unpacked 24-bit format)
  34100. * 0b01100..16-bit pixels
  34101. * 0b01101..16-bit pixels
  34102. * 0b01110..16-bit pixels
  34103. * 0b10000..32-bit pixels (1-plane XYUV unpacked)
  34104. * 0b10010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  34105. * 0b10011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  34106. * 0b10100..8-bit monochrome pixels (1-plane Y luma output)
  34107. * 0b10101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  34108. * 0b11000..16-bit pixels (2-plane UV interleaved bytes)
  34109. * 0b11001..16-bit pixels (2-plane UV)
  34110. * 0b11010..16-bit pixels (2-plane VU interleaved bytes)
  34111. * 0b11011..16-bit pixels (2-plane VU)
  34112. * 0b11110..16-bit pixels (3-plane format)
  34113. * 0b11111..16-bit pixels (3-plane format)
  34114. */
  34115. #define PXP_PS_CTRL_TOG_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_TOG_FORMAT_SHIFT)) & PXP_PS_CTRL_TOG_FORMAT_MASK)
  34116. #define PXP_PS_CTRL_TOG_WB_SWAP_MASK (0x20U)
  34117. #define PXP_PS_CTRL_TOG_WB_SWAP_SHIFT (5U)
  34118. #define PXP_PS_CTRL_TOG_WB_SWAP(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_TOG_WB_SWAP_SHIFT)) & PXP_PS_CTRL_TOG_WB_SWAP_MASK)
  34119. #define PXP_PS_CTRL_TOG_RSVD0_MASK (0xC0U)
  34120. #define PXP_PS_CTRL_TOG_RSVD0_SHIFT (6U)
  34121. #define PXP_PS_CTRL_TOG_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_TOG_RSVD0_SHIFT)) & PXP_PS_CTRL_TOG_RSVD0_MASK)
  34122. #define PXP_PS_CTRL_TOG_DECY_MASK (0x300U)
  34123. #define PXP_PS_CTRL_TOG_DECY_SHIFT (8U)
  34124. /*! DECY
  34125. * 0b00..Disable pre-decimation filter.
  34126. * 0b01..Decimate PS by 2.
  34127. * 0b10..Decimate PS by 4.
  34128. * 0b11..Decimate PS by 8.
  34129. */
  34130. #define PXP_PS_CTRL_TOG_DECY(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_TOG_DECY_SHIFT)) & PXP_PS_CTRL_TOG_DECY_MASK)
  34131. #define PXP_PS_CTRL_TOG_DECX_MASK (0xC00U)
  34132. #define PXP_PS_CTRL_TOG_DECX_SHIFT (10U)
  34133. /*! DECX
  34134. * 0b00..Disable pre-decimation filter.
  34135. * 0b01..Decimate PS by 2.
  34136. * 0b10..Decimate PS by 4.
  34137. * 0b11..Decimate PS by 8.
  34138. */
  34139. #define PXP_PS_CTRL_TOG_DECX(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_TOG_DECX_SHIFT)) & PXP_PS_CTRL_TOG_DECX_MASK)
  34140. #define PXP_PS_CTRL_TOG_RSVD1_MASK (0xFFFFF000U)
  34141. #define PXP_PS_CTRL_TOG_RSVD1_SHIFT (12U)
  34142. #define PXP_PS_CTRL_TOG_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_TOG_RSVD1_SHIFT)) & PXP_PS_CTRL_TOG_RSVD1_MASK)
  34143. /*! @} */
  34144. /*! @name PS_BUF - PS Input Buffer Address */
  34145. /*! @{ */
  34146. #define PXP_PS_BUF_ADDR_MASK (0xFFFFFFFFU)
  34147. #define PXP_PS_BUF_ADDR_SHIFT (0U)
  34148. #define PXP_PS_BUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_BUF_ADDR_SHIFT)) & PXP_PS_BUF_ADDR_MASK)
  34149. /*! @} */
  34150. /*! @name PS_UBUF - PS U/Cb or 2 Plane UV Input Buffer Address */
  34151. /*! @{ */
  34152. #define PXP_PS_UBUF_ADDR_MASK (0xFFFFFFFFU)
  34153. #define PXP_PS_UBUF_ADDR_SHIFT (0U)
  34154. #define PXP_PS_UBUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_UBUF_ADDR_SHIFT)) & PXP_PS_UBUF_ADDR_MASK)
  34155. /*! @} */
  34156. /*! @name PS_VBUF - PS V/Cr Input Buffer Address */
  34157. /*! @{ */
  34158. #define PXP_PS_VBUF_ADDR_MASK (0xFFFFFFFFU)
  34159. #define PXP_PS_VBUF_ADDR_SHIFT (0U)
  34160. #define PXP_PS_VBUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_VBUF_ADDR_SHIFT)) & PXP_PS_VBUF_ADDR_MASK)
  34161. /*! @} */
  34162. /*! @name PS_PITCH - Processed Surface Pitch */
  34163. /*! @{ */
  34164. #define PXP_PS_PITCH_PITCH_MASK (0xFFFFU)
  34165. #define PXP_PS_PITCH_PITCH_SHIFT (0U)
  34166. #define PXP_PS_PITCH_PITCH(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_PITCH_PITCH_SHIFT)) & PXP_PS_PITCH_PITCH_MASK)
  34167. #define PXP_PS_PITCH_RSVD_MASK (0xFFFF0000U)
  34168. #define PXP_PS_PITCH_RSVD_SHIFT (16U)
  34169. #define PXP_PS_PITCH_RSVD(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_PITCH_RSVD_SHIFT)) & PXP_PS_PITCH_RSVD_MASK)
  34170. /*! @} */
  34171. /*! @name PS_BACKGROUND - PS Background Color */
  34172. /*! @{ */
  34173. #define PXP_PS_BACKGROUND_COLOR_MASK (0xFFFFFFU)
  34174. #define PXP_PS_BACKGROUND_COLOR_SHIFT (0U)
  34175. #define PXP_PS_BACKGROUND_COLOR(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_BACKGROUND_COLOR_SHIFT)) & PXP_PS_BACKGROUND_COLOR_MASK)
  34176. #define PXP_PS_BACKGROUND_RSVD_MASK (0xFF000000U)
  34177. #define PXP_PS_BACKGROUND_RSVD_SHIFT (24U)
  34178. #define PXP_PS_BACKGROUND_RSVD(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_BACKGROUND_RSVD_SHIFT)) & PXP_PS_BACKGROUND_RSVD_MASK)
  34179. /*! @} */
  34180. /*! @name PS_SCALE - PS Scale Factor Register */
  34181. /*! @{ */
  34182. #define PXP_PS_SCALE_XSCALE_MASK (0x7FFFU)
  34183. #define PXP_PS_SCALE_XSCALE_SHIFT (0U)
  34184. #define PXP_PS_SCALE_XSCALE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_SCALE_XSCALE_SHIFT)) & PXP_PS_SCALE_XSCALE_MASK)
  34185. #define PXP_PS_SCALE_RSVD1_MASK (0x8000U)
  34186. #define PXP_PS_SCALE_RSVD1_SHIFT (15U)
  34187. #define PXP_PS_SCALE_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_SCALE_RSVD1_SHIFT)) & PXP_PS_SCALE_RSVD1_MASK)
  34188. #define PXP_PS_SCALE_YSCALE_MASK (0x7FFF0000U)
  34189. #define PXP_PS_SCALE_YSCALE_SHIFT (16U)
  34190. #define PXP_PS_SCALE_YSCALE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_SCALE_YSCALE_SHIFT)) & PXP_PS_SCALE_YSCALE_MASK)
  34191. #define PXP_PS_SCALE_RSVD2_MASK (0x80000000U)
  34192. #define PXP_PS_SCALE_RSVD2_SHIFT (31U)
  34193. #define PXP_PS_SCALE_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_SCALE_RSVD2_SHIFT)) & PXP_PS_SCALE_RSVD2_MASK)
  34194. /*! @} */
  34195. /*! @name PS_OFFSET - PS Scale Offset Register */
  34196. /*! @{ */
  34197. #define PXP_PS_OFFSET_XOFFSET_MASK (0xFFFU)
  34198. #define PXP_PS_OFFSET_XOFFSET_SHIFT (0U)
  34199. #define PXP_PS_OFFSET_XOFFSET(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_OFFSET_XOFFSET_SHIFT)) & PXP_PS_OFFSET_XOFFSET_MASK)
  34200. #define PXP_PS_OFFSET_RSVD1_MASK (0xF000U)
  34201. #define PXP_PS_OFFSET_RSVD1_SHIFT (12U)
  34202. #define PXP_PS_OFFSET_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_OFFSET_RSVD1_SHIFT)) & PXP_PS_OFFSET_RSVD1_MASK)
  34203. #define PXP_PS_OFFSET_YOFFSET_MASK (0xFFF0000U)
  34204. #define PXP_PS_OFFSET_YOFFSET_SHIFT (16U)
  34205. #define PXP_PS_OFFSET_YOFFSET(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_OFFSET_YOFFSET_SHIFT)) & PXP_PS_OFFSET_YOFFSET_MASK)
  34206. #define PXP_PS_OFFSET_RSVD2_MASK (0xF0000000U)
  34207. #define PXP_PS_OFFSET_RSVD2_SHIFT (28U)
  34208. #define PXP_PS_OFFSET_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_OFFSET_RSVD2_SHIFT)) & PXP_PS_OFFSET_RSVD2_MASK)
  34209. /*! @} */
  34210. /*! @name PS_CLRKEYLOW - PS Color Key Low */
  34211. /*! @{ */
  34212. #define PXP_PS_CLRKEYLOW_PIXEL_MASK (0xFFFFFFU)
  34213. #define PXP_PS_CLRKEYLOW_PIXEL_SHIFT (0U)
  34214. #define PXP_PS_CLRKEYLOW_PIXEL(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CLRKEYLOW_PIXEL_SHIFT)) & PXP_PS_CLRKEYLOW_PIXEL_MASK)
  34215. #define PXP_PS_CLRKEYLOW_RSVD1_MASK (0xFF000000U)
  34216. #define PXP_PS_CLRKEYLOW_RSVD1_SHIFT (24U)
  34217. #define PXP_PS_CLRKEYLOW_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CLRKEYLOW_RSVD1_SHIFT)) & PXP_PS_CLRKEYLOW_RSVD1_MASK)
  34218. /*! @} */
  34219. /*! @name PS_CLRKEYHIGH - PS Color Key High */
  34220. /*! @{ */
  34221. #define PXP_PS_CLRKEYHIGH_PIXEL_MASK (0xFFFFFFU)
  34222. #define PXP_PS_CLRKEYHIGH_PIXEL_SHIFT (0U)
  34223. #define PXP_PS_CLRKEYHIGH_PIXEL(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CLRKEYHIGH_PIXEL_SHIFT)) & PXP_PS_CLRKEYHIGH_PIXEL_MASK)
  34224. #define PXP_PS_CLRKEYHIGH_RSVD1_MASK (0xFF000000U)
  34225. #define PXP_PS_CLRKEYHIGH_RSVD1_SHIFT (24U)
  34226. #define PXP_PS_CLRKEYHIGH_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CLRKEYHIGH_RSVD1_SHIFT)) & PXP_PS_CLRKEYHIGH_RSVD1_MASK)
  34227. /*! @} */
  34228. /*! @name AS_CTRL - Alpha Surface Control */
  34229. /*! @{ */
  34230. #define PXP_AS_CTRL_RSVD0_MASK (0x1U)
  34231. #define PXP_AS_CTRL_RSVD0_SHIFT (0U)
  34232. #define PXP_AS_CTRL_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_RSVD0_SHIFT)) & PXP_AS_CTRL_RSVD0_MASK)
  34233. #define PXP_AS_CTRL_ALPHA_CTRL_MASK (0x6U)
  34234. #define PXP_AS_CTRL_ALPHA_CTRL_SHIFT (1U)
  34235. /*! ALPHA_CTRL
  34236. * 0b00..Indicates that the AS pixel alpha value will be used to blend the AS with PS. The ALPHA field is ignored.
  34237. * 0b01..Indicates that the value in the ALPHA field should be used instead of the alpha values present in the input pixels.
  34238. * 0b10..Indicates that the value in the ALPHA field should be used to scale all pixel alpha values. Each pixel
  34239. * alpha is multiplied by the value in the ALPHA field.
  34240. * 0b11..Enable ROPs. The ROP field indicates an operation to be performed on the alpha surface and PS pixels.
  34241. */
  34242. #define PXP_AS_CTRL_ALPHA_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_ALPHA_CTRL_SHIFT)) & PXP_AS_CTRL_ALPHA_CTRL_MASK)
  34243. #define PXP_AS_CTRL_ENABLE_COLORKEY_MASK (0x8U)
  34244. #define PXP_AS_CTRL_ENABLE_COLORKEY_SHIFT (3U)
  34245. #define PXP_AS_CTRL_ENABLE_COLORKEY(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_ENABLE_COLORKEY_SHIFT)) & PXP_AS_CTRL_ENABLE_COLORKEY_MASK)
  34246. #define PXP_AS_CTRL_FORMAT_MASK (0xF0U)
  34247. #define PXP_AS_CTRL_FORMAT_SHIFT (4U)
  34248. /*! FORMAT
  34249. * 0b0000..32-bit pixels with alpha
  34250. * 0b0100..32-bit pixels without alpha (unpacked 24-bit format)
  34251. * 0b1000..16-bit pixels with alpha
  34252. * 0b1001..16-bit pixels with alpha
  34253. * 0b1100..16-bit pixels without alpha
  34254. * 0b1101..16-bit pixels without alpha
  34255. * 0b1110..16-bit pixels without alpha
  34256. */
  34257. #define PXP_AS_CTRL_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_FORMAT_SHIFT)) & PXP_AS_CTRL_FORMAT_MASK)
  34258. #define PXP_AS_CTRL_ALPHA_MASK (0xFF00U)
  34259. #define PXP_AS_CTRL_ALPHA_SHIFT (8U)
  34260. #define PXP_AS_CTRL_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_ALPHA_SHIFT)) & PXP_AS_CTRL_ALPHA_MASK)
  34261. #define PXP_AS_CTRL_ROP_MASK (0xF0000U)
  34262. #define PXP_AS_CTRL_ROP_SHIFT (16U)
  34263. /*! ROP
  34264. * 0b0000..AS AND PS
  34265. * 0b0001..nAS AND PS
  34266. * 0b0010..AS AND nPS
  34267. * 0b0011..AS OR PS
  34268. * 0b0100..nAS OR PS
  34269. * 0b0101..AS OR nPS
  34270. * 0b0110..nAS
  34271. * 0b0111..nPS
  34272. * 0b1000..AS NAND PS
  34273. * 0b1001..AS NOR PS
  34274. * 0b1010..AS XOR PS
  34275. * 0b1011..AS XNOR PS
  34276. */
  34277. #define PXP_AS_CTRL_ROP(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_ROP_SHIFT)) & PXP_AS_CTRL_ROP_MASK)
  34278. #define PXP_AS_CTRL_ALPHA_INVERT_MASK (0x100000U)
  34279. #define PXP_AS_CTRL_ALPHA_INVERT_SHIFT (20U)
  34280. #define PXP_AS_CTRL_ALPHA_INVERT(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_ALPHA_INVERT_SHIFT)) & PXP_AS_CTRL_ALPHA_INVERT_MASK)
  34281. #define PXP_AS_CTRL_RSVD1_MASK (0xFFE00000U)
  34282. #define PXP_AS_CTRL_RSVD1_SHIFT (21U)
  34283. #define PXP_AS_CTRL_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_RSVD1_SHIFT)) & PXP_AS_CTRL_RSVD1_MASK)
  34284. /*! @} */
  34285. /*! @name AS_BUF - Alpha Surface Buffer Pointer */
  34286. /*! @{ */
  34287. #define PXP_AS_BUF_ADDR_MASK (0xFFFFFFFFU)
  34288. #define PXP_AS_BUF_ADDR_SHIFT (0U)
  34289. #define PXP_AS_BUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_BUF_ADDR_SHIFT)) & PXP_AS_BUF_ADDR_MASK)
  34290. /*! @} */
  34291. /*! @name AS_PITCH - Alpha Surface Pitch */
  34292. /*! @{ */
  34293. #define PXP_AS_PITCH_PITCH_MASK (0xFFFFU)
  34294. #define PXP_AS_PITCH_PITCH_SHIFT (0U)
  34295. #define PXP_AS_PITCH_PITCH(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_PITCH_PITCH_SHIFT)) & PXP_AS_PITCH_PITCH_MASK)
  34296. #define PXP_AS_PITCH_RSVD_MASK (0xFFFF0000U)
  34297. #define PXP_AS_PITCH_RSVD_SHIFT (16U)
  34298. #define PXP_AS_PITCH_RSVD(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_PITCH_RSVD_SHIFT)) & PXP_AS_PITCH_RSVD_MASK)
  34299. /*! @} */
  34300. /*! @name AS_CLRKEYLOW - Overlay Color Key Low */
  34301. /*! @{ */
  34302. #define PXP_AS_CLRKEYLOW_PIXEL_MASK (0xFFFFFFU)
  34303. #define PXP_AS_CLRKEYLOW_PIXEL_SHIFT (0U)
  34304. #define PXP_AS_CLRKEYLOW_PIXEL(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CLRKEYLOW_PIXEL_SHIFT)) & PXP_AS_CLRKEYLOW_PIXEL_MASK)
  34305. #define PXP_AS_CLRKEYLOW_RSVD1_MASK (0xFF000000U)
  34306. #define PXP_AS_CLRKEYLOW_RSVD1_SHIFT (24U)
  34307. #define PXP_AS_CLRKEYLOW_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CLRKEYLOW_RSVD1_SHIFT)) & PXP_AS_CLRKEYLOW_RSVD1_MASK)
  34308. /*! @} */
  34309. /*! @name AS_CLRKEYHIGH - Overlay Color Key High */
  34310. /*! @{ */
  34311. #define PXP_AS_CLRKEYHIGH_PIXEL_MASK (0xFFFFFFU)
  34312. #define PXP_AS_CLRKEYHIGH_PIXEL_SHIFT (0U)
  34313. #define PXP_AS_CLRKEYHIGH_PIXEL(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CLRKEYHIGH_PIXEL_SHIFT)) & PXP_AS_CLRKEYHIGH_PIXEL_MASK)
  34314. #define PXP_AS_CLRKEYHIGH_RSVD1_MASK (0xFF000000U)
  34315. #define PXP_AS_CLRKEYHIGH_RSVD1_SHIFT (24U)
  34316. #define PXP_AS_CLRKEYHIGH_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CLRKEYHIGH_RSVD1_SHIFT)) & PXP_AS_CLRKEYHIGH_RSVD1_MASK)
  34317. /*! @} */
  34318. /*! @name CSC1_COEF0 - Color Space Conversion Coefficient Register 0 */
  34319. /*! @{ */
  34320. #define PXP_CSC1_COEF0_Y_OFFSET_MASK (0x1FFU)
  34321. #define PXP_CSC1_COEF0_Y_OFFSET_SHIFT (0U)
  34322. #define PXP_CSC1_COEF0_Y_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF0_Y_OFFSET_SHIFT)) & PXP_CSC1_COEF0_Y_OFFSET_MASK)
  34323. #define PXP_CSC1_COEF0_UV_OFFSET_MASK (0x3FE00U)
  34324. #define PXP_CSC1_COEF0_UV_OFFSET_SHIFT (9U)
  34325. #define PXP_CSC1_COEF0_UV_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF0_UV_OFFSET_SHIFT)) & PXP_CSC1_COEF0_UV_OFFSET_MASK)
  34326. #define PXP_CSC1_COEF0_C0_MASK (0x1FFC0000U)
  34327. #define PXP_CSC1_COEF0_C0_SHIFT (18U)
  34328. #define PXP_CSC1_COEF0_C0(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF0_C0_SHIFT)) & PXP_CSC1_COEF0_C0_MASK)
  34329. #define PXP_CSC1_COEF0_RSVD1_MASK (0x20000000U)
  34330. #define PXP_CSC1_COEF0_RSVD1_SHIFT (29U)
  34331. #define PXP_CSC1_COEF0_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF0_RSVD1_SHIFT)) & PXP_CSC1_COEF0_RSVD1_MASK)
  34332. #define PXP_CSC1_COEF0_BYPASS_MASK (0x40000000U)
  34333. #define PXP_CSC1_COEF0_BYPASS_SHIFT (30U)
  34334. #define PXP_CSC1_COEF0_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF0_BYPASS_SHIFT)) & PXP_CSC1_COEF0_BYPASS_MASK)
  34335. #define PXP_CSC1_COEF0_YCBCR_MODE_MASK (0x80000000U)
  34336. #define PXP_CSC1_COEF0_YCBCR_MODE_SHIFT (31U)
  34337. #define PXP_CSC1_COEF0_YCBCR_MODE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF0_YCBCR_MODE_SHIFT)) & PXP_CSC1_COEF0_YCBCR_MODE_MASK)
  34338. /*! @} */
  34339. /*! @name CSC1_COEF1 - Color Space Conversion Coefficient Register 1 */
  34340. /*! @{ */
  34341. #define PXP_CSC1_COEF1_C4_MASK (0x7FFU)
  34342. #define PXP_CSC1_COEF1_C4_SHIFT (0U)
  34343. #define PXP_CSC1_COEF1_C4(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF1_C4_SHIFT)) & PXP_CSC1_COEF1_C4_MASK)
  34344. #define PXP_CSC1_COEF1_RSVD0_MASK (0xF800U)
  34345. #define PXP_CSC1_COEF1_RSVD0_SHIFT (11U)
  34346. #define PXP_CSC1_COEF1_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF1_RSVD0_SHIFT)) & PXP_CSC1_COEF1_RSVD0_MASK)
  34347. #define PXP_CSC1_COEF1_C1_MASK (0x7FF0000U)
  34348. #define PXP_CSC1_COEF1_C1_SHIFT (16U)
  34349. #define PXP_CSC1_COEF1_C1(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF1_C1_SHIFT)) & PXP_CSC1_COEF1_C1_MASK)
  34350. #define PXP_CSC1_COEF1_RSVD1_MASK (0xF8000000U)
  34351. #define PXP_CSC1_COEF1_RSVD1_SHIFT (27U)
  34352. #define PXP_CSC1_COEF1_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF1_RSVD1_SHIFT)) & PXP_CSC1_COEF1_RSVD1_MASK)
  34353. /*! @} */
  34354. /*! @name CSC1_COEF2 - Color Space Conversion Coefficient Register 2 */
  34355. /*! @{ */
  34356. #define PXP_CSC1_COEF2_C3_MASK (0x7FFU)
  34357. #define PXP_CSC1_COEF2_C3_SHIFT (0U)
  34358. #define PXP_CSC1_COEF2_C3(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF2_C3_SHIFT)) & PXP_CSC1_COEF2_C3_MASK)
  34359. #define PXP_CSC1_COEF2_RSVD0_MASK (0xF800U)
  34360. #define PXP_CSC1_COEF2_RSVD0_SHIFT (11U)
  34361. #define PXP_CSC1_COEF2_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF2_RSVD0_SHIFT)) & PXP_CSC1_COEF2_RSVD0_MASK)
  34362. #define PXP_CSC1_COEF2_C2_MASK (0x7FF0000U)
  34363. #define PXP_CSC1_COEF2_C2_SHIFT (16U)
  34364. #define PXP_CSC1_COEF2_C2(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF2_C2_SHIFT)) & PXP_CSC1_COEF2_C2_MASK)
  34365. #define PXP_CSC1_COEF2_RSVD1_MASK (0xF8000000U)
  34366. #define PXP_CSC1_COEF2_RSVD1_SHIFT (27U)
  34367. #define PXP_CSC1_COEF2_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF2_RSVD1_SHIFT)) & PXP_CSC1_COEF2_RSVD1_MASK)
  34368. /*! @} */
  34369. /*! @name POWER - PXP Power Control Register */
  34370. /*! @{ */
  34371. #define PXP_POWER_ROT_MEM_LP_STATE_MASK (0xE00U)
  34372. #define PXP_POWER_ROT_MEM_LP_STATE_SHIFT (9U)
  34373. /*! ROT_MEM_LP_STATE
  34374. * 0b000..Memory is not in low power state.
  34375. * 0b001..Light Sleep Mode. Low leakage mode, maintain memory contents.
  34376. * 0b010..Deep Sleep Mode. Low leakage mode, maintain memory contents.
  34377. * 0b100..Shut Down Mode. Shut Down periphery and core, no memory retention.
  34378. */
  34379. #define PXP_POWER_ROT_MEM_LP_STATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_POWER_ROT_MEM_LP_STATE_SHIFT)) & PXP_POWER_ROT_MEM_LP_STATE_MASK)
  34380. #define PXP_POWER_CTRL_MASK (0xFFFFF000U)
  34381. #define PXP_POWER_CTRL_SHIFT (12U)
  34382. #define PXP_POWER_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PXP_POWER_CTRL_SHIFT)) & PXP_POWER_CTRL_MASK)
  34383. /*! @} */
  34384. /*! @name NEXT - Next Frame Pointer */
  34385. /*! @{ */
  34386. #define PXP_NEXT_ENABLED_MASK (0x1U)
  34387. #define PXP_NEXT_ENABLED_SHIFT (0U)
  34388. #define PXP_NEXT_ENABLED(x) (((uint32_t)(((uint32_t)(x)) << PXP_NEXT_ENABLED_SHIFT)) & PXP_NEXT_ENABLED_MASK)
  34389. #define PXP_NEXT_RSVD_MASK (0x2U)
  34390. #define PXP_NEXT_RSVD_SHIFT (1U)
  34391. #define PXP_NEXT_RSVD(x) (((uint32_t)(((uint32_t)(x)) << PXP_NEXT_RSVD_SHIFT)) & PXP_NEXT_RSVD_MASK)
  34392. #define PXP_NEXT_POINTER_MASK (0xFFFFFFFCU)
  34393. #define PXP_NEXT_POINTER_SHIFT (2U)
  34394. #define PXP_NEXT_POINTER(x) (((uint32_t)(((uint32_t)(x)) << PXP_NEXT_POINTER_SHIFT)) & PXP_NEXT_POINTER_MASK)
  34395. /*! @} */
  34396. /*! @name PORTER_DUFF_CTRL - PXP Alpha Engine A Control Register. */
  34397. /*! @{ */
  34398. #define PXP_PORTER_DUFF_CTRL_POTER_DUFF_ENABLE_MASK (0x1U)
  34399. #define PXP_PORTER_DUFF_CTRL_POTER_DUFF_ENABLE_SHIFT (0U)
  34400. #define PXP_PORTER_DUFF_CTRL_POTER_DUFF_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_POTER_DUFF_ENABLE_SHIFT)) & PXP_PORTER_DUFF_CTRL_POTER_DUFF_ENABLE_MASK)
  34401. #define PXP_PORTER_DUFF_CTRL_S0_S1_FACTOR_MODE_MASK (0x6U)
  34402. #define PXP_PORTER_DUFF_CTRL_S0_S1_FACTOR_MODE_SHIFT (1U)
  34403. #define PXP_PORTER_DUFF_CTRL_S0_S1_FACTOR_MODE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S0_S1_FACTOR_MODE_SHIFT)) & PXP_PORTER_DUFF_CTRL_S0_S1_FACTOR_MODE_MASK)
  34404. #define PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_MODE_MASK (0x18U)
  34405. #define PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_MODE_SHIFT (3U)
  34406. #define PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_MODE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_MODE_SHIFT)) & PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_MODE_MASK)
  34407. #define PXP_PORTER_DUFF_CTRL_S0_ALPHA_MODE_MASK (0x20U)
  34408. #define PXP_PORTER_DUFF_CTRL_S0_ALPHA_MODE_SHIFT (5U)
  34409. #define PXP_PORTER_DUFF_CTRL_S0_ALPHA_MODE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S0_ALPHA_MODE_SHIFT)) & PXP_PORTER_DUFF_CTRL_S0_ALPHA_MODE_MASK)
  34410. #define PXP_PORTER_DUFF_CTRL_S0_COLOR_MODE_MASK (0x40U)
  34411. #define PXP_PORTER_DUFF_CTRL_S0_COLOR_MODE_SHIFT (6U)
  34412. #define PXP_PORTER_DUFF_CTRL_S0_COLOR_MODE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S0_COLOR_MODE_SHIFT)) & PXP_PORTER_DUFF_CTRL_S0_COLOR_MODE_MASK)
  34413. #define PXP_PORTER_DUFF_CTRL_S1_S0_FACTOR_MODE_MASK (0x300U)
  34414. #define PXP_PORTER_DUFF_CTRL_S1_S0_FACTOR_MODE_SHIFT (8U)
  34415. #define PXP_PORTER_DUFF_CTRL_S1_S0_FACTOR_MODE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S1_S0_FACTOR_MODE_SHIFT)) & PXP_PORTER_DUFF_CTRL_S1_S0_FACTOR_MODE_MASK)
  34416. #define PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_MODE_MASK (0xC00U)
  34417. #define PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_MODE_SHIFT (10U)
  34418. #define PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_MODE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_MODE_SHIFT)) & PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_MODE_MASK)
  34419. #define PXP_PORTER_DUFF_CTRL_S1_ALPHA_MODE_MASK (0x1000U)
  34420. #define PXP_PORTER_DUFF_CTRL_S1_ALPHA_MODE_SHIFT (12U)
  34421. #define PXP_PORTER_DUFF_CTRL_S1_ALPHA_MODE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S1_ALPHA_MODE_SHIFT)) & PXP_PORTER_DUFF_CTRL_S1_ALPHA_MODE_MASK)
  34422. #define PXP_PORTER_DUFF_CTRL_S1_COLOR_MODE_MASK (0x2000U)
  34423. #define PXP_PORTER_DUFF_CTRL_S1_COLOR_MODE_SHIFT (13U)
  34424. #define PXP_PORTER_DUFF_CTRL_S1_COLOR_MODE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S1_COLOR_MODE_SHIFT)) & PXP_PORTER_DUFF_CTRL_S1_COLOR_MODE_MASK)
  34425. #define PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_MASK (0xFF0000U)
  34426. #define PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_SHIFT (16U)
  34427. #define PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_SHIFT)) & PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_MASK)
  34428. #define PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_MASK (0xFF000000U)
  34429. #define PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_SHIFT (24U)
  34430. #define PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_SHIFT)) & PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_MASK)
  34431. /*! @} */
  34432. /*!
  34433. * @}
  34434. */ /* end of group PXP_Register_Masks */
  34435. /* PXP - Peripheral instance base addresses */
  34436. /** Peripheral PXP base address */
  34437. #define PXP_BASE (0x402B4000u)
  34438. /** Peripheral PXP base pointer */
  34439. #define PXP ((PXP_Type *)PXP_BASE)
  34440. /** Array initializer of PXP peripheral base addresses */
  34441. #define PXP_BASE_ADDRS { PXP_BASE }
  34442. /** Array initializer of PXP peripheral base pointers */
  34443. #define PXP_BASE_PTRS { PXP }
  34444. /** Interrupt vectors for the PXP peripheral type */
  34445. #define PXP_IRQ0_IRQS { PXP_IRQn }
  34446. /*!
  34447. * @}
  34448. */ /* end of group PXP_Peripheral_Access_Layer */
  34449. /* ----------------------------------------------------------------------------
  34450. -- ROMC Peripheral Access Layer
  34451. ---------------------------------------------------------------------------- */
  34452. /*!
  34453. * @addtogroup ROMC_Peripheral_Access_Layer ROMC Peripheral Access Layer
  34454. * @{
  34455. */
  34456. /** ROMC - Register Layout Typedef */
  34457. typedef struct {
  34458. uint8_t RESERVED_0[212];
  34459. __IO uint32_t ROMPATCHD[8]; /**< ROMC Data Registers, array offset: 0xD4, array step: 0x4 */
  34460. __IO uint32_t ROMPATCHCNTL; /**< ROMC Control Register, offset: 0xF4 */
  34461. uint32_t ROMPATCHENH; /**< ROMC Enable Register High, offset: 0xF8 */
  34462. __IO uint32_t ROMPATCHENL; /**< ROMC Enable Register Low, offset: 0xFC */
  34463. __IO uint32_t ROMPATCHA[16]; /**< ROMC Address Registers, array offset: 0x100, array step: 0x4 */
  34464. uint8_t RESERVED_1[200];
  34465. __IO uint32_t ROMPATCHSR; /**< ROMC Status Register, offset: 0x208 */
  34466. } ROMC_Type;
  34467. /* ----------------------------------------------------------------------------
  34468. -- ROMC Register Masks
  34469. ---------------------------------------------------------------------------- */
  34470. /*!
  34471. * @addtogroup ROMC_Register_Masks ROMC Register Masks
  34472. * @{
  34473. */
  34474. /*! @name ROMPATCHD - ROMC Data Registers */
  34475. /*! @{ */
  34476. #define ROMC_ROMPATCHD_DATAX_MASK (0xFFFFFFFFU)
  34477. #define ROMC_ROMPATCHD_DATAX_SHIFT (0U)
  34478. #define ROMC_ROMPATCHD_DATAX(x) (((uint32_t)(((uint32_t)(x)) << ROMC_ROMPATCHD_DATAX_SHIFT)) & ROMC_ROMPATCHD_DATAX_MASK)
  34479. /*! @} */
  34480. /* The count of ROMC_ROMPATCHD */
  34481. #define ROMC_ROMPATCHD_COUNT (8U)
  34482. /*! @name ROMPATCHCNTL - ROMC Control Register */
  34483. /*! @{ */
  34484. #define ROMC_ROMPATCHCNTL_DATAFIX_MASK (0xFFU)
  34485. #define ROMC_ROMPATCHCNTL_DATAFIX_SHIFT (0U)
  34486. /*! DATAFIX
  34487. * 0b00000000..Address comparator triggers a opcode patch
  34488. * 0b00000001..Address comparator triggers a data fix
  34489. */
  34490. #define ROMC_ROMPATCHCNTL_DATAFIX(x) (((uint32_t)(((uint32_t)(x)) << ROMC_ROMPATCHCNTL_DATAFIX_SHIFT)) & ROMC_ROMPATCHCNTL_DATAFIX_MASK)
  34491. #define ROMC_ROMPATCHCNTL_DIS_MASK (0x20000000U)
  34492. #define ROMC_ROMPATCHCNTL_DIS_SHIFT (29U)
  34493. /*! DIS
  34494. * 0b0..Does not affect any ROMC functions (default)
  34495. * 0b1..Disable all ROMC functions: data fixing, and opcode patching
  34496. */
  34497. #define ROMC_ROMPATCHCNTL_DIS(x) (((uint32_t)(((uint32_t)(x)) << ROMC_ROMPATCHCNTL_DIS_SHIFT)) & ROMC_ROMPATCHCNTL_DIS_MASK)
  34498. /*! @} */
  34499. /*! @name ROMPATCHENL - ROMC Enable Register Low */
  34500. /*! @{ */
  34501. #define ROMC_ROMPATCHENL_ENABLE_MASK (0xFFFFU)
  34502. #define ROMC_ROMPATCHENL_ENABLE_SHIFT (0U)
  34503. /*! ENABLE
  34504. * 0b0000000000000000..Address comparator disabled
  34505. * 0b0000000000000001..Address comparator enabled, ROMC will trigger a opcode patch or data fix event upon matching of the associated address
  34506. */
  34507. #define ROMC_ROMPATCHENL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ROMC_ROMPATCHENL_ENABLE_SHIFT)) & ROMC_ROMPATCHENL_ENABLE_MASK)
  34508. /*! @} */
  34509. /*! @name ROMPATCHA - ROMC Address Registers */
  34510. /*! @{ */
  34511. #define ROMC_ROMPATCHA_THUMBX_MASK (0x1U)
  34512. #define ROMC_ROMPATCHA_THUMBX_SHIFT (0U)
  34513. /*! THUMBX
  34514. * 0b0..Arm patch
  34515. * 0b1..THUMB patch (ignore if data fix)
  34516. */
  34517. #define ROMC_ROMPATCHA_THUMBX(x) (((uint32_t)(((uint32_t)(x)) << ROMC_ROMPATCHA_THUMBX_SHIFT)) & ROMC_ROMPATCHA_THUMBX_MASK)
  34518. #define ROMC_ROMPATCHA_ADDRX_MASK (0x7FFFFEU)
  34519. #define ROMC_ROMPATCHA_ADDRX_SHIFT (1U)
  34520. #define ROMC_ROMPATCHA_ADDRX(x) (((uint32_t)(((uint32_t)(x)) << ROMC_ROMPATCHA_ADDRX_SHIFT)) & ROMC_ROMPATCHA_ADDRX_MASK)
  34521. /*! @} */
  34522. /* The count of ROMC_ROMPATCHA */
  34523. #define ROMC_ROMPATCHA_COUNT (16U)
  34524. /*! @name ROMPATCHSR - ROMC Status Register */
  34525. /*! @{ */
  34526. #define ROMC_ROMPATCHSR_SOURCE_MASK (0x3FU)
  34527. #define ROMC_ROMPATCHSR_SOURCE_SHIFT (0U)
  34528. /*! SOURCE
  34529. * 0b000000..Address Comparator 0 matched
  34530. * 0b000001..Address Comparator 1 matched
  34531. * 0b001111..Address Comparator 15 matched
  34532. */
  34533. #define ROMC_ROMPATCHSR_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << ROMC_ROMPATCHSR_SOURCE_SHIFT)) & ROMC_ROMPATCHSR_SOURCE_MASK)
  34534. #define ROMC_ROMPATCHSR_SW_MASK (0x20000U)
  34535. #define ROMC_ROMPATCHSR_SW_SHIFT (17U)
  34536. /*! SW
  34537. * 0b0..no event or comparator collisions
  34538. * 0b1..a collision has occurred
  34539. */
  34540. #define ROMC_ROMPATCHSR_SW(x) (((uint32_t)(((uint32_t)(x)) << ROMC_ROMPATCHSR_SW_SHIFT)) & ROMC_ROMPATCHSR_SW_MASK)
  34541. /*! @} */
  34542. /*!
  34543. * @}
  34544. */ /* end of group ROMC_Register_Masks */
  34545. /* ROMC - Peripheral instance base addresses */
  34546. /** Peripheral ROMC base address */
  34547. #define ROMC_BASE (0x40180000u)
  34548. /** Peripheral ROMC base pointer */
  34549. #define ROMC ((ROMC_Type *)ROMC_BASE)
  34550. /** Array initializer of ROMC peripheral base addresses */
  34551. #define ROMC_BASE_ADDRS { ROMC_BASE }
  34552. /** Array initializer of ROMC peripheral base pointers */
  34553. #define ROMC_BASE_PTRS { ROMC }
  34554. /*!
  34555. * @}
  34556. */ /* end of group ROMC_Peripheral_Access_Layer */
  34557. /* ----------------------------------------------------------------------------
  34558. -- RTWDOG Peripheral Access Layer
  34559. ---------------------------------------------------------------------------- */
  34560. /*!
  34561. * @addtogroup RTWDOG_Peripheral_Access_Layer RTWDOG Peripheral Access Layer
  34562. * @{
  34563. */
  34564. /** RTWDOG - Register Layout Typedef */
  34565. typedef struct {
  34566. __IO uint32_t CS; /**< Watchdog Control and Status Register, offset: 0x0 */
  34567. __IO uint32_t CNT; /**< Watchdog Counter Register, offset: 0x4 */
  34568. __IO uint32_t TOVAL; /**< Watchdog Timeout Value Register, offset: 0x8 */
  34569. __IO uint32_t WIN; /**< Watchdog Window Register, offset: 0xC */
  34570. } RTWDOG_Type;
  34571. /* ----------------------------------------------------------------------------
  34572. -- RTWDOG Register Masks
  34573. ---------------------------------------------------------------------------- */
  34574. /*!
  34575. * @addtogroup RTWDOG_Register_Masks RTWDOG Register Masks
  34576. * @{
  34577. */
  34578. /*! @name CS - Watchdog Control and Status Register */
  34579. /*! @{ */
  34580. #define RTWDOG_CS_STOP_MASK (0x1U)
  34581. #define RTWDOG_CS_STOP_SHIFT (0U)
  34582. /*! STOP - Stop Enable
  34583. * 0b0..Watchdog disabled in chip stop mode.
  34584. * 0b1..Watchdog enabled in chip stop mode.
  34585. */
  34586. #define RTWDOG_CS_STOP(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_STOP_SHIFT)) & RTWDOG_CS_STOP_MASK)
  34587. #define RTWDOG_CS_WAIT_MASK (0x2U)
  34588. #define RTWDOG_CS_WAIT_SHIFT (1U)
  34589. /*! WAIT - Wait Enable
  34590. * 0b0..Watchdog disabled in chip wait mode.
  34591. * 0b1..Watchdog enabled in chip wait mode.
  34592. */
  34593. #define RTWDOG_CS_WAIT(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_WAIT_SHIFT)) & RTWDOG_CS_WAIT_MASK)
  34594. #define RTWDOG_CS_DBG_MASK (0x4U)
  34595. #define RTWDOG_CS_DBG_SHIFT (2U)
  34596. /*! DBG - Debug Enable
  34597. * 0b0..Watchdog disabled in chip debug mode.
  34598. * 0b1..Watchdog enabled in chip debug mode.
  34599. */
  34600. #define RTWDOG_CS_DBG(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_DBG_SHIFT)) & RTWDOG_CS_DBG_MASK)
  34601. #define RTWDOG_CS_TST_MASK (0x18U)
  34602. #define RTWDOG_CS_TST_SHIFT (3U)
  34603. /*! TST - Watchdog Test
  34604. * 0b00..Watchdog test mode disabled.
  34605. * 0b01..Watchdog user mode enabled. (Watchdog test mode disabled.) After testing the watchdog, software should
  34606. * use this setting to indicate that the watchdog is functioning normally in user mode.
  34607. * 0b10..Watchdog test mode enabled, only the low byte is used. CNT[CNTLOW] is compared with TOVAL[TOVALLOW].
  34608. * 0b11..Watchdog test mode enabled, only the high byte is used. CNT[CNTHIGH] is compared with TOVAL[TOVALHIGH].
  34609. */
  34610. #define RTWDOG_CS_TST(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_TST_SHIFT)) & RTWDOG_CS_TST_MASK)
  34611. #define RTWDOG_CS_UPDATE_MASK (0x20U)
  34612. #define RTWDOG_CS_UPDATE_SHIFT (5U)
  34613. /*! UPDATE - Allow updates
  34614. * 0b0..Updates not allowed. After the initial configuration, the watchdog cannot be later modified without forcing a reset.
  34615. * 0b1..Updates allowed. Software can modify the watchdog configuration registers within 128 bus clocks after performing the unlock write sequence.
  34616. */
  34617. #define RTWDOG_CS_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_UPDATE_SHIFT)) & RTWDOG_CS_UPDATE_MASK)
  34618. #define RTWDOG_CS_INT_MASK (0x40U)
  34619. #define RTWDOG_CS_INT_SHIFT (6U)
  34620. /*! INT - Watchdog Interrupt
  34621. * 0b0..Watchdog interrupts are disabled. Watchdog resets are not delayed.
  34622. * 0b1..Watchdog interrupts are enabled. Watchdog resets are delayed by 128 bus clocks from the interrupt vector fetch.
  34623. */
  34624. #define RTWDOG_CS_INT(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_INT_SHIFT)) & RTWDOG_CS_INT_MASK)
  34625. #define RTWDOG_CS_EN_MASK (0x80U)
  34626. #define RTWDOG_CS_EN_SHIFT (7U)
  34627. /*! EN - Watchdog Enable
  34628. * 0b0..Watchdog disabled.
  34629. * 0b1..Watchdog enabled.
  34630. */
  34631. #define RTWDOG_CS_EN(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_EN_SHIFT)) & RTWDOG_CS_EN_MASK)
  34632. #define RTWDOG_CS_CLK_MASK (0x300U)
  34633. #define RTWDOG_CS_CLK_SHIFT (8U)
  34634. /*! CLK - Watchdog Clock
  34635. * 0b00..Bus clock
  34636. * 0b01..LPO clock
  34637. * 0b10..INTCLK (internal clock)
  34638. * 0b11..ERCLK (external reference clock)
  34639. */
  34640. #define RTWDOG_CS_CLK(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_CLK_SHIFT)) & RTWDOG_CS_CLK_MASK)
  34641. #define RTWDOG_CS_RCS_MASK (0x400U)
  34642. #define RTWDOG_CS_RCS_SHIFT (10U)
  34643. /*! RCS - Reconfiguration Success
  34644. * 0b0..Reconfiguring WDOG.
  34645. * 0b1..Reconfiguration is successful.
  34646. */
  34647. #define RTWDOG_CS_RCS(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_RCS_SHIFT)) & RTWDOG_CS_RCS_MASK)
  34648. #define RTWDOG_CS_ULK_MASK (0x800U)
  34649. #define RTWDOG_CS_ULK_SHIFT (11U)
  34650. /*! ULK - Unlock status
  34651. * 0b0..WDOG is locked.
  34652. * 0b1..WDOG is unlocked.
  34653. */
  34654. #define RTWDOG_CS_ULK(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_ULK_SHIFT)) & RTWDOG_CS_ULK_MASK)
  34655. #define RTWDOG_CS_PRES_MASK (0x1000U)
  34656. #define RTWDOG_CS_PRES_SHIFT (12U)
  34657. /*! PRES - Watchdog prescaler
  34658. * 0b0..256 prescaler disabled.
  34659. * 0b1..256 prescaler enabled.
  34660. */
  34661. #define RTWDOG_CS_PRES(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_PRES_SHIFT)) & RTWDOG_CS_PRES_MASK)
  34662. #define RTWDOG_CS_CMD32EN_MASK (0x2000U)
  34663. #define RTWDOG_CS_CMD32EN_SHIFT (13U)
  34664. /*! CMD32EN - Enables or disables WDOG support for 32-bit (otherwise 16-bit or 8-bit) refresh/unlock command write words
  34665. * 0b0..Disables support for 32-bit refresh/unlock command write words. Only 16-bit or 8-bit is supported.
  34666. * 0b1..Enables support for 32-bit refresh/unlock command write words. 16-bit or 8-bit is NOT supported.
  34667. */
  34668. #define RTWDOG_CS_CMD32EN(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_CMD32EN_SHIFT)) & RTWDOG_CS_CMD32EN_MASK)
  34669. #define RTWDOG_CS_FLG_MASK (0x4000U)
  34670. #define RTWDOG_CS_FLG_SHIFT (14U)
  34671. /*! FLG - Watchdog Interrupt Flag
  34672. * 0b0..No interrupt occurred.
  34673. * 0b1..An interrupt occurred.
  34674. */
  34675. #define RTWDOG_CS_FLG(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_FLG_SHIFT)) & RTWDOG_CS_FLG_MASK)
  34676. #define RTWDOG_CS_WIN_MASK (0x8000U)
  34677. #define RTWDOG_CS_WIN_SHIFT (15U)
  34678. /*! WIN - Watchdog Window
  34679. * 0b0..Window mode disabled.
  34680. * 0b1..Window mode enabled.
  34681. */
  34682. #define RTWDOG_CS_WIN(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_WIN_SHIFT)) & RTWDOG_CS_WIN_MASK)
  34683. /*! @} */
  34684. /*! @name CNT - Watchdog Counter Register */
  34685. /*! @{ */
  34686. #define RTWDOG_CNT_CNTLOW_MASK (0xFFU)
  34687. #define RTWDOG_CNT_CNTLOW_SHIFT (0U)
  34688. /*! CNTLOW - Low byte of the Watchdog Counter
  34689. */
  34690. #define RTWDOG_CNT_CNTLOW(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CNT_CNTLOW_SHIFT)) & RTWDOG_CNT_CNTLOW_MASK)
  34691. #define RTWDOG_CNT_CNTHIGH_MASK (0xFF00U)
  34692. #define RTWDOG_CNT_CNTHIGH_SHIFT (8U)
  34693. /*! CNTHIGH - High byte of the Watchdog Counter
  34694. */
  34695. #define RTWDOG_CNT_CNTHIGH(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CNT_CNTHIGH_SHIFT)) & RTWDOG_CNT_CNTHIGH_MASK)
  34696. /*! @} */
  34697. /*! @name TOVAL - Watchdog Timeout Value Register */
  34698. /*! @{ */
  34699. #define RTWDOG_TOVAL_TOVALLOW_MASK (0xFFU)
  34700. #define RTWDOG_TOVAL_TOVALLOW_SHIFT (0U)
  34701. /*! TOVALLOW - Low byte of the timeout value
  34702. */
  34703. #define RTWDOG_TOVAL_TOVALLOW(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_TOVAL_TOVALLOW_SHIFT)) & RTWDOG_TOVAL_TOVALLOW_MASK)
  34704. #define RTWDOG_TOVAL_TOVALHIGH_MASK (0xFF00U)
  34705. #define RTWDOG_TOVAL_TOVALHIGH_SHIFT (8U)
  34706. /*! TOVALHIGH - High byte of the timeout value
  34707. */
  34708. #define RTWDOG_TOVAL_TOVALHIGH(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_TOVAL_TOVALHIGH_SHIFT)) & RTWDOG_TOVAL_TOVALHIGH_MASK)
  34709. /*! @} */
  34710. /*! @name WIN - Watchdog Window Register */
  34711. /*! @{ */
  34712. #define RTWDOG_WIN_WINLOW_MASK (0xFFU)
  34713. #define RTWDOG_WIN_WINLOW_SHIFT (0U)
  34714. /*! WINLOW - Low byte of Watchdog Window
  34715. */
  34716. #define RTWDOG_WIN_WINLOW(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_WIN_WINLOW_SHIFT)) & RTWDOG_WIN_WINLOW_MASK)
  34717. #define RTWDOG_WIN_WINHIGH_MASK (0xFF00U)
  34718. #define RTWDOG_WIN_WINHIGH_SHIFT (8U)
  34719. /*! WINHIGH - High byte of Watchdog Window
  34720. */
  34721. #define RTWDOG_WIN_WINHIGH(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_WIN_WINHIGH_SHIFT)) & RTWDOG_WIN_WINHIGH_MASK)
  34722. /*! @} */
  34723. /*!
  34724. * @}
  34725. */ /* end of group RTWDOG_Register_Masks */
  34726. /* RTWDOG - Peripheral instance base addresses */
  34727. /** Peripheral RTWDOG base address */
  34728. #define RTWDOG_BASE (0x400BC000u)
  34729. /** Peripheral RTWDOG base pointer */
  34730. #define RTWDOG ((RTWDOG_Type *)RTWDOG_BASE)
  34731. /** Array initializer of RTWDOG peripheral base addresses */
  34732. #define RTWDOG_BASE_ADDRS { RTWDOG_BASE }
  34733. /** Array initializer of RTWDOG peripheral base pointers */
  34734. #define RTWDOG_BASE_PTRS { RTWDOG }
  34735. /** Interrupt vectors for the RTWDOG peripheral type */
  34736. #define RTWDOG_IRQS { RTWDOG_IRQn }
  34737. /* Extra definition */
  34738. #define RTWDOG_UPDATE_KEY (0xD928C520U)
  34739. #define RTWDOG_REFRESH_KEY (0xB480A602U)
  34740. /*!
  34741. * @}
  34742. */ /* end of group RTWDOG_Peripheral_Access_Layer */
  34743. /* ----------------------------------------------------------------------------
  34744. -- SEMC Peripheral Access Layer
  34745. ---------------------------------------------------------------------------- */
  34746. /*!
  34747. * @addtogroup SEMC_Peripheral_Access_Layer SEMC Peripheral Access Layer
  34748. * @{
  34749. */
  34750. /** SEMC - Register Layout Typedef */
  34751. typedef struct {
  34752. __IO uint32_t MCR; /**< Module Control Register, offset: 0x0 */
  34753. __IO uint32_t IOCR; /**< IO Mux Control Register, offset: 0x4 */
  34754. __IO uint32_t BMCR0; /**< Master Bus (AXI) Control Register 0, offset: 0x8 */
  34755. __IO uint32_t BMCR1; /**< Master Bus (AXI) Control Register 1, offset: 0xC */
  34756. __IO uint32_t BR[9]; /**< Base Register 0 (For SDRAM CS0 device)..Base Register 8 (For NAND device), array offset: 0x10, array step: 0x4 */
  34757. __IO uint32_t DLLCR; /**< DLL Control Register, offset: 0x34 */
  34758. __IO uint32_t INTEN; /**< Interrupt Enable Register, offset: 0x38 */
  34759. __IO uint32_t INTR; /**< Interrupt Enable Register, offset: 0x3C */
  34760. __IO uint32_t SDRAMCR0; /**< SDRAM control register 0, offset: 0x40 */
  34761. __IO uint32_t SDRAMCR1; /**< SDRAM control register 1, offset: 0x44 */
  34762. __IO uint32_t SDRAMCR2; /**< SDRAM control register 2, offset: 0x48 */
  34763. __IO uint32_t SDRAMCR3; /**< SDRAM control register 3, offset: 0x4C */
  34764. __IO uint32_t NANDCR0; /**< NAND control register 0, offset: 0x50 */
  34765. __IO uint32_t NANDCR1; /**< NAND control register 1, offset: 0x54 */
  34766. __IO uint32_t NANDCR2; /**< NAND control register 2, offset: 0x58 */
  34767. __IO uint32_t NANDCR3; /**< NAND control register 3, offset: 0x5C */
  34768. __IO uint32_t NORCR0; /**< NOR control register 0, offset: 0x60 */
  34769. __IO uint32_t NORCR1; /**< NOR control register 1, offset: 0x64 */
  34770. __IO uint32_t NORCR2; /**< NOR control register 2, offset: 0x68 */
  34771. __IO uint32_t NORCR3; /**< NOR control register 3, offset: 0x6C */
  34772. __IO uint32_t SRAMCR0; /**< SRAM control register 0, offset: 0x70 */
  34773. __IO uint32_t SRAMCR1; /**< SRAM control register 1, offset: 0x74 */
  34774. __IO uint32_t SRAMCR2; /**< SRAM control register 2, offset: 0x78 */
  34775. uint32_t SRAMCR3; /**< SRAM control register 3, offset: 0x7C */
  34776. __IO uint32_t DBICR0; /**< DBI-B control register 0, offset: 0x80 */
  34777. __IO uint32_t DBICR1; /**< DBI-B control register 1, offset: 0x84 */
  34778. uint8_t RESERVED_0[8];
  34779. __IO uint32_t IPCR0; /**< IP Command control register 0, offset: 0x90 */
  34780. __IO uint32_t IPCR1; /**< IP Command control register 1, offset: 0x94 */
  34781. __IO uint32_t IPCR2; /**< IP Command control register 2, offset: 0x98 */
  34782. __IO uint32_t IPCMD; /**< IP Command register, offset: 0x9C */
  34783. __IO uint32_t IPTXDAT; /**< TX DATA register (for IP Command), offset: 0xA0 */
  34784. uint8_t RESERVED_1[12];
  34785. __I uint32_t IPRXDAT; /**< RX DATA register (for IP Command), offset: 0xB0 */
  34786. uint8_t RESERVED_2[12];
  34787. __I uint32_t STS0; /**< Status register 0, offset: 0xC0 */
  34788. uint32_t STS1; /**< Status register 1, offset: 0xC4 */
  34789. __I uint32_t STS2; /**< Status register 2, offset: 0xC8 */
  34790. uint32_t STS3; /**< Status register 3, offset: 0xCC */
  34791. uint32_t STS4; /**< Status register 4, offset: 0xD0 */
  34792. uint32_t STS5; /**< Status register 5, offset: 0xD4 */
  34793. uint32_t STS6; /**< Status register 6, offset: 0xD8 */
  34794. uint32_t STS7; /**< Status register 7, offset: 0xDC */
  34795. uint32_t STS8; /**< Status register 8, offset: 0xE0 */
  34796. uint32_t STS9; /**< Status register 9, offset: 0xE4 */
  34797. uint32_t STS10; /**< Status register 10, offset: 0xE8 */
  34798. uint32_t STS11; /**< Status register 11, offset: 0xEC */
  34799. __I uint32_t STS12; /**< Status register 12, offset: 0xF0 */
  34800. __I uint32_t STS13; /**< Status register 13, offset: 0xF4 */
  34801. uint32_t STS14; /**< Status register 14, offset: 0xF8 */
  34802. uint32_t STS15; /**< Status register 15, offset: 0xFC */
  34803. } SEMC_Type;
  34804. /* ----------------------------------------------------------------------------
  34805. -- SEMC Register Masks
  34806. ---------------------------------------------------------------------------- */
  34807. /*!
  34808. * @addtogroup SEMC_Register_Masks SEMC Register Masks
  34809. * @{
  34810. */
  34811. /*! @name MCR - Module Control Register */
  34812. /*! @{ */
  34813. #define SEMC_MCR_SWRST_MASK (0x1U)
  34814. #define SEMC_MCR_SWRST_SHIFT (0U)
  34815. /*! SWRST - Software Reset
  34816. */
  34817. #define SEMC_MCR_SWRST(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_SWRST_SHIFT)) & SEMC_MCR_SWRST_MASK)
  34818. #define SEMC_MCR_MDIS_MASK (0x2U)
  34819. #define SEMC_MCR_MDIS_SHIFT (1U)
  34820. /*! MDIS - Module Disable
  34821. * 0b0..Module enabled
  34822. * 0b1..Module disabled.
  34823. */
  34824. #define SEMC_MCR_MDIS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_MDIS_SHIFT)) & SEMC_MCR_MDIS_MASK)
  34825. #define SEMC_MCR_DQSMD_MASK (0x4U)
  34826. #define SEMC_MCR_DQSMD_SHIFT (2U)
  34827. /*! DQSMD - DQS (read strobe) mode
  34828. * 0b0..Dummy read strobe loopbacked internally
  34829. * 0b1..Dummy read strobe loopbacked from DQS pad or DLL delay chain. Details information at descriptions of DQSSEL bit.
  34830. */
  34831. #define SEMC_MCR_DQSMD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_DQSMD_SHIFT)) & SEMC_MCR_DQSMD_MASK)
  34832. #define SEMC_MCR_WPOL0_MASK (0x40U)
  34833. #define SEMC_MCR_WPOL0_SHIFT (6U)
  34834. /*! WPOL0 - WAIT/RDY# polarity for NOR/PSRAM
  34835. * 0b0..Low active
  34836. * 0b1..High active
  34837. */
  34838. #define SEMC_MCR_WPOL0(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_WPOL0_SHIFT)) & SEMC_MCR_WPOL0_MASK)
  34839. #define SEMC_MCR_WPOL1_MASK (0x80U)
  34840. #define SEMC_MCR_WPOL1_SHIFT (7U)
  34841. /*! WPOL1 - WAIT/RDY# polarity for NAND
  34842. * 0b0..Low active
  34843. * 0b1..High active
  34844. */
  34845. #define SEMC_MCR_WPOL1(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_WPOL1_SHIFT)) & SEMC_MCR_WPOL1_MASK)
  34846. #define SEMC_MCR_DQSSEL_MASK (0x400U)
  34847. #define SEMC_MCR_DQSSEL_SHIFT (10U)
  34848. /*! DQSSEL - Select DQS source when DQSMD and DLLSEL both set.
  34849. * 0b0..SDRAM/NOR/SRAM read clock source is from DQS pad in synchronous mode.
  34850. * 0b1..SDRAM/NOR/SRAM read clock source is from DLL delay chain in synchronous mode.
  34851. */
  34852. #define SEMC_MCR_DQSSEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_DQSSEL_SHIFT)) & SEMC_MCR_DQSSEL_MASK)
  34853. #define SEMC_MCR_DLLSEL_MASK (0x800U)
  34854. #define SEMC_MCR_DLLSEL_SHIFT (11U)
  34855. /*! DLLSEL - Select DLL delay chain clock input.
  34856. * 0b0..DLL delay chain clock input is from NAND device's DQS pad. For NAND synchronous mode only.
  34857. * 0b1..DLL delay chain clock input is from internal clock. For SDRAM, NOR and SRAM synchronous mode only.
  34858. */
  34859. #define SEMC_MCR_DLLSEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_DLLSEL_SHIFT)) & SEMC_MCR_DLLSEL_MASK)
  34860. #define SEMC_MCR_CTO_MASK (0xFF0000U)
  34861. #define SEMC_MCR_CTO_SHIFT (16U)
  34862. /*! CTO - Command Execution timeout cycles
  34863. */
  34864. #define SEMC_MCR_CTO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_CTO_SHIFT)) & SEMC_MCR_CTO_MASK)
  34865. #define SEMC_MCR_BTO_MASK (0x1F000000U)
  34866. #define SEMC_MCR_BTO_SHIFT (24U)
  34867. /*! BTO - Bus timeout cycles
  34868. * 0b00000..255*1
  34869. * 0b00001-0b11110..255*2 - 255*2^30
  34870. * 0b11111..255*2^31
  34871. */
  34872. #define SEMC_MCR_BTO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_BTO_SHIFT)) & SEMC_MCR_BTO_MASK)
  34873. /*! @} */
  34874. /*! @name IOCR - IO Mux Control Register */
  34875. /*! @{ */
  34876. #define SEMC_IOCR_MUX_A8_MASK (0x7U)
  34877. #define SEMC_IOCR_MUX_A8_SHIFT (0U)
  34878. /*! MUX_A8 - SEMC_A8 output selection
  34879. * 0b000..SDRAM Address bit (A8)
  34880. * 0b001..NAND CE#
  34881. * 0b010..NOR CE#
  34882. * 0b011..PSRAM CE#
  34883. * 0b100..DBI CSX
  34884. * 0b101..SDRAM Address bit (A8)
  34885. * 0b110..SDRAM Address bit (A8)
  34886. * 0b111..SDRAM Address bit (A8)
  34887. */
  34888. #define SEMC_IOCR_MUX_A8(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_A8_SHIFT)) & SEMC_IOCR_MUX_A8_MASK)
  34889. #define SEMC_IOCR_MUX_CSX0_MASK (0x38U)
  34890. #define SEMC_IOCR_MUX_CSX0_SHIFT (3U)
  34891. /*! MUX_CSX0 - SEMC_CSX0 output selection
  34892. * 0b000..NOR/PSRAM Address bit 24 (A24)
  34893. * 0b001..SDRAM CS1
  34894. * 0b010..SDRAM CS2
  34895. * 0b011..SDRAM CS3
  34896. * 0b100..NAND CE#
  34897. * 0b101..NOR CE#
  34898. * 0b110..PSRAM CE#
  34899. * 0b111..DBI CSX
  34900. */
  34901. #define SEMC_IOCR_MUX_CSX0(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CSX0_SHIFT)) & SEMC_IOCR_MUX_CSX0_MASK)
  34902. #define SEMC_IOCR_MUX_CSX1_MASK (0x1C0U)
  34903. #define SEMC_IOCR_MUX_CSX1_SHIFT (6U)
  34904. /*! MUX_CSX1 - SEMC_CSX1 output selection
  34905. * 0b000..NOR/PSRAM Address bit 25 (A25)
  34906. * 0b001..SDRAM CS1
  34907. * 0b010..SDRAM CS2
  34908. * 0b011..SDRAM CS3
  34909. * 0b100..NAND CE#
  34910. * 0b101..NOR CE#
  34911. * 0b110..PSRAM CE#
  34912. * 0b111..DBI CSX
  34913. */
  34914. #define SEMC_IOCR_MUX_CSX1(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CSX1_SHIFT)) & SEMC_IOCR_MUX_CSX1_MASK)
  34915. #define SEMC_IOCR_MUX_CSX2_MASK (0xE00U)
  34916. #define SEMC_IOCR_MUX_CSX2_SHIFT (9U)
  34917. /*! MUX_CSX2 - SEMC_CSX2 output selection
  34918. * 0b000..NOR/PSRAM Address bit 26 (A26)
  34919. * 0b001..SDRAM CS1
  34920. * 0b010..SDRAM CS2
  34921. * 0b011..SDRAM CS3
  34922. * 0b100..NAND CE#
  34923. * 0b101..NOR CE#
  34924. * 0b110..PSRAM CE#
  34925. * 0b111..DBI CSX
  34926. */
  34927. #define SEMC_IOCR_MUX_CSX2(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CSX2_SHIFT)) & SEMC_IOCR_MUX_CSX2_MASK)
  34928. #define SEMC_IOCR_MUX_CSX3_MASK (0x7000U)
  34929. #define SEMC_IOCR_MUX_CSX3_SHIFT (12U)
  34930. /*! MUX_CSX3 - SEMC_CSX3 output selection
  34931. * 0b000..NOR/PSRAM Address bit 27 (A27)
  34932. * 0b001..SDRAM CS1
  34933. * 0b010..SDRAM CS2
  34934. * 0b011..SDRAM CS3
  34935. * 0b100..NAND CE#
  34936. * 0b101..NOR CE#
  34937. * 0b110..PSRAM CE#
  34938. * 0b111..DBI CSX
  34939. */
  34940. #define SEMC_IOCR_MUX_CSX3(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CSX3_SHIFT)) & SEMC_IOCR_MUX_CSX3_MASK)
  34941. #define SEMC_IOCR_MUX_RDY_MASK (0x38000U)
  34942. #define SEMC_IOCR_MUX_RDY_SHIFT (15U)
  34943. /*! MUX_RDY - SEMC_RDY function selection
  34944. * 0b000..NAND Ready/Wait# input
  34945. * 0b001..SDRAM CS1
  34946. * 0b010..SDRAM CS2
  34947. * 0b011..SDRAM CS3
  34948. * 0b100..NOR CE#
  34949. * 0b101..PSRAM CE#
  34950. * 0b110..DBI CSX
  34951. * 0b111..NOR/PSRAM Address bit 27
  34952. */
  34953. #define SEMC_IOCR_MUX_RDY(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_RDY_SHIFT)) & SEMC_IOCR_MUX_RDY_MASK)
  34954. #define SEMC_IOCR_MUX_CLKX0_MASK (0x1000000U)
  34955. #define SEMC_IOCR_MUX_CLKX0_SHIFT (24U)
  34956. /*! MUX_CLKX0 - SEMC_CLKX0 function selection
  34957. * 0b0..NOR clock
  34958. * 0b1..SRAM clock
  34959. */
  34960. #define SEMC_IOCR_MUX_CLKX0(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CLKX0_SHIFT)) & SEMC_IOCR_MUX_CLKX0_MASK)
  34961. #define SEMC_IOCR_MUX_CLKX1_MASK (0x2000000U)
  34962. #define SEMC_IOCR_MUX_CLKX1_SHIFT (25U)
  34963. /*! MUX_CLKX1 - SEMC_CLKX1 function selection
  34964. * 0b0..NOR clock
  34965. * 0b1..SRAM clock
  34966. */
  34967. #define SEMC_IOCR_MUX_CLKX1(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CLKX1_SHIFT)) & SEMC_IOCR_MUX_CLKX1_MASK)
  34968. /*! @} */
  34969. /*! @name BMCR0 - Master Bus (AXI) Control Register 0 */
  34970. /*! @{ */
  34971. #define SEMC_BMCR0_WQOS_MASK (0xFU)
  34972. #define SEMC_BMCR0_WQOS_SHIFT (0U)
  34973. /*! WQOS - Weight of QoS
  34974. */
  34975. #define SEMC_BMCR0_WQOS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR0_WQOS_SHIFT)) & SEMC_BMCR0_WQOS_MASK)
  34976. #define SEMC_BMCR0_WAGE_MASK (0xF0U)
  34977. #define SEMC_BMCR0_WAGE_SHIFT (4U)
  34978. /*! WAGE - Weight of Aging
  34979. */
  34980. #define SEMC_BMCR0_WAGE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR0_WAGE_SHIFT)) & SEMC_BMCR0_WAGE_MASK)
  34981. #define SEMC_BMCR0_WSH_MASK (0xFF00U)
  34982. #define SEMC_BMCR0_WSH_SHIFT (8U)
  34983. /*! WSH - Weight of Slave Hit (no read/write switch)
  34984. */
  34985. #define SEMC_BMCR0_WSH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR0_WSH_SHIFT)) & SEMC_BMCR0_WSH_MASK)
  34986. #define SEMC_BMCR0_WRWS_MASK (0xFF0000U)
  34987. #define SEMC_BMCR0_WRWS_SHIFT (16U)
  34988. /*! WRWS - Weight of Slave Hit (Read/Write switch)
  34989. */
  34990. #define SEMC_BMCR0_WRWS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR0_WRWS_SHIFT)) & SEMC_BMCR0_WRWS_MASK)
  34991. /*! @} */
  34992. /*! @name BMCR1 - Master Bus (AXI) Control Register 1 */
  34993. /*! @{ */
  34994. #define SEMC_BMCR1_WQOS_MASK (0xFU)
  34995. #define SEMC_BMCR1_WQOS_SHIFT (0U)
  34996. /*! WQOS - Weight of QoS
  34997. */
  34998. #define SEMC_BMCR1_WQOS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WQOS_SHIFT)) & SEMC_BMCR1_WQOS_MASK)
  34999. #define SEMC_BMCR1_WAGE_MASK (0xF0U)
  35000. #define SEMC_BMCR1_WAGE_SHIFT (4U)
  35001. /*! WAGE - Weight of Aging
  35002. */
  35003. #define SEMC_BMCR1_WAGE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WAGE_SHIFT)) & SEMC_BMCR1_WAGE_MASK)
  35004. #define SEMC_BMCR1_WPH_MASK (0xFF00U)
  35005. #define SEMC_BMCR1_WPH_SHIFT (8U)
  35006. /*! WPH - Weight of Page Hit
  35007. */
  35008. #define SEMC_BMCR1_WPH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WPH_SHIFT)) & SEMC_BMCR1_WPH_MASK)
  35009. #define SEMC_BMCR1_WRWS_MASK (0xFF0000U)
  35010. #define SEMC_BMCR1_WRWS_SHIFT (16U)
  35011. /*! WRWS - Weight of Read/Write switch
  35012. */
  35013. #define SEMC_BMCR1_WRWS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WRWS_SHIFT)) & SEMC_BMCR1_WRWS_MASK)
  35014. #define SEMC_BMCR1_WBR_MASK (0xFF000000U)
  35015. #define SEMC_BMCR1_WBR_SHIFT (24U)
  35016. /*! WBR - Weight of Bank Rotation
  35017. */
  35018. #define SEMC_BMCR1_WBR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WBR_SHIFT)) & SEMC_BMCR1_WBR_MASK)
  35019. /*! @} */
  35020. /*! @name BR - Base Register 0 (For SDRAM CS0 device)..Base Register 8 (For NAND device) */
  35021. /*! @{ */
  35022. #define SEMC_BR_VLD_MASK (0x1U)
  35023. #define SEMC_BR_VLD_SHIFT (0U)
  35024. /*! VLD - Valid
  35025. */
  35026. #define SEMC_BR_VLD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR_VLD_SHIFT)) & SEMC_BR_VLD_MASK)
  35027. #define SEMC_BR_MS_MASK (0x3EU)
  35028. #define SEMC_BR_MS_SHIFT (1U)
  35029. /*! MS - Memory size
  35030. * 0b00000..4KB
  35031. * 0b00001..8KB
  35032. * 0b00010..16KB
  35033. * 0b00011..32KB
  35034. * 0b00100..64KB
  35035. * 0b00101..128KB
  35036. * 0b00110..256KB
  35037. * 0b00111..512KB
  35038. * 0b01000..1MB
  35039. * 0b01001..2MB
  35040. * 0b01010..4MB
  35041. * 0b01011..8MB
  35042. * 0b01100..16MB
  35043. * 0b01101..32MB
  35044. * 0b01110..64MB
  35045. * 0b01111..128MB
  35046. * 0b10000..256MB
  35047. * 0b10001..512MB
  35048. * 0b10010..1GB
  35049. * 0b10011..2GB
  35050. * 0b10100..4GB
  35051. * 0b10101..4GB
  35052. * 0b10110..4GB
  35053. * 0b10111..4GB
  35054. * 0b11000..4GB
  35055. * 0b11001..4GB
  35056. * 0b11010..4GB
  35057. * 0b11011..4GB
  35058. * 0b11100..4GB
  35059. * 0b11101..4GB
  35060. * 0b11110..4GB
  35061. * 0b11111..4GB
  35062. */
  35063. #define SEMC_BR_MS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR_MS_SHIFT)) & SEMC_BR_MS_MASK)
  35064. #define SEMC_BR_BA_MASK (0xFFFFF000U)
  35065. #define SEMC_BR_BA_SHIFT (12U)
  35066. /*! BA - Base Address
  35067. */
  35068. #define SEMC_BR_BA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR_BA_SHIFT)) & SEMC_BR_BA_MASK)
  35069. /*! @} */
  35070. /* The count of SEMC_BR */
  35071. #define SEMC_BR_COUNT (9U)
  35072. /*! @name DLLCR - DLL Control Register */
  35073. /*! @{ */
  35074. #define SEMC_DLLCR_DLLEN_MASK (0x1U)
  35075. #define SEMC_DLLCR_DLLEN_SHIFT (0U)
  35076. /*! DLLEN - DLL calibration enable.
  35077. */
  35078. #define SEMC_DLLCR_DLLEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DLLCR_DLLEN_SHIFT)) & SEMC_DLLCR_DLLEN_MASK)
  35079. #define SEMC_DLLCR_DLLRESET_MASK (0x2U)
  35080. #define SEMC_DLLCR_DLLRESET_SHIFT (1U)
  35081. /*! DLLRESET - Software could force a reset on DLL by setting this field to 0x1. This will cause the
  35082. * DLL to lose lock and re-calibrate to detect an ref_clock half period phase shift. The reset
  35083. * action is edge triggered, so software need to clear this bit after set this bit (no delay
  35084. * limitation).
  35085. */
  35086. #define SEMC_DLLCR_DLLRESET(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DLLCR_DLLRESET_SHIFT)) & SEMC_DLLCR_DLLRESET_MASK)
  35087. #define SEMC_DLLCR_SLVDLYTARGET_MASK (0x78U)
  35088. #define SEMC_DLLCR_SLVDLYTARGET_SHIFT (3U)
  35089. /*! SLVDLYTARGET - The delay target for slave delay line is: ((SLVDLYTARGET+1) * 1/32 * clock cycle of reference clock (ipgclock).
  35090. */
  35091. #define SEMC_DLLCR_SLVDLYTARGET(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DLLCR_SLVDLYTARGET_SHIFT)) & SEMC_DLLCR_SLVDLYTARGET_MASK)
  35092. #define SEMC_DLLCR_OVRDEN_MASK (0x100U)
  35093. #define SEMC_DLLCR_OVRDEN_SHIFT (8U)
  35094. /*! OVRDEN - Slave clock delay line delay cell number selection override enable.
  35095. */
  35096. #define SEMC_DLLCR_OVRDEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DLLCR_OVRDEN_SHIFT)) & SEMC_DLLCR_OVRDEN_MASK)
  35097. #define SEMC_DLLCR_OVRDVAL_MASK (0x7E00U)
  35098. #define SEMC_DLLCR_OVRDVAL_SHIFT (9U)
  35099. /*! OVRDVAL - Slave clock delay line delay cell number selection override value.
  35100. */
  35101. #define SEMC_DLLCR_OVRDVAL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DLLCR_OVRDVAL_SHIFT)) & SEMC_DLLCR_OVRDVAL_MASK)
  35102. /*! @} */
  35103. /*! @name INTEN - Interrupt Enable Register */
  35104. /*! @{ */
  35105. #define SEMC_INTEN_IPCMDDONEEN_MASK (0x1U)
  35106. #define SEMC_INTEN_IPCMDDONEEN_SHIFT (0U)
  35107. /*! IPCMDDONEEN - IP command done interrupt enable
  35108. */
  35109. #define SEMC_INTEN_IPCMDDONEEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_IPCMDDONEEN_SHIFT)) & SEMC_INTEN_IPCMDDONEEN_MASK)
  35110. #define SEMC_INTEN_IPCMDERREN_MASK (0x2U)
  35111. #define SEMC_INTEN_IPCMDERREN_SHIFT (1U)
  35112. /*! IPCMDERREN - IP command error interrupt enable
  35113. */
  35114. #define SEMC_INTEN_IPCMDERREN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_IPCMDERREN_SHIFT)) & SEMC_INTEN_IPCMDERREN_MASK)
  35115. #define SEMC_INTEN_AXICMDERREN_MASK (0x4U)
  35116. #define SEMC_INTEN_AXICMDERREN_SHIFT (2U)
  35117. /*! AXICMDERREN - AXI command error interrupt enable
  35118. */
  35119. #define SEMC_INTEN_AXICMDERREN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_AXICMDERREN_SHIFT)) & SEMC_INTEN_AXICMDERREN_MASK)
  35120. #define SEMC_INTEN_AXIBUSERREN_MASK (0x8U)
  35121. #define SEMC_INTEN_AXIBUSERREN_SHIFT (3U)
  35122. /*! AXIBUSERREN - AXI bus error interrupt enable
  35123. */
  35124. #define SEMC_INTEN_AXIBUSERREN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_AXIBUSERREN_SHIFT)) & SEMC_INTEN_AXIBUSERREN_MASK)
  35125. #define SEMC_INTEN_NDPAGEENDEN_MASK (0x10U)
  35126. #define SEMC_INTEN_NDPAGEENDEN_SHIFT (4U)
  35127. /*! NDPAGEENDEN - This bit enable/disable the NDPAGEEND interrupt generation.
  35128. * 0b0..Disable
  35129. * 0b1..Enable
  35130. */
  35131. #define SEMC_INTEN_NDPAGEENDEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_NDPAGEENDEN_SHIFT)) & SEMC_INTEN_NDPAGEENDEN_MASK)
  35132. #define SEMC_INTEN_NDNOPENDEN_MASK (0x20U)
  35133. #define SEMC_INTEN_NDNOPENDEN_SHIFT (5U)
  35134. /*! NDNOPENDEN - This bit enable/disable the NDNOPEND interrupt generation.
  35135. * 0b0..Disable
  35136. * 0b1..Enable
  35137. */
  35138. #define SEMC_INTEN_NDNOPENDEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_NDNOPENDEN_SHIFT)) & SEMC_INTEN_NDNOPENDEN_MASK)
  35139. /*! @} */
  35140. /*! @name INTR - Interrupt Enable Register */
  35141. /*! @{ */
  35142. #define SEMC_INTR_IPCMDDONE_MASK (0x1U)
  35143. #define SEMC_INTR_IPCMDDONE_SHIFT (0U)
  35144. /*! IPCMDDONE - IP command normal done interrupt
  35145. */
  35146. #define SEMC_INTR_IPCMDDONE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_IPCMDDONE_SHIFT)) & SEMC_INTR_IPCMDDONE_MASK)
  35147. #define SEMC_INTR_IPCMDERR_MASK (0x2U)
  35148. #define SEMC_INTR_IPCMDERR_SHIFT (1U)
  35149. /*! IPCMDERR - IP command error done interrupt
  35150. */
  35151. #define SEMC_INTR_IPCMDERR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_IPCMDERR_SHIFT)) & SEMC_INTR_IPCMDERR_MASK)
  35152. #define SEMC_INTR_AXICMDERR_MASK (0x4U)
  35153. #define SEMC_INTR_AXICMDERR_SHIFT (2U)
  35154. /*! AXICMDERR - AXI command error interrupt
  35155. */
  35156. #define SEMC_INTR_AXICMDERR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_AXICMDERR_SHIFT)) & SEMC_INTR_AXICMDERR_MASK)
  35157. #define SEMC_INTR_AXIBUSERR_MASK (0x8U)
  35158. #define SEMC_INTR_AXIBUSERR_SHIFT (3U)
  35159. /*! AXIBUSERR - AXI bus error interrupt
  35160. */
  35161. #define SEMC_INTR_AXIBUSERR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_AXIBUSERR_SHIFT)) & SEMC_INTR_AXIBUSERR_MASK)
  35162. #define SEMC_INTR_NDPAGEEND_MASK (0x10U)
  35163. #define SEMC_INTR_NDPAGEEND_SHIFT (4U)
  35164. /*! NDPAGEEND - This interrupt is generated when the last address of one page in NAND device is written by AXI command
  35165. */
  35166. #define SEMC_INTR_NDPAGEEND(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_NDPAGEEND_SHIFT)) & SEMC_INTR_NDPAGEEND_MASK)
  35167. #define SEMC_INTR_NDNOPEND_MASK (0x20U)
  35168. #define SEMC_INTR_NDNOPEND_SHIFT (5U)
  35169. /*! NDNOPEND - This interrupt is generated when all pending AXI write command to NAND is finished on NAND interface.
  35170. */
  35171. #define SEMC_INTR_NDNOPEND(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_NDNOPEND_SHIFT)) & SEMC_INTR_NDNOPEND_MASK)
  35172. /*! @} */
  35173. /*! @name SDRAMCR0 - SDRAM control register 0 */
  35174. /*! @{ */
  35175. #define SEMC_SDRAMCR0_PS_MASK (0x1U)
  35176. #define SEMC_SDRAMCR0_PS_SHIFT (0U)
  35177. /*! PS - Port Size
  35178. * 0b0..8bit
  35179. * 0b1..16bit
  35180. */
  35181. #define SEMC_SDRAMCR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_PS_SHIFT)) & SEMC_SDRAMCR0_PS_MASK)
  35182. #define SEMC_SDRAMCR0_BL_MASK (0x70U)
  35183. #define SEMC_SDRAMCR0_BL_SHIFT (4U)
  35184. /*! BL - Burst Length
  35185. * 0b000..1
  35186. * 0b001..2
  35187. * 0b010..4
  35188. * 0b011..8
  35189. * 0b100..8
  35190. * 0b101..8
  35191. * 0b110..8
  35192. * 0b111..8
  35193. */
  35194. #define SEMC_SDRAMCR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_BL_SHIFT)) & SEMC_SDRAMCR0_BL_MASK)
  35195. #define SEMC_SDRAMCR0_COL8_MASK (0x80U)
  35196. #define SEMC_SDRAMCR0_COL8_SHIFT (7U)
  35197. /*! COL8 - Column 8 selection bit
  35198. * 0b0..Column address bit number is decided by COL field.
  35199. * 0b1..Column address bit number is 8. COL field is ignored.
  35200. */
  35201. #define SEMC_SDRAMCR0_COL8(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_COL8_SHIFT)) & SEMC_SDRAMCR0_COL8_MASK)
  35202. #define SEMC_SDRAMCR0_COL_MASK (0x300U)
  35203. #define SEMC_SDRAMCR0_COL_SHIFT (8U)
  35204. /*! COL - Column address bit number
  35205. * 0b00..12 bit
  35206. * 0b01..11 bit
  35207. * 0b10..10 bit
  35208. * 0b11..9 bit
  35209. */
  35210. #define SEMC_SDRAMCR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_COL_SHIFT)) & SEMC_SDRAMCR0_COL_MASK)
  35211. #define SEMC_SDRAMCR0_CL_MASK (0xC00U)
  35212. #define SEMC_SDRAMCR0_CL_SHIFT (10U)
  35213. /*! CL - CAS Latency
  35214. * 0b00..1
  35215. * 0b01..1
  35216. * 0b10..2
  35217. * 0b11..3
  35218. */
  35219. #define SEMC_SDRAMCR0_CL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_CL_SHIFT)) & SEMC_SDRAMCR0_CL_MASK)
  35220. #define SEMC_SDRAMCR0_BANK2_MASK (0x4000U)
  35221. #define SEMC_SDRAMCR0_BANK2_SHIFT (14U)
  35222. /*! BANK2 - 2 Bank selection bit
  35223. * 0b0..SDRAM device has 4 banks.
  35224. * 0b1..SDRAM device has 2 banks.
  35225. */
  35226. #define SEMC_SDRAMCR0_BANK2(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_BANK2_SHIFT)) & SEMC_SDRAMCR0_BANK2_MASK)
  35227. /*! @} */
  35228. /*! @name SDRAMCR1 - SDRAM control register 1 */
  35229. /*! @{ */
  35230. #define SEMC_SDRAMCR1_PRE2ACT_MASK (0xFU)
  35231. #define SEMC_SDRAMCR1_PRE2ACT_SHIFT (0U)
  35232. /*! PRE2ACT - PRECHARGE to ACT/Refresh wait time
  35233. */
  35234. #define SEMC_SDRAMCR1_PRE2ACT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_PRE2ACT_SHIFT)) & SEMC_SDRAMCR1_PRE2ACT_MASK)
  35235. #define SEMC_SDRAMCR1_ACT2RW_MASK (0xF0U)
  35236. #define SEMC_SDRAMCR1_ACT2RW_SHIFT (4U)
  35237. /*! ACT2RW - ACT to Read/Write wait time
  35238. */
  35239. #define SEMC_SDRAMCR1_ACT2RW(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_ACT2RW_SHIFT)) & SEMC_SDRAMCR1_ACT2RW_MASK)
  35240. #define SEMC_SDRAMCR1_RFRC_MASK (0x1F00U)
  35241. #define SEMC_SDRAMCR1_RFRC_SHIFT (8U)
  35242. /*! RFRC - Refresh recovery time
  35243. */
  35244. #define SEMC_SDRAMCR1_RFRC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_RFRC_SHIFT)) & SEMC_SDRAMCR1_RFRC_MASK)
  35245. #define SEMC_SDRAMCR1_WRC_MASK (0xE000U)
  35246. #define SEMC_SDRAMCR1_WRC_SHIFT (13U)
  35247. /*! WRC - Write recovery time
  35248. */
  35249. #define SEMC_SDRAMCR1_WRC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_WRC_SHIFT)) & SEMC_SDRAMCR1_WRC_MASK)
  35250. #define SEMC_SDRAMCR1_CKEOFF_MASK (0xF0000U)
  35251. #define SEMC_SDRAMCR1_CKEOFF_SHIFT (16U)
  35252. /*! CKEOFF - CKE OFF minimum time
  35253. */
  35254. #define SEMC_SDRAMCR1_CKEOFF(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_CKEOFF_SHIFT)) & SEMC_SDRAMCR1_CKEOFF_MASK)
  35255. #define SEMC_SDRAMCR1_ACT2PRE_MASK (0xF00000U)
  35256. #define SEMC_SDRAMCR1_ACT2PRE_SHIFT (20U)
  35257. /*! ACT2PRE - ACT to Precharge minimum time
  35258. */
  35259. #define SEMC_SDRAMCR1_ACT2PRE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_ACT2PRE_SHIFT)) & SEMC_SDRAMCR1_ACT2PRE_MASK)
  35260. /*! @} */
  35261. /*! @name SDRAMCR2 - SDRAM control register 2 */
  35262. /*! @{ */
  35263. #define SEMC_SDRAMCR2_SRRC_MASK (0xFFU)
  35264. #define SEMC_SDRAMCR2_SRRC_SHIFT (0U)
  35265. /*! SRRC - Self Refresh Recovery time
  35266. */
  35267. #define SEMC_SDRAMCR2_SRRC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR2_SRRC_SHIFT)) & SEMC_SDRAMCR2_SRRC_MASK)
  35268. #define SEMC_SDRAMCR2_REF2REF_MASK (0xFF00U)
  35269. #define SEMC_SDRAMCR2_REF2REF_SHIFT (8U)
  35270. /*! REF2REF - Refresh to Refresh wait time
  35271. */
  35272. #define SEMC_SDRAMCR2_REF2REF(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR2_REF2REF_SHIFT)) & SEMC_SDRAMCR2_REF2REF_MASK)
  35273. #define SEMC_SDRAMCR2_ACT2ACT_MASK (0xFF0000U)
  35274. #define SEMC_SDRAMCR2_ACT2ACT_SHIFT (16U)
  35275. /*! ACT2ACT - ACT to ACT wait time
  35276. */
  35277. #define SEMC_SDRAMCR2_ACT2ACT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR2_ACT2ACT_SHIFT)) & SEMC_SDRAMCR2_ACT2ACT_MASK)
  35278. #define SEMC_SDRAMCR2_ITO_MASK (0xFF000000U)
  35279. #define SEMC_SDRAMCR2_ITO_SHIFT (24U)
  35280. /*! ITO - SDRAM Idle timeout
  35281. * 0b00000000..IDLE timeout period is 256*Prescale period.
  35282. * 0b00000001-0b11111111..IDLE timeout period is ITO*Prescale period.
  35283. */
  35284. #define SEMC_SDRAMCR2_ITO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR2_ITO_SHIFT)) & SEMC_SDRAMCR2_ITO_MASK)
  35285. /*! @} */
  35286. /*! @name SDRAMCR3 - SDRAM control register 3 */
  35287. /*! @{ */
  35288. #define SEMC_SDRAMCR3_REN_MASK (0x1U)
  35289. #define SEMC_SDRAMCR3_REN_SHIFT (0U)
  35290. /*! REN - Refresh enable
  35291. */
  35292. #define SEMC_SDRAMCR3_REN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_REN_SHIFT)) & SEMC_SDRAMCR3_REN_MASK)
  35293. #define SEMC_SDRAMCR3_REBL_MASK (0xEU)
  35294. #define SEMC_SDRAMCR3_REBL_SHIFT (1U)
  35295. /*! REBL - Refresh burst length
  35296. * 0b000..1
  35297. * 0b001..2
  35298. * 0b010..3
  35299. * 0b011..4
  35300. * 0b100..5
  35301. * 0b101..6
  35302. * 0b110..7
  35303. * 0b111..8
  35304. */
  35305. #define SEMC_SDRAMCR3_REBL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_REBL_SHIFT)) & SEMC_SDRAMCR3_REBL_MASK)
  35306. #define SEMC_SDRAMCR3_PRESCALE_MASK (0xFF00U)
  35307. #define SEMC_SDRAMCR3_PRESCALE_SHIFT (8U)
  35308. /*! PRESCALE - Prescaler timer period
  35309. * 0b00000000..256*16 cycle
  35310. * 0b00000001-0b11111111..PRESCALE*16 cycle
  35311. */
  35312. #define SEMC_SDRAMCR3_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_PRESCALE_SHIFT)) & SEMC_SDRAMCR3_PRESCALE_MASK)
  35313. #define SEMC_SDRAMCR3_RT_MASK (0xFF0000U)
  35314. #define SEMC_SDRAMCR3_RT_SHIFT (16U)
  35315. /*! RT - Refresh timer period
  35316. * 0b00000000..256*Prescaler period
  35317. * 0b00000001-0b11111111..RT*Prescaler period
  35318. */
  35319. #define SEMC_SDRAMCR3_RT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_RT_SHIFT)) & SEMC_SDRAMCR3_RT_MASK)
  35320. #define SEMC_SDRAMCR3_UT_MASK (0xFF000000U)
  35321. #define SEMC_SDRAMCR3_UT_SHIFT (24U)
  35322. /*! UT - Refresh urgent threshold
  35323. * 0b00000000..256*Prescaler period
  35324. * 0b00000001-0b11111111..UT*Prescaler period
  35325. */
  35326. #define SEMC_SDRAMCR3_UT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_UT_SHIFT)) & SEMC_SDRAMCR3_UT_MASK)
  35327. /*! @} */
  35328. /*! @name NANDCR0 - NAND control register 0 */
  35329. /*! @{ */
  35330. #define SEMC_NANDCR0_PS_MASK (0x1U)
  35331. #define SEMC_NANDCR0_PS_SHIFT (0U)
  35332. /*! PS - Port Size
  35333. * 0b0..8bit
  35334. * 0b1..16bit
  35335. */
  35336. #define SEMC_NANDCR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR0_PS_SHIFT)) & SEMC_NANDCR0_PS_MASK)
  35337. #define SEMC_NANDCR0_SYNCEN_MASK (0x2U)
  35338. #define SEMC_NANDCR0_SYNCEN_SHIFT (1U)
  35339. /*! SYNCEN - Select NAND controller mode.
  35340. * 0b0..Asynchronous mode is enabled.
  35341. * 0b1..Synchronous mode is enabled.
  35342. */
  35343. #define SEMC_NANDCR0_SYNCEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR0_SYNCEN_SHIFT)) & SEMC_NANDCR0_SYNCEN_MASK)
  35344. #define SEMC_NANDCR0_BL_MASK (0x70U)
  35345. #define SEMC_NANDCR0_BL_SHIFT (4U)
  35346. /*! BL - Burst Length
  35347. * 0b000..1
  35348. * 0b001..2
  35349. * 0b010..4
  35350. * 0b011..8
  35351. * 0b100..16
  35352. * 0b101..32
  35353. * 0b110..64
  35354. * 0b111..64
  35355. */
  35356. #define SEMC_NANDCR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR0_BL_SHIFT)) & SEMC_NANDCR0_BL_MASK)
  35357. #define SEMC_NANDCR0_EDO_MASK (0x80U)
  35358. #define SEMC_NANDCR0_EDO_SHIFT (7U)
  35359. /*! EDO - EDO mode enabled
  35360. * 0b0..EDO mode disabled
  35361. * 0b1..EDO mode enabled
  35362. */
  35363. #define SEMC_NANDCR0_EDO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR0_EDO_SHIFT)) & SEMC_NANDCR0_EDO_MASK)
  35364. #define SEMC_NANDCR0_COL_MASK (0x700U)
  35365. #define SEMC_NANDCR0_COL_SHIFT (8U)
  35366. /*! COL - Column address bit number
  35367. * 0b000..16
  35368. * 0b001..15
  35369. * 0b010..14
  35370. * 0b011..13
  35371. * 0b100..12
  35372. * 0b101..11
  35373. * 0b110..10
  35374. * 0b111..9
  35375. */
  35376. #define SEMC_NANDCR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR0_COL_SHIFT)) & SEMC_NANDCR0_COL_MASK)
  35377. /*! @} */
  35378. /*! @name NANDCR1 - NAND control register 1 */
  35379. /*! @{ */
  35380. #define SEMC_NANDCR1_CES_MASK (0xFU)
  35381. #define SEMC_NANDCR1_CES_SHIFT (0U)
  35382. /*! CES - CE setup time
  35383. */
  35384. #define SEMC_NANDCR1_CES(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_CES_SHIFT)) & SEMC_NANDCR1_CES_MASK)
  35385. #define SEMC_NANDCR1_CEH_MASK (0xF0U)
  35386. #define SEMC_NANDCR1_CEH_SHIFT (4U)
  35387. /*! CEH - CE hold time
  35388. */
  35389. #define SEMC_NANDCR1_CEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_CEH_SHIFT)) & SEMC_NANDCR1_CEH_MASK)
  35390. #define SEMC_NANDCR1_WEL_MASK (0xF00U)
  35391. #define SEMC_NANDCR1_WEL_SHIFT (8U)
  35392. /*! WEL - WE# LOW time
  35393. */
  35394. #define SEMC_NANDCR1_WEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_WEL_SHIFT)) & SEMC_NANDCR1_WEL_MASK)
  35395. #define SEMC_NANDCR1_WEH_MASK (0xF000U)
  35396. #define SEMC_NANDCR1_WEH_SHIFT (12U)
  35397. /*! WEH - WE# HIGH time
  35398. */
  35399. #define SEMC_NANDCR1_WEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_WEH_SHIFT)) & SEMC_NANDCR1_WEH_MASK)
  35400. #define SEMC_NANDCR1_REL_MASK (0xF0000U)
  35401. #define SEMC_NANDCR1_REL_SHIFT (16U)
  35402. /*! REL - RE# LOW time
  35403. */
  35404. #define SEMC_NANDCR1_REL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_REL_SHIFT)) & SEMC_NANDCR1_REL_MASK)
  35405. #define SEMC_NANDCR1_REH_MASK (0xF00000U)
  35406. #define SEMC_NANDCR1_REH_SHIFT (20U)
  35407. /*! REH - RE# HIGH time
  35408. */
  35409. #define SEMC_NANDCR1_REH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_REH_SHIFT)) & SEMC_NANDCR1_REH_MASK)
  35410. #define SEMC_NANDCR1_TA_MASK (0xF000000U)
  35411. #define SEMC_NANDCR1_TA_SHIFT (24U)
  35412. /*! TA - Turnaround time
  35413. */
  35414. #define SEMC_NANDCR1_TA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_TA_SHIFT)) & SEMC_NANDCR1_TA_MASK)
  35415. #define SEMC_NANDCR1_CEITV_MASK (0xF0000000U)
  35416. #define SEMC_NANDCR1_CEITV_SHIFT (28U)
  35417. /*! CEITV - CE# interval time
  35418. */
  35419. #define SEMC_NANDCR1_CEITV(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_CEITV_SHIFT)) & SEMC_NANDCR1_CEITV_MASK)
  35420. /*! @} */
  35421. /*! @name NANDCR2 - NAND control register 2 */
  35422. /*! @{ */
  35423. #define SEMC_NANDCR2_TWHR_MASK (0x3FU)
  35424. #define SEMC_NANDCR2_TWHR_SHIFT (0U)
  35425. /*! TWHR - WE# HIGH to RE# LOW wait time
  35426. */
  35427. #define SEMC_NANDCR2_TWHR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TWHR_SHIFT)) & SEMC_NANDCR2_TWHR_MASK)
  35428. #define SEMC_NANDCR2_TRHW_MASK (0xFC0U)
  35429. #define SEMC_NANDCR2_TRHW_SHIFT (6U)
  35430. /*! TRHW - RE# HIGH to WE# LOW wait time
  35431. */
  35432. #define SEMC_NANDCR2_TRHW(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TRHW_SHIFT)) & SEMC_NANDCR2_TRHW_MASK)
  35433. #define SEMC_NANDCR2_TADL_MASK (0x3F000U)
  35434. #define SEMC_NANDCR2_TADL_SHIFT (12U)
  35435. /*! TADL - ALE to WRITE Data start wait time
  35436. */
  35437. #define SEMC_NANDCR2_TADL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TADL_SHIFT)) & SEMC_NANDCR2_TADL_MASK)
  35438. #define SEMC_NANDCR2_TRR_MASK (0xFC0000U)
  35439. #define SEMC_NANDCR2_TRR_SHIFT (18U)
  35440. /*! TRR - Ready to RE# LOW min wait time
  35441. */
  35442. #define SEMC_NANDCR2_TRR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TRR_SHIFT)) & SEMC_NANDCR2_TRR_MASK)
  35443. #define SEMC_NANDCR2_TWB_MASK (0x3F000000U)
  35444. #define SEMC_NANDCR2_TWB_SHIFT (24U)
  35445. /*! TWB - WE# HIGH to busy wait time
  35446. */
  35447. #define SEMC_NANDCR2_TWB(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TWB_SHIFT)) & SEMC_NANDCR2_TWB_MASK)
  35448. /*! @} */
  35449. /*! @name NANDCR3 - NAND control register 3 */
  35450. /*! @{ */
  35451. #define SEMC_NANDCR3_NDOPT1_MASK (0x1U)
  35452. #define SEMC_NANDCR3_NDOPT1_SHIFT (0U)
  35453. /*! NDOPT1 - NAND option bit 1
  35454. */
  35455. #define SEMC_NANDCR3_NDOPT1(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_NDOPT1_SHIFT)) & SEMC_NANDCR3_NDOPT1_MASK)
  35456. #define SEMC_NANDCR3_NDOPT2_MASK (0x2U)
  35457. #define SEMC_NANDCR3_NDOPT2_SHIFT (1U)
  35458. /*! NDOPT2 - NAND option bit 2
  35459. */
  35460. #define SEMC_NANDCR3_NDOPT2(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_NDOPT2_SHIFT)) & SEMC_NANDCR3_NDOPT2_MASK)
  35461. #define SEMC_NANDCR3_NDOPT3_MASK (0x4U)
  35462. #define SEMC_NANDCR3_NDOPT3_SHIFT (2U)
  35463. /*! NDOPT3 - NAND option bit 3
  35464. */
  35465. #define SEMC_NANDCR3_NDOPT3(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_NDOPT3_SHIFT)) & SEMC_NANDCR3_NDOPT3_MASK)
  35466. #define SEMC_NANDCR3_CLE_MASK (0x8U)
  35467. #define SEMC_NANDCR3_CLE_SHIFT (3U)
  35468. /*! CLE - NAND CLE Option
  35469. */
  35470. #define SEMC_NANDCR3_CLE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_CLE_SHIFT)) & SEMC_NANDCR3_CLE_MASK)
  35471. #define SEMC_NANDCR3_RDS_MASK (0xF0000U)
  35472. #define SEMC_NANDCR3_RDS_SHIFT (16U)
  35473. /*! RDS - Read Data Setup cycle time.
  35474. */
  35475. #define SEMC_NANDCR3_RDS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_RDS_SHIFT)) & SEMC_NANDCR3_RDS_MASK)
  35476. #define SEMC_NANDCR3_RDH_MASK (0xF00000U)
  35477. #define SEMC_NANDCR3_RDH_SHIFT (20U)
  35478. /*! RDH - Read Data Hold cycle time.
  35479. */
  35480. #define SEMC_NANDCR3_RDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_RDH_SHIFT)) & SEMC_NANDCR3_RDH_MASK)
  35481. #define SEMC_NANDCR3_WDS_MASK (0xF000000U)
  35482. #define SEMC_NANDCR3_WDS_SHIFT (24U)
  35483. /*! WDS - Write Data Setup cycle time.
  35484. */
  35485. #define SEMC_NANDCR3_WDS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_WDS_SHIFT)) & SEMC_NANDCR3_WDS_MASK)
  35486. #define SEMC_NANDCR3_WDH_MASK (0xF0000000U)
  35487. #define SEMC_NANDCR3_WDH_SHIFT (28U)
  35488. /*! WDH - Write Data Hold cycle time.
  35489. */
  35490. #define SEMC_NANDCR3_WDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_WDH_SHIFT)) & SEMC_NANDCR3_WDH_MASK)
  35491. /*! @} */
  35492. /*! @name NORCR0 - NOR control register 0 */
  35493. /*! @{ */
  35494. #define SEMC_NORCR0_PS_MASK (0x1U)
  35495. #define SEMC_NORCR0_PS_SHIFT (0U)
  35496. /*! PS - Port Size
  35497. * 0b0..8bit
  35498. * 0b1..16bit
  35499. */
  35500. #define SEMC_NORCR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_PS_SHIFT)) & SEMC_NORCR0_PS_MASK)
  35501. #define SEMC_NORCR0_SYNCEN_MASK (0x2U)
  35502. #define SEMC_NORCR0_SYNCEN_SHIFT (1U)
  35503. /*! SYNCEN - Select NOR controller mode.
  35504. * 0b0..Asynchronous mode is enabled.
  35505. * 0b1..Synchronous mode is enabled.
  35506. */
  35507. #define SEMC_NORCR0_SYNCEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_SYNCEN_SHIFT)) & SEMC_NORCR0_SYNCEN_MASK)
  35508. #define SEMC_NORCR0_BL_MASK (0x70U)
  35509. #define SEMC_NORCR0_BL_SHIFT (4U)
  35510. /*! BL - Burst Length
  35511. * 0b000..1
  35512. * 0b001..2
  35513. * 0b010..4
  35514. * 0b011..8
  35515. * 0b100..16
  35516. * 0b101..32
  35517. * 0b110..64
  35518. * 0b111..64
  35519. */
  35520. #define SEMC_NORCR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_BL_SHIFT)) & SEMC_NORCR0_BL_MASK)
  35521. #define SEMC_NORCR0_AM_MASK (0x300U)
  35522. #define SEMC_NORCR0_AM_SHIFT (8U)
  35523. /*! AM - Address Mode
  35524. * 0b00..Address/Data MUX mode
  35525. * 0b01..Advanced Address/Data MUX mode
  35526. * 0b10..Address/Data non-MUX mode
  35527. * 0b11..Address/Data non-MUX mode
  35528. */
  35529. #define SEMC_NORCR0_AM(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_AM_SHIFT)) & SEMC_NORCR0_AM_MASK)
  35530. #define SEMC_NORCR0_ADVP_MASK (0x400U)
  35531. #define SEMC_NORCR0_ADVP_SHIFT (10U)
  35532. /*! ADVP - ADV# polarity
  35533. * 0b0..ADV# is Low Active. In ASYNC mode, device sample address with ADV# rise edge; In SYNC mode, device sample address when ADV# is LOW.
  35534. * 0b1..ADV# is High Active. In ASYNC mode, device sample address with ADV# fall edge; In SYNC mode, device sample address when ADV# is HIGH.
  35535. */
  35536. #define SEMC_NORCR0_ADVP(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_ADVP_SHIFT)) & SEMC_NORCR0_ADVP_MASK)
  35537. #define SEMC_NORCR0_ADVH_MASK (0x800U)
  35538. #define SEMC_NORCR0_ADVH_SHIFT (11U)
  35539. /*! ADVH - ADV# level control during address hold state
  35540. * 0b0..ADV# is high during address hold state.
  35541. * 0b1..ADV# is low during address hold state.
  35542. */
  35543. #define SEMC_NORCR0_ADVH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_ADVH_SHIFT)) & SEMC_NORCR0_ADVH_MASK)
  35544. #define SEMC_NORCR0_COL_MASK (0xF000U)
  35545. #define SEMC_NORCR0_COL_SHIFT (12U)
  35546. /*! COL - Column Address bit width
  35547. * 0b0000..12 Bits
  35548. * 0b0001..11 Bits
  35549. * 0b0010..10 Bits
  35550. * 0b0011..9 Bits
  35551. * 0b0100..8 Bits
  35552. * 0b0101..7 Bits
  35553. * 0b0110..6 Bits
  35554. * 0b0111..5 Bits
  35555. * 0b1000..4 Bits
  35556. * 0b1001..3 Bits
  35557. * 0b1010..2 Bits
  35558. * 0b1011..12 Bits
  35559. * 0b1100..12 Bits
  35560. * 0b1101..12 Bits
  35561. * 0b1110..12 Bits
  35562. * 0b1111..12 Bits
  35563. */
  35564. #define SEMC_NORCR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_COL_SHIFT)) & SEMC_NORCR0_COL_MASK)
  35565. /*! @} */
  35566. /*! @name NORCR1 - NOR control register 1 */
  35567. /*! @{ */
  35568. #define SEMC_NORCR1_CES_MASK (0xFU)
  35569. #define SEMC_NORCR1_CES_SHIFT (0U)
  35570. /*! CES - CE setup time cycle
  35571. */
  35572. #define SEMC_NORCR1_CES(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_CES_SHIFT)) & SEMC_NORCR1_CES_MASK)
  35573. #define SEMC_NORCR1_CEH_MASK (0xF0U)
  35574. #define SEMC_NORCR1_CEH_SHIFT (4U)
  35575. /*! CEH - CE hold min time (CEH+1) cycle
  35576. */
  35577. #define SEMC_NORCR1_CEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_CEH_SHIFT)) & SEMC_NORCR1_CEH_MASK)
  35578. #define SEMC_NORCR1_AS_MASK (0xF00U)
  35579. #define SEMC_NORCR1_AS_SHIFT (8U)
  35580. /*! AS - Address setup time
  35581. */
  35582. #define SEMC_NORCR1_AS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_AS_SHIFT)) & SEMC_NORCR1_AS_MASK)
  35583. #define SEMC_NORCR1_AH_MASK (0xF000U)
  35584. #define SEMC_NORCR1_AH_SHIFT (12U)
  35585. /*! AH - Address hold time
  35586. */
  35587. #define SEMC_NORCR1_AH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_AH_SHIFT)) & SEMC_NORCR1_AH_MASK)
  35588. #define SEMC_NORCR1_WEL_MASK (0xF0000U)
  35589. #define SEMC_NORCR1_WEL_SHIFT (16U)
  35590. /*! WEL - WE LOW time (WEL+1) cycle
  35591. */
  35592. #define SEMC_NORCR1_WEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_WEL_SHIFT)) & SEMC_NORCR1_WEL_MASK)
  35593. #define SEMC_NORCR1_WEH_MASK (0xF00000U)
  35594. #define SEMC_NORCR1_WEH_SHIFT (20U)
  35595. /*! WEH - WE HIGH time (WEH+1) cycle
  35596. */
  35597. #define SEMC_NORCR1_WEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_WEH_SHIFT)) & SEMC_NORCR1_WEH_MASK)
  35598. #define SEMC_NORCR1_REL_MASK (0xF000000U)
  35599. #define SEMC_NORCR1_REL_SHIFT (24U)
  35600. /*! REL - RE LOW time (REL+1) cycle
  35601. */
  35602. #define SEMC_NORCR1_REL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_REL_SHIFT)) & SEMC_NORCR1_REL_MASK)
  35603. #define SEMC_NORCR1_REH_MASK (0xF0000000U)
  35604. #define SEMC_NORCR1_REH_SHIFT (28U)
  35605. /*! REH - RE HIGH time (REH+1) cycle
  35606. */
  35607. #define SEMC_NORCR1_REH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_REH_SHIFT)) & SEMC_NORCR1_REH_MASK)
  35608. /*! @} */
  35609. /*! @name NORCR2 - NOR control register 2 */
  35610. /*! @{ */
  35611. #define SEMC_NORCR2_TA_MASK (0xF00U)
  35612. #define SEMC_NORCR2_TA_SHIFT (8U)
  35613. /*! TA - Turnaround time cycle
  35614. */
  35615. #define SEMC_NORCR2_TA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_TA_SHIFT)) & SEMC_NORCR2_TA_MASK)
  35616. #define SEMC_NORCR2_AWDH_MASK (0xF000U)
  35617. #define SEMC_NORCR2_AWDH_SHIFT (12U)
  35618. /*! AWDH - Address to write data hold time cycle
  35619. */
  35620. #define SEMC_NORCR2_AWDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_AWDH_SHIFT)) & SEMC_NORCR2_AWDH_MASK)
  35621. #define SEMC_NORCR2_LC_MASK (0xF0000U)
  35622. #define SEMC_NORCR2_LC_SHIFT (16U)
  35623. /*! LC - Latency count
  35624. */
  35625. #define SEMC_NORCR2_LC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_LC_SHIFT)) & SEMC_NORCR2_LC_MASK)
  35626. #define SEMC_NORCR2_RD_MASK (0xF00000U)
  35627. #define SEMC_NORCR2_RD_SHIFT (20U)
  35628. /*! RD - Read cycle time
  35629. */
  35630. #define SEMC_NORCR2_RD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_RD_SHIFT)) & SEMC_NORCR2_RD_MASK)
  35631. #define SEMC_NORCR2_CEITV_MASK (0xF000000U)
  35632. #define SEMC_NORCR2_CEITV_SHIFT (24U)
  35633. /*! CEITV - CE# interval min time
  35634. */
  35635. #define SEMC_NORCR2_CEITV(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_CEITV_SHIFT)) & SEMC_NORCR2_CEITV_MASK)
  35636. #define SEMC_NORCR2_RDH_MASK (0xF0000000U)
  35637. #define SEMC_NORCR2_RDH_SHIFT (28U)
  35638. /*! RDH - Read cycle hold time
  35639. */
  35640. #define SEMC_NORCR2_RDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_RDH_SHIFT)) & SEMC_NORCR2_RDH_MASK)
  35641. /*! @} */
  35642. /*! @name NORCR3 - NOR control register 3 */
  35643. /*! @{ */
  35644. #define SEMC_NORCR3_ASSR_MASK (0xFU)
  35645. #define SEMC_NORCR3_ASSR_SHIFT (0U)
  35646. /*! ASSR - Address setup time for synchronous read
  35647. */
  35648. #define SEMC_NORCR3_ASSR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR3_ASSR_SHIFT)) & SEMC_NORCR3_ASSR_MASK)
  35649. #define SEMC_NORCR3_AHSR_MASK (0xF0U)
  35650. #define SEMC_NORCR3_AHSR_SHIFT (4U)
  35651. /*! AHSR - Address hold time for synchronous read
  35652. */
  35653. #define SEMC_NORCR3_AHSR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR3_AHSR_SHIFT)) & SEMC_NORCR3_AHSR_MASK)
  35654. /*! @} */
  35655. /*! @name SRAMCR0 - SRAM control register 0 */
  35656. /*! @{ */
  35657. #define SEMC_SRAMCR0_PS_MASK (0x1U)
  35658. #define SEMC_SRAMCR0_PS_SHIFT (0U)
  35659. /*! PS - Port Size
  35660. * 0b0..8bit
  35661. * 0b1..16bit
  35662. */
  35663. #define SEMC_SRAMCR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_PS_SHIFT)) & SEMC_SRAMCR0_PS_MASK)
  35664. #define SEMC_SRAMCR0_SYNCEN_MASK (0x2U)
  35665. #define SEMC_SRAMCR0_SYNCEN_SHIFT (1U)
  35666. /*! SYNCEN - Select SRAM controller mode.
  35667. * 0b0..Asynchronous mode is enabled.
  35668. * 0b1..Synchronous mode is enabled.
  35669. */
  35670. #define SEMC_SRAMCR0_SYNCEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_SYNCEN_SHIFT)) & SEMC_SRAMCR0_SYNCEN_MASK)
  35671. #define SEMC_SRAMCR0_BL_MASK (0x70U)
  35672. #define SEMC_SRAMCR0_BL_SHIFT (4U)
  35673. /*! BL - Burst Length
  35674. * 0b000..1
  35675. * 0b001..2
  35676. * 0b010..4
  35677. * 0b011..8
  35678. * 0b100..16
  35679. * 0b101..32
  35680. * 0b110..64
  35681. * 0b111..64
  35682. */
  35683. #define SEMC_SRAMCR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_BL_SHIFT)) & SEMC_SRAMCR0_BL_MASK)
  35684. #define SEMC_SRAMCR0_AM_MASK (0x300U)
  35685. #define SEMC_SRAMCR0_AM_SHIFT (8U)
  35686. /*! AM - Address Mode
  35687. * 0b00..Address/Data MUX mode
  35688. * 0b01..Advanced Address/Data MUX mode
  35689. * 0b10..Address/Data non-MUX mode
  35690. * 0b11..Address/Data non-MUX mode
  35691. */
  35692. #define SEMC_SRAMCR0_AM(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_AM_SHIFT)) & SEMC_SRAMCR0_AM_MASK)
  35693. #define SEMC_SRAMCR0_ADVP_MASK (0x400U)
  35694. #define SEMC_SRAMCR0_ADVP_SHIFT (10U)
  35695. /*! ADVP - ADV# polarity
  35696. * 0b0..ADV# is Low Active. In ASYNC mode, device sample address with ADV# rise edge; In SYNC mode, device sample address when ADV# is LOW.
  35697. * 0b1..ADV# is High Active. In ASYNC mode, device sample address with ADV# fall edge; In SYNC mode, device sample address when ADV# is HIGH.
  35698. */
  35699. #define SEMC_SRAMCR0_ADVP(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_ADVP_SHIFT)) & SEMC_SRAMCR0_ADVP_MASK)
  35700. #define SEMC_SRAMCR0_ADVH_MASK (0x800U)
  35701. #define SEMC_SRAMCR0_ADVH_SHIFT (11U)
  35702. /*! ADVH - ADV# level control during address hold state
  35703. * 0b0..ADV# is high during address hold state.
  35704. * 0b1..ADV# is low during address hold state.
  35705. */
  35706. #define SEMC_SRAMCR0_ADVH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_ADVH_SHIFT)) & SEMC_SRAMCR0_ADVH_MASK)
  35707. #define SEMC_SRAMCR0_COL_MASK (0xF000U)
  35708. #define SEMC_SRAMCR0_COL_SHIFT (12U)
  35709. /*! COL - Column Address bit width
  35710. * 0b0000..12 Bits
  35711. * 0b0001..11 Bits
  35712. * 0b0010..10 Bits
  35713. * 0b0011..9 Bits
  35714. * 0b0100..8 Bits
  35715. * 0b0101..7 Bits
  35716. * 0b0110..6 Bits
  35717. * 0b0111..5 Bits
  35718. * 0b1000..4 Bits
  35719. * 0b1001..3 Bits
  35720. * 0b1010..2 Bits
  35721. * 0b1011..12 Bits
  35722. * 0b1100..12 Bits
  35723. * 0b1101..12 Bits
  35724. * 0b1110..12 Bits
  35725. * 0b1111..12 Bits
  35726. */
  35727. #define SEMC_SRAMCR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_COL_SHIFT)) & SEMC_SRAMCR0_COL_MASK)
  35728. /*! @} */
  35729. /*! @name SRAMCR1 - SRAM control register 1 */
  35730. /*! @{ */
  35731. #define SEMC_SRAMCR1_CES_MASK (0xFU)
  35732. #define SEMC_SRAMCR1_CES_SHIFT (0U)
  35733. /*! CES - CE setup time cycle
  35734. */
  35735. #define SEMC_SRAMCR1_CES(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_CES_SHIFT)) & SEMC_SRAMCR1_CES_MASK)
  35736. #define SEMC_SRAMCR1_CEH_MASK (0xF0U)
  35737. #define SEMC_SRAMCR1_CEH_SHIFT (4U)
  35738. /*! CEH - CE hold min time
  35739. */
  35740. #define SEMC_SRAMCR1_CEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_CEH_SHIFT)) & SEMC_SRAMCR1_CEH_MASK)
  35741. #define SEMC_SRAMCR1_AS_MASK (0xF00U)
  35742. #define SEMC_SRAMCR1_AS_SHIFT (8U)
  35743. /*! AS - Address setup time
  35744. */
  35745. #define SEMC_SRAMCR1_AS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_AS_SHIFT)) & SEMC_SRAMCR1_AS_MASK)
  35746. #define SEMC_SRAMCR1_AH_MASK (0xF000U)
  35747. #define SEMC_SRAMCR1_AH_SHIFT (12U)
  35748. /*! AH - Address hold time
  35749. */
  35750. #define SEMC_SRAMCR1_AH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_AH_SHIFT)) & SEMC_SRAMCR1_AH_MASK)
  35751. #define SEMC_SRAMCR1_WEL_MASK (0xF0000U)
  35752. #define SEMC_SRAMCR1_WEL_SHIFT (16U)
  35753. /*! WEL - WE LOW time (WEL+1) cycle
  35754. */
  35755. #define SEMC_SRAMCR1_WEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_WEL_SHIFT)) & SEMC_SRAMCR1_WEL_MASK)
  35756. #define SEMC_SRAMCR1_WEH_MASK (0xF00000U)
  35757. #define SEMC_SRAMCR1_WEH_SHIFT (20U)
  35758. /*! WEH - WE HIGH time (WEH+1) cycle
  35759. */
  35760. #define SEMC_SRAMCR1_WEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_WEH_SHIFT)) & SEMC_SRAMCR1_WEH_MASK)
  35761. #define SEMC_SRAMCR1_REL_MASK (0xF000000U)
  35762. #define SEMC_SRAMCR1_REL_SHIFT (24U)
  35763. /*! REL - RE LOW time (REL+1) cycle
  35764. */
  35765. #define SEMC_SRAMCR1_REL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_REL_SHIFT)) & SEMC_SRAMCR1_REL_MASK)
  35766. #define SEMC_SRAMCR1_REH_MASK (0xF0000000U)
  35767. #define SEMC_SRAMCR1_REH_SHIFT (28U)
  35768. /*! REH - RE HIGH time (REH+1) cycle
  35769. */
  35770. #define SEMC_SRAMCR1_REH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_REH_SHIFT)) & SEMC_SRAMCR1_REH_MASK)
  35771. /*! @} */
  35772. /*! @name SRAMCR2 - SRAM control register 2 */
  35773. /*! @{ */
  35774. #define SEMC_SRAMCR2_WDS_MASK (0xFU)
  35775. #define SEMC_SRAMCR2_WDS_SHIFT (0U)
  35776. /*! WDS - Write Data setup time (WDS+1) cycle
  35777. */
  35778. #define SEMC_SRAMCR2_WDS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_WDS_SHIFT)) & SEMC_SRAMCR2_WDS_MASK)
  35779. #define SEMC_SRAMCR2_WDH_MASK (0xF0U)
  35780. #define SEMC_SRAMCR2_WDH_SHIFT (4U)
  35781. /*! WDH - Write Data hold time WDH cycle
  35782. */
  35783. #define SEMC_SRAMCR2_WDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_WDH_SHIFT)) & SEMC_SRAMCR2_WDH_MASK)
  35784. #define SEMC_SRAMCR2_TA_MASK (0xF00U)
  35785. #define SEMC_SRAMCR2_TA_SHIFT (8U)
  35786. /*! TA - Turnaround time cycle
  35787. */
  35788. #define SEMC_SRAMCR2_TA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_TA_SHIFT)) & SEMC_SRAMCR2_TA_MASK)
  35789. #define SEMC_SRAMCR2_AWDH_MASK (0xF000U)
  35790. #define SEMC_SRAMCR2_AWDH_SHIFT (12U)
  35791. /*! AWDH - Address to write data hold time cycle
  35792. */
  35793. #define SEMC_SRAMCR2_AWDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_AWDH_SHIFT)) & SEMC_SRAMCR2_AWDH_MASK)
  35794. #define SEMC_SRAMCR2_LC_MASK (0xF0000U)
  35795. #define SEMC_SRAMCR2_LC_SHIFT (16U)
  35796. /*! LC - Latency count
  35797. */
  35798. #define SEMC_SRAMCR2_LC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_LC_SHIFT)) & SEMC_SRAMCR2_LC_MASK)
  35799. #define SEMC_SRAMCR2_RD_MASK (0xF00000U)
  35800. #define SEMC_SRAMCR2_RD_SHIFT (20U)
  35801. /*! RD - Read cycle time
  35802. */
  35803. #define SEMC_SRAMCR2_RD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_RD_SHIFT)) & SEMC_SRAMCR2_RD_MASK)
  35804. #define SEMC_SRAMCR2_CEITV_MASK (0xF000000U)
  35805. #define SEMC_SRAMCR2_CEITV_SHIFT (24U)
  35806. /*! CEITV - CE# interval min time
  35807. */
  35808. #define SEMC_SRAMCR2_CEITV(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_CEITV_SHIFT)) & SEMC_SRAMCR2_CEITV_MASK)
  35809. #define SEMC_SRAMCR2_RDH_MASK (0xF0000000U)
  35810. #define SEMC_SRAMCR2_RDH_SHIFT (28U)
  35811. /*! RDH - Read cycle hold time
  35812. */
  35813. #define SEMC_SRAMCR2_RDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_RDH_SHIFT)) & SEMC_SRAMCR2_RDH_MASK)
  35814. /*! @} */
  35815. /*! @name DBICR0 - DBI-B control register 0 */
  35816. /*! @{ */
  35817. #define SEMC_DBICR0_PS_MASK (0x1U)
  35818. #define SEMC_DBICR0_PS_SHIFT (0U)
  35819. /*! PS - Port Size
  35820. * 0b0..8bit
  35821. * 0b1..16bit
  35822. */
  35823. #define SEMC_DBICR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR0_PS_SHIFT)) & SEMC_DBICR0_PS_MASK)
  35824. #define SEMC_DBICR0_BL_MASK (0x70U)
  35825. #define SEMC_DBICR0_BL_SHIFT (4U)
  35826. /*! BL - Burst Length
  35827. * 0b000..1
  35828. * 0b001..2
  35829. * 0b010..4
  35830. * 0b011..8
  35831. * 0b100..16
  35832. * 0b101..32
  35833. * 0b110..64
  35834. * 0b111..64
  35835. */
  35836. #define SEMC_DBICR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR0_BL_SHIFT)) & SEMC_DBICR0_BL_MASK)
  35837. #define SEMC_DBICR0_COL_MASK (0xF000U)
  35838. #define SEMC_DBICR0_COL_SHIFT (12U)
  35839. /*! COL - Column Address bit width
  35840. * 0b0000..12 Bits
  35841. * 0b0001..11 Bits
  35842. * 0b0010..10 Bits
  35843. * 0b0011..9 Bits
  35844. * 0b0100..8 Bits
  35845. * 0b0101..7 Bits
  35846. * 0b0110..6 Bits
  35847. * 0b0111..5 Bits
  35848. * 0b1000..4 Bits
  35849. * 0b1001..3 Bits
  35850. * 0b1010..2 Bits
  35851. * 0b1011..12 Bits
  35852. * 0b1100..12 Bits
  35853. * 0b1101..12 Bits
  35854. * 0b1110..12 Bits
  35855. * 0b1111..12 Bits
  35856. */
  35857. #define SEMC_DBICR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR0_COL_SHIFT)) & SEMC_DBICR0_COL_MASK)
  35858. /*! @} */
  35859. /*! @name DBICR1 - DBI-B control register 1 */
  35860. /*! @{ */
  35861. #define SEMC_DBICR1_CES_MASK (0xFU)
  35862. #define SEMC_DBICR1_CES_SHIFT (0U)
  35863. /*! CES - CSX Setup Time
  35864. */
  35865. #define SEMC_DBICR1_CES(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_CES_SHIFT)) & SEMC_DBICR1_CES_MASK)
  35866. #define SEMC_DBICR1_CEH_MASK (0xF0U)
  35867. #define SEMC_DBICR1_CEH_SHIFT (4U)
  35868. /*! CEH - CSX Hold Time
  35869. */
  35870. #define SEMC_DBICR1_CEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_CEH_SHIFT)) & SEMC_DBICR1_CEH_MASK)
  35871. #define SEMC_DBICR1_WEL_MASK (0xF00U)
  35872. #define SEMC_DBICR1_WEL_SHIFT (8U)
  35873. /*! WEL - WRX Low Time
  35874. */
  35875. #define SEMC_DBICR1_WEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_WEL_SHIFT)) & SEMC_DBICR1_WEL_MASK)
  35876. #define SEMC_DBICR1_WEH_MASK (0xF000U)
  35877. #define SEMC_DBICR1_WEH_SHIFT (12U)
  35878. /*! WEH - WRX High Time
  35879. */
  35880. #define SEMC_DBICR1_WEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_WEH_SHIFT)) & SEMC_DBICR1_WEH_MASK)
  35881. #define SEMC_DBICR1_REL_MASK (0x3F0000U)
  35882. #define SEMC_DBICR1_REL_SHIFT (16U)
  35883. /*! REL - RDX Low Time
  35884. */
  35885. #define SEMC_DBICR1_REL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_REL_SHIFT)) & SEMC_DBICR1_REL_MASK)
  35886. #define SEMC_DBICR1_REH_MASK (0xFC00000U)
  35887. #define SEMC_DBICR1_REH_SHIFT (22U)
  35888. /*! REH - RDX High Time
  35889. */
  35890. #define SEMC_DBICR1_REH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_REH_SHIFT)) & SEMC_DBICR1_REH_MASK)
  35891. #define SEMC_DBICR1_CEITV_MASK (0xF0000000U)
  35892. #define SEMC_DBICR1_CEITV_SHIFT (28U)
  35893. /*! CEITV - CSX interval min time
  35894. */
  35895. #define SEMC_DBICR1_CEITV(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_CEITV_SHIFT)) & SEMC_DBICR1_CEITV_MASK)
  35896. /*! @} */
  35897. /*! @name IPCR0 - IP Command control register 0 */
  35898. /*! @{ */
  35899. #define SEMC_IPCR0_SA_MASK (0xFFFFFFFFU)
  35900. #define SEMC_IPCR0_SA_SHIFT (0U)
  35901. /*! SA - Slave address
  35902. */
  35903. #define SEMC_IPCR0_SA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR0_SA_SHIFT)) & SEMC_IPCR0_SA_MASK)
  35904. /*! @} */
  35905. /*! @name IPCR1 - IP Command control register 1 */
  35906. /*! @{ */
  35907. #define SEMC_IPCR1_DATSZ_MASK (0x7U)
  35908. #define SEMC_IPCR1_DATSZ_SHIFT (0U)
  35909. /*! DATSZ - Data Size in Byte
  35910. * 0b000..4
  35911. * 0b001..1
  35912. * 0b010..2
  35913. * 0b011..3
  35914. * 0b100..4
  35915. * 0b101..4
  35916. * 0b110..4
  35917. * 0b111..4
  35918. */
  35919. #define SEMC_IPCR1_DATSZ(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR1_DATSZ_SHIFT)) & SEMC_IPCR1_DATSZ_MASK)
  35920. #define SEMC_IPCR1_NAND_EXT_ADDR_MASK (0xFF00U)
  35921. #define SEMC_IPCR1_NAND_EXT_ADDR_SHIFT (8U)
  35922. /*! NAND_EXT_ADDR - NAND Extended Address
  35923. */
  35924. #define SEMC_IPCR1_NAND_EXT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR1_NAND_EXT_ADDR_SHIFT)) & SEMC_IPCR1_NAND_EXT_ADDR_MASK)
  35925. /*! @} */
  35926. /*! @name IPCR2 - IP Command control register 2 */
  35927. /*! @{ */
  35928. #define SEMC_IPCR2_BM0_MASK (0x1U)
  35929. #define SEMC_IPCR2_BM0_SHIFT (0U)
  35930. /*! BM0 - Byte Mask for Byte 0 (IPTXD bit 7:0)
  35931. * 0b0..Byte Unmasked
  35932. * 0b1..Byte Masked
  35933. */
  35934. #define SEMC_IPCR2_BM0(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR2_BM0_SHIFT)) & SEMC_IPCR2_BM0_MASK)
  35935. #define SEMC_IPCR2_BM1_MASK (0x2U)
  35936. #define SEMC_IPCR2_BM1_SHIFT (1U)
  35937. /*! BM1 - Byte Mask for Byte 1 (IPTXD bit 15:8)
  35938. * 0b0..Byte Unmasked
  35939. * 0b1..Byte Masked
  35940. */
  35941. #define SEMC_IPCR2_BM1(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR2_BM1_SHIFT)) & SEMC_IPCR2_BM1_MASK)
  35942. #define SEMC_IPCR2_BM2_MASK (0x4U)
  35943. #define SEMC_IPCR2_BM2_SHIFT (2U)
  35944. /*! BM2 - Byte Mask for Byte 2 (IPTXD bit 23:16)
  35945. * 0b0..Byte Unmasked
  35946. * 0b1..Byte Masked
  35947. */
  35948. #define SEMC_IPCR2_BM2(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR2_BM2_SHIFT)) & SEMC_IPCR2_BM2_MASK)
  35949. #define SEMC_IPCR2_BM3_MASK (0x8U)
  35950. #define SEMC_IPCR2_BM3_SHIFT (3U)
  35951. /*! BM3 - Byte Mask for Byte 3 (IPTXD bit 31:24)
  35952. * 0b0..Byte Unmasked
  35953. * 0b1..Byte Masked
  35954. */
  35955. #define SEMC_IPCR2_BM3(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR2_BM3_SHIFT)) & SEMC_IPCR2_BM3_MASK)
  35956. /*! @} */
  35957. /*! @name IPCMD - IP Command register */
  35958. /*! @{ */
  35959. #define SEMC_IPCMD_CMD_MASK (0xFFFFU)
  35960. #define SEMC_IPCMD_CMD_SHIFT (0U)
  35961. #define SEMC_IPCMD_CMD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCMD_CMD_SHIFT)) & SEMC_IPCMD_CMD_MASK)
  35962. #define SEMC_IPCMD_KEY_MASK (0xFFFF0000U)
  35963. #define SEMC_IPCMD_KEY_SHIFT (16U)
  35964. #define SEMC_IPCMD_KEY(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCMD_KEY_SHIFT)) & SEMC_IPCMD_KEY_MASK)
  35965. /*! @} */
  35966. /*! @name IPTXDAT - TX DATA register (for IP Command) */
  35967. /*! @{ */
  35968. #define SEMC_IPTXDAT_DAT_MASK (0xFFFFFFFFU)
  35969. #define SEMC_IPTXDAT_DAT_SHIFT (0U)
  35970. #define SEMC_IPTXDAT_DAT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPTXDAT_DAT_SHIFT)) & SEMC_IPTXDAT_DAT_MASK)
  35971. /*! @} */
  35972. /*! @name IPRXDAT - RX DATA register (for IP Command) */
  35973. /*! @{ */
  35974. #define SEMC_IPRXDAT_DAT_MASK (0xFFFFFFFFU)
  35975. #define SEMC_IPRXDAT_DAT_SHIFT (0U)
  35976. #define SEMC_IPRXDAT_DAT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPRXDAT_DAT_SHIFT)) & SEMC_IPRXDAT_DAT_MASK)
  35977. /*! @} */
  35978. /*! @name STS0 - Status register 0 */
  35979. /*! @{ */
  35980. #define SEMC_STS0_IDLE_MASK (0x1U)
  35981. #define SEMC_STS0_IDLE_SHIFT (0U)
  35982. /*! IDLE - Indicating whether SEMC is in IDLE state.
  35983. */
  35984. #define SEMC_STS0_IDLE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS0_IDLE_SHIFT)) & SEMC_STS0_IDLE_MASK)
  35985. #define SEMC_STS0_NARDY_MASK (0x2U)
  35986. #define SEMC_STS0_NARDY_SHIFT (1U)
  35987. /*! NARDY - Indicating NAND device Ready/WAIT# pin level.
  35988. * 0b0..NAND device is not ready
  35989. * 0b1..NAND device is ready
  35990. */
  35991. #define SEMC_STS0_NARDY(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS0_NARDY_SHIFT)) & SEMC_STS0_NARDY_MASK)
  35992. /*! @} */
  35993. /*! @name STS2 - Status register 2 */
  35994. /*! @{ */
  35995. #define SEMC_STS2_NDWRPEND_MASK (0x8U)
  35996. #define SEMC_STS2_NDWRPEND_SHIFT (3U)
  35997. /*! NDWRPEND - This field indicating whether there is pending AXI command (write) to NAND device.
  35998. * 0b0..No pending
  35999. * 0b1..Pending
  36000. */
  36001. #define SEMC_STS2_NDWRPEND(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS2_NDWRPEND_SHIFT)) & SEMC_STS2_NDWRPEND_MASK)
  36002. /*! @} */
  36003. /*! @name STS12 - Status register 12 */
  36004. /*! @{ */
  36005. #define SEMC_STS12_NDADDR_MASK (0xFFFFFFFFU)
  36006. #define SEMC_STS12_NDADDR_SHIFT (0U)
  36007. /*! NDADDR - This field indicating the last write address (AXI command) to NAND device (without base address in SEMC_BR4).
  36008. */
  36009. #define SEMC_STS12_NDADDR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS12_NDADDR_SHIFT)) & SEMC_STS12_NDADDR_MASK)
  36010. /*! @} */
  36011. /*! @name STS13 - Status register 13 */
  36012. /*! @{ */
  36013. #define SEMC_STS13_SLVLOCK_MASK (0x1U)
  36014. #define SEMC_STS13_SLVLOCK_SHIFT (0U)
  36015. /*! SLVLOCK - Sample clock slave delay line locked.
  36016. */
  36017. #define SEMC_STS13_SLVLOCK(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS13_SLVLOCK_SHIFT)) & SEMC_STS13_SLVLOCK_MASK)
  36018. #define SEMC_STS13_REFLOCK_MASK (0x2U)
  36019. #define SEMC_STS13_REFLOCK_SHIFT (1U)
  36020. /*! REFLOCK - Sample clock reference delay line locked.
  36021. */
  36022. #define SEMC_STS13_REFLOCK(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS13_REFLOCK_SHIFT)) & SEMC_STS13_REFLOCK_MASK)
  36023. #define SEMC_STS13_SLVSEL_MASK (0xFCU)
  36024. #define SEMC_STS13_SLVSEL_SHIFT (2U)
  36025. /*! SLVSEL - Sample clock slave delay line delay cell number selection .
  36026. */
  36027. #define SEMC_STS13_SLVSEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS13_SLVSEL_SHIFT)) & SEMC_STS13_SLVSEL_MASK)
  36028. #define SEMC_STS13_REFSEL_MASK (0x3F00U)
  36029. #define SEMC_STS13_REFSEL_SHIFT (8U)
  36030. /*! REFSEL - Sample clock reference delay line delay cell number selection.
  36031. */
  36032. #define SEMC_STS13_REFSEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS13_REFSEL_SHIFT)) & SEMC_STS13_REFSEL_MASK)
  36033. /*! @} */
  36034. /*!
  36035. * @}
  36036. */ /* end of group SEMC_Register_Masks */
  36037. /* SEMC - Peripheral instance base addresses */
  36038. /** Peripheral SEMC base address */
  36039. #define SEMC_BASE (0x402F0000u)
  36040. /** Peripheral SEMC base pointer */
  36041. #define SEMC ((SEMC_Type *)SEMC_BASE)
  36042. /** Array initializer of SEMC peripheral base addresses */
  36043. #define SEMC_BASE_ADDRS { SEMC_BASE }
  36044. /** Array initializer of SEMC peripheral base pointers */
  36045. #define SEMC_BASE_PTRS { SEMC }
  36046. /** Interrupt vectors for the SEMC peripheral type */
  36047. #define SEMC_IRQS { SEMC_IRQn }
  36048. /*!
  36049. * @}
  36050. */ /* end of group SEMC_Peripheral_Access_Layer */
  36051. /* ----------------------------------------------------------------------------
  36052. -- SNVS Peripheral Access Layer
  36053. ---------------------------------------------------------------------------- */
  36054. /*!
  36055. * @addtogroup SNVS_Peripheral_Access_Layer SNVS Peripheral Access Layer
  36056. * @{
  36057. */
  36058. /** SNVS - Register Layout Typedef */
  36059. typedef struct {
  36060. __IO uint32_t HPLR; /**< SNVS_HP Lock Register, offset: 0x0 */
  36061. __IO uint32_t HPCOMR; /**< SNVS_HP Command Register, offset: 0x4 */
  36062. __IO uint32_t HPCR; /**< SNVS_HP Control Register, offset: 0x8 */
  36063. __IO uint32_t HPSICR; /**< SNVS_HP Security Interrupt Control Register, offset: 0xC */
  36064. __IO uint32_t HPSVCR; /**< SNVS_HP Security Violation Control Register, offset: 0x10 */
  36065. __IO uint32_t HPSR; /**< SNVS_HP Status Register, offset: 0x14 */
  36066. __IO uint32_t HPSVSR; /**< SNVS_HP Security Violation Status Register, offset: 0x18 */
  36067. __IO uint32_t HPHACIVR; /**< SNVS_HP High Assurance Counter IV Register, offset: 0x1C */
  36068. __I uint32_t HPHACR; /**< SNVS_HP High Assurance Counter Register, offset: 0x20 */
  36069. __IO uint32_t HPRTCMR; /**< SNVS_HP Real Time Counter MSB Register, offset: 0x24 */
  36070. __IO uint32_t HPRTCLR; /**< SNVS_HP Real Time Counter LSB Register, offset: 0x28 */
  36071. __IO uint32_t HPTAMR; /**< SNVS_HP Time Alarm MSB Register, offset: 0x2C */
  36072. __IO uint32_t HPTALR; /**< SNVS_HP Time Alarm LSB Register, offset: 0x30 */
  36073. __IO uint32_t LPLR; /**< SNVS_LP Lock Register, offset: 0x34 */
  36074. __IO uint32_t LPCR; /**< SNVS_LP Control Register, offset: 0x38 */
  36075. __IO uint32_t LPMKCR; /**< SNVS_LP Master Key Control Register, offset: 0x3C */
  36076. __IO uint32_t LPSVCR; /**< SNVS_LP Security Violation Control Register, offset: 0x40 */
  36077. uint8_t RESERVED_0[4];
  36078. __IO uint32_t LPTDCR; /**< SNVS_LP Tamper Detectors Configuration Register, offset: 0x48 */
  36079. __IO uint32_t LPSR; /**< SNVS_LP Status Register, offset: 0x4C */
  36080. __IO uint32_t LPSRTCMR; /**< SNVS_LP Secure Real Time Counter MSB Register, offset: 0x50 */
  36081. __IO uint32_t LPSRTCLR; /**< SNVS_LP Secure Real Time Counter LSB Register, offset: 0x54 */
  36082. __IO uint32_t LPTAR; /**< SNVS_LP Time Alarm Register, offset: 0x58 */
  36083. __I uint32_t LPSMCMR; /**< SNVS_LP Secure Monotonic Counter MSB Register, offset: 0x5C */
  36084. __I uint32_t LPSMCLR; /**< SNVS_LP Secure Monotonic Counter LSB Register, offset: 0x60 */
  36085. __IO uint32_t LPPGDR; /**< SNVS_LP Power Glitch Detector Register, offset: 0x64 */
  36086. __IO uint32_t LPGPR0_LEGACY_ALIAS; /**< SNVS_LP General Purpose Register 0 (legacy alias), offset: 0x68 */
  36087. __IO uint32_t LPZMKR[8]; /**< SNVS_LP Zeroizable Master Key Register, array offset: 0x6C, array step: 0x4 */
  36088. uint8_t RESERVED_1[4];
  36089. __IO uint32_t LPGPR_ALIAS[4]; /**< SNVS_LP General Purpose Registers 0 .. 3, array offset: 0x90, array step: 0x4 */
  36090. uint8_t RESERVED_2[96];
  36091. __IO uint32_t LPGPR[8]; /**< SNVS_LP General Purpose Registers 0 .. 7, array offset: 0x100, array step: 0x4 */
  36092. uint8_t RESERVED_3[2776];
  36093. __I uint32_t HPVIDR1; /**< SNVS_HP Version ID Register 1, offset: 0xBF8 */
  36094. __I uint32_t HPVIDR2; /**< SNVS_HP Version ID Register 2, offset: 0xBFC */
  36095. } SNVS_Type;
  36096. /* ----------------------------------------------------------------------------
  36097. -- SNVS Register Masks
  36098. ---------------------------------------------------------------------------- */
  36099. /*!
  36100. * @addtogroup SNVS_Register_Masks SNVS Register Masks
  36101. * @{
  36102. */
  36103. /*! @name HPLR - SNVS_HP Lock Register */
  36104. /*! @{ */
  36105. #define SNVS_HPLR_ZMK_WSL_MASK (0x1U)
  36106. #define SNVS_HPLR_ZMK_WSL_SHIFT (0U)
  36107. /*! ZMK_WSL
  36108. * 0b0..Write access is allowed
  36109. * 0b1..Write access is not allowed
  36110. */
  36111. #define SNVS_HPLR_ZMK_WSL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_ZMK_WSL_SHIFT)) & SNVS_HPLR_ZMK_WSL_MASK)
  36112. #define SNVS_HPLR_ZMK_RSL_MASK (0x2U)
  36113. #define SNVS_HPLR_ZMK_RSL_SHIFT (1U)
  36114. /*! ZMK_RSL
  36115. * 0b0..Read access is allowed (only in software Programming mode)
  36116. * 0b1..Read access is not allowed
  36117. */
  36118. #define SNVS_HPLR_ZMK_RSL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_ZMK_RSL_SHIFT)) & SNVS_HPLR_ZMK_RSL_MASK)
  36119. #define SNVS_HPLR_SRTC_SL_MASK (0x4U)
  36120. #define SNVS_HPLR_SRTC_SL_SHIFT (2U)
  36121. /*! SRTC_SL
  36122. * 0b0..Write access is allowed
  36123. * 0b1..Write access is not allowed
  36124. */
  36125. #define SNVS_HPLR_SRTC_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_SRTC_SL_SHIFT)) & SNVS_HPLR_SRTC_SL_MASK)
  36126. #define SNVS_HPLR_LPCALB_SL_MASK (0x8U)
  36127. #define SNVS_HPLR_LPCALB_SL_SHIFT (3U)
  36128. /*! LPCALB_SL
  36129. * 0b0..Write access is allowed
  36130. * 0b1..Write access is not allowed
  36131. */
  36132. #define SNVS_HPLR_LPCALB_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_LPCALB_SL_SHIFT)) & SNVS_HPLR_LPCALB_SL_MASK)
  36133. #define SNVS_HPLR_MC_SL_MASK (0x10U)
  36134. #define SNVS_HPLR_MC_SL_SHIFT (4U)
  36135. /*! MC_SL
  36136. * 0b0..Write access (increment) is allowed
  36137. * 0b1..Write access (increment) is not allowed
  36138. */
  36139. #define SNVS_HPLR_MC_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_MC_SL_SHIFT)) & SNVS_HPLR_MC_SL_MASK)
  36140. #define SNVS_HPLR_GPR_SL_MASK (0x20U)
  36141. #define SNVS_HPLR_GPR_SL_SHIFT (5U)
  36142. /*! GPR_SL
  36143. * 0b0..Write access is allowed
  36144. * 0b1..Write access is not allowed
  36145. */
  36146. #define SNVS_HPLR_GPR_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_GPR_SL_SHIFT)) & SNVS_HPLR_GPR_SL_MASK)
  36147. #define SNVS_HPLR_LPSVCR_SL_MASK (0x40U)
  36148. #define SNVS_HPLR_LPSVCR_SL_SHIFT (6U)
  36149. /*! LPSVCR_SL
  36150. * 0b0..Write access is allowed
  36151. * 0b1..Write access is not allowed
  36152. */
  36153. #define SNVS_HPLR_LPSVCR_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_LPSVCR_SL_SHIFT)) & SNVS_HPLR_LPSVCR_SL_MASK)
  36154. #define SNVS_HPLR_LPTDCR_SL_MASK (0x100U)
  36155. #define SNVS_HPLR_LPTDCR_SL_SHIFT (8U)
  36156. /*! LPTDCR_SL
  36157. * 0b0..Write access is allowed
  36158. * 0b1..Write access is not allowed
  36159. */
  36160. #define SNVS_HPLR_LPTDCR_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_LPTDCR_SL_SHIFT)) & SNVS_HPLR_LPTDCR_SL_MASK)
  36161. #define SNVS_HPLR_MKS_SL_MASK (0x200U)
  36162. #define SNVS_HPLR_MKS_SL_SHIFT (9U)
  36163. /*! MKS_SL
  36164. * 0b0..Write access is allowed
  36165. * 0b1..Write access is not allowed
  36166. */
  36167. #define SNVS_HPLR_MKS_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_MKS_SL_SHIFT)) & SNVS_HPLR_MKS_SL_MASK)
  36168. #define SNVS_HPLR_HPSVCR_L_MASK (0x10000U)
  36169. #define SNVS_HPLR_HPSVCR_L_SHIFT (16U)
  36170. /*! HPSVCR_L
  36171. * 0b0..Write access is allowed
  36172. * 0b1..Write access is not allowed
  36173. */
  36174. #define SNVS_HPLR_HPSVCR_L(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_HPSVCR_L_SHIFT)) & SNVS_HPLR_HPSVCR_L_MASK)
  36175. #define SNVS_HPLR_HPSICR_L_MASK (0x20000U)
  36176. #define SNVS_HPLR_HPSICR_L_SHIFT (17U)
  36177. /*! HPSICR_L
  36178. * 0b0..Write access is allowed
  36179. * 0b1..Write access is not allowed
  36180. */
  36181. #define SNVS_HPLR_HPSICR_L(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_HPSICR_L_SHIFT)) & SNVS_HPLR_HPSICR_L_MASK)
  36182. #define SNVS_HPLR_HAC_L_MASK (0x40000U)
  36183. #define SNVS_HPLR_HAC_L_SHIFT (18U)
  36184. /*! HAC_L
  36185. * 0b0..Write access is allowed
  36186. * 0b1..Write access is not allowed
  36187. */
  36188. #define SNVS_HPLR_HAC_L(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_HAC_L_SHIFT)) & SNVS_HPLR_HAC_L_MASK)
  36189. /*! @} */
  36190. /*! @name HPCOMR - SNVS_HP Command Register */
  36191. /*! @{ */
  36192. #define SNVS_HPCOMR_SSM_ST_MASK (0x1U)
  36193. #define SNVS_HPCOMR_SSM_ST_SHIFT (0U)
  36194. #define SNVS_HPCOMR_SSM_ST(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SSM_ST_SHIFT)) & SNVS_HPCOMR_SSM_ST_MASK)
  36195. #define SNVS_HPCOMR_SSM_ST_DIS_MASK (0x2U)
  36196. #define SNVS_HPCOMR_SSM_ST_DIS_SHIFT (1U)
  36197. /*! SSM_ST_DIS
  36198. * 0b0..Secure to Trusted State transition is enabled
  36199. * 0b1..Secure to Trusted State transition is disabled
  36200. */
  36201. #define SNVS_HPCOMR_SSM_ST_DIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SSM_ST_DIS_SHIFT)) & SNVS_HPCOMR_SSM_ST_DIS_MASK)
  36202. #define SNVS_HPCOMR_SSM_SFNS_DIS_MASK (0x4U)
  36203. #define SNVS_HPCOMR_SSM_SFNS_DIS_SHIFT (2U)
  36204. /*! SSM_SFNS_DIS
  36205. * 0b0..Soft Fail to Non-Secure State transition is enabled
  36206. * 0b1..Soft Fail to Non-Secure State transition is disabled
  36207. */
  36208. #define SNVS_HPCOMR_SSM_SFNS_DIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SSM_SFNS_DIS_SHIFT)) & SNVS_HPCOMR_SSM_SFNS_DIS_MASK)
  36209. #define SNVS_HPCOMR_LP_SWR_MASK (0x10U)
  36210. #define SNVS_HPCOMR_LP_SWR_SHIFT (4U)
  36211. /*! LP_SWR
  36212. * 0b0..No Action
  36213. * 0b1..Reset LP section
  36214. */
  36215. #define SNVS_HPCOMR_LP_SWR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_LP_SWR_SHIFT)) & SNVS_HPCOMR_LP_SWR_MASK)
  36216. #define SNVS_HPCOMR_LP_SWR_DIS_MASK (0x20U)
  36217. #define SNVS_HPCOMR_LP_SWR_DIS_SHIFT (5U)
  36218. /*! LP_SWR_DIS
  36219. * 0b0..LP software reset is enabled
  36220. * 0b1..LP software reset is disabled
  36221. */
  36222. #define SNVS_HPCOMR_LP_SWR_DIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_LP_SWR_DIS_SHIFT)) & SNVS_HPCOMR_LP_SWR_DIS_MASK)
  36223. #define SNVS_HPCOMR_SW_SV_MASK (0x100U)
  36224. #define SNVS_HPCOMR_SW_SV_SHIFT (8U)
  36225. #define SNVS_HPCOMR_SW_SV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SW_SV_SHIFT)) & SNVS_HPCOMR_SW_SV_MASK)
  36226. #define SNVS_HPCOMR_SW_FSV_MASK (0x200U)
  36227. #define SNVS_HPCOMR_SW_FSV_SHIFT (9U)
  36228. #define SNVS_HPCOMR_SW_FSV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SW_FSV_SHIFT)) & SNVS_HPCOMR_SW_FSV_MASK)
  36229. #define SNVS_HPCOMR_SW_LPSV_MASK (0x400U)
  36230. #define SNVS_HPCOMR_SW_LPSV_SHIFT (10U)
  36231. #define SNVS_HPCOMR_SW_LPSV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SW_LPSV_SHIFT)) & SNVS_HPCOMR_SW_LPSV_MASK)
  36232. #define SNVS_HPCOMR_PROG_ZMK_MASK (0x1000U)
  36233. #define SNVS_HPCOMR_PROG_ZMK_SHIFT (12U)
  36234. /*! PROG_ZMK
  36235. * 0b0..No Action
  36236. * 0b1..Activate hardware key programming mechanism
  36237. */
  36238. #define SNVS_HPCOMR_PROG_ZMK(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_PROG_ZMK_SHIFT)) & SNVS_HPCOMR_PROG_ZMK_MASK)
  36239. #define SNVS_HPCOMR_MKS_EN_MASK (0x2000U)
  36240. #define SNVS_HPCOMR_MKS_EN_SHIFT (13U)
  36241. /*! MKS_EN
  36242. * 0b0..OTP master key is selected as an SNVS master key
  36243. * 0b1..SNVS master key is selected according to the setting of the MASTER_KEY_SEL field of LPMKCR
  36244. */
  36245. #define SNVS_HPCOMR_MKS_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_MKS_EN_SHIFT)) & SNVS_HPCOMR_MKS_EN_MASK)
  36246. #define SNVS_HPCOMR_HAC_EN_MASK (0x10000U)
  36247. #define SNVS_HPCOMR_HAC_EN_SHIFT (16U)
  36248. /*! HAC_EN
  36249. * 0b0..High Assurance Counter is disabled
  36250. * 0b1..High Assurance Counter is enabled
  36251. */
  36252. #define SNVS_HPCOMR_HAC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_HAC_EN_SHIFT)) & SNVS_HPCOMR_HAC_EN_MASK)
  36253. #define SNVS_HPCOMR_HAC_LOAD_MASK (0x20000U)
  36254. #define SNVS_HPCOMR_HAC_LOAD_SHIFT (17U)
  36255. /*! HAC_LOAD
  36256. * 0b0..No Action
  36257. * 0b1..Load the HAC
  36258. */
  36259. #define SNVS_HPCOMR_HAC_LOAD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_HAC_LOAD_SHIFT)) & SNVS_HPCOMR_HAC_LOAD_MASK)
  36260. #define SNVS_HPCOMR_HAC_CLEAR_MASK (0x40000U)
  36261. #define SNVS_HPCOMR_HAC_CLEAR_SHIFT (18U)
  36262. /*! HAC_CLEAR
  36263. * 0b0..No Action
  36264. * 0b1..Clear the HAC
  36265. */
  36266. #define SNVS_HPCOMR_HAC_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_HAC_CLEAR_SHIFT)) & SNVS_HPCOMR_HAC_CLEAR_MASK)
  36267. #define SNVS_HPCOMR_HAC_STOP_MASK (0x80000U)
  36268. #define SNVS_HPCOMR_HAC_STOP_SHIFT (19U)
  36269. #define SNVS_HPCOMR_HAC_STOP(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_HAC_STOP_SHIFT)) & SNVS_HPCOMR_HAC_STOP_MASK)
  36270. #define SNVS_HPCOMR_NPSWA_EN_MASK (0x80000000U)
  36271. #define SNVS_HPCOMR_NPSWA_EN_SHIFT (31U)
  36272. #define SNVS_HPCOMR_NPSWA_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_NPSWA_EN_SHIFT)) & SNVS_HPCOMR_NPSWA_EN_MASK)
  36273. /*! @} */
  36274. /*! @name HPCR - SNVS_HP Control Register */
  36275. /*! @{ */
  36276. #define SNVS_HPCR_RTC_EN_MASK (0x1U)
  36277. #define SNVS_HPCR_RTC_EN_SHIFT (0U)
  36278. /*! RTC_EN
  36279. * 0b0..RTC is disabled
  36280. * 0b1..RTC is enabled
  36281. */
  36282. #define SNVS_HPCR_RTC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_RTC_EN_SHIFT)) & SNVS_HPCR_RTC_EN_MASK)
  36283. #define SNVS_HPCR_HPTA_EN_MASK (0x2U)
  36284. #define SNVS_HPCR_HPTA_EN_SHIFT (1U)
  36285. /*! HPTA_EN
  36286. * 0b0..HP Time Alarm Interrupt is disabled
  36287. * 0b1..HP Time Alarm Interrupt is enabled
  36288. */
  36289. #define SNVS_HPCR_HPTA_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_HPTA_EN_SHIFT)) & SNVS_HPCR_HPTA_EN_MASK)
  36290. #define SNVS_HPCR_DIS_PI_MASK (0x4U)
  36291. #define SNVS_HPCR_DIS_PI_SHIFT (2U)
  36292. /*! DIS_PI
  36293. * 0b0..Periodic interrupt will trigger a functional interrupt
  36294. * 0b1..Disable periodic interrupt in the function interrupt
  36295. */
  36296. #define SNVS_HPCR_DIS_PI(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_DIS_PI_SHIFT)) & SNVS_HPCR_DIS_PI_MASK)
  36297. #define SNVS_HPCR_PI_EN_MASK (0x8U)
  36298. #define SNVS_HPCR_PI_EN_SHIFT (3U)
  36299. /*! PI_EN
  36300. * 0b0..HP Periodic Interrupt is disabled
  36301. * 0b1..HP Periodic Interrupt is enabled
  36302. */
  36303. #define SNVS_HPCR_PI_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_PI_EN_SHIFT)) & SNVS_HPCR_PI_EN_MASK)
  36304. #define SNVS_HPCR_PI_FREQ_MASK (0xF0U)
  36305. #define SNVS_HPCR_PI_FREQ_SHIFT (4U)
  36306. /*! PI_FREQ
  36307. * 0b0000..- bit 0 of the HPRTCLR is selected as a source of the periodic interrupt
  36308. * 0b0001..- bit 1 of the HPRTCLR is selected as a source of the periodic interrupt
  36309. * 0b0010..- bit 2 of the HPRTCLR is selected as a source of the periodic interrupt
  36310. * 0b0011..- bit 3 of the HPRTCLR is selected as a source of the periodic interrupt
  36311. * 0b0100..- bit 4 of the HPRTCLR is selected as a source of the periodic interrupt
  36312. * 0b0101..- bit 5 of the HPRTCLR is selected as a source of the periodic interrupt
  36313. * 0b0110..- bit 6 of the HPRTCLR is selected as a source of the periodic interrupt
  36314. * 0b0111..- bit 7 of the HPRTCLR is selected as a source of the periodic interrupt
  36315. * 0b1000..- bit 8 of the HPRTCLR is selected as a source of the periodic interrupt
  36316. * 0b1001..- bit 9 of the HPRTCLR is selected as a source of the periodic interrupt
  36317. * 0b1010..- bit 10 of the HPRTCLR is selected as a source of the periodic interrupt
  36318. * 0b1011..- bit 11 of the HPRTCLR is selected as a source of the periodic interrupt
  36319. * 0b1100..- bit 12 of the HPRTCLR is selected as a source of the periodic interrupt
  36320. * 0b1101..- bit 13 of the HPRTCLR is selected as a source of the periodic interrupt
  36321. * 0b1110..- bit 14 of the HPRTCLR is selected as a source of the periodic interrupt
  36322. * 0b1111..- bit 15 of the HPRTCLR is selected as a source of the periodic interrupt
  36323. */
  36324. #define SNVS_HPCR_PI_FREQ(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_PI_FREQ_SHIFT)) & SNVS_HPCR_PI_FREQ_MASK)
  36325. #define SNVS_HPCR_HPCALB_EN_MASK (0x100U)
  36326. #define SNVS_HPCR_HPCALB_EN_SHIFT (8U)
  36327. /*! HPCALB_EN
  36328. * 0b0..HP Timer calibration disabled
  36329. * 0b1..HP Timer calibration enabled
  36330. */
  36331. #define SNVS_HPCR_HPCALB_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_HPCALB_EN_SHIFT)) & SNVS_HPCR_HPCALB_EN_MASK)
  36332. #define SNVS_HPCR_HPCALB_VAL_MASK (0x7C00U)
  36333. #define SNVS_HPCR_HPCALB_VAL_SHIFT (10U)
  36334. /*! HPCALB_VAL
  36335. * 0b00000..+0 counts per each 32768 ticks of the counter
  36336. * 0b00001..+1 counts per each 32768 ticks of the counter
  36337. * 0b00010..+2 counts per each 32768 ticks of the counter
  36338. * 0b01111..+15 counts per each 32768 ticks of the counter
  36339. * 0b10000..-16 counts per each 32768 ticks of the counter
  36340. * 0b10001..-15 counts per each 32768 ticks of the counter
  36341. * 0b11110..-2 counts per each 32768 ticks of the counter
  36342. * 0b11111..-1 counts per each 32768 ticks of the counter
  36343. */
  36344. #define SNVS_HPCR_HPCALB_VAL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_HPCALB_VAL_SHIFT)) & SNVS_HPCR_HPCALB_VAL_MASK)
  36345. #define SNVS_HPCR_HP_TS_MASK (0x10000U)
  36346. #define SNVS_HPCR_HP_TS_SHIFT (16U)
  36347. /*! HP_TS
  36348. * 0b0..No Action
  36349. * 0b1..Synchronize the HP Time Counter to the LP Time Counter
  36350. */
  36351. #define SNVS_HPCR_HP_TS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_HP_TS_SHIFT)) & SNVS_HPCR_HP_TS_MASK)
  36352. #define SNVS_HPCR_BTN_CONFIG_MASK (0x7000000U)
  36353. #define SNVS_HPCR_BTN_CONFIG_SHIFT (24U)
  36354. #define SNVS_HPCR_BTN_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_BTN_CONFIG_SHIFT)) & SNVS_HPCR_BTN_CONFIG_MASK)
  36355. #define SNVS_HPCR_BTN_MASK_MASK (0x8000000U)
  36356. #define SNVS_HPCR_BTN_MASK_SHIFT (27U)
  36357. #define SNVS_HPCR_BTN_MASK(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_BTN_MASK_SHIFT)) & SNVS_HPCR_BTN_MASK_MASK)
  36358. /*! @} */
  36359. /*! @name HPSICR - SNVS_HP Security Interrupt Control Register */
  36360. /*! @{ */
  36361. #define SNVS_HPSICR_SV0_EN_MASK (0x1U)
  36362. #define SNVS_HPSICR_SV0_EN_SHIFT (0U)
  36363. /*! SV0_EN
  36364. * 0b0..Security Violation 0 Interrupt is Disabled
  36365. * 0b1..Security Violation 0 Interrupt is Enabled
  36366. */
  36367. #define SNVS_HPSICR_SV0_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_SV0_EN_SHIFT)) & SNVS_HPSICR_SV0_EN_MASK)
  36368. #define SNVS_HPSICR_SV1_EN_MASK (0x2U)
  36369. #define SNVS_HPSICR_SV1_EN_SHIFT (1U)
  36370. /*! SV1_EN
  36371. * 0b0..Security Violation 1 Interrupt is Disabled
  36372. * 0b1..Security Violation 1 Interrupt is Enabled
  36373. */
  36374. #define SNVS_HPSICR_SV1_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_SV1_EN_SHIFT)) & SNVS_HPSICR_SV1_EN_MASK)
  36375. #define SNVS_HPSICR_SV2_EN_MASK (0x4U)
  36376. #define SNVS_HPSICR_SV2_EN_SHIFT (2U)
  36377. /*! SV2_EN
  36378. * 0b0..Security Violation 2 Interrupt is Disabled
  36379. * 0b1..Security Violation 2 Interrupt is Enabled
  36380. */
  36381. #define SNVS_HPSICR_SV2_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_SV2_EN_SHIFT)) & SNVS_HPSICR_SV2_EN_MASK)
  36382. #define SNVS_HPSICR_SV3_EN_MASK (0x8U)
  36383. #define SNVS_HPSICR_SV3_EN_SHIFT (3U)
  36384. /*! SV3_EN
  36385. * 0b0..Security Violation 3 Interrupt is Disabled
  36386. * 0b1..Security Violation 3 Interrupt is Enabled
  36387. */
  36388. #define SNVS_HPSICR_SV3_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_SV3_EN_SHIFT)) & SNVS_HPSICR_SV3_EN_MASK)
  36389. #define SNVS_HPSICR_SV4_EN_MASK (0x10U)
  36390. #define SNVS_HPSICR_SV4_EN_SHIFT (4U)
  36391. /*! SV4_EN
  36392. * 0b0..Security Violation 4 Interrupt is Disabled
  36393. * 0b1..Security Violation 4 Interrupt is Enabled
  36394. */
  36395. #define SNVS_HPSICR_SV4_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_SV4_EN_SHIFT)) & SNVS_HPSICR_SV4_EN_MASK)
  36396. #define SNVS_HPSICR_SV5_EN_MASK (0x20U)
  36397. #define SNVS_HPSICR_SV5_EN_SHIFT (5U)
  36398. /*! SV5_EN
  36399. * 0b0..Security Violation 5 Interrupt is Disabled
  36400. * 0b1..Security Violation 5 Interrupt is Enabled
  36401. */
  36402. #define SNVS_HPSICR_SV5_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_SV5_EN_SHIFT)) & SNVS_HPSICR_SV5_EN_MASK)
  36403. #define SNVS_HPSICR_LPSVI_EN_MASK (0x80000000U)
  36404. #define SNVS_HPSICR_LPSVI_EN_SHIFT (31U)
  36405. /*! LPSVI_EN
  36406. * 0b0..LP Security Violation Interrupt is Disabled
  36407. * 0b1..LP Security Violation Interrupt is Enabled
  36408. */
  36409. #define SNVS_HPSICR_LPSVI_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_LPSVI_EN_SHIFT)) & SNVS_HPSICR_LPSVI_EN_MASK)
  36410. /*! @} */
  36411. /*! @name HPSVCR - SNVS_HP Security Violation Control Register */
  36412. /*! @{ */
  36413. #define SNVS_HPSVCR_SV0_CFG_MASK (0x1U)
  36414. #define SNVS_HPSVCR_SV0_CFG_SHIFT (0U)
  36415. /*! SV0_CFG
  36416. * 0b0..Security Violation 0 is a non-fatal violation
  36417. * 0b1..Security Violation 0 is a fatal violation
  36418. */
  36419. #define SNVS_HPSVCR_SV0_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_SV0_CFG_SHIFT)) & SNVS_HPSVCR_SV0_CFG_MASK)
  36420. #define SNVS_HPSVCR_SV1_CFG_MASK (0x2U)
  36421. #define SNVS_HPSVCR_SV1_CFG_SHIFT (1U)
  36422. /*! SV1_CFG
  36423. * 0b0..Security Violation 1 is a non-fatal violation
  36424. * 0b1..Security Violation 1 is a fatal violation
  36425. */
  36426. #define SNVS_HPSVCR_SV1_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_SV1_CFG_SHIFT)) & SNVS_HPSVCR_SV1_CFG_MASK)
  36427. #define SNVS_HPSVCR_SV2_CFG_MASK (0x4U)
  36428. #define SNVS_HPSVCR_SV2_CFG_SHIFT (2U)
  36429. /*! SV2_CFG
  36430. * 0b0..Security Violation 2 is a non-fatal violation
  36431. * 0b1..Security Violation 2 is a fatal violation
  36432. */
  36433. #define SNVS_HPSVCR_SV2_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_SV2_CFG_SHIFT)) & SNVS_HPSVCR_SV2_CFG_MASK)
  36434. #define SNVS_HPSVCR_SV3_CFG_MASK (0x8U)
  36435. #define SNVS_HPSVCR_SV3_CFG_SHIFT (3U)
  36436. /*! SV3_CFG
  36437. * 0b0..Security Violation 3 is a non-fatal violation
  36438. * 0b1..Security Violation 3 is a fatal violation
  36439. */
  36440. #define SNVS_HPSVCR_SV3_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_SV3_CFG_SHIFT)) & SNVS_HPSVCR_SV3_CFG_MASK)
  36441. #define SNVS_HPSVCR_SV4_CFG_MASK (0x10U)
  36442. #define SNVS_HPSVCR_SV4_CFG_SHIFT (4U)
  36443. /*! SV4_CFG
  36444. * 0b0..Security Violation 4 is a non-fatal violation
  36445. * 0b1..Security Violation 4 is a fatal violation
  36446. */
  36447. #define SNVS_HPSVCR_SV4_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_SV4_CFG_SHIFT)) & SNVS_HPSVCR_SV4_CFG_MASK)
  36448. #define SNVS_HPSVCR_SV5_CFG_MASK (0x60U)
  36449. #define SNVS_HPSVCR_SV5_CFG_SHIFT (5U)
  36450. /*! SV5_CFG
  36451. * 0b00..Security Violation 5 is disabled
  36452. * 0b01..Security Violation 5 is a non-fatal violation
  36453. * 0b1x..Security Violation 5 is a fatal violation
  36454. */
  36455. #define SNVS_HPSVCR_SV5_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_SV5_CFG_SHIFT)) & SNVS_HPSVCR_SV5_CFG_MASK)
  36456. #define SNVS_HPSVCR_LPSV_CFG_MASK (0xC0000000U)
  36457. #define SNVS_HPSVCR_LPSV_CFG_SHIFT (30U)
  36458. /*! LPSV_CFG
  36459. * 0b00..LP security violation is disabled
  36460. * 0b01..LP security violation is a non-fatal violation
  36461. * 0b1x..LP security violation is a fatal violation
  36462. */
  36463. #define SNVS_HPSVCR_LPSV_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_LPSV_CFG_SHIFT)) & SNVS_HPSVCR_LPSV_CFG_MASK)
  36464. /*! @} */
  36465. /*! @name HPSR - SNVS_HP Status Register */
  36466. /*! @{ */
  36467. #define SNVS_HPSR_HPTA_MASK (0x1U)
  36468. #define SNVS_HPSR_HPTA_SHIFT (0U)
  36469. /*! HPTA
  36470. * 0b0..No time alarm interrupt occurred.
  36471. * 0b1..A time alarm interrupt occurred.
  36472. */
  36473. #define SNVS_HPSR_HPTA(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_HPTA_SHIFT)) & SNVS_HPSR_HPTA_MASK)
  36474. #define SNVS_HPSR_PI_MASK (0x2U)
  36475. #define SNVS_HPSR_PI_SHIFT (1U)
  36476. /*! PI
  36477. * 0b0..No periodic interrupt occurred.
  36478. * 0b1..A periodic interrupt occurred.
  36479. */
  36480. #define SNVS_HPSR_PI(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_PI_SHIFT)) & SNVS_HPSR_PI_MASK)
  36481. #define SNVS_HPSR_LPDIS_MASK (0x10U)
  36482. #define SNVS_HPSR_LPDIS_SHIFT (4U)
  36483. #define SNVS_HPSR_LPDIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_LPDIS_SHIFT)) & SNVS_HPSR_LPDIS_MASK)
  36484. #define SNVS_HPSR_BTN_MASK (0x40U)
  36485. #define SNVS_HPSR_BTN_SHIFT (6U)
  36486. #define SNVS_HPSR_BTN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_BTN_SHIFT)) & SNVS_HPSR_BTN_MASK)
  36487. #define SNVS_HPSR_BI_MASK (0x80U)
  36488. #define SNVS_HPSR_BI_SHIFT (7U)
  36489. #define SNVS_HPSR_BI(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_BI_SHIFT)) & SNVS_HPSR_BI_MASK)
  36490. #define SNVS_HPSR_SSM_STATE_MASK (0xF00U)
  36491. #define SNVS_HPSR_SSM_STATE_SHIFT (8U)
  36492. /*! SSM_STATE
  36493. * 0b0000..Init
  36494. * 0b0001..Hard Fail
  36495. * 0b0011..Soft Fail
  36496. * 0b1000..Init Intermediate (transition state between Init and Check - SSM stays in this state only one clock cycle)
  36497. * 0b1001..Check
  36498. * 0b1011..Non-Secure
  36499. * 0b1101..Trusted
  36500. * 0b1111..Secure
  36501. */
  36502. #define SNVS_HPSR_SSM_STATE(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_SSM_STATE_SHIFT)) & SNVS_HPSR_SSM_STATE_MASK)
  36503. #define SNVS_HPSR_SECURITY_CONFIG_MASK (0xF000U)
  36504. #define SNVS_HPSR_SECURITY_CONFIG_SHIFT (12U)
  36505. /*! SECURITY_CONFIG
  36506. * 0b0000, 0b1000..FAB configuration
  36507. * 0b0001, 0b0010, 0b0011..OPEN configuration
  36508. * 0b1010, 0b1001, 0b1011..CLOSED configuration
  36509. * 0bx1xx..FIELD RETURN configuration
  36510. */
  36511. #define SNVS_HPSR_SECURITY_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_SECURITY_CONFIG_SHIFT)) & SNVS_HPSR_SECURITY_CONFIG_MASK)
  36512. #define SNVS_HPSR_OTPMK_SYNDROME_MASK (0x1FF0000U)
  36513. #define SNVS_HPSR_OTPMK_SYNDROME_SHIFT (16U)
  36514. #define SNVS_HPSR_OTPMK_SYNDROME(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_OTPMK_SYNDROME_SHIFT)) & SNVS_HPSR_OTPMK_SYNDROME_MASK)
  36515. #define SNVS_HPSR_OTPMK_ZERO_MASK (0x8000000U)
  36516. #define SNVS_HPSR_OTPMK_ZERO_SHIFT (27U)
  36517. /*! OTPMK_ZERO
  36518. * 0b0..The OTPMK is not zero.
  36519. * 0b1..The OTPMK is zero.
  36520. */
  36521. #define SNVS_HPSR_OTPMK_ZERO(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_OTPMK_ZERO_SHIFT)) & SNVS_HPSR_OTPMK_ZERO_MASK)
  36522. #define SNVS_HPSR_ZMK_ZERO_MASK (0x80000000U)
  36523. #define SNVS_HPSR_ZMK_ZERO_SHIFT (31U)
  36524. /*! ZMK_ZERO
  36525. * 0b0..The ZMK is not zero.
  36526. * 0b1..The ZMK is zero.
  36527. */
  36528. #define SNVS_HPSR_ZMK_ZERO(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_ZMK_ZERO_SHIFT)) & SNVS_HPSR_ZMK_ZERO_MASK)
  36529. /*! @} */
  36530. /*! @name HPSVSR - SNVS_HP Security Violation Status Register */
  36531. /*! @{ */
  36532. #define SNVS_HPSVSR_SV0_MASK (0x1U)
  36533. #define SNVS_HPSVSR_SV0_SHIFT (0U)
  36534. /*! SV0
  36535. * 0b0..No Security Violation 0 security violation was detected.
  36536. * 0b1..Security Violation 0 security violation was detected.
  36537. */
  36538. #define SNVS_HPSVSR_SV0(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SV0_SHIFT)) & SNVS_HPSVSR_SV0_MASK)
  36539. #define SNVS_HPSVSR_SV1_MASK (0x2U)
  36540. #define SNVS_HPSVSR_SV1_SHIFT (1U)
  36541. /*! SV1
  36542. * 0b0..No Security Violation 1 security violation was detected.
  36543. * 0b1..Security Violation 1 security violation was detected.
  36544. */
  36545. #define SNVS_HPSVSR_SV1(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SV1_SHIFT)) & SNVS_HPSVSR_SV1_MASK)
  36546. #define SNVS_HPSVSR_SV2_MASK (0x4U)
  36547. #define SNVS_HPSVSR_SV2_SHIFT (2U)
  36548. /*! SV2
  36549. * 0b0..No Security Violation 2 security violation was detected.
  36550. * 0b1..Security Violation 2 security violation was detected.
  36551. */
  36552. #define SNVS_HPSVSR_SV2(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SV2_SHIFT)) & SNVS_HPSVSR_SV2_MASK)
  36553. #define SNVS_HPSVSR_SV3_MASK (0x8U)
  36554. #define SNVS_HPSVSR_SV3_SHIFT (3U)
  36555. /*! SV3
  36556. * 0b0..No Security Violation 3 security violation was detected.
  36557. * 0b1..Security Violation 3 security violation was detected.
  36558. */
  36559. #define SNVS_HPSVSR_SV3(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SV3_SHIFT)) & SNVS_HPSVSR_SV3_MASK)
  36560. #define SNVS_HPSVSR_SV4_MASK (0x10U)
  36561. #define SNVS_HPSVSR_SV4_SHIFT (4U)
  36562. /*! SV4
  36563. * 0b0..No Security Violation 4 security violation was detected.
  36564. * 0b1..Security Violation 4 security violation was detected.
  36565. */
  36566. #define SNVS_HPSVSR_SV4(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SV4_SHIFT)) & SNVS_HPSVSR_SV4_MASK)
  36567. #define SNVS_HPSVSR_SV5_MASK (0x20U)
  36568. #define SNVS_HPSVSR_SV5_SHIFT (5U)
  36569. /*! SV5
  36570. * 0b0..No Security Violation 5 security violation was detected.
  36571. * 0b1..Security Violation 5 security violation was detected.
  36572. */
  36573. #define SNVS_HPSVSR_SV5(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SV5_SHIFT)) & SNVS_HPSVSR_SV5_MASK)
  36574. #define SNVS_HPSVSR_SW_SV_MASK (0x2000U)
  36575. #define SNVS_HPSVSR_SW_SV_SHIFT (13U)
  36576. #define SNVS_HPSVSR_SW_SV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SW_SV_SHIFT)) & SNVS_HPSVSR_SW_SV_MASK)
  36577. #define SNVS_HPSVSR_SW_FSV_MASK (0x4000U)
  36578. #define SNVS_HPSVSR_SW_FSV_SHIFT (14U)
  36579. #define SNVS_HPSVSR_SW_FSV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SW_FSV_SHIFT)) & SNVS_HPSVSR_SW_FSV_MASK)
  36580. #define SNVS_HPSVSR_SW_LPSV_MASK (0x8000U)
  36581. #define SNVS_HPSVSR_SW_LPSV_SHIFT (15U)
  36582. #define SNVS_HPSVSR_SW_LPSV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SW_LPSV_SHIFT)) & SNVS_HPSVSR_SW_LPSV_MASK)
  36583. #define SNVS_HPSVSR_ZMK_SYNDROME_MASK (0x1FF0000U)
  36584. #define SNVS_HPSVSR_ZMK_SYNDROME_SHIFT (16U)
  36585. #define SNVS_HPSVSR_ZMK_SYNDROME(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_ZMK_SYNDROME_SHIFT)) & SNVS_HPSVSR_ZMK_SYNDROME_MASK)
  36586. #define SNVS_HPSVSR_ZMK_ECC_FAIL_MASK (0x8000000U)
  36587. #define SNVS_HPSVSR_ZMK_ECC_FAIL_SHIFT (27U)
  36588. /*! ZMK_ECC_FAIL
  36589. * 0b0..ZMK ECC Failure was not detected.
  36590. * 0b1..ZMK ECC Failure was detected.
  36591. */
  36592. #define SNVS_HPSVSR_ZMK_ECC_FAIL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_ZMK_ECC_FAIL_SHIFT)) & SNVS_HPSVSR_ZMK_ECC_FAIL_MASK)
  36593. #define SNVS_HPSVSR_LP_SEC_VIO_MASK (0x80000000U)
  36594. #define SNVS_HPSVSR_LP_SEC_VIO_SHIFT (31U)
  36595. #define SNVS_HPSVSR_LP_SEC_VIO(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_LP_SEC_VIO_SHIFT)) & SNVS_HPSVSR_LP_SEC_VIO_MASK)
  36596. /*! @} */
  36597. /*! @name HPHACIVR - SNVS_HP High Assurance Counter IV Register */
  36598. /*! @{ */
  36599. #define SNVS_HPHACIVR_HAC_COUNTER_IV_MASK (0xFFFFFFFFU)
  36600. #define SNVS_HPHACIVR_HAC_COUNTER_IV_SHIFT (0U)
  36601. #define SNVS_HPHACIVR_HAC_COUNTER_IV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPHACIVR_HAC_COUNTER_IV_SHIFT)) & SNVS_HPHACIVR_HAC_COUNTER_IV_MASK)
  36602. /*! @} */
  36603. /*! @name HPHACR - SNVS_HP High Assurance Counter Register */
  36604. /*! @{ */
  36605. #define SNVS_HPHACR_HAC_COUNTER_MASK (0xFFFFFFFFU)
  36606. #define SNVS_HPHACR_HAC_COUNTER_SHIFT (0U)
  36607. #define SNVS_HPHACR_HAC_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPHACR_HAC_COUNTER_SHIFT)) & SNVS_HPHACR_HAC_COUNTER_MASK)
  36608. /*! @} */
  36609. /*! @name HPRTCMR - SNVS_HP Real Time Counter MSB Register */
  36610. /*! @{ */
  36611. #define SNVS_HPRTCMR_RTC_MASK (0x7FFFU)
  36612. #define SNVS_HPRTCMR_RTC_SHIFT (0U)
  36613. #define SNVS_HPRTCMR_RTC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPRTCMR_RTC_SHIFT)) & SNVS_HPRTCMR_RTC_MASK)
  36614. /*! @} */
  36615. /*! @name HPRTCLR - SNVS_HP Real Time Counter LSB Register */
  36616. /*! @{ */
  36617. #define SNVS_HPRTCLR_RTC_MASK (0xFFFFFFFFU)
  36618. #define SNVS_HPRTCLR_RTC_SHIFT (0U)
  36619. #define SNVS_HPRTCLR_RTC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPRTCLR_RTC_SHIFT)) & SNVS_HPRTCLR_RTC_MASK)
  36620. /*! @} */
  36621. /*! @name HPTAMR - SNVS_HP Time Alarm MSB Register */
  36622. /*! @{ */
  36623. #define SNVS_HPTAMR_HPTA_MS_MASK (0x7FFFU)
  36624. #define SNVS_HPTAMR_HPTA_MS_SHIFT (0U)
  36625. #define SNVS_HPTAMR_HPTA_MS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPTAMR_HPTA_MS_SHIFT)) & SNVS_HPTAMR_HPTA_MS_MASK)
  36626. /*! @} */
  36627. /*! @name HPTALR - SNVS_HP Time Alarm LSB Register */
  36628. /*! @{ */
  36629. #define SNVS_HPTALR_HPTA_LS_MASK (0xFFFFFFFFU)
  36630. #define SNVS_HPTALR_HPTA_LS_SHIFT (0U)
  36631. #define SNVS_HPTALR_HPTA_LS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPTALR_HPTA_LS_SHIFT)) & SNVS_HPTALR_HPTA_LS_MASK)
  36632. /*! @} */
  36633. /*! @name LPLR - SNVS_LP Lock Register */
  36634. /*! @{ */
  36635. #define SNVS_LPLR_ZMK_WHL_MASK (0x1U)
  36636. #define SNVS_LPLR_ZMK_WHL_SHIFT (0U)
  36637. /*! ZMK_WHL
  36638. * 0b0..Write access is allowed.
  36639. * 0b1..Write access is not allowed.
  36640. */
  36641. #define SNVS_LPLR_ZMK_WHL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_ZMK_WHL_SHIFT)) & SNVS_LPLR_ZMK_WHL_MASK)
  36642. #define SNVS_LPLR_ZMK_RHL_MASK (0x2U)
  36643. #define SNVS_LPLR_ZMK_RHL_SHIFT (1U)
  36644. /*! ZMK_RHL
  36645. * 0b0..Read access is allowed (only in software programming mode).
  36646. * 0b1..Read access is not allowed.
  36647. */
  36648. #define SNVS_LPLR_ZMK_RHL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_ZMK_RHL_SHIFT)) & SNVS_LPLR_ZMK_RHL_MASK)
  36649. #define SNVS_LPLR_SRTC_HL_MASK (0x4U)
  36650. #define SNVS_LPLR_SRTC_HL_SHIFT (2U)
  36651. /*! SRTC_HL
  36652. * 0b0..Write access is allowed.
  36653. * 0b1..Write access is not allowed.
  36654. */
  36655. #define SNVS_LPLR_SRTC_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_SRTC_HL_SHIFT)) & SNVS_LPLR_SRTC_HL_MASK)
  36656. #define SNVS_LPLR_LPCALB_HL_MASK (0x8U)
  36657. #define SNVS_LPLR_LPCALB_HL_SHIFT (3U)
  36658. /*! LPCALB_HL
  36659. * 0b0..Write access is allowed.
  36660. * 0b1..Write access is not allowed.
  36661. */
  36662. #define SNVS_LPLR_LPCALB_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_LPCALB_HL_SHIFT)) & SNVS_LPLR_LPCALB_HL_MASK)
  36663. #define SNVS_LPLR_MC_HL_MASK (0x10U)
  36664. #define SNVS_LPLR_MC_HL_SHIFT (4U)
  36665. /*! MC_HL
  36666. * 0b0..Write access (increment) is allowed.
  36667. * 0b1..Write access (increment) is not allowed.
  36668. */
  36669. #define SNVS_LPLR_MC_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_MC_HL_SHIFT)) & SNVS_LPLR_MC_HL_MASK)
  36670. #define SNVS_LPLR_GPR_HL_MASK (0x20U)
  36671. #define SNVS_LPLR_GPR_HL_SHIFT (5U)
  36672. /*! GPR_HL
  36673. * 0b0..Write access is allowed.
  36674. * 0b1..Write access is not allowed.
  36675. */
  36676. #define SNVS_LPLR_GPR_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_GPR_HL_SHIFT)) & SNVS_LPLR_GPR_HL_MASK)
  36677. #define SNVS_LPLR_LPSVCR_HL_MASK (0x40U)
  36678. #define SNVS_LPLR_LPSVCR_HL_SHIFT (6U)
  36679. /*! LPSVCR_HL
  36680. * 0b0..Write access is allowed.
  36681. * 0b1..Write access is not allowed.
  36682. */
  36683. #define SNVS_LPLR_LPSVCR_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_LPSVCR_HL_SHIFT)) & SNVS_LPLR_LPSVCR_HL_MASK)
  36684. #define SNVS_LPLR_LPTDCR_HL_MASK (0x100U)
  36685. #define SNVS_LPLR_LPTDCR_HL_SHIFT (8U)
  36686. /*! LPTDCR_HL
  36687. * 0b0..Write access is allowed.
  36688. * 0b1..Write access is not allowed.
  36689. */
  36690. #define SNVS_LPLR_LPTDCR_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_LPTDCR_HL_SHIFT)) & SNVS_LPLR_LPTDCR_HL_MASK)
  36691. #define SNVS_LPLR_MKS_HL_MASK (0x200U)
  36692. #define SNVS_LPLR_MKS_HL_SHIFT (9U)
  36693. /*! MKS_HL
  36694. * 0b0..Write access is allowed.
  36695. * 0b1..Write access is not allowed.
  36696. */
  36697. #define SNVS_LPLR_MKS_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_MKS_HL_SHIFT)) & SNVS_LPLR_MKS_HL_MASK)
  36698. /*! @} */
  36699. /*! @name LPCR - SNVS_LP Control Register */
  36700. /*! @{ */
  36701. #define SNVS_LPCR_SRTC_ENV_MASK (0x1U)
  36702. #define SNVS_LPCR_SRTC_ENV_SHIFT (0U)
  36703. /*! SRTC_ENV
  36704. * 0b0..SRTC is disabled or invalid.
  36705. * 0b1..SRTC is enabled and valid.
  36706. */
  36707. #define SNVS_LPCR_SRTC_ENV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_SRTC_ENV_SHIFT)) & SNVS_LPCR_SRTC_ENV_MASK)
  36708. #define SNVS_LPCR_LPTA_EN_MASK (0x2U)
  36709. #define SNVS_LPCR_LPTA_EN_SHIFT (1U)
  36710. /*! LPTA_EN
  36711. * 0b0..LP time alarm interrupt is disabled.
  36712. * 0b1..LP time alarm interrupt is enabled.
  36713. */
  36714. #define SNVS_LPCR_LPTA_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_LPTA_EN_SHIFT)) & SNVS_LPCR_LPTA_EN_MASK)
  36715. #define SNVS_LPCR_MC_ENV_MASK (0x4U)
  36716. #define SNVS_LPCR_MC_ENV_SHIFT (2U)
  36717. /*! MC_ENV
  36718. * 0b0..MC is disabled or invalid.
  36719. * 0b1..MC is enabled and valid.
  36720. */
  36721. #define SNVS_LPCR_MC_ENV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_MC_ENV_SHIFT)) & SNVS_LPCR_MC_ENV_MASK)
  36722. #define SNVS_LPCR_LPWUI_EN_MASK (0x8U)
  36723. #define SNVS_LPCR_LPWUI_EN_SHIFT (3U)
  36724. #define SNVS_LPCR_LPWUI_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_LPWUI_EN_SHIFT)) & SNVS_LPCR_LPWUI_EN_MASK)
  36725. #define SNVS_LPCR_SRTC_INV_EN_MASK (0x10U)
  36726. #define SNVS_LPCR_SRTC_INV_EN_SHIFT (4U)
  36727. /*! SRTC_INV_EN
  36728. * 0b0..SRTC stays valid in the case of security violation.
  36729. * 0b1..SRTC is invalidated in the case of security violation.
  36730. */
  36731. #define SNVS_LPCR_SRTC_INV_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_SRTC_INV_EN_SHIFT)) & SNVS_LPCR_SRTC_INV_EN_MASK)
  36732. #define SNVS_LPCR_DP_EN_MASK (0x20U)
  36733. #define SNVS_LPCR_DP_EN_SHIFT (5U)
  36734. /*! DP_EN
  36735. * 0b0..Smart PMIC enabled.
  36736. * 0b1..Dumb PMIC enabled.
  36737. */
  36738. #define SNVS_LPCR_DP_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_DP_EN_SHIFT)) & SNVS_LPCR_DP_EN_MASK)
  36739. #define SNVS_LPCR_TOP_MASK (0x40U)
  36740. #define SNVS_LPCR_TOP_SHIFT (6U)
  36741. /*! TOP
  36742. * 0b0..Leave system power on.
  36743. * 0b1..Turn off system power.
  36744. */
  36745. #define SNVS_LPCR_TOP(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_TOP_SHIFT)) & SNVS_LPCR_TOP_MASK)
  36746. #define SNVS_LPCR_PWR_GLITCH_EN_MASK (0x80U)
  36747. #define SNVS_LPCR_PWR_GLITCH_EN_SHIFT (7U)
  36748. #define SNVS_LPCR_PWR_GLITCH_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_PWR_GLITCH_EN_SHIFT)) & SNVS_LPCR_PWR_GLITCH_EN_MASK)
  36749. #define SNVS_LPCR_LPCALB_EN_MASK (0x100U)
  36750. #define SNVS_LPCR_LPCALB_EN_SHIFT (8U)
  36751. /*! LPCALB_EN
  36752. * 0b0..SRTC Time calibration is disabled.
  36753. * 0b1..SRTC Time calibration is enabled.
  36754. */
  36755. #define SNVS_LPCR_LPCALB_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_LPCALB_EN_SHIFT)) & SNVS_LPCR_LPCALB_EN_MASK)
  36756. #define SNVS_LPCR_LPCALB_VAL_MASK (0x7C00U)
  36757. #define SNVS_LPCR_LPCALB_VAL_SHIFT (10U)
  36758. /*! LPCALB_VAL
  36759. * 0b00000..+0 counts per each 32768 ticks of the counter clock
  36760. * 0b00001..+1 counts per each 32768 ticks of the counter clock
  36761. * 0b00010..+2 counts per each 32768 ticks of the counter clock
  36762. * 0b01111..+15 counts per each 32768 ticks of the counter clock
  36763. * 0b10000..-16 counts per each 32768 ticks of the counter clock
  36764. * 0b10001..-15 counts per each 32768 ticks of the counter clock
  36765. * 0b11110..-2 counts per each 32768 ticks of the counter clock
  36766. * 0b11111..-1 counts per each 32768 ticks of the counter clock
  36767. */
  36768. #define SNVS_LPCR_LPCALB_VAL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_LPCALB_VAL_SHIFT)) & SNVS_LPCR_LPCALB_VAL_MASK)
  36769. #define SNVS_LPCR_BTN_PRESS_TIME_MASK (0x30000U)
  36770. #define SNVS_LPCR_BTN_PRESS_TIME_SHIFT (16U)
  36771. #define SNVS_LPCR_BTN_PRESS_TIME(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_BTN_PRESS_TIME_SHIFT)) & SNVS_LPCR_BTN_PRESS_TIME_MASK)
  36772. #define SNVS_LPCR_DEBOUNCE_MASK (0xC0000U)
  36773. #define SNVS_LPCR_DEBOUNCE_SHIFT (18U)
  36774. #define SNVS_LPCR_DEBOUNCE(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_DEBOUNCE_SHIFT)) & SNVS_LPCR_DEBOUNCE_MASK)
  36775. #define SNVS_LPCR_ON_TIME_MASK (0x300000U)
  36776. #define SNVS_LPCR_ON_TIME_SHIFT (20U)
  36777. #define SNVS_LPCR_ON_TIME(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_ON_TIME_SHIFT)) & SNVS_LPCR_ON_TIME_MASK)
  36778. #define SNVS_LPCR_PK_EN_MASK (0x400000U)
  36779. #define SNVS_LPCR_PK_EN_SHIFT (22U)
  36780. #define SNVS_LPCR_PK_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_PK_EN_SHIFT)) & SNVS_LPCR_PK_EN_MASK)
  36781. #define SNVS_LPCR_PK_OVERRIDE_MASK (0x800000U)
  36782. #define SNVS_LPCR_PK_OVERRIDE_SHIFT (23U)
  36783. #define SNVS_LPCR_PK_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_PK_OVERRIDE_SHIFT)) & SNVS_LPCR_PK_OVERRIDE_MASK)
  36784. #define SNVS_LPCR_GPR_Z_DIS_MASK (0x1000000U)
  36785. #define SNVS_LPCR_GPR_Z_DIS_SHIFT (24U)
  36786. #define SNVS_LPCR_GPR_Z_DIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_GPR_Z_DIS_SHIFT)) & SNVS_LPCR_GPR_Z_DIS_MASK)
  36787. /*! @} */
  36788. /*! @name LPMKCR - SNVS_LP Master Key Control Register */
  36789. /*! @{ */
  36790. #define SNVS_LPMKCR_MASTER_KEY_SEL_MASK (0x3U)
  36791. #define SNVS_LPMKCR_MASTER_KEY_SEL_SHIFT (0U)
  36792. /*! MASTER_KEY_SEL
  36793. * 0b0x..Select one time programmable master key.
  36794. * 0b10..Select zeroizable master key when MKS_EN bit is set .
  36795. * 0b11..Select combined master key when MKS_EN bit is set .
  36796. */
  36797. #define SNVS_LPMKCR_MASTER_KEY_SEL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_MASTER_KEY_SEL_SHIFT)) & SNVS_LPMKCR_MASTER_KEY_SEL_MASK)
  36798. #define SNVS_LPMKCR_ZMK_HWP_MASK (0x4U)
  36799. #define SNVS_LPMKCR_ZMK_HWP_SHIFT (2U)
  36800. /*! ZMK_HWP
  36801. * 0b0..ZMK is in the software programming mode.
  36802. * 0b1..ZMK is in the hardware programming mode.
  36803. */
  36804. #define SNVS_LPMKCR_ZMK_HWP(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_ZMK_HWP_SHIFT)) & SNVS_LPMKCR_ZMK_HWP_MASK)
  36805. #define SNVS_LPMKCR_ZMK_VAL_MASK (0x8U)
  36806. #define SNVS_LPMKCR_ZMK_VAL_SHIFT (3U)
  36807. /*! ZMK_VAL
  36808. * 0b0..ZMK is not valid.
  36809. * 0b1..ZMK is valid.
  36810. */
  36811. #define SNVS_LPMKCR_ZMK_VAL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_ZMK_VAL_SHIFT)) & SNVS_LPMKCR_ZMK_VAL_MASK)
  36812. #define SNVS_LPMKCR_ZMK_ECC_EN_MASK (0x10U)
  36813. #define SNVS_LPMKCR_ZMK_ECC_EN_SHIFT (4U)
  36814. /*! ZMK_ECC_EN
  36815. * 0b0..ZMK ECC check is disabled.
  36816. * 0b1..ZMK ECC check is enabled.
  36817. */
  36818. #define SNVS_LPMKCR_ZMK_ECC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_ZMK_ECC_EN_SHIFT)) & SNVS_LPMKCR_ZMK_ECC_EN_MASK)
  36819. #define SNVS_LPMKCR_ZMK_ECC_VALUE_MASK (0xFF80U)
  36820. #define SNVS_LPMKCR_ZMK_ECC_VALUE_SHIFT (7U)
  36821. #define SNVS_LPMKCR_ZMK_ECC_VALUE(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_ZMK_ECC_VALUE_SHIFT)) & SNVS_LPMKCR_ZMK_ECC_VALUE_MASK)
  36822. /*! @} */
  36823. /*! @name LPSVCR - SNVS_LP Security Violation Control Register */
  36824. /*! @{ */
  36825. #define SNVS_LPSVCR_SV0_EN_MASK (0x1U)
  36826. #define SNVS_LPSVCR_SV0_EN_SHIFT (0U)
  36827. /*! SV0_EN
  36828. * 0b0..Security Violation 0 is disabled in the LP domain.
  36829. * 0b1..Security Violation 0 is enabled in the LP domain.
  36830. */
  36831. #define SNVS_LPSVCR_SV0_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_SV0_EN_SHIFT)) & SNVS_LPSVCR_SV0_EN_MASK)
  36832. #define SNVS_LPSVCR_SV1_EN_MASK (0x2U)
  36833. #define SNVS_LPSVCR_SV1_EN_SHIFT (1U)
  36834. /*! SV1_EN
  36835. * 0b0..Security Violation 1 is disabled in the LP domain.
  36836. * 0b1..Security Violation 1 is enabled in the LP domain.
  36837. */
  36838. #define SNVS_LPSVCR_SV1_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_SV1_EN_SHIFT)) & SNVS_LPSVCR_SV1_EN_MASK)
  36839. #define SNVS_LPSVCR_SV2_EN_MASK (0x4U)
  36840. #define SNVS_LPSVCR_SV2_EN_SHIFT (2U)
  36841. /*! SV2_EN
  36842. * 0b0..Security Violation 2 is disabled in the LP domain.
  36843. * 0b1..Security Violation 2 is enabled in the LP domain.
  36844. */
  36845. #define SNVS_LPSVCR_SV2_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_SV2_EN_SHIFT)) & SNVS_LPSVCR_SV2_EN_MASK)
  36846. #define SNVS_LPSVCR_SV3_EN_MASK (0x8U)
  36847. #define SNVS_LPSVCR_SV3_EN_SHIFT (3U)
  36848. /*! SV3_EN
  36849. * 0b0..Security Violation 3 is disabled in the LP domain.
  36850. * 0b1..Security Violation 3 is enabled in the LP domain.
  36851. */
  36852. #define SNVS_LPSVCR_SV3_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_SV3_EN_SHIFT)) & SNVS_LPSVCR_SV3_EN_MASK)
  36853. #define SNVS_LPSVCR_SV4_EN_MASK (0x10U)
  36854. #define SNVS_LPSVCR_SV4_EN_SHIFT (4U)
  36855. /*! SV4_EN
  36856. * 0b0..Security Violation 4 is disabled in the LP domain.
  36857. * 0b1..Security Violation 4 is enabled in the LP domain.
  36858. */
  36859. #define SNVS_LPSVCR_SV4_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_SV4_EN_SHIFT)) & SNVS_LPSVCR_SV4_EN_MASK)
  36860. #define SNVS_LPSVCR_SV5_EN_MASK (0x20U)
  36861. #define SNVS_LPSVCR_SV5_EN_SHIFT (5U)
  36862. /*! SV5_EN
  36863. * 0b0..Security Violation 5 is disabled in the LP domain.
  36864. * 0b1..Security Violation 5 is enabled in the LP domain.
  36865. */
  36866. #define SNVS_LPSVCR_SV5_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_SV5_EN_SHIFT)) & SNVS_LPSVCR_SV5_EN_MASK)
  36867. /*! @} */
  36868. /*! @name LPTDCR - SNVS_LP Tamper Detectors Configuration Register */
  36869. /*! @{ */
  36870. #define SNVS_LPTDCR_SRTCR_EN_MASK (0x2U)
  36871. #define SNVS_LPTDCR_SRTCR_EN_SHIFT (1U)
  36872. /*! SRTCR_EN
  36873. * 0b0..SRTC rollover is disabled.
  36874. * 0b1..SRTC rollover is enabled.
  36875. */
  36876. #define SNVS_LPTDCR_SRTCR_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_SRTCR_EN_SHIFT)) & SNVS_LPTDCR_SRTCR_EN_MASK)
  36877. #define SNVS_LPTDCR_MCR_EN_MASK (0x4U)
  36878. #define SNVS_LPTDCR_MCR_EN_SHIFT (2U)
  36879. /*! MCR_EN
  36880. * 0b0..MC rollover is disabled.
  36881. * 0b1..MC rollover is enabled.
  36882. */
  36883. #define SNVS_LPTDCR_MCR_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_MCR_EN_SHIFT)) & SNVS_LPTDCR_MCR_EN_MASK)
  36884. #define SNVS_LPTDCR_ET1_EN_MASK (0x200U)
  36885. #define SNVS_LPTDCR_ET1_EN_SHIFT (9U)
  36886. /*! ET1_EN
  36887. * 0b0..External tamper 1 is disabled.
  36888. * 0b1..External tamper 1 is enabled.
  36889. */
  36890. #define SNVS_LPTDCR_ET1_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_ET1_EN_SHIFT)) & SNVS_LPTDCR_ET1_EN_MASK)
  36891. #define SNVS_LPTDCR_ET1P_MASK (0x800U)
  36892. #define SNVS_LPTDCR_ET1P_SHIFT (11U)
  36893. /*! ET1P
  36894. * 0b0..External tamper 1 is active low.
  36895. * 0b1..External tamper 1 is active high.
  36896. */
  36897. #define SNVS_LPTDCR_ET1P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_ET1P_SHIFT)) & SNVS_LPTDCR_ET1P_MASK)
  36898. #define SNVS_LPTDCR_PFD_OBSERV_MASK (0x4000U)
  36899. #define SNVS_LPTDCR_PFD_OBSERV_SHIFT (14U)
  36900. #define SNVS_LPTDCR_PFD_OBSERV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_PFD_OBSERV_SHIFT)) & SNVS_LPTDCR_PFD_OBSERV_MASK)
  36901. #define SNVS_LPTDCR_POR_OBSERV_MASK (0x8000U)
  36902. #define SNVS_LPTDCR_POR_OBSERV_SHIFT (15U)
  36903. #define SNVS_LPTDCR_POR_OBSERV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_POR_OBSERV_SHIFT)) & SNVS_LPTDCR_POR_OBSERV_MASK)
  36904. #define SNVS_LPTDCR_OSCB_MASK (0x10000000U)
  36905. #define SNVS_LPTDCR_OSCB_SHIFT (28U)
  36906. /*! OSCB
  36907. * 0b0..Normal SRTC clock oscillator not bypassed.
  36908. * 0b1..Normal SRTC clock oscillator bypassed. Alternate clock can drive the SRTC clock source.
  36909. */
  36910. #define SNVS_LPTDCR_OSCB(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_OSCB_SHIFT)) & SNVS_LPTDCR_OSCB_MASK)
  36911. /*! @} */
  36912. /*! @name LPSR - SNVS_LP Status Register */
  36913. /*! @{ */
  36914. #define SNVS_LPSR_LPTA_MASK (0x1U)
  36915. #define SNVS_LPSR_LPTA_SHIFT (0U)
  36916. /*! LPTA
  36917. * 0b0..No time alarm interrupt occurred.
  36918. * 0b1..A time alarm interrupt occurred.
  36919. */
  36920. #define SNVS_LPSR_LPTA(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_LPTA_SHIFT)) & SNVS_LPSR_LPTA_MASK)
  36921. #define SNVS_LPSR_SRTCR_MASK (0x2U)
  36922. #define SNVS_LPSR_SRTCR_SHIFT (1U)
  36923. /*! SRTCR
  36924. * 0b0..SRTC has not reached its maximum value.
  36925. * 0b1..SRTC has reached its maximum value.
  36926. */
  36927. #define SNVS_LPSR_SRTCR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_SRTCR_SHIFT)) & SNVS_LPSR_SRTCR_MASK)
  36928. #define SNVS_LPSR_MCR_MASK (0x4U)
  36929. #define SNVS_LPSR_MCR_SHIFT (2U)
  36930. /*! MCR
  36931. * 0b0..MC has not reached its maximum value.
  36932. * 0b1..MC has reached its maximum value.
  36933. */
  36934. #define SNVS_LPSR_MCR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_MCR_SHIFT)) & SNVS_LPSR_MCR_MASK)
  36935. #define SNVS_LPSR_PGD_MASK (0x8U)
  36936. #define SNVS_LPSR_PGD_SHIFT (3U)
  36937. #define SNVS_LPSR_PGD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_PGD_SHIFT)) & SNVS_LPSR_PGD_MASK)
  36938. #define SNVS_LPSR_ET1D_MASK (0x200U)
  36939. #define SNVS_LPSR_ET1D_SHIFT (9U)
  36940. /*! ET1D
  36941. * 0b0..External tampering 1 not detected.
  36942. * 0b1..External tampering 1 detected.
  36943. */
  36944. #define SNVS_LPSR_ET1D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_ET1D_SHIFT)) & SNVS_LPSR_ET1D_MASK)
  36945. #define SNVS_LPSR_ESVD_MASK (0x10000U)
  36946. #define SNVS_LPSR_ESVD_SHIFT (16U)
  36947. /*! ESVD
  36948. * 0b0..No external security violation.
  36949. * 0b1..External security violation is detected.
  36950. */
  36951. #define SNVS_LPSR_ESVD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_ESVD_SHIFT)) & SNVS_LPSR_ESVD_MASK)
  36952. #define SNVS_LPSR_EO_MASK (0x20000U)
  36953. #define SNVS_LPSR_EO_SHIFT (17U)
  36954. /*! EO
  36955. * 0b0..Emergency off was not detected.
  36956. * 0b1..Emergency off was detected.
  36957. */
  36958. #define SNVS_LPSR_EO(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_EO_SHIFT)) & SNVS_LPSR_EO_MASK)
  36959. #define SNVS_LPSR_SPO_MASK (0x40000U)
  36960. #define SNVS_LPSR_SPO_SHIFT (18U)
  36961. /*! SPO
  36962. * 0b0..Set Power Off was not detected.
  36963. * 0b1..Set Power Off was detected.
  36964. */
  36965. #define SNVS_LPSR_SPO(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_SPO_SHIFT)) & SNVS_LPSR_SPO_MASK)
  36966. #define SNVS_LPSR_SED_MASK (0x100000U)
  36967. #define SNVS_LPSR_SED_SHIFT (20U)
  36968. /*! SED
  36969. * 0b0..Scan exit was not detected.
  36970. * 0b1..Scan exit was detected.
  36971. */
  36972. #define SNVS_LPSR_SED(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_SED_SHIFT)) & SNVS_LPSR_SED_MASK)
  36973. #define SNVS_LPSR_LPNS_MASK (0x40000000U)
  36974. #define SNVS_LPSR_LPNS_SHIFT (30U)
  36975. /*! LPNS
  36976. * 0b0..LP section was not programmed in the non-secure state.
  36977. * 0b1..LP section was programmed in the non-secure state.
  36978. */
  36979. #define SNVS_LPSR_LPNS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_LPNS_SHIFT)) & SNVS_LPSR_LPNS_MASK)
  36980. #define SNVS_LPSR_LPS_MASK (0x80000000U)
  36981. #define SNVS_LPSR_LPS_SHIFT (31U)
  36982. /*! LPS
  36983. * 0b0..LP section was not programmed in secure or trusted state.
  36984. * 0b1..LP section was programmed in secure or trusted state.
  36985. */
  36986. #define SNVS_LPSR_LPS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_LPS_SHIFT)) & SNVS_LPSR_LPS_MASK)
  36987. /*! @} */
  36988. /*! @name LPSRTCMR - SNVS_LP Secure Real Time Counter MSB Register */
  36989. /*! @{ */
  36990. #define SNVS_LPSRTCMR_SRTC_MASK (0x7FFFU)
  36991. #define SNVS_LPSRTCMR_SRTC_SHIFT (0U)
  36992. #define SNVS_LPSRTCMR_SRTC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSRTCMR_SRTC_SHIFT)) & SNVS_LPSRTCMR_SRTC_MASK)
  36993. /*! @} */
  36994. /*! @name LPSRTCLR - SNVS_LP Secure Real Time Counter LSB Register */
  36995. /*! @{ */
  36996. #define SNVS_LPSRTCLR_SRTC_MASK (0xFFFFFFFFU)
  36997. #define SNVS_LPSRTCLR_SRTC_SHIFT (0U)
  36998. #define SNVS_LPSRTCLR_SRTC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSRTCLR_SRTC_SHIFT)) & SNVS_LPSRTCLR_SRTC_MASK)
  36999. /*! @} */
  37000. /*! @name LPTAR - SNVS_LP Time Alarm Register */
  37001. /*! @{ */
  37002. #define SNVS_LPTAR_LPTA_MASK (0xFFFFFFFFU)
  37003. #define SNVS_LPTAR_LPTA_SHIFT (0U)
  37004. #define SNVS_LPTAR_LPTA(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTAR_LPTA_SHIFT)) & SNVS_LPTAR_LPTA_MASK)
  37005. /*! @} */
  37006. /*! @name LPSMCMR - SNVS_LP Secure Monotonic Counter MSB Register */
  37007. /*! @{ */
  37008. #define SNVS_LPSMCMR_MON_COUNTER_MASK (0xFFFFU)
  37009. #define SNVS_LPSMCMR_MON_COUNTER_SHIFT (0U)
  37010. #define SNVS_LPSMCMR_MON_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSMCMR_MON_COUNTER_SHIFT)) & SNVS_LPSMCMR_MON_COUNTER_MASK)
  37011. #define SNVS_LPSMCMR_MC_ERA_BITS_MASK (0xFFFF0000U)
  37012. #define SNVS_LPSMCMR_MC_ERA_BITS_SHIFT (16U)
  37013. #define SNVS_LPSMCMR_MC_ERA_BITS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSMCMR_MC_ERA_BITS_SHIFT)) & SNVS_LPSMCMR_MC_ERA_BITS_MASK)
  37014. /*! @} */
  37015. /*! @name LPSMCLR - SNVS_LP Secure Monotonic Counter LSB Register */
  37016. /*! @{ */
  37017. #define SNVS_LPSMCLR_MON_COUNTER_MASK (0xFFFFFFFFU)
  37018. #define SNVS_LPSMCLR_MON_COUNTER_SHIFT (0U)
  37019. #define SNVS_LPSMCLR_MON_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSMCLR_MON_COUNTER_SHIFT)) & SNVS_LPSMCLR_MON_COUNTER_MASK)
  37020. /*! @} */
  37021. /*! @name LPPGDR - SNVS_LP Power Glitch Detector Register */
  37022. /*! @{ */
  37023. #define SNVS_LPPGDR_PGD_MASK (0xFFFFFFFFU)
  37024. #define SNVS_LPPGDR_PGD_SHIFT (0U)
  37025. #define SNVS_LPPGDR_PGD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPPGDR_PGD_SHIFT)) & SNVS_LPPGDR_PGD_MASK)
  37026. /*! @} */
  37027. /*! @name LPGPR0_LEGACY_ALIAS - SNVS_LP General Purpose Register 0 (legacy alias) */
  37028. /*! @{ */
  37029. #define SNVS_LPGPR0_LEGACY_ALIAS_GPR_MASK (0xFFFFFFFFU)
  37030. #define SNVS_LPGPR0_LEGACY_ALIAS_GPR_SHIFT (0U)
  37031. #define SNVS_LPGPR0_LEGACY_ALIAS_GPR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPGPR0_LEGACY_ALIAS_GPR_SHIFT)) & SNVS_LPGPR0_LEGACY_ALIAS_GPR_MASK)
  37032. /*! @} */
  37033. /*! @name LPZMKR - SNVS_LP Zeroizable Master Key Register */
  37034. /*! @{ */
  37035. #define SNVS_LPZMKR_ZMK_MASK (0xFFFFFFFFU)
  37036. #define SNVS_LPZMKR_ZMK_SHIFT (0U)
  37037. #define SNVS_LPZMKR_ZMK(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPZMKR_ZMK_SHIFT)) & SNVS_LPZMKR_ZMK_MASK)
  37038. /*! @} */
  37039. /* The count of SNVS_LPZMKR */
  37040. #define SNVS_LPZMKR_COUNT (8U)
  37041. /*! @name LPGPR_ALIAS - SNVS_LP General Purpose Registers 0 .. 3 */
  37042. /*! @{ */
  37043. #define SNVS_LPGPR_ALIAS_GPR_MASK (0xFFFFFFFFU)
  37044. #define SNVS_LPGPR_ALIAS_GPR_SHIFT (0U)
  37045. #define SNVS_LPGPR_ALIAS_GPR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPGPR_ALIAS_GPR_SHIFT)) & SNVS_LPGPR_ALIAS_GPR_MASK)
  37046. /*! @} */
  37047. /* The count of SNVS_LPGPR_ALIAS */
  37048. #define SNVS_LPGPR_ALIAS_COUNT (4U)
  37049. /*! @name LPGPR - SNVS_LP General Purpose Registers 0 .. 7 */
  37050. /*! @{ */
  37051. #define SNVS_LPGPR_GPR_MASK (0xFFFFFFFFU)
  37052. #define SNVS_LPGPR_GPR_SHIFT (0U)
  37053. #define SNVS_LPGPR_GPR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPGPR_GPR_SHIFT)) & SNVS_LPGPR_GPR_MASK)
  37054. /*! @} */
  37055. /* The count of SNVS_LPGPR */
  37056. #define SNVS_LPGPR_COUNT (8U)
  37057. /*! @name HPVIDR1 - SNVS_HP Version ID Register 1 */
  37058. /*! @{ */
  37059. #define SNVS_HPVIDR1_MINOR_REV_MASK (0xFFU)
  37060. #define SNVS_HPVIDR1_MINOR_REV_SHIFT (0U)
  37061. #define SNVS_HPVIDR1_MINOR_REV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR1_MINOR_REV_SHIFT)) & SNVS_HPVIDR1_MINOR_REV_MASK)
  37062. #define SNVS_HPVIDR1_MAJOR_REV_MASK (0xFF00U)
  37063. #define SNVS_HPVIDR1_MAJOR_REV_SHIFT (8U)
  37064. #define SNVS_HPVIDR1_MAJOR_REV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR1_MAJOR_REV_SHIFT)) & SNVS_HPVIDR1_MAJOR_REV_MASK)
  37065. #define SNVS_HPVIDR1_IP_ID_MASK (0xFFFF0000U)
  37066. #define SNVS_HPVIDR1_IP_ID_SHIFT (16U)
  37067. #define SNVS_HPVIDR1_IP_ID(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR1_IP_ID_SHIFT)) & SNVS_HPVIDR1_IP_ID_MASK)
  37068. /*! @} */
  37069. /*! @name HPVIDR2 - SNVS_HP Version ID Register 2 */
  37070. /*! @{ */
  37071. #define SNVS_HPVIDR2_CONFIG_OPT_MASK (0xFFU)
  37072. #define SNVS_HPVIDR2_CONFIG_OPT_SHIFT (0U)
  37073. #define SNVS_HPVIDR2_CONFIG_OPT(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR2_CONFIG_OPT_SHIFT)) & SNVS_HPVIDR2_CONFIG_OPT_MASK)
  37074. #define SNVS_HPVIDR2_ECO_REV_MASK (0xFF00U)
  37075. #define SNVS_HPVIDR2_ECO_REV_SHIFT (8U)
  37076. #define SNVS_HPVIDR2_ECO_REV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR2_ECO_REV_SHIFT)) & SNVS_HPVIDR2_ECO_REV_MASK)
  37077. #define SNVS_HPVIDR2_INTG_OPT_MASK (0xFF0000U)
  37078. #define SNVS_HPVIDR2_INTG_OPT_SHIFT (16U)
  37079. #define SNVS_HPVIDR2_INTG_OPT(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR2_INTG_OPT_SHIFT)) & SNVS_HPVIDR2_INTG_OPT_MASK)
  37080. #define SNVS_HPVIDR2_IP_ERA_MASK (0xFF000000U)
  37081. #define SNVS_HPVIDR2_IP_ERA_SHIFT (24U)
  37082. #define SNVS_HPVIDR2_IP_ERA(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR2_IP_ERA_SHIFT)) & SNVS_HPVIDR2_IP_ERA_MASK)
  37083. /*! @} */
  37084. /*!
  37085. * @}
  37086. */ /* end of group SNVS_Register_Masks */
  37087. /* SNVS - Peripheral instance base addresses */
  37088. /** Peripheral SNVS base address */
  37089. #define SNVS_BASE (0x400D4000u)
  37090. /** Peripheral SNVS base pointer */
  37091. #define SNVS ((SNVS_Type *)SNVS_BASE)
  37092. /** Array initializer of SNVS peripheral base addresses */
  37093. #define SNVS_BASE_ADDRS { SNVS_BASE }
  37094. /** Array initializer of SNVS peripheral base pointers */
  37095. #define SNVS_BASE_PTRS { SNVS }
  37096. /** Interrupt vectors for the SNVS peripheral type */
  37097. #define SNVS_IRQS { SNVS_LP_WRAPPER_IRQn }
  37098. #define SNVS_CONSOLIDATED_IRQS { SNVS_HP_WRAPPER_IRQn }
  37099. #define SNVS_SECURITY_IRQS { SNVS_HP_WRAPPER_TZ_IRQn }
  37100. /*!
  37101. * @}
  37102. */ /* end of group SNVS_Peripheral_Access_Layer */
  37103. /* ----------------------------------------------------------------------------
  37104. -- SPDIF Peripheral Access Layer
  37105. ---------------------------------------------------------------------------- */
  37106. /*!
  37107. * @addtogroup SPDIF_Peripheral_Access_Layer SPDIF Peripheral Access Layer
  37108. * @{
  37109. */
  37110. /** SPDIF - Register Layout Typedef */
  37111. typedef struct {
  37112. __IO uint32_t SCR; /**< SPDIF Configuration Register, offset: 0x0 */
  37113. __IO uint32_t SRCD; /**< CDText Control Register, offset: 0x4 */
  37114. __IO uint32_t SRPC; /**< PhaseConfig Register, offset: 0x8 */
  37115. __IO uint32_t SIE; /**< InterruptEn Register, offset: 0xC */
  37116. union { /* offset: 0x10 */
  37117. __O uint32_t SIC; /**< InterruptClear Register, offset: 0x10 */
  37118. __I uint32_t SIS; /**< InterruptStat Register, offset: 0x10 */
  37119. };
  37120. __I uint32_t SRL; /**< SPDIFRxLeft Register, offset: 0x14 */
  37121. __I uint32_t SRR; /**< SPDIFRxRight Register, offset: 0x18 */
  37122. __I uint32_t SRCSH; /**< SPDIFRxCChannel_h Register, offset: 0x1C */
  37123. __I uint32_t SRCSL; /**< SPDIFRxCChannel_l Register, offset: 0x20 */
  37124. __I uint32_t SRU; /**< UchannelRx Register, offset: 0x24 */
  37125. __I uint32_t SRQ; /**< QchannelRx Register, offset: 0x28 */
  37126. __O uint32_t STL; /**< SPDIFTxLeft Register, offset: 0x2C */
  37127. __O uint32_t STR; /**< SPDIFTxRight Register, offset: 0x30 */
  37128. __IO uint32_t STCSCH; /**< SPDIFTxCChannelCons_h Register, offset: 0x34 */
  37129. __IO uint32_t STCSCL; /**< SPDIFTxCChannelCons_l Register, offset: 0x38 */
  37130. uint8_t RESERVED_0[8];
  37131. __I uint32_t SRFM; /**< FreqMeas Register, offset: 0x44 */
  37132. uint8_t RESERVED_1[8];
  37133. __IO uint32_t STC; /**< SPDIFTxClk Register, offset: 0x50 */
  37134. } SPDIF_Type;
  37135. /* ----------------------------------------------------------------------------
  37136. -- SPDIF Register Masks
  37137. ---------------------------------------------------------------------------- */
  37138. /*!
  37139. * @addtogroup SPDIF_Register_Masks SPDIF Register Masks
  37140. * @{
  37141. */
  37142. /*! @name SCR - SPDIF Configuration Register */
  37143. /*! @{ */
  37144. #define SPDIF_SCR_USRC_SEL_MASK (0x3U)
  37145. #define SPDIF_SCR_USRC_SEL_SHIFT (0U)
  37146. /*! USrc_Sel
  37147. * 0b00..No embedded U channel
  37148. * 0b01..U channel from SPDIF receive block (CD mode)
  37149. * 0b10..Reserved
  37150. * 0b11..U channel from on chip transmitter
  37151. */
  37152. #define SPDIF_SCR_USRC_SEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_USRC_SEL_SHIFT)) & SPDIF_SCR_USRC_SEL_MASK)
  37153. #define SPDIF_SCR_TXSEL_MASK (0x1CU)
  37154. #define SPDIF_SCR_TXSEL_SHIFT (2U)
  37155. /*! TxSel
  37156. * 0b000..Off and output 0
  37157. * 0b001..Feed-through SPDIFIN
  37158. * 0b101..Tx Normal operation
  37159. */
  37160. #define SPDIF_SCR_TXSEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_TXSEL_SHIFT)) & SPDIF_SCR_TXSEL_MASK)
  37161. #define SPDIF_SCR_VALCTRL_MASK (0x20U)
  37162. #define SPDIF_SCR_VALCTRL_SHIFT (5U)
  37163. /*! ValCtrl
  37164. * 0b0..Outgoing Validity always set
  37165. * 0b1..Outgoing Validity always clear
  37166. */
  37167. #define SPDIF_SCR_VALCTRL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_VALCTRL_SHIFT)) & SPDIF_SCR_VALCTRL_MASK)
  37168. #define SPDIF_SCR_DMA_TX_EN_MASK (0x100U)
  37169. #define SPDIF_SCR_DMA_TX_EN_SHIFT (8U)
  37170. #define SPDIF_SCR_DMA_TX_EN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_DMA_TX_EN_SHIFT)) & SPDIF_SCR_DMA_TX_EN_MASK)
  37171. #define SPDIF_SCR_DMA_RX_EN_MASK (0x200U)
  37172. #define SPDIF_SCR_DMA_RX_EN_SHIFT (9U)
  37173. #define SPDIF_SCR_DMA_RX_EN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_DMA_RX_EN_SHIFT)) & SPDIF_SCR_DMA_RX_EN_MASK)
  37174. #define SPDIF_SCR_TXFIFO_CTRL_MASK (0xC00U)
  37175. #define SPDIF_SCR_TXFIFO_CTRL_SHIFT (10U)
  37176. /*! TxFIFO_Ctrl
  37177. * 0b00..Send out digital zero on SPDIF Tx
  37178. * 0b01..Tx Normal operation
  37179. * 0b10..Reset to 1 sample remaining
  37180. * 0b11..Reserved
  37181. */
  37182. #define SPDIF_SCR_TXFIFO_CTRL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_TXFIFO_CTRL_SHIFT)) & SPDIF_SCR_TXFIFO_CTRL_MASK)
  37183. #define SPDIF_SCR_SOFT_RESET_MASK (0x1000U)
  37184. #define SPDIF_SCR_SOFT_RESET_SHIFT (12U)
  37185. #define SPDIF_SCR_SOFT_RESET(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_SOFT_RESET_SHIFT)) & SPDIF_SCR_SOFT_RESET_MASK)
  37186. #define SPDIF_SCR_LOW_POWER_MASK (0x2000U)
  37187. #define SPDIF_SCR_LOW_POWER_SHIFT (13U)
  37188. #define SPDIF_SCR_LOW_POWER(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_LOW_POWER_SHIFT)) & SPDIF_SCR_LOW_POWER_MASK)
  37189. #define SPDIF_SCR_TXFIFOEMPTY_SEL_MASK (0x18000U)
  37190. #define SPDIF_SCR_TXFIFOEMPTY_SEL_SHIFT (15U)
  37191. /*! TxFIFOEmpty_Sel
  37192. * 0b00..Empty interrupt if 0 sample in Tx left and right FIFOs
  37193. * 0b01..Empty interrupt if at most 4 sample in Tx left and right FIFOs
  37194. * 0b10..Empty interrupt if at most 8 sample in Tx left and right FIFOs
  37195. * 0b11..Empty interrupt if at most 12 sample in Tx left and right FIFOs
  37196. */
  37197. #define SPDIF_SCR_TXFIFOEMPTY_SEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_TXFIFOEMPTY_SEL_SHIFT)) & SPDIF_SCR_TXFIFOEMPTY_SEL_MASK)
  37198. #define SPDIF_SCR_TXAUTOSYNC_MASK (0x20000U)
  37199. #define SPDIF_SCR_TXAUTOSYNC_SHIFT (17U)
  37200. /*! TxAutoSync
  37201. * 0b0..Tx FIFO auto sync off
  37202. * 0b1..Tx FIFO auto sync on
  37203. */
  37204. #define SPDIF_SCR_TXAUTOSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_TXAUTOSYNC_SHIFT)) & SPDIF_SCR_TXAUTOSYNC_MASK)
  37205. #define SPDIF_SCR_RXAUTOSYNC_MASK (0x40000U)
  37206. #define SPDIF_SCR_RXAUTOSYNC_SHIFT (18U)
  37207. /*! RxAutoSync
  37208. * 0b0..Rx FIFO auto sync off
  37209. * 0b1..RxFIFO auto sync on
  37210. */
  37211. #define SPDIF_SCR_RXAUTOSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXAUTOSYNC_SHIFT)) & SPDIF_SCR_RXAUTOSYNC_MASK)
  37212. #define SPDIF_SCR_RXFIFOFULL_SEL_MASK (0x180000U)
  37213. #define SPDIF_SCR_RXFIFOFULL_SEL_SHIFT (19U)
  37214. /*! RxFIFOFull_Sel
  37215. * 0b00..Full interrupt if at least 1 sample in Rx left and right FIFOs
  37216. * 0b01..Full interrupt if at least 4 sample in Rx left and right FIFOs
  37217. * 0b10..Full interrupt if at least 8 sample in Rx left and right FIFOs
  37218. * 0b11..Full interrupt if at least 16 sample in Rx left and right FIFO
  37219. */
  37220. #define SPDIF_SCR_RXFIFOFULL_SEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXFIFOFULL_SEL_SHIFT)) & SPDIF_SCR_RXFIFOFULL_SEL_MASK)
  37221. #define SPDIF_SCR_RXFIFO_RST_MASK (0x200000U)
  37222. #define SPDIF_SCR_RXFIFO_RST_SHIFT (21U)
  37223. /*! RxFIFO_Rst
  37224. * 0b0..Normal operation
  37225. * 0b1..Reset register to 1 sample remaining
  37226. */
  37227. #define SPDIF_SCR_RXFIFO_RST(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXFIFO_RST_SHIFT)) & SPDIF_SCR_RXFIFO_RST_MASK)
  37228. #define SPDIF_SCR_RXFIFO_OFF_ON_MASK (0x400000U)
  37229. #define SPDIF_SCR_RXFIFO_OFF_ON_SHIFT (22U)
  37230. /*! RxFIFO_Off_On
  37231. * 0b0..SPDIF Rx FIFO is on
  37232. * 0b1..SPDIF Rx FIFO is off. Does not accept data from interface
  37233. */
  37234. #define SPDIF_SCR_RXFIFO_OFF_ON(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXFIFO_OFF_ON_SHIFT)) & SPDIF_SCR_RXFIFO_OFF_ON_MASK)
  37235. #define SPDIF_SCR_RXFIFO_CTRL_MASK (0x800000U)
  37236. #define SPDIF_SCR_RXFIFO_CTRL_SHIFT (23U)
  37237. /*! RxFIFO_Ctrl
  37238. * 0b0..Normal operation
  37239. * 0b1..Always read zero from Rx data register
  37240. */
  37241. #define SPDIF_SCR_RXFIFO_CTRL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXFIFO_CTRL_SHIFT)) & SPDIF_SCR_RXFIFO_CTRL_MASK)
  37242. /*! @} */
  37243. /*! @name SRCD - CDText Control Register */
  37244. /*! @{ */
  37245. #define SPDIF_SRCD_USYNCMODE_MASK (0x2U)
  37246. #define SPDIF_SRCD_USYNCMODE_SHIFT (1U)
  37247. /*! USyncMode
  37248. * 0b0..Non-CD data
  37249. * 0b1..CD user channel subcode
  37250. */
  37251. #define SPDIF_SRCD_USYNCMODE(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRCD_USYNCMODE_SHIFT)) & SPDIF_SRCD_USYNCMODE_MASK)
  37252. /*! @} */
  37253. /*! @name SRPC - PhaseConfig Register */
  37254. /*! @{ */
  37255. #define SPDIF_SRPC_GAINSEL_MASK (0x38U)
  37256. #define SPDIF_SRPC_GAINSEL_SHIFT (3U)
  37257. /*! GainSel
  37258. * 0b000..24*(2**10)
  37259. * 0b001..16*(2**10)
  37260. * 0b010..12*(2**10)
  37261. * 0b011..8*(2**10)
  37262. * 0b100..6*(2**10)
  37263. * 0b101..4*(2**10)
  37264. * 0b110..3*(2**10)
  37265. */
  37266. #define SPDIF_SRPC_GAINSEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRPC_GAINSEL_SHIFT)) & SPDIF_SRPC_GAINSEL_MASK)
  37267. #define SPDIF_SRPC_LOCK_MASK (0x40U)
  37268. #define SPDIF_SRPC_LOCK_SHIFT (6U)
  37269. #define SPDIF_SRPC_LOCK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRPC_LOCK_SHIFT)) & SPDIF_SRPC_LOCK_MASK)
  37270. #define SPDIF_SRPC_CLKSRC_SEL_MASK (0x780U)
  37271. #define SPDIF_SRPC_CLKSRC_SEL_SHIFT (7U)
  37272. /*! ClkSrc_Sel
  37273. * 0b0000..if (DPLL Locked) SPDIF_RxClk else REF_CLK_32K (XTALOSC)
  37274. * 0b0001..if (DPLL Locked) SPDIF_RxClk else tx_clk (SPDIF0_CLK_ROOT)
  37275. * 0b0011..if (DPLL Locked) SPDIF_RxClk else SPDIF_EXT_CLK
  37276. * 0b0101..REF_CLK_32K (XTALOSC)
  37277. * 0b0110..tx_clk (SPDIF0_CLK_ROOT)
  37278. * 0b1000..SPDIF_EXT_CLK
  37279. */
  37280. #define SPDIF_SRPC_CLKSRC_SEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRPC_CLKSRC_SEL_SHIFT)) & SPDIF_SRPC_CLKSRC_SEL_MASK)
  37281. /*! @} */
  37282. /*! @name SIE - InterruptEn Register */
  37283. /*! @{ */
  37284. #define SPDIF_SIE_RXFIFOFUL_MASK (0x1U)
  37285. #define SPDIF_SIE_RXFIFOFUL_SHIFT (0U)
  37286. #define SPDIF_SIE_RXFIFOFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_RXFIFOFUL_SHIFT)) & SPDIF_SIE_RXFIFOFUL_MASK)
  37287. #define SPDIF_SIE_TXEM_MASK (0x2U)
  37288. #define SPDIF_SIE_TXEM_SHIFT (1U)
  37289. #define SPDIF_SIE_TXEM(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_TXEM_SHIFT)) & SPDIF_SIE_TXEM_MASK)
  37290. #define SPDIF_SIE_LOCKLOSS_MASK (0x4U)
  37291. #define SPDIF_SIE_LOCKLOSS_SHIFT (2U)
  37292. #define SPDIF_SIE_LOCKLOSS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_LOCKLOSS_SHIFT)) & SPDIF_SIE_LOCKLOSS_MASK)
  37293. #define SPDIF_SIE_RXFIFORESYN_MASK (0x8U)
  37294. #define SPDIF_SIE_RXFIFORESYN_SHIFT (3U)
  37295. #define SPDIF_SIE_RXFIFORESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_RXFIFORESYN_SHIFT)) & SPDIF_SIE_RXFIFORESYN_MASK)
  37296. #define SPDIF_SIE_RXFIFOUNOV_MASK (0x10U)
  37297. #define SPDIF_SIE_RXFIFOUNOV_SHIFT (4U)
  37298. #define SPDIF_SIE_RXFIFOUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_RXFIFOUNOV_SHIFT)) & SPDIF_SIE_RXFIFOUNOV_MASK)
  37299. #define SPDIF_SIE_UQERR_MASK (0x20U)
  37300. #define SPDIF_SIE_UQERR_SHIFT (5U)
  37301. #define SPDIF_SIE_UQERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_UQERR_SHIFT)) & SPDIF_SIE_UQERR_MASK)
  37302. #define SPDIF_SIE_UQSYNC_MASK (0x40U)
  37303. #define SPDIF_SIE_UQSYNC_SHIFT (6U)
  37304. #define SPDIF_SIE_UQSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_UQSYNC_SHIFT)) & SPDIF_SIE_UQSYNC_MASK)
  37305. #define SPDIF_SIE_QRXOV_MASK (0x80U)
  37306. #define SPDIF_SIE_QRXOV_SHIFT (7U)
  37307. #define SPDIF_SIE_QRXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_QRXOV_SHIFT)) & SPDIF_SIE_QRXOV_MASK)
  37308. #define SPDIF_SIE_QRXFUL_MASK (0x100U)
  37309. #define SPDIF_SIE_QRXFUL_SHIFT (8U)
  37310. #define SPDIF_SIE_QRXFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_QRXFUL_SHIFT)) & SPDIF_SIE_QRXFUL_MASK)
  37311. #define SPDIF_SIE_URXOV_MASK (0x200U)
  37312. #define SPDIF_SIE_URXOV_SHIFT (9U)
  37313. #define SPDIF_SIE_URXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_URXOV_SHIFT)) & SPDIF_SIE_URXOV_MASK)
  37314. #define SPDIF_SIE_URXFUL_MASK (0x400U)
  37315. #define SPDIF_SIE_URXFUL_SHIFT (10U)
  37316. #define SPDIF_SIE_URXFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_URXFUL_SHIFT)) & SPDIF_SIE_URXFUL_MASK)
  37317. #define SPDIF_SIE_BITERR_MASK (0x4000U)
  37318. #define SPDIF_SIE_BITERR_SHIFT (14U)
  37319. #define SPDIF_SIE_BITERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_BITERR_SHIFT)) & SPDIF_SIE_BITERR_MASK)
  37320. #define SPDIF_SIE_SYMERR_MASK (0x8000U)
  37321. #define SPDIF_SIE_SYMERR_SHIFT (15U)
  37322. #define SPDIF_SIE_SYMERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_SYMERR_SHIFT)) & SPDIF_SIE_SYMERR_MASK)
  37323. #define SPDIF_SIE_VALNOGOOD_MASK (0x10000U)
  37324. #define SPDIF_SIE_VALNOGOOD_SHIFT (16U)
  37325. #define SPDIF_SIE_VALNOGOOD(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_VALNOGOOD_SHIFT)) & SPDIF_SIE_VALNOGOOD_MASK)
  37326. #define SPDIF_SIE_CNEW_MASK (0x20000U)
  37327. #define SPDIF_SIE_CNEW_SHIFT (17U)
  37328. #define SPDIF_SIE_CNEW(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_CNEW_SHIFT)) & SPDIF_SIE_CNEW_MASK)
  37329. #define SPDIF_SIE_TXRESYN_MASK (0x40000U)
  37330. #define SPDIF_SIE_TXRESYN_SHIFT (18U)
  37331. #define SPDIF_SIE_TXRESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_TXRESYN_SHIFT)) & SPDIF_SIE_TXRESYN_MASK)
  37332. #define SPDIF_SIE_TXUNOV_MASK (0x80000U)
  37333. #define SPDIF_SIE_TXUNOV_SHIFT (19U)
  37334. #define SPDIF_SIE_TXUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_TXUNOV_SHIFT)) & SPDIF_SIE_TXUNOV_MASK)
  37335. #define SPDIF_SIE_LOCK_MASK (0x100000U)
  37336. #define SPDIF_SIE_LOCK_SHIFT (20U)
  37337. #define SPDIF_SIE_LOCK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_LOCK_SHIFT)) & SPDIF_SIE_LOCK_MASK)
  37338. /*! @} */
  37339. /*! @name SIC - InterruptClear Register */
  37340. /*! @{ */
  37341. #define SPDIF_SIC_LOCKLOSS_MASK (0x4U)
  37342. #define SPDIF_SIC_LOCKLOSS_SHIFT (2U)
  37343. #define SPDIF_SIC_LOCKLOSS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_LOCKLOSS_SHIFT)) & SPDIF_SIC_LOCKLOSS_MASK)
  37344. #define SPDIF_SIC_RXFIFORESYN_MASK (0x8U)
  37345. #define SPDIF_SIC_RXFIFORESYN_SHIFT (3U)
  37346. #define SPDIF_SIC_RXFIFORESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_RXFIFORESYN_SHIFT)) & SPDIF_SIC_RXFIFORESYN_MASK)
  37347. #define SPDIF_SIC_RXFIFOUNOV_MASK (0x10U)
  37348. #define SPDIF_SIC_RXFIFOUNOV_SHIFT (4U)
  37349. #define SPDIF_SIC_RXFIFOUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_RXFIFOUNOV_SHIFT)) & SPDIF_SIC_RXFIFOUNOV_MASK)
  37350. #define SPDIF_SIC_UQERR_MASK (0x20U)
  37351. #define SPDIF_SIC_UQERR_SHIFT (5U)
  37352. #define SPDIF_SIC_UQERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_UQERR_SHIFT)) & SPDIF_SIC_UQERR_MASK)
  37353. #define SPDIF_SIC_UQSYNC_MASK (0x40U)
  37354. #define SPDIF_SIC_UQSYNC_SHIFT (6U)
  37355. #define SPDIF_SIC_UQSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_UQSYNC_SHIFT)) & SPDIF_SIC_UQSYNC_MASK)
  37356. #define SPDIF_SIC_QRXOV_MASK (0x80U)
  37357. #define SPDIF_SIC_QRXOV_SHIFT (7U)
  37358. #define SPDIF_SIC_QRXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_QRXOV_SHIFT)) & SPDIF_SIC_QRXOV_MASK)
  37359. #define SPDIF_SIC_URXOV_MASK (0x200U)
  37360. #define SPDIF_SIC_URXOV_SHIFT (9U)
  37361. #define SPDIF_SIC_URXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_URXOV_SHIFT)) & SPDIF_SIC_URXOV_MASK)
  37362. #define SPDIF_SIC_BITERR_MASK (0x4000U)
  37363. #define SPDIF_SIC_BITERR_SHIFT (14U)
  37364. #define SPDIF_SIC_BITERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_BITERR_SHIFT)) & SPDIF_SIC_BITERR_MASK)
  37365. #define SPDIF_SIC_SYMERR_MASK (0x8000U)
  37366. #define SPDIF_SIC_SYMERR_SHIFT (15U)
  37367. #define SPDIF_SIC_SYMERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_SYMERR_SHIFT)) & SPDIF_SIC_SYMERR_MASK)
  37368. #define SPDIF_SIC_VALNOGOOD_MASK (0x10000U)
  37369. #define SPDIF_SIC_VALNOGOOD_SHIFT (16U)
  37370. #define SPDIF_SIC_VALNOGOOD(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_VALNOGOOD_SHIFT)) & SPDIF_SIC_VALNOGOOD_MASK)
  37371. #define SPDIF_SIC_CNEW_MASK (0x20000U)
  37372. #define SPDIF_SIC_CNEW_SHIFT (17U)
  37373. #define SPDIF_SIC_CNEW(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_CNEW_SHIFT)) & SPDIF_SIC_CNEW_MASK)
  37374. #define SPDIF_SIC_TXRESYN_MASK (0x40000U)
  37375. #define SPDIF_SIC_TXRESYN_SHIFT (18U)
  37376. #define SPDIF_SIC_TXRESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_TXRESYN_SHIFT)) & SPDIF_SIC_TXRESYN_MASK)
  37377. #define SPDIF_SIC_TXUNOV_MASK (0x80000U)
  37378. #define SPDIF_SIC_TXUNOV_SHIFT (19U)
  37379. #define SPDIF_SIC_TXUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_TXUNOV_SHIFT)) & SPDIF_SIC_TXUNOV_MASK)
  37380. #define SPDIF_SIC_LOCK_MASK (0x100000U)
  37381. #define SPDIF_SIC_LOCK_SHIFT (20U)
  37382. #define SPDIF_SIC_LOCK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_LOCK_SHIFT)) & SPDIF_SIC_LOCK_MASK)
  37383. /*! @} */
  37384. /*! @name SIS - InterruptStat Register */
  37385. /*! @{ */
  37386. #define SPDIF_SIS_RXFIFOFUL_MASK (0x1U)
  37387. #define SPDIF_SIS_RXFIFOFUL_SHIFT (0U)
  37388. #define SPDIF_SIS_RXFIFOFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_RXFIFOFUL_SHIFT)) & SPDIF_SIS_RXFIFOFUL_MASK)
  37389. #define SPDIF_SIS_TXEM_MASK (0x2U)
  37390. #define SPDIF_SIS_TXEM_SHIFT (1U)
  37391. #define SPDIF_SIS_TXEM(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_TXEM_SHIFT)) & SPDIF_SIS_TXEM_MASK)
  37392. #define SPDIF_SIS_LOCKLOSS_MASK (0x4U)
  37393. #define SPDIF_SIS_LOCKLOSS_SHIFT (2U)
  37394. #define SPDIF_SIS_LOCKLOSS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_LOCKLOSS_SHIFT)) & SPDIF_SIS_LOCKLOSS_MASK)
  37395. #define SPDIF_SIS_RXFIFORESYN_MASK (0x8U)
  37396. #define SPDIF_SIS_RXFIFORESYN_SHIFT (3U)
  37397. #define SPDIF_SIS_RXFIFORESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_RXFIFORESYN_SHIFT)) & SPDIF_SIS_RXFIFORESYN_MASK)
  37398. #define SPDIF_SIS_RXFIFOUNOV_MASK (0x10U)
  37399. #define SPDIF_SIS_RXFIFOUNOV_SHIFT (4U)
  37400. #define SPDIF_SIS_RXFIFOUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_RXFIFOUNOV_SHIFT)) & SPDIF_SIS_RXFIFOUNOV_MASK)
  37401. #define SPDIF_SIS_UQERR_MASK (0x20U)
  37402. #define SPDIF_SIS_UQERR_SHIFT (5U)
  37403. #define SPDIF_SIS_UQERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_UQERR_SHIFT)) & SPDIF_SIS_UQERR_MASK)
  37404. #define SPDIF_SIS_UQSYNC_MASK (0x40U)
  37405. #define SPDIF_SIS_UQSYNC_SHIFT (6U)
  37406. #define SPDIF_SIS_UQSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_UQSYNC_SHIFT)) & SPDIF_SIS_UQSYNC_MASK)
  37407. #define SPDIF_SIS_QRXOV_MASK (0x80U)
  37408. #define SPDIF_SIS_QRXOV_SHIFT (7U)
  37409. #define SPDIF_SIS_QRXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_QRXOV_SHIFT)) & SPDIF_SIS_QRXOV_MASK)
  37410. #define SPDIF_SIS_QRXFUL_MASK (0x100U)
  37411. #define SPDIF_SIS_QRXFUL_SHIFT (8U)
  37412. #define SPDIF_SIS_QRXFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_QRXFUL_SHIFT)) & SPDIF_SIS_QRXFUL_MASK)
  37413. #define SPDIF_SIS_URXOV_MASK (0x200U)
  37414. #define SPDIF_SIS_URXOV_SHIFT (9U)
  37415. #define SPDIF_SIS_URXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_URXOV_SHIFT)) & SPDIF_SIS_URXOV_MASK)
  37416. #define SPDIF_SIS_URXFUL_MASK (0x400U)
  37417. #define SPDIF_SIS_URXFUL_SHIFT (10U)
  37418. #define SPDIF_SIS_URXFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_URXFUL_SHIFT)) & SPDIF_SIS_URXFUL_MASK)
  37419. #define SPDIF_SIS_BITERR_MASK (0x4000U)
  37420. #define SPDIF_SIS_BITERR_SHIFT (14U)
  37421. #define SPDIF_SIS_BITERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_BITERR_SHIFT)) & SPDIF_SIS_BITERR_MASK)
  37422. #define SPDIF_SIS_SYMERR_MASK (0x8000U)
  37423. #define SPDIF_SIS_SYMERR_SHIFT (15U)
  37424. #define SPDIF_SIS_SYMERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_SYMERR_SHIFT)) & SPDIF_SIS_SYMERR_MASK)
  37425. #define SPDIF_SIS_VALNOGOOD_MASK (0x10000U)
  37426. #define SPDIF_SIS_VALNOGOOD_SHIFT (16U)
  37427. #define SPDIF_SIS_VALNOGOOD(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_VALNOGOOD_SHIFT)) & SPDIF_SIS_VALNOGOOD_MASK)
  37428. #define SPDIF_SIS_CNEW_MASK (0x20000U)
  37429. #define SPDIF_SIS_CNEW_SHIFT (17U)
  37430. #define SPDIF_SIS_CNEW(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_CNEW_SHIFT)) & SPDIF_SIS_CNEW_MASK)
  37431. #define SPDIF_SIS_TXRESYN_MASK (0x40000U)
  37432. #define SPDIF_SIS_TXRESYN_SHIFT (18U)
  37433. #define SPDIF_SIS_TXRESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_TXRESYN_SHIFT)) & SPDIF_SIS_TXRESYN_MASK)
  37434. #define SPDIF_SIS_TXUNOV_MASK (0x80000U)
  37435. #define SPDIF_SIS_TXUNOV_SHIFT (19U)
  37436. #define SPDIF_SIS_TXUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_TXUNOV_SHIFT)) & SPDIF_SIS_TXUNOV_MASK)
  37437. #define SPDIF_SIS_LOCK_MASK (0x100000U)
  37438. #define SPDIF_SIS_LOCK_SHIFT (20U)
  37439. #define SPDIF_SIS_LOCK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_LOCK_SHIFT)) & SPDIF_SIS_LOCK_MASK)
  37440. /*! @} */
  37441. /*! @name SRL - SPDIFRxLeft Register */
  37442. /*! @{ */
  37443. #define SPDIF_SRL_RXDATALEFT_MASK (0xFFFFFFU)
  37444. #define SPDIF_SRL_RXDATALEFT_SHIFT (0U)
  37445. #define SPDIF_SRL_RXDATALEFT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRL_RXDATALEFT_SHIFT)) & SPDIF_SRL_RXDATALEFT_MASK)
  37446. /*! @} */
  37447. /*! @name SRR - SPDIFRxRight Register */
  37448. /*! @{ */
  37449. #define SPDIF_SRR_RXDATARIGHT_MASK (0xFFFFFFU)
  37450. #define SPDIF_SRR_RXDATARIGHT_SHIFT (0U)
  37451. #define SPDIF_SRR_RXDATARIGHT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRR_RXDATARIGHT_SHIFT)) & SPDIF_SRR_RXDATARIGHT_MASK)
  37452. /*! @} */
  37453. /*! @name SRCSH - SPDIFRxCChannel_h Register */
  37454. /*! @{ */
  37455. #define SPDIF_SRCSH_RXCCHANNEL_H_MASK (0xFFFFFFU)
  37456. #define SPDIF_SRCSH_RXCCHANNEL_H_SHIFT (0U)
  37457. #define SPDIF_SRCSH_RXCCHANNEL_H(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRCSH_RXCCHANNEL_H_SHIFT)) & SPDIF_SRCSH_RXCCHANNEL_H_MASK)
  37458. /*! @} */
  37459. /*! @name SRCSL - SPDIFRxCChannel_l Register */
  37460. /*! @{ */
  37461. #define SPDIF_SRCSL_RXCCHANNEL_L_MASK (0xFFFFFFU)
  37462. #define SPDIF_SRCSL_RXCCHANNEL_L_SHIFT (0U)
  37463. #define SPDIF_SRCSL_RXCCHANNEL_L(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRCSL_RXCCHANNEL_L_SHIFT)) & SPDIF_SRCSL_RXCCHANNEL_L_MASK)
  37464. /*! @} */
  37465. /*! @name SRU - UchannelRx Register */
  37466. /*! @{ */
  37467. #define SPDIF_SRU_RXUCHANNEL_MASK (0xFFFFFFU)
  37468. #define SPDIF_SRU_RXUCHANNEL_SHIFT (0U)
  37469. #define SPDIF_SRU_RXUCHANNEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRU_RXUCHANNEL_SHIFT)) & SPDIF_SRU_RXUCHANNEL_MASK)
  37470. /*! @} */
  37471. /*! @name SRQ - QchannelRx Register */
  37472. /*! @{ */
  37473. #define SPDIF_SRQ_RXQCHANNEL_MASK (0xFFFFFFU)
  37474. #define SPDIF_SRQ_RXQCHANNEL_SHIFT (0U)
  37475. #define SPDIF_SRQ_RXQCHANNEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRQ_RXQCHANNEL_SHIFT)) & SPDIF_SRQ_RXQCHANNEL_MASK)
  37476. /*! @} */
  37477. /*! @name STL - SPDIFTxLeft Register */
  37478. /*! @{ */
  37479. #define SPDIF_STL_TXDATALEFT_MASK (0xFFFFFFU)
  37480. #define SPDIF_STL_TXDATALEFT_SHIFT (0U)
  37481. #define SPDIF_STL_TXDATALEFT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STL_TXDATALEFT_SHIFT)) & SPDIF_STL_TXDATALEFT_MASK)
  37482. /*! @} */
  37483. /*! @name STR - SPDIFTxRight Register */
  37484. /*! @{ */
  37485. #define SPDIF_STR_TXDATARIGHT_MASK (0xFFFFFFU)
  37486. #define SPDIF_STR_TXDATARIGHT_SHIFT (0U)
  37487. #define SPDIF_STR_TXDATARIGHT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STR_TXDATARIGHT_SHIFT)) & SPDIF_STR_TXDATARIGHT_MASK)
  37488. /*! @} */
  37489. /*! @name STCSCH - SPDIFTxCChannelCons_h Register */
  37490. /*! @{ */
  37491. #define SPDIF_STCSCH_TXCCHANNELCONS_H_MASK (0xFFFFFFU)
  37492. #define SPDIF_STCSCH_TXCCHANNELCONS_H_SHIFT (0U)
  37493. #define SPDIF_STCSCH_TXCCHANNELCONS_H(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STCSCH_TXCCHANNELCONS_H_SHIFT)) & SPDIF_STCSCH_TXCCHANNELCONS_H_MASK)
  37494. /*! @} */
  37495. /*! @name STCSCL - SPDIFTxCChannelCons_l Register */
  37496. /*! @{ */
  37497. #define SPDIF_STCSCL_TXCCHANNELCONS_L_MASK (0xFFFFFFU)
  37498. #define SPDIF_STCSCL_TXCCHANNELCONS_L_SHIFT (0U)
  37499. #define SPDIF_STCSCL_TXCCHANNELCONS_L(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STCSCL_TXCCHANNELCONS_L_SHIFT)) & SPDIF_STCSCL_TXCCHANNELCONS_L_MASK)
  37500. /*! @} */
  37501. /*! @name SRFM - FreqMeas Register */
  37502. /*! @{ */
  37503. #define SPDIF_SRFM_FREQMEAS_MASK (0xFFFFFFU)
  37504. #define SPDIF_SRFM_FREQMEAS_SHIFT (0U)
  37505. #define SPDIF_SRFM_FREQMEAS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRFM_FREQMEAS_SHIFT)) & SPDIF_SRFM_FREQMEAS_MASK)
  37506. /*! @} */
  37507. /*! @name STC - SPDIFTxClk Register */
  37508. /*! @{ */
  37509. #define SPDIF_STC_TXCLK_DF_MASK (0x7FU)
  37510. #define SPDIF_STC_TXCLK_DF_SHIFT (0U)
  37511. /*! TxClk_DF
  37512. * 0b0000000..divider factor is 1
  37513. * 0b0000001..divider factor is 2
  37514. * 0b1111111..divider factor is 128
  37515. */
  37516. #define SPDIF_STC_TXCLK_DF(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STC_TXCLK_DF_SHIFT)) & SPDIF_STC_TXCLK_DF_MASK)
  37517. #define SPDIF_STC_TX_ALL_CLK_EN_MASK (0x80U)
  37518. #define SPDIF_STC_TX_ALL_CLK_EN_SHIFT (7U)
  37519. /*! tx_all_clk_en
  37520. * 0b0..disable transfer clock.
  37521. * 0b1..enable transfer clock.
  37522. */
  37523. #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)
  37524. #define SPDIF_STC_TXCLK_SOURCE_MASK (0x700U)
  37525. #define SPDIF_STC_TXCLK_SOURCE_SHIFT (8U)
  37526. /*! TxClk_Source
  37527. * 0b000..XTALOSC input (XTALOSC clock)
  37528. * 0b001..tx_clk input (from SPDIF0_CLK_ROOT. See CCM.)
  37529. * 0b010..tx_clk1 (from SAI1)
  37530. * 0b011..tx_clk2 SPDIF_EXT_CLK, from pads
  37531. * 0b100..tx_clk3 (from SAI2)
  37532. * 0b101..ipg_clk input (frequency divided)
  37533. * 0b110..tx_clk4 (from SAI3)
  37534. */
  37535. #define SPDIF_STC_TXCLK_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STC_TXCLK_SOURCE_SHIFT)) & SPDIF_STC_TXCLK_SOURCE_MASK)
  37536. #define SPDIF_STC_SYSCLK_DF_MASK (0xFF800U)
  37537. #define SPDIF_STC_SYSCLK_DF_SHIFT (11U)
  37538. /*! SYSCLK_DF
  37539. * 0b000000000..no clock signal
  37540. * 0b000000001..divider factor is 2
  37541. * 0b111111111..divider factor is 512
  37542. */
  37543. #define SPDIF_STC_SYSCLK_DF(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STC_SYSCLK_DF_SHIFT)) & SPDIF_STC_SYSCLK_DF_MASK)
  37544. /*! @} */
  37545. /*!
  37546. * @}
  37547. */ /* end of group SPDIF_Register_Masks */
  37548. /* SPDIF - Peripheral instance base addresses */
  37549. /** Peripheral SPDIF base address */
  37550. #define SPDIF_BASE (0x40380000u)
  37551. /** Peripheral SPDIF base pointer */
  37552. #define SPDIF ((SPDIF_Type *)SPDIF_BASE)
  37553. /** Array initializer of SPDIF peripheral base addresses */
  37554. #define SPDIF_BASE_ADDRS { SPDIF_BASE }
  37555. /** Array initializer of SPDIF peripheral base pointers */
  37556. #define SPDIF_BASE_PTRS { SPDIF }
  37557. /** Interrupt vectors for the SPDIF peripheral type */
  37558. #define SPDIF_IRQS { SPDIF_IRQn }
  37559. /*!
  37560. * @}
  37561. */ /* end of group SPDIF_Peripheral_Access_Layer */
  37562. /* ----------------------------------------------------------------------------
  37563. -- SRC Peripheral Access Layer
  37564. ---------------------------------------------------------------------------- */
  37565. /*!
  37566. * @addtogroup SRC_Peripheral_Access_Layer SRC Peripheral Access Layer
  37567. * @{
  37568. */
  37569. /** SRC - Register Layout Typedef */
  37570. typedef struct {
  37571. __IO uint32_t SCR; /**< SRC Control Register, offset: 0x0 */
  37572. __I uint32_t SBMR1; /**< SRC Boot Mode Register 1, offset: 0x4 */
  37573. __IO uint32_t SRSR; /**< SRC Reset Status Register, offset: 0x8 */
  37574. uint8_t RESERVED_0[16];
  37575. __I uint32_t SBMR2; /**< SRC Boot Mode Register 2, offset: 0x1C */
  37576. __IO uint32_t GPR[10]; /**< SRC General Purpose Register 1..SRC General Purpose Register 10, array offset: 0x20, array step: 0x4 */
  37577. } SRC_Type;
  37578. /* ----------------------------------------------------------------------------
  37579. -- SRC Register Masks
  37580. ---------------------------------------------------------------------------- */
  37581. /*!
  37582. * @addtogroup SRC_Register_Masks SRC Register Masks
  37583. * @{
  37584. */
  37585. /*! @name SCR - SRC Control Register */
  37586. /*! @{ */
  37587. #define SRC_SCR_MASK_WDOG_RST_MASK (0x780U)
  37588. #define SRC_SCR_MASK_WDOG_RST_SHIFT (7U)
  37589. /*! mask_wdog_rst
  37590. * 0b0101..wdog_rst_b is masked
  37591. * 0b1010..wdog_rst_b is not masked (default)
  37592. */
  37593. #define SRC_SCR_MASK_WDOG_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_SCR_MASK_WDOG_RST_SHIFT)) & SRC_SCR_MASK_WDOG_RST_MASK)
  37594. #define SRC_SCR_CORE0_RST_MASK (0x2000U)
  37595. #define SRC_SCR_CORE0_RST_SHIFT (13U)
  37596. /*! core0_rst
  37597. * 0b0..do not assert core0 reset
  37598. * 0b1..assert core0 reset
  37599. */
  37600. #define SRC_SCR_CORE0_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_SCR_CORE0_RST_SHIFT)) & SRC_SCR_CORE0_RST_MASK)
  37601. #define SRC_SCR_CORE0_DBG_RST_MASK (0x20000U)
  37602. #define SRC_SCR_CORE0_DBG_RST_SHIFT (17U)
  37603. /*! core0_dbg_rst
  37604. * 0b0..do not assert core0 debug reset
  37605. * 0b1..assert core0 debug reset
  37606. */
  37607. #define SRC_SCR_CORE0_DBG_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_SCR_CORE0_DBG_RST_SHIFT)) & SRC_SCR_CORE0_DBG_RST_MASK)
  37608. #define SRC_SCR_DBG_RST_MSK_PG_MASK (0x2000000U)
  37609. #define SRC_SCR_DBG_RST_MSK_PG_SHIFT (25U)
  37610. /*! dbg_rst_msk_pg
  37611. * 0b0..do not mask core debug resets (debug resets will be asserted after power gating event)
  37612. * 0b1..mask core debug resets (debug resets won't be asserted after power gating event)
  37613. */
  37614. #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)
  37615. #define SRC_SCR_MASK_WDOG3_RST_MASK (0xF0000000U)
  37616. #define SRC_SCR_MASK_WDOG3_RST_SHIFT (28U)
  37617. /*! mask_wdog3_rst
  37618. * 0b0101..wdog3_rst_b is masked
  37619. * 0b1010..wdog3_rst_b is not masked
  37620. */
  37621. #define SRC_SCR_MASK_WDOG3_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_SCR_MASK_WDOG3_RST_SHIFT)) & SRC_SCR_MASK_WDOG3_RST_MASK)
  37622. /*! @} */
  37623. /*! @name SBMR1 - SRC Boot Mode Register 1 */
  37624. /*! @{ */
  37625. #define SRC_SBMR1_BOOT_CFG1_MASK (0xFFU)
  37626. #define SRC_SBMR1_BOOT_CFG1_SHIFT (0U)
  37627. #define SRC_SBMR1_BOOT_CFG1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR1_BOOT_CFG1_SHIFT)) & SRC_SBMR1_BOOT_CFG1_MASK)
  37628. #define SRC_SBMR1_BOOT_CFG2_MASK (0xFF00U)
  37629. #define SRC_SBMR1_BOOT_CFG2_SHIFT (8U)
  37630. #define SRC_SBMR1_BOOT_CFG2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR1_BOOT_CFG2_SHIFT)) & SRC_SBMR1_BOOT_CFG2_MASK)
  37631. #define SRC_SBMR1_BOOT_CFG3_MASK (0xFF0000U)
  37632. #define SRC_SBMR1_BOOT_CFG3_SHIFT (16U)
  37633. #define SRC_SBMR1_BOOT_CFG3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR1_BOOT_CFG3_SHIFT)) & SRC_SBMR1_BOOT_CFG3_MASK)
  37634. #define SRC_SBMR1_BOOT_CFG4_MASK (0xFF000000U)
  37635. #define SRC_SBMR1_BOOT_CFG4_SHIFT (24U)
  37636. #define SRC_SBMR1_BOOT_CFG4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR1_BOOT_CFG4_SHIFT)) & SRC_SBMR1_BOOT_CFG4_MASK)
  37637. /*! @} */
  37638. /*! @name SRSR - SRC Reset Status Register */
  37639. /*! @{ */
  37640. #define SRC_SRSR_IPP_RESET_B_MASK (0x1U)
  37641. #define SRC_SRSR_IPP_RESET_B_SHIFT (0U)
  37642. /*! ipp_reset_b
  37643. * 0b0..Reset is not a result of ipp_reset_b pin.
  37644. * 0b1..Reset is a result of ipp_reset_b pin.
  37645. */
  37646. #define SRC_SRSR_IPP_RESET_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_IPP_RESET_B_SHIFT)) & SRC_SRSR_IPP_RESET_B_MASK)
  37647. #define SRC_SRSR_LOCKUP_SYSRESETREQ_MASK (0x2U)
  37648. #define SRC_SRSR_LOCKUP_SYSRESETREQ_SHIFT (1U)
  37649. /*! lockup_sysresetreq
  37650. * 0b0..Reset is not a result of the mentioned case.
  37651. * 0b1..Reset is a result of the mentioned case.
  37652. */
  37653. #define SRC_SRSR_LOCKUP_SYSRESETREQ(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_LOCKUP_SYSRESETREQ_SHIFT)) & SRC_SRSR_LOCKUP_SYSRESETREQ_MASK)
  37654. #define SRC_SRSR_CSU_RESET_B_MASK (0x4U)
  37655. #define SRC_SRSR_CSU_RESET_B_SHIFT (2U)
  37656. /*! csu_reset_b
  37657. * 0b0..Reset is not a result of the csu_reset_b event.
  37658. * 0b1..Reset is a result of the csu_reset_b event.
  37659. */
  37660. #define SRC_SRSR_CSU_RESET_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_CSU_RESET_B_SHIFT)) & SRC_SRSR_CSU_RESET_B_MASK)
  37661. #define SRC_SRSR_IPP_USER_RESET_B_MASK (0x8U)
  37662. #define SRC_SRSR_IPP_USER_RESET_B_SHIFT (3U)
  37663. /*! ipp_user_reset_b
  37664. * 0b0..Reset is not a result of the ipp_user_reset_b qualified as COLD reset event.
  37665. * 0b1..Reset is a result of the ipp_user_reset_b qualified as COLD reset event.
  37666. */
  37667. #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)
  37668. #define SRC_SRSR_WDOG_RST_B_MASK (0x10U)
  37669. #define SRC_SRSR_WDOG_RST_B_SHIFT (4U)
  37670. /*! wdog_rst_b
  37671. * 0b0..Reset is not a result of the watchdog time-out event.
  37672. * 0b1..Reset is a result of the watchdog time-out event.
  37673. */
  37674. #define SRC_SRSR_WDOG_RST_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_WDOG_RST_B_SHIFT)) & SRC_SRSR_WDOG_RST_B_MASK)
  37675. #define SRC_SRSR_JTAG_RST_B_MASK (0x20U)
  37676. #define SRC_SRSR_JTAG_RST_B_SHIFT (5U)
  37677. /*! jtag_rst_b
  37678. * 0b0..Reset is not a result of HIGH-Z reset from JTAG.
  37679. * 0b1..Reset is a result of HIGH-Z reset from JTAG.
  37680. */
  37681. #define SRC_SRSR_JTAG_RST_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_JTAG_RST_B_SHIFT)) & SRC_SRSR_JTAG_RST_B_MASK)
  37682. #define SRC_SRSR_JTAG_SW_RST_MASK (0x40U)
  37683. #define SRC_SRSR_JTAG_SW_RST_SHIFT (6U)
  37684. /*! jtag_sw_rst
  37685. * 0b0..Reset is not a result of software reset from JTAG.
  37686. * 0b1..Reset is a result of software reset from JTAG.
  37687. */
  37688. #define SRC_SRSR_JTAG_SW_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_JTAG_SW_RST_SHIFT)) & SRC_SRSR_JTAG_SW_RST_MASK)
  37689. #define SRC_SRSR_WDOG3_RST_B_MASK (0x80U)
  37690. #define SRC_SRSR_WDOG3_RST_B_SHIFT (7U)
  37691. /*! wdog3_rst_b
  37692. * 0b0..Reset is not a result of the watchdog3 time-out event.
  37693. * 0b1..Reset is a result of the watchdog3 time-out event.
  37694. */
  37695. #define SRC_SRSR_WDOG3_RST_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_WDOG3_RST_B_SHIFT)) & SRC_SRSR_WDOG3_RST_B_MASK)
  37696. #define SRC_SRSR_TEMPSENSE_RST_B_MASK (0x100U)
  37697. #define SRC_SRSR_TEMPSENSE_RST_B_SHIFT (8U)
  37698. /*! tempsense_rst_b
  37699. * 0b0..Reset is not a result of software reset from Temperature Sensor.
  37700. * 0b1..Reset is a result of software reset from Temperature Sensor.
  37701. */
  37702. #define SRC_SRSR_TEMPSENSE_RST_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_TEMPSENSE_RST_B_SHIFT)) & SRC_SRSR_TEMPSENSE_RST_B_MASK)
  37703. /*! @} */
  37704. /*! @name SBMR2 - SRC Boot Mode Register 2 */
  37705. /*! @{ */
  37706. #define SRC_SBMR2_SEC_CONFIG_MASK (0x3U)
  37707. #define SRC_SBMR2_SEC_CONFIG_SHIFT (0U)
  37708. #define SRC_SBMR2_SEC_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR2_SEC_CONFIG_SHIFT)) & SRC_SBMR2_SEC_CONFIG_MASK)
  37709. #define SRC_SBMR2_DIR_BT_DIS_MASK (0x8U)
  37710. #define SRC_SBMR2_DIR_BT_DIS_SHIFT (3U)
  37711. #define SRC_SBMR2_DIR_BT_DIS(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR2_DIR_BT_DIS_SHIFT)) & SRC_SBMR2_DIR_BT_DIS_MASK)
  37712. #define SRC_SBMR2_BT_FUSE_SEL_MASK (0x10U)
  37713. #define SRC_SBMR2_BT_FUSE_SEL_SHIFT (4U)
  37714. #define SRC_SBMR2_BT_FUSE_SEL(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR2_BT_FUSE_SEL_SHIFT)) & SRC_SBMR2_BT_FUSE_SEL_MASK)
  37715. #define SRC_SBMR2_BMOD_MASK (0x3000000U)
  37716. #define SRC_SBMR2_BMOD_SHIFT (24U)
  37717. #define SRC_SBMR2_BMOD(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR2_BMOD_SHIFT)) & SRC_SBMR2_BMOD_MASK)
  37718. /*! @} */
  37719. /*! @name GPR - SRC General Purpose Register 1..SRC General Purpose Register 10 */
  37720. /*! @{ */
  37721. #define SRC_GPR_PERSISTENT_ARG0_MASK (0xFFFFFFFFU)
  37722. #define SRC_GPR_PERSISTENT_ARG0_SHIFT (0U)
  37723. #define SRC_GPR_PERSISTENT_ARG0(x) (((uint32_t)(((uint32_t)(x)) << SRC_GPR_PERSISTENT_ARG0_SHIFT)) & SRC_GPR_PERSISTENT_ARG0_MASK)
  37724. #define SRC_GPR_PERSISTENT_ENTRY0_MASK (0xFFFFFFFFU)
  37725. #define SRC_GPR_PERSISTENT_ENTRY0_SHIFT (0U)
  37726. #define SRC_GPR_PERSISTENT_ENTRY0(x) (((uint32_t)(((uint32_t)(x)) << SRC_GPR_PERSISTENT_ENTRY0_SHIFT)) & SRC_GPR_PERSISTENT_ENTRY0_MASK)
  37727. /*! @} */
  37728. /* The count of SRC_GPR */
  37729. #define SRC_GPR_COUNT (10U)
  37730. /*!
  37731. * @}
  37732. */ /* end of group SRC_Register_Masks */
  37733. /* SRC - Peripheral instance base addresses */
  37734. /** Peripheral SRC base address */
  37735. #define SRC_BASE (0x400F8000u)
  37736. /** Peripheral SRC base pointer */
  37737. #define SRC ((SRC_Type *)SRC_BASE)
  37738. /** Array initializer of SRC peripheral base addresses */
  37739. #define SRC_BASE_ADDRS { SRC_BASE }
  37740. /** Array initializer of SRC peripheral base pointers */
  37741. #define SRC_BASE_PTRS { SRC }
  37742. /** Interrupt vectors for the SRC peripheral type */
  37743. #define SRC_IRQS { SRC_IRQn }
  37744. /* Backward compatibility */
  37745. #define SRC_SCR_MWDR_MASK SRC_SCR_MASK_WDOG_RST_MASK
  37746. #define SRC_SCR_MWDR_SHIFT SRC_SCR_MASK_WDOG_RST_SHIFT
  37747. #define SRC_SCR_MWDR(x) SRC_SCR_MASK_WDOG_RST(x)
  37748. #define SRC_SRSR_WDOG_MASK SRC_SRSR_WDOG_RST_B_MASK
  37749. #define SRC_SRSR_WDOG_SHIFT SRC_SRSR_WDOG_RST_B_SHIFT
  37750. #define SRC_SRSR_WDOG(x) SRC_SRSR_WDOG_RST_B(x)
  37751. #define SRC_SRSR_JTAG_MASK SRC_SRSR_JTAG_RST_B_MASK
  37752. #define SRC_SRSR_JTAG_SHIFT SRC_SRSR_JTAG_RST_B_SHIFT
  37753. #define SRC_SRSR_JTAG(x) SRC_SRSR_JTAG_RST_B(x)
  37754. #define SRC_SRSR_SJC_MASK SRC_SRSR_JTAG_SW_RST_MASK
  37755. #define SRC_SRSR_SJC_SHIFT SRC_SRSR_JTAG_SW_RST_SHIFT
  37756. #define SRC_SRSR_SJC(x) SRC_SRSR_JTAG_SW_RST(x)
  37757. #define SRC_SRSR_TSR_MASK SRC_SRSR_TEMPSENSE_RST_B_MASK
  37758. #define SRC_SRSR_TSR_SHIFT SRC_SRSR_TEMPSENSE_RST_B_SHIFT
  37759. #define SRC_SRSR_TSR(x) SRC_SRSR_TEMPSENSE_RST_B(x)
  37760. /* Extra definition */
  37761. #define SRC_SRSR_W1C_BITS_MASK ( SRC_SRSR_WDOG3_RST_B_MASK \
  37762. | SRC_SRSR_JTAG_SW_RST_MASK \
  37763. | SRC_SRSR_JTAG_RST_B_MASK \
  37764. | SRC_SRSR_WDOG_RST_B_MASK \
  37765. | SRC_SRSR_IPP_USER_RESET_B_MASK \
  37766. | SRC_SRSR_CSU_RESET_B_MASK \
  37767. | SRC_SRSR_LOCKUP_SYSRESETREQ_MASK \
  37768. | SRC_SRSR_IPP_RESET_B_MASK)
  37769. /*!
  37770. * @}
  37771. */ /* end of group SRC_Peripheral_Access_Layer */
  37772. /* ----------------------------------------------------------------------------
  37773. -- TEMPMON Peripheral Access Layer
  37774. ---------------------------------------------------------------------------- */
  37775. /*!
  37776. * @addtogroup TEMPMON_Peripheral_Access_Layer TEMPMON Peripheral Access Layer
  37777. * @{
  37778. */
  37779. /** TEMPMON - Register Layout Typedef */
  37780. typedef struct {
  37781. uint8_t RESERVED_0[384];
  37782. __IO uint32_t TEMPSENSE0; /**< Tempsensor Control Register 0, offset: 0x180 */
  37783. __IO uint32_t TEMPSENSE0_SET; /**< Tempsensor Control Register 0, offset: 0x184 */
  37784. __IO uint32_t TEMPSENSE0_CLR; /**< Tempsensor Control Register 0, offset: 0x188 */
  37785. __IO uint32_t TEMPSENSE0_TOG; /**< Tempsensor Control Register 0, offset: 0x18C */
  37786. __IO uint32_t TEMPSENSE1; /**< Tempsensor Control Register 1, offset: 0x190 */
  37787. __IO uint32_t TEMPSENSE1_SET; /**< Tempsensor Control Register 1, offset: 0x194 */
  37788. __IO uint32_t TEMPSENSE1_CLR; /**< Tempsensor Control Register 1, offset: 0x198 */
  37789. __IO uint32_t TEMPSENSE1_TOG; /**< Tempsensor Control Register 1, offset: 0x19C */
  37790. uint8_t RESERVED_1[240];
  37791. __IO uint32_t TEMPSENSE2; /**< Tempsensor Control Register 2, offset: 0x290 */
  37792. __IO uint32_t TEMPSENSE2_SET; /**< Tempsensor Control Register 2, offset: 0x294 */
  37793. __IO uint32_t TEMPSENSE2_CLR; /**< Tempsensor Control Register 2, offset: 0x298 */
  37794. __IO uint32_t TEMPSENSE2_TOG; /**< Tempsensor Control Register 2, offset: 0x29C */
  37795. } TEMPMON_Type;
  37796. /* ----------------------------------------------------------------------------
  37797. -- TEMPMON Register Masks
  37798. ---------------------------------------------------------------------------- */
  37799. /*!
  37800. * @addtogroup TEMPMON_Register_Masks TEMPMON Register Masks
  37801. * @{
  37802. */
  37803. /*! @name TEMPSENSE0 - Tempsensor Control Register 0 */
  37804. /*! @{ */
  37805. #define TEMPMON_TEMPSENSE0_POWER_DOWN_MASK (0x1U)
  37806. #define TEMPMON_TEMPSENSE0_POWER_DOWN_SHIFT (0U)
  37807. /*! POWER_DOWN
  37808. * 0b0..Enable power to the temperature sensor.
  37809. * 0b1..Power down the temperature sensor.
  37810. */
  37811. #define TEMPMON_TEMPSENSE0_POWER_DOWN(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_POWER_DOWN_SHIFT)) & TEMPMON_TEMPSENSE0_POWER_DOWN_MASK)
  37812. #define TEMPMON_TEMPSENSE0_MEASURE_TEMP_MASK (0x2U)
  37813. #define TEMPMON_TEMPSENSE0_MEASURE_TEMP_SHIFT (1U)
  37814. /*! MEASURE_TEMP
  37815. * 0b0..Do not start the measurement process.
  37816. * 0b1..Start the measurement process.
  37817. */
  37818. #define TEMPMON_TEMPSENSE0_MEASURE_TEMP(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_MEASURE_TEMP_SHIFT)) & TEMPMON_TEMPSENSE0_MEASURE_TEMP_MASK)
  37819. #define TEMPMON_TEMPSENSE0_FINISHED_MASK (0x4U)
  37820. #define TEMPMON_TEMPSENSE0_FINISHED_SHIFT (2U)
  37821. /*! FINISHED
  37822. * 0b0..Last measurement is not ready yet.
  37823. * 0b1..Last measurement is valid.
  37824. */
  37825. #define TEMPMON_TEMPSENSE0_FINISHED(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_FINISHED_SHIFT)) & TEMPMON_TEMPSENSE0_FINISHED_MASK)
  37826. #define TEMPMON_TEMPSENSE0_TEMP_CNT_MASK (0xFFF00U)
  37827. #define TEMPMON_TEMPSENSE0_TEMP_CNT_SHIFT (8U)
  37828. #define TEMPMON_TEMPSENSE0_TEMP_CNT(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_TEMP_CNT_SHIFT)) & TEMPMON_TEMPSENSE0_TEMP_CNT_MASK)
  37829. #define TEMPMON_TEMPSENSE0_ALARM_VALUE_MASK (0xFFF00000U)
  37830. #define TEMPMON_TEMPSENSE0_ALARM_VALUE_SHIFT (20U)
  37831. #define TEMPMON_TEMPSENSE0_ALARM_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_ALARM_VALUE_SHIFT)) & TEMPMON_TEMPSENSE0_ALARM_VALUE_MASK)
  37832. /*! @} */
  37833. /*! @name TEMPSENSE0_SET - Tempsensor Control Register 0 */
  37834. /*! @{ */
  37835. #define TEMPMON_TEMPSENSE0_SET_POWER_DOWN_MASK (0x1U)
  37836. #define TEMPMON_TEMPSENSE0_SET_POWER_DOWN_SHIFT (0U)
  37837. /*! POWER_DOWN
  37838. * 0b0..Enable power to the temperature sensor.
  37839. * 0b1..Power down the temperature sensor.
  37840. */
  37841. #define TEMPMON_TEMPSENSE0_SET_POWER_DOWN(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_SET_POWER_DOWN_SHIFT)) & TEMPMON_TEMPSENSE0_SET_POWER_DOWN_MASK)
  37842. #define TEMPMON_TEMPSENSE0_SET_MEASURE_TEMP_MASK (0x2U)
  37843. #define TEMPMON_TEMPSENSE0_SET_MEASURE_TEMP_SHIFT (1U)
  37844. /*! MEASURE_TEMP
  37845. * 0b0..Do not start the measurement process.
  37846. * 0b1..Start the measurement process.
  37847. */
  37848. #define TEMPMON_TEMPSENSE0_SET_MEASURE_TEMP(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_SET_MEASURE_TEMP_SHIFT)) & TEMPMON_TEMPSENSE0_SET_MEASURE_TEMP_MASK)
  37849. #define TEMPMON_TEMPSENSE0_SET_FINISHED_MASK (0x4U)
  37850. #define TEMPMON_TEMPSENSE0_SET_FINISHED_SHIFT (2U)
  37851. /*! FINISHED
  37852. * 0b0..Last measurement is not ready yet.
  37853. * 0b1..Last measurement is valid.
  37854. */
  37855. #define TEMPMON_TEMPSENSE0_SET_FINISHED(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_SET_FINISHED_SHIFT)) & TEMPMON_TEMPSENSE0_SET_FINISHED_MASK)
  37856. #define TEMPMON_TEMPSENSE0_SET_TEMP_CNT_MASK (0xFFF00U)
  37857. #define TEMPMON_TEMPSENSE0_SET_TEMP_CNT_SHIFT (8U)
  37858. #define TEMPMON_TEMPSENSE0_SET_TEMP_CNT(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_SET_TEMP_CNT_SHIFT)) & TEMPMON_TEMPSENSE0_SET_TEMP_CNT_MASK)
  37859. #define TEMPMON_TEMPSENSE0_SET_ALARM_VALUE_MASK (0xFFF00000U)
  37860. #define TEMPMON_TEMPSENSE0_SET_ALARM_VALUE_SHIFT (20U)
  37861. #define TEMPMON_TEMPSENSE0_SET_ALARM_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_SET_ALARM_VALUE_SHIFT)) & TEMPMON_TEMPSENSE0_SET_ALARM_VALUE_MASK)
  37862. /*! @} */
  37863. /*! @name TEMPSENSE0_CLR - Tempsensor Control Register 0 */
  37864. /*! @{ */
  37865. #define TEMPMON_TEMPSENSE0_CLR_POWER_DOWN_MASK (0x1U)
  37866. #define TEMPMON_TEMPSENSE0_CLR_POWER_DOWN_SHIFT (0U)
  37867. /*! POWER_DOWN
  37868. * 0b0..Enable power to the temperature sensor.
  37869. * 0b1..Power down the temperature sensor.
  37870. */
  37871. #define TEMPMON_TEMPSENSE0_CLR_POWER_DOWN(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_CLR_POWER_DOWN_SHIFT)) & TEMPMON_TEMPSENSE0_CLR_POWER_DOWN_MASK)
  37872. #define TEMPMON_TEMPSENSE0_CLR_MEASURE_TEMP_MASK (0x2U)
  37873. #define TEMPMON_TEMPSENSE0_CLR_MEASURE_TEMP_SHIFT (1U)
  37874. /*! MEASURE_TEMP
  37875. * 0b0..Do not start the measurement process.
  37876. * 0b1..Start the measurement process.
  37877. */
  37878. #define TEMPMON_TEMPSENSE0_CLR_MEASURE_TEMP(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_CLR_MEASURE_TEMP_SHIFT)) & TEMPMON_TEMPSENSE0_CLR_MEASURE_TEMP_MASK)
  37879. #define TEMPMON_TEMPSENSE0_CLR_FINISHED_MASK (0x4U)
  37880. #define TEMPMON_TEMPSENSE0_CLR_FINISHED_SHIFT (2U)
  37881. /*! FINISHED
  37882. * 0b0..Last measurement is not ready yet.
  37883. * 0b1..Last measurement is valid.
  37884. */
  37885. #define TEMPMON_TEMPSENSE0_CLR_FINISHED(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_CLR_FINISHED_SHIFT)) & TEMPMON_TEMPSENSE0_CLR_FINISHED_MASK)
  37886. #define TEMPMON_TEMPSENSE0_CLR_TEMP_CNT_MASK (0xFFF00U)
  37887. #define TEMPMON_TEMPSENSE0_CLR_TEMP_CNT_SHIFT (8U)
  37888. #define TEMPMON_TEMPSENSE0_CLR_TEMP_CNT(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_CLR_TEMP_CNT_SHIFT)) & TEMPMON_TEMPSENSE0_CLR_TEMP_CNT_MASK)
  37889. #define TEMPMON_TEMPSENSE0_CLR_ALARM_VALUE_MASK (0xFFF00000U)
  37890. #define TEMPMON_TEMPSENSE0_CLR_ALARM_VALUE_SHIFT (20U)
  37891. #define TEMPMON_TEMPSENSE0_CLR_ALARM_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_CLR_ALARM_VALUE_SHIFT)) & TEMPMON_TEMPSENSE0_CLR_ALARM_VALUE_MASK)
  37892. /*! @} */
  37893. /*! @name TEMPSENSE0_TOG - Tempsensor Control Register 0 */
  37894. /*! @{ */
  37895. #define TEMPMON_TEMPSENSE0_TOG_POWER_DOWN_MASK (0x1U)
  37896. #define TEMPMON_TEMPSENSE0_TOG_POWER_DOWN_SHIFT (0U)
  37897. /*! POWER_DOWN
  37898. * 0b0..Enable power to the temperature sensor.
  37899. * 0b1..Power down the temperature sensor.
  37900. */
  37901. #define TEMPMON_TEMPSENSE0_TOG_POWER_DOWN(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_TOG_POWER_DOWN_SHIFT)) & TEMPMON_TEMPSENSE0_TOG_POWER_DOWN_MASK)
  37902. #define TEMPMON_TEMPSENSE0_TOG_MEASURE_TEMP_MASK (0x2U)
  37903. #define TEMPMON_TEMPSENSE0_TOG_MEASURE_TEMP_SHIFT (1U)
  37904. /*! MEASURE_TEMP
  37905. * 0b0..Do not start the measurement process.
  37906. * 0b1..Start the measurement process.
  37907. */
  37908. #define TEMPMON_TEMPSENSE0_TOG_MEASURE_TEMP(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_TOG_MEASURE_TEMP_SHIFT)) & TEMPMON_TEMPSENSE0_TOG_MEASURE_TEMP_MASK)
  37909. #define TEMPMON_TEMPSENSE0_TOG_FINISHED_MASK (0x4U)
  37910. #define TEMPMON_TEMPSENSE0_TOG_FINISHED_SHIFT (2U)
  37911. /*! FINISHED
  37912. * 0b0..Last measurement is not ready yet.
  37913. * 0b1..Last measurement is valid.
  37914. */
  37915. #define TEMPMON_TEMPSENSE0_TOG_FINISHED(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_TOG_FINISHED_SHIFT)) & TEMPMON_TEMPSENSE0_TOG_FINISHED_MASK)
  37916. #define TEMPMON_TEMPSENSE0_TOG_TEMP_CNT_MASK (0xFFF00U)
  37917. #define TEMPMON_TEMPSENSE0_TOG_TEMP_CNT_SHIFT (8U)
  37918. #define TEMPMON_TEMPSENSE0_TOG_TEMP_CNT(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_TOG_TEMP_CNT_SHIFT)) & TEMPMON_TEMPSENSE0_TOG_TEMP_CNT_MASK)
  37919. #define TEMPMON_TEMPSENSE0_TOG_ALARM_VALUE_MASK (0xFFF00000U)
  37920. #define TEMPMON_TEMPSENSE0_TOG_ALARM_VALUE_SHIFT (20U)
  37921. #define TEMPMON_TEMPSENSE0_TOG_ALARM_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE0_TOG_ALARM_VALUE_SHIFT)) & TEMPMON_TEMPSENSE0_TOG_ALARM_VALUE_MASK)
  37922. /*! @} */
  37923. /*! @name TEMPSENSE1 - Tempsensor Control Register 1 */
  37924. /*! @{ */
  37925. #define TEMPMON_TEMPSENSE1_MEASURE_FREQ_MASK (0xFFFFU)
  37926. #define TEMPMON_TEMPSENSE1_MEASURE_FREQ_SHIFT (0U)
  37927. #define TEMPMON_TEMPSENSE1_MEASURE_FREQ(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE1_MEASURE_FREQ_SHIFT)) & TEMPMON_TEMPSENSE1_MEASURE_FREQ_MASK)
  37928. /*! @} */
  37929. /*! @name TEMPSENSE1_SET - Tempsensor Control Register 1 */
  37930. /*! @{ */
  37931. #define TEMPMON_TEMPSENSE1_SET_MEASURE_FREQ_MASK (0xFFFFU)
  37932. #define TEMPMON_TEMPSENSE1_SET_MEASURE_FREQ_SHIFT (0U)
  37933. #define TEMPMON_TEMPSENSE1_SET_MEASURE_FREQ(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE1_SET_MEASURE_FREQ_SHIFT)) & TEMPMON_TEMPSENSE1_SET_MEASURE_FREQ_MASK)
  37934. /*! @} */
  37935. /*! @name TEMPSENSE1_CLR - Tempsensor Control Register 1 */
  37936. /*! @{ */
  37937. #define TEMPMON_TEMPSENSE1_CLR_MEASURE_FREQ_MASK (0xFFFFU)
  37938. #define TEMPMON_TEMPSENSE1_CLR_MEASURE_FREQ_SHIFT (0U)
  37939. #define TEMPMON_TEMPSENSE1_CLR_MEASURE_FREQ(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE1_CLR_MEASURE_FREQ_SHIFT)) & TEMPMON_TEMPSENSE1_CLR_MEASURE_FREQ_MASK)
  37940. /*! @} */
  37941. /*! @name TEMPSENSE1_TOG - Tempsensor Control Register 1 */
  37942. /*! @{ */
  37943. #define TEMPMON_TEMPSENSE1_TOG_MEASURE_FREQ_MASK (0xFFFFU)
  37944. #define TEMPMON_TEMPSENSE1_TOG_MEASURE_FREQ_SHIFT (0U)
  37945. #define TEMPMON_TEMPSENSE1_TOG_MEASURE_FREQ(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE1_TOG_MEASURE_FREQ_SHIFT)) & TEMPMON_TEMPSENSE1_TOG_MEASURE_FREQ_MASK)
  37946. /*! @} */
  37947. /*! @name TEMPSENSE2 - Tempsensor Control Register 2 */
  37948. /*! @{ */
  37949. #define TEMPMON_TEMPSENSE2_LOW_ALARM_VALUE_MASK (0xFFFU)
  37950. #define TEMPMON_TEMPSENSE2_LOW_ALARM_VALUE_SHIFT (0U)
  37951. #define TEMPMON_TEMPSENSE2_LOW_ALARM_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE2_LOW_ALARM_VALUE_SHIFT)) & TEMPMON_TEMPSENSE2_LOW_ALARM_VALUE_MASK)
  37952. #define TEMPMON_TEMPSENSE2_PANIC_ALARM_VALUE_MASK (0xFFF0000U)
  37953. #define TEMPMON_TEMPSENSE2_PANIC_ALARM_VALUE_SHIFT (16U)
  37954. #define TEMPMON_TEMPSENSE2_PANIC_ALARM_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TEMPMON_TEMPSENSE2_PANIC_ALARM_VALUE_SHIFT)) & TEMPMON_TEMPSENSE2_PANIC_ALARM_VALUE_MASK)
  37955. /*! @} */
  37956. /*! @name TEMPSENSE2_SET - Tempsensor Control Register 2 */
  37957. /*! @{ */
  37958. #define TEMPMON_TEMPSENSE2_SET_LOW_ALARM_VALUE_MASK (0xFFFU)
  37959. #define TEMPMON_TEMPSENSE2_SET_LOW_ALARM_VALUE_SHIFT (0U)
  37960. #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)
  37961. #define TEMPMON_TEMPSENSE2_SET_PANIC_ALARM_VALUE_MASK (0xFFF0000U)
  37962. #define TEMPMON_TEMPSENSE2_SET_PANIC_ALARM_VALUE_SHIFT (16U)
  37963. #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)
  37964. /*! @} */
  37965. /*! @name TEMPSENSE2_CLR - Tempsensor Control Register 2 */
  37966. /*! @{ */
  37967. #define TEMPMON_TEMPSENSE2_CLR_LOW_ALARM_VALUE_MASK (0xFFFU)
  37968. #define TEMPMON_TEMPSENSE2_CLR_LOW_ALARM_VALUE_SHIFT (0U)
  37969. #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)
  37970. #define TEMPMON_TEMPSENSE2_CLR_PANIC_ALARM_VALUE_MASK (0xFFF0000U)
  37971. #define TEMPMON_TEMPSENSE2_CLR_PANIC_ALARM_VALUE_SHIFT (16U)
  37972. #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)
  37973. /*! @} */
  37974. /*! @name TEMPSENSE2_TOG - Tempsensor Control Register 2 */
  37975. /*! @{ */
  37976. #define TEMPMON_TEMPSENSE2_TOG_LOW_ALARM_VALUE_MASK (0xFFFU)
  37977. #define TEMPMON_TEMPSENSE2_TOG_LOW_ALARM_VALUE_SHIFT (0U)
  37978. #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)
  37979. #define TEMPMON_TEMPSENSE2_TOG_PANIC_ALARM_VALUE_MASK (0xFFF0000U)
  37980. #define TEMPMON_TEMPSENSE2_TOG_PANIC_ALARM_VALUE_SHIFT (16U)
  37981. #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)
  37982. /*! @} */
  37983. /*!
  37984. * @}
  37985. */ /* end of group TEMPMON_Register_Masks */
  37986. /* TEMPMON - Peripheral instance base addresses */
  37987. /** Peripheral TEMPMON base address */
  37988. #define TEMPMON_BASE (0x400D8000u)
  37989. /** Peripheral TEMPMON base pointer */
  37990. #define TEMPMON ((TEMPMON_Type *)TEMPMON_BASE)
  37991. /** Array initializer of TEMPMON peripheral base addresses */
  37992. #define TEMPMON_BASE_ADDRS { TEMPMON_BASE }
  37993. /** Array initializer of TEMPMON peripheral base pointers */
  37994. #define TEMPMON_BASE_PTRS { TEMPMON }
  37995. /*!
  37996. * @}
  37997. */ /* end of group TEMPMON_Peripheral_Access_Layer */
  37998. /* ----------------------------------------------------------------------------
  37999. -- TMR Peripheral Access Layer
  38000. ---------------------------------------------------------------------------- */
  38001. /*!
  38002. * @addtogroup TMR_Peripheral_Access_Layer TMR Peripheral Access Layer
  38003. * @{
  38004. */
  38005. /** TMR - Register Layout Typedef */
  38006. typedef struct {
  38007. struct { /* offset: 0x0, array step: 0x20 */
  38008. __IO uint16_t COMP1; /**< Timer Channel Compare Register 1, array offset: 0x0, array step: 0x20 */
  38009. __IO uint16_t COMP2; /**< Timer Channel Compare Register 2, array offset: 0x2, array step: 0x20 */
  38010. __IO uint16_t CAPT; /**< Timer Channel Capture Register, array offset: 0x4, array step: 0x20 */
  38011. __IO uint16_t LOAD; /**< Timer Channel Load Register, array offset: 0x6, array step: 0x20 */
  38012. __IO uint16_t HOLD; /**< Timer Channel Hold Register, array offset: 0x8, array step: 0x20 */
  38013. __IO uint16_t CNTR; /**< Timer Channel Counter Register, array offset: 0xA, array step: 0x20 */
  38014. __IO uint16_t CTRL; /**< Timer Channel Control Register, array offset: 0xC, array step: 0x20 */
  38015. __IO uint16_t SCTRL; /**< Timer Channel Status and Control Register, array offset: 0xE, array step: 0x20 */
  38016. __IO uint16_t CMPLD1; /**< Timer Channel Comparator Load Register 1, array offset: 0x10, array step: 0x20 */
  38017. __IO uint16_t CMPLD2; /**< Timer Channel Comparator Load Register 2, array offset: 0x12, array step: 0x20 */
  38018. __IO uint16_t CSCTRL; /**< Timer Channel Comparator Status and Control Register, array offset: 0x14, array step: 0x20 */
  38019. __IO uint16_t FILT; /**< Timer Channel Input Filter Register, array offset: 0x16, array step: 0x20 */
  38020. __IO uint16_t DMA; /**< Timer Channel DMA Enable Register, array offset: 0x18, array step: 0x20 */
  38021. uint8_t RESERVED_0[4];
  38022. __IO uint16_t ENBL; /**< Timer Channel Enable Register, array offset: 0x1E, array step: 0x20, this item is not available for all array instances */
  38023. } CHANNEL[4];
  38024. } TMR_Type;
  38025. /* ----------------------------------------------------------------------------
  38026. -- TMR Register Masks
  38027. ---------------------------------------------------------------------------- */
  38028. /*!
  38029. * @addtogroup TMR_Register_Masks TMR Register Masks
  38030. * @{
  38031. */
  38032. /*! @name COMP1 - Timer Channel Compare Register 1 */
  38033. /*! @{ */
  38034. #define TMR_COMP1_COMPARISON_1_MASK (0xFFFFU)
  38035. #define TMR_COMP1_COMPARISON_1_SHIFT (0U)
  38036. /*! COMPARISON_1 - Comparison Value 1
  38037. */
  38038. #define TMR_COMP1_COMPARISON_1(x) (((uint16_t)(((uint16_t)(x)) << TMR_COMP1_COMPARISON_1_SHIFT)) & TMR_COMP1_COMPARISON_1_MASK)
  38039. /*! @} */
  38040. /* The count of TMR_COMP1 */
  38041. #define TMR_COMP1_COUNT (4U)
  38042. /*! @name COMP2 - Timer Channel Compare Register 2 */
  38043. /*! @{ */
  38044. #define TMR_COMP2_COMPARISON_2_MASK (0xFFFFU)
  38045. #define TMR_COMP2_COMPARISON_2_SHIFT (0U)
  38046. /*! COMPARISON_2 - Comparison Value 2
  38047. */
  38048. #define TMR_COMP2_COMPARISON_2(x) (((uint16_t)(((uint16_t)(x)) << TMR_COMP2_COMPARISON_2_SHIFT)) & TMR_COMP2_COMPARISON_2_MASK)
  38049. /*! @} */
  38050. /* The count of TMR_COMP2 */
  38051. #define TMR_COMP2_COUNT (4U)
  38052. /*! @name CAPT - Timer Channel Capture Register */
  38053. /*! @{ */
  38054. #define TMR_CAPT_CAPTURE_MASK (0xFFFFU)
  38055. #define TMR_CAPT_CAPTURE_SHIFT (0U)
  38056. /*! CAPTURE - Capture Value
  38057. */
  38058. #define TMR_CAPT_CAPTURE(x) (((uint16_t)(((uint16_t)(x)) << TMR_CAPT_CAPTURE_SHIFT)) & TMR_CAPT_CAPTURE_MASK)
  38059. /*! @} */
  38060. /* The count of TMR_CAPT */
  38061. #define TMR_CAPT_COUNT (4U)
  38062. /*! @name LOAD - Timer Channel Load Register */
  38063. /*! @{ */
  38064. #define TMR_LOAD_LOAD_MASK (0xFFFFU)
  38065. #define TMR_LOAD_LOAD_SHIFT (0U)
  38066. /*! LOAD - Timer Load Register
  38067. */
  38068. #define TMR_LOAD_LOAD(x) (((uint16_t)(((uint16_t)(x)) << TMR_LOAD_LOAD_SHIFT)) & TMR_LOAD_LOAD_MASK)
  38069. /*! @} */
  38070. /* The count of TMR_LOAD */
  38071. #define TMR_LOAD_COUNT (4U)
  38072. /*! @name HOLD - Timer Channel Hold Register */
  38073. /*! @{ */
  38074. #define TMR_HOLD_HOLD_MASK (0xFFFFU)
  38075. #define TMR_HOLD_HOLD_SHIFT (0U)
  38076. #define TMR_HOLD_HOLD(x) (((uint16_t)(((uint16_t)(x)) << TMR_HOLD_HOLD_SHIFT)) & TMR_HOLD_HOLD_MASK)
  38077. /*! @} */
  38078. /* The count of TMR_HOLD */
  38079. #define TMR_HOLD_COUNT (4U)
  38080. /*! @name CNTR - Timer Channel Counter Register */
  38081. /*! @{ */
  38082. #define TMR_CNTR_COUNTER_MASK (0xFFFFU)
  38083. #define TMR_CNTR_COUNTER_SHIFT (0U)
  38084. #define TMR_CNTR_COUNTER(x) (((uint16_t)(((uint16_t)(x)) << TMR_CNTR_COUNTER_SHIFT)) & TMR_CNTR_COUNTER_MASK)
  38085. /*! @} */
  38086. /* The count of TMR_CNTR */
  38087. #define TMR_CNTR_COUNT (4U)
  38088. /*! @name CTRL - Timer Channel Control Register */
  38089. /*! @{ */
  38090. #define TMR_CTRL_OUTMODE_MASK (0x7U)
  38091. #define TMR_CTRL_OUTMODE_SHIFT (0U)
  38092. /*! OUTMODE - Output Mode
  38093. * 0b000..Asserted while counter is active
  38094. * 0b001..Clear OFLAG output on successful compare
  38095. * 0b010..Set OFLAG output on successful compare
  38096. * 0b011..Toggle OFLAG output on successful compare
  38097. * 0b100..Toggle OFLAG output using alternating compare registers
  38098. * 0b101..Set on compare, cleared on secondary source input edge
  38099. * 0b110..Set on compare, cleared on counter rollover
  38100. * 0b111..Enable gated clock output while counter is active
  38101. */
  38102. #define TMR_CTRL_OUTMODE(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_OUTMODE_SHIFT)) & TMR_CTRL_OUTMODE_MASK)
  38103. #define TMR_CTRL_COINIT_MASK (0x8U)
  38104. #define TMR_CTRL_COINIT_SHIFT (3U)
  38105. /*! COINIT - Co-Channel Initialization
  38106. * 0b0..Co-channel counter/timers cannot force a re-initialization of this counter/timer
  38107. * 0b1..Co-channel counter/timers may force a re-initialization of this counter/timer
  38108. */
  38109. #define TMR_CTRL_COINIT(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_COINIT_SHIFT)) & TMR_CTRL_COINIT_MASK)
  38110. #define TMR_CTRL_DIR_MASK (0x10U)
  38111. #define TMR_CTRL_DIR_SHIFT (4U)
  38112. /*! DIR - Count Direction
  38113. * 0b0..Count up.
  38114. * 0b1..Count down.
  38115. */
  38116. #define TMR_CTRL_DIR(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_DIR_SHIFT)) & TMR_CTRL_DIR_MASK)
  38117. #define TMR_CTRL_LENGTH_MASK (0x20U)
  38118. #define TMR_CTRL_LENGTH_SHIFT (5U)
  38119. /*! LENGTH - Count Length
  38120. * 0b0..Count until roll over at $FFFF and continue from $0000.
  38121. * 0b1..Count until compare, then re-initialize. If counting up, a successful compare occurs when the counter
  38122. * reaches a COMP1 value. If counting down, a successful compare occurs when the counter reaches a COMP2 value.
  38123. * When output mode $4 is used, alternating values of COMP1 and COMP2 are used to generate successful
  38124. * comparisons. For example, the counter counts until a COMP1 value is reached, re-initializes, counts until COMP2
  38125. * value is reached, re-initializes, counts until COMP1 value is reached, and so on.
  38126. */
  38127. #define TMR_CTRL_LENGTH(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_LENGTH_SHIFT)) & TMR_CTRL_LENGTH_MASK)
  38128. #define TMR_CTRL_ONCE_MASK (0x40U)
  38129. #define TMR_CTRL_ONCE_SHIFT (6U)
  38130. /*! ONCE - Count Once
  38131. * 0b0..Count repeatedly.
  38132. * 0b1..Count until compare and then stop. If counting up, a successful compare occurs when the counter reaches a
  38133. * COMP1 value. If counting down, a successful compare occurs when the counter reaches a COMP2 value. When
  38134. * output mode $4 is used, the counter re-initializes after reaching the COMP1 value, continues to count to
  38135. * the COMP2 value, and then stops.
  38136. */
  38137. #define TMR_CTRL_ONCE(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_ONCE_SHIFT)) & TMR_CTRL_ONCE_MASK)
  38138. #define TMR_CTRL_SCS_MASK (0x180U)
  38139. #define TMR_CTRL_SCS_SHIFT (7U)
  38140. /*! SCS - Secondary Count Source
  38141. * 0b00..Counter 0 input pin
  38142. * 0b01..Counter 1 input pin
  38143. * 0b10..Counter 2 input pin
  38144. * 0b11..Counter 3 input pin
  38145. */
  38146. #define TMR_CTRL_SCS(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_SCS_SHIFT)) & TMR_CTRL_SCS_MASK)
  38147. #define TMR_CTRL_PCS_MASK (0x1E00U)
  38148. #define TMR_CTRL_PCS_SHIFT (9U)
  38149. /*! PCS - Primary Count Source
  38150. * 0b0000..Counter 0 input pin
  38151. * 0b0001..Counter 1 input pin
  38152. * 0b0010..Counter 2 input pin
  38153. * 0b0011..Counter 3 input pin
  38154. * 0b0100..Counter 0 output
  38155. * 0b0101..Counter 1 output
  38156. * 0b0110..Counter 2 output
  38157. * 0b0111..Counter 3 output
  38158. * 0b1000..IP bus clock divide by 1 prescaler
  38159. * 0b1001..IP bus clock divide by 2 prescaler
  38160. * 0b1010..IP bus clock divide by 4 prescaler
  38161. * 0b1011..IP bus clock divide by 8 prescaler
  38162. * 0b1100..IP bus clock divide by 16 prescaler
  38163. * 0b1101..IP bus clock divide by 32 prescaler
  38164. * 0b1110..IP bus clock divide by 64 prescaler
  38165. * 0b1111..IP bus clock divide by 128 prescaler
  38166. */
  38167. #define TMR_CTRL_PCS(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_PCS_SHIFT)) & TMR_CTRL_PCS_MASK)
  38168. #define TMR_CTRL_CM_MASK (0xE000U)
  38169. #define TMR_CTRL_CM_SHIFT (13U)
  38170. /*! CM - Count Mode
  38171. * 0b000..No operation
  38172. * 0b001..Count rising edges of primary sourceRising edges are counted only when SCTRL[IPS] = 0. Falling edges
  38173. * are counted when SCTRL[IPS] = 1. If the primary count source is IP bus clock divide by 1, only rising
  38174. * edges are counted regardless of the value of SCTRL[IPS].
  38175. * 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.
  38176. * 0b011..Count rising edges of primary source while secondary input high active
  38177. * 0b100..Quadrature count mode, uses primary and secondary sources
  38178. * 0b101..Count rising edges of primary source; secondary source specifies directionRising edges are counted only
  38179. * when SCTRL[IPS] = 0. Falling edges are counted when SCTRL[IPS] = 1.
  38180. * 0b110..Edge of secondary source triggers primary count until compare
  38181. * 0b111..Cascaded counter mode (up/down)The primary count source must be set to one of the counter outputs.
  38182. */
  38183. #define TMR_CTRL_CM(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_CM_SHIFT)) & TMR_CTRL_CM_MASK)
  38184. /*! @} */
  38185. /* The count of TMR_CTRL */
  38186. #define TMR_CTRL_COUNT (4U)
  38187. /*! @name SCTRL - Timer Channel Status and Control Register */
  38188. /*! @{ */
  38189. #define TMR_SCTRL_OEN_MASK (0x1U)
  38190. #define TMR_SCTRL_OEN_SHIFT (0U)
  38191. /*! OEN - Output Enable
  38192. * 0b0..The external pin is configured as an input.
  38193. * 0b1..The OFLAG output signal is driven on the external pin. Other timer groups using this external pin as
  38194. * their input see the driven value. The polarity of the signal is determined by OPS.
  38195. */
  38196. #define TMR_SCTRL_OEN(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_OEN_SHIFT)) & TMR_SCTRL_OEN_MASK)
  38197. #define TMR_SCTRL_OPS_MASK (0x2U)
  38198. #define TMR_SCTRL_OPS_SHIFT (1U)
  38199. /*! OPS - Output Polarity Select
  38200. * 0b0..True polarity.
  38201. * 0b1..Inverted polarity.
  38202. */
  38203. #define TMR_SCTRL_OPS(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_OPS_SHIFT)) & TMR_SCTRL_OPS_MASK)
  38204. #define TMR_SCTRL_FORCE_MASK (0x4U)
  38205. #define TMR_SCTRL_FORCE_SHIFT (2U)
  38206. /*! FORCE - Force OFLAG Output
  38207. */
  38208. #define TMR_SCTRL_FORCE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_FORCE_SHIFT)) & TMR_SCTRL_FORCE_MASK)
  38209. #define TMR_SCTRL_VAL_MASK (0x8U)
  38210. #define TMR_SCTRL_VAL_SHIFT (3U)
  38211. /*! VAL - Forced OFLAG Value
  38212. */
  38213. #define TMR_SCTRL_VAL(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_VAL_SHIFT)) & TMR_SCTRL_VAL_MASK)
  38214. #define TMR_SCTRL_EEOF_MASK (0x10U)
  38215. #define TMR_SCTRL_EEOF_SHIFT (4U)
  38216. /*! EEOF - Enable External OFLAG Force
  38217. */
  38218. #define TMR_SCTRL_EEOF(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_EEOF_SHIFT)) & TMR_SCTRL_EEOF_MASK)
  38219. #define TMR_SCTRL_MSTR_MASK (0x20U)
  38220. #define TMR_SCTRL_MSTR_SHIFT (5U)
  38221. /*! MSTR - Master Mode
  38222. */
  38223. #define TMR_SCTRL_MSTR(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_MSTR_SHIFT)) & TMR_SCTRL_MSTR_MASK)
  38224. #define TMR_SCTRL_CAPTURE_MODE_MASK (0xC0U)
  38225. #define TMR_SCTRL_CAPTURE_MODE_SHIFT (6U)
  38226. /*! CAPTURE_MODE - Input Capture Mode
  38227. * 0b00..Capture function is disabled
  38228. * 0b01..Load capture register on rising edge (when IPS=0) or falling edge (when IPS=1) of input
  38229. * 0b10..Load capture register on falling edge (when IPS=0) or rising edge (when IPS=1) of input
  38230. * 0b11..Load capture register on both edges of input
  38231. */
  38232. #define TMR_SCTRL_CAPTURE_MODE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_CAPTURE_MODE_SHIFT)) & TMR_SCTRL_CAPTURE_MODE_MASK)
  38233. #define TMR_SCTRL_INPUT_MASK (0x100U)
  38234. #define TMR_SCTRL_INPUT_SHIFT (8U)
  38235. /*! INPUT - External Input Signal
  38236. */
  38237. #define TMR_SCTRL_INPUT(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_INPUT_SHIFT)) & TMR_SCTRL_INPUT_MASK)
  38238. #define TMR_SCTRL_IPS_MASK (0x200U)
  38239. #define TMR_SCTRL_IPS_SHIFT (9U)
  38240. /*! IPS - Input Polarity Select
  38241. */
  38242. #define TMR_SCTRL_IPS(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_IPS_SHIFT)) & TMR_SCTRL_IPS_MASK)
  38243. #define TMR_SCTRL_IEFIE_MASK (0x400U)
  38244. #define TMR_SCTRL_IEFIE_SHIFT (10U)
  38245. /*! IEFIE - Input Edge Flag Interrupt Enable
  38246. */
  38247. #define TMR_SCTRL_IEFIE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_IEFIE_SHIFT)) & TMR_SCTRL_IEFIE_MASK)
  38248. #define TMR_SCTRL_IEF_MASK (0x800U)
  38249. #define TMR_SCTRL_IEF_SHIFT (11U)
  38250. /*! IEF - Input Edge Flag
  38251. */
  38252. #define TMR_SCTRL_IEF(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_IEF_SHIFT)) & TMR_SCTRL_IEF_MASK)
  38253. #define TMR_SCTRL_TOFIE_MASK (0x1000U)
  38254. #define TMR_SCTRL_TOFIE_SHIFT (12U)
  38255. /*! TOFIE - Timer Overflow Flag Interrupt Enable
  38256. */
  38257. #define TMR_SCTRL_TOFIE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_TOFIE_SHIFT)) & TMR_SCTRL_TOFIE_MASK)
  38258. #define TMR_SCTRL_TOF_MASK (0x2000U)
  38259. #define TMR_SCTRL_TOF_SHIFT (13U)
  38260. /*! TOF - Timer Overflow Flag
  38261. */
  38262. #define TMR_SCTRL_TOF(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_TOF_SHIFT)) & TMR_SCTRL_TOF_MASK)
  38263. #define TMR_SCTRL_TCFIE_MASK (0x4000U)
  38264. #define TMR_SCTRL_TCFIE_SHIFT (14U)
  38265. /*! TCFIE - Timer Compare Flag Interrupt Enable
  38266. */
  38267. #define TMR_SCTRL_TCFIE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_TCFIE_SHIFT)) & TMR_SCTRL_TCFIE_MASK)
  38268. #define TMR_SCTRL_TCF_MASK (0x8000U)
  38269. #define TMR_SCTRL_TCF_SHIFT (15U)
  38270. /*! TCF - Timer Compare Flag
  38271. */
  38272. #define TMR_SCTRL_TCF(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_TCF_SHIFT)) & TMR_SCTRL_TCF_MASK)
  38273. /*! @} */
  38274. /* The count of TMR_SCTRL */
  38275. #define TMR_SCTRL_COUNT (4U)
  38276. /*! @name CMPLD1 - Timer Channel Comparator Load Register 1 */
  38277. /*! @{ */
  38278. #define TMR_CMPLD1_COMPARATOR_LOAD_1_MASK (0xFFFFU)
  38279. #define TMR_CMPLD1_COMPARATOR_LOAD_1_SHIFT (0U)
  38280. #define TMR_CMPLD1_COMPARATOR_LOAD_1(x) (((uint16_t)(((uint16_t)(x)) << TMR_CMPLD1_COMPARATOR_LOAD_1_SHIFT)) & TMR_CMPLD1_COMPARATOR_LOAD_1_MASK)
  38281. /*! @} */
  38282. /* The count of TMR_CMPLD1 */
  38283. #define TMR_CMPLD1_COUNT (4U)
  38284. /*! @name CMPLD2 - Timer Channel Comparator Load Register 2 */
  38285. /*! @{ */
  38286. #define TMR_CMPLD2_COMPARATOR_LOAD_2_MASK (0xFFFFU)
  38287. #define TMR_CMPLD2_COMPARATOR_LOAD_2_SHIFT (0U)
  38288. #define TMR_CMPLD2_COMPARATOR_LOAD_2(x) (((uint16_t)(((uint16_t)(x)) << TMR_CMPLD2_COMPARATOR_LOAD_2_SHIFT)) & TMR_CMPLD2_COMPARATOR_LOAD_2_MASK)
  38289. /*! @} */
  38290. /* The count of TMR_CMPLD2 */
  38291. #define TMR_CMPLD2_COUNT (4U)
  38292. /*! @name CSCTRL - Timer Channel Comparator Status and Control Register */
  38293. /*! @{ */
  38294. #define TMR_CSCTRL_CL1_MASK (0x3U)
  38295. #define TMR_CSCTRL_CL1_SHIFT (0U)
  38296. /*! CL1 - Compare Load Control 1
  38297. * 0b00..Never preload
  38298. * 0b01..Load upon successful compare with the value in COMP1
  38299. * 0b10..Load upon successful compare with the value in COMP2
  38300. * 0b11..Reserved
  38301. */
  38302. #define TMR_CSCTRL_CL1(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_CL1_SHIFT)) & TMR_CSCTRL_CL1_MASK)
  38303. #define TMR_CSCTRL_CL2_MASK (0xCU)
  38304. #define TMR_CSCTRL_CL2_SHIFT (2U)
  38305. /*! CL2 - Compare Load Control 2
  38306. * 0b00..Never preload
  38307. * 0b01..Load upon successful compare with the value in COMP1
  38308. * 0b10..Load upon successful compare with the value in COMP2
  38309. * 0b11..Reserved
  38310. */
  38311. #define TMR_CSCTRL_CL2(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_CL2_SHIFT)) & TMR_CSCTRL_CL2_MASK)
  38312. #define TMR_CSCTRL_TCF1_MASK (0x10U)
  38313. #define TMR_CSCTRL_TCF1_SHIFT (4U)
  38314. /*! TCF1 - Timer Compare 1 Interrupt Flag
  38315. */
  38316. #define TMR_CSCTRL_TCF1(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCF1_SHIFT)) & TMR_CSCTRL_TCF1_MASK)
  38317. #define TMR_CSCTRL_TCF2_MASK (0x20U)
  38318. #define TMR_CSCTRL_TCF2_SHIFT (5U)
  38319. /*! TCF2 - Timer Compare 2 Interrupt Flag
  38320. */
  38321. #define TMR_CSCTRL_TCF2(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCF2_SHIFT)) & TMR_CSCTRL_TCF2_MASK)
  38322. #define TMR_CSCTRL_TCF1EN_MASK (0x40U)
  38323. #define TMR_CSCTRL_TCF1EN_SHIFT (6U)
  38324. /*! TCF1EN - Timer Compare 1 Interrupt Enable
  38325. */
  38326. #define TMR_CSCTRL_TCF1EN(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCF1EN_SHIFT)) & TMR_CSCTRL_TCF1EN_MASK)
  38327. #define TMR_CSCTRL_TCF2EN_MASK (0x80U)
  38328. #define TMR_CSCTRL_TCF2EN_SHIFT (7U)
  38329. /*! TCF2EN - Timer Compare 2 Interrupt Enable
  38330. */
  38331. #define TMR_CSCTRL_TCF2EN(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCF2EN_SHIFT)) & TMR_CSCTRL_TCF2EN_MASK)
  38332. #define TMR_CSCTRL_UP_MASK (0x200U)
  38333. #define TMR_CSCTRL_UP_SHIFT (9U)
  38334. /*! UP - Counting Direction Indicator
  38335. * 0b0..The last count was in the DOWN direction.
  38336. * 0b1..The last count was in the UP direction.
  38337. */
  38338. #define TMR_CSCTRL_UP(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_UP_SHIFT)) & TMR_CSCTRL_UP_MASK)
  38339. #define TMR_CSCTRL_TCI_MASK (0x400U)
  38340. #define TMR_CSCTRL_TCI_SHIFT (10U)
  38341. /*! TCI - Triggered Count Initialization Control
  38342. * 0b0..Stop counter upon receiving a second trigger event while still counting from the first trigger event.
  38343. * 0b1..Reload the counter upon receiving a second trigger event while still counting from the first trigger event.
  38344. */
  38345. #define TMR_CSCTRL_TCI(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCI_SHIFT)) & TMR_CSCTRL_TCI_MASK)
  38346. #define TMR_CSCTRL_ROC_MASK (0x800U)
  38347. #define TMR_CSCTRL_ROC_SHIFT (11U)
  38348. /*! ROC - Reload on Capture
  38349. * 0b0..Do not reload the counter on a capture event.
  38350. * 0b1..Reload the counter on a capture event.
  38351. */
  38352. #define TMR_CSCTRL_ROC(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_ROC_SHIFT)) & TMR_CSCTRL_ROC_MASK)
  38353. #define TMR_CSCTRL_ALT_LOAD_MASK (0x1000U)
  38354. #define TMR_CSCTRL_ALT_LOAD_SHIFT (12U)
  38355. /*! ALT_LOAD - Alternative Load Enable
  38356. * 0b0..Counter can be re-initialized only with the LOAD register.
  38357. * 0b1..Counter can be re-initialized with the LOAD or CMPLD2 registers depending on count direction.
  38358. */
  38359. #define TMR_CSCTRL_ALT_LOAD(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_ALT_LOAD_SHIFT)) & TMR_CSCTRL_ALT_LOAD_MASK)
  38360. #define TMR_CSCTRL_FAULT_MASK (0x2000U)
  38361. #define TMR_CSCTRL_FAULT_SHIFT (13U)
  38362. /*! FAULT - Fault Enable
  38363. * 0b0..Fault function disabled.
  38364. * 0b1..Fault function enabled.
  38365. */
  38366. #define TMR_CSCTRL_FAULT(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_FAULT_SHIFT)) & TMR_CSCTRL_FAULT_MASK)
  38367. #define TMR_CSCTRL_DBG_EN_MASK (0xC000U)
  38368. #define TMR_CSCTRL_DBG_EN_SHIFT (14U)
  38369. /*! DBG_EN - Debug Actions Enable
  38370. * 0b00..Continue with normal operation during debug mode. (default)
  38371. * 0b01..Halt TMR counter during debug mode.
  38372. * 0b10..Force TMR output to logic 0 (prior to consideration of SCTRL[OPS]).
  38373. * 0b11..Both halt counter and force output to 0 during debug mode.
  38374. */
  38375. #define TMR_CSCTRL_DBG_EN(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_DBG_EN_SHIFT)) & TMR_CSCTRL_DBG_EN_MASK)
  38376. /*! @} */
  38377. /* The count of TMR_CSCTRL */
  38378. #define TMR_CSCTRL_COUNT (4U)
  38379. /*! @name FILT - Timer Channel Input Filter Register */
  38380. /*! @{ */
  38381. #define TMR_FILT_FILT_PER_MASK (0xFFU)
  38382. #define TMR_FILT_FILT_PER_SHIFT (0U)
  38383. /*! FILT_PER - Input Filter Sample Period
  38384. */
  38385. #define TMR_FILT_FILT_PER(x) (((uint16_t)(((uint16_t)(x)) << TMR_FILT_FILT_PER_SHIFT)) & TMR_FILT_FILT_PER_MASK)
  38386. #define TMR_FILT_FILT_CNT_MASK (0x700U)
  38387. #define TMR_FILT_FILT_CNT_SHIFT (8U)
  38388. /*! FILT_CNT - Input Filter Sample Count
  38389. */
  38390. #define TMR_FILT_FILT_CNT(x) (((uint16_t)(((uint16_t)(x)) << TMR_FILT_FILT_CNT_SHIFT)) & TMR_FILT_FILT_CNT_MASK)
  38391. /*! @} */
  38392. /* The count of TMR_FILT */
  38393. #define TMR_FILT_COUNT (4U)
  38394. /*! @name DMA - Timer Channel DMA Enable Register */
  38395. /*! @{ */
  38396. #define TMR_DMA_IEFDE_MASK (0x1U)
  38397. #define TMR_DMA_IEFDE_SHIFT (0U)
  38398. /*! IEFDE - Input Edge Flag DMA Enable
  38399. */
  38400. #define TMR_DMA_IEFDE(x) (((uint16_t)(((uint16_t)(x)) << TMR_DMA_IEFDE_SHIFT)) & TMR_DMA_IEFDE_MASK)
  38401. #define TMR_DMA_CMPLD1DE_MASK (0x2U)
  38402. #define TMR_DMA_CMPLD1DE_SHIFT (1U)
  38403. /*! CMPLD1DE - Comparator Preload Register 1 DMA Enable
  38404. */
  38405. #define TMR_DMA_CMPLD1DE(x) (((uint16_t)(((uint16_t)(x)) << TMR_DMA_CMPLD1DE_SHIFT)) & TMR_DMA_CMPLD1DE_MASK)
  38406. #define TMR_DMA_CMPLD2DE_MASK (0x4U)
  38407. #define TMR_DMA_CMPLD2DE_SHIFT (2U)
  38408. /*! CMPLD2DE - Comparator Preload Register 2 DMA Enable
  38409. */
  38410. #define TMR_DMA_CMPLD2DE(x) (((uint16_t)(((uint16_t)(x)) << TMR_DMA_CMPLD2DE_SHIFT)) & TMR_DMA_CMPLD2DE_MASK)
  38411. /*! @} */
  38412. /* The count of TMR_DMA */
  38413. #define TMR_DMA_COUNT (4U)
  38414. /*! @name ENBL - Timer Channel Enable Register */
  38415. /*! @{ */
  38416. #define TMR_ENBL_ENBL_MASK (0xFU)
  38417. #define TMR_ENBL_ENBL_SHIFT (0U)
  38418. /*! ENBL - Timer Channel Enable
  38419. * 0b0000..Timer channel is disabled.
  38420. * 0b0001..Timer channel is enabled. (default)
  38421. */
  38422. #define TMR_ENBL_ENBL(x) (((uint16_t)(((uint16_t)(x)) << TMR_ENBL_ENBL_SHIFT)) & TMR_ENBL_ENBL_MASK)
  38423. /*! @} */
  38424. /* The count of TMR_ENBL */
  38425. #define TMR_ENBL_COUNT (4U)
  38426. /*!
  38427. * @}
  38428. */ /* end of group TMR_Register_Masks */
  38429. /* TMR - Peripheral instance base addresses */
  38430. /** Peripheral TMR1 base address */
  38431. #define TMR1_BASE (0x401DC000u)
  38432. /** Peripheral TMR1 base pointer */
  38433. #define TMR1 ((TMR_Type *)TMR1_BASE)
  38434. /** Peripheral TMR2 base address */
  38435. #define TMR2_BASE (0x401E0000u)
  38436. /** Peripheral TMR2 base pointer */
  38437. #define TMR2 ((TMR_Type *)TMR2_BASE)
  38438. /** Peripheral TMR3 base address */
  38439. #define TMR3_BASE (0x401E4000u)
  38440. /** Peripheral TMR3 base pointer */
  38441. #define TMR3 ((TMR_Type *)TMR3_BASE)
  38442. /** Peripheral TMR4 base address */
  38443. #define TMR4_BASE (0x401E8000u)
  38444. /** Peripheral TMR4 base pointer */
  38445. #define TMR4 ((TMR_Type *)TMR4_BASE)
  38446. /** Array initializer of TMR peripheral base addresses */
  38447. #define TMR_BASE_ADDRS { 0u, TMR1_BASE, TMR2_BASE, TMR3_BASE, TMR4_BASE }
  38448. /** Array initializer of TMR peripheral base pointers */
  38449. #define TMR_BASE_PTRS { (TMR_Type *)0u, TMR1, TMR2, TMR3, TMR4 }
  38450. /** Interrupt vectors for the TMR peripheral type */
  38451. #define TMR_IRQS { NotAvail_IRQn, TMR1_IRQn, TMR2_IRQn, TMR3_IRQn, TMR4_IRQn }
  38452. /*!
  38453. * @}
  38454. */ /* end of group TMR_Peripheral_Access_Layer */
  38455. /* ----------------------------------------------------------------------------
  38456. -- TRNG Peripheral Access Layer
  38457. ---------------------------------------------------------------------------- */
  38458. /*!
  38459. * @addtogroup TRNG_Peripheral_Access_Layer TRNG Peripheral Access Layer
  38460. * @{
  38461. */
  38462. /** TRNG - Register Layout Typedef */
  38463. typedef struct {
  38464. __IO uint32_t MCTL; /**< Miscellaneous Control Register, offset: 0x0 */
  38465. __IO uint32_t SCMISC; /**< Statistical Check Miscellaneous Register, offset: 0x4 */
  38466. __IO uint32_t PKRRNG; /**< Poker Range Register, offset: 0x8 */
  38467. union { /* offset: 0xC */
  38468. __IO uint32_t PKRMAX; /**< Poker Maximum Limit Register, offset: 0xC */
  38469. __I uint32_t PKRSQ; /**< Poker Square Calculation Result Register, offset: 0xC */
  38470. };
  38471. __IO uint32_t SDCTL; /**< Seed Control Register, offset: 0x10 */
  38472. union { /* offset: 0x14 */
  38473. __IO uint32_t SBLIM; /**< Sparse Bit Limit Register, offset: 0x14 */
  38474. __I uint32_t TOTSAM; /**< Total Samples Register, offset: 0x14 */
  38475. };
  38476. __IO uint32_t FRQMIN; /**< Frequency Count Minimum Limit Register, offset: 0x18 */
  38477. union { /* offset: 0x1C */
  38478. __I uint32_t FRQCNT; /**< Frequency Count Register, offset: 0x1C */
  38479. __IO uint32_t FRQMAX; /**< Frequency Count Maximum Limit Register, offset: 0x1C */
  38480. };
  38481. union { /* offset: 0x20 */
  38482. __I uint32_t SCMC; /**< Statistical Check Monobit Count Register, offset: 0x20 */
  38483. __IO uint32_t SCML; /**< Statistical Check Monobit Limit Register, offset: 0x20 */
  38484. };
  38485. union { /* offset: 0x24 */
  38486. __I uint32_t SCR1C; /**< Statistical Check Run Length 1 Count Register, offset: 0x24 */
  38487. __IO uint32_t SCR1L; /**< Statistical Check Run Length 1 Limit Register, offset: 0x24 */
  38488. };
  38489. union { /* offset: 0x28 */
  38490. __I uint32_t SCR2C; /**< Statistical Check Run Length 2 Count Register, offset: 0x28 */
  38491. __IO uint32_t SCR2L; /**< Statistical Check Run Length 2 Limit Register, offset: 0x28 */
  38492. };
  38493. union { /* offset: 0x2C */
  38494. __I uint32_t SCR3C; /**< Statistical Check Run Length 3 Count Register, offset: 0x2C */
  38495. __IO uint32_t SCR3L; /**< Statistical Check Run Length 3 Limit Register, offset: 0x2C */
  38496. };
  38497. union { /* offset: 0x30 */
  38498. __I uint32_t SCR4C; /**< Statistical Check Run Length 4 Count Register, offset: 0x30 */
  38499. __IO uint32_t SCR4L; /**< Statistical Check Run Length 4 Limit Register, offset: 0x30 */
  38500. };
  38501. union { /* offset: 0x34 */
  38502. __I uint32_t SCR5C; /**< Statistical Check Run Length 5 Count Register, offset: 0x34 */
  38503. __IO uint32_t SCR5L; /**< Statistical Check Run Length 5 Limit Register, offset: 0x34 */
  38504. };
  38505. union { /* offset: 0x38 */
  38506. __I uint32_t SCR6PC; /**< Statistical Check Run Length 6+ Count Register, offset: 0x38 */
  38507. __IO uint32_t SCR6PL; /**< Statistical Check Run Length 6+ Limit Register, offset: 0x38 */
  38508. };
  38509. __I uint32_t STATUS; /**< Status Register, offset: 0x3C */
  38510. __I uint32_t ENT[16]; /**< Entropy Read Register, array offset: 0x40, array step: 0x4 */
  38511. __I uint32_t PKRCNT10; /**< Statistical Check Poker Count 1 and 0 Register, offset: 0x80 */
  38512. __I uint32_t PKRCNT32; /**< Statistical Check Poker Count 3 and 2 Register, offset: 0x84 */
  38513. __I uint32_t PKRCNT54; /**< Statistical Check Poker Count 5 and 4 Register, offset: 0x88 */
  38514. __I uint32_t PKRCNT76; /**< Statistical Check Poker Count 7 and 6 Register, offset: 0x8C */
  38515. __I uint32_t PKRCNT98; /**< Statistical Check Poker Count 9 and 8 Register, offset: 0x90 */
  38516. __I uint32_t PKRCNTBA; /**< Statistical Check Poker Count B and A Register, offset: 0x94 */
  38517. __I uint32_t PKRCNTDC; /**< Statistical Check Poker Count D and C Register, offset: 0x98 */
  38518. __I uint32_t PKRCNTFE; /**< Statistical Check Poker Count F and E Register, offset: 0x9C */
  38519. __IO uint32_t SEC_CFG; /**< Security Configuration Register, offset: 0xA0 */
  38520. __IO uint32_t INT_CTRL; /**< Interrupt Control Register, offset: 0xA4 */
  38521. __IO uint32_t INT_MASK; /**< Mask Register, offset: 0xA8 */
  38522. __I uint32_t INT_STATUS; /**< Interrupt Status Register, offset: 0xAC */
  38523. uint8_t RESERVED_0[64];
  38524. __I uint32_t VID1; /**< Version ID Register (MS), offset: 0xF0 */
  38525. __I uint32_t VID2; /**< Version ID Register (LS), offset: 0xF4 */
  38526. } TRNG_Type;
  38527. /* ----------------------------------------------------------------------------
  38528. -- TRNG Register Masks
  38529. ---------------------------------------------------------------------------- */
  38530. /*!
  38531. * @addtogroup TRNG_Register_Masks TRNG Register Masks
  38532. * @{
  38533. */
  38534. /*! @name MCTL - Miscellaneous Control Register */
  38535. /*! @{ */
  38536. #define TRNG_MCTL_SAMP_MODE_MASK (0x3U)
  38537. #define TRNG_MCTL_SAMP_MODE_SHIFT (0U)
  38538. /*! SAMP_MODE
  38539. * 0b00..use Von Neumann data into both Entropy shifter and Statistical Checker
  38540. * 0b01..use raw data into both Entropy shifter and Statistical Checker
  38541. * 0b10..use Von Neumann data into Entropy shifter. Use raw data into Statistical Checker
  38542. * 0b11..undefined/reserved.
  38543. */
  38544. #define TRNG_MCTL_SAMP_MODE(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_SAMP_MODE_SHIFT)) & TRNG_MCTL_SAMP_MODE_MASK)
  38545. #define TRNG_MCTL_OSC_DIV_MASK (0xCU)
  38546. #define TRNG_MCTL_OSC_DIV_SHIFT (2U)
  38547. /*! OSC_DIV
  38548. * 0b00..use ring oscillator with no divide
  38549. * 0b01..use ring oscillator divided-by-2
  38550. * 0b10..use ring oscillator divided-by-4
  38551. * 0b11..use ring oscillator divided-by-8
  38552. */
  38553. #define TRNG_MCTL_OSC_DIV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_OSC_DIV_SHIFT)) & TRNG_MCTL_OSC_DIV_MASK)
  38554. #define TRNG_MCTL_UNUSED4_MASK (0x10U)
  38555. #define TRNG_MCTL_UNUSED4_SHIFT (4U)
  38556. #define TRNG_MCTL_UNUSED4(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_UNUSED4_SHIFT)) & TRNG_MCTL_UNUSED4_MASK)
  38557. #define TRNG_MCTL_UNUSED5_MASK (0x20U)
  38558. #define TRNG_MCTL_UNUSED5_SHIFT (5U)
  38559. #define TRNG_MCTL_UNUSED5(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_UNUSED5_SHIFT)) & TRNG_MCTL_UNUSED5_MASK)
  38560. #define TRNG_MCTL_RST_DEF_MASK (0x40U)
  38561. #define TRNG_MCTL_RST_DEF_SHIFT (6U)
  38562. #define TRNG_MCTL_RST_DEF(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_RST_DEF_SHIFT)) & TRNG_MCTL_RST_DEF_MASK)
  38563. #define TRNG_MCTL_FOR_SCLK_MASK (0x80U)
  38564. #define TRNG_MCTL_FOR_SCLK_SHIFT (7U)
  38565. #define TRNG_MCTL_FOR_SCLK(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_FOR_SCLK_SHIFT)) & TRNG_MCTL_FOR_SCLK_MASK)
  38566. #define TRNG_MCTL_FCT_FAIL_MASK (0x100U)
  38567. #define TRNG_MCTL_FCT_FAIL_SHIFT (8U)
  38568. #define TRNG_MCTL_FCT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_FCT_FAIL_SHIFT)) & TRNG_MCTL_FCT_FAIL_MASK)
  38569. #define TRNG_MCTL_FCT_VAL_MASK (0x200U)
  38570. #define TRNG_MCTL_FCT_VAL_SHIFT (9U)
  38571. #define TRNG_MCTL_FCT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_FCT_VAL_SHIFT)) & TRNG_MCTL_FCT_VAL_MASK)
  38572. #define TRNG_MCTL_ENT_VAL_MASK (0x400U)
  38573. #define TRNG_MCTL_ENT_VAL_SHIFT (10U)
  38574. #define TRNG_MCTL_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_ENT_VAL_SHIFT)) & TRNG_MCTL_ENT_VAL_MASK)
  38575. #define TRNG_MCTL_TST_OUT_MASK (0x800U)
  38576. #define TRNG_MCTL_TST_OUT_SHIFT (11U)
  38577. #define TRNG_MCTL_TST_OUT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_TST_OUT_SHIFT)) & TRNG_MCTL_TST_OUT_MASK)
  38578. #define TRNG_MCTL_ERR_MASK (0x1000U)
  38579. #define TRNG_MCTL_ERR_SHIFT (12U)
  38580. #define TRNG_MCTL_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_ERR_SHIFT)) & TRNG_MCTL_ERR_MASK)
  38581. #define TRNG_MCTL_TSTOP_OK_MASK (0x2000U)
  38582. #define TRNG_MCTL_TSTOP_OK_SHIFT (13U)
  38583. #define TRNG_MCTL_TSTOP_OK(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_TSTOP_OK_SHIFT)) & TRNG_MCTL_TSTOP_OK_MASK)
  38584. #define TRNG_MCTL_LRUN_CONT_MASK (0x4000U)
  38585. #define TRNG_MCTL_LRUN_CONT_SHIFT (14U)
  38586. #define TRNG_MCTL_LRUN_CONT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_LRUN_CONT_SHIFT)) & TRNG_MCTL_LRUN_CONT_MASK)
  38587. #define TRNG_MCTL_PRGM_MASK (0x10000U)
  38588. #define TRNG_MCTL_PRGM_SHIFT (16U)
  38589. #define TRNG_MCTL_PRGM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_PRGM_SHIFT)) & TRNG_MCTL_PRGM_MASK)
  38590. /*! @} */
  38591. /*! @name SCMISC - Statistical Check Miscellaneous Register */
  38592. /*! @{ */
  38593. #define TRNG_SCMISC_LRUN_MAX_MASK (0xFFU)
  38594. #define TRNG_SCMISC_LRUN_MAX_SHIFT (0U)
  38595. #define TRNG_SCMISC_LRUN_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCMISC_LRUN_MAX_SHIFT)) & TRNG_SCMISC_LRUN_MAX_MASK)
  38596. #define TRNG_SCMISC_RTY_CT_MASK (0xF0000U)
  38597. #define TRNG_SCMISC_RTY_CT_SHIFT (16U)
  38598. #define TRNG_SCMISC_RTY_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCMISC_RTY_CT_SHIFT)) & TRNG_SCMISC_RTY_CT_MASK)
  38599. /*! @} */
  38600. /*! @name PKRRNG - Poker Range Register */
  38601. /*! @{ */
  38602. #define TRNG_PKRRNG_PKR_RNG_MASK (0xFFFFU)
  38603. #define TRNG_PKRRNG_PKR_RNG_SHIFT (0U)
  38604. #define TRNG_PKRRNG_PKR_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRRNG_PKR_RNG_SHIFT)) & TRNG_PKRRNG_PKR_RNG_MASK)
  38605. /*! @} */
  38606. /*! @name PKRMAX - Poker Maximum Limit Register */
  38607. /*! @{ */
  38608. #define TRNG_PKRMAX_PKR_MAX_MASK (0xFFFFFFU)
  38609. #define TRNG_PKRMAX_PKR_MAX_SHIFT (0U)
  38610. /*! PKR_MAX - Poker Maximum Limit.
  38611. */
  38612. #define TRNG_PKRMAX_PKR_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRMAX_PKR_MAX_SHIFT)) & TRNG_PKRMAX_PKR_MAX_MASK)
  38613. /*! @} */
  38614. /*! @name PKRSQ - Poker Square Calculation Result Register */
  38615. /*! @{ */
  38616. #define TRNG_PKRSQ_PKR_SQ_MASK (0xFFFFFFU)
  38617. #define TRNG_PKRSQ_PKR_SQ_SHIFT (0U)
  38618. /*! PKR_SQ - Poker Square Calculation Result.
  38619. */
  38620. #define TRNG_PKRSQ_PKR_SQ(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRSQ_PKR_SQ_SHIFT)) & TRNG_PKRSQ_PKR_SQ_MASK)
  38621. /*! @} */
  38622. /*! @name SDCTL - Seed Control Register */
  38623. /*! @{ */
  38624. #define TRNG_SDCTL_SAMP_SIZE_MASK (0xFFFFU)
  38625. #define TRNG_SDCTL_SAMP_SIZE_SHIFT (0U)
  38626. #define TRNG_SDCTL_SAMP_SIZE(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SDCTL_SAMP_SIZE_SHIFT)) & TRNG_SDCTL_SAMP_SIZE_MASK)
  38627. #define TRNG_SDCTL_ENT_DLY_MASK (0xFFFF0000U)
  38628. #define TRNG_SDCTL_ENT_DLY_SHIFT (16U)
  38629. #define TRNG_SDCTL_ENT_DLY(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SDCTL_ENT_DLY_SHIFT)) & TRNG_SDCTL_ENT_DLY_MASK)
  38630. /*! @} */
  38631. /*! @name SBLIM - Sparse Bit Limit Register */
  38632. /*! @{ */
  38633. #define TRNG_SBLIM_SB_LIM_MASK (0x3FFU)
  38634. #define TRNG_SBLIM_SB_LIM_SHIFT (0U)
  38635. #define TRNG_SBLIM_SB_LIM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SBLIM_SB_LIM_SHIFT)) & TRNG_SBLIM_SB_LIM_MASK)
  38636. /*! @} */
  38637. /*! @name TOTSAM - Total Samples Register */
  38638. /*! @{ */
  38639. #define TRNG_TOTSAM_TOT_SAM_MASK (0xFFFFFU)
  38640. #define TRNG_TOTSAM_TOT_SAM_SHIFT (0U)
  38641. #define TRNG_TOTSAM_TOT_SAM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_TOTSAM_TOT_SAM_SHIFT)) & TRNG_TOTSAM_TOT_SAM_MASK)
  38642. /*! @} */
  38643. /*! @name FRQMIN - Frequency Count Minimum Limit Register */
  38644. /*! @{ */
  38645. #define TRNG_FRQMIN_FRQ_MIN_MASK (0x3FFFFFU)
  38646. #define TRNG_FRQMIN_FRQ_MIN_SHIFT (0U)
  38647. #define TRNG_FRQMIN_FRQ_MIN(x) (((uint32_t)(((uint32_t)(x)) << TRNG_FRQMIN_FRQ_MIN_SHIFT)) & TRNG_FRQMIN_FRQ_MIN_MASK)
  38648. /*! @} */
  38649. /*! @name FRQCNT - Frequency Count Register */
  38650. /*! @{ */
  38651. #define TRNG_FRQCNT_FRQ_CT_MASK (0x3FFFFFU)
  38652. #define TRNG_FRQCNT_FRQ_CT_SHIFT (0U)
  38653. #define TRNG_FRQCNT_FRQ_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_FRQCNT_FRQ_CT_SHIFT)) & TRNG_FRQCNT_FRQ_CT_MASK)
  38654. /*! @} */
  38655. /*! @name FRQMAX - Frequency Count Maximum Limit Register */
  38656. /*! @{ */
  38657. #define TRNG_FRQMAX_FRQ_MAX_MASK (0x3FFFFFU)
  38658. #define TRNG_FRQMAX_FRQ_MAX_SHIFT (0U)
  38659. #define TRNG_FRQMAX_FRQ_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_FRQMAX_FRQ_MAX_SHIFT)) & TRNG_FRQMAX_FRQ_MAX_MASK)
  38660. /*! @} */
  38661. /*! @name SCMC - Statistical Check Monobit Count Register */
  38662. /*! @{ */
  38663. #define TRNG_SCMC_MONO_CT_MASK (0xFFFFU)
  38664. #define TRNG_SCMC_MONO_CT_SHIFT (0U)
  38665. #define TRNG_SCMC_MONO_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCMC_MONO_CT_SHIFT)) & TRNG_SCMC_MONO_CT_MASK)
  38666. /*! @} */
  38667. /*! @name SCML - Statistical Check Monobit Limit Register */
  38668. /*! @{ */
  38669. #define TRNG_SCML_MONO_MAX_MASK (0xFFFFU)
  38670. #define TRNG_SCML_MONO_MAX_SHIFT (0U)
  38671. #define TRNG_SCML_MONO_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCML_MONO_MAX_SHIFT)) & TRNG_SCML_MONO_MAX_MASK)
  38672. #define TRNG_SCML_MONO_RNG_MASK (0xFFFF0000U)
  38673. #define TRNG_SCML_MONO_RNG_SHIFT (16U)
  38674. #define TRNG_SCML_MONO_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCML_MONO_RNG_SHIFT)) & TRNG_SCML_MONO_RNG_MASK)
  38675. /*! @} */
  38676. /*! @name SCR1C - Statistical Check Run Length 1 Count Register */
  38677. /*! @{ */
  38678. #define TRNG_SCR1C_R1_0_CT_MASK (0x7FFFU)
  38679. #define TRNG_SCR1C_R1_0_CT_SHIFT (0U)
  38680. #define TRNG_SCR1C_R1_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1C_R1_0_CT_SHIFT)) & TRNG_SCR1C_R1_0_CT_MASK)
  38681. #define TRNG_SCR1C_R1_1_CT_MASK (0x7FFF0000U)
  38682. #define TRNG_SCR1C_R1_1_CT_SHIFT (16U)
  38683. #define TRNG_SCR1C_R1_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1C_R1_1_CT_SHIFT)) & TRNG_SCR1C_R1_1_CT_MASK)
  38684. /*! @} */
  38685. /*! @name SCR1L - Statistical Check Run Length 1 Limit Register */
  38686. /*! @{ */
  38687. #define TRNG_SCR1L_RUN1_MAX_MASK (0x7FFFU)
  38688. #define TRNG_SCR1L_RUN1_MAX_SHIFT (0U)
  38689. #define TRNG_SCR1L_RUN1_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1L_RUN1_MAX_SHIFT)) & TRNG_SCR1L_RUN1_MAX_MASK)
  38690. #define TRNG_SCR1L_RUN1_RNG_MASK (0x7FFF0000U)
  38691. #define TRNG_SCR1L_RUN1_RNG_SHIFT (16U)
  38692. #define TRNG_SCR1L_RUN1_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1L_RUN1_RNG_SHIFT)) & TRNG_SCR1L_RUN1_RNG_MASK)
  38693. /*! @} */
  38694. /*! @name SCR2C - Statistical Check Run Length 2 Count Register */
  38695. /*! @{ */
  38696. #define TRNG_SCR2C_R2_0_CT_MASK (0x3FFFU)
  38697. #define TRNG_SCR2C_R2_0_CT_SHIFT (0U)
  38698. #define TRNG_SCR2C_R2_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2C_R2_0_CT_SHIFT)) & TRNG_SCR2C_R2_0_CT_MASK)
  38699. #define TRNG_SCR2C_R2_1_CT_MASK (0x3FFF0000U)
  38700. #define TRNG_SCR2C_R2_1_CT_SHIFT (16U)
  38701. #define TRNG_SCR2C_R2_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2C_R2_1_CT_SHIFT)) & TRNG_SCR2C_R2_1_CT_MASK)
  38702. /*! @} */
  38703. /*! @name SCR2L - Statistical Check Run Length 2 Limit Register */
  38704. /*! @{ */
  38705. #define TRNG_SCR2L_RUN2_MAX_MASK (0x3FFFU)
  38706. #define TRNG_SCR2L_RUN2_MAX_SHIFT (0U)
  38707. #define TRNG_SCR2L_RUN2_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2L_RUN2_MAX_SHIFT)) & TRNG_SCR2L_RUN2_MAX_MASK)
  38708. #define TRNG_SCR2L_RUN2_RNG_MASK (0x3FFF0000U)
  38709. #define TRNG_SCR2L_RUN2_RNG_SHIFT (16U)
  38710. #define TRNG_SCR2L_RUN2_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2L_RUN2_RNG_SHIFT)) & TRNG_SCR2L_RUN2_RNG_MASK)
  38711. /*! @} */
  38712. /*! @name SCR3C - Statistical Check Run Length 3 Count Register */
  38713. /*! @{ */
  38714. #define TRNG_SCR3C_R3_0_CT_MASK (0x1FFFU)
  38715. #define TRNG_SCR3C_R3_0_CT_SHIFT (0U)
  38716. #define TRNG_SCR3C_R3_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3C_R3_0_CT_SHIFT)) & TRNG_SCR3C_R3_0_CT_MASK)
  38717. #define TRNG_SCR3C_R3_1_CT_MASK (0x1FFF0000U)
  38718. #define TRNG_SCR3C_R3_1_CT_SHIFT (16U)
  38719. #define TRNG_SCR3C_R3_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3C_R3_1_CT_SHIFT)) & TRNG_SCR3C_R3_1_CT_MASK)
  38720. /*! @} */
  38721. /*! @name SCR3L - Statistical Check Run Length 3 Limit Register */
  38722. /*! @{ */
  38723. #define TRNG_SCR3L_RUN3_MAX_MASK (0x1FFFU)
  38724. #define TRNG_SCR3L_RUN3_MAX_SHIFT (0U)
  38725. #define TRNG_SCR3L_RUN3_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3L_RUN3_MAX_SHIFT)) & TRNG_SCR3L_RUN3_MAX_MASK)
  38726. #define TRNG_SCR3L_RUN3_RNG_MASK (0x1FFF0000U)
  38727. #define TRNG_SCR3L_RUN3_RNG_SHIFT (16U)
  38728. #define TRNG_SCR3L_RUN3_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3L_RUN3_RNG_SHIFT)) & TRNG_SCR3L_RUN3_RNG_MASK)
  38729. /*! @} */
  38730. /*! @name SCR4C - Statistical Check Run Length 4 Count Register */
  38731. /*! @{ */
  38732. #define TRNG_SCR4C_R4_0_CT_MASK (0xFFFU)
  38733. #define TRNG_SCR4C_R4_0_CT_SHIFT (0U)
  38734. #define TRNG_SCR4C_R4_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4C_R4_0_CT_SHIFT)) & TRNG_SCR4C_R4_0_CT_MASK)
  38735. #define TRNG_SCR4C_R4_1_CT_MASK (0xFFF0000U)
  38736. #define TRNG_SCR4C_R4_1_CT_SHIFT (16U)
  38737. #define TRNG_SCR4C_R4_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4C_R4_1_CT_SHIFT)) & TRNG_SCR4C_R4_1_CT_MASK)
  38738. /*! @} */
  38739. /*! @name SCR4L - Statistical Check Run Length 4 Limit Register */
  38740. /*! @{ */
  38741. #define TRNG_SCR4L_RUN4_MAX_MASK (0xFFFU)
  38742. #define TRNG_SCR4L_RUN4_MAX_SHIFT (0U)
  38743. #define TRNG_SCR4L_RUN4_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4L_RUN4_MAX_SHIFT)) & TRNG_SCR4L_RUN4_MAX_MASK)
  38744. #define TRNG_SCR4L_RUN4_RNG_MASK (0xFFF0000U)
  38745. #define TRNG_SCR4L_RUN4_RNG_SHIFT (16U)
  38746. #define TRNG_SCR4L_RUN4_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4L_RUN4_RNG_SHIFT)) & TRNG_SCR4L_RUN4_RNG_MASK)
  38747. /*! @} */
  38748. /*! @name SCR5C - Statistical Check Run Length 5 Count Register */
  38749. /*! @{ */
  38750. #define TRNG_SCR5C_R5_0_CT_MASK (0x7FFU)
  38751. #define TRNG_SCR5C_R5_0_CT_SHIFT (0U)
  38752. #define TRNG_SCR5C_R5_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5C_R5_0_CT_SHIFT)) & TRNG_SCR5C_R5_0_CT_MASK)
  38753. #define TRNG_SCR5C_R5_1_CT_MASK (0x7FF0000U)
  38754. #define TRNG_SCR5C_R5_1_CT_SHIFT (16U)
  38755. #define TRNG_SCR5C_R5_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5C_R5_1_CT_SHIFT)) & TRNG_SCR5C_R5_1_CT_MASK)
  38756. /*! @} */
  38757. /*! @name SCR5L - Statistical Check Run Length 5 Limit Register */
  38758. /*! @{ */
  38759. #define TRNG_SCR5L_RUN5_MAX_MASK (0x7FFU)
  38760. #define TRNG_SCR5L_RUN5_MAX_SHIFT (0U)
  38761. #define TRNG_SCR5L_RUN5_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5L_RUN5_MAX_SHIFT)) & TRNG_SCR5L_RUN5_MAX_MASK)
  38762. #define TRNG_SCR5L_RUN5_RNG_MASK (0x7FF0000U)
  38763. #define TRNG_SCR5L_RUN5_RNG_SHIFT (16U)
  38764. #define TRNG_SCR5L_RUN5_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5L_RUN5_RNG_SHIFT)) & TRNG_SCR5L_RUN5_RNG_MASK)
  38765. /*! @} */
  38766. /*! @name SCR6PC - Statistical Check Run Length 6+ Count Register */
  38767. /*! @{ */
  38768. #define TRNG_SCR6PC_R6P_0_CT_MASK (0x7FFU)
  38769. #define TRNG_SCR6PC_R6P_0_CT_SHIFT (0U)
  38770. #define TRNG_SCR6PC_R6P_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PC_R6P_0_CT_SHIFT)) & TRNG_SCR6PC_R6P_0_CT_MASK)
  38771. #define TRNG_SCR6PC_R6P_1_CT_MASK (0x7FF0000U)
  38772. #define TRNG_SCR6PC_R6P_1_CT_SHIFT (16U)
  38773. #define TRNG_SCR6PC_R6P_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PC_R6P_1_CT_SHIFT)) & TRNG_SCR6PC_R6P_1_CT_MASK)
  38774. /*! @} */
  38775. /*! @name SCR6PL - Statistical Check Run Length 6+ Limit Register */
  38776. /*! @{ */
  38777. #define TRNG_SCR6PL_RUN6P_MAX_MASK (0x7FFU)
  38778. #define TRNG_SCR6PL_RUN6P_MAX_SHIFT (0U)
  38779. #define TRNG_SCR6PL_RUN6P_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PL_RUN6P_MAX_SHIFT)) & TRNG_SCR6PL_RUN6P_MAX_MASK)
  38780. #define TRNG_SCR6PL_RUN6P_RNG_MASK (0x7FF0000U)
  38781. #define TRNG_SCR6PL_RUN6P_RNG_SHIFT (16U)
  38782. #define TRNG_SCR6PL_RUN6P_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PL_RUN6P_RNG_SHIFT)) & TRNG_SCR6PL_RUN6P_RNG_MASK)
  38783. /*! @} */
  38784. /*! @name STATUS - Status Register */
  38785. /*! @{ */
  38786. #define TRNG_STATUS_TF1BR0_MASK (0x1U)
  38787. #define TRNG_STATUS_TF1BR0_SHIFT (0U)
  38788. #define TRNG_STATUS_TF1BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF1BR0_SHIFT)) & TRNG_STATUS_TF1BR0_MASK)
  38789. #define TRNG_STATUS_TF1BR1_MASK (0x2U)
  38790. #define TRNG_STATUS_TF1BR1_SHIFT (1U)
  38791. #define TRNG_STATUS_TF1BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF1BR1_SHIFT)) & TRNG_STATUS_TF1BR1_MASK)
  38792. #define TRNG_STATUS_TF2BR0_MASK (0x4U)
  38793. #define TRNG_STATUS_TF2BR0_SHIFT (2U)
  38794. #define TRNG_STATUS_TF2BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF2BR0_SHIFT)) & TRNG_STATUS_TF2BR0_MASK)
  38795. #define TRNG_STATUS_TF2BR1_MASK (0x8U)
  38796. #define TRNG_STATUS_TF2BR1_SHIFT (3U)
  38797. #define TRNG_STATUS_TF2BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF2BR1_SHIFT)) & TRNG_STATUS_TF2BR1_MASK)
  38798. #define TRNG_STATUS_TF3BR0_MASK (0x10U)
  38799. #define TRNG_STATUS_TF3BR0_SHIFT (4U)
  38800. #define TRNG_STATUS_TF3BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF3BR0_SHIFT)) & TRNG_STATUS_TF3BR0_MASK)
  38801. #define TRNG_STATUS_TF3BR1_MASK (0x20U)
  38802. #define TRNG_STATUS_TF3BR1_SHIFT (5U)
  38803. #define TRNG_STATUS_TF3BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF3BR1_SHIFT)) & TRNG_STATUS_TF3BR1_MASK)
  38804. #define TRNG_STATUS_TF4BR0_MASK (0x40U)
  38805. #define TRNG_STATUS_TF4BR0_SHIFT (6U)
  38806. #define TRNG_STATUS_TF4BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF4BR0_SHIFT)) & TRNG_STATUS_TF4BR0_MASK)
  38807. #define TRNG_STATUS_TF4BR1_MASK (0x80U)
  38808. #define TRNG_STATUS_TF4BR1_SHIFT (7U)
  38809. #define TRNG_STATUS_TF4BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF4BR1_SHIFT)) & TRNG_STATUS_TF4BR1_MASK)
  38810. #define TRNG_STATUS_TF5BR0_MASK (0x100U)
  38811. #define TRNG_STATUS_TF5BR0_SHIFT (8U)
  38812. #define TRNG_STATUS_TF5BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF5BR0_SHIFT)) & TRNG_STATUS_TF5BR0_MASK)
  38813. #define TRNG_STATUS_TF5BR1_MASK (0x200U)
  38814. #define TRNG_STATUS_TF5BR1_SHIFT (9U)
  38815. #define TRNG_STATUS_TF5BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF5BR1_SHIFT)) & TRNG_STATUS_TF5BR1_MASK)
  38816. #define TRNG_STATUS_TF6PBR0_MASK (0x400U)
  38817. #define TRNG_STATUS_TF6PBR0_SHIFT (10U)
  38818. #define TRNG_STATUS_TF6PBR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF6PBR0_SHIFT)) & TRNG_STATUS_TF6PBR0_MASK)
  38819. #define TRNG_STATUS_TF6PBR1_MASK (0x800U)
  38820. #define TRNG_STATUS_TF6PBR1_SHIFT (11U)
  38821. #define TRNG_STATUS_TF6PBR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF6PBR1_SHIFT)) & TRNG_STATUS_TF6PBR1_MASK)
  38822. #define TRNG_STATUS_TFSB_MASK (0x1000U)
  38823. #define TRNG_STATUS_TFSB_SHIFT (12U)
  38824. #define TRNG_STATUS_TFSB(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFSB_SHIFT)) & TRNG_STATUS_TFSB_MASK)
  38825. #define TRNG_STATUS_TFLR_MASK (0x2000U)
  38826. #define TRNG_STATUS_TFLR_SHIFT (13U)
  38827. #define TRNG_STATUS_TFLR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFLR_SHIFT)) & TRNG_STATUS_TFLR_MASK)
  38828. #define TRNG_STATUS_TFP_MASK (0x4000U)
  38829. #define TRNG_STATUS_TFP_SHIFT (14U)
  38830. #define TRNG_STATUS_TFP(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFP_SHIFT)) & TRNG_STATUS_TFP_MASK)
  38831. #define TRNG_STATUS_TFMB_MASK (0x8000U)
  38832. #define TRNG_STATUS_TFMB_SHIFT (15U)
  38833. #define TRNG_STATUS_TFMB(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFMB_SHIFT)) & TRNG_STATUS_TFMB_MASK)
  38834. #define TRNG_STATUS_RETRY_CT_MASK (0xF0000U)
  38835. #define TRNG_STATUS_RETRY_CT_SHIFT (16U)
  38836. #define TRNG_STATUS_RETRY_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_RETRY_CT_SHIFT)) & TRNG_STATUS_RETRY_CT_MASK)
  38837. /*! @} */
  38838. /*! @name ENT - Entropy Read Register */
  38839. /*! @{ */
  38840. #define TRNG_ENT_ENT_MASK (0xFFFFFFFFU)
  38841. #define TRNG_ENT_ENT_SHIFT (0U)
  38842. #define TRNG_ENT_ENT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_ENT_ENT_SHIFT)) & TRNG_ENT_ENT_MASK)
  38843. /*! @} */
  38844. /* The count of TRNG_ENT */
  38845. #define TRNG_ENT_COUNT (16U)
  38846. /*! @name PKRCNT10 - Statistical Check Poker Count 1 and 0 Register */
  38847. /*! @{ */
  38848. #define TRNG_PKRCNT10_PKR_0_CT_MASK (0xFFFFU)
  38849. #define TRNG_PKRCNT10_PKR_0_CT_SHIFT (0U)
  38850. #define TRNG_PKRCNT10_PKR_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT10_PKR_0_CT_SHIFT)) & TRNG_PKRCNT10_PKR_0_CT_MASK)
  38851. #define TRNG_PKRCNT10_PKR_1_CT_MASK (0xFFFF0000U)
  38852. #define TRNG_PKRCNT10_PKR_1_CT_SHIFT (16U)
  38853. #define TRNG_PKRCNT10_PKR_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT10_PKR_1_CT_SHIFT)) & TRNG_PKRCNT10_PKR_1_CT_MASK)
  38854. /*! @} */
  38855. /*! @name PKRCNT32 - Statistical Check Poker Count 3 and 2 Register */
  38856. /*! @{ */
  38857. #define TRNG_PKRCNT32_PKR_2_CT_MASK (0xFFFFU)
  38858. #define TRNG_PKRCNT32_PKR_2_CT_SHIFT (0U)
  38859. #define TRNG_PKRCNT32_PKR_2_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT32_PKR_2_CT_SHIFT)) & TRNG_PKRCNT32_PKR_2_CT_MASK)
  38860. #define TRNG_PKRCNT32_PKR_3_CT_MASK (0xFFFF0000U)
  38861. #define TRNG_PKRCNT32_PKR_3_CT_SHIFT (16U)
  38862. #define TRNG_PKRCNT32_PKR_3_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT32_PKR_3_CT_SHIFT)) & TRNG_PKRCNT32_PKR_3_CT_MASK)
  38863. /*! @} */
  38864. /*! @name PKRCNT54 - Statistical Check Poker Count 5 and 4 Register */
  38865. /*! @{ */
  38866. #define TRNG_PKRCNT54_PKR_4_CT_MASK (0xFFFFU)
  38867. #define TRNG_PKRCNT54_PKR_4_CT_SHIFT (0U)
  38868. #define TRNG_PKRCNT54_PKR_4_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT54_PKR_4_CT_SHIFT)) & TRNG_PKRCNT54_PKR_4_CT_MASK)
  38869. #define TRNG_PKRCNT54_PKR_5_CT_MASK (0xFFFF0000U)
  38870. #define TRNG_PKRCNT54_PKR_5_CT_SHIFT (16U)
  38871. #define TRNG_PKRCNT54_PKR_5_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT54_PKR_5_CT_SHIFT)) & TRNG_PKRCNT54_PKR_5_CT_MASK)
  38872. /*! @} */
  38873. /*! @name PKRCNT76 - Statistical Check Poker Count 7 and 6 Register */
  38874. /*! @{ */
  38875. #define TRNG_PKRCNT76_PKR_6_CT_MASK (0xFFFFU)
  38876. #define TRNG_PKRCNT76_PKR_6_CT_SHIFT (0U)
  38877. #define TRNG_PKRCNT76_PKR_6_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT76_PKR_6_CT_SHIFT)) & TRNG_PKRCNT76_PKR_6_CT_MASK)
  38878. #define TRNG_PKRCNT76_PKR_7_CT_MASK (0xFFFF0000U)
  38879. #define TRNG_PKRCNT76_PKR_7_CT_SHIFT (16U)
  38880. #define TRNG_PKRCNT76_PKR_7_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT76_PKR_7_CT_SHIFT)) & TRNG_PKRCNT76_PKR_7_CT_MASK)
  38881. /*! @} */
  38882. /*! @name PKRCNT98 - Statistical Check Poker Count 9 and 8 Register */
  38883. /*! @{ */
  38884. #define TRNG_PKRCNT98_PKR_8_CT_MASK (0xFFFFU)
  38885. #define TRNG_PKRCNT98_PKR_8_CT_SHIFT (0U)
  38886. #define TRNG_PKRCNT98_PKR_8_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT98_PKR_8_CT_SHIFT)) & TRNG_PKRCNT98_PKR_8_CT_MASK)
  38887. #define TRNG_PKRCNT98_PKR_9_CT_MASK (0xFFFF0000U)
  38888. #define TRNG_PKRCNT98_PKR_9_CT_SHIFT (16U)
  38889. #define TRNG_PKRCNT98_PKR_9_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT98_PKR_9_CT_SHIFT)) & TRNG_PKRCNT98_PKR_9_CT_MASK)
  38890. /*! @} */
  38891. /*! @name PKRCNTBA - Statistical Check Poker Count B and A Register */
  38892. /*! @{ */
  38893. #define TRNG_PKRCNTBA_PKR_A_CT_MASK (0xFFFFU)
  38894. #define TRNG_PKRCNTBA_PKR_A_CT_SHIFT (0U)
  38895. #define TRNG_PKRCNTBA_PKR_A_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTBA_PKR_A_CT_SHIFT)) & TRNG_PKRCNTBA_PKR_A_CT_MASK)
  38896. #define TRNG_PKRCNTBA_PKR_B_CT_MASK (0xFFFF0000U)
  38897. #define TRNG_PKRCNTBA_PKR_B_CT_SHIFT (16U)
  38898. #define TRNG_PKRCNTBA_PKR_B_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTBA_PKR_B_CT_SHIFT)) & TRNG_PKRCNTBA_PKR_B_CT_MASK)
  38899. /*! @} */
  38900. /*! @name PKRCNTDC - Statistical Check Poker Count D and C Register */
  38901. /*! @{ */
  38902. #define TRNG_PKRCNTDC_PKR_C_CT_MASK (0xFFFFU)
  38903. #define TRNG_PKRCNTDC_PKR_C_CT_SHIFT (0U)
  38904. #define TRNG_PKRCNTDC_PKR_C_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTDC_PKR_C_CT_SHIFT)) & TRNG_PKRCNTDC_PKR_C_CT_MASK)
  38905. #define TRNG_PKRCNTDC_PKR_D_CT_MASK (0xFFFF0000U)
  38906. #define TRNG_PKRCNTDC_PKR_D_CT_SHIFT (16U)
  38907. #define TRNG_PKRCNTDC_PKR_D_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTDC_PKR_D_CT_SHIFT)) & TRNG_PKRCNTDC_PKR_D_CT_MASK)
  38908. /*! @} */
  38909. /*! @name PKRCNTFE - Statistical Check Poker Count F and E Register */
  38910. /*! @{ */
  38911. #define TRNG_PKRCNTFE_PKR_E_CT_MASK (0xFFFFU)
  38912. #define TRNG_PKRCNTFE_PKR_E_CT_SHIFT (0U)
  38913. #define TRNG_PKRCNTFE_PKR_E_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTFE_PKR_E_CT_SHIFT)) & TRNG_PKRCNTFE_PKR_E_CT_MASK)
  38914. #define TRNG_PKRCNTFE_PKR_F_CT_MASK (0xFFFF0000U)
  38915. #define TRNG_PKRCNTFE_PKR_F_CT_SHIFT (16U)
  38916. #define TRNG_PKRCNTFE_PKR_F_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTFE_PKR_F_CT_SHIFT)) & TRNG_PKRCNTFE_PKR_F_CT_MASK)
  38917. /*! @} */
  38918. /*! @name SEC_CFG - Security Configuration Register */
  38919. /*! @{ */
  38920. #define TRNG_SEC_CFG_UNUSED0_MASK (0x1U)
  38921. #define TRNG_SEC_CFG_UNUSED0_SHIFT (0U)
  38922. #define TRNG_SEC_CFG_UNUSED0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SEC_CFG_UNUSED0_SHIFT)) & TRNG_SEC_CFG_UNUSED0_MASK)
  38923. #define TRNG_SEC_CFG_NO_PRGM_MASK (0x2U)
  38924. #define TRNG_SEC_CFG_NO_PRGM_SHIFT (1U)
  38925. /*! NO_PRGM
  38926. * 0b0..Programability of registers controlled only by the Miscellaneous Control Register's access mode bit.
  38927. * 0b1..Overides Miscellaneous Control Register access mode and prevents TRNG register programming.
  38928. */
  38929. #define TRNG_SEC_CFG_NO_PRGM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SEC_CFG_NO_PRGM_SHIFT)) & TRNG_SEC_CFG_NO_PRGM_MASK)
  38930. #define TRNG_SEC_CFG_UNUSED2_MASK (0x4U)
  38931. #define TRNG_SEC_CFG_UNUSED2_SHIFT (2U)
  38932. #define TRNG_SEC_CFG_UNUSED2(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SEC_CFG_UNUSED2_SHIFT)) & TRNG_SEC_CFG_UNUSED2_MASK)
  38933. /*! @} */
  38934. /*! @name INT_CTRL - Interrupt Control Register */
  38935. /*! @{ */
  38936. #define TRNG_INT_CTRL_HW_ERR_MASK (0x1U)
  38937. #define TRNG_INT_CTRL_HW_ERR_SHIFT (0U)
  38938. /*! HW_ERR
  38939. * 0b0..Corresponding bit of INT_STATUS register cleared.
  38940. * 0b1..Corresponding bit of INT_STATUS register active.
  38941. */
  38942. #define TRNG_INT_CTRL_HW_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_CTRL_HW_ERR_SHIFT)) & TRNG_INT_CTRL_HW_ERR_MASK)
  38943. #define TRNG_INT_CTRL_ENT_VAL_MASK (0x2U)
  38944. #define TRNG_INT_CTRL_ENT_VAL_SHIFT (1U)
  38945. /*! ENT_VAL
  38946. * 0b0..Same behavior as bit 0 of this register.
  38947. * 0b1..Same behavior as bit 0 of this register.
  38948. */
  38949. #define TRNG_INT_CTRL_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_CTRL_ENT_VAL_SHIFT)) & TRNG_INT_CTRL_ENT_VAL_MASK)
  38950. #define TRNG_INT_CTRL_FRQ_CT_FAIL_MASK (0x4U)
  38951. #define TRNG_INT_CTRL_FRQ_CT_FAIL_SHIFT (2U)
  38952. /*! FRQ_CT_FAIL
  38953. * 0b0..Same behavior as bit 0 of this register.
  38954. * 0b1..Same behavior as bit 0 of this register.
  38955. */
  38956. #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)
  38957. #define TRNG_INT_CTRL_UNUSED_MASK (0xFFFFFFF8U)
  38958. #define TRNG_INT_CTRL_UNUSED_SHIFT (3U)
  38959. #define TRNG_INT_CTRL_UNUSED(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_CTRL_UNUSED_SHIFT)) & TRNG_INT_CTRL_UNUSED_MASK)
  38960. /*! @} */
  38961. /*! @name INT_MASK - Mask Register */
  38962. /*! @{ */
  38963. #define TRNG_INT_MASK_HW_ERR_MASK (0x1U)
  38964. #define TRNG_INT_MASK_HW_ERR_SHIFT (0U)
  38965. /*! HW_ERR
  38966. * 0b0..Corresponding interrupt of INT_STATUS is masked.
  38967. * 0b1..Corresponding bit of INT_STATUS is active.
  38968. */
  38969. #define TRNG_INT_MASK_HW_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_MASK_HW_ERR_SHIFT)) & TRNG_INT_MASK_HW_ERR_MASK)
  38970. #define TRNG_INT_MASK_ENT_VAL_MASK (0x2U)
  38971. #define TRNG_INT_MASK_ENT_VAL_SHIFT (1U)
  38972. /*! ENT_VAL
  38973. * 0b0..Same behavior as bit 0 of this register.
  38974. * 0b1..Same behavior as bit 0 of this register.
  38975. */
  38976. #define TRNG_INT_MASK_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_MASK_ENT_VAL_SHIFT)) & TRNG_INT_MASK_ENT_VAL_MASK)
  38977. #define TRNG_INT_MASK_FRQ_CT_FAIL_MASK (0x4U)
  38978. #define TRNG_INT_MASK_FRQ_CT_FAIL_SHIFT (2U)
  38979. /*! FRQ_CT_FAIL
  38980. * 0b0..Same behavior as bit 0 of this register.
  38981. * 0b1..Same behavior as bit 0 of this register.
  38982. */
  38983. #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)
  38984. /*! @} */
  38985. /*! @name INT_STATUS - Interrupt Status Register */
  38986. /*! @{ */
  38987. #define TRNG_INT_STATUS_HW_ERR_MASK (0x1U)
  38988. #define TRNG_INT_STATUS_HW_ERR_SHIFT (0U)
  38989. /*! HW_ERR
  38990. * 0b0..no error
  38991. * 0b1..error detected.
  38992. */
  38993. #define TRNG_INT_STATUS_HW_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_STATUS_HW_ERR_SHIFT)) & TRNG_INT_STATUS_HW_ERR_MASK)
  38994. #define TRNG_INT_STATUS_ENT_VAL_MASK (0x2U)
  38995. #define TRNG_INT_STATUS_ENT_VAL_SHIFT (1U)
  38996. /*! ENT_VAL
  38997. * 0b0..Busy generation entropy. Any value read is invalid.
  38998. * 0b1..TRNG can be stopped and entropy is valid if read.
  38999. */
  39000. #define TRNG_INT_STATUS_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_STATUS_ENT_VAL_SHIFT)) & TRNG_INT_STATUS_ENT_VAL_MASK)
  39001. #define TRNG_INT_STATUS_FRQ_CT_FAIL_MASK (0x4U)
  39002. #define TRNG_INT_STATUS_FRQ_CT_FAIL_SHIFT (2U)
  39003. /*! FRQ_CT_FAIL
  39004. * 0b0..No hardware nor self test frequency errors.
  39005. * 0b1..The frequency counter has detected a failure.
  39006. */
  39007. #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)
  39008. /*! @} */
  39009. /*! @name VID1 - Version ID Register (MS) */
  39010. /*! @{ */
  39011. #define TRNG_VID1_MIN_REV_MASK (0xFFU)
  39012. #define TRNG_VID1_MIN_REV_SHIFT (0U)
  39013. /*! MIN_REV
  39014. * 0b00000000..Minor revision number for TRNG.
  39015. */
  39016. #define TRNG_VID1_MIN_REV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID1_MIN_REV_SHIFT)) & TRNG_VID1_MIN_REV_MASK)
  39017. #define TRNG_VID1_MAJ_REV_MASK (0xFF00U)
  39018. #define TRNG_VID1_MAJ_REV_SHIFT (8U)
  39019. /*! MAJ_REV
  39020. * 0b00000001..Major revision number for TRNG.
  39021. */
  39022. #define TRNG_VID1_MAJ_REV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID1_MAJ_REV_SHIFT)) & TRNG_VID1_MAJ_REV_MASK)
  39023. #define TRNG_VID1_IP_ID_MASK (0xFFFF0000U)
  39024. #define TRNG_VID1_IP_ID_SHIFT (16U)
  39025. /*! IP_ID
  39026. * 0b0000000000110000..ID for TRNG.
  39027. */
  39028. #define TRNG_VID1_IP_ID(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID1_IP_ID_SHIFT)) & TRNG_VID1_IP_ID_MASK)
  39029. /*! @} */
  39030. /*! @name VID2 - Version ID Register (LS) */
  39031. /*! @{ */
  39032. #define TRNG_VID2_CONFIG_OPT_MASK (0xFFU)
  39033. #define TRNG_VID2_CONFIG_OPT_SHIFT (0U)
  39034. /*! CONFIG_OPT
  39035. * 0b00000000..TRNG_CONFIG_OPT for TRNG.
  39036. */
  39037. #define TRNG_VID2_CONFIG_OPT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_CONFIG_OPT_SHIFT)) & TRNG_VID2_CONFIG_OPT_MASK)
  39038. #define TRNG_VID2_ECO_REV_MASK (0xFF00U)
  39039. #define TRNG_VID2_ECO_REV_SHIFT (8U)
  39040. /*! ECO_REV
  39041. * 0b00000000..TRNG_ECO_REV for TRNG.
  39042. */
  39043. #define TRNG_VID2_ECO_REV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_ECO_REV_SHIFT)) & TRNG_VID2_ECO_REV_MASK)
  39044. #define TRNG_VID2_INTG_OPT_MASK (0xFF0000U)
  39045. #define TRNG_VID2_INTG_OPT_SHIFT (16U)
  39046. /*! INTG_OPT
  39047. * 0b00000000..INTG_OPT for TRNG.
  39048. */
  39049. #define TRNG_VID2_INTG_OPT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_INTG_OPT_SHIFT)) & TRNG_VID2_INTG_OPT_MASK)
  39050. #define TRNG_VID2_ERA_MASK (0xFF000000U)
  39051. #define TRNG_VID2_ERA_SHIFT (24U)
  39052. /*! ERA
  39053. * 0b00000000..COMPILE_OPT for TRNG.
  39054. */
  39055. #define TRNG_VID2_ERA(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_ERA_SHIFT)) & TRNG_VID2_ERA_MASK)
  39056. /*! @} */
  39057. /*!
  39058. * @}
  39059. */ /* end of group TRNG_Register_Masks */
  39060. /* TRNG - Peripheral instance base addresses */
  39061. /** Peripheral TRNG base address */
  39062. #define TRNG_BASE (0x400CC000u)
  39063. /** Peripheral TRNG base pointer */
  39064. #define TRNG ((TRNG_Type *)TRNG_BASE)
  39065. /** Array initializer of TRNG peripheral base addresses */
  39066. #define TRNG_BASE_ADDRS { TRNG_BASE }
  39067. /** Array initializer of TRNG peripheral base pointers */
  39068. #define TRNG_BASE_PTRS { TRNG }
  39069. /** Interrupt vectors for the TRNG peripheral type */
  39070. #define TRNG_IRQS { TRNG_IRQn }
  39071. /*!
  39072. * @}
  39073. */ /* end of group TRNG_Peripheral_Access_Layer */
  39074. /* ----------------------------------------------------------------------------
  39075. -- TSC Peripheral Access Layer
  39076. ---------------------------------------------------------------------------- */
  39077. /*!
  39078. * @addtogroup TSC_Peripheral_Access_Layer TSC Peripheral Access Layer
  39079. * @{
  39080. */
  39081. /** TSC - Register Layout Typedef */
  39082. typedef struct {
  39083. __IO uint32_t BASIC_SETTING; /**< Basic Setting, offset: 0x0 */
  39084. uint8_t RESERVED_0[12];
  39085. __IO uint32_t PRE_CHARGE_TIME; /**< Pre-charge Time, offset: 0x10 */
  39086. uint8_t RESERVED_1[12];
  39087. __IO uint32_t FLOW_CONTROL; /**< Flow Control, offset: 0x20 */
  39088. uint8_t RESERVED_2[12];
  39089. __I uint32_t MEASEURE_VALUE; /**< Measure Value, offset: 0x30 */
  39090. uint8_t RESERVED_3[12];
  39091. __IO uint32_t INT_EN; /**< Interrupt Enable, offset: 0x40 */
  39092. uint8_t RESERVED_4[12];
  39093. __IO uint32_t INT_SIG_EN; /**< Interrupt Signal Enable, offset: 0x50 */
  39094. uint8_t RESERVED_5[12];
  39095. __IO uint32_t INT_STATUS; /**< Intterrupt Status, offset: 0x60 */
  39096. uint8_t RESERVED_6[12];
  39097. __IO uint32_t DEBUG_MODE; /**< Debug Mode Register, offset: 0x70 */
  39098. uint8_t RESERVED_7[12];
  39099. __IO uint32_t DEBUG_MODE2; /**< Debug Mode Register 2, offset: 0x80 */
  39100. } TSC_Type;
  39101. /* ----------------------------------------------------------------------------
  39102. -- TSC Register Masks
  39103. ---------------------------------------------------------------------------- */
  39104. /*!
  39105. * @addtogroup TSC_Register_Masks TSC Register Masks
  39106. * @{
  39107. */
  39108. /*! @name BASIC_SETTING - Basic Setting */
  39109. /*! @{ */
  39110. #define TSC_BASIC_SETTING_AUTO_MEASURE_MASK (0x1U)
  39111. #define TSC_BASIC_SETTING_AUTO_MEASURE_SHIFT (0U)
  39112. /*! AUTO_MEASURE - Auto Measure
  39113. * 0b0..Disable Auto Measure
  39114. * 0b1..Auto Measure
  39115. */
  39116. #define TSC_BASIC_SETTING_AUTO_MEASURE(x) (((uint32_t)(((uint32_t)(x)) << TSC_BASIC_SETTING_AUTO_MEASURE_SHIFT)) & TSC_BASIC_SETTING_AUTO_MEASURE_MASK)
  39117. #define TSC_BASIC_SETTING_WIRE_4_5_MASK (0x10U)
  39118. #define TSC_BASIC_SETTING_WIRE_4_5_SHIFT (4U)
  39119. /*! WIRE_4_5 - 4/5 Wire detection
  39120. * 0b0..4-Wire Detection Mode
  39121. * 0b1..5-Wire Detection Mode
  39122. */
  39123. #define TSC_BASIC_SETTING_WIRE_4_5(x) (((uint32_t)(((uint32_t)(x)) << TSC_BASIC_SETTING_WIRE_4_5_SHIFT)) & TSC_BASIC_SETTING_WIRE_4_5_MASK)
  39124. #define TSC_BASIC_SETTING_MEASURE_DELAY_TIME_MASK (0xFFFFFF00U)
  39125. #define TSC_BASIC_SETTING_MEASURE_DELAY_TIME_SHIFT (8U)
  39126. /*! MEASURE_DELAY_TIME - Measure Delay Time
  39127. */
  39128. #define TSC_BASIC_SETTING_MEASURE_DELAY_TIME(x) (((uint32_t)(((uint32_t)(x)) << TSC_BASIC_SETTING_MEASURE_DELAY_TIME_SHIFT)) & TSC_BASIC_SETTING_MEASURE_DELAY_TIME_MASK)
  39129. /*! @} */
  39130. /*! @name PRE_CHARGE_TIME - Pre-charge Time */
  39131. /*! @{ */
  39132. #define TSC_PRE_CHARGE_TIME_PRE_CHARGE_TIME_MASK (0xFFFFFFFFU)
  39133. #define TSC_PRE_CHARGE_TIME_PRE_CHARGE_TIME_SHIFT (0U)
  39134. #define TSC_PRE_CHARGE_TIME_PRE_CHARGE_TIME(x) (((uint32_t)(((uint32_t)(x)) << TSC_PRE_CHARGE_TIME_PRE_CHARGE_TIME_SHIFT)) & TSC_PRE_CHARGE_TIME_PRE_CHARGE_TIME_MASK)
  39135. /*! @} */
  39136. /*! @name FLOW_CONTROL - Flow Control */
  39137. /*! @{ */
  39138. #define TSC_FLOW_CONTROL_SW_RST_MASK (0x1U)
  39139. #define TSC_FLOW_CONTROL_SW_RST_SHIFT (0U)
  39140. /*! SW_RST - Soft Reset
  39141. */
  39142. #define TSC_FLOW_CONTROL_SW_RST(x) (((uint32_t)(((uint32_t)(x)) << TSC_FLOW_CONTROL_SW_RST_SHIFT)) & TSC_FLOW_CONTROL_SW_RST_MASK)
  39143. #define TSC_FLOW_CONTROL_START_MEASURE_MASK (0x10U)
  39144. #define TSC_FLOW_CONTROL_START_MEASURE_SHIFT (4U)
  39145. /*! START_MEASURE - Start Measure
  39146. * 0b0..Do not start measure for now
  39147. * 0b1..Start measure the X/Y coordinate value
  39148. */
  39149. #define TSC_FLOW_CONTROL_START_MEASURE(x) (((uint32_t)(((uint32_t)(x)) << TSC_FLOW_CONTROL_START_MEASURE_SHIFT)) & TSC_FLOW_CONTROL_START_MEASURE_MASK)
  39150. #define TSC_FLOW_CONTROL_DROP_MEASURE_MASK (0x100U)
  39151. #define TSC_FLOW_CONTROL_DROP_MEASURE_SHIFT (8U)
  39152. /*! DROP_MEASURE - Drop Measure
  39153. * 0b0..Do not drop measure for now
  39154. * 0b1..Drop the measure and controller return to idle status
  39155. */
  39156. #define TSC_FLOW_CONTROL_DROP_MEASURE(x) (((uint32_t)(((uint32_t)(x)) << TSC_FLOW_CONTROL_DROP_MEASURE_SHIFT)) & TSC_FLOW_CONTROL_DROP_MEASURE_MASK)
  39157. #define TSC_FLOW_CONTROL_START_SENSE_MASK (0x1000U)
  39158. #define TSC_FLOW_CONTROL_START_SENSE_SHIFT (12U)
  39159. /*! START_SENSE - Start Sense
  39160. * 0b0..Stay at idle status
  39161. * 0b1..Start sense detection and (if auto_measure set to 1) measure after detect a touch
  39162. */
  39163. #define TSC_FLOW_CONTROL_START_SENSE(x) (((uint32_t)(((uint32_t)(x)) << TSC_FLOW_CONTROL_START_SENSE_SHIFT)) & TSC_FLOW_CONTROL_START_SENSE_MASK)
  39164. #define TSC_FLOW_CONTROL_DISABLE_MASK (0x10000U)
  39165. #define TSC_FLOW_CONTROL_DISABLE_SHIFT (16U)
  39166. /*! DISABLE
  39167. * 0b0..Leave HW state machine control
  39168. * 0b1..SW set to idle status
  39169. */
  39170. #define TSC_FLOW_CONTROL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << TSC_FLOW_CONTROL_DISABLE_SHIFT)) & TSC_FLOW_CONTROL_DISABLE_MASK)
  39171. /*! @} */
  39172. /*! @name MEASEURE_VALUE - Measure Value */
  39173. /*! @{ */
  39174. #define TSC_MEASEURE_VALUE_Y_VALUE_MASK (0xFFFU)
  39175. #define TSC_MEASEURE_VALUE_Y_VALUE_SHIFT (0U)
  39176. /*! Y_VALUE - Y Value
  39177. */
  39178. #define TSC_MEASEURE_VALUE_Y_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TSC_MEASEURE_VALUE_Y_VALUE_SHIFT)) & TSC_MEASEURE_VALUE_Y_VALUE_MASK)
  39179. #define TSC_MEASEURE_VALUE_X_VALUE_MASK (0xFFF0000U)
  39180. #define TSC_MEASEURE_VALUE_X_VALUE_SHIFT (16U)
  39181. /*! X_VALUE - X Value
  39182. */
  39183. #define TSC_MEASEURE_VALUE_X_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TSC_MEASEURE_VALUE_X_VALUE_SHIFT)) & TSC_MEASEURE_VALUE_X_VALUE_MASK)
  39184. /*! @} */
  39185. /*! @name INT_EN - Interrupt Enable */
  39186. /*! @{ */
  39187. #define TSC_INT_EN_MEASURE_INT_EN_MASK (0x1U)
  39188. #define TSC_INT_EN_MEASURE_INT_EN_SHIFT (0U)
  39189. /*! MEASURE_INT_EN - Measure Interrupt Enable
  39190. * 0b0..Disable measure interrupt
  39191. * 0b1..Enable measure interrupt
  39192. */
  39193. #define TSC_INT_EN_MEASURE_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << TSC_INT_EN_MEASURE_INT_EN_SHIFT)) & TSC_INT_EN_MEASURE_INT_EN_MASK)
  39194. #define TSC_INT_EN_DETECT_INT_EN_MASK (0x10U)
  39195. #define TSC_INT_EN_DETECT_INT_EN_SHIFT (4U)
  39196. /*! DETECT_INT_EN - Detect Interrupt Enable
  39197. * 0b0..Disable detect interrupt
  39198. * 0b1..Enable detect interrupt
  39199. */
  39200. #define TSC_INT_EN_DETECT_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << TSC_INT_EN_DETECT_INT_EN_SHIFT)) & TSC_INT_EN_DETECT_INT_EN_MASK)
  39201. #define TSC_INT_EN_IDLE_SW_INT_EN_MASK (0x1000U)
  39202. #define TSC_INT_EN_IDLE_SW_INT_EN_SHIFT (12U)
  39203. /*! IDLE_SW_INT_EN - Idle Software Interrupt Enable
  39204. * 0b0..Disable idle software interrupt
  39205. * 0b1..Enable idle software interrupt
  39206. */
  39207. #define TSC_INT_EN_IDLE_SW_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << TSC_INT_EN_IDLE_SW_INT_EN_SHIFT)) & TSC_INT_EN_IDLE_SW_INT_EN_MASK)
  39208. /*! @} */
  39209. /*! @name INT_SIG_EN - Interrupt Signal Enable */
  39210. /*! @{ */
  39211. #define TSC_INT_SIG_EN_MEASURE_SIG_EN_MASK (0x1U)
  39212. #define TSC_INT_SIG_EN_MEASURE_SIG_EN_SHIFT (0U)
  39213. /*! MEASURE_SIG_EN - Measure Signal Enable
  39214. */
  39215. #define TSC_INT_SIG_EN_MEASURE_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << TSC_INT_SIG_EN_MEASURE_SIG_EN_SHIFT)) & TSC_INT_SIG_EN_MEASURE_SIG_EN_MASK)
  39216. #define TSC_INT_SIG_EN_DETECT_SIG_EN_MASK (0x10U)
  39217. #define TSC_INT_SIG_EN_DETECT_SIG_EN_SHIFT (4U)
  39218. /*! DETECT_SIG_EN - Detect Signal Enable
  39219. * 0b0..Disable detect signal
  39220. * 0b1..Enable detect signal
  39221. */
  39222. #define TSC_INT_SIG_EN_DETECT_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << TSC_INT_SIG_EN_DETECT_SIG_EN_SHIFT)) & TSC_INT_SIG_EN_DETECT_SIG_EN_MASK)
  39223. #define TSC_INT_SIG_EN_VALID_SIG_EN_MASK (0x100U)
  39224. #define TSC_INT_SIG_EN_VALID_SIG_EN_SHIFT (8U)
  39225. /*! VALID_SIG_EN - Valid Signal Enable
  39226. * 0b0..Disable valid signal
  39227. * 0b1..Enable valid signal
  39228. */
  39229. #define TSC_INT_SIG_EN_VALID_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << TSC_INT_SIG_EN_VALID_SIG_EN_SHIFT)) & TSC_INT_SIG_EN_VALID_SIG_EN_MASK)
  39230. #define TSC_INT_SIG_EN_IDLE_SW_SIG_EN_MASK (0x1000U)
  39231. #define TSC_INT_SIG_EN_IDLE_SW_SIG_EN_SHIFT (12U)
  39232. /*! IDLE_SW_SIG_EN - Idle Software Signal Enable
  39233. * 0b0..Disable idle software signal
  39234. * 0b1..Enable idle software signal
  39235. */
  39236. #define TSC_INT_SIG_EN_IDLE_SW_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << TSC_INT_SIG_EN_IDLE_SW_SIG_EN_SHIFT)) & TSC_INT_SIG_EN_IDLE_SW_SIG_EN_MASK)
  39237. /*! @} */
  39238. /*! @name INT_STATUS - Intterrupt Status */
  39239. /*! @{ */
  39240. #define TSC_INT_STATUS_MEASURE_MASK (0x1U)
  39241. #define TSC_INT_STATUS_MEASURE_SHIFT (0U)
  39242. /*! MEASURE - Measure Signal
  39243. * 0b0..Does not exist a measure signal
  39244. * 0b1..Exist a measure signal
  39245. */
  39246. #define TSC_INT_STATUS_MEASURE(x) (((uint32_t)(((uint32_t)(x)) << TSC_INT_STATUS_MEASURE_SHIFT)) & TSC_INT_STATUS_MEASURE_MASK)
  39247. #define TSC_INT_STATUS_DETECT_MASK (0x10U)
  39248. #define TSC_INT_STATUS_DETECT_SHIFT (4U)
  39249. /*! DETECT - Detect Signal
  39250. * 0b0..Does not exist a detect signal
  39251. * 0b1..Exist detect signal
  39252. */
  39253. #define TSC_INT_STATUS_DETECT(x) (((uint32_t)(((uint32_t)(x)) << TSC_INT_STATUS_DETECT_SHIFT)) & TSC_INT_STATUS_DETECT_MASK)
  39254. #define TSC_INT_STATUS_VALID_MASK (0x100U)
  39255. #define TSC_INT_STATUS_VALID_SHIFT (8U)
  39256. /*! VALID - Valid Signal
  39257. * 0b0..There is no touch detected after measurement, indicates that the measured value is not valid
  39258. * 0b1..There is touch detection after measurement, indicates that the measure is valid
  39259. */
  39260. #define TSC_INT_STATUS_VALID(x) (((uint32_t)(((uint32_t)(x)) << TSC_INT_STATUS_VALID_SHIFT)) & TSC_INT_STATUS_VALID_MASK)
  39261. #define TSC_INT_STATUS_IDLE_SW_MASK (0x1000U)
  39262. #define TSC_INT_STATUS_IDLE_SW_SHIFT (12U)
  39263. /*! IDLE_SW - Idle Software
  39264. * 0b0..Haven't return to idle status
  39265. * 0b1..Already return to idle status
  39266. */
  39267. #define TSC_INT_STATUS_IDLE_SW(x) (((uint32_t)(((uint32_t)(x)) << TSC_INT_STATUS_IDLE_SW_SHIFT)) & TSC_INT_STATUS_IDLE_SW_MASK)
  39268. /*! @} */
  39269. /*! @name DEBUG_MODE - Debug Mode Register */
  39270. /*! @{ */
  39271. #define TSC_DEBUG_MODE_ADC_CONV_VALUE_MASK (0xFFFU)
  39272. #define TSC_DEBUG_MODE_ADC_CONV_VALUE_SHIFT (0U)
  39273. /*! ADC_CONV_VALUE - ADC Conversion Value
  39274. */
  39275. #define TSC_DEBUG_MODE_ADC_CONV_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE_ADC_CONV_VALUE_SHIFT)) & TSC_DEBUG_MODE_ADC_CONV_VALUE_MASK)
  39276. #define TSC_DEBUG_MODE_ADC_COCO_MASK (0x1000U)
  39277. #define TSC_DEBUG_MODE_ADC_COCO_SHIFT (12U)
  39278. /*! ADC_COCO - ADC COCO Signal
  39279. */
  39280. #define TSC_DEBUG_MODE_ADC_COCO(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE_ADC_COCO_SHIFT)) & TSC_DEBUG_MODE_ADC_COCO_MASK)
  39281. #define TSC_DEBUG_MODE_EXT_HWTS_MASK (0x1F0000U)
  39282. #define TSC_DEBUG_MODE_EXT_HWTS_SHIFT (16U)
  39283. /*! EXT_HWTS - Hardware Trigger Select Signal
  39284. */
  39285. #define TSC_DEBUG_MODE_EXT_HWTS(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE_EXT_HWTS_SHIFT)) & TSC_DEBUG_MODE_EXT_HWTS_MASK)
  39286. #define TSC_DEBUG_MODE_TRIGGER_MASK (0x1000000U)
  39287. #define TSC_DEBUG_MODE_TRIGGER_SHIFT (24U)
  39288. /*! TRIGGER - Trigger
  39289. * 0b0..No hardware trigger signal
  39290. * 0b1..Hardware trigger signal, the signal must last at least 1 ips clock period
  39291. */
  39292. #define TSC_DEBUG_MODE_TRIGGER(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE_TRIGGER_SHIFT)) & TSC_DEBUG_MODE_TRIGGER_MASK)
  39293. #define TSC_DEBUG_MODE_ADC_COCO_CLEAR_MASK (0x2000000U)
  39294. #define TSC_DEBUG_MODE_ADC_COCO_CLEAR_SHIFT (25U)
  39295. /*! ADC_COCO_CLEAR - ADC Coco Clear
  39296. * 0b0..No ADC COCO clear
  39297. * 0b1..Set ADC COCO clear
  39298. */
  39299. #define TSC_DEBUG_MODE_ADC_COCO_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE_ADC_COCO_CLEAR_SHIFT)) & TSC_DEBUG_MODE_ADC_COCO_CLEAR_MASK)
  39300. #define TSC_DEBUG_MODE_ADC_COCO_CLEAR_DISABLE_MASK (0x4000000U)
  39301. #define TSC_DEBUG_MODE_ADC_COCO_CLEAR_DISABLE_SHIFT (26U)
  39302. /*! ADC_COCO_CLEAR_DISABLE - ADC COCO Clear Disable
  39303. * 0b0..Allow TSC hardware generates ADC COCO clear
  39304. * 0b1..Prevent TSC from generate ADC COCO clear signal
  39305. */
  39306. #define TSC_DEBUG_MODE_ADC_COCO_CLEAR_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE_ADC_COCO_CLEAR_DISABLE_SHIFT)) & TSC_DEBUG_MODE_ADC_COCO_CLEAR_DISABLE_MASK)
  39307. #define TSC_DEBUG_MODE_DEBUG_EN_MASK (0x10000000U)
  39308. #define TSC_DEBUG_MODE_DEBUG_EN_SHIFT (28U)
  39309. /*! DEBUG_EN - Debug Enable
  39310. * 0b0..Enable debug mode
  39311. * 0b1..Disable debug mode
  39312. */
  39313. #define TSC_DEBUG_MODE_DEBUG_EN(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE_DEBUG_EN_SHIFT)) & TSC_DEBUG_MODE_DEBUG_EN_MASK)
  39314. /*! @} */
  39315. /*! @name DEBUG_MODE2 - Debug Mode Register 2 */
  39316. /*! @{ */
  39317. #define TSC_DEBUG_MODE2_XPUL_PULL_DOWN_MASK (0x1U)
  39318. #define TSC_DEBUG_MODE2_XPUL_PULL_DOWN_SHIFT (0U)
  39319. /*! XPUL_PULL_DOWN - XPUL Wire Pull Down Switch
  39320. * 0b0..Close the switch
  39321. * 0b1..Open up the switch
  39322. */
  39323. #define TSC_DEBUG_MODE2_XPUL_PULL_DOWN(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_XPUL_PULL_DOWN_SHIFT)) & TSC_DEBUG_MODE2_XPUL_PULL_DOWN_MASK)
  39324. #define TSC_DEBUG_MODE2_XPUL_PULL_UP_MASK (0x2U)
  39325. #define TSC_DEBUG_MODE2_XPUL_PULL_UP_SHIFT (1U)
  39326. /*! XPUL_PULL_UP - XPUL Wire Pull Up Switch
  39327. * 0b0..Close the switch
  39328. * 0b1..Open up the switch
  39329. */
  39330. #define TSC_DEBUG_MODE2_XPUL_PULL_UP(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_XPUL_PULL_UP_SHIFT)) & TSC_DEBUG_MODE2_XPUL_PULL_UP_MASK)
  39331. #define TSC_DEBUG_MODE2_XPUL_200K_PULL_UP_MASK (0x4U)
  39332. #define TSC_DEBUG_MODE2_XPUL_200K_PULL_UP_SHIFT (2U)
  39333. /*! XPUL_200K_PULL_UP - XPUL Wire 200K Pull Up Switch
  39334. * 0b0..Close the switch
  39335. * 0b1..Open up the switch
  39336. */
  39337. #define TSC_DEBUG_MODE2_XPUL_200K_PULL_UP(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_XPUL_200K_PULL_UP_SHIFT)) & TSC_DEBUG_MODE2_XPUL_200K_PULL_UP_MASK)
  39338. #define TSC_DEBUG_MODE2_XNUR_PULL_DOWN_MASK (0x8U)
  39339. #define TSC_DEBUG_MODE2_XNUR_PULL_DOWN_SHIFT (3U)
  39340. /*! XNUR_PULL_DOWN - XNUR Wire Pull Down Switch
  39341. * 0b0..Close the switch
  39342. * 0b1..Open up the switch
  39343. */
  39344. #define TSC_DEBUG_MODE2_XNUR_PULL_DOWN(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_XNUR_PULL_DOWN_SHIFT)) & TSC_DEBUG_MODE2_XNUR_PULL_DOWN_MASK)
  39345. #define TSC_DEBUG_MODE2_XNUR_PULL_UP_MASK (0x10U)
  39346. #define TSC_DEBUG_MODE2_XNUR_PULL_UP_SHIFT (4U)
  39347. /*! XNUR_PULL_UP - XNUR Wire Pull Up Switch
  39348. * 0b0..Close the switch
  39349. * 0b1..Open up the switch
  39350. */
  39351. #define TSC_DEBUG_MODE2_XNUR_PULL_UP(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_XNUR_PULL_UP_SHIFT)) & TSC_DEBUG_MODE2_XNUR_PULL_UP_MASK)
  39352. #define TSC_DEBUG_MODE2_XNUR_200K_PULL_UP_MASK (0x20U)
  39353. #define TSC_DEBUG_MODE2_XNUR_200K_PULL_UP_SHIFT (5U)
  39354. /*! XNUR_200K_PULL_UP - XNUR Wire 200K Pull Up Switch
  39355. * 0b0..Close the switch
  39356. * 0b1..Open up the switch
  39357. */
  39358. #define TSC_DEBUG_MODE2_XNUR_200K_PULL_UP(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_XNUR_200K_PULL_UP_SHIFT)) & TSC_DEBUG_MODE2_XNUR_200K_PULL_UP_MASK)
  39359. #define TSC_DEBUG_MODE2_YPLL_PULL_DOWN_MASK (0x40U)
  39360. #define TSC_DEBUG_MODE2_YPLL_PULL_DOWN_SHIFT (6U)
  39361. /*! YPLL_PULL_DOWN - YPLL Wire Pull Down Switch
  39362. * 0b0..Close the switch
  39363. * 0b1..Open up the switch
  39364. */
  39365. #define TSC_DEBUG_MODE2_YPLL_PULL_DOWN(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_YPLL_PULL_DOWN_SHIFT)) & TSC_DEBUG_MODE2_YPLL_PULL_DOWN_MASK)
  39366. #define TSC_DEBUG_MODE2_YPLL_PULL_UP_MASK (0x80U)
  39367. #define TSC_DEBUG_MODE2_YPLL_PULL_UP_SHIFT (7U)
  39368. /*! YPLL_PULL_UP - YPLL Wire Pull Up Switch
  39369. * 0b0..Close the switch
  39370. * 0b1..Open the switch
  39371. */
  39372. #define TSC_DEBUG_MODE2_YPLL_PULL_UP(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_YPLL_PULL_UP_SHIFT)) & TSC_DEBUG_MODE2_YPLL_PULL_UP_MASK)
  39373. #define TSC_DEBUG_MODE2_YPLL_200K_PULL_UP_MASK (0x100U)
  39374. #define TSC_DEBUG_MODE2_YPLL_200K_PULL_UP_SHIFT (8U)
  39375. /*! YPLL_200K_PULL_UP - YPLL Wire 200K Pull Up Switch
  39376. * 0b0..Close the switch
  39377. * 0b1..Open up the switch
  39378. */
  39379. #define TSC_DEBUG_MODE2_YPLL_200K_PULL_UP(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_YPLL_200K_PULL_UP_SHIFT)) & TSC_DEBUG_MODE2_YPLL_200K_PULL_UP_MASK)
  39380. #define TSC_DEBUG_MODE2_YNLR_PULL_DOWN_MASK (0x200U)
  39381. #define TSC_DEBUG_MODE2_YNLR_PULL_DOWN_SHIFT (9U)
  39382. /*! YNLR_PULL_DOWN - YNLR Wire Pull Down Switch
  39383. * 0b0..Close the switch
  39384. * 0b1..Open up the switch
  39385. */
  39386. #define TSC_DEBUG_MODE2_YNLR_PULL_DOWN(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_YNLR_PULL_DOWN_SHIFT)) & TSC_DEBUG_MODE2_YNLR_PULL_DOWN_MASK)
  39387. #define TSC_DEBUG_MODE2_YNLR_PULL_UP_MASK (0x400U)
  39388. #define TSC_DEBUG_MODE2_YNLR_PULL_UP_SHIFT (10U)
  39389. /*! YNLR_PULL_UP - YNLR Wire Pull Up Switch
  39390. * 0b0..Close the switch
  39391. * 0b1..Open up the switch
  39392. */
  39393. #define TSC_DEBUG_MODE2_YNLR_PULL_UP(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_YNLR_PULL_UP_SHIFT)) & TSC_DEBUG_MODE2_YNLR_PULL_UP_MASK)
  39394. #define TSC_DEBUG_MODE2_YNLR_200K_PULL_UP_MASK (0x800U)
  39395. #define TSC_DEBUG_MODE2_YNLR_200K_PULL_UP_SHIFT (11U)
  39396. /*! YNLR_200K_PULL_UP - YNLR Wire 200K Pull Up Switch
  39397. * 0b0..Close the switch
  39398. * 0b1..Open up the switch
  39399. */
  39400. #define TSC_DEBUG_MODE2_YNLR_200K_PULL_UP(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_YNLR_200K_PULL_UP_SHIFT)) & TSC_DEBUG_MODE2_YNLR_200K_PULL_UP_MASK)
  39401. #define TSC_DEBUG_MODE2_WIPER_PULL_DOWN_MASK (0x1000U)
  39402. #define TSC_DEBUG_MODE2_WIPER_PULL_DOWN_SHIFT (12U)
  39403. /*! WIPER_PULL_DOWN - Wiper Wire Pull Down Switch
  39404. * 0b0..Close the switch
  39405. * 0b1..Open up the switch
  39406. */
  39407. #define TSC_DEBUG_MODE2_WIPER_PULL_DOWN(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_WIPER_PULL_DOWN_SHIFT)) & TSC_DEBUG_MODE2_WIPER_PULL_DOWN_MASK)
  39408. #define TSC_DEBUG_MODE2_WIPER_PULL_UP_MASK (0x2000U)
  39409. #define TSC_DEBUG_MODE2_WIPER_PULL_UP_SHIFT (13U)
  39410. /*! WIPER_PULL_UP - Wiper Wire Pull Up Switch
  39411. * 0b0..Close the switch
  39412. * 0b1..Open up the switch
  39413. */
  39414. #define TSC_DEBUG_MODE2_WIPER_PULL_UP(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_WIPER_PULL_UP_SHIFT)) & TSC_DEBUG_MODE2_WIPER_PULL_UP_MASK)
  39415. #define TSC_DEBUG_MODE2_WIPER_200K_PULL_UP_MASK (0x4000U)
  39416. #define TSC_DEBUG_MODE2_WIPER_200K_PULL_UP_SHIFT (14U)
  39417. /*! WIPER_200K_PULL_UP - Wiper Wire 200K Pull Up Switch
  39418. * 0b0..Close the switch
  39419. * 0b1..Open up the switch
  39420. */
  39421. #define TSC_DEBUG_MODE2_WIPER_200K_PULL_UP(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_WIPER_200K_PULL_UP_SHIFT)) & TSC_DEBUG_MODE2_WIPER_200K_PULL_UP_MASK)
  39422. #define TSC_DEBUG_MODE2_DETECT_FOUR_WIRE_MASK (0x10000U)
  39423. #define TSC_DEBUG_MODE2_DETECT_FOUR_WIRE_SHIFT (16U)
  39424. /*! DETECT_FOUR_WIRE - Detect Four Wire
  39425. * 0b0..No detect signal
  39426. * 0b1..Yes, there is a detect on the touch screen.
  39427. */
  39428. #define TSC_DEBUG_MODE2_DETECT_FOUR_WIRE(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_DETECT_FOUR_WIRE_SHIFT)) & TSC_DEBUG_MODE2_DETECT_FOUR_WIRE_MASK)
  39429. #define TSC_DEBUG_MODE2_DETECT_FIVE_WIRE_MASK (0x20000U)
  39430. #define TSC_DEBUG_MODE2_DETECT_FIVE_WIRE_SHIFT (17U)
  39431. /*! DETECT_FIVE_WIRE - Detect Five Wire
  39432. * 0b0..No detect signal
  39433. * 0b1..Yes, there is a detect on the touch screen.
  39434. */
  39435. #define TSC_DEBUG_MODE2_DETECT_FIVE_WIRE(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_DETECT_FIVE_WIRE_SHIFT)) & TSC_DEBUG_MODE2_DETECT_FIVE_WIRE_MASK)
  39436. #define TSC_DEBUG_MODE2_STATE_MACHINE_MASK (0x700000U)
  39437. #define TSC_DEBUG_MODE2_STATE_MACHINE_SHIFT (20U)
  39438. /*! STATE_MACHINE - State Machine
  39439. * 0b000..Idle
  39440. * 0b001..Pre-charge
  39441. * 0b010..Detect
  39442. * 0b011..X-measure
  39443. * 0b100..Y-measure
  39444. * 0b101..Pre-charge
  39445. * 0b110..Detect
  39446. */
  39447. #define TSC_DEBUG_MODE2_STATE_MACHINE(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_STATE_MACHINE_SHIFT)) & TSC_DEBUG_MODE2_STATE_MACHINE_MASK)
  39448. #define TSC_DEBUG_MODE2_INTERMEDIATE_MASK (0x800000U)
  39449. #define TSC_DEBUG_MODE2_INTERMEDIATE_SHIFT (23U)
  39450. /*! INTERMEDIATE - Intermediate State
  39451. * 0b0..Not in intermedia
  39452. * 0b1..Intermedia
  39453. */
  39454. #define TSC_DEBUG_MODE2_INTERMEDIATE(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_INTERMEDIATE_SHIFT)) & TSC_DEBUG_MODE2_INTERMEDIATE_MASK)
  39455. #define TSC_DEBUG_MODE2_DETECT_ENABLE_FOUR_WIRE_MASK (0x1000000U)
  39456. #define TSC_DEBUG_MODE2_DETECT_ENABLE_FOUR_WIRE_SHIFT (24U)
  39457. /*! DETECT_ENABLE_FOUR_WIRE - Detect Enable Four Wire
  39458. * 0b0..Do not read four wire detect value, read default value from analogue
  39459. * 0b1..Read four wire detect status from analogue
  39460. */
  39461. #define TSC_DEBUG_MODE2_DETECT_ENABLE_FOUR_WIRE(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_DETECT_ENABLE_FOUR_WIRE_SHIFT)) & TSC_DEBUG_MODE2_DETECT_ENABLE_FOUR_WIRE_MASK)
  39462. #define TSC_DEBUG_MODE2_DETECT_ENABLE_FIVE_WIRE_MASK (0x10000000U)
  39463. #define TSC_DEBUG_MODE2_DETECT_ENABLE_FIVE_WIRE_SHIFT (28U)
  39464. /*! DETECT_ENABLE_FIVE_WIRE - Detect Enable Five Wire
  39465. * 0b0..Do not read five wire detect value, read default value from analogue
  39466. * 0b1..Read five wire detect status from analogue
  39467. */
  39468. #define TSC_DEBUG_MODE2_DETECT_ENABLE_FIVE_WIRE(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_DETECT_ENABLE_FIVE_WIRE_SHIFT)) & TSC_DEBUG_MODE2_DETECT_ENABLE_FIVE_WIRE_MASK)
  39469. #define TSC_DEBUG_MODE2_DE_GLITCH_MASK (0x60000000U)
  39470. #define TSC_DEBUG_MODE2_DE_GLITCH_SHIFT (29U)
  39471. /*! DE_GLITCH
  39472. * 0b00..Normal function: 0x1fff ipg clock cycles; Low power mode: 0x9 low power clock cycles
  39473. * 0b01..Normal function: 0xfff ipg clock cycles; Low power mode: :0x7 low power clock cycles
  39474. * 0b10..Normal function: 0x7ff ipg clock cycles; Low power mode:0x5 low power clock cycles
  39475. * 0b11..Normal function: 0x3 ipg clock cycles; Low power mode:0x3 low power clock cycles
  39476. */
  39477. #define TSC_DEBUG_MODE2_DE_GLITCH(x) (((uint32_t)(((uint32_t)(x)) << TSC_DEBUG_MODE2_DE_GLITCH_SHIFT)) & TSC_DEBUG_MODE2_DE_GLITCH_MASK)
  39478. /*! @} */
  39479. /*!
  39480. * @}
  39481. */ /* end of group TSC_Register_Masks */
  39482. /* TSC - Peripheral instance base addresses */
  39483. /** Peripheral TSC base address */
  39484. #define TSC_BASE (0x400E0000u)
  39485. /** Peripheral TSC base pointer */
  39486. #define TSC ((TSC_Type *)TSC_BASE)
  39487. /** Array initializer of TSC peripheral base addresses */
  39488. #define TSC_BASE_ADDRS { TSC_BASE }
  39489. /** Array initializer of TSC peripheral base pointers */
  39490. #define TSC_BASE_PTRS { TSC }
  39491. /** Interrupt vectors for the TSC peripheral type */
  39492. #define TSC_IRQS { TSC_DIG_IRQn }
  39493. /* Backward compatibility */
  39494. #define TSC_BASIC_SETTING__4_5_WIRE_MASK TSC_BASIC_SETTING_WIRE_4_5_MASK
  39495. #define TSC_BASIC_SETTING__4_5_WIRE_SHIFT TSC_BASIC_SETTING_WIRE_4_5_SHIFT
  39496. #define TSC_BASIC_SETTING__4_5_WIRE(x) TSC_BASIC_SETTING_WIRE_4_5(x)
  39497. /*!
  39498. * @}
  39499. */ /* end of group TSC_Peripheral_Access_Layer */
  39500. /* ----------------------------------------------------------------------------
  39501. -- USB Peripheral Access Layer
  39502. ---------------------------------------------------------------------------- */
  39503. /*!
  39504. * @addtogroup USB_Peripheral_Access_Layer USB Peripheral Access Layer
  39505. * @{
  39506. */
  39507. /** USB - Register Layout Typedef */
  39508. typedef struct {
  39509. __I uint32_t ID; /**< Identification register, offset: 0x0 */
  39510. __I uint32_t HWGENERAL; /**< Hardware General, offset: 0x4 */
  39511. __I uint32_t HWHOST; /**< Host Hardware Parameters, offset: 0x8 */
  39512. __I uint32_t HWDEVICE; /**< Device Hardware Parameters, offset: 0xC */
  39513. __I uint32_t HWTXBUF; /**< TX Buffer Hardware Parameters, offset: 0x10 */
  39514. __I uint32_t HWRXBUF; /**< RX Buffer Hardware Parameters, offset: 0x14 */
  39515. uint8_t RESERVED_0[104];
  39516. __IO uint32_t GPTIMER0LD; /**< General Purpose Timer #0 Load, offset: 0x80 */
  39517. __IO uint32_t GPTIMER0CTRL; /**< General Purpose Timer #0 Controller, offset: 0x84 */
  39518. __IO uint32_t GPTIMER1LD; /**< General Purpose Timer #1 Load, offset: 0x88 */
  39519. __IO uint32_t GPTIMER1CTRL; /**< General Purpose Timer #1 Controller, offset: 0x8C */
  39520. __IO uint32_t SBUSCFG; /**< System Bus Config, offset: 0x90 */
  39521. uint8_t RESERVED_1[108];
  39522. __I uint8_t CAPLENGTH; /**< Capability Registers Length, offset: 0x100 */
  39523. uint8_t RESERVED_2[1];
  39524. __I uint16_t HCIVERSION; /**< Host Controller Interface Version, offset: 0x102 */
  39525. __I uint32_t HCSPARAMS; /**< Host Controller Structural Parameters, offset: 0x104 */
  39526. __I uint32_t HCCPARAMS; /**< Host Controller Capability Parameters, offset: 0x108 */
  39527. uint8_t RESERVED_3[20];
  39528. __I uint16_t DCIVERSION; /**< Device Controller Interface Version, offset: 0x120 */
  39529. uint8_t RESERVED_4[2];
  39530. __I uint32_t DCCPARAMS; /**< Device Controller Capability Parameters, offset: 0x124 */
  39531. uint8_t RESERVED_5[24];
  39532. __IO uint32_t USBCMD; /**< USB Command Register, offset: 0x140 */
  39533. __IO uint32_t USBSTS; /**< USB Status Register, offset: 0x144 */
  39534. __IO uint32_t USBINTR; /**< Interrupt Enable Register, offset: 0x148 */
  39535. __IO uint32_t FRINDEX; /**< USB Frame Index, offset: 0x14C */
  39536. uint8_t RESERVED_6[4];
  39537. union { /* offset: 0x154 */
  39538. __IO uint32_t DEVICEADDR; /**< Device Address, offset: 0x154 */
  39539. __IO uint32_t PERIODICLISTBASE; /**< Frame List Base Address, offset: 0x154 */
  39540. };
  39541. union { /* offset: 0x158 */
  39542. __IO uint32_t ASYNCLISTADDR; /**< Next Asynch. Address, offset: 0x158 */
  39543. __IO uint32_t ENDPTLISTADDR; /**< Endpoint List Address, offset: 0x158 */
  39544. };
  39545. uint8_t RESERVED_7[4];
  39546. __IO uint32_t BURSTSIZE; /**< Programmable Burst Size, offset: 0x160 */
  39547. __IO uint32_t TXFILLTUNING; /**< TX FIFO Fill Tuning, offset: 0x164 */
  39548. uint8_t RESERVED_8[16];
  39549. __IO uint32_t ENDPTNAK; /**< Endpoint NAK, offset: 0x178 */
  39550. __IO uint32_t ENDPTNAKEN; /**< Endpoint NAK Enable, offset: 0x17C */
  39551. __I uint32_t CONFIGFLAG; /**< Configure Flag Register, offset: 0x180 */
  39552. __IO uint32_t PORTSC1; /**< Port Status & Control, offset: 0x184 */
  39553. uint8_t RESERVED_9[28];
  39554. __IO uint32_t OTGSC; /**< On-The-Go Status & control, offset: 0x1A4 */
  39555. __IO uint32_t USBMODE; /**< USB Device Mode, offset: 0x1A8 */
  39556. __IO uint32_t ENDPTSETUPSTAT; /**< Endpoint Setup Status, offset: 0x1AC */
  39557. __IO uint32_t ENDPTPRIME; /**< Endpoint Prime, offset: 0x1B0 */
  39558. __IO uint32_t ENDPTFLUSH; /**< Endpoint Flush, offset: 0x1B4 */
  39559. __I uint32_t ENDPTSTAT; /**< Endpoint Status, offset: 0x1B8 */
  39560. __IO uint32_t ENDPTCOMPLETE; /**< Endpoint Complete, offset: 0x1BC */
  39561. __IO uint32_t ENDPTCTRL0; /**< Endpoint Control0, offset: 0x1C0 */
  39562. __IO uint32_t ENDPTCTRL[7]; /**< Endpoint Control 1..Endpoint Control 7, array offset: 0x1C4, array step: 0x4 */
  39563. } USB_Type;
  39564. /* ----------------------------------------------------------------------------
  39565. -- USB Register Masks
  39566. ---------------------------------------------------------------------------- */
  39567. /*!
  39568. * @addtogroup USB_Register_Masks USB Register Masks
  39569. * @{
  39570. */
  39571. /*! @name ID - Identification register */
  39572. /*! @{ */
  39573. #define USB_ID_ID_MASK (0x3FU)
  39574. #define USB_ID_ID_SHIFT (0U)
  39575. #define USB_ID_ID(x) (((uint32_t)(((uint32_t)(x)) << USB_ID_ID_SHIFT)) & USB_ID_ID_MASK)
  39576. #define USB_ID_NID_MASK (0x3F00U)
  39577. #define USB_ID_NID_SHIFT (8U)
  39578. #define USB_ID_NID(x) (((uint32_t)(((uint32_t)(x)) << USB_ID_NID_SHIFT)) & USB_ID_NID_MASK)
  39579. #define USB_ID_REVISION_MASK (0xFF0000U)
  39580. #define USB_ID_REVISION_SHIFT (16U)
  39581. #define USB_ID_REVISION(x) (((uint32_t)(((uint32_t)(x)) << USB_ID_REVISION_SHIFT)) & USB_ID_REVISION_MASK)
  39582. /*! @} */
  39583. /*! @name HWGENERAL - Hardware General */
  39584. /*! @{ */
  39585. #define USB_HWGENERAL_PHYW_MASK (0x30U)
  39586. #define USB_HWGENERAL_PHYW_SHIFT (4U)
  39587. /*! PHYW
  39588. * 0b00..8 bit wide data bus Software non-programmable
  39589. * 0b01..16 bit wide data bus Software non-programmable
  39590. * 0b10..Reset to 8 bit wide data bus Software programmable
  39591. * 0b11..Reset to 16 bit wide data bus Software programmable
  39592. */
  39593. #define USB_HWGENERAL_PHYW(x) (((uint32_t)(((uint32_t)(x)) << USB_HWGENERAL_PHYW_SHIFT)) & USB_HWGENERAL_PHYW_MASK)
  39594. #define USB_HWGENERAL_PHYM_MASK (0x1C0U)
  39595. #define USB_HWGENERAL_PHYM_SHIFT (6U)
  39596. /*! PHYM
  39597. * 0b000..UTMI/UMTI+
  39598. * 0b001..ULPI DDR
  39599. * 0b010..ULPI
  39600. * 0b011..Serial Only
  39601. * 0b100..Software programmable - reset to UTMI/UTMI+
  39602. * 0b101..Software programmable - reset to ULPI DDR
  39603. * 0b110..Software programmable - reset to ULPI
  39604. * 0b111..Software programmable - reset to Serial
  39605. */
  39606. #define USB_HWGENERAL_PHYM(x) (((uint32_t)(((uint32_t)(x)) << USB_HWGENERAL_PHYM_SHIFT)) & USB_HWGENERAL_PHYM_MASK)
  39607. #define USB_HWGENERAL_SM_MASK (0x600U)
  39608. #define USB_HWGENERAL_SM_SHIFT (9U)
  39609. /*! SM
  39610. * 0b00..No Serial Engine, always use parallel signalling.
  39611. * 0b01..Serial Engine present, always use serial signalling for FS/LS.
  39612. * 0b10..Software programmable - Reset to use parallel signalling for FS/LS
  39613. * 0b11..Software programmable - Reset to use serial signalling for FS/LS
  39614. */
  39615. #define USB_HWGENERAL_SM(x) (((uint32_t)(((uint32_t)(x)) << USB_HWGENERAL_SM_SHIFT)) & USB_HWGENERAL_SM_MASK)
  39616. /*! @} */
  39617. /*! @name HWHOST - Host Hardware Parameters */
  39618. /*! @{ */
  39619. #define USB_HWHOST_HC_MASK (0x1U)
  39620. #define USB_HWHOST_HC_SHIFT (0U)
  39621. /*! HC
  39622. * 0b1..Supported
  39623. * 0b0..Not supported
  39624. */
  39625. #define USB_HWHOST_HC(x) (((uint32_t)(((uint32_t)(x)) << USB_HWHOST_HC_SHIFT)) & USB_HWHOST_HC_MASK)
  39626. #define USB_HWHOST_NPORT_MASK (0xEU)
  39627. #define USB_HWHOST_NPORT_SHIFT (1U)
  39628. #define USB_HWHOST_NPORT(x) (((uint32_t)(((uint32_t)(x)) << USB_HWHOST_NPORT_SHIFT)) & USB_HWHOST_NPORT_MASK)
  39629. /*! @} */
  39630. /*! @name HWDEVICE - Device Hardware Parameters */
  39631. /*! @{ */
  39632. #define USB_HWDEVICE_DC_MASK (0x1U)
  39633. #define USB_HWDEVICE_DC_SHIFT (0U)
  39634. /*! DC
  39635. * 0b1..Supported
  39636. * 0b0..Not supported
  39637. */
  39638. #define USB_HWDEVICE_DC(x) (((uint32_t)(((uint32_t)(x)) << USB_HWDEVICE_DC_SHIFT)) & USB_HWDEVICE_DC_MASK)
  39639. #define USB_HWDEVICE_DEVEP_MASK (0x3EU)
  39640. #define USB_HWDEVICE_DEVEP_SHIFT (1U)
  39641. #define USB_HWDEVICE_DEVEP(x) (((uint32_t)(((uint32_t)(x)) << USB_HWDEVICE_DEVEP_SHIFT)) & USB_HWDEVICE_DEVEP_MASK)
  39642. /*! @} */
  39643. /*! @name HWTXBUF - TX Buffer Hardware Parameters */
  39644. /*! @{ */
  39645. #define USB_HWTXBUF_TXBURST_MASK (0xFFU)
  39646. #define USB_HWTXBUF_TXBURST_SHIFT (0U)
  39647. #define USB_HWTXBUF_TXBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_HWTXBUF_TXBURST_SHIFT)) & USB_HWTXBUF_TXBURST_MASK)
  39648. #define USB_HWTXBUF_TXCHANADD_MASK (0xFF0000U)
  39649. #define USB_HWTXBUF_TXCHANADD_SHIFT (16U)
  39650. #define USB_HWTXBUF_TXCHANADD(x) (((uint32_t)(((uint32_t)(x)) << USB_HWTXBUF_TXCHANADD_SHIFT)) & USB_HWTXBUF_TXCHANADD_MASK)
  39651. /*! @} */
  39652. /*! @name HWRXBUF - RX Buffer Hardware Parameters */
  39653. /*! @{ */
  39654. #define USB_HWRXBUF_RXBURST_MASK (0xFFU)
  39655. #define USB_HWRXBUF_RXBURST_SHIFT (0U)
  39656. #define USB_HWRXBUF_RXBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_HWRXBUF_RXBURST_SHIFT)) & USB_HWRXBUF_RXBURST_MASK)
  39657. #define USB_HWRXBUF_RXADD_MASK (0xFF00U)
  39658. #define USB_HWRXBUF_RXADD_SHIFT (8U)
  39659. #define USB_HWRXBUF_RXADD(x) (((uint32_t)(((uint32_t)(x)) << USB_HWRXBUF_RXADD_SHIFT)) & USB_HWRXBUF_RXADD_MASK)
  39660. /*! @} */
  39661. /*! @name GPTIMER0LD - General Purpose Timer #0 Load */
  39662. /*! @{ */
  39663. #define USB_GPTIMER0LD_GPTLD_MASK (0xFFFFFFU)
  39664. #define USB_GPTIMER0LD_GPTLD_SHIFT (0U)
  39665. #define USB_GPTIMER0LD_GPTLD(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0LD_GPTLD_SHIFT)) & USB_GPTIMER0LD_GPTLD_MASK)
  39666. /*! @} */
  39667. /*! @name GPTIMER0CTRL - General Purpose Timer #0 Controller */
  39668. /*! @{ */
  39669. #define USB_GPTIMER0CTRL_GPTCNT_MASK (0xFFFFFFU)
  39670. #define USB_GPTIMER0CTRL_GPTCNT_SHIFT (0U)
  39671. #define USB_GPTIMER0CTRL_GPTCNT(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTCNT_SHIFT)) & USB_GPTIMER0CTRL_GPTCNT_MASK)
  39672. #define USB_GPTIMER0CTRL_GPTMODE_MASK (0x1000000U)
  39673. #define USB_GPTIMER0CTRL_GPTMODE_SHIFT (24U)
  39674. /*! GPTMODE
  39675. * 0b0..One Shot Mode
  39676. * 0b1..Repeat Mode
  39677. */
  39678. #define USB_GPTIMER0CTRL_GPTMODE(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTMODE_SHIFT)) & USB_GPTIMER0CTRL_GPTMODE_MASK)
  39679. #define USB_GPTIMER0CTRL_GPTRST_MASK (0x40000000U)
  39680. #define USB_GPTIMER0CTRL_GPTRST_SHIFT (30U)
  39681. /*! GPTRST
  39682. * 0b0..No action
  39683. * 0b1..Load counter value from GPTLD bits in n_GPTIMER0LD
  39684. */
  39685. #define USB_GPTIMER0CTRL_GPTRST(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTRST_SHIFT)) & USB_GPTIMER0CTRL_GPTRST_MASK)
  39686. #define USB_GPTIMER0CTRL_GPTRUN_MASK (0x80000000U)
  39687. #define USB_GPTIMER0CTRL_GPTRUN_SHIFT (31U)
  39688. /*! GPTRUN
  39689. * 0b0..Stop counting
  39690. * 0b1..Run
  39691. */
  39692. #define USB_GPTIMER0CTRL_GPTRUN(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTRUN_SHIFT)) & USB_GPTIMER0CTRL_GPTRUN_MASK)
  39693. /*! @} */
  39694. /*! @name GPTIMER1LD - General Purpose Timer #1 Load */
  39695. /*! @{ */
  39696. #define USB_GPTIMER1LD_GPTLD_MASK (0xFFFFFFU)
  39697. #define USB_GPTIMER1LD_GPTLD_SHIFT (0U)
  39698. #define USB_GPTIMER1LD_GPTLD(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1LD_GPTLD_SHIFT)) & USB_GPTIMER1LD_GPTLD_MASK)
  39699. /*! @} */
  39700. /*! @name GPTIMER1CTRL - General Purpose Timer #1 Controller */
  39701. /*! @{ */
  39702. #define USB_GPTIMER1CTRL_GPTCNT_MASK (0xFFFFFFU)
  39703. #define USB_GPTIMER1CTRL_GPTCNT_SHIFT (0U)
  39704. #define USB_GPTIMER1CTRL_GPTCNT(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTCNT_SHIFT)) & USB_GPTIMER1CTRL_GPTCNT_MASK)
  39705. #define USB_GPTIMER1CTRL_GPTMODE_MASK (0x1000000U)
  39706. #define USB_GPTIMER1CTRL_GPTMODE_SHIFT (24U)
  39707. /*! GPTMODE
  39708. * 0b0..One Shot Mode
  39709. * 0b1..Repeat Mode
  39710. */
  39711. #define USB_GPTIMER1CTRL_GPTMODE(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTMODE_SHIFT)) & USB_GPTIMER1CTRL_GPTMODE_MASK)
  39712. #define USB_GPTIMER1CTRL_GPTRST_MASK (0x40000000U)
  39713. #define USB_GPTIMER1CTRL_GPTRST_SHIFT (30U)
  39714. /*! GPTRST
  39715. * 0b0..No action
  39716. * 0b1..Load counter value from GPTLD bits in USB_n_GPTIMER0LD
  39717. */
  39718. #define USB_GPTIMER1CTRL_GPTRST(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTRST_SHIFT)) & USB_GPTIMER1CTRL_GPTRST_MASK)
  39719. #define USB_GPTIMER1CTRL_GPTRUN_MASK (0x80000000U)
  39720. #define USB_GPTIMER1CTRL_GPTRUN_SHIFT (31U)
  39721. /*! GPTRUN
  39722. * 0b0..Stop counting
  39723. * 0b1..Run
  39724. */
  39725. #define USB_GPTIMER1CTRL_GPTRUN(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTRUN_SHIFT)) & USB_GPTIMER1CTRL_GPTRUN_MASK)
  39726. /*! @} */
  39727. /*! @name SBUSCFG - System Bus Config */
  39728. /*! @{ */
  39729. #define USB_SBUSCFG_AHBBRST_MASK (0x7U)
  39730. #define USB_SBUSCFG_AHBBRST_SHIFT (0U)
  39731. /*! AHBBRST
  39732. * 0b000..Incremental burst of unspecified length only
  39733. * 0b001..INCR4 burst, then single transfer
  39734. * 0b010..INCR8 burst, INCR4 burst, then single transfer
  39735. * 0b011..INCR16 burst, INCR8 burst, INCR4 burst, then single transfer
  39736. * 0b100..Reserved, don't use
  39737. * 0b101..INCR4 burst, then incremental burst of unspecified length
  39738. * 0b110..INCR8 burst, INCR4 burst, then incremental burst of unspecified length
  39739. * 0b111..INCR16 burst, INCR8 burst, INCR4 burst, then incremental burst of unspecified length
  39740. */
  39741. #define USB_SBUSCFG_AHBBRST(x) (((uint32_t)(((uint32_t)(x)) << USB_SBUSCFG_AHBBRST_SHIFT)) & USB_SBUSCFG_AHBBRST_MASK)
  39742. /*! @} */
  39743. /*! @name CAPLENGTH - Capability Registers Length */
  39744. /*! @{ */
  39745. #define USB_CAPLENGTH_CAPLENGTH_MASK (0xFFU)
  39746. #define USB_CAPLENGTH_CAPLENGTH_SHIFT (0U)
  39747. #define USB_CAPLENGTH_CAPLENGTH(x) (((uint8_t)(((uint8_t)(x)) << USB_CAPLENGTH_CAPLENGTH_SHIFT)) & USB_CAPLENGTH_CAPLENGTH_MASK)
  39748. /*! @} */
  39749. /*! @name HCIVERSION - Host Controller Interface Version */
  39750. /*! @{ */
  39751. #define USB_HCIVERSION_HCIVERSION_MASK (0xFFFFU)
  39752. #define USB_HCIVERSION_HCIVERSION_SHIFT (0U)
  39753. #define USB_HCIVERSION_HCIVERSION(x) (((uint16_t)(((uint16_t)(x)) << USB_HCIVERSION_HCIVERSION_SHIFT)) & USB_HCIVERSION_HCIVERSION_MASK)
  39754. /*! @} */
  39755. /*! @name HCSPARAMS - Host Controller Structural Parameters */
  39756. /*! @{ */
  39757. #define USB_HCSPARAMS_N_PORTS_MASK (0xFU)
  39758. #define USB_HCSPARAMS_N_PORTS_SHIFT (0U)
  39759. #define USB_HCSPARAMS_N_PORTS(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_PORTS_SHIFT)) & USB_HCSPARAMS_N_PORTS_MASK)
  39760. #define USB_HCSPARAMS_PPC_MASK (0x10U)
  39761. #define USB_HCSPARAMS_PPC_SHIFT (4U)
  39762. #define USB_HCSPARAMS_PPC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_PPC_SHIFT)) & USB_HCSPARAMS_PPC_MASK)
  39763. #define USB_HCSPARAMS_N_PCC_MASK (0xF00U)
  39764. #define USB_HCSPARAMS_N_PCC_SHIFT (8U)
  39765. #define USB_HCSPARAMS_N_PCC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_PCC_SHIFT)) & USB_HCSPARAMS_N_PCC_MASK)
  39766. #define USB_HCSPARAMS_N_CC_MASK (0xF000U)
  39767. #define USB_HCSPARAMS_N_CC_SHIFT (12U)
  39768. /*! N_CC
  39769. * 0b0000..There is no internal Companion Controller and port-ownership hand-off is not supported.
  39770. * 0b0001..There are internal companion controller(s) and port-ownership hand-offs is supported.
  39771. */
  39772. #define USB_HCSPARAMS_N_CC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_CC_SHIFT)) & USB_HCSPARAMS_N_CC_MASK)
  39773. #define USB_HCSPARAMS_PI_MASK (0x10000U)
  39774. #define USB_HCSPARAMS_PI_SHIFT (16U)
  39775. #define USB_HCSPARAMS_PI(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_PI_SHIFT)) & USB_HCSPARAMS_PI_MASK)
  39776. #define USB_HCSPARAMS_N_PTT_MASK (0xF00000U)
  39777. #define USB_HCSPARAMS_N_PTT_SHIFT (20U)
  39778. #define USB_HCSPARAMS_N_PTT(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_PTT_SHIFT)) & USB_HCSPARAMS_N_PTT_MASK)
  39779. #define USB_HCSPARAMS_N_TT_MASK (0xF000000U)
  39780. #define USB_HCSPARAMS_N_TT_SHIFT (24U)
  39781. #define USB_HCSPARAMS_N_TT(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_TT_SHIFT)) & USB_HCSPARAMS_N_TT_MASK)
  39782. /*! @} */
  39783. /*! @name HCCPARAMS - Host Controller Capability Parameters */
  39784. /*! @{ */
  39785. #define USB_HCCPARAMS_ADC_MASK (0x1U)
  39786. #define USB_HCCPARAMS_ADC_SHIFT (0U)
  39787. #define USB_HCCPARAMS_ADC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_ADC_SHIFT)) & USB_HCCPARAMS_ADC_MASK)
  39788. #define USB_HCCPARAMS_PFL_MASK (0x2U)
  39789. #define USB_HCCPARAMS_PFL_SHIFT (1U)
  39790. #define USB_HCCPARAMS_PFL(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_PFL_SHIFT)) & USB_HCCPARAMS_PFL_MASK)
  39791. #define USB_HCCPARAMS_ASP_MASK (0x4U)
  39792. #define USB_HCCPARAMS_ASP_SHIFT (2U)
  39793. #define USB_HCCPARAMS_ASP(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_ASP_SHIFT)) & USB_HCCPARAMS_ASP_MASK)
  39794. #define USB_HCCPARAMS_IST_MASK (0xF0U)
  39795. #define USB_HCCPARAMS_IST_SHIFT (4U)
  39796. #define USB_HCCPARAMS_IST(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_IST_SHIFT)) & USB_HCCPARAMS_IST_MASK)
  39797. #define USB_HCCPARAMS_EECP_MASK (0xFF00U)
  39798. #define USB_HCCPARAMS_EECP_SHIFT (8U)
  39799. #define USB_HCCPARAMS_EECP(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_EECP_SHIFT)) & USB_HCCPARAMS_EECP_MASK)
  39800. /*! @} */
  39801. /*! @name DCIVERSION - Device Controller Interface Version */
  39802. /*! @{ */
  39803. #define USB_DCIVERSION_DCIVERSION_MASK (0xFFFFU)
  39804. #define USB_DCIVERSION_DCIVERSION_SHIFT (0U)
  39805. #define USB_DCIVERSION_DCIVERSION(x) (((uint16_t)(((uint16_t)(x)) << USB_DCIVERSION_DCIVERSION_SHIFT)) & USB_DCIVERSION_DCIVERSION_MASK)
  39806. /*! @} */
  39807. /*! @name DCCPARAMS - Device Controller Capability Parameters */
  39808. /*! @{ */
  39809. #define USB_DCCPARAMS_DEN_MASK (0x1FU)
  39810. #define USB_DCCPARAMS_DEN_SHIFT (0U)
  39811. #define USB_DCCPARAMS_DEN(x) (((uint32_t)(((uint32_t)(x)) << USB_DCCPARAMS_DEN_SHIFT)) & USB_DCCPARAMS_DEN_MASK)
  39812. #define USB_DCCPARAMS_DC_MASK (0x80U)
  39813. #define USB_DCCPARAMS_DC_SHIFT (7U)
  39814. #define USB_DCCPARAMS_DC(x) (((uint32_t)(((uint32_t)(x)) << USB_DCCPARAMS_DC_SHIFT)) & USB_DCCPARAMS_DC_MASK)
  39815. #define USB_DCCPARAMS_HC_MASK (0x100U)
  39816. #define USB_DCCPARAMS_HC_SHIFT (8U)
  39817. #define USB_DCCPARAMS_HC(x) (((uint32_t)(((uint32_t)(x)) << USB_DCCPARAMS_HC_SHIFT)) & USB_DCCPARAMS_HC_MASK)
  39818. /*! @} */
  39819. /*! @name USBCMD - USB Command Register */
  39820. /*! @{ */
  39821. #define USB_USBCMD_RS_MASK (0x1U)
  39822. #define USB_USBCMD_RS_SHIFT (0U)
  39823. #define USB_USBCMD_RS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_RS_SHIFT)) & USB_USBCMD_RS_MASK)
  39824. #define USB_USBCMD_RST_MASK (0x2U)
  39825. #define USB_USBCMD_RST_SHIFT (1U)
  39826. #define USB_USBCMD_RST(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_RST_SHIFT)) & USB_USBCMD_RST_MASK)
  39827. #define USB_USBCMD_FS_1_MASK (0xCU)
  39828. #define USB_USBCMD_FS_1_SHIFT (2U)
  39829. #define USB_USBCMD_FS_1(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_FS_1_SHIFT)) & USB_USBCMD_FS_1_MASK)
  39830. #define USB_USBCMD_PSE_MASK (0x10U)
  39831. #define USB_USBCMD_PSE_SHIFT (4U)
  39832. /*! PSE
  39833. * 0b0..Do not process the Periodic Schedule
  39834. * 0b1..Use the PERIODICLISTBASE register to access the Periodic Schedule.
  39835. */
  39836. #define USB_USBCMD_PSE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_PSE_SHIFT)) & USB_USBCMD_PSE_MASK)
  39837. #define USB_USBCMD_ASE_MASK (0x20U)
  39838. #define USB_USBCMD_ASE_SHIFT (5U)
  39839. /*! ASE
  39840. * 0b0..Do not process the Asynchronous Schedule.
  39841. * 0b1..Use the ASYNCLISTADDR register to access the Asynchronous Schedule.
  39842. */
  39843. #define USB_USBCMD_ASE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ASE_SHIFT)) & USB_USBCMD_ASE_MASK)
  39844. #define USB_USBCMD_IAA_MASK (0x40U)
  39845. #define USB_USBCMD_IAA_SHIFT (6U)
  39846. #define USB_USBCMD_IAA(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_IAA_SHIFT)) & USB_USBCMD_IAA_MASK)
  39847. #define USB_USBCMD_ASP_MASK (0x300U)
  39848. #define USB_USBCMD_ASP_SHIFT (8U)
  39849. #define USB_USBCMD_ASP(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ASP_SHIFT)) & USB_USBCMD_ASP_MASK)
  39850. #define USB_USBCMD_ASPE_MASK (0x800U)
  39851. #define USB_USBCMD_ASPE_SHIFT (11U)
  39852. #define USB_USBCMD_ASPE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ASPE_SHIFT)) & USB_USBCMD_ASPE_MASK)
  39853. #define USB_USBCMD_ATDTW_MASK (0x1000U)
  39854. #define USB_USBCMD_ATDTW_SHIFT (12U)
  39855. #define USB_USBCMD_ATDTW(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ATDTW_SHIFT)) & USB_USBCMD_ATDTW_MASK)
  39856. #define USB_USBCMD_SUTW_MASK (0x2000U)
  39857. #define USB_USBCMD_SUTW_SHIFT (13U)
  39858. #define USB_USBCMD_SUTW(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_SUTW_SHIFT)) & USB_USBCMD_SUTW_MASK)
  39859. #define USB_USBCMD_FS_2_MASK (0x8000U)
  39860. #define USB_USBCMD_FS_2_SHIFT (15U)
  39861. /*! FS_2
  39862. * 0b0..1024 elements (4096 bytes) Default value
  39863. * 0b1..512 elements (2048 bytes)
  39864. */
  39865. #define USB_USBCMD_FS_2(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_FS_2_SHIFT)) & USB_USBCMD_FS_2_MASK)
  39866. #define USB_USBCMD_ITC_MASK (0xFF0000U)
  39867. #define USB_USBCMD_ITC_SHIFT (16U)
  39868. /*! ITC
  39869. * 0b00000000..Immediate (no threshold)
  39870. * 0b00000001..1 micro-frame
  39871. * 0b00000010..2 micro-frames
  39872. * 0b00000100..4 micro-frames
  39873. * 0b00001000..8 micro-frames
  39874. * 0b00010000..16 micro-frames
  39875. * 0b00100000..32 micro-frames
  39876. * 0b01000000..64 micro-frames
  39877. */
  39878. #define USB_USBCMD_ITC(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ITC_SHIFT)) & USB_USBCMD_ITC_MASK)
  39879. /*! @} */
  39880. /*! @name USBSTS - USB Status Register */
  39881. /*! @{ */
  39882. #define USB_USBSTS_UI_MASK (0x1U)
  39883. #define USB_USBSTS_UI_SHIFT (0U)
  39884. #define USB_USBSTS_UI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_UI_SHIFT)) & USB_USBSTS_UI_MASK)
  39885. #define USB_USBSTS_UEI_MASK (0x2U)
  39886. #define USB_USBSTS_UEI_SHIFT (1U)
  39887. #define USB_USBSTS_UEI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_UEI_SHIFT)) & USB_USBSTS_UEI_MASK)
  39888. #define USB_USBSTS_PCI_MASK (0x4U)
  39889. #define USB_USBSTS_PCI_SHIFT (2U)
  39890. #define USB_USBSTS_PCI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_PCI_SHIFT)) & USB_USBSTS_PCI_MASK)
  39891. #define USB_USBSTS_FRI_MASK (0x8U)
  39892. #define USB_USBSTS_FRI_SHIFT (3U)
  39893. #define USB_USBSTS_FRI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_FRI_SHIFT)) & USB_USBSTS_FRI_MASK)
  39894. #define USB_USBSTS_SEI_MASK (0x10U)
  39895. #define USB_USBSTS_SEI_SHIFT (4U)
  39896. #define USB_USBSTS_SEI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_SEI_SHIFT)) & USB_USBSTS_SEI_MASK)
  39897. #define USB_USBSTS_AAI_MASK (0x20U)
  39898. #define USB_USBSTS_AAI_SHIFT (5U)
  39899. #define USB_USBSTS_AAI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_AAI_SHIFT)) & USB_USBSTS_AAI_MASK)
  39900. #define USB_USBSTS_URI_MASK (0x40U)
  39901. #define USB_USBSTS_URI_SHIFT (6U)
  39902. #define USB_USBSTS_URI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_URI_SHIFT)) & USB_USBSTS_URI_MASK)
  39903. #define USB_USBSTS_SRI_MASK (0x80U)
  39904. #define USB_USBSTS_SRI_SHIFT (7U)
  39905. #define USB_USBSTS_SRI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_SRI_SHIFT)) & USB_USBSTS_SRI_MASK)
  39906. #define USB_USBSTS_SLI_MASK (0x100U)
  39907. #define USB_USBSTS_SLI_SHIFT (8U)
  39908. #define USB_USBSTS_SLI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_SLI_SHIFT)) & USB_USBSTS_SLI_MASK)
  39909. #define USB_USBSTS_ULPII_MASK (0x400U)
  39910. #define USB_USBSTS_ULPII_SHIFT (10U)
  39911. #define USB_USBSTS_ULPII(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_ULPII_SHIFT)) & USB_USBSTS_ULPII_MASK)
  39912. #define USB_USBSTS_HCH_MASK (0x1000U)
  39913. #define USB_USBSTS_HCH_SHIFT (12U)
  39914. #define USB_USBSTS_HCH(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_HCH_SHIFT)) & USB_USBSTS_HCH_MASK)
  39915. #define USB_USBSTS_RCL_MASK (0x2000U)
  39916. #define USB_USBSTS_RCL_SHIFT (13U)
  39917. #define USB_USBSTS_RCL(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_RCL_SHIFT)) & USB_USBSTS_RCL_MASK)
  39918. #define USB_USBSTS_PS_MASK (0x4000U)
  39919. #define USB_USBSTS_PS_SHIFT (14U)
  39920. #define USB_USBSTS_PS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_PS_SHIFT)) & USB_USBSTS_PS_MASK)
  39921. #define USB_USBSTS_AS_MASK (0x8000U)
  39922. #define USB_USBSTS_AS_SHIFT (15U)
  39923. #define USB_USBSTS_AS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_AS_SHIFT)) & USB_USBSTS_AS_MASK)
  39924. #define USB_USBSTS_NAKI_MASK (0x10000U)
  39925. #define USB_USBSTS_NAKI_SHIFT (16U)
  39926. #define USB_USBSTS_NAKI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_NAKI_SHIFT)) & USB_USBSTS_NAKI_MASK)
  39927. #define USB_USBSTS_TI0_MASK (0x1000000U)
  39928. #define USB_USBSTS_TI0_SHIFT (24U)
  39929. #define USB_USBSTS_TI0(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_TI0_SHIFT)) & USB_USBSTS_TI0_MASK)
  39930. #define USB_USBSTS_TI1_MASK (0x2000000U)
  39931. #define USB_USBSTS_TI1_SHIFT (25U)
  39932. #define USB_USBSTS_TI1(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_TI1_SHIFT)) & USB_USBSTS_TI1_MASK)
  39933. /*! @} */
  39934. /*! @name USBINTR - Interrupt Enable Register */
  39935. /*! @{ */
  39936. #define USB_USBINTR_UE_MASK (0x1U)
  39937. #define USB_USBINTR_UE_SHIFT (0U)
  39938. #define USB_USBINTR_UE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UE_SHIFT)) & USB_USBINTR_UE_MASK)
  39939. #define USB_USBINTR_UEE_MASK (0x2U)
  39940. #define USB_USBINTR_UEE_SHIFT (1U)
  39941. #define USB_USBINTR_UEE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UEE_SHIFT)) & USB_USBINTR_UEE_MASK)
  39942. #define USB_USBINTR_PCE_MASK (0x4U)
  39943. #define USB_USBINTR_PCE_SHIFT (2U)
  39944. #define USB_USBINTR_PCE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_PCE_SHIFT)) & USB_USBINTR_PCE_MASK)
  39945. #define USB_USBINTR_FRE_MASK (0x8U)
  39946. #define USB_USBINTR_FRE_SHIFT (3U)
  39947. #define USB_USBINTR_FRE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_FRE_SHIFT)) & USB_USBINTR_FRE_MASK)
  39948. #define USB_USBINTR_SEE_MASK (0x10U)
  39949. #define USB_USBINTR_SEE_SHIFT (4U)
  39950. #define USB_USBINTR_SEE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_SEE_SHIFT)) & USB_USBINTR_SEE_MASK)
  39951. #define USB_USBINTR_AAE_MASK (0x20U)
  39952. #define USB_USBINTR_AAE_SHIFT (5U)
  39953. #define USB_USBINTR_AAE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_AAE_SHIFT)) & USB_USBINTR_AAE_MASK)
  39954. #define USB_USBINTR_URE_MASK (0x40U)
  39955. #define USB_USBINTR_URE_SHIFT (6U)
  39956. #define USB_USBINTR_URE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_URE_SHIFT)) & USB_USBINTR_URE_MASK)
  39957. #define USB_USBINTR_SRE_MASK (0x80U)
  39958. #define USB_USBINTR_SRE_SHIFT (7U)
  39959. #define USB_USBINTR_SRE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_SRE_SHIFT)) & USB_USBINTR_SRE_MASK)
  39960. #define USB_USBINTR_SLE_MASK (0x100U)
  39961. #define USB_USBINTR_SLE_SHIFT (8U)
  39962. #define USB_USBINTR_SLE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_SLE_SHIFT)) & USB_USBINTR_SLE_MASK)
  39963. #define USB_USBINTR_ULPIE_MASK (0x400U)
  39964. #define USB_USBINTR_ULPIE_SHIFT (10U)
  39965. #define USB_USBINTR_ULPIE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_ULPIE_SHIFT)) & USB_USBINTR_ULPIE_MASK)
  39966. #define USB_USBINTR_NAKE_MASK (0x10000U)
  39967. #define USB_USBINTR_NAKE_SHIFT (16U)
  39968. #define USB_USBINTR_NAKE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_NAKE_SHIFT)) & USB_USBINTR_NAKE_MASK)
  39969. #define USB_USBINTR_UAIE_MASK (0x40000U)
  39970. #define USB_USBINTR_UAIE_SHIFT (18U)
  39971. #define USB_USBINTR_UAIE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UAIE_SHIFT)) & USB_USBINTR_UAIE_MASK)
  39972. #define USB_USBINTR_UPIE_MASK (0x80000U)
  39973. #define USB_USBINTR_UPIE_SHIFT (19U)
  39974. #define USB_USBINTR_UPIE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UPIE_SHIFT)) & USB_USBINTR_UPIE_MASK)
  39975. #define USB_USBINTR_TIE0_MASK (0x1000000U)
  39976. #define USB_USBINTR_TIE0_SHIFT (24U)
  39977. #define USB_USBINTR_TIE0(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_TIE0_SHIFT)) & USB_USBINTR_TIE0_MASK)
  39978. #define USB_USBINTR_TIE1_MASK (0x2000000U)
  39979. #define USB_USBINTR_TIE1_SHIFT (25U)
  39980. #define USB_USBINTR_TIE1(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_TIE1_SHIFT)) & USB_USBINTR_TIE1_MASK)
  39981. /*! @} */
  39982. /*! @name FRINDEX - USB Frame Index */
  39983. /*! @{ */
  39984. #define USB_FRINDEX_FRINDEX_MASK (0x3FFFU)
  39985. #define USB_FRINDEX_FRINDEX_SHIFT (0U)
  39986. /*! FRINDEX
  39987. * 0b00000000000000..(1024) 12
  39988. * 0b00000000000001..(512) 11
  39989. * 0b00000000000010..(256) 10
  39990. * 0b00000000000011..(128) 9
  39991. * 0b00000000000100..(64) 8
  39992. * 0b00000000000101..(32) 7
  39993. * 0b00000000000110..(16) 6
  39994. * 0b00000000000111..(8) 5
  39995. */
  39996. #define USB_FRINDEX_FRINDEX(x) (((uint32_t)(((uint32_t)(x)) << USB_FRINDEX_FRINDEX_SHIFT)) & USB_FRINDEX_FRINDEX_MASK)
  39997. /*! @} */
  39998. /*! @name DEVICEADDR - Device Address */
  39999. /*! @{ */
  40000. #define USB_DEVICEADDR_USBADRA_MASK (0x1000000U)
  40001. #define USB_DEVICEADDR_USBADRA_SHIFT (24U)
  40002. #define USB_DEVICEADDR_USBADRA(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVICEADDR_USBADRA_SHIFT)) & USB_DEVICEADDR_USBADRA_MASK)
  40003. #define USB_DEVICEADDR_USBADR_MASK (0xFE000000U)
  40004. #define USB_DEVICEADDR_USBADR_SHIFT (25U)
  40005. #define USB_DEVICEADDR_USBADR(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVICEADDR_USBADR_SHIFT)) & USB_DEVICEADDR_USBADR_MASK)
  40006. /*! @} */
  40007. /*! @name PERIODICLISTBASE - Frame List Base Address */
  40008. /*! @{ */
  40009. #define USB_PERIODICLISTBASE_BASEADR_MASK (0xFFFFF000U)
  40010. #define USB_PERIODICLISTBASE_BASEADR_SHIFT (12U)
  40011. #define USB_PERIODICLISTBASE_BASEADR(x) (((uint32_t)(((uint32_t)(x)) << USB_PERIODICLISTBASE_BASEADR_SHIFT)) & USB_PERIODICLISTBASE_BASEADR_MASK)
  40012. /*! @} */
  40013. /*! @name ASYNCLISTADDR - Next Asynch. Address */
  40014. /*! @{ */
  40015. #define USB_ASYNCLISTADDR_ASYBASE_MASK (0xFFFFFFE0U)
  40016. #define USB_ASYNCLISTADDR_ASYBASE_SHIFT (5U)
  40017. #define USB_ASYNCLISTADDR_ASYBASE(x) (((uint32_t)(((uint32_t)(x)) << USB_ASYNCLISTADDR_ASYBASE_SHIFT)) & USB_ASYNCLISTADDR_ASYBASE_MASK)
  40018. /*! @} */
  40019. /*! @name ENDPTLISTADDR - Endpoint List Address */
  40020. /*! @{ */
  40021. #define USB_ENDPTLISTADDR_EPBASE_MASK (0xFFFFF800U)
  40022. #define USB_ENDPTLISTADDR_EPBASE_SHIFT (11U)
  40023. #define USB_ENDPTLISTADDR_EPBASE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTLISTADDR_EPBASE_SHIFT)) & USB_ENDPTLISTADDR_EPBASE_MASK)
  40024. /*! @} */
  40025. /*! @name BURSTSIZE - Programmable Burst Size */
  40026. /*! @{ */
  40027. #define USB_BURSTSIZE_RXPBURST_MASK (0xFFU)
  40028. #define USB_BURSTSIZE_RXPBURST_SHIFT (0U)
  40029. #define USB_BURSTSIZE_RXPBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_BURSTSIZE_RXPBURST_SHIFT)) & USB_BURSTSIZE_RXPBURST_MASK)
  40030. #define USB_BURSTSIZE_TXPBURST_MASK (0x1FF00U)
  40031. #define USB_BURSTSIZE_TXPBURST_SHIFT (8U)
  40032. #define USB_BURSTSIZE_TXPBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_BURSTSIZE_TXPBURST_SHIFT)) & USB_BURSTSIZE_TXPBURST_MASK)
  40033. /*! @} */
  40034. /*! @name TXFILLTUNING - TX FIFO Fill Tuning */
  40035. /*! @{ */
  40036. #define USB_TXFILLTUNING_TXSCHOH_MASK (0xFFU)
  40037. #define USB_TXFILLTUNING_TXSCHOH_SHIFT (0U)
  40038. #define USB_TXFILLTUNING_TXSCHOH(x) (((uint32_t)(((uint32_t)(x)) << USB_TXFILLTUNING_TXSCHOH_SHIFT)) & USB_TXFILLTUNING_TXSCHOH_MASK)
  40039. #define USB_TXFILLTUNING_TXSCHHEALTH_MASK (0x1F00U)
  40040. #define USB_TXFILLTUNING_TXSCHHEALTH_SHIFT (8U)
  40041. #define USB_TXFILLTUNING_TXSCHHEALTH(x) (((uint32_t)(((uint32_t)(x)) << USB_TXFILLTUNING_TXSCHHEALTH_SHIFT)) & USB_TXFILLTUNING_TXSCHHEALTH_MASK)
  40042. #define USB_TXFILLTUNING_TXFIFOTHRES_MASK (0x3F0000U)
  40043. #define USB_TXFILLTUNING_TXFIFOTHRES_SHIFT (16U)
  40044. #define USB_TXFILLTUNING_TXFIFOTHRES(x) (((uint32_t)(((uint32_t)(x)) << USB_TXFILLTUNING_TXFIFOTHRES_SHIFT)) & USB_TXFILLTUNING_TXFIFOTHRES_MASK)
  40045. /*! @} */
  40046. /*! @name ENDPTNAK - Endpoint NAK */
  40047. /*! @{ */
  40048. #define USB_ENDPTNAK_EPRN_MASK (0xFFU)
  40049. #define USB_ENDPTNAK_EPRN_SHIFT (0U)
  40050. #define USB_ENDPTNAK_EPRN(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAK_EPRN_SHIFT)) & USB_ENDPTNAK_EPRN_MASK)
  40051. #define USB_ENDPTNAK_EPTN_MASK (0xFF0000U)
  40052. #define USB_ENDPTNAK_EPTN_SHIFT (16U)
  40053. #define USB_ENDPTNAK_EPTN(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAK_EPTN_SHIFT)) & USB_ENDPTNAK_EPTN_MASK)
  40054. /*! @} */
  40055. /*! @name ENDPTNAKEN - Endpoint NAK Enable */
  40056. /*! @{ */
  40057. #define USB_ENDPTNAKEN_EPRNE_MASK (0xFFU)
  40058. #define USB_ENDPTNAKEN_EPRNE_SHIFT (0U)
  40059. #define USB_ENDPTNAKEN_EPRNE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAKEN_EPRNE_SHIFT)) & USB_ENDPTNAKEN_EPRNE_MASK)
  40060. #define USB_ENDPTNAKEN_EPTNE_MASK (0xFF0000U)
  40061. #define USB_ENDPTNAKEN_EPTNE_SHIFT (16U)
  40062. #define USB_ENDPTNAKEN_EPTNE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAKEN_EPTNE_SHIFT)) & USB_ENDPTNAKEN_EPTNE_MASK)
  40063. /*! @} */
  40064. /*! @name CONFIGFLAG - Configure Flag Register */
  40065. /*! @{ */
  40066. #define USB_CONFIGFLAG_CF_MASK (0x1U)
  40067. #define USB_CONFIGFLAG_CF_SHIFT (0U)
  40068. /*! CF
  40069. * 0b0..Port routing control logic default-routes each port to an implementation dependent classic host controller.
  40070. * 0b1..Port routing control logic default-routes all ports to this host controller.
  40071. */
  40072. #define USB_CONFIGFLAG_CF(x) (((uint32_t)(((uint32_t)(x)) << USB_CONFIGFLAG_CF_SHIFT)) & USB_CONFIGFLAG_CF_MASK)
  40073. /*! @} */
  40074. /*! @name PORTSC1 - Port Status & Control */
  40075. /*! @{ */
  40076. #define USB_PORTSC1_CCS_MASK (0x1U)
  40077. #define USB_PORTSC1_CCS_SHIFT (0U)
  40078. #define USB_PORTSC1_CCS(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_CCS_SHIFT)) & USB_PORTSC1_CCS_MASK)
  40079. #define USB_PORTSC1_CSC_MASK (0x2U)
  40080. #define USB_PORTSC1_CSC_SHIFT (1U)
  40081. #define USB_PORTSC1_CSC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_CSC_SHIFT)) & USB_PORTSC1_CSC_MASK)
  40082. #define USB_PORTSC1_PE_MASK (0x4U)
  40083. #define USB_PORTSC1_PE_SHIFT (2U)
  40084. #define USB_PORTSC1_PE(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PE_SHIFT)) & USB_PORTSC1_PE_MASK)
  40085. #define USB_PORTSC1_PEC_MASK (0x8U)
  40086. #define USB_PORTSC1_PEC_SHIFT (3U)
  40087. #define USB_PORTSC1_PEC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PEC_SHIFT)) & USB_PORTSC1_PEC_MASK)
  40088. #define USB_PORTSC1_OCA_MASK (0x10U)
  40089. #define USB_PORTSC1_OCA_SHIFT (4U)
  40090. /*! OCA
  40091. * 0b1..This port currently has an over-current condition
  40092. * 0b0..This port does not have an over-current condition.
  40093. */
  40094. #define USB_PORTSC1_OCA(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_OCA_SHIFT)) & USB_PORTSC1_OCA_MASK)
  40095. #define USB_PORTSC1_OCC_MASK (0x20U)
  40096. #define USB_PORTSC1_OCC_SHIFT (5U)
  40097. #define USB_PORTSC1_OCC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_OCC_SHIFT)) & USB_PORTSC1_OCC_MASK)
  40098. #define USB_PORTSC1_FPR_MASK (0x40U)
  40099. #define USB_PORTSC1_FPR_SHIFT (6U)
  40100. #define USB_PORTSC1_FPR(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_FPR_SHIFT)) & USB_PORTSC1_FPR_MASK)
  40101. #define USB_PORTSC1_SUSP_MASK (0x80U)
  40102. #define USB_PORTSC1_SUSP_SHIFT (7U)
  40103. #define USB_PORTSC1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_SUSP_SHIFT)) & USB_PORTSC1_SUSP_MASK)
  40104. #define USB_PORTSC1_PR_MASK (0x100U)
  40105. #define USB_PORTSC1_PR_SHIFT (8U)
  40106. #define USB_PORTSC1_PR(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PR_SHIFT)) & USB_PORTSC1_PR_MASK)
  40107. #define USB_PORTSC1_HSP_MASK (0x200U)
  40108. #define USB_PORTSC1_HSP_SHIFT (9U)
  40109. #define USB_PORTSC1_HSP(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_HSP_SHIFT)) & USB_PORTSC1_HSP_MASK)
  40110. #define USB_PORTSC1_LS_MASK (0xC00U)
  40111. #define USB_PORTSC1_LS_SHIFT (10U)
  40112. /*! LS
  40113. * 0b00..SE0
  40114. * 0b10..J-state
  40115. * 0b01..K-state
  40116. * 0b11..Undefined
  40117. */
  40118. #define USB_PORTSC1_LS(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_LS_SHIFT)) & USB_PORTSC1_LS_MASK)
  40119. #define USB_PORTSC1_PP_MASK (0x1000U)
  40120. #define USB_PORTSC1_PP_SHIFT (12U)
  40121. #define USB_PORTSC1_PP(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PP_SHIFT)) & USB_PORTSC1_PP_MASK)
  40122. #define USB_PORTSC1_PO_MASK (0x2000U)
  40123. #define USB_PORTSC1_PO_SHIFT (13U)
  40124. #define USB_PORTSC1_PO(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PO_SHIFT)) & USB_PORTSC1_PO_MASK)
  40125. #define USB_PORTSC1_PIC_MASK (0xC000U)
  40126. #define USB_PORTSC1_PIC_SHIFT (14U)
  40127. /*! PIC
  40128. * 0b00..Port indicators are off
  40129. * 0b01..Amber
  40130. * 0b10..Green
  40131. * 0b11..Undefined
  40132. */
  40133. #define USB_PORTSC1_PIC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PIC_SHIFT)) & USB_PORTSC1_PIC_MASK)
  40134. #define USB_PORTSC1_PTC_MASK (0xF0000U)
  40135. #define USB_PORTSC1_PTC_SHIFT (16U)
  40136. /*! PTC
  40137. * 0b0000..TEST_MODE_DISABLE
  40138. * 0b0001..J_STATE
  40139. * 0b0010..K_STATE
  40140. * 0b0011..SE0 (host) / NAK (device)
  40141. * 0b0100..Packet
  40142. * 0b0101..FORCE_ENABLE_HS
  40143. * 0b0110..FORCE_ENABLE_FS
  40144. * 0b0111..FORCE_ENABLE_LS
  40145. */
  40146. #define USB_PORTSC1_PTC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTC_SHIFT)) & USB_PORTSC1_PTC_MASK)
  40147. #define USB_PORTSC1_WKCN_MASK (0x100000U)
  40148. #define USB_PORTSC1_WKCN_SHIFT (20U)
  40149. #define USB_PORTSC1_WKCN(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_WKCN_SHIFT)) & USB_PORTSC1_WKCN_MASK)
  40150. #define USB_PORTSC1_WKDC_MASK (0x200000U)
  40151. #define USB_PORTSC1_WKDC_SHIFT (21U)
  40152. #define USB_PORTSC1_WKDC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_WKDC_SHIFT)) & USB_PORTSC1_WKDC_MASK)
  40153. #define USB_PORTSC1_WKOC_MASK (0x400000U)
  40154. #define USB_PORTSC1_WKOC_SHIFT (22U)
  40155. #define USB_PORTSC1_WKOC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_WKOC_SHIFT)) & USB_PORTSC1_WKOC_MASK)
  40156. #define USB_PORTSC1_PHCD_MASK (0x800000U)
  40157. #define USB_PORTSC1_PHCD_SHIFT (23U)
  40158. /*! PHCD
  40159. * 0b1..Disable PHY clock
  40160. * 0b0..Enable PHY clock
  40161. */
  40162. #define USB_PORTSC1_PHCD(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PHCD_SHIFT)) & USB_PORTSC1_PHCD_MASK)
  40163. #define USB_PORTSC1_PFSC_MASK (0x1000000U)
  40164. #define USB_PORTSC1_PFSC_SHIFT (24U)
  40165. /*! PFSC
  40166. * 0b1..Forced to full speed
  40167. * 0b0..Normal operation
  40168. */
  40169. #define USB_PORTSC1_PFSC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PFSC_SHIFT)) & USB_PORTSC1_PFSC_MASK)
  40170. #define USB_PORTSC1_PTS_2_MASK (0x2000000U)
  40171. #define USB_PORTSC1_PTS_2_SHIFT (25U)
  40172. #define USB_PORTSC1_PTS_2(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTS_2_SHIFT)) & USB_PORTSC1_PTS_2_MASK)
  40173. #define USB_PORTSC1_PSPD_MASK (0xC000000U)
  40174. #define USB_PORTSC1_PSPD_SHIFT (26U)
  40175. /*! PSPD
  40176. * 0b00..Full Speed
  40177. * 0b01..Low Speed
  40178. * 0b10..High Speed
  40179. * 0b11..Undefined
  40180. */
  40181. #define USB_PORTSC1_PSPD(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PSPD_SHIFT)) & USB_PORTSC1_PSPD_MASK)
  40182. #define USB_PORTSC1_PTW_MASK (0x10000000U)
  40183. #define USB_PORTSC1_PTW_SHIFT (28U)
  40184. /*! PTW
  40185. * 0b0..Select the 8-bit UTMI interface [60MHz]
  40186. * 0b1..Select the 16-bit UTMI interface [30MHz]
  40187. */
  40188. #define USB_PORTSC1_PTW(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTW_SHIFT)) & USB_PORTSC1_PTW_MASK)
  40189. #define USB_PORTSC1_STS_MASK (0x20000000U)
  40190. #define USB_PORTSC1_STS_SHIFT (29U)
  40191. #define USB_PORTSC1_STS(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_STS_SHIFT)) & USB_PORTSC1_STS_MASK)
  40192. #define USB_PORTSC1_PTS_1_MASK (0xC0000000U)
  40193. #define USB_PORTSC1_PTS_1_SHIFT (30U)
  40194. #define USB_PORTSC1_PTS_1(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTS_1_SHIFT)) & USB_PORTSC1_PTS_1_MASK)
  40195. /*! @} */
  40196. /*! @name OTGSC - On-The-Go Status & control */
  40197. /*! @{ */
  40198. #define USB_OTGSC_VD_MASK (0x1U)
  40199. #define USB_OTGSC_VD_SHIFT (0U)
  40200. #define USB_OTGSC_VD(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_VD_SHIFT)) & USB_OTGSC_VD_MASK)
  40201. #define USB_OTGSC_VC_MASK (0x2U)
  40202. #define USB_OTGSC_VC_SHIFT (1U)
  40203. #define USB_OTGSC_VC(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_VC_SHIFT)) & USB_OTGSC_VC_MASK)
  40204. #define USB_OTGSC_OT_MASK (0x8U)
  40205. #define USB_OTGSC_OT_SHIFT (3U)
  40206. #define USB_OTGSC_OT(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_OT_SHIFT)) & USB_OTGSC_OT_MASK)
  40207. #define USB_OTGSC_DP_MASK (0x10U)
  40208. #define USB_OTGSC_DP_SHIFT (4U)
  40209. #define USB_OTGSC_DP(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DP_SHIFT)) & USB_OTGSC_DP_MASK)
  40210. #define USB_OTGSC_IDPU_MASK (0x20U)
  40211. #define USB_OTGSC_IDPU_SHIFT (5U)
  40212. #define USB_OTGSC_IDPU(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_IDPU_SHIFT)) & USB_OTGSC_IDPU_MASK)
  40213. #define USB_OTGSC_ID_MASK (0x100U)
  40214. #define USB_OTGSC_ID_SHIFT (8U)
  40215. #define USB_OTGSC_ID(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ID_SHIFT)) & USB_OTGSC_ID_MASK)
  40216. #define USB_OTGSC_AVV_MASK (0x200U)
  40217. #define USB_OTGSC_AVV_SHIFT (9U)
  40218. #define USB_OTGSC_AVV(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_AVV_SHIFT)) & USB_OTGSC_AVV_MASK)
  40219. #define USB_OTGSC_ASV_MASK (0x400U)
  40220. #define USB_OTGSC_ASV_SHIFT (10U)
  40221. #define USB_OTGSC_ASV(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ASV_SHIFT)) & USB_OTGSC_ASV_MASK)
  40222. #define USB_OTGSC_BSV_MASK (0x800U)
  40223. #define USB_OTGSC_BSV_SHIFT (11U)
  40224. #define USB_OTGSC_BSV(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSV_SHIFT)) & USB_OTGSC_BSV_MASK)
  40225. #define USB_OTGSC_BSE_MASK (0x1000U)
  40226. #define USB_OTGSC_BSE_SHIFT (12U)
  40227. #define USB_OTGSC_BSE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSE_SHIFT)) & USB_OTGSC_BSE_MASK)
  40228. #define USB_OTGSC_TOG_1MS_MASK (0x2000U)
  40229. #define USB_OTGSC_TOG_1MS_SHIFT (13U)
  40230. #define USB_OTGSC_TOG_1MS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_TOG_1MS_SHIFT)) & USB_OTGSC_TOG_1MS_MASK)
  40231. #define USB_OTGSC_DPS_MASK (0x4000U)
  40232. #define USB_OTGSC_DPS_SHIFT (14U)
  40233. #define USB_OTGSC_DPS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DPS_SHIFT)) & USB_OTGSC_DPS_MASK)
  40234. #define USB_OTGSC_IDIS_MASK (0x10000U)
  40235. #define USB_OTGSC_IDIS_SHIFT (16U)
  40236. #define USB_OTGSC_IDIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_IDIS_SHIFT)) & USB_OTGSC_IDIS_MASK)
  40237. #define USB_OTGSC_AVVIS_MASK (0x20000U)
  40238. #define USB_OTGSC_AVVIS_SHIFT (17U)
  40239. #define USB_OTGSC_AVVIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_AVVIS_SHIFT)) & USB_OTGSC_AVVIS_MASK)
  40240. #define USB_OTGSC_ASVIS_MASK (0x40000U)
  40241. #define USB_OTGSC_ASVIS_SHIFT (18U)
  40242. #define USB_OTGSC_ASVIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ASVIS_SHIFT)) & USB_OTGSC_ASVIS_MASK)
  40243. #define USB_OTGSC_BSVIS_MASK (0x80000U)
  40244. #define USB_OTGSC_BSVIS_SHIFT (19U)
  40245. #define USB_OTGSC_BSVIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSVIS_SHIFT)) & USB_OTGSC_BSVIS_MASK)
  40246. #define USB_OTGSC_BSEIS_MASK (0x100000U)
  40247. #define USB_OTGSC_BSEIS_SHIFT (20U)
  40248. #define USB_OTGSC_BSEIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSEIS_SHIFT)) & USB_OTGSC_BSEIS_MASK)
  40249. #define USB_OTGSC_STATUS_1MS_MASK (0x200000U)
  40250. #define USB_OTGSC_STATUS_1MS_SHIFT (21U)
  40251. #define USB_OTGSC_STATUS_1MS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_STATUS_1MS_SHIFT)) & USB_OTGSC_STATUS_1MS_MASK)
  40252. #define USB_OTGSC_DPIS_MASK (0x400000U)
  40253. #define USB_OTGSC_DPIS_SHIFT (22U)
  40254. #define USB_OTGSC_DPIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DPIS_SHIFT)) & USB_OTGSC_DPIS_MASK)
  40255. #define USB_OTGSC_IDIE_MASK (0x1000000U)
  40256. #define USB_OTGSC_IDIE_SHIFT (24U)
  40257. #define USB_OTGSC_IDIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_IDIE_SHIFT)) & USB_OTGSC_IDIE_MASK)
  40258. #define USB_OTGSC_AVVIE_MASK (0x2000000U)
  40259. #define USB_OTGSC_AVVIE_SHIFT (25U)
  40260. #define USB_OTGSC_AVVIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_AVVIE_SHIFT)) & USB_OTGSC_AVVIE_MASK)
  40261. #define USB_OTGSC_ASVIE_MASK (0x4000000U)
  40262. #define USB_OTGSC_ASVIE_SHIFT (26U)
  40263. #define USB_OTGSC_ASVIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ASVIE_SHIFT)) & USB_OTGSC_ASVIE_MASK)
  40264. #define USB_OTGSC_BSVIE_MASK (0x8000000U)
  40265. #define USB_OTGSC_BSVIE_SHIFT (27U)
  40266. #define USB_OTGSC_BSVIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSVIE_SHIFT)) & USB_OTGSC_BSVIE_MASK)
  40267. #define USB_OTGSC_BSEIE_MASK (0x10000000U)
  40268. #define USB_OTGSC_BSEIE_SHIFT (28U)
  40269. #define USB_OTGSC_BSEIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSEIE_SHIFT)) & USB_OTGSC_BSEIE_MASK)
  40270. #define USB_OTGSC_EN_1MS_MASK (0x20000000U)
  40271. #define USB_OTGSC_EN_1MS_SHIFT (29U)
  40272. #define USB_OTGSC_EN_1MS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_EN_1MS_SHIFT)) & USB_OTGSC_EN_1MS_MASK)
  40273. #define USB_OTGSC_DPIE_MASK (0x40000000U)
  40274. #define USB_OTGSC_DPIE_SHIFT (30U)
  40275. #define USB_OTGSC_DPIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DPIE_SHIFT)) & USB_OTGSC_DPIE_MASK)
  40276. /*! @} */
  40277. /*! @name USBMODE - USB Device Mode */
  40278. /*! @{ */
  40279. #define USB_USBMODE_CM_MASK (0x3U)
  40280. #define USB_USBMODE_CM_SHIFT (0U)
  40281. /*! CM
  40282. * 0b00..Idle [Default for combination host/device]
  40283. * 0b01..Reserved
  40284. * 0b10..Device Controller [Default for device only controller]
  40285. * 0b11..Host Controller [Default for host only controller]
  40286. */
  40287. #define USB_USBMODE_CM(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_CM_SHIFT)) & USB_USBMODE_CM_MASK)
  40288. #define USB_USBMODE_ES_MASK (0x4U)
  40289. #define USB_USBMODE_ES_SHIFT (2U)
  40290. /*! ES
  40291. * 0b0..Little Endian [Default]
  40292. * 0b1..Big Endian
  40293. */
  40294. #define USB_USBMODE_ES(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_ES_SHIFT)) & USB_USBMODE_ES_MASK)
  40295. #define USB_USBMODE_SLOM_MASK (0x8U)
  40296. #define USB_USBMODE_SLOM_SHIFT (3U)
  40297. /*! SLOM
  40298. * 0b0..Setup Lockouts On (default);
  40299. * 0b1..Setup Lockouts Off (DCD requires use of Setup Data Buffer Tripwire in USBCMDUSB Command Register .
  40300. */
  40301. #define USB_USBMODE_SLOM(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_SLOM_SHIFT)) & USB_USBMODE_SLOM_MASK)
  40302. #define USB_USBMODE_SDIS_MASK (0x10U)
  40303. #define USB_USBMODE_SDIS_SHIFT (4U)
  40304. #define USB_USBMODE_SDIS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_SDIS_SHIFT)) & USB_USBMODE_SDIS_MASK)
  40305. /*! @} */
  40306. /*! @name ENDPTSETUPSTAT - Endpoint Setup Status */
  40307. /*! @{ */
  40308. #define USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_MASK (0xFFFFU)
  40309. #define USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_SHIFT (0U)
  40310. #define USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_SHIFT)) & USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_MASK)
  40311. /*! @} */
  40312. /*! @name ENDPTPRIME - Endpoint Prime */
  40313. /*! @{ */
  40314. #define USB_ENDPTPRIME_PERB_MASK (0xFFU)
  40315. #define USB_ENDPTPRIME_PERB_SHIFT (0U)
  40316. #define USB_ENDPTPRIME_PERB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTPRIME_PERB_SHIFT)) & USB_ENDPTPRIME_PERB_MASK)
  40317. #define USB_ENDPTPRIME_PETB_MASK (0xFF0000U)
  40318. #define USB_ENDPTPRIME_PETB_SHIFT (16U)
  40319. #define USB_ENDPTPRIME_PETB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTPRIME_PETB_SHIFT)) & USB_ENDPTPRIME_PETB_MASK)
  40320. /*! @} */
  40321. /*! @name ENDPTFLUSH - Endpoint Flush */
  40322. /*! @{ */
  40323. #define USB_ENDPTFLUSH_FERB_MASK (0xFFU)
  40324. #define USB_ENDPTFLUSH_FERB_SHIFT (0U)
  40325. #define USB_ENDPTFLUSH_FERB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTFLUSH_FERB_SHIFT)) & USB_ENDPTFLUSH_FERB_MASK)
  40326. #define USB_ENDPTFLUSH_FETB_MASK (0xFF0000U)
  40327. #define USB_ENDPTFLUSH_FETB_SHIFT (16U)
  40328. #define USB_ENDPTFLUSH_FETB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTFLUSH_FETB_SHIFT)) & USB_ENDPTFLUSH_FETB_MASK)
  40329. /*! @} */
  40330. /*! @name ENDPTSTAT - Endpoint Status */
  40331. /*! @{ */
  40332. #define USB_ENDPTSTAT_ERBR_MASK (0xFFU)
  40333. #define USB_ENDPTSTAT_ERBR_SHIFT (0U)
  40334. #define USB_ENDPTSTAT_ERBR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTSTAT_ERBR_SHIFT)) & USB_ENDPTSTAT_ERBR_MASK)
  40335. #define USB_ENDPTSTAT_ETBR_MASK (0xFF0000U)
  40336. #define USB_ENDPTSTAT_ETBR_SHIFT (16U)
  40337. #define USB_ENDPTSTAT_ETBR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTSTAT_ETBR_SHIFT)) & USB_ENDPTSTAT_ETBR_MASK)
  40338. /*! @} */
  40339. /*! @name ENDPTCOMPLETE - Endpoint Complete */
  40340. /*! @{ */
  40341. #define USB_ENDPTCOMPLETE_ERCE_MASK (0xFFU)
  40342. #define USB_ENDPTCOMPLETE_ERCE_SHIFT (0U)
  40343. #define USB_ENDPTCOMPLETE_ERCE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCOMPLETE_ERCE_SHIFT)) & USB_ENDPTCOMPLETE_ERCE_MASK)
  40344. #define USB_ENDPTCOMPLETE_ETCE_MASK (0xFF0000U)
  40345. #define USB_ENDPTCOMPLETE_ETCE_SHIFT (16U)
  40346. #define USB_ENDPTCOMPLETE_ETCE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCOMPLETE_ETCE_SHIFT)) & USB_ENDPTCOMPLETE_ETCE_MASK)
  40347. /*! @} */
  40348. /*! @name ENDPTCTRL0 - Endpoint Control0 */
  40349. /*! @{ */
  40350. #define USB_ENDPTCTRL0_RXS_MASK (0x1U)
  40351. #define USB_ENDPTCTRL0_RXS_SHIFT (0U)
  40352. #define USB_ENDPTCTRL0_RXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_RXS_SHIFT)) & USB_ENDPTCTRL0_RXS_MASK)
  40353. #define USB_ENDPTCTRL0_RXT_MASK (0xCU)
  40354. #define USB_ENDPTCTRL0_RXT_SHIFT (2U)
  40355. #define USB_ENDPTCTRL0_RXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_RXT_SHIFT)) & USB_ENDPTCTRL0_RXT_MASK)
  40356. #define USB_ENDPTCTRL0_RXE_MASK (0x80U)
  40357. #define USB_ENDPTCTRL0_RXE_SHIFT (7U)
  40358. #define USB_ENDPTCTRL0_RXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_RXE_SHIFT)) & USB_ENDPTCTRL0_RXE_MASK)
  40359. #define USB_ENDPTCTRL0_TXS_MASK (0x10000U)
  40360. #define USB_ENDPTCTRL0_TXS_SHIFT (16U)
  40361. #define USB_ENDPTCTRL0_TXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_TXS_SHIFT)) & USB_ENDPTCTRL0_TXS_MASK)
  40362. #define USB_ENDPTCTRL0_TXT_MASK (0xC0000U)
  40363. #define USB_ENDPTCTRL0_TXT_SHIFT (18U)
  40364. #define USB_ENDPTCTRL0_TXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_TXT_SHIFT)) & USB_ENDPTCTRL0_TXT_MASK)
  40365. #define USB_ENDPTCTRL0_TXE_MASK (0x800000U)
  40366. #define USB_ENDPTCTRL0_TXE_SHIFT (23U)
  40367. #define USB_ENDPTCTRL0_TXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_TXE_SHIFT)) & USB_ENDPTCTRL0_TXE_MASK)
  40368. /*! @} */
  40369. /*! @name ENDPTCTRL - Endpoint Control 1..Endpoint Control 7 */
  40370. /*! @{ */
  40371. #define USB_ENDPTCTRL_RXS_MASK (0x1U)
  40372. #define USB_ENDPTCTRL_RXS_SHIFT (0U)
  40373. #define USB_ENDPTCTRL_RXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXS_SHIFT)) & USB_ENDPTCTRL_RXS_MASK)
  40374. #define USB_ENDPTCTRL_RXD_MASK (0x2U)
  40375. #define USB_ENDPTCTRL_RXD_SHIFT (1U)
  40376. #define USB_ENDPTCTRL_RXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXD_SHIFT)) & USB_ENDPTCTRL_RXD_MASK)
  40377. #define USB_ENDPTCTRL_RXT_MASK (0xCU)
  40378. #define USB_ENDPTCTRL_RXT_SHIFT (2U)
  40379. #define USB_ENDPTCTRL_RXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXT_SHIFT)) & USB_ENDPTCTRL_RXT_MASK)
  40380. #define USB_ENDPTCTRL_RXI_MASK (0x20U)
  40381. #define USB_ENDPTCTRL_RXI_SHIFT (5U)
  40382. #define USB_ENDPTCTRL_RXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXI_SHIFT)) & USB_ENDPTCTRL_RXI_MASK)
  40383. #define USB_ENDPTCTRL_RXR_MASK (0x40U)
  40384. #define USB_ENDPTCTRL_RXR_SHIFT (6U)
  40385. #define USB_ENDPTCTRL_RXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXR_SHIFT)) & USB_ENDPTCTRL_RXR_MASK)
  40386. #define USB_ENDPTCTRL_RXE_MASK (0x80U)
  40387. #define USB_ENDPTCTRL_RXE_SHIFT (7U)
  40388. #define USB_ENDPTCTRL_RXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXE_SHIFT)) & USB_ENDPTCTRL_RXE_MASK)
  40389. #define USB_ENDPTCTRL_TXS_MASK (0x10000U)
  40390. #define USB_ENDPTCTRL_TXS_SHIFT (16U)
  40391. #define USB_ENDPTCTRL_TXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXS_SHIFT)) & USB_ENDPTCTRL_TXS_MASK)
  40392. #define USB_ENDPTCTRL_TXD_MASK (0x20000U)
  40393. #define USB_ENDPTCTRL_TXD_SHIFT (17U)
  40394. #define USB_ENDPTCTRL_TXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXD_SHIFT)) & USB_ENDPTCTRL_TXD_MASK)
  40395. #define USB_ENDPTCTRL_TXT_MASK (0xC0000U)
  40396. #define USB_ENDPTCTRL_TXT_SHIFT (18U)
  40397. #define USB_ENDPTCTRL_TXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXT_SHIFT)) & USB_ENDPTCTRL_TXT_MASK)
  40398. #define USB_ENDPTCTRL_TXI_MASK (0x200000U)
  40399. #define USB_ENDPTCTRL_TXI_SHIFT (21U)
  40400. #define USB_ENDPTCTRL_TXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXI_SHIFT)) & USB_ENDPTCTRL_TXI_MASK)
  40401. #define USB_ENDPTCTRL_TXR_MASK (0x400000U)
  40402. #define USB_ENDPTCTRL_TXR_SHIFT (22U)
  40403. #define USB_ENDPTCTRL_TXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXR_SHIFT)) & USB_ENDPTCTRL_TXR_MASK)
  40404. #define USB_ENDPTCTRL_TXE_MASK (0x800000U)
  40405. #define USB_ENDPTCTRL_TXE_SHIFT (23U)
  40406. #define USB_ENDPTCTRL_TXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXE_SHIFT)) & USB_ENDPTCTRL_TXE_MASK)
  40407. /*! @} */
  40408. /* The count of USB_ENDPTCTRL */
  40409. #define USB_ENDPTCTRL_COUNT (7U)
  40410. /*!
  40411. * @}
  40412. */ /* end of group USB_Register_Masks */
  40413. /* USB - Peripheral instance base addresses */
  40414. /** Peripheral USB1 base address */
  40415. #define USB1_BASE (0x402E0000u)
  40416. /** Peripheral USB1 base pointer */
  40417. #define USB1 ((USB_Type *)USB1_BASE)
  40418. /** Peripheral USB2 base address */
  40419. #define USB2_BASE (0x402E0200u)
  40420. /** Peripheral USB2 base pointer */
  40421. #define USB2 ((USB_Type *)USB2_BASE)
  40422. /** Array initializer of USB peripheral base addresses */
  40423. #define USB_BASE_ADDRS { 0u, USB1_BASE, USB2_BASE }
  40424. /** Array initializer of USB peripheral base pointers */
  40425. #define USB_BASE_PTRS { (USB_Type *)0u, USB1, USB2 }
  40426. /** Interrupt vectors for the USB peripheral type */
  40427. #define USB_IRQS { NotAvail_IRQn, USB_OTG1_IRQn, USB_OTG2_IRQn }
  40428. /* Backward compatibility */
  40429. #define GPTIMER0CTL GPTIMER0CTRL
  40430. #define GPTIMER1CTL GPTIMER1CTRL
  40431. #define USB_SBUSCFG SBUSCFG
  40432. #define EPLISTADDR ENDPTLISTADDR
  40433. #define EPSETUPSR ENDPTSETUPSTAT
  40434. #define EPPRIME ENDPTPRIME
  40435. #define EPFLUSH ENDPTFLUSH
  40436. #define EPSR ENDPTSTAT
  40437. #define EPCOMPLETE ENDPTCOMPLETE
  40438. #define EPCR ENDPTCTRL
  40439. #define EPCR0 ENDPTCTRL0
  40440. #define USBHS_ID_ID_MASK USB_ID_ID_MASK
  40441. #define USBHS_ID_ID_SHIFT USB_ID_ID_SHIFT
  40442. #define USBHS_ID_ID(x) USB_ID_ID(x)
  40443. #define USBHS_ID_NID_MASK USB_ID_NID_MASK
  40444. #define USBHS_ID_NID_SHIFT USB_ID_NID_SHIFT
  40445. #define USBHS_ID_NID(x) USB_ID_NID(x)
  40446. #define USBHS_ID_REVISION_MASK USB_ID_REVISION_MASK
  40447. #define USBHS_ID_REVISION_SHIFT USB_ID_REVISION_SHIFT
  40448. #define USBHS_ID_REVISION(x) USB_ID_REVISION(x)
  40449. #define USBHS_HWGENERAL_PHYW_MASK USB_HWGENERAL_PHYW_MASK
  40450. #define USBHS_HWGENERAL_PHYW_SHIFT USB_HWGENERAL_PHYW_SHIFT
  40451. #define USBHS_HWGENERAL_PHYW(x) USB_HWGENERAL_PHYW(x)
  40452. #define USBHS_HWGENERAL_PHYM_MASK USB_HWGENERAL_PHYM_MASK
  40453. #define USBHS_HWGENERAL_PHYM_SHIFT USB_HWGENERAL_PHYM_SHIFT
  40454. #define USBHS_HWGENERAL_PHYM(x) USB_HWGENERAL_PHYM(x)
  40455. #define USBHS_HWGENERAL_SM_MASK USB_HWGENERAL_SM_MASK
  40456. #define USBHS_HWGENERAL_SM_SHIFT USB_HWGENERAL_SM_SHIFT
  40457. #define USBHS_HWGENERAL_SM(x) USB_HWGENERAL_SM(x)
  40458. #define USBHS_HWHOST_HC_MASK USB_HWHOST_HC_MASK
  40459. #define USBHS_HWHOST_HC_SHIFT USB_HWHOST_HC_SHIFT
  40460. #define USBHS_HWHOST_HC(x) USB_HWHOST_HC(x)
  40461. #define USBHS_HWHOST_NPORT_MASK USB_HWHOST_NPORT_MASK
  40462. #define USBHS_HWHOST_NPORT_SHIFT USB_HWHOST_NPORT_SHIFT
  40463. #define USBHS_HWHOST_NPORT(x) USB_HWHOST_NPORT(x)
  40464. #define USBHS_HWDEVICE_DC_MASK USB_HWDEVICE_DC_MASK
  40465. #define USBHS_HWDEVICE_DC_SHIFT USB_HWDEVICE_DC_SHIFT
  40466. #define USBHS_HWDEVICE_DC(x) USB_HWDEVICE_DC(x)
  40467. #define USBHS_HWDEVICE_DEVEP_MASK USB_HWDEVICE_DEVEP_MASK
  40468. #define USBHS_HWDEVICE_DEVEP_SHIFT USB_HWDEVICE_DEVEP_SHIFT
  40469. #define USBHS_HWDEVICE_DEVEP(x) USB_HWDEVICE_DEVEP(x)
  40470. #define USBHS_HWTXBUF_TXBURST_MASK USB_HWTXBUF_TXBURST_MASK
  40471. #define USBHS_HWTXBUF_TXBURST_SHIFT USB_HWTXBUF_TXBURST_SHIFT
  40472. #define USBHS_HWTXBUF_TXBURST(x) USB_HWTXBUF_TXBURST(x)
  40473. #define USBHS_HWTXBUF_TXCHANADD_MASK USB_HWTXBUF_TXCHANADD_MASK
  40474. #define USBHS_HWTXBUF_TXCHANADD_SHIFT USB_HWTXBUF_TXCHANADD_SHIFT
  40475. #define USBHS_HWTXBUF_TXCHANADD(x) USB_HWTXBUF_TXCHANADD(x)
  40476. #define USBHS_HWRXBUF_RXBURST_MASK USB_HWRXBUF_RXBURST_MASK
  40477. #define USBHS_HWRXBUF_RXBURST_SHIFT USB_HWRXBUF_RXBURST_SHIFT
  40478. #define USBHS_HWRXBUF_RXBURST(x) USB_HWRXBUF_RXBURST(x)
  40479. #define USBHS_HWRXBUF_RXADD_MASK USB_HWRXBUF_RXADD_MASK
  40480. #define USBHS_HWRXBUF_RXADD_SHIFT USB_HWRXBUF_RXADD_SHIFT
  40481. #define USBHS_HWRXBUF_RXADD(x) USB_HWRXBUF_RXADD(x)
  40482. #define USBHS_GPTIMER0LD_GPTLD_MASK USB_GPTIMER0LD_GPTLD_MASK
  40483. #define USBHS_GPTIMER0LD_GPTLD_SHIFT USB_GPTIMER0LD_GPTLD_SHIFT
  40484. #define USBHS_GPTIMER0LD_GPTLD(x) USB_GPTIMER0LD_GPTLD(x)
  40485. #define USBHS_GPTIMER0CTL_GPTCNT_MASK USB_GPTIMER0CTRL_GPTCNT_MASK
  40486. #define USBHS_GPTIMER0CTL_GPTCNT_SHIFT USB_GPTIMER0CTRL_GPTCNT_SHIFT
  40487. #define USBHS_GPTIMER0CTL_GPTCNT(x) USB_GPTIMER0CTRL_GPTCNT(x)
  40488. #define USBHS_GPTIMER0CTL_MODE_MASK USB_GPTIMER0CTRL_GPTMODE_MASK
  40489. #define USBHS_GPTIMER0CTL_MODE_SHIFT USB_GPTIMER0CTRL_GPTMODE_SHIFT
  40490. #define USBHS_GPTIMER0CTL_MODE(x) USB_GPTIMER0CTRL_GPTMODE(x)
  40491. #define USBHS_GPTIMER0CTL_RST_MASK USB_GPTIMER0CTRL_GPTRST_MASK
  40492. #define USBHS_GPTIMER0CTL_RST_SHIFT USB_GPTIMER0CTRL_GPTRST_SHIFT
  40493. #define USBHS_GPTIMER0CTL_RST(x) USB_GPTIMER0CTRL_GPTRST(x)
  40494. #define USBHS_GPTIMER0CTL_RUN_MASK USB_GPTIMER0CTRL_GPTRUN_MASK
  40495. #define USBHS_GPTIMER0CTL_RUN_SHIFT USB_GPTIMER0CTRL_GPTRUN_SHIFT
  40496. #define USBHS_GPTIMER0CTL_RUN(x) USB_GPTIMER0CTRL_GPTRUN(x)
  40497. #define USBHS_GPTIMER1LD_GPTLD_MASK USB_GPTIMER1LD_GPTLD_MASK
  40498. #define USBHS_GPTIMER1LD_GPTLD_SHIFT USB_GPTIMER1LD_GPTLD_SHIFT
  40499. #define USBHS_GPTIMER1LD_GPTLD(x) USB_GPTIMER1LD_GPTLD(x)
  40500. #define USBHS_GPTIMER1CTL_GPTCNT_MASK USB_GPTIMER1CTRL_GPTCNT_MASK
  40501. #define USBHS_GPTIMER1CTL_GPTCNT_SHIFT USB_GPTIMER1CTRL_GPTCNT_SHIFT
  40502. #define USBHS_GPTIMER1CTL_GPTCNT(x) USB_GPTIMER1CTRL_GPTCNT(x)
  40503. #define USBHS_GPTIMER1CTL_MODE_MASK USB_GPTIMER1CTRL_GPTMODE_MASK
  40504. #define USBHS_GPTIMER1CTL_MODE_SHIFT USB_GPTIMER1CTRL_GPTMODE_SHIFT
  40505. #define USBHS_GPTIMER1CTL_MODE(x) USB_GPTIMER1CTRL_GPTMODE(x)
  40506. #define USBHS_GPTIMER1CTL_RST_MASK USB_GPTIMER1CTRL_GPTRST_MASK
  40507. #define USBHS_GPTIMER1CTL_RST_SHIFT USB_GPTIMER1CTRL_GPTRST_SHIFT
  40508. #define USBHS_GPTIMER1CTL_RST(x) USB_GPTIMER1CTRL_GPTRST(x)
  40509. #define USBHS_GPTIMER1CTL_RUN_MASK USB_GPTIMER1CTRL_GPTRUN_MASK
  40510. #define USBHS_GPTIMER1CTL_RUN_SHIFT USB_GPTIMER1CTRL_GPTRUN_SHIFT
  40511. #define USBHS_GPTIMER1CTL_RUN(x) USB_GPTIMER1CTRL_GPTRUN(x)
  40512. #define USBHS_USB_SBUSCFG_BURSTMODE_MASK USB_SBUSCFG_AHBBRST_MASK
  40513. #define USBHS_USB_SBUSCFG_BURSTMODE_SHIFT USB_SBUSCFG_AHBBRST_SHIFT
  40514. #define USBHS_USB_SBUSCFG_BURSTMODE(x) USB_SBUSCFG_AHBBRST(x)
  40515. #define USBHS_HCIVERSION_CAPLENGTH(x) USB_HCIVERSION_CAPLENGTH(x)
  40516. #define USBHS_HCIVERSION_HCIVERSION_MASK USB_HCIVERSION_HCIVERSION_MASK
  40517. #define USBHS_HCIVERSION_HCIVERSION_SHIFT USB_HCIVERSION_HCIVERSION_SHIFT
  40518. #define USBHS_HCIVERSION_HCIVERSION(x) USB_HCIVERSION_HCIVERSION(x)
  40519. #define USBHS_HCSPARAMS_N_PORTS_MASK USB_HCSPARAMS_N_PORTS_MASK
  40520. #define USBHS_HCSPARAMS_N_PORTS_SHIFT USB_HCSPARAMS_N_PORTS_SHIFT
  40521. #define USBHS_HCSPARAMS_N_PORTS(x) USB_HCSPARAMS_N_PORTS(x)
  40522. #define USBHS_HCSPARAMS_PPC_MASK USB_HCSPARAMS_PPC_MASK
  40523. #define USBHS_HCSPARAMS_PPC_SHIFT USB_HCSPARAMS_PPC_SHIFT
  40524. #define USBHS_HCSPARAMS_PPC(x) USB_HCSPARAMS_PPC(x)
  40525. #define USBHS_HCSPARAMS_N_PCC_MASK USB_HCSPARAMS_N_PCC_MASK
  40526. #define USBHS_HCSPARAMS_N_PCC_SHIFT USB_HCSPARAMS_N_PCC_SHIFT
  40527. #define USBHS_HCSPARAMS_N_PCC(x) USB_HCSPARAMS_N_PCC(x)
  40528. #define USBHS_HCSPARAMS_N_CC_MASK USB_HCSPARAMS_N_CC_MASK
  40529. #define USBHS_HCSPARAMS_N_CC_SHIFT USB_HCSPARAMS_N_CC_SHIFT
  40530. #define USBHS_HCSPARAMS_N_CC(x) USB_HCSPARAMS_N_CC(x)
  40531. #define USBHS_HCSPARAMS_PI_MASK USB_HCSPARAMS_PI_MASK
  40532. #define USBHS_HCSPARAMS_PI_SHIFT USB_HCSPARAMS_PI_SHIFT
  40533. #define USBHS_HCSPARAMS_PI(x) USB_HCSPARAMS_PI(x)
  40534. #define USBHS_HCSPARAMS_N_PTT_MASK USB_HCSPARAMS_N_PTT_MASK
  40535. #define USBHS_HCSPARAMS_N_PTT_SHIFT USB_HCSPARAMS_N_PTT_SHIFT
  40536. #define USBHS_HCSPARAMS_N_PTT(x) USB_HCSPARAMS_N_PTT(x)
  40537. #define USBHS_HCSPARAMS_N_TT_MASK USB_HCSPARAMS_N_TT_MASK
  40538. #define USBHS_HCSPARAMS_N_TT_SHIFT USB_HCSPARAMS_N_TT_SHIFT
  40539. #define USBHS_HCSPARAMS_N_TT(x) USB_HCSPARAMS_N_TT(x)
  40540. #define USBHS_HCCPARAMS_ADC_MASK USB_HCCPARAMS_ADC_MASK
  40541. #define USBHS_HCCPARAMS_ADC_SHIFT USB_HCCPARAMS_ADC_SHIFT
  40542. #define USBHS_HCCPARAMS_ADC(x) USB_HCCPARAMS_ADC(x)
  40543. #define USBHS_HCCPARAMS_PFL_MASK USB_HCCPARAMS_PFL_MASK
  40544. #define USBHS_HCCPARAMS_PFL_SHIFT USB_HCCPARAMS_PFL_SHIFT
  40545. #define USBHS_HCCPARAMS_PFL(x) USB_HCCPARAMS_PFL(x)
  40546. #define USBHS_HCCPARAMS_ASP_MASK USB_HCCPARAMS_ASP_MASK
  40547. #define USBHS_HCCPARAMS_ASP_SHIFT USB_HCCPARAMS_ASP_SHIFT
  40548. #define USBHS_HCCPARAMS_ASP(x) USB_HCCPARAMS_ASP(x)
  40549. #define USBHS_HCCPARAMS_IST_MASK USB_HCCPARAMS_IST_MASK
  40550. #define USBHS_HCCPARAMS_IST_SHIFT USB_HCCPARAMS_IST_SHIFT
  40551. #define USBHS_HCCPARAMS_IST(x) USB_HCCPARAMS_IST(x)
  40552. #define USBHS_HCCPARAMS_EECP_MASK USB_HCCPARAMS_EECP_MASK
  40553. #define USBHS_HCCPARAMS_EECP_SHIFT USB_HCCPARAMS_EECP_SHIFT
  40554. #define USBHS_HCCPARAMS_EECP(x) USB_HCCPARAMS_EECP(x)
  40555. #define USBHS_DCIVERSION_DCIVERSION_MASK USB_DCIVERSION_DCIVERSION_MASK
  40556. #define USBHS_DCIVERSION_DCIVERSION_SHIFT USB_DCIVERSION_DCIVERSION_SHIFT
  40557. #define USBHS_DCIVERSION_DCIVERSION(x) USB_DCIVERSION_DCIVERSION(x)
  40558. #define USBHS_DCCPARAMS_DEN_MASK USB_DCCPARAMS_DEN_MASK
  40559. #define USBHS_DCCPARAMS_DEN_SHIFT USB_DCCPARAMS_DEN_SHIFT
  40560. #define USBHS_DCCPARAMS_DEN(x) USB_DCCPARAMS_DEN(x)
  40561. #define USBHS_DCCPARAMS_DC_MASK USB_DCCPARAMS_DC_MASK
  40562. #define USBHS_DCCPARAMS_DC_SHIFT USB_DCCPARAMS_DC_SHIFT
  40563. #define USBHS_DCCPARAMS_DC(x) USB_DCCPARAMS_DC(x)
  40564. #define USBHS_DCCPARAMS_HC_MASK USB_DCCPARAMS_HC_MASK
  40565. #define USBHS_DCCPARAMS_HC_SHIFT USB_DCCPARAMS_HC_SHIFT
  40566. #define USBHS_DCCPARAMS_HC(x) USB_DCCPARAMS_HC(x)
  40567. #define USBHS_USBCMD_RS_MASK USB_USBCMD_RS_MASK
  40568. #define USBHS_USBCMD_RS_SHIFT USB_USBCMD_RS_SHIFT
  40569. #define USBHS_USBCMD_RS(x) USB_USBCMD_RS(x)
  40570. #define USBHS_USBCMD_RST_MASK USB_USBCMD_RST_MASK
  40571. #define USBHS_USBCMD_RST_SHIFT USB_USBCMD_RST_SHIFT
  40572. #define USBHS_USBCMD_RST(x) USB_USBCMD_RST(x)
  40573. #define USBHS_USBCMD_FS_MASK USB_USBCMD_FS_1_MASK
  40574. #define USBHS_USBCMD_FS_SHIFT USB_USBCMD_FS_1_SHIFT
  40575. #define USBHS_USBCMD_FS(x) USB_USBCMD_FS_1(x)
  40576. #define USBHS_USBCMD_PSE_MASK USB_USBCMD_PSE_MASK
  40577. #define USBHS_USBCMD_PSE_SHIFT USB_USBCMD_PSE_SHIFT
  40578. #define USBHS_USBCMD_PSE(x) USB_USBCMD_PSE(x)
  40579. #define USBHS_USBCMD_ASE_MASK USB_USBCMD_ASE_MASK
  40580. #define USBHS_USBCMD_ASE_SHIFT USB_USBCMD_ASE_SHIFT
  40581. #define USBHS_USBCMD_ASE(x) USB_USBCMD_ASE(x)
  40582. #define USBHS_USBCMD_IAA_MASK USB_USBCMD_IAA_MASK
  40583. #define USBHS_USBCMD_IAA_SHIFT USB_USBCMD_IAA_SHIFT
  40584. #define USBHS_USBCMD_IAA(x) USB_USBCMD_IAA(x)
  40585. #define USBHS_USBCMD_ASP_MASK USB_USBCMD_ASP_MASK
  40586. #define USBHS_USBCMD_ASP_SHIFT USB_USBCMD_ASP_SHIFT
  40587. #define USBHS_USBCMD_ASP(x) USB_USBCMD_ASP(x)
  40588. #define USBHS_USBCMD_ASPE_MASK USB_USBCMD_ASPE_MASK
  40589. #define USBHS_USBCMD_ASPE_SHIFT USB_USBCMD_ASPE_SHIFT
  40590. #define USBHS_USBCMD_ASPE(x) USB_USBCMD_ASPE(x)
  40591. #define USBHS_USBCMD_ATDTW_MASK USB_USBCMD_ATDTW_MASK
  40592. #define USBHS_USBCMD_ATDTW_SHIFT USB_USBCMD_ATDTW_SHIFT
  40593. #define USBHS_USBCMD_ATDTW(x) USB_USBCMD_ATDTW(x)
  40594. #define USBHS_USBCMD_SUTW_MASK USB_USBCMD_SUTW_MASK
  40595. #define USBHS_USBCMD_SUTW_SHIFT USB_USBCMD_SUTW_SHIFT
  40596. #define USBHS_USBCMD_SUTW(x) USB_USBCMD_SUTW(x)
  40597. #define USBHS_USBCMD_FS2_MASK USB_USBCMD_FS_2_MASK
  40598. #define USBHS_USBCMD_FS2_SHIFT USB_USBCMD_FS_2_SHIFT
  40599. #define USBHS_USBCMD_FS2(x) USB_USBCMD_FS_2(x)
  40600. #define USBHS_USBCMD_ITC_MASK USB_USBCMD_ITC_MASK
  40601. #define USBHS_USBCMD_ITC_SHIFT USB_USBCMD_ITC_SHIFT
  40602. #define USBHS_USBCMD_ITC(x) USB_USBCMD_ITC(x)
  40603. #define USBHS_USBSTS_UI_MASK USB_USBSTS_UI_MASK
  40604. #define USBHS_USBSTS_UI_SHIFT USB_USBSTS_UI_SHIFT
  40605. #define USBHS_USBSTS_UI(x) USB_USBSTS_UI(x)
  40606. #define USBHS_USBSTS_UEI_MASK USB_USBSTS_UEI_MASK
  40607. #define USBHS_USBSTS_UEI_SHIFT USB_USBSTS_UEI_SHIFT
  40608. #define USBHS_USBSTS_UEI(x) USB_USBSTS_UEI(x)
  40609. #define USBHS_USBSTS_PCI_MASK USB_USBSTS_PCI_MASK
  40610. #define USBHS_USBSTS_PCI_SHIFT USB_USBSTS_PCI_SHIFT
  40611. #define USBHS_USBSTS_PCI(x) USB_USBSTS_PCI(x)
  40612. #define USBHS_USBSTS_FRI_MASK USB_USBSTS_FRI_MASK
  40613. #define USBHS_USBSTS_FRI_SHIFT USB_USBSTS_FRI_SHIFT
  40614. #define USBHS_USBSTS_FRI(x) USB_USBSTS_FRI(x)
  40615. #define USBHS_USBSTS_SEI_MASK USB_USBSTS_SEI_MASK
  40616. #define USBHS_USBSTS_SEI_SHIFT USB_USBSTS_SEI_SHIFT
  40617. #define USBHS_USBSTS_SEI(x) USB_USBSTS_SEI(x)
  40618. #define USBHS_USBSTS_AAI_MASK USB_USBSTS_AAI_MASK
  40619. #define USBHS_USBSTS_AAI_SHIFT USB_USBSTS_AAI_SHIFT
  40620. #define USBHS_USBSTS_AAI(x) USB_USBSTS_AAI(x)
  40621. #define USBHS_USBSTS_URI_MASK USB_USBSTS_URI_MASK
  40622. #define USBHS_USBSTS_URI_SHIFT USB_USBSTS_URI_SHIFT
  40623. #define USBHS_USBSTS_URI(x) USB_USBSTS_URI(x)
  40624. #define USBHS_USBSTS_SRI_MASK USB_USBSTS_SRI_MASK
  40625. #define USBHS_USBSTS_SRI_SHIFT USB_USBSTS_SRI_SHIFT
  40626. #define USBHS_USBSTS_SRI(x) USB_USBSTS_SRI(x)
  40627. #define USBHS_USBSTS_SLI_MASK USB_USBSTS_SLI_MASK
  40628. #define USBHS_USBSTS_SLI_SHIFT USB_USBSTS_SLI_SHIFT
  40629. #define USBHS_USBSTS_SLI(x) USB_USBSTS_SLI(x)
  40630. #define USBHS_USBSTS_ULPII_MASK USB_USBSTS_ULPII_MASK
  40631. #define USBHS_USBSTS_ULPII_SHIFT USB_USBSTS_ULPII_SHIFT
  40632. #define USBHS_USBSTS_ULPII(x) USB_USBSTS_ULPII(x)
  40633. #define USBHS_USBSTS_HCH_MASK USB_USBSTS_HCH_MASK
  40634. #define USBHS_USBSTS_HCH_SHIFT USB_USBSTS_HCH_SHIFT
  40635. #define USBHS_USBSTS_HCH(x) USB_USBSTS_HCH(x)
  40636. #define USBHS_USBSTS_RCL_MASK USB_USBSTS_RCL_MASK
  40637. #define USBHS_USBSTS_RCL_SHIFT USB_USBSTS_RCL_SHIFT
  40638. #define USBHS_USBSTS_RCL(x) USB_USBSTS_RCL(x)
  40639. #define USBHS_USBSTS_PS_MASK USB_USBSTS_PS_MASK
  40640. #define USBHS_USBSTS_PS_SHIFT USB_USBSTS_PS_SHIFT
  40641. #define USBHS_USBSTS_PS(x) USB_USBSTS_PS(x)
  40642. #define USBHS_USBSTS_AS_MASK USB_USBSTS_AS_MASK
  40643. #define USBHS_USBSTS_AS_SHIFT USB_USBSTS_AS_SHIFT
  40644. #define USBHS_USBSTS_AS(x) USB_USBSTS_AS(x)
  40645. #define USBHS_USBSTS_NAKI_MASK USB_USBSTS_NAKI_MASK
  40646. #define USBHS_USBSTS_NAKI_SHIFT USB_USBSTS_NAKI_SHIFT
  40647. #define USBHS_USBSTS_NAKI(x) USB_USBSTS_NAKI(x)
  40648. #define USBHS_USBSTS_TI0_MASK USB_USBSTS_TI0_MASK
  40649. #define USBHS_USBSTS_TI0_SHIFT USB_USBSTS_TI0_SHIFT
  40650. #define USBHS_USBSTS_TI0(x) USB_USBSTS_TI0(x)
  40651. #define USBHS_USBSTS_TI1_MASK USB_USBSTS_TI1_MASK
  40652. #define USBHS_USBSTS_TI1_SHIFT USB_USBSTS_TI1_SHIFT
  40653. #define USBHS_USBSTS_TI1(x) USB_USBSTS_TI1(x)
  40654. #define USBHS_USBINTR_UE_MASK USB_USBINTR_UE_MASK
  40655. #define USBHS_USBINTR_UE_SHIFT USB_USBINTR_UE_SHIFT
  40656. #define USBHS_USBINTR_UE(x) USB_USBINTR_UE(x)
  40657. #define USBHS_USBINTR_UEE_MASK USB_USBINTR_UEE_MASK
  40658. #define USBHS_USBINTR_UEE_SHIFT USB_USBINTR_UEE_SHIFT
  40659. #define USBHS_USBINTR_UEE(x) USB_USBINTR_UEE(x)
  40660. #define USBHS_USBINTR_PCE_MASK USB_USBINTR_PCE_MASK
  40661. #define USBHS_USBINTR_PCE_SHIFT USB_USBINTR_PCE_SHIFT
  40662. #define USBHS_USBINTR_PCE(x) USB_USBINTR_PCE(x)
  40663. #define USBHS_USBINTR_FRE_MASK USB_USBINTR_FRE_MASK
  40664. #define USBHS_USBINTR_FRE_SHIFT USB_USBINTR_FRE_SHIFT
  40665. #define USBHS_USBINTR_FRE(x) USB_USBINTR_FRE(x)
  40666. #define USBHS_USBINTR_SEE_MASK USB_USBINTR_SEE_MASK
  40667. #define USBHS_USBINTR_SEE_SHIFT USB_USBINTR_SEE_SHIFT
  40668. #define USBHS_USBINTR_SEE(x) USB_USBINTR_SEE(x)
  40669. #define USBHS_USBINTR_AAE_MASK USB_USBINTR_AAE_MASK
  40670. #define USBHS_USBINTR_AAE_SHIFT USB_USBINTR_AAE_SHIFT
  40671. #define USBHS_USBINTR_AAE(x) USB_USBINTR_AAE(x)
  40672. #define USBHS_USBINTR_URE_MASK USB_USBINTR_URE_MASK
  40673. #define USBHS_USBINTR_URE_SHIFT USB_USBINTR_URE_SHIFT
  40674. #define USBHS_USBINTR_URE(x) USB_USBINTR_URE(x)
  40675. #define USBHS_USBINTR_SRE_MASK USB_USBINTR_SRE_MASK
  40676. #define USBHS_USBINTR_SRE_SHIFT USB_USBINTR_SRE_SHIFT
  40677. #define USBHS_USBINTR_SRE(x) USB_USBINTR_SRE(x)
  40678. #define USBHS_USBINTR_SLE_MASK USB_USBINTR_SLE_MASK
  40679. #define USBHS_USBINTR_SLE_SHIFT USB_USBINTR_SLE_SHIFT
  40680. #define USBHS_USBINTR_SLE(x) USB_USBINTR_SLE(x)
  40681. #define USBHS_USBINTR_ULPIE_MASK USB_USBINTR_ULPIE_MASK
  40682. #define USBHS_USBINTR_ULPIE_SHIFT USB_USBINTR_ULPIE_SHIFT
  40683. #define USBHS_USBINTR_ULPIE(x) USB_USBINTR_ULPIE(x)
  40684. #define USBHS_USBINTR_NAKE_MASK USB_USBINTR_NAKE_MASK
  40685. #define USBHS_USBINTR_NAKE_SHIFT USB_USBINTR_NAKE_SHIFT
  40686. #define USBHS_USBINTR_NAKE(x) USB_USBINTR_NAKE(x)
  40687. #define USBHS_USBINTR_UAIE_MASK USB_USBINTR_UAIE_MASK
  40688. #define USBHS_USBINTR_UAIE_SHIFT USB_USBINTR_UAIE_SHIFT
  40689. #define USBHS_USBINTR_UAIE(x) USB_USBINTR_UAIE(x)
  40690. #define USBHS_USBINTR_UPIE_MASK USB_USBINTR_UPIE_MASK
  40691. #define USBHS_USBINTR_UPIE_SHIFT USB_USBINTR_UPIE_SHIFT
  40692. #define USBHS_USBINTR_UPIE(x) USB_USBINTR_UPIE(x)
  40693. #define USBHS_USBINTR_TIE0_MASK USB_USBINTR_TIE0_MASK
  40694. #define USBHS_USBINTR_TIE0_SHIFT USB_USBINTR_TIE0_SHIFT
  40695. #define USBHS_USBINTR_TIE0(x) USB_USBINTR_TIE0(x)
  40696. #define USBHS_USBINTR_TIE1_MASK USB_USBINTR_TIE1_MASK
  40697. #define USBHS_USBINTR_TIE1_SHIFT USB_USBINTR_TIE1_SHIFT
  40698. #define USBHS_USBINTR_TIE1(x) USB_USBINTR_TIE1(x)
  40699. #define USBHS_FRINDEX_FRINDEX_MASK USB_FRINDEX_FRINDEX_MASK
  40700. #define USBHS_FRINDEX_FRINDEX_SHIFT USB_FRINDEX_FRINDEX_SHIFT
  40701. #define USBHS_FRINDEX_FRINDEX(x) USB_FRINDEX_FRINDEX(x)
  40702. #define USBHS_DEVICEADDR_USBADRA_MASK USB_DEVICEADDR_USBADRA_MASK
  40703. #define USBHS_DEVICEADDR_USBADRA_SHIFT USB_DEVICEADDR_USBADRA_SHIFT
  40704. #define USBHS_DEVICEADDR_USBADRA(x) USB_DEVICEADDR_USBADRA(x)
  40705. #define USBHS_DEVICEADDR_USBADR_MASK USB_DEVICEADDR_USBADR_MASK
  40706. #define USBHS_DEVICEADDR_USBADR_SHIFT USB_DEVICEADDR_USBADR_SHIFT
  40707. #define USBHS_DEVICEADDR_USBADR(x) USB_DEVICEADDR_USBADR(x)
  40708. #define USBHS_PERIODICLISTBASE_PERBASE_MASK USB_PERIODICLISTBASE_BASEADR_MASK
  40709. #define USBHS_PERIODICLISTBASE_PERBASE_SHIFT USB_PERIODICLISTBASE_BASEADR_SHIFT
  40710. #define USBHS_PERIODICLISTBASE_PERBASE(x) USB_PERIODICLISTBASE_BASEADR(x)
  40711. #define USBHS_ASYNCLISTADDR_ASYBASE_MASK USB_ASYNCLISTADDR_ASYBASE_MASK
  40712. #define USBHS_ASYNCLISTADDR_ASYBASE_SHIFT USB_ASYNCLISTADDR_ASYBASE_SHIFT
  40713. #define USBHS_ASYNCLISTADDR_ASYBASE(x) USB_ASYNCLISTADDR_ASYBASE(x)
  40714. #define USBHS_EPLISTADDR_EPBASE_MASK USB_ENDPTLISTADDR_EPBASE_MASK
  40715. #define USBHS_EPLISTADDR_EPBASE_SHIFT USB_ENDPTLISTADDR_EPBASE_SHIFT
  40716. #define USBHS_EPLISTADDR_EPBASE(x) USB_ENDPTLISTADDR_EPBASE(x)
  40717. #define USBHS_BURSTSIZE_RXPBURST_MASK USB_BURSTSIZE_RXPBURST_MASK
  40718. #define USBHS_BURSTSIZE_RXPBURST_SHIFT USB_BURSTSIZE_RXPBURST_SHIFT
  40719. #define USBHS_BURSTSIZE_RXPBURST(x) USB_BURSTSIZE_RXPBURST(x)
  40720. #define USBHS_BURSTSIZE_TXPBURST_MASK USB_BURSTSIZE_TXPBURST_MASK
  40721. #define USBHS_BURSTSIZE_TXPBURST_SHIFT USB_BURSTSIZE_TXPBURST_SHIFT
  40722. #define USBHS_BURSTSIZE_TXPBURST(x) USB_BURSTSIZE_TXPBURST(x)
  40723. #define USBHS_TXFILLTUNING_TXSCHOH_MASK USB_TXFILLTUNING_TXSCHOH_MASK
  40724. #define USBHS_TXFILLTUNING_TXSCHOH_SHIFT USB_TXFILLTUNING_TXSCHOH_SHIFT
  40725. #define USBHS_TXFILLTUNING_TXSCHOH(x) USB_TXFILLTUNING_TXSCHOH(x)
  40726. #define USBHS_TXFILLTUNING_TXSCHHEALTH_MASK USB_TXFILLTUNING_TXSCHHEALTH_MASK
  40727. #define USBHS_TXFILLTUNING_TXSCHHEALTH_SHIFT USB_TXFILLTUNING_TXSCHHEALTH_SHIFT
  40728. #define USBHS_TXFILLTUNING_TXSCHHEALTH(x) USB_TXFILLTUNING_TXSCHHEALTH(x)
  40729. #define USBHS_TXFILLTUNING_TXFIFOTHRES_MASK USB_TXFILLTUNING_TXFIFOTHRES_MASK
  40730. #define USBHS_TXFILLTUNING_TXFIFOTHRES_SHIFT USB_TXFILLTUNING_TXFIFOTHRES_SHIFT
  40731. #define USBHS_TXFILLTUNING_TXFIFOTHRES(x) USB_TXFILLTUNING_TXFIFOTHRES(x)
  40732. #define USBHS_ENDPTNAK_EPRN_MASK USB_ENDPTNAK_EPRN_MASK
  40733. #define USBHS_ENDPTNAK_EPRN_SHIFT USB_ENDPTNAK_EPRN_SHIFT
  40734. #define USBHS_ENDPTNAK_EPRN(x) USB_ENDPTNAK_EPRN(x)
  40735. #define USBHS_ENDPTNAK_EPTN_MASK USB_ENDPTNAK_EPTN_MASK
  40736. #define USBHS_ENDPTNAK_EPTN_SHIFT USB_ENDPTNAK_EPTN_SHIFT
  40737. #define USBHS_ENDPTNAK_EPTN(x) USB_ENDPTNAK_EPTN(x)
  40738. #define USBHS_ENDPTNAKEN_EPRNE_MASK USB_ENDPTNAKEN_EPRNE_MASK
  40739. #define USBHS_ENDPTNAKEN_EPRNE_SHIFT USB_ENDPTNAKEN_EPRNE_SHIFT
  40740. #define USBHS_ENDPTNAKEN_EPRNE(x) USB_ENDPTNAKEN_EPRNE(x)
  40741. #define USBHS_ENDPTNAKEN_EPTNE_MASK USB_ENDPTNAKEN_EPTNE_MASK
  40742. #define USBHS_ENDPTNAKEN_EPTNE_SHIFT USB_ENDPTNAKEN_EPTNE_SHIFT
  40743. #define USBHS_ENDPTNAKEN_EPTNE(x) USB_ENDPTNAKEN_EPTNE(x)
  40744. #define USBHS_CONFIGFLAG_CF_MASK USB_CONFIGFLAG_CF_MASK
  40745. #define USBHS_CONFIGFLAG_CF_SHIFT USB_CONFIGFLAG_CF_SHIFT
  40746. #define USBHS_CONFIGFLAG_CF(x) USB_CONFIGFLAG_CF(x)
  40747. #define USBHS_PORTSC1_CCS_MASK USB_PORTSC1_CCS_MASK
  40748. #define USBHS_PORTSC1_CCS_SHIFT USB_PORTSC1_CCS_SHIFT
  40749. #define USBHS_PORTSC1_CCS(x) USB_PORTSC1_CCS(x)
  40750. #define USBHS_PORTSC1_CSC_MASK USB_PORTSC1_CSC_MASK
  40751. #define USBHS_PORTSC1_CSC_SHIFT USB_PORTSC1_CSC_SHIFT
  40752. #define USBHS_PORTSC1_CSC(x) USB_PORTSC1_CSC(x)
  40753. #define USBHS_PORTSC1_PE_MASK USB_PORTSC1_PE_MASK
  40754. #define USBHS_PORTSC1_PE_SHIFT USB_PORTSC1_PE_SHIFT
  40755. #define USBHS_PORTSC1_PE(x) USB_PORTSC1_PE(x)
  40756. #define USBHS_PORTSC1_PEC_MASK USB_PORTSC1_PEC_MASK
  40757. #define USBHS_PORTSC1_PEC_SHIFT USB_PORTSC1_PEC_SHIFT
  40758. #define USBHS_PORTSC1_PEC(x) USB_PORTSC1_PEC(x)
  40759. #define USBHS_PORTSC1_OCA_MASK USB_PORTSC1_OCA_MASK
  40760. #define USBHS_PORTSC1_OCA_SHIFT USB_PORTSC1_OCA_SHIFT
  40761. #define USBHS_PORTSC1_OCA(x) USB_PORTSC1_OCA(x)
  40762. #define USBHS_PORTSC1_OCC_MASK USB_PORTSC1_OCC_MASK
  40763. #define USBHS_PORTSC1_OCC_SHIFT USB_PORTSC1_OCC_SHIFT
  40764. #define USBHS_PORTSC1_OCC(x) USB_PORTSC1_OCC(x)
  40765. #define USBHS_PORTSC1_FPR_MASK USB_PORTSC1_FPR_MASK
  40766. #define USBHS_PORTSC1_FPR_SHIFT USB_PORTSC1_FPR_SHIFT
  40767. #define USBHS_PORTSC1_FPR(x) USB_PORTSC1_FPR(x)
  40768. #define USBHS_PORTSC1_SUSP_MASK USB_PORTSC1_SUSP_MASK
  40769. #define USBHS_PORTSC1_SUSP_SHIFT USB_PORTSC1_SUSP_SHIFT
  40770. #define USBHS_PORTSC1_SUSP(x) USB_PORTSC1_SUSP(x)
  40771. #define USBHS_PORTSC1_PR_MASK USB_PORTSC1_PR_MASK
  40772. #define USBHS_PORTSC1_PR_SHIFT USB_PORTSC1_PR_SHIFT
  40773. #define USBHS_PORTSC1_PR(x) USB_PORTSC1_PR(x)
  40774. #define USBHS_PORTSC1_HSP_MASK USB_PORTSC1_HSP_MASK
  40775. #define USBHS_PORTSC1_HSP_SHIFT USB_PORTSC1_HSP_SHIFT
  40776. #define USBHS_PORTSC1_HSP(x) USB_PORTSC1_HSP(x)
  40777. #define USBHS_PORTSC1_LS_MASK USB_PORTSC1_LS_MASK
  40778. #define USBHS_PORTSC1_LS_SHIFT USB_PORTSC1_LS_SHIFT
  40779. #define USBHS_PORTSC1_LS(x) USB_PORTSC1_LS(x)
  40780. #define USBHS_PORTSC1_PP_MASK USB_PORTSC1_PP_MASK
  40781. #define USBHS_PORTSC1_PP_SHIFT USB_PORTSC1_PP_SHIFT
  40782. #define USBHS_PORTSC1_PP(x) USB_PORTSC1_PP(x)
  40783. #define USBHS_PORTSC1_PO_MASK USB_PORTSC1_PO_MASK
  40784. #define USBHS_PORTSC1_PO_SHIFT USB_PORTSC1_PO_SHIFT
  40785. #define USBHS_PORTSC1_PO(x) USB_PORTSC1_PO(x)
  40786. #define USBHS_PORTSC1_PIC_MASK USB_PORTSC1_PIC_MASK
  40787. #define USBHS_PORTSC1_PIC_SHIFT USB_PORTSC1_PIC_SHIFT
  40788. #define USBHS_PORTSC1_PIC(x) USB_PORTSC1_PIC(x)
  40789. #define USBHS_PORTSC1_PTC_MASK USB_PORTSC1_PTC_MASK
  40790. #define USBHS_PORTSC1_PTC_SHIFT USB_PORTSC1_PTC_SHIFT
  40791. #define USBHS_PORTSC1_PTC(x) USB_PORTSC1_PTC(x)
  40792. #define USBHS_PORTSC1_WKCN_MASK USB_PORTSC1_WKCN_MASK
  40793. #define USBHS_PORTSC1_WKCN_SHIFT USB_PORTSC1_WKCN_SHIFT
  40794. #define USBHS_PORTSC1_WKCN(x) USB_PORTSC1_WKCN(x)
  40795. #define USBHS_PORTSC1_WKDS_MASK USB_PORTSC1_WKDC_MASK
  40796. #define USBHS_PORTSC1_WKDS_SHIFT USB_PORTSC1_WKDC_SHIFT
  40797. #define USBHS_PORTSC1_WKDS(x) USB_PORTSC1_WKDC(x)
  40798. #define USBHS_PORTSC1_WKOC_MASK USB_PORTSC1_WKOC_MASK
  40799. #define USBHS_PORTSC1_WKOC_SHIFT USB_PORTSC1_WKOC_SHIFT
  40800. #define USBHS_PORTSC1_WKOC(x) USB_PORTSC1_WKOC(x)
  40801. #define USBHS_PORTSC1_PHCD_MASK USB_PORTSC1_PHCD_MASK
  40802. #define USBHS_PORTSC1_PHCD_SHIFT USB_PORTSC1_PHCD_SHIFT
  40803. #define USBHS_PORTSC1_PHCD(x) USB_PORTSC1_PHCD(x)
  40804. #define USBHS_PORTSC1_PFSC_MASK USB_PORTSC1_PFSC_MASK
  40805. #define USBHS_PORTSC1_PFSC_SHIFT USB_PORTSC1_PFSC_SHIFT
  40806. #define USBHS_PORTSC1_PFSC(x) USB_PORTSC1_PFSC(x)
  40807. #define USBHS_PORTSC1_PTS2_MASK USB_PORTSC1_PTS_2_MASK
  40808. #define USBHS_PORTSC1_PTS2_SHIFT USB_PORTSC1_PTS_2_SHIFT
  40809. #define USBHS_PORTSC1_PTS2(x) USB_PORTSC1_PTS_2(x)
  40810. #define USBHS_PORTSC1_PSPD_MASK USB_PORTSC1_PSPD_MASK
  40811. #define USBHS_PORTSC1_PSPD_SHIFT USB_PORTSC1_PSPD_SHIFT
  40812. #define USBHS_PORTSC1_PSPD(x) USB_PORTSC1_PSPD(x)
  40813. #define USBHS_PORTSC1_PTW_MASK USB_PORTSC1_PTW_MASK
  40814. #define USBHS_PORTSC1_PTW_SHIFT USB_PORTSC1_PTW_SHIFT
  40815. #define USBHS_PORTSC1_PTW(x) USB_PORTSC1_PTW(x)
  40816. #define USBHS_PORTSC1_STS_MASK USB_PORTSC1_STS_MASK
  40817. #define USBHS_PORTSC1_STS_SHIFT USB_PORTSC1_STS_SHIFT
  40818. #define USBHS_PORTSC1_STS(x) USB_PORTSC1_STS(x)
  40819. #define USBHS_PORTSC1_PTS_MASK USB_PORTSC1_PTS_1_MASK
  40820. #define USBHS_PORTSC1_PTS_SHIFT USB_PORTSC1_PTS_1_SHIFT
  40821. #define USBHS_PORTSC1_PTS(x) USB_PORTSC1_PTS_1(x)
  40822. #define USBHS_OTGSC_VD_MASK USB_OTGSC_VD_MASK
  40823. #define USBHS_OTGSC_VD_SHIFT USB_OTGSC_VD_SHIFT
  40824. #define USBHS_OTGSC_VD(x) USB_OTGSC_VD(x)
  40825. #define USBHS_OTGSC_VC_MASK USB_OTGSC_VC_MASK
  40826. #define USBHS_OTGSC_VC_SHIFT USB_OTGSC_VC_SHIFT
  40827. #define USBHS_OTGSC_VC(x) USB_OTGSC_VC(x)
  40828. #define USBHS_OTGSC_OT_MASK USB_OTGSC_OT_MASK
  40829. #define USBHS_OTGSC_OT_SHIFT USB_OTGSC_OT_SHIFT
  40830. #define USBHS_OTGSC_OT(x) USB_OTGSC_OT(x)
  40831. #define USBHS_OTGSC_DP_MASK USB_OTGSC_DP_MASK
  40832. #define USBHS_OTGSC_DP_SHIFT USB_OTGSC_DP_SHIFT
  40833. #define USBHS_OTGSC_DP(x) USB_OTGSC_DP(x)
  40834. #define USBHS_OTGSC_IDPU_MASK USB_OTGSC_IDPU_MASK
  40835. #define USBHS_OTGSC_IDPU_SHIFT USB_OTGSC_IDPU_SHIFT
  40836. #define USBHS_OTGSC_IDPU(x) USB_OTGSC_IDPU(x)
  40837. #define USBHS_OTGSC_ID_MASK USB_OTGSC_ID_MASK
  40838. #define USBHS_OTGSC_ID_SHIFT USB_OTGSC_ID_SHIFT
  40839. #define USBHS_OTGSC_ID(x) USB_OTGSC_ID(x)
  40840. #define USBHS_OTGSC_AVV_MASK USB_OTGSC_AVV_MASK
  40841. #define USBHS_OTGSC_AVV_SHIFT USB_OTGSC_AVV_SHIFT
  40842. #define USBHS_OTGSC_AVV(x) USB_OTGSC_AVV(x)
  40843. #define USBHS_OTGSC_ASV_MASK USB_OTGSC_ASV_MASK
  40844. #define USBHS_OTGSC_ASV_SHIFT USB_OTGSC_ASV_SHIFT
  40845. #define USBHS_OTGSC_ASV(x) USB_OTGSC_ASV(x)
  40846. #define USBHS_OTGSC_BSV_MASK USB_OTGSC_BSV_MASK
  40847. #define USBHS_OTGSC_BSV_SHIFT USB_OTGSC_BSV_SHIFT
  40848. #define USBHS_OTGSC_BSV(x) USB_OTGSC_BSV(x)
  40849. #define USBHS_OTGSC_BSE_MASK USB_OTGSC_BSE_MASK
  40850. #define USBHS_OTGSC_BSE_SHIFT USB_OTGSC_BSE_SHIFT
  40851. #define USBHS_OTGSC_BSE(x) USB_OTGSC_BSE(x)
  40852. #define USBHS_OTGSC_MST_MASK USB_OTGSC_TOG_1MS_MASK
  40853. #define USBHS_OTGSC_MST_SHIFT USB_OTGSC_TOG_1MS_SHIFT
  40854. #define USBHS_OTGSC_MST(x) USB_OTGSC_TOG_1MS(x)
  40855. #define USBHS_OTGSC_DPS_MASK USB_OTGSC_DPS_MASK
  40856. #define USBHS_OTGSC_DPS_SHIFT USB_OTGSC_DPS_SHIFT
  40857. #define USBHS_OTGSC_DPS(x) USB_OTGSC_DPS(x)
  40858. #define USBHS_OTGSC_IDIS_MASK USB_OTGSC_IDIS_MASK
  40859. #define USBHS_OTGSC_IDIS_SHIFT USB_OTGSC_IDIS_SHIFT
  40860. #define USBHS_OTGSC_IDIS(x) USB_OTGSC_IDIS(x)
  40861. #define USBHS_OTGSC_AVVIS_MASK USB_OTGSC_AVVIS_MASK
  40862. #define USBHS_OTGSC_AVVIS_SHIFT USB_OTGSC_AVVIS_SHIFT
  40863. #define USBHS_OTGSC_AVVIS(x) USB_OTGSC_AVVIS(x)
  40864. #define USBHS_OTGSC_ASVIS_MASK USB_OTGSC_ASVIS_MASK
  40865. #define USBHS_OTGSC_ASVIS_SHIFT USB_OTGSC_ASVIS_SHIFT
  40866. #define USBHS_OTGSC_ASVIS(x) USB_OTGSC_ASVIS(x)
  40867. #define USBHS_OTGSC_BSVIS_MASK USB_OTGSC_BSVIS_MASK
  40868. #define USBHS_OTGSC_BSVIS_SHIFT USB_OTGSC_BSVIS_SHIFT
  40869. #define USBHS_OTGSC_BSVIS(x) USB_OTGSC_BSVIS(x)
  40870. #define USBHS_OTGSC_BSEIS_MASK USB_OTGSC_BSEIS_MASK
  40871. #define USBHS_OTGSC_BSEIS_SHIFT USB_OTGSC_BSEIS_SHIFT
  40872. #define USBHS_OTGSC_BSEIS(x) USB_OTGSC_BSEIS(x)
  40873. #define USBHS_OTGSC_MSS_MASK USB_OTGSC_STATUS_1MS_MASK
  40874. #define USBHS_OTGSC_MSS_SHIFT USB_OTGSC_STATUS_1MS_SHIFT
  40875. #define USBHS_OTGSC_MSS(x) USB_OTGSC_STATUS_1MS(x)
  40876. #define USBHS_OTGSC_DPIS_MASK USB_OTGSC_DPIS_MASK
  40877. #define USBHS_OTGSC_DPIS_SHIFT USB_OTGSC_DPIS_SHIFT
  40878. #define USBHS_OTGSC_DPIS(x) USB_OTGSC_DPIS(x)
  40879. #define USBHS_OTGSC_IDIE_MASK USB_OTGSC_IDIE_MASK
  40880. #define USBHS_OTGSC_IDIE_SHIFT USB_OTGSC_IDIE_SHIFT
  40881. #define USBHS_OTGSC_IDIE(x) USB_OTGSC_IDIE(x)
  40882. #define USBHS_OTGSC_AVVIE_MASK USB_OTGSC_AVVIE_MASK
  40883. #define USBHS_OTGSC_AVVIE_SHIFT USB_OTGSC_AVVIE_SHIFT
  40884. #define USBHS_OTGSC_AVVIE(x) USB_OTGSC_AVVIE(x)
  40885. #define USBHS_OTGSC_ASVIE_MASK USB_OTGSC_ASVIE_MASK
  40886. #define USBHS_OTGSC_ASVIE_SHIFT USB_OTGSC_ASVIE_SHIFT
  40887. #define USBHS_OTGSC_ASVIE(x) USB_OTGSC_ASVIE(x)
  40888. #define USBHS_OTGSC_BSVIE_MASK USB_OTGSC_BSVIE_MASK
  40889. #define USBHS_OTGSC_BSVIE_SHIFT USB_OTGSC_BSVIE_SHIFT
  40890. #define USBHS_OTGSC_BSVIE(x) USB_OTGSC_BSVIE(x)
  40891. #define USBHS_OTGSC_BSEIE_MASK USB_OTGSC_BSEIE_MASK
  40892. #define USBHS_OTGSC_BSEIE_SHIFT USB_OTGSC_BSEIE_SHIFT
  40893. #define USBHS_OTGSC_BSEIE(x) USB_OTGSC_BSEIE(x)
  40894. #define USBHS_OTGSC_MSE_MASK USB_OTGSC_EN_1MS_MASK
  40895. #define USBHS_OTGSC_MSE_SHIFT USB_OTGSC_EN_1MS_SHIFT
  40896. #define USBHS_OTGSC_MSE(x) USB_OTGSC_EN_1MS(x)
  40897. #define USBHS_OTGSC_DPIE_MASK USB_OTGSC_DPIE_MASK
  40898. #define USBHS_OTGSC_DPIE_SHIFT USB_OTGSC_DPIE_SHIFT
  40899. #define USBHS_OTGSC_DPIE(x) USB_OTGSC_DPIE(x)
  40900. #define USBHS_USBMODE_CM_MASK USB_USBMODE_CM_MASK
  40901. #define USBHS_USBMODE_CM_SHIFT USB_USBMODE_CM_SHIFT
  40902. #define USBHS_USBMODE_CM(x) USB_USBMODE_CM(x)
  40903. #define USBHS_USBMODE_ES_MASK USB_USBMODE_ES_MASK
  40904. #define USBHS_USBMODE_ES_SHIFT USB_USBMODE_ES_SHIFT
  40905. #define USBHS_USBMODE_ES(x) USB_USBMODE_ES(x)
  40906. #define USBHS_USBMODE_SLOM_MASK USB_USBMODE_SLOM_MASK
  40907. #define USBHS_USBMODE_SLOM_SHIFT USB_USBMODE_SLOM_SHIFT
  40908. #define USBHS_USBMODE_SLOM(x) USB_USBMODE_SLOM(x)
  40909. #define USBHS_USBMODE_SDIS_MASK USB_USBMODE_SDIS_MASK
  40910. #define USBHS_USBMODE_SDIS_SHIFT USB_USBMODE_SDIS_SHIFT
  40911. #define USBHS_USBMODE_SDIS(x) USB_USBMODE_SDIS(x)
  40912. #define USBHS_EPSETUPSR_EPSETUPSTAT_MASK USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_MASK
  40913. #define USBHS_EPSETUPSR_EPSETUPSTAT_SHIFT USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_SHIFT
  40914. #define USBHS_EPSETUPSR_EPSETUPSTAT(x) USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT(x)
  40915. #define USBHS_EPPRIME_PERB_MASK USB_ENDPTPRIME_PERB_MASK
  40916. #define USBHS_EPPRIME_PERB_SHIFT USB_ENDPTPRIME_PERB_SHIFT
  40917. #define USBHS_EPPRIME_PERB(x) USB_ENDPTPRIME_PERB(x)
  40918. #define USBHS_EPPRIME_PETB_MASK USB_ENDPTPRIME_PETB_MASK
  40919. #define USBHS_EPPRIME_PETB_SHIFT USB_ENDPTPRIME_PETB_SHIFT
  40920. #define USBHS_EPPRIME_PETB(x) USB_ENDPTPRIME_PETB(x)
  40921. #define USBHS_EPFLUSH_FERB_MASK USB_ENDPTFLUSH_FERB_MASK
  40922. #define USBHS_EPFLUSH_FERB_SHIFT USB_ENDPTFLUSH_FERB_SHIFT
  40923. #define USBHS_EPFLUSH_FERB(x) USB_ENDPTFLUSH_FERB(x)
  40924. #define USBHS_EPFLUSH_FETB_MASK USB_ENDPTFLUSH_FETB_MASK
  40925. #define USBHS_EPFLUSH_FETB_SHIFT USB_ENDPTFLUSH_FETB_SHIFT
  40926. #define USBHS_EPFLUSH_FETB(x) USB_ENDPTFLUSH_FETB(x)
  40927. #define USBHS_EPSR_ERBR_MASK USB_ENDPTSTAT_ERBR_MASK
  40928. #define USBHS_EPSR_ERBR_SHIFT USB_ENDPTSTAT_ERBR_SHIFT
  40929. #define USBHS_EPSR_ERBR(x) USB_ENDPTSTAT_ERBR(x)
  40930. #define USBHS_EPSR_ETBR_MASK USB_ENDPTSTAT_ETBR_MASK
  40931. #define USBHS_EPSR_ETBR_SHIFT USB_ENDPTSTAT_ETBR_SHIFT
  40932. #define USBHS_EPSR_ETBR(x) USB_ENDPTSTAT_ETBR(x)
  40933. #define USBHS_EPCOMPLETE_ERCE_MASK USB_ENDPTCOMPLETE_ERCE_MASK
  40934. #define USBHS_EPCOMPLETE_ERCE_SHIFT USB_ENDPTCOMPLETE_ERCE_SHIFT
  40935. #define USBHS_EPCOMPLETE_ERCE(x) USB_ENDPTCOMPLETE_ERCE(x)
  40936. #define USBHS_EPCOMPLETE_ETCE_MASK USB_ENDPTCOMPLETE_ETCE_MASK
  40937. #define USBHS_EPCOMPLETE_ETCE_SHIFT USB_ENDPTCOMPLETE_ETCE_SHIFT
  40938. #define USBHS_EPCOMPLETE_ETCE(x) USB_ENDPTCOMPLETE_ETCE(x)
  40939. #define USBHS_EPCR0_RXS_MASK USB_ENDPTCTRL0_RXS_MASK
  40940. #define USBHS_EPCR0_RXS_SHIFT USB_ENDPTCTRL0_RXS_SHIFT
  40941. #define USBHS_EPCR0_RXS(x) USB_ENDPTCTRL0_RXS(x)
  40942. #define USBHS_EPCR0_RXT_MASK USB_ENDPTCTRL0_RXT_MASK
  40943. #define USBHS_EPCR0_RXT_SHIFT USB_ENDPTCTRL0_RXT_SHIFT
  40944. #define USBHS_EPCR0_RXT(x) USB_ENDPTCTRL0_RXT(x)
  40945. #define USBHS_EPCR0_RXE_MASK USB_ENDPTCTRL0_RXE_MASK
  40946. #define USBHS_EPCR0_RXE_SHIFT USB_ENDPTCTRL0_RXE_SHIFT
  40947. #define USBHS_EPCR0_RXE(x) USB_ENDPTCTRL0_RXE(x)
  40948. #define USBHS_EPCR0_TXS_MASK USB_ENDPTCTRL0_TXS_MASK
  40949. #define USBHS_EPCR0_TXS_SHIFT USB_ENDPTCTRL0_TXS_SHIFT
  40950. #define USBHS_EPCR0_TXS(x) USB_ENDPTCTRL0_TXS(x)
  40951. #define USBHS_EPCR0_TXT_MASK USB_ENDPTCTRL0_TXT_MASK
  40952. #define USBHS_EPCR0_TXT_SHIFT USB_ENDPTCTRL0_TXT_SHIFT
  40953. #define USBHS_EPCR0_TXT(x) USB_ENDPTCTRL0_TXT(x)
  40954. #define USBHS_EPCR0_TXE_MASK USB_ENDPTCTRL0_TXE_MASK
  40955. #define USBHS_EPCR0_TXE_SHIFT USB_ENDPTCTRL0_TXE_SHIFT
  40956. #define USBHS_EPCR0_TXE(x) USB_ENDPTCTRL0_TXE(x)
  40957. #define USBHS_EPCR_RXS_MASK USB_ENDPTCTRL_RXS_MASK
  40958. #define USBHS_EPCR_RXS_SHIFT USB_ENDPTCTRL_RXS_SHIFT
  40959. #define USBHS_EPCR_RXS(x) USB_ENDPTCTRL_RXS(x)
  40960. #define USBHS_EPCR_RXD_MASK USB_ENDPTCTRL_RXD_MASK
  40961. #define USBHS_EPCR_RXD_SHIFT USB_ENDPTCTRL_RXD_SHIFT
  40962. #define USBHS_EPCR_RXD(x) USB_ENDPTCTRL_RXD(x)
  40963. #define USBHS_EPCR_RXT_MASK USB_ENDPTCTRL_RXT_MASK
  40964. #define USBHS_EPCR_RXT_SHIFT USB_ENDPTCTRL_RXT_SHIFT
  40965. #define USBHS_EPCR_RXT(x) USB_ENDPTCTRL_RXT(x)
  40966. #define USBHS_EPCR_RXI_MASK USB_ENDPTCTRL_RXI_MASK
  40967. #define USBHS_EPCR_RXI_SHIFT USB_ENDPTCTRL_RXI_SHIFT
  40968. #define USBHS_EPCR_RXI(x) USB_ENDPTCTRL_RXI(x)
  40969. #define USBHS_EPCR_RXR_MASK USB_ENDPTCTRL_RXR_MASK
  40970. #define USBHS_EPCR_RXR_SHIFT USB_ENDPTCTRL_RXR_SHIFT
  40971. #define USBHS_EPCR_RXR(x) USB_ENDPTCTRL_RXR(x)
  40972. #define USBHS_EPCR_RXE_MASK USB_ENDPTCTRL_RXE_MASK
  40973. #define USBHS_EPCR_RXE_SHIFT USB_ENDPTCTRL_RXE_SHIFT
  40974. #define USBHS_EPCR_RXE(x) USB_ENDPTCTRL_RXE(x)
  40975. #define USBHS_EPCR_TXS_MASK USB_ENDPTCTRL_TXS_MASK
  40976. #define USBHS_EPCR_TXS_SHIFT USB_ENDPTCTRL_TXS_SHIFT
  40977. #define USBHS_EPCR_TXS(x) USB_ENDPTCTRL_TXS(x)
  40978. #define USBHS_EPCR_TXD_MASK USB_ENDPTCTRL_TXD_MASK
  40979. #define USBHS_EPCR_TXD_SHIFT USB_ENDPTCTRL_TXD_SHIFT
  40980. #define USBHS_EPCR_TXD(x) USB_ENDPTCTRL_TXD(x)
  40981. #define USBHS_EPCR_TXT_MASK USB_ENDPTCTRL_TXT_MASK
  40982. #define USBHS_EPCR_TXT_SHIFT USB_ENDPTCTRL_TXT_SHIFT
  40983. #define USBHS_EPCR_TXT(x) USB_ENDPTCTRL_TXT(x)
  40984. #define USBHS_EPCR_TXI_MASK USB_ENDPTCTRL_TXI_MASK
  40985. #define USBHS_EPCR_TXI_SHIFT USB_ENDPTCTRL_TXI_SHIFT
  40986. #define USBHS_EPCR_TXI(x) USB_ENDPTCTRL_TXI(x)
  40987. #define USBHS_EPCR_TXR_MASK USB_ENDPTCTRL_TXR_MASK
  40988. #define USBHS_EPCR_TXR_SHIFT USB_ENDPTCTRL_TXR_SHIFT
  40989. #define USBHS_EPCR_TXR(x) USB_ENDPTCTRL_TXR(x)
  40990. #define USBHS_EPCR_TXE_MASK USB_ENDPTCTRL_TXE_MASK
  40991. #define USBHS_EPCR_TXE_SHIFT USB_ENDPTCTRL_TXE_SHIFT
  40992. #define USBHS_EPCR_TXE(x) USB_ENDPTCTRL_TXE(x)
  40993. #define USBHS_EPCR_COUNT USB_ENDPTCTRL_COUNT
  40994. #define USBHS_Type USB_Type
  40995. #define USBHS_BASE_ADDRS { USB1_BASE, USB2_BASE }
  40996. #define USBHS_IRQS { USB_OTG1_IRQn, USB_OTG2_IRQn }
  40997. #define USBHS_IRQHandler USB_OTG1_IRQHandler
  40998. /*!
  40999. * @}
  41000. */ /* end of group USB_Peripheral_Access_Layer */
  41001. /* ----------------------------------------------------------------------------
  41002. -- USBNC Peripheral Access Layer
  41003. ---------------------------------------------------------------------------- */
  41004. /*!
  41005. * @addtogroup USBNC_Peripheral_Access_Layer USBNC Peripheral Access Layer
  41006. * @{
  41007. */
  41008. /** USBNC - Register Layout Typedef */
  41009. typedef struct {
  41010. uint8_t RESERVED_0[2048];
  41011. __IO uint32_t USB_OTGn_CTRL; /**< USB OTG1 Control Register..USB OTG2 Control Register, offset: 0x800 */
  41012. uint8_t RESERVED_1[20];
  41013. __IO uint32_t USB_OTGn_PHY_CTRL_0; /**< OTG1 UTMI PHY Control 0 Register..OTG2 UTMI PHY Control 0 Register, offset: 0x818 */
  41014. } USBNC_Type;
  41015. /* ----------------------------------------------------------------------------
  41016. -- USBNC Register Masks
  41017. ---------------------------------------------------------------------------- */
  41018. /*!
  41019. * @addtogroup USBNC_Register_Masks USBNC Register Masks
  41020. * @{
  41021. */
  41022. /*! @name USB_OTGn_CTRL - USB OTG1 Control Register..USB OTG2 Control Register */
  41023. /*! @{ */
  41024. #define USBNC_USB_OTGn_CTRL_OVER_CUR_DIS_MASK (0x80U)
  41025. #define USBNC_USB_OTGn_CTRL_OVER_CUR_DIS_SHIFT (7U)
  41026. /*! OVER_CUR_DIS
  41027. * 0b1..Disables overcurrent detection
  41028. * 0b0..Enables overcurrent detection
  41029. */
  41030. #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)
  41031. #define USBNC_USB_OTGn_CTRL_OVER_CUR_POL_MASK (0x100U)
  41032. #define USBNC_USB_OTGn_CTRL_OVER_CUR_POL_SHIFT (8U)
  41033. /*! OVER_CUR_POL
  41034. * 0b1..Low active (low on this signal represents an overcurrent condition)
  41035. * 0b0..High active (high on this signal represents an overcurrent condition)
  41036. */
  41037. #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)
  41038. #define USBNC_USB_OTGn_CTRL_PWR_POL_MASK (0x200U)
  41039. #define USBNC_USB_OTGn_CTRL_PWR_POL_SHIFT (9U)
  41040. /*! PWR_POL
  41041. * 0b1..PMIC Power Pin is High active.
  41042. * 0b0..PMIC Power Pin is Low active.
  41043. */
  41044. #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)
  41045. #define USBNC_USB_OTGn_CTRL_WIE_MASK (0x400U)
  41046. #define USBNC_USB_OTGn_CTRL_WIE_SHIFT (10U)
  41047. /*! WIE
  41048. * 0b1..Interrupt Enabled
  41049. * 0b0..Interrupt Disabled
  41050. */
  41051. #define USBNC_USB_OTGn_CTRL_WIE(x) (((uint32_t)(((uint32_t)(x)) << USBNC_USB_OTGn_CTRL_WIE_SHIFT)) & USBNC_USB_OTGn_CTRL_WIE_MASK)
  41052. #define USBNC_USB_OTGn_CTRL_WKUP_SW_EN_MASK (0x4000U)
  41053. #define USBNC_USB_OTGn_CTRL_WKUP_SW_EN_SHIFT (14U)
  41054. /*! WKUP_SW_EN
  41055. * 0b1..Enable
  41056. * 0b0..Disable
  41057. */
  41058. #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)
  41059. #define USBNC_USB_OTGn_CTRL_WKUP_SW_MASK (0x8000U)
  41060. #define USBNC_USB_OTGn_CTRL_WKUP_SW_SHIFT (15U)
  41061. /*! WKUP_SW
  41062. * 0b1..Force wake-up
  41063. * 0b0..Inactive
  41064. */
  41065. #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)
  41066. #define USBNC_USB_OTGn_CTRL_WKUP_ID_EN_MASK (0x10000U)
  41067. #define USBNC_USB_OTGn_CTRL_WKUP_ID_EN_SHIFT (16U)
  41068. /*! WKUP_ID_EN
  41069. * 0b1..Enable
  41070. * 0b0..Disable
  41071. */
  41072. #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)
  41073. #define USBNC_USB_OTGn_CTRL_WKUP_VBUS_EN_MASK (0x20000U)
  41074. #define USBNC_USB_OTGn_CTRL_WKUP_VBUS_EN_SHIFT (17U)
  41075. /*! WKUP_VBUS_EN
  41076. * 0b1..Enable
  41077. * 0b0..Disable
  41078. */
  41079. #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)
  41080. #define USBNC_USB_OTGn_CTRL_WKUP_DPDM_EN_MASK (0x20000000U)
  41081. #define USBNC_USB_OTGn_CTRL_WKUP_DPDM_EN_SHIFT (29U)
  41082. /*! WKUP_DPDM_EN
  41083. * 0b1..(Default) DPDM changes wake-up to be enabled, it is for device only.
  41084. * 0b0..DPDM changes wake-up to be disabled only when VBUS is 0.
  41085. */
  41086. #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)
  41087. #define USBNC_USB_OTGn_CTRL_WIR_MASK (0x80000000U)
  41088. #define USBNC_USB_OTGn_CTRL_WIR_SHIFT (31U)
  41089. /*! WIR
  41090. * 0b1..Wake-up Interrupt Request received
  41091. * 0b0..No wake-up interrupt request received
  41092. */
  41093. #define USBNC_USB_OTGn_CTRL_WIR(x) (((uint32_t)(((uint32_t)(x)) << USBNC_USB_OTGn_CTRL_WIR_SHIFT)) & USBNC_USB_OTGn_CTRL_WIR_MASK)
  41094. /*! @} */
  41095. /*! @name USB_OTGn_PHY_CTRL_0 - OTG1 UTMI PHY Control 0 Register..OTG2 UTMI PHY Control 0 Register */
  41096. /*! @{ */
  41097. #define USBNC_USB_OTGn_PHY_CTRL_0_UTMI_CLK_VLD_MASK (0x80000000U)
  41098. #define USBNC_USB_OTGn_PHY_CTRL_0_UTMI_CLK_VLD_SHIFT (31U)
  41099. /*! UTMI_CLK_VLD
  41100. * 0b1..Valid
  41101. * 0b0..Invalid
  41102. */
  41103. #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)
  41104. /*! @} */
  41105. /*!
  41106. * @}
  41107. */ /* end of group USBNC_Register_Masks */
  41108. /* USBNC - Peripheral instance base addresses */
  41109. /** Peripheral USBNC1 base address */
  41110. #define USBNC1_BASE (0x402E0000u)
  41111. /** Peripheral USBNC1 base pointer */
  41112. #define USBNC1 ((USBNC_Type *)USBNC1_BASE)
  41113. /** Peripheral USBNC2 base address */
  41114. #define USBNC2_BASE (0x402E0004u)
  41115. /** Peripheral USBNC2 base pointer */
  41116. #define USBNC2 ((USBNC_Type *)USBNC2_BASE)
  41117. /** Array initializer of USBNC peripheral base addresses */
  41118. #define USBNC_BASE_ADDRS { 0u, USBNC1_BASE, USBNC2_BASE }
  41119. /** Array initializer of USBNC peripheral base pointers */
  41120. #define USBNC_BASE_PTRS { (USBNC_Type *)0u, USBNC1, USBNC2 }
  41121. /*!
  41122. * @}
  41123. */ /* end of group USBNC_Peripheral_Access_Layer */
  41124. /* ----------------------------------------------------------------------------
  41125. -- USBPHY Peripheral Access Layer
  41126. ---------------------------------------------------------------------------- */
  41127. /*!
  41128. * @addtogroup USBPHY_Peripheral_Access_Layer USBPHY Peripheral Access Layer
  41129. * @{
  41130. */
  41131. /** USBPHY - Register Layout Typedef */
  41132. typedef struct {
  41133. __IO uint32_t PWD; /**< USB PHY Power-Down Register, offset: 0x0 */
  41134. __IO uint32_t PWD_SET; /**< USB PHY Power-Down Register, offset: 0x4 */
  41135. __IO uint32_t PWD_CLR; /**< USB PHY Power-Down Register, offset: 0x8 */
  41136. __IO uint32_t PWD_TOG; /**< USB PHY Power-Down Register, offset: 0xC */
  41137. __IO uint32_t TX; /**< USB PHY Transmitter Control Register, offset: 0x10 */
  41138. __IO uint32_t TX_SET; /**< USB PHY Transmitter Control Register, offset: 0x14 */
  41139. __IO uint32_t TX_CLR; /**< USB PHY Transmitter Control Register, offset: 0x18 */
  41140. __IO uint32_t TX_TOG; /**< USB PHY Transmitter Control Register, offset: 0x1C */
  41141. __IO uint32_t RX; /**< USB PHY Receiver Control Register, offset: 0x20 */
  41142. __IO uint32_t RX_SET; /**< USB PHY Receiver Control Register, offset: 0x24 */
  41143. __IO uint32_t RX_CLR; /**< USB PHY Receiver Control Register, offset: 0x28 */
  41144. __IO uint32_t RX_TOG; /**< USB PHY Receiver Control Register, offset: 0x2C */
  41145. __IO uint32_t CTRL; /**< USB PHY General Control Register, offset: 0x30 */
  41146. __IO uint32_t CTRL_SET; /**< USB PHY General Control Register, offset: 0x34 */
  41147. __IO uint32_t CTRL_CLR; /**< USB PHY General Control Register, offset: 0x38 */
  41148. __IO uint32_t CTRL_TOG; /**< USB PHY General Control Register, offset: 0x3C */
  41149. __IO uint32_t STATUS; /**< USB PHY Status Register, offset: 0x40 */
  41150. uint8_t RESERVED_0[12];
  41151. __IO uint32_t DEBUGr; /**< USB PHY Debug Register, offset: 0x50 */
  41152. __IO uint32_t DEBUG_SET; /**< USB PHY Debug Register, offset: 0x54 */
  41153. __IO uint32_t DEBUG_CLR; /**< USB PHY Debug Register, offset: 0x58 */
  41154. __IO uint32_t DEBUG_TOG; /**< USB PHY Debug Register, offset: 0x5C */
  41155. __I uint32_t DEBUG0_STATUS; /**< UTMI Debug Status Register 0, offset: 0x60 */
  41156. uint8_t RESERVED_1[12];
  41157. __IO uint32_t DEBUG1; /**< UTMI Debug Status Register 1, offset: 0x70 */
  41158. __IO uint32_t DEBUG1_SET; /**< UTMI Debug Status Register 1, offset: 0x74 */
  41159. __IO uint32_t DEBUG1_CLR; /**< UTMI Debug Status Register 1, offset: 0x78 */
  41160. __IO uint32_t DEBUG1_TOG; /**< UTMI Debug Status Register 1, offset: 0x7C */
  41161. __I uint32_t VERSION; /**< UTMI RTL Version, offset: 0x80 */
  41162. } USBPHY_Type;
  41163. /* ----------------------------------------------------------------------------
  41164. -- USBPHY Register Masks
  41165. ---------------------------------------------------------------------------- */
  41166. /*!
  41167. * @addtogroup USBPHY_Register_Masks USBPHY Register Masks
  41168. * @{
  41169. */
  41170. /*! @name PWD - USB PHY Power-Down Register */
  41171. /*! @{ */
  41172. #define USBPHY_PWD_RSVD0_MASK (0x3FFU)
  41173. #define USBPHY_PWD_RSVD0_SHIFT (0U)
  41174. #define USBPHY_PWD_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RSVD0_SHIFT)) & USBPHY_PWD_RSVD0_MASK)
  41175. #define USBPHY_PWD_TXPWDFS_MASK (0x400U)
  41176. #define USBPHY_PWD_TXPWDFS_SHIFT (10U)
  41177. #define USBPHY_PWD_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TXPWDFS_SHIFT)) & USBPHY_PWD_TXPWDFS_MASK)
  41178. #define USBPHY_PWD_TXPWDIBIAS_MASK (0x800U)
  41179. #define USBPHY_PWD_TXPWDIBIAS_SHIFT (11U)
  41180. #define USBPHY_PWD_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_TXPWDIBIAS_MASK)
  41181. #define USBPHY_PWD_TXPWDV2I_MASK (0x1000U)
  41182. #define USBPHY_PWD_TXPWDV2I_SHIFT (12U)
  41183. #define USBPHY_PWD_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TXPWDV2I_SHIFT)) & USBPHY_PWD_TXPWDV2I_MASK)
  41184. #define USBPHY_PWD_RSVD1_MASK (0x1E000U)
  41185. #define USBPHY_PWD_RSVD1_SHIFT (13U)
  41186. #define USBPHY_PWD_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RSVD1_SHIFT)) & USBPHY_PWD_RSVD1_MASK)
  41187. #define USBPHY_PWD_RXPWDENV_MASK (0x20000U)
  41188. #define USBPHY_PWD_RXPWDENV_SHIFT (17U)
  41189. #define USBPHY_PWD_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWDENV_SHIFT)) & USBPHY_PWD_RXPWDENV_MASK)
  41190. #define USBPHY_PWD_RXPWD1PT1_MASK (0x40000U)
  41191. #define USBPHY_PWD_RXPWD1PT1_SHIFT (18U)
  41192. #define USBPHY_PWD_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWD1PT1_SHIFT)) & USBPHY_PWD_RXPWD1PT1_MASK)
  41193. #define USBPHY_PWD_RXPWDDIFF_MASK (0x80000U)
  41194. #define USBPHY_PWD_RXPWDDIFF_SHIFT (19U)
  41195. #define USBPHY_PWD_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWDDIFF_SHIFT)) & USBPHY_PWD_RXPWDDIFF_MASK)
  41196. #define USBPHY_PWD_RXPWDRX_MASK (0x100000U)
  41197. #define USBPHY_PWD_RXPWDRX_SHIFT (20U)
  41198. #define USBPHY_PWD_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWDRX_SHIFT)) & USBPHY_PWD_RXPWDRX_MASK)
  41199. #define USBPHY_PWD_RSVD2_MASK (0xFFE00000U)
  41200. #define USBPHY_PWD_RSVD2_SHIFT (21U)
  41201. #define USBPHY_PWD_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RSVD2_SHIFT)) & USBPHY_PWD_RSVD2_MASK)
  41202. /*! @} */
  41203. /*! @name PWD_SET - USB PHY Power-Down Register */
  41204. /*! @{ */
  41205. #define USBPHY_PWD_SET_RSVD0_MASK (0x3FFU)
  41206. #define USBPHY_PWD_SET_RSVD0_SHIFT (0U)
  41207. #define USBPHY_PWD_SET_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RSVD0_SHIFT)) & USBPHY_PWD_SET_RSVD0_MASK)
  41208. #define USBPHY_PWD_SET_TXPWDFS_MASK (0x400U)
  41209. #define USBPHY_PWD_SET_TXPWDFS_SHIFT (10U)
  41210. #define USBPHY_PWD_SET_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_TXPWDFS_SHIFT)) & USBPHY_PWD_SET_TXPWDFS_MASK)
  41211. #define USBPHY_PWD_SET_TXPWDIBIAS_MASK (0x800U)
  41212. #define USBPHY_PWD_SET_TXPWDIBIAS_SHIFT (11U)
  41213. #define USBPHY_PWD_SET_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_SET_TXPWDIBIAS_MASK)
  41214. #define USBPHY_PWD_SET_TXPWDV2I_MASK (0x1000U)
  41215. #define USBPHY_PWD_SET_TXPWDV2I_SHIFT (12U)
  41216. #define USBPHY_PWD_SET_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_TXPWDV2I_SHIFT)) & USBPHY_PWD_SET_TXPWDV2I_MASK)
  41217. #define USBPHY_PWD_SET_RSVD1_MASK (0x1E000U)
  41218. #define USBPHY_PWD_SET_RSVD1_SHIFT (13U)
  41219. #define USBPHY_PWD_SET_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RSVD1_SHIFT)) & USBPHY_PWD_SET_RSVD1_MASK)
  41220. #define USBPHY_PWD_SET_RXPWDENV_MASK (0x20000U)
  41221. #define USBPHY_PWD_SET_RXPWDENV_SHIFT (17U)
  41222. #define USBPHY_PWD_SET_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWDENV_SHIFT)) & USBPHY_PWD_SET_RXPWDENV_MASK)
  41223. #define USBPHY_PWD_SET_RXPWD1PT1_MASK (0x40000U)
  41224. #define USBPHY_PWD_SET_RXPWD1PT1_SHIFT (18U)
  41225. #define USBPHY_PWD_SET_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWD1PT1_SHIFT)) & USBPHY_PWD_SET_RXPWD1PT1_MASK)
  41226. #define USBPHY_PWD_SET_RXPWDDIFF_MASK (0x80000U)
  41227. #define USBPHY_PWD_SET_RXPWDDIFF_SHIFT (19U)
  41228. #define USBPHY_PWD_SET_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWDDIFF_SHIFT)) & USBPHY_PWD_SET_RXPWDDIFF_MASK)
  41229. #define USBPHY_PWD_SET_RXPWDRX_MASK (0x100000U)
  41230. #define USBPHY_PWD_SET_RXPWDRX_SHIFT (20U)
  41231. #define USBPHY_PWD_SET_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWDRX_SHIFT)) & USBPHY_PWD_SET_RXPWDRX_MASK)
  41232. #define USBPHY_PWD_SET_RSVD2_MASK (0xFFE00000U)
  41233. #define USBPHY_PWD_SET_RSVD2_SHIFT (21U)
  41234. #define USBPHY_PWD_SET_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RSVD2_SHIFT)) & USBPHY_PWD_SET_RSVD2_MASK)
  41235. /*! @} */
  41236. /*! @name PWD_CLR - USB PHY Power-Down Register */
  41237. /*! @{ */
  41238. #define USBPHY_PWD_CLR_RSVD0_MASK (0x3FFU)
  41239. #define USBPHY_PWD_CLR_RSVD0_SHIFT (0U)
  41240. #define USBPHY_PWD_CLR_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RSVD0_SHIFT)) & USBPHY_PWD_CLR_RSVD0_MASK)
  41241. #define USBPHY_PWD_CLR_TXPWDFS_MASK (0x400U)
  41242. #define USBPHY_PWD_CLR_TXPWDFS_SHIFT (10U)
  41243. #define USBPHY_PWD_CLR_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_TXPWDFS_SHIFT)) & USBPHY_PWD_CLR_TXPWDFS_MASK)
  41244. #define USBPHY_PWD_CLR_TXPWDIBIAS_MASK (0x800U)
  41245. #define USBPHY_PWD_CLR_TXPWDIBIAS_SHIFT (11U)
  41246. #define USBPHY_PWD_CLR_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_CLR_TXPWDIBIAS_MASK)
  41247. #define USBPHY_PWD_CLR_TXPWDV2I_MASK (0x1000U)
  41248. #define USBPHY_PWD_CLR_TXPWDV2I_SHIFT (12U)
  41249. #define USBPHY_PWD_CLR_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_TXPWDV2I_SHIFT)) & USBPHY_PWD_CLR_TXPWDV2I_MASK)
  41250. #define USBPHY_PWD_CLR_RSVD1_MASK (0x1E000U)
  41251. #define USBPHY_PWD_CLR_RSVD1_SHIFT (13U)
  41252. #define USBPHY_PWD_CLR_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RSVD1_SHIFT)) & USBPHY_PWD_CLR_RSVD1_MASK)
  41253. #define USBPHY_PWD_CLR_RXPWDENV_MASK (0x20000U)
  41254. #define USBPHY_PWD_CLR_RXPWDENV_SHIFT (17U)
  41255. #define USBPHY_PWD_CLR_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWDENV_SHIFT)) & USBPHY_PWD_CLR_RXPWDENV_MASK)
  41256. #define USBPHY_PWD_CLR_RXPWD1PT1_MASK (0x40000U)
  41257. #define USBPHY_PWD_CLR_RXPWD1PT1_SHIFT (18U)
  41258. #define USBPHY_PWD_CLR_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWD1PT1_SHIFT)) & USBPHY_PWD_CLR_RXPWD1PT1_MASK)
  41259. #define USBPHY_PWD_CLR_RXPWDDIFF_MASK (0x80000U)
  41260. #define USBPHY_PWD_CLR_RXPWDDIFF_SHIFT (19U)
  41261. #define USBPHY_PWD_CLR_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWDDIFF_SHIFT)) & USBPHY_PWD_CLR_RXPWDDIFF_MASK)
  41262. #define USBPHY_PWD_CLR_RXPWDRX_MASK (0x100000U)
  41263. #define USBPHY_PWD_CLR_RXPWDRX_SHIFT (20U)
  41264. #define USBPHY_PWD_CLR_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWDRX_SHIFT)) & USBPHY_PWD_CLR_RXPWDRX_MASK)
  41265. #define USBPHY_PWD_CLR_RSVD2_MASK (0xFFE00000U)
  41266. #define USBPHY_PWD_CLR_RSVD2_SHIFT (21U)
  41267. #define USBPHY_PWD_CLR_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RSVD2_SHIFT)) & USBPHY_PWD_CLR_RSVD2_MASK)
  41268. /*! @} */
  41269. /*! @name PWD_TOG - USB PHY Power-Down Register */
  41270. /*! @{ */
  41271. #define USBPHY_PWD_TOG_RSVD0_MASK (0x3FFU)
  41272. #define USBPHY_PWD_TOG_RSVD0_SHIFT (0U)
  41273. #define USBPHY_PWD_TOG_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RSVD0_SHIFT)) & USBPHY_PWD_TOG_RSVD0_MASK)
  41274. #define USBPHY_PWD_TOG_TXPWDFS_MASK (0x400U)
  41275. #define USBPHY_PWD_TOG_TXPWDFS_SHIFT (10U)
  41276. #define USBPHY_PWD_TOG_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_TXPWDFS_SHIFT)) & USBPHY_PWD_TOG_TXPWDFS_MASK)
  41277. #define USBPHY_PWD_TOG_TXPWDIBIAS_MASK (0x800U)
  41278. #define USBPHY_PWD_TOG_TXPWDIBIAS_SHIFT (11U)
  41279. #define USBPHY_PWD_TOG_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_TOG_TXPWDIBIAS_MASK)
  41280. #define USBPHY_PWD_TOG_TXPWDV2I_MASK (0x1000U)
  41281. #define USBPHY_PWD_TOG_TXPWDV2I_SHIFT (12U)
  41282. #define USBPHY_PWD_TOG_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_TXPWDV2I_SHIFT)) & USBPHY_PWD_TOG_TXPWDV2I_MASK)
  41283. #define USBPHY_PWD_TOG_RSVD1_MASK (0x1E000U)
  41284. #define USBPHY_PWD_TOG_RSVD1_SHIFT (13U)
  41285. #define USBPHY_PWD_TOG_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RSVD1_SHIFT)) & USBPHY_PWD_TOG_RSVD1_MASK)
  41286. #define USBPHY_PWD_TOG_RXPWDENV_MASK (0x20000U)
  41287. #define USBPHY_PWD_TOG_RXPWDENV_SHIFT (17U)
  41288. #define USBPHY_PWD_TOG_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWDENV_SHIFT)) & USBPHY_PWD_TOG_RXPWDENV_MASK)
  41289. #define USBPHY_PWD_TOG_RXPWD1PT1_MASK (0x40000U)
  41290. #define USBPHY_PWD_TOG_RXPWD1PT1_SHIFT (18U)
  41291. #define USBPHY_PWD_TOG_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWD1PT1_SHIFT)) & USBPHY_PWD_TOG_RXPWD1PT1_MASK)
  41292. #define USBPHY_PWD_TOG_RXPWDDIFF_MASK (0x80000U)
  41293. #define USBPHY_PWD_TOG_RXPWDDIFF_SHIFT (19U)
  41294. #define USBPHY_PWD_TOG_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWDDIFF_SHIFT)) & USBPHY_PWD_TOG_RXPWDDIFF_MASK)
  41295. #define USBPHY_PWD_TOG_RXPWDRX_MASK (0x100000U)
  41296. #define USBPHY_PWD_TOG_RXPWDRX_SHIFT (20U)
  41297. #define USBPHY_PWD_TOG_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWDRX_SHIFT)) & USBPHY_PWD_TOG_RXPWDRX_MASK)
  41298. #define USBPHY_PWD_TOG_RSVD2_MASK (0xFFE00000U)
  41299. #define USBPHY_PWD_TOG_RSVD2_SHIFT (21U)
  41300. #define USBPHY_PWD_TOG_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RSVD2_SHIFT)) & USBPHY_PWD_TOG_RSVD2_MASK)
  41301. /*! @} */
  41302. /*! @name TX - USB PHY Transmitter Control Register */
  41303. /*! @{ */
  41304. #define USBPHY_TX_D_CAL_MASK (0xFU)
  41305. #define USBPHY_TX_D_CAL_SHIFT (0U)
  41306. #define USBPHY_TX_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_D_CAL_SHIFT)) & USBPHY_TX_D_CAL_MASK)
  41307. #define USBPHY_TX_RSVD0_MASK (0xF0U)
  41308. #define USBPHY_TX_RSVD0_SHIFT (4U)
  41309. #define USBPHY_TX_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_RSVD0_SHIFT)) & USBPHY_TX_RSVD0_MASK)
  41310. #define USBPHY_TX_TXCAL45DN_MASK (0xF00U)
  41311. #define USBPHY_TX_TXCAL45DN_SHIFT (8U)
  41312. #define USBPHY_TX_TXCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TXCAL45DN_SHIFT)) & USBPHY_TX_TXCAL45DN_MASK)
  41313. #define USBPHY_TX_RSVD1_MASK (0xF000U)
  41314. #define USBPHY_TX_RSVD1_SHIFT (12U)
  41315. #define USBPHY_TX_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_RSVD1_SHIFT)) & USBPHY_TX_RSVD1_MASK)
  41316. #define USBPHY_TX_TXCAL45DP_MASK (0xF0000U)
  41317. #define USBPHY_TX_TXCAL45DP_SHIFT (16U)
  41318. #define USBPHY_TX_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TXCAL45DP_SHIFT)) & USBPHY_TX_TXCAL45DP_MASK)
  41319. #define USBPHY_TX_RSVD2_MASK (0x3F00000U)
  41320. #define USBPHY_TX_RSVD2_SHIFT (20U)
  41321. #define USBPHY_TX_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_RSVD2_SHIFT)) & USBPHY_TX_RSVD2_MASK)
  41322. #define USBPHY_TX_USBPHY_TX_EDGECTRL_MASK (0x1C000000U)
  41323. #define USBPHY_TX_USBPHY_TX_EDGECTRL_SHIFT (26U)
  41324. #define USBPHY_TX_USBPHY_TX_EDGECTRL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_USBPHY_TX_EDGECTRL_SHIFT)) & USBPHY_TX_USBPHY_TX_EDGECTRL_MASK)
  41325. #define USBPHY_TX_RSVD5_MASK (0xE0000000U)
  41326. #define USBPHY_TX_RSVD5_SHIFT (29U)
  41327. #define USBPHY_TX_RSVD5(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_RSVD5_SHIFT)) & USBPHY_TX_RSVD5_MASK)
  41328. /*! @} */
  41329. /*! @name TX_SET - USB PHY Transmitter Control Register */
  41330. /*! @{ */
  41331. #define USBPHY_TX_SET_D_CAL_MASK (0xFU)
  41332. #define USBPHY_TX_SET_D_CAL_SHIFT (0U)
  41333. #define USBPHY_TX_SET_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_D_CAL_SHIFT)) & USBPHY_TX_SET_D_CAL_MASK)
  41334. #define USBPHY_TX_SET_RSVD0_MASK (0xF0U)
  41335. #define USBPHY_TX_SET_RSVD0_SHIFT (4U)
  41336. #define USBPHY_TX_SET_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_RSVD0_SHIFT)) & USBPHY_TX_SET_RSVD0_MASK)
  41337. #define USBPHY_TX_SET_TXCAL45DN_MASK (0xF00U)
  41338. #define USBPHY_TX_SET_TXCAL45DN_SHIFT (8U)
  41339. #define USBPHY_TX_SET_TXCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_TXCAL45DN_SHIFT)) & USBPHY_TX_SET_TXCAL45DN_MASK)
  41340. #define USBPHY_TX_SET_RSVD1_MASK (0xF000U)
  41341. #define USBPHY_TX_SET_RSVD1_SHIFT (12U)
  41342. #define USBPHY_TX_SET_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_RSVD1_SHIFT)) & USBPHY_TX_SET_RSVD1_MASK)
  41343. #define USBPHY_TX_SET_TXCAL45DP_MASK (0xF0000U)
  41344. #define USBPHY_TX_SET_TXCAL45DP_SHIFT (16U)
  41345. #define USBPHY_TX_SET_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_TXCAL45DP_SHIFT)) & USBPHY_TX_SET_TXCAL45DP_MASK)
  41346. #define USBPHY_TX_SET_RSVD2_MASK (0x3F00000U)
  41347. #define USBPHY_TX_SET_RSVD2_SHIFT (20U)
  41348. #define USBPHY_TX_SET_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_RSVD2_SHIFT)) & USBPHY_TX_SET_RSVD2_MASK)
  41349. #define USBPHY_TX_SET_USBPHY_TX_EDGECTRL_MASK (0x1C000000U)
  41350. #define USBPHY_TX_SET_USBPHY_TX_EDGECTRL_SHIFT (26U)
  41351. #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)
  41352. #define USBPHY_TX_SET_RSVD5_MASK (0xE0000000U)
  41353. #define USBPHY_TX_SET_RSVD5_SHIFT (29U)
  41354. #define USBPHY_TX_SET_RSVD5(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_RSVD5_SHIFT)) & USBPHY_TX_SET_RSVD5_MASK)
  41355. /*! @} */
  41356. /*! @name TX_CLR - USB PHY Transmitter Control Register */
  41357. /*! @{ */
  41358. #define USBPHY_TX_CLR_D_CAL_MASK (0xFU)
  41359. #define USBPHY_TX_CLR_D_CAL_SHIFT (0U)
  41360. #define USBPHY_TX_CLR_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_D_CAL_SHIFT)) & USBPHY_TX_CLR_D_CAL_MASK)
  41361. #define USBPHY_TX_CLR_RSVD0_MASK (0xF0U)
  41362. #define USBPHY_TX_CLR_RSVD0_SHIFT (4U)
  41363. #define USBPHY_TX_CLR_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_RSVD0_SHIFT)) & USBPHY_TX_CLR_RSVD0_MASK)
  41364. #define USBPHY_TX_CLR_TXCAL45DN_MASK (0xF00U)
  41365. #define USBPHY_TX_CLR_TXCAL45DN_SHIFT (8U)
  41366. #define USBPHY_TX_CLR_TXCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_TXCAL45DN_SHIFT)) & USBPHY_TX_CLR_TXCAL45DN_MASK)
  41367. #define USBPHY_TX_CLR_RSVD1_MASK (0xF000U)
  41368. #define USBPHY_TX_CLR_RSVD1_SHIFT (12U)
  41369. #define USBPHY_TX_CLR_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_RSVD1_SHIFT)) & USBPHY_TX_CLR_RSVD1_MASK)
  41370. #define USBPHY_TX_CLR_TXCAL45DP_MASK (0xF0000U)
  41371. #define USBPHY_TX_CLR_TXCAL45DP_SHIFT (16U)
  41372. #define USBPHY_TX_CLR_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_TXCAL45DP_SHIFT)) & USBPHY_TX_CLR_TXCAL45DP_MASK)
  41373. #define USBPHY_TX_CLR_RSVD2_MASK (0x3F00000U)
  41374. #define USBPHY_TX_CLR_RSVD2_SHIFT (20U)
  41375. #define USBPHY_TX_CLR_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_RSVD2_SHIFT)) & USBPHY_TX_CLR_RSVD2_MASK)
  41376. #define USBPHY_TX_CLR_USBPHY_TX_EDGECTRL_MASK (0x1C000000U)
  41377. #define USBPHY_TX_CLR_USBPHY_TX_EDGECTRL_SHIFT (26U)
  41378. #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)
  41379. #define USBPHY_TX_CLR_RSVD5_MASK (0xE0000000U)
  41380. #define USBPHY_TX_CLR_RSVD5_SHIFT (29U)
  41381. #define USBPHY_TX_CLR_RSVD5(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_RSVD5_SHIFT)) & USBPHY_TX_CLR_RSVD5_MASK)
  41382. /*! @} */
  41383. /*! @name TX_TOG - USB PHY Transmitter Control Register */
  41384. /*! @{ */
  41385. #define USBPHY_TX_TOG_D_CAL_MASK (0xFU)
  41386. #define USBPHY_TX_TOG_D_CAL_SHIFT (0U)
  41387. #define USBPHY_TX_TOG_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_D_CAL_SHIFT)) & USBPHY_TX_TOG_D_CAL_MASK)
  41388. #define USBPHY_TX_TOG_RSVD0_MASK (0xF0U)
  41389. #define USBPHY_TX_TOG_RSVD0_SHIFT (4U)
  41390. #define USBPHY_TX_TOG_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_RSVD0_SHIFT)) & USBPHY_TX_TOG_RSVD0_MASK)
  41391. #define USBPHY_TX_TOG_TXCAL45DN_MASK (0xF00U)
  41392. #define USBPHY_TX_TOG_TXCAL45DN_SHIFT (8U)
  41393. #define USBPHY_TX_TOG_TXCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_TXCAL45DN_SHIFT)) & USBPHY_TX_TOG_TXCAL45DN_MASK)
  41394. #define USBPHY_TX_TOG_RSVD1_MASK (0xF000U)
  41395. #define USBPHY_TX_TOG_RSVD1_SHIFT (12U)
  41396. #define USBPHY_TX_TOG_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_RSVD1_SHIFT)) & USBPHY_TX_TOG_RSVD1_MASK)
  41397. #define USBPHY_TX_TOG_TXCAL45DP_MASK (0xF0000U)
  41398. #define USBPHY_TX_TOG_TXCAL45DP_SHIFT (16U)
  41399. #define USBPHY_TX_TOG_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_TXCAL45DP_SHIFT)) & USBPHY_TX_TOG_TXCAL45DP_MASK)
  41400. #define USBPHY_TX_TOG_RSVD2_MASK (0x3F00000U)
  41401. #define USBPHY_TX_TOG_RSVD2_SHIFT (20U)
  41402. #define USBPHY_TX_TOG_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_RSVD2_SHIFT)) & USBPHY_TX_TOG_RSVD2_MASK)
  41403. #define USBPHY_TX_TOG_USBPHY_TX_EDGECTRL_MASK (0x1C000000U)
  41404. #define USBPHY_TX_TOG_USBPHY_TX_EDGECTRL_SHIFT (26U)
  41405. #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)
  41406. #define USBPHY_TX_TOG_RSVD5_MASK (0xE0000000U)
  41407. #define USBPHY_TX_TOG_RSVD5_SHIFT (29U)
  41408. #define USBPHY_TX_TOG_RSVD5(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_RSVD5_SHIFT)) & USBPHY_TX_TOG_RSVD5_MASK)
  41409. /*! @} */
  41410. /*! @name RX - USB PHY Receiver Control Register */
  41411. /*! @{ */
  41412. #define USBPHY_RX_ENVADJ_MASK (0x7U)
  41413. #define USBPHY_RX_ENVADJ_SHIFT (0U)
  41414. #define USBPHY_RX_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_ENVADJ_SHIFT)) & USBPHY_RX_ENVADJ_MASK)
  41415. #define USBPHY_RX_RSVD0_MASK (0x8U)
  41416. #define USBPHY_RX_RSVD0_SHIFT (3U)
  41417. #define USBPHY_RX_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_RSVD0_SHIFT)) & USBPHY_RX_RSVD0_MASK)
  41418. #define USBPHY_RX_DISCONADJ_MASK (0x70U)
  41419. #define USBPHY_RX_DISCONADJ_SHIFT (4U)
  41420. #define USBPHY_RX_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_DISCONADJ_SHIFT)) & USBPHY_RX_DISCONADJ_MASK)
  41421. #define USBPHY_RX_RSVD1_MASK (0x3FFF80U)
  41422. #define USBPHY_RX_RSVD1_SHIFT (7U)
  41423. #define USBPHY_RX_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_RSVD1_SHIFT)) & USBPHY_RX_RSVD1_MASK)
  41424. #define USBPHY_RX_RXDBYPASS_MASK (0x400000U)
  41425. #define USBPHY_RX_RXDBYPASS_SHIFT (22U)
  41426. #define USBPHY_RX_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_RXDBYPASS_SHIFT)) & USBPHY_RX_RXDBYPASS_MASK)
  41427. #define USBPHY_RX_RSVD2_MASK (0xFF800000U)
  41428. #define USBPHY_RX_RSVD2_SHIFT (23U)
  41429. #define USBPHY_RX_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_RSVD2_SHIFT)) & USBPHY_RX_RSVD2_MASK)
  41430. /*! @} */
  41431. /*! @name RX_SET - USB PHY Receiver Control Register */
  41432. /*! @{ */
  41433. #define USBPHY_RX_SET_ENVADJ_MASK (0x7U)
  41434. #define USBPHY_RX_SET_ENVADJ_SHIFT (0U)
  41435. #define USBPHY_RX_SET_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_ENVADJ_SHIFT)) & USBPHY_RX_SET_ENVADJ_MASK)
  41436. #define USBPHY_RX_SET_RSVD0_MASK (0x8U)
  41437. #define USBPHY_RX_SET_RSVD0_SHIFT (3U)
  41438. #define USBPHY_RX_SET_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_RSVD0_SHIFT)) & USBPHY_RX_SET_RSVD0_MASK)
  41439. #define USBPHY_RX_SET_DISCONADJ_MASK (0x70U)
  41440. #define USBPHY_RX_SET_DISCONADJ_SHIFT (4U)
  41441. #define USBPHY_RX_SET_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_DISCONADJ_SHIFT)) & USBPHY_RX_SET_DISCONADJ_MASK)
  41442. #define USBPHY_RX_SET_RSVD1_MASK (0x3FFF80U)
  41443. #define USBPHY_RX_SET_RSVD1_SHIFT (7U)
  41444. #define USBPHY_RX_SET_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_RSVD1_SHIFT)) & USBPHY_RX_SET_RSVD1_MASK)
  41445. #define USBPHY_RX_SET_RXDBYPASS_MASK (0x400000U)
  41446. #define USBPHY_RX_SET_RXDBYPASS_SHIFT (22U)
  41447. #define USBPHY_RX_SET_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_RXDBYPASS_SHIFT)) & USBPHY_RX_SET_RXDBYPASS_MASK)
  41448. #define USBPHY_RX_SET_RSVD2_MASK (0xFF800000U)
  41449. #define USBPHY_RX_SET_RSVD2_SHIFT (23U)
  41450. #define USBPHY_RX_SET_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_RSVD2_SHIFT)) & USBPHY_RX_SET_RSVD2_MASK)
  41451. /*! @} */
  41452. /*! @name RX_CLR - USB PHY Receiver Control Register */
  41453. /*! @{ */
  41454. #define USBPHY_RX_CLR_ENVADJ_MASK (0x7U)
  41455. #define USBPHY_RX_CLR_ENVADJ_SHIFT (0U)
  41456. #define USBPHY_RX_CLR_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_ENVADJ_SHIFT)) & USBPHY_RX_CLR_ENVADJ_MASK)
  41457. #define USBPHY_RX_CLR_RSVD0_MASK (0x8U)
  41458. #define USBPHY_RX_CLR_RSVD0_SHIFT (3U)
  41459. #define USBPHY_RX_CLR_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_RSVD0_SHIFT)) & USBPHY_RX_CLR_RSVD0_MASK)
  41460. #define USBPHY_RX_CLR_DISCONADJ_MASK (0x70U)
  41461. #define USBPHY_RX_CLR_DISCONADJ_SHIFT (4U)
  41462. #define USBPHY_RX_CLR_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_DISCONADJ_SHIFT)) & USBPHY_RX_CLR_DISCONADJ_MASK)
  41463. #define USBPHY_RX_CLR_RSVD1_MASK (0x3FFF80U)
  41464. #define USBPHY_RX_CLR_RSVD1_SHIFT (7U)
  41465. #define USBPHY_RX_CLR_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_RSVD1_SHIFT)) & USBPHY_RX_CLR_RSVD1_MASK)
  41466. #define USBPHY_RX_CLR_RXDBYPASS_MASK (0x400000U)
  41467. #define USBPHY_RX_CLR_RXDBYPASS_SHIFT (22U)
  41468. #define USBPHY_RX_CLR_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_RXDBYPASS_SHIFT)) & USBPHY_RX_CLR_RXDBYPASS_MASK)
  41469. #define USBPHY_RX_CLR_RSVD2_MASK (0xFF800000U)
  41470. #define USBPHY_RX_CLR_RSVD2_SHIFT (23U)
  41471. #define USBPHY_RX_CLR_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_RSVD2_SHIFT)) & USBPHY_RX_CLR_RSVD2_MASK)
  41472. /*! @} */
  41473. /*! @name RX_TOG - USB PHY Receiver Control Register */
  41474. /*! @{ */
  41475. #define USBPHY_RX_TOG_ENVADJ_MASK (0x7U)
  41476. #define USBPHY_RX_TOG_ENVADJ_SHIFT (0U)
  41477. #define USBPHY_RX_TOG_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_ENVADJ_SHIFT)) & USBPHY_RX_TOG_ENVADJ_MASK)
  41478. #define USBPHY_RX_TOG_RSVD0_MASK (0x8U)
  41479. #define USBPHY_RX_TOG_RSVD0_SHIFT (3U)
  41480. #define USBPHY_RX_TOG_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_RSVD0_SHIFT)) & USBPHY_RX_TOG_RSVD0_MASK)
  41481. #define USBPHY_RX_TOG_DISCONADJ_MASK (0x70U)
  41482. #define USBPHY_RX_TOG_DISCONADJ_SHIFT (4U)
  41483. #define USBPHY_RX_TOG_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_DISCONADJ_SHIFT)) & USBPHY_RX_TOG_DISCONADJ_MASK)
  41484. #define USBPHY_RX_TOG_RSVD1_MASK (0x3FFF80U)
  41485. #define USBPHY_RX_TOG_RSVD1_SHIFT (7U)
  41486. #define USBPHY_RX_TOG_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_RSVD1_SHIFT)) & USBPHY_RX_TOG_RSVD1_MASK)
  41487. #define USBPHY_RX_TOG_RXDBYPASS_MASK (0x400000U)
  41488. #define USBPHY_RX_TOG_RXDBYPASS_SHIFT (22U)
  41489. #define USBPHY_RX_TOG_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_RXDBYPASS_SHIFT)) & USBPHY_RX_TOG_RXDBYPASS_MASK)
  41490. #define USBPHY_RX_TOG_RSVD2_MASK (0xFF800000U)
  41491. #define USBPHY_RX_TOG_RSVD2_SHIFT (23U)
  41492. #define USBPHY_RX_TOG_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_RSVD2_SHIFT)) & USBPHY_RX_TOG_RSVD2_MASK)
  41493. /*! @} */
  41494. /*! @name CTRL - USB PHY General Control Register */
  41495. /*! @{ */
  41496. #define USBPHY_CTRL_ENOTG_ID_CHG_IRQ_MASK (0x1U)
  41497. #define USBPHY_CTRL_ENOTG_ID_CHG_IRQ_SHIFT (0U)
  41498. #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)
  41499. #define USBPHY_CTRL_ENHOSTDISCONDETECT_MASK (0x2U)
  41500. #define USBPHY_CTRL_ENHOSTDISCONDETECT_SHIFT (1U)
  41501. #define USBPHY_CTRL_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_ENHOSTDISCONDETECT_MASK)
  41502. #define USBPHY_CTRL_ENIRQHOSTDISCON_MASK (0x4U)
  41503. #define USBPHY_CTRL_ENIRQHOSTDISCON_SHIFT (2U)
  41504. #define USBPHY_CTRL_ENIRQHOSTDISCON(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIRQHOSTDISCON_SHIFT)) & USBPHY_CTRL_ENIRQHOSTDISCON_MASK)
  41505. #define USBPHY_CTRL_HOSTDISCONDETECT_IRQ_MASK (0x8U)
  41506. #define USBPHY_CTRL_HOSTDISCONDETECT_IRQ_SHIFT (3U)
  41507. #define USBPHY_CTRL_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_HOSTDISCONDETECT_IRQ_MASK)
  41508. #define USBPHY_CTRL_ENDEVPLUGINDETECT_MASK (0x10U)
  41509. #define USBPHY_CTRL_ENDEVPLUGINDETECT_SHIFT (4U)
  41510. #define USBPHY_CTRL_ENDEVPLUGINDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENDEVPLUGINDETECT_SHIFT)) & USBPHY_CTRL_ENDEVPLUGINDETECT_MASK)
  41511. #define USBPHY_CTRL_DEVPLUGIN_POLARITY_MASK (0x20U)
  41512. #define USBPHY_CTRL_DEVPLUGIN_POLARITY_SHIFT (5U)
  41513. #define USBPHY_CTRL_DEVPLUGIN_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_DEVPLUGIN_POLARITY_SHIFT)) & USBPHY_CTRL_DEVPLUGIN_POLARITY_MASK)
  41514. #define USBPHY_CTRL_OTG_ID_CHG_IRQ_MASK (0x40U)
  41515. #define USBPHY_CTRL_OTG_ID_CHG_IRQ_SHIFT (6U)
  41516. #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)
  41517. #define USBPHY_CTRL_ENOTGIDDETECT_MASK (0x80U)
  41518. #define USBPHY_CTRL_ENOTGIDDETECT_SHIFT (7U)
  41519. #define USBPHY_CTRL_ENOTGIDDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENOTGIDDETECT_SHIFT)) & USBPHY_CTRL_ENOTGIDDETECT_MASK)
  41520. #define USBPHY_CTRL_RESUMEIRQSTICKY_MASK (0x100U)
  41521. #define USBPHY_CTRL_RESUMEIRQSTICKY_SHIFT (8U)
  41522. #define USBPHY_CTRL_RESUMEIRQSTICKY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_RESUMEIRQSTICKY_SHIFT)) & USBPHY_CTRL_RESUMEIRQSTICKY_MASK)
  41523. #define USBPHY_CTRL_ENIRQRESUMEDETECT_MASK (0x200U)
  41524. #define USBPHY_CTRL_ENIRQRESUMEDETECT_SHIFT (9U)
  41525. #define USBPHY_CTRL_ENIRQRESUMEDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIRQRESUMEDETECT_SHIFT)) & USBPHY_CTRL_ENIRQRESUMEDETECT_MASK)
  41526. #define USBPHY_CTRL_RESUME_IRQ_MASK (0x400U)
  41527. #define USBPHY_CTRL_RESUME_IRQ_SHIFT (10U)
  41528. #define USBPHY_CTRL_RESUME_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_RESUME_IRQ_SHIFT)) & USBPHY_CTRL_RESUME_IRQ_MASK)
  41529. #define USBPHY_CTRL_ENIRQDEVPLUGIN_MASK (0x800U)
  41530. #define USBPHY_CTRL_ENIRQDEVPLUGIN_SHIFT (11U)
  41531. #define USBPHY_CTRL_ENIRQDEVPLUGIN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIRQDEVPLUGIN_SHIFT)) & USBPHY_CTRL_ENIRQDEVPLUGIN_MASK)
  41532. #define USBPHY_CTRL_DEVPLUGIN_IRQ_MASK (0x1000U)
  41533. #define USBPHY_CTRL_DEVPLUGIN_IRQ_SHIFT (12U)
  41534. #define USBPHY_CTRL_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_DEVPLUGIN_IRQ_MASK)
  41535. #define USBPHY_CTRL_DATA_ON_LRADC_MASK (0x2000U)
  41536. #define USBPHY_CTRL_DATA_ON_LRADC_SHIFT (13U)
  41537. #define USBPHY_CTRL_DATA_ON_LRADC(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_DATA_ON_LRADC_SHIFT)) & USBPHY_CTRL_DATA_ON_LRADC_MASK)
  41538. #define USBPHY_CTRL_ENUTMILEVEL2_MASK (0x4000U)
  41539. #define USBPHY_CTRL_ENUTMILEVEL2_SHIFT (14U)
  41540. #define USBPHY_CTRL_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_ENUTMILEVEL2_MASK)
  41541. #define USBPHY_CTRL_ENUTMILEVEL3_MASK (0x8000U)
  41542. #define USBPHY_CTRL_ENUTMILEVEL3_SHIFT (15U)
  41543. #define USBPHY_CTRL_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_ENUTMILEVEL3_MASK)
  41544. #define USBPHY_CTRL_ENIRQWAKEUP_MASK (0x10000U)
  41545. #define USBPHY_CTRL_ENIRQWAKEUP_SHIFT (16U)
  41546. #define USBPHY_CTRL_ENIRQWAKEUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIRQWAKEUP_SHIFT)) & USBPHY_CTRL_ENIRQWAKEUP_MASK)
  41547. #define USBPHY_CTRL_WAKEUP_IRQ_MASK (0x20000U)
  41548. #define USBPHY_CTRL_WAKEUP_IRQ_SHIFT (17U)
  41549. #define USBPHY_CTRL_WAKEUP_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_WAKEUP_IRQ_SHIFT)) & USBPHY_CTRL_WAKEUP_IRQ_MASK)
  41550. #define USBPHY_CTRL_ENAUTO_PWRON_PLL_MASK (0x40000U)
  41551. #define USBPHY_CTRL_ENAUTO_PWRON_PLL_SHIFT (18U)
  41552. #define USBPHY_CTRL_ENAUTO_PWRON_PLL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENAUTO_PWRON_PLL_SHIFT)) & USBPHY_CTRL_ENAUTO_PWRON_PLL_MASK)
  41553. #define USBPHY_CTRL_ENAUTOCLR_CLKGATE_MASK (0x80000U)
  41554. #define USBPHY_CTRL_ENAUTOCLR_CLKGATE_SHIFT (19U)
  41555. #define USBPHY_CTRL_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_ENAUTOCLR_CLKGATE_MASK)
  41556. #define USBPHY_CTRL_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
  41557. #define USBPHY_CTRL_ENAUTOCLR_PHY_PWD_SHIFT (20U)
  41558. #define USBPHY_CTRL_ENAUTOCLR_PHY_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENAUTOCLR_PHY_PWD_SHIFT)) & USBPHY_CTRL_ENAUTOCLR_PHY_PWD_MASK)
  41559. #define USBPHY_CTRL_ENDPDMCHG_WKUP_MASK (0x200000U)
  41560. #define USBPHY_CTRL_ENDPDMCHG_WKUP_SHIFT (21U)
  41561. #define USBPHY_CTRL_ENDPDMCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENDPDMCHG_WKUP_SHIFT)) & USBPHY_CTRL_ENDPDMCHG_WKUP_MASK)
  41562. #define USBPHY_CTRL_ENIDCHG_WKUP_MASK (0x400000U)
  41563. #define USBPHY_CTRL_ENIDCHG_WKUP_SHIFT (22U)
  41564. #define USBPHY_CTRL_ENIDCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIDCHG_WKUP_SHIFT)) & USBPHY_CTRL_ENIDCHG_WKUP_MASK)
  41565. #define USBPHY_CTRL_ENVBUSCHG_WKUP_MASK (0x800000U)
  41566. #define USBPHY_CTRL_ENVBUSCHG_WKUP_SHIFT (23U)
  41567. #define USBPHY_CTRL_ENVBUSCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENVBUSCHG_WKUP_SHIFT)) & USBPHY_CTRL_ENVBUSCHG_WKUP_MASK)
  41568. #define USBPHY_CTRL_FSDLL_RST_EN_MASK (0x1000000U)
  41569. #define USBPHY_CTRL_FSDLL_RST_EN_SHIFT (24U)
  41570. #define USBPHY_CTRL_FSDLL_RST_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_FSDLL_RST_EN_SHIFT)) & USBPHY_CTRL_FSDLL_RST_EN_MASK)
  41571. #define USBPHY_CTRL_RSVD1_MASK (0x6000000U)
  41572. #define USBPHY_CTRL_RSVD1_SHIFT (25U)
  41573. #define USBPHY_CTRL_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_RSVD1_SHIFT)) & USBPHY_CTRL_RSVD1_MASK)
  41574. #define USBPHY_CTRL_OTG_ID_VALUE_MASK (0x8000000U)
  41575. #define USBPHY_CTRL_OTG_ID_VALUE_SHIFT (27U)
  41576. #define USBPHY_CTRL_OTG_ID_VALUE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_OTG_ID_VALUE_SHIFT)) & USBPHY_CTRL_OTG_ID_VALUE_MASK)
  41577. #define USBPHY_CTRL_HOST_FORCE_LS_SE0_MASK (0x10000000U)
  41578. #define USBPHY_CTRL_HOST_FORCE_LS_SE0_SHIFT (28U)
  41579. #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)
  41580. #define USBPHY_CTRL_UTMI_SUSPENDM_MASK (0x20000000U)
  41581. #define USBPHY_CTRL_UTMI_SUSPENDM_SHIFT (29U)
  41582. #define USBPHY_CTRL_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_UTMI_SUSPENDM_MASK)
  41583. #define USBPHY_CTRL_CLKGATE_MASK (0x40000000U)
  41584. #define USBPHY_CTRL_CLKGATE_SHIFT (30U)
  41585. #define USBPHY_CTRL_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLKGATE_SHIFT)) & USBPHY_CTRL_CLKGATE_MASK)
  41586. #define USBPHY_CTRL_SFTRST_MASK (0x80000000U)
  41587. #define USBPHY_CTRL_SFTRST_SHIFT (31U)
  41588. #define USBPHY_CTRL_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SFTRST_SHIFT)) & USBPHY_CTRL_SFTRST_MASK)
  41589. /*! @} */
  41590. /*! @name CTRL_SET - USB PHY General Control Register */
  41591. /*! @{ */
  41592. #define USBPHY_CTRL_SET_ENOTG_ID_CHG_IRQ_MASK (0x1U)
  41593. #define USBPHY_CTRL_SET_ENOTG_ID_CHG_IRQ_SHIFT (0U)
  41594. #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)
  41595. #define USBPHY_CTRL_SET_ENHOSTDISCONDETECT_MASK (0x2U)
  41596. #define USBPHY_CTRL_SET_ENHOSTDISCONDETECT_SHIFT (1U)
  41597. #define USBPHY_CTRL_SET_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_SET_ENHOSTDISCONDETECT_MASK)
  41598. #define USBPHY_CTRL_SET_ENIRQHOSTDISCON_MASK (0x4U)
  41599. #define USBPHY_CTRL_SET_ENIRQHOSTDISCON_SHIFT (2U)
  41600. #define USBPHY_CTRL_SET_ENIRQHOSTDISCON(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIRQHOSTDISCON_SHIFT)) & USBPHY_CTRL_SET_ENIRQHOSTDISCON_MASK)
  41601. #define USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_MASK (0x8U)
  41602. #define USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_SHIFT (3U)
  41603. #define USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_MASK)
  41604. #define USBPHY_CTRL_SET_ENDEVPLUGINDETECT_MASK (0x10U)
  41605. #define USBPHY_CTRL_SET_ENDEVPLUGINDETECT_SHIFT (4U)
  41606. #define USBPHY_CTRL_SET_ENDEVPLUGINDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENDEVPLUGINDETECT_SHIFT)) & USBPHY_CTRL_SET_ENDEVPLUGINDETECT_MASK)
  41607. #define USBPHY_CTRL_SET_DEVPLUGIN_POLARITY_MASK (0x20U)
  41608. #define USBPHY_CTRL_SET_DEVPLUGIN_POLARITY_SHIFT (5U)
  41609. #define USBPHY_CTRL_SET_DEVPLUGIN_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_DEVPLUGIN_POLARITY_SHIFT)) & USBPHY_CTRL_SET_DEVPLUGIN_POLARITY_MASK)
  41610. #define USBPHY_CTRL_SET_OTG_ID_CHG_IRQ_MASK (0x40U)
  41611. #define USBPHY_CTRL_SET_OTG_ID_CHG_IRQ_SHIFT (6U)
  41612. #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)
  41613. #define USBPHY_CTRL_SET_ENOTGIDDETECT_MASK (0x80U)
  41614. #define USBPHY_CTRL_SET_ENOTGIDDETECT_SHIFT (7U)
  41615. #define USBPHY_CTRL_SET_ENOTGIDDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENOTGIDDETECT_SHIFT)) & USBPHY_CTRL_SET_ENOTGIDDETECT_MASK)
  41616. #define USBPHY_CTRL_SET_RESUMEIRQSTICKY_MASK (0x100U)
  41617. #define USBPHY_CTRL_SET_RESUMEIRQSTICKY_SHIFT (8U)
  41618. #define USBPHY_CTRL_SET_RESUMEIRQSTICKY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_RESUMEIRQSTICKY_SHIFT)) & USBPHY_CTRL_SET_RESUMEIRQSTICKY_MASK)
  41619. #define USBPHY_CTRL_SET_ENIRQRESUMEDETECT_MASK (0x200U)
  41620. #define USBPHY_CTRL_SET_ENIRQRESUMEDETECT_SHIFT (9U)
  41621. #define USBPHY_CTRL_SET_ENIRQRESUMEDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIRQRESUMEDETECT_SHIFT)) & USBPHY_CTRL_SET_ENIRQRESUMEDETECT_MASK)
  41622. #define USBPHY_CTRL_SET_RESUME_IRQ_MASK (0x400U)
  41623. #define USBPHY_CTRL_SET_RESUME_IRQ_SHIFT (10U)
  41624. #define USBPHY_CTRL_SET_RESUME_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_RESUME_IRQ_SHIFT)) & USBPHY_CTRL_SET_RESUME_IRQ_MASK)
  41625. #define USBPHY_CTRL_SET_ENIRQDEVPLUGIN_MASK (0x800U)
  41626. #define USBPHY_CTRL_SET_ENIRQDEVPLUGIN_SHIFT (11U)
  41627. #define USBPHY_CTRL_SET_ENIRQDEVPLUGIN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIRQDEVPLUGIN_SHIFT)) & USBPHY_CTRL_SET_ENIRQDEVPLUGIN_MASK)
  41628. #define USBPHY_CTRL_SET_DEVPLUGIN_IRQ_MASK (0x1000U)
  41629. #define USBPHY_CTRL_SET_DEVPLUGIN_IRQ_SHIFT (12U)
  41630. #define USBPHY_CTRL_SET_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_SET_DEVPLUGIN_IRQ_MASK)
  41631. #define USBPHY_CTRL_SET_DATA_ON_LRADC_MASK (0x2000U)
  41632. #define USBPHY_CTRL_SET_DATA_ON_LRADC_SHIFT (13U)
  41633. #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)
  41634. #define USBPHY_CTRL_SET_ENUTMILEVEL2_MASK (0x4000U)
  41635. #define USBPHY_CTRL_SET_ENUTMILEVEL2_SHIFT (14U)
  41636. #define USBPHY_CTRL_SET_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_SET_ENUTMILEVEL2_MASK)
  41637. #define USBPHY_CTRL_SET_ENUTMILEVEL3_MASK (0x8000U)
  41638. #define USBPHY_CTRL_SET_ENUTMILEVEL3_SHIFT (15U)
  41639. #define USBPHY_CTRL_SET_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_SET_ENUTMILEVEL3_MASK)
  41640. #define USBPHY_CTRL_SET_ENIRQWAKEUP_MASK (0x10000U)
  41641. #define USBPHY_CTRL_SET_ENIRQWAKEUP_SHIFT (16U)
  41642. #define USBPHY_CTRL_SET_ENIRQWAKEUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIRQWAKEUP_SHIFT)) & USBPHY_CTRL_SET_ENIRQWAKEUP_MASK)
  41643. #define USBPHY_CTRL_SET_WAKEUP_IRQ_MASK (0x20000U)
  41644. #define USBPHY_CTRL_SET_WAKEUP_IRQ_SHIFT (17U)
  41645. #define USBPHY_CTRL_SET_WAKEUP_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_WAKEUP_IRQ_SHIFT)) & USBPHY_CTRL_SET_WAKEUP_IRQ_MASK)
  41646. #define USBPHY_CTRL_SET_ENAUTO_PWRON_PLL_MASK (0x40000U)
  41647. #define USBPHY_CTRL_SET_ENAUTO_PWRON_PLL_SHIFT (18U)
  41648. #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)
  41649. #define USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_MASK (0x80000U)
  41650. #define USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_SHIFT (19U)
  41651. #define USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_MASK)
  41652. #define USBPHY_CTRL_SET_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
  41653. #define USBPHY_CTRL_SET_ENAUTOCLR_PHY_PWD_SHIFT (20U)
  41654. #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)
  41655. #define USBPHY_CTRL_SET_ENDPDMCHG_WKUP_MASK (0x200000U)
  41656. #define USBPHY_CTRL_SET_ENDPDMCHG_WKUP_SHIFT (21U)
  41657. #define USBPHY_CTRL_SET_ENDPDMCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENDPDMCHG_WKUP_SHIFT)) & USBPHY_CTRL_SET_ENDPDMCHG_WKUP_MASK)
  41658. #define USBPHY_CTRL_SET_ENIDCHG_WKUP_MASK (0x400000U)
  41659. #define USBPHY_CTRL_SET_ENIDCHG_WKUP_SHIFT (22U)
  41660. #define USBPHY_CTRL_SET_ENIDCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIDCHG_WKUP_SHIFT)) & USBPHY_CTRL_SET_ENIDCHG_WKUP_MASK)
  41661. #define USBPHY_CTRL_SET_ENVBUSCHG_WKUP_MASK (0x800000U)
  41662. #define USBPHY_CTRL_SET_ENVBUSCHG_WKUP_SHIFT (23U)
  41663. #define USBPHY_CTRL_SET_ENVBUSCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENVBUSCHG_WKUP_SHIFT)) & USBPHY_CTRL_SET_ENVBUSCHG_WKUP_MASK)
  41664. #define USBPHY_CTRL_SET_FSDLL_RST_EN_MASK (0x1000000U)
  41665. #define USBPHY_CTRL_SET_FSDLL_RST_EN_SHIFT (24U)
  41666. #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)
  41667. #define USBPHY_CTRL_SET_RSVD1_MASK (0x6000000U)
  41668. #define USBPHY_CTRL_SET_RSVD1_SHIFT (25U)
  41669. #define USBPHY_CTRL_SET_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_RSVD1_SHIFT)) & USBPHY_CTRL_SET_RSVD1_MASK)
  41670. #define USBPHY_CTRL_SET_OTG_ID_VALUE_MASK (0x8000000U)
  41671. #define USBPHY_CTRL_SET_OTG_ID_VALUE_SHIFT (27U)
  41672. #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)
  41673. #define USBPHY_CTRL_SET_HOST_FORCE_LS_SE0_MASK (0x10000000U)
  41674. #define USBPHY_CTRL_SET_HOST_FORCE_LS_SE0_SHIFT (28U)
  41675. #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)
  41676. #define USBPHY_CTRL_SET_UTMI_SUSPENDM_MASK (0x20000000U)
  41677. #define USBPHY_CTRL_SET_UTMI_SUSPENDM_SHIFT (29U)
  41678. #define USBPHY_CTRL_SET_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_SET_UTMI_SUSPENDM_MASK)
  41679. #define USBPHY_CTRL_SET_CLKGATE_MASK (0x40000000U)
  41680. #define USBPHY_CTRL_SET_CLKGATE_SHIFT (30U)
  41681. #define USBPHY_CTRL_SET_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_CLKGATE_SHIFT)) & USBPHY_CTRL_SET_CLKGATE_MASK)
  41682. #define USBPHY_CTRL_SET_SFTRST_MASK (0x80000000U)
  41683. #define USBPHY_CTRL_SET_SFTRST_SHIFT (31U)
  41684. #define USBPHY_CTRL_SET_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_SFTRST_SHIFT)) & USBPHY_CTRL_SET_SFTRST_MASK)
  41685. /*! @} */
  41686. /*! @name CTRL_CLR - USB PHY General Control Register */
  41687. /*! @{ */
  41688. #define USBPHY_CTRL_CLR_ENOTG_ID_CHG_IRQ_MASK (0x1U)
  41689. #define USBPHY_CTRL_CLR_ENOTG_ID_CHG_IRQ_SHIFT (0U)
  41690. #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)
  41691. #define USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_MASK (0x2U)
  41692. #define USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_SHIFT (1U)
  41693. #define USBPHY_CTRL_CLR_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_MASK)
  41694. #define USBPHY_CTRL_CLR_ENIRQHOSTDISCON_MASK (0x4U)
  41695. #define USBPHY_CTRL_CLR_ENIRQHOSTDISCON_SHIFT (2U)
  41696. #define USBPHY_CTRL_CLR_ENIRQHOSTDISCON(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIRQHOSTDISCON_SHIFT)) & USBPHY_CTRL_CLR_ENIRQHOSTDISCON_MASK)
  41697. #define USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_MASK (0x8U)
  41698. #define USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_SHIFT (3U)
  41699. #define USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_MASK)
  41700. #define USBPHY_CTRL_CLR_ENDEVPLUGINDETECT_MASK (0x10U)
  41701. #define USBPHY_CTRL_CLR_ENDEVPLUGINDETECT_SHIFT (4U)
  41702. #define USBPHY_CTRL_CLR_ENDEVPLUGINDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENDEVPLUGINDETECT_SHIFT)) & USBPHY_CTRL_CLR_ENDEVPLUGINDETECT_MASK)
  41703. #define USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY_MASK (0x20U)
  41704. #define USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY_SHIFT (5U)
  41705. #define USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY_SHIFT)) & USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY_MASK)
  41706. #define USBPHY_CTRL_CLR_OTG_ID_CHG_IRQ_MASK (0x40U)
  41707. #define USBPHY_CTRL_CLR_OTG_ID_CHG_IRQ_SHIFT (6U)
  41708. #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)
  41709. #define USBPHY_CTRL_CLR_ENOTGIDDETECT_MASK (0x80U)
  41710. #define USBPHY_CTRL_CLR_ENOTGIDDETECT_SHIFT (7U)
  41711. #define USBPHY_CTRL_CLR_ENOTGIDDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENOTGIDDETECT_SHIFT)) & USBPHY_CTRL_CLR_ENOTGIDDETECT_MASK)
  41712. #define USBPHY_CTRL_CLR_RESUMEIRQSTICKY_MASK (0x100U)
  41713. #define USBPHY_CTRL_CLR_RESUMEIRQSTICKY_SHIFT (8U)
  41714. #define USBPHY_CTRL_CLR_RESUMEIRQSTICKY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_RESUMEIRQSTICKY_SHIFT)) & USBPHY_CTRL_CLR_RESUMEIRQSTICKY_MASK)
  41715. #define USBPHY_CTRL_CLR_ENIRQRESUMEDETECT_MASK (0x200U)
  41716. #define USBPHY_CTRL_CLR_ENIRQRESUMEDETECT_SHIFT (9U)
  41717. #define USBPHY_CTRL_CLR_ENIRQRESUMEDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIRQRESUMEDETECT_SHIFT)) & USBPHY_CTRL_CLR_ENIRQRESUMEDETECT_MASK)
  41718. #define USBPHY_CTRL_CLR_RESUME_IRQ_MASK (0x400U)
  41719. #define USBPHY_CTRL_CLR_RESUME_IRQ_SHIFT (10U)
  41720. #define USBPHY_CTRL_CLR_RESUME_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_RESUME_IRQ_SHIFT)) & USBPHY_CTRL_CLR_RESUME_IRQ_MASK)
  41721. #define USBPHY_CTRL_CLR_ENIRQDEVPLUGIN_MASK (0x800U)
  41722. #define USBPHY_CTRL_CLR_ENIRQDEVPLUGIN_SHIFT (11U)
  41723. #define USBPHY_CTRL_CLR_ENIRQDEVPLUGIN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIRQDEVPLUGIN_SHIFT)) & USBPHY_CTRL_CLR_ENIRQDEVPLUGIN_MASK)
  41724. #define USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_MASK (0x1000U)
  41725. #define USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_SHIFT (12U)
  41726. #define USBPHY_CTRL_CLR_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_MASK)
  41727. #define USBPHY_CTRL_CLR_DATA_ON_LRADC_MASK (0x2000U)
  41728. #define USBPHY_CTRL_CLR_DATA_ON_LRADC_SHIFT (13U)
  41729. #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)
  41730. #define USBPHY_CTRL_CLR_ENUTMILEVEL2_MASK (0x4000U)
  41731. #define USBPHY_CTRL_CLR_ENUTMILEVEL2_SHIFT (14U)
  41732. #define USBPHY_CTRL_CLR_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_CLR_ENUTMILEVEL2_MASK)
  41733. #define USBPHY_CTRL_CLR_ENUTMILEVEL3_MASK (0x8000U)
  41734. #define USBPHY_CTRL_CLR_ENUTMILEVEL3_SHIFT (15U)
  41735. #define USBPHY_CTRL_CLR_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_CLR_ENUTMILEVEL3_MASK)
  41736. #define USBPHY_CTRL_CLR_ENIRQWAKEUP_MASK (0x10000U)
  41737. #define USBPHY_CTRL_CLR_ENIRQWAKEUP_SHIFT (16U)
  41738. #define USBPHY_CTRL_CLR_ENIRQWAKEUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIRQWAKEUP_SHIFT)) & USBPHY_CTRL_CLR_ENIRQWAKEUP_MASK)
  41739. #define USBPHY_CTRL_CLR_WAKEUP_IRQ_MASK (0x20000U)
  41740. #define USBPHY_CTRL_CLR_WAKEUP_IRQ_SHIFT (17U)
  41741. #define USBPHY_CTRL_CLR_WAKEUP_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_WAKEUP_IRQ_SHIFT)) & USBPHY_CTRL_CLR_WAKEUP_IRQ_MASK)
  41742. #define USBPHY_CTRL_CLR_ENAUTO_PWRON_PLL_MASK (0x40000U)
  41743. #define USBPHY_CTRL_CLR_ENAUTO_PWRON_PLL_SHIFT (18U)
  41744. #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)
  41745. #define USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_MASK (0x80000U)
  41746. #define USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_SHIFT (19U)
  41747. #define USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_MASK)
  41748. #define USBPHY_CTRL_CLR_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
  41749. #define USBPHY_CTRL_CLR_ENAUTOCLR_PHY_PWD_SHIFT (20U)
  41750. #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)
  41751. #define USBPHY_CTRL_CLR_ENDPDMCHG_WKUP_MASK (0x200000U)
  41752. #define USBPHY_CTRL_CLR_ENDPDMCHG_WKUP_SHIFT (21U)
  41753. #define USBPHY_CTRL_CLR_ENDPDMCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENDPDMCHG_WKUP_SHIFT)) & USBPHY_CTRL_CLR_ENDPDMCHG_WKUP_MASK)
  41754. #define USBPHY_CTRL_CLR_ENIDCHG_WKUP_MASK (0x400000U)
  41755. #define USBPHY_CTRL_CLR_ENIDCHG_WKUP_SHIFT (22U)
  41756. #define USBPHY_CTRL_CLR_ENIDCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIDCHG_WKUP_SHIFT)) & USBPHY_CTRL_CLR_ENIDCHG_WKUP_MASK)
  41757. #define USBPHY_CTRL_CLR_ENVBUSCHG_WKUP_MASK (0x800000U)
  41758. #define USBPHY_CTRL_CLR_ENVBUSCHG_WKUP_SHIFT (23U)
  41759. #define USBPHY_CTRL_CLR_ENVBUSCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENVBUSCHG_WKUP_SHIFT)) & USBPHY_CTRL_CLR_ENVBUSCHG_WKUP_MASK)
  41760. #define USBPHY_CTRL_CLR_FSDLL_RST_EN_MASK (0x1000000U)
  41761. #define USBPHY_CTRL_CLR_FSDLL_RST_EN_SHIFT (24U)
  41762. #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)
  41763. #define USBPHY_CTRL_CLR_RSVD1_MASK (0x6000000U)
  41764. #define USBPHY_CTRL_CLR_RSVD1_SHIFT (25U)
  41765. #define USBPHY_CTRL_CLR_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_RSVD1_SHIFT)) & USBPHY_CTRL_CLR_RSVD1_MASK)
  41766. #define USBPHY_CTRL_CLR_OTG_ID_VALUE_MASK (0x8000000U)
  41767. #define USBPHY_CTRL_CLR_OTG_ID_VALUE_SHIFT (27U)
  41768. #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)
  41769. #define USBPHY_CTRL_CLR_HOST_FORCE_LS_SE0_MASK (0x10000000U)
  41770. #define USBPHY_CTRL_CLR_HOST_FORCE_LS_SE0_SHIFT (28U)
  41771. #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)
  41772. #define USBPHY_CTRL_CLR_UTMI_SUSPENDM_MASK (0x20000000U)
  41773. #define USBPHY_CTRL_CLR_UTMI_SUSPENDM_SHIFT (29U)
  41774. #define USBPHY_CTRL_CLR_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_CLR_UTMI_SUSPENDM_MASK)
  41775. #define USBPHY_CTRL_CLR_CLKGATE_MASK (0x40000000U)
  41776. #define USBPHY_CTRL_CLR_CLKGATE_SHIFT (30U)
  41777. #define USBPHY_CTRL_CLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_CLKGATE_SHIFT)) & USBPHY_CTRL_CLR_CLKGATE_MASK)
  41778. #define USBPHY_CTRL_CLR_SFTRST_MASK (0x80000000U)
  41779. #define USBPHY_CTRL_CLR_SFTRST_SHIFT (31U)
  41780. #define USBPHY_CTRL_CLR_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_SFTRST_SHIFT)) & USBPHY_CTRL_CLR_SFTRST_MASK)
  41781. /*! @} */
  41782. /*! @name CTRL_TOG - USB PHY General Control Register */
  41783. /*! @{ */
  41784. #define USBPHY_CTRL_TOG_ENOTG_ID_CHG_IRQ_MASK (0x1U)
  41785. #define USBPHY_CTRL_TOG_ENOTG_ID_CHG_IRQ_SHIFT (0U)
  41786. #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)
  41787. #define USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_MASK (0x2U)
  41788. #define USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_SHIFT (1U)
  41789. #define USBPHY_CTRL_TOG_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_MASK)
  41790. #define USBPHY_CTRL_TOG_ENIRQHOSTDISCON_MASK (0x4U)
  41791. #define USBPHY_CTRL_TOG_ENIRQHOSTDISCON_SHIFT (2U)
  41792. #define USBPHY_CTRL_TOG_ENIRQHOSTDISCON(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIRQHOSTDISCON_SHIFT)) & USBPHY_CTRL_TOG_ENIRQHOSTDISCON_MASK)
  41793. #define USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_MASK (0x8U)
  41794. #define USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_SHIFT (3U)
  41795. #define USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_MASK)
  41796. #define USBPHY_CTRL_TOG_ENDEVPLUGINDETECT_MASK (0x10U)
  41797. #define USBPHY_CTRL_TOG_ENDEVPLUGINDETECT_SHIFT (4U)
  41798. #define USBPHY_CTRL_TOG_ENDEVPLUGINDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENDEVPLUGINDETECT_SHIFT)) & USBPHY_CTRL_TOG_ENDEVPLUGINDETECT_MASK)
  41799. #define USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY_MASK (0x20U)
  41800. #define USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY_SHIFT (5U)
  41801. #define USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY_SHIFT)) & USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY_MASK)
  41802. #define USBPHY_CTRL_TOG_OTG_ID_CHG_IRQ_MASK (0x40U)
  41803. #define USBPHY_CTRL_TOG_OTG_ID_CHG_IRQ_SHIFT (6U)
  41804. #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)
  41805. #define USBPHY_CTRL_TOG_ENOTGIDDETECT_MASK (0x80U)
  41806. #define USBPHY_CTRL_TOG_ENOTGIDDETECT_SHIFT (7U)
  41807. #define USBPHY_CTRL_TOG_ENOTGIDDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENOTGIDDETECT_SHIFT)) & USBPHY_CTRL_TOG_ENOTGIDDETECT_MASK)
  41808. #define USBPHY_CTRL_TOG_RESUMEIRQSTICKY_MASK (0x100U)
  41809. #define USBPHY_CTRL_TOG_RESUMEIRQSTICKY_SHIFT (8U)
  41810. #define USBPHY_CTRL_TOG_RESUMEIRQSTICKY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_RESUMEIRQSTICKY_SHIFT)) & USBPHY_CTRL_TOG_RESUMEIRQSTICKY_MASK)
  41811. #define USBPHY_CTRL_TOG_ENIRQRESUMEDETECT_MASK (0x200U)
  41812. #define USBPHY_CTRL_TOG_ENIRQRESUMEDETECT_SHIFT (9U)
  41813. #define USBPHY_CTRL_TOG_ENIRQRESUMEDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIRQRESUMEDETECT_SHIFT)) & USBPHY_CTRL_TOG_ENIRQRESUMEDETECT_MASK)
  41814. #define USBPHY_CTRL_TOG_RESUME_IRQ_MASK (0x400U)
  41815. #define USBPHY_CTRL_TOG_RESUME_IRQ_SHIFT (10U)
  41816. #define USBPHY_CTRL_TOG_RESUME_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_RESUME_IRQ_SHIFT)) & USBPHY_CTRL_TOG_RESUME_IRQ_MASK)
  41817. #define USBPHY_CTRL_TOG_ENIRQDEVPLUGIN_MASK (0x800U)
  41818. #define USBPHY_CTRL_TOG_ENIRQDEVPLUGIN_SHIFT (11U)
  41819. #define USBPHY_CTRL_TOG_ENIRQDEVPLUGIN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIRQDEVPLUGIN_SHIFT)) & USBPHY_CTRL_TOG_ENIRQDEVPLUGIN_MASK)
  41820. #define USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_MASK (0x1000U)
  41821. #define USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_SHIFT (12U)
  41822. #define USBPHY_CTRL_TOG_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_MASK)
  41823. #define USBPHY_CTRL_TOG_DATA_ON_LRADC_MASK (0x2000U)
  41824. #define USBPHY_CTRL_TOG_DATA_ON_LRADC_SHIFT (13U)
  41825. #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)
  41826. #define USBPHY_CTRL_TOG_ENUTMILEVEL2_MASK (0x4000U)
  41827. #define USBPHY_CTRL_TOG_ENUTMILEVEL2_SHIFT (14U)
  41828. #define USBPHY_CTRL_TOG_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_TOG_ENUTMILEVEL2_MASK)
  41829. #define USBPHY_CTRL_TOG_ENUTMILEVEL3_MASK (0x8000U)
  41830. #define USBPHY_CTRL_TOG_ENUTMILEVEL3_SHIFT (15U)
  41831. #define USBPHY_CTRL_TOG_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_TOG_ENUTMILEVEL3_MASK)
  41832. #define USBPHY_CTRL_TOG_ENIRQWAKEUP_MASK (0x10000U)
  41833. #define USBPHY_CTRL_TOG_ENIRQWAKEUP_SHIFT (16U)
  41834. #define USBPHY_CTRL_TOG_ENIRQWAKEUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIRQWAKEUP_SHIFT)) & USBPHY_CTRL_TOG_ENIRQWAKEUP_MASK)
  41835. #define USBPHY_CTRL_TOG_WAKEUP_IRQ_MASK (0x20000U)
  41836. #define USBPHY_CTRL_TOG_WAKEUP_IRQ_SHIFT (17U)
  41837. #define USBPHY_CTRL_TOG_WAKEUP_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_WAKEUP_IRQ_SHIFT)) & USBPHY_CTRL_TOG_WAKEUP_IRQ_MASK)
  41838. #define USBPHY_CTRL_TOG_ENAUTO_PWRON_PLL_MASK (0x40000U)
  41839. #define USBPHY_CTRL_TOG_ENAUTO_PWRON_PLL_SHIFT (18U)
  41840. #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)
  41841. #define USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_MASK (0x80000U)
  41842. #define USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_SHIFT (19U)
  41843. #define USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_MASK)
  41844. #define USBPHY_CTRL_TOG_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
  41845. #define USBPHY_CTRL_TOG_ENAUTOCLR_PHY_PWD_SHIFT (20U)
  41846. #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)
  41847. #define USBPHY_CTRL_TOG_ENDPDMCHG_WKUP_MASK (0x200000U)
  41848. #define USBPHY_CTRL_TOG_ENDPDMCHG_WKUP_SHIFT (21U)
  41849. #define USBPHY_CTRL_TOG_ENDPDMCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENDPDMCHG_WKUP_SHIFT)) & USBPHY_CTRL_TOG_ENDPDMCHG_WKUP_MASK)
  41850. #define USBPHY_CTRL_TOG_ENIDCHG_WKUP_MASK (0x400000U)
  41851. #define USBPHY_CTRL_TOG_ENIDCHG_WKUP_SHIFT (22U)
  41852. #define USBPHY_CTRL_TOG_ENIDCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIDCHG_WKUP_SHIFT)) & USBPHY_CTRL_TOG_ENIDCHG_WKUP_MASK)
  41853. #define USBPHY_CTRL_TOG_ENVBUSCHG_WKUP_MASK (0x800000U)
  41854. #define USBPHY_CTRL_TOG_ENVBUSCHG_WKUP_SHIFT (23U)
  41855. #define USBPHY_CTRL_TOG_ENVBUSCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENVBUSCHG_WKUP_SHIFT)) & USBPHY_CTRL_TOG_ENVBUSCHG_WKUP_MASK)
  41856. #define USBPHY_CTRL_TOG_FSDLL_RST_EN_MASK (0x1000000U)
  41857. #define USBPHY_CTRL_TOG_FSDLL_RST_EN_SHIFT (24U)
  41858. #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)
  41859. #define USBPHY_CTRL_TOG_RSVD1_MASK (0x6000000U)
  41860. #define USBPHY_CTRL_TOG_RSVD1_SHIFT (25U)
  41861. #define USBPHY_CTRL_TOG_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_RSVD1_SHIFT)) & USBPHY_CTRL_TOG_RSVD1_MASK)
  41862. #define USBPHY_CTRL_TOG_OTG_ID_VALUE_MASK (0x8000000U)
  41863. #define USBPHY_CTRL_TOG_OTG_ID_VALUE_SHIFT (27U)
  41864. #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)
  41865. #define USBPHY_CTRL_TOG_HOST_FORCE_LS_SE0_MASK (0x10000000U)
  41866. #define USBPHY_CTRL_TOG_HOST_FORCE_LS_SE0_SHIFT (28U)
  41867. #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)
  41868. #define USBPHY_CTRL_TOG_UTMI_SUSPENDM_MASK (0x20000000U)
  41869. #define USBPHY_CTRL_TOG_UTMI_SUSPENDM_SHIFT (29U)
  41870. #define USBPHY_CTRL_TOG_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_TOG_UTMI_SUSPENDM_MASK)
  41871. #define USBPHY_CTRL_TOG_CLKGATE_MASK (0x40000000U)
  41872. #define USBPHY_CTRL_TOG_CLKGATE_SHIFT (30U)
  41873. #define USBPHY_CTRL_TOG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_CLKGATE_SHIFT)) & USBPHY_CTRL_TOG_CLKGATE_MASK)
  41874. #define USBPHY_CTRL_TOG_SFTRST_MASK (0x80000000U)
  41875. #define USBPHY_CTRL_TOG_SFTRST_SHIFT (31U)
  41876. #define USBPHY_CTRL_TOG_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_SFTRST_SHIFT)) & USBPHY_CTRL_TOG_SFTRST_MASK)
  41877. /*! @} */
  41878. /*! @name STATUS - USB PHY Status Register */
  41879. /*! @{ */
  41880. #define USBPHY_STATUS_RSVD0_MASK (0x7U)
  41881. #define USBPHY_STATUS_RSVD0_SHIFT (0U)
  41882. #define USBPHY_STATUS_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_RSVD0_SHIFT)) & USBPHY_STATUS_RSVD0_MASK)
  41883. #define USBPHY_STATUS_HOSTDISCONDETECT_STATUS_MASK (0x8U)
  41884. #define USBPHY_STATUS_HOSTDISCONDETECT_STATUS_SHIFT (3U)
  41885. #define USBPHY_STATUS_HOSTDISCONDETECT_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_HOSTDISCONDETECT_STATUS_SHIFT)) & USBPHY_STATUS_HOSTDISCONDETECT_STATUS_MASK)
  41886. #define USBPHY_STATUS_RSVD1_MASK (0x30U)
  41887. #define USBPHY_STATUS_RSVD1_SHIFT (4U)
  41888. #define USBPHY_STATUS_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_RSVD1_SHIFT)) & USBPHY_STATUS_RSVD1_MASK)
  41889. #define USBPHY_STATUS_DEVPLUGIN_STATUS_MASK (0x40U)
  41890. #define USBPHY_STATUS_DEVPLUGIN_STATUS_SHIFT (6U)
  41891. #define USBPHY_STATUS_DEVPLUGIN_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_DEVPLUGIN_STATUS_SHIFT)) & USBPHY_STATUS_DEVPLUGIN_STATUS_MASK)
  41892. #define USBPHY_STATUS_RSVD2_MASK (0x80U)
  41893. #define USBPHY_STATUS_RSVD2_SHIFT (7U)
  41894. #define USBPHY_STATUS_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_RSVD2_SHIFT)) & USBPHY_STATUS_RSVD2_MASK)
  41895. #define USBPHY_STATUS_OTGID_STATUS_MASK (0x100U)
  41896. #define USBPHY_STATUS_OTGID_STATUS_SHIFT (8U)
  41897. #define USBPHY_STATUS_OTGID_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_OTGID_STATUS_SHIFT)) & USBPHY_STATUS_OTGID_STATUS_MASK)
  41898. #define USBPHY_STATUS_RSVD3_MASK (0x200U)
  41899. #define USBPHY_STATUS_RSVD3_SHIFT (9U)
  41900. #define USBPHY_STATUS_RSVD3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_RSVD3_SHIFT)) & USBPHY_STATUS_RSVD3_MASK)
  41901. #define USBPHY_STATUS_RESUME_STATUS_MASK (0x400U)
  41902. #define USBPHY_STATUS_RESUME_STATUS_SHIFT (10U)
  41903. #define USBPHY_STATUS_RESUME_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_RESUME_STATUS_SHIFT)) & USBPHY_STATUS_RESUME_STATUS_MASK)
  41904. #define USBPHY_STATUS_RSVD4_MASK (0xFFFFF800U)
  41905. #define USBPHY_STATUS_RSVD4_SHIFT (11U)
  41906. #define USBPHY_STATUS_RSVD4(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_RSVD4_SHIFT)) & USBPHY_STATUS_RSVD4_MASK)
  41907. /*! @} */
  41908. /*! @name DEBUG - USB PHY Debug Register */
  41909. /*! @{ */
  41910. #define USBPHY_DEBUG_OTGIDPIOLOCK_MASK (0x1U)
  41911. #define USBPHY_DEBUG_OTGIDPIOLOCK_SHIFT (0U)
  41912. #define USBPHY_DEBUG_OTGIDPIOLOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_OTGIDPIOLOCK_SHIFT)) & USBPHY_DEBUG_OTGIDPIOLOCK_MASK)
  41913. #define USBPHY_DEBUG_DEBUG_INTERFACE_HOLD_MASK (0x2U)
  41914. #define USBPHY_DEBUG_DEBUG_INTERFACE_HOLD_SHIFT (1U)
  41915. #define USBPHY_DEBUG_DEBUG_INTERFACE_HOLD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_DEBUG_INTERFACE_HOLD_SHIFT)) & USBPHY_DEBUG_DEBUG_INTERFACE_HOLD_MASK)
  41916. #define USBPHY_DEBUG_HSTPULLDOWN_MASK (0xCU)
  41917. #define USBPHY_DEBUG_HSTPULLDOWN_SHIFT (2U)
  41918. #define USBPHY_DEBUG_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_HSTPULLDOWN_MASK)
  41919. #define USBPHY_DEBUG_ENHSTPULLDOWN_MASK (0x30U)
  41920. #define USBPHY_DEBUG_ENHSTPULLDOWN_SHIFT (4U)
  41921. #define USBPHY_DEBUG_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_ENHSTPULLDOWN_MASK)
  41922. #define USBPHY_DEBUG_RSVD0_MASK (0xC0U)
  41923. #define USBPHY_DEBUG_RSVD0_SHIFT (6U)
  41924. #define USBPHY_DEBUG_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_RSVD0_SHIFT)) & USBPHY_DEBUG_RSVD0_MASK)
  41925. #define USBPHY_DEBUG_TX2RXCOUNT_MASK (0xF00U)
  41926. #define USBPHY_DEBUG_TX2RXCOUNT_SHIFT (8U)
  41927. #define USBPHY_DEBUG_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_TX2RXCOUNT_MASK)
  41928. #define USBPHY_DEBUG_ENTX2RXCOUNT_MASK (0x1000U)
  41929. #define USBPHY_DEBUG_ENTX2RXCOUNT_SHIFT (12U)
  41930. #define USBPHY_DEBUG_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_ENTX2RXCOUNT_MASK)
  41931. #define USBPHY_DEBUG_RSVD1_MASK (0xE000U)
  41932. #define USBPHY_DEBUG_RSVD1_SHIFT (13U)
  41933. #define USBPHY_DEBUG_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_RSVD1_SHIFT)) & USBPHY_DEBUG_RSVD1_MASK)
  41934. #define USBPHY_DEBUG_SQUELCHRESETCOUNT_MASK (0x1F0000U)
  41935. #define USBPHY_DEBUG_SQUELCHRESETCOUNT_SHIFT (16U)
  41936. #define USBPHY_DEBUG_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG_SQUELCHRESETCOUNT_MASK)
  41937. #define USBPHY_DEBUG_RSVD2_MASK (0xE00000U)
  41938. #define USBPHY_DEBUG_RSVD2_SHIFT (21U)
  41939. #define USBPHY_DEBUG_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_RSVD2_SHIFT)) & USBPHY_DEBUG_RSVD2_MASK)
  41940. #define USBPHY_DEBUG_ENSQUELCHRESET_MASK (0x1000000U)
  41941. #define USBPHY_DEBUG_ENSQUELCHRESET_SHIFT (24U)
  41942. #define USBPHY_DEBUG_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG_ENSQUELCHRESET_MASK)
  41943. #define USBPHY_DEBUG_SQUELCHRESETLENGTH_MASK (0x1E000000U)
  41944. #define USBPHY_DEBUG_SQUELCHRESETLENGTH_SHIFT (25U)
  41945. #define USBPHY_DEBUG_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG_SQUELCHRESETLENGTH_MASK)
  41946. #define USBPHY_DEBUG_HOST_RESUME_DEBUG_MASK (0x20000000U)
  41947. #define USBPHY_DEBUG_HOST_RESUME_DEBUG_SHIFT (29U)
  41948. #define USBPHY_DEBUG_HOST_RESUME_DEBUG(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_HOST_RESUME_DEBUG_SHIFT)) & USBPHY_DEBUG_HOST_RESUME_DEBUG_MASK)
  41949. #define USBPHY_DEBUG_CLKGATE_MASK (0x40000000U)
  41950. #define USBPHY_DEBUG_CLKGATE_SHIFT (30U)
  41951. #define USBPHY_DEBUG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLKGATE_SHIFT)) & USBPHY_DEBUG_CLKGATE_MASK)
  41952. #define USBPHY_DEBUG_RSVD3_MASK (0x80000000U)
  41953. #define USBPHY_DEBUG_RSVD3_SHIFT (31U)
  41954. #define USBPHY_DEBUG_RSVD3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_RSVD3_SHIFT)) & USBPHY_DEBUG_RSVD3_MASK)
  41955. /*! @} */
  41956. /*! @name DEBUG_SET - USB PHY Debug Register */
  41957. /*! @{ */
  41958. #define USBPHY_DEBUG_SET_OTGIDPIOLOCK_MASK (0x1U)
  41959. #define USBPHY_DEBUG_SET_OTGIDPIOLOCK_SHIFT (0U)
  41960. #define USBPHY_DEBUG_SET_OTGIDPIOLOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_OTGIDPIOLOCK_SHIFT)) & USBPHY_DEBUG_SET_OTGIDPIOLOCK_MASK)
  41961. #define USBPHY_DEBUG_SET_DEBUG_INTERFACE_HOLD_MASK (0x2U)
  41962. #define USBPHY_DEBUG_SET_DEBUG_INTERFACE_HOLD_SHIFT (1U)
  41963. #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)
  41964. #define USBPHY_DEBUG_SET_HSTPULLDOWN_MASK (0xCU)
  41965. #define USBPHY_DEBUG_SET_HSTPULLDOWN_SHIFT (2U)
  41966. #define USBPHY_DEBUG_SET_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_SET_HSTPULLDOWN_MASK)
  41967. #define USBPHY_DEBUG_SET_ENHSTPULLDOWN_MASK (0x30U)
  41968. #define USBPHY_DEBUG_SET_ENHSTPULLDOWN_SHIFT (4U)
  41969. #define USBPHY_DEBUG_SET_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_SET_ENHSTPULLDOWN_MASK)
  41970. #define USBPHY_DEBUG_SET_RSVD0_MASK (0xC0U)
  41971. #define USBPHY_DEBUG_SET_RSVD0_SHIFT (6U)
  41972. #define USBPHY_DEBUG_SET_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_RSVD0_SHIFT)) & USBPHY_DEBUG_SET_RSVD0_MASK)
  41973. #define USBPHY_DEBUG_SET_TX2RXCOUNT_MASK (0xF00U)
  41974. #define USBPHY_DEBUG_SET_TX2RXCOUNT_SHIFT (8U)
  41975. #define USBPHY_DEBUG_SET_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_SET_TX2RXCOUNT_MASK)
  41976. #define USBPHY_DEBUG_SET_ENTX2RXCOUNT_MASK (0x1000U)
  41977. #define USBPHY_DEBUG_SET_ENTX2RXCOUNT_SHIFT (12U)
  41978. #define USBPHY_DEBUG_SET_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_SET_ENTX2RXCOUNT_MASK)
  41979. #define USBPHY_DEBUG_SET_RSVD1_MASK (0xE000U)
  41980. #define USBPHY_DEBUG_SET_RSVD1_SHIFT (13U)
  41981. #define USBPHY_DEBUG_SET_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_RSVD1_SHIFT)) & USBPHY_DEBUG_SET_RSVD1_MASK)
  41982. #define USBPHY_DEBUG_SET_SQUELCHRESETCOUNT_MASK (0x1F0000U)
  41983. #define USBPHY_DEBUG_SET_SQUELCHRESETCOUNT_SHIFT (16U)
  41984. #define USBPHY_DEBUG_SET_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG_SET_SQUELCHRESETCOUNT_MASK)
  41985. #define USBPHY_DEBUG_SET_RSVD2_MASK (0xE00000U)
  41986. #define USBPHY_DEBUG_SET_RSVD2_SHIFT (21U)
  41987. #define USBPHY_DEBUG_SET_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_RSVD2_SHIFT)) & USBPHY_DEBUG_SET_RSVD2_MASK)
  41988. #define USBPHY_DEBUG_SET_ENSQUELCHRESET_MASK (0x1000000U)
  41989. #define USBPHY_DEBUG_SET_ENSQUELCHRESET_SHIFT (24U)
  41990. #define USBPHY_DEBUG_SET_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG_SET_ENSQUELCHRESET_MASK)
  41991. #define USBPHY_DEBUG_SET_SQUELCHRESETLENGTH_MASK (0x1E000000U)
  41992. #define USBPHY_DEBUG_SET_SQUELCHRESETLENGTH_SHIFT (25U)
  41993. #define USBPHY_DEBUG_SET_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG_SET_SQUELCHRESETLENGTH_MASK)
  41994. #define USBPHY_DEBUG_SET_HOST_RESUME_DEBUG_MASK (0x20000000U)
  41995. #define USBPHY_DEBUG_SET_HOST_RESUME_DEBUG_SHIFT (29U)
  41996. #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)
  41997. #define USBPHY_DEBUG_SET_CLKGATE_MASK (0x40000000U)
  41998. #define USBPHY_DEBUG_SET_CLKGATE_SHIFT (30U)
  41999. #define USBPHY_DEBUG_SET_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_CLKGATE_SHIFT)) & USBPHY_DEBUG_SET_CLKGATE_MASK)
  42000. #define USBPHY_DEBUG_SET_RSVD3_MASK (0x80000000U)
  42001. #define USBPHY_DEBUG_SET_RSVD3_SHIFT (31U)
  42002. #define USBPHY_DEBUG_SET_RSVD3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_RSVD3_SHIFT)) & USBPHY_DEBUG_SET_RSVD3_MASK)
  42003. /*! @} */
  42004. /*! @name DEBUG_CLR - USB PHY Debug Register */
  42005. /*! @{ */
  42006. #define USBPHY_DEBUG_CLR_OTGIDPIOLOCK_MASK (0x1U)
  42007. #define USBPHY_DEBUG_CLR_OTGIDPIOLOCK_SHIFT (0U)
  42008. #define USBPHY_DEBUG_CLR_OTGIDPIOLOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_OTGIDPIOLOCK_SHIFT)) & USBPHY_DEBUG_CLR_OTGIDPIOLOCK_MASK)
  42009. #define USBPHY_DEBUG_CLR_DEBUG_INTERFACE_HOLD_MASK (0x2U)
  42010. #define USBPHY_DEBUG_CLR_DEBUG_INTERFACE_HOLD_SHIFT (1U)
  42011. #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)
  42012. #define USBPHY_DEBUG_CLR_HSTPULLDOWN_MASK (0xCU)
  42013. #define USBPHY_DEBUG_CLR_HSTPULLDOWN_SHIFT (2U)
  42014. #define USBPHY_DEBUG_CLR_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_CLR_HSTPULLDOWN_MASK)
  42015. #define USBPHY_DEBUG_CLR_ENHSTPULLDOWN_MASK (0x30U)
  42016. #define USBPHY_DEBUG_CLR_ENHSTPULLDOWN_SHIFT (4U)
  42017. #define USBPHY_DEBUG_CLR_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_CLR_ENHSTPULLDOWN_MASK)
  42018. #define USBPHY_DEBUG_CLR_RSVD0_MASK (0xC0U)
  42019. #define USBPHY_DEBUG_CLR_RSVD0_SHIFT (6U)
  42020. #define USBPHY_DEBUG_CLR_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_RSVD0_SHIFT)) & USBPHY_DEBUG_CLR_RSVD0_MASK)
  42021. #define USBPHY_DEBUG_CLR_TX2RXCOUNT_MASK (0xF00U)
  42022. #define USBPHY_DEBUG_CLR_TX2RXCOUNT_SHIFT (8U)
  42023. #define USBPHY_DEBUG_CLR_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_CLR_TX2RXCOUNT_MASK)
  42024. #define USBPHY_DEBUG_CLR_ENTX2RXCOUNT_MASK (0x1000U)
  42025. #define USBPHY_DEBUG_CLR_ENTX2RXCOUNT_SHIFT (12U)
  42026. #define USBPHY_DEBUG_CLR_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_CLR_ENTX2RXCOUNT_MASK)
  42027. #define USBPHY_DEBUG_CLR_RSVD1_MASK (0xE000U)
  42028. #define USBPHY_DEBUG_CLR_RSVD1_SHIFT (13U)
  42029. #define USBPHY_DEBUG_CLR_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_RSVD1_SHIFT)) & USBPHY_DEBUG_CLR_RSVD1_MASK)
  42030. #define USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT_MASK (0x1F0000U)
  42031. #define USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT_SHIFT (16U)
  42032. #define USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT_MASK)
  42033. #define USBPHY_DEBUG_CLR_RSVD2_MASK (0xE00000U)
  42034. #define USBPHY_DEBUG_CLR_RSVD2_SHIFT (21U)
  42035. #define USBPHY_DEBUG_CLR_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_RSVD2_SHIFT)) & USBPHY_DEBUG_CLR_RSVD2_MASK)
  42036. #define USBPHY_DEBUG_CLR_ENSQUELCHRESET_MASK (0x1000000U)
  42037. #define USBPHY_DEBUG_CLR_ENSQUELCHRESET_SHIFT (24U)
  42038. #define USBPHY_DEBUG_CLR_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG_CLR_ENSQUELCHRESET_MASK)
  42039. #define USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH_MASK (0x1E000000U)
  42040. #define USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH_SHIFT (25U)
  42041. #define USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH_MASK)
  42042. #define USBPHY_DEBUG_CLR_HOST_RESUME_DEBUG_MASK (0x20000000U)
  42043. #define USBPHY_DEBUG_CLR_HOST_RESUME_DEBUG_SHIFT (29U)
  42044. #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)
  42045. #define USBPHY_DEBUG_CLR_CLKGATE_MASK (0x40000000U)
  42046. #define USBPHY_DEBUG_CLR_CLKGATE_SHIFT (30U)
  42047. #define USBPHY_DEBUG_CLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_CLKGATE_SHIFT)) & USBPHY_DEBUG_CLR_CLKGATE_MASK)
  42048. #define USBPHY_DEBUG_CLR_RSVD3_MASK (0x80000000U)
  42049. #define USBPHY_DEBUG_CLR_RSVD3_SHIFT (31U)
  42050. #define USBPHY_DEBUG_CLR_RSVD3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_RSVD3_SHIFT)) & USBPHY_DEBUG_CLR_RSVD3_MASK)
  42051. /*! @} */
  42052. /*! @name DEBUG_TOG - USB PHY Debug Register */
  42053. /*! @{ */
  42054. #define USBPHY_DEBUG_TOG_OTGIDPIOLOCK_MASK (0x1U)
  42055. #define USBPHY_DEBUG_TOG_OTGIDPIOLOCK_SHIFT (0U)
  42056. #define USBPHY_DEBUG_TOG_OTGIDPIOLOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_OTGIDPIOLOCK_SHIFT)) & USBPHY_DEBUG_TOG_OTGIDPIOLOCK_MASK)
  42057. #define USBPHY_DEBUG_TOG_DEBUG_INTERFACE_HOLD_MASK (0x2U)
  42058. #define USBPHY_DEBUG_TOG_DEBUG_INTERFACE_HOLD_SHIFT (1U)
  42059. #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)
  42060. #define USBPHY_DEBUG_TOG_HSTPULLDOWN_MASK (0xCU)
  42061. #define USBPHY_DEBUG_TOG_HSTPULLDOWN_SHIFT (2U)
  42062. #define USBPHY_DEBUG_TOG_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_TOG_HSTPULLDOWN_MASK)
  42063. #define USBPHY_DEBUG_TOG_ENHSTPULLDOWN_MASK (0x30U)
  42064. #define USBPHY_DEBUG_TOG_ENHSTPULLDOWN_SHIFT (4U)
  42065. #define USBPHY_DEBUG_TOG_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_TOG_ENHSTPULLDOWN_MASK)
  42066. #define USBPHY_DEBUG_TOG_RSVD0_MASK (0xC0U)
  42067. #define USBPHY_DEBUG_TOG_RSVD0_SHIFT (6U)
  42068. #define USBPHY_DEBUG_TOG_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_RSVD0_SHIFT)) & USBPHY_DEBUG_TOG_RSVD0_MASK)
  42069. #define USBPHY_DEBUG_TOG_TX2RXCOUNT_MASK (0xF00U)
  42070. #define USBPHY_DEBUG_TOG_TX2RXCOUNT_SHIFT (8U)
  42071. #define USBPHY_DEBUG_TOG_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_TOG_TX2RXCOUNT_MASK)
  42072. #define USBPHY_DEBUG_TOG_ENTX2RXCOUNT_MASK (0x1000U)
  42073. #define USBPHY_DEBUG_TOG_ENTX2RXCOUNT_SHIFT (12U)
  42074. #define USBPHY_DEBUG_TOG_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_TOG_ENTX2RXCOUNT_MASK)
  42075. #define USBPHY_DEBUG_TOG_RSVD1_MASK (0xE000U)
  42076. #define USBPHY_DEBUG_TOG_RSVD1_SHIFT (13U)
  42077. #define USBPHY_DEBUG_TOG_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_RSVD1_SHIFT)) & USBPHY_DEBUG_TOG_RSVD1_MASK)
  42078. #define USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT_MASK (0x1F0000U)
  42079. #define USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT_SHIFT (16U)
  42080. #define USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT_MASK)
  42081. #define USBPHY_DEBUG_TOG_RSVD2_MASK (0xE00000U)
  42082. #define USBPHY_DEBUG_TOG_RSVD2_SHIFT (21U)
  42083. #define USBPHY_DEBUG_TOG_RSVD2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_RSVD2_SHIFT)) & USBPHY_DEBUG_TOG_RSVD2_MASK)
  42084. #define USBPHY_DEBUG_TOG_ENSQUELCHRESET_MASK (0x1000000U)
  42085. #define USBPHY_DEBUG_TOG_ENSQUELCHRESET_SHIFT (24U)
  42086. #define USBPHY_DEBUG_TOG_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG_TOG_ENSQUELCHRESET_MASK)
  42087. #define USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH_MASK (0x1E000000U)
  42088. #define USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH_SHIFT (25U)
  42089. #define USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH_MASK)
  42090. #define USBPHY_DEBUG_TOG_HOST_RESUME_DEBUG_MASK (0x20000000U)
  42091. #define USBPHY_DEBUG_TOG_HOST_RESUME_DEBUG_SHIFT (29U)
  42092. #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)
  42093. #define USBPHY_DEBUG_TOG_CLKGATE_MASK (0x40000000U)
  42094. #define USBPHY_DEBUG_TOG_CLKGATE_SHIFT (30U)
  42095. #define USBPHY_DEBUG_TOG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_CLKGATE_SHIFT)) & USBPHY_DEBUG_TOG_CLKGATE_MASK)
  42096. #define USBPHY_DEBUG_TOG_RSVD3_MASK (0x80000000U)
  42097. #define USBPHY_DEBUG_TOG_RSVD3_SHIFT (31U)
  42098. #define USBPHY_DEBUG_TOG_RSVD3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_RSVD3_SHIFT)) & USBPHY_DEBUG_TOG_RSVD3_MASK)
  42099. /*! @} */
  42100. /*! @name DEBUG0_STATUS - UTMI Debug Status Register 0 */
  42101. /*! @{ */
  42102. #define USBPHY_DEBUG0_STATUS_LOOP_BACK_FAIL_COUNT_MASK (0xFFFFU)
  42103. #define USBPHY_DEBUG0_STATUS_LOOP_BACK_FAIL_COUNT_SHIFT (0U)
  42104. #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)
  42105. #define USBPHY_DEBUG0_STATUS_UTMI_RXERROR_FAIL_COUNT_MASK (0x3FF0000U)
  42106. #define USBPHY_DEBUG0_STATUS_UTMI_RXERROR_FAIL_COUNT_SHIFT (16U)
  42107. #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)
  42108. #define USBPHY_DEBUG0_STATUS_SQUELCH_COUNT_MASK (0xFC000000U)
  42109. #define USBPHY_DEBUG0_STATUS_SQUELCH_COUNT_SHIFT (26U)
  42110. #define USBPHY_DEBUG0_STATUS_SQUELCH_COUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_STATUS_SQUELCH_COUNT_SHIFT)) & USBPHY_DEBUG0_STATUS_SQUELCH_COUNT_MASK)
  42111. /*! @} */
  42112. /*! @name DEBUG1 - UTMI Debug Status Register 1 */
  42113. /*! @{ */
  42114. #define USBPHY_DEBUG1_RSVD0_MASK (0x1FFFU)
  42115. #define USBPHY_DEBUG1_RSVD0_SHIFT (0U)
  42116. #define USBPHY_DEBUG1_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_RSVD0_SHIFT)) & USBPHY_DEBUG1_RSVD0_MASK)
  42117. #define USBPHY_DEBUG1_ENTAILADJVD_MASK (0x6000U)
  42118. #define USBPHY_DEBUG1_ENTAILADJVD_SHIFT (13U)
  42119. #define USBPHY_DEBUG1_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_ENTAILADJVD_MASK)
  42120. #define USBPHY_DEBUG1_RSVD1_MASK (0xFFFF8000U)
  42121. #define USBPHY_DEBUG1_RSVD1_SHIFT (15U)
  42122. #define USBPHY_DEBUG1_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_RSVD1_SHIFT)) & USBPHY_DEBUG1_RSVD1_MASK)
  42123. /*! @} */
  42124. /*! @name DEBUG1_SET - UTMI Debug Status Register 1 */
  42125. /*! @{ */
  42126. #define USBPHY_DEBUG1_SET_RSVD0_MASK (0x1FFFU)
  42127. #define USBPHY_DEBUG1_SET_RSVD0_SHIFT (0U)
  42128. #define USBPHY_DEBUG1_SET_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_SET_RSVD0_SHIFT)) & USBPHY_DEBUG1_SET_RSVD0_MASK)
  42129. #define USBPHY_DEBUG1_SET_ENTAILADJVD_MASK (0x6000U)
  42130. #define USBPHY_DEBUG1_SET_ENTAILADJVD_SHIFT (13U)
  42131. #define USBPHY_DEBUG1_SET_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_SET_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_SET_ENTAILADJVD_MASK)
  42132. #define USBPHY_DEBUG1_SET_RSVD1_MASK (0xFFFF8000U)
  42133. #define USBPHY_DEBUG1_SET_RSVD1_SHIFT (15U)
  42134. #define USBPHY_DEBUG1_SET_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_SET_RSVD1_SHIFT)) & USBPHY_DEBUG1_SET_RSVD1_MASK)
  42135. /*! @} */
  42136. /*! @name DEBUG1_CLR - UTMI Debug Status Register 1 */
  42137. /*! @{ */
  42138. #define USBPHY_DEBUG1_CLR_RSVD0_MASK (0x1FFFU)
  42139. #define USBPHY_DEBUG1_CLR_RSVD0_SHIFT (0U)
  42140. #define USBPHY_DEBUG1_CLR_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_CLR_RSVD0_SHIFT)) & USBPHY_DEBUG1_CLR_RSVD0_MASK)
  42141. #define USBPHY_DEBUG1_CLR_ENTAILADJVD_MASK (0x6000U)
  42142. #define USBPHY_DEBUG1_CLR_ENTAILADJVD_SHIFT (13U)
  42143. #define USBPHY_DEBUG1_CLR_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_CLR_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_CLR_ENTAILADJVD_MASK)
  42144. #define USBPHY_DEBUG1_CLR_RSVD1_MASK (0xFFFF8000U)
  42145. #define USBPHY_DEBUG1_CLR_RSVD1_SHIFT (15U)
  42146. #define USBPHY_DEBUG1_CLR_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_CLR_RSVD1_SHIFT)) & USBPHY_DEBUG1_CLR_RSVD1_MASK)
  42147. /*! @} */
  42148. /*! @name DEBUG1_TOG - UTMI Debug Status Register 1 */
  42149. /*! @{ */
  42150. #define USBPHY_DEBUG1_TOG_RSVD0_MASK (0x1FFFU)
  42151. #define USBPHY_DEBUG1_TOG_RSVD0_SHIFT (0U)
  42152. #define USBPHY_DEBUG1_TOG_RSVD0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_TOG_RSVD0_SHIFT)) & USBPHY_DEBUG1_TOG_RSVD0_MASK)
  42153. #define USBPHY_DEBUG1_TOG_ENTAILADJVD_MASK (0x6000U)
  42154. #define USBPHY_DEBUG1_TOG_ENTAILADJVD_SHIFT (13U)
  42155. #define USBPHY_DEBUG1_TOG_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_TOG_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_TOG_ENTAILADJVD_MASK)
  42156. #define USBPHY_DEBUG1_TOG_RSVD1_MASK (0xFFFF8000U)
  42157. #define USBPHY_DEBUG1_TOG_RSVD1_SHIFT (15U)
  42158. #define USBPHY_DEBUG1_TOG_RSVD1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_TOG_RSVD1_SHIFT)) & USBPHY_DEBUG1_TOG_RSVD1_MASK)
  42159. /*! @} */
  42160. /*! @name VERSION - UTMI RTL Version */
  42161. /*! @{ */
  42162. #define USBPHY_VERSION_STEP_MASK (0xFFFFU)
  42163. #define USBPHY_VERSION_STEP_SHIFT (0U)
  42164. #define USBPHY_VERSION_STEP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_VERSION_STEP_SHIFT)) & USBPHY_VERSION_STEP_MASK)
  42165. #define USBPHY_VERSION_MINOR_MASK (0xFF0000U)
  42166. #define USBPHY_VERSION_MINOR_SHIFT (16U)
  42167. #define USBPHY_VERSION_MINOR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_VERSION_MINOR_SHIFT)) & USBPHY_VERSION_MINOR_MASK)
  42168. #define USBPHY_VERSION_MAJOR_MASK (0xFF000000U)
  42169. #define USBPHY_VERSION_MAJOR_SHIFT (24U)
  42170. #define USBPHY_VERSION_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_VERSION_MAJOR_SHIFT)) & USBPHY_VERSION_MAJOR_MASK)
  42171. /*! @} */
  42172. /*!
  42173. * @}
  42174. */ /* end of group USBPHY_Register_Masks */
  42175. /* USBPHY - Peripheral instance base addresses */
  42176. /** Peripheral USBPHY1 base address */
  42177. #define USBPHY1_BASE (0x400D9000u)
  42178. /** Peripheral USBPHY1 base pointer */
  42179. #define USBPHY1 ((USBPHY_Type *)USBPHY1_BASE)
  42180. /** Peripheral USBPHY2 base address */
  42181. #define USBPHY2_BASE (0x400DA000u)
  42182. /** Peripheral USBPHY2 base pointer */
  42183. #define USBPHY2 ((USBPHY_Type *)USBPHY2_BASE)
  42184. /** Array initializer of USBPHY peripheral base addresses */
  42185. #define USBPHY_BASE_ADDRS { 0u, USBPHY1_BASE, USBPHY2_BASE }
  42186. /** Array initializer of USBPHY peripheral base pointers */
  42187. #define USBPHY_BASE_PTRS { (USBPHY_Type *)0u, USBPHY1, USBPHY2 }
  42188. /** Interrupt vectors for the USBPHY peripheral type */
  42189. #define USBPHY_IRQS { NotAvail_IRQn, USB_PHY1_IRQn, USB_PHY2_IRQn }
  42190. /* Backward compatibility */
  42191. #define USBPHY_CTRL_ENDEVPLUGINDET_MASK USBPHY_CTRL_ENDEVPLUGINDETECT_MASK
  42192. #define USBPHY_CTRL_ENDEVPLUGINDET_SHIFT USBPHY_CTRL_ENDEVPLUGINDETECT_SHIFT
  42193. #define USBPHY_CTRL_ENDEVPLUGINDET(x) USBPHY_CTRL_ENDEVPLUGINDETECT(x)
  42194. #define USBPHY_TX_TXCAL45DM_MASK USBPHY_TX_TXCAL45DN_MASK
  42195. #define USBPHY_TX_TXCAL45DM_SHIFT USBPHY_TX_TXCAL45DN_SHIFT
  42196. #define USBPHY_TX_TXCAL45DM(x) USBPHY_TX_TXCAL45DN(x)
  42197. /*!
  42198. * @}
  42199. */ /* end of group USBPHY_Peripheral_Access_Layer */
  42200. /* ----------------------------------------------------------------------------
  42201. -- USB_ANALOG Peripheral Access Layer
  42202. ---------------------------------------------------------------------------- */
  42203. /*!
  42204. * @addtogroup USB_ANALOG_Peripheral_Access_Layer USB_ANALOG Peripheral Access Layer
  42205. * @{
  42206. */
  42207. /** USB_ANALOG - Register Layout Typedef */
  42208. typedef struct {
  42209. uint8_t RESERVED_0[416];
  42210. struct { /* offset: 0x1A0, array step: 0x60 */
  42211. __IO uint32_t VBUS_DETECT; /**< USB VBUS Detect Register, array offset: 0x1A0, array step: 0x60 */
  42212. __IO uint32_t VBUS_DETECT_SET; /**< USB VBUS Detect Register, array offset: 0x1A4, array step: 0x60 */
  42213. __IO uint32_t VBUS_DETECT_CLR; /**< USB VBUS Detect Register, array offset: 0x1A8, array step: 0x60 */
  42214. __IO uint32_t VBUS_DETECT_TOG; /**< USB VBUS Detect Register, array offset: 0x1AC, array step: 0x60 */
  42215. __IO uint32_t CHRG_DETECT; /**< USB Charger Detect Register, array offset: 0x1B0, array step: 0x60 */
  42216. __IO uint32_t CHRG_DETECT_SET; /**< USB Charger Detect Register, array offset: 0x1B4, array step: 0x60 */
  42217. __IO uint32_t CHRG_DETECT_CLR; /**< USB Charger Detect Register, array offset: 0x1B8, array step: 0x60 */
  42218. __IO uint32_t CHRG_DETECT_TOG; /**< USB Charger Detect Register, array offset: 0x1BC, array step: 0x60 */
  42219. __I uint32_t VBUS_DETECT_STAT; /**< USB VBUS Detect Status Register, array offset: 0x1C0, array step: 0x60 */
  42220. uint8_t RESERVED_0[12];
  42221. __I uint32_t CHRG_DETECT_STAT; /**< USB Charger Detect Status Register, array offset: 0x1D0, array step: 0x60 */
  42222. uint8_t RESERVED_1[12];
  42223. __IO uint32_t LOOPBACK; /**< USB Loopback Test Register, array offset: 0x1E0, array step: 0x60 */
  42224. __IO uint32_t LOOPBACK_SET; /**< USB Loopback Test Register, array offset: 0x1E4, array step: 0x60 */
  42225. __IO uint32_t LOOPBACK_CLR; /**< USB Loopback Test Register, array offset: 0x1E8, array step: 0x60 */
  42226. __IO uint32_t LOOPBACK_TOG; /**< USB Loopback Test Register, array offset: 0x1EC, array step: 0x60 */
  42227. __IO uint32_t MISC; /**< USB Misc Register, array offset: 0x1F0, array step: 0x60 */
  42228. __IO uint32_t MISC_SET; /**< USB Misc Register, array offset: 0x1F4, array step: 0x60 */
  42229. __IO uint32_t MISC_CLR; /**< USB Misc Register, array offset: 0x1F8, array step: 0x60 */
  42230. __IO uint32_t MISC_TOG; /**< USB Misc Register, array offset: 0x1FC, array step: 0x60 */
  42231. } INSTANCE[2];
  42232. __I uint32_t DIGPROG; /**< Chip Silicon Version, offset: 0x260 */
  42233. } USB_ANALOG_Type;
  42234. /* ----------------------------------------------------------------------------
  42235. -- USB_ANALOG Register Masks
  42236. ---------------------------------------------------------------------------- */
  42237. /*!
  42238. * @addtogroup USB_ANALOG_Register_Masks USB_ANALOG Register Masks
  42239. * @{
  42240. */
  42241. /*! @name VBUS_DETECT - USB VBUS Detect Register */
  42242. /*! @{ */
  42243. #define USB_ANALOG_VBUS_DETECT_VBUSVALID_THRESH_MASK (0x7U)
  42244. #define USB_ANALOG_VBUS_DETECT_VBUSVALID_THRESH_SHIFT (0U)
  42245. /*! VBUSVALID_THRESH
  42246. * 0b000..4.0V
  42247. * 0b001..4.1V
  42248. * 0b010..4.2V
  42249. * 0b011..4.3V
  42250. * 0b100..4.4V (default)
  42251. * 0b101..4.5V
  42252. * 0b110..4.6V
  42253. * 0b111..4.7V
  42254. */
  42255. #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)
  42256. #define USB_ANALOG_VBUS_DETECT_VBUSVALID_PWRUP_CMPS_MASK (0x100000U)
  42257. #define USB_ANALOG_VBUS_DETECT_VBUSVALID_PWRUP_CMPS_SHIFT (20U)
  42258. #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)
  42259. #define USB_ANALOG_VBUS_DETECT_DISCHARGE_VBUS_MASK (0x4000000U)
  42260. #define USB_ANALOG_VBUS_DETECT_DISCHARGE_VBUS_SHIFT (26U)
  42261. #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)
  42262. #define USB_ANALOG_VBUS_DETECT_CHARGE_VBUS_MASK (0x8000000U)
  42263. #define USB_ANALOG_VBUS_DETECT_CHARGE_VBUS_SHIFT (27U)
  42264. #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)
  42265. /*! @} */
  42266. /* The count of USB_ANALOG_VBUS_DETECT */
  42267. #define USB_ANALOG_VBUS_DETECT_COUNT (2U)
  42268. /*! @name VBUS_DETECT_SET - USB VBUS Detect Register */
  42269. /*! @{ */
  42270. #define USB_ANALOG_VBUS_DETECT_SET_VBUSVALID_THRESH_MASK (0x7U)
  42271. #define USB_ANALOG_VBUS_DETECT_SET_VBUSVALID_THRESH_SHIFT (0U)
  42272. /*! VBUSVALID_THRESH
  42273. * 0b000..4.0V
  42274. * 0b001..4.1V
  42275. * 0b010..4.2V
  42276. * 0b011..4.3V
  42277. * 0b100..4.4V (default)
  42278. * 0b101..4.5V
  42279. * 0b110..4.6V
  42280. * 0b111..4.7V
  42281. */
  42282. #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)
  42283. #define USB_ANALOG_VBUS_DETECT_SET_VBUSVALID_PWRUP_CMPS_MASK (0x100000U)
  42284. #define USB_ANALOG_VBUS_DETECT_SET_VBUSVALID_PWRUP_CMPS_SHIFT (20U)
  42285. #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)
  42286. #define USB_ANALOG_VBUS_DETECT_SET_DISCHARGE_VBUS_MASK (0x4000000U)
  42287. #define USB_ANALOG_VBUS_DETECT_SET_DISCHARGE_VBUS_SHIFT (26U)
  42288. #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)
  42289. #define USB_ANALOG_VBUS_DETECT_SET_CHARGE_VBUS_MASK (0x8000000U)
  42290. #define USB_ANALOG_VBUS_DETECT_SET_CHARGE_VBUS_SHIFT (27U)
  42291. #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)
  42292. /*! @} */
  42293. /* The count of USB_ANALOG_VBUS_DETECT_SET */
  42294. #define USB_ANALOG_VBUS_DETECT_SET_COUNT (2U)
  42295. /*! @name VBUS_DETECT_CLR - USB VBUS Detect Register */
  42296. /*! @{ */
  42297. #define USB_ANALOG_VBUS_DETECT_CLR_VBUSVALID_THRESH_MASK (0x7U)
  42298. #define USB_ANALOG_VBUS_DETECT_CLR_VBUSVALID_THRESH_SHIFT (0U)
  42299. /*! VBUSVALID_THRESH
  42300. * 0b000..4.0V
  42301. * 0b001..4.1V
  42302. * 0b010..4.2V
  42303. * 0b011..4.3V
  42304. * 0b100..4.4V (default)
  42305. * 0b101..4.5V
  42306. * 0b110..4.6V
  42307. * 0b111..4.7V
  42308. */
  42309. #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)
  42310. #define USB_ANALOG_VBUS_DETECT_CLR_VBUSVALID_PWRUP_CMPS_MASK (0x100000U)
  42311. #define USB_ANALOG_VBUS_DETECT_CLR_VBUSVALID_PWRUP_CMPS_SHIFT (20U)
  42312. #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)
  42313. #define USB_ANALOG_VBUS_DETECT_CLR_DISCHARGE_VBUS_MASK (0x4000000U)
  42314. #define USB_ANALOG_VBUS_DETECT_CLR_DISCHARGE_VBUS_SHIFT (26U)
  42315. #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)
  42316. #define USB_ANALOG_VBUS_DETECT_CLR_CHARGE_VBUS_MASK (0x8000000U)
  42317. #define USB_ANALOG_VBUS_DETECT_CLR_CHARGE_VBUS_SHIFT (27U)
  42318. #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)
  42319. /*! @} */
  42320. /* The count of USB_ANALOG_VBUS_DETECT_CLR */
  42321. #define USB_ANALOG_VBUS_DETECT_CLR_COUNT (2U)
  42322. /*! @name VBUS_DETECT_TOG - USB VBUS Detect Register */
  42323. /*! @{ */
  42324. #define USB_ANALOG_VBUS_DETECT_TOG_VBUSVALID_THRESH_MASK (0x7U)
  42325. #define USB_ANALOG_VBUS_DETECT_TOG_VBUSVALID_THRESH_SHIFT (0U)
  42326. /*! VBUSVALID_THRESH
  42327. * 0b000..4.0V
  42328. * 0b001..4.1V
  42329. * 0b010..4.2V
  42330. * 0b011..4.3V
  42331. * 0b100..4.4V (default)
  42332. * 0b101..4.5V
  42333. * 0b110..4.6V
  42334. * 0b111..4.7V
  42335. */
  42336. #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)
  42337. #define USB_ANALOG_VBUS_DETECT_TOG_VBUSVALID_PWRUP_CMPS_MASK (0x100000U)
  42338. #define USB_ANALOG_VBUS_DETECT_TOG_VBUSVALID_PWRUP_CMPS_SHIFT (20U)
  42339. #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)
  42340. #define USB_ANALOG_VBUS_DETECT_TOG_DISCHARGE_VBUS_MASK (0x4000000U)
  42341. #define USB_ANALOG_VBUS_DETECT_TOG_DISCHARGE_VBUS_SHIFT (26U)
  42342. #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)
  42343. #define USB_ANALOG_VBUS_DETECT_TOG_CHARGE_VBUS_MASK (0x8000000U)
  42344. #define USB_ANALOG_VBUS_DETECT_TOG_CHARGE_VBUS_SHIFT (27U)
  42345. #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)
  42346. /*! @} */
  42347. /* The count of USB_ANALOG_VBUS_DETECT_TOG */
  42348. #define USB_ANALOG_VBUS_DETECT_TOG_COUNT (2U)
  42349. /*! @name CHRG_DETECT - USB Charger Detect Register */
  42350. /*! @{ */
  42351. #define USB_ANALOG_CHRG_DETECT_CHK_CONTACT_MASK (0x40000U)
  42352. #define USB_ANALOG_CHRG_DETECT_CHK_CONTACT_SHIFT (18U)
  42353. /*! CHK_CONTACT - Check the contact of USB plug
  42354. * 0b0..Do not check the contact of USB plug.
  42355. * 0b1..Check whether the USB plug has been in contact with each other
  42356. */
  42357. #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)
  42358. #define USB_ANALOG_CHRG_DETECT_CHK_CHRG_B_MASK (0x80000U)
  42359. #define USB_ANALOG_CHRG_DETECT_CHK_CHRG_B_SHIFT (19U)
  42360. /*! CHK_CHRG_B - Check the charger connection
  42361. * 0b0..Check whether a charger (either a dedicated charger or a host charger) is connected to USB port.
  42362. * 0b1..Do not check whether a charger is connected to the USB port.
  42363. */
  42364. #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)
  42365. #define USB_ANALOG_CHRG_DETECT_EN_B_MASK (0x100000U)
  42366. #define USB_ANALOG_CHRG_DETECT_EN_B_SHIFT (20U)
  42367. /*! EN_B
  42368. * 0b0..Enable the charger detector.
  42369. * 0b1..Disable the charger detector.
  42370. */
  42371. #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)
  42372. /*! @} */
  42373. /* The count of USB_ANALOG_CHRG_DETECT */
  42374. #define USB_ANALOG_CHRG_DETECT_COUNT (2U)
  42375. /*! @name CHRG_DETECT_SET - USB Charger Detect Register */
  42376. /*! @{ */
  42377. #define USB_ANALOG_CHRG_DETECT_SET_CHK_CONTACT_MASK (0x40000U)
  42378. #define USB_ANALOG_CHRG_DETECT_SET_CHK_CONTACT_SHIFT (18U)
  42379. /*! CHK_CONTACT - Check the contact of USB plug
  42380. * 0b0..Do not check the contact of USB plug.
  42381. * 0b1..Check whether the USB plug has been in contact with each other
  42382. */
  42383. #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)
  42384. #define USB_ANALOG_CHRG_DETECT_SET_CHK_CHRG_B_MASK (0x80000U)
  42385. #define USB_ANALOG_CHRG_DETECT_SET_CHK_CHRG_B_SHIFT (19U)
  42386. /*! CHK_CHRG_B - Check the charger connection
  42387. * 0b0..Check whether a charger (either a dedicated charger or a host charger) is connected to USB port.
  42388. * 0b1..Do not check whether a charger is connected to the USB port.
  42389. */
  42390. #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)
  42391. #define USB_ANALOG_CHRG_DETECT_SET_EN_B_MASK (0x100000U)
  42392. #define USB_ANALOG_CHRG_DETECT_SET_EN_B_SHIFT (20U)
  42393. /*! EN_B
  42394. * 0b0..Enable the charger detector.
  42395. * 0b1..Disable the charger detector.
  42396. */
  42397. #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)
  42398. /*! @} */
  42399. /* The count of USB_ANALOG_CHRG_DETECT_SET */
  42400. #define USB_ANALOG_CHRG_DETECT_SET_COUNT (2U)
  42401. /*! @name CHRG_DETECT_CLR - USB Charger Detect Register */
  42402. /*! @{ */
  42403. #define USB_ANALOG_CHRG_DETECT_CLR_CHK_CONTACT_MASK (0x40000U)
  42404. #define USB_ANALOG_CHRG_DETECT_CLR_CHK_CONTACT_SHIFT (18U)
  42405. /*! CHK_CONTACT - Check the contact of USB plug
  42406. * 0b0..Do not check the contact of USB plug.
  42407. * 0b1..Check whether the USB plug has been in contact with each other
  42408. */
  42409. #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)
  42410. #define USB_ANALOG_CHRG_DETECT_CLR_CHK_CHRG_B_MASK (0x80000U)
  42411. #define USB_ANALOG_CHRG_DETECT_CLR_CHK_CHRG_B_SHIFT (19U)
  42412. /*! CHK_CHRG_B - Check the charger connection
  42413. * 0b0..Check whether a charger (either a dedicated charger or a host charger) is connected to USB port.
  42414. * 0b1..Do not check whether a charger is connected to the USB port.
  42415. */
  42416. #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)
  42417. #define USB_ANALOG_CHRG_DETECT_CLR_EN_B_MASK (0x100000U)
  42418. #define USB_ANALOG_CHRG_DETECT_CLR_EN_B_SHIFT (20U)
  42419. /*! EN_B
  42420. * 0b0..Enable the charger detector.
  42421. * 0b1..Disable the charger detector.
  42422. */
  42423. #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)
  42424. /*! @} */
  42425. /* The count of USB_ANALOG_CHRG_DETECT_CLR */
  42426. #define USB_ANALOG_CHRG_DETECT_CLR_COUNT (2U)
  42427. /*! @name CHRG_DETECT_TOG - USB Charger Detect Register */
  42428. /*! @{ */
  42429. #define USB_ANALOG_CHRG_DETECT_TOG_CHK_CONTACT_MASK (0x40000U)
  42430. #define USB_ANALOG_CHRG_DETECT_TOG_CHK_CONTACT_SHIFT (18U)
  42431. /*! CHK_CONTACT - Check the contact of USB plug
  42432. * 0b0..Do not check the contact of USB plug.
  42433. * 0b1..Check whether the USB plug has been in contact with each other
  42434. */
  42435. #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)
  42436. #define USB_ANALOG_CHRG_DETECT_TOG_CHK_CHRG_B_MASK (0x80000U)
  42437. #define USB_ANALOG_CHRG_DETECT_TOG_CHK_CHRG_B_SHIFT (19U)
  42438. /*! CHK_CHRG_B - Check the charger connection
  42439. * 0b0..Check whether a charger (either a dedicated charger or a host charger) is connected to USB port.
  42440. * 0b1..Do not check whether a charger is connected to the USB port.
  42441. */
  42442. #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)
  42443. #define USB_ANALOG_CHRG_DETECT_TOG_EN_B_MASK (0x100000U)
  42444. #define USB_ANALOG_CHRG_DETECT_TOG_EN_B_SHIFT (20U)
  42445. /*! EN_B
  42446. * 0b0..Enable the charger detector.
  42447. * 0b1..Disable the charger detector.
  42448. */
  42449. #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)
  42450. /*! @} */
  42451. /* The count of USB_ANALOG_CHRG_DETECT_TOG */
  42452. #define USB_ANALOG_CHRG_DETECT_TOG_COUNT (2U)
  42453. /*! @name VBUS_DETECT_STAT - USB VBUS Detect Status Register */
  42454. /*! @{ */
  42455. #define USB_ANALOG_VBUS_DETECT_STAT_SESSEND_MASK (0x1U)
  42456. #define USB_ANALOG_VBUS_DETECT_STAT_SESSEND_SHIFT (0U)
  42457. #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)
  42458. #define USB_ANALOG_VBUS_DETECT_STAT_BVALID_MASK (0x2U)
  42459. #define USB_ANALOG_VBUS_DETECT_STAT_BVALID_SHIFT (1U)
  42460. #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)
  42461. #define USB_ANALOG_VBUS_DETECT_STAT_AVALID_MASK (0x4U)
  42462. #define USB_ANALOG_VBUS_DETECT_STAT_AVALID_SHIFT (2U)
  42463. #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)
  42464. #define USB_ANALOG_VBUS_DETECT_STAT_VBUS_VALID_MASK (0x8U)
  42465. #define USB_ANALOG_VBUS_DETECT_STAT_VBUS_VALID_SHIFT (3U)
  42466. #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)
  42467. /*! @} */
  42468. /* The count of USB_ANALOG_VBUS_DETECT_STAT */
  42469. #define USB_ANALOG_VBUS_DETECT_STAT_COUNT (2U)
  42470. /*! @name CHRG_DETECT_STAT - USB Charger Detect Status Register */
  42471. /*! @{ */
  42472. #define USB_ANALOG_CHRG_DETECT_STAT_PLUG_CONTACT_MASK (0x1U)
  42473. #define USB_ANALOG_CHRG_DETECT_STAT_PLUG_CONTACT_SHIFT (0U)
  42474. /*! PLUG_CONTACT
  42475. * 0b0..The USB plug has not made contact.
  42476. * 0b1..The USB plug has made good contact.
  42477. */
  42478. #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)
  42479. #define USB_ANALOG_CHRG_DETECT_STAT_CHRG_DETECTED_MASK (0x2U)
  42480. #define USB_ANALOG_CHRG_DETECT_STAT_CHRG_DETECTED_SHIFT (1U)
  42481. /*! CHRG_DETECTED
  42482. * 0b0..The USB port is not connected to a charger.
  42483. * 0b1..A charger (either a dedicated charger or a host charger) is connected to the USB port.
  42484. */
  42485. #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)
  42486. #define USB_ANALOG_CHRG_DETECT_STAT_DM_STATE_MASK (0x4U)
  42487. #define USB_ANALOG_CHRG_DETECT_STAT_DM_STATE_SHIFT (2U)
  42488. #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)
  42489. #define USB_ANALOG_CHRG_DETECT_STAT_DP_STATE_MASK (0x8U)
  42490. #define USB_ANALOG_CHRG_DETECT_STAT_DP_STATE_SHIFT (3U)
  42491. #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)
  42492. /*! @} */
  42493. /* The count of USB_ANALOG_CHRG_DETECT_STAT */
  42494. #define USB_ANALOG_CHRG_DETECT_STAT_COUNT (2U)
  42495. /*! @name LOOPBACK - USB Loopback Test Register */
  42496. /*! @{ */
  42497. #define USB_ANALOG_LOOPBACK_UTMI_TESTSTART_MASK (0x1U)
  42498. #define USB_ANALOG_LOOPBACK_UTMI_TESTSTART_SHIFT (0U)
  42499. #define USB_ANALOG_LOOPBACK_UTMI_TESTSTART(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_LOOPBACK_UTMI_TESTSTART_SHIFT)) & USB_ANALOG_LOOPBACK_UTMI_TESTSTART_MASK)
  42500. /*! @} */
  42501. /* The count of USB_ANALOG_LOOPBACK */
  42502. #define USB_ANALOG_LOOPBACK_COUNT (2U)
  42503. /*! @name LOOPBACK_SET - USB Loopback Test Register */
  42504. /*! @{ */
  42505. #define USB_ANALOG_LOOPBACK_SET_UTMI_TESTSTART_MASK (0x1U)
  42506. #define USB_ANALOG_LOOPBACK_SET_UTMI_TESTSTART_SHIFT (0U)
  42507. #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)
  42508. /*! @} */
  42509. /* The count of USB_ANALOG_LOOPBACK_SET */
  42510. #define USB_ANALOG_LOOPBACK_SET_COUNT (2U)
  42511. /*! @name LOOPBACK_CLR - USB Loopback Test Register */
  42512. /*! @{ */
  42513. #define USB_ANALOG_LOOPBACK_CLR_UTMI_TESTSTART_MASK (0x1U)
  42514. #define USB_ANALOG_LOOPBACK_CLR_UTMI_TESTSTART_SHIFT (0U)
  42515. #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)
  42516. /*! @} */
  42517. /* The count of USB_ANALOG_LOOPBACK_CLR */
  42518. #define USB_ANALOG_LOOPBACK_CLR_COUNT (2U)
  42519. /*! @name LOOPBACK_TOG - USB Loopback Test Register */
  42520. /*! @{ */
  42521. #define USB_ANALOG_LOOPBACK_TOG_UTMI_TESTSTART_MASK (0x1U)
  42522. #define USB_ANALOG_LOOPBACK_TOG_UTMI_TESTSTART_SHIFT (0U)
  42523. #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)
  42524. /*! @} */
  42525. /* The count of USB_ANALOG_LOOPBACK_TOG */
  42526. #define USB_ANALOG_LOOPBACK_TOG_COUNT (2U)
  42527. /*! @name MISC - USB Misc Register */
  42528. /*! @{ */
  42529. #define USB_ANALOG_MISC_HS_USE_EXTERNAL_R_MASK (0x1U)
  42530. #define USB_ANALOG_MISC_HS_USE_EXTERNAL_R_SHIFT (0U)
  42531. #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)
  42532. #define USB_ANALOG_MISC_EN_DEGLITCH_MASK (0x2U)
  42533. #define USB_ANALOG_MISC_EN_DEGLITCH_SHIFT (1U)
  42534. #define USB_ANALOG_MISC_EN_DEGLITCH(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_MISC_EN_DEGLITCH_SHIFT)) & USB_ANALOG_MISC_EN_DEGLITCH_MASK)
  42535. #define USB_ANALOG_MISC_EN_CLK_UTMI_MASK (0x40000000U)
  42536. #define USB_ANALOG_MISC_EN_CLK_UTMI_SHIFT (30U)
  42537. #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)
  42538. /*! @} */
  42539. /* The count of USB_ANALOG_MISC */
  42540. #define USB_ANALOG_MISC_COUNT (2U)
  42541. /*! @name MISC_SET - USB Misc Register */
  42542. /*! @{ */
  42543. #define USB_ANALOG_MISC_SET_HS_USE_EXTERNAL_R_MASK (0x1U)
  42544. #define USB_ANALOG_MISC_SET_HS_USE_EXTERNAL_R_SHIFT (0U)
  42545. #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)
  42546. #define USB_ANALOG_MISC_SET_EN_DEGLITCH_MASK (0x2U)
  42547. #define USB_ANALOG_MISC_SET_EN_DEGLITCH_SHIFT (1U)
  42548. #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)
  42549. #define USB_ANALOG_MISC_SET_EN_CLK_UTMI_MASK (0x40000000U)
  42550. #define USB_ANALOG_MISC_SET_EN_CLK_UTMI_SHIFT (30U)
  42551. #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)
  42552. /*! @} */
  42553. /* The count of USB_ANALOG_MISC_SET */
  42554. #define USB_ANALOG_MISC_SET_COUNT (2U)
  42555. /*! @name MISC_CLR - USB Misc Register */
  42556. /*! @{ */
  42557. #define USB_ANALOG_MISC_CLR_HS_USE_EXTERNAL_R_MASK (0x1U)
  42558. #define USB_ANALOG_MISC_CLR_HS_USE_EXTERNAL_R_SHIFT (0U)
  42559. #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)
  42560. #define USB_ANALOG_MISC_CLR_EN_DEGLITCH_MASK (0x2U)
  42561. #define USB_ANALOG_MISC_CLR_EN_DEGLITCH_SHIFT (1U)
  42562. #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)
  42563. #define USB_ANALOG_MISC_CLR_EN_CLK_UTMI_MASK (0x40000000U)
  42564. #define USB_ANALOG_MISC_CLR_EN_CLK_UTMI_SHIFT (30U)
  42565. #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)
  42566. /*! @} */
  42567. /* The count of USB_ANALOG_MISC_CLR */
  42568. #define USB_ANALOG_MISC_CLR_COUNT (2U)
  42569. /*! @name MISC_TOG - USB Misc Register */
  42570. /*! @{ */
  42571. #define USB_ANALOG_MISC_TOG_HS_USE_EXTERNAL_R_MASK (0x1U)
  42572. #define USB_ANALOG_MISC_TOG_HS_USE_EXTERNAL_R_SHIFT (0U)
  42573. #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)
  42574. #define USB_ANALOG_MISC_TOG_EN_DEGLITCH_MASK (0x2U)
  42575. #define USB_ANALOG_MISC_TOG_EN_DEGLITCH_SHIFT (1U)
  42576. #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)
  42577. #define USB_ANALOG_MISC_TOG_EN_CLK_UTMI_MASK (0x40000000U)
  42578. #define USB_ANALOG_MISC_TOG_EN_CLK_UTMI_SHIFT (30U)
  42579. #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)
  42580. /*! @} */
  42581. /* The count of USB_ANALOG_MISC_TOG */
  42582. #define USB_ANALOG_MISC_TOG_COUNT (2U)
  42583. /*! @name DIGPROG - Chip Silicon Version */
  42584. /*! @{ */
  42585. #define USB_ANALOG_DIGPROG_SILICON_REVISION_MASK (0xFFFFFFFFU)
  42586. #define USB_ANALOG_DIGPROG_SILICON_REVISION_SHIFT (0U)
  42587. /*! SILICON_REVISION
  42588. * 0b00000000011011000000000000000000..Silicon revision 1.0
  42589. */
  42590. #define USB_ANALOG_DIGPROG_SILICON_REVISION(x) (((uint32_t)(((uint32_t)(x)) << USB_ANALOG_DIGPROG_SILICON_REVISION_SHIFT)) & USB_ANALOG_DIGPROG_SILICON_REVISION_MASK)
  42591. /*! @} */
  42592. /*!
  42593. * @}
  42594. */ /* end of group USB_ANALOG_Register_Masks */
  42595. /* USB_ANALOG - Peripheral instance base addresses */
  42596. /** Peripheral USB_ANALOG base address */
  42597. #define USB_ANALOG_BASE (0x400D8000u)
  42598. /** Peripheral USB_ANALOG base pointer */
  42599. #define USB_ANALOG ((USB_ANALOG_Type *)USB_ANALOG_BASE)
  42600. /** Array initializer of USB_ANALOG peripheral base addresses */
  42601. #define USB_ANALOG_BASE_ADDRS { USB_ANALOG_BASE }
  42602. /** Array initializer of USB_ANALOG peripheral base pointers */
  42603. #define USB_ANALOG_BASE_PTRS { USB_ANALOG }
  42604. /*!
  42605. * @}
  42606. */ /* end of group USB_ANALOG_Peripheral_Access_Layer */
  42607. /* ----------------------------------------------------------------------------
  42608. -- USDHC Peripheral Access Layer
  42609. ---------------------------------------------------------------------------- */
  42610. /*!
  42611. * @addtogroup USDHC_Peripheral_Access_Layer USDHC Peripheral Access Layer
  42612. * @{
  42613. */
  42614. /** USDHC - Register Layout Typedef */
  42615. typedef struct {
  42616. __IO uint32_t DS_ADDR; /**< DMA System Address, offset: 0x0 */
  42617. __IO uint32_t BLK_ATT; /**< Block Attributes, offset: 0x4 */
  42618. __IO uint32_t CMD_ARG; /**< Command Argument, offset: 0x8 */
  42619. __IO uint32_t CMD_XFR_TYP; /**< Command Transfer Type, offset: 0xC */
  42620. __I uint32_t CMD_RSP0; /**< Command Response0, offset: 0x10 */
  42621. __I uint32_t CMD_RSP1; /**< Command Response1, offset: 0x14 */
  42622. __I uint32_t CMD_RSP2; /**< Command Response2, offset: 0x18 */
  42623. __I uint32_t CMD_RSP3; /**< Command Response3, offset: 0x1C */
  42624. __IO uint32_t DATA_BUFF_ACC_PORT; /**< Data Buffer Access Port, offset: 0x20 */
  42625. __I uint32_t PRES_STATE; /**< Present State, offset: 0x24 */
  42626. __IO uint32_t PROT_CTRL; /**< Protocol Control, offset: 0x28 */
  42627. __IO uint32_t SYS_CTRL; /**< System Control, offset: 0x2C */
  42628. __IO uint32_t INT_STATUS; /**< Interrupt Status, offset: 0x30 */
  42629. __IO uint32_t INT_STATUS_EN; /**< Interrupt Status Enable, offset: 0x34 */
  42630. __IO uint32_t INT_SIGNAL_EN; /**< Interrupt Signal Enable, offset: 0x38 */
  42631. __IO uint32_t AUTOCMD12_ERR_STATUS; /**< Auto CMD12 Error Status, offset: 0x3C */
  42632. __IO uint32_t HOST_CTRL_CAP; /**< Host Controller Capabilities, offset: 0x40 */
  42633. __IO uint32_t WTMK_LVL; /**< Watermark Level, offset: 0x44 */
  42634. __IO uint32_t MIX_CTRL; /**< Mixer Control, offset: 0x48 */
  42635. uint8_t RESERVED_0[4];
  42636. __O uint32_t FORCE_EVENT; /**< Force Event, offset: 0x50 */
  42637. __I uint32_t ADMA_ERR_STATUS; /**< ADMA Error Status Register, offset: 0x54 */
  42638. __IO uint32_t ADMA_SYS_ADDR; /**< ADMA System Address, offset: 0x58 */
  42639. uint8_t RESERVED_1[4];
  42640. __IO uint32_t DLL_CTRL; /**< DLL (Delay Line) Control, offset: 0x60 */
  42641. __I uint32_t DLL_STATUS; /**< DLL Status, offset: 0x64 */
  42642. __IO uint32_t CLK_TUNE_CTRL_STATUS; /**< CLK Tuning Control and Status, offset: 0x68 */
  42643. uint8_t RESERVED_2[84];
  42644. __IO uint32_t VEND_SPEC; /**< Vendor Specific Register, offset: 0xC0 */
  42645. __IO uint32_t MMC_BOOT; /**< MMC Boot Register, offset: 0xC4 */
  42646. __IO uint32_t VEND_SPEC2; /**< Vendor Specific 2 Register, offset: 0xC8 */
  42647. __IO uint32_t TUNING_CTRL; /**< Tuning Control Register, offset: 0xCC */
  42648. } USDHC_Type;
  42649. /* ----------------------------------------------------------------------------
  42650. -- USDHC Register Masks
  42651. ---------------------------------------------------------------------------- */
  42652. /*!
  42653. * @addtogroup USDHC_Register_Masks USDHC Register Masks
  42654. * @{
  42655. */
  42656. /*! @name DS_ADDR - DMA System Address */
  42657. /*! @{ */
  42658. #define USDHC_DS_ADDR_DS_ADDR_MASK (0xFFFFFFFFU)
  42659. #define USDHC_DS_ADDR_DS_ADDR_SHIFT (0U)
  42660. /*! DS_ADDR - DS_ADDR
  42661. */
  42662. #define USDHC_DS_ADDR_DS_ADDR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DS_ADDR_DS_ADDR_SHIFT)) & USDHC_DS_ADDR_DS_ADDR_MASK)
  42663. /*! @} */
  42664. /*! @name BLK_ATT - Block Attributes */
  42665. /*! @{ */
  42666. #define USDHC_BLK_ATT_BLKSIZE_MASK (0x1FFFU)
  42667. #define USDHC_BLK_ATT_BLKSIZE_SHIFT (0U)
  42668. /*! BLKSIZE - Block Size
  42669. * 0b1000000000000..4096 Bytes
  42670. * 0b0100000000000..2048 Bytes
  42671. * 0b0001000000000..512 Bytes
  42672. * 0b0000111111111..511 Bytes
  42673. * 0b0000000000100..4 Bytes
  42674. * 0b0000000000011..3 Bytes
  42675. * 0b0000000000010..2 Bytes
  42676. * 0b0000000000001..1 Byte
  42677. * 0b0000000000000..No data transfer
  42678. */
  42679. #define USDHC_BLK_ATT_BLKSIZE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_BLK_ATT_BLKSIZE_SHIFT)) & USDHC_BLK_ATT_BLKSIZE_MASK)
  42680. #define USDHC_BLK_ATT_BLKCNT_MASK (0xFFFF0000U)
  42681. #define USDHC_BLK_ATT_BLKCNT_SHIFT (16U)
  42682. /*! BLKCNT - Block Count
  42683. * 0b1111111111111111..65535 blocks
  42684. * 0b0000000000000010..2 blocks
  42685. * 0b0000000000000001..1 block
  42686. * 0b0000000000000000..Stop Count
  42687. */
  42688. #define USDHC_BLK_ATT_BLKCNT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_BLK_ATT_BLKCNT_SHIFT)) & USDHC_BLK_ATT_BLKCNT_MASK)
  42689. /*! @} */
  42690. /*! @name CMD_ARG - Command Argument */
  42691. /*! @{ */
  42692. #define USDHC_CMD_ARG_CMDARG_MASK (0xFFFFFFFFU)
  42693. #define USDHC_CMD_ARG_CMDARG_SHIFT (0U)
  42694. /*! CMDARG - Command Argument
  42695. */
  42696. #define USDHC_CMD_ARG_CMDARG(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_ARG_CMDARG_SHIFT)) & USDHC_CMD_ARG_CMDARG_MASK)
  42697. /*! @} */
  42698. /*! @name CMD_XFR_TYP - Command Transfer Type */
  42699. /*! @{ */
  42700. #define USDHC_CMD_XFR_TYP_RSPTYP_MASK (0x30000U)
  42701. #define USDHC_CMD_XFR_TYP_RSPTYP_SHIFT (16U)
  42702. /*! RSPTYP - Response Type Select
  42703. * 0b00..No Response
  42704. * 0b01..Response Length 136
  42705. * 0b10..Response Length 48
  42706. * 0b11..Response Length 48, check Busy after response
  42707. */
  42708. #define USDHC_CMD_XFR_TYP_RSPTYP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_RSPTYP_SHIFT)) & USDHC_CMD_XFR_TYP_RSPTYP_MASK)
  42709. #define USDHC_CMD_XFR_TYP_CCCEN_MASK (0x80000U)
  42710. #define USDHC_CMD_XFR_TYP_CCCEN_SHIFT (19U)
  42711. /*! CCCEN - Command CRC Check Enable
  42712. * 0b1..Enable
  42713. * 0b0..Disable
  42714. */
  42715. #define USDHC_CMD_XFR_TYP_CCCEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CCCEN_SHIFT)) & USDHC_CMD_XFR_TYP_CCCEN_MASK)
  42716. #define USDHC_CMD_XFR_TYP_CICEN_MASK (0x100000U)
  42717. #define USDHC_CMD_XFR_TYP_CICEN_SHIFT (20U)
  42718. /*! CICEN - Command Index Check Enable
  42719. * 0b1..Enable
  42720. * 0b0..Disable
  42721. */
  42722. #define USDHC_CMD_XFR_TYP_CICEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CICEN_SHIFT)) & USDHC_CMD_XFR_TYP_CICEN_MASK)
  42723. #define USDHC_CMD_XFR_TYP_DPSEL_MASK (0x200000U)
  42724. #define USDHC_CMD_XFR_TYP_DPSEL_SHIFT (21U)
  42725. /*! DPSEL - Data Present Select
  42726. * 0b1..Data Present
  42727. * 0b0..No Data Present
  42728. */
  42729. #define USDHC_CMD_XFR_TYP_DPSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_DPSEL_SHIFT)) & USDHC_CMD_XFR_TYP_DPSEL_MASK)
  42730. #define USDHC_CMD_XFR_TYP_CMDTYP_MASK (0xC00000U)
  42731. #define USDHC_CMD_XFR_TYP_CMDTYP_SHIFT (22U)
  42732. /*! CMDTYP - Command Type
  42733. * 0b11..Abort CMD12, CMD52 for writing I/O Abort in CCCR
  42734. * 0b10..Resume CMD52 for writing Function Select in CCCR
  42735. * 0b01..Suspend CMD52 for writing Bus Suspend in CCCR
  42736. * 0b00..Normal Other commands
  42737. */
  42738. #define USDHC_CMD_XFR_TYP_CMDTYP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CMDTYP_SHIFT)) & USDHC_CMD_XFR_TYP_CMDTYP_MASK)
  42739. #define USDHC_CMD_XFR_TYP_CMDINX_MASK (0x3F000000U)
  42740. #define USDHC_CMD_XFR_TYP_CMDINX_SHIFT (24U)
  42741. /*! CMDINX - Command Index
  42742. */
  42743. #define USDHC_CMD_XFR_TYP_CMDINX(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CMDINX_SHIFT)) & USDHC_CMD_XFR_TYP_CMDINX_MASK)
  42744. /*! @} */
  42745. /*! @name CMD_RSP0 - Command Response0 */
  42746. /*! @{ */
  42747. #define USDHC_CMD_RSP0_CMDRSP0_MASK (0xFFFFFFFFU)
  42748. #define USDHC_CMD_RSP0_CMDRSP0_SHIFT (0U)
  42749. /*! CMDRSP0 - Command Response 0
  42750. */
  42751. #define USDHC_CMD_RSP0_CMDRSP0(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP0_CMDRSP0_SHIFT)) & USDHC_CMD_RSP0_CMDRSP0_MASK)
  42752. /*! @} */
  42753. /*! @name CMD_RSP1 - Command Response1 */
  42754. /*! @{ */
  42755. #define USDHC_CMD_RSP1_CMDRSP1_MASK (0xFFFFFFFFU)
  42756. #define USDHC_CMD_RSP1_CMDRSP1_SHIFT (0U)
  42757. /*! CMDRSP1 - Command Response 1
  42758. */
  42759. #define USDHC_CMD_RSP1_CMDRSP1(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP1_CMDRSP1_SHIFT)) & USDHC_CMD_RSP1_CMDRSP1_MASK)
  42760. /*! @} */
  42761. /*! @name CMD_RSP2 - Command Response2 */
  42762. /*! @{ */
  42763. #define USDHC_CMD_RSP2_CMDRSP2_MASK (0xFFFFFFFFU)
  42764. #define USDHC_CMD_RSP2_CMDRSP2_SHIFT (0U)
  42765. /*! CMDRSP2 - Command Response 2
  42766. */
  42767. #define USDHC_CMD_RSP2_CMDRSP2(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP2_CMDRSP2_SHIFT)) & USDHC_CMD_RSP2_CMDRSP2_MASK)
  42768. /*! @} */
  42769. /*! @name CMD_RSP3 - Command Response3 */
  42770. /*! @{ */
  42771. #define USDHC_CMD_RSP3_CMDRSP3_MASK (0xFFFFFFFFU)
  42772. #define USDHC_CMD_RSP3_CMDRSP3_SHIFT (0U)
  42773. /*! CMDRSP3 - Command Response 3
  42774. */
  42775. #define USDHC_CMD_RSP3_CMDRSP3(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP3_CMDRSP3_SHIFT)) & USDHC_CMD_RSP3_CMDRSP3_MASK)
  42776. /*! @} */
  42777. /*! @name DATA_BUFF_ACC_PORT - Data Buffer Access Port */
  42778. /*! @{ */
  42779. #define USDHC_DATA_BUFF_ACC_PORT_DATCONT_MASK (0xFFFFFFFFU)
  42780. #define USDHC_DATA_BUFF_ACC_PORT_DATCONT_SHIFT (0U)
  42781. /*! DATCONT - Data Content
  42782. */
  42783. #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)
  42784. /*! @} */
  42785. /*! @name PRES_STATE - Present State */
  42786. /*! @{ */
  42787. #define USDHC_PRES_STATE_CIHB_MASK (0x1U)
  42788. #define USDHC_PRES_STATE_CIHB_SHIFT (0U)
  42789. /*! CIHB - Command Inhibit (CMD)
  42790. * 0b1..Cannot issue command
  42791. * 0b0..Can issue command using only CMD line
  42792. */
  42793. #define USDHC_PRES_STATE_CIHB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CIHB_SHIFT)) & USDHC_PRES_STATE_CIHB_MASK)
  42794. #define USDHC_PRES_STATE_CDIHB_MASK (0x2U)
  42795. #define USDHC_PRES_STATE_CDIHB_SHIFT (1U)
  42796. /*! CDIHB - Command Inhibit (DATA)
  42797. * 0b1..Cannot issue command which uses the DATA line
  42798. * 0b0..Can issue command which uses the DATA line
  42799. */
  42800. #define USDHC_PRES_STATE_CDIHB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CDIHB_SHIFT)) & USDHC_PRES_STATE_CDIHB_MASK)
  42801. #define USDHC_PRES_STATE_DLA_MASK (0x4U)
  42802. #define USDHC_PRES_STATE_DLA_SHIFT (2U)
  42803. /*! DLA - Data Line Active
  42804. * 0b1..DATA Line Active
  42805. * 0b0..DATA Line Inactive
  42806. */
  42807. #define USDHC_PRES_STATE_DLA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_DLA_SHIFT)) & USDHC_PRES_STATE_DLA_MASK)
  42808. #define USDHC_PRES_STATE_SDSTB_MASK (0x8U)
  42809. #define USDHC_PRES_STATE_SDSTB_SHIFT (3U)
  42810. /*! SDSTB - SD Clock Stable
  42811. * 0b1..Clock is stable.
  42812. * 0b0..Clock is changing frequency and not stable.
  42813. */
  42814. #define USDHC_PRES_STATE_SDSTB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_SDSTB_SHIFT)) & USDHC_PRES_STATE_SDSTB_MASK)
  42815. #define USDHC_PRES_STATE_IPGOFF_MASK (0x10U)
  42816. #define USDHC_PRES_STATE_IPGOFF_SHIFT (4U)
  42817. /*! IPGOFF - IPG_CLK Gated Off Internally
  42818. * 0b1..IPG_CLK is gated off.
  42819. * 0b0..IPG_CLK is active.
  42820. */
  42821. #define USDHC_PRES_STATE_IPGOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_IPGOFF_SHIFT)) & USDHC_PRES_STATE_IPGOFF_MASK)
  42822. #define USDHC_PRES_STATE_HCKOFF_MASK (0x20U)
  42823. #define USDHC_PRES_STATE_HCKOFF_SHIFT (5U)
  42824. /*! HCKOFF - HCLK Gated Off Internally
  42825. * 0b1..HCLK is gated off.
  42826. * 0b0..HCLK is active.
  42827. */
  42828. #define USDHC_PRES_STATE_HCKOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_HCKOFF_SHIFT)) & USDHC_PRES_STATE_HCKOFF_MASK)
  42829. #define USDHC_PRES_STATE_PEROFF_MASK (0x40U)
  42830. #define USDHC_PRES_STATE_PEROFF_SHIFT (6U)
  42831. /*! PEROFF - IPG_PERCLK Gated Off Internally
  42832. * 0b1..IPG_PERCLK is gated off.
  42833. * 0b0..IPG_PERCLK is active.
  42834. */
  42835. #define USDHC_PRES_STATE_PEROFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_PEROFF_SHIFT)) & USDHC_PRES_STATE_PEROFF_MASK)
  42836. #define USDHC_PRES_STATE_SDOFF_MASK (0x80U)
  42837. #define USDHC_PRES_STATE_SDOFF_SHIFT (7U)
  42838. /*! SDOFF - SD Clock Gated Off Internally
  42839. * 0b1..SD Clock is gated off.
  42840. * 0b0..SD Clock is active.
  42841. */
  42842. #define USDHC_PRES_STATE_SDOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_SDOFF_SHIFT)) & USDHC_PRES_STATE_SDOFF_MASK)
  42843. #define USDHC_PRES_STATE_WTA_MASK (0x100U)
  42844. #define USDHC_PRES_STATE_WTA_SHIFT (8U)
  42845. /*! WTA - Write Transfer Active
  42846. * 0b1..Transferring data
  42847. * 0b0..No valid data
  42848. */
  42849. #define USDHC_PRES_STATE_WTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_WTA_SHIFT)) & USDHC_PRES_STATE_WTA_MASK)
  42850. #define USDHC_PRES_STATE_RTA_MASK (0x200U)
  42851. #define USDHC_PRES_STATE_RTA_SHIFT (9U)
  42852. /*! RTA - Read Transfer Active
  42853. * 0b1..Transferring data
  42854. * 0b0..No valid data
  42855. */
  42856. #define USDHC_PRES_STATE_RTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_RTA_SHIFT)) & USDHC_PRES_STATE_RTA_MASK)
  42857. #define USDHC_PRES_STATE_BWEN_MASK (0x400U)
  42858. #define USDHC_PRES_STATE_BWEN_SHIFT (10U)
  42859. /*! BWEN - Buffer Write Enable
  42860. * 0b1..Write enable
  42861. * 0b0..Write disable
  42862. */
  42863. #define USDHC_PRES_STATE_BWEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_BWEN_SHIFT)) & USDHC_PRES_STATE_BWEN_MASK)
  42864. #define USDHC_PRES_STATE_BREN_MASK (0x800U)
  42865. #define USDHC_PRES_STATE_BREN_SHIFT (11U)
  42866. /*! BREN - Buffer Read Enable
  42867. * 0b1..Read enable
  42868. * 0b0..Read disable
  42869. */
  42870. #define USDHC_PRES_STATE_BREN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_BREN_SHIFT)) & USDHC_PRES_STATE_BREN_MASK)
  42871. #define USDHC_PRES_STATE_RTR_MASK (0x1000U)
  42872. #define USDHC_PRES_STATE_RTR_SHIFT (12U)
  42873. /*! RTR - Re-Tuning Request (only for SD3.0 SDR104 mode and EMMC HS200 mode)
  42874. * 0b1..Sampling clock needs re-tuning
  42875. * 0b0..Fixed or well tuned sampling clock
  42876. */
  42877. #define USDHC_PRES_STATE_RTR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_RTR_SHIFT)) & USDHC_PRES_STATE_RTR_MASK)
  42878. #define USDHC_PRES_STATE_TSCD_MASK (0x8000U)
  42879. #define USDHC_PRES_STATE_TSCD_SHIFT (15U)
  42880. /*! TSCD - Tape Select Change Done
  42881. * 0b1..Delay cell select change is finished.
  42882. * 0b0..Delay cell select change is not finished.
  42883. */
  42884. #define USDHC_PRES_STATE_TSCD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_TSCD_SHIFT)) & USDHC_PRES_STATE_TSCD_MASK)
  42885. #define USDHC_PRES_STATE_CINST_MASK (0x10000U)
  42886. #define USDHC_PRES_STATE_CINST_SHIFT (16U)
  42887. /*! CINST - Card Inserted
  42888. * 0b1..Card Inserted
  42889. * 0b0..Power on Reset or No Card
  42890. */
  42891. #define USDHC_PRES_STATE_CINST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CINST_SHIFT)) & USDHC_PRES_STATE_CINST_MASK)
  42892. #define USDHC_PRES_STATE_CDPL_MASK (0x40000U)
  42893. #define USDHC_PRES_STATE_CDPL_SHIFT (18U)
  42894. /*! CDPL - Card Detect Pin Level
  42895. * 0b1..Card present (CD_B = 0)
  42896. * 0b0..No card present (CD_B = 1)
  42897. */
  42898. #define USDHC_PRES_STATE_CDPL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CDPL_SHIFT)) & USDHC_PRES_STATE_CDPL_MASK)
  42899. #define USDHC_PRES_STATE_WPSPL_MASK (0x80000U)
  42900. #define USDHC_PRES_STATE_WPSPL_SHIFT (19U)
  42901. /*! WPSPL - Write Protect Switch Pin Level
  42902. * 0b1..Write enabled (WP = 0)
  42903. * 0b0..Write protected (WP = 1)
  42904. */
  42905. #define USDHC_PRES_STATE_WPSPL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_WPSPL_SHIFT)) & USDHC_PRES_STATE_WPSPL_MASK)
  42906. #define USDHC_PRES_STATE_CLSL_MASK (0x800000U)
  42907. #define USDHC_PRES_STATE_CLSL_SHIFT (23U)
  42908. /*! CLSL - CMD Line Signal Level
  42909. */
  42910. #define USDHC_PRES_STATE_CLSL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CLSL_SHIFT)) & USDHC_PRES_STATE_CLSL_MASK)
  42911. #define USDHC_PRES_STATE_DLSL_MASK (0xFF000000U)
  42912. #define USDHC_PRES_STATE_DLSL_SHIFT (24U)
  42913. /*! DLSL - DATA[7:0] Line Signal Level
  42914. * 0b00000111..Data 7 line signal level
  42915. * 0b00000110..Data 6 line signal level
  42916. * 0b00000101..Data 5 line signal level
  42917. * 0b00000100..Data 4 line signal level
  42918. * 0b00000011..Data 3 line signal level
  42919. * 0b00000010..Data 2 line signal level
  42920. * 0b00000001..Data 1 line signal level
  42921. * 0b00000000..Data 0 line signal level
  42922. */
  42923. #define USDHC_PRES_STATE_DLSL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_DLSL_SHIFT)) & USDHC_PRES_STATE_DLSL_MASK)
  42924. /*! @} */
  42925. /*! @name PROT_CTRL - Protocol Control */
  42926. /*! @{ */
  42927. #define USDHC_PROT_CTRL_LCTL_MASK (0x1U)
  42928. #define USDHC_PROT_CTRL_LCTL_SHIFT (0U)
  42929. /*! LCTL - LED Control
  42930. * 0b1..LED on
  42931. * 0b0..LED off
  42932. */
  42933. #define USDHC_PROT_CTRL_LCTL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_LCTL_SHIFT)) & USDHC_PROT_CTRL_LCTL_MASK)
  42934. #define USDHC_PROT_CTRL_DTW_MASK (0x6U)
  42935. #define USDHC_PROT_CTRL_DTW_SHIFT (1U)
  42936. /*! DTW - Data Transfer Width
  42937. * 0b10..8-bit mode
  42938. * 0b01..4-bit mode
  42939. * 0b00..1-bit mode
  42940. * 0b11..Reserved
  42941. */
  42942. #define USDHC_PROT_CTRL_DTW(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_DTW_SHIFT)) & USDHC_PROT_CTRL_DTW_MASK)
  42943. #define USDHC_PROT_CTRL_D3CD_MASK (0x8U)
  42944. #define USDHC_PROT_CTRL_D3CD_SHIFT (3U)
  42945. /*! D3CD - DATA3 as Card Detection Pin
  42946. * 0b1..DATA3 as Card Detection Pin
  42947. * 0b0..DATA3 does not monitor Card Insertion
  42948. */
  42949. #define USDHC_PROT_CTRL_D3CD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_D3CD_SHIFT)) & USDHC_PROT_CTRL_D3CD_MASK)
  42950. #define USDHC_PROT_CTRL_EMODE_MASK (0x30U)
  42951. #define USDHC_PROT_CTRL_EMODE_SHIFT (4U)
  42952. /*! EMODE - Endian Mode
  42953. * 0b00..Big Endian Mode
  42954. * 0b01..Half Word Big Endian Mode
  42955. * 0b10..Little Endian Mode
  42956. * 0b11..Reserved
  42957. */
  42958. #define USDHC_PROT_CTRL_EMODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_EMODE_SHIFT)) & USDHC_PROT_CTRL_EMODE_MASK)
  42959. #define USDHC_PROT_CTRL_CDTL_MASK (0x40U)
  42960. #define USDHC_PROT_CTRL_CDTL_SHIFT (6U)
  42961. /*! CDTL - Card Detect Test Level
  42962. * 0b1..Card Detect Test Level is 1, card inserted
  42963. * 0b0..Card Detect Test Level is 0, no card inserted
  42964. */
  42965. #define USDHC_PROT_CTRL_CDTL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CDTL_SHIFT)) & USDHC_PROT_CTRL_CDTL_MASK)
  42966. #define USDHC_PROT_CTRL_CDSS_MASK (0x80U)
  42967. #define USDHC_PROT_CTRL_CDSS_SHIFT (7U)
  42968. /*! CDSS - Card Detect Signal Selection
  42969. * 0b1..Card Detection Test Level is selected (for test purpose).
  42970. * 0b0..Card Detection Level is selected (for normal purpose).
  42971. */
  42972. #define USDHC_PROT_CTRL_CDSS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CDSS_SHIFT)) & USDHC_PROT_CTRL_CDSS_MASK)
  42973. #define USDHC_PROT_CTRL_DMASEL_MASK (0x300U)
  42974. #define USDHC_PROT_CTRL_DMASEL_SHIFT (8U)
  42975. /*! DMASEL - DMA Select
  42976. * 0b00..No DMA or Simple DMA is selected
  42977. * 0b01..ADMA1 is selected
  42978. * 0b10..ADMA2 is selected
  42979. * 0b11..reserved
  42980. */
  42981. #define USDHC_PROT_CTRL_DMASEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_DMASEL_SHIFT)) & USDHC_PROT_CTRL_DMASEL_MASK)
  42982. #define USDHC_PROT_CTRL_SABGREQ_MASK (0x10000U)
  42983. #define USDHC_PROT_CTRL_SABGREQ_SHIFT (16U)
  42984. /*! SABGREQ - Stop At Block Gap Request
  42985. * 0b1..Stop
  42986. * 0b0..Transfer
  42987. */
  42988. #define USDHC_PROT_CTRL_SABGREQ(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_SABGREQ_SHIFT)) & USDHC_PROT_CTRL_SABGREQ_MASK)
  42989. #define USDHC_PROT_CTRL_CREQ_MASK (0x20000U)
  42990. #define USDHC_PROT_CTRL_CREQ_SHIFT (17U)
  42991. /*! CREQ - Continue Request
  42992. * 0b1..Restart
  42993. * 0b0..No effect
  42994. */
  42995. #define USDHC_PROT_CTRL_CREQ(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CREQ_SHIFT)) & USDHC_PROT_CTRL_CREQ_MASK)
  42996. #define USDHC_PROT_CTRL_RWCTL_MASK (0x40000U)
  42997. #define USDHC_PROT_CTRL_RWCTL_SHIFT (18U)
  42998. /*! RWCTL - Read Wait Control
  42999. * 0b1..Enable Read Wait Control, and assert Read Wait without stopping SD Clock at block gap when SABGREQ bit is set
  43000. * 0b0..Disable Read Wait Control, and stop SD Clock at block gap when SABGREQ bit is set
  43001. */
  43002. #define USDHC_PROT_CTRL_RWCTL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_RWCTL_SHIFT)) & USDHC_PROT_CTRL_RWCTL_MASK)
  43003. #define USDHC_PROT_CTRL_IABG_MASK (0x80000U)
  43004. #define USDHC_PROT_CTRL_IABG_SHIFT (19U)
  43005. /*! IABG - Interrupt At Block Gap
  43006. * 0b1..Enabled
  43007. * 0b0..Disabled
  43008. */
  43009. #define USDHC_PROT_CTRL_IABG(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_IABG_SHIFT)) & USDHC_PROT_CTRL_IABG_MASK)
  43010. #define USDHC_PROT_CTRL_RD_DONE_NO_8CLK_MASK (0x100000U)
  43011. #define USDHC_PROT_CTRL_RD_DONE_NO_8CLK_SHIFT (20U)
  43012. /*! RD_DONE_NO_8CLK - RD_DONE_NO_8CLK
  43013. */
  43014. #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)
  43015. #define USDHC_PROT_CTRL_WECINT_MASK (0x1000000U)
  43016. #define USDHC_PROT_CTRL_WECINT_SHIFT (24U)
  43017. /*! WECINT - Wakeup Event Enable On Card Interrupt
  43018. * 0b1..Enable
  43019. * 0b0..Disable
  43020. */
  43021. #define USDHC_PROT_CTRL_WECINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECINT_SHIFT)) & USDHC_PROT_CTRL_WECINT_MASK)
  43022. #define USDHC_PROT_CTRL_WECINS_MASK (0x2000000U)
  43023. #define USDHC_PROT_CTRL_WECINS_SHIFT (25U)
  43024. /*! WECINS - Wakeup Event Enable On SD Card Insertion
  43025. * 0b1..Enable
  43026. * 0b0..Disable
  43027. */
  43028. #define USDHC_PROT_CTRL_WECINS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECINS_SHIFT)) & USDHC_PROT_CTRL_WECINS_MASK)
  43029. #define USDHC_PROT_CTRL_WECRM_MASK (0x4000000U)
  43030. #define USDHC_PROT_CTRL_WECRM_SHIFT (26U)
  43031. /*! WECRM - Wakeup Event Enable On SD Card Removal
  43032. * 0b1..Enable
  43033. * 0b0..Disable
  43034. */
  43035. #define USDHC_PROT_CTRL_WECRM(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECRM_SHIFT)) & USDHC_PROT_CTRL_WECRM_MASK)
  43036. #define USDHC_PROT_CTRL_BURST_LEN_EN_MASK (0x38000000U)
  43037. #define USDHC_PROT_CTRL_BURST_LEN_EN_SHIFT (27U)
  43038. /*! BURST_LEN_EN - BURST length enable for INCR, INCR4 / INCR8 / INCR16, INCR4-WRAP / INCR8-WRAP / INCR16-WRAP
  43039. * 0bxx1..Burst length is enabled for INCR
  43040. * 0bx1x..Burst length is enabled for INCR4 / INCR8 / INCR16
  43041. * 0b1xx..Burst length is enabled for INCR4-WRAP / INCR8-WRAP / INCR16-WRAP
  43042. */
  43043. #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)
  43044. #define USDHC_PROT_CTRL_NON_EXACT_BLK_RD_MASK (0x40000000U)
  43045. #define USDHC_PROT_CTRL_NON_EXACT_BLK_RD_SHIFT (30U)
  43046. /*! NON_EXACT_BLK_RD - NON_EXACT_BLK_RD
  43047. * 0b1..The block read is non-exact block read. Host driver needs to issue abort command to terminate this multi-block read.
  43048. * 0b0..The block read is exact block read. Host driver doesn't need to issue abort command to terminate this multi-block read.
  43049. */
  43050. #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)
  43051. /*! @} */
  43052. /*! @name SYS_CTRL - System Control */
  43053. /*! @{ */
  43054. #define USDHC_SYS_CTRL_DVS_MASK (0xF0U)
  43055. #define USDHC_SYS_CTRL_DVS_SHIFT (4U)
  43056. /*! DVS - Divisor
  43057. * 0b0000..Divide-by-1
  43058. * 0b0001..Divide-by-2
  43059. * 0b1110..Divide-by-15
  43060. * 0b1111..Divide-by-16
  43061. */
  43062. #define USDHC_SYS_CTRL_DVS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_DVS_SHIFT)) & USDHC_SYS_CTRL_DVS_MASK)
  43063. #define USDHC_SYS_CTRL_SDCLKFS_MASK (0xFF00U)
  43064. #define USDHC_SYS_CTRL_SDCLKFS_SHIFT (8U)
  43065. /*! SDCLKFS - SDCLK Frequency Select
  43066. */
  43067. #define USDHC_SYS_CTRL_SDCLKFS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_SDCLKFS_SHIFT)) & USDHC_SYS_CTRL_SDCLKFS_MASK)
  43068. #define USDHC_SYS_CTRL_DTOCV_MASK (0xF0000U)
  43069. #define USDHC_SYS_CTRL_DTOCV_SHIFT (16U)
  43070. /*! DTOCV - Data Timeout Counter Value
  43071. * 0b1111..SDCLK x 2 29
  43072. * 0b1110..SDCLK x 2 28
  43073. * 0b1101..SDCLK x 2 27
  43074. * 0b0001..SDCLK x 2 15
  43075. * 0b0000..SDCLK x 2 14
  43076. */
  43077. #define USDHC_SYS_CTRL_DTOCV(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_DTOCV_SHIFT)) & USDHC_SYS_CTRL_DTOCV_MASK)
  43078. #define USDHC_SYS_CTRL_IPP_RST_N_MASK (0x800000U)
  43079. #define USDHC_SYS_CTRL_IPP_RST_N_SHIFT (23U)
  43080. /*! IPP_RST_N - IPP_RST_N
  43081. */
  43082. #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)
  43083. #define USDHC_SYS_CTRL_RSTA_MASK (0x1000000U)
  43084. #define USDHC_SYS_CTRL_RSTA_SHIFT (24U)
  43085. /*! RSTA - Software Reset For ALL
  43086. * 0b1..Reset
  43087. * 0b0..No Reset
  43088. */
  43089. #define USDHC_SYS_CTRL_RSTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTA_SHIFT)) & USDHC_SYS_CTRL_RSTA_MASK)
  43090. #define USDHC_SYS_CTRL_RSTC_MASK (0x2000000U)
  43091. #define USDHC_SYS_CTRL_RSTC_SHIFT (25U)
  43092. /*! RSTC - Software Reset For CMD Line
  43093. * 0b1..Reset
  43094. * 0b0..No Reset
  43095. */
  43096. #define USDHC_SYS_CTRL_RSTC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTC_SHIFT)) & USDHC_SYS_CTRL_RSTC_MASK)
  43097. #define USDHC_SYS_CTRL_RSTD_MASK (0x4000000U)
  43098. #define USDHC_SYS_CTRL_RSTD_SHIFT (26U)
  43099. /*! RSTD - Software Reset For DATA Line
  43100. * 0b1..Reset
  43101. * 0b0..No Reset
  43102. */
  43103. #define USDHC_SYS_CTRL_RSTD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTD_SHIFT)) & USDHC_SYS_CTRL_RSTD_MASK)
  43104. #define USDHC_SYS_CTRL_INITA_MASK (0x8000000U)
  43105. #define USDHC_SYS_CTRL_INITA_SHIFT (27U)
  43106. /*! INITA - Initialization Active
  43107. */
  43108. #define USDHC_SYS_CTRL_INITA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_INITA_SHIFT)) & USDHC_SYS_CTRL_INITA_MASK)
  43109. #define USDHC_SYS_CTRL_RSTT_MASK (0x10000000U)
  43110. #define USDHC_SYS_CTRL_RSTT_SHIFT (28U)
  43111. /*! RSTT - Reset Tuning
  43112. */
  43113. #define USDHC_SYS_CTRL_RSTT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTT_SHIFT)) & USDHC_SYS_CTRL_RSTT_MASK)
  43114. /*! @} */
  43115. /*! @name INT_STATUS - Interrupt Status */
  43116. /*! @{ */
  43117. #define USDHC_INT_STATUS_CC_MASK (0x1U)
  43118. #define USDHC_INT_STATUS_CC_SHIFT (0U)
  43119. /*! CC - Command Complete
  43120. * 0b1..Command complete
  43121. * 0b0..Command not complete
  43122. */
  43123. #define USDHC_INT_STATUS_CC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CC_SHIFT)) & USDHC_INT_STATUS_CC_MASK)
  43124. #define USDHC_INT_STATUS_TC_MASK (0x2U)
  43125. #define USDHC_INT_STATUS_TC_SHIFT (1U)
  43126. /*! TC - Transfer Complete
  43127. * 0b1..Transfer complete
  43128. * 0b0..Transfer not complete
  43129. */
  43130. #define USDHC_INT_STATUS_TC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TC_SHIFT)) & USDHC_INT_STATUS_TC_MASK)
  43131. #define USDHC_INT_STATUS_BGE_MASK (0x4U)
  43132. #define USDHC_INT_STATUS_BGE_SHIFT (2U)
  43133. /*! BGE - Block Gap Event
  43134. * 0b1..Transaction stopped at block gap
  43135. * 0b0..No block gap event
  43136. */
  43137. #define USDHC_INT_STATUS_BGE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BGE_SHIFT)) & USDHC_INT_STATUS_BGE_MASK)
  43138. #define USDHC_INT_STATUS_DINT_MASK (0x8U)
  43139. #define USDHC_INT_STATUS_DINT_SHIFT (3U)
  43140. /*! DINT - DMA Interrupt
  43141. * 0b1..DMA Interrupt is generated
  43142. * 0b0..No DMA Interrupt
  43143. */
  43144. #define USDHC_INT_STATUS_DINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DINT_SHIFT)) & USDHC_INT_STATUS_DINT_MASK)
  43145. #define USDHC_INT_STATUS_BWR_MASK (0x10U)
  43146. #define USDHC_INT_STATUS_BWR_SHIFT (4U)
  43147. /*! BWR - Buffer Write Ready
  43148. * 0b1..Ready to write buffer:
  43149. * 0b0..Not ready to write buffer
  43150. */
  43151. #define USDHC_INT_STATUS_BWR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BWR_SHIFT)) & USDHC_INT_STATUS_BWR_MASK)
  43152. #define USDHC_INT_STATUS_BRR_MASK (0x20U)
  43153. #define USDHC_INT_STATUS_BRR_SHIFT (5U)
  43154. /*! BRR - Buffer Read Ready
  43155. * 0b1..Ready to read buffer
  43156. * 0b0..Not ready to read buffer
  43157. */
  43158. #define USDHC_INT_STATUS_BRR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BRR_SHIFT)) & USDHC_INT_STATUS_BRR_MASK)
  43159. #define USDHC_INT_STATUS_CINS_MASK (0x40U)
  43160. #define USDHC_INT_STATUS_CINS_SHIFT (6U)
  43161. /*! CINS - Card Insertion
  43162. * 0b1..Card inserted
  43163. * 0b0..Card state unstable or removed
  43164. */
  43165. #define USDHC_INT_STATUS_CINS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CINS_SHIFT)) & USDHC_INT_STATUS_CINS_MASK)
  43166. #define USDHC_INT_STATUS_CRM_MASK (0x80U)
  43167. #define USDHC_INT_STATUS_CRM_SHIFT (7U)
  43168. /*! CRM - Card Removal
  43169. * 0b1..Card removed
  43170. * 0b0..Card state unstable or inserted
  43171. */
  43172. #define USDHC_INT_STATUS_CRM(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CRM_SHIFT)) & USDHC_INT_STATUS_CRM_MASK)
  43173. #define USDHC_INT_STATUS_CINT_MASK (0x100U)
  43174. #define USDHC_INT_STATUS_CINT_SHIFT (8U)
  43175. /*! CINT - Card Interrupt
  43176. * 0b1..Generate Card Interrupt
  43177. * 0b0..No Card Interrupt
  43178. */
  43179. #define USDHC_INT_STATUS_CINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CINT_SHIFT)) & USDHC_INT_STATUS_CINT_MASK)
  43180. #define USDHC_INT_STATUS_RTE_MASK (0x1000U)
  43181. #define USDHC_INT_STATUS_RTE_SHIFT (12U)
  43182. /*! RTE - Re-Tuning Event: (only for SD3.0 SDR104 mode and EMMC HS200 mode)
  43183. * 0b1..Re-Tuning should be performed
  43184. * 0b0..Re-Tuning is not required
  43185. */
  43186. #define USDHC_INT_STATUS_RTE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_RTE_SHIFT)) & USDHC_INT_STATUS_RTE_MASK)
  43187. #define USDHC_INT_STATUS_TP_MASK (0x4000U)
  43188. #define USDHC_INT_STATUS_TP_SHIFT (14U)
  43189. /*! TP - Tuning Pass:(only for SD3.0 SDR104 mode and EMMC HS200 mode)
  43190. */
  43191. #define USDHC_INT_STATUS_TP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TP_SHIFT)) & USDHC_INT_STATUS_TP_MASK)
  43192. #define USDHC_INT_STATUS_CTOE_MASK (0x10000U)
  43193. #define USDHC_INT_STATUS_CTOE_SHIFT (16U)
  43194. /*! CTOE - Command Timeout Error
  43195. * 0b1..Time out
  43196. * 0b0..No Error
  43197. */
  43198. #define USDHC_INT_STATUS_CTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CTOE_SHIFT)) & USDHC_INT_STATUS_CTOE_MASK)
  43199. #define USDHC_INT_STATUS_CCE_MASK (0x20000U)
  43200. #define USDHC_INT_STATUS_CCE_SHIFT (17U)
  43201. /*! CCE - Command CRC Error
  43202. * 0b1..CRC Error Generated.
  43203. * 0b0..No Error
  43204. */
  43205. #define USDHC_INT_STATUS_CCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CCE_SHIFT)) & USDHC_INT_STATUS_CCE_MASK)
  43206. #define USDHC_INT_STATUS_CEBE_MASK (0x40000U)
  43207. #define USDHC_INT_STATUS_CEBE_SHIFT (18U)
  43208. /*! CEBE - Command End Bit Error
  43209. * 0b1..End Bit Error Generated
  43210. * 0b0..No Error
  43211. */
  43212. #define USDHC_INT_STATUS_CEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CEBE_SHIFT)) & USDHC_INT_STATUS_CEBE_MASK)
  43213. #define USDHC_INT_STATUS_CIE_MASK (0x80000U)
  43214. #define USDHC_INT_STATUS_CIE_SHIFT (19U)
  43215. /*! CIE - Command Index Error
  43216. * 0b1..Error
  43217. * 0b0..No Error
  43218. */
  43219. #define USDHC_INT_STATUS_CIE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CIE_SHIFT)) & USDHC_INT_STATUS_CIE_MASK)
  43220. #define USDHC_INT_STATUS_DTOE_MASK (0x100000U)
  43221. #define USDHC_INT_STATUS_DTOE_SHIFT (20U)
  43222. /*! DTOE - Data Timeout Error
  43223. * 0b1..Time out
  43224. * 0b0..No Error
  43225. */
  43226. #define USDHC_INT_STATUS_DTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DTOE_SHIFT)) & USDHC_INT_STATUS_DTOE_MASK)
  43227. #define USDHC_INT_STATUS_DCE_MASK (0x200000U)
  43228. #define USDHC_INT_STATUS_DCE_SHIFT (21U)
  43229. /*! DCE - Data CRC Error
  43230. * 0b1..Error
  43231. * 0b0..No Error
  43232. */
  43233. #define USDHC_INT_STATUS_DCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DCE_SHIFT)) & USDHC_INT_STATUS_DCE_MASK)
  43234. #define USDHC_INT_STATUS_DEBE_MASK (0x400000U)
  43235. #define USDHC_INT_STATUS_DEBE_SHIFT (22U)
  43236. /*! DEBE - Data End Bit Error
  43237. * 0b1..Error
  43238. * 0b0..No Error
  43239. */
  43240. #define USDHC_INT_STATUS_DEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DEBE_SHIFT)) & USDHC_INT_STATUS_DEBE_MASK)
  43241. #define USDHC_INT_STATUS_AC12E_MASK (0x1000000U)
  43242. #define USDHC_INT_STATUS_AC12E_SHIFT (24U)
  43243. /*! AC12E - Auto CMD12 Error
  43244. * 0b1..Error
  43245. * 0b0..No Error
  43246. */
  43247. #define USDHC_INT_STATUS_AC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_AC12E_SHIFT)) & USDHC_INT_STATUS_AC12E_MASK)
  43248. #define USDHC_INT_STATUS_TNE_MASK (0x4000000U)
  43249. #define USDHC_INT_STATUS_TNE_SHIFT (26U)
  43250. /*! TNE - Tuning Error: (only for SD3.0 SDR104 mode and EMMC HS200 mode)
  43251. */
  43252. #define USDHC_INT_STATUS_TNE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TNE_SHIFT)) & USDHC_INT_STATUS_TNE_MASK)
  43253. #define USDHC_INT_STATUS_DMAE_MASK (0x10000000U)
  43254. #define USDHC_INT_STATUS_DMAE_SHIFT (28U)
  43255. /*! DMAE - DMA Error
  43256. * 0b1..Error
  43257. * 0b0..No Error
  43258. */
  43259. #define USDHC_INT_STATUS_DMAE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DMAE_SHIFT)) & USDHC_INT_STATUS_DMAE_MASK)
  43260. /*! @} */
  43261. /*! @name INT_STATUS_EN - Interrupt Status Enable */
  43262. /*! @{ */
  43263. #define USDHC_INT_STATUS_EN_CCSEN_MASK (0x1U)
  43264. #define USDHC_INT_STATUS_EN_CCSEN_SHIFT (0U)
  43265. /*! CCSEN - Command Complete Status Enable
  43266. * 0b1..Enabled
  43267. * 0b0..Masked
  43268. */
  43269. #define USDHC_INT_STATUS_EN_CCSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CCSEN_SHIFT)) & USDHC_INT_STATUS_EN_CCSEN_MASK)
  43270. #define USDHC_INT_STATUS_EN_TCSEN_MASK (0x2U)
  43271. #define USDHC_INT_STATUS_EN_TCSEN_SHIFT (1U)
  43272. /*! TCSEN - Transfer Complete Status Enable
  43273. * 0b1..Enabled
  43274. * 0b0..Masked
  43275. */
  43276. #define USDHC_INT_STATUS_EN_TCSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TCSEN_SHIFT)) & USDHC_INT_STATUS_EN_TCSEN_MASK)
  43277. #define USDHC_INT_STATUS_EN_BGESEN_MASK (0x4U)
  43278. #define USDHC_INT_STATUS_EN_BGESEN_SHIFT (2U)
  43279. /*! BGESEN - Block Gap Event Status Enable
  43280. * 0b1..Enabled
  43281. * 0b0..Masked
  43282. */
  43283. #define USDHC_INT_STATUS_EN_BGESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BGESEN_SHIFT)) & USDHC_INT_STATUS_EN_BGESEN_MASK)
  43284. #define USDHC_INT_STATUS_EN_DINTSEN_MASK (0x8U)
  43285. #define USDHC_INT_STATUS_EN_DINTSEN_SHIFT (3U)
  43286. /*! DINTSEN - DMA Interrupt Status Enable
  43287. * 0b1..Enabled
  43288. * 0b0..Masked
  43289. */
  43290. #define USDHC_INT_STATUS_EN_DINTSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DINTSEN_SHIFT)) & USDHC_INT_STATUS_EN_DINTSEN_MASK)
  43291. #define USDHC_INT_STATUS_EN_BWRSEN_MASK (0x10U)
  43292. #define USDHC_INT_STATUS_EN_BWRSEN_SHIFT (4U)
  43293. /*! BWRSEN - Buffer Write Ready Status Enable
  43294. * 0b1..Enabled
  43295. * 0b0..Masked
  43296. */
  43297. #define USDHC_INT_STATUS_EN_BWRSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BWRSEN_SHIFT)) & USDHC_INT_STATUS_EN_BWRSEN_MASK)
  43298. #define USDHC_INT_STATUS_EN_BRRSEN_MASK (0x20U)
  43299. #define USDHC_INT_STATUS_EN_BRRSEN_SHIFT (5U)
  43300. /*! BRRSEN - Buffer Read Ready Status Enable
  43301. * 0b1..Enabled
  43302. * 0b0..Masked
  43303. */
  43304. #define USDHC_INT_STATUS_EN_BRRSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BRRSEN_SHIFT)) & USDHC_INT_STATUS_EN_BRRSEN_MASK)
  43305. #define USDHC_INT_STATUS_EN_CINSSEN_MASK (0x40U)
  43306. #define USDHC_INT_STATUS_EN_CINSSEN_SHIFT (6U)
  43307. /*! CINSSEN - Card Insertion Status Enable
  43308. * 0b1..Enabled
  43309. * 0b0..Masked
  43310. */
  43311. #define USDHC_INT_STATUS_EN_CINSSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CINSSEN_SHIFT)) & USDHC_INT_STATUS_EN_CINSSEN_MASK)
  43312. #define USDHC_INT_STATUS_EN_CRMSEN_MASK (0x80U)
  43313. #define USDHC_INT_STATUS_EN_CRMSEN_SHIFT (7U)
  43314. /*! CRMSEN - Card Removal Status Enable
  43315. * 0b1..Enabled
  43316. * 0b0..Masked
  43317. */
  43318. #define USDHC_INT_STATUS_EN_CRMSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CRMSEN_SHIFT)) & USDHC_INT_STATUS_EN_CRMSEN_MASK)
  43319. #define USDHC_INT_STATUS_EN_CINTSEN_MASK (0x100U)
  43320. #define USDHC_INT_STATUS_EN_CINTSEN_SHIFT (8U)
  43321. /*! CINTSEN - Card Interrupt Status Enable
  43322. * 0b1..Enabled
  43323. * 0b0..Masked
  43324. */
  43325. #define USDHC_INT_STATUS_EN_CINTSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CINTSEN_SHIFT)) & USDHC_INT_STATUS_EN_CINTSEN_MASK)
  43326. #define USDHC_INT_STATUS_EN_RTESEN_MASK (0x1000U)
  43327. #define USDHC_INT_STATUS_EN_RTESEN_SHIFT (12U)
  43328. /*! RTESEN - Re-Tuning Event Status Enable
  43329. * 0b1..Enabled
  43330. * 0b0..Masked
  43331. */
  43332. #define USDHC_INT_STATUS_EN_RTESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_RTESEN_SHIFT)) & USDHC_INT_STATUS_EN_RTESEN_MASK)
  43333. #define USDHC_INT_STATUS_EN_TPSEN_MASK (0x4000U)
  43334. #define USDHC_INT_STATUS_EN_TPSEN_SHIFT (14U)
  43335. /*! TPSEN - Tuning Pass Status Enable
  43336. * 0b1..Enabled
  43337. * 0b0..Masked
  43338. */
  43339. #define USDHC_INT_STATUS_EN_TPSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TPSEN_SHIFT)) & USDHC_INT_STATUS_EN_TPSEN_MASK)
  43340. #define USDHC_INT_STATUS_EN_CTOESEN_MASK (0x10000U)
  43341. #define USDHC_INT_STATUS_EN_CTOESEN_SHIFT (16U)
  43342. /*! CTOESEN - Command Timeout Error Status Enable
  43343. * 0b1..Enabled
  43344. * 0b0..Masked
  43345. */
  43346. #define USDHC_INT_STATUS_EN_CTOESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CTOESEN_SHIFT)) & USDHC_INT_STATUS_EN_CTOESEN_MASK)
  43347. #define USDHC_INT_STATUS_EN_CCESEN_MASK (0x20000U)
  43348. #define USDHC_INT_STATUS_EN_CCESEN_SHIFT (17U)
  43349. /*! CCESEN - Command CRC Error Status Enable
  43350. * 0b1..Enabled
  43351. * 0b0..Masked
  43352. */
  43353. #define USDHC_INT_STATUS_EN_CCESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CCESEN_SHIFT)) & USDHC_INT_STATUS_EN_CCESEN_MASK)
  43354. #define USDHC_INT_STATUS_EN_CEBESEN_MASK (0x40000U)
  43355. #define USDHC_INT_STATUS_EN_CEBESEN_SHIFT (18U)
  43356. /*! CEBESEN - Command End Bit Error Status Enable
  43357. * 0b1..Enabled
  43358. * 0b0..Masked
  43359. */
  43360. #define USDHC_INT_STATUS_EN_CEBESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CEBESEN_SHIFT)) & USDHC_INT_STATUS_EN_CEBESEN_MASK)
  43361. #define USDHC_INT_STATUS_EN_CIESEN_MASK (0x80000U)
  43362. #define USDHC_INT_STATUS_EN_CIESEN_SHIFT (19U)
  43363. /*! CIESEN - Command Index Error Status Enable
  43364. * 0b1..Enabled
  43365. * 0b0..Masked
  43366. */
  43367. #define USDHC_INT_STATUS_EN_CIESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CIESEN_SHIFT)) & USDHC_INT_STATUS_EN_CIESEN_MASK)
  43368. #define USDHC_INT_STATUS_EN_DTOESEN_MASK (0x100000U)
  43369. #define USDHC_INT_STATUS_EN_DTOESEN_SHIFT (20U)
  43370. /*! DTOESEN - Data Timeout Error Status Enable
  43371. * 0b1..Enabled
  43372. * 0b0..Masked
  43373. */
  43374. #define USDHC_INT_STATUS_EN_DTOESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DTOESEN_SHIFT)) & USDHC_INT_STATUS_EN_DTOESEN_MASK)
  43375. #define USDHC_INT_STATUS_EN_DCESEN_MASK (0x200000U)
  43376. #define USDHC_INT_STATUS_EN_DCESEN_SHIFT (21U)
  43377. /*! DCESEN - Data CRC Error Status Enable
  43378. * 0b1..Enabled
  43379. * 0b0..Masked
  43380. */
  43381. #define USDHC_INT_STATUS_EN_DCESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DCESEN_SHIFT)) & USDHC_INT_STATUS_EN_DCESEN_MASK)
  43382. #define USDHC_INT_STATUS_EN_DEBESEN_MASK (0x400000U)
  43383. #define USDHC_INT_STATUS_EN_DEBESEN_SHIFT (22U)
  43384. /*! DEBESEN - Data End Bit Error Status Enable
  43385. * 0b1..Enabled
  43386. * 0b0..Masked
  43387. */
  43388. #define USDHC_INT_STATUS_EN_DEBESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DEBESEN_SHIFT)) & USDHC_INT_STATUS_EN_DEBESEN_MASK)
  43389. #define USDHC_INT_STATUS_EN_AC12ESEN_MASK (0x1000000U)
  43390. #define USDHC_INT_STATUS_EN_AC12ESEN_SHIFT (24U)
  43391. /*! AC12ESEN - Auto CMD12 Error Status Enable
  43392. * 0b1..Enabled
  43393. * 0b0..Masked
  43394. */
  43395. #define USDHC_INT_STATUS_EN_AC12ESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_AC12ESEN_SHIFT)) & USDHC_INT_STATUS_EN_AC12ESEN_MASK)
  43396. #define USDHC_INT_STATUS_EN_TNESEN_MASK (0x4000000U)
  43397. #define USDHC_INT_STATUS_EN_TNESEN_SHIFT (26U)
  43398. /*! TNESEN - Tuning Error Status Enable
  43399. * 0b1..Enabled
  43400. * 0b0..Masked
  43401. */
  43402. #define USDHC_INT_STATUS_EN_TNESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TNESEN_SHIFT)) & USDHC_INT_STATUS_EN_TNESEN_MASK)
  43403. #define USDHC_INT_STATUS_EN_DMAESEN_MASK (0x10000000U)
  43404. #define USDHC_INT_STATUS_EN_DMAESEN_SHIFT (28U)
  43405. /*! DMAESEN - DMA Error Status Enable
  43406. * 0b1..Enabled
  43407. * 0b0..Masked
  43408. */
  43409. #define USDHC_INT_STATUS_EN_DMAESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DMAESEN_SHIFT)) & USDHC_INT_STATUS_EN_DMAESEN_MASK)
  43410. /*! @} */
  43411. /*! @name INT_SIGNAL_EN - Interrupt Signal Enable */
  43412. /*! @{ */
  43413. #define USDHC_INT_SIGNAL_EN_CCIEN_MASK (0x1U)
  43414. #define USDHC_INT_SIGNAL_EN_CCIEN_SHIFT (0U)
  43415. /*! CCIEN - Command Complete Interrupt Enable
  43416. * 0b1..Enabled
  43417. * 0b0..Masked
  43418. */
  43419. #define USDHC_INT_SIGNAL_EN_CCIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CCIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CCIEN_MASK)
  43420. #define USDHC_INT_SIGNAL_EN_TCIEN_MASK (0x2U)
  43421. #define USDHC_INT_SIGNAL_EN_TCIEN_SHIFT (1U)
  43422. /*! TCIEN - Transfer Complete Interrupt Enable
  43423. * 0b1..Enabled
  43424. * 0b0..Masked
  43425. */
  43426. #define USDHC_INT_SIGNAL_EN_TCIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TCIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TCIEN_MASK)
  43427. #define USDHC_INT_SIGNAL_EN_BGEIEN_MASK (0x4U)
  43428. #define USDHC_INT_SIGNAL_EN_BGEIEN_SHIFT (2U)
  43429. /*! BGEIEN - Block Gap Event Interrupt Enable
  43430. * 0b1..Enabled
  43431. * 0b0..Masked
  43432. */
  43433. #define USDHC_INT_SIGNAL_EN_BGEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BGEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BGEIEN_MASK)
  43434. #define USDHC_INT_SIGNAL_EN_DINTIEN_MASK (0x8U)
  43435. #define USDHC_INT_SIGNAL_EN_DINTIEN_SHIFT (3U)
  43436. /*! DINTIEN - DMA Interrupt Enable
  43437. * 0b1..Enabled
  43438. * 0b0..Masked
  43439. */
  43440. #define USDHC_INT_SIGNAL_EN_DINTIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DINTIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DINTIEN_MASK)
  43441. #define USDHC_INT_SIGNAL_EN_BWRIEN_MASK (0x10U)
  43442. #define USDHC_INT_SIGNAL_EN_BWRIEN_SHIFT (4U)
  43443. /*! BWRIEN - Buffer Write Ready Interrupt Enable
  43444. * 0b1..Enabled
  43445. * 0b0..Masked
  43446. */
  43447. #define USDHC_INT_SIGNAL_EN_BWRIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BWRIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BWRIEN_MASK)
  43448. #define USDHC_INT_SIGNAL_EN_BRRIEN_MASK (0x20U)
  43449. #define USDHC_INT_SIGNAL_EN_BRRIEN_SHIFT (5U)
  43450. /*! BRRIEN - Buffer Read Ready Interrupt Enable
  43451. * 0b1..Enabled
  43452. * 0b0..Masked
  43453. */
  43454. #define USDHC_INT_SIGNAL_EN_BRRIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BRRIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BRRIEN_MASK)
  43455. #define USDHC_INT_SIGNAL_EN_CINSIEN_MASK (0x40U)
  43456. #define USDHC_INT_SIGNAL_EN_CINSIEN_SHIFT (6U)
  43457. /*! CINSIEN - Card Insertion Interrupt Enable
  43458. * 0b1..Enabled
  43459. * 0b0..Masked
  43460. */
  43461. #define USDHC_INT_SIGNAL_EN_CINSIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CINSIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CINSIEN_MASK)
  43462. #define USDHC_INT_SIGNAL_EN_CRMIEN_MASK (0x80U)
  43463. #define USDHC_INT_SIGNAL_EN_CRMIEN_SHIFT (7U)
  43464. /*! CRMIEN - Card Removal Interrupt Enable
  43465. * 0b1..Enabled
  43466. * 0b0..Masked
  43467. */
  43468. #define USDHC_INT_SIGNAL_EN_CRMIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CRMIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CRMIEN_MASK)
  43469. #define USDHC_INT_SIGNAL_EN_CINTIEN_MASK (0x100U)
  43470. #define USDHC_INT_SIGNAL_EN_CINTIEN_SHIFT (8U)
  43471. /*! CINTIEN - Card Interrupt Interrupt Enable
  43472. * 0b1..Enabled
  43473. * 0b0..Masked
  43474. */
  43475. #define USDHC_INT_SIGNAL_EN_CINTIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CINTIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CINTIEN_MASK)
  43476. #define USDHC_INT_SIGNAL_EN_RTEIEN_MASK (0x1000U)
  43477. #define USDHC_INT_SIGNAL_EN_RTEIEN_SHIFT (12U)
  43478. /*! RTEIEN - Re-Tuning Event Interrupt Enable
  43479. * 0b1..Enabled
  43480. * 0b0..Masked
  43481. */
  43482. #define USDHC_INT_SIGNAL_EN_RTEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_RTEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_RTEIEN_MASK)
  43483. #define USDHC_INT_SIGNAL_EN_TPIEN_MASK (0x4000U)
  43484. #define USDHC_INT_SIGNAL_EN_TPIEN_SHIFT (14U)
  43485. /*! TPIEN - Tuning Pass Interrupt Enable
  43486. * 0b1..Enabled
  43487. * 0b0..Masked
  43488. */
  43489. #define USDHC_INT_SIGNAL_EN_TPIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TPIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TPIEN_MASK)
  43490. #define USDHC_INT_SIGNAL_EN_CTOEIEN_MASK (0x10000U)
  43491. #define USDHC_INT_SIGNAL_EN_CTOEIEN_SHIFT (16U)
  43492. /*! CTOEIEN - Command Timeout Error Interrupt Enable
  43493. * 0b1..Enabled
  43494. * 0b0..Masked
  43495. */
  43496. #define USDHC_INT_SIGNAL_EN_CTOEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CTOEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CTOEIEN_MASK)
  43497. #define USDHC_INT_SIGNAL_EN_CCEIEN_MASK (0x20000U)
  43498. #define USDHC_INT_SIGNAL_EN_CCEIEN_SHIFT (17U)
  43499. /*! CCEIEN - Command CRC Error Interrupt Enable
  43500. * 0b1..Enabled
  43501. * 0b0..Masked
  43502. */
  43503. #define USDHC_INT_SIGNAL_EN_CCEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CCEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CCEIEN_MASK)
  43504. #define USDHC_INT_SIGNAL_EN_CEBEIEN_MASK (0x40000U)
  43505. #define USDHC_INT_SIGNAL_EN_CEBEIEN_SHIFT (18U)
  43506. /*! CEBEIEN - Command End Bit Error Interrupt Enable
  43507. * 0b1..Enabled
  43508. * 0b0..Masked
  43509. */
  43510. #define USDHC_INT_SIGNAL_EN_CEBEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CEBEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CEBEIEN_MASK)
  43511. #define USDHC_INT_SIGNAL_EN_CIEIEN_MASK (0x80000U)
  43512. #define USDHC_INT_SIGNAL_EN_CIEIEN_SHIFT (19U)
  43513. /*! CIEIEN - Command Index Error Interrupt Enable
  43514. * 0b1..Enabled
  43515. * 0b0..Masked
  43516. */
  43517. #define USDHC_INT_SIGNAL_EN_CIEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CIEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CIEIEN_MASK)
  43518. #define USDHC_INT_SIGNAL_EN_DTOEIEN_MASK (0x100000U)
  43519. #define USDHC_INT_SIGNAL_EN_DTOEIEN_SHIFT (20U)
  43520. /*! DTOEIEN - Data Timeout Error Interrupt Enable
  43521. * 0b1..Enabled
  43522. * 0b0..Masked
  43523. */
  43524. #define USDHC_INT_SIGNAL_EN_DTOEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DTOEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DTOEIEN_MASK)
  43525. #define USDHC_INT_SIGNAL_EN_DCEIEN_MASK (0x200000U)
  43526. #define USDHC_INT_SIGNAL_EN_DCEIEN_SHIFT (21U)
  43527. /*! DCEIEN - Data CRC Error Interrupt Enable
  43528. * 0b1..Enabled
  43529. * 0b0..Masked
  43530. */
  43531. #define USDHC_INT_SIGNAL_EN_DCEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DCEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DCEIEN_MASK)
  43532. #define USDHC_INT_SIGNAL_EN_DEBEIEN_MASK (0x400000U)
  43533. #define USDHC_INT_SIGNAL_EN_DEBEIEN_SHIFT (22U)
  43534. /*! DEBEIEN - Data End Bit Error Interrupt Enable
  43535. * 0b1..Enabled
  43536. * 0b0..Masked
  43537. */
  43538. #define USDHC_INT_SIGNAL_EN_DEBEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DEBEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DEBEIEN_MASK)
  43539. #define USDHC_INT_SIGNAL_EN_AC12EIEN_MASK (0x1000000U)
  43540. #define USDHC_INT_SIGNAL_EN_AC12EIEN_SHIFT (24U)
  43541. /*! AC12EIEN - Auto CMD12 Error Interrupt Enable
  43542. * 0b1..Enabled
  43543. * 0b0..Masked
  43544. */
  43545. #define USDHC_INT_SIGNAL_EN_AC12EIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_AC12EIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_AC12EIEN_MASK)
  43546. #define USDHC_INT_SIGNAL_EN_TNEIEN_MASK (0x4000000U)
  43547. #define USDHC_INT_SIGNAL_EN_TNEIEN_SHIFT (26U)
  43548. /*! TNEIEN - Tuning Error Interrupt Enable
  43549. * 0b1..Enabled
  43550. * 0b0..Masked
  43551. */
  43552. #define USDHC_INT_SIGNAL_EN_TNEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TNEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TNEIEN_MASK)
  43553. #define USDHC_INT_SIGNAL_EN_DMAEIEN_MASK (0x10000000U)
  43554. #define USDHC_INT_SIGNAL_EN_DMAEIEN_SHIFT (28U)
  43555. /*! DMAEIEN - DMA Error Interrupt Enable
  43556. * 0b1..Enable
  43557. * 0b0..Masked
  43558. */
  43559. #define USDHC_INT_SIGNAL_EN_DMAEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DMAEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DMAEIEN_MASK)
  43560. /*! @} */
  43561. /*! @name AUTOCMD12_ERR_STATUS - Auto CMD12 Error Status */
  43562. /*! @{ */
  43563. #define USDHC_AUTOCMD12_ERR_STATUS_AC12NE_MASK (0x1U)
  43564. #define USDHC_AUTOCMD12_ERR_STATUS_AC12NE_SHIFT (0U)
  43565. /*! AC12NE - Auto CMD12 Not Executed
  43566. * 0b1..Not executed
  43567. * 0b0..Executed
  43568. */
  43569. #define USDHC_AUTOCMD12_ERR_STATUS_AC12NE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12NE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12NE_MASK)
  43570. #define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_MASK (0x2U)
  43571. #define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_SHIFT (1U)
  43572. /*! AC12TOE - Auto CMD12 / 23 Timeout Error
  43573. * 0b1..Time out
  43574. * 0b0..No error
  43575. */
  43576. #define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_MASK)
  43577. #define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_MASK (0x4U)
  43578. #define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_SHIFT (2U)
  43579. /*! AC12EBE - Auto CMD12 / 23 End Bit Error
  43580. * 0b1..End Bit Error Generated
  43581. * 0b0..No error
  43582. */
  43583. #define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_MASK)
  43584. #define USDHC_AUTOCMD12_ERR_STATUS_AC12CE_MASK (0x8U)
  43585. #define USDHC_AUTOCMD12_ERR_STATUS_AC12CE_SHIFT (3U)
  43586. /*! AC12CE - Auto CMD12 / 23 CRC Error
  43587. * 0b1..CRC Error Met in Auto CMD12/23 Response
  43588. * 0b0..No CRC error
  43589. */
  43590. #define USDHC_AUTOCMD12_ERR_STATUS_AC12CE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12CE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12CE_MASK)
  43591. #define USDHC_AUTOCMD12_ERR_STATUS_AC12IE_MASK (0x10U)
  43592. #define USDHC_AUTOCMD12_ERR_STATUS_AC12IE_SHIFT (4U)
  43593. /*! AC12IE - Auto CMD12 / 23 Index Error
  43594. * 0b1..Error, the CMD index in response is not CMD12/23
  43595. * 0b0..No error
  43596. */
  43597. #define USDHC_AUTOCMD12_ERR_STATUS_AC12IE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12IE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12IE_MASK)
  43598. #define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_MASK (0x80U)
  43599. #define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_SHIFT (7U)
  43600. /*! CNIBAC12E - Command Not Issued By Auto CMD12 Error
  43601. * 0b1..Not Issued
  43602. * 0b0..No error
  43603. */
  43604. #define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_MASK)
  43605. #define USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING_MASK (0x400000U)
  43606. #define USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING_SHIFT (22U)
  43607. /*! EXECUTE_TUNING - Execute Tuning
  43608. */
  43609. #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)
  43610. #define USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL_MASK (0x800000U)
  43611. #define USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL_SHIFT (23U)
  43612. /*! SMP_CLK_SEL - Sample Clock Select
  43613. * 0b1..Tuned clock is used to sample data
  43614. * 0b0..Fixed clock is used to sample data
  43615. */
  43616. #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)
  43617. /*! @} */
  43618. /*! @name HOST_CTRL_CAP - Host Controller Capabilities */
  43619. /*! @{ */
  43620. #define USDHC_HOST_CTRL_CAP_SDR50_SUPPORT_MASK (0x1U)
  43621. #define USDHC_HOST_CTRL_CAP_SDR50_SUPPORT_SHIFT (0U)
  43622. /*! SDR50_SUPPORT - SDR50 support
  43623. */
  43624. #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)
  43625. #define USDHC_HOST_CTRL_CAP_SDR104_SUPPORT_MASK (0x2U)
  43626. #define USDHC_HOST_CTRL_CAP_SDR104_SUPPORT_SHIFT (1U)
  43627. /*! SDR104_SUPPORT - SDR104 support
  43628. */
  43629. #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)
  43630. #define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_MASK (0x4U)
  43631. #define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_SHIFT (2U)
  43632. /*! DDR50_SUPPORT - DDR50 support
  43633. */
  43634. #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)
  43635. #define USDHC_HOST_CTRL_CAP_TIME_COUNT_RETUNING_MASK (0xF00U)
  43636. #define USDHC_HOST_CTRL_CAP_TIME_COUNT_RETUNING_SHIFT (8U)
  43637. /*! TIME_COUNT_RETUNING - Time Counter for Retuning
  43638. */
  43639. #define USDHC_HOST_CTRL_CAP_TIME_COUNT_RETUNING(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_TIME_COUNT_RETUNING_SHIFT)) & USDHC_HOST_CTRL_CAP_TIME_COUNT_RETUNING_MASK)
  43640. #define USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50_MASK (0x2000U)
  43641. #define USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50_SHIFT (13U)
  43642. /*! USE_TUNING_SDR50 - Use Tuning for SDR50
  43643. * 0b1..SDR50 requires tuning
  43644. * 0b0..SDR does not require tuning
  43645. */
  43646. #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)
  43647. #define USDHC_HOST_CTRL_CAP_RETUNING_MODE_MASK (0xC000U)
  43648. #define USDHC_HOST_CTRL_CAP_RETUNING_MODE_SHIFT (14U)
  43649. /*! RETUNING_MODE - Retuning Mode
  43650. * 0b00..Mode 1
  43651. * 0b01..Mode 2
  43652. * 0b10..Mode 3
  43653. * 0b11..Reserved
  43654. */
  43655. #define USDHC_HOST_CTRL_CAP_RETUNING_MODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_RETUNING_MODE_SHIFT)) & USDHC_HOST_CTRL_CAP_RETUNING_MODE_MASK)
  43656. #define USDHC_HOST_CTRL_CAP_MBL_MASK (0x70000U)
  43657. #define USDHC_HOST_CTRL_CAP_MBL_SHIFT (16U)
  43658. /*! MBL - Max Block Length
  43659. * 0b000..512 bytes
  43660. * 0b001..1024 bytes
  43661. * 0b010..2048 bytes
  43662. * 0b011..4096 bytes
  43663. */
  43664. #define USDHC_HOST_CTRL_CAP_MBL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_MBL_SHIFT)) & USDHC_HOST_CTRL_CAP_MBL_MASK)
  43665. #define USDHC_HOST_CTRL_CAP_ADMAS_MASK (0x100000U)
  43666. #define USDHC_HOST_CTRL_CAP_ADMAS_SHIFT (20U)
  43667. /*! ADMAS - ADMA Support
  43668. * 0b1..Advanced DMA Supported
  43669. * 0b0..Advanced DMA Not supported
  43670. */
  43671. #define USDHC_HOST_CTRL_CAP_ADMAS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_ADMAS_SHIFT)) & USDHC_HOST_CTRL_CAP_ADMAS_MASK)
  43672. #define USDHC_HOST_CTRL_CAP_HSS_MASK (0x200000U)
  43673. #define USDHC_HOST_CTRL_CAP_HSS_SHIFT (21U)
  43674. /*! HSS - High Speed Support
  43675. * 0b1..High Speed Supported
  43676. * 0b0..High Speed Not Supported
  43677. */
  43678. #define USDHC_HOST_CTRL_CAP_HSS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_HSS_SHIFT)) & USDHC_HOST_CTRL_CAP_HSS_MASK)
  43679. #define USDHC_HOST_CTRL_CAP_DMAS_MASK (0x400000U)
  43680. #define USDHC_HOST_CTRL_CAP_DMAS_SHIFT (22U)
  43681. /*! DMAS - DMA Support
  43682. * 0b1..DMA Supported
  43683. * 0b0..DMA not supported
  43684. */
  43685. #define USDHC_HOST_CTRL_CAP_DMAS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_DMAS_SHIFT)) & USDHC_HOST_CTRL_CAP_DMAS_MASK)
  43686. #define USDHC_HOST_CTRL_CAP_SRS_MASK (0x800000U)
  43687. #define USDHC_HOST_CTRL_CAP_SRS_SHIFT (23U)
  43688. /*! SRS - Suspend / Resume Support
  43689. * 0b1..Supported
  43690. * 0b0..Not supported
  43691. */
  43692. #define USDHC_HOST_CTRL_CAP_SRS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_SRS_SHIFT)) & USDHC_HOST_CTRL_CAP_SRS_MASK)
  43693. #define USDHC_HOST_CTRL_CAP_VS33_MASK (0x1000000U)
  43694. #define USDHC_HOST_CTRL_CAP_VS33_SHIFT (24U)
  43695. /*! VS33 - Voltage Support 3.3V
  43696. * 0b1..3.3V supported
  43697. * 0b0..3.3V not supported
  43698. */
  43699. #define USDHC_HOST_CTRL_CAP_VS33(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS33_SHIFT)) & USDHC_HOST_CTRL_CAP_VS33_MASK)
  43700. #define USDHC_HOST_CTRL_CAP_VS30_MASK (0x2000000U)
  43701. #define USDHC_HOST_CTRL_CAP_VS30_SHIFT (25U)
  43702. /*! VS30 - Voltage Support 3.0 V
  43703. * 0b1..3.0V supported
  43704. * 0b0..3.0V not supported
  43705. */
  43706. #define USDHC_HOST_CTRL_CAP_VS30(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS30_SHIFT)) & USDHC_HOST_CTRL_CAP_VS30_MASK)
  43707. #define USDHC_HOST_CTRL_CAP_VS18_MASK (0x4000000U)
  43708. #define USDHC_HOST_CTRL_CAP_VS18_SHIFT (26U)
  43709. /*! VS18 - Voltage Support 1.8 V
  43710. * 0b1..1.8V supported
  43711. * 0b0..1.8V not supported
  43712. */
  43713. #define USDHC_HOST_CTRL_CAP_VS18(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS18_SHIFT)) & USDHC_HOST_CTRL_CAP_VS18_MASK)
  43714. /*! @} */
  43715. /*! @name WTMK_LVL - Watermark Level */
  43716. /*! @{ */
  43717. #define USDHC_WTMK_LVL_RD_WML_MASK (0xFFU)
  43718. #define USDHC_WTMK_LVL_RD_WML_SHIFT (0U)
  43719. /*! RD_WML - Read Watermark Level
  43720. */
  43721. #define USDHC_WTMK_LVL_RD_WML(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_RD_WML_SHIFT)) & USDHC_WTMK_LVL_RD_WML_MASK)
  43722. #define USDHC_WTMK_LVL_RD_BRST_LEN_MASK (0x1F00U)
  43723. #define USDHC_WTMK_LVL_RD_BRST_LEN_SHIFT (8U)
  43724. /*! RD_BRST_LEN - Read Burst Length Due to system restriction, the actual burst length may not exceed 16.
  43725. */
  43726. #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)
  43727. #define USDHC_WTMK_LVL_WR_WML_MASK (0xFF0000U)
  43728. #define USDHC_WTMK_LVL_WR_WML_SHIFT (16U)
  43729. /*! WR_WML - Write Watermark Level
  43730. */
  43731. #define USDHC_WTMK_LVL_WR_WML(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_WR_WML_SHIFT)) & USDHC_WTMK_LVL_WR_WML_MASK)
  43732. #define USDHC_WTMK_LVL_WR_BRST_LEN_MASK (0x1F000000U)
  43733. #define USDHC_WTMK_LVL_WR_BRST_LEN_SHIFT (24U)
  43734. /*! WR_BRST_LEN - Write Burst Length Due to system restriction, the actual burst length may not exceed 16.
  43735. */
  43736. #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)
  43737. /*! @} */
  43738. /*! @name MIX_CTRL - Mixer Control */
  43739. /*! @{ */
  43740. #define USDHC_MIX_CTRL_DMAEN_MASK (0x1U)
  43741. #define USDHC_MIX_CTRL_DMAEN_SHIFT (0U)
  43742. /*! DMAEN - DMA Enable
  43743. * 0b1..Enable
  43744. * 0b0..Disable
  43745. */
  43746. #define USDHC_MIX_CTRL_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DMAEN_SHIFT)) & USDHC_MIX_CTRL_DMAEN_MASK)
  43747. #define USDHC_MIX_CTRL_BCEN_MASK (0x2U)
  43748. #define USDHC_MIX_CTRL_BCEN_SHIFT (1U)
  43749. /*! BCEN - Block Count Enable
  43750. * 0b1..Enable
  43751. * 0b0..Disable
  43752. */
  43753. #define USDHC_MIX_CTRL_BCEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_BCEN_SHIFT)) & USDHC_MIX_CTRL_BCEN_MASK)
  43754. #define USDHC_MIX_CTRL_AC12EN_MASK (0x4U)
  43755. #define USDHC_MIX_CTRL_AC12EN_SHIFT (2U)
  43756. /*! AC12EN - Auto CMD12 Enable
  43757. * 0b1..Enable
  43758. * 0b0..Disable
  43759. */
  43760. #define USDHC_MIX_CTRL_AC12EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_AC12EN_SHIFT)) & USDHC_MIX_CTRL_AC12EN_MASK)
  43761. #define USDHC_MIX_CTRL_DDR_EN_MASK (0x8U)
  43762. #define USDHC_MIX_CTRL_DDR_EN_SHIFT (3U)
  43763. /*! DDR_EN - Dual Data Rate mode selection
  43764. */
  43765. #define USDHC_MIX_CTRL_DDR_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DDR_EN_SHIFT)) & USDHC_MIX_CTRL_DDR_EN_MASK)
  43766. #define USDHC_MIX_CTRL_DTDSEL_MASK (0x10U)
  43767. #define USDHC_MIX_CTRL_DTDSEL_SHIFT (4U)
  43768. /*! DTDSEL - Data Transfer Direction Select
  43769. * 0b1..Read (Card to Host)
  43770. * 0b0..Write (Host to Card)
  43771. */
  43772. #define USDHC_MIX_CTRL_DTDSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DTDSEL_SHIFT)) & USDHC_MIX_CTRL_DTDSEL_MASK)
  43773. #define USDHC_MIX_CTRL_MSBSEL_MASK (0x20U)
  43774. #define USDHC_MIX_CTRL_MSBSEL_SHIFT (5U)
  43775. /*! MSBSEL - Multi / Single Block Select
  43776. * 0b1..Multiple Blocks
  43777. * 0b0..Single Block
  43778. */
  43779. #define USDHC_MIX_CTRL_MSBSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_MSBSEL_SHIFT)) & USDHC_MIX_CTRL_MSBSEL_MASK)
  43780. #define USDHC_MIX_CTRL_NIBBLE_POS_MASK (0x40U)
  43781. #define USDHC_MIX_CTRL_NIBBLE_POS_SHIFT (6U)
  43782. /*! NIBBLE_POS - NIBBLE_POS
  43783. */
  43784. #define USDHC_MIX_CTRL_NIBBLE_POS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_NIBBLE_POS_SHIFT)) & USDHC_MIX_CTRL_NIBBLE_POS_MASK)
  43785. #define USDHC_MIX_CTRL_AC23EN_MASK (0x80U)
  43786. #define USDHC_MIX_CTRL_AC23EN_SHIFT (7U)
  43787. /*! AC23EN - Auto CMD23 Enable
  43788. */
  43789. #define USDHC_MIX_CTRL_AC23EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_AC23EN_SHIFT)) & USDHC_MIX_CTRL_AC23EN_MASK)
  43790. #define USDHC_MIX_CTRL_EXE_TUNE_MASK (0x400000U)
  43791. #define USDHC_MIX_CTRL_EXE_TUNE_SHIFT (22U)
  43792. /*! EXE_TUNE - Execute Tuning: (Only used for SD3.0, SDR104 mode and EMMC HS200 mode)
  43793. * 0b1..Execute Tuning
  43794. * 0b0..Not Tuned or Tuning Completed
  43795. */
  43796. #define USDHC_MIX_CTRL_EXE_TUNE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_EXE_TUNE_SHIFT)) & USDHC_MIX_CTRL_EXE_TUNE_MASK)
  43797. #define USDHC_MIX_CTRL_SMP_CLK_SEL_MASK (0x800000U)
  43798. #define USDHC_MIX_CTRL_SMP_CLK_SEL_SHIFT (23U)
  43799. /*! SMP_CLK_SEL - SMP_CLK_SEL
  43800. * 0b1..Tuned clock is used to sample data / cmd
  43801. * 0b0..Fixed clock is used to sample data / cmd
  43802. */
  43803. #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)
  43804. #define USDHC_MIX_CTRL_AUTO_TUNE_EN_MASK (0x1000000U)
  43805. #define USDHC_MIX_CTRL_AUTO_TUNE_EN_SHIFT (24U)
  43806. /*! AUTO_TUNE_EN - Auto Tuning Enable (Only used for SD3.0, SDR104 mode and and EMMC HS200 mode)
  43807. * 0b1..Enable auto tuning
  43808. * 0b0..Disable auto tuning
  43809. */
  43810. #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)
  43811. #define USDHC_MIX_CTRL_FBCLK_SEL_MASK (0x2000000U)
  43812. #define USDHC_MIX_CTRL_FBCLK_SEL_SHIFT (25U)
  43813. /*! FBCLK_SEL - Feedback Clock Source Selection (Only used for SD3.0, SDR104 mode and EMMC HS200 mode)
  43814. * 0b1..Feedback clock comes from the ipp_card_clk_out
  43815. * 0b0..Feedback clock comes from the loopback CLK
  43816. */
  43817. #define USDHC_MIX_CTRL_FBCLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_FBCLK_SEL_SHIFT)) & USDHC_MIX_CTRL_FBCLK_SEL_MASK)
  43818. /*! @} */
  43819. /*! @name FORCE_EVENT - Force Event */
  43820. /*! @{ */
  43821. #define USDHC_FORCE_EVENT_FEVTAC12NE_MASK (0x1U)
  43822. #define USDHC_FORCE_EVENT_FEVTAC12NE_SHIFT (0U)
  43823. /*! FEVTAC12NE - Force Event Auto Command 12 Not Executed
  43824. */
  43825. #define USDHC_FORCE_EVENT_FEVTAC12NE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12NE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12NE_MASK)
  43826. #define USDHC_FORCE_EVENT_FEVTAC12TOE_MASK (0x2U)
  43827. #define USDHC_FORCE_EVENT_FEVTAC12TOE_SHIFT (1U)
  43828. /*! FEVTAC12TOE - Force Event Auto Command 12 Time Out Error
  43829. */
  43830. #define USDHC_FORCE_EVENT_FEVTAC12TOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12TOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12TOE_MASK)
  43831. #define USDHC_FORCE_EVENT_FEVTAC12CE_MASK (0x4U)
  43832. #define USDHC_FORCE_EVENT_FEVTAC12CE_SHIFT (2U)
  43833. /*! FEVTAC12CE - Force Event Auto Command 12 CRC Error
  43834. */
  43835. #define USDHC_FORCE_EVENT_FEVTAC12CE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12CE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12CE_MASK)
  43836. #define USDHC_FORCE_EVENT_FEVTAC12EBE_MASK (0x8U)
  43837. #define USDHC_FORCE_EVENT_FEVTAC12EBE_SHIFT (3U)
  43838. /*! FEVTAC12EBE - Force Event Auto Command 12 End Bit Error
  43839. */
  43840. #define USDHC_FORCE_EVENT_FEVTAC12EBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12EBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12EBE_MASK)
  43841. #define USDHC_FORCE_EVENT_FEVTAC12IE_MASK (0x10U)
  43842. #define USDHC_FORCE_EVENT_FEVTAC12IE_SHIFT (4U)
  43843. /*! FEVTAC12IE - Force Event Auto Command 12 Index Error
  43844. */
  43845. #define USDHC_FORCE_EVENT_FEVTAC12IE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12IE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12IE_MASK)
  43846. #define USDHC_FORCE_EVENT_FEVTCNIBAC12E_MASK (0x80U)
  43847. #define USDHC_FORCE_EVENT_FEVTCNIBAC12E_SHIFT (7U)
  43848. /*! FEVTCNIBAC12E - Force Event Command Not Executed By Auto Command 12 Error
  43849. */
  43850. #define USDHC_FORCE_EVENT_FEVTCNIBAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCNIBAC12E_SHIFT)) & USDHC_FORCE_EVENT_FEVTCNIBAC12E_MASK)
  43851. #define USDHC_FORCE_EVENT_FEVTCTOE_MASK (0x10000U)
  43852. #define USDHC_FORCE_EVENT_FEVTCTOE_SHIFT (16U)
  43853. /*! FEVTCTOE - Force Event Command Time Out Error
  43854. */
  43855. #define USDHC_FORCE_EVENT_FEVTCTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCTOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCTOE_MASK)
  43856. #define USDHC_FORCE_EVENT_FEVTCCE_MASK (0x20000U)
  43857. #define USDHC_FORCE_EVENT_FEVTCCE_SHIFT (17U)
  43858. /*! FEVTCCE - Force Event Command CRC Error
  43859. */
  43860. #define USDHC_FORCE_EVENT_FEVTCCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCCE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCCE_MASK)
  43861. #define USDHC_FORCE_EVENT_FEVTCEBE_MASK (0x40000U)
  43862. #define USDHC_FORCE_EVENT_FEVTCEBE_SHIFT (18U)
  43863. /*! FEVTCEBE - Force Event Command End Bit Error
  43864. */
  43865. #define USDHC_FORCE_EVENT_FEVTCEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCEBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCEBE_MASK)
  43866. #define USDHC_FORCE_EVENT_FEVTCIE_MASK (0x80000U)
  43867. #define USDHC_FORCE_EVENT_FEVTCIE_SHIFT (19U)
  43868. /*! FEVTCIE - Force Event Command Index Error
  43869. */
  43870. #define USDHC_FORCE_EVENT_FEVTCIE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCIE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCIE_MASK)
  43871. #define USDHC_FORCE_EVENT_FEVTDTOE_MASK (0x100000U)
  43872. #define USDHC_FORCE_EVENT_FEVTDTOE_SHIFT (20U)
  43873. /*! FEVTDTOE - Force Event Data Time Out Error
  43874. */
  43875. #define USDHC_FORCE_EVENT_FEVTDTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDTOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDTOE_MASK)
  43876. #define USDHC_FORCE_EVENT_FEVTDCE_MASK (0x200000U)
  43877. #define USDHC_FORCE_EVENT_FEVTDCE_SHIFT (21U)
  43878. /*! FEVTDCE - Force Event Data CRC Error
  43879. */
  43880. #define USDHC_FORCE_EVENT_FEVTDCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDCE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDCE_MASK)
  43881. #define USDHC_FORCE_EVENT_FEVTDEBE_MASK (0x400000U)
  43882. #define USDHC_FORCE_EVENT_FEVTDEBE_SHIFT (22U)
  43883. /*! FEVTDEBE - Force Event Data End Bit Error
  43884. */
  43885. #define USDHC_FORCE_EVENT_FEVTDEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDEBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDEBE_MASK)
  43886. #define USDHC_FORCE_EVENT_FEVTAC12E_MASK (0x1000000U)
  43887. #define USDHC_FORCE_EVENT_FEVTAC12E_SHIFT (24U)
  43888. /*! FEVTAC12E - Force Event Auto Command 12 Error
  43889. */
  43890. #define USDHC_FORCE_EVENT_FEVTAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12E_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12E_MASK)
  43891. #define USDHC_FORCE_EVENT_FEVTTNE_MASK (0x4000000U)
  43892. #define USDHC_FORCE_EVENT_FEVTTNE_SHIFT (26U)
  43893. /*! FEVTTNE - Force Tuning Error
  43894. */
  43895. #define USDHC_FORCE_EVENT_FEVTTNE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTTNE_SHIFT)) & USDHC_FORCE_EVENT_FEVTTNE_MASK)
  43896. #define USDHC_FORCE_EVENT_FEVTDMAE_MASK (0x10000000U)
  43897. #define USDHC_FORCE_EVENT_FEVTDMAE_SHIFT (28U)
  43898. /*! FEVTDMAE - Force Event DMA Error
  43899. */
  43900. #define USDHC_FORCE_EVENT_FEVTDMAE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDMAE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDMAE_MASK)
  43901. #define USDHC_FORCE_EVENT_FEVTCINT_MASK (0x80000000U)
  43902. #define USDHC_FORCE_EVENT_FEVTCINT_SHIFT (31U)
  43903. /*! FEVTCINT - Force Event Card Interrupt
  43904. */
  43905. #define USDHC_FORCE_EVENT_FEVTCINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCINT_SHIFT)) & USDHC_FORCE_EVENT_FEVTCINT_MASK)
  43906. /*! @} */
  43907. /*! @name ADMA_ERR_STATUS - ADMA Error Status Register */
  43908. /*! @{ */
  43909. #define USDHC_ADMA_ERR_STATUS_ADMAES_MASK (0x3U)
  43910. #define USDHC_ADMA_ERR_STATUS_ADMAES_SHIFT (0U)
  43911. /*! ADMAES - ADMA Error State (when ADMA Error is occurred)
  43912. */
  43913. #define USDHC_ADMA_ERR_STATUS_ADMAES(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMAES_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMAES_MASK)
  43914. #define USDHC_ADMA_ERR_STATUS_ADMALME_MASK (0x4U)
  43915. #define USDHC_ADMA_ERR_STATUS_ADMALME_SHIFT (2U)
  43916. /*! ADMALME - ADMA Length Mismatch Error
  43917. * 0b1..Error
  43918. * 0b0..No Error
  43919. */
  43920. #define USDHC_ADMA_ERR_STATUS_ADMALME(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMALME_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMALME_MASK)
  43921. #define USDHC_ADMA_ERR_STATUS_ADMADCE_MASK (0x8U)
  43922. #define USDHC_ADMA_ERR_STATUS_ADMADCE_SHIFT (3U)
  43923. /*! ADMADCE - ADMA Descriptor Error
  43924. * 0b1..Error
  43925. * 0b0..No Error
  43926. */
  43927. #define USDHC_ADMA_ERR_STATUS_ADMADCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMADCE_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMADCE_MASK)
  43928. /*! @} */
  43929. /*! @name ADMA_SYS_ADDR - ADMA System Address */
  43930. /*! @{ */
  43931. #define USDHC_ADMA_SYS_ADDR_ADS_ADDR_MASK (0xFFFFFFFCU)
  43932. #define USDHC_ADMA_SYS_ADDR_ADS_ADDR_SHIFT (2U)
  43933. /*! ADS_ADDR - ADMA System Address
  43934. */
  43935. #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)
  43936. /*! @} */
  43937. /*! @name DLL_CTRL - DLL (Delay Line) Control */
  43938. /*! @{ */
  43939. #define USDHC_DLL_CTRL_DLL_CTRL_ENABLE_MASK (0x1U)
  43940. #define USDHC_DLL_CTRL_DLL_CTRL_ENABLE_SHIFT (0U)
  43941. /*! DLL_CTRL_ENABLE - DLL_CTRL_ENABLE
  43942. */
  43943. #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)
  43944. #define USDHC_DLL_CTRL_DLL_CTRL_RESET_MASK (0x2U)
  43945. #define USDHC_DLL_CTRL_DLL_CTRL_RESET_SHIFT (1U)
  43946. /*! DLL_CTRL_RESET - DLL_CTRL_RESET
  43947. */
  43948. #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)
  43949. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD_MASK (0x4U)
  43950. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD_SHIFT (2U)
  43951. /*! DLL_CTRL_SLV_FORCE_UPD - DLL_CTRL_SLV_FORCE_UPD
  43952. */
  43953. #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)
  43954. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0_MASK (0x78U)
  43955. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0_SHIFT (3U)
  43956. /*! DLL_CTRL_SLV_DLY_TARGET0 - DLL_CTRL_SLV_DLY_TARGET0
  43957. */
  43958. #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)
  43959. #define USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE_MASK (0x80U)
  43960. #define USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE_SHIFT (7U)
  43961. /*! DLL_CTRL_GATE_UPDATE - DLL_CTRL_GATE_UPDATE
  43962. */
  43963. #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)
  43964. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_MASK (0x100U)
  43965. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_SHIFT (8U)
  43966. /*! DLL_CTRL_SLV_OVERRIDE - DLL_CTRL_SLV_OVERRIDE
  43967. */
  43968. #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)
  43969. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL_MASK (0xFE00U)
  43970. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL_SHIFT (9U)
  43971. /*! DLL_CTRL_SLV_OVERRIDE_VAL - DLL_CTRL_SLV_OVERRIDE_VAL
  43972. */
  43973. #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)
  43974. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1_MASK (0x70000U)
  43975. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1_SHIFT (16U)
  43976. /*! DLL_CTRL_SLV_DLY_TARGET1 - DLL_CTRL_SLV_DLY_TARGET1
  43977. */
  43978. #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)
  43979. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT_MASK (0xFF00000U)
  43980. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT_SHIFT (20U)
  43981. /*! DLL_CTRL_SLV_UPDATE_INT - DLL_CTRL_SLV_UPDATE_INT
  43982. */
  43983. #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)
  43984. #define USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT_MASK (0xF0000000U)
  43985. #define USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT_SHIFT (28U)
  43986. /*! DLL_CTRL_REF_UPDATE_INT - DLL_CTRL_REF_UPDATE_INT
  43987. */
  43988. #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)
  43989. /*! @} */
  43990. /*! @name DLL_STATUS - DLL Status */
  43991. /*! @{ */
  43992. #define USDHC_DLL_STATUS_DLL_STS_SLV_LOCK_MASK (0x1U)
  43993. #define USDHC_DLL_STATUS_DLL_STS_SLV_LOCK_SHIFT (0U)
  43994. /*! DLL_STS_SLV_LOCK - DLL_STS_SLV_LOCK
  43995. */
  43996. #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)
  43997. #define USDHC_DLL_STATUS_DLL_STS_REF_LOCK_MASK (0x2U)
  43998. #define USDHC_DLL_STATUS_DLL_STS_REF_LOCK_SHIFT (1U)
  43999. /*! DLL_STS_REF_LOCK - DLL_STS_REF_LOCK
  44000. */
  44001. #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)
  44002. #define USDHC_DLL_STATUS_DLL_STS_SLV_SEL_MASK (0x1FCU)
  44003. #define USDHC_DLL_STATUS_DLL_STS_SLV_SEL_SHIFT (2U)
  44004. /*! DLL_STS_SLV_SEL - DLL_STS_SLV_SEL
  44005. */
  44006. #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)
  44007. #define USDHC_DLL_STATUS_DLL_STS_REF_SEL_MASK (0xFE00U)
  44008. #define USDHC_DLL_STATUS_DLL_STS_REF_SEL_SHIFT (9U)
  44009. /*! DLL_STS_REF_SEL - DLL_STS_REF_SEL
  44010. */
  44011. #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)
  44012. /*! @} */
  44013. /*! @name CLK_TUNE_CTRL_STATUS - CLK Tuning Control and Status */
  44014. /*! @{ */
  44015. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_MASK (0xFU)
  44016. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_SHIFT (0U)
  44017. /*! DLY_CELL_SET_POST - DLY_CELL_SET_POST
  44018. */
  44019. #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)
  44020. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_MASK (0xF0U)
  44021. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_SHIFT (4U)
  44022. /*! DLY_CELL_SET_OUT - DLY_CELL_SET_OUT
  44023. */
  44024. #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)
  44025. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_MASK (0x7F00U)
  44026. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_SHIFT (8U)
  44027. /*! DLY_CELL_SET_PRE - DLY_CELL_SET_PRE
  44028. */
  44029. #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)
  44030. #define USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR_MASK (0x8000U)
  44031. #define USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR_SHIFT (15U)
  44032. /*! NXT_ERR - NXT_ERR
  44033. */
  44034. #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)
  44035. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST_MASK (0xF0000U)
  44036. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST_SHIFT (16U)
  44037. /*! TAP_SEL_POST - TAP_SEL_POST
  44038. */
  44039. #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)
  44040. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT_MASK (0xF00000U)
  44041. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT_SHIFT (20U)
  44042. /*! TAP_SEL_OUT - TAP_SEL_OUT
  44043. */
  44044. #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)
  44045. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE_MASK (0x7F000000U)
  44046. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE_SHIFT (24U)
  44047. /*! TAP_SEL_PRE - TAP_SEL_PRE
  44048. */
  44049. #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)
  44050. #define USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR_MASK (0x80000000U)
  44051. #define USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR_SHIFT (31U)
  44052. /*! PRE_ERR - PRE_ERR
  44053. */
  44054. #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)
  44055. /*! @} */
  44056. /*! @name VEND_SPEC - Vendor Specific Register */
  44057. /*! @{ */
  44058. #define USDHC_VEND_SPEC_VSELECT_MASK (0x2U)
  44059. #define USDHC_VEND_SPEC_VSELECT_SHIFT (1U)
  44060. /*! VSELECT - Voltage Selection
  44061. * 0b1..Change the voltage to low voltage range, around 1.8 V
  44062. * 0b0..Change the voltage to high voltage range, around 3.0 V
  44063. */
  44064. #define USDHC_VEND_SPEC_VSELECT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_VSELECT_SHIFT)) & USDHC_VEND_SPEC_VSELECT_MASK)
  44065. #define USDHC_VEND_SPEC_CONFLICT_CHK_EN_MASK (0x4U)
  44066. #define USDHC_VEND_SPEC_CONFLICT_CHK_EN_SHIFT (2U)
  44067. /*! CONFLICT_CHK_EN - Conflict check enable.
  44068. * 0b0..Conflict check disable
  44069. * 0b1..Conflict check enable
  44070. */
  44071. #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)
  44072. #define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_MASK (0x8U)
  44073. #define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_SHIFT (3U)
  44074. /*! AC12_WR_CHKBUSY_EN - AC12_WR_CHKBUSY_EN
  44075. * 0b0..Do not check busy after auto CMD12 for write data packet
  44076. * 0b1..Check busy after auto CMD12 for write data packet
  44077. */
  44078. #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)
  44079. #define USDHC_VEND_SPEC_FRC_SDCLK_ON_MASK (0x100U)
  44080. #define USDHC_VEND_SPEC_FRC_SDCLK_ON_SHIFT (8U)
  44081. /*! FRC_SDCLK_ON - FRC_SDCLK_ON
  44082. * 0b0..CLK active or inactive is fully controlled by the hardware.
  44083. * 0b1..Force CLK active.
  44084. */
  44085. #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)
  44086. #define USDHC_VEND_SPEC_CRC_CHK_DIS_MASK (0x8000U)
  44087. #define USDHC_VEND_SPEC_CRC_CHK_DIS_SHIFT (15U)
  44088. /*! CRC_CHK_DIS - CRC Check Disable
  44089. * 0b0..Check CRC16 for every read data packet and check CRC bits for every write data packet
  44090. * 0b1..Ignore CRC16 check for every read data packet and ignore CRC bits check for every write data packet
  44091. */
  44092. #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)
  44093. #define USDHC_VEND_SPEC_CMD_BYTE_EN_MASK (0x80000000U)
  44094. #define USDHC_VEND_SPEC_CMD_BYTE_EN_SHIFT (31U)
  44095. /*! CMD_BYTE_EN - CMD_BYTE_EN
  44096. * 0b0..Disable
  44097. * 0b1..Enable
  44098. */
  44099. #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)
  44100. /*! @} */
  44101. /*! @name MMC_BOOT - MMC Boot Register */
  44102. /*! @{ */
  44103. #define USDHC_MMC_BOOT_DTOCV_ACK_MASK (0xFU)
  44104. #define USDHC_MMC_BOOT_DTOCV_ACK_SHIFT (0U)
  44105. /*! DTOCV_ACK - DTOCV_ACK
  44106. * 0b0000..SDCLK x 2^14
  44107. * 0b0001..SDCLK x 2^15
  44108. * 0b0010..SDCLK x 2^16
  44109. * 0b0011..SDCLK x 2^17
  44110. * 0b0100..SDCLK x 2^18
  44111. * 0b0101..SDCLK x 2^19
  44112. * 0b0110..SDCLK x 2^20
  44113. * 0b0111..SDCLK x 2^21
  44114. * 0b1110..SDCLK x 2^28
  44115. * 0b1111..SDCLK x 2^29
  44116. */
  44117. #define USDHC_MMC_BOOT_DTOCV_ACK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_DTOCV_ACK_SHIFT)) & USDHC_MMC_BOOT_DTOCV_ACK_MASK)
  44118. #define USDHC_MMC_BOOT_BOOT_ACK_MASK (0x10U)
  44119. #define USDHC_MMC_BOOT_BOOT_ACK_SHIFT (4U)
  44120. /*! BOOT_ACK - BOOT_ACK
  44121. * 0b0..No ack
  44122. * 0b1..Ack
  44123. */
  44124. #define USDHC_MMC_BOOT_BOOT_ACK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_ACK_SHIFT)) & USDHC_MMC_BOOT_BOOT_ACK_MASK)
  44125. #define USDHC_MMC_BOOT_BOOT_MODE_MASK (0x20U)
  44126. #define USDHC_MMC_BOOT_BOOT_MODE_SHIFT (5U)
  44127. /*! BOOT_MODE - BOOT_MODE
  44128. * 0b0..Normal boot
  44129. * 0b1..Alternative boot
  44130. */
  44131. #define USDHC_MMC_BOOT_BOOT_MODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_MODE_SHIFT)) & USDHC_MMC_BOOT_BOOT_MODE_MASK)
  44132. #define USDHC_MMC_BOOT_BOOT_EN_MASK (0x40U)
  44133. #define USDHC_MMC_BOOT_BOOT_EN_SHIFT (6U)
  44134. /*! BOOT_EN - BOOT_EN
  44135. * 0b0..Fast boot disable
  44136. * 0b1..Fast boot enable
  44137. */
  44138. #define USDHC_MMC_BOOT_BOOT_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_EN_SHIFT)) & USDHC_MMC_BOOT_BOOT_EN_MASK)
  44139. #define USDHC_MMC_BOOT_AUTO_SABG_EN_MASK (0x80U)
  44140. #define USDHC_MMC_BOOT_AUTO_SABG_EN_SHIFT (7U)
  44141. /*! AUTO_SABG_EN - AUTO_SABG_EN
  44142. */
  44143. #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)
  44144. #define USDHC_MMC_BOOT_DISABLE_TIME_OUT_MASK (0x100U)
  44145. #define USDHC_MMC_BOOT_DISABLE_TIME_OUT_SHIFT (8U)
  44146. /*! DISABLE_TIME_OUT - Disable Time Out
  44147. * 0b0..Enable time out
  44148. * 0b1..Disable time out
  44149. */
  44150. #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)
  44151. #define USDHC_MMC_BOOT_BOOT_BLK_CNT_MASK (0xFFFF0000U)
  44152. #define USDHC_MMC_BOOT_BOOT_BLK_CNT_SHIFT (16U)
  44153. /*! BOOT_BLK_CNT - BOOT_BLK_CNT
  44154. */
  44155. #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)
  44156. /*! @} */
  44157. /*! @name VEND_SPEC2 - Vendor Specific 2 Register */
  44158. /*! @{ */
  44159. #define USDHC_VEND_SPEC2_CARD_INT_D3_TEST_MASK (0x8U)
  44160. #define USDHC_VEND_SPEC2_CARD_INT_D3_TEST_SHIFT (3U)
  44161. /*! CARD_INT_D3_TEST - Card Interrupt Detection Test
  44162. * 0b0..Check the card interrupt only when DATA3 is high.
  44163. * 0b1..Check the card interrupt by ignoring the status of DATA3.
  44164. */
  44165. #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)
  44166. #define USDHC_VEND_SPEC2_TUNING_8bit_EN_MASK (0x10U)
  44167. #define USDHC_VEND_SPEC2_TUNING_8bit_EN_SHIFT (4U)
  44168. /*! TUNING_8bit_EN - TUNING_8bit_EN
  44169. */
  44170. #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)
  44171. #define USDHC_VEND_SPEC2_TUNING_1bit_EN_MASK (0x20U)
  44172. #define USDHC_VEND_SPEC2_TUNING_1bit_EN_SHIFT (5U)
  44173. /*! TUNING_1bit_EN - TUNING_1bit_EN
  44174. */
  44175. #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)
  44176. #define USDHC_VEND_SPEC2_TUNING_CMD_EN_MASK (0x40U)
  44177. #define USDHC_VEND_SPEC2_TUNING_CMD_EN_SHIFT (6U)
  44178. /*! TUNING_CMD_EN - TUNING_CMD_EN
  44179. * 0b0..Auto tuning circuit does not check the CMD line.
  44180. * 0b1..Auto tuning circuit checks the CMD line.
  44181. */
  44182. #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)
  44183. #define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_MASK (0x1000U)
  44184. #define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_SHIFT (12U)
  44185. /*! ACMD23_ARGU2_EN - Argument2 register enable for ACMD23
  44186. * 0b1..Argument2 register enable for ACMD23 sharing with SDMA system address register. Default is enable.
  44187. * 0b0..Disable
  44188. */
  44189. #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)
  44190. #define USDHC_VEND_SPEC2_PART_DLL_DEBUG_MASK (0x2000U)
  44191. #define USDHC_VEND_SPEC2_PART_DLL_DEBUG_SHIFT (13U)
  44192. /*! PART_DLL_DEBUG - debug for part dll
  44193. */
  44194. #define USDHC_VEND_SPEC2_PART_DLL_DEBUG(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_PART_DLL_DEBUG_SHIFT)) & USDHC_VEND_SPEC2_PART_DLL_DEBUG_MASK)
  44195. #define USDHC_VEND_SPEC2_BUS_RST_MASK (0x4000U)
  44196. #define USDHC_VEND_SPEC2_BUS_RST_SHIFT (14U)
  44197. /*! BUS_RST - BUS reset
  44198. */
  44199. #define USDHC_VEND_SPEC2_BUS_RST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_BUS_RST_SHIFT)) & USDHC_VEND_SPEC2_BUS_RST_MASK)
  44200. /*! @} */
  44201. /*! @name TUNING_CTRL - Tuning Control Register */
  44202. /*! @{ */
  44203. #define USDHC_TUNING_CTRL_TUNING_START_TAP_MASK (0xFFU)
  44204. #define USDHC_TUNING_CTRL_TUNING_START_TAP_SHIFT (0U)
  44205. /*! TUNING_START_TAP - TUNING_START_TAP
  44206. */
  44207. #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)
  44208. #define USDHC_TUNING_CTRL_TUNING_COUNTER_MASK (0xFF00U)
  44209. #define USDHC_TUNING_CTRL_TUNING_COUNTER_SHIFT (8U)
  44210. /*! TUNING_COUNTER - TUNING_COUNTER
  44211. */
  44212. #define USDHC_TUNING_CTRL_TUNING_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_COUNTER_SHIFT)) & USDHC_TUNING_CTRL_TUNING_COUNTER_MASK)
  44213. #define USDHC_TUNING_CTRL_TUNING_STEP_MASK (0x70000U)
  44214. #define USDHC_TUNING_CTRL_TUNING_STEP_SHIFT (16U)
  44215. /*! TUNING_STEP - TUNING_STEP
  44216. */
  44217. #define USDHC_TUNING_CTRL_TUNING_STEP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_STEP_SHIFT)) & USDHC_TUNING_CTRL_TUNING_STEP_MASK)
  44218. #define USDHC_TUNING_CTRL_TUNING_WINDOW_MASK (0x700000U)
  44219. #define USDHC_TUNING_CTRL_TUNING_WINDOW_SHIFT (20U)
  44220. /*! TUNING_WINDOW - TUNING_WINDOW
  44221. */
  44222. #define USDHC_TUNING_CTRL_TUNING_WINDOW(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_WINDOW_SHIFT)) & USDHC_TUNING_CTRL_TUNING_WINDOW_MASK)
  44223. #define USDHC_TUNING_CTRL_STD_TUNING_EN_MASK (0x1000000U)
  44224. #define USDHC_TUNING_CTRL_STD_TUNING_EN_SHIFT (24U)
  44225. /*! STD_TUNING_EN - STD_TUNING_EN
  44226. */
  44227. #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)
  44228. /*! @} */
  44229. /*!
  44230. * @}
  44231. */ /* end of group USDHC_Register_Masks */
  44232. /* USDHC - Peripheral instance base addresses */
  44233. /** Peripheral USDHC1 base address */
  44234. #define USDHC1_BASE (0x402C0000u)
  44235. /** Peripheral USDHC1 base pointer */
  44236. #define USDHC1 ((USDHC_Type *)USDHC1_BASE)
  44237. /** Peripheral USDHC2 base address */
  44238. #define USDHC2_BASE (0x402C4000u)
  44239. /** Peripheral USDHC2 base pointer */
  44240. #define USDHC2 ((USDHC_Type *)USDHC2_BASE)
  44241. /** Array initializer of USDHC peripheral base addresses */
  44242. #define USDHC_BASE_ADDRS { 0u, USDHC1_BASE, USDHC2_BASE }
  44243. /** Array initializer of USDHC peripheral base pointers */
  44244. #define USDHC_BASE_PTRS { (USDHC_Type *)0u, USDHC1, USDHC2 }
  44245. /** Interrupt vectors for the USDHC peripheral type */
  44246. #define USDHC_IRQS { NotAvail_IRQn, USDHC1_IRQn, USDHC2_IRQn }
  44247. /*!
  44248. * @}
  44249. */ /* end of group USDHC_Peripheral_Access_Layer */
  44250. /* ----------------------------------------------------------------------------
  44251. -- WDOG Peripheral Access Layer
  44252. ---------------------------------------------------------------------------- */
  44253. /*!
  44254. * @addtogroup WDOG_Peripheral_Access_Layer WDOG Peripheral Access Layer
  44255. * @{
  44256. */
  44257. /** WDOG - Register Layout Typedef */
  44258. typedef struct {
  44259. __IO uint16_t WCR; /**< Watchdog Control Register, offset: 0x0 */
  44260. __IO uint16_t WSR; /**< Watchdog Service Register, offset: 0x2 */
  44261. __I uint16_t WRSR; /**< Watchdog Reset Status Register, offset: 0x4 */
  44262. __IO uint16_t WICR; /**< Watchdog Interrupt Control Register, offset: 0x6 */
  44263. __IO uint16_t WMCR; /**< Watchdog Miscellaneous Control Register, offset: 0x8 */
  44264. } WDOG_Type;
  44265. /* ----------------------------------------------------------------------------
  44266. -- WDOG Register Masks
  44267. ---------------------------------------------------------------------------- */
  44268. /*!
  44269. * @addtogroup WDOG_Register_Masks WDOG Register Masks
  44270. * @{
  44271. */
  44272. /*! @name WCR - Watchdog Control Register */
  44273. /*! @{ */
  44274. #define WDOG_WCR_WDZST_MASK (0x1U)
  44275. #define WDOG_WCR_WDZST_SHIFT (0U)
  44276. /*! WDZST - WDZST
  44277. * 0b0..Continue timer operation (Default).
  44278. * 0b1..Suspend the watchdog timer.
  44279. */
  44280. #define WDOG_WCR_WDZST(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDZST_SHIFT)) & WDOG_WCR_WDZST_MASK)
  44281. #define WDOG_WCR_WDBG_MASK (0x2U)
  44282. #define WDOG_WCR_WDBG_SHIFT (1U)
  44283. /*! WDBG - WDBG
  44284. * 0b0..Continue WDOG timer operation (Default).
  44285. * 0b1..Suspend the watchdog timer.
  44286. */
  44287. #define WDOG_WCR_WDBG(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDBG_SHIFT)) & WDOG_WCR_WDBG_MASK)
  44288. #define WDOG_WCR_WDE_MASK (0x4U)
  44289. #define WDOG_WCR_WDE_SHIFT (2U)
  44290. /*! WDE - WDE
  44291. * 0b0..Disable the Watchdog (Default).
  44292. * 0b1..Enable the Watchdog.
  44293. */
  44294. #define WDOG_WCR_WDE(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDE_SHIFT)) & WDOG_WCR_WDE_MASK)
  44295. #define WDOG_WCR_WDT_MASK (0x8U)
  44296. #define WDOG_WCR_WDT_SHIFT (3U)
  44297. /*! WDT - WDT
  44298. * 0b0..No effect on WDOG_B (Default).
  44299. * 0b1..Assert WDOG_B upon a Watchdog Time-out event.
  44300. */
  44301. #define WDOG_WCR_WDT(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDT_SHIFT)) & WDOG_WCR_WDT_MASK)
  44302. #define WDOG_WCR_SRS_MASK (0x10U)
  44303. #define WDOG_WCR_SRS_SHIFT (4U)
  44304. /*! SRS - SRS
  44305. * 0b0..Assert system reset signal.
  44306. * 0b1..No effect on the system (Default).
  44307. */
  44308. #define WDOG_WCR_SRS(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_SRS_SHIFT)) & WDOG_WCR_SRS_MASK)
  44309. #define WDOG_WCR_WDA_MASK (0x20U)
  44310. #define WDOG_WCR_WDA_SHIFT (5U)
  44311. /*! WDA - WDA
  44312. * 0b0..Assert WDOG_B output.
  44313. * 0b1..No effect on system (Default).
  44314. */
  44315. #define WDOG_WCR_WDA(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDA_SHIFT)) & WDOG_WCR_WDA_MASK)
  44316. #define WDOG_WCR_SRE_MASK (0x40U)
  44317. #define WDOG_WCR_SRE_SHIFT (6U)
  44318. /*! SRE - software reset extension, an option way to generate software reset
  44319. * 0b0..using original way to generate software reset (default)
  44320. * 0b1..using new way to generate software reset.
  44321. */
  44322. #define WDOG_WCR_SRE(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_SRE_SHIFT)) & WDOG_WCR_SRE_MASK)
  44323. #define WDOG_WCR_WDW_MASK (0x80U)
  44324. #define WDOG_WCR_WDW_SHIFT (7U)
  44325. /*! WDW - WDW
  44326. * 0b0..Continue WDOG timer operation (Default).
  44327. * 0b1..Suspend WDOG timer operation.
  44328. */
  44329. #define WDOG_WCR_WDW(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDW_SHIFT)) & WDOG_WCR_WDW_MASK)
  44330. #define WDOG_WCR_WT_MASK (0xFF00U)
  44331. #define WDOG_WCR_WT_SHIFT (8U)
  44332. /*! WT - WT
  44333. * 0b00000000..- 0.5 Seconds (Default).
  44334. * 0b00000001..- 1.0 Seconds.
  44335. * 0b00000010..- 1.5 Seconds.
  44336. * 0b00000011..- 2.0 Seconds.
  44337. * 0b11111111..- 128 Seconds.
  44338. */
  44339. #define WDOG_WCR_WT(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WT_SHIFT)) & WDOG_WCR_WT_MASK)
  44340. /*! @} */
  44341. /*! @name WSR - Watchdog Service Register */
  44342. /*! @{ */
  44343. #define WDOG_WSR_WSR_MASK (0xFFFFU)
  44344. #define WDOG_WSR_WSR_SHIFT (0U)
  44345. /*! WSR - WSR
  44346. * 0b0101010101010101..Write to the Watchdog Service Register (WDOG_WSR).
  44347. * 0b1010101010101010..Write to the Watchdog Service Register (WDOG_WSR).
  44348. */
  44349. #define WDOG_WSR_WSR(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WSR_WSR_SHIFT)) & WDOG_WSR_WSR_MASK)
  44350. /*! @} */
  44351. /*! @name WRSR - Watchdog Reset Status Register */
  44352. /*! @{ */
  44353. #define WDOG_WRSR_SFTW_MASK (0x1U)
  44354. #define WDOG_WRSR_SFTW_SHIFT (0U)
  44355. /*! SFTW - SFTW
  44356. * 0b0..Reset is not the result of a software reset.
  44357. * 0b1..Reset is the result of a software reset.
  44358. */
  44359. #define WDOG_WRSR_SFTW(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WRSR_SFTW_SHIFT)) & WDOG_WRSR_SFTW_MASK)
  44360. #define WDOG_WRSR_TOUT_MASK (0x2U)
  44361. #define WDOG_WRSR_TOUT_SHIFT (1U)
  44362. /*! TOUT - TOUT
  44363. * 0b0..Reset is not the result of a WDOG timeout.
  44364. * 0b1..Reset is the result of a WDOG timeout.
  44365. */
  44366. #define WDOG_WRSR_TOUT(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WRSR_TOUT_SHIFT)) & WDOG_WRSR_TOUT_MASK)
  44367. #define WDOG_WRSR_POR_MASK (0x10U)
  44368. #define WDOG_WRSR_POR_SHIFT (4U)
  44369. /*! POR - POR
  44370. * 0b0..Reset is not the result of a power on reset.
  44371. * 0b1..Reset is the result of a power on reset.
  44372. */
  44373. #define WDOG_WRSR_POR(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WRSR_POR_SHIFT)) & WDOG_WRSR_POR_MASK)
  44374. /*! @} */
  44375. /*! @name WICR - Watchdog Interrupt Control Register */
  44376. /*! @{ */
  44377. #define WDOG_WICR_WICT_MASK (0xFFU)
  44378. #define WDOG_WICR_WICT_SHIFT (0U)
  44379. /*! WICT - WICT
  44380. * 0b00000000..WICT[7:0] = Time duration between interrupt and time-out is 0 seconds.
  44381. * 0b00000001..WICT[7:0] = Time duration between interrupt and time-out is 0.5 seconds.
  44382. * 0b00000100..WICT[7:0] = Time duration between interrupt and time-out is 2 seconds (Default).
  44383. * 0b11111111..WICT[7:0] = Time duration between interrupt and time-out is 127.5 seconds.
  44384. */
  44385. #define WDOG_WICR_WICT(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WICR_WICT_SHIFT)) & WDOG_WICR_WICT_MASK)
  44386. #define WDOG_WICR_WTIS_MASK (0x4000U)
  44387. #define WDOG_WICR_WTIS_SHIFT (14U)
  44388. /*! WTIS - WTIS
  44389. * 0b0..No interrupt has occurred (Default).
  44390. * 0b1..Interrupt has occurred
  44391. */
  44392. #define WDOG_WICR_WTIS(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WICR_WTIS_SHIFT)) & WDOG_WICR_WTIS_MASK)
  44393. #define WDOG_WICR_WIE_MASK (0x8000U)
  44394. #define WDOG_WICR_WIE_SHIFT (15U)
  44395. /*! WIE - WIE
  44396. * 0b0..Disable Interrupt (Default).
  44397. * 0b1..Enable Interrupt.
  44398. */
  44399. #define WDOG_WICR_WIE(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WICR_WIE_SHIFT)) & WDOG_WICR_WIE_MASK)
  44400. /*! @} */
  44401. /*! @name WMCR - Watchdog Miscellaneous Control Register */
  44402. /*! @{ */
  44403. #define WDOG_WMCR_PDE_MASK (0x1U)
  44404. #define WDOG_WMCR_PDE_SHIFT (0U)
  44405. /*! PDE - PDE
  44406. * 0b0..Power Down Counter of WDOG is disabled.
  44407. * 0b1..Power Down Counter of WDOG is enabled (Default).
  44408. */
  44409. #define WDOG_WMCR_PDE(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WMCR_PDE_SHIFT)) & WDOG_WMCR_PDE_MASK)
  44410. /*! @} */
  44411. /*!
  44412. * @}
  44413. */ /* end of group WDOG_Register_Masks */
  44414. /* WDOG - Peripheral instance base addresses */
  44415. /** Peripheral WDOG1 base address */
  44416. #define WDOG1_BASE (0x400B8000u)
  44417. /** Peripheral WDOG1 base pointer */
  44418. #define WDOG1 ((WDOG_Type *)WDOG1_BASE)
  44419. /** Peripheral WDOG2 base address */
  44420. #define WDOG2_BASE (0x400D0000u)
  44421. /** Peripheral WDOG2 base pointer */
  44422. #define WDOG2 ((WDOG_Type *)WDOG2_BASE)
  44423. /** Array initializer of WDOG peripheral base addresses */
  44424. #define WDOG_BASE_ADDRS { 0u, WDOG1_BASE, WDOG2_BASE }
  44425. /** Array initializer of WDOG peripheral base pointers */
  44426. #define WDOG_BASE_PTRS { (WDOG_Type *)0u, WDOG1, WDOG2 }
  44427. /** Interrupt vectors for the WDOG peripheral type */
  44428. #define WDOG_IRQS { NotAvail_IRQn, WDOG1_IRQn, WDOG2_IRQn }
  44429. /*!
  44430. * @}
  44431. */ /* end of group WDOG_Peripheral_Access_Layer */
  44432. /* ----------------------------------------------------------------------------
  44433. -- XBARA Peripheral Access Layer
  44434. ---------------------------------------------------------------------------- */
  44435. /*!
  44436. * @addtogroup XBARA_Peripheral_Access_Layer XBARA Peripheral Access Layer
  44437. * @{
  44438. */
  44439. /** XBARA - Register Layout Typedef */
  44440. typedef struct {
  44441. __IO uint16_t SEL0; /**< Crossbar A Select Register 0, offset: 0x0 */
  44442. __IO uint16_t SEL1; /**< Crossbar A Select Register 1, offset: 0x2 */
  44443. __IO uint16_t SEL2; /**< Crossbar A Select Register 2, offset: 0x4 */
  44444. __IO uint16_t SEL3; /**< Crossbar A Select Register 3, offset: 0x6 */
  44445. __IO uint16_t SEL4; /**< Crossbar A Select Register 4, offset: 0x8 */
  44446. __IO uint16_t SEL5; /**< Crossbar A Select Register 5, offset: 0xA */
  44447. __IO uint16_t SEL6; /**< Crossbar A Select Register 6, offset: 0xC */
  44448. __IO uint16_t SEL7; /**< Crossbar A Select Register 7, offset: 0xE */
  44449. __IO uint16_t SEL8; /**< Crossbar A Select Register 8, offset: 0x10 */
  44450. __IO uint16_t SEL9; /**< Crossbar A Select Register 9, offset: 0x12 */
  44451. __IO uint16_t SEL10; /**< Crossbar A Select Register 10, offset: 0x14 */
  44452. __IO uint16_t SEL11; /**< Crossbar A Select Register 11, offset: 0x16 */
  44453. __IO uint16_t SEL12; /**< Crossbar A Select Register 12, offset: 0x18 */
  44454. __IO uint16_t SEL13; /**< Crossbar A Select Register 13, offset: 0x1A */
  44455. __IO uint16_t SEL14; /**< Crossbar A Select Register 14, offset: 0x1C */
  44456. __IO uint16_t SEL15; /**< Crossbar A Select Register 15, offset: 0x1E */
  44457. __IO uint16_t SEL16; /**< Crossbar A Select Register 16, offset: 0x20 */
  44458. __IO uint16_t SEL17; /**< Crossbar A Select Register 17, offset: 0x22 */
  44459. __IO uint16_t SEL18; /**< Crossbar A Select Register 18, offset: 0x24 */
  44460. __IO uint16_t SEL19; /**< Crossbar A Select Register 19, offset: 0x26 */
  44461. __IO uint16_t SEL20; /**< Crossbar A Select Register 20, offset: 0x28 */
  44462. __IO uint16_t SEL21; /**< Crossbar A Select Register 21, offset: 0x2A */
  44463. __IO uint16_t SEL22; /**< Crossbar A Select Register 22, offset: 0x2C */
  44464. __IO uint16_t SEL23; /**< Crossbar A Select Register 23, offset: 0x2E */
  44465. __IO uint16_t SEL24; /**< Crossbar A Select Register 24, offset: 0x30 */
  44466. __IO uint16_t SEL25; /**< Crossbar A Select Register 25, offset: 0x32 */
  44467. __IO uint16_t SEL26; /**< Crossbar A Select Register 26, offset: 0x34 */
  44468. __IO uint16_t SEL27; /**< Crossbar A Select Register 27, offset: 0x36 */
  44469. __IO uint16_t SEL28; /**< Crossbar A Select Register 28, offset: 0x38 */
  44470. __IO uint16_t SEL29; /**< Crossbar A Select Register 29, offset: 0x3A */
  44471. __IO uint16_t SEL30; /**< Crossbar A Select Register 30, offset: 0x3C */
  44472. __IO uint16_t SEL31; /**< Crossbar A Select Register 31, offset: 0x3E */
  44473. __IO uint16_t SEL32; /**< Crossbar A Select Register 32, offset: 0x40 */
  44474. __IO uint16_t SEL33; /**< Crossbar A Select Register 33, offset: 0x42 */
  44475. __IO uint16_t SEL34; /**< Crossbar A Select Register 34, offset: 0x44 */
  44476. __IO uint16_t SEL35; /**< Crossbar A Select Register 35, offset: 0x46 */
  44477. __IO uint16_t SEL36; /**< Crossbar A Select Register 36, offset: 0x48 */
  44478. __IO uint16_t SEL37; /**< Crossbar A Select Register 37, offset: 0x4A */
  44479. __IO uint16_t SEL38; /**< Crossbar A Select Register 38, offset: 0x4C */
  44480. __IO uint16_t SEL39; /**< Crossbar A Select Register 39, offset: 0x4E */
  44481. __IO uint16_t SEL40; /**< Crossbar A Select Register 40, offset: 0x50 */
  44482. __IO uint16_t SEL41; /**< Crossbar A Select Register 41, offset: 0x52 */
  44483. __IO uint16_t SEL42; /**< Crossbar A Select Register 42, offset: 0x54 */
  44484. __IO uint16_t SEL43; /**< Crossbar A Select Register 43, offset: 0x56 */
  44485. __IO uint16_t SEL44; /**< Crossbar A Select Register 44, offset: 0x58 */
  44486. __IO uint16_t SEL45; /**< Crossbar A Select Register 45, offset: 0x5A */
  44487. __IO uint16_t SEL46; /**< Crossbar A Select Register 46, offset: 0x5C */
  44488. __IO uint16_t SEL47; /**< Crossbar A Select Register 47, offset: 0x5E */
  44489. __IO uint16_t SEL48; /**< Crossbar A Select Register 48, offset: 0x60 */
  44490. __IO uint16_t SEL49; /**< Crossbar A Select Register 49, offset: 0x62 */
  44491. __IO uint16_t SEL50; /**< Crossbar A Select Register 50, offset: 0x64 */
  44492. __IO uint16_t SEL51; /**< Crossbar A Select Register 51, offset: 0x66 */
  44493. __IO uint16_t SEL52; /**< Crossbar A Select Register 52, offset: 0x68 */
  44494. __IO uint16_t SEL53; /**< Crossbar A Select Register 53, offset: 0x6A */
  44495. __IO uint16_t SEL54; /**< Crossbar A Select Register 54, offset: 0x6C */
  44496. __IO uint16_t SEL55; /**< Crossbar A Select Register 55, offset: 0x6E */
  44497. __IO uint16_t SEL56; /**< Crossbar A Select Register 56, offset: 0x70 */
  44498. __IO uint16_t SEL57; /**< Crossbar A Select Register 57, offset: 0x72 */
  44499. __IO uint16_t SEL58; /**< Crossbar A Select Register 58, offset: 0x74 */
  44500. __IO uint16_t SEL59; /**< Crossbar A Select Register 59, offset: 0x76 */
  44501. __IO uint16_t SEL60; /**< Crossbar A Select Register 60, offset: 0x78 */
  44502. __IO uint16_t SEL61; /**< Crossbar A Select Register 61, offset: 0x7A */
  44503. __IO uint16_t SEL62; /**< Crossbar A Select Register 62, offset: 0x7C */
  44504. __IO uint16_t SEL63; /**< Crossbar A Select Register 63, offset: 0x7E */
  44505. __IO uint16_t SEL64; /**< Crossbar A Select Register 64, offset: 0x80 */
  44506. __IO uint16_t SEL65; /**< Crossbar A Select Register 65, offset: 0x82 */
  44507. __IO uint16_t CTRL0; /**< Crossbar A Control Register 0, offset: 0x84 */
  44508. __IO uint16_t CTRL1; /**< Crossbar A Control Register 1, offset: 0x86 */
  44509. } XBARA_Type;
  44510. /* ----------------------------------------------------------------------------
  44511. -- XBARA Register Masks
  44512. ---------------------------------------------------------------------------- */
  44513. /*!
  44514. * @addtogroup XBARA_Register_Masks XBARA Register Masks
  44515. * @{
  44516. */
  44517. /*! @name SEL0 - Crossbar A Select Register 0 */
  44518. /*! @{ */
  44519. #define XBARA_SEL0_SEL0_MASK (0x7FU)
  44520. #define XBARA_SEL0_SEL0_SHIFT (0U)
  44521. #define XBARA_SEL0_SEL0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL0_SEL0_SHIFT)) & XBARA_SEL0_SEL0_MASK)
  44522. #define XBARA_SEL0_SEL1_MASK (0x7F00U)
  44523. #define XBARA_SEL0_SEL1_SHIFT (8U)
  44524. #define XBARA_SEL0_SEL1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL0_SEL1_SHIFT)) & XBARA_SEL0_SEL1_MASK)
  44525. /*! @} */
  44526. /*! @name SEL1 - Crossbar A Select Register 1 */
  44527. /*! @{ */
  44528. #define XBARA_SEL1_SEL2_MASK (0x7FU)
  44529. #define XBARA_SEL1_SEL2_SHIFT (0U)
  44530. #define XBARA_SEL1_SEL2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL1_SEL2_SHIFT)) & XBARA_SEL1_SEL2_MASK)
  44531. #define XBARA_SEL1_SEL3_MASK (0x7F00U)
  44532. #define XBARA_SEL1_SEL3_SHIFT (8U)
  44533. #define XBARA_SEL1_SEL3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL1_SEL3_SHIFT)) & XBARA_SEL1_SEL3_MASK)
  44534. /*! @} */
  44535. /*! @name SEL2 - Crossbar A Select Register 2 */
  44536. /*! @{ */
  44537. #define XBARA_SEL2_SEL4_MASK (0x7FU)
  44538. #define XBARA_SEL2_SEL4_SHIFT (0U)
  44539. #define XBARA_SEL2_SEL4(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL2_SEL4_SHIFT)) & XBARA_SEL2_SEL4_MASK)
  44540. #define XBARA_SEL2_SEL5_MASK (0x7F00U)
  44541. #define XBARA_SEL2_SEL5_SHIFT (8U)
  44542. #define XBARA_SEL2_SEL5(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL2_SEL5_SHIFT)) & XBARA_SEL2_SEL5_MASK)
  44543. /*! @} */
  44544. /*! @name SEL3 - Crossbar A Select Register 3 */
  44545. /*! @{ */
  44546. #define XBARA_SEL3_SEL6_MASK (0x7FU)
  44547. #define XBARA_SEL3_SEL6_SHIFT (0U)
  44548. #define XBARA_SEL3_SEL6(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL3_SEL6_SHIFT)) & XBARA_SEL3_SEL6_MASK)
  44549. #define XBARA_SEL3_SEL7_MASK (0x7F00U)
  44550. #define XBARA_SEL3_SEL7_SHIFT (8U)
  44551. #define XBARA_SEL3_SEL7(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL3_SEL7_SHIFT)) & XBARA_SEL3_SEL7_MASK)
  44552. /*! @} */
  44553. /*! @name SEL4 - Crossbar A Select Register 4 */
  44554. /*! @{ */
  44555. #define XBARA_SEL4_SEL8_MASK (0x7FU)
  44556. #define XBARA_SEL4_SEL8_SHIFT (0U)
  44557. #define XBARA_SEL4_SEL8(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL4_SEL8_SHIFT)) & XBARA_SEL4_SEL8_MASK)
  44558. #define XBARA_SEL4_SEL9_MASK (0x7F00U)
  44559. #define XBARA_SEL4_SEL9_SHIFT (8U)
  44560. #define XBARA_SEL4_SEL9(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL4_SEL9_SHIFT)) & XBARA_SEL4_SEL9_MASK)
  44561. /*! @} */
  44562. /*! @name SEL5 - Crossbar A Select Register 5 */
  44563. /*! @{ */
  44564. #define XBARA_SEL5_SEL10_MASK (0x7FU)
  44565. #define XBARA_SEL5_SEL10_SHIFT (0U)
  44566. #define XBARA_SEL5_SEL10(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL5_SEL10_SHIFT)) & XBARA_SEL5_SEL10_MASK)
  44567. #define XBARA_SEL5_SEL11_MASK (0x7F00U)
  44568. #define XBARA_SEL5_SEL11_SHIFT (8U)
  44569. #define XBARA_SEL5_SEL11(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL5_SEL11_SHIFT)) & XBARA_SEL5_SEL11_MASK)
  44570. /*! @} */
  44571. /*! @name SEL6 - Crossbar A Select Register 6 */
  44572. /*! @{ */
  44573. #define XBARA_SEL6_SEL12_MASK (0x7FU)
  44574. #define XBARA_SEL6_SEL12_SHIFT (0U)
  44575. #define XBARA_SEL6_SEL12(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL6_SEL12_SHIFT)) & XBARA_SEL6_SEL12_MASK)
  44576. #define XBARA_SEL6_SEL13_MASK (0x7F00U)
  44577. #define XBARA_SEL6_SEL13_SHIFT (8U)
  44578. #define XBARA_SEL6_SEL13(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL6_SEL13_SHIFT)) & XBARA_SEL6_SEL13_MASK)
  44579. /*! @} */
  44580. /*! @name SEL7 - Crossbar A Select Register 7 */
  44581. /*! @{ */
  44582. #define XBARA_SEL7_SEL14_MASK (0x7FU)
  44583. #define XBARA_SEL7_SEL14_SHIFT (0U)
  44584. #define XBARA_SEL7_SEL14(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL7_SEL14_SHIFT)) & XBARA_SEL7_SEL14_MASK)
  44585. #define XBARA_SEL7_SEL15_MASK (0x7F00U)
  44586. #define XBARA_SEL7_SEL15_SHIFT (8U)
  44587. #define XBARA_SEL7_SEL15(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL7_SEL15_SHIFT)) & XBARA_SEL7_SEL15_MASK)
  44588. /*! @} */
  44589. /*! @name SEL8 - Crossbar A Select Register 8 */
  44590. /*! @{ */
  44591. #define XBARA_SEL8_SEL16_MASK (0x7FU)
  44592. #define XBARA_SEL8_SEL16_SHIFT (0U)
  44593. #define XBARA_SEL8_SEL16(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL8_SEL16_SHIFT)) & XBARA_SEL8_SEL16_MASK)
  44594. #define XBARA_SEL8_SEL17_MASK (0x7F00U)
  44595. #define XBARA_SEL8_SEL17_SHIFT (8U)
  44596. #define XBARA_SEL8_SEL17(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL8_SEL17_SHIFT)) & XBARA_SEL8_SEL17_MASK)
  44597. /*! @} */
  44598. /*! @name SEL9 - Crossbar A Select Register 9 */
  44599. /*! @{ */
  44600. #define XBARA_SEL9_SEL18_MASK (0x7FU)
  44601. #define XBARA_SEL9_SEL18_SHIFT (0U)
  44602. #define XBARA_SEL9_SEL18(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL9_SEL18_SHIFT)) & XBARA_SEL9_SEL18_MASK)
  44603. #define XBARA_SEL9_SEL19_MASK (0x7F00U)
  44604. #define XBARA_SEL9_SEL19_SHIFT (8U)
  44605. #define XBARA_SEL9_SEL19(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL9_SEL19_SHIFT)) & XBARA_SEL9_SEL19_MASK)
  44606. /*! @} */
  44607. /*! @name SEL10 - Crossbar A Select Register 10 */
  44608. /*! @{ */
  44609. #define XBARA_SEL10_SEL20_MASK (0x7FU)
  44610. #define XBARA_SEL10_SEL20_SHIFT (0U)
  44611. #define XBARA_SEL10_SEL20(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL10_SEL20_SHIFT)) & XBARA_SEL10_SEL20_MASK)
  44612. #define XBARA_SEL10_SEL21_MASK (0x7F00U)
  44613. #define XBARA_SEL10_SEL21_SHIFT (8U)
  44614. #define XBARA_SEL10_SEL21(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL10_SEL21_SHIFT)) & XBARA_SEL10_SEL21_MASK)
  44615. /*! @} */
  44616. /*! @name SEL11 - Crossbar A Select Register 11 */
  44617. /*! @{ */
  44618. #define XBARA_SEL11_SEL22_MASK (0x7FU)
  44619. #define XBARA_SEL11_SEL22_SHIFT (0U)
  44620. #define XBARA_SEL11_SEL22(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL11_SEL22_SHIFT)) & XBARA_SEL11_SEL22_MASK)
  44621. #define XBARA_SEL11_SEL23_MASK (0x7F00U)
  44622. #define XBARA_SEL11_SEL23_SHIFT (8U)
  44623. #define XBARA_SEL11_SEL23(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL11_SEL23_SHIFT)) & XBARA_SEL11_SEL23_MASK)
  44624. /*! @} */
  44625. /*! @name SEL12 - Crossbar A Select Register 12 */
  44626. /*! @{ */
  44627. #define XBARA_SEL12_SEL24_MASK (0x7FU)
  44628. #define XBARA_SEL12_SEL24_SHIFT (0U)
  44629. #define XBARA_SEL12_SEL24(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL12_SEL24_SHIFT)) & XBARA_SEL12_SEL24_MASK)
  44630. #define XBARA_SEL12_SEL25_MASK (0x7F00U)
  44631. #define XBARA_SEL12_SEL25_SHIFT (8U)
  44632. #define XBARA_SEL12_SEL25(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL12_SEL25_SHIFT)) & XBARA_SEL12_SEL25_MASK)
  44633. /*! @} */
  44634. /*! @name SEL13 - Crossbar A Select Register 13 */
  44635. /*! @{ */
  44636. #define XBARA_SEL13_SEL26_MASK (0x7FU)
  44637. #define XBARA_SEL13_SEL26_SHIFT (0U)
  44638. #define XBARA_SEL13_SEL26(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL13_SEL26_SHIFT)) & XBARA_SEL13_SEL26_MASK)
  44639. #define XBARA_SEL13_SEL27_MASK (0x7F00U)
  44640. #define XBARA_SEL13_SEL27_SHIFT (8U)
  44641. #define XBARA_SEL13_SEL27(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL13_SEL27_SHIFT)) & XBARA_SEL13_SEL27_MASK)
  44642. /*! @} */
  44643. /*! @name SEL14 - Crossbar A Select Register 14 */
  44644. /*! @{ */
  44645. #define XBARA_SEL14_SEL28_MASK (0x7FU)
  44646. #define XBARA_SEL14_SEL28_SHIFT (0U)
  44647. #define XBARA_SEL14_SEL28(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL14_SEL28_SHIFT)) & XBARA_SEL14_SEL28_MASK)
  44648. #define XBARA_SEL14_SEL29_MASK (0x7F00U)
  44649. #define XBARA_SEL14_SEL29_SHIFT (8U)
  44650. #define XBARA_SEL14_SEL29(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL14_SEL29_SHIFT)) & XBARA_SEL14_SEL29_MASK)
  44651. /*! @} */
  44652. /*! @name SEL15 - Crossbar A Select Register 15 */
  44653. /*! @{ */
  44654. #define XBARA_SEL15_SEL30_MASK (0x7FU)
  44655. #define XBARA_SEL15_SEL30_SHIFT (0U)
  44656. #define XBARA_SEL15_SEL30(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL15_SEL30_SHIFT)) & XBARA_SEL15_SEL30_MASK)
  44657. #define XBARA_SEL15_SEL31_MASK (0x7F00U)
  44658. #define XBARA_SEL15_SEL31_SHIFT (8U)
  44659. #define XBARA_SEL15_SEL31(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL15_SEL31_SHIFT)) & XBARA_SEL15_SEL31_MASK)
  44660. /*! @} */
  44661. /*! @name SEL16 - Crossbar A Select Register 16 */
  44662. /*! @{ */
  44663. #define XBARA_SEL16_SEL32_MASK (0x7FU)
  44664. #define XBARA_SEL16_SEL32_SHIFT (0U)
  44665. #define XBARA_SEL16_SEL32(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL16_SEL32_SHIFT)) & XBARA_SEL16_SEL32_MASK)
  44666. #define XBARA_SEL16_SEL33_MASK (0x7F00U)
  44667. #define XBARA_SEL16_SEL33_SHIFT (8U)
  44668. #define XBARA_SEL16_SEL33(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL16_SEL33_SHIFT)) & XBARA_SEL16_SEL33_MASK)
  44669. /*! @} */
  44670. /*! @name SEL17 - Crossbar A Select Register 17 */
  44671. /*! @{ */
  44672. #define XBARA_SEL17_SEL34_MASK (0x7FU)
  44673. #define XBARA_SEL17_SEL34_SHIFT (0U)
  44674. #define XBARA_SEL17_SEL34(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL17_SEL34_SHIFT)) & XBARA_SEL17_SEL34_MASK)
  44675. #define XBARA_SEL17_SEL35_MASK (0x7F00U)
  44676. #define XBARA_SEL17_SEL35_SHIFT (8U)
  44677. #define XBARA_SEL17_SEL35(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL17_SEL35_SHIFT)) & XBARA_SEL17_SEL35_MASK)
  44678. /*! @} */
  44679. /*! @name SEL18 - Crossbar A Select Register 18 */
  44680. /*! @{ */
  44681. #define XBARA_SEL18_SEL36_MASK (0x7FU)
  44682. #define XBARA_SEL18_SEL36_SHIFT (0U)
  44683. #define XBARA_SEL18_SEL36(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL18_SEL36_SHIFT)) & XBARA_SEL18_SEL36_MASK)
  44684. #define XBARA_SEL18_SEL37_MASK (0x7F00U)
  44685. #define XBARA_SEL18_SEL37_SHIFT (8U)
  44686. #define XBARA_SEL18_SEL37(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL18_SEL37_SHIFT)) & XBARA_SEL18_SEL37_MASK)
  44687. /*! @} */
  44688. /*! @name SEL19 - Crossbar A Select Register 19 */
  44689. /*! @{ */
  44690. #define XBARA_SEL19_SEL38_MASK (0x7FU)
  44691. #define XBARA_SEL19_SEL38_SHIFT (0U)
  44692. #define XBARA_SEL19_SEL38(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL19_SEL38_SHIFT)) & XBARA_SEL19_SEL38_MASK)
  44693. #define XBARA_SEL19_SEL39_MASK (0x7F00U)
  44694. #define XBARA_SEL19_SEL39_SHIFT (8U)
  44695. #define XBARA_SEL19_SEL39(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL19_SEL39_SHIFT)) & XBARA_SEL19_SEL39_MASK)
  44696. /*! @} */
  44697. /*! @name SEL20 - Crossbar A Select Register 20 */
  44698. /*! @{ */
  44699. #define XBARA_SEL20_SEL40_MASK (0x7FU)
  44700. #define XBARA_SEL20_SEL40_SHIFT (0U)
  44701. #define XBARA_SEL20_SEL40(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL20_SEL40_SHIFT)) & XBARA_SEL20_SEL40_MASK)
  44702. #define XBARA_SEL20_SEL41_MASK (0x7F00U)
  44703. #define XBARA_SEL20_SEL41_SHIFT (8U)
  44704. #define XBARA_SEL20_SEL41(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL20_SEL41_SHIFT)) & XBARA_SEL20_SEL41_MASK)
  44705. /*! @} */
  44706. /*! @name SEL21 - Crossbar A Select Register 21 */
  44707. /*! @{ */
  44708. #define XBARA_SEL21_SEL42_MASK (0x7FU)
  44709. #define XBARA_SEL21_SEL42_SHIFT (0U)
  44710. #define XBARA_SEL21_SEL42(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL21_SEL42_SHIFT)) & XBARA_SEL21_SEL42_MASK)
  44711. #define XBARA_SEL21_SEL43_MASK (0x7F00U)
  44712. #define XBARA_SEL21_SEL43_SHIFT (8U)
  44713. #define XBARA_SEL21_SEL43(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL21_SEL43_SHIFT)) & XBARA_SEL21_SEL43_MASK)
  44714. /*! @} */
  44715. /*! @name SEL22 - Crossbar A Select Register 22 */
  44716. /*! @{ */
  44717. #define XBARA_SEL22_SEL44_MASK (0x7FU)
  44718. #define XBARA_SEL22_SEL44_SHIFT (0U)
  44719. #define XBARA_SEL22_SEL44(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL22_SEL44_SHIFT)) & XBARA_SEL22_SEL44_MASK)
  44720. #define XBARA_SEL22_SEL45_MASK (0x7F00U)
  44721. #define XBARA_SEL22_SEL45_SHIFT (8U)
  44722. #define XBARA_SEL22_SEL45(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL22_SEL45_SHIFT)) & XBARA_SEL22_SEL45_MASK)
  44723. /*! @} */
  44724. /*! @name SEL23 - Crossbar A Select Register 23 */
  44725. /*! @{ */
  44726. #define XBARA_SEL23_SEL46_MASK (0x7FU)
  44727. #define XBARA_SEL23_SEL46_SHIFT (0U)
  44728. #define XBARA_SEL23_SEL46(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL23_SEL46_SHIFT)) & XBARA_SEL23_SEL46_MASK)
  44729. #define XBARA_SEL23_SEL47_MASK (0x7F00U)
  44730. #define XBARA_SEL23_SEL47_SHIFT (8U)
  44731. #define XBARA_SEL23_SEL47(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL23_SEL47_SHIFT)) & XBARA_SEL23_SEL47_MASK)
  44732. /*! @} */
  44733. /*! @name SEL24 - Crossbar A Select Register 24 */
  44734. /*! @{ */
  44735. #define XBARA_SEL24_SEL48_MASK (0x7FU)
  44736. #define XBARA_SEL24_SEL48_SHIFT (0U)
  44737. #define XBARA_SEL24_SEL48(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL24_SEL48_SHIFT)) & XBARA_SEL24_SEL48_MASK)
  44738. #define XBARA_SEL24_SEL49_MASK (0x7F00U)
  44739. #define XBARA_SEL24_SEL49_SHIFT (8U)
  44740. #define XBARA_SEL24_SEL49(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL24_SEL49_SHIFT)) & XBARA_SEL24_SEL49_MASK)
  44741. /*! @} */
  44742. /*! @name SEL25 - Crossbar A Select Register 25 */
  44743. /*! @{ */
  44744. #define XBARA_SEL25_SEL50_MASK (0x7FU)
  44745. #define XBARA_SEL25_SEL50_SHIFT (0U)
  44746. #define XBARA_SEL25_SEL50(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL25_SEL50_SHIFT)) & XBARA_SEL25_SEL50_MASK)
  44747. #define XBARA_SEL25_SEL51_MASK (0x7F00U)
  44748. #define XBARA_SEL25_SEL51_SHIFT (8U)
  44749. #define XBARA_SEL25_SEL51(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL25_SEL51_SHIFT)) & XBARA_SEL25_SEL51_MASK)
  44750. /*! @} */
  44751. /*! @name SEL26 - Crossbar A Select Register 26 */
  44752. /*! @{ */
  44753. #define XBARA_SEL26_SEL52_MASK (0x7FU)
  44754. #define XBARA_SEL26_SEL52_SHIFT (0U)
  44755. #define XBARA_SEL26_SEL52(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL26_SEL52_SHIFT)) & XBARA_SEL26_SEL52_MASK)
  44756. #define XBARA_SEL26_SEL53_MASK (0x7F00U)
  44757. #define XBARA_SEL26_SEL53_SHIFT (8U)
  44758. #define XBARA_SEL26_SEL53(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL26_SEL53_SHIFT)) & XBARA_SEL26_SEL53_MASK)
  44759. /*! @} */
  44760. /*! @name SEL27 - Crossbar A Select Register 27 */
  44761. /*! @{ */
  44762. #define XBARA_SEL27_SEL54_MASK (0x7FU)
  44763. #define XBARA_SEL27_SEL54_SHIFT (0U)
  44764. #define XBARA_SEL27_SEL54(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL27_SEL54_SHIFT)) & XBARA_SEL27_SEL54_MASK)
  44765. #define XBARA_SEL27_SEL55_MASK (0x7F00U)
  44766. #define XBARA_SEL27_SEL55_SHIFT (8U)
  44767. #define XBARA_SEL27_SEL55(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL27_SEL55_SHIFT)) & XBARA_SEL27_SEL55_MASK)
  44768. /*! @} */
  44769. /*! @name SEL28 - Crossbar A Select Register 28 */
  44770. /*! @{ */
  44771. #define XBARA_SEL28_SEL56_MASK (0x7FU)
  44772. #define XBARA_SEL28_SEL56_SHIFT (0U)
  44773. #define XBARA_SEL28_SEL56(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL28_SEL56_SHIFT)) & XBARA_SEL28_SEL56_MASK)
  44774. #define XBARA_SEL28_SEL57_MASK (0x7F00U)
  44775. #define XBARA_SEL28_SEL57_SHIFT (8U)
  44776. #define XBARA_SEL28_SEL57(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL28_SEL57_SHIFT)) & XBARA_SEL28_SEL57_MASK)
  44777. /*! @} */
  44778. /*! @name SEL29 - Crossbar A Select Register 29 */
  44779. /*! @{ */
  44780. #define XBARA_SEL29_SEL58_MASK (0x7FU)
  44781. #define XBARA_SEL29_SEL58_SHIFT (0U)
  44782. #define XBARA_SEL29_SEL58(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL29_SEL58_SHIFT)) & XBARA_SEL29_SEL58_MASK)
  44783. #define XBARA_SEL29_SEL59_MASK (0x7F00U)
  44784. #define XBARA_SEL29_SEL59_SHIFT (8U)
  44785. #define XBARA_SEL29_SEL59(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL29_SEL59_SHIFT)) & XBARA_SEL29_SEL59_MASK)
  44786. /*! @} */
  44787. /*! @name SEL30 - Crossbar A Select Register 30 */
  44788. /*! @{ */
  44789. #define XBARA_SEL30_SEL60_MASK (0x7FU)
  44790. #define XBARA_SEL30_SEL60_SHIFT (0U)
  44791. #define XBARA_SEL30_SEL60(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL30_SEL60_SHIFT)) & XBARA_SEL30_SEL60_MASK)
  44792. #define XBARA_SEL30_SEL61_MASK (0x7F00U)
  44793. #define XBARA_SEL30_SEL61_SHIFT (8U)
  44794. #define XBARA_SEL30_SEL61(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL30_SEL61_SHIFT)) & XBARA_SEL30_SEL61_MASK)
  44795. /*! @} */
  44796. /*! @name SEL31 - Crossbar A Select Register 31 */
  44797. /*! @{ */
  44798. #define XBARA_SEL31_SEL62_MASK (0x7FU)
  44799. #define XBARA_SEL31_SEL62_SHIFT (0U)
  44800. #define XBARA_SEL31_SEL62(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL31_SEL62_SHIFT)) & XBARA_SEL31_SEL62_MASK)
  44801. #define XBARA_SEL31_SEL63_MASK (0x7F00U)
  44802. #define XBARA_SEL31_SEL63_SHIFT (8U)
  44803. #define XBARA_SEL31_SEL63(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL31_SEL63_SHIFT)) & XBARA_SEL31_SEL63_MASK)
  44804. /*! @} */
  44805. /*! @name SEL32 - Crossbar A Select Register 32 */
  44806. /*! @{ */
  44807. #define XBARA_SEL32_SEL64_MASK (0x7FU)
  44808. #define XBARA_SEL32_SEL64_SHIFT (0U)
  44809. #define XBARA_SEL32_SEL64(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL32_SEL64_SHIFT)) & XBARA_SEL32_SEL64_MASK)
  44810. #define XBARA_SEL32_SEL65_MASK (0x7F00U)
  44811. #define XBARA_SEL32_SEL65_SHIFT (8U)
  44812. #define XBARA_SEL32_SEL65(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL32_SEL65_SHIFT)) & XBARA_SEL32_SEL65_MASK)
  44813. /*! @} */
  44814. /*! @name SEL33 - Crossbar A Select Register 33 */
  44815. /*! @{ */
  44816. #define XBARA_SEL33_SEL66_MASK (0x7FU)
  44817. #define XBARA_SEL33_SEL66_SHIFT (0U)
  44818. #define XBARA_SEL33_SEL66(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL33_SEL66_SHIFT)) & XBARA_SEL33_SEL66_MASK)
  44819. #define XBARA_SEL33_SEL67_MASK (0x7F00U)
  44820. #define XBARA_SEL33_SEL67_SHIFT (8U)
  44821. #define XBARA_SEL33_SEL67(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL33_SEL67_SHIFT)) & XBARA_SEL33_SEL67_MASK)
  44822. /*! @} */
  44823. /*! @name SEL34 - Crossbar A Select Register 34 */
  44824. /*! @{ */
  44825. #define XBARA_SEL34_SEL68_MASK (0x7FU)
  44826. #define XBARA_SEL34_SEL68_SHIFT (0U)
  44827. #define XBARA_SEL34_SEL68(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL34_SEL68_SHIFT)) & XBARA_SEL34_SEL68_MASK)
  44828. #define XBARA_SEL34_SEL69_MASK (0x7F00U)
  44829. #define XBARA_SEL34_SEL69_SHIFT (8U)
  44830. #define XBARA_SEL34_SEL69(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL34_SEL69_SHIFT)) & XBARA_SEL34_SEL69_MASK)
  44831. /*! @} */
  44832. /*! @name SEL35 - Crossbar A Select Register 35 */
  44833. /*! @{ */
  44834. #define XBARA_SEL35_SEL70_MASK (0x7FU)
  44835. #define XBARA_SEL35_SEL70_SHIFT (0U)
  44836. #define XBARA_SEL35_SEL70(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL35_SEL70_SHIFT)) & XBARA_SEL35_SEL70_MASK)
  44837. #define XBARA_SEL35_SEL71_MASK (0x7F00U)
  44838. #define XBARA_SEL35_SEL71_SHIFT (8U)
  44839. #define XBARA_SEL35_SEL71(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL35_SEL71_SHIFT)) & XBARA_SEL35_SEL71_MASK)
  44840. /*! @} */
  44841. /*! @name SEL36 - Crossbar A Select Register 36 */
  44842. /*! @{ */
  44843. #define XBARA_SEL36_SEL72_MASK (0x7FU)
  44844. #define XBARA_SEL36_SEL72_SHIFT (0U)
  44845. #define XBARA_SEL36_SEL72(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL36_SEL72_SHIFT)) & XBARA_SEL36_SEL72_MASK)
  44846. #define XBARA_SEL36_SEL73_MASK (0x7F00U)
  44847. #define XBARA_SEL36_SEL73_SHIFT (8U)
  44848. #define XBARA_SEL36_SEL73(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL36_SEL73_SHIFT)) & XBARA_SEL36_SEL73_MASK)
  44849. /*! @} */
  44850. /*! @name SEL37 - Crossbar A Select Register 37 */
  44851. /*! @{ */
  44852. #define XBARA_SEL37_SEL74_MASK (0x7FU)
  44853. #define XBARA_SEL37_SEL74_SHIFT (0U)
  44854. #define XBARA_SEL37_SEL74(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL37_SEL74_SHIFT)) & XBARA_SEL37_SEL74_MASK)
  44855. #define XBARA_SEL37_SEL75_MASK (0x7F00U)
  44856. #define XBARA_SEL37_SEL75_SHIFT (8U)
  44857. #define XBARA_SEL37_SEL75(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL37_SEL75_SHIFT)) & XBARA_SEL37_SEL75_MASK)
  44858. /*! @} */
  44859. /*! @name SEL38 - Crossbar A Select Register 38 */
  44860. /*! @{ */
  44861. #define XBARA_SEL38_SEL76_MASK (0x7FU)
  44862. #define XBARA_SEL38_SEL76_SHIFT (0U)
  44863. #define XBARA_SEL38_SEL76(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL38_SEL76_SHIFT)) & XBARA_SEL38_SEL76_MASK)
  44864. #define XBARA_SEL38_SEL77_MASK (0x7F00U)
  44865. #define XBARA_SEL38_SEL77_SHIFT (8U)
  44866. #define XBARA_SEL38_SEL77(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL38_SEL77_SHIFT)) & XBARA_SEL38_SEL77_MASK)
  44867. /*! @} */
  44868. /*! @name SEL39 - Crossbar A Select Register 39 */
  44869. /*! @{ */
  44870. #define XBARA_SEL39_SEL78_MASK (0x7FU)
  44871. #define XBARA_SEL39_SEL78_SHIFT (0U)
  44872. #define XBARA_SEL39_SEL78(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL39_SEL78_SHIFT)) & XBARA_SEL39_SEL78_MASK)
  44873. #define XBARA_SEL39_SEL79_MASK (0x7F00U)
  44874. #define XBARA_SEL39_SEL79_SHIFT (8U)
  44875. #define XBARA_SEL39_SEL79(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL39_SEL79_SHIFT)) & XBARA_SEL39_SEL79_MASK)
  44876. /*! @} */
  44877. /*! @name SEL40 - Crossbar A Select Register 40 */
  44878. /*! @{ */
  44879. #define XBARA_SEL40_SEL80_MASK (0x7FU)
  44880. #define XBARA_SEL40_SEL80_SHIFT (0U)
  44881. #define XBARA_SEL40_SEL80(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL40_SEL80_SHIFT)) & XBARA_SEL40_SEL80_MASK)
  44882. #define XBARA_SEL40_SEL81_MASK (0x7F00U)
  44883. #define XBARA_SEL40_SEL81_SHIFT (8U)
  44884. #define XBARA_SEL40_SEL81(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL40_SEL81_SHIFT)) & XBARA_SEL40_SEL81_MASK)
  44885. /*! @} */
  44886. /*! @name SEL41 - Crossbar A Select Register 41 */
  44887. /*! @{ */
  44888. #define XBARA_SEL41_SEL82_MASK (0x7FU)
  44889. #define XBARA_SEL41_SEL82_SHIFT (0U)
  44890. #define XBARA_SEL41_SEL82(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL41_SEL82_SHIFT)) & XBARA_SEL41_SEL82_MASK)
  44891. #define XBARA_SEL41_SEL83_MASK (0x7F00U)
  44892. #define XBARA_SEL41_SEL83_SHIFT (8U)
  44893. #define XBARA_SEL41_SEL83(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL41_SEL83_SHIFT)) & XBARA_SEL41_SEL83_MASK)
  44894. /*! @} */
  44895. /*! @name SEL42 - Crossbar A Select Register 42 */
  44896. /*! @{ */
  44897. #define XBARA_SEL42_SEL84_MASK (0x7FU)
  44898. #define XBARA_SEL42_SEL84_SHIFT (0U)
  44899. #define XBARA_SEL42_SEL84(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL42_SEL84_SHIFT)) & XBARA_SEL42_SEL84_MASK)
  44900. #define XBARA_SEL42_SEL85_MASK (0x7F00U)
  44901. #define XBARA_SEL42_SEL85_SHIFT (8U)
  44902. #define XBARA_SEL42_SEL85(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL42_SEL85_SHIFT)) & XBARA_SEL42_SEL85_MASK)
  44903. /*! @} */
  44904. /*! @name SEL43 - Crossbar A Select Register 43 */
  44905. /*! @{ */
  44906. #define XBARA_SEL43_SEL86_MASK (0x7FU)
  44907. #define XBARA_SEL43_SEL86_SHIFT (0U)
  44908. #define XBARA_SEL43_SEL86(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL43_SEL86_SHIFT)) & XBARA_SEL43_SEL86_MASK)
  44909. #define XBARA_SEL43_SEL87_MASK (0x7F00U)
  44910. #define XBARA_SEL43_SEL87_SHIFT (8U)
  44911. #define XBARA_SEL43_SEL87(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL43_SEL87_SHIFT)) & XBARA_SEL43_SEL87_MASK)
  44912. /*! @} */
  44913. /*! @name SEL44 - Crossbar A Select Register 44 */
  44914. /*! @{ */
  44915. #define XBARA_SEL44_SEL88_MASK (0x7FU)
  44916. #define XBARA_SEL44_SEL88_SHIFT (0U)
  44917. #define XBARA_SEL44_SEL88(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL44_SEL88_SHIFT)) & XBARA_SEL44_SEL88_MASK)
  44918. #define XBARA_SEL44_SEL89_MASK (0x7F00U)
  44919. #define XBARA_SEL44_SEL89_SHIFT (8U)
  44920. #define XBARA_SEL44_SEL89(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL44_SEL89_SHIFT)) & XBARA_SEL44_SEL89_MASK)
  44921. /*! @} */
  44922. /*! @name SEL45 - Crossbar A Select Register 45 */
  44923. /*! @{ */
  44924. #define XBARA_SEL45_SEL90_MASK (0x7FU)
  44925. #define XBARA_SEL45_SEL90_SHIFT (0U)
  44926. #define XBARA_SEL45_SEL90(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL45_SEL90_SHIFT)) & XBARA_SEL45_SEL90_MASK)
  44927. #define XBARA_SEL45_SEL91_MASK (0x7F00U)
  44928. #define XBARA_SEL45_SEL91_SHIFT (8U)
  44929. #define XBARA_SEL45_SEL91(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL45_SEL91_SHIFT)) & XBARA_SEL45_SEL91_MASK)
  44930. /*! @} */
  44931. /*! @name SEL46 - Crossbar A Select Register 46 */
  44932. /*! @{ */
  44933. #define XBARA_SEL46_SEL92_MASK (0x7FU)
  44934. #define XBARA_SEL46_SEL92_SHIFT (0U)
  44935. #define XBARA_SEL46_SEL92(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL46_SEL92_SHIFT)) & XBARA_SEL46_SEL92_MASK)
  44936. #define XBARA_SEL46_SEL93_MASK (0x7F00U)
  44937. #define XBARA_SEL46_SEL93_SHIFT (8U)
  44938. #define XBARA_SEL46_SEL93(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL46_SEL93_SHIFT)) & XBARA_SEL46_SEL93_MASK)
  44939. /*! @} */
  44940. /*! @name SEL47 - Crossbar A Select Register 47 */
  44941. /*! @{ */
  44942. #define XBARA_SEL47_SEL94_MASK (0x7FU)
  44943. #define XBARA_SEL47_SEL94_SHIFT (0U)
  44944. #define XBARA_SEL47_SEL94(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL47_SEL94_SHIFT)) & XBARA_SEL47_SEL94_MASK)
  44945. #define XBARA_SEL47_SEL95_MASK (0x7F00U)
  44946. #define XBARA_SEL47_SEL95_SHIFT (8U)
  44947. #define XBARA_SEL47_SEL95(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL47_SEL95_SHIFT)) & XBARA_SEL47_SEL95_MASK)
  44948. /*! @} */
  44949. /*! @name SEL48 - Crossbar A Select Register 48 */
  44950. /*! @{ */
  44951. #define XBARA_SEL48_SEL96_MASK (0x7FU)
  44952. #define XBARA_SEL48_SEL96_SHIFT (0U)
  44953. #define XBARA_SEL48_SEL96(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL48_SEL96_SHIFT)) & XBARA_SEL48_SEL96_MASK)
  44954. #define XBARA_SEL48_SEL97_MASK (0x7F00U)
  44955. #define XBARA_SEL48_SEL97_SHIFT (8U)
  44956. #define XBARA_SEL48_SEL97(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL48_SEL97_SHIFT)) & XBARA_SEL48_SEL97_MASK)
  44957. /*! @} */
  44958. /*! @name SEL49 - Crossbar A Select Register 49 */
  44959. /*! @{ */
  44960. #define XBARA_SEL49_SEL98_MASK (0x7FU)
  44961. #define XBARA_SEL49_SEL98_SHIFT (0U)
  44962. #define XBARA_SEL49_SEL98(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL49_SEL98_SHIFT)) & XBARA_SEL49_SEL98_MASK)
  44963. #define XBARA_SEL49_SEL99_MASK (0x7F00U)
  44964. #define XBARA_SEL49_SEL99_SHIFT (8U)
  44965. #define XBARA_SEL49_SEL99(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL49_SEL99_SHIFT)) & XBARA_SEL49_SEL99_MASK)
  44966. /*! @} */
  44967. /*! @name SEL50 - Crossbar A Select Register 50 */
  44968. /*! @{ */
  44969. #define XBARA_SEL50_SEL100_MASK (0x7FU)
  44970. #define XBARA_SEL50_SEL100_SHIFT (0U)
  44971. #define XBARA_SEL50_SEL100(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL50_SEL100_SHIFT)) & XBARA_SEL50_SEL100_MASK)
  44972. #define XBARA_SEL50_SEL101_MASK (0x7F00U)
  44973. #define XBARA_SEL50_SEL101_SHIFT (8U)
  44974. #define XBARA_SEL50_SEL101(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL50_SEL101_SHIFT)) & XBARA_SEL50_SEL101_MASK)
  44975. /*! @} */
  44976. /*! @name SEL51 - Crossbar A Select Register 51 */
  44977. /*! @{ */
  44978. #define XBARA_SEL51_SEL102_MASK (0x7FU)
  44979. #define XBARA_SEL51_SEL102_SHIFT (0U)
  44980. #define XBARA_SEL51_SEL102(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL51_SEL102_SHIFT)) & XBARA_SEL51_SEL102_MASK)
  44981. #define XBARA_SEL51_SEL103_MASK (0x7F00U)
  44982. #define XBARA_SEL51_SEL103_SHIFT (8U)
  44983. #define XBARA_SEL51_SEL103(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL51_SEL103_SHIFT)) & XBARA_SEL51_SEL103_MASK)
  44984. /*! @} */
  44985. /*! @name SEL52 - Crossbar A Select Register 52 */
  44986. /*! @{ */
  44987. #define XBARA_SEL52_SEL104_MASK (0x7FU)
  44988. #define XBARA_SEL52_SEL104_SHIFT (0U)
  44989. #define XBARA_SEL52_SEL104(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL52_SEL104_SHIFT)) & XBARA_SEL52_SEL104_MASK)
  44990. #define XBARA_SEL52_SEL105_MASK (0x7F00U)
  44991. #define XBARA_SEL52_SEL105_SHIFT (8U)
  44992. #define XBARA_SEL52_SEL105(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL52_SEL105_SHIFT)) & XBARA_SEL52_SEL105_MASK)
  44993. /*! @} */
  44994. /*! @name SEL53 - Crossbar A Select Register 53 */
  44995. /*! @{ */
  44996. #define XBARA_SEL53_SEL106_MASK (0x7FU)
  44997. #define XBARA_SEL53_SEL106_SHIFT (0U)
  44998. #define XBARA_SEL53_SEL106(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL53_SEL106_SHIFT)) & XBARA_SEL53_SEL106_MASK)
  44999. #define XBARA_SEL53_SEL107_MASK (0x7F00U)
  45000. #define XBARA_SEL53_SEL107_SHIFT (8U)
  45001. #define XBARA_SEL53_SEL107(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL53_SEL107_SHIFT)) & XBARA_SEL53_SEL107_MASK)
  45002. /*! @} */
  45003. /*! @name SEL54 - Crossbar A Select Register 54 */
  45004. /*! @{ */
  45005. #define XBARA_SEL54_SEL108_MASK (0x7FU)
  45006. #define XBARA_SEL54_SEL108_SHIFT (0U)
  45007. #define XBARA_SEL54_SEL108(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL54_SEL108_SHIFT)) & XBARA_SEL54_SEL108_MASK)
  45008. #define XBARA_SEL54_SEL109_MASK (0x7F00U)
  45009. #define XBARA_SEL54_SEL109_SHIFT (8U)
  45010. #define XBARA_SEL54_SEL109(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL54_SEL109_SHIFT)) & XBARA_SEL54_SEL109_MASK)
  45011. /*! @} */
  45012. /*! @name SEL55 - Crossbar A Select Register 55 */
  45013. /*! @{ */
  45014. #define XBARA_SEL55_SEL110_MASK (0x7FU)
  45015. #define XBARA_SEL55_SEL110_SHIFT (0U)
  45016. #define XBARA_SEL55_SEL110(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL55_SEL110_SHIFT)) & XBARA_SEL55_SEL110_MASK)
  45017. #define XBARA_SEL55_SEL111_MASK (0x7F00U)
  45018. #define XBARA_SEL55_SEL111_SHIFT (8U)
  45019. #define XBARA_SEL55_SEL111(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL55_SEL111_SHIFT)) & XBARA_SEL55_SEL111_MASK)
  45020. /*! @} */
  45021. /*! @name SEL56 - Crossbar A Select Register 56 */
  45022. /*! @{ */
  45023. #define XBARA_SEL56_SEL112_MASK (0x7FU)
  45024. #define XBARA_SEL56_SEL112_SHIFT (0U)
  45025. #define XBARA_SEL56_SEL112(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL56_SEL112_SHIFT)) & XBARA_SEL56_SEL112_MASK)
  45026. #define XBARA_SEL56_SEL113_MASK (0x7F00U)
  45027. #define XBARA_SEL56_SEL113_SHIFT (8U)
  45028. #define XBARA_SEL56_SEL113(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL56_SEL113_SHIFT)) & XBARA_SEL56_SEL113_MASK)
  45029. /*! @} */
  45030. /*! @name SEL57 - Crossbar A Select Register 57 */
  45031. /*! @{ */
  45032. #define XBARA_SEL57_SEL114_MASK (0x7FU)
  45033. #define XBARA_SEL57_SEL114_SHIFT (0U)
  45034. #define XBARA_SEL57_SEL114(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL57_SEL114_SHIFT)) & XBARA_SEL57_SEL114_MASK)
  45035. #define XBARA_SEL57_SEL115_MASK (0x7F00U)
  45036. #define XBARA_SEL57_SEL115_SHIFT (8U)
  45037. #define XBARA_SEL57_SEL115(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL57_SEL115_SHIFT)) & XBARA_SEL57_SEL115_MASK)
  45038. /*! @} */
  45039. /*! @name SEL58 - Crossbar A Select Register 58 */
  45040. /*! @{ */
  45041. #define XBARA_SEL58_SEL116_MASK (0x7FU)
  45042. #define XBARA_SEL58_SEL116_SHIFT (0U)
  45043. #define XBARA_SEL58_SEL116(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL58_SEL116_SHIFT)) & XBARA_SEL58_SEL116_MASK)
  45044. #define XBARA_SEL58_SEL117_MASK (0x7F00U)
  45045. #define XBARA_SEL58_SEL117_SHIFT (8U)
  45046. #define XBARA_SEL58_SEL117(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL58_SEL117_SHIFT)) & XBARA_SEL58_SEL117_MASK)
  45047. /*! @} */
  45048. /*! @name SEL59 - Crossbar A Select Register 59 */
  45049. /*! @{ */
  45050. #define XBARA_SEL59_SEL118_MASK (0x7FU)
  45051. #define XBARA_SEL59_SEL118_SHIFT (0U)
  45052. #define XBARA_SEL59_SEL118(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL59_SEL118_SHIFT)) & XBARA_SEL59_SEL118_MASK)
  45053. #define XBARA_SEL59_SEL119_MASK (0x7F00U)
  45054. #define XBARA_SEL59_SEL119_SHIFT (8U)
  45055. #define XBARA_SEL59_SEL119(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL59_SEL119_SHIFT)) & XBARA_SEL59_SEL119_MASK)
  45056. /*! @} */
  45057. /*! @name SEL60 - Crossbar A Select Register 60 */
  45058. /*! @{ */
  45059. #define XBARA_SEL60_SEL120_MASK (0x7FU)
  45060. #define XBARA_SEL60_SEL120_SHIFT (0U)
  45061. #define XBARA_SEL60_SEL120(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL60_SEL120_SHIFT)) & XBARA_SEL60_SEL120_MASK)
  45062. #define XBARA_SEL60_SEL121_MASK (0x7F00U)
  45063. #define XBARA_SEL60_SEL121_SHIFT (8U)
  45064. #define XBARA_SEL60_SEL121(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL60_SEL121_SHIFT)) & XBARA_SEL60_SEL121_MASK)
  45065. /*! @} */
  45066. /*! @name SEL61 - Crossbar A Select Register 61 */
  45067. /*! @{ */
  45068. #define XBARA_SEL61_SEL122_MASK (0x7FU)
  45069. #define XBARA_SEL61_SEL122_SHIFT (0U)
  45070. #define XBARA_SEL61_SEL122(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL61_SEL122_SHIFT)) & XBARA_SEL61_SEL122_MASK)
  45071. #define XBARA_SEL61_SEL123_MASK (0x7F00U)
  45072. #define XBARA_SEL61_SEL123_SHIFT (8U)
  45073. #define XBARA_SEL61_SEL123(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL61_SEL123_SHIFT)) & XBARA_SEL61_SEL123_MASK)
  45074. /*! @} */
  45075. /*! @name SEL62 - Crossbar A Select Register 62 */
  45076. /*! @{ */
  45077. #define XBARA_SEL62_SEL124_MASK (0x7FU)
  45078. #define XBARA_SEL62_SEL124_SHIFT (0U)
  45079. #define XBARA_SEL62_SEL124(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL62_SEL124_SHIFT)) & XBARA_SEL62_SEL124_MASK)
  45080. #define XBARA_SEL62_SEL125_MASK (0x7F00U)
  45081. #define XBARA_SEL62_SEL125_SHIFT (8U)
  45082. #define XBARA_SEL62_SEL125(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL62_SEL125_SHIFT)) & XBARA_SEL62_SEL125_MASK)
  45083. /*! @} */
  45084. /*! @name SEL63 - Crossbar A Select Register 63 */
  45085. /*! @{ */
  45086. #define XBARA_SEL63_SEL126_MASK (0x7FU)
  45087. #define XBARA_SEL63_SEL126_SHIFT (0U)
  45088. #define XBARA_SEL63_SEL126(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL63_SEL126_SHIFT)) & XBARA_SEL63_SEL126_MASK)
  45089. #define XBARA_SEL63_SEL127_MASK (0x7F00U)
  45090. #define XBARA_SEL63_SEL127_SHIFT (8U)
  45091. #define XBARA_SEL63_SEL127(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL63_SEL127_SHIFT)) & XBARA_SEL63_SEL127_MASK)
  45092. /*! @} */
  45093. /*! @name SEL64 - Crossbar A Select Register 64 */
  45094. /*! @{ */
  45095. #define XBARA_SEL64_SEL128_MASK (0x7FU)
  45096. #define XBARA_SEL64_SEL128_SHIFT (0U)
  45097. #define XBARA_SEL64_SEL128(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL64_SEL128_SHIFT)) & XBARA_SEL64_SEL128_MASK)
  45098. #define XBARA_SEL64_SEL129_MASK (0x7F00U)
  45099. #define XBARA_SEL64_SEL129_SHIFT (8U)
  45100. #define XBARA_SEL64_SEL129(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL64_SEL129_SHIFT)) & XBARA_SEL64_SEL129_MASK)
  45101. /*! @} */
  45102. /*! @name SEL65 - Crossbar A Select Register 65 */
  45103. /*! @{ */
  45104. #define XBARA_SEL65_SEL130_MASK (0x7FU)
  45105. #define XBARA_SEL65_SEL130_SHIFT (0U)
  45106. #define XBARA_SEL65_SEL130(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL65_SEL130_SHIFT)) & XBARA_SEL65_SEL130_MASK)
  45107. #define XBARA_SEL65_SEL131_MASK (0x7F00U)
  45108. #define XBARA_SEL65_SEL131_SHIFT (8U)
  45109. #define XBARA_SEL65_SEL131(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL65_SEL131_SHIFT)) & XBARA_SEL65_SEL131_MASK)
  45110. /*! @} */
  45111. /*! @name CTRL0 - Crossbar A Control Register 0 */
  45112. /*! @{ */
  45113. #define XBARA_CTRL0_DEN0_MASK (0x1U)
  45114. #define XBARA_CTRL0_DEN0_SHIFT (0U)
  45115. /*! DEN0 - DMA Enable for XBAR_OUT0
  45116. * 0b0..DMA disabled
  45117. * 0b1..DMA enabled
  45118. */
  45119. #define XBARA_CTRL0_DEN0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_DEN0_SHIFT)) & XBARA_CTRL0_DEN0_MASK)
  45120. #define XBARA_CTRL0_IEN0_MASK (0x2U)
  45121. #define XBARA_CTRL0_IEN0_SHIFT (1U)
  45122. /*! IEN0 - Interrupt Enable for XBAR_OUT0
  45123. * 0b0..Interrupt disabled
  45124. * 0b1..Interrupt enabled
  45125. */
  45126. #define XBARA_CTRL0_IEN0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_IEN0_SHIFT)) & XBARA_CTRL0_IEN0_MASK)
  45127. #define XBARA_CTRL0_EDGE0_MASK (0xCU)
  45128. #define XBARA_CTRL0_EDGE0_SHIFT (2U)
  45129. /*! EDGE0 - Active edge for edge detection on XBAR_OUT0
  45130. * 0b00..STS0 never asserts
  45131. * 0b01..STS0 asserts on rising edges of XBAR_OUT0
  45132. * 0b10..STS0 asserts on falling edges of XBAR_OUT0
  45133. * 0b11..STS0 asserts on rising and falling edges of XBAR_OUT0
  45134. */
  45135. #define XBARA_CTRL0_EDGE0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_EDGE0_SHIFT)) & XBARA_CTRL0_EDGE0_MASK)
  45136. #define XBARA_CTRL0_STS0_MASK (0x10U)
  45137. #define XBARA_CTRL0_STS0_SHIFT (4U)
  45138. /*! STS0 - Edge detection status for XBAR_OUT0
  45139. * 0b0..Active edge not yet detected on XBAR_OUT0
  45140. * 0b1..Active edge detected on XBAR_OUT0
  45141. */
  45142. #define XBARA_CTRL0_STS0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_STS0_SHIFT)) & XBARA_CTRL0_STS0_MASK)
  45143. #define XBARA_CTRL0_DEN1_MASK (0x100U)
  45144. #define XBARA_CTRL0_DEN1_SHIFT (8U)
  45145. /*! DEN1 - DMA Enable for XBAR_OUT1
  45146. * 0b0..DMA disabled
  45147. * 0b1..DMA enabled
  45148. */
  45149. #define XBARA_CTRL0_DEN1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_DEN1_SHIFT)) & XBARA_CTRL0_DEN1_MASK)
  45150. #define XBARA_CTRL0_IEN1_MASK (0x200U)
  45151. #define XBARA_CTRL0_IEN1_SHIFT (9U)
  45152. /*! IEN1 - Interrupt Enable for XBAR_OUT1
  45153. * 0b0..Interrupt disabled
  45154. * 0b1..Interrupt enabled
  45155. */
  45156. #define XBARA_CTRL0_IEN1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_IEN1_SHIFT)) & XBARA_CTRL0_IEN1_MASK)
  45157. #define XBARA_CTRL0_EDGE1_MASK (0xC00U)
  45158. #define XBARA_CTRL0_EDGE1_SHIFT (10U)
  45159. /*! EDGE1 - Active edge for edge detection on XBAR_OUT1
  45160. * 0b00..STS1 never asserts
  45161. * 0b01..STS1 asserts on rising edges of XBAR_OUT1
  45162. * 0b10..STS1 asserts on falling edges of XBAR_OUT1
  45163. * 0b11..STS1 asserts on rising and falling edges of XBAR_OUT1
  45164. */
  45165. #define XBARA_CTRL0_EDGE1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_EDGE1_SHIFT)) & XBARA_CTRL0_EDGE1_MASK)
  45166. #define XBARA_CTRL0_STS1_MASK (0x1000U)
  45167. #define XBARA_CTRL0_STS1_SHIFT (12U)
  45168. /*! STS1 - Edge detection status for XBAR_OUT1
  45169. * 0b0..Active edge not yet detected on XBAR_OUT1
  45170. * 0b1..Active edge detected on XBAR_OUT1
  45171. */
  45172. #define XBARA_CTRL0_STS1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_STS1_SHIFT)) & XBARA_CTRL0_STS1_MASK)
  45173. /*! @} */
  45174. /*! @name CTRL1 - Crossbar A Control Register 1 */
  45175. /*! @{ */
  45176. #define XBARA_CTRL1_DEN2_MASK (0x1U)
  45177. #define XBARA_CTRL1_DEN2_SHIFT (0U)
  45178. /*! DEN2 - DMA Enable for XBAR_OUT2
  45179. * 0b0..DMA disabled
  45180. * 0b1..DMA enabled
  45181. */
  45182. #define XBARA_CTRL1_DEN2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_DEN2_SHIFT)) & XBARA_CTRL1_DEN2_MASK)
  45183. #define XBARA_CTRL1_IEN2_MASK (0x2U)
  45184. #define XBARA_CTRL1_IEN2_SHIFT (1U)
  45185. /*! IEN2 - Interrupt Enable for XBAR_OUT2
  45186. * 0b0..Interrupt disabled
  45187. * 0b1..Interrupt enabled
  45188. */
  45189. #define XBARA_CTRL1_IEN2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_IEN2_SHIFT)) & XBARA_CTRL1_IEN2_MASK)
  45190. #define XBARA_CTRL1_EDGE2_MASK (0xCU)
  45191. #define XBARA_CTRL1_EDGE2_SHIFT (2U)
  45192. /*! EDGE2 - Active edge for edge detection on XBAR_OUT2
  45193. * 0b00..STS2 never asserts
  45194. * 0b01..STS2 asserts on rising edges of XBAR_OUT2
  45195. * 0b10..STS2 asserts on falling edges of XBAR_OUT2
  45196. * 0b11..STS2 asserts on rising and falling edges of XBAR_OUT2
  45197. */
  45198. #define XBARA_CTRL1_EDGE2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_EDGE2_SHIFT)) & XBARA_CTRL1_EDGE2_MASK)
  45199. #define XBARA_CTRL1_STS2_MASK (0x10U)
  45200. #define XBARA_CTRL1_STS2_SHIFT (4U)
  45201. /*! STS2 - Edge detection status for XBAR_OUT2
  45202. * 0b0..Active edge not yet detected on XBAR_OUT2
  45203. * 0b1..Active edge detected on XBAR_OUT2
  45204. */
  45205. #define XBARA_CTRL1_STS2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_STS2_SHIFT)) & XBARA_CTRL1_STS2_MASK)
  45206. #define XBARA_CTRL1_DEN3_MASK (0x100U)
  45207. #define XBARA_CTRL1_DEN3_SHIFT (8U)
  45208. /*! DEN3 - DMA Enable for XBAR_OUT3
  45209. * 0b0..DMA disabled
  45210. * 0b1..DMA enabled
  45211. */
  45212. #define XBARA_CTRL1_DEN3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_DEN3_SHIFT)) & XBARA_CTRL1_DEN3_MASK)
  45213. #define XBARA_CTRL1_IEN3_MASK (0x200U)
  45214. #define XBARA_CTRL1_IEN3_SHIFT (9U)
  45215. /*! IEN3 - Interrupt Enable for XBAR_OUT3
  45216. * 0b0..Interrupt disabled
  45217. * 0b1..Interrupt enabled
  45218. */
  45219. #define XBARA_CTRL1_IEN3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_IEN3_SHIFT)) & XBARA_CTRL1_IEN3_MASK)
  45220. #define XBARA_CTRL1_EDGE3_MASK (0xC00U)
  45221. #define XBARA_CTRL1_EDGE3_SHIFT (10U)
  45222. /*! EDGE3 - Active edge for edge detection on XBAR_OUT3
  45223. * 0b00..STS3 never asserts
  45224. * 0b01..STS3 asserts on rising edges of XBAR_OUT3
  45225. * 0b10..STS3 asserts on falling edges of XBAR_OUT3
  45226. * 0b11..STS3 asserts on rising and falling edges of XBAR_OUT3
  45227. */
  45228. #define XBARA_CTRL1_EDGE3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_EDGE3_SHIFT)) & XBARA_CTRL1_EDGE3_MASK)
  45229. #define XBARA_CTRL1_STS3_MASK (0x1000U)
  45230. #define XBARA_CTRL1_STS3_SHIFT (12U)
  45231. /*! STS3 - Edge detection status for XBAR_OUT3
  45232. * 0b0..Active edge not yet detected on XBAR_OUT3
  45233. * 0b1..Active edge detected on XBAR_OUT3
  45234. */
  45235. #define XBARA_CTRL1_STS3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_STS3_SHIFT)) & XBARA_CTRL1_STS3_MASK)
  45236. /*! @} */
  45237. /*!
  45238. * @}
  45239. */ /* end of group XBARA_Register_Masks */
  45240. /* XBARA - Peripheral instance base addresses */
  45241. /** Peripheral XBARA1 base address */
  45242. #define XBARA1_BASE (0x403BC000u)
  45243. /** Peripheral XBARA1 base pointer */
  45244. #define XBARA1 ((XBARA_Type *)XBARA1_BASE)
  45245. /** Array initializer of XBARA peripheral base addresses */
  45246. #define XBARA_BASE_ADDRS { XBARA1_BASE }
  45247. /** Array initializer of XBARA peripheral base pointers */
  45248. #define XBARA_BASE_PTRS { XBARA1 }
  45249. /*!
  45250. * @}
  45251. */ /* end of group XBARA_Peripheral_Access_Layer */
  45252. /* ----------------------------------------------------------------------------
  45253. -- XBARB Peripheral Access Layer
  45254. ---------------------------------------------------------------------------- */
  45255. /*!
  45256. * @addtogroup XBARB_Peripheral_Access_Layer XBARB Peripheral Access Layer
  45257. * @{
  45258. */
  45259. /** XBARB - Register Layout Typedef */
  45260. typedef struct {
  45261. __IO uint16_t SEL0; /**< Crossbar B Select Register 0, offset: 0x0 */
  45262. __IO uint16_t SEL1; /**< Crossbar B Select Register 1, offset: 0x2 */
  45263. __IO uint16_t SEL2; /**< Crossbar B Select Register 2, offset: 0x4 */
  45264. __IO uint16_t SEL3; /**< Crossbar B Select Register 3, offset: 0x6 */
  45265. __IO uint16_t SEL4; /**< Crossbar B Select Register 4, offset: 0x8 */
  45266. __IO uint16_t SEL5; /**< Crossbar B Select Register 5, offset: 0xA */
  45267. __IO uint16_t SEL6; /**< Crossbar B Select Register 6, offset: 0xC */
  45268. __IO uint16_t SEL7; /**< Crossbar B Select Register 7, offset: 0xE */
  45269. } XBARB_Type;
  45270. /* ----------------------------------------------------------------------------
  45271. -- XBARB Register Masks
  45272. ---------------------------------------------------------------------------- */
  45273. /*!
  45274. * @addtogroup XBARB_Register_Masks XBARB Register Masks
  45275. * @{
  45276. */
  45277. /*! @name SEL0 - Crossbar B Select Register 0 */
  45278. /*! @{ */
  45279. #define XBARB_SEL0_SEL0_MASK (0x3FU)
  45280. #define XBARB_SEL0_SEL0_SHIFT (0U)
  45281. #define XBARB_SEL0_SEL0(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL0_SEL0_SHIFT)) & XBARB_SEL0_SEL0_MASK)
  45282. #define XBARB_SEL0_SEL1_MASK (0x3F00U)
  45283. #define XBARB_SEL0_SEL1_SHIFT (8U)
  45284. #define XBARB_SEL0_SEL1(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL0_SEL1_SHIFT)) & XBARB_SEL0_SEL1_MASK)
  45285. /*! @} */
  45286. /*! @name SEL1 - Crossbar B Select Register 1 */
  45287. /*! @{ */
  45288. #define XBARB_SEL1_SEL2_MASK (0x3FU)
  45289. #define XBARB_SEL1_SEL2_SHIFT (0U)
  45290. #define XBARB_SEL1_SEL2(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL1_SEL2_SHIFT)) & XBARB_SEL1_SEL2_MASK)
  45291. #define XBARB_SEL1_SEL3_MASK (0x3F00U)
  45292. #define XBARB_SEL1_SEL3_SHIFT (8U)
  45293. #define XBARB_SEL1_SEL3(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL1_SEL3_SHIFT)) & XBARB_SEL1_SEL3_MASK)
  45294. /*! @} */
  45295. /*! @name SEL2 - Crossbar B Select Register 2 */
  45296. /*! @{ */
  45297. #define XBARB_SEL2_SEL4_MASK (0x3FU)
  45298. #define XBARB_SEL2_SEL4_SHIFT (0U)
  45299. #define XBARB_SEL2_SEL4(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL2_SEL4_SHIFT)) & XBARB_SEL2_SEL4_MASK)
  45300. #define XBARB_SEL2_SEL5_MASK (0x3F00U)
  45301. #define XBARB_SEL2_SEL5_SHIFT (8U)
  45302. #define XBARB_SEL2_SEL5(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL2_SEL5_SHIFT)) & XBARB_SEL2_SEL5_MASK)
  45303. /*! @} */
  45304. /*! @name SEL3 - Crossbar B Select Register 3 */
  45305. /*! @{ */
  45306. #define XBARB_SEL3_SEL6_MASK (0x3FU)
  45307. #define XBARB_SEL3_SEL6_SHIFT (0U)
  45308. #define XBARB_SEL3_SEL6(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL3_SEL6_SHIFT)) & XBARB_SEL3_SEL6_MASK)
  45309. #define XBARB_SEL3_SEL7_MASK (0x3F00U)
  45310. #define XBARB_SEL3_SEL7_SHIFT (8U)
  45311. #define XBARB_SEL3_SEL7(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL3_SEL7_SHIFT)) & XBARB_SEL3_SEL7_MASK)
  45312. /*! @} */
  45313. /*! @name SEL4 - Crossbar B Select Register 4 */
  45314. /*! @{ */
  45315. #define XBARB_SEL4_SEL8_MASK (0x3FU)
  45316. #define XBARB_SEL4_SEL8_SHIFT (0U)
  45317. #define XBARB_SEL4_SEL8(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL4_SEL8_SHIFT)) & XBARB_SEL4_SEL8_MASK)
  45318. #define XBARB_SEL4_SEL9_MASK (0x3F00U)
  45319. #define XBARB_SEL4_SEL9_SHIFT (8U)
  45320. #define XBARB_SEL4_SEL9(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL4_SEL9_SHIFT)) & XBARB_SEL4_SEL9_MASK)
  45321. /*! @} */
  45322. /*! @name SEL5 - Crossbar B Select Register 5 */
  45323. /*! @{ */
  45324. #define XBARB_SEL5_SEL10_MASK (0x3FU)
  45325. #define XBARB_SEL5_SEL10_SHIFT (0U)
  45326. #define XBARB_SEL5_SEL10(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL5_SEL10_SHIFT)) & XBARB_SEL5_SEL10_MASK)
  45327. #define XBARB_SEL5_SEL11_MASK (0x3F00U)
  45328. #define XBARB_SEL5_SEL11_SHIFT (8U)
  45329. #define XBARB_SEL5_SEL11(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL5_SEL11_SHIFT)) & XBARB_SEL5_SEL11_MASK)
  45330. /*! @} */
  45331. /*! @name SEL6 - Crossbar B Select Register 6 */
  45332. /*! @{ */
  45333. #define XBARB_SEL6_SEL12_MASK (0x3FU)
  45334. #define XBARB_SEL6_SEL12_SHIFT (0U)
  45335. #define XBARB_SEL6_SEL12(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL6_SEL12_SHIFT)) & XBARB_SEL6_SEL12_MASK)
  45336. #define XBARB_SEL6_SEL13_MASK (0x3F00U)
  45337. #define XBARB_SEL6_SEL13_SHIFT (8U)
  45338. #define XBARB_SEL6_SEL13(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL6_SEL13_SHIFT)) & XBARB_SEL6_SEL13_MASK)
  45339. /*! @} */
  45340. /*! @name SEL7 - Crossbar B Select Register 7 */
  45341. /*! @{ */
  45342. #define XBARB_SEL7_SEL14_MASK (0x3FU)
  45343. #define XBARB_SEL7_SEL14_SHIFT (0U)
  45344. #define XBARB_SEL7_SEL14(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL7_SEL14_SHIFT)) & XBARB_SEL7_SEL14_MASK)
  45345. #define XBARB_SEL7_SEL15_MASK (0x3F00U)
  45346. #define XBARB_SEL7_SEL15_SHIFT (8U)
  45347. #define XBARB_SEL7_SEL15(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL7_SEL15_SHIFT)) & XBARB_SEL7_SEL15_MASK)
  45348. /*! @} */
  45349. /*!
  45350. * @}
  45351. */ /* end of group XBARB_Register_Masks */
  45352. /* XBARB - Peripheral instance base addresses */
  45353. /** Peripheral XBARB2 base address */
  45354. #define XBARB2_BASE (0x403C0000u)
  45355. /** Peripheral XBARB2 base pointer */
  45356. #define XBARB2 ((XBARB_Type *)XBARB2_BASE)
  45357. /** Peripheral XBARB3 base address */
  45358. #define XBARB3_BASE (0x403C4000u)
  45359. /** Peripheral XBARB3 base pointer */
  45360. #define XBARB3 ((XBARB_Type *)XBARB3_BASE)
  45361. /** Array initializer of XBARB peripheral base addresses */
  45362. #define XBARB_BASE_ADDRS { 0u, 0u, XBARB2_BASE, XBARB3_BASE }
  45363. /** Array initializer of XBARB peripheral base pointers */
  45364. #define XBARB_BASE_PTRS { (XBARB_Type *)0u, (XBARB_Type *)0u, XBARB2, XBARB3 }
  45365. /*!
  45366. * @}
  45367. */ /* end of group XBARB_Peripheral_Access_Layer */
  45368. /* ----------------------------------------------------------------------------
  45369. -- XTALOSC24M Peripheral Access Layer
  45370. ---------------------------------------------------------------------------- */
  45371. /*!
  45372. * @addtogroup XTALOSC24M_Peripheral_Access_Layer XTALOSC24M Peripheral Access Layer
  45373. * @{
  45374. */
  45375. /** XTALOSC24M - Register Layout Typedef */
  45376. typedef struct {
  45377. uint8_t RESERVED_0[336];
  45378. __IO uint32_t MISC0; /**< Miscellaneous Register 0, offset: 0x150 */
  45379. __IO uint32_t MISC0_SET; /**< Miscellaneous Register 0, offset: 0x154 */
  45380. __IO uint32_t MISC0_CLR; /**< Miscellaneous Register 0, offset: 0x158 */
  45381. __IO uint32_t MISC0_TOG; /**< Miscellaneous Register 0, offset: 0x15C */
  45382. uint8_t RESERVED_1[272];
  45383. __IO uint32_t LOWPWR_CTRL; /**< XTAL OSC (LP) Control Register, offset: 0x270 */
  45384. __IO uint32_t LOWPWR_CTRL_SET; /**< XTAL OSC (LP) Control Register, offset: 0x274 */
  45385. __IO uint32_t LOWPWR_CTRL_CLR; /**< XTAL OSC (LP) Control Register, offset: 0x278 */
  45386. __IO uint32_t LOWPWR_CTRL_TOG; /**< XTAL OSC (LP) Control Register, offset: 0x27C */
  45387. uint8_t RESERVED_2[32];
  45388. __IO uint32_t OSC_CONFIG0; /**< XTAL OSC Configuration 0 Register, offset: 0x2A0 */
  45389. __IO uint32_t OSC_CONFIG0_SET; /**< XTAL OSC Configuration 0 Register, offset: 0x2A4 */
  45390. __IO uint32_t OSC_CONFIG0_CLR; /**< XTAL OSC Configuration 0 Register, offset: 0x2A8 */
  45391. __IO uint32_t OSC_CONFIG0_TOG; /**< XTAL OSC Configuration 0 Register, offset: 0x2AC */
  45392. __IO uint32_t OSC_CONFIG1; /**< XTAL OSC Configuration 1 Register, offset: 0x2B0 */
  45393. __IO uint32_t OSC_CONFIG1_SET; /**< XTAL OSC Configuration 1 Register, offset: 0x2B4 */
  45394. __IO uint32_t OSC_CONFIG1_CLR; /**< XTAL OSC Configuration 1 Register, offset: 0x2B8 */
  45395. __IO uint32_t OSC_CONFIG1_TOG; /**< XTAL OSC Configuration 1 Register, offset: 0x2BC */
  45396. __IO uint32_t OSC_CONFIG2; /**< XTAL OSC Configuration 2 Register, offset: 0x2C0 */
  45397. __IO uint32_t OSC_CONFIG2_SET; /**< XTAL OSC Configuration 2 Register, offset: 0x2C4 */
  45398. __IO uint32_t OSC_CONFIG2_CLR; /**< XTAL OSC Configuration 2 Register, offset: 0x2C8 */
  45399. __IO uint32_t OSC_CONFIG2_TOG; /**< XTAL OSC Configuration 2 Register, offset: 0x2CC */
  45400. } XTALOSC24M_Type;
  45401. /* ----------------------------------------------------------------------------
  45402. -- XTALOSC24M Register Masks
  45403. ---------------------------------------------------------------------------- */
  45404. /*!
  45405. * @addtogroup XTALOSC24M_Register_Masks XTALOSC24M Register Masks
  45406. * @{
  45407. */
  45408. /*! @name MISC0 - Miscellaneous Register 0 */
  45409. /*! @{ */
  45410. #define XTALOSC24M_MISC0_REFTOP_PWD_MASK (0x1U)
  45411. #define XTALOSC24M_MISC0_REFTOP_PWD_SHIFT (0U)
  45412. #define XTALOSC24M_MISC0_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_REFTOP_PWD_SHIFT)) & XTALOSC24M_MISC0_REFTOP_PWD_MASK)
  45413. #define XTALOSC24M_MISC0_REFTOP_SELFBIASOFF_MASK (0x8U)
  45414. #define XTALOSC24M_MISC0_REFTOP_SELFBIASOFF_SHIFT (3U)
  45415. /*! REFTOP_SELFBIASOFF
  45416. * 0b0..Uses coarse bias currents for startup
  45417. * 0b1..Uses bandgap-based bias currents for best performance.
  45418. */
  45419. #define XTALOSC24M_MISC0_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_REFTOP_SELFBIASOFF_SHIFT)) & XTALOSC24M_MISC0_REFTOP_SELFBIASOFF_MASK)
  45420. #define XTALOSC24M_MISC0_REFTOP_VBGADJ_MASK (0x70U)
  45421. #define XTALOSC24M_MISC0_REFTOP_VBGADJ_SHIFT (4U)
  45422. /*! REFTOP_VBGADJ
  45423. * 0b000..Nominal VBG
  45424. * 0b001..VBG+0.78%
  45425. * 0b010..VBG+1.56%
  45426. * 0b011..VBG+2.34%
  45427. * 0b100..VBG-0.78%
  45428. * 0b101..VBG-1.56%
  45429. * 0b110..VBG-2.34%
  45430. * 0b111..VBG-3.12%
  45431. */
  45432. #define XTALOSC24M_MISC0_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_REFTOP_VBGADJ_SHIFT)) & XTALOSC24M_MISC0_REFTOP_VBGADJ_MASK)
  45433. #define XTALOSC24M_MISC0_REFTOP_VBGUP_MASK (0x80U)
  45434. #define XTALOSC24M_MISC0_REFTOP_VBGUP_SHIFT (7U)
  45435. #define XTALOSC24M_MISC0_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_REFTOP_VBGUP_SHIFT)) & XTALOSC24M_MISC0_REFTOP_VBGUP_MASK)
  45436. #define XTALOSC24M_MISC0_STOP_MODE_CONFIG_MASK (0xC00U)
  45437. #define XTALOSC24M_MISC0_STOP_MODE_CONFIG_SHIFT (10U)
  45438. /*! STOP_MODE_CONFIG
  45439. * 0b00..All analog except rtc powered down on stop mode assertion. XtalOsc=on, RCOsc=off;
  45440. * 0b01..Certain analog functions such as certain regulators left up. XtalOsc=on, RCOsc=off;
  45441. * 0b10..XtalOsc=off, RCOsc=on, Old BG=on, New BG=off.
  45442. * 0b11..XtalOsc=off, RCOsc=on, Old BG=off, New BG=on.
  45443. */
  45444. #define XTALOSC24M_MISC0_STOP_MODE_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_STOP_MODE_CONFIG_SHIFT)) & XTALOSC24M_MISC0_STOP_MODE_CONFIG_MASK)
  45445. #define XTALOSC24M_MISC0_DISCON_HIGH_SNVS_MASK (0x1000U)
  45446. #define XTALOSC24M_MISC0_DISCON_HIGH_SNVS_SHIFT (12U)
  45447. /*! DISCON_HIGH_SNVS
  45448. * 0b0..Turn on the switch
  45449. * 0b1..Turn off the switch
  45450. */
  45451. #define XTALOSC24M_MISC0_DISCON_HIGH_SNVS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_DISCON_HIGH_SNVS_SHIFT)) & XTALOSC24M_MISC0_DISCON_HIGH_SNVS_MASK)
  45452. #define XTALOSC24M_MISC0_OSC_I_MASK (0x6000U)
  45453. #define XTALOSC24M_MISC0_OSC_I_SHIFT (13U)
  45454. /*! OSC_I
  45455. * 0b00..Nominal
  45456. * 0b01..Decrease current by 12.5%
  45457. * 0b10..Decrease current by 25.0%
  45458. * 0b11..Decrease current by 37.5%
  45459. */
  45460. #define XTALOSC24M_MISC0_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_OSC_I_SHIFT)) & XTALOSC24M_MISC0_OSC_I_MASK)
  45461. #define XTALOSC24M_MISC0_OSC_XTALOK_MASK (0x8000U)
  45462. #define XTALOSC24M_MISC0_OSC_XTALOK_SHIFT (15U)
  45463. #define XTALOSC24M_MISC0_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_OSC_XTALOK_SHIFT)) & XTALOSC24M_MISC0_OSC_XTALOK_MASK)
  45464. #define XTALOSC24M_MISC0_OSC_XTALOK_EN_MASK (0x10000U)
  45465. #define XTALOSC24M_MISC0_OSC_XTALOK_EN_SHIFT (16U)
  45466. #define XTALOSC24M_MISC0_OSC_XTALOK_EN(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_OSC_XTALOK_EN_SHIFT)) & XTALOSC24M_MISC0_OSC_XTALOK_EN_MASK)
  45467. #define XTALOSC24M_MISC0_CLKGATE_CTRL_MASK (0x2000000U)
  45468. #define XTALOSC24M_MISC0_CLKGATE_CTRL_SHIFT (25U)
  45469. /*! CLKGATE_CTRL
  45470. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  45471. * 0b1..Prevent the logic from ever gating off the clock.
  45472. */
  45473. #define XTALOSC24M_MISC0_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLKGATE_CTRL_SHIFT)) & XTALOSC24M_MISC0_CLKGATE_CTRL_MASK)
  45474. #define XTALOSC24M_MISC0_CLKGATE_DELAY_MASK (0x1C000000U)
  45475. #define XTALOSC24M_MISC0_CLKGATE_DELAY_SHIFT (26U)
  45476. /*! CLKGATE_DELAY
  45477. * 0b000..0.5ms
  45478. * 0b001..1.0ms
  45479. * 0b010..2.0ms
  45480. * 0b011..3.0ms
  45481. * 0b100..4.0ms
  45482. * 0b101..5.0ms
  45483. * 0b110..6.0ms
  45484. * 0b111..7.0ms
  45485. */
  45486. #define XTALOSC24M_MISC0_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLKGATE_DELAY_SHIFT)) & XTALOSC24M_MISC0_CLKGATE_DELAY_MASK)
  45487. #define XTALOSC24M_MISC0_RTC_XTAL_SOURCE_MASK (0x20000000U)
  45488. #define XTALOSC24M_MISC0_RTC_XTAL_SOURCE_SHIFT (29U)
  45489. /*! RTC_XTAL_SOURCE
  45490. * 0b0..Internal ring oscillator
  45491. * 0b1..RTC_XTAL
  45492. */
  45493. #define XTALOSC24M_MISC0_RTC_XTAL_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_RTC_XTAL_SOURCE_SHIFT)) & XTALOSC24M_MISC0_RTC_XTAL_SOURCE_MASK)
  45494. #define XTALOSC24M_MISC0_XTAL_24M_PWD_MASK (0x40000000U)
  45495. #define XTALOSC24M_MISC0_XTAL_24M_PWD_SHIFT (30U)
  45496. #define XTALOSC24M_MISC0_XTAL_24M_PWD(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_XTAL_24M_PWD_SHIFT)) & XTALOSC24M_MISC0_XTAL_24M_PWD_MASK)
  45497. #define XTALOSC24M_MISC0_VID_PLL_PREDIV_MASK (0x80000000U)
  45498. #define XTALOSC24M_MISC0_VID_PLL_PREDIV_SHIFT (31U)
  45499. /*! VID_PLL_PREDIV
  45500. * 0b0..Divide by 1
  45501. * 0b1..Divide by 2
  45502. */
  45503. #define XTALOSC24M_MISC0_VID_PLL_PREDIV(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_VID_PLL_PREDIV_SHIFT)) & XTALOSC24M_MISC0_VID_PLL_PREDIV_MASK)
  45504. /*! @} */
  45505. /*! @name MISC0_SET - Miscellaneous Register 0 */
  45506. /*! @{ */
  45507. #define XTALOSC24M_MISC0_SET_REFTOP_PWD_MASK (0x1U)
  45508. #define XTALOSC24M_MISC0_SET_REFTOP_PWD_SHIFT (0U)
  45509. #define XTALOSC24M_MISC0_SET_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_REFTOP_PWD_SHIFT)) & XTALOSC24M_MISC0_SET_REFTOP_PWD_MASK)
  45510. #define XTALOSC24M_MISC0_SET_REFTOP_SELFBIASOFF_MASK (0x8U)
  45511. #define XTALOSC24M_MISC0_SET_REFTOP_SELFBIASOFF_SHIFT (3U)
  45512. /*! REFTOP_SELFBIASOFF
  45513. * 0b0..Uses coarse bias currents for startup
  45514. * 0b1..Uses bandgap-based bias currents for best performance.
  45515. */
  45516. #define XTALOSC24M_MISC0_SET_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_REFTOP_SELFBIASOFF_SHIFT)) & XTALOSC24M_MISC0_SET_REFTOP_SELFBIASOFF_MASK)
  45517. #define XTALOSC24M_MISC0_SET_REFTOP_VBGADJ_MASK (0x70U)
  45518. #define XTALOSC24M_MISC0_SET_REFTOP_VBGADJ_SHIFT (4U)
  45519. /*! REFTOP_VBGADJ
  45520. * 0b000..Nominal VBG
  45521. * 0b001..VBG+0.78%
  45522. * 0b010..VBG+1.56%
  45523. * 0b011..VBG+2.34%
  45524. * 0b100..VBG-0.78%
  45525. * 0b101..VBG-1.56%
  45526. * 0b110..VBG-2.34%
  45527. * 0b111..VBG-3.12%
  45528. */
  45529. #define XTALOSC24M_MISC0_SET_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_REFTOP_VBGADJ_SHIFT)) & XTALOSC24M_MISC0_SET_REFTOP_VBGADJ_MASK)
  45530. #define XTALOSC24M_MISC0_SET_REFTOP_VBGUP_MASK (0x80U)
  45531. #define XTALOSC24M_MISC0_SET_REFTOP_VBGUP_SHIFT (7U)
  45532. #define XTALOSC24M_MISC0_SET_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_REFTOP_VBGUP_SHIFT)) & XTALOSC24M_MISC0_SET_REFTOP_VBGUP_MASK)
  45533. #define XTALOSC24M_MISC0_SET_STOP_MODE_CONFIG_MASK (0xC00U)
  45534. #define XTALOSC24M_MISC0_SET_STOP_MODE_CONFIG_SHIFT (10U)
  45535. /*! STOP_MODE_CONFIG
  45536. * 0b00..All analog except rtc powered down on stop mode assertion. XtalOsc=on, RCOsc=off;
  45537. * 0b01..Certain analog functions such as certain regulators left up. XtalOsc=on, RCOsc=off;
  45538. * 0b10..XtalOsc=off, RCOsc=on, Old BG=on, New BG=off.
  45539. * 0b11..XtalOsc=off, RCOsc=on, Old BG=off, New BG=on.
  45540. */
  45541. #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)
  45542. #define XTALOSC24M_MISC0_SET_DISCON_HIGH_SNVS_MASK (0x1000U)
  45543. #define XTALOSC24M_MISC0_SET_DISCON_HIGH_SNVS_SHIFT (12U)
  45544. /*! DISCON_HIGH_SNVS
  45545. * 0b0..Turn on the switch
  45546. * 0b1..Turn off the switch
  45547. */
  45548. #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)
  45549. #define XTALOSC24M_MISC0_SET_OSC_I_MASK (0x6000U)
  45550. #define XTALOSC24M_MISC0_SET_OSC_I_SHIFT (13U)
  45551. /*! OSC_I
  45552. * 0b00..Nominal
  45553. * 0b01..Decrease current by 12.5%
  45554. * 0b10..Decrease current by 25.0%
  45555. * 0b11..Decrease current by 37.5%
  45556. */
  45557. #define XTALOSC24M_MISC0_SET_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_OSC_I_SHIFT)) & XTALOSC24M_MISC0_SET_OSC_I_MASK)
  45558. #define XTALOSC24M_MISC0_SET_OSC_XTALOK_MASK (0x8000U)
  45559. #define XTALOSC24M_MISC0_SET_OSC_XTALOK_SHIFT (15U)
  45560. #define XTALOSC24M_MISC0_SET_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_OSC_XTALOK_SHIFT)) & XTALOSC24M_MISC0_SET_OSC_XTALOK_MASK)
  45561. #define XTALOSC24M_MISC0_SET_OSC_XTALOK_EN_MASK (0x10000U)
  45562. #define XTALOSC24M_MISC0_SET_OSC_XTALOK_EN_SHIFT (16U)
  45563. #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)
  45564. #define XTALOSC24M_MISC0_SET_CLKGATE_CTRL_MASK (0x2000000U)
  45565. #define XTALOSC24M_MISC0_SET_CLKGATE_CTRL_SHIFT (25U)
  45566. /*! CLKGATE_CTRL
  45567. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  45568. * 0b1..Prevent the logic from ever gating off the clock.
  45569. */
  45570. #define XTALOSC24M_MISC0_SET_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_CLKGATE_CTRL_SHIFT)) & XTALOSC24M_MISC0_SET_CLKGATE_CTRL_MASK)
  45571. #define XTALOSC24M_MISC0_SET_CLKGATE_DELAY_MASK (0x1C000000U)
  45572. #define XTALOSC24M_MISC0_SET_CLKGATE_DELAY_SHIFT (26U)
  45573. /*! CLKGATE_DELAY
  45574. * 0b000..0.5ms
  45575. * 0b001..1.0ms
  45576. * 0b010..2.0ms
  45577. * 0b011..3.0ms
  45578. * 0b100..4.0ms
  45579. * 0b101..5.0ms
  45580. * 0b110..6.0ms
  45581. * 0b111..7.0ms
  45582. */
  45583. #define XTALOSC24M_MISC0_SET_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_SET_CLKGATE_DELAY_SHIFT)) & XTALOSC24M_MISC0_SET_CLKGATE_DELAY_MASK)
  45584. #define XTALOSC24M_MISC0_SET_RTC_XTAL_SOURCE_MASK (0x20000000U)
  45585. #define XTALOSC24M_MISC0_SET_RTC_XTAL_SOURCE_SHIFT (29U)
  45586. /*! RTC_XTAL_SOURCE
  45587. * 0b0..Internal ring oscillator
  45588. * 0b1..RTC_XTAL
  45589. */
  45590. #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)
  45591. #define XTALOSC24M_MISC0_SET_XTAL_24M_PWD_MASK (0x40000000U)
  45592. #define XTALOSC24M_MISC0_SET_XTAL_24M_PWD_SHIFT (30U)
  45593. #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)
  45594. #define XTALOSC24M_MISC0_SET_VID_PLL_PREDIV_MASK (0x80000000U)
  45595. #define XTALOSC24M_MISC0_SET_VID_PLL_PREDIV_SHIFT (31U)
  45596. /*! VID_PLL_PREDIV
  45597. * 0b0..Divide by 1
  45598. * 0b1..Divide by 2
  45599. */
  45600. #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)
  45601. /*! @} */
  45602. /*! @name MISC0_CLR - Miscellaneous Register 0 */
  45603. /*! @{ */
  45604. #define XTALOSC24M_MISC0_CLR_REFTOP_PWD_MASK (0x1U)
  45605. #define XTALOSC24M_MISC0_CLR_REFTOP_PWD_SHIFT (0U)
  45606. #define XTALOSC24M_MISC0_CLR_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_REFTOP_PWD_SHIFT)) & XTALOSC24M_MISC0_CLR_REFTOP_PWD_MASK)
  45607. #define XTALOSC24M_MISC0_CLR_REFTOP_SELFBIASOFF_MASK (0x8U)
  45608. #define XTALOSC24M_MISC0_CLR_REFTOP_SELFBIASOFF_SHIFT (3U)
  45609. /*! REFTOP_SELFBIASOFF
  45610. * 0b0..Uses coarse bias currents for startup
  45611. * 0b1..Uses bandgap-based bias currents for best performance.
  45612. */
  45613. #define XTALOSC24M_MISC0_CLR_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_REFTOP_SELFBIASOFF_SHIFT)) & XTALOSC24M_MISC0_CLR_REFTOP_SELFBIASOFF_MASK)
  45614. #define XTALOSC24M_MISC0_CLR_REFTOP_VBGADJ_MASK (0x70U)
  45615. #define XTALOSC24M_MISC0_CLR_REFTOP_VBGADJ_SHIFT (4U)
  45616. /*! REFTOP_VBGADJ
  45617. * 0b000..Nominal VBG
  45618. * 0b001..VBG+0.78%
  45619. * 0b010..VBG+1.56%
  45620. * 0b011..VBG+2.34%
  45621. * 0b100..VBG-0.78%
  45622. * 0b101..VBG-1.56%
  45623. * 0b110..VBG-2.34%
  45624. * 0b111..VBG-3.12%
  45625. */
  45626. #define XTALOSC24M_MISC0_CLR_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_REFTOP_VBGADJ_SHIFT)) & XTALOSC24M_MISC0_CLR_REFTOP_VBGADJ_MASK)
  45627. #define XTALOSC24M_MISC0_CLR_REFTOP_VBGUP_MASK (0x80U)
  45628. #define XTALOSC24M_MISC0_CLR_REFTOP_VBGUP_SHIFT (7U)
  45629. #define XTALOSC24M_MISC0_CLR_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_REFTOP_VBGUP_SHIFT)) & XTALOSC24M_MISC0_CLR_REFTOP_VBGUP_MASK)
  45630. #define XTALOSC24M_MISC0_CLR_STOP_MODE_CONFIG_MASK (0xC00U)
  45631. #define XTALOSC24M_MISC0_CLR_STOP_MODE_CONFIG_SHIFT (10U)
  45632. /*! STOP_MODE_CONFIG
  45633. * 0b00..All analog except rtc powered down on stop mode assertion. XtalOsc=on, RCOsc=off;
  45634. * 0b01..Certain analog functions such as certain regulators left up. XtalOsc=on, RCOsc=off;
  45635. * 0b10..XtalOsc=off, RCOsc=on, Old BG=on, New BG=off.
  45636. * 0b11..XtalOsc=off, RCOsc=on, Old BG=off, New BG=on.
  45637. */
  45638. #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)
  45639. #define XTALOSC24M_MISC0_CLR_DISCON_HIGH_SNVS_MASK (0x1000U)
  45640. #define XTALOSC24M_MISC0_CLR_DISCON_HIGH_SNVS_SHIFT (12U)
  45641. /*! DISCON_HIGH_SNVS
  45642. * 0b0..Turn on the switch
  45643. * 0b1..Turn off the switch
  45644. */
  45645. #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)
  45646. #define XTALOSC24M_MISC0_CLR_OSC_I_MASK (0x6000U)
  45647. #define XTALOSC24M_MISC0_CLR_OSC_I_SHIFT (13U)
  45648. /*! OSC_I
  45649. * 0b00..Nominal
  45650. * 0b01..Decrease current by 12.5%
  45651. * 0b10..Decrease current by 25.0%
  45652. * 0b11..Decrease current by 37.5%
  45653. */
  45654. #define XTALOSC24M_MISC0_CLR_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_OSC_I_SHIFT)) & XTALOSC24M_MISC0_CLR_OSC_I_MASK)
  45655. #define XTALOSC24M_MISC0_CLR_OSC_XTALOK_MASK (0x8000U)
  45656. #define XTALOSC24M_MISC0_CLR_OSC_XTALOK_SHIFT (15U)
  45657. #define XTALOSC24M_MISC0_CLR_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_OSC_XTALOK_SHIFT)) & XTALOSC24M_MISC0_CLR_OSC_XTALOK_MASK)
  45658. #define XTALOSC24M_MISC0_CLR_OSC_XTALOK_EN_MASK (0x10000U)
  45659. #define XTALOSC24M_MISC0_CLR_OSC_XTALOK_EN_SHIFT (16U)
  45660. #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)
  45661. #define XTALOSC24M_MISC0_CLR_CLKGATE_CTRL_MASK (0x2000000U)
  45662. #define XTALOSC24M_MISC0_CLR_CLKGATE_CTRL_SHIFT (25U)
  45663. /*! CLKGATE_CTRL
  45664. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  45665. * 0b1..Prevent the logic from ever gating off the clock.
  45666. */
  45667. #define XTALOSC24M_MISC0_CLR_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_CLKGATE_CTRL_SHIFT)) & XTALOSC24M_MISC0_CLR_CLKGATE_CTRL_MASK)
  45668. #define XTALOSC24M_MISC0_CLR_CLKGATE_DELAY_MASK (0x1C000000U)
  45669. #define XTALOSC24M_MISC0_CLR_CLKGATE_DELAY_SHIFT (26U)
  45670. /*! CLKGATE_DELAY
  45671. * 0b000..0.5ms
  45672. * 0b001..1.0ms
  45673. * 0b010..2.0ms
  45674. * 0b011..3.0ms
  45675. * 0b100..4.0ms
  45676. * 0b101..5.0ms
  45677. * 0b110..6.0ms
  45678. * 0b111..7.0ms
  45679. */
  45680. #define XTALOSC24M_MISC0_CLR_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_CLR_CLKGATE_DELAY_SHIFT)) & XTALOSC24M_MISC0_CLR_CLKGATE_DELAY_MASK)
  45681. #define XTALOSC24M_MISC0_CLR_RTC_XTAL_SOURCE_MASK (0x20000000U)
  45682. #define XTALOSC24M_MISC0_CLR_RTC_XTAL_SOURCE_SHIFT (29U)
  45683. /*! RTC_XTAL_SOURCE
  45684. * 0b0..Internal ring oscillator
  45685. * 0b1..RTC_XTAL
  45686. */
  45687. #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)
  45688. #define XTALOSC24M_MISC0_CLR_XTAL_24M_PWD_MASK (0x40000000U)
  45689. #define XTALOSC24M_MISC0_CLR_XTAL_24M_PWD_SHIFT (30U)
  45690. #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)
  45691. #define XTALOSC24M_MISC0_CLR_VID_PLL_PREDIV_MASK (0x80000000U)
  45692. #define XTALOSC24M_MISC0_CLR_VID_PLL_PREDIV_SHIFT (31U)
  45693. /*! VID_PLL_PREDIV
  45694. * 0b0..Divide by 1
  45695. * 0b1..Divide by 2
  45696. */
  45697. #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)
  45698. /*! @} */
  45699. /*! @name MISC0_TOG - Miscellaneous Register 0 */
  45700. /*! @{ */
  45701. #define XTALOSC24M_MISC0_TOG_REFTOP_PWD_MASK (0x1U)
  45702. #define XTALOSC24M_MISC0_TOG_REFTOP_PWD_SHIFT (0U)
  45703. #define XTALOSC24M_MISC0_TOG_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_REFTOP_PWD_SHIFT)) & XTALOSC24M_MISC0_TOG_REFTOP_PWD_MASK)
  45704. #define XTALOSC24M_MISC0_TOG_REFTOP_SELFBIASOFF_MASK (0x8U)
  45705. #define XTALOSC24M_MISC0_TOG_REFTOP_SELFBIASOFF_SHIFT (3U)
  45706. /*! REFTOP_SELFBIASOFF
  45707. * 0b0..Uses coarse bias currents for startup
  45708. * 0b1..Uses bandgap-based bias currents for best performance.
  45709. */
  45710. #define XTALOSC24M_MISC0_TOG_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_REFTOP_SELFBIASOFF_SHIFT)) & XTALOSC24M_MISC0_TOG_REFTOP_SELFBIASOFF_MASK)
  45711. #define XTALOSC24M_MISC0_TOG_REFTOP_VBGADJ_MASK (0x70U)
  45712. #define XTALOSC24M_MISC0_TOG_REFTOP_VBGADJ_SHIFT (4U)
  45713. /*! REFTOP_VBGADJ
  45714. * 0b000..Nominal VBG
  45715. * 0b001..VBG+0.78%
  45716. * 0b010..VBG+1.56%
  45717. * 0b011..VBG+2.34%
  45718. * 0b100..VBG-0.78%
  45719. * 0b101..VBG-1.56%
  45720. * 0b110..VBG-2.34%
  45721. * 0b111..VBG-3.12%
  45722. */
  45723. #define XTALOSC24M_MISC0_TOG_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_REFTOP_VBGADJ_SHIFT)) & XTALOSC24M_MISC0_TOG_REFTOP_VBGADJ_MASK)
  45724. #define XTALOSC24M_MISC0_TOG_REFTOP_VBGUP_MASK (0x80U)
  45725. #define XTALOSC24M_MISC0_TOG_REFTOP_VBGUP_SHIFT (7U)
  45726. #define XTALOSC24M_MISC0_TOG_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_REFTOP_VBGUP_SHIFT)) & XTALOSC24M_MISC0_TOG_REFTOP_VBGUP_MASK)
  45727. #define XTALOSC24M_MISC0_TOG_STOP_MODE_CONFIG_MASK (0xC00U)
  45728. #define XTALOSC24M_MISC0_TOG_STOP_MODE_CONFIG_SHIFT (10U)
  45729. /*! STOP_MODE_CONFIG
  45730. * 0b00..All analog except rtc powered down on stop mode assertion. XtalOsc=on, RCOsc=off;
  45731. * 0b01..Certain analog functions such as certain regulators left up. XtalOsc=on, RCOsc=off;
  45732. * 0b10..XtalOsc=off, RCOsc=on, Old BG=on, New BG=off.
  45733. * 0b11..XtalOsc=off, RCOsc=on, Old BG=off, New BG=on.
  45734. */
  45735. #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)
  45736. #define XTALOSC24M_MISC0_TOG_DISCON_HIGH_SNVS_MASK (0x1000U)
  45737. #define XTALOSC24M_MISC0_TOG_DISCON_HIGH_SNVS_SHIFT (12U)
  45738. /*! DISCON_HIGH_SNVS
  45739. * 0b0..Turn on the switch
  45740. * 0b1..Turn off the switch
  45741. */
  45742. #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)
  45743. #define XTALOSC24M_MISC0_TOG_OSC_I_MASK (0x6000U)
  45744. #define XTALOSC24M_MISC0_TOG_OSC_I_SHIFT (13U)
  45745. /*! OSC_I
  45746. * 0b00..Nominal
  45747. * 0b01..Decrease current by 12.5%
  45748. * 0b10..Decrease current by 25.0%
  45749. * 0b11..Decrease current by 37.5%
  45750. */
  45751. #define XTALOSC24M_MISC0_TOG_OSC_I(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_OSC_I_SHIFT)) & XTALOSC24M_MISC0_TOG_OSC_I_MASK)
  45752. #define XTALOSC24M_MISC0_TOG_OSC_XTALOK_MASK (0x8000U)
  45753. #define XTALOSC24M_MISC0_TOG_OSC_XTALOK_SHIFT (15U)
  45754. #define XTALOSC24M_MISC0_TOG_OSC_XTALOK(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_OSC_XTALOK_SHIFT)) & XTALOSC24M_MISC0_TOG_OSC_XTALOK_MASK)
  45755. #define XTALOSC24M_MISC0_TOG_OSC_XTALOK_EN_MASK (0x10000U)
  45756. #define XTALOSC24M_MISC0_TOG_OSC_XTALOK_EN_SHIFT (16U)
  45757. #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)
  45758. #define XTALOSC24M_MISC0_TOG_CLKGATE_CTRL_MASK (0x2000000U)
  45759. #define XTALOSC24M_MISC0_TOG_CLKGATE_CTRL_SHIFT (25U)
  45760. /*! CLKGATE_CTRL
  45761. * 0b0..Allow the logic to automatically gate the clock when the XTAL is powered down.
  45762. * 0b1..Prevent the logic from ever gating off the clock.
  45763. */
  45764. #define XTALOSC24M_MISC0_TOG_CLKGATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_CLKGATE_CTRL_SHIFT)) & XTALOSC24M_MISC0_TOG_CLKGATE_CTRL_MASK)
  45765. #define XTALOSC24M_MISC0_TOG_CLKGATE_DELAY_MASK (0x1C000000U)
  45766. #define XTALOSC24M_MISC0_TOG_CLKGATE_DELAY_SHIFT (26U)
  45767. /*! CLKGATE_DELAY
  45768. * 0b000..0.5ms
  45769. * 0b001..1.0ms
  45770. * 0b010..2.0ms
  45771. * 0b011..3.0ms
  45772. * 0b100..4.0ms
  45773. * 0b101..5.0ms
  45774. * 0b110..6.0ms
  45775. * 0b111..7.0ms
  45776. */
  45777. #define XTALOSC24M_MISC0_TOG_CLKGATE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_MISC0_TOG_CLKGATE_DELAY_SHIFT)) & XTALOSC24M_MISC0_TOG_CLKGATE_DELAY_MASK)
  45778. #define XTALOSC24M_MISC0_TOG_RTC_XTAL_SOURCE_MASK (0x20000000U)
  45779. #define XTALOSC24M_MISC0_TOG_RTC_XTAL_SOURCE_SHIFT (29U)
  45780. /*! RTC_XTAL_SOURCE
  45781. * 0b0..Internal ring oscillator
  45782. * 0b1..RTC_XTAL
  45783. */
  45784. #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)
  45785. #define XTALOSC24M_MISC0_TOG_XTAL_24M_PWD_MASK (0x40000000U)
  45786. #define XTALOSC24M_MISC0_TOG_XTAL_24M_PWD_SHIFT (30U)
  45787. #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)
  45788. #define XTALOSC24M_MISC0_TOG_VID_PLL_PREDIV_MASK (0x80000000U)
  45789. #define XTALOSC24M_MISC0_TOG_VID_PLL_PREDIV_SHIFT (31U)
  45790. /*! VID_PLL_PREDIV
  45791. * 0b0..Divide by 1
  45792. * 0b1..Divide by 2
  45793. */
  45794. #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)
  45795. /*! @} */
  45796. /*! @name LOWPWR_CTRL - XTAL OSC (LP) Control Register */
  45797. /*! @{ */
  45798. #define XTALOSC24M_LOWPWR_CTRL_RC_OSC_EN_MASK (0x1U)
  45799. #define XTALOSC24M_LOWPWR_CTRL_RC_OSC_EN_SHIFT (0U)
  45800. /*! RC_OSC_EN
  45801. * 0b0..Use XTAL OSC to source the 24MHz clock
  45802. * 0b1..Use RC OSC
  45803. */
  45804. #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)
  45805. #define XTALOSC24M_LOWPWR_CTRL_OSC_SEL_MASK (0x10U)
  45806. #define XTALOSC24M_LOWPWR_CTRL_OSC_SEL_SHIFT (4U)
  45807. /*! OSC_SEL
  45808. * 0b0..XTAL OSC
  45809. * 0b1..RC OSC
  45810. */
  45811. #define XTALOSC24M_LOWPWR_CTRL_OSC_SEL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_OSC_SEL_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_OSC_SEL_MASK)
  45812. #define XTALOSC24M_LOWPWR_CTRL_LPBG_SEL_MASK (0x20U)
  45813. #define XTALOSC24M_LOWPWR_CTRL_LPBG_SEL_SHIFT (5U)
  45814. /*! LPBG_SEL
  45815. * 0b0..Normal power bandgap
  45816. * 0b1..Low power bandgap
  45817. */
  45818. #define XTALOSC24M_LOWPWR_CTRL_LPBG_SEL(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_LPBG_SEL_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_LPBG_SEL_MASK)
  45819. #define XTALOSC24M_LOWPWR_CTRL_LPBG_TEST_MASK (0x40U)
  45820. #define XTALOSC24M_LOWPWR_CTRL_LPBG_TEST_SHIFT (6U)
  45821. #define XTALOSC24M_LOWPWR_CTRL_LPBG_TEST(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_LPBG_TEST_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_LPBG_TEST_MASK)
  45822. #define XTALOSC24M_LOWPWR_CTRL_REFTOP_IBIAS_OFF_MASK (0x80U)
  45823. #define XTALOSC24M_LOWPWR_CTRL_REFTOP_IBIAS_OFF_SHIFT (7U)
  45824. #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)
  45825. #define XTALOSC24M_LOWPWR_CTRL_L1_PWRGATE_MASK (0x100U)
  45826. #define XTALOSC24M_LOWPWR_CTRL_L1_PWRGATE_SHIFT (8U)
  45827. #define XTALOSC24M_LOWPWR_CTRL_L1_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_L1_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_L1_PWRGATE_MASK)
  45828. #define XTALOSC24M_LOWPWR_CTRL_L2_PWRGATE_MASK (0x200U)
  45829. #define XTALOSC24M_LOWPWR_CTRL_L2_PWRGATE_SHIFT (9U)
  45830. #define XTALOSC24M_LOWPWR_CTRL_L2_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_L2_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_L2_PWRGATE_MASK)
  45831. #define XTALOSC24M_LOWPWR_CTRL_CPU_PWRGATE_MASK (0x400U)
  45832. #define XTALOSC24M_LOWPWR_CTRL_CPU_PWRGATE_SHIFT (10U)
  45833. #define XTALOSC24M_LOWPWR_CTRL_CPU_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_CPU_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_CPU_PWRGATE_MASK)
  45834. #define XTALOSC24M_LOWPWR_CTRL_DISPLAY_PWRGATE_MASK (0x800U)
  45835. #define XTALOSC24M_LOWPWR_CTRL_DISPLAY_PWRGATE_SHIFT (11U)
  45836. #define XTALOSC24M_LOWPWR_CTRL_DISPLAY_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_DISPLAY_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_DISPLAY_PWRGATE_MASK)
  45837. #define XTALOSC24M_LOWPWR_CTRL_RCOSC_CG_OVERRIDE_MASK (0x2000U)
  45838. #define XTALOSC24M_LOWPWR_CTRL_RCOSC_CG_OVERRIDE_SHIFT (13U)
  45839. #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)
  45840. #define XTALOSC24M_LOWPWR_CTRL_XTALOSC_PWRUP_DELAY_MASK (0xC000U)
  45841. #define XTALOSC24M_LOWPWR_CTRL_XTALOSC_PWRUP_DELAY_SHIFT (14U)
  45842. /*! XTALOSC_PWRUP_DELAY
  45843. * 0b00..0.25ms
  45844. * 0b01..0.5ms
  45845. * 0b10..1ms
  45846. * 0b11..2ms
  45847. */
  45848. #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)
  45849. #define XTALOSC24M_LOWPWR_CTRL_XTALOSC_PWRUP_STAT_MASK (0x10000U)
  45850. #define XTALOSC24M_LOWPWR_CTRL_XTALOSC_PWRUP_STAT_SHIFT (16U)
  45851. /*! XTALOSC_PWRUP_STAT
  45852. * 0b0..Not stable
  45853. * 0b1..Stable and ready to use
  45854. */
  45855. #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)
  45856. #define XTALOSC24M_LOWPWR_CTRL_MIX_PWRGATE_MASK (0x20000U)
  45857. #define XTALOSC24M_LOWPWR_CTRL_MIX_PWRGATE_SHIFT (17U)
  45858. #define XTALOSC24M_LOWPWR_CTRL_MIX_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_MIX_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_MIX_PWRGATE_MASK)
  45859. #define XTALOSC24M_LOWPWR_CTRL_GPU_PWRGATE_MASK (0x40000U)
  45860. #define XTALOSC24M_LOWPWR_CTRL_GPU_PWRGATE_SHIFT (18U)
  45861. #define XTALOSC24M_LOWPWR_CTRL_GPU_PWRGATE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_LOWPWR_CTRL_GPU_PWRGATE_SHIFT)) & XTALOSC24M_LOWPWR_CTRL_GPU_PWRGATE_MASK)
  45862. /*! @} */
  45863. /*! @name LOWPWR_CTRL_SET - XTAL OSC (LP) Control Register */
  45864. /*! @{ */
  45865. #define XTALOSC24M_LOWPWR_CTRL_SET_RC_OSC_EN_MASK (0x1U)
  45866. #define XTALOSC24M_LOWPWR_CTRL_SET_RC_OSC_EN_SHIFT (0U)
  45867. /*! RC_OSC_EN
  45868. * 0b0..Use XTAL OSC to source the 24MHz clock
  45869. * 0b1..Use RC OSC
  45870. */
  45871. #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)
  45872. #define XTALOSC24M_LOWPWR_CTRL_SET_OSC_SEL_MASK (0x10U)
  45873. #define XTALOSC24M_LOWPWR_CTRL_SET_OSC_SEL_SHIFT (4U)
  45874. /*! OSC_SEL
  45875. * 0b0..XTAL OSC
  45876. * 0b1..RC OSC
  45877. */
  45878. #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)
  45879. #define XTALOSC24M_LOWPWR_CTRL_SET_LPBG_SEL_MASK (0x20U)
  45880. #define XTALOSC24M_LOWPWR_CTRL_SET_LPBG_SEL_SHIFT (5U)
  45881. /*! LPBG_SEL
  45882. * 0b0..Normal power bandgap
  45883. * 0b1..Low power bandgap
  45884. */
  45885. #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)
  45886. #define XTALOSC24M_LOWPWR_CTRL_SET_LPBG_TEST_MASK (0x40U)
  45887. #define XTALOSC24M_LOWPWR_CTRL_SET_LPBG_TEST_SHIFT (6U)
  45888. #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)
  45889. #define XTALOSC24M_LOWPWR_CTRL_SET_REFTOP_IBIAS_OFF_MASK (0x80U)
  45890. #define XTALOSC24M_LOWPWR_CTRL_SET_REFTOP_IBIAS_OFF_SHIFT (7U)
  45891. #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)
  45892. #define XTALOSC24M_LOWPWR_CTRL_SET_L1_PWRGATE_MASK (0x100U)
  45893. #define XTALOSC24M_LOWPWR_CTRL_SET_L1_PWRGATE_SHIFT (8U)
  45894. #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)
  45895. #define XTALOSC24M_LOWPWR_CTRL_SET_L2_PWRGATE_MASK (0x200U)
  45896. #define XTALOSC24M_LOWPWR_CTRL_SET_L2_PWRGATE_SHIFT (9U)
  45897. #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)
  45898. #define XTALOSC24M_LOWPWR_CTRL_SET_CPU_PWRGATE_MASK (0x400U)
  45899. #define XTALOSC24M_LOWPWR_CTRL_SET_CPU_PWRGATE_SHIFT (10U)
  45900. #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)
  45901. #define XTALOSC24M_LOWPWR_CTRL_SET_DISPLAY_PWRGATE_MASK (0x800U)
  45902. #define XTALOSC24M_LOWPWR_CTRL_SET_DISPLAY_PWRGATE_SHIFT (11U)
  45903. #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)
  45904. #define XTALOSC24M_LOWPWR_CTRL_SET_RCOSC_CG_OVERRIDE_MASK (0x2000U)
  45905. #define XTALOSC24M_LOWPWR_CTRL_SET_RCOSC_CG_OVERRIDE_SHIFT (13U)
  45906. #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)
  45907. #define XTALOSC24M_LOWPWR_CTRL_SET_XTALOSC_PWRUP_DELAY_MASK (0xC000U)
  45908. #define XTALOSC24M_LOWPWR_CTRL_SET_XTALOSC_PWRUP_DELAY_SHIFT (14U)
  45909. /*! XTALOSC_PWRUP_DELAY
  45910. * 0b00..0.25ms
  45911. * 0b01..0.5ms
  45912. * 0b10..1ms
  45913. * 0b11..2ms
  45914. */
  45915. #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)
  45916. #define XTALOSC24M_LOWPWR_CTRL_SET_XTALOSC_PWRUP_STAT_MASK (0x10000U)
  45917. #define XTALOSC24M_LOWPWR_CTRL_SET_XTALOSC_PWRUP_STAT_SHIFT (16U)
  45918. /*! XTALOSC_PWRUP_STAT
  45919. * 0b0..Not stable
  45920. * 0b1..Stable and ready to use
  45921. */
  45922. #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)
  45923. #define XTALOSC24M_LOWPWR_CTRL_SET_MIX_PWRGATE_MASK (0x20000U)
  45924. #define XTALOSC24M_LOWPWR_CTRL_SET_MIX_PWRGATE_SHIFT (17U)
  45925. #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)
  45926. #define XTALOSC24M_LOWPWR_CTRL_SET_GPU_PWRGATE_MASK (0x40000U)
  45927. #define XTALOSC24M_LOWPWR_CTRL_SET_GPU_PWRGATE_SHIFT (18U)
  45928. #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)
  45929. /*! @} */
  45930. /*! @name LOWPWR_CTRL_CLR - XTAL OSC (LP) Control Register */
  45931. /*! @{ */
  45932. #define XTALOSC24M_LOWPWR_CTRL_CLR_RC_OSC_EN_MASK (0x1U)
  45933. #define XTALOSC24M_LOWPWR_CTRL_CLR_RC_OSC_EN_SHIFT (0U)
  45934. /*! RC_OSC_EN
  45935. * 0b0..Use XTAL OSC to source the 24MHz clock
  45936. * 0b1..Use RC OSC
  45937. */
  45938. #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)
  45939. #define XTALOSC24M_LOWPWR_CTRL_CLR_OSC_SEL_MASK (0x10U)
  45940. #define XTALOSC24M_LOWPWR_CTRL_CLR_OSC_SEL_SHIFT (4U)
  45941. /*! OSC_SEL
  45942. * 0b0..XTAL OSC
  45943. * 0b1..RC OSC
  45944. */
  45945. #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)
  45946. #define XTALOSC24M_LOWPWR_CTRL_CLR_LPBG_SEL_MASK (0x20U)
  45947. #define XTALOSC24M_LOWPWR_CTRL_CLR_LPBG_SEL_SHIFT (5U)
  45948. /*! LPBG_SEL
  45949. * 0b0..Normal power bandgap
  45950. * 0b1..Low power bandgap
  45951. */
  45952. #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)
  45953. #define XTALOSC24M_LOWPWR_CTRL_CLR_LPBG_TEST_MASK (0x40U)
  45954. #define XTALOSC24M_LOWPWR_CTRL_CLR_LPBG_TEST_SHIFT (6U)
  45955. #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)
  45956. #define XTALOSC24M_LOWPWR_CTRL_CLR_REFTOP_IBIAS_OFF_MASK (0x80U)
  45957. #define XTALOSC24M_LOWPWR_CTRL_CLR_REFTOP_IBIAS_OFF_SHIFT (7U)
  45958. #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)
  45959. #define XTALOSC24M_LOWPWR_CTRL_CLR_L1_PWRGATE_MASK (0x100U)
  45960. #define XTALOSC24M_LOWPWR_CTRL_CLR_L1_PWRGATE_SHIFT (8U)
  45961. #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)
  45962. #define XTALOSC24M_LOWPWR_CTRL_CLR_L2_PWRGATE_MASK (0x200U)
  45963. #define XTALOSC24M_LOWPWR_CTRL_CLR_L2_PWRGATE_SHIFT (9U)
  45964. #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)
  45965. #define XTALOSC24M_LOWPWR_CTRL_CLR_CPU_PWRGATE_MASK (0x400U)
  45966. #define XTALOSC24M_LOWPWR_CTRL_CLR_CPU_PWRGATE_SHIFT (10U)
  45967. #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)
  45968. #define XTALOSC24M_LOWPWR_CTRL_CLR_DISPLAY_PWRGATE_MASK (0x800U)
  45969. #define XTALOSC24M_LOWPWR_CTRL_CLR_DISPLAY_PWRGATE_SHIFT (11U)
  45970. #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)
  45971. #define XTALOSC24M_LOWPWR_CTRL_CLR_RCOSC_CG_OVERRIDE_MASK (0x2000U)
  45972. #define XTALOSC24M_LOWPWR_CTRL_CLR_RCOSC_CG_OVERRIDE_SHIFT (13U)
  45973. #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)
  45974. #define XTALOSC24M_LOWPWR_CTRL_CLR_XTALOSC_PWRUP_DELAY_MASK (0xC000U)
  45975. #define XTALOSC24M_LOWPWR_CTRL_CLR_XTALOSC_PWRUP_DELAY_SHIFT (14U)
  45976. /*! XTALOSC_PWRUP_DELAY
  45977. * 0b00..0.25ms
  45978. * 0b01..0.5ms
  45979. * 0b10..1ms
  45980. * 0b11..2ms
  45981. */
  45982. #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)
  45983. #define XTALOSC24M_LOWPWR_CTRL_CLR_XTALOSC_PWRUP_STAT_MASK (0x10000U)
  45984. #define XTALOSC24M_LOWPWR_CTRL_CLR_XTALOSC_PWRUP_STAT_SHIFT (16U)
  45985. /*! XTALOSC_PWRUP_STAT
  45986. * 0b0..Not stable
  45987. * 0b1..Stable and ready to use
  45988. */
  45989. #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)
  45990. #define XTALOSC24M_LOWPWR_CTRL_CLR_MIX_PWRGATE_MASK (0x20000U)
  45991. #define XTALOSC24M_LOWPWR_CTRL_CLR_MIX_PWRGATE_SHIFT (17U)
  45992. #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)
  45993. #define XTALOSC24M_LOWPWR_CTRL_CLR_GPU_PWRGATE_MASK (0x40000U)
  45994. #define XTALOSC24M_LOWPWR_CTRL_CLR_GPU_PWRGATE_SHIFT (18U)
  45995. #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)
  45996. /*! @} */
  45997. /*! @name LOWPWR_CTRL_TOG - XTAL OSC (LP) Control Register */
  45998. /*! @{ */
  45999. #define XTALOSC24M_LOWPWR_CTRL_TOG_RC_OSC_EN_MASK (0x1U)
  46000. #define XTALOSC24M_LOWPWR_CTRL_TOG_RC_OSC_EN_SHIFT (0U)
  46001. /*! RC_OSC_EN
  46002. * 0b0..Use XTAL OSC to source the 24MHz clock
  46003. * 0b1..Use RC OSC
  46004. */
  46005. #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)
  46006. #define XTALOSC24M_LOWPWR_CTRL_TOG_OSC_SEL_MASK (0x10U)
  46007. #define XTALOSC24M_LOWPWR_CTRL_TOG_OSC_SEL_SHIFT (4U)
  46008. /*! OSC_SEL
  46009. * 0b0..XTAL OSC
  46010. * 0b1..RC OSC
  46011. */
  46012. #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)
  46013. #define XTALOSC24M_LOWPWR_CTRL_TOG_LPBG_SEL_MASK (0x20U)
  46014. #define XTALOSC24M_LOWPWR_CTRL_TOG_LPBG_SEL_SHIFT (5U)
  46015. /*! LPBG_SEL
  46016. * 0b0..Normal power bandgap
  46017. * 0b1..Low power bandgap
  46018. */
  46019. #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)
  46020. #define XTALOSC24M_LOWPWR_CTRL_TOG_LPBG_TEST_MASK (0x40U)
  46021. #define XTALOSC24M_LOWPWR_CTRL_TOG_LPBG_TEST_SHIFT (6U)
  46022. #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)
  46023. #define XTALOSC24M_LOWPWR_CTRL_TOG_REFTOP_IBIAS_OFF_MASK (0x80U)
  46024. #define XTALOSC24M_LOWPWR_CTRL_TOG_REFTOP_IBIAS_OFF_SHIFT (7U)
  46025. #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)
  46026. #define XTALOSC24M_LOWPWR_CTRL_TOG_L1_PWRGATE_MASK (0x100U)
  46027. #define XTALOSC24M_LOWPWR_CTRL_TOG_L1_PWRGATE_SHIFT (8U)
  46028. #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)
  46029. #define XTALOSC24M_LOWPWR_CTRL_TOG_L2_PWRGATE_MASK (0x200U)
  46030. #define XTALOSC24M_LOWPWR_CTRL_TOG_L2_PWRGATE_SHIFT (9U)
  46031. #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)
  46032. #define XTALOSC24M_LOWPWR_CTRL_TOG_CPU_PWRGATE_MASK (0x400U)
  46033. #define XTALOSC24M_LOWPWR_CTRL_TOG_CPU_PWRGATE_SHIFT (10U)
  46034. #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)
  46035. #define XTALOSC24M_LOWPWR_CTRL_TOG_DISPLAY_PWRGATE_MASK (0x800U)
  46036. #define XTALOSC24M_LOWPWR_CTRL_TOG_DISPLAY_PWRGATE_SHIFT (11U)
  46037. #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)
  46038. #define XTALOSC24M_LOWPWR_CTRL_TOG_RCOSC_CG_OVERRIDE_MASK (0x2000U)
  46039. #define XTALOSC24M_LOWPWR_CTRL_TOG_RCOSC_CG_OVERRIDE_SHIFT (13U)
  46040. #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)
  46041. #define XTALOSC24M_LOWPWR_CTRL_TOG_XTALOSC_PWRUP_DELAY_MASK (0xC000U)
  46042. #define XTALOSC24M_LOWPWR_CTRL_TOG_XTALOSC_PWRUP_DELAY_SHIFT (14U)
  46043. /*! XTALOSC_PWRUP_DELAY
  46044. * 0b00..0.25ms
  46045. * 0b01..0.5ms
  46046. * 0b10..1ms
  46047. * 0b11..2ms
  46048. */
  46049. #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)
  46050. #define XTALOSC24M_LOWPWR_CTRL_TOG_XTALOSC_PWRUP_STAT_MASK (0x10000U)
  46051. #define XTALOSC24M_LOWPWR_CTRL_TOG_XTALOSC_PWRUP_STAT_SHIFT (16U)
  46052. /*! XTALOSC_PWRUP_STAT
  46053. * 0b0..Not stable
  46054. * 0b1..Stable and ready to use
  46055. */
  46056. #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)
  46057. #define XTALOSC24M_LOWPWR_CTRL_TOG_MIX_PWRGATE_MASK (0x20000U)
  46058. #define XTALOSC24M_LOWPWR_CTRL_TOG_MIX_PWRGATE_SHIFT (17U)
  46059. #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)
  46060. #define XTALOSC24M_LOWPWR_CTRL_TOG_GPU_PWRGATE_MASK (0x40000U)
  46061. #define XTALOSC24M_LOWPWR_CTRL_TOG_GPU_PWRGATE_SHIFT (18U)
  46062. #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)
  46063. /*! @} */
  46064. /*! @name OSC_CONFIG0 - XTAL OSC Configuration 0 Register */
  46065. /*! @{ */
  46066. #define XTALOSC24M_OSC_CONFIG0_START_MASK (0x1U)
  46067. #define XTALOSC24M_OSC_CONFIG0_START_SHIFT (0U)
  46068. #define XTALOSC24M_OSC_CONFIG0_START(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_START_SHIFT)) & XTALOSC24M_OSC_CONFIG0_START_MASK)
  46069. #define XTALOSC24M_OSC_CONFIG0_ENABLE_MASK (0x2U)
  46070. #define XTALOSC24M_OSC_CONFIG0_ENABLE_SHIFT (1U)
  46071. #define XTALOSC24M_OSC_CONFIG0_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_ENABLE_SHIFT)) & XTALOSC24M_OSC_CONFIG0_ENABLE_MASK)
  46072. #define XTALOSC24M_OSC_CONFIG0_BYPASS_MASK (0x4U)
  46073. #define XTALOSC24M_OSC_CONFIG0_BYPASS_SHIFT (2U)
  46074. #define XTALOSC24M_OSC_CONFIG0_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_BYPASS_SHIFT)) & XTALOSC24M_OSC_CONFIG0_BYPASS_MASK)
  46075. #define XTALOSC24M_OSC_CONFIG0_INVERT_MASK (0x8U)
  46076. #define XTALOSC24M_OSC_CONFIG0_INVERT_SHIFT (3U)
  46077. #define XTALOSC24M_OSC_CONFIG0_INVERT(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_INVERT_SHIFT)) & XTALOSC24M_OSC_CONFIG0_INVERT_MASK)
  46078. #define XTALOSC24M_OSC_CONFIG0_RC_OSC_PROG_MASK (0xFF0U)
  46079. #define XTALOSC24M_OSC_CONFIG0_RC_OSC_PROG_SHIFT (4U)
  46080. #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)
  46081. #define XTALOSC24M_OSC_CONFIG0_HYST_PLUS_MASK (0xF000U)
  46082. #define XTALOSC24M_OSC_CONFIG0_HYST_PLUS_SHIFT (12U)
  46083. #define XTALOSC24M_OSC_CONFIG0_HYST_PLUS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_HYST_PLUS_SHIFT)) & XTALOSC24M_OSC_CONFIG0_HYST_PLUS_MASK)
  46084. #define XTALOSC24M_OSC_CONFIG0_HYST_MINUS_MASK (0xF0000U)
  46085. #define XTALOSC24M_OSC_CONFIG0_HYST_MINUS_SHIFT (16U)
  46086. #define XTALOSC24M_OSC_CONFIG0_HYST_MINUS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_HYST_MINUS_SHIFT)) & XTALOSC24M_OSC_CONFIG0_HYST_MINUS_MASK)
  46087. #define XTALOSC24M_OSC_CONFIG0_RC_OSC_PROG_CUR_MASK (0xFF000000U)
  46088. #define XTALOSC24M_OSC_CONFIG0_RC_OSC_PROG_CUR_SHIFT (24U)
  46089. #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)
  46090. /*! @} */
  46091. /*! @name OSC_CONFIG0_SET - XTAL OSC Configuration 0 Register */
  46092. /*! @{ */
  46093. #define XTALOSC24M_OSC_CONFIG0_SET_START_MASK (0x1U)
  46094. #define XTALOSC24M_OSC_CONFIG0_SET_START_SHIFT (0U)
  46095. #define XTALOSC24M_OSC_CONFIG0_SET_START(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_SET_START_SHIFT)) & XTALOSC24M_OSC_CONFIG0_SET_START_MASK)
  46096. #define XTALOSC24M_OSC_CONFIG0_SET_ENABLE_MASK (0x2U)
  46097. #define XTALOSC24M_OSC_CONFIG0_SET_ENABLE_SHIFT (1U)
  46098. #define XTALOSC24M_OSC_CONFIG0_SET_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_SET_ENABLE_SHIFT)) & XTALOSC24M_OSC_CONFIG0_SET_ENABLE_MASK)
  46099. #define XTALOSC24M_OSC_CONFIG0_SET_BYPASS_MASK (0x4U)
  46100. #define XTALOSC24M_OSC_CONFIG0_SET_BYPASS_SHIFT (2U)
  46101. #define XTALOSC24M_OSC_CONFIG0_SET_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_SET_BYPASS_SHIFT)) & XTALOSC24M_OSC_CONFIG0_SET_BYPASS_MASK)
  46102. #define XTALOSC24M_OSC_CONFIG0_SET_INVERT_MASK (0x8U)
  46103. #define XTALOSC24M_OSC_CONFIG0_SET_INVERT_SHIFT (3U)
  46104. #define XTALOSC24M_OSC_CONFIG0_SET_INVERT(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_SET_INVERT_SHIFT)) & XTALOSC24M_OSC_CONFIG0_SET_INVERT_MASK)
  46105. #define XTALOSC24M_OSC_CONFIG0_SET_RC_OSC_PROG_MASK (0xFF0U)
  46106. #define XTALOSC24M_OSC_CONFIG0_SET_RC_OSC_PROG_SHIFT (4U)
  46107. #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)
  46108. #define XTALOSC24M_OSC_CONFIG0_SET_HYST_PLUS_MASK (0xF000U)
  46109. #define XTALOSC24M_OSC_CONFIG0_SET_HYST_PLUS_SHIFT (12U)
  46110. #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)
  46111. #define XTALOSC24M_OSC_CONFIG0_SET_HYST_MINUS_MASK (0xF0000U)
  46112. #define XTALOSC24M_OSC_CONFIG0_SET_HYST_MINUS_SHIFT (16U)
  46113. #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)
  46114. #define XTALOSC24M_OSC_CONFIG0_SET_RC_OSC_PROG_CUR_MASK (0xFF000000U)
  46115. #define XTALOSC24M_OSC_CONFIG0_SET_RC_OSC_PROG_CUR_SHIFT (24U)
  46116. #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)
  46117. /*! @} */
  46118. /*! @name OSC_CONFIG0_CLR - XTAL OSC Configuration 0 Register */
  46119. /*! @{ */
  46120. #define XTALOSC24M_OSC_CONFIG0_CLR_START_MASK (0x1U)
  46121. #define XTALOSC24M_OSC_CONFIG0_CLR_START_SHIFT (0U)
  46122. #define XTALOSC24M_OSC_CONFIG0_CLR_START(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_CLR_START_SHIFT)) & XTALOSC24M_OSC_CONFIG0_CLR_START_MASK)
  46123. #define XTALOSC24M_OSC_CONFIG0_CLR_ENABLE_MASK (0x2U)
  46124. #define XTALOSC24M_OSC_CONFIG0_CLR_ENABLE_SHIFT (1U)
  46125. #define XTALOSC24M_OSC_CONFIG0_CLR_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_CLR_ENABLE_SHIFT)) & XTALOSC24M_OSC_CONFIG0_CLR_ENABLE_MASK)
  46126. #define XTALOSC24M_OSC_CONFIG0_CLR_BYPASS_MASK (0x4U)
  46127. #define XTALOSC24M_OSC_CONFIG0_CLR_BYPASS_SHIFT (2U)
  46128. #define XTALOSC24M_OSC_CONFIG0_CLR_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_CLR_BYPASS_SHIFT)) & XTALOSC24M_OSC_CONFIG0_CLR_BYPASS_MASK)
  46129. #define XTALOSC24M_OSC_CONFIG0_CLR_INVERT_MASK (0x8U)
  46130. #define XTALOSC24M_OSC_CONFIG0_CLR_INVERT_SHIFT (3U)
  46131. #define XTALOSC24M_OSC_CONFIG0_CLR_INVERT(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_CLR_INVERT_SHIFT)) & XTALOSC24M_OSC_CONFIG0_CLR_INVERT_MASK)
  46132. #define XTALOSC24M_OSC_CONFIG0_CLR_RC_OSC_PROG_MASK (0xFF0U)
  46133. #define XTALOSC24M_OSC_CONFIG0_CLR_RC_OSC_PROG_SHIFT (4U)
  46134. #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)
  46135. #define XTALOSC24M_OSC_CONFIG0_CLR_HYST_PLUS_MASK (0xF000U)
  46136. #define XTALOSC24M_OSC_CONFIG0_CLR_HYST_PLUS_SHIFT (12U)
  46137. #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)
  46138. #define XTALOSC24M_OSC_CONFIG0_CLR_HYST_MINUS_MASK (0xF0000U)
  46139. #define XTALOSC24M_OSC_CONFIG0_CLR_HYST_MINUS_SHIFT (16U)
  46140. #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)
  46141. #define XTALOSC24M_OSC_CONFIG0_CLR_RC_OSC_PROG_CUR_MASK (0xFF000000U)
  46142. #define XTALOSC24M_OSC_CONFIG0_CLR_RC_OSC_PROG_CUR_SHIFT (24U)
  46143. #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)
  46144. /*! @} */
  46145. /*! @name OSC_CONFIG0_TOG - XTAL OSC Configuration 0 Register */
  46146. /*! @{ */
  46147. #define XTALOSC24M_OSC_CONFIG0_TOG_START_MASK (0x1U)
  46148. #define XTALOSC24M_OSC_CONFIG0_TOG_START_SHIFT (0U)
  46149. #define XTALOSC24M_OSC_CONFIG0_TOG_START(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_TOG_START_SHIFT)) & XTALOSC24M_OSC_CONFIG0_TOG_START_MASK)
  46150. #define XTALOSC24M_OSC_CONFIG0_TOG_ENABLE_MASK (0x2U)
  46151. #define XTALOSC24M_OSC_CONFIG0_TOG_ENABLE_SHIFT (1U)
  46152. #define XTALOSC24M_OSC_CONFIG0_TOG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_TOG_ENABLE_SHIFT)) & XTALOSC24M_OSC_CONFIG0_TOG_ENABLE_MASK)
  46153. #define XTALOSC24M_OSC_CONFIG0_TOG_BYPASS_MASK (0x4U)
  46154. #define XTALOSC24M_OSC_CONFIG0_TOG_BYPASS_SHIFT (2U)
  46155. #define XTALOSC24M_OSC_CONFIG0_TOG_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_TOG_BYPASS_SHIFT)) & XTALOSC24M_OSC_CONFIG0_TOG_BYPASS_MASK)
  46156. #define XTALOSC24M_OSC_CONFIG0_TOG_INVERT_MASK (0x8U)
  46157. #define XTALOSC24M_OSC_CONFIG0_TOG_INVERT_SHIFT (3U)
  46158. #define XTALOSC24M_OSC_CONFIG0_TOG_INVERT(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG0_TOG_INVERT_SHIFT)) & XTALOSC24M_OSC_CONFIG0_TOG_INVERT_MASK)
  46159. #define XTALOSC24M_OSC_CONFIG0_TOG_RC_OSC_PROG_MASK (0xFF0U)
  46160. #define XTALOSC24M_OSC_CONFIG0_TOG_RC_OSC_PROG_SHIFT (4U)
  46161. #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)
  46162. #define XTALOSC24M_OSC_CONFIG0_TOG_HYST_PLUS_MASK (0xF000U)
  46163. #define XTALOSC24M_OSC_CONFIG0_TOG_HYST_PLUS_SHIFT (12U)
  46164. #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)
  46165. #define XTALOSC24M_OSC_CONFIG0_TOG_HYST_MINUS_MASK (0xF0000U)
  46166. #define XTALOSC24M_OSC_CONFIG0_TOG_HYST_MINUS_SHIFT (16U)
  46167. #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)
  46168. #define XTALOSC24M_OSC_CONFIG0_TOG_RC_OSC_PROG_CUR_MASK (0xFF000000U)
  46169. #define XTALOSC24M_OSC_CONFIG0_TOG_RC_OSC_PROG_CUR_SHIFT (24U)
  46170. #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)
  46171. /*! @} */
  46172. /*! @name OSC_CONFIG1 - XTAL OSC Configuration 1 Register */
  46173. /*! @{ */
  46174. #define XTALOSC24M_OSC_CONFIG1_COUNT_RC_TRG_MASK (0xFFFU)
  46175. #define XTALOSC24M_OSC_CONFIG1_COUNT_RC_TRG_SHIFT (0U)
  46176. #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)
  46177. #define XTALOSC24M_OSC_CONFIG1_COUNT_RC_CUR_MASK (0xFFF00000U)
  46178. #define XTALOSC24M_OSC_CONFIG1_COUNT_RC_CUR_SHIFT (20U)
  46179. #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)
  46180. /*! @} */
  46181. /*! @name OSC_CONFIG1_SET - XTAL OSC Configuration 1 Register */
  46182. /*! @{ */
  46183. #define XTALOSC24M_OSC_CONFIG1_SET_COUNT_RC_TRG_MASK (0xFFFU)
  46184. #define XTALOSC24M_OSC_CONFIG1_SET_COUNT_RC_TRG_SHIFT (0U)
  46185. #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)
  46186. #define XTALOSC24M_OSC_CONFIG1_SET_COUNT_RC_CUR_MASK (0xFFF00000U)
  46187. #define XTALOSC24M_OSC_CONFIG1_SET_COUNT_RC_CUR_SHIFT (20U)
  46188. #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)
  46189. /*! @} */
  46190. /*! @name OSC_CONFIG1_CLR - XTAL OSC Configuration 1 Register */
  46191. /*! @{ */
  46192. #define XTALOSC24M_OSC_CONFIG1_CLR_COUNT_RC_TRG_MASK (0xFFFU)
  46193. #define XTALOSC24M_OSC_CONFIG1_CLR_COUNT_RC_TRG_SHIFT (0U)
  46194. #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)
  46195. #define XTALOSC24M_OSC_CONFIG1_CLR_COUNT_RC_CUR_MASK (0xFFF00000U)
  46196. #define XTALOSC24M_OSC_CONFIG1_CLR_COUNT_RC_CUR_SHIFT (20U)
  46197. #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)
  46198. /*! @} */
  46199. /*! @name OSC_CONFIG1_TOG - XTAL OSC Configuration 1 Register */
  46200. /*! @{ */
  46201. #define XTALOSC24M_OSC_CONFIG1_TOG_COUNT_RC_TRG_MASK (0xFFFU)
  46202. #define XTALOSC24M_OSC_CONFIG1_TOG_COUNT_RC_TRG_SHIFT (0U)
  46203. #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)
  46204. #define XTALOSC24M_OSC_CONFIG1_TOG_COUNT_RC_CUR_MASK (0xFFF00000U)
  46205. #define XTALOSC24M_OSC_CONFIG1_TOG_COUNT_RC_CUR_SHIFT (20U)
  46206. #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)
  46207. /*! @} */
  46208. /*! @name OSC_CONFIG2 - XTAL OSC Configuration 2 Register */
  46209. /*! @{ */
  46210. #define XTALOSC24M_OSC_CONFIG2_COUNT_1M_TRG_MASK (0xFFFU)
  46211. #define XTALOSC24M_OSC_CONFIG2_COUNT_1M_TRG_SHIFT (0U)
  46212. #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)
  46213. #define XTALOSC24M_OSC_CONFIG2_ENABLE_1M_MASK (0x10000U)
  46214. #define XTALOSC24M_OSC_CONFIG2_ENABLE_1M_SHIFT (16U)
  46215. #define XTALOSC24M_OSC_CONFIG2_ENABLE_1M(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG2_ENABLE_1M_SHIFT)) & XTALOSC24M_OSC_CONFIG2_ENABLE_1M_MASK)
  46216. #define XTALOSC24M_OSC_CONFIG2_MUX_1M_MASK (0x20000U)
  46217. #define XTALOSC24M_OSC_CONFIG2_MUX_1M_SHIFT (17U)
  46218. #define XTALOSC24M_OSC_CONFIG2_MUX_1M(x) (((uint32_t)(((uint32_t)(x)) << XTALOSC24M_OSC_CONFIG2_MUX_1M_SHIFT)) & XTALOSC24M_OSC_CONFIG2_MUX_1M_MASK)
  46219. #define XTALOSC24M_OSC_CONFIG2_CLK_1M_ERR_FL_MASK (0x80000000U)
  46220. #define XTALOSC24M_OSC_CONFIG2_CLK_1M_ERR_FL_SHIFT (31U)
  46221. #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)
  46222. /*! @} */
  46223. /*! @name OSC_CONFIG2_SET - XTAL OSC Configuration 2 Register */
  46224. /*! @{ */
  46225. #define XTALOSC24M_OSC_CONFIG2_SET_COUNT_1M_TRG_MASK (0xFFFU)
  46226. #define XTALOSC24M_OSC_CONFIG2_SET_COUNT_1M_TRG_SHIFT (0U)
  46227. #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)
  46228. #define XTALOSC24M_OSC_CONFIG2_SET_ENABLE_1M_MASK (0x10000U)
  46229. #define XTALOSC24M_OSC_CONFIG2_SET_ENABLE_1M_SHIFT (16U)
  46230. #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)
  46231. #define XTALOSC24M_OSC_CONFIG2_SET_MUX_1M_MASK (0x20000U)
  46232. #define XTALOSC24M_OSC_CONFIG2_SET_MUX_1M_SHIFT (17U)
  46233. #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)
  46234. #define XTALOSC24M_OSC_CONFIG2_SET_CLK_1M_ERR_FL_MASK (0x80000000U)
  46235. #define XTALOSC24M_OSC_CONFIG2_SET_CLK_1M_ERR_FL_SHIFT (31U)
  46236. #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)
  46237. /*! @} */
  46238. /*! @name OSC_CONFIG2_CLR - XTAL OSC Configuration 2 Register */
  46239. /*! @{ */
  46240. #define XTALOSC24M_OSC_CONFIG2_CLR_COUNT_1M_TRG_MASK (0xFFFU)
  46241. #define XTALOSC24M_OSC_CONFIG2_CLR_COUNT_1M_TRG_SHIFT (0U)
  46242. #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)
  46243. #define XTALOSC24M_OSC_CONFIG2_CLR_ENABLE_1M_MASK (0x10000U)
  46244. #define XTALOSC24M_OSC_CONFIG2_CLR_ENABLE_1M_SHIFT (16U)
  46245. #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)
  46246. #define XTALOSC24M_OSC_CONFIG2_CLR_MUX_1M_MASK (0x20000U)
  46247. #define XTALOSC24M_OSC_CONFIG2_CLR_MUX_1M_SHIFT (17U)
  46248. #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)
  46249. #define XTALOSC24M_OSC_CONFIG2_CLR_CLK_1M_ERR_FL_MASK (0x80000000U)
  46250. #define XTALOSC24M_OSC_CONFIG2_CLR_CLK_1M_ERR_FL_SHIFT (31U)
  46251. #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)
  46252. /*! @} */
  46253. /*! @name OSC_CONFIG2_TOG - XTAL OSC Configuration 2 Register */
  46254. /*! @{ */
  46255. #define XTALOSC24M_OSC_CONFIG2_TOG_COUNT_1M_TRG_MASK (0xFFFU)
  46256. #define XTALOSC24M_OSC_CONFIG2_TOG_COUNT_1M_TRG_SHIFT (0U)
  46257. #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)
  46258. #define XTALOSC24M_OSC_CONFIG2_TOG_ENABLE_1M_MASK (0x10000U)
  46259. #define XTALOSC24M_OSC_CONFIG2_TOG_ENABLE_1M_SHIFT (16U)
  46260. #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)
  46261. #define XTALOSC24M_OSC_CONFIG2_TOG_MUX_1M_MASK (0x20000U)
  46262. #define XTALOSC24M_OSC_CONFIG2_TOG_MUX_1M_SHIFT (17U)
  46263. #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)
  46264. #define XTALOSC24M_OSC_CONFIG2_TOG_CLK_1M_ERR_FL_MASK (0x80000000U)
  46265. #define XTALOSC24M_OSC_CONFIG2_TOG_CLK_1M_ERR_FL_SHIFT (31U)
  46266. #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)
  46267. /*! @} */
  46268. /*!
  46269. * @}
  46270. */ /* end of group XTALOSC24M_Register_Masks */
  46271. /* XTALOSC24M - Peripheral instance base addresses */
  46272. /** Peripheral XTALOSC24M base address */
  46273. #define XTALOSC24M_BASE (0x400D8000u)
  46274. /** Peripheral XTALOSC24M base pointer */
  46275. #define XTALOSC24M ((XTALOSC24M_Type *)XTALOSC24M_BASE)
  46276. /** Array initializer of XTALOSC24M peripheral base addresses */
  46277. #define XTALOSC24M_BASE_ADDRS { XTALOSC24M_BASE }
  46278. /** Array initializer of XTALOSC24M peripheral base pointers */
  46279. #define XTALOSC24M_BASE_PTRS { XTALOSC24M }
  46280. /*!
  46281. * @}
  46282. */ /* end of group XTALOSC24M_Peripheral_Access_Layer */
  46283. /*
  46284. ** End of section using anonymous unions
  46285. */
  46286. #if defined(__ARMCC_VERSION)
  46287. #if (__ARMCC_VERSION >= 6010050)
  46288. #pragma clang diagnostic pop
  46289. #else
  46290. #pragma pop
  46291. #endif
  46292. #elif defined(__CWCC__)
  46293. #pragma pop
  46294. #elif defined(__GNUC__)
  46295. /* leave anonymous unions enabled */
  46296. #elif defined(__IAR_SYSTEMS_ICC__)
  46297. #pragma language=default
  46298. #else
  46299. #error Not supported compiler type
  46300. #endif
  46301. /*!
  46302. * @}
  46303. */ /* end of group Peripheral_access_layer */
  46304. /* ----------------------------------------------------------------------------
  46305. -- Macros for use with bit field definitions (xxx_SHIFT, xxx_MASK).
  46306. ---------------------------------------------------------------------------- */
  46307. /*!
  46308. * @addtogroup Bit_Field_Generic_Macros Macros for use with bit field definitions (xxx_SHIFT, xxx_MASK).
  46309. * @{
  46310. */
  46311. #if defined(__ARMCC_VERSION)
  46312. #if (__ARMCC_VERSION >= 6010050)
  46313. #pragma clang system_header
  46314. #endif
  46315. #elif defined(__IAR_SYSTEMS_ICC__)
  46316. #pragma system_include
  46317. #endif
  46318. /**
  46319. * @brief Mask and left-shift a bit field value for use in a register bit range.
  46320. * @param field Name of the register bit field.
  46321. * @param value Value of the bit field.
  46322. * @return Masked and shifted value.
  46323. */
  46324. #define NXP_VAL2FLD(field, value) (((value) << (field ## _SHIFT)) & (field ## _MASK))
  46325. /**
  46326. * @brief Mask and right-shift a register value to extract a bit field value.
  46327. * @param field Name of the register bit field.
  46328. * @param value Value of the register.
  46329. * @return Masked and shifted bit field value.
  46330. */
  46331. #define NXP_FLD2VAL(field, value) (((value) & (field ## _MASK)) >> (field ## _SHIFT))
  46332. /*!
  46333. * @}
  46334. */ /* end of group Bit_Field_Generic_Macros */
  46335. /* ----------------------------------------------------------------------------
  46336. -- SDK Compatibility
  46337. ---------------------------------------------------------------------------- */
  46338. /*!
  46339. * @addtogroup SDK_Compatibility_Symbols SDK Compatibility
  46340. * @{
  46341. */
  46342. /* No SDK compatibility issues. */
  46343. /*!
  46344. * @}
  46345. */ /* end of group SDK_Compatibility_Symbols */
  46346. #endif /* _MIMXRT1062_H_ */