LPC54608.h 844 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371
  1. /*
  2. ** ###################################################################
  3. ** Processors: LPC54608J512BD208
  4. ** LPC54608J512ET180
  5. **
  6. ** Compilers: Keil ARM C/C++ Compiler
  7. ** GNU C Compiler
  8. ** IAR ANSI C/C++ Compiler for ARM
  9. ** MCUXpresso Compiler
  10. **
  11. ** Reference manual: LPC54S60x/LPC5460x User manual Rev.0.9 7 Nov 2016
  12. ** Version: rev. 1.1, 2016-11-25
  13. ** Build: b170214
  14. **
  15. ** Abstract:
  16. ** CMSIS Peripheral Access Layer for LPC54608
  17. **
  18. ** Copyright 1997-2016 Freescale Semiconductor, Inc.
  19. ** Copyright 2016-2017 NXP
  20. ** Redistribution and use in source and binary forms, with or without modification,
  21. ** are permitted provided that the following conditions are met:
  22. **
  23. ** o Redistributions of source code must retain the above copyright notice, this list
  24. ** of conditions and the following disclaimer.
  25. **
  26. ** o Redistributions in binary form must reproduce the above copyright notice, this
  27. ** list of conditions and the following disclaimer in the documentation and/or
  28. ** other materials provided with the distribution.
  29. **
  30. ** o Neither the name of the copyright holder nor the names of its
  31. ** contributors may be used to endorse or promote products derived from this
  32. ** software without specific prior written permission.
  33. **
  34. ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
  35. ** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  36. ** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  37. ** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
  38. ** ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  39. ** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  40. ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
  41. ** ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  42. ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  43. ** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  44. **
  45. ** http: www.nxp.com
  46. ** mail: support@nxp.com
  47. **
  48. ** Revisions:
  49. ** - rev. 1.0 (2016-08-12)
  50. ** Initial version.
  51. ** - rev. 1.1 (2016-11-25)
  52. ** Update CANFD and Classic CAN register.
  53. ** Add MAC TIMERSTAMP registers.
  54. **
  55. ** ###################################################################
  56. */
  57. /*!
  58. * @file LPC54608.h
  59. * @version 1.1
  60. * @date 2016-11-25
  61. * @brief CMSIS Peripheral Access Layer for LPC54608
  62. *
  63. * CMSIS Peripheral Access Layer for LPC54608
  64. */
  65. #ifndef _LPC54608_H_
  66. #define _LPC54608_H_ /**< Symbol preventing repeated inclusion */
  67. /** Memory map major version (memory maps with equal major version number are
  68. * compatible) */
  69. #define MCU_MEM_MAP_VERSION 0x0100U
  70. /** Memory map minor version */
  71. #define MCU_MEM_MAP_VERSION_MINOR 0x0001U
  72. /* ----------------------------------------------------------------------------
  73. -- Interrupt vector numbers
  74. ---------------------------------------------------------------------------- */
  75. /*!
  76. * @addtogroup Interrupt_vector_numbers Interrupt vector numbers
  77. * @{
  78. */
  79. /** Interrupt Number Definitions */
  80. #define NUMBER_OF_INT_VECTORS 73 /**< Number of interrupts in the Vector table */
  81. typedef enum IRQn {
  82. /* Auxiliary constants */
  83. NotAvail_IRQn = -128, /**< Not available device specific interrupt */
  84. /* Core interrupts */
  85. NonMaskableInt_IRQn = -14, /**< Non Maskable Interrupt */
  86. HardFault_IRQn = -13, /**< Cortex-M4 SV Hard Fault Interrupt */
  87. MemoryManagement_IRQn = -12, /**< Cortex-M4 Memory Management Interrupt */
  88. BusFault_IRQn = -11, /**< Cortex-M4 Bus Fault Interrupt */
  89. UsageFault_IRQn = -10, /**< Cortex-M4 Usage Fault Interrupt */
  90. SVCall_IRQn = -5, /**< Cortex-M4 SV Call Interrupt */
  91. DebugMonitor_IRQn = -4, /**< Cortex-M4 Debug Monitor Interrupt */
  92. PendSV_IRQn = -2, /**< Cortex-M4 Pend SV Interrupt */
  93. SysTick_IRQn = -1, /**< Cortex-M4 System Tick Interrupt */
  94. /* Device specific interrupts */
  95. WDT_BOD_IRQn = 0, /**< Windowed watchdog timer, Brownout detect */
  96. DMA0_IRQn = 1, /**< DMA controller */
  97. GINT0_IRQn = 2, /**< GPIO group 0 */
  98. GINT1_IRQn = 3, /**< GPIO group 1 */
  99. PIN_INT0_IRQn = 4, /**< Pin interrupt 0 or pattern match engine slice 0 */
  100. PIN_INT1_IRQn = 5, /**< Pin interrupt 1or pattern match engine slice 1 */
  101. PIN_INT2_IRQn = 6, /**< Pin interrupt 2 or pattern match engine slice 2 */
  102. PIN_INT3_IRQn = 7, /**< Pin interrupt 3 or pattern match engine slice 3 */
  103. UTICK0_IRQn = 8, /**< Micro-tick Timer */
  104. MRT0_IRQn = 9, /**< Multi-rate timer */
  105. CTIMER0_IRQn = 10, /**< Standard counter/timer CTIMER0 */
  106. CTIMER1_IRQn = 11, /**< Standard counter/timer CTIMER1 */
  107. SCT0_IRQn = 12, /**< SCTimer/PWM */
  108. CTIMER3_IRQn = 13, /**< Standard counter/timer CTIMER3 */
  109. FLEXCOMM0_IRQn = 14, /**< Flexcomm Interface 0 (USART, SPI, I2C, FLEXCOMM) */
  110. FLEXCOMM1_IRQn = 15, /**< Flexcomm Interface 1 (USART, SPI, I2C, FLEXCOMM) */
  111. FLEXCOMM2_IRQn = 16, /**< Flexcomm Interface 2 (USART, SPI, I2C, FLEXCOMM) */
  112. FLEXCOMM3_IRQn = 17, /**< Flexcomm Interface 3 (USART, SPI, I2C, FLEXCOMM) */
  113. FLEXCOMM4_IRQn = 18, /**< Flexcomm Interface 4 (USART, SPI, I2C, FLEXCOMM) */
  114. FLEXCOMM5_IRQn = 19, /**< Flexcomm Interface 5 (USART, SPI, I2C,, FLEXCOMM) */
  115. FLEXCOMM6_IRQn = 20, /**< Flexcomm Interface 6 (USART, SPI, I2C, I2S,, FLEXCOMM) */
  116. FLEXCOMM7_IRQn = 21, /**< Flexcomm Interface 7 (USART, SPI, I2C, I2S,, FLEXCOMM) */
  117. ADC0_SEQA_IRQn = 22, /**< ADC0 sequence A completion. */
  118. ADC0_SEQB_IRQn = 23, /**< ADC0 sequence B completion. */
  119. ADC0_THCMP_IRQn = 24, /**< ADC0 threshold compare and error. */
  120. DMIC0_IRQn = 25, /**< Digital microphone and DMIC subsystem */
  121. HWVAD0_IRQn = 26, /**< Hardware Voice Activity Detector */
  122. USB0_NEEDCLK_IRQn = 27, /**< USB Activity Wake-up Interrupt */
  123. USB0_IRQn = 28, /**< USB device */
  124. RTC_IRQn = 29, /**< RTC alarm and wake-up interrupts */
  125. Reserved46_IRQn = 30, /**< Reserved interrupt */
  126. Reserved47_IRQn = 31, /**< Reserved interrupt */
  127. PIN_INT4_IRQn = 32, /**< Pin interrupt 4 or pattern match engine slice 4 int */
  128. PIN_INT5_IRQn = 33, /**< Pin interrupt 5 or pattern match engine slice 5 int */
  129. PIN_INT6_IRQn = 34, /**< Pin interrupt 6 or pattern match engine slice 6 int */
  130. PIN_INT7_IRQn = 35, /**< Pin interrupt 7 or pattern match engine slice 7 int */
  131. CTIMER2_IRQn = 36, /**< Standard counter/timer CTIMER2 */
  132. CTIMER4_IRQn = 37, /**< Standard counter/timer CTIMER4 */
  133. RIT_IRQn = 38, /**< Repetitive Interrupt Timer */
  134. SPIFI0_IRQn = 39, /**< SPI flash interface */
  135. FLEXCOMM8_IRQn = 40, /**< Flexcomm Interface 8 (USART, SPI, I2C, FLEXCOMM) */
  136. FLEXCOMM9_IRQn = 41, /**< Flexcomm Interface 9 (USART, SPI, I2C, FLEXCOMM) */
  137. SDIO_IRQn = 42, /**< SD/MMC */
  138. CAN0_IRQ0_IRQn = 43, /**< CAN0 interrupt0 */
  139. CAN0_IRQ1_IRQn = 44, /**< CAN0 interrupt1 */
  140. CAN1_IRQ0_IRQn = 45, /**< CAN1 interrupt0 */
  141. CAN1_IRQ1_IRQn = 46, /**< CAN1 interrupt1 */
  142. USB1_IRQn = 47, /**< USB1 interrupt */
  143. USB1_NEEDCLK_IRQn = 48, /**< USB1 activity */
  144. ETHERNET_IRQn = 49, /**< Ethernet */
  145. ETHERNET_PMT_IRQn = 50, /**< Ethernet power management interrupt */
  146. ETHERNET_MACLP_IRQn = 51, /**< Ethernet MAC interrupt */
  147. EEPROM_IRQn = 52, /**< EEPROM interrupt */
  148. LCD_IRQn = 53, /**< LCD interrupt */
  149. SHA_IRQn = 54, /**< SHA interrupt */
  150. SMARTCARD0_IRQn = 55, /**< Smart card 0 interrupt */
  151. SMARTCARD1_IRQn = 56 /**< Smart card 1 interrupt */
  152. } IRQn_Type;
  153. /*!
  154. * @}
  155. */ /* end of group Interrupt_vector_numbers */
  156. /* ----------------------------------------------------------------------------
  157. -- Cortex M4 Core Configuration
  158. ---------------------------------------------------------------------------- */
  159. /*!
  160. * @addtogroup Cortex_Core_Configuration Cortex M4 Core Configuration
  161. * @{
  162. */
  163. #define __MPU_PRESENT 1 /**< Defines if an MPU is present or not */
  164. #define __NVIC_PRIO_BITS 3 /**< Number of priority bits implemented in the NVIC */
  165. #define __Vendor_SysTickConfig 0 /**< Vendor specific implementation of SysTickConfig is defined */
  166. #define __FPU_PRESENT 1 /**< Defines if an FPU is present or not */
  167. #include "core_cm4.h" /* Core Peripheral Access Layer */
  168. #include "system_LPC54608.h" /* Device specific configuration file */
  169. /*!
  170. * @}
  171. */ /* end of group Cortex_Core_Configuration */
  172. /* ----------------------------------------------------------------------------
  173. -- Mapping Information
  174. ---------------------------------------------------------------------------- */
  175. /*!
  176. * @addtogroup Mapping_Information Mapping Information
  177. * @{
  178. */
  179. /** Mapping Information */
  180. /*!
  181. * @}
  182. */ /* end of group Mapping_Information */
  183. /* ----------------------------------------------------------------------------
  184. -- Device Peripheral Access Layer
  185. ---------------------------------------------------------------------------- */
  186. /*!
  187. * @addtogroup Peripheral_access_layer Device Peripheral Access Layer
  188. * @{
  189. */
  190. /*
  191. ** Start of section using anonymous unions
  192. */
  193. #if defined(__ARMCC_VERSION)
  194. #pragma push
  195. #pragma anon_unions
  196. #elif defined(__GNUC__)
  197. /* anonymous unions are enabled by default */
  198. #elif defined(__IAR_SYSTEMS_ICC__)
  199. #pragma language=extended
  200. #else
  201. #error Not supported compiler type
  202. #endif
  203. /* ----------------------------------------------------------------------------
  204. -- ADC Peripheral Access Layer
  205. ---------------------------------------------------------------------------- */
  206. /*!
  207. * @addtogroup ADC_Peripheral_Access_Layer ADC Peripheral Access Layer
  208. * @{
  209. */
  210. /** ADC - Register Layout Typedef */
  211. typedef struct {
  212. __IO uint32_t CTRL; /**< ADC Control register. Contains the clock divide value, resolution selection, sampling time selection, and mode controls., offset: 0x0 */
  213. __IO uint32_t INSEL; /**< Input Select. Allows selection of the temperature sensor as an alternate input to ADC channel 0., offset: 0x4 */
  214. __IO uint32_t SEQ_CTRL[2]; /**< ADC Conversion Sequence-n control register: Controls triggering and channel selection for conversion sequence-n. Also specifies interrupt mode for sequence-n., array offset: 0x8, array step: 0x4 */
  215. __I uint32_t SEQ_GDAT[2]; /**< ADC Sequence-n Global Data register. This register contains the result of the most recent ADC conversion performed under sequence-n., array offset: 0x10, array step: 0x4 */
  216. uint8_t RESERVED_0[8];
  217. __I uint32_t DAT[12]; /**< ADC Channel 0 Data register. This register contains the result of the most recent conversion completed on channel 0., array offset: 0x20, array step: 0x4 */
  218. __IO uint32_t THR0_LOW; /**< ADC Low Compare Threshold register 0: Contains the lower threshold level for automatic threshold comparison for any channels linked to threshold pair 0., offset: 0x50 */
  219. __IO uint32_t THR1_LOW; /**< ADC Low Compare Threshold register 1: Contains the lower threshold level for automatic threshold comparison for any channels linked to threshold pair 1., offset: 0x54 */
  220. __IO uint32_t THR0_HIGH; /**< ADC High Compare Threshold register 0: Contains the upper threshold level for automatic threshold comparison for any channels linked to threshold pair 0., offset: 0x58 */
  221. __IO uint32_t THR1_HIGH; /**< ADC High Compare Threshold register 1: Contains the upper threshold level for automatic threshold comparison for any channels linked to threshold pair 1., offset: 0x5C */
  222. __IO uint32_t CHAN_THRSEL; /**< ADC Channel-Threshold Select register. Specifies which set of threshold compare registers are to be used for each channel, offset: 0x60 */
  223. __IO uint32_t INTEN; /**< ADC Interrupt Enable register. This register contains enable bits that enable the sequence-A, sequence-B, threshold compare and data overrun interrupts to be generated., offset: 0x64 */
  224. __IO uint32_t FLAGS; /**< ADC Flags register. Contains the four interrupt/DMA trigger flags and the individual component overrun and threshold-compare flags. (The overrun bits replicate information stored in the result registers)., offset: 0x68 */
  225. __IO uint32_t STARTUP; /**< ADC Startup register., offset: 0x6C */
  226. __IO uint32_t CALIB; /**< ADC Calibration register., offset: 0x70 */
  227. } ADC_Type;
  228. /* ----------------------------------------------------------------------------
  229. -- ADC Register Masks
  230. ---------------------------------------------------------------------------- */
  231. /*!
  232. * @addtogroup ADC_Register_Masks ADC Register Masks
  233. * @{
  234. */
  235. /*! @name CTRL - ADC Control register. Contains the clock divide value, resolution selection, sampling time selection, and mode controls. */
  236. #define ADC_CTRL_CLKDIV_MASK (0xFFU)
  237. #define ADC_CTRL_CLKDIV_SHIFT (0U)
  238. #define ADC_CTRL_CLKDIV(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_CLKDIV_SHIFT)) & ADC_CTRL_CLKDIV_MASK)
  239. #define ADC_CTRL_ASYNMODE_MASK (0x100U)
  240. #define ADC_CTRL_ASYNMODE_SHIFT (8U)
  241. #define ADC_CTRL_ASYNMODE(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_ASYNMODE_SHIFT)) & ADC_CTRL_ASYNMODE_MASK)
  242. #define ADC_CTRL_RESOL_MASK (0x600U)
  243. #define ADC_CTRL_RESOL_SHIFT (9U)
  244. #define ADC_CTRL_RESOL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_RESOL_SHIFT)) & ADC_CTRL_RESOL_MASK)
  245. #define ADC_CTRL_BYPASSCAL_MASK (0x800U)
  246. #define ADC_CTRL_BYPASSCAL_SHIFT (11U)
  247. #define ADC_CTRL_BYPASSCAL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_BYPASSCAL_SHIFT)) & ADC_CTRL_BYPASSCAL_MASK)
  248. #define ADC_CTRL_TSAMP_MASK (0x7000U)
  249. #define ADC_CTRL_TSAMP_SHIFT (12U)
  250. #define ADC_CTRL_TSAMP(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_TSAMP_SHIFT)) & ADC_CTRL_TSAMP_MASK)
  251. /*! @name INSEL - Input Select. Allows selection of the temperature sensor as an alternate input to ADC channel 0. */
  252. #define ADC_INSEL_SEL_MASK (0x3U)
  253. #define ADC_INSEL_SEL_SHIFT (0U)
  254. #define ADC_INSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_INSEL_SEL_SHIFT)) & ADC_INSEL_SEL_MASK)
  255. /*! @name SEQ_CTRL - ADC Conversion Sequence-n control register: Controls triggering and channel selection for conversion sequence-n. Also specifies interrupt mode for sequence-n. */
  256. #define ADC_SEQ_CTRL_CHANNELS_MASK (0xFFFU)
  257. #define ADC_SEQ_CTRL_CHANNELS_SHIFT (0U)
  258. #define ADC_SEQ_CTRL_CHANNELS(x) (((uint32_t)(((uint32_t)(x)) << ADC_SEQ_CTRL_CHANNELS_SHIFT)) & ADC_SEQ_CTRL_CHANNELS_MASK)
  259. #define ADC_SEQ_CTRL_TRIGGER_MASK (0x3F000U)
  260. #define ADC_SEQ_CTRL_TRIGGER_SHIFT (12U)
  261. #define ADC_SEQ_CTRL_TRIGGER(x) (((uint32_t)(((uint32_t)(x)) << ADC_SEQ_CTRL_TRIGGER_SHIFT)) & ADC_SEQ_CTRL_TRIGGER_MASK)
  262. #define ADC_SEQ_CTRL_TRIGPOL_MASK (0x40000U)
  263. #define ADC_SEQ_CTRL_TRIGPOL_SHIFT (18U)
  264. #define ADC_SEQ_CTRL_TRIGPOL(x) (((uint32_t)(((uint32_t)(x)) << ADC_SEQ_CTRL_TRIGPOL_SHIFT)) & ADC_SEQ_CTRL_TRIGPOL_MASK)
  265. #define ADC_SEQ_CTRL_SYNCBYPASS_MASK (0x80000U)
  266. #define ADC_SEQ_CTRL_SYNCBYPASS_SHIFT (19U)
  267. #define ADC_SEQ_CTRL_SYNCBYPASS(x) (((uint32_t)(((uint32_t)(x)) << ADC_SEQ_CTRL_SYNCBYPASS_SHIFT)) & ADC_SEQ_CTRL_SYNCBYPASS_MASK)
  268. #define ADC_SEQ_CTRL_START_MASK (0x4000000U)
  269. #define ADC_SEQ_CTRL_START_SHIFT (26U)
  270. #define ADC_SEQ_CTRL_START(x) (((uint32_t)(((uint32_t)(x)) << ADC_SEQ_CTRL_START_SHIFT)) & ADC_SEQ_CTRL_START_MASK)
  271. #define ADC_SEQ_CTRL_BURST_MASK (0x8000000U)
  272. #define ADC_SEQ_CTRL_BURST_SHIFT (27U)
  273. #define ADC_SEQ_CTRL_BURST(x) (((uint32_t)(((uint32_t)(x)) << ADC_SEQ_CTRL_BURST_SHIFT)) & ADC_SEQ_CTRL_BURST_MASK)
  274. #define ADC_SEQ_CTRL_SINGLESTEP_MASK (0x10000000U)
  275. #define ADC_SEQ_CTRL_SINGLESTEP_SHIFT (28U)
  276. #define ADC_SEQ_CTRL_SINGLESTEP(x) (((uint32_t)(((uint32_t)(x)) << ADC_SEQ_CTRL_SINGLESTEP_SHIFT)) & ADC_SEQ_CTRL_SINGLESTEP_MASK)
  277. #define ADC_SEQ_CTRL_LOWPRIO_MASK (0x20000000U)
  278. #define ADC_SEQ_CTRL_LOWPRIO_SHIFT (29U)
  279. #define ADC_SEQ_CTRL_LOWPRIO(x) (((uint32_t)(((uint32_t)(x)) << ADC_SEQ_CTRL_LOWPRIO_SHIFT)) & ADC_SEQ_CTRL_LOWPRIO_MASK)
  280. #define ADC_SEQ_CTRL_MODE_MASK (0x40000000U)
  281. #define ADC_SEQ_CTRL_MODE_SHIFT (30U)
  282. #define ADC_SEQ_CTRL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ADC_SEQ_CTRL_MODE_SHIFT)) & ADC_SEQ_CTRL_MODE_MASK)
  283. #define ADC_SEQ_CTRL_SEQ_ENA_MASK (0x80000000U)
  284. #define ADC_SEQ_CTRL_SEQ_ENA_SHIFT (31U)
  285. #define ADC_SEQ_CTRL_SEQ_ENA(x) (((uint32_t)(((uint32_t)(x)) << ADC_SEQ_CTRL_SEQ_ENA_SHIFT)) & ADC_SEQ_CTRL_SEQ_ENA_MASK)
  286. /* The count of ADC_SEQ_CTRL */
  287. #define ADC_SEQ_CTRL_COUNT (2U)
  288. /*! @name SEQ_GDAT - ADC Sequence-n Global Data register. This register contains the result of the most recent ADC conversion performed under sequence-n. */
  289. #define ADC_SEQ_GDAT_RESULT_MASK (0xFFF0U)
  290. #define ADC_SEQ_GDAT_RESULT_SHIFT (4U)
  291. #define ADC_SEQ_GDAT_RESULT(x) (((uint32_t)(((uint32_t)(x)) << ADC_SEQ_GDAT_RESULT_SHIFT)) & ADC_SEQ_GDAT_RESULT_MASK)
  292. #define ADC_SEQ_GDAT_THCMPRANGE_MASK (0x30000U)
  293. #define ADC_SEQ_GDAT_THCMPRANGE_SHIFT (16U)
  294. #define ADC_SEQ_GDAT_THCMPRANGE(x) (((uint32_t)(((uint32_t)(x)) << ADC_SEQ_GDAT_THCMPRANGE_SHIFT)) & ADC_SEQ_GDAT_THCMPRANGE_MASK)
  295. #define ADC_SEQ_GDAT_THCMPCROSS_MASK (0xC0000U)
  296. #define ADC_SEQ_GDAT_THCMPCROSS_SHIFT (18U)
  297. #define ADC_SEQ_GDAT_THCMPCROSS(x) (((uint32_t)(((uint32_t)(x)) << ADC_SEQ_GDAT_THCMPCROSS_SHIFT)) & ADC_SEQ_GDAT_THCMPCROSS_MASK)
  298. #define ADC_SEQ_GDAT_CHN_MASK (0x3C000000U)
  299. #define ADC_SEQ_GDAT_CHN_SHIFT (26U)
  300. #define ADC_SEQ_GDAT_CHN(x) (((uint32_t)(((uint32_t)(x)) << ADC_SEQ_GDAT_CHN_SHIFT)) & ADC_SEQ_GDAT_CHN_MASK)
  301. #define ADC_SEQ_GDAT_OVERRUN_MASK (0x40000000U)
  302. #define ADC_SEQ_GDAT_OVERRUN_SHIFT (30U)
  303. #define ADC_SEQ_GDAT_OVERRUN(x) (((uint32_t)(((uint32_t)(x)) << ADC_SEQ_GDAT_OVERRUN_SHIFT)) & ADC_SEQ_GDAT_OVERRUN_MASK)
  304. #define ADC_SEQ_GDAT_DATAVALID_MASK (0x80000000U)
  305. #define ADC_SEQ_GDAT_DATAVALID_SHIFT (31U)
  306. #define ADC_SEQ_GDAT_DATAVALID(x) (((uint32_t)(((uint32_t)(x)) << ADC_SEQ_GDAT_DATAVALID_SHIFT)) & ADC_SEQ_GDAT_DATAVALID_MASK)
  307. /* The count of ADC_SEQ_GDAT */
  308. #define ADC_SEQ_GDAT_COUNT (2U)
  309. /*! @name DAT - ADC Channel 0 Data register. This register contains the result of the most recent conversion completed on channel 0. */
  310. #define ADC_DAT_RESULT_MASK (0xFFF0U)
  311. #define ADC_DAT_RESULT_SHIFT (4U)
  312. #define ADC_DAT_RESULT(x) (((uint32_t)(((uint32_t)(x)) << ADC_DAT_RESULT_SHIFT)) & ADC_DAT_RESULT_MASK)
  313. #define ADC_DAT_THCMPRANGE_MASK (0x30000U)
  314. #define ADC_DAT_THCMPRANGE_SHIFT (16U)
  315. #define ADC_DAT_THCMPRANGE(x) (((uint32_t)(((uint32_t)(x)) << ADC_DAT_THCMPRANGE_SHIFT)) & ADC_DAT_THCMPRANGE_MASK)
  316. #define ADC_DAT_THCMPCROSS_MASK (0xC0000U)
  317. #define ADC_DAT_THCMPCROSS_SHIFT (18U)
  318. #define ADC_DAT_THCMPCROSS(x) (((uint32_t)(((uint32_t)(x)) << ADC_DAT_THCMPCROSS_SHIFT)) & ADC_DAT_THCMPCROSS_MASK)
  319. #define ADC_DAT_CHANNEL_MASK (0x3C000000U)
  320. #define ADC_DAT_CHANNEL_SHIFT (26U)
  321. #define ADC_DAT_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_DAT_CHANNEL_SHIFT)) & ADC_DAT_CHANNEL_MASK)
  322. #define ADC_DAT_OVERRUN_MASK (0x40000000U)
  323. #define ADC_DAT_OVERRUN_SHIFT (30U)
  324. #define ADC_DAT_OVERRUN(x) (((uint32_t)(((uint32_t)(x)) << ADC_DAT_OVERRUN_SHIFT)) & ADC_DAT_OVERRUN_MASK)
  325. #define ADC_DAT_DATAVALID_MASK (0x80000000U)
  326. #define ADC_DAT_DATAVALID_SHIFT (31U)
  327. #define ADC_DAT_DATAVALID(x) (((uint32_t)(((uint32_t)(x)) << ADC_DAT_DATAVALID_SHIFT)) & ADC_DAT_DATAVALID_MASK)
  328. /* The count of ADC_DAT */
  329. #define ADC_DAT_COUNT (12U)
  330. /*! @name THR0_LOW - ADC Low Compare Threshold register 0: Contains the lower threshold level for automatic threshold comparison for any channels linked to threshold pair 0. */
  331. #define ADC_THR0_LOW_THRLOW_MASK (0xFFF0U)
  332. #define ADC_THR0_LOW_THRLOW_SHIFT (4U)
  333. #define ADC_THR0_LOW_THRLOW(x) (((uint32_t)(((uint32_t)(x)) << ADC_THR0_LOW_THRLOW_SHIFT)) & ADC_THR0_LOW_THRLOW_MASK)
  334. /*! @name THR1_LOW - ADC Low Compare Threshold register 1: Contains the lower threshold level for automatic threshold comparison for any channels linked to threshold pair 1. */
  335. #define ADC_THR1_LOW_THRLOW_MASK (0xFFF0U)
  336. #define ADC_THR1_LOW_THRLOW_SHIFT (4U)
  337. #define ADC_THR1_LOW_THRLOW(x) (((uint32_t)(((uint32_t)(x)) << ADC_THR1_LOW_THRLOW_SHIFT)) & ADC_THR1_LOW_THRLOW_MASK)
  338. /*! @name THR0_HIGH - ADC High Compare Threshold register 0: Contains the upper threshold level for automatic threshold comparison for any channels linked to threshold pair 0. */
  339. #define ADC_THR0_HIGH_THRHIGH_MASK (0xFFF0U)
  340. #define ADC_THR0_HIGH_THRHIGH_SHIFT (4U)
  341. #define ADC_THR0_HIGH_THRHIGH(x) (((uint32_t)(((uint32_t)(x)) << ADC_THR0_HIGH_THRHIGH_SHIFT)) & ADC_THR0_HIGH_THRHIGH_MASK)
  342. /*! @name THR1_HIGH - ADC High Compare Threshold register 1: Contains the upper threshold level for automatic threshold comparison for any channels linked to threshold pair 1. */
  343. #define ADC_THR1_HIGH_THRHIGH_MASK (0xFFF0U)
  344. #define ADC_THR1_HIGH_THRHIGH_SHIFT (4U)
  345. #define ADC_THR1_HIGH_THRHIGH(x) (((uint32_t)(((uint32_t)(x)) << ADC_THR1_HIGH_THRHIGH_SHIFT)) & ADC_THR1_HIGH_THRHIGH_MASK)
  346. /*! @name CHAN_THRSEL - ADC Channel-Threshold Select register. Specifies which set of threshold compare registers are to be used for each channel */
  347. #define ADC_CHAN_THRSEL_CH0_THRSEL_MASK (0x1U)
  348. #define ADC_CHAN_THRSEL_CH0_THRSEL_SHIFT (0U)
  349. #define ADC_CHAN_THRSEL_CH0_THRSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CHAN_THRSEL_CH0_THRSEL_SHIFT)) & ADC_CHAN_THRSEL_CH0_THRSEL_MASK)
  350. #define ADC_CHAN_THRSEL_CH1_THRSEL_MASK (0x2U)
  351. #define ADC_CHAN_THRSEL_CH1_THRSEL_SHIFT (1U)
  352. #define ADC_CHAN_THRSEL_CH1_THRSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CHAN_THRSEL_CH1_THRSEL_SHIFT)) & ADC_CHAN_THRSEL_CH1_THRSEL_MASK)
  353. #define ADC_CHAN_THRSEL_CH2_THRSEL_MASK (0x4U)
  354. #define ADC_CHAN_THRSEL_CH2_THRSEL_SHIFT (2U)
  355. #define ADC_CHAN_THRSEL_CH2_THRSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CHAN_THRSEL_CH2_THRSEL_SHIFT)) & ADC_CHAN_THRSEL_CH2_THRSEL_MASK)
  356. #define ADC_CHAN_THRSEL_CH3_THRSEL_MASK (0x8U)
  357. #define ADC_CHAN_THRSEL_CH3_THRSEL_SHIFT (3U)
  358. #define ADC_CHAN_THRSEL_CH3_THRSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CHAN_THRSEL_CH3_THRSEL_SHIFT)) & ADC_CHAN_THRSEL_CH3_THRSEL_MASK)
  359. #define ADC_CHAN_THRSEL_CH4_THRSEL_MASK (0x10U)
  360. #define ADC_CHAN_THRSEL_CH4_THRSEL_SHIFT (4U)
  361. #define ADC_CHAN_THRSEL_CH4_THRSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CHAN_THRSEL_CH4_THRSEL_SHIFT)) & ADC_CHAN_THRSEL_CH4_THRSEL_MASK)
  362. #define ADC_CHAN_THRSEL_CH5_THRSEL_MASK (0x20U)
  363. #define ADC_CHAN_THRSEL_CH5_THRSEL_SHIFT (5U)
  364. #define ADC_CHAN_THRSEL_CH5_THRSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CHAN_THRSEL_CH5_THRSEL_SHIFT)) & ADC_CHAN_THRSEL_CH5_THRSEL_MASK)
  365. #define ADC_CHAN_THRSEL_CH6_THRSEL_MASK (0x40U)
  366. #define ADC_CHAN_THRSEL_CH6_THRSEL_SHIFT (6U)
  367. #define ADC_CHAN_THRSEL_CH6_THRSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CHAN_THRSEL_CH6_THRSEL_SHIFT)) & ADC_CHAN_THRSEL_CH6_THRSEL_MASK)
  368. #define ADC_CHAN_THRSEL_CH7_THRSEL_MASK (0x80U)
  369. #define ADC_CHAN_THRSEL_CH7_THRSEL_SHIFT (7U)
  370. #define ADC_CHAN_THRSEL_CH7_THRSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CHAN_THRSEL_CH7_THRSEL_SHIFT)) & ADC_CHAN_THRSEL_CH7_THRSEL_MASK)
  371. #define ADC_CHAN_THRSEL_CH8_THRSEL_MASK (0x100U)
  372. #define ADC_CHAN_THRSEL_CH8_THRSEL_SHIFT (8U)
  373. #define ADC_CHAN_THRSEL_CH8_THRSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CHAN_THRSEL_CH8_THRSEL_SHIFT)) & ADC_CHAN_THRSEL_CH8_THRSEL_MASK)
  374. #define ADC_CHAN_THRSEL_CH9_THRSEL_MASK (0x200U)
  375. #define ADC_CHAN_THRSEL_CH9_THRSEL_SHIFT (9U)
  376. #define ADC_CHAN_THRSEL_CH9_THRSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CHAN_THRSEL_CH9_THRSEL_SHIFT)) & ADC_CHAN_THRSEL_CH9_THRSEL_MASK)
  377. #define ADC_CHAN_THRSEL_CH10_THRSEL_MASK (0x400U)
  378. #define ADC_CHAN_THRSEL_CH10_THRSEL_SHIFT (10U)
  379. #define ADC_CHAN_THRSEL_CH10_THRSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CHAN_THRSEL_CH10_THRSEL_SHIFT)) & ADC_CHAN_THRSEL_CH10_THRSEL_MASK)
  380. #define ADC_CHAN_THRSEL_CH11_THRSEL_MASK (0x800U)
  381. #define ADC_CHAN_THRSEL_CH11_THRSEL_SHIFT (11U)
  382. #define ADC_CHAN_THRSEL_CH11_THRSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CHAN_THRSEL_CH11_THRSEL_SHIFT)) & ADC_CHAN_THRSEL_CH11_THRSEL_MASK)
  383. /*! @name INTEN - ADC Interrupt Enable register. This register contains enable bits that enable the sequence-A, sequence-B, threshold compare and data overrun interrupts to be generated. */
  384. #define ADC_INTEN_SEQA_INTEN_MASK (0x1U)
  385. #define ADC_INTEN_SEQA_INTEN_SHIFT (0U)
  386. #define ADC_INTEN_SEQA_INTEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_INTEN_SEQA_INTEN_SHIFT)) & ADC_INTEN_SEQA_INTEN_MASK)
  387. #define ADC_INTEN_SEQB_INTEN_MASK (0x2U)
  388. #define ADC_INTEN_SEQB_INTEN_SHIFT (1U)
  389. #define ADC_INTEN_SEQB_INTEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_INTEN_SEQB_INTEN_SHIFT)) & ADC_INTEN_SEQB_INTEN_MASK)
  390. #define ADC_INTEN_OVR_INTEN_MASK (0x4U)
  391. #define ADC_INTEN_OVR_INTEN_SHIFT (2U)
  392. #define ADC_INTEN_OVR_INTEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_INTEN_OVR_INTEN_SHIFT)) & ADC_INTEN_OVR_INTEN_MASK)
  393. #define ADC_INTEN_ADCMPINTEN0_MASK (0x18U)
  394. #define ADC_INTEN_ADCMPINTEN0_SHIFT (3U)
  395. #define ADC_INTEN_ADCMPINTEN0(x) (((uint32_t)(((uint32_t)(x)) << ADC_INTEN_ADCMPINTEN0_SHIFT)) & ADC_INTEN_ADCMPINTEN0_MASK)
  396. #define ADC_INTEN_ADCMPINTEN1_MASK (0x60U)
  397. #define ADC_INTEN_ADCMPINTEN1_SHIFT (5U)
  398. #define ADC_INTEN_ADCMPINTEN1(x) (((uint32_t)(((uint32_t)(x)) << ADC_INTEN_ADCMPINTEN1_SHIFT)) & ADC_INTEN_ADCMPINTEN1_MASK)
  399. #define ADC_INTEN_ADCMPINTEN2_MASK (0x180U)
  400. #define ADC_INTEN_ADCMPINTEN2_SHIFT (7U)
  401. #define ADC_INTEN_ADCMPINTEN2(x) (((uint32_t)(((uint32_t)(x)) << ADC_INTEN_ADCMPINTEN2_SHIFT)) & ADC_INTEN_ADCMPINTEN2_MASK)
  402. #define ADC_INTEN_ADCMPINTEN3_MASK (0x600U)
  403. #define ADC_INTEN_ADCMPINTEN3_SHIFT (9U)
  404. #define ADC_INTEN_ADCMPINTEN3(x) (((uint32_t)(((uint32_t)(x)) << ADC_INTEN_ADCMPINTEN3_SHIFT)) & ADC_INTEN_ADCMPINTEN3_MASK)
  405. #define ADC_INTEN_ADCMPINTEN4_MASK (0x1800U)
  406. #define ADC_INTEN_ADCMPINTEN4_SHIFT (11U)
  407. #define ADC_INTEN_ADCMPINTEN4(x) (((uint32_t)(((uint32_t)(x)) << ADC_INTEN_ADCMPINTEN4_SHIFT)) & ADC_INTEN_ADCMPINTEN4_MASK)
  408. #define ADC_INTEN_ADCMPINTEN5_MASK (0x6000U)
  409. #define ADC_INTEN_ADCMPINTEN5_SHIFT (13U)
  410. #define ADC_INTEN_ADCMPINTEN5(x) (((uint32_t)(((uint32_t)(x)) << ADC_INTEN_ADCMPINTEN5_SHIFT)) & ADC_INTEN_ADCMPINTEN5_MASK)
  411. #define ADC_INTEN_ADCMPINTEN6_MASK (0x18000U)
  412. #define ADC_INTEN_ADCMPINTEN6_SHIFT (15U)
  413. #define ADC_INTEN_ADCMPINTEN6(x) (((uint32_t)(((uint32_t)(x)) << ADC_INTEN_ADCMPINTEN6_SHIFT)) & ADC_INTEN_ADCMPINTEN6_MASK)
  414. #define ADC_INTEN_ADCMPINTEN7_MASK (0x60000U)
  415. #define ADC_INTEN_ADCMPINTEN7_SHIFT (17U)
  416. #define ADC_INTEN_ADCMPINTEN7(x) (((uint32_t)(((uint32_t)(x)) << ADC_INTEN_ADCMPINTEN7_SHIFT)) & ADC_INTEN_ADCMPINTEN7_MASK)
  417. #define ADC_INTEN_ADCMPINTEN8_MASK (0x180000U)
  418. #define ADC_INTEN_ADCMPINTEN8_SHIFT (19U)
  419. #define ADC_INTEN_ADCMPINTEN8(x) (((uint32_t)(((uint32_t)(x)) << ADC_INTEN_ADCMPINTEN8_SHIFT)) & ADC_INTEN_ADCMPINTEN8_MASK)
  420. #define ADC_INTEN_ADCMPINTEN9_MASK (0x600000U)
  421. #define ADC_INTEN_ADCMPINTEN9_SHIFT (21U)
  422. #define ADC_INTEN_ADCMPINTEN9(x) (((uint32_t)(((uint32_t)(x)) << ADC_INTEN_ADCMPINTEN9_SHIFT)) & ADC_INTEN_ADCMPINTEN9_MASK)
  423. #define ADC_INTEN_ADCMPINTEN10_MASK (0x1800000U)
  424. #define ADC_INTEN_ADCMPINTEN10_SHIFT (23U)
  425. #define ADC_INTEN_ADCMPINTEN10(x) (((uint32_t)(((uint32_t)(x)) << ADC_INTEN_ADCMPINTEN10_SHIFT)) & ADC_INTEN_ADCMPINTEN10_MASK)
  426. #define ADC_INTEN_ADCMPINTEN11_MASK (0x6000000U)
  427. #define ADC_INTEN_ADCMPINTEN11_SHIFT (25U)
  428. #define ADC_INTEN_ADCMPINTEN11(x) (((uint32_t)(((uint32_t)(x)) << ADC_INTEN_ADCMPINTEN11_SHIFT)) & ADC_INTEN_ADCMPINTEN11_MASK)
  429. /*! @name FLAGS - ADC Flags register. Contains the four interrupt/DMA trigger flags and the individual component overrun and threshold-compare flags. (The overrun bits replicate information stored in the result registers). */
  430. #define ADC_FLAGS_THCMP0_MASK (0x1U)
  431. #define ADC_FLAGS_THCMP0_SHIFT (0U)
  432. #define ADC_FLAGS_THCMP0(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_THCMP0_SHIFT)) & ADC_FLAGS_THCMP0_MASK)
  433. #define ADC_FLAGS_THCMP1_MASK (0x2U)
  434. #define ADC_FLAGS_THCMP1_SHIFT (1U)
  435. #define ADC_FLAGS_THCMP1(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_THCMP1_SHIFT)) & ADC_FLAGS_THCMP1_MASK)
  436. #define ADC_FLAGS_THCMP2_MASK (0x4U)
  437. #define ADC_FLAGS_THCMP2_SHIFT (2U)
  438. #define ADC_FLAGS_THCMP2(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_THCMP2_SHIFT)) & ADC_FLAGS_THCMP2_MASK)
  439. #define ADC_FLAGS_THCMP3_MASK (0x8U)
  440. #define ADC_FLAGS_THCMP3_SHIFT (3U)
  441. #define ADC_FLAGS_THCMP3(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_THCMP3_SHIFT)) & ADC_FLAGS_THCMP3_MASK)
  442. #define ADC_FLAGS_THCMP4_MASK (0x10U)
  443. #define ADC_FLAGS_THCMP4_SHIFT (4U)
  444. #define ADC_FLAGS_THCMP4(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_THCMP4_SHIFT)) & ADC_FLAGS_THCMP4_MASK)
  445. #define ADC_FLAGS_THCMP5_MASK (0x20U)
  446. #define ADC_FLAGS_THCMP5_SHIFT (5U)
  447. #define ADC_FLAGS_THCMP5(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_THCMP5_SHIFT)) & ADC_FLAGS_THCMP5_MASK)
  448. #define ADC_FLAGS_THCMP6_MASK (0x40U)
  449. #define ADC_FLAGS_THCMP6_SHIFT (6U)
  450. #define ADC_FLAGS_THCMP6(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_THCMP6_SHIFT)) & ADC_FLAGS_THCMP6_MASK)
  451. #define ADC_FLAGS_THCMP7_MASK (0x80U)
  452. #define ADC_FLAGS_THCMP7_SHIFT (7U)
  453. #define ADC_FLAGS_THCMP7(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_THCMP7_SHIFT)) & ADC_FLAGS_THCMP7_MASK)
  454. #define ADC_FLAGS_THCMP8_MASK (0x100U)
  455. #define ADC_FLAGS_THCMP8_SHIFT (8U)
  456. #define ADC_FLAGS_THCMP8(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_THCMP8_SHIFT)) & ADC_FLAGS_THCMP8_MASK)
  457. #define ADC_FLAGS_THCMP9_MASK (0x200U)
  458. #define ADC_FLAGS_THCMP9_SHIFT (9U)
  459. #define ADC_FLAGS_THCMP9(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_THCMP9_SHIFT)) & ADC_FLAGS_THCMP9_MASK)
  460. #define ADC_FLAGS_THCMP10_MASK (0x400U)
  461. #define ADC_FLAGS_THCMP10_SHIFT (10U)
  462. #define ADC_FLAGS_THCMP10(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_THCMP10_SHIFT)) & ADC_FLAGS_THCMP10_MASK)
  463. #define ADC_FLAGS_THCMP11_MASK (0x800U)
  464. #define ADC_FLAGS_THCMP11_SHIFT (11U)
  465. #define ADC_FLAGS_THCMP11(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_THCMP11_SHIFT)) & ADC_FLAGS_THCMP11_MASK)
  466. #define ADC_FLAGS_OVERRUN0_MASK (0x1000U)
  467. #define ADC_FLAGS_OVERRUN0_SHIFT (12U)
  468. #define ADC_FLAGS_OVERRUN0(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_OVERRUN0_SHIFT)) & ADC_FLAGS_OVERRUN0_MASK)
  469. #define ADC_FLAGS_OVERRUN1_MASK (0x2000U)
  470. #define ADC_FLAGS_OVERRUN1_SHIFT (13U)
  471. #define ADC_FLAGS_OVERRUN1(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_OVERRUN1_SHIFT)) & ADC_FLAGS_OVERRUN1_MASK)
  472. #define ADC_FLAGS_OVERRUN2_MASK (0x4000U)
  473. #define ADC_FLAGS_OVERRUN2_SHIFT (14U)
  474. #define ADC_FLAGS_OVERRUN2(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_OVERRUN2_SHIFT)) & ADC_FLAGS_OVERRUN2_MASK)
  475. #define ADC_FLAGS_OVERRUN3_MASK (0x8000U)
  476. #define ADC_FLAGS_OVERRUN3_SHIFT (15U)
  477. #define ADC_FLAGS_OVERRUN3(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_OVERRUN3_SHIFT)) & ADC_FLAGS_OVERRUN3_MASK)
  478. #define ADC_FLAGS_OVERRUN4_MASK (0x10000U)
  479. #define ADC_FLAGS_OVERRUN4_SHIFT (16U)
  480. #define ADC_FLAGS_OVERRUN4(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_OVERRUN4_SHIFT)) & ADC_FLAGS_OVERRUN4_MASK)
  481. #define ADC_FLAGS_OVERRUN5_MASK (0x20000U)
  482. #define ADC_FLAGS_OVERRUN5_SHIFT (17U)
  483. #define ADC_FLAGS_OVERRUN5(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_OVERRUN5_SHIFT)) & ADC_FLAGS_OVERRUN5_MASK)
  484. #define ADC_FLAGS_OVERRUN6_MASK (0x40000U)
  485. #define ADC_FLAGS_OVERRUN6_SHIFT (18U)
  486. #define ADC_FLAGS_OVERRUN6(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_OVERRUN6_SHIFT)) & ADC_FLAGS_OVERRUN6_MASK)
  487. #define ADC_FLAGS_OVERRUN7_MASK (0x80000U)
  488. #define ADC_FLAGS_OVERRUN7_SHIFT (19U)
  489. #define ADC_FLAGS_OVERRUN7(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_OVERRUN7_SHIFT)) & ADC_FLAGS_OVERRUN7_MASK)
  490. #define ADC_FLAGS_OVERRUN8_MASK (0x100000U)
  491. #define ADC_FLAGS_OVERRUN8_SHIFT (20U)
  492. #define ADC_FLAGS_OVERRUN8(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_OVERRUN8_SHIFT)) & ADC_FLAGS_OVERRUN8_MASK)
  493. #define ADC_FLAGS_OVERRUN9_MASK (0x200000U)
  494. #define ADC_FLAGS_OVERRUN9_SHIFT (21U)
  495. #define ADC_FLAGS_OVERRUN9(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_OVERRUN9_SHIFT)) & ADC_FLAGS_OVERRUN9_MASK)
  496. #define ADC_FLAGS_OVERRUN10_MASK (0x400000U)
  497. #define ADC_FLAGS_OVERRUN10_SHIFT (22U)
  498. #define ADC_FLAGS_OVERRUN10(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_OVERRUN10_SHIFT)) & ADC_FLAGS_OVERRUN10_MASK)
  499. #define ADC_FLAGS_OVERRUN11_MASK (0x800000U)
  500. #define ADC_FLAGS_OVERRUN11_SHIFT (23U)
  501. #define ADC_FLAGS_OVERRUN11(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_OVERRUN11_SHIFT)) & ADC_FLAGS_OVERRUN11_MASK)
  502. #define ADC_FLAGS_SEQA_OVR_MASK (0x1000000U)
  503. #define ADC_FLAGS_SEQA_OVR_SHIFT (24U)
  504. #define ADC_FLAGS_SEQA_OVR(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_SEQA_OVR_SHIFT)) & ADC_FLAGS_SEQA_OVR_MASK)
  505. #define ADC_FLAGS_SEQB_OVR_MASK (0x2000000U)
  506. #define ADC_FLAGS_SEQB_OVR_SHIFT (25U)
  507. #define ADC_FLAGS_SEQB_OVR(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_SEQB_OVR_SHIFT)) & ADC_FLAGS_SEQB_OVR_MASK)
  508. #define ADC_FLAGS_SEQA_INT_MASK (0x10000000U)
  509. #define ADC_FLAGS_SEQA_INT_SHIFT (28U)
  510. #define ADC_FLAGS_SEQA_INT(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_SEQA_INT_SHIFT)) & ADC_FLAGS_SEQA_INT_MASK)
  511. #define ADC_FLAGS_SEQB_INT_MASK (0x20000000U)
  512. #define ADC_FLAGS_SEQB_INT_SHIFT (29U)
  513. #define ADC_FLAGS_SEQB_INT(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_SEQB_INT_SHIFT)) & ADC_FLAGS_SEQB_INT_MASK)
  514. #define ADC_FLAGS_THCMP_INT_MASK (0x40000000U)
  515. #define ADC_FLAGS_THCMP_INT_SHIFT (30U)
  516. #define ADC_FLAGS_THCMP_INT(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_THCMP_INT_SHIFT)) & ADC_FLAGS_THCMP_INT_MASK)
  517. #define ADC_FLAGS_OVR_INT_MASK (0x80000000U)
  518. #define ADC_FLAGS_OVR_INT_SHIFT (31U)
  519. #define ADC_FLAGS_OVR_INT(x) (((uint32_t)(((uint32_t)(x)) << ADC_FLAGS_OVR_INT_SHIFT)) & ADC_FLAGS_OVR_INT_MASK)
  520. /*! @name STARTUP - ADC Startup register. */
  521. #define ADC_STARTUP_ADC_ENA_MASK (0x1U)
  522. #define ADC_STARTUP_ADC_ENA_SHIFT (0U)
  523. #define ADC_STARTUP_ADC_ENA(x) (((uint32_t)(((uint32_t)(x)) << ADC_STARTUP_ADC_ENA_SHIFT)) & ADC_STARTUP_ADC_ENA_MASK)
  524. #define ADC_STARTUP_ADC_INIT_MASK (0x2U)
  525. #define ADC_STARTUP_ADC_INIT_SHIFT (1U)
  526. #define ADC_STARTUP_ADC_INIT(x) (((uint32_t)(((uint32_t)(x)) << ADC_STARTUP_ADC_INIT_SHIFT)) & ADC_STARTUP_ADC_INIT_MASK)
  527. /*! @name CALIB - ADC Calibration register. */
  528. #define ADC_CALIB_CALIB_MASK (0x1U)
  529. #define ADC_CALIB_CALIB_SHIFT (0U)
  530. #define ADC_CALIB_CALIB(x) (((uint32_t)(((uint32_t)(x)) << ADC_CALIB_CALIB_SHIFT)) & ADC_CALIB_CALIB_MASK)
  531. #define ADC_CALIB_CALREQD_MASK (0x2U)
  532. #define ADC_CALIB_CALREQD_SHIFT (1U)
  533. #define ADC_CALIB_CALREQD(x) (((uint32_t)(((uint32_t)(x)) << ADC_CALIB_CALREQD_SHIFT)) & ADC_CALIB_CALREQD_MASK)
  534. #define ADC_CALIB_CALVALUE_MASK (0x1FCU)
  535. #define ADC_CALIB_CALVALUE_SHIFT (2U)
  536. #define ADC_CALIB_CALVALUE(x) (((uint32_t)(((uint32_t)(x)) << ADC_CALIB_CALVALUE_SHIFT)) & ADC_CALIB_CALVALUE_MASK)
  537. /*!
  538. * @}
  539. */ /* end of group ADC_Register_Masks */
  540. /* ADC - Peripheral instance base addresses */
  541. /** Peripheral ADC0 base address */
  542. #define ADC0_BASE (0x400A0000u)
  543. /** Peripheral ADC0 base pointer */
  544. #define ADC0 ((ADC_Type *)ADC0_BASE)
  545. /** Array initializer of ADC peripheral base addresses */
  546. #define ADC_BASE_ADDRS { ADC0_BASE }
  547. /** Array initializer of ADC peripheral base pointers */
  548. #define ADC_BASE_PTRS { ADC0 }
  549. /** Interrupt vectors for the ADC peripheral type */
  550. #define ADC_SEQ_IRQS { ADC0_SEQA_IRQn, ADC0_SEQB_IRQn }
  551. #define ADC_THCMP_IRQS { ADC0_THCMP_IRQn }
  552. /*!
  553. * @}
  554. */ /* end of group ADC_Peripheral_Access_Layer */
  555. /* ----------------------------------------------------------------------------
  556. -- ASYNC_SYSCON Peripheral Access Layer
  557. ---------------------------------------------------------------------------- */
  558. /*!
  559. * @addtogroup ASYNC_SYSCON_Peripheral_Access_Layer ASYNC_SYSCON Peripheral Access Layer
  560. * @{
  561. */
  562. /** ASYNC_SYSCON - Register Layout Typedef */
  563. typedef struct {
  564. __IO uint32_t ASYNCPRESETCTRL; /**< Async peripheral reset control, offset: 0x0 */
  565. __O uint32_t ASYNCPRESETCTRLSET; /**< Set bits in ASYNCPRESETCTRL, offset: 0x4 */
  566. __O uint32_t ASYNCPRESETCTRLCLR; /**< Clear bits in ASYNCPRESETCTRL, offset: 0x8 */
  567. uint8_t RESERVED_0[4];
  568. __IO uint32_t ASYNCAPBCLKCTRL; /**< Async peripheral clock control, offset: 0x10 */
  569. __O uint32_t ASYNCAPBCLKCTRLSET; /**< Set bits in ASYNCAPBCLKCTRL, offset: 0x14 */
  570. __O uint32_t ASYNCAPBCLKCTRLCLR; /**< Clear bits in ASYNCAPBCLKCTRL, offset: 0x18 */
  571. uint8_t RESERVED_1[4];
  572. __IO uint32_t ASYNCAPBCLKSELA; /**< Async APB clock source select A, offset: 0x20 */
  573. } ASYNC_SYSCON_Type;
  574. /* ----------------------------------------------------------------------------
  575. -- ASYNC_SYSCON Register Masks
  576. ---------------------------------------------------------------------------- */
  577. /*!
  578. * @addtogroup ASYNC_SYSCON_Register_Masks ASYNC_SYSCON Register Masks
  579. * @{
  580. */
  581. /*! @name ASYNCPRESETCTRL - Async peripheral reset control */
  582. #define ASYNC_SYSCON_ASYNCPRESETCTRL_CTIMER3_MASK (0x2000U)
  583. #define ASYNC_SYSCON_ASYNCPRESETCTRL_CTIMER3_SHIFT (13U)
  584. #define ASYNC_SYSCON_ASYNCPRESETCTRL_CTIMER3(x) (((uint32_t)(((uint32_t)(x)) << ASYNC_SYSCON_ASYNCPRESETCTRL_CTIMER3_SHIFT)) & ASYNC_SYSCON_ASYNCPRESETCTRL_CTIMER3_MASK)
  585. #define ASYNC_SYSCON_ASYNCPRESETCTRL_CTIMER4_MASK (0x4000U)
  586. #define ASYNC_SYSCON_ASYNCPRESETCTRL_CTIMER4_SHIFT (14U)
  587. #define ASYNC_SYSCON_ASYNCPRESETCTRL_CTIMER4(x) (((uint32_t)(((uint32_t)(x)) << ASYNC_SYSCON_ASYNCPRESETCTRL_CTIMER4_SHIFT)) & ASYNC_SYSCON_ASYNCPRESETCTRL_CTIMER4_MASK)
  588. /*! @name ASYNCPRESETCTRLSET - Set bits in ASYNCPRESETCTRL */
  589. #define ASYNC_SYSCON_ASYNCPRESETCTRLSET_ARST_SET_MASK (0xFFFFFFFFU)
  590. #define ASYNC_SYSCON_ASYNCPRESETCTRLSET_ARST_SET_SHIFT (0U)
  591. #define ASYNC_SYSCON_ASYNCPRESETCTRLSET_ARST_SET(x) (((uint32_t)(((uint32_t)(x)) << ASYNC_SYSCON_ASYNCPRESETCTRLSET_ARST_SET_SHIFT)) & ASYNC_SYSCON_ASYNCPRESETCTRLSET_ARST_SET_MASK)
  592. /*! @name ASYNCPRESETCTRLCLR - Clear bits in ASYNCPRESETCTRL */
  593. #define ASYNC_SYSCON_ASYNCPRESETCTRLCLR_ARST_CLR_MASK (0xFFFFFFFFU)
  594. #define ASYNC_SYSCON_ASYNCPRESETCTRLCLR_ARST_CLR_SHIFT (0U)
  595. #define ASYNC_SYSCON_ASYNCPRESETCTRLCLR_ARST_CLR(x) (((uint32_t)(((uint32_t)(x)) << ASYNC_SYSCON_ASYNCPRESETCTRLCLR_ARST_CLR_SHIFT)) & ASYNC_SYSCON_ASYNCPRESETCTRLCLR_ARST_CLR_MASK)
  596. /*! @name ASYNCAPBCLKCTRL - Async peripheral clock control */
  597. #define ASYNC_SYSCON_ASYNCAPBCLKCTRL_CTIMER3_MASK (0x2000U)
  598. #define ASYNC_SYSCON_ASYNCAPBCLKCTRL_CTIMER3_SHIFT (13U)
  599. #define ASYNC_SYSCON_ASYNCAPBCLKCTRL_CTIMER3(x) (((uint32_t)(((uint32_t)(x)) << ASYNC_SYSCON_ASYNCAPBCLKCTRL_CTIMER3_SHIFT)) & ASYNC_SYSCON_ASYNCAPBCLKCTRL_CTIMER3_MASK)
  600. #define ASYNC_SYSCON_ASYNCAPBCLKCTRL_CTIMER4_MASK (0x4000U)
  601. #define ASYNC_SYSCON_ASYNCAPBCLKCTRL_CTIMER4_SHIFT (14U)
  602. #define ASYNC_SYSCON_ASYNCAPBCLKCTRL_CTIMER4(x) (((uint32_t)(((uint32_t)(x)) << ASYNC_SYSCON_ASYNCAPBCLKCTRL_CTIMER4_SHIFT)) & ASYNC_SYSCON_ASYNCAPBCLKCTRL_CTIMER4_MASK)
  603. /*! @name ASYNCAPBCLKCTRLSET - Set bits in ASYNCAPBCLKCTRL */
  604. #define ASYNC_SYSCON_ASYNCAPBCLKCTRLSET_ACLK_SET_MASK (0xFFFFFFFFU)
  605. #define ASYNC_SYSCON_ASYNCAPBCLKCTRLSET_ACLK_SET_SHIFT (0U)
  606. #define ASYNC_SYSCON_ASYNCAPBCLKCTRLSET_ACLK_SET(x) (((uint32_t)(((uint32_t)(x)) << ASYNC_SYSCON_ASYNCAPBCLKCTRLSET_ACLK_SET_SHIFT)) & ASYNC_SYSCON_ASYNCAPBCLKCTRLSET_ACLK_SET_MASK)
  607. /*! @name ASYNCAPBCLKCTRLCLR - Clear bits in ASYNCAPBCLKCTRL */
  608. #define ASYNC_SYSCON_ASYNCAPBCLKCTRLCLR_ACLK_CLR_MASK (0xFFFFFFFFU)
  609. #define ASYNC_SYSCON_ASYNCAPBCLKCTRLCLR_ACLK_CLR_SHIFT (0U)
  610. #define ASYNC_SYSCON_ASYNCAPBCLKCTRLCLR_ACLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << ASYNC_SYSCON_ASYNCAPBCLKCTRLCLR_ACLK_CLR_SHIFT)) & ASYNC_SYSCON_ASYNCAPBCLKCTRLCLR_ACLK_CLR_MASK)
  611. /*! @name ASYNCAPBCLKSELA - Async APB clock source select A */
  612. #define ASYNC_SYSCON_ASYNCAPBCLKSELA_SEL_MASK (0x3U)
  613. #define ASYNC_SYSCON_ASYNCAPBCLKSELA_SEL_SHIFT (0U)
  614. #define ASYNC_SYSCON_ASYNCAPBCLKSELA_SEL(x) (((uint32_t)(((uint32_t)(x)) << ASYNC_SYSCON_ASYNCAPBCLKSELA_SEL_SHIFT)) & ASYNC_SYSCON_ASYNCAPBCLKSELA_SEL_MASK)
  615. /*!
  616. * @}
  617. */ /* end of group ASYNC_SYSCON_Register_Masks */
  618. /* ASYNC_SYSCON - Peripheral instance base addresses */
  619. /** Peripheral ASYNC_SYSCON base address */
  620. #define ASYNC_SYSCON_BASE (0x40040000u)
  621. /** Peripheral ASYNC_SYSCON base pointer */
  622. #define ASYNC_SYSCON ((ASYNC_SYSCON_Type *)ASYNC_SYSCON_BASE)
  623. /** Array initializer of ASYNC_SYSCON peripheral base addresses */
  624. #define ASYNC_SYSCON_BASE_ADDRS { ASYNC_SYSCON_BASE }
  625. /** Array initializer of ASYNC_SYSCON peripheral base pointers */
  626. #define ASYNC_SYSCON_BASE_PTRS { ASYNC_SYSCON }
  627. /*!
  628. * @}
  629. */ /* end of group ASYNC_SYSCON_Peripheral_Access_Layer */
  630. /* ----------------------------------------------------------------------------
  631. -- CAN Peripheral Access Layer
  632. ---------------------------------------------------------------------------- */
  633. /*!
  634. * @addtogroup CAN_Peripheral_Access_Layer CAN Peripheral Access Layer
  635. * @{
  636. */
  637. /** CAN - Register Layout Typedef */
  638. typedef struct {
  639. uint8_t RESERVED_0[16];
  640. __IO uint32_t TEST; /**< Test Register, offset: 0x10 */
  641. uint8_t RESERVED_1[4];
  642. __IO uint32_t CCCR; /**< CC Control Register, offset: 0x18 */
  643. __IO uint32_t NBTP; /**< Nominal Bit Timing and Prescaler Register, offset: 0x1C */
  644. __IO uint32_t TSCC; /**< Timestamp Counter Configuration, offset: 0x20 */
  645. __IO uint32_t TSCV; /**< Timestamp Counter Value, offset: 0x24 */
  646. __IO uint32_t TOCC; /**< Timeout Counter Configuration, offset: 0x28 */
  647. __I uint32_t TOCV; /**< Timeout Counter Value, offset: 0x2C */
  648. uint8_t RESERVED_2[16];
  649. __I uint32_t ECR; /**< Error Counter Register, offset: 0x40 */
  650. __I uint32_t PSR; /**< Protocol Status Register, offset: 0x44 */
  651. __IO uint32_t TDCR; /**< Transmitter Delay Compensator Register, offset: 0x48 */
  652. uint8_t RESERVED_3[4];
  653. __IO uint32_t IR; /**< Interrupt Register, offset: 0x50 */
  654. __IO uint32_t IE; /**< Interrupt Enable, offset: 0x54 */
  655. __IO uint32_t ILS; /**< Interrupt Line Select, offset: 0x58 */
  656. __IO uint32_t ILE; /**< Interrupt Line Enable, offset: 0x5C */
  657. uint8_t RESERVED_4[32];
  658. __IO uint32_t GFC; /**< Global Filter Configuration, offset: 0x80 */
  659. __IO uint32_t SIDFC; /**< Standard ID Filter Configuration, offset: 0x84 */
  660. __IO uint32_t XIDFC; /**< Extended ID Filter Configuration, offset: 0x88 */
  661. uint8_t RESERVED_5[4];
  662. __IO uint32_t XIDAM; /**< Extended ID AND Mask, offset: 0x90 */
  663. __I uint32_t HPMS; /**< High Priority Message Status, offset: 0x94 */
  664. __IO uint32_t NDAT1; /**< New Data 1, offset: 0x98 */
  665. __IO uint32_t NDAT2; /**< New Data 2, offset: 0x9C */
  666. __IO uint32_t RXF0C; /**< Rx FIFO 0 Configuration, offset: 0xA0 */
  667. __IO uint32_t RXF0S; /**< Rx FIFO 0 Status, offset: 0xA4 */
  668. __IO uint32_t RXF0A; /**< Rx FIFO 0 Acknowledge, offset: 0xA8 */
  669. __IO uint32_t RXBC; /**< Rx Buffer Configuration, offset: 0xAC */
  670. __IO uint32_t RXF1C; /**< Rx FIFO 1 Configuration, offset: 0xB0 */
  671. __I uint32_t RXF1S; /**< Rx FIFO 1 Status, offset: 0xB4 */
  672. __IO uint32_t RXF1A; /**< Rx FIFO 1 Acknowledge, offset: 0xB8 */
  673. __IO uint32_t RXESC; /**< Rx Buffer and FIFO Element Size Configuration, offset: 0xBC */
  674. __IO uint32_t TXBC; /**< Tx Buffer Configuration, offset: 0xC0 */
  675. __IO uint32_t TXFQS; /**< Tx FIFO/Queue Status, offset: 0xC4 */
  676. __IO uint32_t TXESC; /**< Tx Buffer Element Size Configuration, offset: 0xC8 */
  677. __IO uint32_t TXBRP; /**< Tx Buffer Request Pending, offset: 0xCC */
  678. __IO uint32_t TXBAR; /**< Tx Buffer Add Request, offset: 0xD0 */
  679. __IO uint32_t TXBCR; /**< Tx Buffer Cancellation Request, offset: 0xD4 */
  680. __IO uint32_t TXBTO; /**< Tx Buffer Transmission Occurred, offset: 0xD8 */
  681. __IO uint32_t TXBCF; /**< Tx Buffer Cancellation Finished, offset: 0xDC */
  682. __IO uint32_t TXBTIE; /**< Tx Buffer Transmission Interrupt Enable, offset: 0xE0 */
  683. __IO uint32_t TXBCIE; /**< Tx Buffer Cancellation Finished Interrupt Enable, offset: 0xE4 */
  684. uint8_t RESERVED_6[8];
  685. __IO uint32_t TXEFC; /**< Tx Event FIFO Configuration, offset: 0xF0 */
  686. __I uint32_t TXEFS; /**< Tx Event FIFO Status, offset: 0xF4 */
  687. __IO uint32_t TXEFA; /**< Tx Event FIFO Acknowledge, offset: 0xF8 */
  688. uint8_t RESERVED_7[260];
  689. __IO uint32_t MRBA; /**< CAN Message RAM Base Address, offset: 0x200 */
  690. uint8_t RESERVED_8[508];
  691. __IO uint32_t ETSCC; /**< External Timestamp Counter Configuration, offset: 0x400 */
  692. uint8_t RESERVED_9[508];
  693. __IO uint32_t ETSCV; /**< External Timestamp Counter Value, offset: 0x600 */
  694. } CAN_Type;
  695. /* ----------------------------------------------------------------------------
  696. -- CAN Register Masks
  697. ---------------------------------------------------------------------------- */
  698. /*!
  699. * @addtogroup CAN_Register_Masks CAN Register Masks
  700. * @{
  701. */
  702. /*! @name TEST - Test Register */
  703. #define CAN_TEST_LBCK_MASK (0x10U)
  704. #define CAN_TEST_LBCK_SHIFT (4U)
  705. #define CAN_TEST_LBCK(x) (((uint32_t)(((uint32_t)(x)) << CAN_TEST_LBCK_SHIFT)) & CAN_TEST_LBCK_MASK)
  706. #define CAN_TEST_TX_MASK (0x60U)
  707. #define CAN_TEST_TX_SHIFT (5U)
  708. #define CAN_TEST_TX(x) (((uint32_t)(((uint32_t)(x)) << CAN_TEST_TX_SHIFT)) & CAN_TEST_TX_MASK)
  709. #define CAN_TEST_RX_MASK (0x80U)
  710. #define CAN_TEST_RX_SHIFT (7U)
  711. #define CAN_TEST_RX(x) (((uint32_t)(((uint32_t)(x)) << CAN_TEST_RX_SHIFT)) & CAN_TEST_RX_MASK)
  712. /*! @name CCCR - CC Control Register */
  713. #define CAN_CCCR_INIT_MASK (0x1U)
  714. #define CAN_CCCR_INIT_SHIFT (0U)
  715. #define CAN_CCCR_INIT(x) (((uint32_t)(((uint32_t)(x)) << CAN_CCCR_INIT_SHIFT)) & CAN_CCCR_INIT_MASK)
  716. #define CAN_CCCR_CCE_MASK (0x2U)
  717. #define CAN_CCCR_CCE_SHIFT (1U)
  718. #define CAN_CCCR_CCE(x) (((uint32_t)(((uint32_t)(x)) << CAN_CCCR_CCE_SHIFT)) & CAN_CCCR_CCE_MASK)
  719. #define CAN_CCCR_ASM_MASK (0x4U)
  720. #define CAN_CCCR_ASM_SHIFT (2U)
  721. #define CAN_CCCR_ASM(x) (((uint32_t)(((uint32_t)(x)) << CAN_CCCR_ASM_SHIFT)) & CAN_CCCR_ASM_MASK)
  722. #define CAN_CCCR_CSA_MASK (0x8U)
  723. #define CAN_CCCR_CSA_SHIFT (3U)
  724. #define CAN_CCCR_CSA(x) (((uint32_t)(((uint32_t)(x)) << CAN_CCCR_CSA_SHIFT)) & CAN_CCCR_CSA_MASK)
  725. #define CAN_CCCR_CSR_MASK (0x10U)
  726. #define CAN_CCCR_CSR_SHIFT (4U)
  727. #define CAN_CCCR_CSR(x) (((uint32_t)(((uint32_t)(x)) << CAN_CCCR_CSR_SHIFT)) & CAN_CCCR_CSR_MASK)
  728. #define CAN_CCCR_MON_MASK (0x20U)
  729. #define CAN_CCCR_MON_SHIFT (5U)
  730. #define CAN_CCCR_MON(x) (((uint32_t)(((uint32_t)(x)) << CAN_CCCR_MON_SHIFT)) & CAN_CCCR_MON_MASK)
  731. #define CAN_CCCR_DAR_MASK (0x40U)
  732. #define CAN_CCCR_DAR_SHIFT (6U)
  733. #define CAN_CCCR_DAR(x) (((uint32_t)(((uint32_t)(x)) << CAN_CCCR_DAR_SHIFT)) & CAN_CCCR_DAR_MASK)
  734. #define CAN_CCCR_TEST_MASK (0x80U)
  735. #define CAN_CCCR_TEST_SHIFT (7U)
  736. #define CAN_CCCR_TEST(x) (((uint32_t)(((uint32_t)(x)) << CAN_CCCR_TEST_SHIFT)) & CAN_CCCR_TEST_MASK)
  737. #define CAN_CCCR_PXHD_MASK (0x1000U)
  738. #define CAN_CCCR_PXHD_SHIFT (12U)
  739. #define CAN_CCCR_PXHD(x) (((uint32_t)(((uint32_t)(x)) << CAN_CCCR_PXHD_SHIFT)) & CAN_CCCR_PXHD_MASK)
  740. #define CAN_CCCR_EFBI_MASK (0x2000U)
  741. #define CAN_CCCR_EFBI_SHIFT (13U)
  742. #define CAN_CCCR_EFBI(x) (((uint32_t)(((uint32_t)(x)) << CAN_CCCR_EFBI_SHIFT)) & CAN_CCCR_EFBI_MASK)
  743. #define CAN_CCCR_TXP_MASK (0x4000U)
  744. #define CAN_CCCR_TXP_SHIFT (14U)
  745. #define CAN_CCCR_TXP(x) (((uint32_t)(((uint32_t)(x)) << CAN_CCCR_TXP_SHIFT)) & CAN_CCCR_TXP_MASK)
  746. /*! @name NBTP - Nominal Bit Timing and Prescaler Register */
  747. #define CAN_NBTP_NTSEG2_MASK (0x7FU)
  748. #define CAN_NBTP_NTSEG2_SHIFT (0U)
  749. #define CAN_NBTP_NTSEG2(x) (((uint32_t)(((uint32_t)(x)) << CAN_NBTP_NTSEG2_SHIFT)) & CAN_NBTP_NTSEG2_MASK)
  750. #define CAN_NBTP_NTSEG1_MASK (0xFF00U)
  751. #define CAN_NBTP_NTSEG1_SHIFT (8U)
  752. #define CAN_NBTP_NTSEG1(x) (((uint32_t)(((uint32_t)(x)) << CAN_NBTP_NTSEG1_SHIFT)) & CAN_NBTP_NTSEG1_MASK)
  753. #define CAN_NBTP_NBRP_MASK (0x1FF0000U)
  754. #define CAN_NBTP_NBRP_SHIFT (16U)
  755. #define CAN_NBTP_NBRP(x) (((uint32_t)(((uint32_t)(x)) << CAN_NBTP_NBRP_SHIFT)) & CAN_NBTP_NBRP_MASK)
  756. #define CAN_NBTP_NSJW_MASK (0xFE000000U)
  757. #define CAN_NBTP_NSJW_SHIFT (25U)
  758. #define CAN_NBTP_NSJW(x) (((uint32_t)(((uint32_t)(x)) << CAN_NBTP_NSJW_SHIFT)) & CAN_NBTP_NSJW_MASK)
  759. /*! @name TSCC - Timestamp Counter Configuration */
  760. #define CAN_TSCC_TSS_MASK (0x3U)
  761. #define CAN_TSCC_TSS_SHIFT (0U)
  762. #define CAN_TSCC_TSS(x) (((uint32_t)(((uint32_t)(x)) << CAN_TSCC_TSS_SHIFT)) & CAN_TSCC_TSS_MASK)
  763. #define CAN_TSCC_TCP_MASK (0xF0000U)
  764. #define CAN_TSCC_TCP_SHIFT (16U)
  765. #define CAN_TSCC_TCP(x) (((uint32_t)(((uint32_t)(x)) << CAN_TSCC_TCP_SHIFT)) & CAN_TSCC_TCP_MASK)
  766. /*! @name TSCV - Timestamp Counter Value */
  767. #define CAN_TSCV_TSC_MASK (0xFFFFU)
  768. #define CAN_TSCV_TSC_SHIFT (0U)
  769. #define CAN_TSCV_TSC(x) (((uint32_t)(((uint32_t)(x)) << CAN_TSCV_TSC_SHIFT)) & CAN_TSCV_TSC_MASK)
  770. /*! @name TOCC - Timeout Counter Configuration */
  771. #define CAN_TOCC_ETOC_MASK (0x1U)
  772. #define CAN_TOCC_ETOC_SHIFT (0U)
  773. #define CAN_TOCC_ETOC(x) (((uint32_t)(((uint32_t)(x)) << CAN_TOCC_ETOC_SHIFT)) & CAN_TOCC_ETOC_MASK)
  774. #define CAN_TOCC_TOS_MASK (0x6U)
  775. #define CAN_TOCC_TOS_SHIFT (1U)
  776. #define CAN_TOCC_TOS(x) (((uint32_t)(((uint32_t)(x)) << CAN_TOCC_TOS_SHIFT)) & CAN_TOCC_TOS_MASK)
  777. #define CAN_TOCC_TOP_MASK (0xFFFF0000U)
  778. #define CAN_TOCC_TOP_SHIFT (16U)
  779. #define CAN_TOCC_TOP(x) (((uint32_t)(((uint32_t)(x)) << CAN_TOCC_TOP_SHIFT)) & CAN_TOCC_TOP_MASK)
  780. /*! @name TOCV - Timeout Counter Value */
  781. #define CAN_TOCV_TOC_MASK (0xFFFFU)
  782. #define CAN_TOCV_TOC_SHIFT (0U)
  783. #define CAN_TOCV_TOC(x) (((uint32_t)(((uint32_t)(x)) << CAN_TOCV_TOC_SHIFT)) & CAN_TOCV_TOC_MASK)
  784. /*! @name ECR - Error Counter Register */
  785. #define CAN_ECR_TEC_MASK (0xFFU)
  786. #define CAN_ECR_TEC_SHIFT (0U)
  787. #define CAN_ECR_TEC(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_TEC_SHIFT)) & CAN_ECR_TEC_MASK)
  788. #define CAN_ECR_REC_MASK (0x7F00U)
  789. #define CAN_ECR_REC_SHIFT (8U)
  790. #define CAN_ECR_REC(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_REC_SHIFT)) & CAN_ECR_REC_MASK)
  791. #define CAN_ECR_RP_MASK (0x8000U)
  792. #define CAN_ECR_RP_SHIFT (15U)
  793. #define CAN_ECR_RP(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_RP_SHIFT)) & CAN_ECR_RP_MASK)
  794. #define CAN_ECR_CEL_MASK (0xFF0000U)
  795. #define CAN_ECR_CEL_SHIFT (16U)
  796. #define CAN_ECR_CEL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_CEL_SHIFT)) & CAN_ECR_CEL_MASK)
  797. /*! @name PSR - Protocol Status Register */
  798. #define CAN_PSR_LEC_MASK (0x7U)
  799. #define CAN_PSR_LEC_SHIFT (0U)
  800. #define CAN_PSR_LEC(x) (((uint32_t)(((uint32_t)(x)) << CAN_PSR_LEC_SHIFT)) & CAN_PSR_LEC_MASK)
  801. #define CAN_PSR_ACT_MASK (0x18U)
  802. #define CAN_PSR_ACT_SHIFT (3U)
  803. #define CAN_PSR_ACT(x) (((uint32_t)(((uint32_t)(x)) << CAN_PSR_ACT_SHIFT)) & CAN_PSR_ACT_MASK)
  804. #define CAN_PSR_EP_MASK (0x20U)
  805. #define CAN_PSR_EP_SHIFT (5U)
  806. #define CAN_PSR_EP(x) (((uint32_t)(((uint32_t)(x)) << CAN_PSR_EP_SHIFT)) & CAN_PSR_EP_MASK)
  807. #define CAN_PSR_EW_MASK (0x40U)
  808. #define CAN_PSR_EW_SHIFT (6U)
  809. #define CAN_PSR_EW(x) (((uint32_t)(((uint32_t)(x)) << CAN_PSR_EW_SHIFT)) & CAN_PSR_EW_MASK)
  810. #define CAN_PSR_BO_MASK (0x80U)
  811. #define CAN_PSR_BO_SHIFT (7U)
  812. #define CAN_PSR_BO(x) (((uint32_t)(((uint32_t)(x)) << CAN_PSR_BO_SHIFT)) & CAN_PSR_BO_MASK)
  813. #define CAN_PSR_PXE_MASK (0x4000U)
  814. #define CAN_PSR_PXE_SHIFT (14U)
  815. #define CAN_PSR_PXE(x) (((uint32_t)(((uint32_t)(x)) << CAN_PSR_PXE_SHIFT)) & CAN_PSR_PXE_MASK)
  816. #define CAN_PSR_TDCV_MASK (0x7F0000U)
  817. #define CAN_PSR_TDCV_SHIFT (16U)
  818. #define CAN_PSR_TDCV(x) (((uint32_t)(((uint32_t)(x)) << CAN_PSR_TDCV_SHIFT)) & CAN_PSR_TDCV_MASK)
  819. /*! @name TDCR - Transmitter Delay Compensator Register */
  820. #define CAN_TDCR_TDCF_MASK (0x7FU)
  821. #define CAN_TDCR_TDCF_SHIFT (0U)
  822. #define CAN_TDCR_TDCF(x) (((uint32_t)(((uint32_t)(x)) << CAN_TDCR_TDCF_SHIFT)) & CAN_TDCR_TDCF_MASK)
  823. #define CAN_TDCR_TDCO_MASK (0x7F00U)
  824. #define CAN_TDCR_TDCO_SHIFT (8U)
  825. #define CAN_TDCR_TDCO(x) (((uint32_t)(((uint32_t)(x)) << CAN_TDCR_TDCO_SHIFT)) & CAN_TDCR_TDCO_MASK)
  826. /*! @name IR - Interrupt Register */
  827. #define CAN_IR_RF0N_MASK (0x1U)
  828. #define CAN_IR_RF0N_SHIFT (0U)
  829. #define CAN_IR_RF0N(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_RF0N_SHIFT)) & CAN_IR_RF0N_MASK)
  830. #define CAN_IR_RF0W_MASK (0x2U)
  831. #define CAN_IR_RF0W_SHIFT (1U)
  832. #define CAN_IR_RF0W(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_RF0W_SHIFT)) & CAN_IR_RF0W_MASK)
  833. #define CAN_IR_RF0F_MASK (0x4U)
  834. #define CAN_IR_RF0F_SHIFT (2U)
  835. #define CAN_IR_RF0F(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_RF0F_SHIFT)) & CAN_IR_RF0F_MASK)
  836. #define CAN_IR_RF0L_MASK (0x8U)
  837. #define CAN_IR_RF0L_SHIFT (3U)
  838. #define CAN_IR_RF0L(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_RF0L_SHIFT)) & CAN_IR_RF0L_MASK)
  839. #define CAN_IR_RF1N_MASK (0x10U)
  840. #define CAN_IR_RF1N_SHIFT (4U)
  841. #define CAN_IR_RF1N(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_RF1N_SHIFT)) & CAN_IR_RF1N_MASK)
  842. #define CAN_IR_RF1W_MASK (0x20U)
  843. #define CAN_IR_RF1W_SHIFT (5U)
  844. #define CAN_IR_RF1W(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_RF1W_SHIFT)) & CAN_IR_RF1W_MASK)
  845. #define CAN_IR_RF1F_MASK (0x40U)
  846. #define CAN_IR_RF1F_SHIFT (6U)
  847. #define CAN_IR_RF1F(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_RF1F_SHIFT)) & CAN_IR_RF1F_MASK)
  848. #define CAN_IR_RF1L_MASK (0x80U)
  849. #define CAN_IR_RF1L_SHIFT (7U)
  850. #define CAN_IR_RF1L(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_RF1L_SHIFT)) & CAN_IR_RF1L_MASK)
  851. #define CAN_IR_HPM_MASK (0x100U)
  852. #define CAN_IR_HPM_SHIFT (8U)
  853. #define CAN_IR_HPM(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_HPM_SHIFT)) & CAN_IR_HPM_MASK)
  854. #define CAN_IR_TC_MASK (0x200U)
  855. #define CAN_IR_TC_SHIFT (9U)
  856. #define CAN_IR_TC(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_TC_SHIFT)) & CAN_IR_TC_MASK)
  857. #define CAN_IR_TCF_MASK (0x400U)
  858. #define CAN_IR_TCF_SHIFT (10U)
  859. #define CAN_IR_TCF(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_TCF_SHIFT)) & CAN_IR_TCF_MASK)
  860. #define CAN_IR_TFE_MASK (0x800U)
  861. #define CAN_IR_TFE_SHIFT (11U)
  862. #define CAN_IR_TFE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_TFE_SHIFT)) & CAN_IR_TFE_MASK)
  863. #define CAN_IR_TEFN_MASK (0x1000U)
  864. #define CAN_IR_TEFN_SHIFT (12U)
  865. #define CAN_IR_TEFN(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_TEFN_SHIFT)) & CAN_IR_TEFN_MASK)
  866. #define CAN_IR_TEFW_MASK (0x2000U)
  867. #define CAN_IR_TEFW_SHIFT (13U)
  868. #define CAN_IR_TEFW(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_TEFW_SHIFT)) & CAN_IR_TEFW_MASK)
  869. #define CAN_IR_TEFF_MASK (0x4000U)
  870. #define CAN_IR_TEFF_SHIFT (14U)
  871. #define CAN_IR_TEFF(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_TEFF_SHIFT)) & CAN_IR_TEFF_MASK)
  872. #define CAN_IR_TEFL_MASK (0x8000U)
  873. #define CAN_IR_TEFL_SHIFT (15U)
  874. #define CAN_IR_TEFL(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_TEFL_SHIFT)) & CAN_IR_TEFL_MASK)
  875. #define CAN_IR_TSW_MASK (0x10000U)
  876. #define CAN_IR_TSW_SHIFT (16U)
  877. #define CAN_IR_TSW(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_TSW_SHIFT)) & CAN_IR_TSW_MASK)
  878. #define CAN_IR_MRAF_MASK (0x20000U)
  879. #define CAN_IR_MRAF_SHIFT (17U)
  880. #define CAN_IR_MRAF(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_MRAF_SHIFT)) & CAN_IR_MRAF_MASK)
  881. #define CAN_IR_TOO_MASK (0x40000U)
  882. #define CAN_IR_TOO_SHIFT (18U)
  883. #define CAN_IR_TOO(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_TOO_SHIFT)) & CAN_IR_TOO_MASK)
  884. #define CAN_IR_DRX_MASK (0x80000U)
  885. #define CAN_IR_DRX_SHIFT (19U)
  886. #define CAN_IR_DRX(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_DRX_SHIFT)) & CAN_IR_DRX_MASK)
  887. #define CAN_IR_BEC_MASK (0x100000U)
  888. #define CAN_IR_BEC_SHIFT (20U)
  889. #define CAN_IR_BEC(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_BEC_SHIFT)) & CAN_IR_BEC_MASK)
  890. #define CAN_IR_BEU_MASK (0x200000U)
  891. #define CAN_IR_BEU_SHIFT (21U)
  892. #define CAN_IR_BEU(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_BEU_SHIFT)) & CAN_IR_BEU_MASK)
  893. #define CAN_IR_ELO_MASK (0x400000U)
  894. #define CAN_IR_ELO_SHIFT (22U)
  895. #define CAN_IR_ELO(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_ELO_SHIFT)) & CAN_IR_ELO_MASK)
  896. #define CAN_IR_EP_MASK (0x800000U)
  897. #define CAN_IR_EP_SHIFT (23U)
  898. #define CAN_IR_EP(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_EP_SHIFT)) & CAN_IR_EP_MASK)
  899. #define CAN_IR_EW_MASK (0x1000000U)
  900. #define CAN_IR_EW_SHIFT (24U)
  901. #define CAN_IR_EW(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_EW_SHIFT)) & CAN_IR_EW_MASK)
  902. #define CAN_IR_BO_MASK (0x2000000U)
  903. #define CAN_IR_BO_SHIFT (25U)
  904. #define CAN_IR_BO(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_BO_SHIFT)) & CAN_IR_BO_MASK)
  905. #define CAN_IR_WDI_MASK (0x4000000U)
  906. #define CAN_IR_WDI_SHIFT (26U)
  907. #define CAN_IR_WDI(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_WDI_SHIFT)) & CAN_IR_WDI_MASK)
  908. #define CAN_IR_PEA_MASK (0x8000000U)
  909. #define CAN_IR_PEA_SHIFT (27U)
  910. #define CAN_IR_PEA(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_PEA_SHIFT)) & CAN_IR_PEA_MASK)
  911. #define CAN_IR_PED_MASK (0x10000000U)
  912. #define CAN_IR_PED_SHIFT (28U)
  913. #define CAN_IR_PED(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_PED_SHIFT)) & CAN_IR_PED_MASK)
  914. #define CAN_IR_ARA_MASK (0x20000000U)
  915. #define CAN_IR_ARA_SHIFT (29U)
  916. #define CAN_IR_ARA(x) (((uint32_t)(((uint32_t)(x)) << CAN_IR_ARA_SHIFT)) & CAN_IR_ARA_MASK)
  917. /*! @name IE - Interrupt Enable */
  918. #define CAN_IE_RF0NE_MASK (0x1U)
  919. #define CAN_IE_RF0NE_SHIFT (0U)
  920. #define CAN_IE_RF0NE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_RF0NE_SHIFT)) & CAN_IE_RF0NE_MASK)
  921. #define CAN_IE_RF0WE_MASK (0x2U)
  922. #define CAN_IE_RF0WE_SHIFT (1U)
  923. #define CAN_IE_RF0WE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_RF0WE_SHIFT)) & CAN_IE_RF0WE_MASK)
  924. #define CAN_IE_RF0FE_MASK (0x4U)
  925. #define CAN_IE_RF0FE_SHIFT (2U)
  926. #define CAN_IE_RF0FE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_RF0FE_SHIFT)) & CAN_IE_RF0FE_MASK)
  927. #define CAN_IE_RF0LE_MASK (0x8U)
  928. #define CAN_IE_RF0LE_SHIFT (3U)
  929. #define CAN_IE_RF0LE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_RF0LE_SHIFT)) & CAN_IE_RF0LE_MASK)
  930. #define CAN_IE_RF1NE_MASK (0x10U)
  931. #define CAN_IE_RF1NE_SHIFT (4U)
  932. #define CAN_IE_RF1NE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_RF1NE_SHIFT)) & CAN_IE_RF1NE_MASK)
  933. #define CAN_IE_RF1WE_MASK (0x20U)
  934. #define CAN_IE_RF1WE_SHIFT (5U)
  935. #define CAN_IE_RF1WE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_RF1WE_SHIFT)) & CAN_IE_RF1WE_MASK)
  936. #define CAN_IE_RF1FE_MASK (0x40U)
  937. #define CAN_IE_RF1FE_SHIFT (6U)
  938. #define CAN_IE_RF1FE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_RF1FE_SHIFT)) & CAN_IE_RF1FE_MASK)
  939. #define CAN_IE_RF1LE_MASK (0x80U)
  940. #define CAN_IE_RF1LE_SHIFT (7U)
  941. #define CAN_IE_RF1LE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_RF1LE_SHIFT)) & CAN_IE_RF1LE_MASK)
  942. #define CAN_IE_HPME_MASK (0x100U)
  943. #define CAN_IE_HPME_SHIFT (8U)
  944. #define CAN_IE_HPME(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_HPME_SHIFT)) & CAN_IE_HPME_MASK)
  945. #define CAN_IE_TCE_MASK (0x200U)
  946. #define CAN_IE_TCE_SHIFT (9U)
  947. #define CAN_IE_TCE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_TCE_SHIFT)) & CAN_IE_TCE_MASK)
  948. #define CAN_IE_TCFE_MASK (0x400U)
  949. #define CAN_IE_TCFE_SHIFT (10U)
  950. #define CAN_IE_TCFE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_TCFE_SHIFT)) & CAN_IE_TCFE_MASK)
  951. #define CAN_IE_TFEE_MASK (0x800U)
  952. #define CAN_IE_TFEE_SHIFT (11U)
  953. #define CAN_IE_TFEE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_TFEE_SHIFT)) & CAN_IE_TFEE_MASK)
  954. #define CAN_IE_TEFNE_MASK (0x1000U)
  955. #define CAN_IE_TEFNE_SHIFT (12U)
  956. #define CAN_IE_TEFNE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_TEFNE_SHIFT)) & CAN_IE_TEFNE_MASK)
  957. #define CAN_IE_TEFWE_MASK (0x2000U)
  958. #define CAN_IE_TEFWE_SHIFT (13U)
  959. #define CAN_IE_TEFWE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_TEFWE_SHIFT)) & CAN_IE_TEFWE_MASK)
  960. #define CAN_IE_TEFFE_MASK (0x4000U)
  961. #define CAN_IE_TEFFE_SHIFT (14U)
  962. #define CAN_IE_TEFFE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_TEFFE_SHIFT)) & CAN_IE_TEFFE_MASK)
  963. #define CAN_IE_TEFLE_MASK (0x8000U)
  964. #define CAN_IE_TEFLE_SHIFT (15U)
  965. #define CAN_IE_TEFLE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_TEFLE_SHIFT)) & CAN_IE_TEFLE_MASK)
  966. #define CAN_IE_TSWE_MASK (0x10000U)
  967. #define CAN_IE_TSWE_SHIFT (16U)
  968. #define CAN_IE_TSWE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_TSWE_SHIFT)) & CAN_IE_TSWE_MASK)
  969. #define CAN_IE_MRAFE_MASK (0x20000U)
  970. #define CAN_IE_MRAFE_SHIFT (17U)
  971. #define CAN_IE_MRAFE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_MRAFE_SHIFT)) & CAN_IE_MRAFE_MASK)
  972. #define CAN_IE_TOOE_MASK (0x40000U)
  973. #define CAN_IE_TOOE_SHIFT (18U)
  974. #define CAN_IE_TOOE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_TOOE_SHIFT)) & CAN_IE_TOOE_MASK)
  975. #define CAN_IE_DRXE_MASK (0x80000U)
  976. #define CAN_IE_DRXE_SHIFT (19U)
  977. #define CAN_IE_DRXE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_DRXE_SHIFT)) & CAN_IE_DRXE_MASK)
  978. #define CAN_IE_BECE_MASK (0x100000U)
  979. #define CAN_IE_BECE_SHIFT (20U)
  980. #define CAN_IE_BECE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_BECE_SHIFT)) & CAN_IE_BECE_MASK)
  981. #define CAN_IE_BEUE_MASK (0x200000U)
  982. #define CAN_IE_BEUE_SHIFT (21U)
  983. #define CAN_IE_BEUE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_BEUE_SHIFT)) & CAN_IE_BEUE_MASK)
  984. #define CAN_IE_ELOE_MASK (0x400000U)
  985. #define CAN_IE_ELOE_SHIFT (22U)
  986. #define CAN_IE_ELOE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_ELOE_SHIFT)) & CAN_IE_ELOE_MASK)
  987. #define CAN_IE_EPE_MASK (0x800000U)
  988. #define CAN_IE_EPE_SHIFT (23U)
  989. #define CAN_IE_EPE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_EPE_SHIFT)) & CAN_IE_EPE_MASK)
  990. #define CAN_IE_EWE_MASK (0x1000000U)
  991. #define CAN_IE_EWE_SHIFT (24U)
  992. #define CAN_IE_EWE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_EWE_SHIFT)) & CAN_IE_EWE_MASK)
  993. #define CAN_IE_BOE_MASK (0x2000000U)
  994. #define CAN_IE_BOE_SHIFT (25U)
  995. #define CAN_IE_BOE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_BOE_SHIFT)) & CAN_IE_BOE_MASK)
  996. #define CAN_IE_WDIE_MASK (0x4000000U)
  997. #define CAN_IE_WDIE_SHIFT (26U)
  998. #define CAN_IE_WDIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_WDIE_SHIFT)) & CAN_IE_WDIE_MASK)
  999. #define CAN_IE_PEAE_MASK (0x8000000U)
  1000. #define CAN_IE_PEAE_SHIFT (27U)
  1001. #define CAN_IE_PEAE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_PEAE_SHIFT)) & CAN_IE_PEAE_MASK)
  1002. #define CAN_IE_PEDE_MASK (0x10000000U)
  1003. #define CAN_IE_PEDE_SHIFT (28U)
  1004. #define CAN_IE_PEDE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_PEDE_SHIFT)) & CAN_IE_PEDE_MASK)
  1005. #define CAN_IE_ARAE_MASK (0x20000000U)
  1006. #define CAN_IE_ARAE_SHIFT (29U)
  1007. #define CAN_IE_ARAE(x) (((uint32_t)(((uint32_t)(x)) << CAN_IE_ARAE_SHIFT)) & CAN_IE_ARAE_MASK)
  1008. /*! @name ILS - Interrupt Line Select */
  1009. #define CAN_ILS_RF0NL_MASK (0x1U)
  1010. #define CAN_ILS_RF0NL_SHIFT (0U)
  1011. #define CAN_ILS_RF0NL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_RF0NL_SHIFT)) & CAN_ILS_RF0NL_MASK)
  1012. #define CAN_ILS_RF0WL_MASK (0x2U)
  1013. #define CAN_ILS_RF0WL_SHIFT (1U)
  1014. #define CAN_ILS_RF0WL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_RF0WL_SHIFT)) & CAN_ILS_RF0WL_MASK)
  1015. #define CAN_ILS_RF0FL_MASK (0x4U)
  1016. #define CAN_ILS_RF0FL_SHIFT (2U)
  1017. #define CAN_ILS_RF0FL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_RF0FL_SHIFT)) & CAN_ILS_RF0FL_MASK)
  1018. #define CAN_ILS_RF0LL_MASK (0x8U)
  1019. #define CAN_ILS_RF0LL_SHIFT (3U)
  1020. #define CAN_ILS_RF0LL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_RF0LL_SHIFT)) & CAN_ILS_RF0LL_MASK)
  1021. #define CAN_ILS_RF1NL_MASK (0x10U)
  1022. #define CAN_ILS_RF1NL_SHIFT (4U)
  1023. #define CAN_ILS_RF1NL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_RF1NL_SHIFT)) & CAN_ILS_RF1NL_MASK)
  1024. #define CAN_ILS_RF1WL_MASK (0x20U)
  1025. #define CAN_ILS_RF1WL_SHIFT (5U)
  1026. #define CAN_ILS_RF1WL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_RF1WL_SHIFT)) & CAN_ILS_RF1WL_MASK)
  1027. #define CAN_ILS_RF1FL_MASK (0x40U)
  1028. #define CAN_ILS_RF1FL_SHIFT (6U)
  1029. #define CAN_ILS_RF1FL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_RF1FL_SHIFT)) & CAN_ILS_RF1FL_MASK)
  1030. #define CAN_ILS_RF1LL_MASK (0x80U)
  1031. #define CAN_ILS_RF1LL_SHIFT (7U)
  1032. #define CAN_ILS_RF1LL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_RF1LL_SHIFT)) & CAN_ILS_RF1LL_MASK)
  1033. #define CAN_ILS_HPML_MASK (0x100U)
  1034. #define CAN_ILS_HPML_SHIFT (8U)
  1035. #define CAN_ILS_HPML(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_HPML_SHIFT)) & CAN_ILS_HPML_MASK)
  1036. #define CAN_ILS_TCL_MASK (0x200U)
  1037. #define CAN_ILS_TCL_SHIFT (9U)
  1038. #define CAN_ILS_TCL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_TCL_SHIFT)) & CAN_ILS_TCL_MASK)
  1039. #define CAN_ILS_TCFL_MASK (0x400U)
  1040. #define CAN_ILS_TCFL_SHIFT (10U)
  1041. #define CAN_ILS_TCFL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_TCFL_SHIFT)) & CAN_ILS_TCFL_MASK)
  1042. #define CAN_ILS_TFEL_MASK (0x800U)
  1043. #define CAN_ILS_TFEL_SHIFT (11U)
  1044. #define CAN_ILS_TFEL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_TFEL_SHIFT)) & CAN_ILS_TFEL_MASK)
  1045. #define CAN_ILS_TEFNL_MASK (0x1000U)
  1046. #define CAN_ILS_TEFNL_SHIFT (12U)
  1047. #define CAN_ILS_TEFNL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_TEFNL_SHIFT)) & CAN_ILS_TEFNL_MASK)
  1048. #define CAN_ILS_TEFWL_MASK (0x2000U)
  1049. #define CAN_ILS_TEFWL_SHIFT (13U)
  1050. #define CAN_ILS_TEFWL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_TEFWL_SHIFT)) & CAN_ILS_TEFWL_MASK)
  1051. #define CAN_ILS_TEFFL_MASK (0x4000U)
  1052. #define CAN_ILS_TEFFL_SHIFT (14U)
  1053. #define CAN_ILS_TEFFL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_TEFFL_SHIFT)) & CAN_ILS_TEFFL_MASK)
  1054. #define CAN_ILS_TEFLL_MASK (0x8000U)
  1055. #define CAN_ILS_TEFLL_SHIFT (15U)
  1056. #define CAN_ILS_TEFLL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_TEFLL_SHIFT)) & CAN_ILS_TEFLL_MASK)
  1057. #define CAN_ILS_TSWL_MASK (0x10000U)
  1058. #define CAN_ILS_TSWL_SHIFT (16U)
  1059. #define CAN_ILS_TSWL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_TSWL_SHIFT)) & CAN_ILS_TSWL_MASK)
  1060. #define CAN_ILS_MRAFL_MASK (0x20000U)
  1061. #define CAN_ILS_MRAFL_SHIFT (17U)
  1062. #define CAN_ILS_MRAFL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_MRAFL_SHIFT)) & CAN_ILS_MRAFL_MASK)
  1063. #define CAN_ILS_TOOL_MASK (0x40000U)
  1064. #define CAN_ILS_TOOL_SHIFT (18U)
  1065. #define CAN_ILS_TOOL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_TOOL_SHIFT)) & CAN_ILS_TOOL_MASK)
  1066. #define CAN_ILS_DRXL_MASK (0x80000U)
  1067. #define CAN_ILS_DRXL_SHIFT (19U)
  1068. #define CAN_ILS_DRXL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_DRXL_SHIFT)) & CAN_ILS_DRXL_MASK)
  1069. #define CAN_ILS_BECL_MASK (0x100000U)
  1070. #define CAN_ILS_BECL_SHIFT (20U)
  1071. #define CAN_ILS_BECL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_BECL_SHIFT)) & CAN_ILS_BECL_MASK)
  1072. #define CAN_ILS_BEUL_MASK (0x200000U)
  1073. #define CAN_ILS_BEUL_SHIFT (21U)
  1074. #define CAN_ILS_BEUL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_BEUL_SHIFT)) & CAN_ILS_BEUL_MASK)
  1075. #define CAN_ILS_ELOL_MASK (0x400000U)
  1076. #define CAN_ILS_ELOL_SHIFT (22U)
  1077. #define CAN_ILS_ELOL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_ELOL_SHIFT)) & CAN_ILS_ELOL_MASK)
  1078. #define CAN_ILS_EPL_MASK (0x800000U)
  1079. #define CAN_ILS_EPL_SHIFT (23U)
  1080. #define CAN_ILS_EPL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_EPL_SHIFT)) & CAN_ILS_EPL_MASK)
  1081. #define CAN_ILS_EWL_MASK (0x1000000U)
  1082. #define CAN_ILS_EWL_SHIFT (24U)
  1083. #define CAN_ILS_EWL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_EWL_SHIFT)) & CAN_ILS_EWL_MASK)
  1084. #define CAN_ILS_BOL_MASK (0x2000000U)
  1085. #define CAN_ILS_BOL_SHIFT (25U)
  1086. #define CAN_ILS_BOL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_BOL_SHIFT)) & CAN_ILS_BOL_MASK)
  1087. #define CAN_ILS_WDIL_MASK (0x4000000U)
  1088. #define CAN_ILS_WDIL_SHIFT (26U)
  1089. #define CAN_ILS_WDIL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_WDIL_SHIFT)) & CAN_ILS_WDIL_MASK)
  1090. #define CAN_ILS_PEAL_MASK (0x8000000U)
  1091. #define CAN_ILS_PEAL_SHIFT (27U)
  1092. #define CAN_ILS_PEAL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_PEAL_SHIFT)) & CAN_ILS_PEAL_MASK)
  1093. #define CAN_ILS_PEDL_MASK (0x10000000U)
  1094. #define CAN_ILS_PEDL_SHIFT (28U)
  1095. #define CAN_ILS_PEDL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_PEDL_SHIFT)) & CAN_ILS_PEDL_MASK)
  1096. #define CAN_ILS_ARAL_MASK (0x20000000U)
  1097. #define CAN_ILS_ARAL_SHIFT (29U)
  1098. #define CAN_ILS_ARAL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILS_ARAL_SHIFT)) & CAN_ILS_ARAL_MASK)
  1099. /*! @name ILE - Interrupt Line Enable */
  1100. #define CAN_ILE_EINT0_MASK (0x1U)
  1101. #define CAN_ILE_EINT0_SHIFT (0U)
  1102. #define CAN_ILE_EINT0(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILE_EINT0_SHIFT)) & CAN_ILE_EINT0_MASK)
  1103. #define CAN_ILE_EINT1_MASK (0x2U)
  1104. #define CAN_ILE_EINT1_SHIFT (1U)
  1105. #define CAN_ILE_EINT1(x) (((uint32_t)(((uint32_t)(x)) << CAN_ILE_EINT1_SHIFT)) & CAN_ILE_EINT1_MASK)
  1106. /*! @name GFC - Global Filter Configuration */
  1107. #define CAN_GFC_RRFE_MASK (0x1U)
  1108. #define CAN_GFC_RRFE_SHIFT (0U)
  1109. #define CAN_GFC_RRFE(x) (((uint32_t)(((uint32_t)(x)) << CAN_GFC_RRFE_SHIFT)) & CAN_GFC_RRFE_MASK)
  1110. #define CAN_GFC_RRFS_MASK (0x2U)
  1111. #define CAN_GFC_RRFS_SHIFT (1U)
  1112. #define CAN_GFC_RRFS(x) (((uint32_t)(((uint32_t)(x)) << CAN_GFC_RRFS_SHIFT)) & CAN_GFC_RRFS_MASK)
  1113. #define CAN_GFC_ANFE_MASK (0xCU)
  1114. #define CAN_GFC_ANFE_SHIFT (2U)
  1115. #define CAN_GFC_ANFE(x) (((uint32_t)(((uint32_t)(x)) << CAN_GFC_ANFE_SHIFT)) & CAN_GFC_ANFE_MASK)
  1116. #define CAN_GFC_ANFS_MASK (0x30U)
  1117. #define CAN_GFC_ANFS_SHIFT (4U)
  1118. #define CAN_GFC_ANFS(x) (((uint32_t)(((uint32_t)(x)) << CAN_GFC_ANFS_SHIFT)) & CAN_GFC_ANFS_MASK)
  1119. /*! @name SIDFC - Standard ID Filter Configuration */
  1120. #define CAN_SIDFC_FLSSA_MASK (0xFFFCU)
  1121. #define CAN_SIDFC_FLSSA_SHIFT (2U)
  1122. #define CAN_SIDFC_FLSSA(x) (((uint32_t)(((uint32_t)(x)) << CAN_SIDFC_FLSSA_SHIFT)) & CAN_SIDFC_FLSSA_MASK)
  1123. #define CAN_SIDFC_LSS_MASK (0xFF0000U)
  1124. #define CAN_SIDFC_LSS_SHIFT (16U)
  1125. #define CAN_SIDFC_LSS(x) (((uint32_t)(((uint32_t)(x)) << CAN_SIDFC_LSS_SHIFT)) & CAN_SIDFC_LSS_MASK)
  1126. /*! @name XIDFC - Extended ID Filter Configuration */
  1127. #define CAN_XIDFC_FLESA_MASK (0xFFFCU)
  1128. #define CAN_XIDFC_FLESA_SHIFT (2U)
  1129. #define CAN_XIDFC_FLESA(x) (((uint32_t)(((uint32_t)(x)) << CAN_XIDFC_FLESA_SHIFT)) & CAN_XIDFC_FLESA_MASK)
  1130. #define CAN_XIDFC_LSE_MASK (0xFF0000U)
  1131. #define CAN_XIDFC_LSE_SHIFT (16U)
  1132. #define CAN_XIDFC_LSE(x) (((uint32_t)(((uint32_t)(x)) << CAN_XIDFC_LSE_SHIFT)) & CAN_XIDFC_LSE_MASK)
  1133. /*! @name XIDAM - Extended ID AND Mask */
  1134. #define CAN_XIDAM_EIDM_MASK (0x1FFFFFFFU)
  1135. #define CAN_XIDAM_EIDM_SHIFT (0U)
  1136. #define CAN_XIDAM_EIDM(x) (((uint32_t)(((uint32_t)(x)) << CAN_XIDAM_EIDM_SHIFT)) & CAN_XIDAM_EIDM_MASK)
  1137. /*! @name HPMS - High Priority Message Status */
  1138. #define CAN_HPMS_BIDX_MASK (0x3FU)
  1139. #define CAN_HPMS_BIDX_SHIFT (0U)
  1140. #define CAN_HPMS_BIDX(x) (((uint32_t)(((uint32_t)(x)) << CAN_HPMS_BIDX_SHIFT)) & CAN_HPMS_BIDX_MASK)
  1141. #define CAN_HPMS_MSI_MASK (0xC0U)
  1142. #define CAN_HPMS_MSI_SHIFT (6U)
  1143. #define CAN_HPMS_MSI(x) (((uint32_t)(((uint32_t)(x)) << CAN_HPMS_MSI_SHIFT)) & CAN_HPMS_MSI_MASK)
  1144. #define CAN_HPMS_FIDX_MASK (0x7F00U)
  1145. #define CAN_HPMS_FIDX_SHIFT (8U)
  1146. #define CAN_HPMS_FIDX(x) (((uint32_t)(((uint32_t)(x)) << CAN_HPMS_FIDX_SHIFT)) & CAN_HPMS_FIDX_MASK)
  1147. #define CAN_HPMS_FLST_MASK (0x8000U)
  1148. #define CAN_HPMS_FLST_SHIFT (15U)
  1149. #define CAN_HPMS_FLST(x) (((uint32_t)(((uint32_t)(x)) << CAN_HPMS_FLST_SHIFT)) & CAN_HPMS_FLST_MASK)
  1150. /*! @name NDAT1 - New Data 1 */
  1151. #define CAN_NDAT1_ND_MASK (0xFFFFFFFFU)
  1152. #define CAN_NDAT1_ND_SHIFT (0U)
  1153. #define CAN_NDAT1_ND(x) (((uint32_t)(((uint32_t)(x)) << CAN_NDAT1_ND_SHIFT)) & CAN_NDAT1_ND_MASK)
  1154. /*! @name NDAT2 - New Data 2 */
  1155. #define CAN_NDAT2_ND_MASK (0xFFFFFFFFU)
  1156. #define CAN_NDAT2_ND_SHIFT (0U)
  1157. #define CAN_NDAT2_ND(x) (((uint32_t)(((uint32_t)(x)) << CAN_NDAT2_ND_SHIFT)) & CAN_NDAT2_ND_MASK)
  1158. /*! @name RXF0C - Rx FIFO 0 Configuration */
  1159. #define CAN_RXF0C_F0SA_MASK (0xFFFCU)
  1160. #define CAN_RXF0C_F0SA_SHIFT (2U)
  1161. #define CAN_RXF0C_F0SA(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF0C_F0SA_SHIFT)) & CAN_RXF0C_F0SA_MASK)
  1162. #define CAN_RXF0C_F0S_MASK (0x7F0000U)
  1163. #define CAN_RXF0C_F0S_SHIFT (16U)
  1164. #define CAN_RXF0C_F0S(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF0C_F0S_SHIFT)) & CAN_RXF0C_F0S_MASK)
  1165. #define CAN_RXF0C_F0WM_MASK (0x7F000000U)
  1166. #define CAN_RXF0C_F0WM_SHIFT (24U)
  1167. #define CAN_RXF0C_F0WM(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF0C_F0WM_SHIFT)) & CAN_RXF0C_F0WM_MASK)
  1168. #define CAN_RXF0C_F0OM_MASK (0x80000000U)
  1169. #define CAN_RXF0C_F0OM_SHIFT (31U)
  1170. #define CAN_RXF0C_F0OM(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF0C_F0OM_SHIFT)) & CAN_RXF0C_F0OM_MASK)
  1171. /*! @name RXF0S - Rx FIFO 0 Status */
  1172. #define CAN_RXF0S_F0FL_MASK (0x7FU)
  1173. #define CAN_RXF0S_F0FL_SHIFT (0U)
  1174. #define CAN_RXF0S_F0FL(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF0S_F0FL_SHIFT)) & CAN_RXF0S_F0FL_MASK)
  1175. #define CAN_RXF0S_F0GI_MASK (0x3F00U)
  1176. #define CAN_RXF0S_F0GI_SHIFT (8U)
  1177. #define CAN_RXF0S_F0GI(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF0S_F0GI_SHIFT)) & CAN_RXF0S_F0GI_MASK)
  1178. #define CAN_RXF0S_F0PI_MASK (0x3F0000U)
  1179. #define CAN_RXF0S_F0PI_SHIFT (16U)
  1180. #define CAN_RXF0S_F0PI(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF0S_F0PI_SHIFT)) & CAN_RXF0S_F0PI_MASK)
  1181. #define CAN_RXF0S_F0F_MASK (0x1000000U)
  1182. #define CAN_RXF0S_F0F_SHIFT (24U)
  1183. #define CAN_RXF0S_F0F(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF0S_F0F_SHIFT)) & CAN_RXF0S_F0F_MASK)
  1184. #define CAN_RXF0S_RF0L_MASK (0x2000000U)
  1185. #define CAN_RXF0S_RF0L_SHIFT (25U)
  1186. #define CAN_RXF0S_RF0L(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF0S_RF0L_SHIFT)) & CAN_RXF0S_RF0L_MASK)
  1187. /*! @name RXF0A - Rx FIFO 0 Acknowledge */
  1188. #define CAN_RXF0A_F0AI_MASK (0x3FU)
  1189. #define CAN_RXF0A_F0AI_SHIFT (0U)
  1190. #define CAN_RXF0A_F0AI(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF0A_F0AI_SHIFT)) & CAN_RXF0A_F0AI_MASK)
  1191. /*! @name RXBC - Rx Buffer Configuration */
  1192. #define CAN_RXBC_RBSA_MASK (0xFFFCU)
  1193. #define CAN_RXBC_RBSA_SHIFT (2U)
  1194. #define CAN_RXBC_RBSA(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXBC_RBSA_SHIFT)) & CAN_RXBC_RBSA_MASK)
  1195. /*! @name RXF1C - Rx FIFO 1 Configuration */
  1196. #define CAN_RXF1C_F1SA_MASK (0xFFFCU)
  1197. #define CAN_RXF1C_F1SA_SHIFT (2U)
  1198. #define CAN_RXF1C_F1SA(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF1C_F1SA_SHIFT)) & CAN_RXF1C_F1SA_MASK)
  1199. #define CAN_RXF1C_F1S_MASK (0x7F0000U)
  1200. #define CAN_RXF1C_F1S_SHIFT (16U)
  1201. #define CAN_RXF1C_F1S(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF1C_F1S_SHIFT)) & CAN_RXF1C_F1S_MASK)
  1202. #define CAN_RXF1C_F1WM_MASK (0x7F000000U)
  1203. #define CAN_RXF1C_F1WM_SHIFT (24U)
  1204. #define CAN_RXF1C_F1WM(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF1C_F1WM_SHIFT)) & CAN_RXF1C_F1WM_MASK)
  1205. #define CAN_RXF1C_F1OM_MASK (0x80000000U)
  1206. #define CAN_RXF1C_F1OM_SHIFT (31U)
  1207. #define CAN_RXF1C_F1OM(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF1C_F1OM_SHIFT)) & CAN_RXF1C_F1OM_MASK)
  1208. /*! @name RXF1S - Rx FIFO 1 Status */
  1209. #define CAN_RXF1S_F1FL_MASK (0x7FU)
  1210. #define CAN_RXF1S_F1FL_SHIFT (0U)
  1211. #define CAN_RXF1S_F1FL(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF1S_F1FL_SHIFT)) & CAN_RXF1S_F1FL_MASK)
  1212. #define CAN_RXF1S_F1GI_MASK (0x3F00U)
  1213. #define CAN_RXF1S_F1GI_SHIFT (8U)
  1214. #define CAN_RXF1S_F1GI(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF1S_F1GI_SHIFT)) & CAN_RXF1S_F1GI_MASK)
  1215. #define CAN_RXF1S_F1PI_MASK (0x3F0000U)
  1216. #define CAN_RXF1S_F1PI_SHIFT (16U)
  1217. #define CAN_RXF1S_F1PI(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF1S_F1PI_SHIFT)) & CAN_RXF1S_F1PI_MASK)
  1218. #define CAN_RXF1S_F1F_MASK (0x1000000U)
  1219. #define CAN_RXF1S_F1F_SHIFT (24U)
  1220. #define CAN_RXF1S_F1F(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF1S_F1F_SHIFT)) & CAN_RXF1S_F1F_MASK)
  1221. #define CAN_RXF1S_RF1L_MASK (0x2000000U)
  1222. #define CAN_RXF1S_RF1L_SHIFT (25U)
  1223. #define CAN_RXF1S_RF1L(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF1S_RF1L_SHIFT)) & CAN_RXF1S_RF1L_MASK)
  1224. /*! @name RXF1A - Rx FIFO 1 Acknowledge */
  1225. #define CAN_RXF1A_F1AI_MASK (0x3FU)
  1226. #define CAN_RXF1A_F1AI_SHIFT (0U)
  1227. #define CAN_RXF1A_F1AI(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXF1A_F1AI_SHIFT)) & CAN_RXF1A_F1AI_MASK)
  1228. /*! @name RXESC - Rx Buffer and FIFO Element Size Configuration */
  1229. #define CAN_RXESC_F0DS_MASK (0x7U)
  1230. #define CAN_RXESC_F0DS_SHIFT (0U)
  1231. #define CAN_RXESC_F0DS(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXESC_F0DS_SHIFT)) & CAN_RXESC_F0DS_MASK)
  1232. #define CAN_RXESC_F1DS_MASK (0x70U)
  1233. #define CAN_RXESC_F1DS_SHIFT (4U)
  1234. #define CAN_RXESC_F1DS(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXESC_F1DS_SHIFT)) & CAN_RXESC_F1DS_MASK)
  1235. #define CAN_RXESC_RBDS_MASK (0x700U)
  1236. #define CAN_RXESC_RBDS_SHIFT (8U)
  1237. #define CAN_RXESC_RBDS(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXESC_RBDS_SHIFT)) & CAN_RXESC_RBDS_MASK)
  1238. /*! @name TXBC - Tx Buffer Configuration */
  1239. #define CAN_TXBC_TBSA_MASK (0xFFFCU)
  1240. #define CAN_TXBC_TBSA_SHIFT (2U)
  1241. #define CAN_TXBC_TBSA(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXBC_TBSA_SHIFT)) & CAN_TXBC_TBSA_MASK)
  1242. #define CAN_TXBC_NDTB_MASK (0x3F0000U)
  1243. #define CAN_TXBC_NDTB_SHIFT (16U)
  1244. #define CAN_TXBC_NDTB(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXBC_NDTB_SHIFT)) & CAN_TXBC_NDTB_MASK)
  1245. #define CAN_TXBC_TFQS_MASK (0x3F000000U)
  1246. #define CAN_TXBC_TFQS_SHIFT (24U)
  1247. #define CAN_TXBC_TFQS(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXBC_TFQS_SHIFT)) & CAN_TXBC_TFQS_MASK)
  1248. #define CAN_TXBC_TFQM_MASK (0x40000000U)
  1249. #define CAN_TXBC_TFQM_SHIFT (30U)
  1250. #define CAN_TXBC_TFQM(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXBC_TFQM_SHIFT)) & CAN_TXBC_TFQM_MASK)
  1251. /*! @name TXFQS - Tx FIFO/Queue Status */
  1252. #define CAN_TXFQS_TFGI_MASK (0x1F00U)
  1253. #define CAN_TXFQS_TFGI_SHIFT (8U)
  1254. #define CAN_TXFQS_TFGI(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXFQS_TFGI_SHIFT)) & CAN_TXFQS_TFGI_MASK)
  1255. #define CAN_TXFQS_TFQPI_MASK (0x1F0000U)
  1256. #define CAN_TXFQS_TFQPI_SHIFT (16U)
  1257. #define CAN_TXFQS_TFQPI(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXFQS_TFQPI_SHIFT)) & CAN_TXFQS_TFQPI_MASK)
  1258. #define CAN_TXFQS_TFQF_MASK (0x200000U)
  1259. #define CAN_TXFQS_TFQF_SHIFT (21U)
  1260. #define CAN_TXFQS_TFQF(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXFQS_TFQF_SHIFT)) & CAN_TXFQS_TFQF_MASK)
  1261. /*! @name TXESC - Tx Buffer Element Size Configuration */
  1262. #define CAN_TXESC_TBDS_MASK (0x7U)
  1263. #define CAN_TXESC_TBDS_SHIFT (0U)
  1264. #define CAN_TXESC_TBDS(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXESC_TBDS_SHIFT)) & CAN_TXESC_TBDS_MASK)
  1265. /*! @name TXBRP - Tx Buffer Request Pending */
  1266. #define CAN_TXBRP_TRP_MASK (0xFFFFFFFFU)
  1267. #define CAN_TXBRP_TRP_SHIFT (0U)
  1268. #define CAN_TXBRP_TRP(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXBRP_TRP_SHIFT)) & CAN_TXBRP_TRP_MASK)
  1269. /*! @name TXBAR - Tx Buffer Add Request */
  1270. #define CAN_TXBAR_AR_MASK (0xFFFFFFFFU)
  1271. #define CAN_TXBAR_AR_SHIFT (0U)
  1272. #define CAN_TXBAR_AR(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXBAR_AR_SHIFT)) & CAN_TXBAR_AR_MASK)
  1273. /*! @name TXBCR - Tx Buffer Cancellation Request */
  1274. #define CAN_TXBCR_CR_MASK (0xFFFFFFFFU)
  1275. #define CAN_TXBCR_CR_SHIFT (0U)
  1276. #define CAN_TXBCR_CR(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXBCR_CR_SHIFT)) & CAN_TXBCR_CR_MASK)
  1277. /*! @name TXBTO - Tx Buffer Transmission Occurred */
  1278. #define CAN_TXBTO_TO_MASK (0xFFFFFFFFU)
  1279. #define CAN_TXBTO_TO_SHIFT (0U)
  1280. #define CAN_TXBTO_TO(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXBTO_TO_SHIFT)) & CAN_TXBTO_TO_MASK)
  1281. /*! @name TXBCF - Tx Buffer Cancellation Finished */
  1282. #define CAN_TXBCF_TO_MASK (0xFFFFFFFFU)
  1283. #define CAN_TXBCF_TO_SHIFT (0U)
  1284. #define CAN_TXBCF_TO(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXBCF_TO_SHIFT)) & CAN_TXBCF_TO_MASK)
  1285. /*! @name TXBTIE - Tx Buffer Transmission Interrupt Enable */
  1286. #define CAN_TXBTIE_TIE_MASK (0xFFFFFFFFU)
  1287. #define CAN_TXBTIE_TIE_SHIFT (0U)
  1288. #define CAN_TXBTIE_TIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXBTIE_TIE_SHIFT)) & CAN_TXBTIE_TIE_MASK)
  1289. /*! @name TXBCIE - Tx Buffer Cancellation Finished Interrupt Enable */
  1290. #define CAN_TXBCIE_CFIE_MASK (0xFFFFFFFFU)
  1291. #define CAN_TXBCIE_CFIE_SHIFT (0U)
  1292. #define CAN_TXBCIE_CFIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXBCIE_CFIE_SHIFT)) & CAN_TXBCIE_CFIE_MASK)
  1293. /*! @name TXEFC - Tx Event FIFO Configuration */
  1294. #define CAN_TXEFC_EFSA_MASK (0xFFFCU)
  1295. #define CAN_TXEFC_EFSA_SHIFT (2U)
  1296. #define CAN_TXEFC_EFSA(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXEFC_EFSA_SHIFT)) & CAN_TXEFC_EFSA_MASK)
  1297. #define CAN_TXEFC_EFS_MASK (0x3F0000U)
  1298. #define CAN_TXEFC_EFS_SHIFT (16U)
  1299. #define CAN_TXEFC_EFS(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXEFC_EFS_SHIFT)) & CAN_TXEFC_EFS_MASK)
  1300. #define CAN_TXEFC_EFWM_MASK (0x3F000000U)
  1301. #define CAN_TXEFC_EFWM_SHIFT (24U)
  1302. #define CAN_TXEFC_EFWM(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXEFC_EFWM_SHIFT)) & CAN_TXEFC_EFWM_MASK)
  1303. /*! @name TXEFS - Tx Event FIFO Status */
  1304. #define CAN_TXEFS_EFFL_MASK (0x3FU)
  1305. #define CAN_TXEFS_EFFL_SHIFT (0U)
  1306. #define CAN_TXEFS_EFFL(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXEFS_EFFL_SHIFT)) & CAN_TXEFS_EFFL_MASK)
  1307. #define CAN_TXEFS_EFGI_MASK (0x1F00U)
  1308. #define CAN_TXEFS_EFGI_SHIFT (8U)
  1309. #define CAN_TXEFS_EFGI(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXEFS_EFGI_SHIFT)) & CAN_TXEFS_EFGI_MASK)
  1310. #define CAN_TXEFS_EFPI_MASK (0x3F0000U)
  1311. #define CAN_TXEFS_EFPI_SHIFT (16U)
  1312. #define CAN_TXEFS_EFPI(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXEFS_EFPI_SHIFT)) & CAN_TXEFS_EFPI_MASK)
  1313. #define CAN_TXEFS_EFF_MASK (0x1000000U)
  1314. #define CAN_TXEFS_EFF_SHIFT (24U)
  1315. #define CAN_TXEFS_EFF(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXEFS_EFF_SHIFT)) & CAN_TXEFS_EFF_MASK)
  1316. #define CAN_TXEFS_TEFL_MASK (0x2000000U)
  1317. #define CAN_TXEFS_TEFL_SHIFT (25U)
  1318. #define CAN_TXEFS_TEFL(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXEFS_TEFL_SHIFT)) & CAN_TXEFS_TEFL_MASK)
  1319. /*! @name TXEFA - Tx Event FIFO Acknowledge */
  1320. #define CAN_TXEFA_EFAI_MASK (0x1FU)
  1321. #define CAN_TXEFA_EFAI_SHIFT (0U)
  1322. #define CAN_TXEFA_EFAI(x) (((uint32_t)(((uint32_t)(x)) << CAN_TXEFA_EFAI_SHIFT)) & CAN_TXEFA_EFAI_MASK)
  1323. /*! @name MRBA - CAN Message RAM Base Address */
  1324. #define CAN_MRBA_BA_MASK (0xFFFFFFFFU)
  1325. #define CAN_MRBA_BA_SHIFT (0U)
  1326. #define CAN_MRBA_BA(x) (((uint32_t)(((uint32_t)(x)) << CAN_MRBA_BA_SHIFT)) & CAN_MRBA_BA_MASK)
  1327. /*! @name ETSCC - External Timestamp Counter Configuration */
  1328. #define CAN_ETSCC_ETCP_MASK (0x7FFU)
  1329. #define CAN_ETSCC_ETCP_SHIFT (0U)
  1330. #define CAN_ETSCC_ETCP(x) (((uint32_t)(((uint32_t)(x)) << CAN_ETSCC_ETCP_SHIFT)) & CAN_ETSCC_ETCP_MASK)
  1331. #define CAN_ETSCC_ETCE_MASK (0x80000000U)
  1332. #define CAN_ETSCC_ETCE_SHIFT (31U)
  1333. #define CAN_ETSCC_ETCE(x) (((uint32_t)(((uint32_t)(x)) << CAN_ETSCC_ETCE_SHIFT)) & CAN_ETSCC_ETCE_MASK)
  1334. /*! @name ETSCV - External Timestamp Counter Value */
  1335. #define CAN_ETSCV_ETSC_MASK (0xFFFFU)
  1336. #define CAN_ETSCV_ETSC_SHIFT (0U)
  1337. #define CAN_ETSCV_ETSC(x) (((uint32_t)(((uint32_t)(x)) << CAN_ETSCV_ETSC_SHIFT)) & CAN_ETSCV_ETSC_MASK)
  1338. /*!
  1339. * @}
  1340. */ /* end of group CAN_Register_Masks */
  1341. /* CAN - Peripheral instance base addresses */
  1342. /** Peripheral CAN0 base address */
  1343. #define CAN0_BASE (0x4009D000u)
  1344. /** Peripheral CAN0 base pointer */
  1345. #define CAN0 ((CAN_Type *)CAN0_BASE)
  1346. /** Peripheral CAN1 base address */
  1347. #define CAN1_BASE (0x4009E000u)
  1348. /** Peripheral CAN1 base pointer */
  1349. #define CAN1 ((CAN_Type *)CAN1_BASE)
  1350. /** Array initializer of CAN peripheral base addresses */
  1351. #define CAN_BASE_ADDRS { CAN0_BASE, CAN1_BASE }
  1352. /** Array initializer of CAN peripheral base pointers */
  1353. #define CAN_BASE_PTRS { CAN0, CAN1 }
  1354. /** Interrupt vectors for the CAN peripheral type */
  1355. #define CAN_IRQS { { CAN0_IRQ0_IRQn, CAN0_IRQ1_IRQn }, { CAN1_IRQ0_IRQn, CAN1_IRQ1_IRQn } }
  1356. /*!
  1357. * @}
  1358. */ /* end of group CAN_Peripheral_Access_Layer */
  1359. /* ----------------------------------------------------------------------------
  1360. -- CRC Peripheral Access Layer
  1361. ---------------------------------------------------------------------------- */
  1362. /*!
  1363. * @addtogroup CRC_Peripheral_Access_Layer CRC Peripheral Access Layer
  1364. * @{
  1365. */
  1366. /** CRC - Register Layout Typedef */
  1367. typedef struct {
  1368. __IO uint32_t MODE; /**< CRC mode register, offset: 0x0 */
  1369. __IO uint32_t SEED; /**< CRC seed register, offset: 0x4 */
  1370. union { /* offset: 0x8 */
  1371. __I uint32_t SUM; /**< CRC checksum register, offset: 0x8 */
  1372. __O uint32_t WR_DATA; /**< CRC data register, offset: 0x8 */
  1373. };
  1374. } CRC_Type;
  1375. /* ----------------------------------------------------------------------------
  1376. -- CRC Register Masks
  1377. ---------------------------------------------------------------------------- */
  1378. /*!
  1379. * @addtogroup CRC_Register_Masks CRC Register Masks
  1380. * @{
  1381. */
  1382. /*! @name MODE - CRC mode register */
  1383. #define CRC_MODE_CRC_POLY_MASK (0x3U)
  1384. #define CRC_MODE_CRC_POLY_SHIFT (0U)
  1385. #define CRC_MODE_CRC_POLY(x) (((uint32_t)(((uint32_t)(x)) << CRC_MODE_CRC_POLY_SHIFT)) & CRC_MODE_CRC_POLY_MASK)
  1386. #define CRC_MODE_BIT_RVS_WR_MASK (0x4U)
  1387. #define CRC_MODE_BIT_RVS_WR_SHIFT (2U)
  1388. #define CRC_MODE_BIT_RVS_WR(x) (((uint32_t)(((uint32_t)(x)) << CRC_MODE_BIT_RVS_WR_SHIFT)) & CRC_MODE_BIT_RVS_WR_MASK)
  1389. #define CRC_MODE_CMPL_WR_MASK (0x8U)
  1390. #define CRC_MODE_CMPL_WR_SHIFT (3U)
  1391. #define CRC_MODE_CMPL_WR(x) (((uint32_t)(((uint32_t)(x)) << CRC_MODE_CMPL_WR_SHIFT)) & CRC_MODE_CMPL_WR_MASK)
  1392. #define CRC_MODE_BIT_RVS_SUM_MASK (0x10U)
  1393. #define CRC_MODE_BIT_RVS_SUM_SHIFT (4U)
  1394. #define CRC_MODE_BIT_RVS_SUM(x) (((uint32_t)(((uint32_t)(x)) << CRC_MODE_BIT_RVS_SUM_SHIFT)) & CRC_MODE_BIT_RVS_SUM_MASK)
  1395. #define CRC_MODE_CMPL_SUM_MASK (0x20U)
  1396. #define CRC_MODE_CMPL_SUM_SHIFT (5U)
  1397. #define CRC_MODE_CMPL_SUM(x) (((uint32_t)(((uint32_t)(x)) << CRC_MODE_CMPL_SUM_SHIFT)) & CRC_MODE_CMPL_SUM_MASK)
  1398. /*! @name SEED - CRC seed register */
  1399. #define CRC_SEED_CRC_SEED_MASK (0xFFFFFFFFU)
  1400. #define CRC_SEED_CRC_SEED_SHIFT (0U)
  1401. #define CRC_SEED_CRC_SEED(x) (((uint32_t)(((uint32_t)(x)) << CRC_SEED_CRC_SEED_SHIFT)) & CRC_SEED_CRC_SEED_MASK)
  1402. /*! @name SUM - CRC checksum register */
  1403. #define CRC_SUM_CRC_SUM_MASK (0xFFFFFFFFU)
  1404. #define CRC_SUM_CRC_SUM_SHIFT (0U)
  1405. #define CRC_SUM_CRC_SUM(x) (((uint32_t)(((uint32_t)(x)) << CRC_SUM_CRC_SUM_SHIFT)) & CRC_SUM_CRC_SUM_MASK)
  1406. /*! @name WR_DATA - CRC data register */
  1407. #define CRC_WR_DATA_CRC_WR_DATA_MASK (0xFFFFFFFFU)
  1408. #define CRC_WR_DATA_CRC_WR_DATA_SHIFT (0U)
  1409. #define CRC_WR_DATA_CRC_WR_DATA(x) (((uint32_t)(((uint32_t)(x)) << CRC_WR_DATA_CRC_WR_DATA_SHIFT)) & CRC_WR_DATA_CRC_WR_DATA_MASK)
  1410. /*!
  1411. * @}
  1412. */ /* end of group CRC_Register_Masks */
  1413. /* CRC - Peripheral instance base addresses */
  1414. /** Peripheral CRC_ENGINE base address */
  1415. #define CRC_ENGINE_BASE (0x40095000u)
  1416. /** Peripheral CRC_ENGINE base pointer */
  1417. #define CRC_ENGINE ((CRC_Type *)CRC_ENGINE_BASE)
  1418. /** Array initializer of CRC peripheral base addresses */
  1419. #define CRC_BASE_ADDRS { CRC_ENGINE_BASE }
  1420. /** Array initializer of CRC peripheral base pointers */
  1421. #define CRC_BASE_PTRS { CRC_ENGINE }
  1422. /*!
  1423. * @}
  1424. */ /* end of group CRC_Peripheral_Access_Layer */
  1425. /* ----------------------------------------------------------------------------
  1426. -- CTIMER Peripheral Access Layer
  1427. ---------------------------------------------------------------------------- */
  1428. /*!
  1429. * @addtogroup CTIMER_Peripheral_Access_Layer CTIMER Peripheral Access Layer
  1430. * @{
  1431. */
  1432. /** CTIMER - Register Layout Typedef */
  1433. typedef struct {
  1434. __IO uint32_t IR; /**< Interrupt Register. The IR can be written to clear interrupts. The IR can be read to identify which of eight possible interrupt sources are pending., offset: 0x0 */
  1435. __IO uint32_t TCR; /**< Timer Control Register. The TCR is used to control the Timer Counter functions. The Timer Counter can be disabled or reset through the TCR., offset: 0x4 */
  1436. __IO uint32_t TC; /**< Timer Counter, offset: 0x8 */
  1437. __IO uint32_t PR; /**< Prescale Register, offset: 0xC */
  1438. __IO uint32_t PC; /**< Prescale Counter, offset: 0x10 */
  1439. __IO uint32_t MCR; /**< Match Control Register, offset: 0x14 */
  1440. __IO uint32_t MR[4]; /**< Match Register . MR can be enabled through the MCR to reset the TC, stop both the TC and PC, and/or generate an interrupt every time MR matches the TC., array offset: 0x18, array step: 0x4 */
  1441. __IO uint32_t CCR; /**< Capture Control Register. The CCR controls which edges of the capture inputs are used to load the Capture Registers and whether or not an interrupt is generated when a capture takes place., offset: 0x28 */
  1442. __I uint32_t CR[4]; /**< Capture Register . CR is loaded with the value of TC when there is an event on the CAPn. input., array offset: 0x2C, array step: 0x4 */
  1443. __IO uint32_t EMR; /**< External Match Register. The EMR controls the match function and the external match pins., offset: 0x3C */
  1444. uint8_t RESERVED_0[48];
  1445. __IO uint32_t CTCR; /**< Count Control Register. The CTCR selects between Timer and Counter mode, and in Counter mode selects the signal and edge(s) for counting., offset: 0x70 */
  1446. __IO uint32_t PWMC; /**< PWM Control Register. The PWMCON enables PWM mode for the external match pins., offset: 0x74 */
  1447. __IO uint32_t MSR[4]; /**< Match Shadow Register, array offset: 0x78, array step: 0x4 */
  1448. } CTIMER_Type;
  1449. /* ----------------------------------------------------------------------------
  1450. -- CTIMER Register Masks
  1451. ---------------------------------------------------------------------------- */
  1452. /*!
  1453. * @addtogroup CTIMER_Register_Masks CTIMER Register Masks
  1454. * @{
  1455. */
  1456. /*! @name IR - Interrupt Register. The IR can be written to clear interrupts. The IR can be read to identify which of eight possible interrupt sources are pending. */
  1457. #define CTIMER_IR_MR0INT_MASK (0x1U)
  1458. #define CTIMER_IR_MR0INT_SHIFT (0U)
  1459. #define CTIMER_IR_MR0INT(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_IR_MR0INT_SHIFT)) & CTIMER_IR_MR0INT_MASK)
  1460. #define CTIMER_IR_MR1INT_MASK (0x2U)
  1461. #define CTIMER_IR_MR1INT_SHIFT (1U)
  1462. #define CTIMER_IR_MR1INT(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_IR_MR1INT_SHIFT)) & CTIMER_IR_MR1INT_MASK)
  1463. #define CTIMER_IR_MR2INT_MASK (0x4U)
  1464. #define CTIMER_IR_MR2INT_SHIFT (2U)
  1465. #define CTIMER_IR_MR2INT(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_IR_MR2INT_SHIFT)) & CTIMER_IR_MR2INT_MASK)
  1466. #define CTIMER_IR_MR3INT_MASK (0x8U)
  1467. #define CTIMER_IR_MR3INT_SHIFT (3U)
  1468. #define CTIMER_IR_MR3INT(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_IR_MR3INT_SHIFT)) & CTIMER_IR_MR3INT_MASK)
  1469. #define CTIMER_IR_CR0INT_MASK (0x10U)
  1470. #define CTIMER_IR_CR0INT_SHIFT (4U)
  1471. #define CTIMER_IR_CR0INT(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_IR_CR0INT_SHIFT)) & CTIMER_IR_CR0INT_MASK)
  1472. #define CTIMER_IR_CR1INT_MASK (0x20U)
  1473. #define CTIMER_IR_CR1INT_SHIFT (5U)
  1474. #define CTIMER_IR_CR1INT(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_IR_CR1INT_SHIFT)) & CTIMER_IR_CR1INT_MASK)
  1475. #define CTIMER_IR_CR2INT_MASK (0x40U)
  1476. #define CTIMER_IR_CR2INT_SHIFT (6U)
  1477. #define CTIMER_IR_CR2INT(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_IR_CR2INT_SHIFT)) & CTIMER_IR_CR2INT_MASK)
  1478. #define CTIMER_IR_CR3INT_MASK (0x80U)
  1479. #define CTIMER_IR_CR3INT_SHIFT (7U)
  1480. #define CTIMER_IR_CR3INT(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_IR_CR3INT_SHIFT)) & CTIMER_IR_CR3INT_MASK)
  1481. /*! @name TCR - Timer Control Register. The TCR is used to control the Timer Counter functions. The Timer Counter can be disabled or reset through the TCR. */
  1482. #define CTIMER_TCR_CEN_MASK (0x1U)
  1483. #define CTIMER_TCR_CEN_SHIFT (0U)
  1484. #define CTIMER_TCR_CEN(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_TCR_CEN_SHIFT)) & CTIMER_TCR_CEN_MASK)
  1485. #define CTIMER_TCR_CRST_MASK (0x2U)
  1486. #define CTIMER_TCR_CRST_SHIFT (1U)
  1487. #define CTIMER_TCR_CRST(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_TCR_CRST_SHIFT)) & CTIMER_TCR_CRST_MASK)
  1488. /*! @name TC - Timer Counter */
  1489. #define CTIMER_TC_TCVAL_MASK (0xFFFFFFFFU)
  1490. #define CTIMER_TC_TCVAL_SHIFT (0U)
  1491. #define CTIMER_TC_TCVAL(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_TC_TCVAL_SHIFT)) & CTIMER_TC_TCVAL_MASK)
  1492. /*! @name PR - Prescale Register */
  1493. #define CTIMER_PR_PRVAL_MASK (0xFFFFFFFFU)
  1494. #define CTIMER_PR_PRVAL_SHIFT (0U)
  1495. #define CTIMER_PR_PRVAL(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_PR_PRVAL_SHIFT)) & CTIMER_PR_PRVAL_MASK)
  1496. /*! @name PC - Prescale Counter */
  1497. #define CTIMER_PC_PCVAL_MASK (0xFFFFFFFFU)
  1498. #define CTIMER_PC_PCVAL_SHIFT (0U)
  1499. #define CTIMER_PC_PCVAL(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_PC_PCVAL_SHIFT)) & CTIMER_PC_PCVAL_MASK)
  1500. /*! @name MCR - Match Control Register */
  1501. #define CTIMER_MCR_MR0I_MASK (0x1U)
  1502. #define CTIMER_MCR_MR0I_SHIFT (0U)
  1503. #define CTIMER_MCR_MR0I(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR0I_SHIFT)) & CTIMER_MCR_MR0I_MASK)
  1504. #define CTIMER_MCR_MR0R_MASK (0x2U)
  1505. #define CTIMER_MCR_MR0R_SHIFT (1U)
  1506. #define CTIMER_MCR_MR0R(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR0R_SHIFT)) & CTIMER_MCR_MR0R_MASK)
  1507. #define CTIMER_MCR_MR0S_MASK (0x4U)
  1508. #define CTIMER_MCR_MR0S_SHIFT (2U)
  1509. #define CTIMER_MCR_MR0S(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR0S_SHIFT)) & CTIMER_MCR_MR0S_MASK)
  1510. #define CTIMER_MCR_MR1I_MASK (0x8U)
  1511. #define CTIMER_MCR_MR1I_SHIFT (3U)
  1512. #define CTIMER_MCR_MR1I(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR1I_SHIFT)) & CTIMER_MCR_MR1I_MASK)
  1513. #define CTIMER_MCR_MR1R_MASK (0x10U)
  1514. #define CTIMER_MCR_MR1R_SHIFT (4U)
  1515. #define CTIMER_MCR_MR1R(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR1R_SHIFT)) & CTIMER_MCR_MR1R_MASK)
  1516. #define CTIMER_MCR_MR1S_MASK (0x20U)
  1517. #define CTIMER_MCR_MR1S_SHIFT (5U)
  1518. #define CTIMER_MCR_MR1S(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR1S_SHIFT)) & CTIMER_MCR_MR1S_MASK)
  1519. #define CTIMER_MCR_MR2I_MASK (0x40U)
  1520. #define CTIMER_MCR_MR2I_SHIFT (6U)
  1521. #define CTIMER_MCR_MR2I(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR2I_SHIFT)) & CTIMER_MCR_MR2I_MASK)
  1522. #define CTIMER_MCR_MR2R_MASK (0x80U)
  1523. #define CTIMER_MCR_MR2R_SHIFT (7U)
  1524. #define CTIMER_MCR_MR2R(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR2R_SHIFT)) & CTIMER_MCR_MR2R_MASK)
  1525. #define CTIMER_MCR_MR2S_MASK (0x100U)
  1526. #define CTIMER_MCR_MR2S_SHIFT (8U)
  1527. #define CTIMER_MCR_MR2S(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR2S_SHIFT)) & CTIMER_MCR_MR2S_MASK)
  1528. #define CTIMER_MCR_MR3I_MASK (0x200U)
  1529. #define CTIMER_MCR_MR3I_SHIFT (9U)
  1530. #define CTIMER_MCR_MR3I(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR3I_SHIFT)) & CTIMER_MCR_MR3I_MASK)
  1531. #define CTIMER_MCR_MR3R_MASK (0x400U)
  1532. #define CTIMER_MCR_MR3R_SHIFT (10U)
  1533. #define CTIMER_MCR_MR3R(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR3R_SHIFT)) & CTIMER_MCR_MR3R_MASK)
  1534. #define CTIMER_MCR_MR3S_MASK (0x800U)
  1535. #define CTIMER_MCR_MR3S_SHIFT (11U)
  1536. #define CTIMER_MCR_MR3S(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR3S_SHIFT)) & CTIMER_MCR_MR3S_MASK)
  1537. #define CTIMER_MCR_MR0RL_MASK (0x1000000U)
  1538. #define CTIMER_MCR_MR0RL_SHIFT (24U)
  1539. #define CTIMER_MCR_MR0RL(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR0RL_SHIFT)) & CTIMER_MCR_MR0RL_MASK)
  1540. #define CTIMER_MCR_MR1RL_MASK (0x2000000U)
  1541. #define CTIMER_MCR_MR1RL_SHIFT (25U)
  1542. #define CTIMER_MCR_MR1RL(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR1RL_SHIFT)) & CTIMER_MCR_MR1RL_MASK)
  1543. #define CTIMER_MCR_MR2RL_MASK (0x4000000U)
  1544. #define CTIMER_MCR_MR2RL_SHIFT (26U)
  1545. #define CTIMER_MCR_MR2RL(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR2RL_SHIFT)) & CTIMER_MCR_MR2RL_MASK)
  1546. #define CTIMER_MCR_MR3RL_MASK (0x8000000U)
  1547. #define CTIMER_MCR_MR3RL_SHIFT (27U)
  1548. #define CTIMER_MCR_MR3RL(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR3RL_SHIFT)) & CTIMER_MCR_MR3RL_MASK)
  1549. /*! @name MR - Match Register . MR can be enabled through the MCR to reset the TC, stop both the TC and PC, and/or generate an interrupt every time MR matches the TC. */
  1550. #define CTIMER_MR_MATCH_MASK (0xFFFFFFFFU)
  1551. #define CTIMER_MR_MATCH_SHIFT (0U)
  1552. #define CTIMER_MR_MATCH(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MR_MATCH_SHIFT)) & CTIMER_MR_MATCH_MASK)
  1553. /* The count of CTIMER_MR */
  1554. #define CTIMER_MR_COUNT (4U)
  1555. /*! @name CCR - Capture Control Register. The CCR controls which edges of the capture inputs are used to load the Capture Registers and whether or not an interrupt is generated when a capture takes place. */
  1556. #define CTIMER_CCR_CAP0RE_MASK (0x1U)
  1557. #define CTIMER_CCR_CAP0RE_SHIFT (0U)
  1558. #define CTIMER_CCR_CAP0RE(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP0RE_SHIFT)) & CTIMER_CCR_CAP0RE_MASK)
  1559. #define CTIMER_CCR_CAP0FE_MASK (0x2U)
  1560. #define CTIMER_CCR_CAP0FE_SHIFT (1U)
  1561. #define CTIMER_CCR_CAP0FE(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP0FE_SHIFT)) & CTIMER_CCR_CAP0FE_MASK)
  1562. #define CTIMER_CCR_CAP0I_MASK (0x4U)
  1563. #define CTIMER_CCR_CAP0I_SHIFT (2U)
  1564. #define CTIMER_CCR_CAP0I(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP0I_SHIFT)) & CTIMER_CCR_CAP0I_MASK)
  1565. #define CTIMER_CCR_CAP1RE_MASK (0x8U)
  1566. #define CTIMER_CCR_CAP1RE_SHIFT (3U)
  1567. #define CTIMER_CCR_CAP1RE(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP1RE_SHIFT)) & CTIMER_CCR_CAP1RE_MASK)
  1568. #define CTIMER_CCR_CAP1FE_MASK (0x10U)
  1569. #define CTIMER_CCR_CAP1FE_SHIFT (4U)
  1570. #define CTIMER_CCR_CAP1FE(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP1FE_SHIFT)) & CTIMER_CCR_CAP1FE_MASK)
  1571. #define CTIMER_CCR_CAP1I_MASK (0x20U)
  1572. #define CTIMER_CCR_CAP1I_SHIFT (5U)
  1573. #define CTIMER_CCR_CAP1I(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP1I_SHIFT)) & CTIMER_CCR_CAP1I_MASK)
  1574. #define CTIMER_CCR_CAP2RE_MASK (0x40U)
  1575. #define CTIMER_CCR_CAP2RE_SHIFT (6U)
  1576. #define CTIMER_CCR_CAP2RE(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP2RE_SHIFT)) & CTIMER_CCR_CAP2RE_MASK)
  1577. #define CTIMER_CCR_CAP2FE_MASK (0x80U)
  1578. #define CTIMER_CCR_CAP2FE_SHIFT (7U)
  1579. #define CTIMER_CCR_CAP2FE(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP2FE_SHIFT)) & CTIMER_CCR_CAP2FE_MASK)
  1580. #define CTIMER_CCR_CAP2I_MASK (0x100U)
  1581. #define CTIMER_CCR_CAP2I_SHIFT (8U)
  1582. #define CTIMER_CCR_CAP2I(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP2I_SHIFT)) & CTIMER_CCR_CAP2I_MASK)
  1583. #define CTIMER_CCR_CAP3RE_MASK (0x200U)
  1584. #define CTIMER_CCR_CAP3RE_SHIFT (9U)
  1585. #define CTIMER_CCR_CAP3RE(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP3RE_SHIFT)) & CTIMER_CCR_CAP3RE_MASK)
  1586. #define CTIMER_CCR_CAP3FE_MASK (0x400U)
  1587. #define CTIMER_CCR_CAP3FE_SHIFT (10U)
  1588. #define CTIMER_CCR_CAP3FE(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP3FE_SHIFT)) & CTIMER_CCR_CAP3FE_MASK)
  1589. #define CTIMER_CCR_CAP3I_MASK (0x800U)
  1590. #define CTIMER_CCR_CAP3I_SHIFT (11U)
  1591. #define CTIMER_CCR_CAP3I(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP3I_SHIFT)) & CTIMER_CCR_CAP3I_MASK)
  1592. /*! @name CR - Capture Register . CR is loaded with the value of TC when there is an event on the CAPn. input. */
  1593. #define CTIMER_CR_CAP_MASK (0xFFFFFFFFU)
  1594. #define CTIMER_CR_CAP_SHIFT (0U)
  1595. #define CTIMER_CR_CAP(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CR_CAP_SHIFT)) & CTIMER_CR_CAP_MASK)
  1596. /* The count of CTIMER_CR */
  1597. #define CTIMER_CR_COUNT (4U)
  1598. /*! @name EMR - External Match Register. The EMR controls the match function and the external match pins. */
  1599. #define CTIMER_EMR_EM0_MASK (0x1U)
  1600. #define CTIMER_EMR_EM0_SHIFT (0U)
  1601. #define CTIMER_EMR_EM0(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_EMR_EM0_SHIFT)) & CTIMER_EMR_EM0_MASK)
  1602. #define CTIMER_EMR_EM1_MASK (0x2U)
  1603. #define CTIMER_EMR_EM1_SHIFT (1U)
  1604. #define CTIMER_EMR_EM1(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_EMR_EM1_SHIFT)) & CTIMER_EMR_EM1_MASK)
  1605. #define CTIMER_EMR_EM2_MASK (0x4U)
  1606. #define CTIMER_EMR_EM2_SHIFT (2U)
  1607. #define CTIMER_EMR_EM2(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_EMR_EM2_SHIFT)) & CTIMER_EMR_EM2_MASK)
  1608. #define CTIMER_EMR_EM3_MASK (0x8U)
  1609. #define CTIMER_EMR_EM3_SHIFT (3U)
  1610. #define CTIMER_EMR_EM3(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_EMR_EM3_SHIFT)) & CTIMER_EMR_EM3_MASK)
  1611. #define CTIMER_EMR_EMC0_MASK (0x30U)
  1612. #define CTIMER_EMR_EMC0_SHIFT (4U)
  1613. #define CTIMER_EMR_EMC0(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_EMR_EMC0_SHIFT)) & CTIMER_EMR_EMC0_MASK)
  1614. #define CTIMER_EMR_EMC1_MASK (0xC0U)
  1615. #define CTIMER_EMR_EMC1_SHIFT (6U)
  1616. #define CTIMER_EMR_EMC1(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_EMR_EMC1_SHIFT)) & CTIMER_EMR_EMC1_MASK)
  1617. #define CTIMER_EMR_EMC2_MASK (0x300U)
  1618. #define CTIMER_EMR_EMC2_SHIFT (8U)
  1619. #define CTIMER_EMR_EMC2(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_EMR_EMC2_SHIFT)) & CTIMER_EMR_EMC2_MASK)
  1620. #define CTIMER_EMR_EMC3_MASK (0xC00U)
  1621. #define CTIMER_EMR_EMC3_SHIFT (10U)
  1622. #define CTIMER_EMR_EMC3(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_EMR_EMC3_SHIFT)) & CTIMER_EMR_EMC3_MASK)
  1623. /*! @name CTCR - Count Control Register. The CTCR selects between Timer and Counter mode, and in Counter mode selects the signal and edge(s) for counting. */
  1624. #define CTIMER_CTCR_CTMODE_MASK (0x3U)
  1625. #define CTIMER_CTCR_CTMODE_SHIFT (0U)
  1626. #define CTIMER_CTCR_CTMODE(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CTCR_CTMODE_SHIFT)) & CTIMER_CTCR_CTMODE_MASK)
  1627. #define CTIMER_CTCR_CINSEL_MASK (0xCU)
  1628. #define CTIMER_CTCR_CINSEL_SHIFT (2U)
  1629. #define CTIMER_CTCR_CINSEL(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CTCR_CINSEL_SHIFT)) & CTIMER_CTCR_CINSEL_MASK)
  1630. #define CTIMER_CTCR_ENCC_MASK (0x10U)
  1631. #define CTIMER_CTCR_ENCC_SHIFT (4U)
  1632. #define CTIMER_CTCR_ENCC(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CTCR_ENCC_SHIFT)) & CTIMER_CTCR_ENCC_MASK)
  1633. #define CTIMER_CTCR_SELCC_MASK (0xE0U)
  1634. #define CTIMER_CTCR_SELCC_SHIFT (5U)
  1635. #define CTIMER_CTCR_SELCC(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CTCR_SELCC_SHIFT)) & CTIMER_CTCR_SELCC_MASK)
  1636. /*! @name PWMC - PWM Control Register. The PWMCON enables PWM mode for the external match pins. */
  1637. #define CTIMER_PWMC_PWMEN0_MASK (0x1U)
  1638. #define CTIMER_PWMC_PWMEN0_SHIFT (0U)
  1639. #define CTIMER_PWMC_PWMEN0(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_PWMC_PWMEN0_SHIFT)) & CTIMER_PWMC_PWMEN0_MASK)
  1640. #define CTIMER_PWMC_PWMEN1_MASK (0x2U)
  1641. #define CTIMER_PWMC_PWMEN1_SHIFT (1U)
  1642. #define CTIMER_PWMC_PWMEN1(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_PWMC_PWMEN1_SHIFT)) & CTIMER_PWMC_PWMEN1_MASK)
  1643. #define CTIMER_PWMC_PWMEN2_MASK (0x4U)
  1644. #define CTIMER_PWMC_PWMEN2_SHIFT (2U)
  1645. #define CTIMER_PWMC_PWMEN2(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_PWMC_PWMEN2_SHIFT)) & CTIMER_PWMC_PWMEN2_MASK)
  1646. #define CTIMER_PWMC_PWMEN3_MASK (0x8U)
  1647. #define CTIMER_PWMC_PWMEN3_SHIFT (3U)
  1648. #define CTIMER_PWMC_PWMEN3(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_PWMC_PWMEN3_SHIFT)) & CTIMER_PWMC_PWMEN3_MASK)
  1649. /*! @name MSR - Match Shadow Register */
  1650. #define CTIMER_MSR_SHADOWW_MASK (0xFFFFFFFFU)
  1651. #define CTIMER_MSR_SHADOWW_SHIFT (0U)
  1652. #define CTIMER_MSR_SHADOWW(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MSR_SHADOWW_SHIFT)) & CTIMER_MSR_SHADOWW_MASK)
  1653. /* The count of CTIMER_MSR */
  1654. #define CTIMER_MSR_COUNT (4U)
  1655. /*!
  1656. * @}
  1657. */ /* end of group CTIMER_Register_Masks */
  1658. /* CTIMER - Peripheral instance base addresses */
  1659. /** Peripheral CTIMER0 base address */
  1660. #define CTIMER0_BASE (0x40008000u)
  1661. /** Peripheral CTIMER0 base pointer */
  1662. #define CTIMER0 ((CTIMER_Type *)CTIMER0_BASE)
  1663. /** Peripheral CTIMER1 base address */
  1664. #define CTIMER1_BASE (0x40009000u)
  1665. /** Peripheral CTIMER1 base pointer */
  1666. #define CTIMER1 ((CTIMER_Type *)CTIMER1_BASE)
  1667. /** Peripheral CTIMER2 base address */
  1668. #define CTIMER2_BASE (0x40028000u)
  1669. /** Peripheral CTIMER2 base pointer */
  1670. #define CTIMER2 ((CTIMER_Type *)CTIMER2_BASE)
  1671. /** Peripheral CTIMER3 base address */
  1672. #define CTIMER3_BASE (0x40048000u)
  1673. /** Peripheral CTIMER3 base pointer */
  1674. #define CTIMER3 ((CTIMER_Type *)CTIMER3_BASE)
  1675. /** Peripheral CTIMER4 base address */
  1676. #define CTIMER4_BASE (0x40049000u)
  1677. /** Peripheral CTIMER4 base pointer */
  1678. #define CTIMER4 ((CTIMER_Type *)CTIMER4_BASE)
  1679. /** Array initializer of CTIMER peripheral base addresses */
  1680. #define CTIMER_BASE_ADDRS { CTIMER0_BASE, CTIMER1_BASE, CTIMER2_BASE, CTIMER3_BASE, CTIMER4_BASE }
  1681. /** Array initializer of CTIMER peripheral base pointers */
  1682. #define CTIMER_BASE_PTRS { CTIMER0, CTIMER1, CTIMER2, CTIMER3, CTIMER4 }
  1683. /** Interrupt vectors for the CTIMER peripheral type */
  1684. #define CTIMER_IRQS { CTIMER0_IRQn, CTIMER1_IRQn, CTIMER2_IRQn, CTIMER3_IRQn, CTIMER4_IRQn }
  1685. /*!
  1686. * @}
  1687. */ /* end of group CTIMER_Peripheral_Access_Layer */
  1688. /* ----------------------------------------------------------------------------
  1689. -- DMA Peripheral Access Layer
  1690. ---------------------------------------------------------------------------- */
  1691. /*!
  1692. * @addtogroup DMA_Peripheral_Access_Layer DMA Peripheral Access Layer
  1693. * @{
  1694. */
  1695. /** DMA - Register Layout Typedef */
  1696. typedef struct {
  1697. __IO uint32_t CTRL; /**< DMA control., offset: 0x0 */
  1698. __I uint32_t INTSTAT; /**< Interrupt status., offset: 0x4 */
  1699. __IO uint32_t SRAMBASE; /**< SRAM address of the channel configuration table., offset: 0x8 */
  1700. uint8_t RESERVED_0[20];
  1701. struct { /* offset: 0x20, array step: 0x5C */
  1702. __IO uint32_t ENABLESET; /**< Channel Enable read and Set for all DMA channels., array offset: 0x20, array step: 0x5C */
  1703. uint8_t RESERVED_0[4];
  1704. __O uint32_t ENABLECLR; /**< Channel Enable Clear for all DMA channels., array offset: 0x28, array step: 0x5C */
  1705. uint8_t RESERVED_1[4];
  1706. __I uint32_t ACTIVE; /**< Channel Active status for all DMA channels., array offset: 0x30, array step: 0x5C */
  1707. uint8_t RESERVED_2[4];
  1708. __I uint32_t BUSY; /**< Channel Busy status for all DMA channels., array offset: 0x38, array step: 0x5C */
  1709. uint8_t RESERVED_3[4];
  1710. __IO uint32_t ERRINT; /**< Error Interrupt status for all DMA channels., array offset: 0x40, array step: 0x5C */
  1711. uint8_t RESERVED_4[4];
  1712. __IO uint32_t INTENSET; /**< Interrupt Enable read and Set for all DMA channels., array offset: 0x48, array step: 0x5C */
  1713. uint8_t RESERVED_5[4];
  1714. __O uint32_t INTENCLR; /**< Interrupt Enable Clear for all DMA channels., array offset: 0x50, array step: 0x5C */
  1715. uint8_t RESERVED_6[4];
  1716. __IO uint32_t INTA; /**< Interrupt A status for all DMA channels., array offset: 0x58, array step: 0x5C */
  1717. uint8_t RESERVED_7[4];
  1718. __IO uint32_t INTB; /**< Interrupt B status for all DMA channels., array offset: 0x60, array step: 0x5C */
  1719. uint8_t RESERVED_8[4];
  1720. __O uint32_t SETVALID; /**< Set ValidPending control bits for all DMA channels., array offset: 0x68, array step: 0x5C */
  1721. uint8_t RESERVED_9[4];
  1722. __O uint32_t SETTRIG; /**< Set Trigger control bits for all DMA channels., array offset: 0x70, array step: 0x5C */
  1723. uint8_t RESERVED_10[4];
  1724. __O uint32_t ABORT; /**< Channel Abort control for all DMA channels., array offset: 0x78, array step: 0x5C */
  1725. } COMMON[1];
  1726. uint8_t RESERVED_1[900];
  1727. struct { /* offset: 0x400, array step: 0x10 */
  1728. __IO uint32_t CFG; /**< Configuration register for DMA channel ., array offset: 0x400, array step: 0x10 */
  1729. __I uint32_t CTLSTAT; /**< Control and status register for DMA channel ., array offset: 0x404, array step: 0x10 */
  1730. __IO uint32_t XFERCFG; /**< Transfer configuration register for DMA channel ., array offset: 0x408, array step: 0x10 */
  1731. uint8_t RESERVED_0[4];
  1732. } CHANNEL[30];
  1733. } DMA_Type;
  1734. /* ----------------------------------------------------------------------------
  1735. -- DMA Register Masks
  1736. ---------------------------------------------------------------------------- */
  1737. /*!
  1738. * @addtogroup DMA_Register_Masks DMA Register Masks
  1739. * @{
  1740. */
  1741. /*! @name CTRL - DMA control. */
  1742. #define DMA_CTRL_ENABLE_MASK (0x1U)
  1743. #define DMA_CTRL_ENABLE_SHIFT (0U)
  1744. #define DMA_CTRL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << DMA_CTRL_ENABLE_SHIFT)) & DMA_CTRL_ENABLE_MASK)
  1745. /*! @name INTSTAT - Interrupt status. */
  1746. #define DMA_INTSTAT_ACTIVEINT_MASK (0x2U)
  1747. #define DMA_INTSTAT_ACTIVEINT_SHIFT (1U)
  1748. #define DMA_INTSTAT_ACTIVEINT(x) (((uint32_t)(((uint32_t)(x)) << DMA_INTSTAT_ACTIVEINT_SHIFT)) & DMA_INTSTAT_ACTIVEINT_MASK)
  1749. #define DMA_INTSTAT_ACTIVEERRINT_MASK (0x4U)
  1750. #define DMA_INTSTAT_ACTIVEERRINT_SHIFT (2U)
  1751. #define DMA_INTSTAT_ACTIVEERRINT(x) (((uint32_t)(((uint32_t)(x)) << DMA_INTSTAT_ACTIVEERRINT_SHIFT)) & DMA_INTSTAT_ACTIVEERRINT_MASK)
  1752. /*! @name SRAMBASE - SRAM address of the channel configuration table. */
  1753. #define DMA_SRAMBASE_OFFSET_MASK (0xFFFFFE00U)
  1754. #define DMA_SRAMBASE_OFFSET_SHIFT (9U)
  1755. #define DMA_SRAMBASE_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << DMA_SRAMBASE_OFFSET_SHIFT)) & DMA_SRAMBASE_OFFSET_MASK)
  1756. /*! @name COMMON_ENABLESET - Channel Enable read and Set for all DMA channels. */
  1757. #define DMA_COMMON_ENABLESET_ENA_MASK (0xFFFFFFFFU)
  1758. #define DMA_COMMON_ENABLESET_ENA_SHIFT (0U)
  1759. #define DMA_COMMON_ENABLESET_ENA(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_ENABLESET_ENA_SHIFT)) & DMA_COMMON_ENABLESET_ENA_MASK)
  1760. /* The count of DMA_COMMON_ENABLESET */
  1761. #define DMA_COMMON_ENABLESET_COUNT (1U)
  1762. /*! @name COMMON_ENABLECLR - Channel Enable Clear for all DMA channels. */
  1763. #define DMA_COMMON_ENABLECLR_CLR_MASK (0xFFFFFFFFU)
  1764. #define DMA_COMMON_ENABLECLR_CLR_SHIFT (0U)
  1765. #define DMA_COMMON_ENABLECLR_CLR(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_ENABLECLR_CLR_SHIFT)) & DMA_COMMON_ENABLECLR_CLR_MASK)
  1766. /* The count of DMA_COMMON_ENABLECLR */
  1767. #define DMA_COMMON_ENABLECLR_COUNT (1U)
  1768. /*! @name COMMON_ACTIVE - Channel Active status for all DMA channels. */
  1769. #define DMA_COMMON_ACTIVE_ACT_MASK (0xFFFFFFFFU)
  1770. #define DMA_COMMON_ACTIVE_ACT_SHIFT (0U)
  1771. #define DMA_COMMON_ACTIVE_ACT(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_ACTIVE_ACT_SHIFT)) & DMA_COMMON_ACTIVE_ACT_MASK)
  1772. /* The count of DMA_COMMON_ACTIVE */
  1773. #define DMA_COMMON_ACTIVE_COUNT (1U)
  1774. /*! @name COMMON_BUSY - Channel Busy status for all DMA channels. */
  1775. #define DMA_COMMON_BUSY_BSY_MASK (0xFFFFFFFFU)
  1776. #define DMA_COMMON_BUSY_BSY_SHIFT (0U)
  1777. #define DMA_COMMON_BUSY_BSY(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_BUSY_BSY_SHIFT)) & DMA_COMMON_BUSY_BSY_MASK)
  1778. /* The count of DMA_COMMON_BUSY */
  1779. #define DMA_COMMON_BUSY_COUNT (1U)
  1780. /*! @name COMMON_ERRINT - Error Interrupt status for all DMA channels. */
  1781. #define DMA_COMMON_ERRINT_ERR_MASK (0xFFFFFFFFU)
  1782. #define DMA_COMMON_ERRINT_ERR_SHIFT (0U)
  1783. #define DMA_COMMON_ERRINT_ERR(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_ERRINT_ERR_SHIFT)) & DMA_COMMON_ERRINT_ERR_MASK)
  1784. /* The count of DMA_COMMON_ERRINT */
  1785. #define DMA_COMMON_ERRINT_COUNT (1U)
  1786. /*! @name COMMON_INTENSET - Interrupt Enable read and Set for all DMA channels. */
  1787. #define DMA_COMMON_INTENSET_INTEN_MASK (0xFFFFFFFFU)
  1788. #define DMA_COMMON_INTENSET_INTEN_SHIFT (0U)
  1789. #define DMA_COMMON_INTENSET_INTEN(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_INTENSET_INTEN_SHIFT)) & DMA_COMMON_INTENSET_INTEN_MASK)
  1790. /* The count of DMA_COMMON_INTENSET */
  1791. #define DMA_COMMON_INTENSET_COUNT (1U)
  1792. /*! @name COMMON_INTENCLR - Interrupt Enable Clear for all DMA channels. */
  1793. #define DMA_COMMON_INTENCLR_CLR_MASK (0xFFFFFFFFU)
  1794. #define DMA_COMMON_INTENCLR_CLR_SHIFT (0U)
  1795. #define DMA_COMMON_INTENCLR_CLR(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_INTENCLR_CLR_SHIFT)) & DMA_COMMON_INTENCLR_CLR_MASK)
  1796. /* The count of DMA_COMMON_INTENCLR */
  1797. #define DMA_COMMON_INTENCLR_COUNT (1U)
  1798. /*! @name COMMON_INTA - Interrupt A status for all DMA channels. */
  1799. #define DMA_COMMON_INTA_IA_MASK (0xFFFFFFFFU)
  1800. #define DMA_COMMON_INTA_IA_SHIFT (0U)
  1801. #define DMA_COMMON_INTA_IA(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_INTA_IA_SHIFT)) & DMA_COMMON_INTA_IA_MASK)
  1802. /* The count of DMA_COMMON_INTA */
  1803. #define DMA_COMMON_INTA_COUNT (1U)
  1804. /*! @name COMMON_INTB - Interrupt B status for all DMA channels. */
  1805. #define DMA_COMMON_INTB_IB_MASK (0xFFFFFFFFU)
  1806. #define DMA_COMMON_INTB_IB_SHIFT (0U)
  1807. #define DMA_COMMON_INTB_IB(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_INTB_IB_SHIFT)) & DMA_COMMON_INTB_IB_MASK)
  1808. /* The count of DMA_COMMON_INTB */
  1809. #define DMA_COMMON_INTB_COUNT (1U)
  1810. /*! @name COMMON_SETVALID - Set ValidPending control bits for all DMA channels. */
  1811. #define DMA_COMMON_SETVALID_SV_MASK (0xFFFFFFFFU)
  1812. #define DMA_COMMON_SETVALID_SV_SHIFT (0U)
  1813. #define DMA_COMMON_SETVALID_SV(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_SETVALID_SV_SHIFT)) & DMA_COMMON_SETVALID_SV_MASK)
  1814. /* The count of DMA_COMMON_SETVALID */
  1815. #define DMA_COMMON_SETVALID_COUNT (1U)
  1816. /*! @name COMMON_SETTRIG - Set Trigger control bits for all DMA channels. */
  1817. #define DMA_COMMON_SETTRIG_TRIG_MASK (0xFFFFFFFFU)
  1818. #define DMA_COMMON_SETTRIG_TRIG_SHIFT (0U)
  1819. #define DMA_COMMON_SETTRIG_TRIG(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_SETTRIG_TRIG_SHIFT)) & DMA_COMMON_SETTRIG_TRIG_MASK)
  1820. /* The count of DMA_COMMON_SETTRIG */
  1821. #define DMA_COMMON_SETTRIG_COUNT (1U)
  1822. /*! @name COMMON_ABORT - Channel Abort control for all DMA channels. */
  1823. #define DMA_COMMON_ABORT_ABORTCTRL_MASK (0xFFFFFFFFU)
  1824. #define DMA_COMMON_ABORT_ABORTCTRL_SHIFT (0U)
  1825. #define DMA_COMMON_ABORT_ABORTCTRL(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_ABORT_ABORTCTRL_SHIFT)) & DMA_COMMON_ABORT_ABORTCTRL_MASK)
  1826. /* The count of DMA_COMMON_ABORT */
  1827. #define DMA_COMMON_ABORT_COUNT (1U)
  1828. /*! @name CHANNEL_CFG - Configuration register for DMA channel . */
  1829. #define DMA_CHANNEL_CFG_PERIPHREQEN_MASK (0x1U)
  1830. #define DMA_CHANNEL_CFG_PERIPHREQEN_SHIFT (0U)
  1831. #define DMA_CHANNEL_CFG_PERIPHREQEN(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CFG_PERIPHREQEN_SHIFT)) & DMA_CHANNEL_CFG_PERIPHREQEN_MASK)
  1832. #define DMA_CHANNEL_CFG_HWTRIGEN_MASK (0x2U)
  1833. #define DMA_CHANNEL_CFG_HWTRIGEN_SHIFT (1U)
  1834. #define DMA_CHANNEL_CFG_HWTRIGEN(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CFG_HWTRIGEN_SHIFT)) & DMA_CHANNEL_CFG_HWTRIGEN_MASK)
  1835. #define DMA_CHANNEL_CFG_TRIGPOL_MASK (0x10U)
  1836. #define DMA_CHANNEL_CFG_TRIGPOL_SHIFT (4U)
  1837. #define DMA_CHANNEL_CFG_TRIGPOL(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CFG_TRIGPOL_SHIFT)) & DMA_CHANNEL_CFG_TRIGPOL_MASK)
  1838. #define DMA_CHANNEL_CFG_TRIGTYPE_MASK (0x20U)
  1839. #define DMA_CHANNEL_CFG_TRIGTYPE_SHIFT (5U)
  1840. #define DMA_CHANNEL_CFG_TRIGTYPE(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CFG_TRIGTYPE_SHIFT)) & DMA_CHANNEL_CFG_TRIGTYPE_MASK)
  1841. #define DMA_CHANNEL_CFG_TRIGBURST_MASK (0x40U)
  1842. #define DMA_CHANNEL_CFG_TRIGBURST_SHIFT (6U)
  1843. #define DMA_CHANNEL_CFG_TRIGBURST(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CFG_TRIGBURST_SHIFT)) & DMA_CHANNEL_CFG_TRIGBURST_MASK)
  1844. #define DMA_CHANNEL_CFG_BURSTPOWER_MASK (0xF00U)
  1845. #define DMA_CHANNEL_CFG_BURSTPOWER_SHIFT (8U)
  1846. #define DMA_CHANNEL_CFG_BURSTPOWER(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CFG_BURSTPOWER_SHIFT)) & DMA_CHANNEL_CFG_BURSTPOWER_MASK)
  1847. #define DMA_CHANNEL_CFG_SRCBURSTWRAP_MASK (0x4000U)
  1848. #define DMA_CHANNEL_CFG_SRCBURSTWRAP_SHIFT (14U)
  1849. #define DMA_CHANNEL_CFG_SRCBURSTWRAP(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CFG_SRCBURSTWRAP_SHIFT)) & DMA_CHANNEL_CFG_SRCBURSTWRAP_MASK)
  1850. #define DMA_CHANNEL_CFG_DSTBURSTWRAP_MASK (0x8000U)
  1851. #define DMA_CHANNEL_CFG_DSTBURSTWRAP_SHIFT (15U)
  1852. #define DMA_CHANNEL_CFG_DSTBURSTWRAP(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CFG_DSTBURSTWRAP_SHIFT)) & DMA_CHANNEL_CFG_DSTBURSTWRAP_MASK)
  1853. #define DMA_CHANNEL_CFG_CHPRIORITY_MASK (0x70000U)
  1854. #define DMA_CHANNEL_CFG_CHPRIORITY_SHIFT (16U)
  1855. #define DMA_CHANNEL_CFG_CHPRIORITY(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CFG_CHPRIORITY_SHIFT)) & DMA_CHANNEL_CFG_CHPRIORITY_MASK)
  1856. /* The count of DMA_CHANNEL_CFG */
  1857. #define DMA_CHANNEL_CFG_COUNT (30U)
  1858. /*! @name CHANNEL_CTLSTAT - Control and status register for DMA channel . */
  1859. #define DMA_CHANNEL_CTLSTAT_VALIDPENDING_MASK (0x1U)
  1860. #define DMA_CHANNEL_CTLSTAT_VALIDPENDING_SHIFT (0U)
  1861. #define DMA_CHANNEL_CTLSTAT_VALIDPENDING(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CTLSTAT_VALIDPENDING_SHIFT)) & DMA_CHANNEL_CTLSTAT_VALIDPENDING_MASK)
  1862. #define DMA_CHANNEL_CTLSTAT_TRIG_MASK (0x4U)
  1863. #define DMA_CHANNEL_CTLSTAT_TRIG_SHIFT (2U)
  1864. #define DMA_CHANNEL_CTLSTAT_TRIG(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CTLSTAT_TRIG_SHIFT)) & DMA_CHANNEL_CTLSTAT_TRIG_MASK)
  1865. /* The count of DMA_CHANNEL_CTLSTAT */
  1866. #define DMA_CHANNEL_CTLSTAT_COUNT (30U)
  1867. /*! @name CHANNEL_XFERCFG - Transfer configuration register for DMA channel . */
  1868. #define DMA_CHANNEL_XFERCFG_CFGVALID_MASK (0x1U)
  1869. #define DMA_CHANNEL_XFERCFG_CFGVALID_SHIFT (0U)
  1870. #define DMA_CHANNEL_XFERCFG_CFGVALID(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_CFGVALID_SHIFT)) & DMA_CHANNEL_XFERCFG_CFGVALID_MASK)
  1871. #define DMA_CHANNEL_XFERCFG_RELOAD_MASK (0x2U)
  1872. #define DMA_CHANNEL_XFERCFG_RELOAD_SHIFT (1U)
  1873. #define DMA_CHANNEL_XFERCFG_RELOAD(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_RELOAD_SHIFT)) & DMA_CHANNEL_XFERCFG_RELOAD_MASK)
  1874. #define DMA_CHANNEL_XFERCFG_SWTRIG_MASK (0x4U)
  1875. #define DMA_CHANNEL_XFERCFG_SWTRIG_SHIFT (2U)
  1876. #define DMA_CHANNEL_XFERCFG_SWTRIG(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_SWTRIG_SHIFT)) & DMA_CHANNEL_XFERCFG_SWTRIG_MASK)
  1877. #define DMA_CHANNEL_XFERCFG_CLRTRIG_MASK (0x8U)
  1878. #define DMA_CHANNEL_XFERCFG_CLRTRIG_SHIFT (3U)
  1879. #define DMA_CHANNEL_XFERCFG_CLRTRIG(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_CLRTRIG_SHIFT)) & DMA_CHANNEL_XFERCFG_CLRTRIG_MASK)
  1880. #define DMA_CHANNEL_XFERCFG_SETINTA_MASK (0x10U)
  1881. #define DMA_CHANNEL_XFERCFG_SETINTA_SHIFT (4U)
  1882. #define DMA_CHANNEL_XFERCFG_SETINTA(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_SETINTA_SHIFT)) & DMA_CHANNEL_XFERCFG_SETINTA_MASK)
  1883. #define DMA_CHANNEL_XFERCFG_SETINTB_MASK (0x20U)
  1884. #define DMA_CHANNEL_XFERCFG_SETINTB_SHIFT (5U)
  1885. #define DMA_CHANNEL_XFERCFG_SETINTB(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_SETINTB_SHIFT)) & DMA_CHANNEL_XFERCFG_SETINTB_MASK)
  1886. #define DMA_CHANNEL_XFERCFG_WIDTH_MASK (0x300U)
  1887. #define DMA_CHANNEL_XFERCFG_WIDTH_SHIFT (8U)
  1888. #define DMA_CHANNEL_XFERCFG_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_WIDTH_SHIFT)) & DMA_CHANNEL_XFERCFG_WIDTH_MASK)
  1889. #define DMA_CHANNEL_XFERCFG_SRCINC_MASK (0x3000U)
  1890. #define DMA_CHANNEL_XFERCFG_SRCINC_SHIFT (12U)
  1891. #define DMA_CHANNEL_XFERCFG_SRCINC(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_SRCINC_SHIFT)) & DMA_CHANNEL_XFERCFG_SRCINC_MASK)
  1892. #define DMA_CHANNEL_XFERCFG_DSTINC_MASK (0xC000U)
  1893. #define DMA_CHANNEL_XFERCFG_DSTINC_SHIFT (14U)
  1894. #define DMA_CHANNEL_XFERCFG_DSTINC(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_DSTINC_SHIFT)) & DMA_CHANNEL_XFERCFG_DSTINC_MASK)
  1895. #define DMA_CHANNEL_XFERCFG_XFERCOUNT_MASK (0x3FF0000U)
  1896. #define DMA_CHANNEL_XFERCFG_XFERCOUNT_SHIFT (16U)
  1897. #define DMA_CHANNEL_XFERCFG_XFERCOUNT(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_XFERCOUNT_SHIFT)) & DMA_CHANNEL_XFERCFG_XFERCOUNT_MASK)
  1898. /* The count of DMA_CHANNEL_XFERCFG */
  1899. #define DMA_CHANNEL_XFERCFG_COUNT (30U)
  1900. /*!
  1901. * @}
  1902. */ /* end of group DMA_Register_Masks */
  1903. /* DMA - Peripheral instance base addresses */
  1904. /** Peripheral DMA0 base address */
  1905. #define DMA0_BASE (0x40082000u)
  1906. /** Peripheral DMA0 base pointer */
  1907. #define DMA0 ((DMA_Type *)DMA0_BASE)
  1908. /** Array initializer of DMA peripheral base addresses */
  1909. #define DMA_BASE_ADDRS { DMA0_BASE }
  1910. /** Array initializer of DMA peripheral base pointers */
  1911. #define DMA_BASE_PTRS { DMA0 }
  1912. /** Interrupt vectors for the DMA peripheral type */
  1913. #define DMA_IRQS { DMA0_IRQn }
  1914. /*!
  1915. * @}
  1916. */ /* end of group DMA_Peripheral_Access_Layer */
  1917. /* ----------------------------------------------------------------------------
  1918. -- DMIC Peripheral Access Layer
  1919. ---------------------------------------------------------------------------- */
  1920. /*!
  1921. * @addtogroup DMIC_Peripheral_Access_Layer DMIC Peripheral Access Layer
  1922. * @{
  1923. */
  1924. /** DMIC - Register Layout Typedef */
  1925. typedef struct {
  1926. struct { /* offset: 0x0, array step: 0x100 */
  1927. __IO uint32_t OSR; /**< Oversample Rate register 0, array offset: 0x0, array step: 0x100 */
  1928. __IO uint32_t DIVHFCLK; /**< DMIC Clock Register 0, array offset: 0x4, array step: 0x100 */
  1929. __IO uint32_t PREAC2FSCOEF; /**< Pre-Emphasis Filter Coefficient for 2 FS register, array offset: 0x8, array step: 0x100 */
  1930. __IO uint32_t PREAC4FSCOEF; /**< Pre-Emphasis Filter Coefficient for 4 FS register, array offset: 0xC, array step: 0x100 */
  1931. __IO uint32_t GAINSHIFT; /**< Decimator Gain Shift register, array offset: 0x10, array step: 0x100 */
  1932. uint8_t RESERVED_0[108];
  1933. __IO uint32_t FIFO_CTRL; /**< FIFO Control register 0, array offset: 0x80, array step: 0x100 */
  1934. __IO uint32_t FIFO_STATUS; /**< FIFO Status register 0, array offset: 0x84, array step: 0x100 */
  1935. __IO uint32_t FIFO_DATA; /**< FIFO Data Register 0, array offset: 0x88, array step: 0x100 */
  1936. __IO uint32_t PHY_CTRL; /**< PDM Source Configuration register 0, array offset: 0x8C, array step: 0x100 */
  1937. __IO uint32_t DC_CTRL; /**< DC Control register 0, array offset: 0x90, array step: 0x100 */
  1938. uint8_t RESERVED_1[108];
  1939. } CHANNEL[2];
  1940. uint8_t RESERVED_0[3328];
  1941. __IO uint32_t CHANEN; /**< Channel Enable register, offset: 0xF00 */
  1942. uint8_t RESERVED_1[8];
  1943. __IO uint32_t IOCFG; /**< I/O Configuration register, offset: 0xF0C */
  1944. __IO uint32_t USE2FS; /**< Use 2FS register, offset: 0xF10 */
  1945. uint8_t RESERVED_2[108];
  1946. __IO uint32_t HWVADGAIN; /**< HWVAD input gain register, offset: 0xF80 */
  1947. __IO uint32_t HWVADHPFS; /**< HWVAD filter control register, offset: 0xF84 */
  1948. __IO uint32_t HWVADST10; /**< HWVAD control register, offset: 0xF88 */
  1949. __IO uint32_t HWVADRSTT; /**< HWVAD filter reset register, offset: 0xF8C */
  1950. __IO uint32_t HWVADTHGN; /**< HWVAD noise estimator gain register, offset: 0xF90 */
  1951. __IO uint32_t HWVADTHGS; /**< HWVAD signal estimator gain register, offset: 0xF94 */
  1952. __I uint32_t HWVADLOWZ; /**< HWVAD noise envelope estimator register, offset: 0xF98 */
  1953. uint8_t RESERVED_3[96];
  1954. __I uint32_t ID; /**< Module Identification register, offset: 0xFFC */
  1955. } DMIC_Type;
  1956. /* ----------------------------------------------------------------------------
  1957. -- DMIC Register Masks
  1958. ---------------------------------------------------------------------------- */
  1959. /*!
  1960. * @addtogroup DMIC_Register_Masks DMIC Register Masks
  1961. * @{
  1962. */
  1963. /*! @name CHANNEL_OSR - Oversample Rate register 0 */
  1964. #define DMIC_CHANNEL_OSR_OSR_MASK (0xFFU)
  1965. #define DMIC_CHANNEL_OSR_OSR_SHIFT (0U)
  1966. #define DMIC_CHANNEL_OSR_OSR(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_OSR_OSR_SHIFT)) & DMIC_CHANNEL_OSR_OSR_MASK)
  1967. /* The count of DMIC_CHANNEL_OSR */
  1968. #define DMIC_CHANNEL_OSR_COUNT (2U)
  1969. /*! @name CHANNEL_DIVHFCLK - DMIC Clock Register 0 */
  1970. #define DMIC_CHANNEL_DIVHFCLK_PDMDIV_MASK (0xFU)
  1971. #define DMIC_CHANNEL_DIVHFCLK_PDMDIV_SHIFT (0U)
  1972. #define DMIC_CHANNEL_DIVHFCLK_PDMDIV(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_DIVHFCLK_PDMDIV_SHIFT)) & DMIC_CHANNEL_DIVHFCLK_PDMDIV_MASK)
  1973. /* The count of DMIC_CHANNEL_DIVHFCLK */
  1974. #define DMIC_CHANNEL_DIVHFCLK_COUNT (2U)
  1975. /*! @name CHANNEL_PREAC2FSCOEF - Pre-Emphasis Filter Coefficient for 2 FS register */
  1976. #define DMIC_CHANNEL_PREAC2FSCOEF_COMP_MASK (0x3U)
  1977. #define DMIC_CHANNEL_PREAC2FSCOEF_COMP_SHIFT (0U)
  1978. #define DMIC_CHANNEL_PREAC2FSCOEF_COMP(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_PREAC2FSCOEF_COMP_SHIFT)) & DMIC_CHANNEL_PREAC2FSCOEF_COMP_MASK)
  1979. /* The count of DMIC_CHANNEL_PREAC2FSCOEF */
  1980. #define DMIC_CHANNEL_PREAC2FSCOEF_COUNT (2U)
  1981. /*! @name CHANNEL_PREAC4FSCOEF - Pre-Emphasis Filter Coefficient for 4 FS register */
  1982. #define DMIC_CHANNEL_PREAC4FSCOEF_COMP_MASK (0x3U)
  1983. #define DMIC_CHANNEL_PREAC4FSCOEF_COMP_SHIFT (0U)
  1984. #define DMIC_CHANNEL_PREAC4FSCOEF_COMP(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_PREAC4FSCOEF_COMP_SHIFT)) & DMIC_CHANNEL_PREAC4FSCOEF_COMP_MASK)
  1985. /* The count of DMIC_CHANNEL_PREAC4FSCOEF */
  1986. #define DMIC_CHANNEL_PREAC4FSCOEF_COUNT (2U)
  1987. /*! @name CHANNEL_GAINSHIFT - Decimator Gain Shift register */
  1988. #define DMIC_CHANNEL_GAINSHIFT_GAIN_MASK (0x3FU)
  1989. #define DMIC_CHANNEL_GAINSHIFT_GAIN_SHIFT (0U)
  1990. #define DMIC_CHANNEL_GAINSHIFT_GAIN(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_GAINSHIFT_GAIN_SHIFT)) & DMIC_CHANNEL_GAINSHIFT_GAIN_MASK)
  1991. /* The count of DMIC_CHANNEL_GAINSHIFT */
  1992. #define DMIC_CHANNEL_GAINSHIFT_COUNT (2U)
  1993. /*! @name CHANNEL_FIFO_CTRL - FIFO Control register 0 */
  1994. #define DMIC_CHANNEL_FIFO_CTRL_ENABLE_MASK (0x1U)
  1995. #define DMIC_CHANNEL_FIFO_CTRL_ENABLE_SHIFT (0U)
  1996. #define DMIC_CHANNEL_FIFO_CTRL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_FIFO_CTRL_ENABLE_SHIFT)) & DMIC_CHANNEL_FIFO_CTRL_ENABLE_MASK)
  1997. #define DMIC_CHANNEL_FIFO_CTRL_RESETN_MASK (0x2U)
  1998. #define DMIC_CHANNEL_FIFO_CTRL_RESETN_SHIFT (1U)
  1999. #define DMIC_CHANNEL_FIFO_CTRL_RESETN(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_FIFO_CTRL_RESETN_SHIFT)) & DMIC_CHANNEL_FIFO_CTRL_RESETN_MASK)
  2000. #define DMIC_CHANNEL_FIFO_CTRL_INTEN_MASK (0x4U)
  2001. #define DMIC_CHANNEL_FIFO_CTRL_INTEN_SHIFT (2U)
  2002. #define DMIC_CHANNEL_FIFO_CTRL_INTEN(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_FIFO_CTRL_INTEN_SHIFT)) & DMIC_CHANNEL_FIFO_CTRL_INTEN_MASK)
  2003. #define DMIC_CHANNEL_FIFO_CTRL_DMAEN_MASK (0x8U)
  2004. #define DMIC_CHANNEL_FIFO_CTRL_DMAEN_SHIFT (3U)
  2005. #define DMIC_CHANNEL_FIFO_CTRL_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_FIFO_CTRL_DMAEN_SHIFT)) & DMIC_CHANNEL_FIFO_CTRL_DMAEN_MASK)
  2006. #define DMIC_CHANNEL_FIFO_CTRL_TRIGLVL_MASK (0x1F0000U)
  2007. #define DMIC_CHANNEL_FIFO_CTRL_TRIGLVL_SHIFT (16U)
  2008. #define DMIC_CHANNEL_FIFO_CTRL_TRIGLVL(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_FIFO_CTRL_TRIGLVL_SHIFT)) & DMIC_CHANNEL_FIFO_CTRL_TRIGLVL_MASK)
  2009. /* The count of DMIC_CHANNEL_FIFO_CTRL */
  2010. #define DMIC_CHANNEL_FIFO_CTRL_COUNT (2U)
  2011. /*! @name CHANNEL_FIFO_STATUS - FIFO Status register 0 */
  2012. #define DMIC_CHANNEL_FIFO_STATUS_INT_MASK (0x1U)
  2013. #define DMIC_CHANNEL_FIFO_STATUS_INT_SHIFT (0U)
  2014. #define DMIC_CHANNEL_FIFO_STATUS_INT(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_FIFO_STATUS_INT_SHIFT)) & DMIC_CHANNEL_FIFO_STATUS_INT_MASK)
  2015. #define DMIC_CHANNEL_FIFO_STATUS_OVERRUN_MASK (0x2U)
  2016. #define DMIC_CHANNEL_FIFO_STATUS_OVERRUN_SHIFT (1U)
  2017. #define DMIC_CHANNEL_FIFO_STATUS_OVERRUN(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_FIFO_STATUS_OVERRUN_SHIFT)) & DMIC_CHANNEL_FIFO_STATUS_OVERRUN_MASK)
  2018. #define DMIC_CHANNEL_FIFO_STATUS_UNDERRUN_MASK (0x4U)
  2019. #define DMIC_CHANNEL_FIFO_STATUS_UNDERRUN_SHIFT (2U)
  2020. #define DMIC_CHANNEL_FIFO_STATUS_UNDERRUN(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_FIFO_STATUS_UNDERRUN_SHIFT)) & DMIC_CHANNEL_FIFO_STATUS_UNDERRUN_MASK)
  2021. /* The count of DMIC_CHANNEL_FIFO_STATUS */
  2022. #define DMIC_CHANNEL_FIFO_STATUS_COUNT (2U)
  2023. /*! @name CHANNEL_FIFO_DATA - FIFO Data Register 0 */
  2024. #define DMIC_CHANNEL_FIFO_DATA_DATA_MASK (0xFFFFFFU)
  2025. #define DMIC_CHANNEL_FIFO_DATA_DATA_SHIFT (0U)
  2026. #define DMIC_CHANNEL_FIFO_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_FIFO_DATA_DATA_SHIFT)) & DMIC_CHANNEL_FIFO_DATA_DATA_MASK)
  2027. /* The count of DMIC_CHANNEL_FIFO_DATA */
  2028. #define DMIC_CHANNEL_FIFO_DATA_COUNT (2U)
  2029. /*! @name CHANNEL_PHY_CTRL - PDM Source Configuration register 0 */
  2030. #define DMIC_CHANNEL_PHY_CTRL_PHY_FALL_MASK (0x1U)
  2031. #define DMIC_CHANNEL_PHY_CTRL_PHY_FALL_SHIFT (0U)
  2032. #define DMIC_CHANNEL_PHY_CTRL_PHY_FALL(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_PHY_CTRL_PHY_FALL_SHIFT)) & DMIC_CHANNEL_PHY_CTRL_PHY_FALL_MASK)
  2033. #define DMIC_CHANNEL_PHY_CTRL_PHY_HALF_MASK (0x2U)
  2034. #define DMIC_CHANNEL_PHY_CTRL_PHY_HALF_SHIFT (1U)
  2035. #define DMIC_CHANNEL_PHY_CTRL_PHY_HALF(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_PHY_CTRL_PHY_HALF_SHIFT)) & DMIC_CHANNEL_PHY_CTRL_PHY_HALF_MASK)
  2036. /* The count of DMIC_CHANNEL_PHY_CTRL */
  2037. #define DMIC_CHANNEL_PHY_CTRL_COUNT (2U)
  2038. /*! @name CHANNEL_DC_CTRL - DC Control register 0 */
  2039. #define DMIC_CHANNEL_DC_CTRL_DCPOLE_MASK (0x3U)
  2040. #define DMIC_CHANNEL_DC_CTRL_DCPOLE_SHIFT (0U)
  2041. #define DMIC_CHANNEL_DC_CTRL_DCPOLE(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_DC_CTRL_DCPOLE_SHIFT)) & DMIC_CHANNEL_DC_CTRL_DCPOLE_MASK)
  2042. #define DMIC_CHANNEL_DC_CTRL_DCGAIN_MASK (0xF0U)
  2043. #define DMIC_CHANNEL_DC_CTRL_DCGAIN_SHIFT (4U)
  2044. #define DMIC_CHANNEL_DC_CTRL_DCGAIN(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_DC_CTRL_DCGAIN_SHIFT)) & DMIC_CHANNEL_DC_CTRL_DCGAIN_MASK)
  2045. #define DMIC_CHANNEL_DC_CTRL_SATURATEAT16BIT_MASK (0x100U)
  2046. #define DMIC_CHANNEL_DC_CTRL_SATURATEAT16BIT_SHIFT (8U)
  2047. #define DMIC_CHANNEL_DC_CTRL_SATURATEAT16BIT(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_DC_CTRL_SATURATEAT16BIT_SHIFT)) & DMIC_CHANNEL_DC_CTRL_SATURATEAT16BIT_MASK)
  2048. /* The count of DMIC_CHANNEL_DC_CTRL */
  2049. #define DMIC_CHANNEL_DC_CTRL_COUNT (2U)
  2050. /*! @name CHANEN - Channel Enable register */
  2051. #define DMIC_CHANEN_EN_CH0_MASK (0x1U)
  2052. #define DMIC_CHANEN_EN_CH0_SHIFT (0U)
  2053. #define DMIC_CHANEN_EN_CH0(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANEN_EN_CH0_SHIFT)) & DMIC_CHANEN_EN_CH0_MASK)
  2054. #define DMIC_CHANEN_EN_CH1_MASK (0x2U)
  2055. #define DMIC_CHANEN_EN_CH1_SHIFT (1U)
  2056. #define DMIC_CHANEN_EN_CH1(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANEN_EN_CH1_SHIFT)) & DMIC_CHANEN_EN_CH1_MASK)
  2057. /*! @name IOCFG - I/O Configuration register */
  2058. #define DMIC_IOCFG_CLK_BYPASS0_MASK (0x1U)
  2059. #define DMIC_IOCFG_CLK_BYPASS0_SHIFT (0U)
  2060. #define DMIC_IOCFG_CLK_BYPASS0(x) (((uint32_t)(((uint32_t)(x)) << DMIC_IOCFG_CLK_BYPASS0_SHIFT)) & DMIC_IOCFG_CLK_BYPASS0_MASK)
  2061. #define DMIC_IOCFG_CLK_BYPASS1_MASK (0x2U)
  2062. #define DMIC_IOCFG_CLK_BYPASS1_SHIFT (1U)
  2063. #define DMIC_IOCFG_CLK_BYPASS1(x) (((uint32_t)(((uint32_t)(x)) << DMIC_IOCFG_CLK_BYPASS1_SHIFT)) & DMIC_IOCFG_CLK_BYPASS1_MASK)
  2064. #define DMIC_IOCFG_STEREO_DATA0_MASK (0x4U)
  2065. #define DMIC_IOCFG_STEREO_DATA0_SHIFT (2U)
  2066. #define DMIC_IOCFG_STEREO_DATA0(x) (((uint32_t)(((uint32_t)(x)) << DMIC_IOCFG_STEREO_DATA0_SHIFT)) & DMIC_IOCFG_STEREO_DATA0_MASK)
  2067. /*! @name USE2FS - Use 2FS register */
  2068. #define DMIC_USE2FS_USE2FS_MASK (0x1U)
  2069. #define DMIC_USE2FS_USE2FS_SHIFT (0U)
  2070. #define DMIC_USE2FS_USE2FS(x) (((uint32_t)(((uint32_t)(x)) << DMIC_USE2FS_USE2FS_SHIFT)) & DMIC_USE2FS_USE2FS_MASK)
  2071. /*! @name HWVADGAIN - HWVAD input gain register */
  2072. #define DMIC_HWVADGAIN_INPUTGAIN_MASK (0xFU)
  2073. #define DMIC_HWVADGAIN_INPUTGAIN_SHIFT (0U)
  2074. #define DMIC_HWVADGAIN_INPUTGAIN(x) (((uint32_t)(((uint32_t)(x)) << DMIC_HWVADGAIN_INPUTGAIN_SHIFT)) & DMIC_HWVADGAIN_INPUTGAIN_MASK)
  2075. /*! @name HWVADHPFS - HWVAD filter control register */
  2076. #define DMIC_HWVADHPFS_HPFS_MASK (0x3U)
  2077. #define DMIC_HWVADHPFS_HPFS_SHIFT (0U)
  2078. #define DMIC_HWVADHPFS_HPFS(x) (((uint32_t)(((uint32_t)(x)) << DMIC_HWVADHPFS_HPFS_SHIFT)) & DMIC_HWVADHPFS_HPFS_MASK)
  2079. /*! @name HWVADST10 - HWVAD control register */
  2080. #define DMIC_HWVADST10_ST10_MASK (0x1U)
  2081. #define DMIC_HWVADST10_ST10_SHIFT (0U)
  2082. #define DMIC_HWVADST10_ST10(x) (((uint32_t)(((uint32_t)(x)) << DMIC_HWVADST10_ST10_SHIFT)) & DMIC_HWVADST10_ST10_MASK)
  2083. /*! @name HWVADRSTT - HWVAD filter reset register */
  2084. #define DMIC_HWVADRSTT_RSTT_MASK (0x1U)
  2085. #define DMIC_HWVADRSTT_RSTT_SHIFT (0U)
  2086. #define DMIC_HWVADRSTT_RSTT(x) (((uint32_t)(((uint32_t)(x)) << DMIC_HWVADRSTT_RSTT_SHIFT)) & DMIC_HWVADRSTT_RSTT_MASK)
  2087. /*! @name HWVADTHGN - HWVAD noise estimator gain register */
  2088. #define DMIC_HWVADTHGN_THGN_MASK (0xFU)
  2089. #define DMIC_HWVADTHGN_THGN_SHIFT (0U)
  2090. #define DMIC_HWVADTHGN_THGN(x) (((uint32_t)(((uint32_t)(x)) << DMIC_HWVADTHGN_THGN_SHIFT)) & DMIC_HWVADTHGN_THGN_MASK)
  2091. /*! @name HWVADTHGS - HWVAD signal estimator gain register */
  2092. #define DMIC_HWVADTHGS_THGS_MASK (0xFU)
  2093. #define DMIC_HWVADTHGS_THGS_SHIFT (0U)
  2094. #define DMIC_HWVADTHGS_THGS(x) (((uint32_t)(((uint32_t)(x)) << DMIC_HWVADTHGS_THGS_SHIFT)) & DMIC_HWVADTHGS_THGS_MASK)
  2095. /*! @name HWVADLOWZ - HWVAD noise envelope estimator register */
  2096. #define DMIC_HWVADLOWZ_LOWZ_MASK (0xFFFFU)
  2097. #define DMIC_HWVADLOWZ_LOWZ_SHIFT (0U)
  2098. #define DMIC_HWVADLOWZ_LOWZ(x) (((uint32_t)(((uint32_t)(x)) << DMIC_HWVADLOWZ_LOWZ_SHIFT)) & DMIC_HWVADLOWZ_LOWZ_MASK)
  2099. /*! @name ID - Module Identification register */
  2100. #define DMIC_ID_ID_MASK (0xFFFFFFFFU)
  2101. #define DMIC_ID_ID_SHIFT (0U)
  2102. #define DMIC_ID_ID(x) (((uint32_t)(((uint32_t)(x)) << DMIC_ID_ID_SHIFT)) & DMIC_ID_ID_MASK)
  2103. /*!
  2104. * @}
  2105. */ /* end of group DMIC_Register_Masks */
  2106. /* DMIC - Peripheral instance base addresses */
  2107. /** Peripheral DMIC0 base address */
  2108. #define DMIC0_BASE (0x40090000u)
  2109. /** Peripheral DMIC0 base pointer */
  2110. #define DMIC0 ((DMIC_Type *)DMIC0_BASE)
  2111. /** Array initializer of DMIC peripheral base addresses */
  2112. #define DMIC_BASE_ADDRS { DMIC0_BASE }
  2113. /** Array initializer of DMIC peripheral base pointers */
  2114. #define DMIC_BASE_PTRS { DMIC0 }
  2115. /** Interrupt vectors for the DMIC peripheral type */
  2116. #define DMIC_IRQS { DMIC0_IRQn }
  2117. #define DMIC_HWVAD_IRQS { HWVAD0_IRQn }
  2118. /*!
  2119. * @}
  2120. */ /* end of group DMIC_Peripheral_Access_Layer */
  2121. /* ----------------------------------------------------------------------------
  2122. -- EEPROM Peripheral Access Layer
  2123. ---------------------------------------------------------------------------- */
  2124. /*!
  2125. * @addtogroup EEPROM_Peripheral_Access_Layer EEPROM Peripheral Access Layer
  2126. * @{
  2127. */
  2128. /** EEPROM - Register Layout Typedef */
  2129. typedef struct {
  2130. __IO uint32_t CMD; /**< EEPROM command register, offset: 0x0 */
  2131. uint8_t RESERVED_0[4];
  2132. __IO uint32_t RWSTATE; /**< EEPROM read wait state register, offset: 0x8 */
  2133. __IO uint32_t AUTOPROG; /**< EEPROM auto programming register, offset: 0xC */
  2134. __IO uint32_t WSTATE; /**< EEPROM wait state register, offset: 0x10 */
  2135. __IO uint32_t CLKDIV; /**< EEPROM clock divider register, offset: 0x14 */
  2136. __IO uint32_t PWRDWN; /**< EEPROM power-down register, offset: 0x18 */
  2137. uint8_t RESERVED_1[4028];
  2138. __O uint32_t INTENCLR; /**< EEPROM interrupt enable clear, offset: 0xFD8 */
  2139. __O uint32_t INTENSET; /**< EEPROM interrupt enable set, offset: 0xFDC */
  2140. __I uint32_t INTSTAT; /**< EEPROM interrupt status, offset: 0xFE0 */
  2141. __I uint32_t INTEN; /**< EEPROM interrupt enable, offset: 0xFE4 */
  2142. __O uint32_t INTSTATCLR; /**< EEPROM interrupt status clear, offset: 0xFE8 */
  2143. __O uint32_t INTSTATSET; /**< EEPROM interrupt status set, offset: 0xFEC */
  2144. } EEPROM_Type;
  2145. /* ----------------------------------------------------------------------------
  2146. -- EEPROM Register Masks
  2147. ---------------------------------------------------------------------------- */
  2148. /*!
  2149. * @addtogroup EEPROM_Register_Masks EEPROM Register Masks
  2150. * @{
  2151. */
  2152. /*! @name CMD - EEPROM command register */
  2153. #define EEPROM_CMD_CMD_MASK (0x7U)
  2154. #define EEPROM_CMD_CMD_SHIFT (0U)
  2155. #define EEPROM_CMD_CMD(x) (((uint32_t)(((uint32_t)(x)) << EEPROM_CMD_CMD_SHIFT)) & EEPROM_CMD_CMD_MASK)
  2156. /*! @name RWSTATE - EEPROM read wait state register */
  2157. #define EEPROM_RWSTATE_RPHASE2_MASK (0xFFU)
  2158. #define EEPROM_RWSTATE_RPHASE2_SHIFT (0U)
  2159. #define EEPROM_RWSTATE_RPHASE2(x) (((uint32_t)(((uint32_t)(x)) << EEPROM_RWSTATE_RPHASE2_SHIFT)) & EEPROM_RWSTATE_RPHASE2_MASK)
  2160. #define EEPROM_RWSTATE_RPHASE1_MASK (0xFF00U)
  2161. #define EEPROM_RWSTATE_RPHASE1_SHIFT (8U)
  2162. #define EEPROM_RWSTATE_RPHASE1(x) (((uint32_t)(((uint32_t)(x)) << EEPROM_RWSTATE_RPHASE1_SHIFT)) & EEPROM_RWSTATE_RPHASE1_MASK)
  2163. /*! @name AUTOPROG - EEPROM auto programming register */
  2164. #define EEPROM_AUTOPROG_AUTOPROG_MASK (0x3U)
  2165. #define EEPROM_AUTOPROG_AUTOPROG_SHIFT (0U)
  2166. #define EEPROM_AUTOPROG_AUTOPROG(x) (((uint32_t)(((uint32_t)(x)) << EEPROM_AUTOPROG_AUTOPROG_SHIFT)) & EEPROM_AUTOPROG_AUTOPROG_MASK)
  2167. /*! @name WSTATE - EEPROM wait state register */
  2168. #define EEPROM_WSTATE_PHASE3_MASK (0xFFU)
  2169. #define EEPROM_WSTATE_PHASE3_SHIFT (0U)
  2170. #define EEPROM_WSTATE_PHASE3(x) (((uint32_t)(((uint32_t)(x)) << EEPROM_WSTATE_PHASE3_SHIFT)) & EEPROM_WSTATE_PHASE3_MASK)
  2171. #define EEPROM_WSTATE_PHASE2_MASK (0xFF00U)
  2172. #define EEPROM_WSTATE_PHASE2_SHIFT (8U)
  2173. #define EEPROM_WSTATE_PHASE2(x) (((uint32_t)(((uint32_t)(x)) << EEPROM_WSTATE_PHASE2_SHIFT)) & EEPROM_WSTATE_PHASE2_MASK)
  2174. #define EEPROM_WSTATE_PHASE1_MASK (0xFF0000U)
  2175. #define EEPROM_WSTATE_PHASE1_SHIFT (16U)
  2176. #define EEPROM_WSTATE_PHASE1(x) (((uint32_t)(((uint32_t)(x)) << EEPROM_WSTATE_PHASE1_SHIFT)) & EEPROM_WSTATE_PHASE1_MASK)
  2177. #define EEPROM_WSTATE_LCK_PARWEP_MASK (0x80000000U)
  2178. #define EEPROM_WSTATE_LCK_PARWEP_SHIFT (31U)
  2179. #define EEPROM_WSTATE_LCK_PARWEP(x) (((uint32_t)(((uint32_t)(x)) << EEPROM_WSTATE_LCK_PARWEP_SHIFT)) & EEPROM_WSTATE_LCK_PARWEP_MASK)
  2180. /*! @name CLKDIV - EEPROM clock divider register */
  2181. #define EEPROM_CLKDIV_CLKDIV_MASK (0xFFFFU)
  2182. #define EEPROM_CLKDIV_CLKDIV_SHIFT (0U)
  2183. #define EEPROM_CLKDIV_CLKDIV(x) (((uint32_t)(((uint32_t)(x)) << EEPROM_CLKDIV_CLKDIV_SHIFT)) & EEPROM_CLKDIV_CLKDIV_MASK)
  2184. /*! @name PWRDWN - EEPROM power-down register */
  2185. #define EEPROM_PWRDWN_PWRDWN_MASK (0x1U)
  2186. #define EEPROM_PWRDWN_PWRDWN_SHIFT (0U)
  2187. #define EEPROM_PWRDWN_PWRDWN(x) (((uint32_t)(((uint32_t)(x)) << EEPROM_PWRDWN_PWRDWN_SHIFT)) & EEPROM_PWRDWN_PWRDWN_MASK)
  2188. /*! @name INTENCLR - EEPROM interrupt enable clear */
  2189. #define EEPROM_INTENCLR_PROG_CLR_EN_MASK (0x4U)
  2190. #define EEPROM_INTENCLR_PROG_CLR_EN_SHIFT (2U)
  2191. #define EEPROM_INTENCLR_PROG_CLR_EN(x) (((uint32_t)(((uint32_t)(x)) << EEPROM_INTENCLR_PROG_CLR_EN_SHIFT)) & EEPROM_INTENCLR_PROG_CLR_EN_MASK)
  2192. /*! @name INTENSET - EEPROM interrupt enable set */
  2193. #define EEPROM_INTENSET_PROG_SET_EN_MASK (0x4U)
  2194. #define EEPROM_INTENSET_PROG_SET_EN_SHIFT (2U)
  2195. #define EEPROM_INTENSET_PROG_SET_EN(x) (((uint32_t)(((uint32_t)(x)) << EEPROM_INTENSET_PROG_SET_EN_SHIFT)) & EEPROM_INTENSET_PROG_SET_EN_MASK)
  2196. /*! @name INTSTAT - EEPROM interrupt status */
  2197. #define EEPROM_INTSTAT_END_OF_PROG_MASK (0x4U)
  2198. #define EEPROM_INTSTAT_END_OF_PROG_SHIFT (2U)
  2199. #define EEPROM_INTSTAT_END_OF_PROG(x) (((uint32_t)(((uint32_t)(x)) << EEPROM_INTSTAT_END_OF_PROG_SHIFT)) & EEPROM_INTSTAT_END_OF_PROG_MASK)
  2200. /*! @name INTEN - EEPROM interrupt enable */
  2201. #define EEPROM_INTEN_EE_PROG_DONE_MASK (0x4U)
  2202. #define EEPROM_INTEN_EE_PROG_DONE_SHIFT (2U)
  2203. #define EEPROM_INTEN_EE_PROG_DONE(x) (((uint32_t)(((uint32_t)(x)) << EEPROM_INTEN_EE_PROG_DONE_SHIFT)) & EEPROM_INTEN_EE_PROG_DONE_MASK)
  2204. /*! @name INTSTATCLR - EEPROM interrupt status clear */
  2205. #define EEPROM_INTSTATCLR_PROG_CLR_ST_MASK (0x4U)
  2206. #define EEPROM_INTSTATCLR_PROG_CLR_ST_SHIFT (2U)
  2207. #define EEPROM_INTSTATCLR_PROG_CLR_ST(x) (((uint32_t)(((uint32_t)(x)) << EEPROM_INTSTATCLR_PROG_CLR_ST_SHIFT)) & EEPROM_INTSTATCLR_PROG_CLR_ST_MASK)
  2208. /*! @name INTSTATSET - EEPROM interrupt status set */
  2209. #define EEPROM_INTSTATSET_PROG_SET_ST_MASK (0x4U)
  2210. #define EEPROM_INTSTATSET_PROG_SET_ST_SHIFT (2U)
  2211. #define EEPROM_INTSTATSET_PROG_SET_ST(x) (((uint32_t)(((uint32_t)(x)) << EEPROM_INTSTATSET_PROG_SET_ST_SHIFT)) & EEPROM_INTSTATSET_PROG_SET_ST_MASK)
  2212. /*!
  2213. * @}
  2214. */ /* end of group EEPROM_Register_Masks */
  2215. /* EEPROM - Peripheral instance base addresses */
  2216. /** Peripheral EEPROM base address */
  2217. #define EEPROM_BASE (0x40014000u)
  2218. /** Peripheral EEPROM base pointer */
  2219. #define EEPROM ((EEPROM_Type *)EEPROM_BASE)
  2220. /** Array initializer of EEPROM peripheral base addresses */
  2221. #define EEPROM_BASE_ADDRS { EEPROM_BASE }
  2222. /** Array initializer of EEPROM peripheral base pointers */
  2223. #define EEPROM_BASE_PTRS { EEPROM }
  2224. /** Interrupt vectors for the EEPROM peripheral type */
  2225. #define EEPROM_IRQS { EEPROM_IRQn }
  2226. /*!
  2227. * @}
  2228. */ /* end of group EEPROM_Peripheral_Access_Layer */
  2229. /* ----------------------------------------------------------------------------
  2230. -- EMC Peripheral Access Layer
  2231. ---------------------------------------------------------------------------- */
  2232. /*!
  2233. * @addtogroup EMC_Peripheral_Access_Layer EMC Peripheral Access Layer
  2234. * @{
  2235. */
  2236. /** EMC - Register Layout Typedef */
  2237. typedef struct {
  2238. __IO uint32_t CONTROL; /**< Controls operation of the memory controller, offset: 0x0 */
  2239. __I uint32_t STATUS; /**< Provides EMC status information, offset: 0x4 */
  2240. __IO uint32_t CONFIG; /**< Configures operation of the memory controller, offset: 0x8 */
  2241. uint8_t RESERVED_0[20];
  2242. __IO uint32_t DYNAMICCONTROL; /**< Controls dynamic memory operation, offset: 0x20 */
  2243. __IO uint32_t DYNAMICREFRESH; /**< Configures dynamic memory refresh, offset: 0x24 */
  2244. __IO uint32_t DYNAMICREADCONFIG; /**< Configures dynamic memory read strategy, offset: 0x28 */
  2245. uint8_t RESERVED_1[4];
  2246. __IO uint32_t DYNAMICRP; /**< Precharge command period, offset: 0x30 */
  2247. __IO uint32_t DYNAMICRAS; /**< Active to precharge command period, offset: 0x34 */
  2248. __IO uint32_t DYNAMICSREX; /**< Self-refresh exit time, offset: 0x38 */
  2249. __IO uint32_t DYNAMICAPR; /**< Last-data-out to active command time, offset: 0x3C */
  2250. __IO uint32_t DYNAMICDAL; /**< Data-in to active command time, offset: 0x40 */
  2251. __IO uint32_t DYNAMICWR; /**< Write recovery time, offset: 0x44 */
  2252. __IO uint32_t DYNAMICRC; /**< Selects the active to active command period, offset: 0x48 */
  2253. __IO uint32_t DYNAMICRFC; /**< Selects the auto-refresh period, offset: 0x4C */
  2254. __IO uint32_t DYNAMICXSR; /**< Time for exit self-refresh to active command, offset: 0x50 */
  2255. __IO uint32_t DYNAMICRRD; /**< Latency for active bank A to active bank B, offset: 0x54 */
  2256. __IO uint32_t DYNAMICMRD; /**< Time for load mode register to active command, offset: 0x58 */
  2257. uint8_t RESERVED_2[36];
  2258. __IO uint32_t STATICEXTENDEDWAIT; /**< Time for long static memory read and write transfers, offset: 0x80 */
  2259. uint8_t RESERVED_3[124];
  2260. struct { /* offset: 0x100, array step: 0x20 */
  2261. __IO uint32_t DYNAMICCONFIG; /**< Configuration information for EMC_DYCSx, array offset: 0x100, array step: 0x20 */
  2262. __IO uint32_t DYNAMICRASCAS; /**< RAS and CAS latencies for EMC_DYCSx, array offset: 0x104, array step: 0x20 */
  2263. uint8_t RESERVED_0[24];
  2264. } DYNAMIC[4];
  2265. uint8_t RESERVED_4[128];
  2266. struct { /* offset: 0x200, array step: 0x20 */
  2267. __IO uint32_t STATICCONFIG; /**< Configuration for EMC_CSx, array offset: 0x200, array step: 0x20 */
  2268. __IO uint32_t STATICWAITWEN; /**< Delay from EMC_CSx to write enable, array offset: 0x204, array step: 0x20 */
  2269. __IO uint32_t STATICWAITOEN; /**< Delay from EMC_CSx or address change, whichever is later, to output enable, array offset: 0x208, array step: 0x20 */
  2270. __IO uint32_t STATICWAITRD; /**< Delay from EMC_CSx to a read access, array offset: 0x20C, array step: 0x20 */
  2271. __IO uint32_t STATICWAITPAGE; /**< Delay for asynchronous page mode sequential accesses for EMC_CSx, array offset: 0x210, array step: 0x20 */
  2272. __IO uint32_t STATICWAITWR; /**< Delay from EMC_CSx to a write access, array offset: 0x214, array step: 0x20 */
  2273. __IO uint32_t STATICWAITTURN; /**< Number of bus turnaround cycles EMC_CSx, array offset: 0x218, array step: 0x20 */
  2274. uint8_t RESERVED_0[4];
  2275. } STATIC[4];
  2276. } EMC_Type;
  2277. /* ----------------------------------------------------------------------------
  2278. -- EMC Register Masks
  2279. ---------------------------------------------------------------------------- */
  2280. /*!
  2281. * @addtogroup EMC_Register_Masks EMC Register Masks
  2282. * @{
  2283. */
  2284. /*! @name CONTROL - Controls operation of the memory controller */
  2285. #define EMC_CONTROL_E_MASK (0x1U)
  2286. #define EMC_CONTROL_E_SHIFT (0U)
  2287. #define EMC_CONTROL_E(x) (((uint32_t)(((uint32_t)(x)) << EMC_CONTROL_E_SHIFT)) & EMC_CONTROL_E_MASK)
  2288. #define EMC_CONTROL_M_MASK (0x2U)
  2289. #define EMC_CONTROL_M_SHIFT (1U)
  2290. #define EMC_CONTROL_M(x) (((uint32_t)(((uint32_t)(x)) << EMC_CONTROL_M_SHIFT)) & EMC_CONTROL_M_MASK)
  2291. #define EMC_CONTROL_L_MASK (0x4U)
  2292. #define EMC_CONTROL_L_SHIFT (2U)
  2293. #define EMC_CONTROL_L(x) (((uint32_t)(((uint32_t)(x)) << EMC_CONTROL_L_SHIFT)) & EMC_CONTROL_L_MASK)
  2294. /*! @name STATUS - Provides EMC status information */
  2295. #define EMC_STATUS_B_MASK (0x1U)
  2296. #define EMC_STATUS_B_SHIFT (0U)
  2297. #define EMC_STATUS_B(x) (((uint32_t)(((uint32_t)(x)) << EMC_STATUS_B_SHIFT)) & EMC_STATUS_B_MASK)
  2298. #define EMC_STATUS_S_MASK (0x2U)
  2299. #define EMC_STATUS_S_SHIFT (1U)
  2300. #define EMC_STATUS_S(x) (((uint32_t)(((uint32_t)(x)) << EMC_STATUS_S_SHIFT)) & EMC_STATUS_S_MASK)
  2301. #define EMC_STATUS_SA_MASK (0x4U)
  2302. #define EMC_STATUS_SA_SHIFT (2U)
  2303. #define EMC_STATUS_SA(x) (((uint32_t)(((uint32_t)(x)) << EMC_STATUS_SA_SHIFT)) & EMC_STATUS_SA_MASK)
  2304. /*! @name CONFIG - Configures operation of the memory controller */
  2305. #define EMC_CONFIG_EM_MASK (0x1U)
  2306. #define EMC_CONFIG_EM_SHIFT (0U)
  2307. #define EMC_CONFIG_EM(x) (((uint32_t)(((uint32_t)(x)) << EMC_CONFIG_EM_SHIFT)) & EMC_CONFIG_EM_MASK)
  2308. #define EMC_CONFIG_CLKR_MASK (0x100U)
  2309. #define EMC_CONFIG_CLKR_SHIFT (8U)
  2310. #define EMC_CONFIG_CLKR(x) (((uint32_t)(((uint32_t)(x)) << EMC_CONFIG_CLKR_SHIFT)) & EMC_CONFIG_CLKR_MASK)
  2311. /*! @name DYNAMICCONTROL - Controls dynamic memory operation */
  2312. #define EMC_DYNAMICCONTROL_CE_MASK (0x1U)
  2313. #define EMC_DYNAMICCONTROL_CE_SHIFT (0U)
  2314. #define EMC_DYNAMICCONTROL_CE(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMICCONTROL_CE_SHIFT)) & EMC_DYNAMICCONTROL_CE_MASK)
  2315. #define EMC_DYNAMICCONTROL_CS_MASK (0x2U)
  2316. #define EMC_DYNAMICCONTROL_CS_SHIFT (1U)
  2317. #define EMC_DYNAMICCONTROL_CS(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMICCONTROL_CS_SHIFT)) & EMC_DYNAMICCONTROL_CS_MASK)
  2318. #define EMC_DYNAMICCONTROL_SR_MASK (0x4U)
  2319. #define EMC_DYNAMICCONTROL_SR_SHIFT (2U)
  2320. #define EMC_DYNAMICCONTROL_SR(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMICCONTROL_SR_SHIFT)) & EMC_DYNAMICCONTROL_SR_MASK)
  2321. #define EMC_DYNAMICCONTROL_MMC_MASK (0x20U)
  2322. #define EMC_DYNAMICCONTROL_MMC_SHIFT (5U)
  2323. #define EMC_DYNAMICCONTROL_MMC(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMICCONTROL_MMC_SHIFT)) & EMC_DYNAMICCONTROL_MMC_MASK)
  2324. #define EMC_DYNAMICCONTROL_I_MASK (0x180U)
  2325. #define EMC_DYNAMICCONTROL_I_SHIFT (7U)
  2326. #define EMC_DYNAMICCONTROL_I(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMICCONTROL_I_SHIFT)) & EMC_DYNAMICCONTROL_I_MASK)
  2327. /*! @name DYNAMICREFRESH - Configures dynamic memory refresh */
  2328. #define EMC_DYNAMICREFRESH_REFRESH_MASK (0x7FFU)
  2329. #define EMC_DYNAMICREFRESH_REFRESH_SHIFT (0U)
  2330. #define EMC_DYNAMICREFRESH_REFRESH(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMICREFRESH_REFRESH_SHIFT)) & EMC_DYNAMICREFRESH_REFRESH_MASK)
  2331. /*! @name DYNAMICREADCONFIG - Configures dynamic memory read strategy */
  2332. #define EMC_DYNAMICREADCONFIG_RD_MASK (0x3U)
  2333. #define EMC_DYNAMICREADCONFIG_RD_SHIFT (0U)
  2334. #define EMC_DYNAMICREADCONFIG_RD(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMICREADCONFIG_RD_SHIFT)) & EMC_DYNAMICREADCONFIG_RD_MASK)
  2335. /*! @name DYNAMICRP - Precharge command period */
  2336. #define EMC_DYNAMICRP_TRP_MASK (0xFU)
  2337. #define EMC_DYNAMICRP_TRP_SHIFT (0U)
  2338. #define EMC_DYNAMICRP_TRP(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMICRP_TRP_SHIFT)) & EMC_DYNAMICRP_TRP_MASK)
  2339. /*! @name DYNAMICRAS - Active to precharge command period */
  2340. #define EMC_DYNAMICRAS_TRAS_MASK (0xFU)
  2341. #define EMC_DYNAMICRAS_TRAS_SHIFT (0U)
  2342. #define EMC_DYNAMICRAS_TRAS(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMICRAS_TRAS_SHIFT)) & EMC_DYNAMICRAS_TRAS_MASK)
  2343. /*! @name DYNAMICSREX - Self-refresh exit time */
  2344. #define EMC_DYNAMICSREX_TSREX_MASK (0xFU)
  2345. #define EMC_DYNAMICSREX_TSREX_SHIFT (0U)
  2346. #define EMC_DYNAMICSREX_TSREX(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMICSREX_TSREX_SHIFT)) & EMC_DYNAMICSREX_TSREX_MASK)
  2347. /*! @name DYNAMICAPR - Last-data-out to active command time */
  2348. #define EMC_DYNAMICAPR_TAPR_MASK (0xFU)
  2349. #define EMC_DYNAMICAPR_TAPR_SHIFT (0U)
  2350. #define EMC_DYNAMICAPR_TAPR(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMICAPR_TAPR_SHIFT)) & EMC_DYNAMICAPR_TAPR_MASK)
  2351. /*! @name DYNAMICDAL - Data-in to active command time */
  2352. #define EMC_DYNAMICDAL_TDAL_MASK (0xFU)
  2353. #define EMC_DYNAMICDAL_TDAL_SHIFT (0U)
  2354. #define EMC_DYNAMICDAL_TDAL(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMICDAL_TDAL_SHIFT)) & EMC_DYNAMICDAL_TDAL_MASK)
  2355. /*! @name DYNAMICWR - Write recovery time */
  2356. #define EMC_DYNAMICWR_TWR_MASK (0xFU)
  2357. #define EMC_DYNAMICWR_TWR_SHIFT (0U)
  2358. #define EMC_DYNAMICWR_TWR(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMICWR_TWR_SHIFT)) & EMC_DYNAMICWR_TWR_MASK)
  2359. /*! @name DYNAMICRC - Selects the active to active command period */
  2360. #define EMC_DYNAMICRC_TRC_MASK (0x1FU)
  2361. #define EMC_DYNAMICRC_TRC_SHIFT (0U)
  2362. #define EMC_DYNAMICRC_TRC(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMICRC_TRC_SHIFT)) & EMC_DYNAMICRC_TRC_MASK)
  2363. /*! @name DYNAMICRFC - Selects the auto-refresh period */
  2364. #define EMC_DYNAMICRFC_TRFC_MASK (0x1FU)
  2365. #define EMC_DYNAMICRFC_TRFC_SHIFT (0U)
  2366. #define EMC_DYNAMICRFC_TRFC(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMICRFC_TRFC_SHIFT)) & EMC_DYNAMICRFC_TRFC_MASK)
  2367. /*! @name DYNAMICXSR - Time for exit self-refresh to active command */
  2368. #define EMC_DYNAMICXSR_TXSR_MASK (0x1FU)
  2369. #define EMC_DYNAMICXSR_TXSR_SHIFT (0U)
  2370. #define EMC_DYNAMICXSR_TXSR(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMICXSR_TXSR_SHIFT)) & EMC_DYNAMICXSR_TXSR_MASK)
  2371. /*! @name DYNAMICRRD - Latency for active bank A to active bank B */
  2372. #define EMC_DYNAMICRRD_TRRD_MASK (0xFU)
  2373. #define EMC_DYNAMICRRD_TRRD_SHIFT (0U)
  2374. #define EMC_DYNAMICRRD_TRRD(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMICRRD_TRRD_SHIFT)) & EMC_DYNAMICRRD_TRRD_MASK)
  2375. /*! @name DYNAMICMRD - Time for load mode register to active command */
  2376. #define EMC_DYNAMICMRD_TMRD_MASK (0xFU)
  2377. #define EMC_DYNAMICMRD_TMRD_SHIFT (0U)
  2378. #define EMC_DYNAMICMRD_TMRD(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMICMRD_TMRD_SHIFT)) & EMC_DYNAMICMRD_TMRD_MASK)
  2379. /*! @name STATICEXTENDEDWAIT - Time for long static memory read and write transfers */
  2380. #define EMC_STATICEXTENDEDWAIT_EXTENDEDWAIT_MASK (0x3FFU)
  2381. #define EMC_STATICEXTENDEDWAIT_EXTENDEDWAIT_SHIFT (0U)
  2382. #define EMC_STATICEXTENDEDWAIT_EXTENDEDWAIT(x) (((uint32_t)(((uint32_t)(x)) << EMC_STATICEXTENDEDWAIT_EXTENDEDWAIT_SHIFT)) & EMC_STATICEXTENDEDWAIT_EXTENDEDWAIT_MASK)
  2383. /*! @name DYNAMIC_DYNAMICCONFIG - Configuration information for EMC_DYCSx */
  2384. #define EMC_DYNAMIC_DYNAMICCONFIG_MD_MASK (0x18U)
  2385. #define EMC_DYNAMIC_DYNAMICCONFIG_MD_SHIFT (3U)
  2386. #define EMC_DYNAMIC_DYNAMICCONFIG_MD(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMIC_DYNAMICCONFIG_MD_SHIFT)) & EMC_DYNAMIC_DYNAMICCONFIG_MD_MASK)
  2387. #define EMC_DYNAMIC_DYNAMICCONFIG_AM0_MASK (0x1F80U)
  2388. #define EMC_DYNAMIC_DYNAMICCONFIG_AM0_SHIFT (7U)
  2389. #define EMC_DYNAMIC_DYNAMICCONFIG_AM0(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMIC_DYNAMICCONFIG_AM0_SHIFT)) & EMC_DYNAMIC_DYNAMICCONFIG_AM0_MASK)
  2390. #define EMC_DYNAMIC_DYNAMICCONFIG_AM1_MASK (0x4000U)
  2391. #define EMC_DYNAMIC_DYNAMICCONFIG_AM1_SHIFT (14U)
  2392. #define EMC_DYNAMIC_DYNAMICCONFIG_AM1(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMIC_DYNAMICCONFIG_AM1_SHIFT)) & EMC_DYNAMIC_DYNAMICCONFIG_AM1_MASK)
  2393. #define EMC_DYNAMIC_DYNAMICCONFIG_B_MASK (0x80000U)
  2394. #define EMC_DYNAMIC_DYNAMICCONFIG_B_SHIFT (19U)
  2395. #define EMC_DYNAMIC_DYNAMICCONFIG_B(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMIC_DYNAMICCONFIG_B_SHIFT)) & EMC_DYNAMIC_DYNAMICCONFIG_B_MASK)
  2396. #define EMC_DYNAMIC_DYNAMICCONFIG_P_MASK (0x100000U)
  2397. #define EMC_DYNAMIC_DYNAMICCONFIG_P_SHIFT (20U)
  2398. #define EMC_DYNAMIC_DYNAMICCONFIG_P(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMIC_DYNAMICCONFIG_P_SHIFT)) & EMC_DYNAMIC_DYNAMICCONFIG_P_MASK)
  2399. /* The count of EMC_DYNAMIC_DYNAMICCONFIG */
  2400. #define EMC_DYNAMIC_DYNAMICCONFIG_COUNT (4U)
  2401. /*! @name DYNAMIC_DYNAMICRASCAS - RAS and CAS latencies for EMC_DYCSx */
  2402. #define EMC_DYNAMIC_DYNAMICRASCAS_RAS_MASK (0x3U)
  2403. #define EMC_DYNAMIC_DYNAMICRASCAS_RAS_SHIFT (0U)
  2404. #define EMC_DYNAMIC_DYNAMICRASCAS_RAS(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMIC_DYNAMICRASCAS_RAS_SHIFT)) & EMC_DYNAMIC_DYNAMICRASCAS_RAS_MASK)
  2405. #define EMC_DYNAMIC_DYNAMICRASCAS_CAS_MASK (0x300U)
  2406. #define EMC_DYNAMIC_DYNAMICRASCAS_CAS_SHIFT (8U)
  2407. #define EMC_DYNAMIC_DYNAMICRASCAS_CAS(x) (((uint32_t)(((uint32_t)(x)) << EMC_DYNAMIC_DYNAMICRASCAS_CAS_SHIFT)) & EMC_DYNAMIC_DYNAMICRASCAS_CAS_MASK)
  2408. /* The count of EMC_DYNAMIC_DYNAMICRASCAS */
  2409. #define EMC_DYNAMIC_DYNAMICRASCAS_COUNT (4U)
  2410. /*! @name STATIC_STATICCONFIG - Configuration for EMC_CSx */
  2411. #define EMC_STATIC_STATICCONFIG_MW_MASK (0x3U)
  2412. #define EMC_STATIC_STATICCONFIG_MW_SHIFT (0U)
  2413. #define EMC_STATIC_STATICCONFIG_MW(x) (((uint32_t)(((uint32_t)(x)) << EMC_STATIC_STATICCONFIG_MW_SHIFT)) & EMC_STATIC_STATICCONFIG_MW_MASK)
  2414. #define EMC_STATIC_STATICCONFIG_PM_MASK (0x8U)
  2415. #define EMC_STATIC_STATICCONFIG_PM_SHIFT (3U)
  2416. #define EMC_STATIC_STATICCONFIG_PM(x) (((uint32_t)(((uint32_t)(x)) << EMC_STATIC_STATICCONFIG_PM_SHIFT)) & EMC_STATIC_STATICCONFIG_PM_MASK)
  2417. #define EMC_STATIC_STATICCONFIG_PC_MASK (0x40U)
  2418. #define EMC_STATIC_STATICCONFIG_PC_SHIFT (6U)
  2419. #define EMC_STATIC_STATICCONFIG_PC(x) (((uint32_t)(((uint32_t)(x)) << EMC_STATIC_STATICCONFIG_PC_SHIFT)) & EMC_STATIC_STATICCONFIG_PC_MASK)
  2420. #define EMC_STATIC_STATICCONFIG_PB_MASK (0x80U)
  2421. #define EMC_STATIC_STATICCONFIG_PB_SHIFT (7U)
  2422. #define EMC_STATIC_STATICCONFIG_PB(x) (((uint32_t)(((uint32_t)(x)) << EMC_STATIC_STATICCONFIG_PB_SHIFT)) & EMC_STATIC_STATICCONFIG_PB_MASK)
  2423. #define EMC_STATIC_STATICCONFIG_EW_MASK (0x100U)
  2424. #define EMC_STATIC_STATICCONFIG_EW_SHIFT (8U)
  2425. #define EMC_STATIC_STATICCONFIG_EW(x) (((uint32_t)(((uint32_t)(x)) << EMC_STATIC_STATICCONFIG_EW_SHIFT)) & EMC_STATIC_STATICCONFIG_EW_MASK)
  2426. #define EMC_STATIC_STATICCONFIG_B_MASK (0x80000U)
  2427. #define EMC_STATIC_STATICCONFIG_B_SHIFT (19U)
  2428. #define EMC_STATIC_STATICCONFIG_B(x) (((uint32_t)(((uint32_t)(x)) << EMC_STATIC_STATICCONFIG_B_SHIFT)) & EMC_STATIC_STATICCONFIG_B_MASK)
  2429. #define EMC_STATIC_STATICCONFIG_P_MASK (0x100000U)
  2430. #define EMC_STATIC_STATICCONFIG_P_SHIFT (20U)
  2431. #define EMC_STATIC_STATICCONFIG_P(x) (((uint32_t)(((uint32_t)(x)) << EMC_STATIC_STATICCONFIG_P_SHIFT)) & EMC_STATIC_STATICCONFIG_P_MASK)
  2432. /* The count of EMC_STATIC_STATICCONFIG */
  2433. #define EMC_STATIC_STATICCONFIG_COUNT (4U)
  2434. /*! @name STATIC_STATICWAITWEN - Delay from EMC_CSx to write enable */
  2435. #define EMC_STATIC_STATICWAITWEN_WAITWEN_MASK (0xFU)
  2436. #define EMC_STATIC_STATICWAITWEN_WAITWEN_SHIFT (0U)
  2437. #define EMC_STATIC_STATICWAITWEN_WAITWEN(x) (((uint32_t)(((uint32_t)(x)) << EMC_STATIC_STATICWAITWEN_WAITWEN_SHIFT)) & EMC_STATIC_STATICWAITWEN_WAITWEN_MASK)
  2438. /* The count of EMC_STATIC_STATICWAITWEN */
  2439. #define EMC_STATIC_STATICWAITWEN_COUNT (4U)
  2440. /*! @name STATIC_STATICWAITOEN - Delay from EMC_CSx or address change, whichever is later, to output enable */
  2441. #define EMC_STATIC_STATICWAITOEN_WAITOEN_MASK (0xFU)
  2442. #define EMC_STATIC_STATICWAITOEN_WAITOEN_SHIFT (0U)
  2443. #define EMC_STATIC_STATICWAITOEN_WAITOEN(x) (((uint32_t)(((uint32_t)(x)) << EMC_STATIC_STATICWAITOEN_WAITOEN_SHIFT)) & EMC_STATIC_STATICWAITOEN_WAITOEN_MASK)
  2444. /* The count of EMC_STATIC_STATICWAITOEN */
  2445. #define EMC_STATIC_STATICWAITOEN_COUNT (4U)
  2446. /*! @name STATIC_STATICWAITRD - Delay from EMC_CSx to a read access */
  2447. #define EMC_STATIC_STATICWAITRD_WAITRD_MASK (0x1FU)
  2448. #define EMC_STATIC_STATICWAITRD_WAITRD_SHIFT (0U)
  2449. #define EMC_STATIC_STATICWAITRD_WAITRD(x) (((uint32_t)(((uint32_t)(x)) << EMC_STATIC_STATICWAITRD_WAITRD_SHIFT)) & EMC_STATIC_STATICWAITRD_WAITRD_MASK)
  2450. /* The count of EMC_STATIC_STATICWAITRD */
  2451. #define EMC_STATIC_STATICWAITRD_COUNT (4U)
  2452. /*! @name STATIC_STATICWAITPAGE - Delay for asynchronous page mode sequential accesses for EMC_CSx */
  2453. #define EMC_STATIC_STATICWAITPAGE_WAITPAGE_MASK (0x1FU)
  2454. #define EMC_STATIC_STATICWAITPAGE_WAITPAGE_SHIFT (0U)
  2455. #define EMC_STATIC_STATICWAITPAGE_WAITPAGE(x) (((uint32_t)(((uint32_t)(x)) << EMC_STATIC_STATICWAITPAGE_WAITPAGE_SHIFT)) & EMC_STATIC_STATICWAITPAGE_WAITPAGE_MASK)
  2456. /* The count of EMC_STATIC_STATICWAITPAGE */
  2457. #define EMC_STATIC_STATICWAITPAGE_COUNT (4U)
  2458. /*! @name STATIC_STATICWAITWR - Delay from EMC_CSx to a write access */
  2459. #define EMC_STATIC_STATICWAITWR_WAITWR_MASK (0x1FU)
  2460. #define EMC_STATIC_STATICWAITWR_WAITWR_SHIFT (0U)
  2461. #define EMC_STATIC_STATICWAITWR_WAITWR(x) (((uint32_t)(((uint32_t)(x)) << EMC_STATIC_STATICWAITWR_WAITWR_SHIFT)) & EMC_STATIC_STATICWAITWR_WAITWR_MASK)
  2462. /* The count of EMC_STATIC_STATICWAITWR */
  2463. #define EMC_STATIC_STATICWAITWR_COUNT (4U)
  2464. /*! @name STATIC_STATICWAITTURN - Number of bus turnaround cycles EMC_CSx */
  2465. #define EMC_STATIC_STATICWAITTURN_WAITTURN_MASK (0xFU)
  2466. #define EMC_STATIC_STATICWAITTURN_WAITTURN_SHIFT (0U)
  2467. #define EMC_STATIC_STATICWAITTURN_WAITTURN(x) (((uint32_t)(((uint32_t)(x)) << EMC_STATIC_STATICWAITTURN_WAITTURN_SHIFT)) & EMC_STATIC_STATICWAITTURN_WAITTURN_MASK)
  2468. /* The count of EMC_STATIC_STATICWAITTURN */
  2469. #define EMC_STATIC_STATICWAITTURN_COUNT (4U)
  2470. /*!
  2471. * @}
  2472. */ /* end of group EMC_Register_Masks */
  2473. /* EMC - Peripheral instance base addresses */
  2474. /** Peripheral EMC base address */
  2475. #define EMC_BASE (0x40081000u)
  2476. /** Peripheral EMC base pointer */
  2477. #define EMC ((EMC_Type *)EMC_BASE)
  2478. /** Array initializer of EMC peripheral base addresses */
  2479. #define EMC_BASE_ADDRS { EMC_BASE }
  2480. /** Array initializer of EMC peripheral base pointers */
  2481. #define EMC_BASE_PTRS { EMC }
  2482. /*!
  2483. * @}
  2484. */ /* end of group EMC_Peripheral_Access_Layer */
  2485. /* ----------------------------------------------------------------------------
  2486. -- ENET Peripheral Access Layer
  2487. ---------------------------------------------------------------------------- */
  2488. /*!
  2489. * @addtogroup ENET_Peripheral_Access_Layer ENET Peripheral Access Layer
  2490. * @{
  2491. */
  2492. /** ENET - Register Layout Typedef */
  2493. typedef struct {
  2494. __IO uint32_t MAC_CONFIG; /**< MAC configuration register, offset: 0x0 */
  2495. __IO uint32_t MAC_EXT_CONFIG; /**< , offset: 0x4 */
  2496. __IO uint32_t MAC_FRAME_FILTER; /**< MAC frame filter register, offset: 0x8 */
  2497. __IO uint32_t MAC_WD_TIMEROUT; /**< MAC watchdog Timeout register, offset: 0xC */
  2498. uint8_t RESERVED_0[64];
  2499. __IO uint32_t MAC_VLAN_TAG; /**< MAC vlan tag register, offset: 0x50 */
  2500. uint8_t RESERVED_1[28];
  2501. __IO uint32_t MAC_TX_FLOW_CTRL_Q[2]; /**< Transmit flow control register, array offset: 0x70, array step: 0x4 */
  2502. uint8_t RESERVED_2[24];
  2503. __IO uint32_t MAC_RX_FLOW_CTRL; /**< Receive flow control register, offset: 0x90 */
  2504. uint8_t RESERVED_3[4];
  2505. __IO uint32_t MAC_TXQ_PRIO_MAP; /**< , offset: 0x98 */
  2506. uint8_t RESERVED_4[4];
  2507. __IO uint32_t MAC_RXQ_CTRL[3]; /**< Receive Queue Control 0 register 0x0000, array offset: 0xA0, array step: 0x4 */
  2508. uint8_t RESERVED_5[4];
  2509. __I uint32_t MAC_INTR_STAT; /**< Interrupt status register 0x0000, offset: 0xB0 */
  2510. __IO uint32_t MAC_INTR_EN; /**< Interrupt enable register 0x0000, offset: 0xB4 */
  2511. __I uint32_t MAC_RXTX_STAT; /**< Receive Transmit Status register, offset: 0xB8 */
  2512. uint8_t RESERVED_6[4];
  2513. __IO uint32_t MAC_PMT_CRTL_STAT; /**< , offset: 0xC0 */
  2514. __IO uint32_t MAC_RWAKE_FRFLT; /**< Remote wake-up frame filter, offset: 0xC4 */
  2515. uint8_t RESERVED_7[8];
  2516. __IO uint32_t MAC_LPI_CTRL_STAT; /**< LPI Control and Status Register, offset: 0xD0 */
  2517. __IO uint32_t MAC_LPI_TIMER_CTRL; /**< LPI Timers Control register, offset: 0xD4 */
  2518. __IO uint32_t MAC_LPI_ENTR_TIMR; /**< LPI entry Timer register, offset: 0xD8 */
  2519. __IO uint32_t MAC_1US_TIC_COUNTR; /**< , offset: 0xDC */
  2520. uint8_t RESERVED_8[48];
  2521. __IO uint32_t MAC_VERSION; /**< MAC version register, offset: 0x110 */
  2522. __I uint32_t MAC_DBG; /**< MAC debug register, offset: 0x114 */
  2523. uint8_t RESERVED_9[4];
  2524. __IO uint32_t MAC_HW_FEAT[3]; /**< MAC hardware feature register 0x0201, array offset: 0x11C, array step: 0x4 */
  2525. uint8_t RESERVED_10[216];
  2526. __IO uint32_t MAC_MDIO_ADDR; /**< MIDO address Register, offset: 0x200 */
  2527. __IO uint32_t MAC_MDIO_DATA; /**< MDIO Data register, offset: 0x204 */
  2528. uint8_t RESERVED_11[248];
  2529. __IO uint32_t MAC_ADDR_HIGH; /**< MAC address0 high register, offset: 0x300 */
  2530. __IO uint32_t MAC_ADDR_LOW; /**< MAC address0 low register, offset: 0x304 */
  2531. uint8_t RESERVED_12[2040];
  2532. __IO uint32_t MAC_TIMESTAMP_CTRL; /**< Time stamp control register, offset: 0xB00 */
  2533. __IO uint32_t MAC_SUB_SCND_INCR; /**< Sub-second increment register, offset: 0xB04 */
  2534. __I uint32_t MAC_SYS_TIME_SCND; /**< System time seconds register, offset: 0xB08 */
  2535. __I uint32_t MAC_SYS_TIME_NSCND; /**< System time nanoseconds register, offset: 0xB0C */
  2536. __IO uint32_t MAC_SYS_TIME_SCND_UPD; /**< , offset: 0xB10 */
  2537. __IO uint32_t MAC_SYS_TIME_NSCND_UPD; /**< , offset: 0xB14 */
  2538. __IO uint32_t MAC_SYS_TIMESTMP_ADDEND; /**< Time stamp addend register, offset: 0xB18 */
  2539. __IO uint32_t MAC_SYS_TIME_HWORD_SCND; /**< , offset: 0xB1C */
  2540. __I uint32_t MAC_SYS_TIMESTMP_STAT; /**< Time stamp status register, offset: 0xB20 */
  2541. uint8_t RESERVED_13[12];
  2542. __I uint32_t MAC_TX_TIMESTAMP_STATUS_NANOSECONDS; /**< Tx timestamp status nanoseconds, offset: 0xB30 */
  2543. __I uint32_t MAC_TX_TIMESTAMP_STATUS_SECONDS; /**< Tx timestamp status seconds, offset: 0xB34 */
  2544. uint8_t RESERVED_14[32];
  2545. __IO uint32_t MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND; /**< Timestamp ingress correction, offset: 0xB58 */
  2546. __IO uint32_t MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND; /**< Timestamp egress correction, offset: 0xB5C */
  2547. uint8_t RESERVED_15[160];
  2548. __IO uint32_t MTL_OP_MODE; /**< MTL Operation Mode Register, offset: 0xC00 */
  2549. uint8_t RESERVED_16[28];
  2550. __I uint32_t MTL_INTR_STAT; /**< MTL Interrupt Status register, offset: 0xC20 */
  2551. uint8_t RESERVED_17[12];
  2552. __IO uint32_t MTL_RXQ_DMA_MAP; /**< MTL Receive Queue and DMA Channel Mapping register, offset: 0xC30 */
  2553. uint8_t RESERVED_18[204];
  2554. struct { /* offset: 0xD00, array step: 0x40 */
  2555. __IO uint32_t MTL_TXQX_OP_MODE; /**< MTL TxQx Operation Mode register, array offset: 0xD00, array step: 0x40 */
  2556. __I uint32_t MTL_TXQX_UNDRFLW; /**< MTL TxQx Underflow register, array offset: 0xD04, array step: 0x40 */
  2557. __I uint32_t MTL_TXQX_DBG; /**< MTL TxQx Debug register, array offset: 0xD08, array step: 0x40 */
  2558. uint8_t RESERVED_0[4];
  2559. __IO uint32_t MTL_TXQX_ETS_CTRL; /**< MTL TxQx ETS control register, only TxQ1 support, array offset: 0xD10, array step: 0x40 */
  2560. __IO uint32_t MTL_TXQX_ETS_STAT; /**< MTL TxQx ETS Status register, array offset: 0xD14, array step: 0x40 */
  2561. __IO uint32_t MTL_TXQX_QNTM_WGHT; /**< , array offset: 0xD18, array step: 0x40 */
  2562. __IO uint32_t MTL_TXQX_SNDSLP_CRDT; /**< MTL TxQx SendSlopCredit register, only TxQ1 support, array offset: 0xD1C, array step: 0x40 */
  2563. __IO uint32_t MTL_TXQX_HI_CRDT; /**< MTL TxQx hiCredit register, only TxQ1 support, array offset: 0xD20, array step: 0x40 */
  2564. __IO uint32_t MTL_TXQX_LO_CRDT; /**< MTL TxQx loCredit register, only TxQ1 support, array offset: 0xD24, array step: 0x40 */
  2565. uint8_t RESERVED_1[4];
  2566. __IO uint32_t MTL_TXQX_INTCTRL_STAT; /**< , array offset: 0xD2C, array step: 0x40 */
  2567. __IO uint32_t MTL_RXQX_OP_MODE; /**< MTL RxQx Operation Mode register, array offset: 0xD30, array step: 0x40 */
  2568. __IO uint32_t MTL_RXQX_MISSPKT_OVRFLW_CNT; /**< MTL RxQx Missed Packet Overflow Counter register, array offset: 0xD34, array step: 0x40 */
  2569. __IO uint32_t MTL_RXQX_DBG; /**< MTL RxQx Debug register, array offset: 0xD38, array step: 0x40 */
  2570. __IO uint32_t MTL_RXQX_CTRL; /**< MTL RxQx Control register, array offset: 0xD3C, array step: 0x40 */
  2571. } MTL_QUEUE[2];
  2572. uint8_t RESERVED_19[640];
  2573. __IO uint32_t DMA_MODE; /**< DMA mode register, offset: 0x1000 */
  2574. __IO uint32_t DMA_SYSBUS_MODE; /**< DMA System Bus mode, offset: 0x1004 */
  2575. __IO uint32_t DMA_INTR_STAT; /**< DMA Interrupt status, offset: 0x1008 */
  2576. __IO uint32_t DMA_DBG_STAT; /**< DMA Debug Status, offset: 0x100C */
  2577. uint8_t RESERVED_20[240];
  2578. struct { /* offset: 0x1100, array step: 0x80 */
  2579. __IO uint32_t DMA_CHX_CTRL; /**< DMA Channelx Control, array offset: 0x1100, array step: 0x80 */
  2580. __IO uint32_t DMA_CHX_TX_CTRL; /**< DMA Channelx Transmit Control, array offset: 0x1104, array step: 0x80 */
  2581. __IO uint32_t DMA_CHX_RX_CTRL; /**< DMA Channelx Receive Control, array offset: 0x1108, array step: 0x80 */
  2582. uint8_t RESERVED_0[8];
  2583. __IO uint32_t DMA_CHX_TXDESC_LIST_ADDR; /**< , array offset: 0x1114, array step: 0x80 */
  2584. uint8_t RESERVED_1[4];
  2585. __IO uint32_t DMA_CHX_RXDESC_LIST_ADDR; /**< , array offset: 0x111C, array step: 0x80 */
  2586. __IO uint32_t DMA_CHX_TXDESC_TAIL_PTR; /**< , array offset: 0x1120, array step: 0x80 */
  2587. uint8_t RESERVED_2[4];
  2588. __IO uint32_t DMA_CHX_RXDESC_TAIL_PTR; /**< , array offset: 0x1128, array step: 0x80 */
  2589. __IO uint32_t DMA_CHX_TXDESC_RING_LENGTH; /**< , array offset: 0x112C, array step: 0x80 */
  2590. __IO uint32_t DMA_CHX_RXDESC_RING_LENGTH; /**< Channelx Rx descriptor Ring Length, array offset: 0x1130, array step: 0x80 */
  2591. __IO uint32_t DMA_CHX_INT_EN; /**< Channelx Interrupt Enable, array offset: 0x1134, array step: 0x80 */
  2592. __IO uint32_t DMA_CHX_RX_INT_WDTIMER; /**< Receive Interrupt Watchdog Timer, array offset: 0x1138, array step: 0x80 */
  2593. __IO uint32_t DMA_CHX_SLOT_FUNC_CTRL_STAT; /**< Slot Function Control and Status, array offset: 0x113C, array step: 0x80 */
  2594. uint8_t RESERVED_3[4];
  2595. __I uint32_t DMA_CHX_CUR_HST_TXDESC; /**< Channelx Current Host Transmit descriptor, array offset: 0x1144, array step: 0x80 */
  2596. uint8_t RESERVED_4[4];
  2597. __I uint32_t DMA_CHX_CUR_HST_RXDESC; /**< , array offset: 0x114C, array step: 0x80 */
  2598. uint8_t RESERVED_5[4];
  2599. __I uint32_t DMA_CHX_CUR_HST_TXBUF; /**< , array offset: 0x1154, array step: 0x80 */
  2600. uint8_t RESERVED_6[4];
  2601. __I uint32_t DMA_CHX_CUR_HST_RXBUF; /**< Channelx Current Application Receive Buffer Address, array offset: 0x115C, array step: 0x80 */
  2602. __IO uint32_t DMA_CHX_STAT; /**< Channelx DMA status register, array offset: 0x1160, array step: 0x80 */
  2603. uint8_t RESERVED_7[28];
  2604. } DMA_CH[2];
  2605. } ENET_Type;
  2606. /* ----------------------------------------------------------------------------
  2607. -- ENET Register Masks
  2608. ---------------------------------------------------------------------------- */
  2609. /*!
  2610. * @addtogroup ENET_Register_Masks ENET Register Masks
  2611. * @{
  2612. */
  2613. /*! @name MAC_CONFIG - MAC configuration register */
  2614. #define ENET_MAC_CONFIG_RE_MASK (0x1U)
  2615. #define ENET_MAC_CONFIG_RE_SHIFT (0U)
  2616. #define ENET_MAC_CONFIG_RE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_RE_SHIFT)) & ENET_MAC_CONFIG_RE_MASK)
  2617. #define ENET_MAC_CONFIG_TE_MASK (0x2U)
  2618. #define ENET_MAC_CONFIG_TE_SHIFT (1U)
  2619. #define ENET_MAC_CONFIG_TE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_TE_SHIFT)) & ENET_MAC_CONFIG_TE_MASK)
  2620. #define ENET_MAC_CONFIG_PRELEN_MASK (0xCU)
  2621. #define ENET_MAC_CONFIG_PRELEN_SHIFT (2U)
  2622. #define ENET_MAC_CONFIG_PRELEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_PRELEN_SHIFT)) & ENET_MAC_CONFIG_PRELEN_MASK)
  2623. #define ENET_MAC_CONFIG_DC_MASK (0x10U)
  2624. #define ENET_MAC_CONFIG_DC_SHIFT (4U)
  2625. #define ENET_MAC_CONFIG_DC(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_DC_SHIFT)) & ENET_MAC_CONFIG_DC_MASK)
  2626. #define ENET_MAC_CONFIG_BL_MASK (0x60U)
  2627. #define ENET_MAC_CONFIG_BL_SHIFT (5U)
  2628. #define ENET_MAC_CONFIG_BL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_BL_SHIFT)) & ENET_MAC_CONFIG_BL_MASK)
  2629. #define ENET_MAC_CONFIG_DR_MASK (0x100U)
  2630. #define ENET_MAC_CONFIG_DR_SHIFT (8U)
  2631. #define ENET_MAC_CONFIG_DR(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_DR_SHIFT)) & ENET_MAC_CONFIG_DR_MASK)
  2632. #define ENET_MAC_CONFIG_DCRS_MASK (0x200U)
  2633. #define ENET_MAC_CONFIG_DCRS_SHIFT (9U)
  2634. #define ENET_MAC_CONFIG_DCRS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_DCRS_SHIFT)) & ENET_MAC_CONFIG_DCRS_MASK)
  2635. #define ENET_MAC_CONFIG_DO_MASK (0x400U)
  2636. #define ENET_MAC_CONFIG_DO_SHIFT (10U)
  2637. #define ENET_MAC_CONFIG_DO(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_DO_SHIFT)) & ENET_MAC_CONFIG_DO_MASK)
  2638. #define ENET_MAC_CONFIG_ECRSFD_MASK (0x800U)
  2639. #define ENET_MAC_CONFIG_ECRSFD_SHIFT (11U)
  2640. #define ENET_MAC_CONFIG_ECRSFD(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_ECRSFD_SHIFT)) & ENET_MAC_CONFIG_ECRSFD_MASK)
  2641. #define ENET_MAC_CONFIG_LM_MASK (0x1000U)
  2642. #define ENET_MAC_CONFIG_LM_SHIFT (12U)
  2643. #define ENET_MAC_CONFIG_LM(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_LM_SHIFT)) & ENET_MAC_CONFIG_LM_MASK)
  2644. #define ENET_MAC_CONFIG_DM_MASK (0x2000U)
  2645. #define ENET_MAC_CONFIG_DM_SHIFT (13U)
  2646. #define ENET_MAC_CONFIG_DM(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_DM_SHIFT)) & ENET_MAC_CONFIG_DM_MASK)
  2647. #define ENET_MAC_CONFIG_FES_MASK (0x4000U)
  2648. #define ENET_MAC_CONFIG_FES_SHIFT (14U)
  2649. #define ENET_MAC_CONFIG_FES(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_FES_SHIFT)) & ENET_MAC_CONFIG_FES_MASK)
  2650. #define ENET_MAC_CONFIG_PS_MASK (0x8000U)
  2651. #define ENET_MAC_CONFIG_PS_SHIFT (15U)
  2652. #define ENET_MAC_CONFIG_PS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_PS_SHIFT)) & ENET_MAC_CONFIG_PS_MASK)
  2653. #define ENET_MAC_CONFIG_JE_MASK (0x10000U)
  2654. #define ENET_MAC_CONFIG_JE_SHIFT (16U)
  2655. #define ENET_MAC_CONFIG_JE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_JE_SHIFT)) & ENET_MAC_CONFIG_JE_MASK)
  2656. #define ENET_MAC_CONFIG_JD_MASK (0x20000U)
  2657. #define ENET_MAC_CONFIG_JD_SHIFT (17U)
  2658. #define ENET_MAC_CONFIG_JD(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_JD_SHIFT)) & ENET_MAC_CONFIG_JD_MASK)
  2659. #define ENET_MAC_CONFIG_BE_MASK (0x40000U)
  2660. #define ENET_MAC_CONFIG_BE_SHIFT (18U)
  2661. #define ENET_MAC_CONFIG_BE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_BE_SHIFT)) & ENET_MAC_CONFIG_BE_MASK)
  2662. #define ENET_MAC_CONFIG_WD_MASK (0x80000U)
  2663. #define ENET_MAC_CONFIG_WD_SHIFT (19U)
  2664. #define ENET_MAC_CONFIG_WD(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_WD_SHIFT)) & ENET_MAC_CONFIG_WD_MASK)
  2665. #define ENET_MAC_CONFIG_ACS_MASK (0x100000U)
  2666. #define ENET_MAC_CONFIG_ACS_SHIFT (20U)
  2667. #define ENET_MAC_CONFIG_ACS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_ACS_SHIFT)) & ENET_MAC_CONFIG_ACS_MASK)
  2668. #define ENET_MAC_CONFIG_CST_MASK (0x200000U)
  2669. #define ENET_MAC_CONFIG_CST_SHIFT (21U)
  2670. #define ENET_MAC_CONFIG_CST(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_CST_SHIFT)) & ENET_MAC_CONFIG_CST_MASK)
  2671. #define ENET_MAC_CONFIG_S2KP_MASK (0x400000U)
  2672. #define ENET_MAC_CONFIG_S2KP_SHIFT (22U)
  2673. #define ENET_MAC_CONFIG_S2KP(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_S2KP_SHIFT)) & ENET_MAC_CONFIG_S2KP_MASK)
  2674. #define ENET_MAC_CONFIG_GPSLCE_MASK (0x800000U)
  2675. #define ENET_MAC_CONFIG_GPSLCE_SHIFT (23U)
  2676. #define ENET_MAC_CONFIG_GPSLCE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_GPSLCE_SHIFT)) & ENET_MAC_CONFIG_GPSLCE_MASK)
  2677. #define ENET_MAC_CONFIG_IPG_MASK (0x7000000U)
  2678. #define ENET_MAC_CONFIG_IPG_SHIFT (24U)
  2679. #define ENET_MAC_CONFIG_IPG(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_IPG_SHIFT)) & ENET_MAC_CONFIG_IPG_MASK)
  2680. #define ENET_MAC_CONFIG_IPC_MASK (0x8000000U)
  2681. #define ENET_MAC_CONFIG_IPC_SHIFT (27U)
  2682. #define ENET_MAC_CONFIG_IPC(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_CONFIG_IPC_SHIFT)) & ENET_MAC_CONFIG_IPC_MASK)
  2683. /*! @name MAC_EXT_CONFIG - */
  2684. #define ENET_MAC_EXT_CONFIG_GPSL_MASK (0x3FFFU)
  2685. #define ENET_MAC_EXT_CONFIG_GPSL_SHIFT (0U)
  2686. #define ENET_MAC_EXT_CONFIG_GPSL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_EXT_CONFIG_GPSL_SHIFT)) & ENET_MAC_EXT_CONFIG_GPSL_MASK)
  2687. #define ENET_MAC_EXT_CONFIG_DCRCC_MASK (0x10000U)
  2688. #define ENET_MAC_EXT_CONFIG_DCRCC_SHIFT (16U)
  2689. #define ENET_MAC_EXT_CONFIG_DCRCC(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_EXT_CONFIG_DCRCC_SHIFT)) & ENET_MAC_EXT_CONFIG_DCRCC_MASK)
  2690. #define ENET_MAC_EXT_CONFIG_SPEN_MASK (0x20000U)
  2691. #define ENET_MAC_EXT_CONFIG_SPEN_SHIFT (17U)
  2692. #define ENET_MAC_EXT_CONFIG_SPEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_EXT_CONFIG_SPEN_SHIFT)) & ENET_MAC_EXT_CONFIG_SPEN_MASK)
  2693. #define ENET_MAC_EXT_CONFIG_USP_MASK (0x40000U)
  2694. #define ENET_MAC_EXT_CONFIG_USP_SHIFT (18U)
  2695. #define ENET_MAC_EXT_CONFIG_USP(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_EXT_CONFIG_USP_SHIFT)) & ENET_MAC_EXT_CONFIG_USP_MASK)
  2696. /*! @name MAC_FRAME_FILTER - MAC frame filter register */
  2697. #define ENET_MAC_FRAME_FILTER_PR_MASK (0x1U)
  2698. #define ENET_MAC_FRAME_FILTER_PR_SHIFT (0U)
  2699. #define ENET_MAC_FRAME_FILTER_PR(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_FRAME_FILTER_PR_SHIFT)) & ENET_MAC_FRAME_FILTER_PR_MASK)
  2700. #define ENET_MAC_FRAME_FILTER_DAIF_MASK (0x8U)
  2701. #define ENET_MAC_FRAME_FILTER_DAIF_SHIFT (3U)
  2702. #define ENET_MAC_FRAME_FILTER_DAIF(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_FRAME_FILTER_DAIF_SHIFT)) & ENET_MAC_FRAME_FILTER_DAIF_MASK)
  2703. #define ENET_MAC_FRAME_FILTER_PM_MASK (0x10U)
  2704. #define ENET_MAC_FRAME_FILTER_PM_SHIFT (4U)
  2705. #define ENET_MAC_FRAME_FILTER_PM(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_FRAME_FILTER_PM_SHIFT)) & ENET_MAC_FRAME_FILTER_PM_MASK)
  2706. #define ENET_MAC_FRAME_FILTER_DBF_MASK (0x20U)
  2707. #define ENET_MAC_FRAME_FILTER_DBF_SHIFT (5U)
  2708. #define ENET_MAC_FRAME_FILTER_DBF(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_FRAME_FILTER_DBF_SHIFT)) & ENET_MAC_FRAME_FILTER_DBF_MASK)
  2709. #define ENET_MAC_FRAME_FILTER_PCF_MASK (0xC0U)
  2710. #define ENET_MAC_FRAME_FILTER_PCF_SHIFT (6U)
  2711. #define ENET_MAC_FRAME_FILTER_PCF(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_FRAME_FILTER_PCF_SHIFT)) & ENET_MAC_FRAME_FILTER_PCF_MASK)
  2712. #define ENET_MAC_FRAME_FILTER_SAIF_MASK (0x100U)
  2713. #define ENET_MAC_FRAME_FILTER_SAIF_SHIFT (8U)
  2714. #define ENET_MAC_FRAME_FILTER_SAIF(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_FRAME_FILTER_SAIF_SHIFT)) & ENET_MAC_FRAME_FILTER_SAIF_MASK)
  2715. #define ENET_MAC_FRAME_FILTER_SAF_MASK (0x200U)
  2716. #define ENET_MAC_FRAME_FILTER_SAF_SHIFT (9U)
  2717. #define ENET_MAC_FRAME_FILTER_SAF(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_FRAME_FILTER_SAF_SHIFT)) & ENET_MAC_FRAME_FILTER_SAF_MASK)
  2718. #define ENET_MAC_FRAME_FILTER_RA_MASK (0x80000000U)
  2719. #define ENET_MAC_FRAME_FILTER_RA_SHIFT (31U)
  2720. #define ENET_MAC_FRAME_FILTER_RA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_FRAME_FILTER_RA_SHIFT)) & ENET_MAC_FRAME_FILTER_RA_MASK)
  2721. /*! @name MAC_WD_TIMEROUT - MAC watchdog Timeout register */
  2722. #define ENET_MAC_WD_TIMEROUT_WTO_MASK (0xFU)
  2723. #define ENET_MAC_WD_TIMEROUT_WTO_SHIFT (0U)
  2724. #define ENET_MAC_WD_TIMEROUT_WTO(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_WD_TIMEROUT_WTO_SHIFT)) & ENET_MAC_WD_TIMEROUT_WTO_MASK)
  2725. #define ENET_MAC_WD_TIMEROUT_PWE_MASK (0x100U)
  2726. #define ENET_MAC_WD_TIMEROUT_PWE_SHIFT (8U)
  2727. #define ENET_MAC_WD_TIMEROUT_PWE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_WD_TIMEROUT_PWE_SHIFT)) & ENET_MAC_WD_TIMEROUT_PWE_MASK)
  2728. /*! @name MAC_VLAN_TAG - MAC vlan tag register */
  2729. #define ENET_MAC_VLAN_TAG_VL_MASK (0xFFFFU)
  2730. #define ENET_MAC_VLAN_TAG_VL_SHIFT (0U)
  2731. #define ENET_MAC_VLAN_TAG_VL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_VLAN_TAG_VL_SHIFT)) & ENET_MAC_VLAN_TAG_VL_MASK)
  2732. #define ENET_MAC_VLAN_TAG_ETV_MASK (0x10000U)
  2733. #define ENET_MAC_VLAN_TAG_ETV_SHIFT (16U)
  2734. #define ENET_MAC_VLAN_TAG_ETV(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_VLAN_TAG_ETV_SHIFT)) & ENET_MAC_VLAN_TAG_ETV_MASK)
  2735. #define ENET_MAC_VLAN_TAG_VTIM_MASK (0x20000U)
  2736. #define ENET_MAC_VLAN_TAG_VTIM_SHIFT (17U)
  2737. #define ENET_MAC_VLAN_TAG_VTIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_VLAN_TAG_VTIM_SHIFT)) & ENET_MAC_VLAN_TAG_VTIM_MASK)
  2738. #define ENET_MAC_VLAN_TAG_ESVL_MASK (0x40000U)
  2739. #define ENET_MAC_VLAN_TAG_ESVL_SHIFT (18U)
  2740. #define ENET_MAC_VLAN_TAG_ESVL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_VLAN_TAG_ESVL_SHIFT)) & ENET_MAC_VLAN_TAG_ESVL_MASK)
  2741. #define ENET_MAC_VLAN_TAG_ERSVLM_MASK (0x80000U)
  2742. #define ENET_MAC_VLAN_TAG_ERSVLM_SHIFT (19U)
  2743. #define ENET_MAC_VLAN_TAG_ERSVLM(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_VLAN_TAG_ERSVLM_SHIFT)) & ENET_MAC_VLAN_TAG_ERSVLM_MASK)
  2744. #define ENET_MAC_VLAN_TAG_DOVLTC_MASK (0x100000U)
  2745. #define ENET_MAC_VLAN_TAG_DOVLTC_SHIFT (20U)
  2746. #define ENET_MAC_VLAN_TAG_DOVLTC(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_VLAN_TAG_DOVLTC_SHIFT)) & ENET_MAC_VLAN_TAG_DOVLTC_MASK)
  2747. #define ENET_MAC_VLAN_TAG_EVLS_MASK (0x600000U)
  2748. #define ENET_MAC_VLAN_TAG_EVLS_SHIFT (21U)
  2749. #define ENET_MAC_VLAN_TAG_EVLS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_VLAN_TAG_EVLS_SHIFT)) & ENET_MAC_VLAN_TAG_EVLS_MASK)
  2750. #define ENET_MAC_VLAN_TAG_EVLRXS_MASK (0x1000000U)
  2751. #define ENET_MAC_VLAN_TAG_EVLRXS_SHIFT (24U)
  2752. #define ENET_MAC_VLAN_TAG_EVLRXS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_VLAN_TAG_EVLRXS_SHIFT)) & ENET_MAC_VLAN_TAG_EVLRXS_MASK)
  2753. #define ENET_MAC_VLAN_TAG_VTHM_MASK (0x2000000U)
  2754. #define ENET_MAC_VLAN_TAG_VTHM_SHIFT (25U)
  2755. #define ENET_MAC_VLAN_TAG_VTHM(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_VLAN_TAG_VTHM_SHIFT)) & ENET_MAC_VLAN_TAG_VTHM_MASK)
  2756. #define ENET_MAC_VLAN_TAG_EDVLP_MASK (0x4000000U)
  2757. #define ENET_MAC_VLAN_TAG_EDVLP_SHIFT (26U)
  2758. #define ENET_MAC_VLAN_TAG_EDVLP(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_VLAN_TAG_EDVLP_SHIFT)) & ENET_MAC_VLAN_TAG_EDVLP_MASK)
  2759. #define ENET_MAC_VLAN_TAG_ERIVLT_MASK (0x8000000U)
  2760. #define ENET_MAC_VLAN_TAG_ERIVLT_SHIFT (27U)
  2761. #define ENET_MAC_VLAN_TAG_ERIVLT(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_VLAN_TAG_ERIVLT_SHIFT)) & ENET_MAC_VLAN_TAG_ERIVLT_MASK)
  2762. #define ENET_MAC_VLAN_TAG_EIVLS_MASK (0x30000000U)
  2763. #define ENET_MAC_VLAN_TAG_EIVLS_SHIFT (28U)
  2764. #define ENET_MAC_VLAN_TAG_EIVLS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_VLAN_TAG_EIVLS_SHIFT)) & ENET_MAC_VLAN_TAG_EIVLS_MASK)
  2765. #define ENET_MAC_VLAN_TAG_EIVLRXS_MASK (0x80000000U)
  2766. #define ENET_MAC_VLAN_TAG_EIVLRXS_SHIFT (31U)
  2767. #define ENET_MAC_VLAN_TAG_EIVLRXS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_VLAN_TAG_EIVLRXS_SHIFT)) & ENET_MAC_VLAN_TAG_EIVLRXS_MASK)
  2768. /*! @name MAC_TX_FLOW_CTRL_Q - Transmit flow control register */
  2769. #define ENET_MAC_TX_FLOW_CTRL_Q_FCB_MASK (0x1U)
  2770. #define ENET_MAC_TX_FLOW_CTRL_Q_FCB_SHIFT (0U)
  2771. #define ENET_MAC_TX_FLOW_CTRL_Q_FCB(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TX_FLOW_CTRL_Q_FCB_SHIFT)) & ENET_MAC_TX_FLOW_CTRL_Q_FCB_MASK)
  2772. #define ENET_MAC_TX_FLOW_CTRL_Q_TFE_MASK (0x2U)
  2773. #define ENET_MAC_TX_FLOW_CTRL_Q_TFE_SHIFT (1U)
  2774. #define ENET_MAC_TX_FLOW_CTRL_Q_TFE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TX_FLOW_CTRL_Q_TFE_SHIFT)) & ENET_MAC_TX_FLOW_CTRL_Q_TFE_MASK)
  2775. #define ENET_MAC_TX_FLOW_CTRL_Q_PLT_MASK (0x70U)
  2776. #define ENET_MAC_TX_FLOW_CTRL_Q_PLT_SHIFT (4U)
  2777. #define ENET_MAC_TX_FLOW_CTRL_Q_PLT(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TX_FLOW_CTRL_Q_PLT_SHIFT)) & ENET_MAC_TX_FLOW_CTRL_Q_PLT_MASK)
  2778. #define ENET_MAC_TX_FLOW_CTRL_Q_DZPQ_MASK (0x80U)
  2779. #define ENET_MAC_TX_FLOW_CTRL_Q_DZPQ_SHIFT (7U)
  2780. #define ENET_MAC_TX_FLOW_CTRL_Q_DZPQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TX_FLOW_CTRL_Q_DZPQ_SHIFT)) & ENET_MAC_TX_FLOW_CTRL_Q_DZPQ_MASK)
  2781. #define ENET_MAC_TX_FLOW_CTRL_Q_PT_MASK (0xFFFF0000U)
  2782. #define ENET_MAC_TX_FLOW_CTRL_Q_PT_SHIFT (16U)
  2783. #define ENET_MAC_TX_FLOW_CTRL_Q_PT(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TX_FLOW_CTRL_Q_PT_SHIFT)) & ENET_MAC_TX_FLOW_CTRL_Q_PT_MASK)
  2784. /* The count of ENET_MAC_TX_FLOW_CTRL_Q */
  2785. #define ENET_MAC_TX_FLOW_CTRL_Q_COUNT (2U)
  2786. /*! @name MAC_RX_FLOW_CTRL - Receive flow control register */
  2787. #define ENET_MAC_RX_FLOW_CTRL_RFE_MASK (0x1U)
  2788. #define ENET_MAC_RX_FLOW_CTRL_RFE_SHIFT (0U)
  2789. #define ENET_MAC_RX_FLOW_CTRL_RFE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RX_FLOW_CTRL_RFE_SHIFT)) & ENET_MAC_RX_FLOW_CTRL_RFE_MASK)
  2790. #define ENET_MAC_RX_FLOW_CTRL_UP_MASK (0x2U)
  2791. #define ENET_MAC_RX_FLOW_CTRL_UP_SHIFT (1U)
  2792. #define ENET_MAC_RX_FLOW_CTRL_UP(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RX_FLOW_CTRL_UP_SHIFT)) & ENET_MAC_RX_FLOW_CTRL_UP_MASK)
  2793. /*! @name MAC_TXQ_PRIO_MAP - */
  2794. #define ENET_MAC_TXQ_PRIO_MAP_PSTQ0_MASK (0xFFU)
  2795. #define ENET_MAC_TXQ_PRIO_MAP_PSTQ0_SHIFT (0U)
  2796. #define ENET_MAC_TXQ_PRIO_MAP_PSTQ0(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TXQ_PRIO_MAP_PSTQ0_SHIFT)) & ENET_MAC_TXQ_PRIO_MAP_PSTQ0_MASK)
  2797. #define ENET_MAC_TXQ_PRIO_MAP_PSTQ1_MASK (0xFF00U)
  2798. #define ENET_MAC_TXQ_PRIO_MAP_PSTQ1_SHIFT (8U)
  2799. #define ENET_MAC_TXQ_PRIO_MAP_PSTQ1(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TXQ_PRIO_MAP_PSTQ1_SHIFT)) & ENET_MAC_TXQ_PRIO_MAP_PSTQ1_MASK)
  2800. /*! @name MAC_RXQ_CTRL - Receive Queue Control 0 register 0x0000 */
  2801. #define ENET_MAC_RXQ_CTRL_RXQ0EN_MASK (0x3U)
  2802. #define ENET_MAC_RXQ_CTRL_RXQ0EN_SHIFT (0U)
  2803. #define ENET_MAC_RXQ_CTRL_RXQ0EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RXQ_CTRL_RXQ0EN_SHIFT)) & ENET_MAC_RXQ_CTRL_RXQ0EN_MASK)
  2804. #define ENET_MAC_RXQ_CTRL_PSRQ0_MASK (0xFFU)
  2805. #define ENET_MAC_RXQ_CTRL_PSRQ0_SHIFT (0U)
  2806. #define ENET_MAC_RXQ_CTRL_PSRQ0(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RXQ_CTRL_PSRQ0_SHIFT)) & ENET_MAC_RXQ_CTRL_PSRQ0_MASK)
  2807. #define ENET_MAC_RXQ_CTRL_AVCPQ_MASK (0x7U)
  2808. #define ENET_MAC_RXQ_CTRL_AVCPQ_SHIFT (0U)
  2809. #define ENET_MAC_RXQ_CTRL_AVCPQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RXQ_CTRL_AVCPQ_SHIFT)) & ENET_MAC_RXQ_CTRL_AVCPQ_MASK)
  2810. #define ENET_MAC_RXQ_CTRL_RXQ1EN_MASK (0xCU)
  2811. #define ENET_MAC_RXQ_CTRL_RXQ1EN_SHIFT (2U)
  2812. #define ENET_MAC_RXQ_CTRL_RXQ1EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RXQ_CTRL_RXQ1EN_SHIFT)) & ENET_MAC_RXQ_CTRL_RXQ1EN_MASK)
  2813. #define ENET_MAC_RXQ_CTRL_AVPTPQ_MASK (0x70U)
  2814. #define ENET_MAC_RXQ_CTRL_AVPTPQ_SHIFT (4U)
  2815. #define ENET_MAC_RXQ_CTRL_AVPTPQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RXQ_CTRL_AVPTPQ_SHIFT)) & ENET_MAC_RXQ_CTRL_AVPTPQ_MASK)
  2816. #define ENET_MAC_RXQ_CTRL_PSRQ1_MASK (0xFF00U)
  2817. #define ENET_MAC_RXQ_CTRL_PSRQ1_SHIFT (8U)
  2818. #define ENET_MAC_RXQ_CTRL_PSRQ1(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RXQ_CTRL_PSRQ1_SHIFT)) & ENET_MAC_RXQ_CTRL_PSRQ1_MASK)
  2819. #define ENET_MAC_RXQ_CTRL_UPQ_MASK (0x7000U)
  2820. #define ENET_MAC_RXQ_CTRL_UPQ_SHIFT (12U)
  2821. #define ENET_MAC_RXQ_CTRL_UPQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RXQ_CTRL_UPQ_SHIFT)) & ENET_MAC_RXQ_CTRL_UPQ_MASK)
  2822. #define ENET_MAC_RXQ_CTRL_PSRQ2_MASK (0xFF0000U)
  2823. #define ENET_MAC_RXQ_CTRL_PSRQ2_SHIFT (16U)
  2824. #define ENET_MAC_RXQ_CTRL_PSRQ2(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RXQ_CTRL_PSRQ2_SHIFT)) & ENET_MAC_RXQ_CTRL_PSRQ2_MASK)
  2825. #define ENET_MAC_RXQ_CTRL_MCBCQ_MASK (0x70000U)
  2826. #define ENET_MAC_RXQ_CTRL_MCBCQ_SHIFT (16U)
  2827. #define ENET_MAC_RXQ_CTRL_MCBCQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RXQ_CTRL_MCBCQ_SHIFT)) & ENET_MAC_RXQ_CTRL_MCBCQ_MASK)
  2828. #define ENET_MAC_RXQ_CTRL_MCBCQEN_MASK (0x100000U)
  2829. #define ENET_MAC_RXQ_CTRL_MCBCQEN_SHIFT (20U)
  2830. #define ENET_MAC_RXQ_CTRL_MCBCQEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RXQ_CTRL_MCBCQEN_SHIFT)) & ENET_MAC_RXQ_CTRL_MCBCQEN_MASK)
  2831. #define ENET_MAC_RXQ_CTRL_PSRQ3_MASK (0xFF000000U)
  2832. #define ENET_MAC_RXQ_CTRL_PSRQ3_SHIFT (24U)
  2833. #define ENET_MAC_RXQ_CTRL_PSRQ3(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RXQ_CTRL_PSRQ3_SHIFT)) & ENET_MAC_RXQ_CTRL_PSRQ3_MASK)
  2834. /* The count of ENET_MAC_RXQ_CTRL */
  2835. #define ENET_MAC_RXQ_CTRL_COUNT (3U)
  2836. /*! @name MAC_INTR_STAT - Interrupt status register 0x0000 */
  2837. #define ENET_MAC_INTR_STAT_PHYIS_MASK (0x8U)
  2838. #define ENET_MAC_INTR_STAT_PHYIS_SHIFT (3U)
  2839. #define ENET_MAC_INTR_STAT_PHYIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_INTR_STAT_PHYIS_SHIFT)) & ENET_MAC_INTR_STAT_PHYIS_MASK)
  2840. #define ENET_MAC_INTR_STAT_PMTIS_MASK (0x10U)
  2841. #define ENET_MAC_INTR_STAT_PMTIS_SHIFT (4U)
  2842. #define ENET_MAC_INTR_STAT_PMTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_INTR_STAT_PMTIS_SHIFT)) & ENET_MAC_INTR_STAT_PMTIS_MASK)
  2843. #define ENET_MAC_INTR_STAT_LPIIS_MASK (0x20U)
  2844. #define ENET_MAC_INTR_STAT_LPIIS_SHIFT (5U)
  2845. #define ENET_MAC_INTR_STAT_LPIIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_INTR_STAT_LPIIS_SHIFT)) & ENET_MAC_INTR_STAT_LPIIS_MASK)
  2846. #define ENET_MAC_INTR_STAT_TSIS_MASK (0x1000U)
  2847. #define ENET_MAC_INTR_STAT_TSIS_SHIFT (12U)
  2848. #define ENET_MAC_INTR_STAT_TSIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_INTR_STAT_TSIS_SHIFT)) & ENET_MAC_INTR_STAT_TSIS_MASK)
  2849. #define ENET_MAC_INTR_STAT_TXSTSIS_MASK (0x2000U)
  2850. #define ENET_MAC_INTR_STAT_TXSTSIS_SHIFT (13U)
  2851. #define ENET_MAC_INTR_STAT_TXSTSIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_INTR_STAT_TXSTSIS_SHIFT)) & ENET_MAC_INTR_STAT_TXSTSIS_MASK)
  2852. #define ENET_MAC_INTR_STAT_RXSTSIS_MASK (0x4000U)
  2853. #define ENET_MAC_INTR_STAT_RXSTSIS_SHIFT (14U)
  2854. #define ENET_MAC_INTR_STAT_RXSTSIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_INTR_STAT_RXSTSIS_SHIFT)) & ENET_MAC_INTR_STAT_RXSTSIS_MASK)
  2855. /*! @name MAC_INTR_EN - Interrupt enable register 0x0000 */
  2856. #define ENET_MAC_INTR_EN_PHYIE_MASK (0x8U)
  2857. #define ENET_MAC_INTR_EN_PHYIE_SHIFT (3U)
  2858. #define ENET_MAC_INTR_EN_PHYIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_INTR_EN_PHYIE_SHIFT)) & ENET_MAC_INTR_EN_PHYIE_MASK)
  2859. #define ENET_MAC_INTR_EN_PMTIE_MASK (0x10U)
  2860. #define ENET_MAC_INTR_EN_PMTIE_SHIFT (4U)
  2861. #define ENET_MAC_INTR_EN_PMTIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_INTR_EN_PMTIE_SHIFT)) & ENET_MAC_INTR_EN_PMTIE_MASK)
  2862. #define ENET_MAC_INTR_EN_LPIIE_MASK (0x20U)
  2863. #define ENET_MAC_INTR_EN_LPIIE_SHIFT (5U)
  2864. #define ENET_MAC_INTR_EN_LPIIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_INTR_EN_LPIIE_SHIFT)) & ENET_MAC_INTR_EN_LPIIE_MASK)
  2865. #define ENET_MAC_INTR_EN_TSIE_MASK (0x1000U)
  2866. #define ENET_MAC_INTR_EN_TSIE_SHIFT (12U)
  2867. #define ENET_MAC_INTR_EN_TSIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_INTR_EN_TSIE_SHIFT)) & ENET_MAC_INTR_EN_TSIE_MASK)
  2868. #define ENET_MAC_INTR_EN_TXSTSIE_MASK (0x2000U)
  2869. #define ENET_MAC_INTR_EN_TXSTSIE_SHIFT (13U)
  2870. #define ENET_MAC_INTR_EN_TXSTSIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_INTR_EN_TXSTSIE_SHIFT)) & ENET_MAC_INTR_EN_TXSTSIE_MASK)
  2871. #define ENET_MAC_INTR_EN_RXSTSIS_MASK (0x4000U)
  2872. #define ENET_MAC_INTR_EN_RXSTSIS_SHIFT (14U)
  2873. #define ENET_MAC_INTR_EN_RXSTSIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_INTR_EN_RXSTSIS_SHIFT)) & ENET_MAC_INTR_EN_RXSTSIS_MASK)
  2874. /*! @name MAC_RXTX_STAT - Receive Transmit Status register */
  2875. #define ENET_MAC_RXTX_STAT_TJT_MASK (0x1U)
  2876. #define ENET_MAC_RXTX_STAT_TJT_SHIFT (0U)
  2877. #define ENET_MAC_RXTX_STAT_TJT(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RXTX_STAT_TJT_SHIFT)) & ENET_MAC_RXTX_STAT_TJT_MASK)
  2878. #define ENET_MAC_RXTX_STAT_NCARR_MASK (0x2U)
  2879. #define ENET_MAC_RXTX_STAT_NCARR_SHIFT (1U)
  2880. #define ENET_MAC_RXTX_STAT_NCARR(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RXTX_STAT_NCARR_SHIFT)) & ENET_MAC_RXTX_STAT_NCARR_MASK)
  2881. #define ENET_MAC_RXTX_STAT_LCARR_MASK (0x4U)
  2882. #define ENET_MAC_RXTX_STAT_LCARR_SHIFT (2U)
  2883. #define ENET_MAC_RXTX_STAT_LCARR(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RXTX_STAT_LCARR_SHIFT)) & ENET_MAC_RXTX_STAT_LCARR_MASK)
  2884. #define ENET_MAC_RXTX_STAT_EXDEF_MASK (0x8U)
  2885. #define ENET_MAC_RXTX_STAT_EXDEF_SHIFT (3U)
  2886. #define ENET_MAC_RXTX_STAT_EXDEF(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RXTX_STAT_EXDEF_SHIFT)) & ENET_MAC_RXTX_STAT_EXDEF_MASK)
  2887. #define ENET_MAC_RXTX_STAT_LCOL_MASK (0x10U)
  2888. #define ENET_MAC_RXTX_STAT_LCOL_SHIFT (4U)
  2889. #define ENET_MAC_RXTX_STAT_LCOL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RXTX_STAT_LCOL_SHIFT)) & ENET_MAC_RXTX_STAT_LCOL_MASK)
  2890. #define ENET_MAC_RXTX_STAT_EXCOL_MASK (0x20U)
  2891. #define ENET_MAC_RXTX_STAT_EXCOL_SHIFT (5U)
  2892. #define ENET_MAC_RXTX_STAT_EXCOL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RXTX_STAT_EXCOL_SHIFT)) & ENET_MAC_RXTX_STAT_EXCOL_MASK)
  2893. #define ENET_MAC_RXTX_STAT_RWT_MASK (0x100U)
  2894. #define ENET_MAC_RXTX_STAT_RWT_SHIFT (8U)
  2895. #define ENET_MAC_RXTX_STAT_RWT(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RXTX_STAT_RWT_SHIFT)) & ENET_MAC_RXTX_STAT_RWT_MASK)
  2896. /*! @name MAC_PMT_CRTL_STAT - */
  2897. #define ENET_MAC_PMT_CRTL_STAT_PWRDWN_MASK (0x1U)
  2898. #define ENET_MAC_PMT_CRTL_STAT_PWRDWN_SHIFT (0U)
  2899. #define ENET_MAC_PMT_CRTL_STAT_PWRDWN(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_PMT_CRTL_STAT_PWRDWN_SHIFT)) & ENET_MAC_PMT_CRTL_STAT_PWRDWN_MASK)
  2900. #define ENET_MAC_PMT_CRTL_STAT_MGKPKTEN_MASK (0x2U)
  2901. #define ENET_MAC_PMT_CRTL_STAT_MGKPKTEN_SHIFT (1U)
  2902. #define ENET_MAC_PMT_CRTL_STAT_MGKPKTEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_PMT_CRTL_STAT_MGKPKTEN_SHIFT)) & ENET_MAC_PMT_CRTL_STAT_MGKPKTEN_MASK)
  2903. #define ENET_MAC_PMT_CRTL_STAT_RWKPKTEN_MASK (0x4U)
  2904. #define ENET_MAC_PMT_CRTL_STAT_RWKPKTEN_SHIFT (2U)
  2905. #define ENET_MAC_PMT_CRTL_STAT_RWKPKTEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_PMT_CRTL_STAT_RWKPKTEN_SHIFT)) & ENET_MAC_PMT_CRTL_STAT_RWKPKTEN_MASK)
  2906. #define ENET_MAC_PMT_CRTL_STAT_MGKPRCVD_MASK (0x20U)
  2907. #define ENET_MAC_PMT_CRTL_STAT_MGKPRCVD_SHIFT (5U)
  2908. #define ENET_MAC_PMT_CRTL_STAT_MGKPRCVD(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_PMT_CRTL_STAT_MGKPRCVD_SHIFT)) & ENET_MAC_PMT_CRTL_STAT_MGKPRCVD_MASK)
  2909. #define ENET_MAC_PMT_CRTL_STAT_RWKPRCVD_MASK (0x40U)
  2910. #define ENET_MAC_PMT_CRTL_STAT_RWKPRCVD_SHIFT (6U)
  2911. #define ENET_MAC_PMT_CRTL_STAT_RWKPRCVD(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_PMT_CRTL_STAT_RWKPRCVD_SHIFT)) & ENET_MAC_PMT_CRTL_STAT_RWKPRCVD_MASK)
  2912. #define ENET_MAC_PMT_CRTL_STAT_GLBLUCAST_MASK (0x200U)
  2913. #define ENET_MAC_PMT_CRTL_STAT_GLBLUCAST_SHIFT (9U)
  2914. #define ENET_MAC_PMT_CRTL_STAT_GLBLUCAST(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_PMT_CRTL_STAT_GLBLUCAST_SHIFT)) & ENET_MAC_PMT_CRTL_STAT_GLBLUCAST_MASK)
  2915. #define ENET_MAC_PMT_CRTL_STAT_RWKPFE_MASK (0x400U)
  2916. #define ENET_MAC_PMT_CRTL_STAT_RWKPFE_SHIFT (10U)
  2917. #define ENET_MAC_PMT_CRTL_STAT_RWKPFE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_PMT_CRTL_STAT_RWKPFE_SHIFT)) & ENET_MAC_PMT_CRTL_STAT_RWKPFE_MASK)
  2918. #define ENET_MAC_PMT_CRTL_STAT_RWKPTR_MASK (0x1F000000U)
  2919. #define ENET_MAC_PMT_CRTL_STAT_RWKPTR_SHIFT (24U)
  2920. #define ENET_MAC_PMT_CRTL_STAT_RWKPTR(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_PMT_CRTL_STAT_RWKPTR_SHIFT)) & ENET_MAC_PMT_CRTL_STAT_RWKPTR_MASK)
  2921. #define ENET_MAC_PMT_CRTL_STAT_RWKFILTRST_MASK (0x80000000U)
  2922. #define ENET_MAC_PMT_CRTL_STAT_RWKFILTRST_SHIFT (31U)
  2923. #define ENET_MAC_PMT_CRTL_STAT_RWKFILTRST(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_PMT_CRTL_STAT_RWKFILTRST_SHIFT)) & ENET_MAC_PMT_CRTL_STAT_RWKFILTRST_MASK)
  2924. /*! @name MAC_RWAKE_FRFLT - Remote wake-up frame filter */
  2925. #define ENET_MAC_RWAKE_FRFLT_ADDR_MASK (0xFFFFFFFFU)
  2926. #define ENET_MAC_RWAKE_FRFLT_ADDR_SHIFT (0U)
  2927. #define ENET_MAC_RWAKE_FRFLT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_RWAKE_FRFLT_ADDR_SHIFT)) & ENET_MAC_RWAKE_FRFLT_ADDR_MASK)
  2928. /*! @name MAC_LPI_CTRL_STAT - LPI Control and Status Register */
  2929. #define ENET_MAC_LPI_CTRL_STAT_TLPIEN_MASK (0x1U)
  2930. #define ENET_MAC_LPI_CTRL_STAT_TLPIEN_SHIFT (0U)
  2931. #define ENET_MAC_LPI_CTRL_STAT_TLPIEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_LPI_CTRL_STAT_TLPIEN_SHIFT)) & ENET_MAC_LPI_CTRL_STAT_TLPIEN_MASK)
  2932. #define ENET_MAC_LPI_CTRL_STAT_TLPIEX_MASK (0x2U)
  2933. #define ENET_MAC_LPI_CTRL_STAT_TLPIEX_SHIFT (1U)
  2934. #define ENET_MAC_LPI_CTRL_STAT_TLPIEX(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_LPI_CTRL_STAT_TLPIEX_SHIFT)) & ENET_MAC_LPI_CTRL_STAT_TLPIEX_MASK)
  2935. #define ENET_MAC_LPI_CTRL_STAT_RLPIEN_MASK (0x4U)
  2936. #define ENET_MAC_LPI_CTRL_STAT_RLPIEN_SHIFT (2U)
  2937. #define ENET_MAC_LPI_CTRL_STAT_RLPIEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_LPI_CTRL_STAT_RLPIEN_SHIFT)) & ENET_MAC_LPI_CTRL_STAT_RLPIEN_MASK)
  2938. #define ENET_MAC_LPI_CTRL_STAT_RLPIEX_MASK (0x8U)
  2939. #define ENET_MAC_LPI_CTRL_STAT_RLPIEX_SHIFT (3U)
  2940. #define ENET_MAC_LPI_CTRL_STAT_RLPIEX(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_LPI_CTRL_STAT_RLPIEX_SHIFT)) & ENET_MAC_LPI_CTRL_STAT_RLPIEX_MASK)
  2941. #define ENET_MAC_LPI_CTRL_STAT_TLPIST_MASK (0x100U)
  2942. #define ENET_MAC_LPI_CTRL_STAT_TLPIST_SHIFT (8U)
  2943. #define ENET_MAC_LPI_CTRL_STAT_TLPIST(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_LPI_CTRL_STAT_TLPIST_SHIFT)) & ENET_MAC_LPI_CTRL_STAT_TLPIST_MASK)
  2944. #define ENET_MAC_LPI_CTRL_STAT_RLPIST_MASK (0x200U)
  2945. #define ENET_MAC_LPI_CTRL_STAT_RLPIST_SHIFT (9U)
  2946. #define ENET_MAC_LPI_CTRL_STAT_RLPIST(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_LPI_CTRL_STAT_RLPIST_SHIFT)) & ENET_MAC_LPI_CTRL_STAT_RLPIST_MASK)
  2947. #define ENET_MAC_LPI_CTRL_STAT_LPIEN_MASK (0x10000U)
  2948. #define ENET_MAC_LPI_CTRL_STAT_LPIEN_SHIFT (16U)
  2949. #define ENET_MAC_LPI_CTRL_STAT_LPIEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_LPI_CTRL_STAT_LPIEN_SHIFT)) & ENET_MAC_LPI_CTRL_STAT_LPIEN_MASK)
  2950. #define ENET_MAC_LPI_CTRL_STAT_PLS_MASK (0x20000U)
  2951. #define ENET_MAC_LPI_CTRL_STAT_PLS_SHIFT (17U)
  2952. #define ENET_MAC_LPI_CTRL_STAT_PLS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_LPI_CTRL_STAT_PLS_SHIFT)) & ENET_MAC_LPI_CTRL_STAT_PLS_MASK)
  2953. #define ENET_MAC_LPI_CTRL_STAT_LPITXA_MASK (0x80000U)
  2954. #define ENET_MAC_LPI_CTRL_STAT_LPITXA_SHIFT (19U)
  2955. #define ENET_MAC_LPI_CTRL_STAT_LPITXA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_LPI_CTRL_STAT_LPITXA_SHIFT)) & ENET_MAC_LPI_CTRL_STAT_LPITXA_MASK)
  2956. #define ENET_MAC_LPI_CTRL_STAT_LPIATE_MASK (0x100000U)
  2957. #define ENET_MAC_LPI_CTRL_STAT_LPIATE_SHIFT (20U)
  2958. #define ENET_MAC_LPI_CTRL_STAT_LPIATE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_LPI_CTRL_STAT_LPIATE_SHIFT)) & ENET_MAC_LPI_CTRL_STAT_LPIATE_MASK)
  2959. #define ENET_MAC_LPI_CTRL_STAT_LPITCSE_MASK (0x200000U)
  2960. #define ENET_MAC_LPI_CTRL_STAT_LPITCSE_SHIFT (21U)
  2961. #define ENET_MAC_LPI_CTRL_STAT_LPITCSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_LPI_CTRL_STAT_LPITCSE_SHIFT)) & ENET_MAC_LPI_CTRL_STAT_LPITCSE_MASK)
  2962. /*! @name MAC_LPI_TIMER_CTRL - LPI Timers Control register */
  2963. #define ENET_MAC_LPI_TIMER_CTRL_TWT_MASK (0xFFFFU)
  2964. #define ENET_MAC_LPI_TIMER_CTRL_TWT_SHIFT (0U)
  2965. #define ENET_MAC_LPI_TIMER_CTRL_TWT(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_LPI_TIMER_CTRL_TWT_SHIFT)) & ENET_MAC_LPI_TIMER_CTRL_TWT_MASK)
  2966. #define ENET_MAC_LPI_TIMER_CTRL_LST_MASK (0x3FF0000U)
  2967. #define ENET_MAC_LPI_TIMER_CTRL_LST_SHIFT (16U)
  2968. #define ENET_MAC_LPI_TIMER_CTRL_LST(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_LPI_TIMER_CTRL_LST_SHIFT)) & ENET_MAC_LPI_TIMER_CTRL_LST_MASK)
  2969. /*! @name MAC_LPI_ENTR_TIMR - LPI entry Timer register */
  2970. #define ENET_MAC_LPI_ENTR_TIMR_LPIET_MASK (0xFFFF8U)
  2971. #define ENET_MAC_LPI_ENTR_TIMR_LPIET_SHIFT (3U)
  2972. #define ENET_MAC_LPI_ENTR_TIMR_LPIET(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_LPI_ENTR_TIMR_LPIET_SHIFT)) & ENET_MAC_LPI_ENTR_TIMR_LPIET_MASK)
  2973. /*! @name MAC_1US_TIC_COUNTR - */
  2974. #define ENET_MAC_1US_TIC_COUNTR_TIC_1US_CNTR_MASK (0xFFFU)
  2975. #define ENET_MAC_1US_TIC_COUNTR_TIC_1US_CNTR_SHIFT (0U)
  2976. #define ENET_MAC_1US_TIC_COUNTR_TIC_1US_CNTR(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_1US_TIC_COUNTR_TIC_1US_CNTR_SHIFT)) & ENET_MAC_1US_TIC_COUNTR_TIC_1US_CNTR_MASK)
  2977. /*! @name MAC_VERSION - MAC version register */
  2978. #define ENET_MAC_VERSION_SNPVER_MASK (0xFFU)
  2979. #define ENET_MAC_VERSION_SNPVER_SHIFT (0U)
  2980. #define ENET_MAC_VERSION_SNPVER(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_VERSION_SNPVER_SHIFT)) & ENET_MAC_VERSION_SNPVER_MASK)
  2981. #define ENET_MAC_VERSION_USERVER_MASK (0xFF00U)
  2982. #define ENET_MAC_VERSION_USERVER_SHIFT (8U)
  2983. #define ENET_MAC_VERSION_USERVER(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_VERSION_USERVER_SHIFT)) & ENET_MAC_VERSION_USERVER_MASK)
  2984. /*! @name MAC_DBG - MAC debug register */
  2985. #define ENET_MAC_DBG_REPESTS_MASK (0x1U)
  2986. #define ENET_MAC_DBG_REPESTS_SHIFT (0U)
  2987. #define ENET_MAC_DBG_REPESTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_DBG_REPESTS_SHIFT)) & ENET_MAC_DBG_REPESTS_MASK)
  2988. #define ENET_MAC_DBG_RFCFCSTS_MASK (0x6U)
  2989. #define ENET_MAC_DBG_RFCFCSTS_SHIFT (1U)
  2990. #define ENET_MAC_DBG_RFCFCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_DBG_RFCFCSTS_SHIFT)) & ENET_MAC_DBG_RFCFCSTS_MASK)
  2991. #define ENET_MAC_DBG_TPESTS_MASK (0x10000U)
  2992. #define ENET_MAC_DBG_TPESTS_SHIFT (16U)
  2993. #define ENET_MAC_DBG_TPESTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_DBG_TPESTS_SHIFT)) & ENET_MAC_DBG_TPESTS_MASK)
  2994. #define ENET_MAC_DBG_TFCSTS_MASK (0x60000U)
  2995. #define ENET_MAC_DBG_TFCSTS_SHIFT (17U)
  2996. #define ENET_MAC_DBG_TFCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_DBG_TFCSTS_SHIFT)) & ENET_MAC_DBG_TFCSTS_MASK)
  2997. /*! @name MAC_HW_FEAT - MAC hardware feature register 0x0201 */
  2998. #define ENET_MAC_HW_FEAT_RXFIFOSIZE_MASK (0x1FU)
  2999. #define ENET_MAC_HW_FEAT_RXFIFOSIZE_SHIFT (0U)
  3000. #define ENET_MAC_HW_FEAT_RXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_RXFIFOSIZE_SHIFT)) & ENET_MAC_HW_FEAT_RXFIFOSIZE_MASK)
  3001. #define ENET_MAC_HW_FEAT_RXQCNT_MASK (0xFU)
  3002. #define ENET_MAC_HW_FEAT_RXQCNT_SHIFT (0U)
  3003. #define ENET_MAC_HW_FEAT_RXQCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_RXQCNT_SHIFT)) & ENET_MAC_HW_FEAT_RXQCNT_MASK)
  3004. #define ENET_MAC_HW_FEAT_MIISEL_MASK (0x1U)
  3005. #define ENET_MAC_HW_FEAT_MIISEL_SHIFT (0U)
  3006. #define ENET_MAC_HW_FEAT_MIISEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_MIISEL_SHIFT)) & ENET_MAC_HW_FEAT_MIISEL_MASK)
  3007. #define ENET_MAC_HW_FEAT_HDSEL_MASK (0x4U)
  3008. #define ENET_MAC_HW_FEAT_HDSEL_SHIFT (2U)
  3009. #define ENET_MAC_HW_FEAT_HDSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_HDSEL_SHIFT)) & ENET_MAC_HW_FEAT_HDSEL_MASK)
  3010. #define ENET_MAC_HW_FEAT_VLHASH_MASK (0x10U)
  3011. #define ENET_MAC_HW_FEAT_VLHASH_SHIFT (4U)
  3012. #define ENET_MAC_HW_FEAT_VLHASH(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_VLHASH_SHIFT)) & ENET_MAC_HW_FEAT_VLHASH_MASK)
  3013. #define ENET_MAC_HW_FEAT_SMASEL_MASK (0x20U)
  3014. #define ENET_MAC_HW_FEAT_SMASEL_SHIFT (5U)
  3015. #define ENET_MAC_HW_FEAT_SMASEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_SMASEL_SHIFT)) & ENET_MAC_HW_FEAT_SMASEL_MASK)
  3016. #define ENET_MAC_HW_FEAT_TXQCNT_MASK (0x3C0U)
  3017. #define ENET_MAC_HW_FEAT_TXQCNT_SHIFT (6U)
  3018. #define ENET_MAC_HW_FEAT_TXQCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_TXQCNT_SHIFT)) & ENET_MAC_HW_FEAT_TXQCNT_MASK)
  3019. #define ENET_MAC_HW_FEAT_RWKSEL_MASK (0x40U)
  3020. #define ENET_MAC_HW_FEAT_RWKSEL_SHIFT (6U)
  3021. #define ENET_MAC_HW_FEAT_RWKSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_RWKSEL_SHIFT)) & ENET_MAC_HW_FEAT_RWKSEL_MASK)
  3022. #define ENET_MAC_HW_FEAT_TXFIFOSIZE_MASK (0x7C0U)
  3023. #define ENET_MAC_HW_FEAT_TXFIFOSIZE_SHIFT (6U)
  3024. #define ENET_MAC_HW_FEAT_TXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_TXFIFOSIZE_SHIFT)) & ENET_MAC_HW_FEAT_TXFIFOSIZE_MASK)
  3025. #define ENET_MAC_HW_FEAT_MGKSEL_MASK (0x80U)
  3026. #define ENET_MAC_HW_FEAT_MGKSEL_SHIFT (7U)
  3027. #define ENET_MAC_HW_FEAT_MGKSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_MGKSEL_SHIFT)) & ENET_MAC_HW_FEAT_MGKSEL_MASK)
  3028. #define ENET_MAC_HW_FEAT_MMCSEL_MASK (0x100U)
  3029. #define ENET_MAC_HW_FEAT_MMCSEL_SHIFT (8U)
  3030. #define ENET_MAC_HW_FEAT_MMCSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_MMCSEL_SHIFT)) & ENET_MAC_HW_FEAT_MMCSEL_MASK)
  3031. #define ENET_MAC_HW_FEAT_ARPOFFSEL_MASK (0x200U)
  3032. #define ENET_MAC_HW_FEAT_ARPOFFSEL_SHIFT (9U)
  3033. #define ENET_MAC_HW_FEAT_ARPOFFSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_ARPOFFSEL_SHIFT)) & ENET_MAC_HW_FEAT_ARPOFFSEL_MASK)
  3034. #define ENET_MAC_HW_FEAT_OSTEN_MASK (0x800U)
  3035. #define ENET_MAC_HW_FEAT_OSTEN_SHIFT (11U)
  3036. #define ENET_MAC_HW_FEAT_OSTEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_OSTEN_SHIFT)) & ENET_MAC_HW_FEAT_OSTEN_MASK)
  3037. #define ENET_MAC_HW_FEAT_RXCHCNT_MASK (0xF000U)
  3038. #define ENET_MAC_HW_FEAT_RXCHCNT_SHIFT (12U)
  3039. #define ENET_MAC_HW_FEAT_RXCHCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_RXCHCNT_SHIFT)) & ENET_MAC_HW_FEAT_RXCHCNT_MASK)
  3040. #define ENET_MAC_HW_FEAT_TSSEL_MASK (0x1000U)
  3041. #define ENET_MAC_HW_FEAT_TSSEL_SHIFT (12U)
  3042. #define ENET_MAC_HW_FEAT_TSSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_TSSEL_SHIFT)) & ENET_MAC_HW_FEAT_TSSEL_MASK)
  3043. #define ENET_MAC_HW_FEAT_PTOEN_MASK (0x1000U)
  3044. #define ENET_MAC_HW_FEAT_PTOEN_SHIFT (12U)
  3045. #define ENET_MAC_HW_FEAT_PTOEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_PTOEN_SHIFT)) & ENET_MAC_HW_FEAT_PTOEN_MASK)
  3046. #define ENET_MAC_HW_FEAT_EEESEL_MASK (0x2000U)
  3047. #define ENET_MAC_HW_FEAT_EEESEL_SHIFT (13U)
  3048. #define ENET_MAC_HW_FEAT_EEESEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_EEESEL_SHIFT)) & ENET_MAC_HW_FEAT_EEESEL_MASK)
  3049. #define ENET_MAC_HW_FEAT_ADVTHWORD_MASK (0x2000U)
  3050. #define ENET_MAC_HW_FEAT_ADVTHWORD_SHIFT (13U)
  3051. #define ENET_MAC_HW_FEAT_ADVTHWORD(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_ADVTHWORD_SHIFT)) & ENET_MAC_HW_FEAT_ADVTHWORD_MASK)
  3052. #define ENET_MAC_HW_FEAT_ADDR64_MASK (0xC000U)
  3053. #define ENET_MAC_HW_FEAT_ADDR64_SHIFT (14U)
  3054. #define ENET_MAC_HW_FEAT_ADDR64(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_ADDR64_SHIFT)) & ENET_MAC_HW_FEAT_ADDR64_MASK)
  3055. #define ENET_MAC_HW_FEAT_TXCOESEL_MASK (0x4000U)
  3056. #define ENET_MAC_HW_FEAT_TXCOESEL_SHIFT (14U)
  3057. #define ENET_MAC_HW_FEAT_TXCOESEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_TXCOESEL_SHIFT)) & ENET_MAC_HW_FEAT_TXCOESEL_MASK)
  3058. #define ENET_MAC_HW_FEAT_DCBEN_MASK (0x10000U)
  3059. #define ENET_MAC_HW_FEAT_DCBEN_SHIFT (16U)
  3060. #define ENET_MAC_HW_FEAT_DCBEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_DCBEN_SHIFT)) & ENET_MAC_HW_FEAT_DCBEN_MASK)
  3061. #define ENET_MAC_HW_FEAT_RXCOESEL_MASK (0x10000U)
  3062. #define ENET_MAC_HW_FEAT_RXCOESEL_SHIFT (16U)
  3063. #define ENET_MAC_HW_FEAT_RXCOESEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_RXCOESEL_SHIFT)) & ENET_MAC_HW_FEAT_RXCOESEL_MASK)
  3064. #define ENET_MAC_HW_FEAT_SPEN_MASK (0x20000U)
  3065. #define ENET_MAC_HW_FEAT_SPEN_SHIFT (17U)
  3066. #define ENET_MAC_HW_FEAT_SPEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_SPEN_SHIFT)) & ENET_MAC_HW_FEAT_SPEN_MASK)
  3067. #define ENET_MAC_HW_FEAT_TXCHCNT_MASK (0x3C0000U)
  3068. #define ENET_MAC_HW_FEAT_TXCHCNT_SHIFT (18U)
  3069. #define ENET_MAC_HW_FEAT_TXCHCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_TXCHCNT_SHIFT)) & ENET_MAC_HW_FEAT_TXCHCNT_MASK)
  3070. #define ENET_MAC_HW_FEAT_TSOEN_MASK (0x40000U)
  3071. #define ENET_MAC_HW_FEAT_TSOEN_SHIFT (18U)
  3072. #define ENET_MAC_HW_FEAT_TSOEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_TSOEN_SHIFT)) & ENET_MAC_HW_FEAT_TSOEN_MASK)
  3073. #define ENET_MAC_HW_FEAT_DBGMEMA_MASK (0x80000U)
  3074. #define ENET_MAC_HW_FEAT_DBGMEMA_SHIFT (19U)
  3075. #define ENET_MAC_HW_FEAT_DBGMEMA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_DBGMEMA_SHIFT)) & ENET_MAC_HW_FEAT_DBGMEMA_MASK)
  3076. #define ENET_MAC_HW_FEAT_AVSEL_MASK (0x100000U)
  3077. #define ENET_MAC_HW_FEAT_AVSEL_SHIFT (20U)
  3078. #define ENET_MAC_HW_FEAT_AVSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_AVSEL_SHIFT)) & ENET_MAC_HW_FEAT_AVSEL_MASK)
  3079. #define ENET_MAC_HW_FEAT_LPMODEEN_MASK (0x800000U)
  3080. #define ENET_MAC_HW_FEAT_LPMODEEN_SHIFT (23U)
  3081. #define ENET_MAC_HW_FEAT_LPMODEEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_LPMODEEN_SHIFT)) & ENET_MAC_HW_FEAT_LPMODEEN_MASK)
  3082. #define ENET_MAC_HW_FEAT_PPSOUTNUM_MASK (0x7000000U)
  3083. #define ENET_MAC_HW_FEAT_PPSOUTNUM_SHIFT (24U)
  3084. #define ENET_MAC_HW_FEAT_PPSOUTNUM(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_PPSOUTNUM_SHIFT)) & ENET_MAC_HW_FEAT_PPSOUTNUM_MASK)
  3085. #define ENET_MAC_HW_FEAT_HASHTBLSZ_MASK (0x3000000U)
  3086. #define ENET_MAC_HW_FEAT_HASHTBLSZ_SHIFT (24U)
  3087. #define ENET_MAC_HW_FEAT_HASHTBLSZ(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_HASHTBLSZ_SHIFT)) & ENET_MAC_HW_FEAT_HASHTBLSZ_MASK)
  3088. #define ENET_MAC_HW_FEAT_TSSTSSEL_MASK (0x6000000U)
  3089. #define ENET_MAC_HW_FEAT_TSSTSSEL_SHIFT (25U)
  3090. #define ENET_MAC_HW_FEAT_TSSTSSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_TSSTSSEL_SHIFT)) & ENET_MAC_HW_FEAT_TSSTSSEL_MASK)
  3091. #define ENET_MAC_HW_FEAT_L3_L4_FILTER_MASK (0x78000000U)
  3092. #define ENET_MAC_HW_FEAT_L3_L4_FILTER_SHIFT (27U)
  3093. #define ENET_MAC_HW_FEAT_L3_L4_FILTER(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_L3_L4_FILTER_SHIFT)) & ENET_MAC_HW_FEAT_L3_L4_FILTER_MASK)
  3094. #define ENET_MAC_HW_FEAT_AUXSNAPNUM_MASK (0x70000000U)
  3095. #define ENET_MAC_HW_FEAT_AUXSNAPNUM_SHIFT (28U)
  3096. #define ENET_MAC_HW_FEAT_AUXSNAPNUM(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_AUXSNAPNUM_SHIFT)) & ENET_MAC_HW_FEAT_AUXSNAPNUM_MASK)
  3097. #define ENET_MAC_HW_FEAT_ACTPHYSEL_MASK (0x70000000U)
  3098. #define ENET_MAC_HW_FEAT_ACTPHYSEL_SHIFT (28U)
  3099. #define ENET_MAC_HW_FEAT_ACTPHYSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_HW_FEAT_ACTPHYSEL_SHIFT)) & ENET_MAC_HW_FEAT_ACTPHYSEL_MASK)
  3100. /* The count of ENET_MAC_HW_FEAT */
  3101. #define ENET_MAC_HW_FEAT_COUNT (3U)
  3102. /*! @name MAC_MDIO_ADDR - MIDO address Register */
  3103. #define ENET_MAC_MDIO_ADDR_MB_MASK (0x1U)
  3104. #define ENET_MAC_MDIO_ADDR_MB_SHIFT (0U)
  3105. #define ENET_MAC_MDIO_ADDR_MB(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_MDIO_ADDR_MB_SHIFT)) & ENET_MAC_MDIO_ADDR_MB_MASK)
  3106. #define ENET_MAC_MDIO_ADDR_MOC_MASK (0xCU)
  3107. #define ENET_MAC_MDIO_ADDR_MOC_SHIFT (2U)
  3108. #define ENET_MAC_MDIO_ADDR_MOC(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_MDIO_ADDR_MOC_SHIFT)) & ENET_MAC_MDIO_ADDR_MOC_MASK)
  3109. #define ENET_MAC_MDIO_ADDR_CR_MASK (0xF00U)
  3110. #define ENET_MAC_MDIO_ADDR_CR_SHIFT (8U)
  3111. #define ENET_MAC_MDIO_ADDR_CR(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_MDIO_ADDR_CR_SHIFT)) & ENET_MAC_MDIO_ADDR_CR_MASK)
  3112. #define ENET_MAC_MDIO_ADDR_NTC_MASK (0x7000U)
  3113. #define ENET_MAC_MDIO_ADDR_NTC_SHIFT (12U)
  3114. #define ENET_MAC_MDIO_ADDR_NTC(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_MDIO_ADDR_NTC_SHIFT)) & ENET_MAC_MDIO_ADDR_NTC_MASK)
  3115. #define ENET_MAC_MDIO_ADDR_RDA_MASK (0x1F0000U)
  3116. #define ENET_MAC_MDIO_ADDR_RDA_SHIFT (16U)
  3117. #define ENET_MAC_MDIO_ADDR_RDA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_MDIO_ADDR_RDA_SHIFT)) & ENET_MAC_MDIO_ADDR_RDA_MASK)
  3118. #define ENET_MAC_MDIO_ADDR_PA_MASK (0x3E00000U)
  3119. #define ENET_MAC_MDIO_ADDR_PA_SHIFT (21U)
  3120. #define ENET_MAC_MDIO_ADDR_PA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_MDIO_ADDR_PA_SHIFT)) & ENET_MAC_MDIO_ADDR_PA_MASK)
  3121. #define ENET_MAC_MDIO_ADDR_BTB_MASK (0x4000000U)
  3122. #define ENET_MAC_MDIO_ADDR_BTB_SHIFT (26U)
  3123. #define ENET_MAC_MDIO_ADDR_BTB(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_MDIO_ADDR_BTB_SHIFT)) & ENET_MAC_MDIO_ADDR_BTB_MASK)
  3124. #define ENET_MAC_MDIO_ADDR_PSE_MASK (0x8000000U)
  3125. #define ENET_MAC_MDIO_ADDR_PSE_SHIFT (27U)
  3126. #define ENET_MAC_MDIO_ADDR_PSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_MDIO_ADDR_PSE_SHIFT)) & ENET_MAC_MDIO_ADDR_PSE_MASK)
  3127. /*! @name MAC_MDIO_DATA - MDIO Data register */
  3128. #define ENET_MAC_MDIO_DATA_MD_MASK (0xFFFFU)
  3129. #define ENET_MAC_MDIO_DATA_MD_SHIFT (0U)
  3130. #define ENET_MAC_MDIO_DATA_MD(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_MDIO_DATA_MD_SHIFT)) & ENET_MAC_MDIO_DATA_MD_MASK)
  3131. /*! @name MAC_ADDR_HIGH - MAC address0 high register */
  3132. #define ENET_MAC_ADDR_HIGH_A47_32_MASK (0xFFFFU)
  3133. #define ENET_MAC_ADDR_HIGH_A47_32_SHIFT (0U)
  3134. #define ENET_MAC_ADDR_HIGH_A47_32(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_ADDR_HIGH_A47_32_SHIFT)) & ENET_MAC_ADDR_HIGH_A47_32_MASK)
  3135. #define ENET_MAC_ADDR_HIGH_DCS_MASK (0x10000U)
  3136. #define ENET_MAC_ADDR_HIGH_DCS_SHIFT (16U)
  3137. #define ENET_MAC_ADDR_HIGH_DCS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_ADDR_HIGH_DCS_SHIFT)) & ENET_MAC_ADDR_HIGH_DCS_MASK)
  3138. #define ENET_MAC_ADDR_HIGH_AE_MASK (0x80000000U)
  3139. #define ENET_MAC_ADDR_HIGH_AE_SHIFT (31U)
  3140. #define ENET_MAC_ADDR_HIGH_AE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_ADDR_HIGH_AE_SHIFT)) & ENET_MAC_ADDR_HIGH_AE_MASK)
  3141. /*! @name MAC_ADDR_LOW - MAC address0 low register */
  3142. #define ENET_MAC_ADDR_LOW_A31_0_MASK (0xFFFFFFFFU)
  3143. #define ENET_MAC_ADDR_LOW_A31_0_SHIFT (0U)
  3144. #define ENET_MAC_ADDR_LOW_A31_0(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_ADDR_LOW_A31_0_SHIFT)) & ENET_MAC_ADDR_LOW_A31_0_MASK)
  3145. /*! @name MAC_TIMESTAMP_CTRL - Time stamp control register */
  3146. #define ENET_MAC_TIMESTAMP_CTRL_TSENA_MASK (0x1U)
  3147. #define ENET_MAC_TIMESTAMP_CTRL_TSENA_SHIFT (0U)
  3148. #define ENET_MAC_TIMESTAMP_CTRL_TSENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_CTRL_TSENA_SHIFT)) & ENET_MAC_TIMESTAMP_CTRL_TSENA_MASK)
  3149. #define ENET_MAC_TIMESTAMP_CTRL_TSCFUPDT_MASK (0x2U)
  3150. #define ENET_MAC_TIMESTAMP_CTRL_TSCFUPDT_SHIFT (1U)
  3151. #define ENET_MAC_TIMESTAMP_CTRL_TSCFUPDT(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_CTRL_TSCFUPDT_SHIFT)) & ENET_MAC_TIMESTAMP_CTRL_TSCFUPDT_MASK)
  3152. #define ENET_MAC_TIMESTAMP_CTRL_TSINIT_MASK (0x4U)
  3153. #define ENET_MAC_TIMESTAMP_CTRL_TSINIT_SHIFT (2U)
  3154. #define ENET_MAC_TIMESTAMP_CTRL_TSINIT(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_CTRL_TSINIT_SHIFT)) & ENET_MAC_TIMESTAMP_CTRL_TSINIT_MASK)
  3155. #define ENET_MAC_TIMESTAMP_CTRL_TSUPDT_MASK (0x8U)
  3156. #define ENET_MAC_TIMESTAMP_CTRL_TSUPDT_SHIFT (3U)
  3157. #define ENET_MAC_TIMESTAMP_CTRL_TSUPDT(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_CTRL_TSUPDT_SHIFT)) & ENET_MAC_TIMESTAMP_CTRL_TSUPDT_MASK)
  3158. #define ENET_MAC_TIMESTAMP_CTRL_TSTRIG_MASK (0x10U)
  3159. #define ENET_MAC_TIMESTAMP_CTRL_TSTRIG_SHIFT (4U)
  3160. #define ENET_MAC_TIMESTAMP_CTRL_TSTRIG(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_CTRL_TSTRIG_SHIFT)) & ENET_MAC_TIMESTAMP_CTRL_TSTRIG_MASK)
  3161. #define ENET_MAC_TIMESTAMP_CTRL_TADDREG_MASK (0x20U)
  3162. #define ENET_MAC_TIMESTAMP_CTRL_TADDREG_SHIFT (5U)
  3163. #define ENET_MAC_TIMESTAMP_CTRL_TADDREG(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_CTRL_TADDREG_SHIFT)) & ENET_MAC_TIMESTAMP_CTRL_TADDREG_MASK)
  3164. #define ENET_MAC_TIMESTAMP_CTRL_TSENALL_MASK (0x100U)
  3165. #define ENET_MAC_TIMESTAMP_CTRL_TSENALL_SHIFT (8U)
  3166. #define ENET_MAC_TIMESTAMP_CTRL_TSENALL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_CTRL_TSENALL_SHIFT)) & ENET_MAC_TIMESTAMP_CTRL_TSENALL_MASK)
  3167. #define ENET_MAC_TIMESTAMP_CTRL_TSCTRLSSR_MASK (0x200U)
  3168. #define ENET_MAC_TIMESTAMP_CTRL_TSCTRLSSR_SHIFT (9U)
  3169. #define ENET_MAC_TIMESTAMP_CTRL_TSCTRLSSR(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_CTRL_TSCTRLSSR_SHIFT)) & ENET_MAC_TIMESTAMP_CTRL_TSCTRLSSR_MASK)
  3170. #define ENET_MAC_TIMESTAMP_CTRL_TSVER2ENA_MASK (0x400U)
  3171. #define ENET_MAC_TIMESTAMP_CTRL_TSVER2ENA_SHIFT (10U)
  3172. #define ENET_MAC_TIMESTAMP_CTRL_TSVER2ENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_CTRL_TSVER2ENA_SHIFT)) & ENET_MAC_TIMESTAMP_CTRL_TSVER2ENA_MASK)
  3173. #define ENET_MAC_TIMESTAMP_CTRL_TSIPENA_MASK (0x800U)
  3174. #define ENET_MAC_TIMESTAMP_CTRL_TSIPENA_SHIFT (11U)
  3175. #define ENET_MAC_TIMESTAMP_CTRL_TSIPENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_CTRL_TSIPENA_SHIFT)) & ENET_MAC_TIMESTAMP_CTRL_TSIPENA_MASK)
  3176. #define ENET_MAC_TIMESTAMP_CTRL_TSIPV6ENA_MASK (0x1000U)
  3177. #define ENET_MAC_TIMESTAMP_CTRL_TSIPV6ENA_SHIFT (12U)
  3178. #define ENET_MAC_TIMESTAMP_CTRL_TSIPV6ENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_CTRL_TSIPV6ENA_SHIFT)) & ENET_MAC_TIMESTAMP_CTRL_TSIPV6ENA_MASK)
  3179. #define ENET_MAC_TIMESTAMP_CTRL_TSIPV4ENA_MASK (0x2000U)
  3180. #define ENET_MAC_TIMESTAMP_CTRL_TSIPV4ENA_SHIFT (13U)
  3181. #define ENET_MAC_TIMESTAMP_CTRL_TSIPV4ENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_CTRL_TSIPV4ENA_SHIFT)) & ENET_MAC_TIMESTAMP_CTRL_TSIPV4ENA_MASK)
  3182. #define ENET_MAC_TIMESTAMP_CTRL_TSEVTENA_MASK (0x4000U)
  3183. #define ENET_MAC_TIMESTAMP_CTRL_TSEVTENA_SHIFT (14U)
  3184. #define ENET_MAC_TIMESTAMP_CTRL_TSEVTENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_CTRL_TSEVTENA_SHIFT)) & ENET_MAC_TIMESTAMP_CTRL_TSEVTENA_MASK)
  3185. #define ENET_MAC_TIMESTAMP_CTRL_TSMSTRENA_MASK (0x8000U)
  3186. #define ENET_MAC_TIMESTAMP_CTRL_TSMSTRENA_SHIFT (15U)
  3187. #define ENET_MAC_TIMESTAMP_CTRL_TSMSTRENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_CTRL_TSMSTRENA_SHIFT)) & ENET_MAC_TIMESTAMP_CTRL_TSMSTRENA_MASK)
  3188. #define ENET_MAC_TIMESTAMP_CTRL_SNAPTYPSEL_MASK (0x30000U)
  3189. #define ENET_MAC_TIMESTAMP_CTRL_SNAPTYPSEL_SHIFT (16U)
  3190. #define ENET_MAC_TIMESTAMP_CTRL_SNAPTYPSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_CTRL_SNAPTYPSEL_SHIFT)) & ENET_MAC_TIMESTAMP_CTRL_SNAPTYPSEL_MASK)
  3191. #define ENET_MAC_TIMESTAMP_CTRL_TSENMACADDR_MASK (0x40000U)
  3192. #define ENET_MAC_TIMESTAMP_CTRL_TSENMACADDR_SHIFT (18U)
  3193. #define ENET_MAC_TIMESTAMP_CTRL_TSENMACADDR(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_CTRL_TSENMACADDR_SHIFT)) & ENET_MAC_TIMESTAMP_CTRL_TSENMACADDR_MASK)
  3194. #define ENET_MAC_TIMESTAMP_CTRL_TXTTSSTSM_MASK (0x1000000U)
  3195. #define ENET_MAC_TIMESTAMP_CTRL_TXTTSSTSM_SHIFT (24U)
  3196. #define ENET_MAC_TIMESTAMP_CTRL_TXTTSSTSM(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_CTRL_TXTTSSTSM_SHIFT)) & ENET_MAC_TIMESTAMP_CTRL_TXTTSSTSM_MASK)
  3197. #define ENET_MAC_TIMESTAMP_CTRL_AV8021ASMEN_MASK (0x10000000U)
  3198. #define ENET_MAC_TIMESTAMP_CTRL_AV8021ASMEN_SHIFT (28U)
  3199. #define ENET_MAC_TIMESTAMP_CTRL_AV8021ASMEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_CTRL_AV8021ASMEN_SHIFT)) & ENET_MAC_TIMESTAMP_CTRL_AV8021ASMEN_MASK)
  3200. /*! @name MAC_SUB_SCND_INCR - Sub-second increment register */
  3201. #define ENET_MAC_SUB_SCND_INCR_SSINC_MASK (0xFF0000U)
  3202. #define ENET_MAC_SUB_SCND_INCR_SSINC_SHIFT (16U)
  3203. #define ENET_MAC_SUB_SCND_INCR_SSINC(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_SUB_SCND_INCR_SSINC_SHIFT)) & ENET_MAC_SUB_SCND_INCR_SSINC_MASK)
  3204. /*! @name MAC_SYS_TIME_SCND - System time seconds register */
  3205. #define ENET_MAC_SYS_TIME_SCND_TSS_MASK (0xFFFFFFFFU)
  3206. #define ENET_MAC_SYS_TIME_SCND_TSS_SHIFT (0U)
  3207. #define ENET_MAC_SYS_TIME_SCND_TSS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_SYS_TIME_SCND_TSS_SHIFT)) & ENET_MAC_SYS_TIME_SCND_TSS_MASK)
  3208. /*! @name MAC_SYS_TIME_NSCND - System time nanoseconds register */
  3209. #define ENET_MAC_SYS_TIME_NSCND_TSSS_MASK (0x7FFFFFFFU)
  3210. #define ENET_MAC_SYS_TIME_NSCND_TSSS_SHIFT (0U)
  3211. #define ENET_MAC_SYS_TIME_NSCND_TSSS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_SYS_TIME_NSCND_TSSS_SHIFT)) & ENET_MAC_SYS_TIME_NSCND_TSSS_MASK)
  3212. /*! @name MAC_SYS_TIME_SCND_UPD - */
  3213. #define ENET_MAC_SYS_TIME_SCND_UPD_TSS_MASK (0xFFFFFFFFU)
  3214. #define ENET_MAC_SYS_TIME_SCND_UPD_TSS_SHIFT (0U)
  3215. #define ENET_MAC_SYS_TIME_SCND_UPD_TSS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_SYS_TIME_SCND_UPD_TSS_SHIFT)) & ENET_MAC_SYS_TIME_SCND_UPD_TSS_MASK)
  3216. /*! @name MAC_SYS_TIME_NSCND_UPD - */
  3217. #define ENET_MAC_SYS_TIME_NSCND_UPD_TSSS_MASK (0x7FFFFFFFU)
  3218. #define ENET_MAC_SYS_TIME_NSCND_UPD_TSSS_SHIFT (0U)
  3219. #define ENET_MAC_SYS_TIME_NSCND_UPD_TSSS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_SYS_TIME_NSCND_UPD_TSSS_SHIFT)) & ENET_MAC_SYS_TIME_NSCND_UPD_TSSS_MASK)
  3220. #define ENET_MAC_SYS_TIME_NSCND_UPD_ADDSUB_MASK (0x80000000U)
  3221. #define ENET_MAC_SYS_TIME_NSCND_UPD_ADDSUB_SHIFT (31U)
  3222. #define ENET_MAC_SYS_TIME_NSCND_UPD_ADDSUB(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_SYS_TIME_NSCND_UPD_ADDSUB_SHIFT)) & ENET_MAC_SYS_TIME_NSCND_UPD_ADDSUB_MASK)
  3223. /*! @name MAC_SYS_TIMESTMP_ADDEND - Time stamp addend register */
  3224. #define ENET_MAC_SYS_TIMESTMP_ADDEND_TSAR_MASK (0xFFFFFFFFU)
  3225. #define ENET_MAC_SYS_TIMESTMP_ADDEND_TSAR_SHIFT (0U)
  3226. #define ENET_MAC_SYS_TIMESTMP_ADDEND_TSAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_SYS_TIMESTMP_ADDEND_TSAR_SHIFT)) & ENET_MAC_SYS_TIMESTMP_ADDEND_TSAR_MASK)
  3227. /*! @name MAC_SYS_TIME_HWORD_SCND - */
  3228. #define ENET_MAC_SYS_TIME_HWORD_SCND_TSHWR_MASK (0xFFFFU)
  3229. #define ENET_MAC_SYS_TIME_HWORD_SCND_TSHWR_SHIFT (0U)
  3230. #define ENET_MAC_SYS_TIME_HWORD_SCND_TSHWR(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_SYS_TIME_HWORD_SCND_TSHWR_SHIFT)) & ENET_MAC_SYS_TIME_HWORD_SCND_TSHWR_MASK)
  3231. /*! @name MAC_SYS_TIMESTMP_STAT - Time stamp status register */
  3232. #define ENET_MAC_SYS_TIMESTMP_STAT_TSSOVF_MASK (0x1U)
  3233. #define ENET_MAC_SYS_TIMESTMP_STAT_TSSOVF_SHIFT (0U)
  3234. #define ENET_MAC_SYS_TIMESTMP_STAT_TSSOVF(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_SYS_TIMESTMP_STAT_TSSOVF_SHIFT)) & ENET_MAC_SYS_TIMESTMP_STAT_TSSOVF_MASK)
  3235. /*! @name MAC_TX_TIMESTAMP_STATUS_NANOSECONDS - Tx timestamp status nanoseconds */
  3236. #define ENET_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSTSLO_MASK (0x7FFFFFFFU)
  3237. #define ENET_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSTSLO_SHIFT (0U)
  3238. #define ENET_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSTSLO(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSTSLO_SHIFT)) & ENET_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSTSLO_MASK)
  3239. #define ENET_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSTSMIS_MASK (0x80000000U)
  3240. #define ENET_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSTSMIS_SHIFT (31U)
  3241. #define ENET_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSTSMIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSTSMIS_SHIFT)) & ENET_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSTSMIS_MASK)
  3242. /*! @name MAC_TX_TIMESTAMP_STATUS_SECONDS - Tx timestamp status seconds */
  3243. #define ENET_MAC_TX_TIMESTAMP_STATUS_SECONDS_TXTSSTSHI_MASK (0xFFFFFFFFU)
  3244. #define ENET_MAC_TX_TIMESTAMP_STATUS_SECONDS_TXTSSTSHI_SHIFT (0U)
  3245. #define ENET_MAC_TX_TIMESTAMP_STATUS_SECONDS_TXTSSTSHI(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TX_TIMESTAMP_STATUS_SECONDS_TXTSSTSHI_SHIFT)) & ENET_MAC_TX_TIMESTAMP_STATUS_SECONDS_TXTSSTSHI_MASK)
  3246. /*! @name MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND - Timestamp ingress correction */
  3247. #define ENET_MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND_TSIC_MASK (0xFFFFFFFFU)
  3248. #define ENET_MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND_TSIC_SHIFT (0U)
  3249. #define ENET_MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND_TSIC(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND_TSIC_SHIFT)) & ENET_MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND_TSIC_MASK)
  3250. /*! @name MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND - Timestamp egress correction */
  3251. #define ENET_MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND_TSEC_MASK (0xFFFFFFFFU)
  3252. #define ENET_MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND_TSEC_SHIFT (0U)
  3253. #define ENET_MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND_TSEC(x) (((uint32_t)(((uint32_t)(x)) << ENET_MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND_TSEC_SHIFT)) & ENET_MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND_TSEC_MASK)
  3254. /*! @name MTL_OP_MODE - MTL Operation Mode Register */
  3255. #define ENET_MTL_OP_MODE_DTXSTS_MASK (0x2U)
  3256. #define ENET_MTL_OP_MODE_DTXSTS_SHIFT (1U)
  3257. #define ENET_MTL_OP_MODE_DTXSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_OP_MODE_DTXSTS_SHIFT)) & ENET_MTL_OP_MODE_DTXSTS_MASK)
  3258. #define ENET_MTL_OP_MODE_RAA_MASK (0x4U)
  3259. #define ENET_MTL_OP_MODE_RAA_SHIFT (2U)
  3260. #define ENET_MTL_OP_MODE_RAA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_OP_MODE_RAA_SHIFT)) & ENET_MTL_OP_MODE_RAA_MASK)
  3261. #define ENET_MTL_OP_MODE_SCHALG_MASK (0x60U)
  3262. #define ENET_MTL_OP_MODE_SCHALG_SHIFT (5U)
  3263. #define ENET_MTL_OP_MODE_SCHALG(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_OP_MODE_SCHALG_SHIFT)) & ENET_MTL_OP_MODE_SCHALG_MASK)
  3264. #define ENET_MTL_OP_MODE_CNTPRST_MASK (0x100U)
  3265. #define ENET_MTL_OP_MODE_CNTPRST_SHIFT (8U)
  3266. #define ENET_MTL_OP_MODE_CNTPRST(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_OP_MODE_CNTPRST_SHIFT)) & ENET_MTL_OP_MODE_CNTPRST_MASK)
  3267. #define ENET_MTL_OP_MODE_CNTCLR_MASK (0x200U)
  3268. #define ENET_MTL_OP_MODE_CNTCLR_SHIFT (9U)
  3269. #define ENET_MTL_OP_MODE_CNTCLR(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_OP_MODE_CNTCLR_SHIFT)) & ENET_MTL_OP_MODE_CNTCLR_MASK)
  3270. /*! @name MTL_INTR_STAT - MTL Interrupt Status register */
  3271. #define ENET_MTL_INTR_STAT_Q0IS_MASK (0x1U)
  3272. #define ENET_MTL_INTR_STAT_Q0IS_SHIFT (0U)
  3273. #define ENET_MTL_INTR_STAT_Q0IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_INTR_STAT_Q0IS_SHIFT)) & ENET_MTL_INTR_STAT_Q0IS_MASK)
  3274. #define ENET_MTL_INTR_STAT_Q1IS_MASK (0x2U)
  3275. #define ENET_MTL_INTR_STAT_Q1IS_SHIFT (1U)
  3276. #define ENET_MTL_INTR_STAT_Q1IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_INTR_STAT_Q1IS_SHIFT)) & ENET_MTL_INTR_STAT_Q1IS_MASK)
  3277. /*! @name MTL_RXQ_DMA_MAP - MTL Receive Queue and DMA Channel Mapping register */
  3278. #define ENET_MTL_RXQ_DMA_MAP_Q0MDMACH_MASK (0x1U)
  3279. #define ENET_MTL_RXQ_DMA_MAP_Q0MDMACH_SHIFT (0U)
  3280. #define ENET_MTL_RXQ_DMA_MAP_Q0MDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_RXQ_DMA_MAP_Q0MDMACH_SHIFT)) & ENET_MTL_RXQ_DMA_MAP_Q0MDMACH_MASK)
  3281. #define ENET_MTL_RXQ_DMA_MAP_Q0DDMACH_MASK (0x10U)
  3282. #define ENET_MTL_RXQ_DMA_MAP_Q0DDMACH_SHIFT (4U)
  3283. #define ENET_MTL_RXQ_DMA_MAP_Q0DDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_RXQ_DMA_MAP_Q0DDMACH_SHIFT)) & ENET_MTL_RXQ_DMA_MAP_Q0DDMACH_MASK)
  3284. #define ENET_MTL_RXQ_DMA_MAP_Q1MDMACH_MASK (0x100U)
  3285. #define ENET_MTL_RXQ_DMA_MAP_Q1MDMACH_SHIFT (8U)
  3286. #define ENET_MTL_RXQ_DMA_MAP_Q1MDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_RXQ_DMA_MAP_Q1MDMACH_SHIFT)) & ENET_MTL_RXQ_DMA_MAP_Q1MDMACH_MASK)
  3287. #define ENET_MTL_RXQ_DMA_MAP_Q1DDMACH_MASK (0x1000U)
  3288. #define ENET_MTL_RXQ_DMA_MAP_Q1DDMACH_SHIFT (12U)
  3289. #define ENET_MTL_RXQ_DMA_MAP_Q1DDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_RXQ_DMA_MAP_Q1DDMACH_SHIFT)) & ENET_MTL_RXQ_DMA_MAP_Q1DDMACH_MASK)
  3290. /*! @name MTL_QUEUE_MTL_TXQX_OP_MODE - MTL TxQx Operation Mode register */
  3291. #define ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_FTQ_MASK (0x1U)
  3292. #define ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_FTQ_SHIFT (0U)
  3293. #define ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_FTQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_FTQ_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_FTQ_MASK)
  3294. #define ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TSF_MASK (0x2U)
  3295. #define ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TSF_SHIFT (1U)
  3296. #define ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TSF(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TSF_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TSF_MASK)
  3297. #define ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TXQEN_MASK (0xCU)
  3298. #define ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TXQEN_SHIFT (2U)
  3299. #define ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TXQEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TXQEN_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TXQEN_MASK)
  3300. #define ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TTC_MASK (0x70U)
  3301. #define ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TTC_SHIFT (4U)
  3302. #define ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TTC(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TTC_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TTC_MASK)
  3303. #define ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TQS_MASK (0x70000U)
  3304. #define ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TQS_SHIFT (16U)
  3305. #define ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TQS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TQS_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_TQS_MASK)
  3306. /* The count of ENET_MTL_QUEUE_MTL_TXQX_OP_MODE */
  3307. #define ENET_MTL_QUEUE_MTL_TXQX_OP_MODE_COUNT (2U)
  3308. /*! @name MTL_QUEUE_MTL_TXQX_UNDRFLW - MTL TxQx Underflow register */
  3309. #define ENET_MTL_QUEUE_MTL_TXQX_UNDRFLW_UFFRMCNT_MASK (0x7FFU)
  3310. #define ENET_MTL_QUEUE_MTL_TXQX_UNDRFLW_UFFRMCNT_SHIFT (0U)
  3311. #define ENET_MTL_QUEUE_MTL_TXQX_UNDRFLW_UFFRMCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_UNDRFLW_UFFRMCNT_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_UNDRFLW_UFFRMCNT_MASK)
  3312. #define ENET_MTL_QUEUE_MTL_TXQX_UNDRFLW_UFCNTOVF_MASK (0x800U)
  3313. #define ENET_MTL_QUEUE_MTL_TXQX_UNDRFLW_UFCNTOVF_SHIFT (11U)
  3314. #define ENET_MTL_QUEUE_MTL_TXQX_UNDRFLW_UFCNTOVF(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_UNDRFLW_UFCNTOVF_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_UNDRFLW_UFCNTOVF_MASK)
  3315. /* The count of ENET_MTL_QUEUE_MTL_TXQX_UNDRFLW */
  3316. #define ENET_MTL_QUEUE_MTL_TXQX_UNDRFLW_COUNT (2U)
  3317. /*! @name MTL_QUEUE_MTL_TXQX_DBG - MTL TxQx Debug register */
  3318. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_TXQPAUSED_MASK (0x1U)
  3319. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_TXQPAUSED_SHIFT (0U)
  3320. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_TXQPAUSED(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_DBG_TXQPAUSED_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_DBG_TXQPAUSED_MASK)
  3321. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_TRCSTS_MASK (0x6U)
  3322. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_TRCSTS_SHIFT (1U)
  3323. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_TRCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_DBG_TRCSTS_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_DBG_TRCSTS_MASK)
  3324. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_TWCSTS_MASK (0x8U)
  3325. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_TWCSTS_SHIFT (3U)
  3326. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_TWCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_DBG_TWCSTS_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_DBG_TWCSTS_MASK)
  3327. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_TXQSTS_MASK (0x10U)
  3328. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_TXQSTS_SHIFT (4U)
  3329. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_TXQSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_DBG_TXQSTS_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_DBG_TXQSTS_MASK)
  3330. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_TXSTSFSTS_MASK (0x20U)
  3331. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_TXSTSFSTS_SHIFT (5U)
  3332. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_TXSTSFSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_DBG_TXSTSFSTS_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_DBG_TXSTSFSTS_MASK)
  3333. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_PTXQ_MASK (0x70000U)
  3334. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_PTXQ_SHIFT (16U)
  3335. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_PTXQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_DBG_PTXQ_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_DBG_PTXQ_MASK)
  3336. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_STSXSTSF_MASK (0x700000U)
  3337. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_STSXSTSF_SHIFT (20U)
  3338. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_STSXSTSF(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_DBG_STSXSTSF_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_DBG_STSXSTSF_MASK)
  3339. /* The count of ENET_MTL_QUEUE_MTL_TXQX_DBG */
  3340. #define ENET_MTL_QUEUE_MTL_TXQX_DBG_COUNT (2U)
  3341. /*! @name MTL_QUEUE_MTL_TXQX_ETS_CTRL - MTL TxQx ETS control register, only TxQ1 support */
  3342. #define ENET_MTL_QUEUE_MTL_TXQX_ETS_CTRL_AVALG_MASK (0x4U)
  3343. #define ENET_MTL_QUEUE_MTL_TXQX_ETS_CTRL_AVALG_SHIFT (2U)
  3344. #define ENET_MTL_QUEUE_MTL_TXQX_ETS_CTRL_AVALG(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_ETS_CTRL_AVALG_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_ETS_CTRL_AVALG_MASK)
  3345. #define ENET_MTL_QUEUE_MTL_TXQX_ETS_CTRL_CC_MASK (0x8U)
  3346. #define ENET_MTL_QUEUE_MTL_TXQX_ETS_CTRL_CC_SHIFT (3U)
  3347. #define ENET_MTL_QUEUE_MTL_TXQX_ETS_CTRL_CC(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_ETS_CTRL_CC_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_ETS_CTRL_CC_MASK)
  3348. #define ENET_MTL_QUEUE_MTL_TXQX_ETS_CTRL_SLC_MASK (0x70U)
  3349. #define ENET_MTL_QUEUE_MTL_TXQX_ETS_CTRL_SLC_SHIFT (4U)
  3350. #define ENET_MTL_QUEUE_MTL_TXQX_ETS_CTRL_SLC(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_ETS_CTRL_SLC_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_ETS_CTRL_SLC_MASK)
  3351. /* The count of ENET_MTL_QUEUE_MTL_TXQX_ETS_CTRL */
  3352. #define ENET_MTL_QUEUE_MTL_TXQX_ETS_CTRL_COUNT (2U)
  3353. /*! @name MTL_QUEUE_MTL_TXQX_ETS_STAT - MTL TxQx ETS Status register */
  3354. #define ENET_MTL_QUEUE_MTL_TXQX_ETS_STAT_ABS_MASK (0xFFFFFFU)
  3355. #define ENET_MTL_QUEUE_MTL_TXQX_ETS_STAT_ABS_SHIFT (0U)
  3356. #define ENET_MTL_QUEUE_MTL_TXQX_ETS_STAT_ABS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_ETS_STAT_ABS_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_ETS_STAT_ABS_MASK)
  3357. /* The count of ENET_MTL_QUEUE_MTL_TXQX_ETS_STAT */
  3358. #define ENET_MTL_QUEUE_MTL_TXQX_ETS_STAT_COUNT (2U)
  3359. /*! @name MTL_QUEUE_MTL_TXQX_QNTM_WGHT - */
  3360. #define ENET_MTL_QUEUE_MTL_TXQX_QNTM_WGHT_ISCQW_MASK (0x1FFFFFU)
  3361. #define ENET_MTL_QUEUE_MTL_TXQX_QNTM_WGHT_ISCQW_SHIFT (0U)
  3362. #define ENET_MTL_QUEUE_MTL_TXQX_QNTM_WGHT_ISCQW(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_QNTM_WGHT_ISCQW_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_QNTM_WGHT_ISCQW_MASK)
  3363. /* The count of ENET_MTL_QUEUE_MTL_TXQX_QNTM_WGHT */
  3364. #define ENET_MTL_QUEUE_MTL_TXQX_QNTM_WGHT_COUNT (2U)
  3365. /*! @name MTL_QUEUE_MTL_TXQX_SNDSLP_CRDT - MTL TxQx SendSlopCredit register, only TxQ1 support */
  3366. #define ENET_MTL_QUEUE_MTL_TXQX_SNDSLP_CRDT_SSC_MASK (0x3FFFU)
  3367. #define ENET_MTL_QUEUE_MTL_TXQX_SNDSLP_CRDT_SSC_SHIFT (0U)
  3368. #define ENET_MTL_QUEUE_MTL_TXQX_SNDSLP_CRDT_SSC(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_SNDSLP_CRDT_SSC_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_SNDSLP_CRDT_SSC_MASK)
  3369. /* The count of ENET_MTL_QUEUE_MTL_TXQX_SNDSLP_CRDT */
  3370. #define ENET_MTL_QUEUE_MTL_TXQX_SNDSLP_CRDT_COUNT (2U)
  3371. /*! @name MTL_QUEUE_MTL_TXQX_HI_CRDT - MTL TxQx hiCredit register, only TxQ1 support */
  3372. #define ENET_MTL_QUEUE_MTL_TXQX_HI_CRDT_HC_MASK (0x1FFFFFFFU)
  3373. #define ENET_MTL_QUEUE_MTL_TXQX_HI_CRDT_HC_SHIFT (0U)
  3374. #define ENET_MTL_QUEUE_MTL_TXQX_HI_CRDT_HC(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_HI_CRDT_HC_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_HI_CRDT_HC_MASK)
  3375. /* The count of ENET_MTL_QUEUE_MTL_TXQX_HI_CRDT */
  3376. #define ENET_MTL_QUEUE_MTL_TXQX_HI_CRDT_COUNT (2U)
  3377. /*! @name MTL_QUEUE_MTL_TXQX_LO_CRDT - MTL TxQx loCredit register, only TxQ1 support */
  3378. #define ENET_MTL_QUEUE_MTL_TXQX_LO_CRDT_LC_MASK (0x1FFFFFFFU)
  3379. #define ENET_MTL_QUEUE_MTL_TXQX_LO_CRDT_LC_SHIFT (0U)
  3380. #define ENET_MTL_QUEUE_MTL_TXQX_LO_CRDT_LC(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_LO_CRDT_LC_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_LO_CRDT_LC_MASK)
  3381. /* The count of ENET_MTL_QUEUE_MTL_TXQX_LO_CRDT */
  3382. #define ENET_MTL_QUEUE_MTL_TXQX_LO_CRDT_COUNT (2U)
  3383. /*! @name MTL_QUEUE_MTL_TXQX_INTCTRL_STAT - */
  3384. #define ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_TXUNFIS_MASK (0x1U)
  3385. #define ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_TXUNFIS_SHIFT (0U)
  3386. #define ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_TXUNFIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_TXUNFIS_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_TXUNFIS_MASK)
  3387. #define ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_ABPSIS_MASK (0x2U)
  3388. #define ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_ABPSIS_SHIFT (1U)
  3389. #define ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_ABPSIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_ABPSIS_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_ABPSIS_MASK)
  3390. #define ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_TXUIE_MASK (0x100U)
  3391. #define ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_TXUIE_SHIFT (8U)
  3392. #define ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_TXUIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_TXUIE_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_TXUIE_MASK)
  3393. #define ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_ABPSIE_MASK (0x200U)
  3394. #define ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_ABPSIE_SHIFT (9U)
  3395. #define ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_ABPSIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_ABPSIE_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_ABPSIE_MASK)
  3396. #define ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_RXOVFIS_MASK (0x10000U)
  3397. #define ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_RXOVFIS_SHIFT (16U)
  3398. #define ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_RXOVFIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_RXOVFIS_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_RXOVFIS_MASK)
  3399. #define ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_RXOIE_MASK (0x1000000U)
  3400. #define ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_RXOIE_SHIFT (24U)
  3401. #define ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_RXOIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_RXOIE_SHIFT)) & ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_RXOIE_MASK)
  3402. /* The count of ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT */
  3403. #define ENET_MTL_QUEUE_MTL_TXQX_INTCTRL_STAT_COUNT (2U)
  3404. /*! @name MTL_QUEUE_MTL_RXQX_OP_MODE - MTL RxQx Operation Mode register */
  3405. #define ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_RTC_MASK (0x3U)
  3406. #define ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_RTC_SHIFT (0U)
  3407. #define ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_RTC(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_RTC_SHIFT)) & ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_RTC_MASK)
  3408. #define ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_FUP_MASK (0x8U)
  3409. #define ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_FUP_SHIFT (3U)
  3410. #define ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_FUP(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_FUP_SHIFT)) & ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_FUP_MASK)
  3411. #define ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_FEP_MASK (0x10U)
  3412. #define ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_FEP_SHIFT (4U)
  3413. #define ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_FEP(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_FEP_SHIFT)) & ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_FEP_MASK)
  3414. #define ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_RSF_MASK (0x20U)
  3415. #define ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_RSF_SHIFT (5U)
  3416. #define ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_RSF(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_RSF_SHIFT)) & ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_RSF_MASK)
  3417. #define ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_DIS_TCP_EF_MASK (0x40U)
  3418. #define ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_DIS_TCP_EF_SHIFT (6U)
  3419. #define ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_DIS_TCP_EF(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_DIS_TCP_EF_SHIFT)) & ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_DIS_TCP_EF_MASK)
  3420. #define ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_RQS_MASK (0x700000U)
  3421. #define ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_RQS_SHIFT (20U)
  3422. #define ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_RQS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_RQS_SHIFT)) & ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_RQS_MASK)
  3423. /* The count of ENET_MTL_QUEUE_MTL_RXQX_OP_MODE */
  3424. #define ENET_MTL_QUEUE_MTL_RXQX_OP_MODE_COUNT (2U)
  3425. /*! @name MTL_QUEUE_MTL_RXQX_MISSPKT_OVRFLW_CNT - MTL RxQx Missed Packet Overflow Counter register */
  3426. #define ENET_MTL_QUEUE_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFPKTCNT_MASK (0x7FFU)
  3427. #define ENET_MTL_QUEUE_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFPKTCNT_SHIFT (0U)
  3428. #define ENET_MTL_QUEUE_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFPKTCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFPKTCNT_SHIFT)) & ENET_MTL_QUEUE_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFPKTCNT_MASK)
  3429. #define ENET_MTL_QUEUE_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFCNTOVF_MASK (0x800U)
  3430. #define ENET_MTL_QUEUE_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFCNTOVF_SHIFT (11U)
  3431. #define ENET_MTL_QUEUE_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFCNTOVF(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFCNTOVF_SHIFT)) & ENET_MTL_QUEUE_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFCNTOVF_MASK)
  3432. /* The count of ENET_MTL_QUEUE_MTL_RXQX_MISSPKT_OVRFLW_CNT */
  3433. #define ENET_MTL_QUEUE_MTL_RXQX_MISSPKT_OVRFLW_CNT_COUNT (2U)
  3434. /*! @name MTL_QUEUE_MTL_RXQX_DBG - MTL RxQx Debug register */
  3435. #define ENET_MTL_QUEUE_MTL_RXQX_DBG_RWCSTS_MASK (0x1U)
  3436. #define ENET_MTL_QUEUE_MTL_RXQX_DBG_RWCSTS_SHIFT (0U)
  3437. #define ENET_MTL_QUEUE_MTL_RXQX_DBG_RWCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_RXQX_DBG_RWCSTS_SHIFT)) & ENET_MTL_QUEUE_MTL_RXQX_DBG_RWCSTS_MASK)
  3438. #define ENET_MTL_QUEUE_MTL_RXQX_DBG_RRCSTS_MASK (0x6U)
  3439. #define ENET_MTL_QUEUE_MTL_RXQX_DBG_RRCSTS_SHIFT (1U)
  3440. #define ENET_MTL_QUEUE_MTL_RXQX_DBG_RRCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_RXQX_DBG_RRCSTS_SHIFT)) & ENET_MTL_QUEUE_MTL_RXQX_DBG_RRCSTS_MASK)
  3441. #define ENET_MTL_QUEUE_MTL_RXQX_DBG_RXQSTS_MASK (0x30U)
  3442. #define ENET_MTL_QUEUE_MTL_RXQX_DBG_RXQSTS_SHIFT (4U)
  3443. #define ENET_MTL_QUEUE_MTL_RXQX_DBG_RXQSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_RXQX_DBG_RXQSTS_SHIFT)) & ENET_MTL_QUEUE_MTL_RXQX_DBG_RXQSTS_MASK)
  3444. #define ENET_MTL_QUEUE_MTL_RXQX_DBG_PRXQ_MASK (0x3FFF0000U)
  3445. #define ENET_MTL_QUEUE_MTL_RXQX_DBG_PRXQ_SHIFT (16U)
  3446. #define ENET_MTL_QUEUE_MTL_RXQX_DBG_PRXQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_RXQX_DBG_PRXQ_SHIFT)) & ENET_MTL_QUEUE_MTL_RXQX_DBG_PRXQ_MASK)
  3447. /* The count of ENET_MTL_QUEUE_MTL_RXQX_DBG */
  3448. #define ENET_MTL_QUEUE_MTL_RXQX_DBG_COUNT (2U)
  3449. /*! @name MTL_QUEUE_MTL_RXQX_CTRL - MTL RxQx Control register */
  3450. #define ENET_MTL_QUEUE_MTL_RXQX_CTRL_RXQ_WEGT_MASK (0x7U)
  3451. #define ENET_MTL_QUEUE_MTL_RXQX_CTRL_RXQ_WEGT_SHIFT (0U)
  3452. #define ENET_MTL_QUEUE_MTL_RXQX_CTRL_RXQ_WEGT(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_RXQX_CTRL_RXQ_WEGT_SHIFT)) & ENET_MTL_QUEUE_MTL_RXQX_CTRL_RXQ_WEGT_MASK)
  3453. #define ENET_MTL_QUEUE_MTL_RXQX_CTRL_RXQ_FRM_ARBIT_MASK (0x8U)
  3454. #define ENET_MTL_QUEUE_MTL_RXQX_CTRL_RXQ_FRM_ARBIT_SHIFT (3U)
  3455. #define ENET_MTL_QUEUE_MTL_RXQX_CTRL_RXQ_FRM_ARBIT(x) (((uint32_t)(((uint32_t)(x)) << ENET_MTL_QUEUE_MTL_RXQX_CTRL_RXQ_FRM_ARBIT_SHIFT)) & ENET_MTL_QUEUE_MTL_RXQX_CTRL_RXQ_FRM_ARBIT_MASK)
  3456. /* The count of ENET_MTL_QUEUE_MTL_RXQX_CTRL */
  3457. #define ENET_MTL_QUEUE_MTL_RXQX_CTRL_COUNT (2U)
  3458. /*! @name DMA_MODE - DMA mode register */
  3459. #define ENET_DMA_MODE_SWR_MASK (0x1U)
  3460. #define ENET_DMA_MODE_SWR_SHIFT (0U)
  3461. #define ENET_DMA_MODE_SWR(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_MODE_SWR_SHIFT)) & ENET_DMA_MODE_SWR_MASK)
  3462. #define ENET_DMA_MODE_DA_MASK (0x2U)
  3463. #define ENET_DMA_MODE_DA_SHIFT (1U)
  3464. #define ENET_DMA_MODE_DA(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_MODE_DA_SHIFT)) & ENET_DMA_MODE_DA_MASK)
  3465. #define ENET_DMA_MODE_TAA_MASK (0x1CU)
  3466. #define ENET_DMA_MODE_TAA_SHIFT (2U)
  3467. #define ENET_DMA_MODE_TAA(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_MODE_TAA_SHIFT)) & ENET_DMA_MODE_TAA_MASK)
  3468. #define ENET_DMA_MODE_TXPR_MASK (0x800U)
  3469. #define ENET_DMA_MODE_TXPR_SHIFT (11U)
  3470. #define ENET_DMA_MODE_TXPR(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_MODE_TXPR_SHIFT)) & ENET_DMA_MODE_TXPR_MASK)
  3471. #define ENET_DMA_MODE_PR_MASK (0x7000U)
  3472. #define ENET_DMA_MODE_PR_SHIFT (12U)
  3473. #define ENET_DMA_MODE_PR(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_MODE_PR_SHIFT)) & ENET_DMA_MODE_PR_MASK)
  3474. /*! @name DMA_SYSBUS_MODE - DMA System Bus mode */
  3475. #define ENET_DMA_SYSBUS_MODE_FB_MASK (0x1U)
  3476. #define ENET_DMA_SYSBUS_MODE_FB_SHIFT (0U)
  3477. #define ENET_DMA_SYSBUS_MODE_FB(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_SYSBUS_MODE_FB_SHIFT)) & ENET_DMA_SYSBUS_MODE_FB_MASK)
  3478. #define ENET_DMA_SYSBUS_MODE_AAL_MASK (0x1000U)
  3479. #define ENET_DMA_SYSBUS_MODE_AAL_SHIFT (12U)
  3480. #define ENET_DMA_SYSBUS_MODE_AAL(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_SYSBUS_MODE_AAL_SHIFT)) & ENET_DMA_SYSBUS_MODE_AAL_MASK)
  3481. #define ENET_DMA_SYSBUS_MODE_MB_MASK (0x4000U)
  3482. #define ENET_DMA_SYSBUS_MODE_MB_SHIFT (14U)
  3483. #define ENET_DMA_SYSBUS_MODE_MB(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_SYSBUS_MODE_MB_SHIFT)) & ENET_DMA_SYSBUS_MODE_MB_MASK)
  3484. #define ENET_DMA_SYSBUS_MODE_RB_MASK (0x8000U)
  3485. #define ENET_DMA_SYSBUS_MODE_RB_SHIFT (15U)
  3486. #define ENET_DMA_SYSBUS_MODE_RB(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_SYSBUS_MODE_RB_SHIFT)) & ENET_DMA_SYSBUS_MODE_RB_MASK)
  3487. /*! @name DMA_INTR_STAT - DMA Interrupt status */
  3488. #define ENET_DMA_INTR_STAT_DC0IS_MASK (0x1U)
  3489. #define ENET_DMA_INTR_STAT_DC0IS_SHIFT (0U)
  3490. #define ENET_DMA_INTR_STAT_DC0IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_INTR_STAT_DC0IS_SHIFT)) & ENET_DMA_INTR_STAT_DC0IS_MASK)
  3491. #define ENET_DMA_INTR_STAT_DC1IS_MASK (0x2U)
  3492. #define ENET_DMA_INTR_STAT_DC1IS_SHIFT (1U)
  3493. #define ENET_DMA_INTR_STAT_DC1IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_INTR_STAT_DC1IS_SHIFT)) & ENET_DMA_INTR_STAT_DC1IS_MASK)
  3494. #define ENET_DMA_INTR_STAT_MTLIS_MASK (0x10000U)
  3495. #define ENET_DMA_INTR_STAT_MTLIS_SHIFT (16U)
  3496. #define ENET_DMA_INTR_STAT_MTLIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_INTR_STAT_MTLIS_SHIFT)) & ENET_DMA_INTR_STAT_MTLIS_MASK)
  3497. #define ENET_DMA_INTR_STAT_MACIS_MASK (0x20000U)
  3498. #define ENET_DMA_INTR_STAT_MACIS_SHIFT (17U)
  3499. #define ENET_DMA_INTR_STAT_MACIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_INTR_STAT_MACIS_SHIFT)) & ENET_DMA_INTR_STAT_MACIS_MASK)
  3500. /*! @name DMA_DBG_STAT - DMA Debug Status */
  3501. #define ENET_DMA_DBG_STAT_AHSTS_MASK (0x1U)
  3502. #define ENET_DMA_DBG_STAT_AHSTS_SHIFT (0U)
  3503. #define ENET_DMA_DBG_STAT_AHSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_DBG_STAT_AHSTS_SHIFT)) & ENET_DMA_DBG_STAT_AHSTS_MASK)
  3504. #define ENET_DMA_DBG_STAT_RPS0_MASK (0xF00U)
  3505. #define ENET_DMA_DBG_STAT_RPS0_SHIFT (8U)
  3506. #define ENET_DMA_DBG_STAT_RPS0(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_DBG_STAT_RPS0_SHIFT)) & ENET_DMA_DBG_STAT_RPS0_MASK)
  3507. #define ENET_DMA_DBG_STAT_TPS0_MASK (0xF000U)
  3508. #define ENET_DMA_DBG_STAT_TPS0_SHIFT (12U)
  3509. #define ENET_DMA_DBG_STAT_TPS0(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_DBG_STAT_TPS0_SHIFT)) & ENET_DMA_DBG_STAT_TPS0_MASK)
  3510. #define ENET_DMA_DBG_STAT_RPS1_MASK (0xF0000U)
  3511. #define ENET_DMA_DBG_STAT_RPS1_SHIFT (16U)
  3512. #define ENET_DMA_DBG_STAT_RPS1(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_DBG_STAT_RPS1_SHIFT)) & ENET_DMA_DBG_STAT_RPS1_MASK)
  3513. #define ENET_DMA_DBG_STAT_TPS1_MASK (0xF00000U)
  3514. #define ENET_DMA_DBG_STAT_TPS1_SHIFT (20U)
  3515. #define ENET_DMA_DBG_STAT_TPS1(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_DBG_STAT_TPS1_SHIFT)) & ENET_DMA_DBG_STAT_TPS1_MASK)
  3516. /*! @name DMA_CH_DMA_CHX_CTRL - DMA Channelx Control */
  3517. #define ENET_DMA_CH_DMA_CHX_CTRL_PBLx8_MASK (0x10000U)
  3518. #define ENET_DMA_CH_DMA_CHX_CTRL_PBLx8_SHIFT (16U)
  3519. #define ENET_DMA_CH_DMA_CHX_CTRL_PBLx8(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_CTRL_PBLx8_SHIFT)) & ENET_DMA_CH_DMA_CHX_CTRL_PBLx8_MASK)
  3520. #define ENET_DMA_CH_DMA_CHX_CTRL_DSL_MASK (0x1C0000U)
  3521. #define ENET_DMA_CH_DMA_CHX_CTRL_DSL_SHIFT (18U)
  3522. #define ENET_DMA_CH_DMA_CHX_CTRL_DSL(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_CTRL_DSL_SHIFT)) & ENET_DMA_CH_DMA_CHX_CTRL_DSL_MASK)
  3523. /* The count of ENET_DMA_CH_DMA_CHX_CTRL */
  3524. #define ENET_DMA_CH_DMA_CHX_CTRL_COUNT (2U)
  3525. /*! @name DMA_CH_DMA_CHX_TX_CTRL - DMA Channelx Transmit Control */
  3526. #define ENET_DMA_CH_DMA_CHX_TX_CTRL_ST_MASK (0x1U)
  3527. #define ENET_DMA_CH_DMA_CHX_TX_CTRL_ST_SHIFT (0U)
  3528. #define ENET_DMA_CH_DMA_CHX_TX_CTRL_ST(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_TX_CTRL_ST_SHIFT)) & ENET_DMA_CH_DMA_CHX_TX_CTRL_ST_MASK)
  3529. #define ENET_DMA_CH_DMA_CHX_TX_CTRL_TCW_MASK (0xEU)
  3530. #define ENET_DMA_CH_DMA_CHX_TX_CTRL_TCW_SHIFT (1U)
  3531. #define ENET_DMA_CH_DMA_CHX_TX_CTRL_TCW(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_TX_CTRL_TCW_SHIFT)) & ENET_DMA_CH_DMA_CHX_TX_CTRL_TCW_MASK)
  3532. #define ENET_DMA_CH_DMA_CHX_TX_CTRL_OSF_MASK (0x10U)
  3533. #define ENET_DMA_CH_DMA_CHX_TX_CTRL_OSF_SHIFT (4U)
  3534. #define ENET_DMA_CH_DMA_CHX_TX_CTRL_OSF(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_TX_CTRL_OSF_SHIFT)) & ENET_DMA_CH_DMA_CHX_TX_CTRL_OSF_MASK)
  3535. #define ENET_DMA_CH_DMA_CHX_TX_CTRL_TxPBL_MASK (0x3F0000U)
  3536. #define ENET_DMA_CH_DMA_CHX_TX_CTRL_TxPBL_SHIFT (16U)
  3537. #define ENET_DMA_CH_DMA_CHX_TX_CTRL_TxPBL(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_TX_CTRL_TxPBL_SHIFT)) & ENET_DMA_CH_DMA_CHX_TX_CTRL_TxPBL_MASK)
  3538. /* The count of ENET_DMA_CH_DMA_CHX_TX_CTRL */
  3539. #define ENET_DMA_CH_DMA_CHX_TX_CTRL_COUNT (2U)
  3540. /*! @name DMA_CH_DMA_CHX_RX_CTRL - DMA Channelx Receive Control */
  3541. #define ENET_DMA_CH_DMA_CHX_RX_CTRL_SR_MASK (0x1U)
  3542. #define ENET_DMA_CH_DMA_CHX_RX_CTRL_SR_SHIFT (0U)
  3543. #define ENET_DMA_CH_DMA_CHX_RX_CTRL_SR(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_RX_CTRL_SR_SHIFT)) & ENET_DMA_CH_DMA_CHX_RX_CTRL_SR_MASK)
  3544. #define ENET_DMA_CH_DMA_CHX_RX_CTRL_RBSZ_MASK (0x7FF8U)
  3545. #define ENET_DMA_CH_DMA_CHX_RX_CTRL_RBSZ_SHIFT (3U)
  3546. #define ENET_DMA_CH_DMA_CHX_RX_CTRL_RBSZ(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_RX_CTRL_RBSZ_SHIFT)) & ENET_DMA_CH_DMA_CHX_RX_CTRL_RBSZ_MASK)
  3547. #define ENET_DMA_CH_DMA_CHX_RX_CTRL_RxPBL_MASK (0x3F0000U)
  3548. #define ENET_DMA_CH_DMA_CHX_RX_CTRL_RxPBL_SHIFT (16U)
  3549. #define ENET_DMA_CH_DMA_CHX_RX_CTRL_RxPBL(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_RX_CTRL_RxPBL_SHIFT)) & ENET_DMA_CH_DMA_CHX_RX_CTRL_RxPBL_MASK)
  3550. #define ENET_DMA_CH_DMA_CHX_RX_CTRL_RPF_MASK (0x80000000U)
  3551. #define ENET_DMA_CH_DMA_CHX_RX_CTRL_RPF_SHIFT (31U)
  3552. #define ENET_DMA_CH_DMA_CHX_RX_CTRL_RPF(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_RX_CTRL_RPF_SHIFT)) & ENET_DMA_CH_DMA_CHX_RX_CTRL_RPF_MASK)
  3553. /* The count of ENET_DMA_CH_DMA_CHX_RX_CTRL */
  3554. #define ENET_DMA_CH_DMA_CHX_RX_CTRL_COUNT (2U)
  3555. /*! @name DMA_CH_DMA_CHX_TXDESC_LIST_ADDR - */
  3556. #define ENET_DMA_CH_DMA_CHX_TXDESC_LIST_ADDR_STL_MASK (0xFFFFFFFCU)
  3557. #define ENET_DMA_CH_DMA_CHX_TXDESC_LIST_ADDR_STL_SHIFT (2U)
  3558. #define ENET_DMA_CH_DMA_CHX_TXDESC_LIST_ADDR_STL(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_TXDESC_LIST_ADDR_STL_SHIFT)) & ENET_DMA_CH_DMA_CHX_TXDESC_LIST_ADDR_STL_MASK)
  3559. /* The count of ENET_DMA_CH_DMA_CHX_TXDESC_LIST_ADDR */
  3560. #define ENET_DMA_CH_DMA_CHX_TXDESC_LIST_ADDR_COUNT (2U)
  3561. /*! @name DMA_CH_DMA_CHX_RXDESC_LIST_ADDR - */
  3562. #define ENET_DMA_CH_DMA_CHX_RXDESC_LIST_ADDR_SRL_MASK (0xFFFFFFFCU)
  3563. #define ENET_DMA_CH_DMA_CHX_RXDESC_LIST_ADDR_SRL_SHIFT (2U)
  3564. #define ENET_DMA_CH_DMA_CHX_RXDESC_LIST_ADDR_SRL(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_RXDESC_LIST_ADDR_SRL_SHIFT)) & ENET_DMA_CH_DMA_CHX_RXDESC_LIST_ADDR_SRL_MASK)
  3565. /* The count of ENET_DMA_CH_DMA_CHX_RXDESC_LIST_ADDR */
  3566. #define ENET_DMA_CH_DMA_CHX_RXDESC_LIST_ADDR_COUNT (2U)
  3567. /*! @name DMA_CH_DMA_CHX_TXDESC_TAIL_PTR - */
  3568. #define ENET_DMA_CH_DMA_CHX_TXDESC_TAIL_PTR_TDTP_MASK (0xFFFFFFFCU)
  3569. #define ENET_DMA_CH_DMA_CHX_TXDESC_TAIL_PTR_TDTP_SHIFT (2U)
  3570. #define ENET_DMA_CH_DMA_CHX_TXDESC_TAIL_PTR_TDTP(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_TXDESC_TAIL_PTR_TDTP_SHIFT)) & ENET_DMA_CH_DMA_CHX_TXDESC_TAIL_PTR_TDTP_MASK)
  3571. /* The count of ENET_DMA_CH_DMA_CHX_TXDESC_TAIL_PTR */
  3572. #define ENET_DMA_CH_DMA_CHX_TXDESC_TAIL_PTR_COUNT (2U)
  3573. /*! @name DMA_CH_DMA_CHX_RXDESC_TAIL_PTR - */
  3574. #define ENET_DMA_CH_DMA_CHX_RXDESC_TAIL_PTR_RDTP_MASK (0xFFFFFFFCU)
  3575. #define ENET_DMA_CH_DMA_CHX_RXDESC_TAIL_PTR_RDTP_SHIFT (2U)
  3576. #define ENET_DMA_CH_DMA_CHX_RXDESC_TAIL_PTR_RDTP(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_RXDESC_TAIL_PTR_RDTP_SHIFT)) & ENET_DMA_CH_DMA_CHX_RXDESC_TAIL_PTR_RDTP_MASK)
  3577. /* The count of ENET_DMA_CH_DMA_CHX_RXDESC_TAIL_PTR */
  3578. #define ENET_DMA_CH_DMA_CHX_RXDESC_TAIL_PTR_COUNT (2U)
  3579. /*! @name DMA_CH_DMA_CHX_TXDESC_RING_LENGTH - */
  3580. #define ENET_DMA_CH_DMA_CHX_TXDESC_RING_LENGTH_TDRL_MASK (0x3FFU)
  3581. #define ENET_DMA_CH_DMA_CHX_TXDESC_RING_LENGTH_TDRL_SHIFT (0U)
  3582. #define ENET_DMA_CH_DMA_CHX_TXDESC_RING_LENGTH_TDRL(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_TXDESC_RING_LENGTH_TDRL_SHIFT)) & ENET_DMA_CH_DMA_CHX_TXDESC_RING_LENGTH_TDRL_MASK)
  3583. /* The count of ENET_DMA_CH_DMA_CHX_TXDESC_RING_LENGTH */
  3584. #define ENET_DMA_CH_DMA_CHX_TXDESC_RING_LENGTH_COUNT (2U)
  3585. /*! @name DMA_CH_DMA_CHX_RXDESC_RING_LENGTH - Channelx Rx descriptor Ring Length */
  3586. #define ENET_DMA_CH_DMA_CHX_RXDESC_RING_LENGTH_RDRL_MASK (0x3FFU)
  3587. #define ENET_DMA_CH_DMA_CHX_RXDESC_RING_LENGTH_RDRL_SHIFT (0U)
  3588. #define ENET_DMA_CH_DMA_CHX_RXDESC_RING_LENGTH_RDRL(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_RXDESC_RING_LENGTH_RDRL_SHIFT)) & ENET_DMA_CH_DMA_CHX_RXDESC_RING_LENGTH_RDRL_MASK)
  3589. /* The count of ENET_DMA_CH_DMA_CHX_RXDESC_RING_LENGTH */
  3590. #define ENET_DMA_CH_DMA_CHX_RXDESC_RING_LENGTH_COUNT (2U)
  3591. /*! @name DMA_CH_DMA_CHX_INT_EN - Channelx Interrupt Enable */
  3592. #define ENET_DMA_CH_DMA_CHX_INT_EN_TIE_MASK (0x1U)
  3593. #define ENET_DMA_CH_DMA_CHX_INT_EN_TIE_SHIFT (0U)
  3594. #define ENET_DMA_CH_DMA_CHX_INT_EN_TIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_INT_EN_TIE_SHIFT)) & ENET_DMA_CH_DMA_CHX_INT_EN_TIE_MASK)
  3595. #define ENET_DMA_CH_DMA_CHX_INT_EN_TSE_MASK (0x2U)
  3596. #define ENET_DMA_CH_DMA_CHX_INT_EN_TSE_SHIFT (1U)
  3597. #define ENET_DMA_CH_DMA_CHX_INT_EN_TSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_INT_EN_TSE_SHIFT)) & ENET_DMA_CH_DMA_CHX_INT_EN_TSE_MASK)
  3598. #define ENET_DMA_CH_DMA_CHX_INT_EN_TBUE_MASK (0x4U)
  3599. #define ENET_DMA_CH_DMA_CHX_INT_EN_TBUE_SHIFT (2U)
  3600. #define ENET_DMA_CH_DMA_CHX_INT_EN_TBUE(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_INT_EN_TBUE_SHIFT)) & ENET_DMA_CH_DMA_CHX_INT_EN_TBUE_MASK)
  3601. #define ENET_DMA_CH_DMA_CHX_INT_EN_RIE_MASK (0x40U)
  3602. #define ENET_DMA_CH_DMA_CHX_INT_EN_RIE_SHIFT (6U)
  3603. #define ENET_DMA_CH_DMA_CHX_INT_EN_RIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_INT_EN_RIE_SHIFT)) & ENET_DMA_CH_DMA_CHX_INT_EN_RIE_MASK)
  3604. #define ENET_DMA_CH_DMA_CHX_INT_EN_RBUE_MASK (0x80U)
  3605. #define ENET_DMA_CH_DMA_CHX_INT_EN_RBUE_SHIFT (7U)
  3606. #define ENET_DMA_CH_DMA_CHX_INT_EN_RBUE(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_INT_EN_RBUE_SHIFT)) & ENET_DMA_CH_DMA_CHX_INT_EN_RBUE_MASK)
  3607. #define ENET_DMA_CH_DMA_CHX_INT_EN_RSE_MASK (0x100U)
  3608. #define ENET_DMA_CH_DMA_CHX_INT_EN_RSE_SHIFT (8U)
  3609. #define ENET_DMA_CH_DMA_CHX_INT_EN_RSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_INT_EN_RSE_SHIFT)) & ENET_DMA_CH_DMA_CHX_INT_EN_RSE_MASK)
  3610. #define ENET_DMA_CH_DMA_CHX_INT_EN_RWTE_MASK (0x200U)
  3611. #define ENET_DMA_CH_DMA_CHX_INT_EN_RWTE_SHIFT (9U)
  3612. #define ENET_DMA_CH_DMA_CHX_INT_EN_RWTE(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_INT_EN_RWTE_SHIFT)) & ENET_DMA_CH_DMA_CHX_INT_EN_RWTE_MASK)
  3613. #define ENET_DMA_CH_DMA_CHX_INT_EN_ETIE_MASK (0x400U)
  3614. #define ENET_DMA_CH_DMA_CHX_INT_EN_ETIE_SHIFT (10U)
  3615. #define ENET_DMA_CH_DMA_CHX_INT_EN_ETIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_INT_EN_ETIE_SHIFT)) & ENET_DMA_CH_DMA_CHX_INT_EN_ETIE_MASK)
  3616. #define ENET_DMA_CH_DMA_CHX_INT_EN_ERIE_MASK (0x800U)
  3617. #define ENET_DMA_CH_DMA_CHX_INT_EN_ERIE_SHIFT (11U)
  3618. #define ENET_DMA_CH_DMA_CHX_INT_EN_ERIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_INT_EN_ERIE_SHIFT)) & ENET_DMA_CH_DMA_CHX_INT_EN_ERIE_MASK)
  3619. #define ENET_DMA_CH_DMA_CHX_INT_EN_FBEE_MASK (0x1000U)
  3620. #define ENET_DMA_CH_DMA_CHX_INT_EN_FBEE_SHIFT (12U)
  3621. #define ENET_DMA_CH_DMA_CHX_INT_EN_FBEE(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_INT_EN_FBEE_SHIFT)) & ENET_DMA_CH_DMA_CHX_INT_EN_FBEE_MASK)
  3622. #define ENET_DMA_CH_DMA_CHX_INT_EN_AIE_MASK (0x4000U)
  3623. #define ENET_DMA_CH_DMA_CHX_INT_EN_AIE_SHIFT (14U)
  3624. #define ENET_DMA_CH_DMA_CHX_INT_EN_AIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_INT_EN_AIE_SHIFT)) & ENET_DMA_CH_DMA_CHX_INT_EN_AIE_MASK)
  3625. #define ENET_DMA_CH_DMA_CHX_INT_EN_NIE_MASK (0x8000U)
  3626. #define ENET_DMA_CH_DMA_CHX_INT_EN_NIE_SHIFT (15U)
  3627. #define ENET_DMA_CH_DMA_CHX_INT_EN_NIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_INT_EN_NIE_SHIFT)) & ENET_DMA_CH_DMA_CHX_INT_EN_NIE_MASK)
  3628. /* The count of ENET_DMA_CH_DMA_CHX_INT_EN */
  3629. #define ENET_DMA_CH_DMA_CHX_INT_EN_COUNT (2U)
  3630. /*! @name DMA_CH_DMA_CHX_RX_INT_WDTIMER - Receive Interrupt Watchdog Timer */
  3631. #define ENET_DMA_CH_DMA_CHX_RX_INT_WDTIMER_RIWT_MASK (0xFFU)
  3632. #define ENET_DMA_CH_DMA_CHX_RX_INT_WDTIMER_RIWT_SHIFT (0U)
  3633. #define ENET_DMA_CH_DMA_CHX_RX_INT_WDTIMER_RIWT(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_RX_INT_WDTIMER_RIWT_SHIFT)) & ENET_DMA_CH_DMA_CHX_RX_INT_WDTIMER_RIWT_MASK)
  3634. /* The count of ENET_DMA_CH_DMA_CHX_RX_INT_WDTIMER */
  3635. #define ENET_DMA_CH_DMA_CHX_RX_INT_WDTIMER_COUNT (2U)
  3636. /*! @name DMA_CH_DMA_CHX_SLOT_FUNC_CTRL_STAT - Slot Function Control and Status */
  3637. #define ENET_DMA_CH_DMA_CHX_SLOT_FUNC_CTRL_STAT_ESC_MASK (0x1U)
  3638. #define ENET_DMA_CH_DMA_CHX_SLOT_FUNC_CTRL_STAT_ESC_SHIFT (0U)
  3639. #define ENET_DMA_CH_DMA_CHX_SLOT_FUNC_CTRL_STAT_ESC(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_SLOT_FUNC_CTRL_STAT_ESC_SHIFT)) & ENET_DMA_CH_DMA_CHX_SLOT_FUNC_CTRL_STAT_ESC_MASK)
  3640. #define ENET_DMA_CH_DMA_CHX_SLOT_FUNC_CTRL_STAT_ASC_MASK (0x2U)
  3641. #define ENET_DMA_CH_DMA_CHX_SLOT_FUNC_CTRL_STAT_ASC_SHIFT (1U)
  3642. #define ENET_DMA_CH_DMA_CHX_SLOT_FUNC_CTRL_STAT_ASC(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_SLOT_FUNC_CTRL_STAT_ASC_SHIFT)) & ENET_DMA_CH_DMA_CHX_SLOT_FUNC_CTRL_STAT_ASC_MASK)
  3643. #define ENET_DMA_CH_DMA_CHX_SLOT_FUNC_CTRL_STAT_RSN_MASK (0xF0000U)
  3644. #define ENET_DMA_CH_DMA_CHX_SLOT_FUNC_CTRL_STAT_RSN_SHIFT (16U)
  3645. #define ENET_DMA_CH_DMA_CHX_SLOT_FUNC_CTRL_STAT_RSN(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_SLOT_FUNC_CTRL_STAT_RSN_SHIFT)) & ENET_DMA_CH_DMA_CHX_SLOT_FUNC_CTRL_STAT_RSN_MASK)
  3646. /* The count of ENET_DMA_CH_DMA_CHX_SLOT_FUNC_CTRL_STAT */
  3647. #define ENET_DMA_CH_DMA_CHX_SLOT_FUNC_CTRL_STAT_COUNT (2U)
  3648. /*! @name DMA_CH_DMA_CHX_CUR_HST_TXDESC - Channelx Current Host Transmit descriptor */
  3649. #define ENET_DMA_CH_DMA_CHX_CUR_HST_TXDESC_HTD_MASK (0xFFFFFFFFU)
  3650. #define ENET_DMA_CH_DMA_CHX_CUR_HST_TXDESC_HTD_SHIFT (0U)
  3651. #define ENET_DMA_CH_DMA_CHX_CUR_HST_TXDESC_HTD(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_CUR_HST_TXDESC_HTD_SHIFT)) & ENET_DMA_CH_DMA_CHX_CUR_HST_TXDESC_HTD_MASK)
  3652. /* The count of ENET_DMA_CH_DMA_CHX_CUR_HST_TXDESC */
  3653. #define ENET_DMA_CH_DMA_CHX_CUR_HST_TXDESC_COUNT (2U)
  3654. /*! @name DMA_CH_DMA_CHX_CUR_HST_RXDESC - */
  3655. #define ENET_DMA_CH_DMA_CHX_CUR_HST_RXDESC_HRD_MASK (0xFFFFFFFFU)
  3656. #define ENET_DMA_CH_DMA_CHX_CUR_HST_RXDESC_HRD_SHIFT (0U)
  3657. #define ENET_DMA_CH_DMA_CHX_CUR_HST_RXDESC_HRD(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_CUR_HST_RXDESC_HRD_SHIFT)) & ENET_DMA_CH_DMA_CHX_CUR_HST_RXDESC_HRD_MASK)
  3658. /* The count of ENET_DMA_CH_DMA_CHX_CUR_HST_RXDESC */
  3659. #define ENET_DMA_CH_DMA_CHX_CUR_HST_RXDESC_COUNT (2U)
  3660. /*! @name DMA_CH_DMA_CHX_CUR_HST_TXBUF - */
  3661. #define ENET_DMA_CH_DMA_CHX_CUR_HST_TXBUF_HTB_MASK (0xFFFFFFFFU)
  3662. #define ENET_DMA_CH_DMA_CHX_CUR_HST_TXBUF_HTB_SHIFT (0U)
  3663. #define ENET_DMA_CH_DMA_CHX_CUR_HST_TXBUF_HTB(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_CUR_HST_TXBUF_HTB_SHIFT)) & ENET_DMA_CH_DMA_CHX_CUR_HST_TXBUF_HTB_MASK)
  3664. /* The count of ENET_DMA_CH_DMA_CHX_CUR_HST_TXBUF */
  3665. #define ENET_DMA_CH_DMA_CHX_CUR_HST_TXBUF_COUNT (2U)
  3666. /*! @name DMA_CH_DMA_CHX_CUR_HST_RXBUF - Channelx Current Application Receive Buffer Address */
  3667. #define ENET_DMA_CH_DMA_CHX_CUR_HST_RXBUF_HRB_MASK (0xFFFFFFFFU)
  3668. #define ENET_DMA_CH_DMA_CHX_CUR_HST_RXBUF_HRB_SHIFT (0U)
  3669. #define ENET_DMA_CH_DMA_CHX_CUR_HST_RXBUF_HRB(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_CUR_HST_RXBUF_HRB_SHIFT)) & ENET_DMA_CH_DMA_CHX_CUR_HST_RXBUF_HRB_MASK)
  3670. /* The count of ENET_DMA_CH_DMA_CHX_CUR_HST_RXBUF */
  3671. #define ENET_DMA_CH_DMA_CHX_CUR_HST_RXBUF_COUNT (2U)
  3672. /*! @name DMA_CH_DMA_CHX_STAT - Channelx DMA status register */
  3673. #define ENET_DMA_CH_DMA_CHX_STAT_TI_MASK (0x1U)
  3674. #define ENET_DMA_CH_DMA_CHX_STAT_TI_SHIFT (0U)
  3675. #define ENET_DMA_CH_DMA_CHX_STAT_TI(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_STAT_TI_SHIFT)) & ENET_DMA_CH_DMA_CHX_STAT_TI_MASK)
  3676. #define ENET_DMA_CH_DMA_CHX_STAT_TPS_MASK (0x2U)
  3677. #define ENET_DMA_CH_DMA_CHX_STAT_TPS_SHIFT (1U)
  3678. #define ENET_DMA_CH_DMA_CHX_STAT_TPS(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_STAT_TPS_SHIFT)) & ENET_DMA_CH_DMA_CHX_STAT_TPS_MASK)
  3679. #define ENET_DMA_CH_DMA_CHX_STAT_TBU_MASK (0x4U)
  3680. #define ENET_DMA_CH_DMA_CHX_STAT_TBU_SHIFT (2U)
  3681. #define ENET_DMA_CH_DMA_CHX_STAT_TBU(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_STAT_TBU_SHIFT)) & ENET_DMA_CH_DMA_CHX_STAT_TBU_MASK)
  3682. #define ENET_DMA_CH_DMA_CHX_STAT_RI_MASK (0x40U)
  3683. #define ENET_DMA_CH_DMA_CHX_STAT_RI_SHIFT (6U)
  3684. #define ENET_DMA_CH_DMA_CHX_STAT_RI(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_STAT_RI_SHIFT)) & ENET_DMA_CH_DMA_CHX_STAT_RI_MASK)
  3685. #define ENET_DMA_CH_DMA_CHX_STAT_RBU_MASK (0x80U)
  3686. #define ENET_DMA_CH_DMA_CHX_STAT_RBU_SHIFT (7U)
  3687. #define ENET_DMA_CH_DMA_CHX_STAT_RBU(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_STAT_RBU_SHIFT)) & ENET_DMA_CH_DMA_CHX_STAT_RBU_MASK)
  3688. #define ENET_DMA_CH_DMA_CHX_STAT_RPS_MASK (0x100U)
  3689. #define ENET_DMA_CH_DMA_CHX_STAT_RPS_SHIFT (8U)
  3690. #define ENET_DMA_CH_DMA_CHX_STAT_RPS(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_STAT_RPS_SHIFT)) & ENET_DMA_CH_DMA_CHX_STAT_RPS_MASK)
  3691. #define ENET_DMA_CH_DMA_CHX_STAT_RWT_MASK (0x200U)
  3692. #define ENET_DMA_CH_DMA_CHX_STAT_RWT_SHIFT (9U)
  3693. #define ENET_DMA_CH_DMA_CHX_STAT_RWT(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_STAT_RWT_SHIFT)) & ENET_DMA_CH_DMA_CHX_STAT_RWT_MASK)
  3694. #define ENET_DMA_CH_DMA_CHX_STAT_ETI_MASK (0x400U)
  3695. #define ENET_DMA_CH_DMA_CHX_STAT_ETI_SHIFT (10U)
  3696. #define ENET_DMA_CH_DMA_CHX_STAT_ETI(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_STAT_ETI_SHIFT)) & ENET_DMA_CH_DMA_CHX_STAT_ETI_MASK)
  3697. #define ENET_DMA_CH_DMA_CHX_STAT_ERI_MASK (0x800U)
  3698. #define ENET_DMA_CH_DMA_CHX_STAT_ERI_SHIFT (11U)
  3699. #define ENET_DMA_CH_DMA_CHX_STAT_ERI(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_STAT_ERI_SHIFT)) & ENET_DMA_CH_DMA_CHX_STAT_ERI_MASK)
  3700. #define ENET_DMA_CH_DMA_CHX_STAT_FBE_MASK (0x1000U)
  3701. #define ENET_DMA_CH_DMA_CHX_STAT_FBE_SHIFT (12U)
  3702. #define ENET_DMA_CH_DMA_CHX_STAT_FBE(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_STAT_FBE_SHIFT)) & ENET_DMA_CH_DMA_CHX_STAT_FBE_MASK)
  3703. #define ENET_DMA_CH_DMA_CHX_STAT_AIS_MASK (0x4000U)
  3704. #define ENET_DMA_CH_DMA_CHX_STAT_AIS_SHIFT (14U)
  3705. #define ENET_DMA_CH_DMA_CHX_STAT_AIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_STAT_AIS_SHIFT)) & ENET_DMA_CH_DMA_CHX_STAT_AIS_MASK)
  3706. #define ENET_DMA_CH_DMA_CHX_STAT_NIS_MASK (0x8000U)
  3707. #define ENET_DMA_CH_DMA_CHX_STAT_NIS_SHIFT (15U)
  3708. #define ENET_DMA_CH_DMA_CHX_STAT_NIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_STAT_NIS_SHIFT)) & ENET_DMA_CH_DMA_CHX_STAT_NIS_MASK)
  3709. #define ENET_DMA_CH_DMA_CHX_STAT_EB_MASK (0x70000U)
  3710. #define ENET_DMA_CH_DMA_CHX_STAT_EB_SHIFT (16U)
  3711. #define ENET_DMA_CH_DMA_CHX_STAT_EB(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMA_CH_DMA_CHX_STAT_EB_SHIFT)) & ENET_DMA_CH_DMA_CHX_STAT_EB_MASK)
  3712. /* The count of ENET_DMA_CH_DMA_CHX_STAT */
  3713. #define ENET_DMA_CH_DMA_CHX_STAT_COUNT (2U)
  3714. /*!
  3715. * @}
  3716. */ /* end of group ENET_Register_Masks */
  3717. /* ENET - Peripheral instance base addresses */
  3718. /** Peripheral ENET base address */
  3719. #define ENET_BASE (0x40092000u)
  3720. /** Peripheral ENET base pointer */
  3721. #define ENET ((ENET_Type *)ENET_BASE)
  3722. /** Array initializer of ENET peripheral base addresses */
  3723. #define ENET_BASE_ADDRS { ENET_BASE }
  3724. /** Array initializer of ENET peripheral base pointers */
  3725. #define ENET_BASE_PTRS { ENET }
  3726. /** Interrupt vectors for the ENET peripheral type */
  3727. #define ENET_IRQS { ETHERNET_IRQn }
  3728. #define ENET_PMT_IRQS { ETHERNET_PMT_IRQn }
  3729. #define ENET_MACLP_IRQS { ETHERNET_MACLP_IRQn }
  3730. /*!
  3731. * @}
  3732. */ /* end of group ENET_Peripheral_Access_Layer */
  3733. /* ----------------------------------------------------------------------------
  3734. -- FLEXCOMM Peripheral Access Layer
  3735. ---------------------------------------------------------------------------- */
  3736. /*!
  3737. * @addtogroup FLEXCOMM_Peripheral_Access_Layer FLEXCOMM Peripheral Access Layer
  3738. * @{
  3739. */
  3740. /** FLEXCOMM - Register Layout Typedef */
  3741. typedef struct {
  3742. uint8_t RESERVED_0[4088];
  3743. __IO uint32_t PSELID; /**< Peripheral Select and Flexcomm ID register., offset: 0xFF8 */
  3744. __IO uint32_t PID; /**< Peripheral identification register., offset: 0xFFC */
  3745. } FLEXCOMM_Type;
  3746. /* ----------------------------------------------------------------------------
  3747. -- FLEXCOMM Register Masks
  3748. ---------------------------------------------------------------------------- */
  3749. /*!
  3750. * @addtogroup FLEXCOMM_Register_Masks FLEXCOMM Register Masks
  3751. * @{
  3752. */
  3753. /*! @name PSELID - Peripheral Select and Flexcomm ID register. */
  3754. #define FLEXCOMM_PSELID_PERSEL_MASK (0x7U)
  3755. #define FLEXCOMM_PSELID_PERSEL_SHIFT (0U)
  3756. #define FLEXCOMM_PSELID_PERSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PSELID_PERSEL_SHIFT)) & FLEXCOMM_PSELID_PERSEL_MASK)
  3757. #define FLEXCOMM_PSELID_LOCK_MASK (0x8U)
  3758. #define FLEXCOMM_PSELID_LOCK_SHIFT (3U)
  3759. #define FLEXCOMM_PSELID_LOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PSELID_LOCK_SHIFT)) & FLEXCOMM_PSELID_LOCK_MASK)
  3760. #define FLEXCOMM_PSELID_USARTPRESENT_MASK (0x10U)
  3761. #define FLEXCOMM_PSELID_USARTPRESENT_SHIFT (4U)
  3762. #define FLEXCOMM_PSELID_USARTPRESENT(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PSELID_USARTPRESENT_SHIFT)) & FLEXCOMM_PSELID_USARTPRESENT_MASK)
  3763. #define FLEXCOMM_PSELID_SPIPRESENT_MASK (0x20U)
  3764. #define FLEXCOMM_PSELID_SPIPRESENT_SHIFT (5U)
  3765. #define FLEXCOMM_PSELID_SPIPRESENT(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PSELID_SPIPRESENT_SHIFT)) & FLEXCOMM_PSELID_SPIPRESENT_MASK)
  3766. #define FLEXCOMM_PSELID_I2CPRESENT_MASK (0x40U)
  3767. #define FLEXCOMM_PSELID_I2CPRESENT_SHIFT (6U)
  3768. #define FLEXCOMM_PSELID_I2CPRESENT(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PSELID_I2CPRESENT_SHIFT)) & FLEXCOMM_PSELID_I2CPRESENT_MASK)
  3769. #define FLEXCOMM_PSELID_I2SPRESENT_MASK (0x80U)
  3770. #define FLEXCOMM_PSELID_I2SPRESENT_SHIFT (7U)
  3771. #define FLEXCOMM_PSELID_I2SPRESENT(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PSELID_I2SPRESENT_SHIFT)) & FLEXCOMM_PSELID_I2SPRESENT_MASK)
  3772. #define FLEXCOMM_PSELID_ID_MASK (0xFFFFF000U)
  3773. #define FLEXCOMM_PSELID_ID_SHIFT (12U)
  3774. #define FLEXCOMM_PSELID_ID(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PSELID_ID_SHIFT)) & FLEXCOMM_PSELID_ID_MASK)
  3775. /*! @name PID - Peripheral identification register. */
  3776. #define FLEXCOMM_PID_Minor_Rev_MASK (0xF00U)
  3777. #define FLEXCOMM_PID_Minor_Rev_SHIFT (8U)
  3778. #define FLEXCOMM_PID_Minor_Rev(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PID_Minor_Rev_SHIFT)) & FLEXCOMM_PID_Minor_Rev_MASK)
  3779. #define FLEXCOMM_PID_Major_Rev_MASK (0xF000U)
  3780. #define FLEXCOMM_PID_Major_Rev_SHIFT (12U)
  3781. #define FLEXCOMM_PID_Major_Rev(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PID_Major_Rev_SHIFT)) & FLEXCOMM_PID_Major_Rev_MASK)
  3782. #define FLEXCOMM_PID_ID_MASK (0xFFFF0000U)
  3783. #define FLEXCOMM_PID_ID_SHIFT (16U)
  3784. #define FLEXCOMM_PID_ID(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PID_ID_SHIFT)) & FLEXCOMM_PID_ID_MASK)
  3785. /*!
  3786. * @}
  3787. */ /* end of group FLEXCOMM_Register_Masks */
  3788. /* FLEXCOMM - Peripheral instance base addresses */
  3789. /** Peripheral FLEXCOMM0 base address */
  3790. #define FLEXCOMM0_BASE (0x40086000u)
  3791. /** Peripheral FLEXCOMM0 base pointer */
  3792. #define FLEXCOMM0 ((FLEXCOMM_Type *)FLEXCOMM0_BASE)
  3793. /** Peripheral FLEXCOMM1 base address */
  3794. #define FLEXCOMM1_BASE (0x40087000u)
  3795. /** Peripheral FLEXCOMM1 base pointer */
  3796. #define FLEXCOMM1 ((FLEXCOMM_Type *)FLEXCOMM1_BASE)
  3797. /** Peripheral FLEXCOMM2 base address */
  3798. #define FLEXCOMM2_BASE (0x40088000u)
  3799. /** Peripheral FLEXCOMM2 base pointer */
  3800. #define FLEXCOMM2 ((FLEXCOMM_Type *)FLEXCOMM2_BASE)
  3801. /** Peripheral FLEXCOMM3 base address */
  3802. #define FLEXCOMM3_BASE (0x40089000u)
  3803. /** Peripheral FLEXCOMM3 base pointer */
  3804. #define FLEXCOMM3 ((FLEXCOMM_Type *)FLEXCOMM3_BASE)
  3805. /** Peripheral FLEXCOMM4 base address */
  3806. #define FLEXCOMM4_BASE (0x4008A000u)
  3807. /** Peripheral FLEXCOMM4 base pointer */
  3808. #define FLEXCOMM4 ((FLEXCOMM_Type *)FLEXCOMM4_BASE)
  3809. /** Peripheral FLEXCOMM5 base address */
  3810. #define FLEXCOMM5_BASE (0x40096000u)
  3811. /** Peripheral FLEXCOMM5 base pointer */
  3812. #define FLEXCOMM5 ((FLEXCOMM_Type *)FLEXCOMM5_BASE)
  3813. /** Peripheral FLEXCOMM6 base address */
  3814. #define FLEXCOMM6_BASE (0x40097000u)
  3815. /** Peripheral FLEXCOMM6 base pointer */
  3816. #define FLEXCOMM6 ((FLEXCOMM_Type *)FLEXCOMM6_BASE)
  3817. /** Peripheral FLEXCOMM7 base address */
  3818. #define FLEXCOMM7_BASE (0x40098000u)
  3819. /** Peripheral FLEXCOMM7 base pointer */
  3820. #define FLEXCOMM7 ((FLEXCOMM_Type *)FLEXCOMM7_BASE)
  3821. /** Peripheral FLEXCOMM8 base address */
  3822. #define FLEXCOMM8_BASE (0x40099000u)
  3823. /** Peripheral FLEXCOMM8 base pointer */
  3824. #define FLEXCOMM8 ((FLEXCOMM_Type *)FLEXCOMM8_BASE)
  3825. /** Peripheral FLEXCOMM9 base address */
  3826. #define FLEXCOMM9_BASE (0x4009A000u)
  3827. /** Peripheral FLEXCOMM9 base pointer */
  3828. #define FLEXCOMM9 ((FLEXCOMM_Type *)FLEXCOMM9_BASE)
  3829. /** Array initializer of FLEXCOMM peripheral base addresses */
  3830. #define FLEXCOMM_BASE_ADDRS { FLEXCOMM0_BASE, FLEXCOMM1_BASE, FLEXCOMM2_BASE, FLEXCOMM3_BASE, FLEXCOMM4_BASE, FLEXCOMM5_BASE, FLEXCOMM6_BASE, FLEXCOMM7_BASE, FLEXCOMM8_BASE, FLEXCOMM9_BASE }
  3831. /** Array initializer of FLEXCOMM peripheral base pointers */
  3832. #define FLEXCOMM_BASE_PTRS { FLEXCOMM0, FLEXCOMM1, FLEXCOMM2, FLEXCOMM3, FLEXCOMM4, FLEXCOMM5, FLEXCOMM6, FLEXCOMM7, FLEXCOMM8, FLEXCOMM9 }
  3833. /** Interrupt vectors for the FLEXCOMM peripheral type */
  3834. #define FLEXCOMM_IRQS { FLEXCOMM0_IRQn, FLEXCOMM1_IRQn, FLEXCOMM2_IRQn, FLEXCOMM3_IRQn, FLEXCOMM4_IRQn, FLEXCOMM5_IRQn, FLEXCOMM6_IRQn, FLEXCOMM7_IRQn, FLEXCOMM8_IRQn, FLEXCOMM9_IRQn }
  3835. /*!
  3836. * @}
  3837. */ /* end of group FLEXCOMM_Peripheral_Access_Layer */
  3838. /* ----------------------------------------------------------------------------
  3839. -- FMC Peripheral Access Layer
  3840. ---------------------------------------------------------------------------- */
  3841. /*!
  3842. * @addtogroup FMC_Peripheral_Access_Layer FMC Peripheral Access Layer
  3843. * @{
  3844. */
  3845. /** FMC - Register Layout Typedef */
  3846. typedef struct {
  3847. __IO uint32_t FCTR; /**< Control register, offset: 0x0 */
  3848. uint8_t RESERVED_0[12];
  3849. __IO uint32_t FBWST; /**< Wait state register, offset: 0x10 */
  3850. uint8_t RESERVED_1[12];
  3851. __IO uint32_t FMSSTART; /**< Signature start address register, offset: 0x20 */
  3852. __IO uint32_t FMSSTOP; /**< Signature stop-address register, offset: 0x24 */
  3853. uint8_t RESERVED_2[4];
  3854. __I uint32_t FMSW[4]; /**< Words of 128-bit signature word, array offset: 0x2C, array step: 0x4 */
  3855. uint8_t RESERVED_3[4004];
  3856. __I uint32_t FMSTAT; /**< Signature generation status register, offset: 0xFE0 */
  3857. uint8_t RESERVED_4[4];
  3858. __O uint32_t FMSTATCLR; /**< Signature generation status clear register, offset: 0xFE8 */
  3859. } FMC_Type;
  3860. /* ----------------------------------------------------------------------------
  3861. -- FMC Register Masks
  3862. ---------------------------------------------------------------------------- */
  3863. /*!
  3864. * @addtogroup FMC_Register_Masks FMC Register Masks
  3865. * @{
  3866. */
  3867. /*! @name FCTR - Control register */
  3868. #define FMC_FCTR_FS_RD0_MASK (0x8U)
  3869. #define FMC_FCTR_FS_RD0_SHIFT (3U)
  3870. #define FMC_FCTR_FS_RD0(x) (((uint32_t)(((uint32_t)(x)) << FMC_FCTR_FS_RD0_SHIFT)) & FMC_FCTR_FS_RD0_MASK)
  3871. #define FMC_FCTR_FS_RD1_MASK (0x10U)
  3872. #define FMC_FCTR_FS_RD1_SHIFT (4U)
  3873. #define FMC_FCTR_FS_RD1(x) (((uint32_t)(((uint32_t)(x)) << FMC_FCTR_FS_RD1_SHIFT)) & FMC_FCTR_FS_RD1_MASK)
  3874. /*! @name FBWST - Wait state register */
  3875. #define FMC_FBWST_WAITSTATES_MASK (0xFFU)
  3876. #define FMC_FBWST_WAITSTATES_SHIFT (0U)
  3877. #define FMC_FBWST_WAITSTATES(x) (((uint32_t)(((uint32_t)(x)) << FMC_FBWST_WAITSTATES_SHIFT)) & FMC_FBWST_WAITSTATES_MASK)
  3878. /*! @name FMSSTART - Signature start address register */
  3879. #define FMC_FMSSTART_START_MASK (0x1FFFFU)
  3880. #define FMC_FMSSTART_START_SHIFT (0U)
  3881. #define FMC_FMSSTART_START(x) (((uint32_t)(((uint32_t)(x)) << FMC_FMSSTART_START_SHIFT)) & FMC_FMSSTART_START_MASK)
  3882. /*! @name FMSSTOP - Signature stop-address register */
  3883. #define FMC_FMSSTOP_STOP_MASK (0x1FFFFU)
  3884. #define FMC_FMSSTOP_STOP_SHIFT (0U)
  3885. #define FMC_FMSSTOP_STOP(x) (((uint32_t)(((uint32_t)(x)) << FMC_FMSSTOP_STOP_SHIFT)) & FMC_FMSSTOP_STOP_MASK)
  3886. #define FMC_FMSSTOP_SIG_START_MASK (0x20000U)
  3887. #define FMC_FMSSTOP_SIG_START_SHIFT (17U)
  3888. #define FMC_FMSSTOP_SIG_START(x) (((uint32_t)(((uint32_t)(x)) << FMC_FMSSTOP_SIG_START_SHIFT)) & FMC_FMSSTOP_SIG_START_MASK)
  3889. /*! @name FMSW - Words of 128-bit signature word */
  3890. #define FMC_FMSW_SW_MASK (0xFFFFFFFFU)
  3891. #define FMC_FMSW_SW_SHIFT (0U)
  3892. #define FMC_FMSW_SW(x) (((uint32_t)(((uint32_t)(x)) << FMC_FMSW_SW_SHIFT)) & FMC_FMSW_SW_MASK)
  3893. /* The count of FMC_FMSW */
  3894. #define FMC_FMSW_COUNT (4U)
  3895. /*! @name FMSTAT - Signature generation status register */
  3896. #define FMC_FMSTAT_SIG_DONE_MASK (0x4U)
  3897. #define FMC_FMSTAT_SIG_DONE_SHIFT (2U)
  3898. #define FMC_FMSTAT_SIG_DONE(x) (((uint32_t)(((uint32_t)(x)) << FMC_FMSTAT_SIG_DONE_SHIFT)) & FMC_FMSTAT_SIG_DONE_MASK)
  3899. /*! @name FMSTATCLR - Signature generation status clear register */
  3900. #define FMC_FMSTATCLR_SIG_DONE_CLR_MASK (0x4U)
  3901. #define FMC_FMSTATCLR_SIG_DONE_CLR_SHIFT (2U)
  3902. #define FMC_FMSTATCLR_SIG_DONE_CLR(x) (((uint32_t)(((uint32_t)(x)) << FMC_FMSTATCLR_SIG_DONE_CLR_SHIFT)) & FMC_FMSTATCLR_SIG_DONE_CLR_MASK)
  3903. /*!
  3904. * @}
  3905. */ /* end of group FMC_Register_Masks */
  3906. /* FMC - Peripheral instance base addresses */
  3907. /** Peripheral FMC base address */
  3908. #define FMC_BASE (0x40034000u)
  3909. /** Peripheral FMC base pointer */
  3910. #define FMC ((FMC_Type *)FMC_BASE)
  3911. /** Array initializer of FMC peripheral base addresses */
  3912. #define FMC_BASE_ADDRS { FMC_BASE }
  3913. /** Array initializer of FMC peripheral base pointers */
  3914. #define FMC_BASE_PTRS { FMC }
  3915. /*!
  3916. * @}
  3917. */ /* end of group FMC_Peripheral_Access_Layer */
  3918. /* ----------------------------------------------------------------------------
  3919. -- GINT Peripheral Access Layer
  3920. ---------------------------------------------------------------------------- */
  3921. /*!
  3922. * @addtogroup GINT_Peripheral_Access_Layer GINT Peripheral Access Layer
  3923. * @{
  3924. */
  3925. /** GINT - Register Layout Typedef */
  3926. typedef struct {
  3927. __IO uint32_t CTRL; /**< GPIO grouped interrupt control register, offset: 0x0 */
  3928. uint8_t RESERVED_0[28];
  3929. __IO uint32_t PORT_POL[2]; /**< GPIO grouped interrupt port 0 polarity register, array offset: 0x20, array step: 0x4 */
  3930. uint8_t RESERVED_1[24];
  3931. __IO uint32_t PORT_ENA[2]; /**< GPIO grouped interrupt port 0 enable register, array offset: 0x40, array step: 0x4 */
  3932. } GINT_Type;
  3933. /* ----------------------------------------------------------------------------
  3934. -- GINT Register Masks
  3935. ---------------------------------------------------------------------------- */
  3936. /*!
  3937. * @addtogroup GINT_Register_Masks GINT Register Masks
  3938. * @{
  3939. */
  3940. /*! @name CTRL - GPIO grouped interrupt control register */
  3941. #define GINT_CTRL_INT_MASK (0x1U)
  3942. #define GINT_CTRL_INT_SHIFT (0U)
  3943. #define GINT_CTRL_INT(x) (((uint32_t)(((uint32_t)(x)) << GINT_CTRL_INT_SHIFT)) & GINT_CTRL_INT_MASK)
  3944. #define GINT_CTRL_COMB_MASK (0x2U)
  3945. #define GINT_CTRL_COMB_SHIFT (1U)
  3946. #define GINT_CTRL_COMB(x) (((uint32_t)(((uint32_t)(x)) << GINT_CTRL_COMB_SHIFT)) & GINT_CTRL_COMB_MASK)
  3947. #define GINT_CTRL_TRIG_MASK (0x4U)
  3948. #define GINT_CTRL_TRIG_SHIFT (2U)
  3949. #define GINT_CTRL_TRIG(x) (((uint32_t)(((uint32_t)(x)) << GINT_CTRL_TRIG_SHIFT)) & GINT_CTRL_TRIG_MASK)
  3950. /*! @name PORT_POL - GPIO grouped interrupt port 0 polarity register */
  3951. #define GINT_PORT_POL_POL_MASK (0xFFFFFFFFU)
  3952. #define GINT_PORT_POL_POL_SHIFT (0U)
  3953. #define GINT_PORT_POL_POL(x) (((uint32_t)(((uint32_t)(x)) << GINT_PORT_POL_POL_SHIFT)) & GINT_PORT_POL_POL_MASK)
  3954. /* The count of GINT_PORT_POL */
  3955. #define GINT_PORT_POL_COUNT (2U)
  3956. /*! @name PORT_ENA - GPIO grouped interrupt port 0 enable register */
  3957. #define GINT_PORT_ENA_ENA_MASK (0xFFFFFFFFU)
  3958. #define GINT_PORT_ENA_ENA_SHIFT (0U)
  3959. #define GINT_PORT_ENA_ENA(x) (((uint32_t)(((uint32_t)(x)) << GINT_PORT_ENA_ENA_SHIFT)) & GINT_PORT_ENA_ENA_MASK)
  3960. /* The count of GINT_PORT_ENA */
  3961. #define GINT_PORT_ENA_COUNT (2U)
  3962. /*!
  3963. * @}
  3964. */ /* end of group GINT_Register_Masks */
  3965. /* GINT - Peripheral instance base addresses */
  3966. /** Peripheral GINT0 base address */
  3967. #define GINT0_BASE (0x40002000u)
  3968. /** Peripheral GINT0 base pointer */
  3969. #define GINT0 ((GINT_Type *)GINT0_BASE)
  3970. /** Peripheral GINT1 base address */
  3971. #define GINT1_BASE (0x40003000u)
  3972. /** Peripheral GINT1 base pointer */
  3973. #define GINT1 ((GINT_Type *)GINT1_BASE)
  3974. /** Array initializer of GINT peripheral base addresses */
  3975. #define GINT_BASE_ADDRS { GINT0_BASE, GINT1_BASE }
  3976. /** Array initializer of GINT peripheral base pointers */
  3977. #define GINT_BASE_PTRS { GINT0, GINT1 }
  3978. /** Interrupt vectors for the GINT peripheral type */
  3979. #define GINT_IRQS { GINT0_IRQn, GINT1_IRQn }
  3980. /*!
  3981. * @}
  3982. */ /* end of group GINT_Peripheral_Access_Layer */
  3983. /* ----------------------------------------------------------------------------
  3984. -- GPIO Peripheral Access Layer
  3985. ---------------------------------------------------------------------------- */
  3986. /*!
  3987. * @addtogroup GPIO_Peripheral_Access_Layer GPIO Peripheral Access Layer
  3988. * @{
  3989. */
  3990. /** GPIO - Register Layout Typedef */
  3991. typedef struct {
  3992. __IO uint8_t B[6][32]; /**< Byte pin registers for all port 0 and 1 GPIO pins, array offset: 0x0, array step: index*0x20, index2*0x1 */
  3993. uint8_t RESERVED_0[3904];
  3994. __IO uint32_t W[6][32]; /**< Word pin registers for all port 0 and 1 GPIO pins, array offset: 0x1000, array step: index*0x80, index2*0x4 */
  3995. uint8_t RESERVED_1[3328];
  3996. __IO uint32_t DIR[6]; /**< Direction registers, array offset: 0x2000, array step: 0x4 */
  3997. uint8_t RESERVED_2[104];
  3998. __IO uint32_t MASK[6]; /**< Mask register, array offset: 0x2080, array step: 0x4 */
  3999. uint8_t RESERVED_3[104];
  4000. __IO uint32_t PIN[6]; /**< Port pin register, array offset: 0x2100, array step: 0x4 */
  4001. uint8_t RESERVED_4[104];
  4002. __IO uint32_t MPIN[6]; /**< Masked port register, array offset: 0x2180, array step: 0x4 */
  4003. uint8_t RESERVED_5[104];
  4004. __IO uint32_t SET[6]; /**< Write: Set register for port Read: output bits for port, array offset: 0x2200, array step: 0x4 */
  4005. uint8_t RESERVED_6[104];
  4006. __O uint32_t CLR[6]; /**< Clear port, array offset: 0x2280, array step: 0x4 */
  4007. uint8_t RESERVED_7[104];
  4008. __O uint32_t NOT[6]; /**< Toggle port, array offset: 0x2300, array step: 0x4 */
  4009. uint8_t RESERVED_8[104];
  4010. __O uint32_t DIRSET[6]; /**< Set pin direction bits for port, array offset: 0x2380, array step: 0x4 */
  4011. uint8_t RESERVED_9[104];
  4012. __O uint32_t DIRCLR[6]; /**< Clear pin direction bits for port, array offset: 0x2400, array step: 0x4 */
  4013. uint8_t RESERVED_10[104];
  4014. __O uint32_t DIRNOT[6]; /**< Toggle pin direction bits for port, array offset: 0x2480, array step: 0x4 */
  4015. } GPIO_Type;
  4016. /* ----------------------------------------------------------------------------
  4017. -- GPIO Register Masks
  4018. ---------------------------------------------------------------------------- */
  4019. /*!
  4020. * @addtogroup GPIO_Register_Masks GPIO Register Masks
  4021. * @{
  4022. */
  4023. /*! @name B - Byte pin registers for all port 0 and 1 GPIO pins */
  4024. #define GPIO_B_PBYTE_MASK (0x1U)
  4025. #define GPIO_B_PBYTE_SHIFT (0U)
  4026. #define GPIO_B_PBYTE(x) (((uint8_t)(((uint8_t)(x)) << GPIO_B_PBYTE_SHIFT)) & GPIO_B_PBYTE_MASK)
  4027. /* The count of GPIO_B */
  4028. #define GPIO_B_COUNT (6U)
  4029. /* The count of GPIO_B */
  4030. #define GPIO_B_COUNT2 (32U)
  4031. /*! @name W - Word pin registers for all port 0 and 1 GPIO pins */
  4032. #define GPIO_W_PWORD_MASK (0xFFFFFFFFU)
  4033. #define GPIO_W_PWORD_SHIFT (0U)
  4034. #define GPIO_W_PWORD(x) (((uint32_t)(((uint32_t)(x)) << GPIO_W_PWORD_SHIFT)) & GPIO_W_PWORD_MASK)
  4035. /* The count of GPIO_W */
  4036. #define GPIO_W_COUNT (6U)
  4037. /* The count of GPIO_W */
  4038. #define GPIO_W_COUNT2 (32U)
  4039. /*! @name DIR - Direction registers */
  4040. #define GPIO_DIR_DIRP_MASK (0xFFFFFFFFU)
  4041. #define GPIO_DIR_DIRP_SHIFT (0U)
  4042. #define GPIO_DIR_DIRP(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DIR_DIRP_SHIFT)) & GPIO_DIR_DIRP_MASK)
  4043. /* The count of GPIO_DIR */
  4044. #define GPIO_DIR_COUNT (6U)
  4045. /*! @name MASK - Mask register */
  4046. #define GPIO_MASK_MASKP_MASK (0xFFFFFFFFU)
  4047. #define GPIO_MASK_MASKP_SHIFT (0U)
  4048. #define GPIO_MASK_MASKP(x) (((uint32_t)(((uint32_t)(x)) << GPIO_MASK_MASKP_SHIFT)) & GPIO_MASK_MASKP_MASK)
  4049. /* The count of GPIO_MASK */
  4050. #define GPIO_MASK_COUNT (6U)
  4051. /*! @name PIN - Port pin register */
  4052. #define GPIO_PIN_PORT_MASK (0xFFFFFFFFU)
  4053. #define GPIO_PIN_PORT_SHIFT (0U)
  4054. #define GPIO_PIN_PORT(x) (((uint32_t)(((uint32_t)(x)) << GPIO_PIN_PORT_SHIFT)) & GPIO_PIN_PORT_MASK)
  4055. /* The count of GPIO_PIN */
  4056. #define GPIO_PIN_COUNT (6U)
  4057. /*! @name MPIN - Masked port register */
  4058. #define GPIO_MPIN_MPORTP_MASK (0xFFFFFFFFU)
  4059. #define GPIO_MPIN_MPORTP_SHIFT (0U)
  4060. #define GPIO_MPIN_MPORTP(x) (((uint32_t)(((uint32_t)(x)) << GPIO_MPIN_MPORTP_SHIFT)) & GPIO_MPIN_MPORTP_MASK)
  4061. /* The count of GPIO_MPIN */
  4062. #define GPIO_MPIN_COUNT (6U)
  4063. /*! @name SET - Write: Set register for port Read: output bits for port */
  4064. #define GPIO_SET_SETP_MASK (0xFFFFFFFFU)
  4065. #define GPIO_SET_SETP_SHIFT (0U)
  4066. #define GPIO_SET_SETP(x) (((uint32_t)(((uint32_t)(x)) << GPIO_SET_SETP_SHIFT)) & GPIO_SET_SETP_MASK)
  4067. /* The count of GPIO_SET */
  4068. #define GPIO_SET_COUNT (6U)
  4069. /*! @name CLR - Clear port */
  4070. #define GPIO_CLR_CLRP_MASK (0xFFFFFFFFU)
  4071. #define GPIO_CLR_CLRP_SHIFT (0U)
  4072. #define GPIO_CLR_CLRP(x) (((uint32_t)(((uint32_t)(x)) << GPIO_CLR_CLRP_SHIFT)) & GPIO_CLR_CLRP_MASK)
  4073. /* The count of GPIO_CLR */
  4074. #define GPIO_CLR_COUNT (6U)
  4075. /*! @name NOT - Toggle port */
  4076. #define GPIO_NOT_NOTP_MASK (0xFFFFFFFFU)
  4077. #define GPIO_NOT_NOTP_SHIFT (0U)
  4078. #define GPIO_NOT_NOTP(x) (((uint32_t)(((uint32_t)(x)) << GPIO_NOT_NOTP_SHIFT)) & GPIO_NOT_NOTP_MASK)
  4079. /* The count of GPIO_NOT */
  4080. #define GPIO_NOT_COUNT (6U)
  4081. /*! @name DIRSET - Set pin direction bits for port */
  4082. #define GPIO_DIRSET_DIRSETP_MASK (0x1FFFFFFFU)
  4083. #define GPIO_DIRSET_DIRSETP_SHIFT (0U)
  4084. #define GPIO_DIRSET_DIRSETP(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DIRSET_DIRSETP_SHIFT)) & GPIO_DIRSET_DIRSETP_MASK)
  4085. /* The count of GPIO_DIRSET */
  4086. #define GPIO_DIRSET_COUNT (6U)
  4087. /*! @name DIRCLR - Clear pin direction bits for port */
  4088. #define GPIO_DIRCLR_DIRCLRP_MASK (0x1FFFFFFFU)
  4089. #define GPIO_DIRCLR_DIRCLRP_SHIFT (0U)
  4090. #define GPIO_DIRCLR_DIRCLRP(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DIRCLR_DIRCLRP_SHIFT)) & GPIO_DIRCLR_DIRCLRP_MASK)
  4091. /* The count of GPIO_DIRCLR */
  4092. #define GPIO_DIRCLR_COUNT (6U)
  4093. /*! @name DIRNOT - Toggle pin direction bits for port */
  4094. #define GPIO_DIRNOT_DIRNOTP_MASK (0x1FFFFFFFU)
  4095. #define GPIO_DIRNOT_DIRNOTP_SHIFT (0U)
  4096. #define GPIO_DIRNOT_DIRNOTP(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DIRNOT_DIRNOTP_SHIFT)) & GPIO_DIRNOT_DIRNOTP_MASK)
  4097. /* The count of GPIO_DIRNOT */
  4098. #define GPIO_DIRNOT_COUNT (6U)
  4099. /*!
  4100. * @}
  4101. */ /* end of group GPIO_Register_Masks */
  4102. /* GPIO - Peripheral instance base addresses */
  4103. /** Peripheral GPIO base address */
  4104. #define GPIO_BASE (0x4008C000u)
  4105. /** Peripheral GPIO base pointer */
  4106. #define GPIO ((GPIO_Type *)GPIO_BASE)
  4107. /** Array initializer of GPIO peripheral base addresses */
  4108. #define GPIO_BASE_ADDRS { GPIO_BASE }
  4109. /** Array initializer of GPIO peripheral base pointers */
  4110. #define GPIO_BASE_PTRS { GPIO }
  4111. /*!
  4112. * @}
  4113. */ /* end of group GPIO_Peripheral_Access_Layer */
  4114. /* ----------------------------------------------------------------------------
  4115. -- I2C Peripheral Access Layer
  4116. ---------------------------------------------------------------------------- */
  4117. /*!
  4118. * @addtogroup I2C_Peripheral_Access_Layer I2C Peripheral Access Layer
  4119. * @{
  4120. */
  4121. /** I2C - Register Layout Typedef */
  4122. typedef struct {
  4123. uint8_t RESERVED_0[2048];
  4124. __IO uint32_t CFG; /**< Configuration for shared functions., offset: 0x800 */
  4125. __IO uint32_t STAT; /**< Status register for Master, Slave, and Monitor functions., offset: 0x804 */
  4126. __IO uint32_t INTENSET; /**< Interrupt Enable Set and read register., offset: 0x808 */
  4127. __O uint32_t INTENCLR; /**< Interrupt Enable Clear register., offset: 0x80C */
  4128. __IO uint32_t TIMEOUT; /**< Time-out value register., offset: 0x810 */
  4129. __IO uint32_t CLKDIV; /**< Clock pre-divider for the entire I2C interface. This determines what time increments are used for the MSTTIME register, and controls some timing of the Slave function., offset: 0x814 */
  4130. __I uint32_t INTSTAT; /**< Interrupt Status register for Master, Slave, and Monitor functions., offset: 0x818 */
  4131. uint8_t RESERVED_1[4];
  4132. __IO uint32_t MSTCTL; /**< Master control register., offset: 0x820 */
  4133. __IO uint32_t MSTTIME; /**< Master timing configuration., offset: 0x824 */
  4134. __IO uint32_t MSTDAT; /**< Combined Master receiver and transmitter data register., offset: 0x828 */
  4135. uint8_t RESERVED_2[20];
  4136. __IO uint32_t SLVCTL; /**< Slave control register., offset: 0x840 */
  4137. __IO uint32_t SLVDAT; /**< Combined Slave receiver and transmitter data register., offset: 0x844 */
  4138. __IO uint32_t SLVADR[4]; /**< Slave address register., array offset: 0x848, array step: 0x4 */
  4139. __IO uint32_t SLVQUAL0; /**< Slave Qualification for address 0., offset: 0x858 */
  4140. uint8_t RESERVED_3[36];
  4141. __I uint32_t MONRXDAT; /**< Monitor receiver data register., offset: 0x880 */
  4142. uint8_t RESERVED_4[1912];
  4143. __I uint32_t ID; /**< Peripheral identification register., offset: 0xFFC */
  4144. } I2C_Type;
  4145. /* ----------------------------------------------------------------------------
  4146. -- I2C Register Masks
  4147. ---------------------------------------------------------------------------- */
  4148. /*!
  4149. * @addtogroup I2C_Register_Masks I2C Register Masks
  4150. * @{
  4151. */
  4152. /*! @name CFG - Configuration for shared functions. */
  4153. #define I2C_CFG_MSTEN_MASK (0x1U)
  4154. #define I2C_CFG_MSTEN_SHIFT (0U)
  4155. #define I2C_CFG_MSTEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_CFG_MSTEN_SHIFT)) & I2C_CFG_MSTEN_MASK)
  4156. #define I2C_CFG_SLVEN_MASK (0x2U)
  4157. #define I2C_CFG_SLVEN_SHIFT (1U)
  4158. #define I2C_CFG_SLVEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_CFG_SLVEN_SHIFT)) & I2C_CFG_SLVEN_MASK)
  4159. #define I2C_CFG_MONEN_MASK (0x4U)
  4160. #define I2C_CFG_MONEN_SHIFT (2U)
  4161. #define I2C_CFG_MONEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_CFG_MONEN_SHIFT)) & I2C_CFG_MONEN_MASK)
  4162. #define I2C_CFG_TIMEOUTEN_MASK (0x8U)
  4163. #define I2C_CFG_TIMEOUTEN_SHIFT (3U)
  4164. #define I2C_CFG_TIMEOUTEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_CFG_TIMEOUTEN_SHIFT)) & I2C_CFG_TIMEOUTEN_MASK)
  4165. #define I2C_CFG_MONCLKSTR_MASK (0x10U)
  4166. #define I2C_CFG_MONCLKSTR_SHIFT (4U)
  4167. #define I2C_CFG_MONCLKSTR(x) (((uint32_t)(((uint32_t)(x)) << I2C_CFG_MONCLKSTR_SHIFT)) & I2C_CFG_MONCLKSTR_MASK)
  4168. #define I2C_CFG_HSCAPABLE_MASK (0x20U)
  4169. #define I2C_CFG_HSCAPABLE_SHIFT (5U)
  4170. #define I2C_CFG_HSCAPABLE(x) (((uint32_t)(((uint32_t)(x)) << I2C_CFG_HSCAPABLE_SHIFT)) & I2C_CFG_HSCAPABLE_MASK)
  4171. /*! @name STAT - Status register for Master, Slave, and Monitor functions. */
  4172. #define I2C_STAT_MSTPENDING_MASK (0x1U)
  4173. #define I2C_STAT_MSTPENDING_SHIFT (0U)
  4174. #define I2C_STAT_MSTPENDING(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_MSTPENDING_SHIFT)) & I2C_STAT_MSTPENDING_MASK)
  4175. #define I2C_STAT_MSTSTATE_MASK (0xEU)
  4176. #define I2C_STAT_MSTSTATE_SHIFT (1U)
  4177. #define I2C_STAT_MSTSTATE(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_MSTSTATE_SHIFT)) & I2C_STAT_MSTSTATE_MASK)
  4178. #define I2C_STAT_MSTARBLOSS_MASK (0x10U)
  4179. #define I2C_STAT_MSTARBLOSS_SHIFT (4U)
  4180. #define I2C_STAT_MSTARBLOSS(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_MSTARBLOSS_SHIFT)) & I2C_STAT_MSTARBLOSS_MASK)
  4181. #define I2C_STAT_MSTSTSTPERR_MASK (0x40U)
  4182. #define I2C_STAT_MSTSTSTPERR_SHIFT (6U)
  4183. #define I2C_STAT_MSTSTSTPERR(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_MSTSTSTPERR_SHIFT)) & I2C_STAT_MSTSTSTPERR_MASK)
  4184. #define I2C_STAT_SLVPENDING_MASK (0x100U)
  4185. #define I2C_STAT_SLVPENDING_SHIFT (8U)
  4186. #define I2C_STAT_SLVPENDING(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_SLVPENDING_SHIFT)) & I2C_STAT_SLVPENDING_MASK)
  4187. #define I2C_STAT_SLVSTATE_MASK (0x600U)
  4188. #define I2C_STAT_SLVSTATE_SHIFT (9U)
  4189. #define I2C_STAT_SLVSTATE(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_SLVSTATE_SHIFT)) & I2C_STAT_SLVSTATE_MASK)
  4190. #define I2C_STAT_SLVNOTSTR_MASK (0x800U)
  4191. #define I2C_STAT_SLVNOTSTR_SHIFT (11U)
  4192. #define I2C_STAT_SLVNOTSTR(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_SLVNOTSTR_SHIFT)) & I2C_STAT_SLVNOTSTR_MASK)
  4193. #define I2C_STAT_SLVIDX_MASK (0x3000U)
  4194. #define I2C_STAT_SLVIDX_SHIFT (12U)
  4195. #define I2C_STAT_SLVIDX(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_SLVIDX_SHIFT)) & I2C_STAT_SLVIDX_MASK)
  4196. #define I2C_STAT_SLVSEL_MASK (0x4000U)
  4197. #define I2C_STAT_SLVSEL_SHIFT (14U)
  4198. #define I2C_STAT_SLVSEL(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_SLVSEL_SHIFT)) & I2C_STAT_SLVSEL_MASK)
  4199. #define I2C_STAT_SLVDESEL_MASK (0x8000U)
  4200. #define I2C_STAT_SLVDESEL_SHIFT (15U)
  4201. #define I2C_STAT_SLVDESEL(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_SLVDESEL_SHIFT)) & I2C_STAT_SLVDESEL_MASK)
  4202. #define I2C_STAT_MONRDY_MASK (0x10000U)
  4203. #define I2C_STAT_MONRDY_SHIFT (16U)
  4204. #define I2C_STAT_MONRDY(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_MONRDY_SHIFT)) & I2C_STAT_MONRDY_MASK)
  4205. #define I2C_STAT_MONOV_MASK (0x20000U)
  4206. #define I2C_STAT_MONOV_SHIFT (17U)
  4207. #define I2C_STAT_MONOV(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_MONOV_SHIFT)) & I2C_STAT_MONOV_MASK)
  4208. #define I2C_STAT_MONACTIVE_MASK (0x40000U)
  4209. #define I2C_STAT_MONACTIVE_SHIFT (18U)
  4210. #define I2C_STAT_MONACTIVE(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_MONACTIVE_SHIFT)) & I2C_STAT_MONACTIVE_MASK)
  4211. #define I2C_STAT_MONIDLE_MASK (0x80000U)
  4212. #define I2C_STAT_MONIDLE_SHIFT (19U)
  4213. #define I2C_STAT_MONIDLE(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_MONIDLE_SHIFT)) & I2C_STAT_MONIDLE_MASK)
  4214. #define I2C_STAT_EVENTTIMEOUT_MASK (0x1000000U)
  4215. #define I2C_STAT_EVENTTIMEOUT_SHIFT (24U)
  4216. #define I2C_STAT_EVENTTIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_EVENTTIMEOUT_SHIFT)) & I2C_STAT_EVENTTIMEOUT_MASK)
  4217. #define I2C_STAT_SCLTIMEOUT_MASK (0x2000000U)
  4218. #define I2C_STAT_SCLTIMEOUT_SHIFT (25U)
  4219. #define I2C_STAT_SCLTIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_SCLTIMEOUT_SHIFT)) & I2C_STAT_SCLTIMEOUT_MASK)
  4220. /*! @name INTENSET - Interrupt Enable Set and read register. */
  4221. #define I2C_INTENSET_MSTPENDINGEN_MASK (0x1U)
  4222. #define I2C_INTENSET_MSTPENDINGEN_SHIFT (0U)
  4223. #define I2C_INTENSET_MSTPENDINGEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_MSTPENDINGEN_SHIFT)) & I2C_INTENSET_MSTPENDINGEN_MASK)
  4224. #define I2C_INTENSET_MSTARBLOSSEN_MASK (0x10U)
  4225. #define I2C_INTENSET_MSTARBLOSSEN_SHIFT (4U)
  4226. #define I2C_INTENSET_MSTARBLOSSEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_MSTARBLOSSEN_SHIFT)) & I2C_INTENSET_MSTARBLOSSEN_MASK)
  4227. #define I2C_INTENSET_MSTSTSTPERREN_MASK (0x40U)
  4228. #define I2C_INTENSET_MSTSTSTPERREN_SHIFT (6U)
  4229. #define I2C_INTENSET_MSTSTSTPERREN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_MSTSTSTPERREN_SHIFT)) & I2C_INTENSET_MSTSTSTPERREN_MASK)
  4230. #define I2C_INTENSET_SLVPENDINGEN_MASK (0x100U)
  4231. #define I2C_INTENSET_SLVPENDINGEN_SHIFT (8U)
  4232. #define I2C_INTENSET_SLVPENDINGEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_SLVPENDINGEN_SHIFT)) & I2C_INTENSET_SLVPENDINGEN_MASK)
  4233. #define I2C_INTENSET_SLVNOTSTREN_MASK (0x800U)
  4234. #define I2C_INTENSET_SLVNOTSTREN_SHIFT (11U)
  4235. #define I2C_INTENSET_SLVNOTSTREN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_SLVNOTSTREN_SHIFT)) & I2C_INTENSET_SLVNOTSTREN_MASK)
  4236. #define I2C_INTENSET_SLVDESELEN_MASK (0x8000U)
  4237. #define I2C_INTENSET_SLVDESELEN_SHIFT (15U)
  4238. #define I2C_INTENSET_SLVDESELEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_SLVDESELEN_SHIFT)) & I2C_INTENSET_SLVDESELEN_MASK)
  4239. #define I2C_INTENSET_MONRDYEN_MASK (0x10000U)
  4240. #define I2C_INTENSET_MONRDYEN_SHIFT (16U)
  4241. #define I2C_INTENSET_MONRDYEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_MONRDYEN_SHIFT)) & I2C_INTENSET_MONRDYEN_MASK)
  4242. #define I2C_INTENSET_MONOVEN_MASK (0x20000U)
  4243. #define I2C_INTENSET_MONOVEN_SHIFT (17U)
  4244. #define I2C_INTENSET_MONOVEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_MONOVEN_SHIFT)) & I2C_INTENSET_MONOVEN_MASK)
  4245. #define I2C_INTENSET_MONIDLEEN_MASK (0x80000U)
  4246. #define I2C_INTENSET_MONIDLEEN_SHIFT (19U)
  4247. #define I2C_INTENSET_MONIDLEEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_MONIDLEEN_SHIFT)) & I2C_INTENSET_MONIDLEEN_MASK)
  4248. #define I2C_INTENSET_EVENTTIMEOUTEN_MASK (0x1000000U)
  4249. #define I2C_INTENSET_EVENTTIMEOUTEN_SHIFT (24U)
  4250. #define I2C_INTENSET_EVENTTIMEOUTEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_EVENTTIMEOUTEN_SHIFT)) & I2C_INTENSET_EVENTTIMEOUTEN_MASK)
  4251. #define I2C_INTENSET_SCLTIMEOUTEN_MASK (0x2000000U)
  4252. #define I2C_INTENSET_SCLTIMEOUTEN_SHIFT (25U)
  4253. #define I2C_INTENSET_SCLTIMEOUTEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_SCLTIMEOUTEN_SHIFT)) & I2C_INTENSET_SCLTIMEOUTEN_MASK)
  4254. /*! @name INTENCLR - Interrupt Enable Clear register. */
  4255. #define I2C_INTENCLR_MSTPENDINGCLR_MASK (0x1U)
  4256. #define I2C_INTENCLR_MSTPENDINGCLR_SHIFT (0U)
  4257. #define I2C_INTENCLR_MSTPENDINGCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_MSTPENDINGCLR_SHIFT)) & I2C_INTENCLR_MSTPENDINGCLR_MASK)
  4258. #define I2C_INTENCLR_MSTARBLOSSCLR_MASK (0x10U)
  4259. #define I2C_INTENCLR_MSTARBLOSSCLR_SHIFT (4U)
  4260. #define I2C_INTENCLR_MSTARBLOSSCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_MSTARBLOSSCLR_SHIFT)) & I2C_INTENCLR_MSTARBLOSSCLR_MASK)
  4261. #define I2C_INTENCLR_MSTSTSTPERRCLR_MASK (0x40U)
  4262. #define I2C_INTENCLR_MSTSTSTPERRCLR_SHIFT (6U)
  4263. #define I2C_INTENCLR_MSTSTSTPERRCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_MSTSTSTPERRCLR_SHIFT)) & I2C_INTENCLR_MSTSTSTPERRCLR_MASK)
  4264. #define I2C_INTENCLR_SLVPENDINGCLR_MASK (0x100U)
  4265. #define I2C_INTENCLR_SLVPENDINGCLR_SHIFT (8U)
  4266. #define I2C_INTENCLR_SLVPENDINGCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_SLVPENDINGCLR_SHIFT)) & I2C_INTENCLR_SLVPENDINGCLR_MASK)
  4267. #define I2C_INTENCLR_SLVNOTSTRCLR_MASK (0x800U)
  4268. #define I2C_INTENCLR_SLVNOTSTRCLR_SHIFT (11U)
  4269. #define I2C_INTENCLR_SLVNOTSTRCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_SLVNOTSTRCLR_SHIFT)) & I2C_INTENCLR_SLVNOTSTRCLR_MASK)
  4270. #define I2C_INTENCLR_SLVDESELCLR_MASK (0x8000U)
  4271. #define I2C_INTENCLR_SLVDESELCLR_SHIFT (15U)
  4272. #define I2C_INTENCLR_SLVDESELCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_SLVDESELCLR_SHIFT)) & I2C_INTENCLR_SLVDESELCLR_MASK)
  4273. #define I2C_INTENCLR_MONRDYCLR_MASK (0x10000U)
  4274. #define I2C_INTENCLR_MONRDYCLR_SHIFT (16U)
  4275. #define I2C_INTENCLR_MONRDYCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_MONRDYCLR_SHIFT)) & I2C_INTENCLR_MONRDYCLR_MASK)
  4276. #define I2C_INTENCLR_MONOVCLR_MASK (0x20000U)
  4277. #define I2C_INTENCLR_MONOVCLR_SHIFT (17U)
  4278. #define I2C_INTENCLR_MONOVCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_MONOVCLR_SHIFT)) & I2C_INTENCLR_MONOVCLR_MASK)
  4279. #define I2C_INTENCLR_MONIDLECLR_MASK (0x80000U)
  4280. #define I2C_INTENCLR_MONIDLECLR_SHIFT (19U)
  4281. #define I2C_INTENCLR_MONIDLECLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_MONIDLECLR_SHIFT)) & I2C_INTENCLR_MONIDLECLR_MASK)
  4282. #define I2C_INTENCLR_EVENTTIMEOUTCLR_MASK (0x1000000U)
  4283. #define I2C_INTENCLR_EVENTTIMEOUTCLR_SHIFT (24U)
  4284. #define I2C_INTENCLR_EVENTTIMEOUTCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_EVENTTIMEOUTCLR_SHIFT)) & I2C_INTENCLR_EVENTTIMEOUTCLR_MASK)
  4285. #define I2C_INTENCLR_SCLTIMEOUTCLR_MASK (0x2000000U)
  4286. #define I2C_INTENCLR_SCLTIMEOUTCLR_SHIFT (25U)
  4287. #define I2C_INTENCLR_SCLTIMEOUTCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_SCLTIMEOUTCLR_SHIFT)) & I2C_INTENCLR_SCLTIMEOUTCLR_MASK)
  4288. /*! @name TIMEOUT - Time-out value register. */
  4289. #define I2C_TIMEOUT_TOMIN_MASK (0xFU)
  4290. #define I2C_TIMEOUT_TOMIN_SHIFT (0U)
  4291. #define I2C_TIMEOUT_TOMIN(x) (((uint32_t)(((uint32_t)(x)) << I2C_TIMEOUT_TOMIN_SHIFT)) & I2C_TIMEOUT_TOMIN_MASK)
  4292. #define I2C_TIMEOUT_TO_MASK (0xFFF0U)
  4293. #define I2C_TIMEOUT_TO_SHIFT (4U)
  4294. #define I2C_TIMEOUT_TO(x) (((uint32_t)(((uint32_t)(x)) << I2C_TIMEOUT_TO_SHIFT)) & I2C_TIMEOUT_TO_MASK)
  4295. /*! @name CLKDIV - Clock pre-divider for the entire I2C interface. This determines what time increments are used for the MSTTIME register, and controls some timing of the Slave function. */
  4296. #define I2C_CLKDIV_DIVVAL_MASK (0xFFFFU)
  4297. #define I2C_CLKDIV_DIVVAL_SHIFT (0U)
  4298. #define I2C_CLKDIV_DIVVAL(x) (((uint32_t)(((uint32_t)(x)) << I2C_CLKDIV_DIVVAL_SHIFT)) & I2C_CLKDIV_DIVVAL_MASK)
  4299. /*! @name INTSTAT - Interrupt Status register for Master, Slave, and Monitor functions. */
  4300. #define I2C_INTSTAT_MSTPENDING_MASK (0x1U)
  4301. #define I2C_INTSTAT_MSTPENDING_SHIFT (0U)
  4302. #define I2C_INTSTAT_MSTPENDING(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_MSTPENDING_SHIFT)) & I2C_INTSTAT_MSTPENDING_MASK)
  4303. #define I2C_INTSTAT_MSTARBLOSS_MASK (0x10U)
  4304. #define I2C_INTSTAT_MSTARBLOSS_SHIFT (4U)
  4305. #define I2C_INTSTAT_MSTARBLOSS(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_MSTARBLOSS_SHIFT)) & I2C_INTSTAT_MSTARBLOSS_MASK)
  4306. #define I2C_INTSTAT_MSTSTSTPERR_MASK (0x40U)
  4307. #define I2C_INTSTAT_MSTSTSTPERR_SHIFT (6U)
  4308. #define I2C_INTSTAT_MSTSTSTPERR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_MSTSTSTPERR_SHIFT)) & I2C_INTSTAT_MSTSTSTPERR_MASK)
  4309. #define I2C_INTSTAT_SLVPENDING_MASK (0x100U)
  4310. #define I2C_INTSTAT_SLVPENDING_SHIFT (8U)
  4311. #define I2C_INTSTAT_SLVPENDING(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_SLVPENDING_SHIFT)) & I2C_INTSTAT_SLVPENDING_MASK)
  4312. #define I2C_INTSTAT_SLVNOTSTR_MASK (0x800U)
  4313. #define I2C_INTSTAT_SLVNOTSTR_SHIFT (11U)
  4314. #define I2C_INTSTAT_SLVNOTSTR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_SLVNOTSTR_SHIFT)) & I2C_INTSTAT_SLVNOTSTR_MASK)
  4315. #define I2C_INTSTAT_SLVDESEL_MASK (0x8000U)
  4316. #define I2C_INTSTAT_SLVDESEL_SHIFT (15U)
  4317. #define I2C_INTSTAT_SLVDESEL(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_SLVDESEL_SHIFT)) & I2C_INTSTAT_SLVDESEL_MASK)
  4318. #define I2C_INTSTAT_MONRDY_MASK (0x10000U)
  4319. #define I2C_INTSTAT_MONRDY_SHIFT (16U)
  4320. #define I2C_INTSTAT_MONRDY(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_MONRDY_SHIFT)) & I2C_INTSTAT_MONRDY_MASK)
  4321. #define I2C_INTSTAT_MONOV_MASK (0x20000U)
  4322. #define I2C_INTSTAT_MONOV_SHIFT (17U)
  4323. #define I2C_INTSTAT_MONOV(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_MONOV_SHIFT)) & I2C_INTSTAT_MONOV_MASK)
  4324. #define I2C_INTSTAT_MONIDLE_MASK (0x80000U)
  4325. #define I2C_INTSTAT_MONIDLE_SHIFT (19U)
  4326. #define I2C_INTSTAT_MONIDLE(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_MONIDLE_SHIFT)) & I2C_INTSTAT_MONIDLE_MASK)
  4327. #define I2C_INTSTAT_EVENTTIMEOUT_MASK (0x1000000U)
  4328. #define I2C_INTSTAT_EVENTTIMEOUT_SHIFT (24U)
  4329. #define I2C_INTSTAT_EVENTTIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_EVENTTIMEOUT_SHIFT)) & I2C_INTSTAT_EVENTTIMEOUT_MASK)
  4330. #define I2C_INTSTAT_SCLTIMEOUT_MASK (0x2000000U)
  4331. #define I2C_INTSTAT_SCLTIMEOUT_SHIFT (25U)
  4332. #define I2C_INTSTAT_SCLTIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_SCLTIMEOUT_SHIFT)) & I2C_INTSTAT_SCLTIMEOUT_MASK)
  4333. /*! @name MSTCTL - Master control register. */
  4334. #define I2C_MSTCTL_MSTCONTINUE_MASK (0x1U)
  4335. #define I2C_MSTCTL_MSTCONTINUE_SHIFT (0U)
  4336. #define I2C_MSTCTL_MSTCONTINUE(x) (((uint32_t)(((uint32_t)(x)) << I2C_MSTCTL_MSTCONTINUE_SHIFT)) & I2C_MSTCTL_MSTCONTINUE_MASK)
  4337. #define I2C_MSTCTL_MSTSTART_MASK (0x2U)
  4338. #define I2C_MSTCTL_MSTSTART_SHIFT (1U)
  4339. #define I2C_MSTCTL_MSTSTART(x) (((uint32_t)(((uint32_t)(x)) << I2C_MSTCTL_MSTSTART_SHIFT)) & I2C_MSTCTL_MSTSTART_MASK)
  4340. #define I2C_MSTCTL_MSTSTOP_MASK (0x4U)
  4341. #define I2C_MSTCTL_MSTSTOP_SHIFT (2U)
  4342. #define I2C_MSTCTL_MSTSTOP(x) (((uint32_t)(((uint32_t)(x)) << I2C_MSTCTL_MSTSTOP_SHIFT)) & I2C_MSTCTL_MSTSTOP_MASK)
  4343. #define I2C_MSTCTL_MSTDMA_MASK (0x8U)
  4344. #define I2C_MSTCTL_MSTDMA_SHIFT (3U)
  4345. #define I2C_MSTCTL_MSTDMA(x) (((uint32_t)(((uint32_t)(x)) << I2C_MSTCTL_MSTDMA_SHIFT)) & I2C_MSTCTL_MSTDMA_MASK)
  4346. /*! @name MSTTIME - Master timing configuration. */
  4347. #define I2C_MSTTIME_MSTSCLLOW_MASK (0x7U)
  4348. #define I2C_MSTTIME_MSTSCLLOW_SHIFT (0U)
  4349. #define I2C_MSTTIME_MSTSCLLOW(x) (((uint32_t)(((uint32_t)(x)) << I2C_MSTTIME_MSTSCLLOW_SHIFT)) & I2C_MSTTIME_MSTSCLLOW_MASK)
  4350. #define I2C_MSTTIME_MSTSCLHIGH_MASK (0x70U)
  4351. #define I2C_MSTTIME_MSTSCLHIGH_SHIFT (4U)
  4352. #define I2C_MSTTIME_MSTSCLHIGH(x) (((uint32_t)(((uint32_t)(x)) << I2C_MSTTIME_MSTSCLHIGH_SHIFT)) & I2C_MSTTIME_MSTSCLHIGH_MASK)
  4353. /*! @name MSTDAT - Combined Master receiver and transmitter data register. */
  4354. #define I2C_MSTDAT_DATA_MASK (0xFFU)
  4355. #define I2C_MSTDAT_DATA_SHIFT (0U)
  4356. #define I2C_MSTDAT_DATA(x) (((uint32_t)(((uint32_t)(x)) << I2C_MSTDAT_DATA_SHIFT)) & I2C_MSTDAT_DATA_MASK)
  4357. /*! @name SLVCTL - Slave control register. */
  4358. #define I2C_SLVCTL_SLVCONTINUE_MASK (0x1U)
  4359. #define I2C_SLVCTL_SLVCONTINUE_SHIFT (0U)
  4360. #define I2C_SLVCTL_SLVCONTINUE(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVCTL_SLVCONTINUE_SHIFT)) & I2C_SLVCTL_SLVCONTINUE_MASK)
  4361. #define I2C_SLVCTL_SLVNACK_MASK (0x2U)
  4362. #define I2C_SLVCTL_SLVNACK_SHIFT (1U)
  4363. #define I2C_SLVCTL_SLVNACK(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVCTL_SLVNACK_SHIFT)) & I2C_SLVCTL_SLVNACK_MASK)
  4364. #define I2C_SLVCTL_SLVDMA_MASK (0x8U)
  4365. #define I2C_SLVCTL_SLVDMA_SHIFT (3U)
  4366. #define I2C_SLVCTL_SLVDMA(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVCTL_SLVDMA_SHIFT)) & I2C_SLVCTL_SLVDMA_MASK)
  4367. #define I2C_SLVCTL_AUTOACK_MASK (0x100U)
  4368. #define I2C_SLVCTL_AUTOACK_SHIFT (8U)
  4369. #define I2C_SLVCTL_AUTOACK(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVCTL_AUTOACK_SHIFT)) & I2C_SLVCTL_AUTOACK_MASK)
  4370. #define I2C_SLVCTL_AUTOMATCHREAD_MASK (0x200U)
  4371. #define I2C_SLVCTL_AUTOMATCHREAD_SHIFT (9U)
  4372. #define I2C_SLVCTL_AUTOMATCHREAD(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVCTL_AUTOMATCHREAD_SHIFT)) & I2C_SLVCTL_AUTOMATCHREAD_MASK)
  4373. /*! @name SLVDAT - Combined Slave receiver and transmitter data register. */
  4374. #define I2C_SLVDAT_DATA_MASK (0xFFU)
  4375. #define I2C_SLVDAT_DATA_SHIFT (0U)
  4376. #define I2C_SLVDAT_DATA(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVDAT_DATA_SHIFT)) & I2C_SLVDAT_DATA_MASK)
  4377. /*! @name SLVADR - Slave address register. */
  4378. #define I2C_SLVADR_SADISABLE_MASK (0x1U)
  4379. #define I2C_SLVADR_SADISABLE_SHIFT (0U)
  4380. #define I2C_SLVADR_SADISABLE(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVADR_SADISABLE_SHIFT)) & I2C_SLVADR_SADISABLE_MASK)
  4381. #define I2C_SLVADR_SLVADR_MASK (0xFEU)
  4382. #define I2C_SLVADR_SLVADR_SHIFT (1U)
  4383. #define I2C_SLVADR_SLVADR(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVADR_SLVADR_SHIFT)) & I2C_SLVADR_SLVADR_MASK)
  4384. #define I2C_SLVADR_AUTONACK_MASK (0x8000U)
  4385. #define I2C_SLVADR_AUTONACK_SHIFT (15U)
  4386. #define I2C_SLVADR_AUTONACK(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVADR_AUTONACK_SHIFT)) & I2C_SLVADR_AUTONACK_MASK)
  4387. /* The count of I2C_SLVADR */
  4388. #define I2C_SLVADR_COUNT (4U)
  4389. /*! @name SLVQUAL0 - Slave Qualification for address 0. */
  4390. #define I2C_SLVQUAL0_QUALMODE0_MASK (0x1U)
  4391. #define I2C_SLVQUAL0_QUALMODE0_SHIFT (0U)
  4392. #define I2C_SLVQUAL0_QUALMODE0(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVQUAL0_QUALMODE0_SHIFT)) & I2C_SLVQUAL0_QUALMODE0_MASK)
  4393. #define I2C_SLVQUAL0_SLVQUAL0_MASK (0xFEU)
  4394. #define I2C_SLVQUAL0_SLVQUAL0_SHIFT (1U)
  4395. #define I2C_SLVQUAL0_SLVQUAL0(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVQUAL0_SLVQUAL0_SHIFT)) & I2C_SLVQUAL0_SLVQUAL0_MASK)
  4396. /*! @name MONRXDAT - Monitor receiver data register. */
  4397. #define I2C_MONRXDAT_MONRXDAT_MASK (0xFFU)
  4398. #define I2C_MONRXDAT_MONRXDAT_SHIFT (0U)
  4399. #define I2C_MONRXDAT_MONRXDAT(x) (((uint32_t)(((uint32_t)(x)) << I2C_MONRXDAT_MONRXDAT_SHIFT)) & I2C_MONRXDAT_MONRXDAT_MASK)
  4400. #define I2C_MONRXDAT_MONSTART_MASK (0x100U)
  4401. #define I2C_MONRXDAT_MONSTART_SHIFT (8U)
  4402. #define I2C_MONRXDAT_MONSTART(x) (((uint32_t)(((uint32_t)(x)) << I2C_MONRXDAT_MONSTART_SHIFT)) & I2C_MONRXDAT_MONSTART_MASK)
  4403. #define I2C_MONRXDAT_MONRESTART_MASK (0x200U)
  4404. #define I2C_MONRXDAT_MONRESTART_SHIFT (9U)
  4405. #define I2C_MONRXDAT_MONRESTART(x) (((uint32_t)(((uint32_t)(x)) << I2C_MONRXDAT_MONRESTART_SHIFT)) & I2C_MONRXDAT_MONRESTART_MASK)
  4406. #define I2C_MONRXDAT_MONNACK_MASK (0x400U)
  4407. #define I2C_MONRXDAT_MONNACK_SHIFT (10U)
  4408. #define I2C_MONRXDAT_MONNACK(x) (((uint32_t)(((uint32_t)(x)) << I2C_MONRXDAT_MONNACK_SHIFT)) & I2C_MONRXDAT_MONNACK_MASK)
  4409. /*! @name ID - Peripheral identification register. */
  4410. #define I2C_ID_APERTURE_MASK (0xFFU)
  4411. #define I2C_ID_APERTURE_SHIFT (0U)
  4412. #define I2C_ID_APERTURE(x) (((uint32_t)(((uint32_t)(x)) << I2C_ID_APERTURE_SHIFT)) & I2C_ID_APERTURE_MASK)
  4413. #define I2C_ID_MINOR_REV_MASK (0xF00U)
  4414. #define I2C_ID_MINOR_REV_SHIFT (8U)
  4415. #define I2C_ID_MINOR_REV(x) (((uint32_t)(((uint32_t)(x)) << I2C_ID_MINOR_REV_SHIFT)) & I2C_ID_MINOR_REV_MASK)
  4416. #define I2C_ID_MAJOR_REV_MASK (0xF000U)
  4417. #define I2C_ID_MAJOR_REV_SHIFT (12U)
  4418. #define I2C_ID_MAJOR_REV(x) (((uint32_t)(((uint32_t)(x)) << I2C_ID_MAJOR_REV_SHIFT)) & I2C_ID_MAJOR_REV_MASK)
  4419. #define I2C_ID_ID_MASK (0xFFFF0000U)
  4420. #define I2C_ID_ID_SHIFT (16U)
  4421. #define I2C_ID_ID(x) (((uint32_t)(((uint32_t)(x)) << I2C_ID_ID_SHIFT)) & I2C_ID_ID_MASK)
  4422. /*!
  4423. * @}
  4424. */ /* end of group I2C_Register_Masks */
  4425. /* I2C - Peripheral instance base addresses */
  4426. /** Peripheral I2C0 base address */
  4427. #define I2C0_BASE (0x40086000u)
  4428. /** Peripheral I2C0 base pointer */
  4429. #define I2C0 ((I2C_Type *)I2C0_BASE)
  4430. /** Peripheral I2C1 base address */
  4431. #define I2C1_BASE (0x40087000u)
  4432. /** Peripheral I2C1 base pointer */
  4433. #define I2C1 ((I2C_Type *)I2C1_BASE)
  4434. /** Peripheral I2C2 base address */
  4435. #define I2C2_BASE (0x40088000u)
  4436. /** Peripheral I2C2 base pointer */
  4437. #define I2C2 ((I2C_Type *)I2C2_BASE)
  4438. /** Peripheral I2C3 base address */
  4439. #define I2C3_BASE (0x40089000u)
  4440. /** Peripheral I2C3 base pointer */
  4441. #define I2C3 ((I2C_Type *)I2C3_BASE)
  4442. /** Peripheral I2C4 base address */
  4443. #define I2C4_BASE (0x4008A000u)
  4444. /** Peripheral I2C4 base pointer */
  4445. #define I2C4 ((I2C_Type *)I2C4_BASE)
  4446. /** Peripheral I2C5 base address */
  4447. #define I2C5_BASE (0x40096000u)
  4448. /** Peripheral I2C5 base pointer */
  4449. #define I2C5 ((I2C_Type *)I2C5_BASE)
  4450. /** Peripheral I2C6 base address */
  4451. #define I2C6_BASE (0x40097000u)
  4452. /** Peripheral I2C6 base pointer */
  4453. #define I2C6 ((I2C_Type *)I2C6_BASE)
  4454. /** Peripheral I2C7 base address */
  4455. #define I2C7_BASE (0x40098000u)
  4456. /** Peripheral I2C7 base pointer */
  4457. #define I2C7 ((I2C_Type *)I2C7_BASE)
  4458. /** Peripheral I2C8 base address */
  4459. #define I2C8_BASE (0x40099000u)
  4460. /** Peripheral I2C8 base pointer */
  4461. #define I2C8 ((I2C_Type *)I2C8_BASE)
  4462. /** Peripheral I2C9 base address */
  4463. #define I2C9_BASE (0x4009A000u)
  4464. /** Peripheral I2C9 base pointer */
  4465. #define I2C9 ((I2C_Type *)I2C9_BASE)
  4466. /** Array initializer of I2C peripheral base addresses */
  4467. #define I2C_BASE_ADDRS { I2C0_BASE, I2C1_BASE, I2C2_BASE, I2C3_BASE, I2C4_BASE, I2C5_BASE, I2C6_BASE, I2C7_BASE, I2C8_BASE, I2C9_BASE }
  4468. /** Array initializer of I2C peripheral base pointers */
  4469. #define I2C_BASE_PTRS { I2C0, I2C1, I2C2, I2C3, I2C4, I2C5, I2C6, I2C7, I2C8, I2C9 }
  4470. /** Interrupt vectors for the I2C peripheral type */
  4471. #define I2C_IRQS { FLEXCOMM0_IRQn, FLEXCOMM1_IRQn, FLEXCOMM2_IRQn, FLEXCOMM3_IRQn, FLEXCOMM4_IRQn, FLEXCOMM5_IRQn, FLEXCOMM6_IRQn, FLEXCOMM7_IRQn, FLEXCOMM8_IRQn, FLEXCOMM9_IRQn }
  4472. /*!
  4473. * @}
  4474. */ /* end of group I2C_Peripheral_Access_Layer */
  4475. /* ----------------------------------------------------------------------------
  4476. -- I2S Peripheral Access Layer
  4477. ---------------------------------------------------------------------------- */
  4478. /*!
  4479. * @addtogroup I2S_Peripheral_Access_Layer I2S Peripheral Access Layer
  4480. * @{
  4481. */
  4482. /** I2S - Register Layout Typedef */
  4483. typedef struct {
  4484. uint8_t RESERVED_0[32];
  4485. struct { /* offset: 0x20, array step: 0x20 */
  4486. __IO uint32_t PCFG1; /**< Configuration register 1 for channel pair, array offset: 0x20, array step: 0x20 */
  4487. __IO uint32_t PCFG2; /**< Configuration register 2 for channel pair, array offset: 0x24, array step: 0x20 */
  4488. __IO uint32_t PSTAT; /**< Status register for channel pair, array offset: 0x28, array step: 0x20 */
  4489. uint8_t RESERVED_0[20];
  4490. } SECCHANNEL[3];
  4491. uint8_t RESERVED_1[2944];
  4492. __IO uint32_t CFG1; /**< Configuration register 1 for the primary channel pair., offset: 0xC00 */
  4493. __IO uint32_t CFG2; /**< Configuration register 2 for the primary channel pair., offset: 0xC04 */
  4494. __IO uint32_t STAT; /**< Status register for the primary channel pair., offset: 0xC08 */
  4495. uint8_t RESERVED_2[16];
  4496. __IO uint32_t DIV; /**< Clock divider, used by all channel pairs., offset: 0xC1C */
  4497. uint8_t RESERVED_3[480];
  4498. __IO uint32_t FIFOCFG; /**< FIFO configuration and enable register., offset: 0xE00 */
  4499. __IO uint32_t FIFOSTAT; /**< FIFO status register., offset: 0xE04 */
  4500. __IO uint32_t FIFOTRIG; /**< FIFO trigger settings for interrupt and DMA request., offset: 0xE08 */
  4501. uint8_t RESERVED_4[4];
  4502. __IO uint32_t FIFOINTENSET; /**< FIFO interrupt enable set (enable) and read register., offset: 0xE10 */
  4503. __IO uint32_t FIFOINTENCLR; /**< FIFO interrupt enable clear (disable) and read register., offset: 0xE14 */
  4504. __I uint32_t FIFOINTSTAT; /**< FIFO interrupt status register., offset: 0xE18 */
  4505. uint8_t RESERVED_5[4];
  4506. __O uint32_t FIFOWR; /**< FIFO write data., offset: 0xE20 */
  4507. __O uint32_t FIFOWR48H; /**< FIFO write data for upper data bits. May only be used if the I2S is configured for 2x 24-bit data and not using DMA., offset: 0xE24 */
  4508. uint8_t RESERVED_6[8];
  4509. __I uint32_t FIFORD; /**< FIFO read data., offset: 0xE30 */
  4510. __I uint32_t FIFORD48H; /**< FIFO read data for upper data bits. May only be used if the I2S is configured for 2x 24-bit data and not using DMA., offset: 0xE34 */
  4511. uint8_t RESERVED_7[8];
  4512. __I uint32_t FIFORDNOPOP; /**< FIFO data read with no FIFO pop., offset: 0xE40 */
  4513. __I uint32_t FIFORD48HNOPOP; /**< FIFO data read for upper data bits with no FIFO pop. May only be used if the I2S is configured for 2x 24-bit data and not using DMA., offset: 0xE44 */
  4514. uint8_t RESERVED_8[4020];
  4515. __I uint32_t ID; /**< I2S Module identification, offset: 0x1DFC */
  4516. } I2S_Type;
  4517. /* ----------------------------------------------------------------------------
  4518. -- I2S Register Masks
  4519. ---------------------------------------------------------------------------- */
  4520. /*!
  4521. * @addtogroup I2S_Register_Masks I2S Register Masks
  4522. * @{
  4523. */
  4524. /*! @name SECCHANNEL_PCFG1 - Configuration register 1 for channel pair */
  4525. #define I2S_SECCHANNEL_PCFG1_PAIRENABLE_MASK (0x1U)
  4526. #define I2S_SECCHANNEL_PCFG1_PAIRENABLE_SHIFT (0U)
  4527. #define I2S_SECCHANNEL_PCFG1_PAIRENABLE(x) (((uint32_t)(((uint32_t)(x)) << I2S_SECCHANNEL_PCFG1_PAIRENABLE_SHIFT)) & I2S_SECCHANNEL_PCFG1_PAIRENABLE_MASK)
  4528. #define I2S_SECCHANNEL_PCFG1_ONECHANNEL_MASK (0x400U)
  4529. #define I2S_SECCHANNEL_PCFG1_ONECHANNEL_SHIFT (10U)
  4530. #define I2S_SECCHANNEL_PCFG1_ONECHANNEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_SECCHANNEL_PCFG1_ONECHANNEL_SHIFT)) & I2S_SECCHANNEL_PCFG1_ONECHANNEL_MASK)
  4531. /* The count of I2S_SECCHANNEL_PCFG1 */
  4532. #define I2S_SECCHANNEL_PCFG1_COUNT (3U)
  4533. /*! @name SECCHANNEL_PCFG2 - Configuration register 2 for channel pair */
  4534. #define I2S_SECCHANNEL_PCFG2_POSITION_MASK (0x1FF0000U)
  4535. #define I2S_SECCHANNEL_PCFG2_POSITION_SHIFT (16U)
  4536. #define I2S_SECCHANNEL_PCFG2_POSITION(x) (((uint32_t)(((uint32_t)(x)) << I2S_SECCHANNEL_PCFG2_POSITION_SHIFT)) & I2S_SECCHANNEL_PCFG2_POSITION_MASK)
  4537. /* The count of I2S_SECCHANNEL_PCFG2 */
  4538. #define I2S_SECCHANNEL_PCFG2_COUNT (3U)
  4539. /*! @name SECCHANNEL_PSTAT - Status register for channel pair */
  4540. #define I2S_SECCHANNEL_PSTAT_BUSY_MASK (0x1U)
  4541. #define I2S_SECCHANNEL_PSTAT_BUSY_SHIFT (0U)
  4542. #define I2S_SECCHANNEL_PSTAT_BUSY(x) (((uint32_t)(((uint32_t)(x)) << I2S_SECCHANNEL_PSTAT_BUSY_SHIFT)) & I2S_SECCHANNEL_PSTAT_BUSY_MASK)
  4543. #define I2S_SECCHANNEL_PSTAT_SLVFRMERR_MASK (0x2U)
  4544. #define I2S_SECCHANNEL_PSTAT_SLVFRMERR_SHIFT (1U)
  4545. #define I2S_SECCHANNEL_PSTAT_SLVFRMERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_SECCHANNEL_PSTAT_SLVFRMERR_SHIFT)) & I2S_SECCHANNEL_PSTAT_SLVFRMERR_MASK)
  4546. #define I2S_SECCHANNEL_PSTAT_LR_MASK (0x4U)
  4547. #define I2S_SECCHANNEL_PSTAT_LR_SHIFT (2U)
  4548. #define I2S_SECCHANNEL_PSTAT_LR(x) (((uint32_t)(((uint32_t)(x)) << I2S_SECCHANNEL_PSTAT_LR_SHIFT)) & I2S_SECCHANNEL_PSTAT_LR_MASK)
  4549. #define I2S_SECCHANNEL_PSTAT_DATAPAUSED_MASK (0x8U)
  4550. #define I2S_SECCHANNEL_PSTAT_DATAPAUSED_SHIFT (3U)
  4551. #define I2S_SECCHANNEL_PSTAT_DATAPAUSED(x) (((uint32_t)(((uint32_t)(x)) << I2S_SECCHANNEL_PSTAT_DATAPAUSED_SHIFT)) & I2S_SECCHANNEL_PSTAT_DATAPAUSED_MASK)
  4552. /* The count of I2S_SECCHANNEL_PSTAT */
  4553. #define I2S_SECCHANNEL_PSTAT_COUNT (3U)
  4554. /*! @name CFG1 - Configuration register 1 for the primary channel pair. */
  4555. #define I2S_CFG1_MAINENABLE_MASK (0x1U)
  4556. #define I2S_CFG1_MAINENABLE_SHIFT (0U)
  4557. #define I2S_CFG1_MAINENABLE(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_MAINENABLE_SHIFT)) & I2S_CFG1_MAINENABLE_MASK)
  4558. #define I2S_CFG1_DATAPAUSE_MASK (0x2U)
  4559. #define I2S_CFG1_DATAPAUSE_SHIFT (1U)
  4560. #define I2S_CFG1_DATAPAUSE(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_DATAPAUSE_SHIFT)) & I2S_CFG1_DATAPAUSE_MASK)
  4561. #define I2S_CFG1_PAIRCOUNT_MASK (0xCU)
  4562. #define I2S_CFG1_PAIRCOUNT_SHIFT (2U)
  4563. #define I2S_CFG1_PAIRCOUNT(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_PAIRCOUNT_SHIFT)) & I2S_CFG1_PAIRCOUNT_MASK)
  4564. #define I2S_CFG1_MSTSLVCFG_MASK (0x30U)
  4565. #define I2S_CFG1_MSTSLVCFG_SHIFT (4U)
  4566. #define I2S_CFG1_MSTSLVCFG(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_MSTSLVCFG_SHIFT)) & I2S_CFG1_MSTSLVCFG_MASK)
  4567. #define I2S_CFG1_MODE_MASK (0xC0U)
  4568. #define I2S_CFG1_MODE_SHIFT (6U)
  4569. #define I2S_CFG1_MODE(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_MODE_SHIFT)) & I2S_CFG1_MODE_MASK)
  4570. #define I2S_CFG1_RIGHTLOW_MASK (0x100U)
  4571. #define I2S_CFG1_RIGHTLOW_SHIFT (8U)
  4572. #define I2S_CFG1_RIGHTLOW(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_RIGHTLOW_SHIFT)) & I2S_CFG1_RIGHTLOW_MASK)
  4573. #define I2S_CFG1_LEFTJUST_MASK (0x200U)
  4574. #define I2S_CFG1_LEFTJUST_SHIFT (9U)
  4575. #define I2S_CFG1_LEFTJUST(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_LEFTJUST_SHIFT)) & I2S_CFG1_LEFTJUST_MASK)
  4576. #define I2S_CFG1_ONECHANNEL_MASK (0x400U)
  4577. #define I2S_CFG1_ONECHANNEL_SHIFT (10U)
  4578. #define I2S_CFG1_ONECHANNEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_ONECHANNEL_SHIFT)) & I2S_CFG1_ONECHANNEL_MASK)
  4579. #define I2S_CFG1_PDMDATA_MASK (0x800U)
  4580. #define I2S_CFG1_PDMDATA_SHIFT (11U)
  4581. #define I2S_CFG1_PDMDATA(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_PDMDATA_SHIFT)) & I2S_CFG1_PDMDATA_MASK)
  4582. #define I2S_CFG1_SCK_POL_MASK (0x1000U)
  4583. #define I2S_CFG1_SCK_POL_SHIFT (12U)
  4584. #define I2S_CFG1_SCK_POL(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_SCK_POL_SHIFT)) & I2S_CFG1_SCK_POL_MASK)
  4585. #define I2S_CFG1_WS_POL_MASK (0x2000U)
  4586. #define I2S_CFG1_WS_POL_SHIFT (13U)
  4587. #define I2S_CFG1_WS_POL(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_WS_POL_SHIFT)) & I2S_CFG1_WS_POL_MASK)
  4588. #define I2S_CFG1_DATALEN_MASK (0x1F0000U)
  4589. #define I2S_CFG1_DATALEN_SHIFT (16U)
  4590. #define I2S_CFG1_DATALEN(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_DATALEN_SHIFT)) & I2S_CFG1_DATALEN_MASK)
  4591. /*! @name CFG2 - Configuration register 2 for the primary channel pair. */
  4592. #define I2S_CFG2_FRAMELEN_MASK (0x1FFU)
  4593. #define I2S_CFG2_FRAMELEN_SHIFT (0U)
  4594. #define I2S_CFG2_FRAMELEN(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG2_FRAMELEN_SHIFT)) & I2S_CFG2_FRAMELEN_MASK)
  4595. #define I2S_CFG2_POSITION_MASK (0x1FF0000U)
  4596. #define I2S_CFG2_POSITION_SHIFT (16U)
  4597. #define I2S_CFG2_POSITION(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG2_POSITION_SHIFT)) & I2S_CFG2_POSITION_MASK)
  4598. /*! @name STAT - Status register for the primary channel pair. */
  4599. #define I2S_STAT_BUSY_MASK (0x1U)
  4600. #define I2S_STAT_BUSY_SHIFT (0U)
  4601. #define I2S_STAT_BUSY(x) (((uint32_t)(((uint32_t)(x)) << I2S_STAT_BUSY_SHIFT)) & I2S_STAT_BUSY_MASK)
  4602. #define I2S_STAT_SLVFRMERR_MASK (0x2U)
  4603. #define I2S_STAT_SLVFRMERR_SHIFT (1U)
  4604. #define I2S_STAT_SLVFRMERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_STAT_SLVFRMERR_SHIFT)) & I2S_STAT_SLVFRMERR_MASK)
  4605. #define I2S_STAT_LR_MASK (0x4U)
  4606. #define I2S_STAT_LR_SHIFT (2U)
  4607. #define I2S_STAT_LR(x) (((uint32_t)(((uint32_t)(x)) << I2S_STAT_LR_SHIFT)) & I2S_STAT_LR_MASK)
  4608. #define I2S_STAT_DATAPAUSED_MASK (0x8U)
  4609. #define I2S_STAT_DATAPAUSED_SHIFT (3U)
  4610. #define I2S_STAT_DATAPAUSED(x) (((uint32_t)(((uint32_t)(x)) << I2S_STAT_DATAPAUSED_SHIFT)) & I2S_STAT_DATAPAUSED_MASK)
  4611. /*! @name DIV - Clock divider, used by all channel pairs. */
  4612. #define I2S_DIV_DIV_MASK (0xFFFU)
  4613. #define I2S_DIV_DIV_SHIFT (0U)
  4614. #define I2S_DIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << I2S_DIV_DIV_SHIFT)) & I2S_DIV_DIV_MASK)
  4615. /*! @name FIFOCFG - FIFO configuration and enable register. */
  4616. #define I2S_FIFOCFG_ENABLETX_MASK (0x1U)
  4617. #define I2S_FIFOCFG_ENABLETX_SHIFT (0U)
  4618. #define I2S_FIFOCFG_ENABLETX(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_ENABLETX_SHIFT)) & I2S_FIFOCFG_ENABLETX_MASK)
  4619. #define I2S_FIFOCFG_ENABLERX_MASK (0x2U)
  4620. #define I2S_FIFOCFG_ENABLERX_SHIFT (1U)
  4621. #define I2S_FIFOCFG_ENABLERX(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_ENABLERX_SHIFT)) & I2S_FIFOCFG_ENABLERX_MASK)
  4622. #define I2S_FIFOCFG_TXI2SE0_MASK (0x4U)
  4623. #define I2S_FIFOCFG_TXI2SE0_SHIFT (2U)
  4624. #define I2S_FIFOCFG_TXI2SE0(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_TXI2SE0_SHIFT)) & I2S_FIFOCFG_TXI2SE0_MASK)
  4625. #define I2S_FIFOCFG_PACK48_MASK (0x8U)
  4626. #define I2S_FIFOCFG_PACK48_SHIFT (3U)
  4627. #define I2S_FIFOCFG_PACK48(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_PACK48_SHIFT)) & I2S_FIFOCFG_PACK48_MASK)
  4628. #define I2S_FIFOCFG_SIZE_MASK (0x30U)
  4629. #define I2S_FIFOCFG_SIZE_SHIFT (4U)
  4630. #define I2S_FIFOCFG_SIZE(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_SIZE_SHIFT)) & I2S_FIFOCFG_SIZE_MASK)
  4631. #define I2S_FIFOCFG_DMATX_MASK (0x1000U)
  4632. #define I2S_FIFOCFG_DMATX_SHIFT (12U)
  4633. #define I2S_FIFOCFG_DMATX(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_DMATX_SHIFT)) & I2S_FIFOCFG_DMATX_MASK)
  4634. #define I2S_FIFOCFG_DMARX_MASK (0x2000U)
  4635. #define I2S_FIFOCFG_DMARX_SHIFT (13U)
  4636. #define I2S_FIFOCFG_DMARX(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_DMARX_SHIFT)) & I2S_FIFOCFG_DMARX_MASK)
  4637. #define I2S_FIFOCFG_WAKETX_MASK (0x4000U)
  4638. #define I2S_FIFOCFG_WAKETX_SHIFT (14U)
  4639. #define I2S_FIFOCFG_WAKETX(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_WAKETX_SHIFT)) & I2S_FIFOCFG_WAKETX_MASK)
  4640. #define I2S_FIFOCFG_WAKERX_MASK (0x8000U)
  4641. #define I2S_FIFOCFG_WAKERX_SHIFT (15U)
  4642. #define I2S_FIFOCFG_WAKERX(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_WAKERX_SHIFT)) & I2S_FIFOCFG_WAKERX_MASK)
  4643. #define I2S_FIFOCFG_EMPTYTX_MASK (0x10000U)
  4644. #define I2S_FIFOCFG_EMPTYTX_SHIFT (16U)
  4645. #define I2S_FIFOCFG_EMPTYTX(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_EMPTYTX_SHIFT)) & I2S_FIFOCFG_EMPTYTX_MASK)
  4646. #define I2S_FIFOCFG_EMPTYRX_MASK (0x20000U)
  4647. #define I2S_FIFOCFG_EMPTYRX_SHIFT (17U)
  4648. #define I2S_FIFOCFG_EMPTYRX(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_EMPTYRX_SHIFT)) & I2S_FIFOCFG_EMPTYRX_MASK)
  4649. #define I2S_FIFOCFG_POPDBG_MASK (0x40000U)
  4650. #define I2S_FIFOCFG_POPDBG_SHIFT (18U)
  4651. #define I2S_FIFOCFG_POPDBG(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_POPDBG_SHIFT)) & I2S_FIFOCFG_POPDBG_MASK)
  4652. /*! @name FIFOSTAT - FIFO status register. */
  4653. #define I2S_FIFOSTAT_TXERR_MASK (0x1U)
  4654. #define I2S_FIFOSTAT_TXERR_SHIFT (0U)
  4655. #define I2S_FIFOSTAT_TXERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOSTAT_TXERR_SHIFT)) & I2S_FIFOSTAT_TXERR_MASK)
  4656. #define I2S_FIFOSTAT_RXERR_MASK (0x2U)
  4657. #define I2S_FIFOSTAT_RXERR_SHIFT (1U)
  4658. #define I2S_FIFOSTAT_RXERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOSTAT_RXERR_SHIFT)) & I2S_FIFOSTAT_RXERR_MASK)
  4659. #define I2S_FIFOSTAT_PERINT_MASK (0x8U)
  4660. #define I2S_FIFOSTAT_PERINT_SHIFT (3U)
  4661. #define I2S_FIFOSTAT_PERINT(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOSTAT_PERINT_SHIFT)) & I2S_FIFOSTAT_PERINT_MASK)
  4662. #define I2S_FIFOSTAT_TXEMPTY_MASK (0x10U)
  4663. #define I2S_FIFOSTAT_TXEMPTY_SHIFT (4U)
  4664. #define I2S_FIFOSTAT_TXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOSTAT_TXEMPTY_SHIFT)) & I2S_FIFOSTAT_TXEMPTY_MASK)
  4665. #define I2S_FIFOSTAT_TXNOTFULL_MASK (0x20U)
  4666. #define I2S_FIFOSTAT_TXNOTFULL_SHIFT (5U)
  4667. #define I2S_FIFOSTAT_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOSTAT_TXNOTFULL_SHIFT)) & I2S_FIFOSTAT_TXNOTFULL_MASK)
  4668. #define I2S_FIFOSTAT_RXNOTEMPTY_MASK (0x40U)
  4669. #define I2S_FIFOSTAT_RXNOTEMPTY_SHIFT (6U)
  4670. #define I2S_FIFOSTAT_RXNOTEMPTY(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOSTAT_RXNOTEMPTY_SHIFT)) & I2S_FIFOSTAT_RXNOTEMPTY_MASK)
  4671. #define I2S_FIFOSTAT_RXFULL_MASK (0x80U)
  4672. #define I2S_FIFOSTAT_RXFULL_SHIFT (7U)
  4673. #define I2S_FIFOSTAT_RXFULL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOSTAT_RXFULL_SHIFT)) & I2S_FIFOSTAT_RXFULL_MASK)
  4674. #define I2S_FIFOSTAT_TXLVL_MASK (0x1F00U)
  4675. #define I2S_FIFOSTAT_TXLVL_SHIFT (8U)
  4676. #define I2S_FIFOSTAT_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOSTAT_TXLVL_SHIFT)) & I2S_FIFOSTAT_TXLVL_MASK)
  4677. #define I2S_FIFOSTAT_RXLVL_MASK (0x1F0000U)
  4678. #define I2S_FIFOSTAT_RXLVL_SHIFT (16U)
  4679. #define I2S_FIFOSTAT_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOSTAT_RXLVL_SHIFT)) & I2S_FIFOSTAT_RXLVL_MASK)
  4680. /*! @name FIFOTRIG - FIFO trigger settings for interrupt and DMA request. */
  4681. #define I2S_FIFOTRIG_TXLVLENA_MASK (0x1U)
  4682. #define I2S_FIFOTRIG_TXLVLENA_SHIFT (0U)
  4683. #define I2S_FIFOTRIG_TXLVLENA(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOTRIG_TXLVLENA_SHIFT)) & I2S_FIFOTRIG_TXLVLENA_MASK)
  4684. #define I2S_FIFOTRIG_RXLVLENA_MASK (0x2U)
  4685. #define I2S_FIFOTRIG_RXLVLENA_SHIFT (1U)
  4686. #define I2S_FIFOTRIG_RXLVLENA(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOTRIG_RXLVLENA_SHIFT)) & I2S_FIFOTRIG_RXLVLENA_MASK)
  4687. #define I2S_FIFOTRIG_TXLVL_MASK (0xF00U)
  4688. #define I2S_FIFOTRIG_TXLVL_SHIFT (8U)
  4689. #define I2S_FIFOTRIG_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOTRIG_TXLVL_SHIFT)) & I2S_FIFOTRIG_TXLVL_MASK)
  4690. #define I2S_FIFOTRIG_RXLVL_MASK (0xF0000U)
  4691. #define I2S_FIFOTRIG_RXLVL_SHIFT (16U)
  4692. #define I2S_FIFOTRIG_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOTRIG_RXLVL_SHIFT)) & I2S_FIFOTRIG_RXLVL_MASK)
  4693. /*! @name FIFOINTENSET - FIFO interrupt enable set (enable) and read register. */
  4694. #define I2S_FIFOINTENSET_TXERR_MASK (0x1U)
  4695. #define I2S_FIFOINTENSET_TXERR_SHIFT (0U)
  4696. #define I2S_FIFOINTENSET_TXERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTENSET_TXERR_SHIFT)) & I2S_FIFOINTENSET_TXERR_MASK)
  4697. #define I2S_FIFOINTENSET_RXERR_MASK (0x2U)
  4698. #define I2S_FIFOINTENSET_RXERR_SHIFT (1U)
  4699. #define I2S_FIFOINTENSET_RXERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTENSET_RXERR_SHIFT)) & I2S_FIFOINTENSET_RXERR_MASK)
  4700. #define I2S_FIFOINTENSET_TXLVL_MASK (0x4U)
  4701. #define I2S_FIFOINTENSET_TXLVL_SHIFT (2U)
  4702. #define I2S_FIFOINTENSET_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTENSET_TXLVL_SHIFT)) & I2S_FIFOINTENSET_TXLVL_MASK)
  4703. #define I2S_FIFOINTENSET_RXLVL_MASK (0x8U)
  4704. #define I2S_FIFOINTENSET_RXLVL_SHIFT (3U)
  4705. #define I2S_FIFOINTENSET_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTENSET_RXLVL_SHIFT)) & I2S_FIFOINTENSET_RXLVL_MASK)
  4706. /*! @name FIFOINTENCLR - FIFO interrupt enable clear (disable) and read register. */
  4707. #define I2S_FIFOINTENCLR_TXERR_MASK (0x1U)
  4708. #define I2S_FIFOINTENCLR_TXERR_SHIFT (0U)
  4709. #define I2S_FIFOINTENCLR_TXERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTENCLR_TXERR_SHIFT)) & I2S_FIFOINTENCLR_TXERR_MASK)
  4710. #define I2S_FIFOINTENCLR_RXERR_MASK (0x2U)
  4711. #define I2S_FIFOINTENCLR_RXERR_SHIFT (1U)
  4712. #define I2S_FIFOINTENCLR_RXERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTENCLR_RXERR_SHIFT)) & I2S_FIFOINTENCLR_RXERR_MASK)
  4713. #define I2S_FIFOINTENCLR_TXLVL_MASK (0x4U)
  4714. #define I2S_FIFOINTENCLR_TXLVL_SHIFT (2U)
  4715. #define I2S_FIFOINTENCLR_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTENCLR_TXLVL_SHIFT)) & I2S_FIFOINTENCLR_TXLVL_MASK)
  4716. #define I2S_FIFOINTENCLR_RXLVL_MASK (0x8U)
  4717. #define I2S_FIFOINTENCLR_RXLVL_SHIFT (3U)
  4718. #define I2S_FIFOINTENCLR_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTENCLR_RXLVL_SHIFT)) & I2S_FIFOINTENCLR_RXLVL_MASK)
  4719. /*! @name FIFOINTSTAT - FIFO interrupt status register. */
  4720. #define I2S_FIFOINTSTAT_TXERR_MASK (0x1U)
  4721. #define I2S_FIFOINTSTAT_TXERR_SHIFT (0U)
  4722. #define I2S_FIFOINTSTAT_TXERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTSTAT_TXERR_SHIFT)) & I2S_FIFOINTSTAT_TXERR_MASK)
  4723. #define I2S_FIFOINTSTAT_RXERR_MASK (0x2U)
  4724. #define I2S_FIFOINTSTAT_RXERR_SHIFT (1U)
  4725. #define I2S_FIFOINTSTAT_RXERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTSTAT_RXERR_SHIFT)) & I2S_FIFOINTSTAT_RXERR_MASK)
  4726. #define I2S_FIFOINTSTAT_TXLVL_MASK (0x4U)
  4727. #define I2S_FIFOINTSTAT_TXLVL_SHIFT (2U)
  4728. #define I2S_FIFOINTSTAT_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTSTAT_TXLVL_SHIFT)) & I2S_FIFOINTSTAT_TXLVL_MASK)
  4729. #define I2S_FIFOINTSTAT_RXLVL_MASK (0x8U)
  4730. #define I2S_FIFOINTSTAT_RXLVL_SHIFT (3U)
  4731. #define I2S_FIFOINTSTAT_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTSTAT_RXLVL_SHIFT)) & I2S_FIFOINTSTAT_RXLVL_MASK)
  4732. #define I2S_FIFOINTSTAT_PERINT_MASK (0x10U)
  4733. #define I2S_FIFOINTSTAT_PERINT_SHIFT (4U)
  4734. #define I2S_FIFOINTSTAT_PERINT(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTSTAT_PERINT_SHIFT)) & I2S_FIFOINTSTAT_PERINT_MASK)
  4735. /*! @name FIFOWR - FIFO write data. */
  4736. #define I2S_FIFOWR_TXDATA_MASK (0xFFFFFFFFU)
  4737. #define I2S_FIFOWR_TXDATA_SHIFT (0U)
  4738. #define I2S_FIFOWR_TXDATA(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOWR_TXDATA_SHIFT)) & I2S_FIFOWR_TXDATA_MASK)
  4739. /*! @name FIFOWR48H - FIFO write data for upper data bits. May only be used if the I2S is configured for 2x 24-bit data and not using DMA. */
  4740. #define I2S_FIFOWR48H_TXDATA_MASK (0xFFFFFFU)
  4741. #define I2S_FIFOWR48H_TXDATA_SHIFT (0U)
  4742. #define I2S_FIFOWR48H_TXDATA(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOWR48H_TXDATA_SHIFT)) & I2S_FIFOWR48H_TXDATA_MASK)
  4743. /*! @name FIFORD - FIFO read data. */
  4744. #define I2S_FIFORD_RXDATA_MASK (0xFFFFFFFFU)
  4745. #define I2S_FIFORD_RXDATA_SHIFT (0U)
  4746. #define I2S_FIFORD_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFORD_RXDATA_SHIFT)) & I2S_FIFORD_RXDATA_MASK)
  4747. /*! @name FIFORD48H - FIFO read data for upper data bits. May only be used if the I2S is configured for 2x 24-bit data and not using DMA. */
  4748. #define I2S_FIFORD48H_RXDATA_MASK (0xFFFFFFU)
  4749. #define I2S_FIFORD48H_RXDATA_SHIFT (0U)
  4750. #define I2S_FIFORD48H_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFORD48H_RXDATA_SHIFT)) & I2S_FIFORD48H_RXDATA_MASK)
  4751. /*! @name FIFORDNOPOP - FIFO data read with no FIFO pop. */
  4752. #define I2S_FIFORDNOPOP_RXDATA_MASK (0xFFFFFFFFU)
  4753. #define I2S_FIFORDNOPOP_RXDATA_SHIFT (0U)
  4754. #define I2S_FIFORDNOPOP_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFORDNOPOP_RXDATA_SHIFT)) & I2S_FIFORDNOPOP_RXDATA_MASK)
  4755. /*! @name FIFORD48HNOPOP - FIFO data read for upper data bits with no FIFO pop. May only be used if the I2S is configured for 2x 24-bit data and not using DMA. */
  4756. #define I2S_FIFORD48HNOPOP_RXDATA_MASK (0xFFFFFFU)
  4757. #define I2S_FIFORD48HNOPOP_RXDATA_SHIFT (0U)
  4758. #define I2S_FIFORD48HNOPOP_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFORD48HNOPOP_RXDATA_SHIFT)) & I2S_FIFORD48HNOPOP_RXDATA_MASK)
  4759. /*! @name ID - I2S Module identification */
  4760. #define I2S_ID_Aperture_MASK (0xFFU)
  4761. #define I2S_ID_Aperture_SHIFT (0U)
  4762. #define I2S_ID_Aperture(x) (((uint32_t)(((uint32_t)(x)) << I2S_ID_Aperture_SHIFT)) & I2S_ID_Aperture_MASK)
  4763. #define I2S_ID_Minor_Rev_MASK (0xF00U)
  4764. #define I2S_ID_Minor_Rev_SHIFT (8U)
  4765. #define I2S_ID_Minor_Rev(x) (((uint32_t)(((uint32_t)(x)) << I2S_ID_Minor_Rev_SHIFT)) & I2S_ID_Minor_Rev_MASK)
  4766. #define I2S_ID_Major_Rev_MASK (0xF000U)
  4767. #define I2S_ID_Major_Rev_SHIFT (12U)
  4768. #define I2S_ID_Major_Rev(x) (((uint32_t)(((uint32_t)(x)) << I2S_ID_Major_Rev_SHIFT)) & I2S_ID_Major_Rev_MASK)
  4769. #define I2S_ID_ID_MASK (0xFFFF0000U)
  4770. #define I2S_ID_ID_SHIFT (16U)
  4771. #define I2S_ID_ID(x) (((uint32_t)(((uint32_t)(x)) << I2S_ID_ID_SHIFT)) & I2S_ID_ID_MASK)
  4772. /*!
  4773. * @}
  4774. */ /* end of group I2S_Register_Masks */
  4775. /* I2S - Peripheral instance base addresses */
  4776. /** Peripheral I2S0 base address */
  4777. #define I2S0_BASE (0x40097000u)
  4778. /** Peripheral I2S0 base pointer */
  4779. #define I2S0 ((I2S_Type *)I2S0_BASE)
  4780. /** Peripheral I2S1 base address */
  4781. #define I2S1_BASE (0x40098000u)
  4782. /** Peripheral I2S1 base pointer */
  4783. #define I2S1 ((I2S_Type *)I2S1_BASE)
  4784. /** Array initializer of I2S peripheral base addresses */
  4785. #define I2S_BASE_ADDRS { I2S0_BASE, I2S1_BASE }
  4786. /** Array initializer of I2S peripheral base pointers */
  4787. #define I2S_BASE_PTRS { I2S0, I2S1 }
  4788. /** Interrupt vectors for the I2S peripheral type */
  4789. #define I2S_IRQS { FLEXCOMM6_IRQn, FLEXCOMM7_IRQn }
  4790. /*!
  4791. * @}
  4792. */ /* end of group I2S_Peripheral_Access_Layer */
  4793. /* ----------------------------------------------------------------------------
  4794. -- INPUTMUX Peripheral Access Layer
  4795. ---------------------------------------------------------------------------- */
  4796. /*!
  4797. * @addtogroup INPUTMUX_Peripheral_Access_Layer INPUTMUX Peripheral Access Layer
  4798. * @{
  4799. */
  4800. /** INPUTMUX - Register Layout Typedef */
  4801. typedef struct {
  4802. __IO uint32_t SCT0_INMUX[7]; /**< Trigger select register for DMA channel, array offset: 0x0, array step: 0x4 */
  4803. uint8_t RESERVED_0[164];
  4804. __IO uint32_t PINTSEL[8]; /**< Pin interrupt select register, array offset: 0xC0, array step: 0x4 */
  4805. __IO uint32_t DMA_ITRIG_INMUX[30]; /**< Trigger select register for DMA channel, array offset: 0xE0, array step: 0x4 */
  4806. uint8_t RESERVED_1[8];
  4807. __IO uint32_t DMA_OTRIG_INMUX[4]; /**< DMA output trigger selection to become DMA trigger, array offset: 0x160, array step: 0x4 */
  4808. uint8_t RESERVED_2[16];
  4809. __IO uint32_t FREQMEAS_REF; /**< Selection for frequency measurement reference clock, offset: 0x180 */
  4810. __IO uint32_t FREQMEAS_TARGET; /**< Selection for frequency measurement target clock, offset: 0x184 */
  4811. } INPUTMUX_Type;
  4812. /* ----------------------------------------------------------------------------
  4813. -- INPUTMUX Register Masks
  4814. ---------------------------------------------------------------------------- */
  4815. /*!
  4816. * @addtogroup INPUTMUX_Register_Masks INPUTMUX Register Masks
  4817. * @{
  4818. */
  4819. /*! @name SCT0_INMUX - Trigger select register for DMA channel */
  4820. #define INPUTMUX_SCT0_INMUX_INP_N_MASK (0x1FU)
  4821. #define INPUTMUX_SCT0_INMUX_INP_N_SHIFT (0U)
  4822. #define INPUTMUX_SCT0_INMUX_INP_N(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_SCT0_INMUX_INP_N_SHIFT)) & INPUTMUX_SCT0_INMUX_INP_N_MASK)
  4823. /* The count of INPUTMUX_SCT0_INMUX */
  4824. #define INPUTMUX_SCT0_INMUX_COUNT (7U)
  4825. /*! @name PINTSEL - Pin interrupt select register */
  4826. #define INPUTMUX_PINTSEL_INTPIN_MASK (0xFFU)
  4827. #define INPUTMUX_PINTSEL_INTPIN_SHIFT (0U)
  4828. #define INPUTMUX_PINTSEL_INTPIN(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_PINTSEL_INTPIN_SHIFT)) & INPUTMUX_PINTSEL_INTPIN_MASK)
  4829. /* The count of INPUTMUX_PINTSEL */
  4830. #define INPUTMUX_PINTSEL_COUNT (8U)
  4831. /*! @name DMA_ITRIG_INMUX - Trigger select register for DMA channel */
  4832. #define INPUTMUX_DMA_ITRIG_INMUX_INP_MASK (0x1FU)
  4833. #define INPUTMUX_DMA_ITRIG_INMUX_INP_SHIFT (0U)
  4834. #define INPUTMUX_DMA_ITRIG_INMUX_INP(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMA_ITRIG_INMUX_INP_SHIFT)) & INPUTMUX_DMA_ITRIG_INMUX_INP_MASK)
  4835. /* The count of INPUTMUX_DMA_ITRIG_INMUX */
  4836. #define INPUTMUX_DMA_ITRIG_INMUX_COUNT (30U)
  4837. /*! @name DMA_OTRIG_INMUX - DMA output trigger selection to become DMA trigger */
  4838. #define INPUTMUX_DMA_OTRIG_INMUX_INP_MASK (0x1FU)
  4839. #define INPUTMUX_DMA_OTRIG_INMUX_INP_SHIFT (0U)
  4840. #define INPUTMUX_DMA_OTRIG_INMUX_INP(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMA_OTRIG_INMUX_INP_SHIFT)) & INPUTMUX_DMA_OTRIG_INMUX_INP_MASK)
  4841. /* The count of INPUTMUX_DMA_OTRIG_INMUX */
  4842. #define INPUTMUX_DMA_OTRIG_INMUX_COUNT (4U)
  4843. /*! @name FREQMEAS_REF - Selection for frequency measurement reference clock */
  4844. #define INPUTMUX_FREQMEAS_REF_CLKIN_MASK (0x1FU)
  4845. #define INPUTMUX_FREQMEAS_REF_CLKIN_SHIFT (0U)
  4846. #define INPUTMUX_FREQMEAS_REF_CLKIN(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_FREQMEAS_REF_CLKIN_SHIFT)) & INPUTMUX_FREQMEAS_REF_CLKIN_MASK)
  4847. /*! @name FREQMEAS_TARGET - Selection for frequency measurement target clock */
  4848. #define INPUTMUX_FREQMEAS_TARGET_CLKIN_MASK (0x1FU)
  4849. #define INPUTMUX_FREQMEAS_TARGET_CLKIN_SHIFT (0U)
  4850. #define INPUTMUX_FREQMEAS_TARGET_CLKIN(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_FREQMEAS_TARGET_CLKIN_SHIFT)) & INPUTMUX_FREQMEAS_TARGET_CLKIN_MASK)
  4851. /*!
  4852. * @}
  4853. */ /* end of group INPUTMUX_Register_Masks */
  4854. /* INPUTMUX - Peripheral instance base addresses */
  4855. /** Peripheral INPUTMUX base address */
  4856. #define INPUTMUX_BASE (0x40005000u)
  4857. /** Peripheral INPUTMUX base pointer */
  4858. #define INPUTMUX ((INPUTMUX_Type *)INPUTMUX_BASE)
  4859. /** Array initializer of INPUTMUX peripheral base addresses */
  4860. #define INPUTMUX_BASE_ADDRS { INPUTMUX_BASE }
  4861. /** Array initializer of INPUTMUX peripheral base pointers */
  4862. #define INPUTMUX_BASE_PTRS { INPUTMUX }
  4863. /*!
  4864. * @}
  4865. */ /* end of group INPUTMUX_Peripheral_Access_Layer */
  4866. /* ----------------------------------------------------------------------------
  4867. -- IOCON Peripheral Access Layer
  4868. ---------------------------------------------------------------------------- */
  4869. /*!
  4870. * @addtogroup IOCON_Peripheral_Access_Layer IOCON Peripheral Access Layer
  4871. * @{
  4872. */
  4873. /** IOCON - Register Layout Typedef */
  4874. typedef struct {
  4875. __IO uint32_t PIO[6][32]; /**< Digital I/O control for port 0 pins PIO0_0..Digital I/O control for port 5 pins PIO5_31, array offset: 0x0, array step: index*0x80, index2*0x4 */
  4876. } IOCON_Type;
  4877. /* ----------------------------------------------------------------------------
  4878. -- IOCON Register Masks
  4879. ---------------------------------------------------------------------------- */
  4880. /*!
  4881. * @addtogroup IOCON_Register_Masks IOCON Register Masks
  4882. * @{
  4883. */
  4884. /*! @name PIO - Digital I/O control for port 0 pins PIO0_0..Digital I/O control for port 5 pins PIO5_31 */
  4885. #define IOCON_PIO_FUNC_MASK (0xFU)
  4886. #define IOCON_PIO_FUNC_SHIFT (0U)
  4887. #define IOCON_PIO_FUNC(x) (((uint32_t)(((uint32_t)(x)) << IOCON_PIO_FUNC_SHIFT)) & IOCON_PIO_FUNC_MASK)
  4888. #define IOCON_PIO_MODE_MASK (0x30U)
  4889. #define IOCON_PIO_MODE_SHIFT (4U)
  4890. #define IOCON_PIO_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOCON_PIO_MODE_SHIFT)) & IOCON_PIO_MODE_MASK)
  4891. #define IOCON_PIO_I2CSLEW_MASK (0x40U)
  4892. #define IOCON_PIO_I2CSLEW_SHIFT (6U)
  4893. #define IOCON_PIO_I2CSLEW(x) (((uint32_t)(((uint32_t)(x)) << IOCON_PIO_I2CSLEW_SHIFT)) & IOCON_PIO_I2CSLEW_MASK)
  4894. #define IOCON_PIO_INVERT_MASK (0x80U)
  4895. #define IOCON_PIO_INVERT_SHIFT (7U)
  4896. #define IOCON_PIO_INVERT(x) (((uint32_t)(((uint32_t)(x)) << IOCON_PIO_INVERT_SHIFT)) & IOCON_PIO_INVERT_MASK)
  4897. #define IOCON_PIO_DIGIMODE_MASK (0x100U)
  4898. #define IOCON_PIO_DIGIMODE_SHIFT (8U)
  4899. #define IOCON_PIO_DIGIMODE(x) (((uint32_t)(((uint32_t)(x)) << IOCON_PIO_DIGIMODE_SHIFT)) & IOCON_PIO_DIGIMODE_MASK)
  4900. #define IOCON_PIO_FILTEROFF_MASK (0x200U)
  4901. #define IOCON_PIO_FILTEROFF_SHIFT (9U)
  4902. #define IOCON_PIO_FILTEROFF(x) (((uint32_t)(((uint32_t)(x)) << IOCON_PIO_FILTEROFF_SHIFT)) & IOCON_PIO_FILTEROFF_MASK)
  4903. #define IOCON_PIO_I2CDRIVE_MASK (0x400U)
  4904. #define IOCON_PIO_I2CDRIVE_SHIFT (10U)
  4905. #define IOCON_PIO_I2CDRIVE(x) (((uint32_t)(((uint32_t)(x)) << IOCON_PIO_I2CDRIVE_SHIFT)) & IOCON_PIO_I2CDRIVE_MASK)
  4906. #define IOCON_PIO_SLEW_MASK (0x400U)
  4907. #define IOCON_PIO_SLEW_SHIFT (10U)
  4908. #define IOCON_PIO_SLEW(x) (((uint32_t)(((uint32_t)(x)) << IOCON_PIO_SLEW_SHIFT)) & IOCON_PIO_SLEW_MASK)
  4909. #define IOCON_PIO_OD_MASK (0x800U)
  4910. #define IOCON_PIO_OD_SHIFT (11U)
  4911. #define IOCON_PIO_OD(x) (((uint32_t)(((uint32_t)(x)) << IOCON_PIO_OD_SHIFT)) & IOCON_PIO_OD_MASK)
  4912. #define IOCON_PIO_I2CFILTER_MASK (0x800U)
  4913. #define IOCON_PIO_I2CFILTER_SHIFT (11U)
  4914. #define IOCON_PIO_I2CFILTER(x) (((uint32_t)(((uint32_t)(x)) << IOCON_PIO_I2CFILTER_SHIFT)) & IOCON_PIO_I2CFILTER_MASK)
  4915. /* The count of IOCON_PIO */
  4916. #define IOCON_PIO_COUNT (6U)
  4917. /* The count of IOCON_PIO */
  4918. #define IOCON_PIO_COUNT2 (32U)
  4919. /*!
  4920. * @}
  4921. */ /* end of group IOCON_Register_Masks */
  4922. /* IOCON - Peripheral instance base addresses */
  4923. /** Peripheral IOCON base address */
  4924. #define IOCON_BASE (0x40001000u)
  4925. /** Peripheral IOCON base pointer */
  4926. #define IOCON ((IOCON_Type *)IOCON_BASE)
  4927. /** Array initializer of IOCON peripheral base addresses */
  4928. #define IOCON_BASE_ADDRS { IOCON_BASE }
  4929. /** Array initializer of IOCON peripheral base pointers */
  4930. #define IOCON_BASE_PTRS { IOCON }
  4931. /*!
  4932. * @}
  4933. */ /* end of group IOCON_Peripheral_Access_Layer */
  4934. /* ----------------------------------------------------------------------------
  4935. -- LCD Peripheral Access Layer
  4936. ---------------------------------------------------------------------------- */
  4937. /*!
  4938. * @addtogroup LCD_Peripheral_Access_Layer LCD Peripheral Access Layer
  4939. * @{
  4940. */
  4941. /** LCD - Register Layout Typedef */
  4942. typedef struct {
  4943. __IO uint32_t TIMH; /**< Horizontal Timing Control register, offset: 0x0 */
  4944. __IO uint32_t TIMV; /**< Vertical Timing Control register, offset: 0x4 */
  4945. __IO uint32_t POL; /**< Clock and Signal Polarity Control register, offset: 0x8 */
  4946. __IO uint32_t LE; /**< Line End Control register, offset: 0xC */
  4947. __IO uint32_t UPBASE; /**< Upper Panel Frame Base Address register, offset: 0x10 */
  4948. __IO uint32_t LPBASE; /**< Lower Panel Frame Base Address register, offset: 0x14 */
  4949. __IO uint32_t CTRL; /**< LCD Control register, offset: 0x18 */
  4950. __IO uint32_t INTMSK; /**< Interrupt Mask register, offset: 0x1C */
  4951. __I uint32_t INTRAW; /**< Raw Interrupt Status register, offset: 0x20 */
  4952. __I uint32_t INTSTAT; /**< Masked Interrupt Status register, offset: 0x24 */
  4953. __IO uint32_t INTCLR; /**< Interrupt Clear register, offset: 0x28 */
  4954. __I uint32_t UPCURR; /**< Upper Panel Current Address Value register, offset: 0x2C */
  4955. __I uint32_t LPCURR; /**< Lower Panel Current Address Value register, offset: 0x30 */
  4956. uint8_t RESERVED_0[460];
  4957. __IO uint32_t PAL[128]; /**< 256x16-bit Color Palette registers, array offset: 0x200, array step: 0x4 */
  4958. uint8_t RESERVED_1[1024];
  4959. __IO uint32_t CRSR_IMG[256]; /**< Cursor Image registers, array offset: 0x800, array step: 0x4 */
  4960. __IO uint32_t CRSR_CTRL; /**< Cursor Control register, offset: 0xC00 */
  4961. __IO uint32_t CRSR_CFG; /**< Cursor Configuration register, offset: 0xC04 */
  4962. __IO uint32_t CRSR_PAL0; /**< Cursor Palette register 0, offset: 0xC08 */
  4963. __IO uint32_t CRSR_PAL1; /**< Cursor Palette register 1, offset: 0xC0C */
  4964. __IO uint32_t CRSR_XY; /**< Cursor XY Position register, offset: 0xC10 */
  4965. __IO uint32_t CRSR_CLIP; /**< Cursor Clip Position register, offset: 0xC14 */
  4966. uint8_t RESERVED_2[8];
  4967. __IO uint32_t CRSR_INTMSK; /**< Cursor Interrupt Mask register, offset: 0xC20 */
  4968. __O uint32_t CRSR_INTCLR; /**< Cursor Interrupt Clear register, offset: 0xC24 */
  4969. __I uint32_t CRSR_INTRAW; /**< Cursor Raw Interrupt Status register, offset: 0xC28 */
  4970. __I uint32_t CRSR_INTSTAT; /**< Cursor Masked Interrupt Status register, offset: 0xC2C */
  4971. } LCD_Type;
  4972. /* ----------------------------------------------------------------------------
  4973. -- LCD Register Masks
  4974. ---------------------------------------------------------------------------- */
  4975. /*!
  4976. * @addtogroup LCD_Register_Masks LCD Register Masks
  4977. * @{
  4978. */
  4979. /*! @name TIMH - Horizontal Timing Control register */
  4980. #define LCD_TIMH_PPL_MASK (0xFCU)
  4981. #define LCD_TIMH_PPL_SHIFT (2U)
  4982. #define LCD_TIMH_PPL(x) (((uint32_t)(((uint32_t)(x)) << LCD_TIMH_PPL_SHIFT)) & LCD_TIMH_PPL_MASK)
  4983. #define LCD_TIMH_HSW_MASK (0xFF00U)
  4984. #define LCD_TIMH_HSW_SHIFT (8U)
  4985. #define LCD_TIMH_HSW(x) (((uint32_t)(((uint32_t)(x)) << LCD_TIMH_HSW_SHIFT)) & LCD_TIMH_HSW_MASK)
  4986. #define LCD_TIMH_HFP_MASK (0xFF0000U)
  4987. #define LCD_TIMH_HFP_SHIFT (16U)
  4988. #define LCD_TIMH_HFP(x) (((uint32_t)(((uint32_t)(x)) << LCD_TIMH_HFP_SHIFT)) & LCD_TIMH_HFP_MASK)
  4989. #define LCD_TIMH_HBP_MASK (0xFF000000U)
  4990. #define LCD_TIMH_HBP_SHIFT (24U)
  4991. #define LCD_TIMH_HBP(x) (((uint32_t)(((uint32_t)(x)) << LCD_TIMH_HBP_SHIFT)) & LCD_TIMH_HBP_MASK)
  4992. /*! @name TIMV - Vertical Timing Control register */
  4993. #define LCD_TIMV_LPP_MASK (0x3FFU)
  4994. #define LCD_TIMV_LPP_SHIFT (0U)
  4995. #define LCD_TIMV_LPP(x) (((uint32_t)(((uint32_t)(x)) << LCD_TIMV_LPP_SHIFT)) & LCD_TIMV_LPP_MASK)
  4996. #define LCD_TIMV_VSW_MASK (0xFC00U)
  4997. #define LCD_TIMV_VSW_SHIFT (10U)
  4998. #define LCD_TIMV_VSW(x) (((uint32_t)(((uint32_t)(x)) << LCD_TIMV_VSW_SHIFT)) & LCD_TIMV_VSW_MASK)
  4999. #define LCD_TIMV_VFP_MASK (0xFF0000U)
  5000. #define LCD_TIMV_VFP_SHIFT (16U)
  5001. #define LCD_TIMV_VFP(x) (((uint32_t)(((uint32_t)(x)) << LCD_TIMV_VFP_SHIFT)) & LCD_TIMV_VFP_MASK)
  5002. #define LCD_TIMV_VBP_MASK (0xFF000000U)
  5003. #define LCD_TIMV_VBP_SHIFT (24U)
  5004. #define LCD_TIMV_VBP(x) (((uint32_t)(((uint32_t)(x)) << LCD_TIMV_VBP_SHIFT)) & LCD_TIMV_VBP_MASK)
  5005. /*! @name POL - Clock and Signal Polarity Control register */
  5006. #define LCD_POL_PCD_LO_MASK (0x1FU)
  5007. #define LCD_POL_PCD_LO_SHIFT (0U)
  5008. #define LCD_POL_PCD_LO(x) (((uint32_t)(((uint32_t)(x)) << LCD_POL_PCD_LO_SHIFT)) & LCD_POL_PCD_LO_MASK)
  5009. #define LCD_POL_ACB_MASK (0x7C0U)
  5010. #define LCD_POL_ACB_SHIFT (6U)
  5011. #define LCD_POL_ACB(x) (((uint32_t)(((uint32_t)(x)) << LCD_POL_ACB_SHIFT)) & LCD_POL_ACB_MASK)
  5012. #define LCD_POL_IVS_MASK (0x800U)
  5013. #define LCD_POL_IVS_SHIFT (11U)
  5014. #define LCD_POL_IVS(x) (((uint32_t)(((uint32_t)(x)) << LCD_POL_IVS_SHIFT)) & LCD_POL_IVS_MASK)
  5015. #define LCD_POL_IHS_MASK (0x1000U)
  5016. #define LCD_POL_IHS_SHIFT (12U)
  5017. #define LCD_POL_IHS(x) (((uint32_t)(((uint32_t)(x)) << LCD_POL_IHS_SHIFT)) & LCD_POL_IHS_MASK)
  5018. #define LCD_POL_IPC_MASK (0x2000U)
  5019. #define LCD_POL_IPC_SHIFT (13U)
  5020. #define LCD_POL_IPC(x) (((uint32_t)(((uint32_t)(x)) << LCD_POL_IPC_SHIFT)) & LCD_POL_IPC_MASK)
  5021. #define LCD_POL_IOE_MASK (0x4000U)
  5022. #define LCD_POL_IOE_SHIFT (14U)
  5023. #define LCD_POL_IOE(x) (((uint32_t)(((uint32_t)(x)) << LCD_POL_IOE_SHIFT)) & LCD_POL_IOE_MASK)
  5024. #define LCD_POL_CPL_MASK (0x3FF0000U)
  5025. #define LCD_POL_CPL_SHIFT (16U)
  5026. #define LCD_POL_CPL(x) (((uint32_t)(((uint32_t)(x)) << LCD_POL_CPL_SHIFT)) & LCD_POL_CPL_MASK)
  5027. #define LCD_POL_BCD_MASK (0x4000000U)
  5028. #define LCD_POL_BCD_SHIFT (26U)
  5029. #define LCD_POL_BCD(x) (((uint32_t)(((uint32_t)(x)) << LCD_POL_BCD_SHIFT)) & LCD_POL_BCD_MASK)
  5030. #define LCD_POL_PCD_HI_MASK (0xF8000000U)
  5031. #define LCD_POL_PCD_HI_SHIFT (27U)
  5032. #define LCD_POL_PCD_HI(x) (((uint32_t)(((uint32_t)(x)) << LCD_POL_PCD_HI_SHIFT)) & LCD_POL_PCD_HI_MASK)
  5033. /*! @name LE - Line End Control register */
  5034. #define LCD_LE_LED_MASK (0x7FU)
  5035. #define LCD_LE_LED_SHIFT (0U)
  5036. #define LCD_LE_LED(x) (((uint32_t)(((uint32_t)(x)) << LCD_LE_LED_SHIFT)) & LCD_LE_LED_MASK)
  5037. #define LCD_LE_LEE_MASK (0x10000U)
  5038. #define LCD_LE_LEE_SHIFT (16U)
  5039. #define LCD_LE_LEE(x) (((uint32_t)(((uint32_t)(x)) << LCD_LE_LEE_SHIFT)) & LCD_LE_LEE_MASK)
  5040. /*! @name UPBASE - Upper Panel Frame Base Address register */
  5041. #define LCD_UPBASE_LCDUPBASE_MASK (0xFFFFFFF8U)
  5042. #define LCD_UPBASE_LCDUPBASE_SHIFT (3U)
  5043. #define LCD_UPBASE_LCDUPBASE(x) (((uint32_t)(((uint32_t)(x)) << LCD_UPBASE_LCDUPBASE_SHIFT)) & LCD_UPBASE_LCDUPBASE_MASK)
  5044. /*! @name LPBASE - Lower Panel Frame Base Address register */
  5045. #define LCD_LPBASE_LCDLPBASE_MASK (0xFFFFFFF8U)
  5046. #define LCD_LPBASE_LCDLPBASE_SHIFT (3U)
  5047. #define LCD_LPBASE_LCDLPBASE(x) (((uint32_t)(((uint32_t)(x)) << LCD_LPBASE_LCDLPBASE_SHIFT)) & LCD_LPBASE_LCDLPBASE_MASK)
  5048. /*! @name CTRL - LCD Control register */
  5049. #define LCD_CTRL_LCDEN_MASK (0x1U)
  5050. #define LCD_CTRL_LCDEN_SHIFT (0U)
  5051. #define LCD_CTRL_LCDEN(x) (((uint32_t)(((uint32_t)(x)) << LCD_CTRL_LCDEN_SHIFT)) & LCD_CTRL_LCDEN_MASK)
  5052. #define LCD_CTRL_LCDBPP_MASK (0xEU)
  5053. #define LCD_CTRL_LCDBPP_SHIFT (1U)
  5054. #define LCD_CTRL_LCDBPP(x) (((uint32_t)(((uint32_t)(x)) << LCD_CTRL_LCDBPP_SHIFT)) & LCD_CTRL_LCDBPP_MASK)
  5055. #define LCD_CTRL_LCDBW_MASK (0x10U)
  5056. #define LCD_CTRL_LCDBW_SHIFT (4U)
  5057. #define LCD_CTRL_LCDBW(x) (((uint32_t)(((uint32_t)(x)) << LCD_CTRL_LCDBW_SHIFT)) & LCD_CTRL_LCDBW_MASK)
  5058. #define LCD_CTRL_LCDTFT_MASK (0x20U)
  5059. #define LCD_CTRL_LCDTFT_SHIFT (5U)
  5060. #define LCD_CTRL_LCDTFT(x) (((uint32_t)(((uint32_t)(x)) << LCD_CTRL_LCDTFT_SHIFT)) & LCD_CTRL_LCDTFT_MASK)
  5061. #define LCD_CTRL_LCDMONO8_MASK (0x40U)
  5062. #define LCD_CTRL_LCDMONO8_SHIFT (6U)
  5063. #define LCD_CTRL_LCDMONO8(x) (((uint32_t)(((uint32_t)(x)) << LCD_CTRL_LCDMONO8_SHIFT)) & LCD_CTRL_LCDMONO8_MASK)
  5064. #define LCD_CTRL_LCDDUAL_MASK (0x80U)
  5065. #define LCD_CTRL_LCDDUAL_SHIFT (7U)
  5066. #define LCD_CTRL_LCDDUAL(x) (((uint32_t)(((uint32_t)(x)) << LCD_CTRL_LCDDUAL_SHIFT)) & LCD_CTRL_LCDDUAL_MASK)
  5067. #define LCD_CTRL_BGR_MASK (0x100U)
  5068. #define LCD_CTRL_BGR_SHIFT (8U)
  5069. #define LCD_CTRL_BGR(x) (((uint32_t)(((uint32_t)(x)) << LCD_CTRL_BGR_SHIFT)) & LCD_CTRL_BGR_MASK)
  5070. #define LCD_CTRL_BEBO_MASK (0x200U)
  5071. #define LCD_CTRL_BEBO_SHIFT (9U)
  5072. #define LCD_CTRL_BEBO(x) (((uint32_t)(((uint32_t)(x)) << LCD_CTRL_BEBO_SHIFT)) & LCD_CTRL_BEBO_MASK)
  5073. #define LCD_CTRL_BEPO_MASK (0x400U)
  5074. #define LCD_CTRL_BEPO_SHIFT (10U)
  5075. #define LCD_CTRL_BEPO(x) (((uint32_t)(((uint32_t)(x)) << LCD_CTRL_BEPO_SHIFT)) & LCD_CTRL_BEPO_MASK)
  5076. #define LCD_CTRL_LCDPWR_MASK (0x800U)
  5077. #define LCD_CTRL_LCDPWR_SHIFT (11U)
  5078. #define LCD_CTRL_LCDPWR(x) (((uint32_t)(((uint32_t)(x)) << LCD_CTRL_LCDPWR_SHIFT)) & LCD_CTRL_LCDPWR_MASK)
  5079. #define LCD_CTRL_LCDVCOMP_MASK (0x3000U)
  5080. #define LCD_CTRL_LCDVCOMP_SHIFT (12U)
  5081. #define LCD_CTRL_LCDVCOMP(x) (((uint32_t)(((uint32_t)(x)) << LCD_CTRL_LCDVCOMP_SHIFT)) & LCD_CTRL_LCDVCOMP_MASK)
  5082. #define LCD_CTRL_WATERMARK_MASK (0x10000U)
  5083. #define LCD_CTRL_WATERMARK_SHIFT (16U)
  5084. #define LCD_CTRL_WATERMARK(x) (((uint32_t)(((uint32_t)(x)) << LCD_CTRL_WATERMARK_SHIFT)) & LCD_CTRL_WATERMARK_MASK)
  5085. /*! @name INTMSK - Interrupt Mask register */
  5086. #define LCD_INTMSK_FUFIM_MASK (0x2U)
  5087. #define LCD_INTMSK_FUFIM_SHIFT (1U)
  5088. #define LCD_INTMSK_FUFIM(x) (((uint32_t)(((uint32_t)(x)) << LCD_INTMSK_FUFIM_SHIFT)) & LCD_INTMSK_FUFIM_MASK)
  5089. #define LCD_INTMSK_LNBUIM_MASK (0x4U)
  5090. #define LCD_INTMSK_LNBUIM_SHIFT (2U)
  5091. #define LCD_INTMSK_LNBUIM(x) (((uint32_t)(((uint32_t)(x)) << LCD_INTMSK_LNBUIM_SHIFT)) & LCD_INTMSK_LNBUIM_MASK)
  5092. #define LCD_INTMSK_VCOMPIM_MASK (0x8U)
  5093. #define LCD_INTMSK_VCOMPIM_SHIFT (3U)
  5094. #define LCD_INTMSK_VCOMPIM(x) (((uint32_t)(((uint32_t)(x)) << LCD_INTMSK_VCOMPIM_SHIFT)) & LCD_INTMSK_VCOMPIM_MASK)
  5095. #define LCD_INTMSK_BERIM_MASK (0x10U)
  5096. #define LCD_INTMSK_BERIM_SHIFT (4U)
  5097. #define LCD_INTMSK_BERIM(x) (((uint32_t)(((uint32_t)(x)) << LCD_INTMSK_BERIM_SHIFT)) & LCD_INTMSK_BERIM_MASK)
  5098. /*! @name INTRAW - Raw Interrupt Status register */
  5099. #define LCD_INTRAW_FUFRIS_MASK (0x2U)
  5100. #define LCD_INTRAW_FUFRIS_SHIFT (1U)
  5101. #define LCD_INTRAW_FUFRIS(x) (((uint32_t)(((uint32_t)(x)) << LCD_INTRAW_FUFRIS_SHIFT)) & LCD_INTRAW_FUFRIS_MASK)
  5102. #define LCD_INTRAW_LNBURIS_MASK (0x4U)
  5103. #define LCD_INTRAW_LNBURIS_SHIFT (2U)
  5104. #define LCD_INTRAW_LNBURIS(x) (((uint32_t)(((uint32_t)(x)) << LCD_INTRAW_LNBURIS_SHIFT)) & LCD_INTRAW_LNBURIS_MASK)
  5105. #define LCD_INTRAW_VCOMPRIS_MASK (0x8U)
  5106. #define LCD_INTRAW_VCOMPRIS_SHIFT (3U)
  5107. #define LCD_INTRAW_VCOMPRIS(x) (((uint32_t)(((uint32_t)(x)) << LCD_INTRAW_VCOMPRIS_SHIFT)) & LCD_INTRAW_VCOMPRIS_MASK)
  5108. #define LCD_INTRAW_BERRAW_MASK (0x10U)
  5109. #define LCD_INTRAW_BERRAW_SHIFT (4U)
  5110. #define LCD_INTRAW_BERRAW(x) (((uint32_t)(((uint32_t)(x)) << LCD_INTRAW_BERRAW_SHIFT)) & LCD_INTRAW_BERRAW_MASK)
  5111. /*! @name INTSTAT - Masked Interrupt Status register */
  5112. #define LCD_INTSTAT_FUFMIS_MASK (0x2U)
  5113. #define LCD_INTSTAT_FUFMIS_SHIFT (1U)
  5114. #define LCD_INTSTAT_FUFMIS(x) (((uint32_t)(((uint32_t)(x)) << LCD_INTSTAT_FUFMIS_SHIFT)) & LCD_INTSTAT_FUFMIS_MASK)
  5115. #define LCD_INTSTAT_LNBUMIS_MASK (0x4U)
  5116. #define LCD_INTSTAT_LNBUMIS_SHIFT (2U)
  5117. #define LCD_INTSTAT_LNBUMIS(x) (((uint32_t)(((uint32_t)(x)) << LCD_INTSTAT_LNBUMIS_SHIFT)) & LCD_INTSTAT_LNBUMIS_MASK)
  5118. #define LCD_INTSTAT_VCOMPMIS_MASK (0x8U)
  5119. #define LCD_INTSTAT_VCOMPMIS_SHIFT (3U)
  5120. #define LCD_INTSTAT_VCOMPMIS(x) (((uint32_t)(((uint32_t)(x)) << LCD_INTSTAT_VCOMPMIS_SHIFT)) & LCD_INTSTAT_VCOMPMIS_MASK)
  5121. #define LCD_INTSTAT_BERMIS_MASK (0x10U)
  5122. #define LCD_INTSTAT_BERMIS_SHIFT (4U)
  5123. #define LCD_INTSTAT_BERMIS(x) (((uint32_t)(((uint32_t)(x)) << LCD_INTSTAT_BERMIS_SHIFT)) & LCD_INTSTAT_BERMIS_MASK)
  5124. /*! @name INTCLR - Interrupt Clear register */
  5125. #define LCD_INTCLR_FUFIC_MASK (0x2U)
  5126. #define LCD_INTCLR_FUFIC_SHIFT (1U)
  5127. #define LCD_INTCLR_FUFIC(x) (((uint32_t)(((uint32_t)(x)) << LCD_INTCLR_FUFIC_SHIFT)) & LCD_INTCLR_FUFIC_MASK)
  5128. #define LCD_INTCLR_LNBUIC_MASK (0x4U)
  5129. #define LCD_INTCLR_LNBUIC_SHIFT (2U)
  5130. #define LCD_INTCLR_LNBUIC(x) (((uint32_t)(((uint32_t)(x)) << LCD_INTCLR_LNBUIC_SHIFT)) & LCD_INTCLR_LNBUIC_MASK)
  5131. #define LCD_INTCLR_VCOMPIC_MASK (0x8U)
  5132. #define LCD_INTCLR_VCOMPIC_SHIFT (3U)
  5133. #define LCD_INTCLR_VCOMPIC(x) (((uint32_t)(((uint32_t)(x)) << LCD_INTCLR_VCOMPIC_SHIFT)) & LCD_INTCLR_VCOMPIC_MASK)
  5134. #define LCD_INTCLR_BERIC_MASK (0x10U)
  5135. #define LCD_INTCLR_BERIC_SHIFT (4U)
  5136. #define LCD_INTCLR_BERIC(x) (((uint32_t)(((uint32_t)(x)) << LCD_INTCLR_BERIC_SHIFT)) & LCD_INTCLR_BERIC_MASK)
  5137. /*! @name UPCURR - Upper Panel Current Address Value register */
  5138. #define LCD_UPCURR_LCDUPCURR_MASK (0xFFFFFFFFU)
  5139. #define LCD_UPCURR_LCDUPCURR_SHIFT (0U)
  5140. #define LCD_UPCURR_LCDUPCURR(x) (((uint32_t)(((uint32_t)(x)) << LCD_UPCURR_LCDUPCURR_SHIFT)) & LCD_UPCURR_LCDUPCURR_MASK)
  5141. /*! @name LPCURR - Lower Panel Current Address Value register */
  5142. #define LCD_LPCURR_LCDLPCURR_MASK (0xFFFFFFFFU)
  5143. #define LCD_LPCURR_LCDLPCURR_SHIFT (0U)
  5144. #define LCD_LPCURR_LCDLPCURR(x) (((uint32_t)(((uint32_t)(x)) << LCD_LPCURR_LCDLPCURR_SHIFT)) & LCD_LPCURR_LCDLPCURR_MASK)
  5145. /*! @name PAL - 256x16-bit Color Palette registers */
  5146. #define LCD_PAL_R04_0_MASK (0x1FU)
  5147. #define LCD_PAL_R04_0_SHIFT (0U)
  5148. #define LCD_PAL_R04_0(x) (((uint32_t)(((uint32_t)(x)) << LCD_PAL_R04_0_SHIFT)) & LCD_PAL_R04_0_MASK)
  5149. #define LCD_PAL_G04_0_MASK (0x3E0U)
  5150. #define LCD_PAL_G04_0_SHIFT (5U)
  5151. #define LCD_PAL_G04_0(x) (((uint32_t)(((uint32_t)(x)) << LCD_PAL_G04_0_SHIFT)) & LCD_PAL_G04_0_MASK)
  5152. #define LCD_PAL_B04_0_MASK (0x7C00U)
  5153. #define LCD_PAL_B04_0_SHIFT (10U)
  5154. #define LCD_PAL_B04_0(x) (((uint32_t)(((uint32_t)(x)) << LCD_PAL_B04_0_SHIFT)) & LCD_PAL_B04_0_MASK)
  5155. #define LCD_PAL_I0_MASK (0x8000U)
  5156. #define LCD_PAL_I0_SHIFT (15U)
  5157. #define LCD_PAL_I0(x) (((uint32_t)(((uint32_t)(x)) << LCD_PAL_I0_SHIFT)) & LCD_PAL_I0_MASK)
  5158. #define LCD_PAL_R14_0_MASK (0x1F0000U)
  5159. #define LCD_PAL_R14_0_SHIFT (16U)
  5160. #define LCD_PAL_R14_0(x) (((uint32_t)(((uint32_t)(x)) << LCD_PAL_R14_0_SHIFT)) & LCD_PAL_R14_0_MASK)
  5161. #define LCD_PAL_G14_0_MASK (0x3E00000U)
  5162. #define LCD_PAL_G14_0_SHIFT (21U)
  5163. #define LCD_PAL_G14_0(x) (((uint32_t)(((uint32_t)(x)) << LCD_PAL_G14_0_SHIFT)) & LCD_PAL_G14_0_MASK)
  5164. #define LCD_PAL_B14_0_MASK (0x7C000000U)
  5165. #define LCD_PAL_B14_0_SHIFT (26U)
  5166. #define LCD_PAL_B14_0(x) (((uint32_t)(((uint32_t)(x)) << LCD_PAL_B14_0_SHIFT)) & LCD_PAL_B14_0_MASK)
  5167. #define LCD_PAL_I1_MASK (0x80000000U)
  5168. #define LCD_PAL_I1_SHIFT (31U)
  5169. #define LCD_PAL_I1(x) (((uint32_t)(((uint32_t)(x)) << LCD_PAL_I1_SHIFT)) & LCD_PAL_I1_MASK)
  5170. /* The count of LCD_PAL */
  5171. #define LCD_PAL_COUNT (128U)
  5172. /*! @name CRSR_IMG - Cursor Image registers */
  5173. #define LCD_CRSR_IMG_CRSR_IMG_MASK (0xFFFFFFFFU)
  5174. #define LCD_CRSR_IMG_CRSR_IMG_SHIFT (0U)
  5175. #define LCD_CRSR_IMG_CRSR_IMG(x) (((uint32_t)(((uint32_t)(x)) << LCD_CRSR_IMG_CRSR_IMG_SHIFT)) & LCD_CRSR_IMG_CRSR_IMG_MASK)
  5176. /* The count of LCD_CRSR_IMG */
  5177. #define LCD_CRSR_IMG_COUNT (256U)
  5178. /*! @name CRSR_CTRL - Cursor Control register */
  5179. #define LCD_CRSR_CTRL_CRSRON_MASK (0x1U)
  5180. #define LCD_CRSR_CTRL_CRSRON_SHIFT (0U)
  5181. #define LCD_CRSR_CTRL_CRSRON(x) (((uint32_t)(((uint32_t)(x)) << LCD_CRSR_CTRL_CRSRON_SHIFT)) & LCD_CRSR_CTRL_CRSRON_MASK)
  5182. #define LCD_CRSR_CTRL_CRSRNUM1_0_MASK (0x30U)
  5183. #define LCD_CRSR_CTRL_CRSRNUM1_0_SHIFT (4U)
  5184. #define LCD_CRSR_CTRL_CRSRNUM1_0(x) (((uint32_t)(((uint32_t)(x)) << LCD_CRSR_CTRL_CRSRNUM1_0_SHIFT)) & LCD_CRSR_CTRL_CRSRNUM1_0_MASK)
  5185. /*! @name CRSR_CFG - Cursor Configuration register */
  5186. #define LCD_CRSR_CFG_CRSRSIZE_MASK (0x1U)
  5187. #define LCD_CRSR_CFG_CRSRSIZE_SHIFT (0U)
  5188. #define LCD_CRSR_CFG_CRSRSIZE(x) (((uint32_t)(((uint32_t)(x)) << LCD_CRSR_CFG_CRSRSIZE_SHIFT)) & LCD_CRSR_CFG_CRSRSIZE_MASK)
  5189. #define LCD_CRSR_CFG_FRAMESYNC_MASK (0x2U)
  5190. #define LCD_CRSR_CFG_FRAMESYNC_SHIFT (1U)
  5191. #define LCD_CRSR_CFG_FRAMESYNC(x) (((uint32_t)(((uint32_t)(x)) << LCD_CRSR_CFG_FRAMESYNC_SHIFT)) & LCD_CRSR_CFG_FRAMESYNC_MASK)
  5192. /*! @name CRSR_PAL0 - Cursor Palette register 0 */
  5193. #define LCD_CRSR_PAL0_RED_MASK (0xFFU)
  5194. #define LCD_CRSR_PAL0_RED_SHIFT (0U)
  5195. #define LCD_CRSR_PAL0_RED(x) (((uint32_t)(((uint32_t)(x)) << LCD_CRSR_PAL0_RED_SHIFT)) & LCD_CRSR_PAL0_RED_MASK)
  5196. #define LCD_CRSR_PAL0_GREEN_MASK (0xFF00U)
  5197. #define LCD_CRSR_PAL0_GREEN_SHIFT (8U)
  5198. #define LCD_CRSR_PAL0_GREEN(x) (((uint32_t)(((uint32_t)(x)) << LCD_CRSR_PAL0_GREEN_SHIFT)) & LCD_CRSR_PAL0_GREEN_MASK)
  5199. #define LCD_CRSR_PAL0_BLUE_MASK (0xFF0000U)
  5200. #define LCD_CRSR_PAL0_BLUE_SHIFT (16U)
  5201. #define LCD_CRSR_PAL0_BLUE(x) (((uint32_t)(((uint32_t)(x)) << LCD_CRSR_PAL0_BLUE_SHIFT)) & LCD_CRSR_PAL0_BLUE_MASK)
  5202. /*! @name CRSR_PAL1 - Cursor Palette register 1 */
  5203. #define LCD_CRSR_PAL1_RED_MASK (0xFFU)
  5204. #define LCD_CRSR_PAL1_RED_SHIFT (0U)
  5205. #define LCD_CRSR_PAL1_RED(x) (((uint32_t)(((uint32_t)(x)) << LCD_CRSR_PAL1_RED_SHIFT)) & LCD_CRSR_PAL1_RED_MASK)
  5206. #define LCD_CRSR_PAL1_GREEN_MASK (0xFF00U)
  5207. #define LCD_CRSR_PAL1_GREEN_SHIFT (8U)
  5208. #define LCD_CRSR_PAL1_GREEN(x) (((uint32_t)(((uint32_t)(x)) << LCD_CRSR_PAL1_GREEN_SHIFT)) & LCD_CRSR_PAL1_GREEN_MASK)
  5209. #define LCD_CRSR_PAL1_BLUE_MASK (0xFF0000U)
  5210. #define LCD_CRSR_PAL1_BLUE_SHIFT (16U)
  5211. #define LCD_CRSR_PAL1_BLUE(x) (((uint32_t)(((uint32_t)(x)) << LCD_CRSR_PAL1_BLUE_SHIFT)) & LCD_CRSR_PAL1_BLUE_MASK)
  5212. /*! @name CRSR_XY - Cursor XY Position register */
  5213. #define LCD_CRSR_XY_CRSRX_MASK (0x3FFU)
  5214. #define LCD_CRSR_XY_CRSRX_SHIFT (0U)
  5215. #define LCD_CRSR_XY_CRSRX(x) (((uint32_t)(((uint32_t)(x)) << LCD_CRSR_XY_CRSRX_SHIFT)) & LCD_CRSR_XY_CRSRX_MASK)
  5216. #define LCD_CRSR_XY_CRSRY_MASK (0x3FF0000U)
  5217. #define LCD_CRSR_XY_CRSRY_SHIFT (16U)
  5218. #define LCD_CRSR_XY_CRSRY(x) (((uint32_t)(((uint32_t)(x)) << LCD_CRSR_XY_CRSRY_SHIFT)) & LCD_CRSR_XY_CRSRY_MASK)
  5219. /*! @name CRSR_CLIP - Cursor Clip Position register */
  5220. #define LCD_CRSR_CLIP_CRSRCLIPX_MASK (0x3FU)
  5221. #define LCD_CRSR_CLIP_CRSRCLIPX_SHIFT (0U)
  5222. #define LCD_CRSR_CLIP_CRSRCLIPX(x) (((uint32_t)(((uint32_t)(x)) << LCD_CRSR_CLIP_CRSRCLIPX_SHIFT)) & LCD_CRSR_CLIP_CRSRCLIPX_MASK)
  5223. #define LCD_CRSR_CLIP_CRSRCLIPY_MASK (0x3F00U)
  5224. #define LCD_CRSR_CLIP_CRSRCLIPY_SHIFT (8U)
  5225. #define LCD_CRSR_CLIP_CRSRCLIPY(x) (((uint32_t)(((uint32_t)(x)) << LCD_CRSR_CLIP_CRSRCLIPY_SHIFT)) & LCD_CRSR_CLIP_CRSRCLIPY_MASK)
  5226. /*! @name CRSR_INTMSK - Cursor Interrupt Mask register */
  5227. #define LCD_CRSR_INTMSK_CRSRIM_MASK (0x1U)
  5228. #define LCD_CRSR_INTMSK_CRSRIM_SHIFT (0U)
  5229. #define LCD_CRSR_INTMSK_CRSRIM(x) (((uint32_t)(((uint32_t)(x)) << LCD_CRSR_INTMSK_CRSRIM_SHIFT)) & LCD_CRSR_INTMSK_CRSRIM_MASK)
  5230. /*! @name CRSR_INTCLR - Cursor Interrupt Clear register */
  5231. #define LCD_CRSR_INTCLR_CRSRIC_MASK (0x1U)
  5232. #define LCD_CRSR_INTCLR_CRSRIC_SHIFT (0U)
  5233. #define LCD_CRSR_INTCLR_CRSRIC(x) (((uint32_t)(((uint32_t)(x)) << LCD_CRSR_INTCLR_CRSRIC_SHIFT)) & LCD_CRSR_INTCLR_CRSRIC_MASK)
  5234. /*! @name CRSR_INTRAW - Cursor Raw Interrupt Status register */
  5235. #define LCD_CRSR_INTRAW_CRSRRIS_MASK (0x1U)
  5236. #define LCD_CRSR_INTRAW_CRSRRIS_SHIFT (0U)
  5237. #define LCD_CRSR_INTRAW_CRSRRIS(x) (((uint32_t)(((uint32_t)(x)) << LCD_CRSR_INTRAW_CRSRRIS_SHIFT)) & LCD_CRSR_INTRAW_CRSRRIS_MASK)
  5238. /*! @name CRSR_INTSTAT - Cursor Masked Interrupt Status register */
  5239. #define LCD_CRSR_INTSTAT_CRSRMIS_MASK (0x1U)
  5240. #define LCD_CRSR_INTSTAT_CRSRMIS_SHIFT (0U)
  5241. #define LCD_CRSR_INTSTAT_CRSRMIS(x) (((uint32_t)(((uint32_t)(x)) << LCD_CRSR_INTSTAT_CRSRMIS_SHIFT)) & LCD_CRSR_INTSTAT_CRSRMIS_MASK)
  5242. /*!
  5243. * @}
  5244. */ /* end of group LCD_Register_Masks */
  5245. /* LCD - Peripheral instance base addresses */
  5246. /** Peripheral LCD base address */
  5247. #define LCD_BASE (0x40083000u)
  5248. /** Peripheral LCD base pointer */
  5249. #define LCD ((LCD_Type *)LCD_BASE)
  5250. /** Array initializer of LCD peripheral base addresses */
  5251. #define LCD_BASE_ADDRS { LCD_BASE }
  5252. /** Array initializer of LCD peripheral base pointers */
  5253. #define LCD_BASE_PTRS { LCD }
  5254. /** Interrupt vectors for the LCD peripheral type */
  5255. #define LCD_IRQS { LCD_IRQn }
  5256. /*!
  5257. * @}
  5258. */ /* end of group LCD_Peripheral_Access_Layer */
  5259. /* ----------------------------------------------------------------------------
  5260. -- MRT Peripheral Access Layer
  5261. ---------------------------------------------------------------------------- */
  5262. /*!
  5263. * @addtogroup MRT_Peripheral_Access_Layer MRT Peripheral Access Layer
  5264. * @{
  5265. */
  5266. /** MRT - Register Layout Typedef */
  5267. typedef struct {
  5268. struct { /* offset: 0x0, array step: 0x10 */
  5269. __IO uint32_t INTVAL; /**< MRT Time interval value register. This value is loaded into the TIMER register., array offset: 0x0, array step: 0x10 */
  5270. __I uint32_t TIMER; /**< MRT Timer register. This register reads the value of the down-counter., array offset: 0x4, array step: 0x10 */
  5271. __IO uint32_t CTRL; /**< MRT Control register. This register controls the MRT modes., array offset: 0x8, array step: 0x10 */
  5272. __IO uint32_t STAT; /**< MRT Status register., array offset: 0xC, array step: 0x10 */
  5273. } CHANNEL[4];
  5274. uint8_t RESERVED_0[176];
  5275. __IO uint32_t MODCFG; /**< Module Configuration register. This register provides information about this particular MRT instance, and allows choosing an overall mode for the idle channel feature., offset: 0xF0 */
  5276. __I uint32_t IDLE_CH; /**< Idle channel register. This register returns the number of the first idle channel., offset: 0xF4 */
  5277. __IO uint32_t IRQ_FLAG; /**< Global interrupt flag register, offset: 0xF8 */
  5278. } MRT_Type;
  5279. /* ----------------------------------------------------------------------------
  5280. -- MRT Register Masks
  5281. ---------------------------------------------------------------------------- */
  5282. /*!
  5283. * @addtogroup MRT_Register_Masks MRT Register Masks
  5284. * @{
  5285. */
  5286. /*! @name CHANNEL_INTVAL - MRT Time interval value register. This value is loaded into the TIMER register. */
  5287. #define MRT_CHANNEL_INTVAL_IVALUE_MASK (0xFFFFFFU)
  5288. #define MRT_CHANNEL_INTVAL_IVALUE_SHIFT (0U)
  5289. #define MRT_CHANNEL_INTVAL_IVALUE(x) (((uint32_t)(((uint32_t)(x)) << MRT_CHANNEL_INTVAL_IVALUE_SHIFT)) & MRT_CHANNEL_INTVAL_IVALUE_MASK)
  5290. #define MRT_CHANNEL_INTVAL_LOAD_MASK (0x80000000U)
  5291. #define MRT_CHANNEL_INTVAL_LOAD_SHIFT (31U)
  5292. #define MRT_CHANNEL_INTVAL_LOAD(x) (((uint32_t)(((uint32_t)(x)) << MRT_CHANNEL_INTVAL_LOAD_SHIFT)) & MRT_CHANNEL_INTVAL_LOAD_MASK)
  5293. /* The count of MRT_CHANNEL_INTVAL */
  5294. #define MRT_CHANNEL_INTVAL_COUNT (4U)
  5295. /*! @name CHANNEL_TIMER - MRT Timer register. This register reads the value of the down-counter. */
  5296. #define MRT_CHANNEL_TIMER_VALUE_MASK (0xFFFFFFU)
  5297. #define MRT_CHANNEL_TIMER_VALUE_SHIFT (0U)
  5298. #define MRT_CHANNEL_TIMER_VALUE(x) (((uint32_t)(((uint32_t)(x)) << MRT_CHANNEL_TIMER_VALUE_SHIFT)) & MRT_CHANNEL_TIMER_VALUE_MASK)
  5299. /* The count of MRT_CHANNEL_TIMER */
  5300. #define MRT_CHANNEL_TIMER_COUNT (4U)
  5301. /*! @name CHANNEL_CTRL - MRT Control register. This register controls the MRT modes. */
  5302. #define MRT_CHANNEL_CTRL_INTEN_MASK (0x1U)
  5303. #define MRT_CHANNEL_CTRL_INTEN_SHIFT (0U)
  5304. #define MRT_CHANNEL_CTRL_INTEN(x) (((uint32_t)(((uint32_t)(x)) << MRT_CHANNEL_CTRL_INTEN_SHIFT)) & MRT_CHANNEL_CTRL_INTEN_MASK)
  5305. #define MRT_CHANNEL_CTRL_MODE_MASK (0x6U)
  5306. #define MRT_CHANNEL_CTRL_MODE_SHIFT (1U)
  5307. #define MRT_CHANNEL_CTRL_MODE(x) (((uint32_t)(((uint32_t)(x)) << MRT_CHANNEL_CTRL_MODE_SHIFT)) & MRT_CHANNEL_CTRL_MODE_MASK)
  5308. /* The count of MRT_CHANNEL_CTRL */
  5309. #define MRT_CHANNEL_CTRL_COUNT (4U)
  5310. /*! @name CHANNEL_STAT - MRT Status register. */
  5311. #define MRT_CHANNEL_STAT_INTFLAG_MASK (0x1U)
  5312. #define MRT_CHANNEL_STAT_INTFLAG_SHIFT (0U)
  5313. #define MRT_CHANNEL_STAT_INTFLAG(x) (((uint32_t)(((uint32_t)(x)) << MRT_CHANNEL_STAT_INTFLAG_SHIFT)) & MRT_CHANNEL_STAT_INTFLAG_MASK)
  5314. #define MRT_CHANNEL_STAT_RUN_MASK (0x2U)
  5315. #define MRT_CHANNEL_STAT_RUN_SHIFT (1U)
  5316. #define MRT_CHANNEL_STAT_RUN(x) (((uint32_t)(((uint32_t)(x)) << MRT_CHANNEL_STAT_RUN_SHIFT)) & MRT_CHANNEL_STAT_RUN_MASK)
  5317. #define MRT_CHANNEL_STAT_INUSE_MASK (0x4U)
  5318. #define MRT_CHANNEL_STAT_INUSE_SHIFT (2U)
  5319. #define MRT_CHANNEL_STAT_INUSE(x) (((uint32_t)(((uint32_t)(x)) << MRT_CHANNEL_STAT_INUSE_SHIFT)) & MRT_CHANNEL_STAT_INUSE_MASK)
  5320. /* The count of MRT_CHANNEL_STAT */
  5321. #define MRT_CHANNEL_STAT_COUNT (4U)
  5322. /*! @name MODCFG - Module Configuration register. This register provides information about this particular MRT instance, and allows choosing an overall mode for the idle channel feature. */
  5323. #define MRT_MODCFG_NOC_MASK (0xFU)
  5324. #define MRT_MODCFG_NOC_SHIFT (0U)
  5325. #define MRT_MODCFG_NOC(x) (((uint32_t)(((uint32_t)(x)) << MRT_MODCFG_NOC_SHIFT)) & MRT_MODCFG_NOC_MASK)
  5326. #define MRT_MODCFG_NOB_MASK (0x1F0U)
  5327. #define MRT_MODCFG_NOB_SHIFT (4U)
  5328. #define MRT_MODCFG_NOB(x) (((uint32_t)(((uint32_t)(x)) << MRT_MODCFG_NOB_SHIFT)) & MRT_MODCFG_NOB_MASK)
  5329. #define MRT_MODCFG_MULTITASK_MASK (0x80000000U)
  5330. #define MRT_MODCFG_MULTITASK_SHIFT (31U)
  5331. #define MRT_MODCFG_MULTITASK(x) (((uint32_t)(((uint32_t)(x)) << MRT_MODCFG_MULTITASK_SHIFT)) & MRT_MODCFG_MULTITASK_MASK)
  5332. /*! @name IDLE_CH - Idle channel register. This register returns the number of the first idle channel. */
  5333. #define MRT_IDLE_CH_CHAN_MASK (0xF0U)
  5334. #define MRT_IDLE_CH_CHAN_SHIFT (4U)
  5335. #define MRT_IDLE_CH_CHAN(x) (((uint32_t)(((uint32_t)(x)) << MRT_IDLE_CH_CHAN_SHIFT)) & MRT_IDLE_CH_CHAN_MASK)
  5336. /*! @name IRQ_FLAG - Global interrupt flag register */
  5337. #define MRT_IRQ_FLAG_GFLAG0_MASK (0x1U)
  5338. #define MRT_IRQ_FLAG_GFLAG0_SHIFT (0U)
  5339. #define MRT_IRQ_FLAG_GFLAG0(x) (((uint32_t)(((uint32_t)(x)) << MRT_IRQ_FLAG_GFLAG0_SHIFT)) & MRT_IRQ_FLAG_GFLAG0_MASK)
  5340. #define MRT_IRQ_FLAG_GFLAG1_MASK (0x2U)
  5341. #define MRT_IRQ_FLAG_GFLAG1_SHIFT (1U)
  5342. #define MRT_IRQ_FLAG_GFLAG1(x) (((uint32_t)(((uint32_t)(x)) << MRT_IRQ_FLAG_GFLAG1_SHIFT)) & MRT_IRQ_FLAG_GFLAG1_MASK)
  5343. #define MRT_IRQ_FLAG_GFLAG2_MASK (0x4U)
  5344. #define MRT_IRQ_FLAG_GFLAG2_SHIFT (2U)
  5345. #define MRT_IRQ_FLAG_GFLAG2(x) (((uint32_t)(((uint32_t)(x)) << MRT_IRQ_FLAG_GFLAG2_SHIFT)) & MRT_IRQ_FLAG_GFLAG2_MASK)
  5346. #define MRT_IRQ_FLAG_GFLAG3_MASK (0x8U)
  5347. #define MRT_IRQ_FLAG_GFLAG3_SHIFT (3U)
  5348. #define MRT_IRQ_FLAG_GFLAG3(x) (((uint32_t)(((uint32_t)(x)) << MRT_IRQ_FLAG_GFLAG3_SHIFT)) & MRT_IRQ_FLAG_GFLAG3_MASK)
  5349. /*!
  5350. * @}
  5351. */ /* end of group MRT_Register_Masks */
  5352. /* MRT - Peripheral instance base addresses */
  5353. /** Peripheral MRT0 base address */
  5354. #define MRT0_BASE (0x4000D000u)
  5355. /** Peripheral MRT0 base pointer */
  5356. #define MRT0 ((MRT_Type *)MRT0_BASE)
  5357. /** Array initializer of MRT peripheral base addresses */
  5358. #define MRT_BASE_ADDRS { MRT0_BASE }
  5359. /** Array initializer of MRT peripheral base pointers */
  5360. #define MRT_BASE_PTRS { MRT0 }
  5361. /** Interrupt vectors for the MRT peripheral type */
  5362. #define MRT_IRQS { MRT0_IRQn }
  5363. /*!
  5364. * @}
  5365. */ /* end of group MRT_Peripheral_Access_Layer */
  5366. /* ----------------------------------------------------------------------------
  5367. -- OTPC Peripheral Access Layer
  5368. ---------------------------------------------------------------------------- */
  5369. /*!
  5370. * @addtogroup OTPC_Peripheral_Access_Layer OTPC Peripheral Access Layer
  5371. * @{
  5372. */
  5373. /** OTPC - Register Layout Typedef */
  5374. typedef struct {
  5375. uint8_t RESERVED_0[16];
  5376. __I uint32_t AESKEY[8]; /**< Register for reading the AES key., array offset: 0x10, array step: 0x4 */
  5377. __I uint32_t ECRP; /**< ECRP options., offset: 0x30 */
  5378. uint8_t RESERVED_1[4];
  5379. __I uint32_t USER0; /**< User application specific options., offset: 0x38 */
  5380. __I uint32_t USER1; /**< User application specific options., offset: 0x3C */
  5381. } OTPC_Type;
  5382. /* ----------------------------------------------------------------------------
  5383. -- OTPC Register Masks
  5384. ---------------------------------------------------------------------------- */
  5385. /*!
  5386. * @addtogroup OTPC_Register_Masks OTPC Register Masks
  5387. * @{
  5388. */
  5389. /*! @name AESKEY - Register for reading the AES key. */
  5390. #define OTPC_AESKEY_KEY_MASK (0xFFFFFFFFU)
  5391. #define OTPC_AESKEY_KEY_SHIFT (0U)
  5392. #define OTPC_AESKEY_KEY(x) (((uint32_t)(((uint32_t)(x)) << OTPC_AESKEY_KEY_SHIFT)) & OTPC_AESKEY_KEY_MASK)
  5393. /* The count of OTPC_AESKEY */
  5394. #define OTPC_AESKEY_COUNT (8U)
  5395. /*! @name ECRP - ECRP options. */
  5396. #define OTPC_ECRP_CRP_MASS_ERASE_DISABLE_MASK (0x10U)
  5397. #define OTPC_ECRP_CRP_MASS_ERASE_DISABLE_SHIFT (4U)
  5398. #define OTPC_ECRP_CRP_MASS_ERASE_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << OTPC_ECRP_CRP_MASS_ERASE_DISABLE_SHIFT)) & OTPC_ECRP_CRP_MASS_ERASE_DISABLE_MASK)
  5399. #define OTPC_ECRP_IAP_PROTECTION_ENABLE_MASK (0x20U)
  5400. #define OTPC_ECRP_IAP_PROTECTION_ENABLE_SHIFT (5U)
  5401. #define OTPC_ECRP_IAP_PROTECTION_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << OTPC_ECRP_IAP_PROTECTION_ENABLE_SHIFT)) & OTPC_ECRP_IAP_PROTECTION_ENABLE_MASK)
  5402. #define OTPC_ECRP_CRP_ISP_DISABLE_PIN_MASK (0x40U)
  5403. #define OTPC_ECRP_CRP_ISP_DISABLE_PIN_SHIFT (6U)
  5404. #define OTPC_ECRP_CRP_ISP_DISABLE_PIN(x) (((uint32_t)(((uint32_t)(x)) << OTPC_ECRP_CRP_ISP_DISABLE_PIN_SHIFT)) & OTPC_ECRP_CRP_ISP_DISABLE_PIN_MASK)
  5405. #define OTPC_ECRP_CRP_ISP_DISABLE_IAP_MASK (0x80U)
  5406. #define OTPC_ECRP_CRP_ISP_DISABLE_IAP_SHIFT (7U)
  5407. #define OTPC_ECRP_CRP_ISP_DISABLE_IAP(x) (((uint32_t)(((uint32_t)(x)) << OTPC_ECRP_CRP_ISP_DISABLE_IAP_SHIFT)) & OTPC_ECRP_CRP_ISP_DISABLE_IAP_MASK)
  5408. #define OTPC_ECRP_CRP_ALLOW_ZERO_MASK (0x200U)
  5409. #define OTPC_ECRP_CRP_ALLOW_ZERO_SHIFT (9U)
  5410. #define OTPC_ECRP_CRP_ALLOW_ZERO(x) (((uint32_t)(((uint32_t)(x)) << OTPC_ECRP_CRP_ALLOW_ZERO_SHIFT)) & OTPC_ECRP_CRP_ALLOW_ZERO_MASK)
  5411. #define OTPC_ECRP_JTAG_DISABLE_MASK (0x80000000U)
  5412. #define OTPC_ECRP_JTAG_DISABLE_SHIFT (31U)
  5413. #define OTPC_ECRP_JTAG_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << OTPC_ECRP_JTAG_DISABLE_SHIFT)) & OTPC_ECRP_JTAG_DISABLE_MASK)
  5414. /*! @name USER0 - User application specific options. */
  5415. #define OTPC_USER0_USER0_MASK (0xFFFFFFFFU)
  5416. #define OTPC_USER0_USER0_SHIFT (0U)
  5417. #define OTPC_USER0_USER0(x) (((uint32_t)(((uint32_t)(x)) << OTPC_USER0_USER0_SHIFT)) & OTPC_USER0_USER0_MASK)
  5418. /*! @name USER1 - User application specific options. */
  5419. #define OTPC_USER1_USER1_MASK (0xFFFFFFFFU)
  5420. #define OTPC_USER1_USER1_SHIFT (0U)
  5421. #define OTPC_USER1_USER1(x) (((uint32_t)(((uint32_t)(x)) << OTPC_USER1_USER1_SHIFT)) & OTPC_USER1_USER1_MASK)
  5422. /*!
  5423. * @}
  5424. */ /* end of group OTPC_Register_Masks */
  5425. /* OTPC - Peripheral instance base addresses */
  5426. /** Peripheral OTPC base address */
  5427. #define OTPC_BASE (0x40015000u)
  5428. /** Peripheral OTPC base pointer */
  5429. #define OTPC ((OTPC_Type *)OTPC_BASE)
  5430. /** Array initializer of OTPC peripheral base addresses */
  5431. #define OTPC_BASE_ADDRS { OTPC_BASE }
  5432. /** Array initializer of OTPC peripheral base pointers */
  5433. #define OTPC_BASE_PTRS { OTPC }
  5434. /*!
  5435. * @}
  5436. */ /* end of group OTPC_Peripheral_Access_Layer */
  5437. /* ----------------------------------------------------------------------------
  5438. -- PINT Peripheral Access Layer
  5439. ---------------------------------------------------------------------------- */
  5440. /*!
  5441. * @addtogroup PINT_Peripheral_Access_Layer PINT Peripheral Access Layer
  5442. * @{
  5443. */
  5444. /** PINT - Register Layout Typedef */
  5445. typedef struct {
  5446. __IO uint32_t ISEL; /**< Pin Interrupt Mode register, offset: 0x0 */
  5447. __IO uint32_t IENR; /**< Pin interrupt level or rising edge interrupt enable register, offset: 0x4 */
  5448. __O uint32_t SIENR; /**< Pin interrupt level or rising edge interrupt set register, offset: 0x8 */
  5449. __O uint32_t CIENR; /**< Pin interrupt level (rising edge interrupt) clear register, offset: 0xC */
  5450. __IO uint32_t IENF; /**< Pin interrupt active level or falling edge interrupt enable register, offset: 0x10 */
  5451. __O uint32_t SIENF; /**< Pin interrupt active level or falling edge interrupt set register, offset: 0x14 */
  5452. __O uint32_t CIENF; /**< Pin interrupt active level or falling edge interrupt clear register, offset: 0x18 */
  5453. __IO uint32_t RISE; /**< Pin interrupt rising edge register, offset: 0x1C */
  5454. __IO uint32_t FALL; /**< Pin interrupt falling edge register, offset: 0x20 */
  5455. __IO uint32_t IST; /**< Pin interrupt status register, offset: 0x24 */
  5456. __IO uint32_t PMCTRL; /**< Pattern match interrupt control register, offset: 0x28 */
  5457. __IO uint32_t PMSRC; /**< Pattern match interrupt bit-slice source register, offset: 0x2C */
  5458. __IO uint32_t PMCFG; /**< Pattern match interrupt bit slice configuration register, offset: 0x30 */
  5459. } PINT_Type;
  5460. /* ----------------------------------------------------------------------------
  5461. -- PINT Register Masks
  5462. ---------------------------------------------------------------------------- */
  5463. /*!
  5464. * @addtogroup PINT_Register_Masks PINT Register Masks
  5465. * @{
  5466. */
  5467. /*! @name ISEL - Pin Interrupt Mode register */
  5468. #define PINT_ISEL_PMODE_MASK (0xFFU)
  5469. #define PINT_ISEL_PMODE_SHIFT (0U)
  5470. #define PINT_ISEL_PMODE(x) (((uint32_t)(((uint32_t)(x)) << PINT_ISEL_PMODE_SHIFT)) & PINT_ISEL_PMODE_MASK)
  5471. /*! @name IENR - Pin interrupt level or rising edge interrupt enable register */
  5472. #define PINT_IENR_ENRL_MASK (0xFFU)
  5473. #define PINT_IENR_ENRL_SHIFT (0U)
  5474. #define PINT_IENR_ENRL(x) (((uint32_t)(((uint32_t)(x)) << PINT_IENR_ENRL_SHIFT)) & PINT_IENR_ENRL_MASK)
  5475. /*! @name SIENR - Pin interrupt level or rising edge interrupt set register */
  5476. #define PINT_SIENR_SETENRL_MASK (0xFFU)
  5477. #define PINT_SIENR_SETENRL_SHIFT (0U)
  5478. #define PINT_SIENR_SETENRL(x) (((uint32_t)(((uint32_t)(x)) << PINT_SIENR_SETENRL_SHIFT)) & PINT_SIENR_SETENRL_MASK)
  5479. /*! @name CIENR - Pin interrupt level (rising edge interrupt) clear register */
  5480. #define PINT_CIENR_CENRL_MASK (0xFFU)
  5481. #define PINT_CIENR_CENRL_SHIFT (0U)
  5482. #define PINT_CIENR_CENRL(x) (((uint32_t)(((uint32_t)(x)) << PINT_CIENR_CENRL_SHIFT)) & PINT_CIENR_CENRL_MASK)
  5483. /*! @name IENF - Pin interrupt active level or falling edge interrupt enable register */
  5484. #define PINT_IENF_ENAF_MASK (0xFFU)
  5485. #define PINT_IENF_ENAF_SHIFT (0U)
  5486. #define PINT_IENF_ENAF(x) (((uint32_t)(((uint32_t)(x)) << PINT_IENF_ENAF_SHIFT)) & PINT_IENF_ENAF_MASK)
  5487. /*! @name SIENF - Pin interrupt active level or falling edge interrupt set register */
  5488. #define PINT_SIENF_SETENAF_MASK (0xFFU)
  5489. #define PINT_SIENF_SETENAF_SHIFT (0U)
  5490. #define PINT_SIENF_SETENAF(x) (((uint32_t)(((uint32_t)(x)) << PINT_SIENF_SETENAF_SHIFT)) & PINT_SIENF_SETENAF_MASK)
  5491. /*! @name CIENF - Pin interrupt active level or falling edge interrupt clear register */
  5492. #define PINT_CIENF_CENAF_MASK (0xFFU)
  5493. #define PINT_CIENF_CENAF_SHIFT (0U)
  5494. #define PINT_CIENF_CENAF(x) (((uint32_t)(((uint32_t)(x)) << PINT_CIENF_CENAF_SHIFT)) & PINT_CIENF_CENAF_MASK)
  5495. /*! @name RISE - Pin interrupt rising edge register */
  5496. #define PINT_RISE_RDET_MASK (0xFFU)
  5497. #define PINT_RISE_RDET_SHIFT (0U)
  5498. #define PINT_RISE_RDET(x) (((uint32_t)(((uint32_t)(x)) << PINT_RISE_RDET_SHIFT)) & PINT_RISE_RDET_MASK)
  5499. /*! @name FALL - Pin interrupt falling edge register */
  5500. #define PINT_FALL_FDET_MASK (0xFFU)
  5501. #define PINT_FALL_FDET_SHIFT (0U)
  5502. #define PINT_FALL_FDET(x) (((uint32_t)(((uint32_t)(x)) << PINT_FALL_FDET_SHIFT)) & PINT_FALL_FDET_MASK)
  5503. /*! @name IST - Pin interrupt status register */
  5504. #define PINT_IST_PSTAT_MASK (0xFFU)
  5505. #define PINT_IST_PSTAT_SHIFT (0U)
  5506. #define PINT_IST_PSTAT(x) (((uint32_t)(((uint32_t)(x)) << PINT_IST_PSTAT_SHIFT)) & PINT_IST_PSTAT_MASK)
  5507. /*! @name PMCTRL - Pattern match interrupt control register */
  5508. #define PINT_PMCTRL_SEL_PMATCH_MASK (0x1U)
  5509. #define PINT_PMCTRL_SEL_PMATCH_SHIFT (0U)
  5510. #define PINT_PMCTRL_SEL_PMATCH(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCTRL_SEL_PMATCH_SHIFT)) & PINT_PMCTRL_SEL_PMATCH_MASK)
  5511. #define PINT_PMCTRL_ENA_RXEV_MASK (0x2U)
  5512. #define PINT_PMCTRL_ENA_RXEV_SHIFT (1U)
  5513. #define PINT_PMCTRL_ENA_RXEV(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCTRL_ENA_RXEV_SHIFT)) & PINT_PMCTRL_ENA_RXEV_MASK)
  5514. #define PINT_PMCTRL_PMAT_MASK (0xFF000000U)
  5515. #define PINT_PMCTRL_PMAT_SHIFT (24U)
  5516. #define PINT_PMCTRL_PMAT(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCTRL_PMAT_SHIFT)) & PINT_PMCTRL_PMAT_MASK)
  5517. /*! @name PMSRC - Pattern match interrupt bit-slice source register */
  5518. #define PINT_PMSRC_SRC0_MASK (0x700U)
  5519. #define PINT_PMSRC_SRC0_SHIFT (8U)
  5520. #define PINT_PMSRC_SRC0(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMSRC_SRC0_SHIFT)) & PINT_PMSRC_SRC0_MASK)
  5521. #define PINT_PMSRC_SRC1_MASK (0x3800U)
  5522. #define PINT_PMSRC_SRC1_SHIFT (11U)
  5523. #define PINT_PMSRC_SRC1(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMSRC_SRC1_SHIFT)) & PINT_PMSRC_SRC1_MASK)
  5524. #define PINT_PMSRC_SRC2_MASK (0x1C000U)
  5525. #define PINT_PMSRC_SRC2_SHIFT (14U)
  5526. #define PINT_PMSRC_SRC2(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMSRC_SRC2_SHIFT)) & PINT_PMSRC_SRC2_MASK)
  5527. #define PINT_PMSRC_SRC3_MASK (0xE0000U)
  5528. #define PINT_PMSRC_SRC3_SHIFT (17U)
  5529. #define PINT_PMSRC_SRC3(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMSRC_SRC3_SHIFT)) & PINT_PMSRC_SRC3_MASK)
  5530. #define PINT_PMSRC_SRC4_MASK (0x700000U)
  5531. #define PINT_PMSRC_SRC4_SHIFT (20U)
  5532. #define PINT_PMSRC_SRC4(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMSRC_SRC4_SHIFT)) & PINT_PMSRC_SRC4_MASK)
  5533. #define PINT_PMSRC_SRC5_MASK (0x3800000U)
  5534. #define PINT_PMSRC_SRC5_SHIFT (23U)
  5535. #define PINT_PMSRC_SRC5(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMSRC_SRC5_SHIFT)) & PINT_PMSRC_SRC5_MASK)
  5536. #define PINT_PMSRC_SRC6_MASK (0x1C000000U)
  5537. #define PINT_PMSRC_SRC6_SHIFT (26U)
  5538. #define PINT_PMSRC_SRC6(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMSRC_SRC6_SHIFT)) & PINT_PMSRC_SRC6_MASK)
  5539. #define PINT_PMSRC_SRC7_MASK (0xE0000000U)
  5540. #define PINT_PMSRC_SRC7_SHIFT (29U)
  5541. #define PINT_PMSRC_SRC7(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMSRC_SRC7_SHIFT)) & PINT_PMSRC_SRC7_MASK)
  5542. /*! @name PMCFG - Pattern match interrupt bit slice configuration register */
  5543. #define PINT_PMCFG_PROD_ENDPTS0_MASK (0x1U)
  5544. #define PINT_PMCFG_PROD_ENDPTS0_SHIFT (0U)
  5545. #define PINT_PMCFG_PROD_ENDPTS0(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_PROD_ENDPTS0_SHIFT)) & PINT_PMCFG_PROD_ENDPTS0_MASK)
  5546. #define PINT_PMCFG_PROD_ENDPTS1_MASK (0x2U)
  5547. #define PINT_PMCFG_PROD_ENDPTS1_SHIFT (1U)
  5548. #define PINT_PMCFG_PROD_ENDPTS1(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_PROD_ENDPTS1_SHIFT)) & PINT_PMCFG_PROD_ENDPTS1_MASK)
  5549. #define PINT_PMCFG_PROD_ENDPTS2_MASK (0x4U)
  5550. #define PINT_PMCFG_PROD_ENDPTS2_SHIFT (2U)
  5551. #define PINT_PMCFG_PROD_ENDPTS2(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_PROD_ENDPTS2_SHIFT)) & PINT_PMCFG_PROD_ENDPTS2_MASK)
  5552. #define PINT_PMCFG_PROD_ENDPTS3_MASK (0x8U)
  5553. #define PINT_PMCFG_PROD_ENDPTS3_SHIFT (3U)
  5554. #define PINT_PMCFG_PROD_ENDPTS3(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_PROD_ENDPTS3_SHIFT)) & PINT_PMCFG_PROD_ENDPTS3_MASK)
  5555. #define PINT_PMCFG_PROD_ENDPTS4_MASK (0x10U)
  5556. #define PINT_PMCFG_PROD_ENDPTS4_SHIFT (4U)
  5557. #define PINT_PMCFG_PROD_ENDPTS4(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_PROD_ENDPTS4_SHIFT)) & PINT_PMCFG_PROD_ENDPTS4_MASK)
  5558. #define PINT_PMCFG_PROD_ENDPTS5_MASK (0x20U)
  5559. #define PINT_PMCFG_PROD_ENDPTS5_SHIFT (5U)
  5560. #define PINT_PMCFG_PROD_ENDPTS5(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_PROD_ENDPTS5_SHIFT)) & PINT_PMCFG_PROD_ENDPTS5_MASK)
  5561. #define PINT_PMCFG_PROD_ENDPTS6_MASK (0x40U)
  5562. #define PINT_PMCFG_PROD_ENDPTS6_SHIFT (6U)
  5563. #define PINT_PMCFG_PROD_ENDPTS6(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_PROD_ENDPTS6_SHIFT)) & PINT_PMCFG_PROD_ENDPTS6_MASK)
  5564. #define PINT_PMCFG_CFG0_MASK (0x700U)
  5565. #define PINT_PMCFG_CFG0_SHIFT (8U)
  5566. #define PINT_PMCFG_CFG0(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_CFG0_SHIFT)) & PINT_PMCFG_CFG0_MASK)
  5567. #define PINT_PMCFG_CFG1_MASK (0x3800U)
  5568. #define PINT_PMCFG_CFG1_SHIFT (11U)
  5569. #define PINT_PMCFG_CFG1(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_CFG1_SHIFT)) & PINT_PMCFG_CFG1_MASK)
  5570. #define PINT_PMCFG_CFG2_MASK (0x1C000U)
  5571. #define PINT_PMCFG_CFG2_SHIFT (14U)
  5572. #define PINT_PMCFG_CFG2(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_CFG2_SHIFT)) & PINT_PMCFG_CFG2_MASK)
  5573. #define PINT_PMCFG_CFG3_MASK (0xE0000U)
  5574. #define PINT_PMCFG_CFG3_SHIFT (17U)
  5575. #define PINT_PMCFG_CFG3(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_CFG3_SHIFT)) & PINT_PMCFG_CFG3_MASK)
  5576. #define PINT_PMCFG_CFG4_MASK (0x700000U)
  5577. #define PINT_PMCFG_CFG4_SHIFT (20U)
  5578. #define PINT_PMCFG_CFG4(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_CFG4_SHIFT)) & PINT_PMCFG_CFG4_MASK)
  5579. #define PINT_PMCFG_CFG5_MASK (0x3800000U)
  5580. #define PINT_PMCFG_CFG5_SHIFT (23U)
  5581. #define PINT_PMCFG_CFG5(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_CFG5_SHIFT)) & PINT_PMCFG_CFG5_MASK)
  5582. #define PINT_PMCFG_CFG6_MASK (0x1C000000U)
  5583. #define PINT_PMCFG_CFG6_SHIFT (26U)
  5584. #define PINT_PMCFG_CFG6(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_CFG6_SHIFT)) & PINT_PMCFG_CFG6_MASK)
  5585. #define PINT_PMCFG_CFG7_MASK (0xE0000000U)
  5586. #define PINT_PMCFG_CFG7_SHIFT (29U)
  5587. #define PINT_PMCFG_CFG7(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_CFG7_SHIFT)) & PINT_PMCFG_CFG7_MASK)
  5588. /*!
  5589. * @}
  5590. */ /* end of group PINT_Register_Masks */
  5591. /* PINT - Peripheral instance base addresses */
  5592. /** Peripheral PINT base address */
  5593. #define PINT_BASE (0x40004000u)
  5594. /** Peripheral PINT base pointer */
  5595. #define PINT ((PINT_Type *)PINT_BASE)
  5596. /** Array initializer of PINT peripheral base addresses */
  5597. #define PINT_BASE_ADDRS { PINT_BASE }
  5598. /** Array initializer of PINT peripheral base pointers */
  5599. #define PINT_BASE_PTRS { PINT }
  5600. /** Interrupt vectors for the PINT peripheral type */
  5601. #define PINT_IRQS { PIN_INT0_IRQn, PIN_INT1_IRQn, PIN_INT2_IRQn, PIN_INT3_IRQn, PIN_INT4_IRQn, PIN_INT5_IRQn, PIN_INT6_IRQn, PIN_INT7_IRQn }
  5602. /*!
  5603. * @}
  5604. */ /* end of group PINT_Peripheral_Access_Layer */
  5605. /* ----------------------------------------------------------------------------
  5606. -- RIT Peripheral Access Layer
  5607. ---------------------------------------------------------------------------- */
  5608. /*!
  5609. * @addtogroup RIT_Peripheral_Access_Layer RIT Peripheral Access Layer
  5610. * @{
  5611. */
  5612. /** RIT - Register Layout Typedef */
  5613. typedef struct {
  5614. __IO uint32_t COMPVAL; /**< Compare value LSB register, offset: 0x0 */
  5615. __IO uint32_t MASK; /**< Mask LSB register, offset: 0x4 */
  5616. __IO uint32_t CTRL; /**< Control register, offset: 0x8 */
  5617. __IO uint32_t COUNTER; /**< Counter LSB register, offset: 0xC */
  5618. __IO uint32_t COMPVAL_H; /**< Compare value MSB register, offset: 0x10 */
  5619. __IO uint32_t MASK_H; /**< Mask MSB register, offset: 0x14 */
  5620. uint8_t RESERVED_0[4];
  5621. __IO uint32_t COUNTER_H; /**< Counter MSB register, offset: 0x1C */
  5622. } RIT_Type;
  5623. /* ----------------------------------------------------------------------------
  5624. -- RIT Register Masks
  5625. ---------------------------------------------------------------------------- */
  5626. /*!
  5627. * @addtogroup RIT_Register_Masks RIT Register Masks
  5628. * @{
  5629. */
  5630. /*! @name COMPVAL - Compare value LSB register */
  5631. #define RIT_COMPVAL_RICOMP_MASK (0xFFFFFFFFU)
  5632. #define RIT_COMPVAL_RICOMP_SHIFT (0U)
  5633. #define RIT_COMPVAL_RICOMP(x) (((uint32_t)(((uint32_t)(x)) << RIT_COMPVAL_RICOMP_SHIFT)) & RIT_COMPVAL_RICOMP_MASK)
  5634. /*! @name MASK - Mask LSB register */
  5635. #define RIT_MASK_RIMASK_MASK (0xFFFFFFFFU)
  5636. #define RIT_MASK_RIMASK_SHIFT (0U)
  5637. #define RIT_MASK_RIMASK(x) (((uint32_t)(((uint32_t)(x)) << RIT_MASK_RIMASK_SHIFT)) & RIT_MASK_RIMASK_MASK)
  5638. /*! @name CTRL - Control register */
  5639. #define RIT_CTRL_RITINT_MASK (0x1U)
  5640. #define RIT_CTRL_RITINT_SHIFT (0U)
  5641. #define RIT_CTRL_RITINT(x) (((uint32_t)(((uint32_t)(x)) << RIT_CTRL_RITINT_SHIFT)) & RIT_CTRL_RITINT_MASK)
  5642. #define RIT_CTRL_RITENCLR_MASK (0x2U)
  5643. #define RIT_CTRL_RITENCLR_SHIFT (1U)
  5644. #define RIT_CTRL_RITENCLR(x) (((uint32_t)(((uint32_t)(x)) << RIT_CTRL_RITENCLR_SHIFT)) & RIT_CTRL_RITENCLR_MASK)
  5645. #define RIT_CTRL_RITENBR_MASK (0x4U)
  5646. #define RIT_CTRL_RITENBR_SHIFT (2U)
  5647. #define RIT_CTRL_RITENBR(x) (((uint32_t)(((uint32_t)(x)) << RIT_CTRL_RITENBR_SHIFT)) & RIT_CTRL_RITENBR_MASK)
  5648. #define RIT_CTRL_RITEN_MASK (0x8U)
  5649. #define RIT_CTRL_RITEN_SHIFT (3U)
  5650. #define RIT_CTRL_RITEN(x) (((uint32_t)(((uint32_t)(x)) << RIT_CTRL_RITEN_SHIFT)) & RIT_CTRL_RITEN_MASK)
  5651. /*! @name COUNTER - Counter LSB register */
  5652. #define RIT_COUNTER_RICOUNTER_MASK (0xFFFFFFFFU)
  5653. #define RIT_COUNTER_RICOUNTER_SHIFT (0U)
  5654. #define RIT_COUNTER_RICOUNTER(x) (((uint32_t)(((uint32_t)(x)) << RIT_COUNTER_RICOUNTER_SHIFT)) & RIT_COUNTER_RICOUNTER_MASK)
  5655. /*! @name COMPVAL_H - Compare value MSB register */
  5656. #define RIT_COMPVAL_H_RICOMP_MASK (0xFFFFU)
  5657. #define RIT_COMPVAL_H_RICOMP_SHIFT (0U)
  5658. #define RIT_COMPVAL_H_RICOMP(x) (((uint32_t)(((uint32_t)(x)) << RIT_COMPVAL_H_RICOMP_SHIFT)) & RIT_COMPVAL_H_RICOMP_MASK)
  5659. /*! @name MASK_H - Mask MSB register */
  5660. #define RIT_MASK_H_RIMASK_MASK (0xFFFFU)
  5661. #define RIT_MASK_H_RIMASK_SHIFT (0U)
  5662. #define RIT_MASK_H_RIMASK(x) (((uint32_t)(((uint32_t)(x)) << RIT_MASK_H_RIMASK_SHIFT)) & RIT_MASK_H_RIMASK_MASK)
  5663. /*! @name COUNTER_H - Counter MSB register */
  5664. #define RIT_COUNTER_H_RICOUNTER_MASK (0xFFFFU)
  5665. #define RIT_COUNTER_H_RICOUNTER_SHIFT (0U)
  5666. #define RIT_COUNTER_H_RICOUNTER(x) (((uint32_t)(((uint32_t)(x)) << RIT_COUNTER_H_RICOUNTER_SHIFT)) & RIT_COUNTER_H_RICOUNTER_MASK)
  5667. /*!
  5668. * @}
  5669. */ /* end of group RIT_Register_Masks */
  5670. /* RIT - Peripheral instance base addresses */
  5671. /** Peripheral RIT base address */
  5672. #define RIT_BASE (0x4002D000u)
  5673. /** Peripheral RIT base pointer */
  5674. #define RIT ((RIT_Type *)RIT_BASE)
  5675. /** Array initializer of RIT peripheral base addresses */
  5676. #define RIT_BASE_ADDRS { RIT_BASE }
  5677. /** Array initializer of RIT peripheral base pointers */
  5678. #define RIT_BASE_PTRS { RIT }
  5679. /** Interrupt vectors for the RIT peripheral type */
  5680. #define RIT_IRQS { RIT_IRQn }
  5681. /*!
  5682. * @}
  5683. */ /* end of group RIT_Peripheral_Access_Layer */
  5684. /* ----------------------------------------------------------------------------
  5685. -- RTC Peripheral Access Layer
  5686. ---------------------------------------------------------------------------- */
  5687. /*!
  5688. * @addtogroup RTC_Peripheral_Access_Layer RTC Peripheral Access Layer
  5689. * @{
  5690. */
  5691. /** RTC - Register Layout Typedef */
  5692. typedef struct {
  5693. __IO uint32_t CTRL; /**< RTC control register, offset: 0x0 */
  5694. __IO uint32_t MATCH; /**< RTC match register, offset: 0x4 */
  5695. __IO uint32_t COUNT; /**< RTC counter register, offset: 0x8 */
  5696. __IO uint32_t WAKE; /**< High-resolution/wake-up timer control register, offset: 0xC */
  5697. uint8_t RESERVED_0[48];
  5698. __IO uint32_t GPREG[8]; /**< General Purpose register, array offset: 0x40, array step: 0x4 */
  5699. } RTC_Type;
  5700. /* ----------------------------------------------------------------------------
  5701. -- RTC Register Masks
  5702. ---------------------------------------------------------------------------- */
  5703. /*!
  5704. * @addtogroup RTC_Register_Masks RTC Register Masks
  5705. * @{
  5706. */
  5707. /*! @name CTRL - RTC control register */
  5708. #define RTC_CTRL_SWRESET_MASK (0x1U)
  5709. #define RTC_CTRL_SWRESET_SHIFT (0U)
  5710. #define RTC_CTRL_SWRESET(x) (((uint32_t)(((uint32_t)(x)) << RTC_CTRL_SWRESET_SHIFT)) & RTC_CTRL_SWRESET_MASK)
  5711. #define RTC_CTRL_ALARM1HZ_MASK (0x4U)
  5712. #define RTC_CTRL_ALARM1HZ_SHIFT (2U)
  5713. #define RTC_CTRL_ALARM1HZ(x) (((uint32_t)(((uint32_t)(x)) << RTC_CTRL_ALARM1HZ_SHIFT)) & RTC_CTRL_ALARM1HZ_MASK)
  5714. #define RTC_CTRL_WAKE1KHZ_MASK (0x8U)
  5715. #define RTC_CTRL_WAKE1KHZ_SHIFT (3U)
  5716. #define RTC_CTRL_WAKE1KHZ(x) (((uint32_t)(((uint32_t)(x)) << RTC_CTRL_WAKE1KHZ_SHIFT)) & RTC_CTRL_WAKE1KHZ_MASK)
  5717. #define RTC_CTRL_ALARMDPD_EN_MASK (0x10U)
  5718. #define RTC_CTRL_ALARMDPD_EN_SHIFT (4U)
  5719. #define RTC_CTRL_ALARMDPD_EN(x) (((uint32_t)(((uint32_t)(x)) << RTC_CTRL_ALARMDPD_EN_SHIFT)) & RTC_CTRL_ALARMDPD_EN_MASK)
  5720. #define RTC_CTRL_WAKEDPD_EN_MASK (0x20U)
  5721. #define RTC_CTRL_WAKEDPD_EN_SHIFT (5U)
  5722. #define RTC_CTRL_WAKEDPD_EN(x) (((uint32_t)(((uint32_t)(x)) << RTC_CTRL_WAKEDPD_EN_SHIFT)) & RTC_CTRL_WAKEDPD_EN_MASK)
  5723. #define RTC_CTRL_RTC1KHZ_EN_MASK (0x40U)
  5724. #define RTC_CTRL_RTC1KHZ_EN_SHIFT (6U)
  5725. #define RTC_CTRL_RTC1KHZ_EN(x) (((uint32_t)(((uint32_t)(x)) << RTC_CTRL_RTC1KHZ_EN_SHIFT)) & RTC_CTRL_RTC1KHZ_EN_MASK)
  5726. #define RTC_CTRL_RTC_EN_MASK (0x80U)
  5727. #define RTC_CTRL_RTC_EN_SHIFT (7U)
  5728. #define RTC_CTRL_RTC_EN(x) (((uint32_t)(((uint32_t)(x)) << RTC_CTRL_RTC_EN_SHIFT)) & RTC_CTRL_RTC_EN_MASK)
  5729. #define RTC_CTRL_RTC_OSC_PD_MASK (0x100U)
  5730. #define RTC_CTRL_RTC_OSC_PD_SHIFT (8U)
  5731. #define RTC_CTRL_RTC_OSC_PD(x) (((uint32_t)(((uint32_t)(x)) << RTC_CTRL_RTC_OSC_PD_SHIFT)) & RTC_CTRL_RTC_OSC_PD_MASK)
  5732. /*! @name MATCH - RTC match register */
  5733. #define RTC_MATCH_MATVAL_MASK (0xFFFFFFFFU)
  5734. #define RTC_MATCH_MATVAL_SHIFT (0U)
  5735. #define RTC_MATCH_MATVAL(x) (((uint32_t)(((uint32_t)(x)) << RTC_MATCH_MATVAL_SHIFT)) & RTC_MATCH_MATVAL_MASK)
  5736. /*! @name COUNT - RTC counter register */
  5737. #define RTC_COUNT_VAL_MASK (0xFFFFFFFFU)
  5738. #define RTC_COUNT_VAL_SHIFT (0U)
  5739. #define RTC_COUNT_VAL(x) (((uint32_t)(((uint32_t)(x)) << RTC_COUNT_VAL_SHIFT)) & RTC_COUNT_VAL_MASK)
  5740. /*! @name WAKE - High-resolution/wake-up timer control register */
  5741. #define RTC_WAKE_VAL_MASK (0xFFFFU)
  5742. #define RTC_WAKE_VAL_SHIFT (0U)
  5743. #define RTC_WAKE_VAL(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAKE_VAL_SHIFT)) & RTC_WAKE_VAL_MASK)
  5744. /*! @name GPREG - General Purpose register */
  5745. #define RTC_GPREG_GPDATA_MASK (0xFFFFFFFFU)
  5746. #define RTC_GPREG_GPDATA_SHIFT (0U)
  5747. #define RTC_GPREG_GPDATA(x) (((uint32_t)(((uint32_t)(x)) << RTC_GPREG_GPDATA_SHIFT)) & RTC_GPREG_GPDATA_MASK)
  5748. /* The count of RTC_GPREG */
  5749. #define RTC_GPREG_COUNT (8U)
  5750. /*!
  5751. * @}
  5752. */ /* end of group RTC_Register_Masks */
  5753. /* RTC - Peripheral instance base addresses */
  5754. /** Peripheral RTC base address */
  5755. #define RTC_BASE (0x4002C000u)
  5756. /** Peripheral RTC base pointer */
  5757. #define RTC ((RTC_Type *)RTC_BASE)
  5758. /** Array initializer of RTC peripheral base addresses */
  5759. #define RTC_BASE_ADDRS { RTC_BASE }
  5760. /** Array initializer of RTC peripheral base pointers */
  5761. #define RTC_BASE_PTRS { RTC }
  5762. /** Interrupt vectors for the RTC peripheral type */
  5763. #define RTC_IRQS { RTC_IRQn }
  5764. /*!
  5765. * @}
  5766. */ /* end of group RTC_Peripheral_Access_Layer */
  5767. /* ----------------------------------------------------------------------------
  5768. -- SCT Peripheral Access Layer
  5769. ---------------------------------------------------------------------------- */
  5770. /*!
  5771. * @addtogroup SCT_Peripheral_Access_Layer SCT Peripheral Access Layer
  5772. * @{
  5773. */
  5774. /** SCT - Register Layout Typedef */
  5775. typedef struct {
  5776. __IO uint32_t CONFIG; /**< SCT configuration register, offset: 0x0 */
  5777. __IO uint32_t CTRL; /**< SCT control register, offset: 0x4 */
  5778. __IO uint32_t LIMIT; /**< SCT limit event select register, offset: 0x8 */
  5779. __IO uint32_t HALT; /**< SCT halt event select register, offset: 0xC */
  5780. __IO uint32_t STOP; /**< SCT stop event select register, offset: 0x10 */
  5781. __IO uint32_t START; /**< SCT start event select register, offset: 0x14 */
  5782. uint8_t RESERVED_0[40];
  5783. __IO uint32_t COUNT; /**< SCT counter register, offset: 0x40 */
  5784. __IO uint32_t STATE; /**< SCT state register, offset: 0x44 */
  5785. __I uint32_t INPUT; /**< SCT input register, offset: 0x48 */
  5786. __IO uint32_t REGMODE; /**< SCT match/capture mode register, offset: 0x4C */
  5787. __IO uint32_t OUTPUT; /**< SCT output register, offset: 0x50 */
  5788. __IO uint32_t OUTPUTDIRCTRL; /**< SCT output counter direction control register, offset: 0x54 */
  5789. __IO uint32_t RES; /**< SCT conflict resolution register, offset: 0x58 */
  5790. __IO uint32_t DMA0REQUEST; /**< SCT DMA request 0 register, offset: 0x5C */
  5791. __IO uint32_t DMA1REQUEST; /**< SCT DMA request 1 register, offset: 0x60 */
  5792. uint8_t RESERVED_1[140];
  5793. __IO uint32_t EVEN; /**< SCT event interrupt enable register, offset: 0xF0 */
  5794. __IO uint32_t EVFLAG; /**< SCT event flag register, offset: 0xF4 */
  5795. __IO uint32_t CONEN; /**< SCT conflict interrupt enable register, offset: 0xF8 */
  5796. __IO uint32_t CONFLAG; /**< SCT conflict flag register, offset: 0xFC */
  5797. union { /* offset: 0x100 */
  5798. __IO uint32_t SCTCAP[10]; /**< SCT capture register of capture channel, array offset: 0x100, array step: 0x4 */
  5799. __IO uint32_t SCTMATCH[10]; /**< SCT match value register of match channels, array offset: 0x100, array step: 0x4 */
  5800. };
  5801. uint8_t RESERVED_2[216];
  5802. union { /* offset: 0x200 */
  5803. __IO uint32_t SCTCAPCTRL[10]; /**< SCT capture control register, array offset: 0x200, array step: 0x4 */
  5804. __IO uint32_t SCTMATCHREL[10]; /**< SCT match reload value register, array offset: 0x200, array step: 0x4 */
  5805. };
  5806. uint8_t RESERVED_3[216];
  5807. struct { /* offset: 0x300, array step: 0x8 */
  5808. __IO uint32_t STATE; /**< SCT event state register 0, array offset: 0x300, array step: 0x8 */
  5809. __IO uint32_t CTRL; /**< SCT event control register 0, array offset: 0x304, array step: 0x8 */
  5810. } EVENT[10];
  5811. uint8_t RESERVED_4[432];
  5812. struct { /* offset: 0x500, array step: 0x8 */
  5813. __IO uint32_t SET; /**< SCT output 0 set register, array offset: 0x500, array step: 0x8 */
  5814. __IO uint32_t CLR; /**< SCT output 0 clear register, array offset: 0x504, array step: 0x8 */
  5815. } OUT[10];
  5816. } SCT_Type;
  5817. /* ----------------------------------------------------------------------------
  5818. -- SCT Register Masks
  5819. ---------------------------------------------------------------------------- */
  5820. /*!
  5821. * @addtogroup SCT_Register_Masks SCT Register Masks
  5822. * @{
  5823. */
  5824. /*! @name CONFIG - SCT configuration register */
  5825. #define SCT_CONFIG_UNIFY_MASK (0x1U)
  5826. #define SCT_CONFIG_UNIFY_SHIFT (0U)
  5827. #define SCT_CONFIG_UNIFY(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFIG_UNIFY_SHIFT)) & SCT_CONFIG_UNIFY_MASK)
  5828. #define SCT_CONFIG_CLKMODE_MASK (0x6U)
  5829. #define SCT_CONFIG_CLKMODE_SHIFT (1U)
  5830. #define SCT_CONFIG_CLKMODE(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFIG_CLKMODE_SHIFT)) & SCT_CONFIG_CLKMODE_MASK)
  5831. #define SCT_CONFIG_CKSEL_MASK (0x78U)
  5832. #define SCT_CONFIG_CKSEL_SHIFT (3U)
  5833. #define SCT_CONFIG_CKSEL(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFIG_CKSEL_SHIFT)) & SCT_CONFIG_CKSEL_MASK)
  5834. #define SCT_CONFIG_NORELAOD_L_MASK (0x80U)
  5835. #define SCT_CONFIG_NORELAOD_L_SHIFT (7U)
  5836. #define SCT_CONFIG_NORELAOD_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFIG_NORELAOD_L_SHIFT)) & SCT_CONFIG_NORELAOD_L_MASK)
  5837. #define SCT_CONFIG_NORELOAD_H_MASK (0x100U)
  5838. #define SCT_CONFIG_NORELOAD_H_SHIFT (8U)
  5839. #define SCT_CONFIG_NORELOAD_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFIG_NORELOAD_H_SHIFT)) & SCT_CONFIG_NORELOAD_H_MASK)
  5840. #define SCT_CONFIG_INSYNC_MASK (0x1E00U)
  5841. #define SCT_CONFIG_INSYNC_SHIFT (9U)
  5842. #define SCT_CONFIG_INSYNC(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFIG_INSYNC_SHIFT)) & SCT_CONFIG_INSYNC_MASK)
  5843. #define SCT_CONFIG_AUTOLIMIT_L_MASK (0x20000U)
  5844. #define SCT_CONFIG_AUTOLIMIT_L_SHIFT (17U)
  5845. #define SCT_CONFIG_AUTOLIMIT_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFIG_AUTOLIMIT_L_SHIFT)) & SCT_CONFIG_AUTOLIMIT_L_MASK)
  5846. #define SCT_CONFIG_AUTOLIMIT_H_MASK (0x40000U)
  5847. #define SCT_CONFIG_AUTOLIMIT_H_SHIFT (18U)
  5848. #define SCT_CONFIG_AUTOLIMIT_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFIG_AUTOLIMIT_H_SHIFT)) & SCT_CONFIG_AUTOLIMIT_H_MASK)
  5849. /*! @name CTRL - SCT control register */
  5850. #define SCT_CTRL_DOWN_L_MASK (0x1U)
  5851. #define SCT_CTRL_DOWN_L_SHIFT (0U)
  5852. #define SCT_CTRL_DOWN_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_DOWN_L_SHIFT)) & SCT_CTRL_DOWN_L_MASK)
  5853. #define SCT_CTRL_STOP_L_MASK (0x2U)
  5854. #define SCT_CTRL_STOP_L_SHIFT (1U)
  5855. #define SCT_CTRL_STOP_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_STOP_L_SHIFT)) & SCT_CTRL_STOP_L_MASK)
  5856. #define SCT_CTRL_HALT_L_MASK (0x4U)
  5857. #define SCT_CTRL_HALT_L_SHIFT (2U)
  5858. #define SCT_CTRL_HALT_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_HALT_L_SHIFT)) & SCT_CTRL_HALT_L_MASK)
  5859. #define SCT_CTRL_CLRCTR_L_MASK (0x8U)
  5860. #define SCT_CTRL_CLRCTR_L_SHIFT (3U)
  5861. #define SCT_CTRL_CLRCTR_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_CLRCTR_L_SHIFT)) & SCT_CTRL_CLRCTR_L_MASK)
  5862. #define SCT_CTRL_BIDIR_L_MASK (0x10U)
  5863. #define SCT_CTRL_BIDIR_L_SHIFT (4U)
  5864. #define SCT_CTRL_BIDIR_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_BIDIR_L_SHIFT)) & SCT_CTRL_BIDIR_L_MASK)
  5865. #define SCT_CTRL_PRE_L_MASK (0x1FE0U)
  5866. #define SCT_CTRL_PRE_L_SHIFT (5U)
  5867. #define SCT_CTRL_PRE_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_PRE_L_SHIFT)) & SCT_CTRL_PRE_L_MASK)
  5868. #define SCT_CTRL_DOWN_H_MASK (0x10000U)
  5869. #define SCT_CTRL_DOWN_H_SHIFT (16U)
  5870. #define SCT_CTRL_DOWN_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_DOWN_H_SHIFT)) & SCT_CTRL_DOWN_H_MASK)
  5871. #define SCT_CTRL_STOP_H_MASK (0x20000U)
  5872. #define SCT_CTRL_STOP_H_SHIFT (17U)
  5873. #define SCT_CTRL_STOP_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_STOP_H_SHIFT)) & SCT_CTRL_STOP_H_MASK)
  5874. #define SCT_CTRL_HALT_H_MASK (0x40000U)
  5875. #define SCT_CTRL_HALT_H_SHIFT (18U)
  5876. #define SCT_CTRL_HALT_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_HALT_H_SHIFT)) & SCT_CTRL_HALT_H_MASK)
  5877. #define SCT_CTRL_CLRCTR_H_MASK (0x80000U)
  5878. #define SCT_CTRL_CLRCTR_H_SHIFT (19U)
  5879. #define SCT_CTRL_CLRCTR_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_CLRCTR_H_SHIFT)) & SCT_CTRL_CLRCTR_H_MASK)
  5880. #define SCT_CTRL_BIDIR_H_MASK (0x100000U)
  5881. #define SCT_CTRL_BIDIR_H_SHIFT (20U)
  5882. #define SCT_CTRL_BIDIR_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_BIDIR_H_SHIFT)) & SCT_CTRL_BIDIR_H_MASK)
  5883. #define SCT_CTRL_PRE_H_MASK (0x1FE00000U)
  5884. #define SCT_CTRL_PRE_H_SHIFT (21U)
  5885. #define SCT_CTRL_PRE_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_PRE_H_SHIFT)) & SCT_CTRL_PRE_H_MASK)
  5886. /*! @name LIMIT - SCT limit event select register */
  5887. #define SCT_LIMIT_LIMMSK_L_MASK (0xFFFFU)
  5888. #define SCT_LIMIT_LIMMSK_L_SHIFT (0U)
  5889. #define SCT_LIMIT_LIMMSK_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_LIMIT_LIMMSK_L_SHIFT)) & SCT_LIMIT_LIMMSK_L_MASK)
  5890. #define SCT_LIMIT_LIMMSK_H_MASK (0xFFFF0000U)
  5891. #define SCT_LIMIT_LIMMSK_H_SHIFT (16U)
  5892. #define SCT_LIMIT_LIMMSK_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_LIMIT_LIMMSK_H_SHIFT)) & SCT_LIMIT_LIMMSK_H_MASK)
  5893. /*! @name HALT - SCT halt event select register */
  5894. #define SCT_HALT_HALTMSK_L_MASK (0xFFFFU)
  5895. #define SCT_HALT_HALTMSK_L_SHIFT (0U)
  5896. #define SCT_HALT_HALTMSK_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_HALT_HALTMSK_L_SHIFT)) & SCT_HALT_HALTMSK_L_MASK)
  5897. #define SCT_HALT_HALTMSK_H_MASK (0xFFFF0000U)
  5898. #define SCT_HALT_HALTMSK_H_SHIFT (16U)
  5899. #define SCT_HALT_HALTMSK_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_HALT_HALTMSK_H_SHIFT)) & SCT_HALT_HALTMSK_H_MASK)
  5900. /*! @name STOP - SCT stop event select register */
  5901. #define SCT_STOP_STOPMSK_L_MASK (0xFFFFU)
  5902. #define SCT_STOP_STOPMSK_L_SHIFT (0U)
  5903. #define SCT_STOP_STOPMSK_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_STOP_STOPMSK_L_SHIFT)) & SCT_STOP_STOPMSK_L_MASK)
  5904. #define SCT_STOP_STOPMSK_H_MASK (0xFFFF0000U)
  5905. #define SCT_STOP_STOPMSK_H_SHIFT (16U)
  5906. #define SCT_STOP_STOPMSK_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_STOP_STOPMSK_H_SHIFT)) & SCT_STOP_STOPMSK_H_MASK)
  5907. /*! @name START - SCT start event select register */
  5908. #define SCT_START_STARTMSK_L_MASK (0xFFFFU)
  5909. #define SCT_START_STARTMSK_L_SHIFT (0U)
  5910. #define SCT_START_STARTMSK_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_START_STARTMSK_L_SHIFT)) & SCT_START_STARTMSK_L_MASK)
  5911. #define SCT_START_STARTMSK_H_MASK (0xFFFF0000U)
  5912. #define SCT_START_STARTMSK_H_SHIFT (16U)
  5913. #define SCT_START_STARTMSK_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_START_STARTMSK_H_SHIFT)) & SCT_START_STARTMSK_H_MASK)
  5914. /*! @name COUNT - SCT counter register */
  5915. #define SCT_COUNT_CTR_L_MASK (0xFFFFU)
  5916. #define SCT_COUNT_CTR_L_SHIFT (0U)
  5917. #define SCT_COUNT_CTR_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_COUNT_CTR_L_SHIFT)) & SCT_COUNT_CTR_L_MASK)
  5918. #define SCT_COUNT_CTR_H_MASK (0xFFFF0000U)
  5919. #define SCT_COUNT_CTR_H_SHIFT (16U)
  5920. #define SCT_COUNT_CTR_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_COUNT_CTR_H_SHIFT)) & SCT_COUNT_CTR_H_MASK)
  5921. /*! @name STATE - SCT state register */
  5922. #define SCT_STATE_STATE_L_MASK (0x1FU)
  5923. #define SCT_STATE_STATE_L_SHIFT (0U)
  5924. #define SCT_STATE_STATE_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_STATE_STATE_L_SHIFT)) & SCT_STATE_STATE_L_MASK)
  5925. #define SCT_STATE_STATE_H_MASK (0x1F0000U)
  5926. #define SCT_STATE_STATE_H_SHIFT (16U)
  5927. #define SCT_STATE_STATE_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_STATE_STATE_H_SHIFT)) & SCT_STATE_STATE_H_MASK)
  5928. /*! @name INPUT - SCT input register */
  5929. #define SCT_INPUT_AIN0_MASK (0x1U)
  5930. #define SCT_INPUT_AIN0_SHIFT (0U)
  5931. #define SCT_INPUT_AIN0(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN0_SHIFT)) & SCT_INPUT_AIN0_MASK)
  5932. #define SCT_INPUT_AIN1_MASK (0x2U)
  5933. #define SCT_INPUT_AIN1_SHIFT (1U)
  5934. #define SCT_INPUT_AIN1(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN1_SHIFT)) & SCT_INPUT_AIN1_MASK)
  5935. #define SCT_INPUT_AIN2_MASK (0x4U)
  5936. #define SCT_INPUT_AIN2_SHIFT (2U)
  5937. #define SCT_INPUT_AIN2(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN2_SHIFT)) & SCT_INPUT_AIN2_MASK)
  5938. #define SCT_INPUT_AIN3_MASK (0x8U)
  5939. #define SCT_INPUT_AIN3_SHIFT (3U)
  5940. #define SCT_INPUT_AIN3(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN3_SHIFT)) & SCT_INPUT_AIN3_MASK)
  5941. #define SCT_INPUT_AIN4_MASK (0x10U)
  5942. #define SCT_INPUT_AIN4_SHIFT (4U)
  5943. #define SCT_INPUT_AIN4(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN4_SHIFT)) & SCT_INPUT_AIN4_MASK)
  5944. #define SCT_INPUT_AIN5_MASK (0x20U)
  5945. #define SCT_INPUT_AIN5_SHIFT (5U)
  5946. #define SCT_INPUT_AIN5(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN5_SHIFT)) & SCT_INPUT_AIN5_MASK)
  5947. #define SCT_INPUT_AIN6_MASK (0x40U)
  5948. #define SCT_INPUT_AIN6_SHIFT (6U)
  5949. #define SCT_INPUT_AIN6(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN6_SHIFT)) & SCT_INPUT_AIN6_MASK)
  5950. #define SCT_INPUT_AIN7_MASK (0x80U)
  5951. #define SCT_INPUT_AIN7_SHIFT (7U)
  5952. #define SCT_INPUT_AIN7(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN7_SHIFT)) & SCT_INPUT_AIN7_MASK)
  5953. #define SCT_INPUT_AIN8_MASK (0x100U)
  5954. #define SCT_INPUT_AIN8_SHIFT (8U)
  5955. #define SCT_INPUT_AIN8(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN8_SHIFT)) & SCT_INPUT_AIN8_MASK)
  5956. #define SCT_INPUT_AIN9_MASK (0x200U)
  5957. #define SCT_INPUT_AIN9_SHIFT (9U)
  5958. #define SCT_INPUT_AIN9(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN9_SHIFT)) & SCT_INPUT_AIN9_MASK)
  5959. #define SCT_INPUT_AIN10_MASK (0x400U)
  5960. #define SCT_INPUT_AIN10_SHIFT (10U)
  5961. #define SCT_INPUT_AIN10(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN10_SHIFT)) & SCT_INPUT_AIN10_MASK)
  5962. #define SCT_INPUT_AIN11_MASK (0x800U)
  5963. #define SCT_INPUT_AIN11_SHIFT (11U)
  5964. #define SCT_INPUT_AIN11(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN11_SHIFT)) & SCT_INPUT_AIN11_MASK)
  5965. #define SCT_INPUT_AIN12_MASK (0x1000U)
  5966. #define SCT_INPUT_AIN12_SHIFT (12U)
  5967. #define SCT_INPUT_AIN12(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN12_SHIFT)) & SCT_INPUT_AIN12_MASK)
  5968. #define SCT_INPUT_AIN13_MASK (0x2000U)
  5969. #define SCT_INPUT_AIN13_SHIFT (13U)
  5970. #define SCT_INPUT_AIN13(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN13_SHIFT)) & SCT_INPUT_AIN13_MASK)
  5971. #define SCT_INPUT_AIN14_MASK (0x4000U)
  5972. #define SCT_INPUT_AIN14_SHIFT (14U)
  5973. #define SCT_INPUT_AIN14(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN14_SHIFT)) & SCT_INPUT_AIN14_MASK)
  5974. #define SCT_INPUT_AIN15_MASK (0x8000U)
  5975. #define SCT_INPUT_AIN15_SHIFT (15U)
  5976. #define SCT_INPUT_AIN15(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN15_SHIFT)) & SCT_INPUT_AIN15_MASK)
  5977. #define SCT_INPUT_SIN0_MASK (0x10000U)
  5978. #define SCT_INPUT_SIN0_SHIFT (16U)
  5979. #define SCT_INPUT_SIN0(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN0_SHIFT)) & SCT_INPUT_SIN0_MASK)
  5980. #define SCT_INPUT_SIN1_MASK (0x20000U)
  5981. #define SCT_INPUT_SIN1_SHIFT (17U)
  5982. #define SCT_INPUT_SIN1(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN1_SHIFT)) & SCT_INPUT_SIN1_MASK)
  5983. #define SCT_INPUT_SIN2_MASK (0x40000U)
  5984. #define SCT_INPUT_SIN2_SHIFT (18U)
  5985. #define SCT_INPUT_SIN2(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN2_SHIFT)) & SCT_INPUT_SIN2_MASK)
  5986. #define SCT_INPUT_SIN3_MASK (0x80000U)
  5987. #define SCT_INPUT_SIN3_SHIFT (19U)
  5988. #define SCT_INPUT_SIN3(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN3_SHIFT)) & SCT_INPUT_SIN3_MASK)
  5989. #define SCT_INPUT_SIN4_MASK (0x100000U)
  5990. #define SCT_INPUT_SIN4_SHIFT (20U)
  5991. #define SCT_INPUT_SIN4(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN4_SHIFT)) & SCT_INPUT_SIN4_MASK)
  5992. #define SCT_INPUT_SIN5_MASK (0x200000U)
  5993. #define SCT_INPUT_SIN5_SHIFT (21U)
  5994. #define SCT_INPUT_SIN5(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN5_SHIFT)) & SCT_INPUT_SIN5_MASK)
  5995. #define SCT_INPUT_SIN6_MASK (0x400000U)
  5996. #define SCT_INPUT_SIN6_SHIFT (22U)
  5997. #define SCT_INPUT_SIN6(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN6_SHIFT)) & SCT_INPUT_SIN6_MASK)
  5998. #define SCT_INPUT_SIN7_MASK (0x800000U)
  5999. #define SCT_INPUT_SIN7_SHIFT (23U)
  6000. #define SCT_INPUT_SIN7(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN7_SHIFT)) & SCT_INPUT_SIN7_MASK)
  6001. #define SCT_INPUT_SIN8_MASK (0x1000000U)
  6002. #define SCT_INPUT_SIN8_SHIFT (24U)
  6003. #define SCT_INPUT_SIN8(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN8_SHIFT)) & SCT_INPUT_SIN8_MASK)
  6004. #define SCT_INPUT_SIN9_MASK (0x2000000U)
  6005. #define SCT_INPUT_SIN9_SHIFT (25U)
  6006. #define SCT_INPUT_SIN9(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN9_SHIFT)) & SCT_INPUT_SIN9_MASK)
  6007. #define SCT_INPUT_SIN10_MASK (0x4000000U)
  6008. #define SCT_INPUT_SIN10_SHIFT (26U)
  6009. #define SCT_INPUT_SIN10(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN10_SHIFT)) & SCT_INPUT_SIN10_MASK)
  6010. #define SCT_INPUT_SIN11_MASK (0x8000000U)
  6011. #define SCT_INPUT_SIN11_SHIFT (27U)
  6012. #define SCT_INPUT_SIN11(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN11_SHIFT)) & SCT_INPUT_SIN11_MASK)
  6013. #define SCT_INPUT_SIN12_MASK (0x10000000U)
  6014. #define SCT_INPUT_SIN12_SHIFT (28U)
  6015. #define SCT_INPUT_SIN12(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN12_SHIFT)) & SCT_INPUT_SIN12_MASK)
  6016. #define SCT_INPUT_SIN13_MASK (0x20000000U)
  6017. #define SCT_INPUT_SIN13_SHIFT (29U)
  6018. #define SCT_INPUT_SIN13(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN13_SHIFT)) & SCT_INPUT_SIN13_MASK)
  6019. #define SCT_INPUT_SIN14_MASK (0x40000000U)
  6020. #define SCT_INPUT_SIN14_SHIFT (30U)
  6021. #define SCT_INPUT_SIN14(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN14_SHIFT)) & SCT_INPUT_SIN14_MASK)
  6022. #define SCT_INPUT_SIN15_MASK (0x80000000U)
  6023. #define SCT_INPUT_SIN15_SHIFT (31U)
  6024. #define SCT_INPUT_SIN15(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN15_SHIFT)) & SCT_INPUT_SIN15_MASK)
  6025. /*! @name REGMODE - SCT match/capture mode register */
  6026. #define SCT_REGMODE_REGMOD_L_MASK (0xFFFFU)
  6027. #define SCT_REGMODE_REGMOD_L_SHIFT (0U)
  6028. #define SCT_REGMODE_REGMOD_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_REGMODE_REGMOD_L_SHIFT)) & SCT_REGMODE_REGMOD_L_MASK)
  6029. #define SCT_REGMODE_REGMOD_H_MASK (0xFFFF0000U)
  6030. #define SCT_REGMODE_REGMOD_H_SHIFT (16U)
  6031. #define SCT_REGMODE_REGMOD_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_REGMODE_REGMOD_H_SHIFT)) & SCT_REGMODE_REGMOD_H_MASK)
  6032. /*! @name OUTPUT - SCT output register */
  6033. #define SCT_OUTPUT_OUT_MASK (0xFFFFU)
  6034. #define SCT_OUTPUT_OUT_SHIFT (0U)
  6035. #define SCT_OUTPUT_OUT(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUT_OUT_SHIFT)) & SCT_OUTPUT_OUT_MASK)
  6036. /*! @name OUTPUTDIRCTRL - SCT output counter direction control register */
  6037. #define SCT_OUTPUTDIRCTRL_SETCLR0_MASK (0x3U)
  6038. #define SCT_OUTPUTDIRCTRL_SETCLR0_SHIFT (0U)
  6039. #define SCT_OUTPUTDIRCTRL_SETCLR0(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR0_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR0_MASK)
  6040. #define SCT_OUTPUTDIRCTRL_SETCLR1_MASK (0xCU)
  6041. #define SCT_OUTPUTDIRCTRL_SETCLR1_SHIFT (2U)
  6042. #define SCT_OUTPUTDIRCTRL_SETCLR1(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR1_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR1_MASK)
  6043. #define SCT_OUTPUTDIRCTRL_SETCLR2_MASK (0x30U)
  6044. #define SCT_OUTPUTDIRCTRL_SETCLR2_SHIFT (4U)
  6045. #define SCT_OUTPUTDIRCTRL_SETCLR2(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR2_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR2_MASK)
  6046. #define SCT_OUTPUTDIRCTRL_SETCLR3_MASK (0xC0U)
  6047. #define SCT_OUTPUTDIRCTRL_SETCLR3_SHIFT (6U)
  6048. #define SCT_OUTPUTDIRCTRL_SETCLR3(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR3_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR3_MASK)
  6049. #define SCT_OUTPUTDIRCTRL_SETCLR4_MASK (0x300U)
  6050. #define SCT_OUTPUTDIRCTRL_SETCLR4_SHIFT (8U)
  6051. #define SCT_OUTPUTDIRCTRL_SETCLR4(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR4_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR4_MASK)
  6052. #define SCT_OUTPUTDIRCTRL_SETCLR5_MASK (0xC00U)
  6053. #define SCT_OUTPUTDIRCTRL_SETCLR5_SHIFT (10U)
  6054. #define SCT_OUTPUTDIRCTRL_SETCLR5(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR5_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR5_MASK)
  6055. #define SCT_OUTPUTDIRCTRL_SETCLR6_MASK (0x3000U)
  6056. #define SCT_OUTPUTDIRCTRL_SETCLR6_SHIFT (12U)
  6057. #define SCT_OUTPUTDIRCTRL_SETCLR6(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR6_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR6_MASK)
  6058. #define SCT_OUTPUTDIRCTRL_SETCLR7_MASK (0xC000U)
  6059. #define SCT_OUTPUTDIRCTRL_SETCLR7_SHIFT (14U)
  6060. #define SCT_OUTPUTDIRCTRL_SETCLR7(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR7_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR7_MASK)
  6061. #define SCT_OUTPUTDIRCTRL_SETCLR8_MASK (0x30000U)
  6062. #define SCT_OUTPUTDIRCTRL_SETCLR8_SHIFT (16U)
  6063. #define SCT_OUTPUTDIRCTRL_SETCLR8(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR8_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR8_MASK)
  6064. #define SCT_OUTPUTDIRCTRL_SETCLR9_MASK (0xC0000U)
  6065. #define SCT_OUTPUTDIRCTRL_SETCLR9_SHIFT (18U)
  6066. #define SCT_OUTPUTDIRCTRL_SETCLR9(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR9_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR9_MASK)
  6067. #define SCT_OUTPUTDIRCTRL_SETCLR10_MASK (0x300000U)
  6068. #define SCT_OUTPUTDIRCTRL_SETCLR10_SHIFT (20U)
  6069. #define SCT_OUTPUTDIRCTRL_SETCLR10(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR10_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR10_MASK)
  6070. #define SCT_OUTPUTDIRCTRL_SETCLR11_MASK (0xC00000U)
  6071. #define SCT_OUTPUTDIRCTRL_SETCLR11_SHIFT (22U)
  6072. #define SCT_OUTPUTDIRCTRL_SETCLR11(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR11_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR11_MASK)
  6073. #define SCT_OUTPUTDIRCTRL_SETCLR12_MASK (0x3000000U)
  6074. #define SCT_OUTPUTDIRCTRL_SETCLR12_SHIFT (24U)
  6075. #define SCT_OUTPUTDIRCTRL_SETCLR12(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR12_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR12_MASK)
  6076. #define SCT_OUTPUTDIRCTRL_SETCLR13_MASK (0xC000000U)
  6077. #define SCT_OUTPUTDIRCTRL_SETCLR13_SHIFT (26U)
  6078. #define SCT_OUTPUTDIRCTRL_SETCLR13(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR13_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR13_MASK)
  6079. #define SCT_OUTPUTDIRCTRL_SETCLR14_MASK (0x30000000U)
  6080. #define SCT_OUTPUTDIRCTRL_SETCLR14_SHIFT (28U)
  6081. #define SCT_OUTPUTDIRCTRL_SETCLR14(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR14_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR14_MASK)
  6082. #define SCT_OUTPUTDIRCTRL_SETCLR15_MASK (0xC0000000U)
  6083. #define SCT_OUTPUTDIRCTRL_SETCLR15_SHIFT (30U)
  6084. #define SCT_OUTPUTDIRCTRL_SETCLR15(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR15_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR15_MASK)
  6085. /*! @name RES - SCT conflict resolution register */
  6086. #define SCT_RES_O0RES_MASK (0x3U)
  6087. #define SCT_RES_O0RES_SHIFT (0U)
  6088. #define SCT_RES_O0RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O0RES_SHIFT)) & SCT_RES_O0RES_MASK)
  6089. #define SCT_RES_O1RES_MASK (0xCU)
  6090. #define SCT_RES_O1RES_SHIFT (2U)
  6091. #define SCT_RES_O1RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O1RES_SHIFT)) & SCT_RES_O1RES_MASK)
  6092. #define SCT_RES_O2RES_MASK (0x30U)
  6093. #define SCT_RES_O2RES_SHIFT (4U)
  6094. #define SCT_RES_O2RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O2RES_SHIFT)) & SCT_RES_O2RES_MASK)
  6095. #define SCT_RES_O3RES_MASK (0xC0U)
  6096. #define SCT_RES_O3RES_SHIFT (6U)
  6097. #define SCT_RES_O3RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O3RES_SHIFT)) & SCT_RES_O3RES_MASK)
  6098. #define SCT_RES_O4RES_MASK (0x300U)
  6099. #define SCT_RES_O4RES_SHIFT (8U)
  6100. #define SCT_RES_O4RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O4RES_SHIFT)) & SCT_RES_O4RES_MASK)
  6101. #define SCT_RES_O5RES_MASK (0xC00U)
  6102. #define SCT_RES_O5RES_SHIFT (10U)
  6103. #define SCT_RES_O5RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O5RES_SHIFT)) & SCT_RES_O5RES_MASK)
  6104. #define SCT_RES_O6RES_MASK (0x3000U)
  6105. #define SCT_RES_O6RES_SHIFT (12U)
  6106. #define SCT_RES_O6RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O6RES_SHIFT)) & SCT_RES_O6RES_MASK)
  6107. #define SCT_RES_O7RES_MASK (0xC000U)
  6108. #define SCT_RES_O7RES_SHIFT (14U)
  6109. #define SCT_RES_O7RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O7RES_SHIFT)) & SCT_RES_O7RES_MASK)
  6110. #define SCT_RES_O8RES_MASK (0x30000U)
  6111. #define SCT_RES_O8RES_SHIFT (16U)
  6112. #define SCT_RES_O8RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O8RES_SHIFT)) & SCT_RES_O8RES_MASK)
  6113. #define SCT_RES_O9RES_MASK (0xC0000U)
  6114. #define SCT_RES_O9RES_SHIFT (18U)
  6115. #define SCT_RES_O9RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O9RES_SHIFT)) & SCT_RES_O9RES_MASK)
  6116. #define SCT_RES_O10RES_MASK (0x300000U)
  6117. #define SCT_RES_O10RES_SHIFT (20U)
  6118. #define SCT_RES_O10RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O10RES_SHIFT)) & SCT_RES_O10RES_MASK)
  6119. #define SCT_RES_O11RES_MASK (0xC00000U)
  6120. #define SCT_RES_O11RES_SHIFT (22U)
  6121. #define SCT_RES_O11RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O11RES_SHIFT)) & SCT_RES_O11RES_MASK)
  6122. #define SCT_RES_O12RES_MASK (0x3000000U)
  6123. #define SCT_RES_O12RES_SHIFT (24U)
  6124. #define SCT_RES_O12RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O12RES_SHIFT)) & SCT_RES_O12RES_MASK)
  6125. #define SCT_RES_O13RES_MASK (0xC000000U)
  6126. #define SCT_RES_O13RES_SHIFT (26U)
  6127. #define SCT_RES_O13RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O13RES_SHIFT)) & SCT_RES_O13RES_MASK)
  6128. #define SCT_RES_O14RES_MASK (0x30000000U)
  6129. #define SCT_RES_O14RES_SHIFT (28U)
  6130. #define SCT_RES_O14RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O14RES_SHIFT)) & SCT_RES_O14RES_MASK)
  6131. #define SCT_RES_O15RES_MASK (0xC0000000U)
  6132. #define SCT_RES_O15RES_SHIFT (30U)
  6133. #define SCT_RES_O15RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O15RES_SHIFT)) & SCT_RES_O15RES_MASK)
  6134. /*! @name DMA0REQUEST - SCT DMA request 0 register */
  6135. #define SCT_DMA0REQUEST_DEV_0_MASK (0xFFFFU)
  6136. #define SCT_DMA0REQUEST_DEV_0_SHIFT (0U)
  6137. #define SCT_DMA0REQUEST_DEV_0(x) (((uint32_t)(((uint32_t)(x)) << SCT_DMA0REQUEST_DEV_0_SHIFT)) & SCT_DMA0REQUEST_DEV_0_MASK)
  6138. #define SCT_DMA0REQUEST_DRL0_MASK (0x40000000U)
  6139. #define SCT_DMA0REQUEST_DRL0_SHIFT (30U)
  6140. #define SCT_DMA0REQUEST_DRL0(x) (((uint32_t)(((uint32_t)(x)) << SCT_DMA0REQUEST_DRL0_SHIFT)) & SCT_DMA0REQUEST_DRL0_MASK)
  6141. #define SCT_DMA0REQUEST_DRQ0_MASK (0x80000000U)
  6142. #define SCT_DMA0REQUEST_DRQ0_SHIFT (31U)
  6143. #define SCT_DMA0REQUEST_DRQ0(x) (((uint32_t)(((uint32_t)(x)) << SCT_DMA0REQUEST_DRQ0_SHIFT)) & SCT_DMA0REQUEST_DRQ0_MASK)
  6144. /*! @name DMA1REQUEST - SCT DMA request 1 register */
  6145. #define SCT_DMA1REQUEST_DEV_1_MASK (0xFFFFU)
  6146. #define SCT_DMA1REQUEST_DEV_1_SHIFT (0U)
  6147. #define SCT_DMA1REQUEST_DEV_1(x) (((uint32_t)(((uint32_t)(x)) << SCT_DMA1REQUEST_DEV_1_SHIFT)) & SCT_DMA1REQUEST_DEV_1_MASK)
  6148. #define SCT_DMA1REQUEST_DRL1_MASK (0x40000000U)
  6149. #define SCT_DMA1REQUEST_DRL1_SHIFT (30U)
  6150. #define SCT_DMA1REQUEST_DRL1(x) (((uint32_t)(((uint32_t)(x)) << SCT_DMA1REQUEST_DRL1_SHIFT)) & SCT_DMA1REQUEST_DRL1_MASK)
  6151. #define SCT_DMA1REQUEST_DRQ1_MASK (0x80000000U)
  6152. #define SCT_DMA1REQUEST_DRQ1_SHIFT (31U)
  6153. #define SCT_DMA1REQUEST_DRQ1(x) (((uint32_t)(((uint32_t)(x)) << SCT_DMA1REQUEST_DRQ1_SHIFT)) & SCT_DMA1REQUEST_DRQ1_MASK)
  6154. /*! @name EVEN - SCT event interrupt enable register */
  6155. #define SCT_EVEN_IEN_MASK (0xFFFFU)
  6156. #define SCT_EVEN_IEN_SHIFT (0U)
  6157. #define SCT_EVEN_IEN(x) (((uint32_t)(((uint32_t)(x)) << SCT_EVEN_IEN_SHIFT)) & SCT_EVEN_IEN_MASK)
  6158. /*! @name EVFLAG - SCT event flag register */
  6159. #define SCT_EVFLAG_FLAG_MASK (0xFFFFU)
  6160. #define SCT_EVFLAG_FLAG_SHIFT (0U)
  6161. #define SCT_EVFLAG_FLAG(x) (((uint32_t)(((uint32_t)(x)) << SCT_EVFLAG_FLAG_SHIFT)) & SCT_EVFLAG_FLAG_MASK)
  6162. /*! @name CONEN - SCT conflict interrupt enable register */
  6163. #define SCT_CONEN_NCEN_MASK (0xFFFFU)
  6164. #define SCT_CONEN_NCEN_SHIFT (0U)
  6165. #define SCT_CONEN_NCEN(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONEN_NCEN_SHIFT)) & SCT_CONEN_NCEN_MASK)
  6166. /*! @name CONFLAG - SCT conflict flag register */
  6167. #define SCT_CONFLAG_NCFLAG_MASK (0xFFFFU)
  6168. #define SCT_CONFLAG_NCFLAG_SHIFT (0U)
  6169. #define SCT_CONFLAG_NCFLAG(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFLAG_NCFLAG_SHIFT)) & SCT_CONFLAG_NCFLAG_MASK)
  6170. #define SCT_CONFLAG_BUSERRL_MASK (0x40000000U)
  6171. #define SCT_CONFLAG_BUSERRL_SHIFT (30U)
  6172. #define SCT_CONFLAG_BUSERRL(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFLAG_BUSERRL_SHIFT)) & SCT_CONFLAG_BUSERRL_MASK)
  6173. #define SCT_CONFLAG_BUSERRH_MASK (0x80000000U)
  6174. #define SCT_CONFLAG_BUSERRH_SHIFT (31U)
  6175. #define SCT_CONFLAG_BUSERRH(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFLAG_BUSERRH_SHIFT)) & SCT_CONFLAG_BUSERRH_MASK)
  6176. /*! @name SCTCAP - SCT capture register of capture channel */
  6177. #define SCT_SCTCAP_CAPn_L_MASK (0xFFFFU)
  6178. #define SCT_SCTCAP_CAPn_L_SHIFT (0U)
  6179. #define SCT_SCTCAP_CAPn_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_SCTCAP_CAPn_L_SHIFT)) & SCT_SCTCAP_CAPn_L_MASK)
  6180. #define SCT_SCTCAP_CAPn_H_MASK (0xFFFF0000U)
  6181. #define SCT_SCTCAP_CAPn_H_SHIFT (16U)
  6182. #define SCT_SCTCAP_CAPn_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_SCTCAP_CAPn_H_SHIFT)) & SCT_SCTCAP_CAPn_H_MASK)
  6183. /* The count of SCT_SCTCAP */
  6184. #define SCT_SCTCAP_COUNT (10U)
  6185. /*! @name SCTMATCH - SCT match value register of match channels */
  6186. #define SCT_SCTMATCH_MATCHn_L_MASK (0xFFFFU)
  6187. #define SCT_SCTMATCH_MATCHn_L_SHIFT (0U)
  6188. #define SCT_SCTMATCH_MATCHn_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_SCTMATCH_MATCHn_L_SHIFT)) & SCT_SCTMATCH_MATCHn_L_MASK)
  6189. #define SCT_SCTMATCH_MATCHn_H_MASK (0xFFFF0000U)
  6190. #define SCT_SCTMATCH_MATCHn_H_SHIFT (16U)
  6191. #define SCT_SCTMATCH_MATCHn_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_SCTMATCH_MATCHn_H_SHIFT)) & SCT_SCTMATCH_MATCHn_H_MASK)
  6192. /* The count of SCT_SCTMATCH */
  6193. #define SCT_SCTMATCH_COUNT (10U)
  6194. /*! @name SCTCAPCTRL - SCT capture control register */
  6195. #define SCT_SCTCAPCTRL_CAPCONn_L_MASK (0xFFFFU)
  6196. #define SCT_SCTCAPCTRL_CAPCONn_L_SHIFT (0U)
  6197. #define SCT_SCTCAPCTRL_CAPCONn_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_SCTCAPCTRL_CAPCONn_L_SHIFT)) & SCT_SCTCAPCTRL_CAPCONn_L_MASK)
  6198. #define SCT_SCTCAPCTRL_CAPCONn_H_MASK (0xFFFF0000U)
  6199. #define SCT_SCTCAPCTRL_CAPCONn_H_SHIFT (16U)
  6200. #define SCT_SCTCAPCTRL_CAPCONn_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_SCTCAPCTRL_CAPCONn_H_SHIFT)) & SCT_SCTCAPCTRL_CAPCONn_H_MASK)
  6201. /* The count of SCT_SCTCAPCTRL */
  6202. #define SCT_SCTCAPCTRL_COUNT (10U)
  6203. /*! @name SCTMATCHREL - SCT match reload value register */
  6204. #define SCT_SCTMATCHREL_RELOADn_L_MASK (0xFFFFU)
  6205. #define SCT_SCTMATCHREL_RELOADn_L_SHIFT (0U)
  6206. #define SCT_SCTMATCHREL_RELOADn_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_SCTMATCHREL_RELOADn_L_SHIFT)) & SCT_SCTMATCHREL_RELOADn_L_MASK)
  6207. #define SCT_SCTMATCHREL_RELOADn_H_MASK (0xFFFF0000U)
  6208. #define SCT_SCTMATCHREL_RELOADn_H_SHIFT (16U)
  6209. #define SCT_SCTMATCHREL_RELOADn_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_SCTMATCHREL_RELOADn_H_SHIFT)) & SCT_SCTMATCHREL_RELOADn_H_MASK)
  6210. /* The count of SCT_SCTMATCHREL */
  6211. #define SCT_SCTMATCHREL_COUNT (10U)
  6212. /*! @name EVENT_STATE - SCT event state register 0 */
  6213. #define SCT_EVENT_STATE_STATEMSKn_MASK (0xFFFFU)
  6214. #define SCT_EVENT_STATE_STATEMSKn_SHIFT (0U)
  6215. #define SCT_EVENT_STATE_STATEMSKn(x) (((uint32_t)(((uint32_t)(x)) << SCT_EVENT_STATE_STATEMSKn_SHIFT)) & SCT_EVENT_STATE_STATEMSKn_MASK)
  6216. /* The count of SCT_EVENT_STATE */
  6217. #define SCT_EVENT_STATE_COUNT (10U)
  6218. /*! @name EVENT_CTRL - SCT event control register 0 */
  6219. #define SCT_EVENT_CTRL_MATCHSEL_MASK (0xFU)
  6220. #define SCT_EVENT_CTRL_MATCHSEL_SHIFT (0U)
  6221. #define SCT_EVENT_CTRL_MATCHSEL(x) (((uint32_t)(((uint32_t)(x)) << SCT_EVENT_CTRL_MATCHSEL_SHIFT)) & SCT_EVENT_CTRL_MATCHSEL_MASK)
  6222. #define SCT_EVENT_CTRL_HEVENT_MASK (0x10U)
  6223. #define SCT_EVENT_CTRL_HEVENT_SHIFT (4U)
  6224. #define SCT_EVENT_CTRL_HEVENT(x) (((uint32_t)(((uint32_t)(x)) << SCT_EVENT_CTRL_HEVENT_SHIFT)) & SCT_EVENT_CTRL_HEVENT_MASK)
  6225. #define SCT_EVENT_CTRL_OUTSEL_MASK (0x20U)
  6226. #define SCT_EVENT_CTRL_OUTSEL_SHIFT (5U)
  6227. #define SCT_EVENT_CTRL_OUTSEL(x) (((uint32_t)(((uint32_t)(x)) << SCT_EVENT_CTRL_OUTSEL_SHIFT)) & SCT_EVENT_CTRL_OUTSEL_MASK)
  6228. #define SCT_EVENT_CTRL_IOSEL_MASK (0x3C0U)
  6229. #define SCT_EVENT_CTRL_IOSEL_SHIFT (6U)
  6230. #define SCT_EVENT_CTRL_IOSEL(x) (((uint32_t)(((uint32_t)(x)) << SCT_EVENT_CTRL_IOSEL_SHIFT)) & SCT_EVENT_CTRL_IOSEL_MASK)
  6231. #define SCT_EVENT_CTRL_IOCOND_MASK (0xC00U)
  6232. #define SCT_EVENT_CTRL_IOCOND_SHIFT (10U)
  6233. #define SCT_EVENT_CTRL_IOCOND(x) (((uint32_t)(((uint32_t)(x)) << SCT_EVENT_CTRL_IOCOND_SHIFT)) & SCT_EVENT_CTRL_IOCOND_MASK)
  6234. #define SCT_EVENT_CTRL_COMBMODE_MASK (0x3000U)
  6235. #define SCT_EVENT_CTRL_COMBMODE_SHIFT (12U)
  6236. #define SCT_EVENT_CTRL_COMBMODE(x) (((uint32_t)(((uint32_t)(x)) << SCT_EVENT_CTRL_COMBMODE_SHIFT)) & SCT_EVENT_CTRL_COMBMODE_MASK)
  6237. #define SCT_EVENT_CTRL_STATELD_MASK (0x4000U)
  6238. #define SCT_EVENT_CTRL_STATELD_SHIFT (14U)
  6239. #define SCT_EVENT_CTRL_STATELD(x) (((uint32_t)(((uint32_t)(x)) << SCT_EVENT_CTRL_STATELD_SHIFT)) & SCT_EVENT_CTRL_STATELD_MASK)
  6240. #define SCT_EVENT_CTRL_STATEV_MASK (0xF8000U)
  6241. #define SCT_EVENT_CTRL_STATEV_SHIFT (15U)
  6242. #define SCT_EVENT_CTRL_STATEV(x) (((uint32_t)(((uint32_t)(x)) << SCT_EVENT_CTRL_STATEV_SHIFT)) & SCT_EVENT_CTRL_STATEV_MASK)
  6243. #define SCT_EVENT_CTRL_MATCHMEM_MASK (0x100000U)
  6244. #define SCT_EVENT_CTRL_MATCHMEM_SHIFT (20U)
  6245. #define SCT_EVENT_CTRL_MATCHMEM(x) (((uint32_t)(((uint32_t)(x)) << SCT_EVENT_CTRL_MATCHMEM_SHIFT)) & SCT_EVENT_CTRL_MATCHMEM_MASK)
  6246. #define SCT_EVENT_CTRL_DIRECTION_MASK (0x600000U)
  6247. #define SCT_EVENT_CTRL_DIRECTION_SHIFT (21U)
  6248. #define SCT_EVENT_CTRL_DIRECTION(x) (((uint32_t)(((uint32_t)(x)) << SCT_EVENT_CTRL_DIRECTION_SHIFT)) & SCT_EVENT_CTRL_DIRECTION_MASK)
  6249. /* The count of SCT_EVENT_CTRL */
  6250. #define SCT_EVENT_CTRL_COUNT (10U)
  6251. /*! @name OUT_SET - SCT output 0 set register */
  6252. #define SCT_OUT_SET_SET_MASK (0xFFFFU)
  6253. #define SCT_OUT_SET_SET_SHIFT (0U)
  6254. #define SCT_OUT_SET_SET(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUT_SET_SET_SHIFT)) & SCT_OUT_SET_SET_MASK)
  6255. /* The count of SCT_OUT_SET */
  6256. #define SCT_OUT_SET_COUNT (10U)
  6257. /*! @name OUT_CLR - SCT output 0 clear register */
  6258. #define SCT_OUT_CLR_CLR_MASK (0xFFFFU)
  6259. #define SCT_OUT_CLR_CLR_SHIFT (0U)
  6260. #define SCT_OUT_CLR_CLR(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUT_CLR_CLR_SHIFT)) & SCT_OUT_CLR_CLR_MASK)
  6261. /* The count of SCT_OUT_CLR */
  6262. #define SCT_OUT_CLR_COUNT (10U)
  6263. /*!
  6264. * @}
  6265. */ /* end of group SCT_Register_Masks */
  6266. /* SCT - Peripheral instance base addresses */
  6267. /** Peripheral SCT0 base address */
  6268. #define SCT0_BASE (0x40085000u)
  6269. /** Peripheral SCT0 base pointer */
  6270. #define SCT0 ((SCT_Type *)SCT0_BASE)
  6271. /** Array initializer of SCT peripheral base addresses */
  6272. #define SCT_BASE_ADDRS { SCT0_BASE }
  6273. /** Array initializer of SCT peripheral base pointers */
  6274. #define SCT_BASE_PTRS { SCT0 }
  6275. /** Interrupt vectors for the SCT peripheral type */
  6276. #define SCT_IRQS { SCT0_IRQn }
  6277. /*!
  6278. * @}
  6279. */ /* end of group SCT_Peripheral_Access_Layer */
  6280. /* ----------------------------------------------------------------------------
  6281. -- SDIF Peripheral Access Layer
  6282. ---------------------------------------------------------------------------- */
  6283. /*!
  6284. * @addtogroup SDIF_Peripheral_Access_Layer SDIF Peripheral Access Layer
  6285. * @{
  6286. */
  6287. /** SDIF - Register Layout Typedef */
  6288. typedef struct {
  6289. __IO uint32_t CTRL; /**< Control register, offset: 0x0 */
  6290. __IO uint32_t PWREN; /**< Power Enable register, offset: 0x4 */
  6291. __IO uint32_t CLKDIV; /**< Clock Divider register, offset: 0x8 */
  6292. uint8_t RESERVED_0[4];
  6293. __IO uint32_t CLKENA; /**< Clock Enable register, offset: 0x10 */
  6294. __IO uint32_t TMOUT; /**< Time-out register, offset: 0x14 */
  6295. __IO uint32_t CTYPE; /**< Card Type register, offset: 0x18 */
  6296. __IO uint32_t BLKSIZ; /**< Block Size register, offset: 0x1C */
  6297. __IO uint32_t BYTCNT; /**< Byte Count register, offset: 0x20 */
  6298. __IO uint32_t INTMASK; /**< Interrupt Mask register, offset: 0x24 */
  6299. __IO uint32_t CMDARG; /**< Command Argument register, offset: 0x28 */
  6300. __IO uint32_t CMD; /**< Command register, offset: 0x2C */
  6301. __IO uint32_t RESP[4]; /**< Response register, array offset: 0x30, array step: 0x4 */
  6302. __IO uint32_t MINTSTS; /**< Masked Interrupt Status register, offset: 0x40 */
  6303. __IO uint32_t RINTSTS; /**< Raw Interrupt Status register, offset: 0x44 */
  6304. __IO uint32_t STATUS; /**< Status register, offset: 0x48 */
  6305. __IO uint32_t FIFOTH; /**< FIFO Threshold Watermark register, offset: 0x4C */
  6306. __IO uint32_t CDETECT; /**< Card Detect register, offset: 0x50 */
  6307. __IO uint32_t WRTPRT; /**< Write Protect register, offset: 0x54 */
  6308. uint8_t RESERVED_1[4];
  6309. __IO uint32_t TCBCNT; /**< Transferred CIU Card Byte Count register, offset: 0x5C */
  6310. __IO uint32_t TBBCNT; /**< Transferred Host to BIU-FIFO Byte Count register, offset: 0x60 */
  6311. __IO uint32_t DEBNCE; /**< Debounce Count register, offset: 0x64 */
  6312. uint8_t RESERVED_2[16];
  6313. __IO uint32_t RST_N; /**< Hardware Reset, offset: 0x78 */
  6314. uint8_t RESERVED_3[4];
  6315. __IO uint32_t BMOD; /**< Bus Mode register, offset: 0x80 */
  6316. __IO uint32_t PLDMND; /**< Poll Demand register, offset: 0x84 */
  6317. __IO uint32_t DBADDR; /**< Descriptor List Base Address register, offset: 0x88 */
  6318. __IO uint32_t IDSTS; /**< Internal DMAC Status register, offset: 0x8C */
  6319. __IO uint32_t IDINTEN; /**< Internal DMAC Interrupt Enable register, offset: 0x90 */
  6320. __IO uint32_t DSCADDR; /**< Current Host Descriptor Address register, offset: 0x94 */
  6321. __IO uint32_t BUFADDR; /**< Current Buffer Descriptor Address register, offset: 0x98 */
  6322. uint8_t RESERVED_4[100];
  6323. __IO uint32_t CARDTHRCTL; /**< Card Threshold Control, offset: 0x100 */
  6324. __IO uint32_t BACKENDPWR; /**< Power control, offset: 0x104 */
  6325. uint8_t RESERVED_5[248];
  6326. __IO uint32_t FIFO[64]; /**< SDIF FIFO, array offset: 0x200, array step: 0x4 */
  6327. } SDIF_Type;
  6328. /* ----------------------------------------------------------------------------
  6329. -- SDIF Register Masks
  6330. ---------------------------------------------------------------------------- */
  6331. /*!
  6332. * @addtogroup SDIF_Register_Masks SDIF Register Masks
  6333. * @{
  6334. */
  6335. /*! @name CTRL - Control register */
  6336. #define SDIF_CTRL_CONTROLLER_RESET_MASK (0x1U)
  6337. #define SDIF_CTRL_CONTROLLER_RESET_SHIFT (0U)
  6338. #define SDIF_CTRL_CONTROLLER_RESET(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CTRL_CONTROLLER_RESET_SHIFT)) & SDIF_CTRL_CONTROLLER_RESET_MASK)
  6339. #define SDIF_CTRL_FIFO_RESET_MASK (0x2U)
  6340. #define SDIF_CTRL_FIFO_RESET_SHIFT (1U)
  6341. #define SDIF_CTRL_FIFO_RESET(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CTRL_FIFO_RESET_SHIFT)) & SDIF_CTRL_FIFO_RESET_MASK)
  6342. #define SDIF_CTRL_DMA_RESET_MASK (0x4U)
  6343. #define SDIF_CTRL_DMA_RESET_SHIFT (2U)
  6344. #define SDIF_CTRL_DMA_RESET(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CTRL_DMA_RESET_SHIFT)) & SDIF_CTRL_DMA_RESET_MASK)
  6345. #define SDIF_CTRL_INT_ENABLE_MASK (0x10U)
  6346. #define SDIF_CTRL_INT_ENABLE_SHIFT (4U)
  6347. #define SDIF_CTRL_INT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CTRL_INT_ENABLE_SHIFT)) & SDIF_CTRL_INT_ENABLE_MASK)
  6348. #define SDIF_CTRL_READ_WAIT_MASK (0x40U)
  6349. #define SDIF_CTRL_READ_WAIT_SHIFT (6U)
  6350. #define SDIF_CTRL_READ_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CTRL_READ_WAIT_SHIFT)) & SDIF_CTRL_READ_WAIT_MASK)
  6351. #define SDIF_CTRL_SEND_IRQ_RESPONSE_MASK (0x80U)
  6352. #define SDIF_CTRL_SEND_IRQ_RESPONSE_SHIFT (7U)
  6353. #define SDIF_CTRL_SEND_IRQ_RESPONSE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CTRL_SEND_IRQ_RESPONSE_SHIFT)) & SDIF_CTRL_SEND_IRQ_RESPONSE_MASK)
  6354. #define SDIF_CTRL_ABORT_READ_DATA_MASK (0x100U)
  6355. #define SDIF_CTRL_ABORT_READ_DATA_SHIFT (8U)
  6356. #define SDIF_CTRL_ABORT_READ_DATA(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CTRL_ABORT_READ_DATA_SHIFT)) & SDIF_CTRL_ABORT_READ_DATA_MASK)
  6357. #define SDIF_CTRL_SEND_CCSD_MASK (0x200U)
  6358. #define SDIF_CTRL_SEND_CCSD_SHIFT (9U)
  6359. #define SDIF_CTRL_SEND_CCSD(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CTRL_SEND_CCSD_SHIFT)) & SDIF_CTRL_SEND_CCSD_MASK)
  6360. #define SDIF_CTRL_SEND_AUTO_STOP_CCSD_MASK (0x400U)
  6361. #define SDIF_CTRL_SEND_AUTO_STOP_CCSD_SHIFT (10U)
  6362. #define SDIF_CTRL_SEND_AUTO_STOP_CCSD(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CTRL_SEND_AUTO_STOP_CCSD_SHIFT)) & SDIF_CTRL_SEND_AUTO_STOP_CCSD_MASK)
  6363. #define SDIF_CTRL_CEATA_DEVICE_INTERRUPT_STATUS_MASK (0x800U)
  6364. #define SDIF_CTRL_CEATA_DEVICE_INTERRUPT_STATUS_SHIFT (11U)
  6365. #define SDIF_CTRL_CEATA_DEVICE_INTERRUPT_STATUS(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CTRL_CEATA_DEVICE_INTERRUPT_STATUS_SHIFT)) & SDIF_CTRL_CEATA_DEVICE_INTERRUPT_STATUS_MASK)
  6366. #define SDIF_CTRL_CARD_VOLTAGE_A0_MASK (0x10000U)
  6367. #define SDIF_CTRL_CARD_VOLTAGE_A0_SHIFT (16U)
  6368. #define SDIF_CTRL_CARD_VOLTAGE_A0(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CTRL_CARD_VOLTAGE_A0_SHIFT)) & SDIF_CTRL_CARD_VOLTAGE_A0_MASK)
  6369. #define SDIF_CTRL_CARD_VOLTAGE_A1_MASK (0x20000U)
  6370. #define SDIF_CTRL_CARD_VOLTAGE_A1_SHIFT (17U)
  6371. #define SDIF_CTRL_CARD_VOLTAGE_A1(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CTRL_CARD_VOLTAGE_A1_SHIFT)) & SDIF_CTRL_CARD_VOLTAGE_A1_MASK)
  6372. #define SDIF_CTRL_CARD_VOLTAGE_A2_MASK (0x40000U)
  6373. #define SDIF_CTRL_CARD_VOLTAGE_A2_SHIFT (18U)
  6374. #define SDIF_CTRL_CARD_VOLTAGE_A2(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CTRL_CARD_VOLTAGE_A2_SHIFT)) & SDIF_CTRL_CARD_VOLTAGE_A2_MASK)
  6375. #define SDIF_CTRL_USE_INTERNAL_DMAC_MASK (0x2000000U)
  6376. #define SDIF_CTRL_USE_INTERNAL_DMAC_SHIFT (25U)
  6377. #define SDIF_CTRL_USE_INTERNAL_DMAC(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CTRL_USE_INTERNAL_DMAC_SHIFT)) & SDIF_CTRL_USE_INTERNAL_DMAC_MASK)
  6378. /*! @name PWREN - Power Enable register */
  6379. #define SDIF_PWREN_POWER_ENABLE_MASK (0x1U)
  6380. #define SDIF_PWREN_POWER_ENABLE_SHIFT (0U)
  6381. #define SDIF_PWREN_POWER_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_PWREN_POWER_ENABLE_SHIFT)) & SDIF_PWREN_POWER_ENABLE_MASK)
  6382. /*! @name CLKDIV - Clock Divider register */
  6383. #define SDIF_CLKDIV_CLK_DIVIDER0_MASK (0xFFU)
  6384. #define SDIF_CLKDIV_CLK_DIVIDER0_SHIFT (0U)
  6385. #define SDIF_CLKDIV_CLK_DIVIDER0(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CLKDIV_CLK_DIVIDER0_SHIFT)) & SDIF_CLKDIV_CLK_DIVIDER0_MASK)
  6386. /*! @name CLKENA - Clock Enable register */
  6387. #define SDIF_CLKENA_CCLK_ENABLE_MASK (0x1U)
  6388. #define SDIF_CLKENA_CCLK_ENABLE_SHIFT (0U)
  6389. #define SDIF_CLKENA_CCLK_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CLKENA_CCLK_ENABLE_SHIFT)) & SDIF_CLKENA_CCLK_ENABLE_MASK)
  6390. #define SDIF_CLKENA_CCLK_LOW_POWER_MASK (0x10000U)
  6391. #define SDIF_CLKENA_CCLK_LOW_POWER_SHIFT (16U)
  6392. #define SDIF_CLKENA_CCLK_LOW_POWER(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CLKENA_CCLK_LOW_POWER_SHIFT)) & SDIF_CLKENA_CCLK_LOW_POWER_MASK)
  6393. /*! @name TMOUT - Time-out register */
  6394. #define SDIF_TMOUT_RESPONSE_TIMEOUT_MASK (0xFFU)
  6395. #define SDIF_TMOUT_RESPONSE_TIMEOUT_SHIFT (0U)
  6396. #define SDIF_TMOUT_RESPONSE_TIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << SDIF_TMOUT_RESPONSE_TIMEOUT_SHIFT)) & SDIF_TMOUT_RESPONSE_TIMEOUT_MASK)
  6397. #define SDIF_TMOUT_DATA_TIMEOUT_MASK (0xFFFFFF00U)
  6398. #define SDIF_TMOUT_DATA_TIMEOUT_SHIFT (8U)
  6399. #define SDIF_TMOUT_DATA_TIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << SDIF_TMOUT_DATA_TIMEOUT_SHIFT)) & SDIF_TMOUT_DATA_TIMEOUT_MASK)
  6400. /*! @name CTYPE - Card Type register */
  6401. #define SDIF_CTYPE_CARD_WIDTH0_MASK (0x1U)
  6402. #define SDIF_CTYPE_CARD_WIDTH0_SHIFT (0U)
  6403. #define SDIF_CTYPE_CARD_WIDTH0(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CTYPE_CARD_WIDTH0_SHIFT)) & SDIF_CTYPE_CARD_WIDTH0_MASK)
  6404. #define SDIF_CTYPE_CARD_WIDTH1_MASK (0x10000U)
  6405. #define SDIF_CTYPE_CARD_WIDTH1_SHIFT (16U)
  6406. #define SDIF_CTYPE_CARD_WIDTH1(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CTYPE_CARD_WIDTH1_SHIFT)) & SDIF_CTYPE_CARD_WIDTH1_MASK)
  6407. /*! @name BLKSIZ - Block Size register */
  6408. #define SDIF_BLKSIZ_BLOCK_SIZE_MASK (0xFFFFU)
  6409. #define SDIF_BLKSIZ_BLOCK_SIZE_SHIFT (0U)
  6410. #define SDIF_BLKSIZ_BLOCK_SIZE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_BLKSIZ_BLOCK_SIZE_SHIFT)) & SDIF_BLKSIZ_BLOCK_SIZE_MASK)
  6411. /*! @name BYTCNT - Byte Count register */
  6412. #define SDIF_BYTCNT_BYTE_COUNT_MASK (0xFFFFFFFFU)
  6413. #define SDIF_BYTCNT_BYTE_COUNT_SHIFT (0U)
  6414. #define SDIF_BYTCNT_BYTE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << SDIF_BYTCNT_BYTE_COUNT_SHIFT)) & SDIF_BYTCNT_BYTE_COUNT_MASK)
  6415. /*! @name INTMASK - Interrupt Mask register */
  6416. #define SDIF_INTMASK_CDET_MASK (0x1U)
  6417. #define SDIF_INTMASK_CDET_SHIFT (0U)
  6418. #define SDIF_INTMASK_CDET(x) (((uint32_t)(((uint32_t)(x)) << SDIF_INTMASK_CDET_SHIFT)) & SDIF_INTMASK_CDET_MASK)
  6419. #define SDIF_INTMASK_RE_MASK (0x2U)
  6420. #define SDIF_INTMASK_RE_SHIFT (1U)
  6421. #define SDIF_INTMASK_RE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_INTMASK_RE_SHIFT)) & SDIF_INTMASK_RE_MASK)
  6422. #define SDIF_INTMASK_CDONE_MASK (0x4U)
  6423. #define SDIF_INTMASK_CDONE_SHIFT (2U)
  6424. #define SDIF_INTMASK_CDONE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_INTMASK_CDONE_SHIFT)) & SDIF_INTMASK_CDONE_MASK)
  6425. #define SDIF_INTMASK_DTO_MASK (0x8U)
  6426. #define SDIF_INTMASK_DTO_SHIFT (3U)
  6427. #define SDIF_INTMASK_DTO(x) (((uint32_t)(((uint32_t)(x)) << SDIF_INTMASK_DTO_SHIFT)) & SDIF_INTMASK_DTO_MASK)
  6428. #define SDIF_INTMASK_TXDR_MASK (0x10U)
  6429. #define SDIF_INTMASK_TXDR_SHIFT (4U)
  6430. #define SDIF_INTMASK_TXDR(x) (((uint32_t)(((uint32_t)(x)) << SDIF_INTMASK_TXDR_SHIFT)) & SDIF_INTMASK_TXDR_MASK)
  6431. #define SDIF_INTMASK_RXDR_MASK (0x20U)
  6432. #define SDIF_INTMASK_RXDR_SHIFT (5U)
  6433. #define SDIF_INTMASK_RXDR(x) (((uint32_t)(((uint32_t)(x)) << SDIF_INTMASK_RXDR_SHIFT)) & SDIF_INTMASK_RXDR_MASK)
  6434. #define SDIF_INTMASK_RCRC_MASK (0x40U)
  6435. #define SDIF_INTMASK_RCRC_SHIFT (6U)
  6436. #define SDIF_INTMASK_RCRC(x) (((uint32_t)(((uint32_t)(x)) << SDIF_INTMASK_RCRC_SHIFT)) & SDIF_INTMASK_RCRC_MASK)
  6437. #define SDIF_INTMASK_DCRC_MASK (0x80U)
  6438. #define SDIF_INTMASK_DCRC_SHIFT (7U)
  6439. #define SDIF_INTMASK_DCRC(x) (((uint32_t)(((uint32_t)(x)) << SDIF_INTMASK_DCRC_SHIFT)) & SDIF_INTMASK_DCRC_MASK)
  6440. #define SDIF_INTMASK_RTO_MASK (0x100U)
  6441. #define SDIF_INTMASK_RTO_SHIFT (8U)
  6442. #define SDIF_INTMASK_RTO(x) (((uint32_t)(((uint32_t)(x)) << SDIF_INTMASK_RTO_SHIFT)) & SDIF_INTMASK_RTO_MASK)
  6443. #define SDIF_INTMASK_DRTO_MASK (0x200U)
  6444. #define SDIF_INTMASK_DRTO_SHIFT (9U)
  6445. #define SDIF_INTMASK_DRTO(x) (((uint32_t)(((uint32_t)(x)) << SDIF_INTMASK_DRTO_SHIFT)) & SDIF_INTMASK_DRTO_MASK)
  6446. #define SDIF_INTMASK_HTO_MASK (0x400U)
  6447. #define SDIF_INTMASK_HTO_SHIFT (10U)
  6448. #define SDIF_INTMASK_HTO(x) (((uint32_t)(((uint32_t)(x)) << SDIF_INTMASK_HTO_SHIFT)) & SDIF_INTMASK_HTO_MASK)
  6449. #define SDIF_INTMASK_FRUN_MASK (0x800U)
  6450. #define SDIF_INTMASK_FRUN_SHIFT (11U)
  6451. #define SDIF_INTMASK_FRUN(x) (((uint32_t)(((uint32_t)(x)) << SDIF_INTMASK_FRUN_SHIFT)) & SDIF_INTMASK_FRUN_MASK)
  6452. #define SDIF_INTMASK_HLE_MASK (0x1000U)
  6453. #define SDIF_INTMASK_HLE_SHIFT (12U)
  6454. #define SDIF_INTMASK_HLE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_INTMASK_HLE_SHIFT)) & SDIF_INTMASK_HLE_MASK)
  6455. #define SDIF_INTMASK_SBE_MASK (0x2000U)
  6456. #define SDIF_INTMASK_SBE_SHIFT (13U)
  6457. #define SDIF_INTMASK_SBE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_INTMASK_SBE_SHIFT)) & SDIF_INTMASK_SBE_MASK)
  6458. #define SDIF_INTMASK_ACD_MASK (0x4000U)
  6459. #define SDIF_INTMASK_ACD_SHIFT (14U)
  6460. #define SDIF_INTMASK_ACD(x) (((uint32_t)(((uint32_t)(x)) << SDIF_INTMASK_ACD_SHIFT)) & SDIF_INTMASK_ACD_MASK)
  6461. #define SDIF_INTMASK_EBE_MASK (0x8000U)
  6462. #define SDIF_INTMASK_EBE_SHIFT (15U)
  6463. #define SDIF_INTMASK_EBE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_INTMASK_EBE_SHIFT)) & SDIF_INTMASK_EBE_MASK)
  6464. #define SDIF_INTMASK_SDIO_INT_MASK_MASK (0x10000U)
  6465. #define SDIF_INTMASK_SDIO_INT_MASK_SHIFT (16U)
  6466. #define SDIF_INTMASK_SDIO_INT_MASK(x) (((uint32_t)(((uint32_t)(x)) << SDIF_INTMASK_SDIO_INT_MASK_SHIFT)) & SDIF_INTMASK_SDIO_INT_MASK_MASK)
  6467. /*! @name CMDARG - Command Argument register */
  6468. #define SDIF_CMDARG_CMD_ARG_MASK (0xFFFFFFFFU)
  6469. #define SDIF_CMDARG_CMD_ARG_SHIFT (0U)
  6470. #define SDIF_CMDARG_CMD_ARG(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMDARG_CMD_ARG_SHIFT)) & SDIF_CMDARG_CMD_ARG_MASK)
  6471. /*! @name CMD - Command register */
  6472. #define SDIF_CMD_CMD_INDEX_MASK (0x3FU)
  6473. #define SDIF_CMD_CMD_INDEX_SHIFT (0U)
  6474. #define SDIF_CMD_CMD_INDEX(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_CMD_INDEX_SHIFT)) & SDIF_CMD_CMD_INDEX_MASK)
  6475. #define SDIF_CMD_RESPONSE_EXPECT_MASK (0x40U)
  6476. #define SDIF_CMD_RESPONSE_EXPECT_SHIFT (6U)
  6477. #define SDIF_CMD_RESPONSE_EXPECT(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_RESPONSE_EXPECT_SHIFT)) & SDIF_CMD_RESPONSE_EXPECT_MASK)
  6478. #define SDIF_CMD_RESPONSE_LENGTH_MASK (0x80U)
  6479. #define SDIF_CMD_RESPONSE_LENGTH_SHIFT (7U)
  6480. #define SDIF_CMD_RESPONSE_LENGTH(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_RESPONSE_LENGTH_SHIFT)) & SDIF_CMD_RESPONSE_LENGTH_MASK)
  6481. #define SDIF_CMD_CHECK_RESPONSE_CRC_MASK (0x100U)
  6482. #define SDIF_CMD_CHECK_RESPONSE_CRC_SHIFT (8U)
  6483. #define SDIF_CMD_CHECK_RESPONSE_CRC(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_CHECK_RESPONSE_CRC_SHIFT)) & SDIF_CMD_CHECK_RESPONSE_CRC_MASK)
  6484. #define SDIF_CMD_DATA_EXPECTED_MASK (0x200U)
  6485. #define SDIF_CMD_DATA_EXPECTED_SHIFT (9U)
  6486. #define SDIF_CMD_DATA_EXPECTED(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_DATA_EXPECTED_SHIFT)) & SDIF_CMD_DATA_EXPECTED_MASK)
  6487. #define SDIF_CMD_READ_WRITE_MASK (0x400U)
  6488. #define SDIF_CMD_READ_WRITE_SHIFT (10U)
  6489. #define SDIF_CMD_READ_WRITE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_READ_WRITE_SHIFT)) & SDIF_CMD_READ_WRITE_MASK)
  6490. #define SDIF_CMD_TRANSFER_MODE_MASK (0x800U)
  6491. #define SDIF_CMD_TRANSFER_MODE_SHIFT (11U)
  6492. #define SDIF_CMD_TRANSFER_MODE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_TRANSFER_MODE_SHIFT)) & SDIF_CMD_TRANSFER_MODE_MASK)
  6493. #define SDIF_CMD_SEND_AUTO_STOP_MASK (0x1000U)
  6494. #define SDIF_CMD_SEND_AUTO_STOP_SHIFT (12U)
  6495. #define SDIF_CMD_SEND_AUTO_STOP(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_SEND_AUTO_STOP_SHIFT)) & SDIF_CMD_SEND_AUTO_STOP_MASK)
  6496. #define SDIF_CMD_WAIT_PRVDATA_COMPLETE_MASK (0x2000U)
  6497. #define SDIF_CMD_WAIT_PRVDATA_COMPLETE_SHIFT (13U)
  6498. #define SDIF_CMD_WAIT_PRVDATA_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_WAIT_PRVDATA_COMPLETE_SHIFT)) & SDIF_CMD_WAIT_PRVDATA_COMPLETE_MASK)
  6499. #define SDIF_CMD_STOP_ABORT_CMD_MASK (0x4000U)
  6500. #define SDIF_CMD_STOP_ABORT_CMD_SHIFT (14U)
  6501. #define SDIF_CMD_STOP_ABORT_CMD(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_STOP_ABORT_CMD_SHIFT)) & SDIF_CMD_STOP_ABORT_CMD_MASK)
  6502. #define SDIF_CMD_SEND_INITIALIZATION_MASK (0x8000U)
  6503. #define SDIF_CMD_SEND_INITIALIZATION_SHIFT (15U)
  6504. #define SDIF_CMD_SEND_INITIALIZATION(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_SEND_INITIALIZATION_SHIFT)) & SDIF_CMD_SEND_INITIALIZATION_MASK)
  6505. #define SDIF_CMD_UPDATE_CLOCK_REGISTERS_ONLY_MASK (0x200000U)
  6506. #define SDIF_CMD_UPDATE_CLOCK_REGISTERS_ONLY_SHIFT (21U)
  6507. #define SDIF_CMD_UPDATE_CLOCK_REGISTERS_ONLY(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_UPDATE_CLOCK_REGISTERS_ONLY_SHIFT)) & SDIF_CMD_UPDATE_CLOCK_REGISTERS_ONLY_MASK)
  6508. #define SDIF_CMD_READ_CEATA_DEVICE_MASK (0x400000U)
  6509. #define SDIF_CMD_READ_CEATA_DEVICE_SHIFT (22U)
  6510. #define SDIF_CMD_READ_CEATA_DEVICE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_READ_CEATA_DEVICE_SHIFT)) & SDIF_CMD_READ_CEATA_DEVICE_MASK)
  6511. #define SDIF_CMD_CCS_EXPECTED_MASK (0x800000U)
  6512. #define SDIF_CMD_CCS_EXPECTED_SHIFT (23U)
  6513. #define SDIF_CMD_CCS_EXPECTED(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_CCS_EXPECTED_SHIFT)) & SDIF_CMD_CCS_EXPECTED_MASK)
  6514. #define SDIF_CMD_ENABLE_BOOT_MASK (0x1000000U)
  6515. #define SDIF_CMD_ENABLE_BOOT_SHIFT (24U)
  6516. #define SDIF_CMD_ENABLE_BOOT(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_ENABLE_BOOT_SHIFT)) & SDIF_CMD_ENABLE_BOOT_MASK)
  6517. #define SDIF_CMD_EXPECT_BOOT_ACK_MASK (0x2000000U)
  6518. #define SDIF_CMD_EXPECT_BOOT_ACK_SHIFT (25U)
  6519. #define SDIF_CMD_EXPECT_BOOT_ACK(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_EXPECT_BOOT_ACK_SHIFT)) & SDIF_CMD_EXPECT_BOOT_ACK_MASK)
  6520. #define SDIF_CMD_DISABLE_BOOT_MASK (0x4000000U)
  6521. #define SDIF_CMD_DISABLE_BOOT_SHIFT (26U)
  6522. #define SDIF_CMD_DISABLE_BOOT(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_DISABLE_BOOT_SHIFT)) & SDIF_CMD_DISABLE_BOOT_MASK)
  6523. #define SDIF_CMD_BOOT_MODE_MASK (0x8000000U)
  6524. #define SDIF_CMD_BOOT_MODE_SHIFT (27U)
  6525. #define SDIF_CMD_BOOT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_BOOT_MODE_SHIFT)) & SDIF_CMD_BOOT_MODE_MASK)
  6526. #define SDIF_CMD_VOLT_SWITCH_MASK (0x10000000U)
  6527. #define SDIF_CMD_VOLT_SWITCH_SHIFT (28U)
  6528. #define SDIF_CMD_VOLT_SWITCH(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_VOLT_SWITCH_SHIFT)) & SDIF_CMD_VOLT_SWITCH_MASK)
  6529. #define SDIF_CMD_USE_HOLD_REG_MASK (0x20000000U)
  6530. #define SDIF_CMD_USE_HOLD_REG_SHIFT (29U)
  6531. #define SDIF_CMD_USE_HOLD_REG(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_USE_HOLD_REG_SHIFT)) & SDIF_CMD_USE_HOLD_REG_MASK)
  6532. #define SDIF_CMD_START_CMD_MASK (0x80000000U)
  6533. #define SDIF_CMD_START_CMD_SHIFT (31U)
  6534. #define SDIF_CMD_START_CMD(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CMD_START_CMD_SHIFT)) & SDIF_CMD_START_CMD_MASK)
  6535. /*! @name RESP - Response register */
  6536. #define SDIF_RESP_RESPONSE_MASK (0xFFFFFFFFU)
  6537. #define SDIF_RESP_RESPONSE_SHIFT (0U)
  6538. #define SDIF_RESP_RESPONSE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_RESP_RESPONSE_SHIFT)) & SDIF_RESP_RESPONSE_MASK)
  6539. /* The count of SDIF_RESP */
  6540. #define SDIF_RESP_COUNT (4U)
  6541. /*! @name MINTSTS - Masked Interrupt Status register */
  6542. #define SDIF_MINTSTS_CDET_MASK (0x1U)
  6543. #define SDIF_MINTSTS_CDET_SHIFT (0U)
  6544. #define SDIF_MINTSTS_CDET(x) (((uint32_t)(((uint32_t)(x)) << SDIF_MINTSTS_CDET_SHIFT)) & SDIF_MINTSTS_CDET_MASK)
  6545. #define SDIF_MINTSTS_RE_MASK (0x2U)
  6546. #define SDIF_MINTSTS_RE_SHIFT (1U)
  6547. #define SDIF_MINTSTS_RE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_MINTSTS_RE_SHIFT)) & SDIF_MINTSTS_RE_MASK)
  6548. #define SDIF_MINTSTS_CDONE_MASK (0x4U)
  6549. #define SDIF_MINTSTS_CDONE_SHIFT (2U)
  6550. #define SDIF_MINTSTS_CDONE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_MINTSTS_CDONE_SHIFT)) & SDIF_MINTSTS_CDONE_MASK)
  6551. #define SDIF_MINTSTS_DTO_MASK (0x8U)
  6552. #define SDIF_MINTSTS_DTO_SHIFT (3U)
  6553. #define SDIF_MINTSTS_DTO(x) (((uint32_t)(((uint32_t)(x)) << SDIF_MINTSTS_DTO_SHIFT)) & SDIF_MINTSTS_DTO_MASK)
  6554. #define SDIF_MINTSTS_TXDR_MASK (0x10U)
  6555. #define SDIF_MINTSTS_TXDR_SHIFT (4U)
  6556. #define SDIF_MINTSTS_TXDR(x) (((uint32_t)(((uint32_t)(x)) << SDIF_MINTSTS_TXDR_SHIFT)) & SDIF_MINTSTS_TXDR_MASK)
  6557. #define SDIF_MINTSTS_RXDR_MASK (0x20U)
  6558. #define SDIF_MINTSTS_RXDR_SHIFT (5U)
  6559. #define SDIF_MINTSTS_RXDR(x) (((uint32_t)(((uint32_t)(x)) << SDIF_MINTSTS_RXDR_SHIFT)) & SDIF_MINTSTS_RXDR_MASK)
  6560. #define SDIF_MINTSTS_RCRC_MASK (0x40U)
  6561. #define SDIF_MINTSTS_RCRC_SHIFT (6U)
  6562. #define SDIF_MINTSTS_RCRC(x) (((uint32_t)(((uint32_t)(x)) << SDIF_MINTSTS_RCRC_SHIFT)) & SDIF_MINTSTS_RCRC_MASK)
  6563. #define SDIF_MINTSTS_DCRC_MASK (0x80U)
  6564. #define SDIF_MINTSTS_DCRC_SHIFT (7U)
  6565. #define SDIF_MINTSTS_DCRC(x) (((uint32_t)(((uint32_t)(x)) << SDIF_MINTSTS_DCRC_SHIFT)) & SDIF_MINTSTS_DCRC_MASK)
  6566. #define SDIF_MINTSTS_RTO_MASK (0x100U)
  6567. #define SDIF_MINTSTS_RTO_SHIFT (8U)
  6568. #define SDIF_MINTSTS_RTO(x) (((uint32_t)(((uint32_t)(x)) << SDIF_MINTSTS_RTO_SHIFT)) & SDIF_MINTSTS_RTO_MASK)
  6569. #define SDIF_MINTSTS_DRTO_MASK (0x200U)
  6570. #define SDIF_MINTSTS_DRTO_SHIFT (9U)
  6571. #define SDIF_MINTSTS_DRTO(x) (((uint32_t)(((uint32_t)(x)) << SDIF_MINTSTS_DRTO_SHIFT)) & SDIF_MINTSTS_DRTO_MASK)
  6572. #define SDIF_MINTSTS_HTO_MASK (0x400U)
  6573. #define SDIF_MINTSTS_HTO_SHIFT (10U)
  6574. #define SDIF_MINTSTS_HTO(x) (((uint32_t)(((uint32_t)(x)) << SDIF_MINTSTS_HTO_SHIFT)) & SDIF_MINTSTS_HTO_MASK)
  6575. #define SDIF_MINTSTS_FRUN_MASK (0x800U)
  6576. #define SDIF_MINTSTS_FRUN_SHIFT (11U)
  6577. #define SDIF_MINTSTS_FRUN(x) (((uint32_t)(((uint32_t)(x)) << SDIF_MINTSTS_FRUN_SHIFT)) & SDIF_MINTSTS_FRUN_MASK)
  6578. #define SDIF_MINTSTS_HLE_MASK (0x1000U)
  6579. #define SDIF_MINTSTS_HLE_SHIFT (12U)
  6580. #define SDIF_MINTSTS_HLE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_MINTSTS_HLE_SHIFT)) & SDIF_MINTSTS_HLE_MASK)
  6581. #define SDIF_MINTSTS_SBE_MASK (0x2000U)
  6582. #define SDIF_MINTSTS_SBE_SHIFT (13U)
  6583. #define SDIF_MINTSTS_SBE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_MINTSTS_SBE_SHIFT)) & SDIF_MINTSTS_SBE_MASK)
  6584. #define SDIF_MINTSTS_ACD_MASK (0x4000U)
  6585. #define SDIF_MINTSTS_ACD_SHIFT (14U)
  6586. #define SDIF_MINTSTS_ACD(x) (((uint32_t)(((uint32_t)(x)) << SDIF_MINTSTS_ACD_SHIFT)) & SDIF_MINTSTS_ACD_MASK)
  6587. #define SDIF_MINTSTS_EBE_MASK (0x8000U)
  6588. #define SDIF_MINTSTS_EBE_SHIFT (15U)
  6589. #define SDIF_MINTSTS_EBE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_MINTSTS_EBE_SHIFT)) & SDIF_MINTSTS_EBE_MASK)
  6590. #define SDIF_MINTSTS_SDIO_INTERRUPT_MASK (0x10000U)
  6591. #define SDIF_MINTSTS_SDIO_INTERRUPT_SHIFT (16U)
  6592. #define SDIF_MINTSTS_SDIO_INTERRUPT(x) (((uint32_t)(((uint32_t)(x)) << SDIF_MINTSTS_SDIO_INTERRUPT_SHIFT)) & SDIF_MINTSTS_SDIO_INTERRUPT_MASK)
  6593. /*! @name RINTSTS - Raw Interrupt Status register */
  6594. #define SDIF_RINTSTS_CDET_MASK (0x1U)
  6595. #define SDIF_RINTSTS_CDET_SHIFT (0U)
  6596. #define SDIF_RINTSTS_CDET(x) (((uint32_t)(((uint32_t)(x)) << SDIF_RINTSTS_CDET_SHIFT)) & SDIF_RINTSTS_CDET_MASK)
  6597. #define SDIF_RINTSTS_RE_MASK (0x2U)
  6598. #define SDIF_RINTSTS_RE_SHIFT (1U)
  6599. #define SDIF_RINTSTS_RE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_RINTSTS_RE_SHIFT)) & SDIF_RINTSTS_RE_MASK)
  6600. #define SDIF_RINTSTS_CDONE_MASK (0x4U)
  6601. #define SDIF_RINTSTS_CDONE_SHIFT (2U)
  6602. #define SDIF_RINTSTS_CDONE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_RINTSTS_CDONE_SHIFT)) & SDIF_RINTSTS_CDONE_MASK)
  6603. #define SDIF_RINTSTS_DTO_MASK (0x8U)
  6604. #define SDIF_RINTSTS_DTO_SHIFT (3U)
  6605. #define SDIF_RINTSTS_DTO(x) (((uint32_t)(((uint32_t)(x)) << SDIF_RINTSTS_DTO_SHIFT)) & SDIF_RINTSTS_DTO_MASK)
  6606. #define SDIF_RINTSTS_TXDR_MASK (0x10U)
  6607. #define SDIF_RINTSTS_TXDR_SHIFT (4U)
  6608. #define SDIF_RINTSTS_TXDR(x) (((uint32_t)(((uint32_t)(x)) << SDIF_RINTSTS_TXDR_SHIFT)) & SDIF_RINTSTS_TXDR_MASK)
  6609. #define SDIF_RINTSTS_RXDR_MASK (0x20U)
  6610. #define SDIF_RINTSTS_RXDR_SHIFT (5U)
  6611. #define SDIF_RINTSTS_RXDR(x) (((uint32_t)(((uint32_t)(x)) << SDIF_RINTSTS_RXDR_SHIFT)) & SDIF_RINTSTS_RXDR_MASK)
  6612. #define SDIF_RINTSTS_RCRC_MASK (0x40U)
  6613. #define SDIF_RINTSTS_RCRC_SHIFT (6U)
  6614. #define SDIF_RINTSTS_RCRC(x) (((uint32_t)(((uint32_t)(x)) << SDIF_RINTSTS_RCRC_SHIFT)) & SDIF_RINTSTS_RCRC_MASK)
  6615. #define SDIF_RINTSTS_DCRC_MASK (0x80U)
  6616. #define SDIF_RINTSTS_DCRC_SHIFT (7U)
  6617. #define SDIF_RINTSTS_DCRC(x) (((uint32_t)(((uint32_t)(x)) << SDIF_RINTSTS_DCRC_SHIFT)) & SDIF_RINTSTS_DCRC_MASK)
  6618. #define SDIF_RINTSTS_RTO_BAR_MASK (0x100U)
  6619. #define SDIF_RINTSTS_RTO_BAR_SHIFT (8U)
  6620. #define SDIF_RINTSTS_RTO_BAR(x) (((uint32_t)(((uint32_t)(x)) << SDIF_RINTSTS_RTO_BAR_SHIFT)) & SDIF_RINTSTS_RTO_BAR_MASK)
  6621. #define SDIF_RINTSTS_DRTO_BDS_MASK (0x200U)
  6622. #define SDIF_RINTSTS_DRTO_BDS_SHIFT (9U)
  6623. #define SDIF_RINTSTS_DRTO_BDS(x) (((uint32_t)(((uint32_t)(x)) << SDIF_RINTSTS_DRTO_BDS_SHIFT)) & SDIF_RINTSTS_DRTO_BDS_MASK)
  6624. #define SDIF_RINTSTS_HTO_MASK (0x400U)
  6625. #define SDIF_RINTSTS_HTO_SHIFT (10U)
  6626. #define SDIF_RINTSTS_HTO(x) (((uint32_t)(((uint32_t)(x)) << SDIF_RINTSTS_HTO_SHIFT)) & SDIF_RINTSTS_HTO_MASK)
  6627. #define SDIF_RINTSTS_FRUN_MASK (0x800U)
  6628. #define SDIF_RINTSTS_FRUN_SHIFT (11U)
  6629. #define SDIF_RINTSTS_FRUN(x) (((uint32_t)(((uint32_t)(x)) << SDIF_RINTSTS_FRUN_SHIFT)) & SDIF_RINTSTS_FRUN_MASK)
  6630. #define SDIF_RINTSTS_HLE_MASK (0x1000U)
  6631. #define SDIF_RINTSTS_HLE_SHIFT (12U)
  6632. #define SDIF_RINTSTS_HLE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_RINTSTS_HLE_SHIFT)) & SDIF_RINTSTS_HLE_MASK)
  6633. #define SDIF_RINTSTS_SBE_MASK (0x2000U)
  6634. #define SDIF_RINTSTS_SBE_SHIFT (13U)
  6635. #define SDIF_RINTSTS_SBE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_RINTSTS_SBE_SHIFT)) & SDIF_RINTSTS_SBE_MASK)
  6636. #define SDIF_RINTSTS_ACD_MASK (0x4000U)
  6637. #define SDIF_RINTSTS_ACD_SHIFT (14U)
  6638. #define SDIF_RINTSTS_ACD(x) (((uint32_t)(((uint32_t)(x)) << SDIF_RINTSTS_ACD_SHIFT)) & SDIF_RINTSTS_ACD_MASK)
  6639. #define SDIF_RINTSTS_EBE_MASK (0x8000U)
  6640. #define SDIF_RINTSTS_EBE_SHIFT (15U)
  6641. #define SDIF_RINTSTS_EBE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_RINTSTS_EBE_SHIFT)) & SDIF_RINTSTS_EBE_MASK)
  6642. #define SDIF_RINTSTS_SDIO_INTERRUPT_MASK (0x10000U)
  6643. #define SDIF_RINTSTS_SDIO_INTERRUPT_SHIFT (16U)
  6644. #define SDIF_RINTSTS_SDIO_INTERRUPT(x) (((uint32_t)(((uint32_t)(x)) << SDIF_RINTSTS_SDIO_INTERRUPT_SHIFT)) & SDIF_RINTSTS_SDIO_INTERRUPT_MASK)
  6645. /*! @name STATUS - Status register */
  6646. #define SDIF_STATUS_FIFO_RX_WATERMARK_MASK (0x1U)
  6647. #define SDIF_STATUS_FIFO_RX_WATERMARK_SHIFT (0U)
  6648. #define SDIF_STATUS_FIFO_RX_WATERMARK(x) (((uint32_t)(((uint32_t)(x)) << SDIF_STATUS_FIFO_RX_WATERMARK_SHIFT)) & SDIF_STATUS_FIFO_RX_WATERMARK_MASK)
  6649. #define SDIF_STATUS_FIFO_TX_WATERMARK_MASK (0x2U)
  6650. #define SDIF_STATUS_FIFO_TX_WATERMARK_SHIFT (1U)
  6651. #define SDIF_STATUS_FIFO_TX_WATERMARK(x) (((uint32_t)(((uint32_t)(x)) << SDIF_STATUS_FIFO_TX_WATERMARK_SHIFT)) & SDIF_STATUS_FIFO_TX_WATERMARK_MASK)
  6652. #define SDIF_STATUS_FIFO_EMPTY_MASK (0x4U)
  6653. #define SDIF_STATUS_FIFO_EMPTY_SHIFT (2U)
  6654. #define SDIF_STATUS_FIFO_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << SDIF_STATUS_FIFO_EMPTY_SHIFT)) & SDIF_STATUS_FIFO_EMPTY_MASK)
  6655. #define SDIF_STATUS_FIFO_FULL_MASK (0x8U)
  6656. #define SDIF_STATUS_FIFO_FULL_SHIFT (3U)
  6657. #define SDIF_STATUS_FIFO_FULL(x) (((uint32_t)(((uint32_t)(x)) << SDIF_STATUS_FIFO_FULL_SHIFT)) & SDIF_STATUS_FIFO_FULL_MASK)
  6658. #define SDIF_STATUS_CMDFSMSTATES_MASK (0xF0U)
  6659. #define SDIF_STATUS_CMDFSMSTATES_SHIFT (4U)
  6660. #define SDIF_STATUS_CMDFSMSTATES(x) (((uint32_t)(((uint32_t)(x)) << SDIF_STATUS_CMDFSMSTATES_SHIFT)) & SDIF_STATUS_CMDFSMSTATES_MASK)
  6661. #define SDIF_STATUS_DATA_3_STATUS_MASK (0x100U)
  6662. #define SDIF_STATUS_DATA_3_STATUS_SHIFT (8U)
  6663. #define SDIF_STATUS_DATA_3_STATUS(x) (((uint32_t)(((uint32_t)(x)) << SDIF_STATUS_DATA_3_STATUS_SHIFT)) & SDIF_STATUS_DATA_3_STATUS_MASK)
  6664. #define SDIF_STATUS_DATA_BUSY_MASK (0x200U)
  6665. #define SDIF_STATUS_DATA_BUSY_SHIFT (9U)
  6666. #define SDIF_STATUS_DATA_BUSY(x) (((uint32_t)(((uint32_t)(x)) << SDIF_STATUS_DATA_BUSY_SHIFT)) & SDIF_STATUS_DATA_BUSY_MASK)
  6667. #define SDIF_STATUS_DATA_STATE_MC_BUSY_MASK (0x400U)
  6668. #define SDIF_STATUS_DATA_STATE_MC_BUSY_SHIFT (10U)
  6669. #define SDIF_STATUS_DATA_STATE_MC_BUSY(x) (((uint32_t)(((uint32_t)(x)) << SDIF_STATUS_DATA_STATE_MC_BUSY_SHIFT)) & SDIF_STATUS_DATA_STATE_MC_BUSY_MASK)
  6670. #define SDIF_STATUS_RESPONSE_INDEX_MASK (0x1F800U)
  6671. #define SDIF_STATUS_RESPONSE_INDEX_SHIFT (11U)
  6672. #define SDIF_STATUS_RESPONSE_INDEX(x) (((uint32_t)(((uint32_t)(x)) << SDIF_STATUS_RESPONSE_INDEX_SHIFT)) & SDIF_STATUS_RESPONSE_INDEX_MASK)
  6673. #define SDIF_STATUS_FIFO_COUNT_MASK (0x3FFE0000U)
  6674. #define SDIF_STATUS_FIFO_COUNT_SHIFT (17U)
  6675. #define SDIF_STATUS_FIFO_COUNT(x) (((uint32_t)(((uint32_t)(x)) << SDIF_STATUS_FIFO_COUNT_SHIFT)) & SDIF_STATUS_FIFO_COUNT_MASK)
  6676. #define SDIF_STATUS_DMA_ACK_MASK (0x40000000U)
  6677. #define SDIF_STATUS_DMA_ACK_SHIFT (30U)
  6678. #define SDIF_STATUS_DMA_ACK(x) (((uint32_t)(((uint32_t)(x)) << SDIF_STATUS_DMA_ACK_SHIFT)) & SDIF_STATUS_DMA_ACK_MASK)
  6679. #define SDIF_STATUS_DMA_REQ_MASK (0x80000000U)
  6680. #define SDIF_STATUS_DMA_REQ_SHIFT (31U)
  6681. #define SDIF_STATUS_DMA_REQ(x) (((uint32_t)(((uint32_t)(x)) << SDIF_STATUS_DMA_REQ_SHIFT)) & SDIF_STATUS_DMA_REQ_MASK)
  6682. /*! @name FIFOTH - FIFO Threshold Watermark register */
  6683. #define SDIF_FIFOTH_TX_WMARK_MASK (0xFFFU)
  6684. #define SDIF_FIFOTH_TX_WMARK_SHIFT (0U)
  6685. #define SDIF_FIFOTH_TX_WMARK(x) (((uint32_t)(((uint32_t)(x)) << SDIF_FIFOTH_TX_WMARK_SHIFT)) & SDIF_FIFOTH_TX_WMARK_MASK)
  6686. #define SDIF_FIFOTH_RX_WMARK_MASK (0xFFF0000U)
  6687. #define SDIF_FIFOTH_RX_WMARK_SHIFT (16U)
  6688. #define SDIF_FIFOTH_RX_WMARK(x) (((uint32_t)(((uint32_t)(x)) << SDIF_FIFOTH_RX_WMARK_SHIFT)) & SDIF_FIFOTH_RX_WMARK_MASK)
  6689. #define SDIF_FIFOTH_DMA_MTS_MASK (0x70000000U)
  6690. #define SDIF_FIFOTH_DMA_MTS_SHIFT (28U)
  6691. #define SDIF_FIFOTH_DMA_MTS(x) (((uint32_t)(((uint32_t)(x)) << SDIF_FIFOTH_DMA_MTS_SHIFT)) & SDIF_FIFOTH_DMA_MTS_MASK)
  6692. /*! @name CDETECT - Card Detect register */
  6693. #define SDIF_CDETECT_CARD_DETECT_MASK (0x1U)
  6694. #define SDIF_CDETECT_CARD_DETECT_SHIFT (0U)
  6695. #define SDIF_CDETECT_CARD_DETECT(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CDETECT_CARD_DETECT_SHIFT)) & SDIF_CDETECT_CARD_DETECT_MASK)
  6696. /*! @name WRTPRT - Write Protect register */
  6697. #define SDIF_WRTPRT_WRITE_PROTECT_MASK (0x1U)
  6698. #define SDIF_WRTPRT_WRITE_PROTECT_SHIFT (0U)
  6699. #define SDIF_WRTPRT_WRITE_PROTECT(x) (((uint32_t)(((uint32_t)(x)) << SDIF_WRTPRT_WRITE_PROTECT_SHIFT)) & SDIF_WRTPRT_WRITE_PROTECT_MASK)
  6700. /*! @name TCBCNT - Transferred CIU Card Byte Count register */
  6701. #define SDIF_TCBCNT_TRANS_CARD_BYTE_COUNT_MASK (0xFFFFFFFFU)
  6702. #define SDIF_TCBCNT_TRANS_CARD_BYTE_COUNT_SHIFT (0U)
  6703. #define SDIF_TCBCNT_TRANS_CARD_BYTE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << SDIF_TCBCNT_TRANS_CARD_BYTE_COUNT_SHIFT)) & SDIF_TCBCNT_TRANS_CARD_BYTE_COUNT_MASK)
  6704. /*! @name TBBCNT - Transferred Host to BIU-FIFO Byte Count register */
  6705. #define SDIF_TBBCNT_TRANS_FIFO_BYTE_COUNT_MASK (0xFFFFFFFFU)
  6706. #define SDIF_TBBCNT_TRANS_FIFO_BYTE_COUNT_SHIFT (0U)
  6707. #define SDIF_TBBCNT_TRANS_FIFO_BYTE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << SDIF_TBBCNT_TRANS_FIFO_BYTE_COUNT_SHIFT)) & SDIF_TBBCNT_TRANS_FIFO_BYTE_COUNT_MASK)
  6708. /*! @name DEBNCE - Debounce Count register */
  6709. #define SDIF_DEBNCE_DEBOUNCE_COUNT_MASK (0xFFFFFFU)
  6710. #define SDIF_DEBNCE_DEBOUNCE_COUNT_SHIFT (0U)
  6711. #define SDIF_DEBNCE_DEBOUNCE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << SDIF_DEBNCE_DEBOUNCE_COUNT_SHIFT)) & SDIF_DEBNCE_DEBOUNCE_COUNT_MASK)
  6712. /*! @name RST_N - Hardware Reset */
  6713. #define SDIF_RST_N_CARD_RESET_MASK (0x1U)
  6714. #define SDIF_RST_N_CARD_RESET_SHIFT (0U)
  6715. #define SDIF_RST_N_CARD_RESET(x) (((uint32_t)(((uint32_t)(x)) << SDIF_RST_N_CARD_RESET_SHIFT)) & SDIF_RST_N_CARD_RESET_MASK)
  6716. /*! @name BMOD - Bus Mode register */
  6717. #define SDIF_BMOD_SWR_MASK (0x1U)
  6718. #define SDIF_BMOD_SWR_SHIFT (0U)
  6719. #define SDIF_BMOD_SWR(x) (((uint32_t)(((uint32_t)(x)) << SDIF_BMOD_SWR_SHIFT)) & SDIF_BMOD_SWR_MASK)
  6720. #define SDIF_BMOD_FB_MASK (0x2U)
  6721. #define SDIF_BMOD_FB_SHIFT (1U)
  6722. #define SDIF_BMOD_FB(x) (((uint32_t)(((uint32_t)(x)) << SDIF_BMOD_FB_SHIFT)) & SDIF_BMOD_FB_MASK)
  6723. #define SDIF_BMOD_DSL_MASK (0x7CU)
  6724. #define SDIF_BMOD_DSL_SHIFT (2U)
  6725. #define SDIF_BMOD_DSL(x) (((uint32_t)(((uint32_t)(x)) << SDIF_BMOD_DSL_SHIFT)) & SDIF_BMOD_DSL_MASK)
  6726. #define SDIF_BMOD_DE_MASK (0x80U)
  6727. #define SDIF_BMOD_DE_SHIFT (7U)
  6728. #define SDIF_BMOD_DE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_BMOD_DE_SHIFT)) & SDIF_BMOD_DE_MASK)
  6729. #define SDIF_BMOD_PBL_MASK (0x700U)
  6730. #define SDIF_BMOD_PBL_SHIFT (8U)
  6731. #define SDIF_BMOD_PBL(x) (((uint32_t)(((uint32_t)(x)) << SDIF_BMOD_PBL_SHIFT)) & SDIF_BMOD_PBL_MASK)
  6732. /*! @name PLDMND - Poll Demand register */
  6733. #define SDIF_PLDMND_PD_MASK (0xFFFFFFFFU)
  6734. #define SDIF_PLDMND_PD_SHIFT (0U)
  6735. #define SDIF_PLDMND_PD(x) (((uint32_t)(((uint32_t)(x)) << SDIF_PLDMND_PD_SHIFT)) & SDIF_PLDMND_PD_MASK)
  6736. /*! @name DBADDR - Descriptor List Base Address register */
  6737. #define SDIF_DBADDR_SDL_MASK (0xFFFFFFFFU)
  6738. #define SDIF_DBADDR_SDL_SHIFT (0U)
  6739. #define SDIF_DBADDR_SDL(x) (((uint32_t)(((uint32_t)(x)) << SDIF_DBADDR_SDL_SHIFT)) & SDIF_DBADDR_SDL_MASK)
  6740. /*! @name IDSTS - Internal DMAC Status register */
  6741. #define SDIF_IDSTS_TI_MASK (0x1U)
  6742. #define SDIF_IDSTS_TI_SHIFT (0U)
  6743. #define SDIF_IDSTS_TI(x) (((uint32_t)(((uint32_t)(x)) << SDIF_IDSTS_TI_SHIFT)) & SDIF_IDSTS_TI_MASK)
  6744. #define SDIF_IDSTS_RI_MASK (0x2U)
  6745. #define SDIF_IDSTS_RI_SHIFT (1U)
  6746. #define SDIF_IDSTS_RI(x) (((uint32_t)(((uint32_t)(x)) << SDIF_IDSTS_RI_SHIFT)) & SDIF_IDSTS_RI_MASK)
  6747. #define SDIF_IDSTS_FBE_MASK (0x4U)
  6748. #define SDIF_IDSTS_FBE_SHIFT (2U)
  6749. #define SDIF_IDSTS_FBE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_IDSTS_FBE_SHIFT)) & SDIF_IDSTS_FBE_MASK)
  6750. #define SDIF_IDSTS_DU_MASK (0x10U)
  6751. #define SDIF_IDSTS_DU_SHIFT (4U)
  6752. #define SDIF_IDSTS_DU(x) (((uint32_t)(((uint32_t)(x)) << SDIF_IDSTS_DU_SHIFT)) & SDIF_IDSTS_DU_MASK)
  6753. #define SDIF_IDSTS_CES_MASK (0x20U)
  6754. #define SDIF_IDSTS_CES_SHIFT (5U)
  6755. #define SDIF_IDSTS_CES(x) (((uint32_t)(((uint32_t)(x)) << SDIF_IDSTS_CES_SHIFT)) & SDIF_IDSTS_CES_MASK)
  6756. #define SDIF_IDSTS_NIS_MASK (0x100U)
  6757. #define SDIF_IDSTS_NIS_SHIFT (8U)
  6758. #define SDIF_IDSTS_NIS(x) (((uint32_t)(((uint32_t)(x)) << SDIF_IDSTS_NIS_SHIFT)) & SDIF_IDSTS_NIS_MASK)
  6759. #define SDIF_IDSTS_AIS_MASK (0x200U)
  6760. #define SDIF_IDSTS_AIS_SHIFT (9U)
  6761. #define SDIF_IDSTS_AIS(x) (((uint32_t)(((uint32_t)(x)) << SDIF_IDSTS_AIS_SHIFT)) & SDIF_IDSTS_AIS_MASK)
  6762. #define SDIF_IDSTS_EB_MASK (0x1C00U)
  6763. #define SDIF_IDSTS_EB_SHIFT (10U)
  6764. #define SDIF_IDSTS_EB(x) (((uint32_t)(((uint32_t)(x)) << SDIF_IDSTS_EB_SHIFT)) & SDIF_IDSTS_EB_MASK)
  6765. #define SDIF_IDSTS_FSM_MASK (0x1E000U)
  6766. #define SDIF_IDSTS_FSM_SHIFT (13U)
  6767. #define SDIF_IDSTS_FSM(x) (((uint32_t)(((uint32_t)(x)) << SDIF_IDSTS_FSM_SHIFT)) & SDIF_IDSTS_FSM_MASK)
  6768. /*! @name IDINTEN - Internal DMAC Interrupt Enable register */
  6769. #define SDIF_IDINTEN_TI_MASK (0x1U)
  6770. #define SDIF_IDINTEN_TI_SHIFT (0U)
  6771. #define SDIF_IDINTEN_TI(x) (((uint32_t)(((uint32_t)(x)) << SDIF_IDINTEN_TI_SHIFT)) & SDIF_IDINTEN_TI_MASK)
  6772. #define SDIF_IDINTEN_RI_MASK (0x2U)
  6773. #define SDIF_IDINTEN_RI_SHIFT (1U)
  6774. #define SDIF_IDINTEN_RI(x) (((uint32_t)(((uint32_t)(x)) << SDIF_IDINTEN_RI_SHIFT)) & SDIF_IDINTEN_RI_MASK)
  6775. #define SDIF_IDINTEN_FBE_MASK (0x4U)
  6776. #define SDIF_IDINTEN_FBE_SHIFT (2U)
  6777. #define SDIF_IDINTEN_FBE(x) (((uint32_t)(((uint32_t)(x)) << SDIF_IDINTEN_FBE_SHIFT)) & SDIF_IDINTEN_FBE_MASK)
  6778. #define SDIF_IDINTEN_DU_MASK (0x10U)
  6779. #define SDIF_IDINTEN_DU_SHIFT (4U)
  6780. #define SDIF_IDINTEN_DU(x) (((uint32_t)(((uint32_t)(x)) << SDIF_IDINTEN_DU_SHIFT)) & SDIF_IDINTEN_DU_MASK)
  6781. #define SDIF_IDINTEN_CES_MASK (0x20U)
  6782. #define SDIF_IDINTEN_CES_SHIFT (5U)
  6783. #define SDIF_IDINTEN_CES(x) (((uint32_t)(((uint32_t)(x)) << SDIF_IDINTEN_CES_SHIFT)) & SDIF_IDINTEN_CES_MASK)
  6784. #define SDIF_IDINTEN_NIS_MASK (0x100U)
  6785. #define SDIF_IDINTEN_NIS_SHIFT (8U)
  6786. #define SDIF_IDINTEN_NIS(x) (((uint32_t)(((uint32_t)(x)) << SDIF_IDINTEN_NIS_SHIFT)) & SDIF_IDINTEN_NIS_MASK)
  6787. #define SDIF_IDINTEN_AIS_MASK (0x200U)
  6788. #define SDIF_IDINTEN_AIS_SHIFT (9U)
  6789. #define SDIF_IDINTEN_AIS(x) (((uint32_t)(((uint32_t)(x)) << SDIF_IDINTEN_AIS_SHIFT)) & SDIF_IDINTEN_AIS_MASK)
  6790. /*! @name DSCADDR - Current Host Descriptor Address register */
  6791. #define SDIF_DSCADDR_HDA_MASK (0xFFFFFFFFU)
  6792. #define SDIF_DSCADDR_HDA_SHIFT (0U)
  6793. #define SDIF_DSCADDR_HDA(x) (((uint32_t)(((uint32_t)(x)) << SDIF_DSCADDR_HDA_SHIFT)) & SDIF_DSCADDR_HDA_MASK)
  6794. /*! @name BUFADDR - Current Buffer Descriptor Address register */
  6795. #define SDIF_BUFADDR_HBA_MASK (0xFFFFFFFFU)
  6796. #define SDIF_BUFADDR_HBA_SHIFT (0U)
  6797. #define SDIF_BUFADDR_HBA(x) (((uint32_t)(((uint32_t)(x)) << SDIF_BUFADDR_HBA_SHIFT)) & SDIF_BUFADDR_HBA_MASK)
  6798. /*! @name CARDTHRCTL - Card Threshold Control */
  6799. #define SDIF_CARDTHRCTL_CARDRDTHREN_MASK (0x1U)
  6800. #define SDIF_CARDTHRCTL_CARDRDTHREN_SHIFT (0U)
  6801. #define SDIF_CARDTHRCTL_CARDRDTHREN(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CARDTHRCTL_CARDRDTHREN_SHIFT)) & SDIF_CARDTHRCTL_CARDRDTHREN_MASK)
  6802. #define SDIF_CARDTHRCTL_BSYCLRINTEN_MASK (0x2U)
  6803. #define SDIF_CARDTHRCTL_BSYCLRINTEN_SHIFT (1U)
  6804. #define SDIF_CARDTHRCTL_BSYCLRINTEN(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CARDTHRCTL_BSYCLRINTEN_SHIFT)) & SDIF_CARDTHRCTL_BSYCLRINTEN_MASK)
  6805. #define SDIF_CARDTHRCTL_CARDTHRESHOLD_MASK (0xFF0000U)
  6806. #define SDIF_CARDTHRCTL_CARDTHRESHOLD_SHIFT (16U)
  6807. #define SDIF_CARDTHRCTL_CARDTHRESHOLD(x) (((uint32_t)(((uint32_t)(x)) << SDIF_CARDTHRCTL_CARDTHRESHOLD_SHIFT)) & SDIF_CARDTHRCTL_CARDTHRESHOLD_MASK)
  6808. /*! @name BACKENDPWR - Power control */
  6809. #define SDIF_BACKENDPWR_BACKENDPWR_MASK (0x1U)
  6810. #define SDIF_BACKENDPWR_BACKENDPWR_SHIFT (0U)
  6811. #define SDIF_BACKENDPWR_BACKENDPWR(x) (((uint32_t)(((uint32_t)(x)) << SDIF_BACKENDPWR_BACKENDPWR_SHIFT)) & SDIF_BACKENDPWR_BACKENDPWR_MASK)
  6812. /*! @name FIFO - SDIF FIFO */
  6813. #define SDIF_FIFO_DATA_MASK (0xFFFFFFFFU)
  6814. #define SDIF_FIFO_DATA_SHIFT (0U)
  6815. #define SDIF_FIFO_DATA(x) (((uint32_t)(((uint32_t)(x)) << SDIF_FIFO_DATA_SHIFT)) & SDIF_FIFO_DATA_MASK)
  6816. /* The count of SDIF_FIFO */
  6817. #define SDIF_FIFO_COUNT (64U)
  6818. /*!
  6819. * @}
  6820. */ /* end of group SDIF_Register_Masks */
  6821. /* SDIF - Peripheral instance base addresses */
  6822. /** Peripheral SDIF base address */
  6823. #define SDIF_BASE (0x4009B000u)
  6824. /** Peripheral SDIF base pointer */
  6825. #define SDIF ((SDIF_Type *)SDIF_BASE)
  6826. /** Array initializer of SDIF peripheral base addresses */
  6827. #define SDIF_BASE_ADDRS { SDIF_BASE }
  6828. /** Array initializer of SDIF peripheral base pointers */
  6829. #define SDIF_BASE_PTRS { SDIF }
  6830. /** Interrupt vectors for the SDIF peripheral type */
  6831. #define SDIF_IRQS { SDIO_IRQn }
  6832. /*!
  6833. * @}
  6834. */ /* end of group SDIF_Peripheral_Access_Layer */
  6835. /* ----------------------------------------------------------------------------
  6836. -- SMARTCARD Peripheral Access Layer
  6837. ---------------------------------------------------------------------------- */
  6838. /*!
  6839. * @addtogroup SMARTCARD_Peripheral_Access_Layer SMARTCARD Peripheral Access Layer
  6840. * @{
  6841. */
  6842. /** SMARTCARD - Register Layout Typedef */
  6843. typedef struct {
  6844. union { /* offset: 0x0 */
  6845. __IO uint32_t DLL; /**< Divisor Latch LSB, offset: 0x0 */
  6846. __I uint32_t RBR; /**< Receiver Buffer Register, offset: 0x0 */
  6847. __O uint32_t THR; /**< Transmit Holding Register, offset: 0x0 */
  6848. };
  6849. union { /* offset: 0x4 */
  6850. __IO uint32_t DLM; /**< Divisor Latch MSB, offset: 0x4 */
  6851. __IO uint32_t IER; /**< Interrupt Enable Register, offset: 0x4 */
  6852. };
  6853. union { /* offset: 0x8 */
  6854. __O uint32_t FCR; /**< FIFO Control Register, offset: 0x8 */
  6855. __I uint32_t IIR; /**< Interrupt ID Register, offset: 0x8 */
  6856. };
  6857. __IO uint32_t LCR; /**< Line Control Register, offset: 0xC */
  6858. uint8_t RESERVED_0[4];
  6859. __I uint32_t LSR; /**< Line Status Register, offset: 0x14 */
  6860. uint8_t RESERVED_1[4];
  6861. __IO uint32_t SCR; /**< Scratch Pad Register, offset: 0x1C */
  6862. uint8_t RESERVED_2[12];
  6863. __IO uint32_t OSR; /**< Oversampling register, offset: 0x2C */
  6864. uint8_t RESERVED_3[24];
  6865. __IO uint32_t SCICTRL; /**< Smart Card Interface control register, offset: 0x48 */
  6866. } SMARTCARD_Type;
  6867. /* ----------------------------------------------------------------------------
  6868. -- SMARTCARD Register Masks
  6869. ---------------------------------------------------------------------------- */
  6870. /*!
  6871. * @addtogroup SMARTCARD_Register_Masks SMARTCARD Register Masks
  6872. * @{
  6873. */
  6874. /*! @name DLL - Divisor Latch LSB */
  6875. #define SMARTCARD_DLL_DLLSB_MASK (0xFFU)
  6876. #define SMARTCARD_DLL_DLLSB_SHIFT (0U)
  6877. #define SMARTCARD_DLL_DLLSB(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_DLL_DLLSB_SHIFT)) & SMARTCARD_DLL_DLLSB_MASK)
  6878. /*! @name RBR - Receiver Buffer Register */
  6879. #define SMARTCARD_RBR_RBR_MASK (0xFFU)
  6880. #define SMARTCARD_RBR_RBR_SHIFT (0U)
  6881. #define SMARTCARD_RBR_RBR(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_RBR_RBR_SHIFT)) & SMARTCARD_RBR_RBR_MASK)
  6882. /*! @name THR - Transmit Holding Register */
  6883. #define SMARTCARD_THR_THR_MASK (0xFFU)
  6884. #define SMARTCARD_THR_THR_SHIFT (0U)
  6885. #define SMARTCARD_THR_THR(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_THR_THR_SHIFT)) & SMARTCARD_THR_THR_MASK)
  6886. /*! @name DLM - Divisor Latch MSB */
  6887. #define SMARTCARD_DLM_DLMSB_MASK (0xFFU)
  6888. #define SMARTCARD_DLM_DLMSB_SHIFT (0U)
  6889. #define SMARTCARD_DLM_DLMSB(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_DLM_DLMSB_SHIFT)) & SMARTCARD_DLM_DLMSB_MASK)
  6890. /*! @name IER - Interrupt Enable Register */
  6891. #define SMARTCARD_IER_RBRIE_MASK (0x1U)
  6892. #define SMARTCARD_IER_RBRIE_SHIFT (0U)
  6893. #define SMARTCARD_IER_RBRIE(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_IER_RBRIE_SHIFT)) & SMARTCARD_IER_RBRIE_MASK)
  6894. #define SMARTCARD_IER_THREIE_MASK (0x2U)
  6895. #define SMARTCARD_IER_THREIE_SHIFT (1U)
  6896. #define SMARTCARD_IER_THREIE(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_IER_THREIE_SHIFT)) & SMARTCARD_IER_THREIE_MASK)
  6897. #define SMARTCARD_IER_RXIE_MASK (0x4U)
  6898. #define SMARTCARD_IER_RXIE_SHIFT (2U)
  6899. #define SMARTCARD_IER_RXIE(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_IER_RXIE_SHIFT)) & SMARTCARD_IER_RXIE_MASK)
  6900. /*! @name FCR - FIFO Control Register */
  6901. #define SMARTCARD_FCR_FIFOEN_MASK (0x1U)
  6902. #define SMARTCARD_FCR_FIFOEN_SHIFT (0U)
  6903. #define SMARTCARD_FCR_FIFOEN(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_FCR_FIFOEN_SHIFT)) & SMARTCARD_FCR_FIFOEN_MASK)
  6904. #define SMARTCARD_FCR_RXFIFORES_MASK (0x2U)
  6905. #define SMARTCARD_FCR_RXFIFORES_SHIFT (1U)
  6906. #define SMARTCARD_FCR_RXFIFORES(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_FCR_RXFIFORES_SHIFT)) & SMARTCARD_FCR_RXFIFORES_MASK)
  6907. #define SMARTCARD_FCR_TXFIFORES_MASK (0x4U)
  6908. #define SMARTCARD_FCR_TXFIFORES_SHIFT (2U)
  6909. #define SMARTCARD_FCR_TXFIFORES(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_FCR_TXFIFORES_SHIFT)) & SMARTCARD_FCR_TXFIFORES_MASK)
  6910. #define SMARTCARD_FCR_DMAMODE_MASK (0x8U)
  6911. #define SMARTCARD_FCR_DMAMODE_SHIFT (3U)
  6912. #define SMARTCARD_FCR_DMAMODE(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_FCR_DMAMODE_SHIFT)) & SMARTCARD_FCR_DMAMODE_MASK)
  6913. #define SMARTCARD_FCR_RXTRIGLVL_MASK (0xC0U)
  6914. #define SMARTCARD_FCR_RXTRIGLVL_SHIFT (6U)
  6915. #define SMARTCARD_FCR_RXTRIGLVL(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_FCR_RXTRIGLVL_SHIFT)) & SMARTCARD_FCR_RXTRIGLVL_MASK)
  6916. /*! @name IIR - Interrupt ID Register */
  6917. #define SMARTCARD_IIR_INTSTATUS_MASK (0x1U)
  6918. #define SMARTCARD_IIR_INTSTATUS_SHIFT (0U)
  6919. #define SMARTCARD_IIR_INTSTATUS(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_IIR_INTSTATUS_SHIFT)) & SMARTCARD_IIR_INTSTATUS_MASK)
  6920. #define SMARTCARD_IIR_INTID_MASK (0xEU)
  6921. #define SMARTCARD_IIR_INTID_SHIFT (1U)
  6922. #define SMARTCARD_IIR_INTID(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_IIR_INTID_SHIFT)) & SMARTCARD_IIR_INTID_MASK)
  6923. #define SMARTCARD_IIR_FIFOENABLE_MASK (0xC0U)
  6924. #define SMARTCARD_IIR_FIFOENABLE_SHIFT (6U)
  6925. #define SMARTCARD_IIR_FIFOENABLE(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_IIR_FIFOENABLE_SHIFT)) & SMARTCARD_IIR_FIFOENABLE_MASK)
  6926. /*! @name LCR - Line Control Register */
  6927. #define SMARTCARD_LCR_WLS_MASK (0x3U)
  6928. #define SMARTCARD_LCR_WLS_SHIFT (0U)
  6929. #define SMARTCARD_LCR_WLS(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_LCR_WLS_SHIFT)) & SMARTCARD_LCR_WLS_MASK)
  6930. #define SMARTCARD_LCR_SBS_MASK (0x4U)
  6931. #define SMARTCARD_LCR_SBS_SHIFT (2U)
  6932. #define SMARTCARD_LCR_SBS(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_LCR_SBS_SHIFT)) & SMARTCARD_LCR_SBS_MASK)
  6933. #define SMARTCARD_LCR_PE_MASK (0x8U)
  6934. #define SMARTCARD_LCR_PE_SHIFT (3U)
  6935. #define SMARTCARD_LCR_PE(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_LCR_PE_SHIFT)) & SMARTCARD_LCR_PE_MASK)
  6936. #define SMARTCARD_LCR_PS_MASK (0x30U)
  6937. #define SMARTCARD_LCR_PS_SHIFT (4U)
  6938. #define SMARTCARD_LCR_PS(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_LCR_PS_SHIFT)) & SMARTCARD_LCR_PS_MASK)
  6939. #define SMARTCARD_LCR_DLAB_MASK (0x80U)
  6940. #define SMARTCARD_LCR_DLAB_SHIFT (7U)
  6941. #define SMARTCARD_LCR_DLAB(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_LCR_DLAB_SHIFT)) & SMARTCARD_LCR_DLAB_MASK)
  6942. /*! @name LSR - Line Status Register */
  6943. #define SMARTCARD_LSR_RDR_MASK (0x1U)
  6944. #define SMARTCARD_LSR_RDR_SHIFT (0U)
  6945. #define SMARTCARD_LSR_RDR(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_LSR_RDR_SHIFT)) & SMARTCARD_LSR_RDR_MASK)
  6946. #define SMARTCARD_LSR_OE_MASK (0x2U)
  6947. #define SMARTCARD_LSR_OE_SHIFT (1U)
  6948. #define SMARTCARD_LSR_OE(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_LSR_OE_SHIFT)) & SMARTCARD_LSR_OE_MASK)
  6949. #define SMARTCARD_LSR_PE_MASK (0x4U)
  6950. #define SMARTCARD_LSR_PE_SHIFT (2U)
  6951. #define SMARTCARD_LSR_PE(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_LSR_PE_SHIFT)) & SMARTCARD_LSR_PE_MASK)
  6952. #define SMARTCARD_LSR_FE_MASK (0x8U)
  6953. #define SMARTCARD_LSR_FE_SHIFT (3U)
  6954. #define SMARTCARD_LSR_FE(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_LSR_FE_SHIFT)) & SMARTCARD_LSR_FE_MASK)
  6955. #define SMARTCARD_LSR_THRE_MASK (0x20U)
  6956. #define SMARTCARD_LSR_THRE_SHIFT (5U)
  6957. #define SMARTCARD_LSR_THRE(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_LSR_THRE_SHIFT)) & SMARTCARD_LSR_THRE_MASK)
  6958. #define SMARTCARD_LSR_TEMT_MASK (0x40U)
  6959. #define SMARTCARD_LSR_TEMT_SHIFT (6U)
  6960. #define SMARTCARD_LSR_TEMT(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_LSR_TEMT_SHIFT)) & SMARTCARD_LSR_TEMT_MASK)
  6961. #define SMARTCARD_LSR_RXFE_MASK (0x80U)
  6962. #define SMARTCARD_LSR_RXFE_SHIFT (7U)
  6963. #define SMARTCARD_LSR_RXFE(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_LSR_RXFE_SHIFT)) & SMARTCARD_LSR_RXFE_MASK)
  6964. /*! @name SCR - Scratch Pad Register */
  6965. #define SMARTCARD_SCR_PAD_MASK (0xFFU)
  6966. #define SMARTCARD_SCR_PAD_SHIFT (0U)
  6967. #define SMARTCARD_SCR_PAD(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_SCR_PAD_SHIFT)) & SMARTCARD_SCR_PAD_MASK)
  6968. /*! @name OSR - Oversampling register */
  6969. #define SMARTCARD_OSR_OSFRAC_MASK (0xEU)
  6970. #define SMARTCARD_OSR_OSFRAC_SHIFT (1U)
  6971. #define SMARTCARD_OSR_OSFRAC(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_OSR_OSFRAC_SHIFT)) & SMARTCARD_OSR_OSFRAC_MASK)
  6972. #define SMARTCARD_OSR_OSINT_MASK (0xF0U)
  6973. #define SMARTCARD_OSR_OSINT_SHIFT (4U)
  6974. #define SMARTCARD_OSR_OSINT(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_OSR_OSINT_SHIFT)) & SMARTCARD_OSR_OSINT_MASK)
  6975. #define SMARTCARD_OSR_FDINT_MASK (0x7F00U)
  6976. #define SMARTCARD_OSR_FDINT_SHIFT (8U)
  6977. #define SMARTCARD_OSR_FDINT(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_OSR_FDINT_SHIFT)) & SMARTCARD_OSR_FDINT_MASK)
  6978. /*! @name SCICTRL - Smart Card Interface control register */
  6979. #define SMARTCARD_SCICTRL_SCIEN_MASK (0x1U)
  6980. #define SMARTCARD_SCICTRL_SCIEN_SHIFT (0U)
  6981. #define SMARTCARD_SCICTRL_SCIEN(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_SCICTRL_SCIEN_SHIFT)) & SMARTCARD_SCICTRL_SCIEN_MASK)
  6982. #define SMARTCARD_SCICTRL_NACKDIS_MASK (0x2U)
  6983. #define SMARTCARD_SCICTRL_NACKDIS_SHIFT (1U)
  6984. #define SMARTCARD_SCICTRL_NACKDIS(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_SCICTRL_NACKDIS_SHIFT)) & SMARTCARD_SCICTRL_NACKDIS_MASK)
  6985. #define SMARTCARD_SCICTRL_PROTSEL_MASK (0x4U)
  6986. #define SMARTCARD_SCICTRL_PROTSEL_SHIFT (2U)
  6987. #define SMARTCARD_SCICTRL_PROTSEL(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_SCICTRL_PROTSEL_SHIFT)) & SMARTCARD_SCICTRL_PROTSEL_MASK)
  6988. #define SMARTCARD_SCICTRL_TXRETRY_MASK (0xE0U)
  6989. #define SMARTCARD_SCICTRL_TXRETRY_SHIFT (5U)
  6990. #define SMARTCARD_SCICTRL_TXRETRY(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_SCICTRL_TXRETRY_SHIFT)) & SMARTCARD_SCICTRL_TXRETRY_MASK)
  6991. #define SMARTCARD_SCICTRL_GUARDTIME_MASK (0xFF00U)
  6992. #define SMARTCARD_SCICTRL_GUARDTIME_SHIFT (8U)
  6993. #define SMARTCARD_SCICTRL_GUARDTIME(x) (((uint32_t)(((uint32_t)(x)) << SMARTCARD_SCICTRL_GUARDTIME_SHIFT)) & SMARTCARD_SCICTRL_GUARDTIME_MASK)
  6994. /*!
  6995. * @}
  6996. */ /* end of group SMARTCARD_Register_Masks */
  6997. /* SMARTCARD - Peripheral instance base addresses */
  6998. /** Peripheral SMARTCARD0 base address */
  6999. #define SMARTCARD0_BASE (0x40036000u)
  7000. /** Peripheral SMARTCARD0 base pointer */
  7001. #define SMARTCARD0 ((SMARTCARD_Type *)SMARTCARD0_BASE)
  7002. /** Peripheral SMARTCARD1 base address */
  7003. #define SMARTCARD1_BASE (0x40037000u)
  7004. /** Peripheral SMARTCARD1 base pointer */
  7005. #define SMARTCARD1 ((SMARTCARD_Type *)SMARTCARD1_BASE)
  7006. /** Array initializer of SMARTCARD peripheral base addresses */
  7007. #define SMARTCARD_BASE_ADDRS { SMARTCARD0_BASE, SMARTCARD1_BASE }
  7008. /** Array initializer of SMARTCARD peripheral base pointers */
  7009. #define SMARTCARD_BASE_PTRS { SMARTCARD0, SMARTCARD1 }
  7010. /** Interrupt vectors for the SMARTCARD peripheral type */
  7011. #define SMARTCARD_IRQS { SMARTCARD0_IRQn, SMARTCARD1_IRQn }
  7012. /*!
  7013. * @}
  7014. */ /* end of group SMARTCARD_Peripheral_Access_Layer */
  7015. /* ----------------------------------------------------------------------------
  7016. -- SPI Peripheral Access Layer
  7017. ---------------------------------------------------------------------------- */
  7018. /*!
  7019. * @addtogroup SPI_Peripheral_Access_Layer SPI Peripheral Access Layer
  7020. * @{
  7021. */
  7022. /** SPI - Register Layout Typedef */
  7023. typedef struct {
  7024. uint8_t RESERVED_0[1024];
  7025. __IO uint32_t CFG; /**< SPI Configuration register, offset: 0x400 */
  7026. __IO uint32_t DLY; /**< SPI Delay register, offset: 0x404 */
  7027. __IO uint32_t STAT; /**< SPI Status. Some status flags can be cleared by writing a 1 to that bit position., offset: 0x408 */
  7028. __IO uint32_t INTENSET; /**< SPI Interrupt Enable read and Set. A complete value may be read from this register. Writing a 1 to any implemented bit position causes that bit to be set., offset: 0x40C */
  7029. __O uint32_t INTENCLR; /**< SPI Interrupt Enable Clear. Writing a 1 to any implemented bit position causes the corresponding bit in INTENSET to be cleared., offset: 0x410 */
  7030. uint8_t RESERVED_1[16];
  7031. __IO uint32_t DIV; /**< SPI clock Divider, offset: 0x424 */
  7032. __I uint32_t INTSTAT; /**< SPI Interrupt Status, offset: 0x428 */
  7033. uint8_t RESERVED_2[2516];
  7034. __IO uint32_t FIFOCFG; /**< FIFO configuration and enable register., offset: 0xE00 */
  7035. __IO uint32_t FIFOSTAT; /**< FIFO status register., offset: 0xE04 */
  7036. __IO uint32_t FIFOTRIG; /**< FIFO trigger settings for interrupt and DMA request., offset: 0xE08 */
  7037. uint8_t RESERVED_3[4];
  7038. __IO uint32_t FIFOINTENSET; /**< FIFO interrupt enable set (enable) and read register., offset: 0xE10 */
  7039. __IO uint32_t FIFOINTENCLR; /**< FIFO interrupt enable clear (disable) and read register., offset: 0xE14 */
  7040. __I uint32_t FIFOINTSTAT; /**< FIFO interrupt status register., offset: 0xE18 */
  7041. uint8_t RESERVED_4[4];
  7042. __IO uint32_t FIFOWR; /**< FIFO write data., offset: 0xE20 */
  7043. uint8_t RESERVED_5[12];
  7044. __I uint32_t FIFORD; /**< FIFO read data., offset: 0xE30 */
  7045. uint8_t RESERVED_6[12];
  7046. __I uint32_t FIFORDNOPOP; /**< FIFO data read with no FIFO pop., offset: 0xE40 */
  7047. uint8_t RESERVED_7[440];
  7048. __I uint32_t ID; /**< Peripheral identification register., offset: 0xFFC */
  7049. } SPI_Type;
  7050. /* ----------------------------------------------------------------------------
  7051. -- SPI Register Masks
  7052. ---------------------------------------------------------------------------- */
  7053. /*!
  7054. * @addtogroup SPI_Register_Masks SPI Register Masks
  7055. * @{
  7056. */
  7057. /*! @name CFG - SPI Configuration register */
  7058. #define SPI_CFG_ENABLE_MASK (0x1U)
  7059. #define SPI_CFG_ENABLE_SHIFT (0U)
  7060. #define SPI_CFG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_ENABLE_SHIFT)) & SPI_CFG_ENABLE_MASK)
  7061. #define SPI_CFG_MASTER_MASK (0x4U)
  7062. #define SPI_CFG_MASTER_SHIFT (2U)
  7063. #define SPI_CFG_MASTER(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_MASTER_SHIFT)) & SPI_CFG_MASTER_MASK)
  7064. #define SPI_CFG_LSBF_MASK (0x8U)
  7065. #define SPI_CFG_LSBF_SHIFT (3U)
  7066. #define SPI_CFG_LSBF(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_LSBF_SHIFT)) & SPI_CFG_LSBF_MASK)
  7067. #define SPI_CFG_CPHA_MASK (0x10U)
  7068. #define SPI_CFG_CPHA_SHIFT (4U)
  7069. #define SPI_CFG_CPHA(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_CPHA_SHIFT)) & SPI_CFG_CPHA_MASK)
  7070. #define SPI_CFG_CPOL_MASK (0x20U)
  7071. #define SPI_CFG_CPOL_SHIFT (5U)
  7072. #define SPI_CFG_CPOL(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_CPOL_SHIFT)) & SPI_CFG_CPOL_MASK)
  7073. #define SPI_CFG_LOOP_MASK (0x80U)
  7074. #define SPI_CFG_LOOP_SHIFT (7U)
  7075. #define SPI_CFG_LOOP(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_LOOP_SHIFT)) & SPI_CFG_LOOP_MASK)
  7076. #define SPI_CFG_SPOL0_MASK (0x100U)
  7077. #define SPI_CFG_SPOL0_SHIFT (8U)
  7078. #define SPI_CFG_SPOL0(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_SPOL0_SHIFT)) & SPI_CFG_SPOL0_MASK)
  7079. #define SPI_CFG_SPOL1_MASK (0x200U)
  7080. #define SPI_CFG_SPOL1_SHIFT (9U)
  7081. #define SPI_CFG_SPOL1(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_SPOL1_SHIFT)) & SPI_CFG_SPOL1_MASK)
  7082. #define SPI_CFG_SPOL2_MASK (0x400U)
  7083. #define SPI_CFG_SPOL2_SHIFT (10U)
  7084. #define SPI_CFG_SPOL2(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_SPOL2_SHIFT)) & SPI_CFG_SPOL2_MASK)
  7085. #define SPI_CFG_SPOL3_MASK (0x800U)
  7086. #define SPI_CFG_SPOL3_SHIFT (11U)
  7087. #define SPI_CFG_SPOL3(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_SPOL3_SHIFT)) & SPI_CFG_SPOL3_MASK)
  7088. /*! @name DLY - SPI Delay register */
  7089. #define SPI_DLY_PRE_DELAY_MASK (0xFU)
  7090. #define SPI_DLY_PRE_DELAY_SHIFT (0U)
  7091. #define SPI_DLY_PRE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << SPI_DLY_PRE_DELAY_SHIFT)) & SPI_DLY_PRE_DELAY_MASK)
  7092. #define SPI_DLY_POST_DELAY_MASK (0xF0U)
  7093. #define SPI_DLY_POST_DELAY_SHIFT (4U)
  7094. #define SPI_DLY_POST_DELAY(x) (((uint32_t)(((uint32_t)(x)) << SPI_DLY_POST_DELAY_SHIFT)) & SPI_DLY_POST_DELAY_MASK)
  7095. #define SPI_DLY_FRAME_DELAY_MASK (0xF00U)
  7096. #define SPI_DLY_FRAME_DELAY_SHIFT (8U)
  7097. #define SPI_DLY_FRAME_DELAY(x) (((uint32_t)(((uint32_t)(x)) << SPI_DLY_FRAME_DELAY_SHIFT)) & SPI_DLY_FRAME_DELAY_MASK)
  7098. #define SPI_DLY_TRANSFER_DELAY_MASK (0xF000U)
  7099. #define SPI_DLY_TRANSFER_DELAY_SHIFT (12U)
  7100. #define SPI_DLY_TRANSFER_DELAY(x) (((uint32_t)(((uint32_t)(x)) << SPI_DLY_TRANSFER_DELAY_SHIFT)) & SPI_DLY_TRANSFER_DELAY_MASK)
  7101. /*! @name STAT - SPI Status. Some status flags can be cleared by writing a 1 to that bit position. */
  7102. #define SPI_STAT_SSA_MASK (0x10U)
  7103. #define SPI_STAT_SSA_SHIFT (4U)
  7104. #define SPI_STAT_SSA(x) (((uint32_t)(((uint32_t)(x)) << SPI_STAT_SSA_SHIFT)) & SPI_STAT_SSA_MASK)
  7105. #define SPI_STAT_SSD_MASK (0x20U)
  7106. #define SPI_STAT_SSD_SHIFT (5U)
  7107. #define SPI_STAT_SSD(x) (((uint32_t)(((uint32_t)(x)) << SPI_STAT_SSD_SHIFT)) & SPI_STAT_SSD_MASK)
  7108. #define SPI_STAT_STALLED_MASK (0x40U)
  7109. #define SPI_STAT_STALLED_SHIFT (6U)
  7110. #define SPI_STAT_STALLED(x) (((uint32_t)(((uint32_t)(x)) << SPI_STAT_STALLED_SHIFT)) & SPI_STAT_STALLED_MASK)
  7111. #define SPI_STAT_ENDTRANSFER_MASK (0x80U)
  7112. #define SPI_STAT_ENDTRANSFER_SHIFT (7U)
  7113. #define SPI_STAT_ENDTRANSFER(x) (((uint32_t)(((uint32_t)(x)) << SPI_STAT_ENDTRANSFER_SHIFT)) & SPI_STAT_ENDTRANSFER_MASK)
  7114. #define SPI_STAT_MSTIDLE_MASK (0x100U)
  7115. #define SPI_STAT_MSTIDLE_SHIFT (8U)
  7116. #define SPI_STAT_MSTIDLE(x) (((uint32_t)(((uint32_t)(x)) << SPI_STAT_MSTIDLE_SHIFT)) & SPI_STAT_MSTIDLE_MASK)
  7117. /*! @name INTENSET - SPI Interrupt Enable read and Set. A complete value may be read from this register. Writing a 1 to any implemented bit position causes that bit to be set. */
  7118. #define SPI_INTENSET_SSAEN_MASK (0x10U)
  7119. #define SPI_INTENSET_SSAEN_SHIFT (4U)
  7120. #define SPI_INTENSET_SSAEN(x) (((uint32_t)(((uint32_t)(x)) << SPI_INTENSET_SSAEN_SHIFT)) & SPI_INTENSET_SSAEN_MASK)
  7121. #define SPI_INTENSET_SSDEN_MASK (0x20U)
  7122. #define SPI_INTENSET_SSDEN_SHIFT (5U)
  7123. #define SPI_INTENSET_SSDEN(x) (((uint32_t)(((uint32_t)(x)) << SPI_INTENSET_SSDEN_SHIFT)) & SPI_INTENSET_SSDEN_MASK)
  7124. #define SPI_INTENSET_MSTIDLEEN_MASK (0x100U)
  7125. #define SPI_INTENSET_MSTIDLEEN_SHIFT (8U)
  7126. #define SPI_INTENSET_MSTIDLEEN(x) (((uint32_t)(((uint32_t)(x)) << SPI_INTENSET_MSTIDLEEN_SHIFT)) & SPI_INTENSET_MSTIDLEEN_MASK)
  7127. /*! @name INTENCLR - SPI Interrupt Enable Clear. Writing a 1 to any implemented bit position causes the corresponding bit in INTENSET to be cleared. */
  7128. #define SPI_INTENCLR_SSAEN_MASK (0x10U)
  7129. #define SPI_INTENCLR_SSAEN_SHIFT (4U)
  7130. #define SPI_INTENCLR_SSAEN(x) (((uint32_t)(((uint32_t)(x)) << SPI_INTENCLR_SSAEN_SHIFT)) & SPI_INTENCLR_SSAEN_MASK)
  7131. #define SPI_INTENCLR_SSDEN_MASK (0x20U)
  7132. #define SPI_INTENCLR_SSDEN_SHIFT (5U)
  7133. #define SPI_INTENCLR_SSDEN(x) (((uint32_t)(((uint32_t)(x)) << SPI_INTENCLR_SSDEN_SHIFT)) & SPI_INTENCLR_SSDEN_MASK)
  7134. #define SPI_INTENCLR_MSTIDLE_MASK (0x100U)
  7135. #define SPI_INTENCLR_MSTIDLE_SHIFT (8U)
  7136. #define SPI_INTENCLR_MSTIDLE(x) (((uint32_t)(((uint32_t)(x)) << SPI_INTENCLR_MSTIDLE_SHIFT)) & SPI_INTENCLR_MSTIDLE_MASK)
  7137. /*! @name DIV - SPI clock Divider */
  7138. #define SPI_DIV_DIVVAL_MASK (0xFFFFU)
  7139. #define SPI_DIV_DIVVAL_SHIFT (0U)
  7140. #define SPI_DIV_DIVVAL(x) (((uint32_t)(((uint32_t)(x)) << SPI_DIV_DIVVAL_SHIFT)) & SPI_DIV_DIVVAL_MASK)
  7141. /*! @name INTSTAT - SPI Interrupt Status */
  7142. #define SPI_INTSTAT_SSA_MASK (0x10U)
  7143. #define SPI_INTSTAT_SSA_SHIFT (4U)
  7144. #define SPI_INTSTAT_SSA(x) (((uint32_t)(((uint32_t)(x)) << SPI_INTSTAT_SSA_SHIFT)) & SPI_INTSTAT_SSA_MASK)
  7145. #define SPI_INTSTAT_SSD_MASK (0x20U)
  7146. #define SPI_INTSTAT_SSD_SHIFT (5U)
  7147. #define SPI_INTSTAT_SSD(x) (((uint32_t)(((uint32_t)(x)) << SPI_INTSTAT_SSD_SHIFT)) & SPI_INTSTAT_SSD_MASK)
  7148. #define SPI_INTSTAT_MSTIDLE_MASK (0x100U)
  7149. #define SPI_INTSTAT_MSTIDLE_SHIFT (8U)
  7150. #define SPI_INTSTAT_MSTIDLE(x) (((uint32_t)(((uint32_t)(x)) << SPI_INTSTAT_MSTIDLE_SHIFT)) & SPI_INTSTAT_MSTIDLE_MASK)
  7151. /*! @name FIFOCFG - FIFO configuration and enable register. */
  7152. #define SPI_FIFOCFG_ENABLETX_MASK (0x1U)
  7153. #define SPI_FIFOCFG_ENABLETX_SHIFT (0U)
  7154. #define SPI_FIFOCFG_ENABLETX(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOCFG_ENABLETX_SHIFT)) & SPI_FIFOCFG_ENABLETX_MASK)
  7155. #define SPI_FIFOCFG_ENABLERX_MASK (0x2U)
  7156. #define SPI_FIFOCFG_ENABLERX_SHIFT (1U)
  7157. #define SPI_FIFOCFG_ENABLERX(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOCFG_ENABLERX_SHIFT)) & SPI_FIFOCFG_ENABLERX_MASK)
  7158. #define SPI_FIFOCFG_SIZE_MASK (0x30U)
  7159. #define SPI_FIFOCFG_SIZE_SHIFT (4U)
  7160. #define SPI_FIFOCFG_SIZE(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOCFG_SIZE_SHIFT)) & SPI_FIFOCFG_SIZE_MASK)
  7161. #define SPI_FIFOCFG_DMATX_MASK (0x1000U)
  7162. #define SPI_FIFOCFG_DMATX_SHIFT (12U)
  7163. #define SPI_FIFOCFG_DMATX(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOCFG_DMATX_SHIFT)) & SPI_FIFOCFG_DMATX_MASK)
  7164. #define SPI_FIFOCFG_DMARX_MASK (0x2000U)
  7165. #define SPI_FIFOCFG_DMARX_SHIFT (13U)
  7166. #define SPI_FIFOCFG_DMARX(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOCFG_DMARX_SHIFT)) & SPI_FIFOCFG_DMARX_MASK)
  7167. #define SPI_FIFOCFG_WAKETX_MASK (0x4000U)
  7168. #define SPI_FIFOCFG_WAKETX_SHIFT (14U)
  7169. #define SPI_FIFOCFG_WAKETX(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOCFG_WAKETX_SHIFT)) & SPI_FIFOCFG_WAKETX_MASK)
  7170. #define SPI_FIFOCFG_WAKERX_MASK (0x8000U)
  7171. #define SPI_FIFOCFG_WAKERX_SHIFT (15U)
  7172. #define SPI_FIFOCFG_WAKERX(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOCFG_WAKERX_SHIFT)) & SPI_FIFOCFG_WAKERX_MASK)
  7173. #define SPI_FIFOCFG_EMPTYTX_MASK (0x10000U)
  7174. #define SPI_FIFOCFG_EMPTYTX_SHIFT (16U)
  7175. #define SPI_FIFOCFG_EMPTYTX(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOCFG_EMPTYTX_SHIFT)) & SPI_FIFOCFG_EMPTYTX_MASK)
  7176. #define SPI_FIFOCFG_EMPTYRX_MASK (0x20000U)
  7177. #define SPI_FIFOCFG_EMPTYRX_SHIFT (17U)
  7178. #define SPI_FIFOCFG_EMPTYRX(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOCFG_EMPTYRX_SHIFT)) & SPI_FIFOCFG_EMPTYRX_MASK)
  7179. #define SPI_FIFOCFG_POPDBG_MASK (0x40000U)
  7180. #define SPI_FIFOCFG_POPDBG_SHIFT (18U)
  7181. #define SPI_FIFOCFG_POPDBG(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOCFG_POPDBG_SHIFT)) & SPI_FIFOCFG_POPDBG_MASK)
  7182. /*! @name FIFOSTAT - FIFO status register. */
  7183. #define SPI_FIFOSTAT_TXERR_MASK (0x1U)
  7184. #define SPI_FIFOSTAT_TXERR_SHIFT (0U)
  7185. #define SPI_FIFOSTAT_TXERR(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOSTAT_TXERR_SHIFT)) & SPI_FIFOSTAT_TXERR_MASK)
  7186. #define SPI_FIFOSTAT_RXERR_MASK (0x2U)
  7187. #define SPI_FIFOSTAT_RXERR_SHIFT (1U)
  7188. #define SPI_FIFOSTAT_RXERR(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOSTAT_RXERR_SHIFT)) & SPI_FIFOSTAT_RXERR_MASK)
  7189. #define SPI_FIFOSTAT_PERINT_MASK (0x8U)
  7190. #define SPI_FIFOSTAT_PERINT_SHIFT (3U)
  7191. #define SPI_FIFOSTAT_PERINT(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOSTAT_PERINT_SHIFT)) & SPI_FIFOSTAT_PERINT_MASK)
  7192. #define SPI_FIFOSTAT_TXEMPTY_MASK (0x10U)
  7193. #define SPI_FIFOSTAT_TXEMPTY_SHIFT (4U)
  7194. #define SPI_FIFOSTAT_TXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOSTAT_TXEMPTY_SHIFT)) & SPI_FIFOSTAT_TXEMPTY_MASK)
  7195. #define SPI_FIFOSTAT_TXNOTFULL_MASK (0x20U)
  7196. #define SPI_FIFOSTAT_TXNOTFULL_SHIFT (5U)
  7197. #define SPI_FIFOSTAT_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOSTAT_TXNOTFULL_SHIFT)) & SPI_FIFOSTAT_TXNOTFULL_MASK)
  7198. #define SPI_FIFOSTAT_RXNOTEMPTY_MASK (0x40U)
  7199. #define SPI_FIFOSTAT_RXNOTEMPTY_SHIFT (6U)
  7200. #define SPI_FIFOSTAT_RXNOTEMPTY(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOSTAT_RXNOTEMPTY_SHIFT)) & SPI_FIFOSTAT_RXNOTEMPTY_MASK)
  7201. #define SPI_FIFOSTAT_RXFULL_MASK (0x80U)
  7202. #define SPI_FIFOSTAT_RXFULL_SHIFT (7U)
  7203. #define SPI_FIFOSTAT_RXFULL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOSTAT_RXFULL_SHIFT)) & SPI_FIFOSTAT_RXFULL_MASK)
  7204. #define SPI_FIFOSTAT_TXLVL_MASK (0x1F00U)
  7205. #define SPI_FIFOSTAT_TXLVL_SHIFT (8U)
  7206. #define SPI_FIFOSTAT_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOSTAT_TXLVL_SHIFT)) & SPI_FIFOSTAT_TXLVL_MASK)
  7207. #define SPI_FIFOSTAT_RXLVL_MASK (0x1F0000U)
  7208. #define SPI_FIFOSTAT_RXLVL_SHIFT (16U)
  7209. #define SPI_FIFOSTAT_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOSTAT_RXLVL_SHIFT)) & SPI_FIFOSTAT_RXLVL_MASK)
  7210. /*! @name FIFOTRIG - FIFO trigger settings for interrupt and DMA request. */
  7211. #define SPI_FIFOTRIG_TXLVLENA_MASK (0x1U)
  7212. #define SPI_FIFOTRIG_TXLVLENA_SHIFT (0U)
  7213. #define SPI_FIFOTRIG_TXLVLENA(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOTRIG_TXLVLENA_SHIFT)) & SPI_FIFOTRIG_TXLVLENA_MASK)
  7214. #define SPI_FIFOTRIG_RXLVLENA_MASK (0x2U)
  7215. #define SPI_FIFOTRIG_RXLVLENA_SHIFT (1U)
  7216. #define SPI_FIFOTRIG_RXLVLENA(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOTRIG_RXLVLENA_SHIFT)) & SPI_FIFOTRIG_RXLVLENA_MASK)
  7217. #define SPI_FIFOTRIG_TXLVL_MASK (0xF00U)
  7218. #define SPI_FIFOTRIG_TXLVL_SHIFT (8U)
  7219. #define SPI_FIFOTRIG_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOTRIG_TXLVL_SHIFT)) & SPI_FIFOTRIG_TXLVL_MASK)
  7220. #define SPI_FIFOTRIG_RXLVL_MASK (0xF0000U)
  7221. #define SPI_FIFOTRIG_RXLVL_SHIFT (16U)
  7222. #define SPI_FIFOTRIG_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOTRIG_RXLVL_SHIFT)) & SPI_FIFOTRIG_RXLVL_MASK)
  7223. /*! @name FIFOINTENSET - FIFO interrupt enable set (enable) and read register. */
  7224. #define SPI_FIFOINTENSET_TXERR_MASK (0x1U)
  7225. #define SPI_FIFOINTENSET_TXERR_SHIFT (0U)
  7226. #define SPI_FIFOINTENSET_TXERR(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTENSET_TXERR_SHIFT)) & SPI_FIFOINTENSET_TXERR_MASK)
  7227. #define SPI_FIFOINTENSET_RXERR_MASK (0x2U)
  7228. #define SPI_FIFOINTENSET_RXERR_SHIFT (1U)
  7229. #define SPI_FIFOINTENSET_RXERR(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTENSET_RXERR_SHIFT)) & SPI_FIFOINTENSET_RXERR_MASK)
  7230. #define SPI_FIFOINTENSET_TXLVL_MASK (0x4U)
  7231. #define SPI_FIFOINTENSET_TXLVL_SHIFT (2U)
  7232. #define SPI_FIFOINTENSET_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTENSET_TXLVL_SHIFT)) & SPI_FIFOINTENSET_TXLVL_MASK)
  7233. #define SPI_FIFOINTENSET_RXLVL_MASK (0x8U)
  7234. #define SPI_FIFOINTENSET_RXLVL_SHIFT (3U)
  7235. #define SPI_FIFOINTENSET_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTENSET_RXLVL_SHIFT)) & SPI_FIFOINTENSET_RXLVL_MASK)
  7236. /*! @name FIFOINTENCLR - FIFO interrupt enable clear (disable) and read register. */
  7237. #define SPI_FIFOINTENCLR_TXERR_MASK (0x1U)
  7238. #define SPI_FIFOINTENCLR_TXERR_SHIFT (0U)
  7239. #define SPI_FIFOINTENCLR_TXERR(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTENCLR_TXERR_SHIFT)) & SPI_FIFOINTENCLR_TXERR_MASK)
  7240. #define SPI_FIFOINTENCLR_RXERR_MASK (0x2U)
  7241. #define SPI_FIFOINTENCLR_RXERR_SHIFT (1U)
  7242. #define SPI_FIFOINTENCLR_RXERR(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTENCLR_RXERR_SHIFT)) & SPI_FIFOINTENCLR_RXERR_MASK)
  7243. #define SPI_FIFOINTENCLR_TXLVL_MASK (0x4U)
  7244. #define SPI_FIFOINTENCLR_TXLVL_SHIFT (2U)
  7245. #define SPI_FIFOINTENCLR_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTENCLR_TXLVL_SHIFT)) & SPI_FIFOINTENCLR_TXLVL_MASK)
  7246. #define SPI_FIFOINTENCLR_RXLVL_MASK (0x8U)
  7247. #define SPI_FIFOINTENCLR_RXLVL_SHIFT (3U)
  7248. #define SPI_FIFOINTENCLR_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTENCLR_RXLVL_SHIFT)) & SPI_FIFOINTENCLR_RXLVL_MASK)
  7249. /*! @name FIFOINTSTAT - FIFO interrupt status register. */
  7250. #define SPI_FIFOINTSTAT_TXERR_MASK (0x1U)
  7251. #define SPI_FIFOINTSTAT_TXERR_SHIFT (0U)
  7252. #define SPI_FIFOINTSTAT_TXERR(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTSTAT_TXERR_SHIFT)) & SPI_FIFOINTSTAT_TXERR_MASK)
  7253. #define SPI_FIFOINTSTAT_RXERR_MASK (0x2U)
  7254. #define SPI_FIFOINTSTAT_RXERR_SHIFT (1U)
  7255. #define SPI_FIFOINTSTAT_RXERR(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTSTAT_RXERR_SHIFT)) & SPI_FIFOINTSTAT_RXERR_MASK)
  7256. #define SPI_FIFOINTSTAT_TXLVL_MASK (0x4U)
  7257. #define SPI_FIFOINTSTAT_TXLVL_SHIFT (2U)
  7258. #define SPI_FIFOINTSTAT_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTSTAT_TXLVL_SHIFT)) & SPI_FIFOINTSTAT_TXLVL_MASK)
  7259. #define SPI_FIFOINTSTAT_RXLVL_MASK (0x8U)
  7260. #define SPI_FIFOINTSTAT_RXLVL_SHIFT (3U)
  7261. #define SPI_FIFOINTSTAT_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTSTAT_RXLVL_SHIFT)) & SPI_FIFOINTSTAT_RXLVL_MASK)
  7262. #define SPI_FIFOINTSTAT_PERINT_MASK (0x10U)
  7263. #define SPI_FIFOINTSTAT_PERINT_SHIFT (4U)
  7264. #define SPI_FIFOINTSTAT_PERINT(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTSTAT_PERINT_SHIFT)) & SPI_FIFOINTSTAT_PERINT_MASK)
  7265. /*! @name FIFOWR - FIFO write data. */
  7266. #define SPI_FIFOWR_TXDATA_MASK (0xFFFFU)
  7267. #define SPI_FIFOWR_TXDATA_SHIFT (0U)
  7268. #define SPI_FIFOWR_TXDATA(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOWR_TXDATA_SHIFT)) & SPI_FIFOWR_TXDATA_MASK)
  7269. #define SPI_FIFOWR_TXSSEL0_N_MASK (0x10000U)
  7270. #define SPI_FIFOWR_TXSSEL0_N_SHIFT (16U)
  7271. #define SPI_FIFOWR_TXSSEL0_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOWR_TXSSEL0_N_SHIFT)) & SPI_FIFOWR_TXSSEL0_N_MASK)
  7272. #define SPI_FIFOWR_TXSSEL1_N_MASK (0x20000U)
  7273. #define SPI_FIFOWR_TXSSEL1_N_SHIFT (17U)
  7274. #define SPI_FIFOWR_TXSSEL1_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOWR_TXSSEL1_N_SHIFT)) & SPI_FIFOWR_TXSSEL1_N_MASK)
  7275. #define SPI_FIFOWR_TXSSEL2_N_MASK (0x40000U)
  7276. #define SPI_FIFOWR_TXSSEL2_N_SHIFT (18U)
  7277. #define SPI_FIFOWR_TXSSEL2_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOWR_TXSSEL2_N_SHIFT)) & SPI_FIFOWR_TXSSEL2_N_MASK)
  7278. #define SPI_FIFOWR_TXSSEL3_N_MASK (0x80000U)
  7279. #define SPI_FIFOWR_TXSSEL3_N_SHIFT (19U)
  7280. #define SPI_FIFOWR_TXSSEL3_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOWR_TXSSEL3_N_SHIFT)) & SPI_FIFOWR_TXSSEL3_N_MASK)
  7281. #define SPI_FIFOWR_EOT_MASK (0x100000U)
  7282. #define SPI_FIFOWR_EOT_SHIFT (20U)
  7283. #define SPI_FIFOWR_EOT(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOWR_EOT_SHIFT)) & SPI_FIFOWR_EOT_MASK)
  7284. #define SPI_FIFOWR_EOF_MASK (0x200000U)
  7285. #define SPI_FIFOWR_EOF_SHIFT (21U)
  7286. #define SPI_FIFOWR_EOF(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOWR_EOF_SHIFT)) & SPI_FIFOWR_EOF_MASK)
  7287. #define SPI_FIFOWR_RXIGNORE_MASK (0x400000U)
  7288. #define SPI_FIFOWR_RXIGNORE_SHIFT (22U)
  7289. #define SPI_FIFOWR_RXIGNORE(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOWR_RXIGNORE_SHIFT)) & SPI_FIFOWR_RXIGNORE_MASK)
  7290. #define SPI_FIFOWR_LEN_MASK (0xF000000U)
  7291. #define SPI_FIFOWR_LEN_SHIFT (24U)
  7292. #define SPI_FIFOWR_LEN(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOWR_LEN_SHIFT)) & SPI_FIFOWR_LEN_MASK)
  7293. /*! @name FIFORD - FIFO read data. */
  7294. #define SPI_FIFORD_RXDATA_MASK (0xFFFFU)
  7295. #define SPI_FIFORD_RXDATA_SHIFT (0U)
  7296. #define SPI_FIFORD_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORD_RXDATA_SHIFT)) & SPI_FIFORD_RXDATA_MASK)
  7297. #define SPI_FIFORD_RXSSEL0_N_MASK (0x10000U)
  7298. #define SPI_FIFORD_RXSSEL0_N_SHIFT (16U)
  7299. #define SPI_FIFORD_RXSSEL0_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORD_RXSSEL0_N_SHIFT)) & SPI_FIFORD_RXSSEL0_N_MASK)
  7300. #define SPI_FIFORD_RXSSEL1_N_MASK (0x20000U)
  7301. #define SPI_FIFORD_RXSSEL1_N_SHIFT (17U)
  7302. #define SPI_FIFORD_RXSSEL1_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORD_RXSSEL1_N_SHIFT)) & SPI_FIFORD_RXSSEL1_N_MASK)
  7303. #define SPI_FIFORD_RXSSEL2_N_MASK (0x40000U)
  7304. #define SPI_FIFORD_RXSSEL2_N_SHIFT (18U)
  7305. #define SPI_FIFORD_RXSSEL2_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORD_RXSSEL2_N_SHIFT)) & SPI_FIFORD_RXSSEL2_N_MASK)
  7306. #define SPI_FIFORD_RXSSEL3_N_MASK (0x80000U)
  7307. #define SPI_FIFORD_RXSSEL3_N_SHIFT (19U)
  7308. #define SPI_FIFORD_RXSSEL3_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORD_RXSSEL3_N_SHIFT)) & SPI_FIFORD_RXSSEL3_N_MASK)
  7309. #define SPI_FIFORD_SOT_MASK (0x100000U)
  7310. #define SPI_FIFORD_SOT_SHIFT (20U)
  7311. #define SPI_FIFORD_SOT(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORD_SOT_SHIFT)) & SPI_FIFORD_SOT_MASK)
  7312. /*! @name FIFORDNOPOP - FIFO data read with no FIFO pop. */
  7313. #define SPI_FIFORDNOPOP_RXDATA_MASK (0xFFFFU)
  7314. #define SPI_FIFORDNOPOP_RXDATA_SHIFT (0U)
  7315. #define SPI_FIFORDNOPOP_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORDNOPOP_RXDATA_SHIFT)) & SPI_FIFORDNOPOP_RXDATA_MASK)
  7316. #define SPI_FIFORDNOPOP_RXSSEL0_N_MASK (0x10000U)
  7317. #define SPI_FIFORDNOPOP_RXSSEL0_N_SHIFT (16U)
  7318. #define SPI_FIFORDNOPOP_RXSSEL0_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORDNOPOP_RXSSEL0_N_SHIFT)) & SPI_FIFORDNOPOP_RXSSEL0_N_MASK)
  7319. #define SPI_FIFORDNOPOP_RXSSEL1_N_MASK (0x20000U)
  7320. #define SPI_FIFORDNOPOP_RXSSEL1_N_SHIFT (17U)
  7321. #define SPI_FIFORDNOPOP_RXSSEL1_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORDNOPOP_RXSSEL1_N_SHIFT)) & SPI_FIFORDNOPOP_RXSSEL1_N_MASK)
  7322. #define SPI_FIFORDNOPOP_RXSSEL2_N_MASK (0x40000U)
  7323. #define SPI_FIFORDNOPOP_RXSSEL2_N_SHIFT (18U)
  7324. #define SPI_FIFORDNOPOP_RXSSEL2_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORDNOPOP_RXSSEL2_N_SHIFT)) & SPI_FIFORDNOPOP_RXSSEL2_N_MASK)
  7325. #define SPI_FIFORDNOPOP_RXSSEL3_N_MASK (0x80000U)
  7326. #define SPI_FIFORDNOPOP_RXSSEL3_N_SHIFT (19U)
  7327. #define SPI_FIFORDNOPOP_RXSSEL3_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORDNOPOP_RXSSEL3_N_SHIFT)) & SPI_FIFORDNOPOP_RXSSEL3_N_MASK)
  7328. #define SPI_FIFORDNOPOP_SOT_MASK (0x100000U)
  7329. #define SPI_FIFORDNOPOP_SOT_SHIFT (20U)
  7330. #define SPI_FIFORDNOPOP_SOT(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORDNOPOP_SOT_SHIFT)) & SPI_FIFORDNOPOP_SOT_MASK)
  7331. /*! @name ID - Peripheral identification register. */
  7332. #define SPI_ID_APERTURE_MASK (0xFFU)
  7333. #define SPI_ID_APERTURE_SHIFT (0U)
  7334. #define SPI_ID_APERTURE(x) (((uint32_t)(((uint32_t)(x)) << SPI_ID_APERTURE_SHIFT)) & SPI_ID_APERTURE_MASK)
  7335. #define SPI_ID_MINOR_REV_MASK (0xF00U)
  7336. #define SPI_ID_MINOR_REV_SHIFT (8U)
  7337. #define SPI_ID_MINOR_REV(x) (((uint32_t)(((uint32_t)(x)) << SPI_ID_MINOR_REV_SHIFT)) & SPI_ID_MINOR_REV_MASK)
  7338. #define SPI_ID_MAJOR_REV_MASK (0xF000U)
  7339. #define SPI_ID_MAJOR_REV_SHIFT (12U)
  7340. #define SPI_ID_MAJOR_REV(x) (((uint32_t)(((uint32_t)(x)) << SPI_ID_MAJOR_REV_SHIFT)) & SPI_ID_MAJOR_REV_MASK)
  7341. #define SPI_ID_ID_MASK (0xFFFF0000U)
  7342. #define SPI_ID_ID_SHIFT (16U)
  7343. #define SPI_ID_ID(x) (((uint32_t)(((uint32_t)(x)) << SPI_ID_ID_SHIFT)) & SPI_ID_ID_MASK)
  7344. /*!
  7345. * @}
  7346. */ /* end of group SPI_Register_Masks */
  7347. /* SPI - Peripheral instance base addresses */
  7348. /** Peripheral SPI0 base address */
  7349. #define SPI0_BASE (0x40086000u)
  7350. /** Peripheral SPI0 base pointer */
  7351. #define SPI0 ((SPI_Type *)SPI0_BASE)
  7352. /** Peripheral SPI1 base address */
  7353. #define SPI1_BASE (0x40087000u)
  7354. /** Peripheral SPI1 base pointer */
  7355. #define SPI1 ((SPI_Type *)SPI1_BASE)
  7356. /** Peripheral SPI2 base address */
  7357. #define SPI2_BASE (0x40088000u)
  7358. /** Peripheral SPI2 base pointer */
  7359. #define SPI2 ((SPI_Type *)SPI2_BASE)
  7360. /** Peripheral SPI3 base address */
  7361. #define SPI3_BASE (0x40089000u)
  7362. /** Peripheral SPI3 base pointer */
  7363. #define SPI3 ((SPI_Type *)SPI3_BASE)
  7364. /** Peripheral SPI4 base address */
  7365. #define SPI4_BASE (0x4008A000u)
  7366. /** Peripheral SPI4 base pointer */
  7367. #define SPI4 ((SPI_Type *)SPI4_BASE)
  7368. /** Peripheral SPI5 base address */
  7369. #define SPI5_BASE (0x40096000u)
  7370. /** Peripheral SPI5 base pointer */
  7371. #define SPI5 ((SPI_Type *)SPI5_BASE)
  7372. /** Peripheral SPI6 base address */
  7373. #define SPI6_BASE (0x40097000u)
  7374. /** Peripheral SPI6 base pointer */
  7375. #define SPI6 ((SPI_Type *)SPI6_BASE)
  7376. /** Peripheral SPI7 base address */
  7377. #define SPI7_BASE (0x40098000u)
  7378. /** Peripheral SPI7 base pointer */
  7379. #define SPI7 ((SPI_Type *)SPI7_BASE)
  7380. /** Peripheral SPI8 base address */
  7381. #define SPI8_BASE (0x40099000u)
  7382. /** Peripheral SPI8 base pointer */
  7383. #define SPI8 ((SPI_Type *)SPI8_BASE)
  7384. /** Peripheral SPI9 base address */
  7385. #define SPI9_BASE (0x4009A000u)
  7386. /** Peripheral SPI9 base pointer */
  7387. #define SPI9 ((SPI_Type *)SPI9_BASE)
  7388. /** Array initializer of SPI peripheral base addresses */
  7389. #define SPI_BASE_ADDRS { SPI0_BASE, SPI1_BASE, SPI2_BASE, SPI3_BASE, SPI4_BASE, SPI5_BASE, SPI6_BASE, SPI7_BASE, SPI8_BASE, SPI9_BASE }
  7390. /** Array initializer of SPI peripheral base pointers */
  7391. #define SPI_BASE_PTRS { SPI0, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SPI7, SPI8, SPI9 }
  7392. /** Interrupt vectors for the SPI peripheral type */
  7393. #define SPI_IRQS { FLEXCOMM0_IRQn, FLEXCOMM1_IRQn, FLEXCOMM2_IRQn, FLEXCOMM3_IRQn, FLEXCOMM4_IRQn, FLEXCOMM5_IRQn, FLEXCOMM6_IRQn, FLEXCOMM7_IRQn, FLEXCOMM8_IRQn, FLEXCOMM9_IRQn }
  7394. /*!
  7395. * @}
  7396. */ /* end of group SPI_Peripheral_Access_Layer */
  7397. /* ----------------------------------------------------------------------------
  7398. -- SPIFI Peripheral Access Layer
  7399. ---------------------------------------------------------------------------- */
  7400. /*!
  7401. * @addtogroup SPIFI_Peripheral_Access_Layer SPIFI Peripheral Access Layer
  7402. * @{
  7403. */
  7404. /** SPIFI - Register Layout Typedef */
  7405. typedef struct {
  7406. __IO uint32_t CTRL; /**< SPIFI control register, offset: 0x0 */
  7407. __IO uint32_t CMD; /**< SPIFI command register, offset: 0x4 */
  7408. __IO uint32_t ADDR; /**< SPIFI address register, offset: 0x8 */
  7409. __IO uint32_t IDATA; /**< SPIFI intermediate data register, offset: 0xC */
  7410. __IO uint32_t CLIMIT; /**< SPIFI limit register, offset: 0x10 */
  7411. __IO uint32_t DATA; /**< SPIFI data register, offset: 0x14 */
  7412. __IO uint32_t MCMD; /**< SPIFI memory command register, offset: 0x18 */
  7413. __IO uint32_t STAT; /**< SPIFI status register, offset: 0x1C */
  7414. } SPIFI_Type;
  7415. /* ----------------------------------------------------------------------------
  7416. -- SPIFI Register Masks
  7417. ---------------------------------------------------------------------------- */
  7418. /*!
  7419. * @addtogroup SPIFI_Register_Masks SPIFI Register Masks
  7420. * @{
  7421. */
  7422. /*! @name CTRL - SPIFI control register */
  7423. #define SPIFI_CTRL_TIMEOUT_MASK (0xFFFFU)
  7424. #define SPIFI_CTRL_TIMEOUT_SHIFT (0U)
  7425. #define SPIFI_CTRL_TIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_CTRL_TIMEOUT_SHIFT)) & SPIFI_CTRL_TIMEOUT_MASK)
  7426. #define SPIFI_CTRL_CSHIGH_MASK (0xF0000U)
  7427. #define SPIFI_CTRL_CSHIGH_SHIFT (16U)
  7428. #define SPIFI_CTRL_CSHIGH(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_CTRL_CSHIGH_SHIFT)) & SPIFI_CTRL_CSHIGH_MASK)
  7429. #define SPIFI_CTRL_D_PRFTCH_DIS_MASK (0x200000U)
  7430. #define SPIFI_CTRL_D_PRFTCH_DIS_SHIFT (21U)
  7431. #define SPIFI_CTRL_D_PRFTCH_DIS(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_CTRL_D_PRFTCH_DIS_SHIFT)) & SPIFI_CTRL_D_PRFTCH_DIS_MASK)
  7432. #define SPIFI_CTRL_INTEN_MASK (0x400000U)
  7433. #define SPIFI_CTRL_INTEN_SHIFT (22U)
  7434. #define SPIFI_CTRL_INTEN(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_CTRL_INTEN_SHIFT)) & SPIFI_CTRL_INTEN_MASK)
  7435. #define SPIFI_CTRL_MODE3_MASK (0x800000U)
  7436. #define SPIFI_CTRL_MODE3_SHIFT (23U)
  7437. #define SPIFI_CTRL_MODE3(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_CTRL_MODE3_SHIFT)) & SPIFI_CTRL_MODE3_MASK)
  7438. #define SPIFI_CTRL_PRFTCH_DIS_MASK (0x8000000U)
  7439. #define SPIFI_CTRL_PRFTCH_DIS_SHIFT (27U)
  7440. #define SPIFI_CTRL_PRFTCH_DIS(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_CTRL_PRFTCH_DIS_SHIFT)) & SPIFI_CTRL_PRFTCH_DIS_MASK)
  7441. #define SPIFI_CTRL_DUAL_MASK (0x10000000U)
  7442. #define SPIFI_CTRL_DUAL_SHIFT (28U)
  7443. #define SPIFI_CTRL_DUAL(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_CTRL_DUAL_SHIFT)) & SPIFI_CTRL_DUAL_MASK)
  7444. #define SPIFI_CTRL_RFCLK_MASK (0x20000000U)
  7445. #define SPIFI_CTRL_RFCLK_SHIFT (29U)
  7446. #define SPIFI_CTRL_RFCLK(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_CTRL_RFCLK_SHIFT)) & SPIFI_CTRL_RFCLK_MASK)
  7447. #define SPIFI_CTRL_FBCLK_MASK (0x40000000U)
  7448. #define SPIFI_CTRL_FBCLK_SHIFT (30U)
  7449. #define SPIFI_CTRL_FBCLK(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_CTRL_FBCLK_SHIFT)) & SPIFI_CTRL_FBCLK_MASK)
  7450. #define SPIFI_CTRL_DMAEN_MASK (0x80000000U)
  7451. #define SPIFI_CTRL_DMAEN_SHIFT (31U)
  7452. #define SPIFI_CTRL_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_CTRL_DMAEN_SHIFT)) & SPIFI_CTRL_DMAEN_MASK)
  7453. /*! @name CMD - SPIFI command register */
  7454. #define SPIFI_CMD_DATALEN_MASK (0x3FFFU)
  7455. #define SPIFI_CMD_DATALEN_SHIFT (0U)
  7456. #define SPIFI_CMD_DATALEN(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_CMD_DATALEN_SHIFT)) & SPIFI_CMD_DATALEN_MASK)
  7457. #define SPIFI_CMD_POLL_MASK (0x4000U)
  7458. #define SPIFI_CMD_POLL_SHIFT (14U)
  7459. #define SPIFI_CMD_POLL(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_CMD_POLL_SHIFT)) & SPIFI_CMD_POLL_MASK)
  7460. #define SPIFI_CMD_DOUT_MASK (0x8000U)
  7461. #define SPIFI_CMD_DOUT_SHIFT (15U)
  7462. #define SPIFI_CMD_DOUT(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_CMD_DOUT_SHIFT)) & SPIFI_CMD_DOUT_MASK)
  7463. #define SPIFI_CMD_INTLEN_MASK (0x70000U)
  7464. #define SPIFI_CMD_INTLEN_SHIFT (16U)
  7465. #define SPIFI_CMD_INTLEN(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_CMD_INTLEN_SHIFT)) & SPIFI_CMD_INTLEN_MASK)
  7466. #define SPIFI_CMD_FIELDFORM_MASK (0x180000U)
  7467. #define SPIFI_CMD_FIELDFORM_SHIFT (19U)
  7468. #define SPIFI_CMD_FIELDFORM(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_CMD_FIELDFORM_SHIFT)) & SPIFI_CMD_FIELDFORM_MASK)
  7469. #define SPIFI_CMD_FRAMEFORM_MASK (0xE00000U)
  7470. #define SPIFI_CMD_FRAMEFORM_SHIFT (21U)
  7471. #define SPIFI_CMD_FRAMEFORM(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_CMD_FRAMEFORM_SHIFT)) & SPIFI_CMD_FRAMEFORM_MASK)
  7472. #define SPIFI_CMD_OPCODE_MASK (0xFF000000U)
  7473. #define SPIFI_CMD_OPCODE_SHIFT (24U)
  7474. #define SPIFI_CMD_OPCODE(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_CMD_OPCODE_SHIFT)) & SPIFI_CMD_OPCODE_MASK)
  7475. /*! @name ADDR - SPIFI address register */
  7476. #define SPIFI_ADDR_ADDRESS_MASK (0xFFFFFFFFU)
  7477. #define SPIFI_ADDR_ADDRESS_SHIFT (0U)
  7478. #define SPIFI_ADDR_ADDRESS(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_ADDR_ADDRESS_SHIFT)) & SPIFI_ADDR_ADDRESS_MASK)
  7479. /*! @name IDATA - SPIFI intermediate data register */
  7480. #define SPIFI_IDATA_IDATA_MASK (0xFFFFFFFFU)
  7481. #define SPIFI_IDATA_IDATA_SHIFT (0U)
  7482. #define SPIFI_IDATA_IDATA(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_IDATA_IDATA_SHIFT)) & SPIFI_IDATA_IDATA_MASK)
  7483. /*! @name CLIMIT - SPIFI limit register */
  7484. #define SPIFI_CLIMIT_CLIMIT_MASK (0xFFFFFFFFU)
  7485. #define SPIFI_CLIMIT_CLIMIT_SHIFT (0U)
  7486. #define SPIFI_CLIMIT_CLIMIT(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_CLIMIT_CLIMIT_SHIFT)) & SPIFI_CLIMIT_CLIMIT_MASK)
  7487. /*! @name DATA - SPIFI data register */
  7488. #define SPIFI_DATA_DATA_MASK (0xFFFFFFFFU)
  7489. #define SPIFI_DATA_DATA_SHIFT (0U)
  7490. #define SPIFI_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_DATA_DATA_SHIFT)) & SPIFI_DATA_DATA_MASK)
  7491. /*! @name MCMD - SPIFI memory command register */
  7492. #define SPIFI_MCMD_POLL_MASK (0x4000U)
  7493. #define SPIFI_MCMD_POLL_SHIFT (14U)
  7494. #define SPIFI_MCMD_POLL(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_MCMD_POLL_SHIFT)) & SPIFI_MCMD_POLL_MASK)
  7495. #define SPIFI_MCMD_DOUT_MASK (0x8000U)
  7496. #define SPIFI_MCMD_DOUT_SHIFT (15U)
  7497. #define SPIFI_MCMD_DOUT(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_MCMD_DOUT_SHIFT)) & SPIFI_MCMD_DOUT_MASK)
  7498. #define SPIFI_MCMD_INTLEN_MASK (0x70000U)
  7499. #define SPIFI_MCMD_INTLEN_SHIFT (16U)
  7500. #define SPIFI_MCMD_INTLEN(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_MCMD_INTLEN_SHIFT)) & SPIFI_MCMD_INTLEN_MASK)
  7501. #define SPIFI_MCMD_FIELDFORM_MASK (0x180000U)
  7502. #define SPIFI_MCMD_FIELDFORM_SHIFT (19U)
  7503. #define SPIFI_MCMD_FIELDFORM(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_MCMD_FIELDFORM_SHIFT)) & SPIFI_MCMD_FIELDFORM_MASK)
  7504. #define SPIFI_MCMD_FRAMEFORM_MASK (0xE00000U)
  7505. #define SPIFI_MCMD_FRAMEFORM_SHIFT (21U)
  7506. #define SPIFI_MCMD_FRAMEFORM(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_MCMD_FRAMEFORM_SHIFT)) & SPIFI_MCMD_FRAMEFORM_MASK)
  7507. #define SPIFI_MCMD_OPCODE_MASK (0xFF000000U)
  7508. #define SPIFI_MCMD_OPCODE_SHIFT (24U)
  7509. #define SPIFI_MCMD_OPCODE(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_MCMD_OPCODE_SHIFT)) & SPIFI_MCMD_OPCODE_MASK)
  7510. /*! @name STAT - SPIFI status register */
  7511. #define SPIFI_STAT_MCINIT_MASK (0x1U)
  7512. #define SPIFI_STAT_MCINIT_SHIFT (0U)
  7513. #define SPIFI_STAT_MCINIT(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_STAT_MCINIT_SHIFT)) & SPIFI_STAT_MCINIT_MASK)
  7514. #define SPIFI_STAT_CMD_MASK (0x2U)
  7515. #define SPIFI_STAT_CMD_SHIFT (1U)
  7516. #define SPIFI_STAT_CMD(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_STAT_CMD_SHIFT)) & SPIFI_STAT_CMD_MASK)
  7517. #define SPIFI_STAT_RESET_MASK (0x10U)
  7518. #define SPIFI_STAT_RESET_SHIFT (4U)
  7519. #define SPIFI_STAT_RESET(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_STAT_RESET_SHIFT)) & SPIFI_STAT_RESET_MASK)
  7520. #define SPIFI_STAT_INTRQ_MASK (0x20U)
  7521. #define SPIFI_STAT_INTRQ_SHIFT (5U)
  7522. #define SPIFI_STAT_INTRQ(x) (((uint32_t)(((uint32_t)(x)) << SPIFI_STAT_INTRQ_SHIFT)) & SPIFI_STAT_INTRQ_MASK)
  7523. /*!
  7524. * @}
  7525. */ /* end of group SPIFI_Register_Masks */
  7526. /* SPIFI - Peripheral instance base addresses */
  7527. /** Peripheral SPIFI0 base address */
  7528. #define SPIFI0_BASE (0x40080000u)
  7529. /** Peripheral SPIFI0 base pointer */
  7530. #define SPIFI0 ((SPIFI_Type *)SPIFI0_BASE)
  7531. /** Array initializer of SPIFI peripheral base addresses */
  7532. #define SPIFI_BASE_ADDRS { SPIFI0_BASE }
  7533. /** Array initializer of SPIFI peripheral base pointers */
  7534. #define SPIFI_BASE_PTRS { SPIFI0 }
  7535. /** Interrupt vectors for the SPIFI peripheral type */
  7536. #define SPIFI_IRQS { SPIFI0_IRQn }
  7537. /*!
  7538. * @}
  7539. */ /* end of group SPIFI_Peripheral_Access_Layer */
  7540. /* ----------------------------------------------------------------------------
  7541. -- SYSCON Peripheral Access Layer
  7542. ---------------------------------------------------------------------------- */
  7543. /*!
  7544. * @addtogroup SYSCON_Peripheral_Access_Layer SYSCON Peripheral Access Layer
  7545. * @{
  7546. */
  7547. /** SYSCON - Register Layout Typedef */
  7548. typedef struct {
  7549. uint8_t RESERVED_0[16];
  7550. __IO uint32_t AHBMATPRIO; /**< AHB multilayer matrix priority control, offset: 0x10 */
  7551. uint8_t RESERVED_1[44];
  7552. __IO uint32_t SYSTCKCAL; /**< System tick counter calibration, offset: 0x40 */
  7553. uint8_t RESERVED_2[4];
  7554. __IO uint32_t NMISRC; /**< NMI Source Select, offset: 0x48 */
  7555. __IO uint32_t ASYNCAPBCTRL; /**< Asynchronous APB Control, offset: 0x4C */
  7556. uint8_t RESERVED_3[112];
  7557. __I uint32_t PIOPORCAP[2]; /**< POR captured value of port n, array offset: 0xC0, array step: 0x4 */
  7558. uint8_t RESERVED_4[8];
  7559. __I uint32_t PIORESCAP[2]; /**< Reset captured value of port n, array offset: 0xD0, array step: 0x4 */
  7560. uint8_t RESERVED_5[40];
  7561. __IO uint32_t PRESETCTRL[3]; /**< Peripheral reset control n, array offset: 0x100, array step: 0x4 */
  7562. uint8_t RESERVED_6[20];
  7563. __O uint32_t PRESETCTRLSET[3]; /**< Set bits in PRESETCTRLn, array offset: 0x120, array step: 0x4 */
  7564. uint8_t RESERVED_7[20];
  7565. __O uint32_t PRESETCTRLCLR[3]; /**< Clear bits in PRESETCTRLn, array offset: 0x140, array step: 0x4 */
  7566. uint8_t RESERVED_8[164];
  7567. __IO uint32_t SYSRSTSTAT; /**< System reset status register, offset: 0x1F0 */
  7568. uint8_t RESERVED_9[12];
  7569. __IO uint32_t AHBCLKCTRL[3]; /**< AHB Clock control n, array offset: 0x200, array step: 0x4 */
  7570. uint8_t RESERVED_10[20];
  7571. __O uint32_t AHBCLKCTRLSET[3]; /**< Set bits in AHBCLKCTRLn, array offset: 0x220, array step: 0x4 */
  7572. uint8_t RESERVED_11[20];
  7573. __O uint32_t AHBCLKCTRLCLR[3]; /**< Clear bits in AHBCLKCTRLn, array offset: 0x240, array step: 0x4 */
  7574. uint8_t RESERVED_12[52];
  7575. __IO uint32_t MAINCLKSELA; /**< Main clock source select A, offset: 0x280 */
  7576. __IO uint32_t MAINCLKSELB; /**< Main clock source select B, offset: 0x284 */
  7577. __IO uint32_t CLKOUTSELA; /**< CLKOUT clock source select A, offset: 0x288 */
  7578. uint8_t RESERVED_13[4];
  7579. __IO uint32_t SYSPLLCLKSEL; /**< PLL clock source select, offset: 0x290 */
  7580. uint8_t RESERVED_14[4];
  7581. __IO uint32_t AUDPLLCLKSEL; /**< Audio PLL clock source select, offset: 0x298 */
  7582. uint8_t RESERVED_15[4];
  7583. __IO uint32_t SPIFICLKSEL; /**< SPIFI clock source select, offset: 0x2A0 */
  7584. __IO uint32_t ADCCLKSEL; /**< ADC clock source select, offset: 0x2A4 */
  7585. __IO uint32_t USB0CLKSEL; /**< USB0 clock source select, offset: 0x2A8 */
  7586. __IO uint32_t USB1CLKSEL; /**< USB1 clock source select, offset: 0x2AC */
  7587. __IO uint32_t FCLKSEL[10]; /**< Flexcomm 0 clock source select, array offset: 0x2B0, array step: 0x4 */
  7588. uint8_t RESERVED_16[8];
  7589. __IO uint32_t MCLKCLKSEL; /**< MCLK clock source select, offset: 0x2E0 */
  7590. uint8_t RESERVED_17[4];
  7591. __IO uint32_t FRGCLKSEL; /**< Fractional Rate Generator clock source select, offset: 0x2E8 */
  7592. __IO uint32_t DMICCLKSEL; /**< Digital microphone (DMIC) subsystem clock select, offset: 0x2EC */
  7593. __IO uint32_t SCTCLKSEL; /**< SCTimer/PWM clock source select, offset: 0x2F0 */
  7594. __IO uint32_t LCDCLKSEL; /**< LCD clock source select, offset: 0x2F4 */
  7595. __IO uint32_t SDIOCLKSEL; /**< SDIO clock source select, offset: 0x2F8 */
  7596. uint8_t RESERVED_18[4];
  7597. __IO uint32_t SYSTICKCLKDIV; /**< SYSTICK clock divider, offset: 0x300 */
  7598. __IO uint32_t ARMTRACECLKDIV; /**< ARM Trace clock divider, offset: 0x304 */
  7599. __IO uint32_t CAN0CLKDIV; /**< MCAN0 clock divider, offset: 0x308 */
  7600. __IO uint32_t CAN1CLKDIV; /**< MCAN1 clock divider, offset: 0x30C */
  7601. __IO uint32_t SC0CLKDIV; /**< Smartcard0 clock divider, offset: 0x310 */
  7602. __IO uint32_t SC1CLKDIV; /**< Smartcard1 clock divider, offset: 0x314 */
  7603. uint8_t RESERVED_19[104];
  7604. __IO uint32_t AHBCLKDIV; /**< AHB clock divider, offset: 0x380 */
  7605. __IO uint32_t CLKOUTDIV; /**< CLKOUT clock divider, offset: 0x384 */
  7606. __IO uint32_t FROHFCLKDIV; /**< FROHF clock divider, offset: 0x388 */
  7607. uint8_t RESERVED_20[4];
  7608. __IO uint32_t SPIFICLKDIV; /**< SPIFI clock divider, offset: 0x390 */
  7609. __IO uint32_t ADCCLKDIV; /**< ADC clock divider, offset: 0x394 */
  7610. __IO uint32_t USB0CLKDIV; /**< USB0 clock divider, offset: 0x398 */
  7611. __IO uint32_t USB1CLKDIV; /**< USB1 clock divider, offset: 0x39C */
  7612. __IO uint32_t FRGCTRL; /**< Fractional rate divider, offset: 0x3A0 */
  7613. uint8_t RESERVED_21[4];
  7614. __IO uint32_t DMICCLKDIV; /**< DMIC clock divider, offset: 0x3A8 */
  7615. __IO uint32_t MCLKDIV; /**< I2S MCLK clock divider, offset: 0x3AC */
  7616. __IO uint32_t LCDCLKDIV; /**< LCD clock divider, offset: 0x3B0 */
  7617. __IO uint32_t SCTCLKDIV; /**< SCT/PWM clock divider, offset: 0x3B4 */
  7618. __IO uint32_t EMCCLKDIV; /**< EMC clock divider, offset: 0x3B8 */
  7619. __IO uint32_t SDIOCLKDIV; /**< SDIO clock divider, offset: 0x3BC */
  7620. uint8_t RESERVED_22[64];
  7621. __IO uint32_t FLASHCFG; /**< Flash wait states configuration, offset: 0x400 */
  7622. uint8_t RESERVED_23[8];
  7623. __IO uint32_t USB0CLKCTRL; /**< USB0 clock control, offset: 0x40C */
  7624. __IO uint32_t USB0CLKSTAT; /**< USB0 clock status, offset: 0x410 */
  7625. uint8_t RESERVED_24[4];
  7626. __IO uint32_t FREQMECTRL; /**< Frequency measure register, offset: 0x418 */
  7627. uint8_t RESERVED_25[4];
  7628. __IO uint32_t MCLKIO; /**< MCLK input/output control, offset: 0x420 */
  7629. __IO uint32_t USB1CLKCTRL; /**< USB1 clock control, offset: 0x424 */
  7630. __IO uint32_t USB1CLKSTAT; /**< USB1 clock status, offset: 0x428 */
  7631. uint8_t RESERVED_26[24];
  7632. __IO uint32_t EMCSYSCTRL; /**< EMC system control, offset: 0x444 */
  7633. __IO uint32_t EMCDLYCTRL; /**< EMC clock delay control, offset: 0x448 */
  7634. __IO uint32_t EMCDLYCAL; /**< EMC delay chain calibration control, offset: 0x44C */
  7635. __IO uint32_t ETHPHYSEL; /**< Ethernet PHY Selection, offset: 0x450 */
  7636. __IO uint32_t ETHSBDCTRL; /**< Ethernet SBD flow control, offset: 0x454 */
  7637. uint8_t RESERVED_27[8];
  7638. __IO uint32_t SDIOCLKCTRL; /**< SDIO CCLKIN phase and delay control, offset: 0x460 */
  7639. uint8_t RESERVED_28[156];
  7640. __IO uint32_t FROCTRL; /**< FRO oscillator control, offset: 0x500 */
  7641. __IO uint32_t SYSOSCCTRL; /**< System oscillator control, offset: 0x504 */
  7642. __IO uint32_t WDTOSCCTRL; /**< Watchdog oscillator control, offset: 0x508 */
  7643. __IO uint32_t RTCOSCCTRL; /**< RTC oscillator 32 kHz output control, offset: 0x50C */
  7644. uint8_t RESERVED_29[12];
  7645. __IO uint32_t USBPLLCTRL; /**< USB PLL control, offset: 0x51C */
  7646. __IO uint32_t USBPLLSTAT; /**< USB PLL status, offset: 0x520 */
  7647. uint8_t RESERVED_30[92];
  7648. __IO uint32_t SYSPLLCTRL; /**< System PLL control, offset: 0x580 */
  7649. __IO uint32_t SYSPLLSTAT; /**< PLL status, offset: 0x584 */
  7650. __IO uint32_t SYSPLLNDEC; /**< PLL N divider, offset: 0x588 */
  7651. __IO uint32_t SYSPLLPDEC; /**< PLL P divider, offset: 0x58C */
  7652. __IO uint32_t SYSPLLMDEC; /**< System PLL M divider, offset: 0x590 */
  7653. uint8_t RESERVED_31[12];
  7654. __IO uint32_t AUDPLLCTRL; /**< Audio PLL control, offset: 0x5A0 */
  7655. __IO uint32_t AUDPLLSTAT; /**< Audio PLL status, offset: 0x5A4 */
  7656. __IO uint32_t AUDPLLNDEC; /**< Audio PLL N divider, offset: 0x5A8 */
  7657. __IO uint32_t AUDPLLPDEC; /**< Audio PLL P divider, offset: 0x5AC */
  7658. __IO uint32_t AUDPLLMDEC; /**< Audio PLL M divider, offset: 0x5B0 */
  7659. __IO uint32_t AUDPLLFRAC; /**< Audio PLL fractional divider control, offset: 0x5B4 */
  7660. uint8_t RESERVED_32[72];
  7661. __IO uint32_t PDSLEEPCFG[2]; /**< Power configuration register 0, array offset: 0x600, array step: 0x4 */
  7662. uint8_t RESERVED_33[8];
  7663. __IO uint32_t PDRUNCFG[2]; /**< Power configuration register 0, array offset: 0x610, array step: 0x4 */
  7664. uint8_t RESERVED_34[8];
  7665. __IO uint32_t PDRUNCFGSET[2]; /**< Set bits in PDRUNCFG0, array offset: 0x620, array step: 0x4 */
  7666. uint8_t RESERVED_35[8];
  7667. __IO uint32_t PDRUNCFGCLR[2]; /**< Clear bits in PDRUNCFG0, array offset: 0x630, array step: 0x4 */
  7668. uint8_t RESERVED_36[72];
  7669. __IO uint32_t STARTER[2]; /**< Start logic 0 wake-up enable register, array offset: 0x680, array step: 0x4 */
  7670. uint8_t RESERVED_37[24];
  7671. __O uint32_t STARTERSET[2]; /**< Set bits in STARTER, array offset: 0x6A0, array step: 0x4 */
  7672. uint8_t RESERVED_38[24];
  7673. __O uint32_t STARTERCLR[2]; /**< Clear bits in STARTER0, array offset: 0x6C0, array step: 0x4 */
  7674. uint8_t RESERVED_39[184];
  7675. __IO uint32_t HWWAKE; /**< Configures special cases of hardware wake-up, offset: 0x780 */
  7676. uint8_t RESERVED_40[1664];
  7677. __IO uint32_t AUTOCGOR; /**< Auto Clock-Gate Override Register, offset: 0xE04 */
  7678. uint8_t RESERVED_41[492];
  7679. __I uint32_t JTAGIDCODE; /**< JTAG ID code register, offset: 0xFF4 */
  7680. __I uint32_t DEVICE_ID0; /**< Part ID register, offset: 0xFF8 */
  7681. __I uint32_t DEVICE_ID1; /**< Boot ROM and die revision register, offset: 0xFFC */
  7682. uint8_t RESERVED_42[127044];
  7683. __IO uint32_t BODCTRL; /**< Brown-Out Detect control, offset: 0x20044 */
  7684. } SYSCON_Type;
  7685. /* ----------------------------------------------------------------------------
  7686. -- SYSCON Register Masks
  7687. ---------------------------------------------------------------------------- */
  7688. /*!
  7689. * @addtogroup SYSCON_Register_Masks SYSCON Register Masks
  7690. * @{
  7691. */
  7692. /*! @name AHBMATPRIO - AHB multilayer matrix priority control */
  7693. #define SYSCON_AHBMATPRIO_PRI_ICODE_MASK (0x3U)
  7694. #define SYSCON_AHBMATPRIO_PRI_ICODE_SHIFT (0U)
  7695. #define SYSCON_AHBMATPRIO_PRI_ICODE(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBMATPRIO_PRI_ICODE_SHIFT)) & SYSCON_AHBMATPRIO_PRI_ICODE_MASK)
  7696. #define SYSCON_AHBMATPRIO_PRI_DCODE_MASK (0xCU)
  7697. #define SYSCON_AHBMATPRIO_PRI_DCODE_SHIFT (2U)
  7698. #define SYSCON_AHBMATPRIO_PRI_DCODE(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBMATPRIO_PRI_DCODE_SHIFT)) & SYSCON_AHBMATPRIO_PRI_DCODE_MASK)
  7699. #define SYSCON_AHBMATPRIO_PRI_SYS_MASK (0x30U)
  7700. #define SYSCON_AHBMATPRIO_PRI_SYS_SHIFT (4U)
  7701. #define SYSCON_AHBMATPRIO_PRI_SYS(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBMATPRIO_PRI_SYS_SHIFT)) & SYSCON_AHBMATPRIO_PRI_SYS_MASK)
  7702. #define SYSCON_AHBMATPRIO_PRI_DMA_MASK (0x3C0U)
  7703. #define SYSCON_AHBMATPRIO_PRI_DMA_SHIFT (6U)
  7704. #define SYSCON_AHBMATPRIO_PRI_DMA(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBMATPRIO_PRI_DMA_SHIFT)) & SYSCON_AHBMATPRIO_PRI_DMA_MASK)
  7705. #define SYSCON_AHBMATPRIO_PRI_ETH_MASK (0xC00U)
  7706. #define SYSCON_AHBMATPRIO_PRI_ETH_SHIFT (10U)
  7707. #define SYSCON_AHBMATPRIO_PRI_ETH(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBMATPRIO_PRI_ETH_SHIFT)) & SYSCON_AHBMATPRIO_PRI_ETH_MASK)
  7708. #define SYSCON_AHBMATPRIO_PRI_LCD_MASK (0x3000U)
  7709. #define SYSCON_AHBMATPRIO_PRI_LCD_SHIFT (12U)
  7710. #define SYSCON_AHBMATPRIO_PRI_LCD(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBMATPRIO_PRI_LCD_SHIFT)) & SYSCON_AHBMATPRIO_PRI_LCD_MASK)
  7711. #define SYSCON_AHBMATPRIO_PRI_USB0_MASK (0xC000U)
  7712. #define SYSCON_AHBMATPRIO_PRI_USB0_SHIFT (14U)
  7713. #define SYSCON_AHBMATPRIO_PRI_USB0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBMATPRIO_PRI_USB0_SHIFT)) & SYSCON_AHBMATPRIO_PRI_USB0_MASK)
  7714. #define SYSCON_AHBMATPRIO_PRI_USB1_MASK (0x30000U)
  7715. #define SYSCON_AHBMATPRIO_PRI_USB1_SHIFT (16U)
  7716. #define SYSCON_AHBMATPRIO_PRI_USB1(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBMATPRIO_PRI_USB1_SHIFT)) & SYSCON_AHBMATPRIO_PRI_USB1_MASK)
  7717. #define SYSCON_AHBMATPRIO_PRI_SDIO_MASK (0xC0000U)
  7718. #define SYSCON_AHBMATPRIO_PRI_SDIO_SHIFT (18U)
  7719. #define SYSCON_AHBMATPRIO_PRI_SDIO(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBMATPRIO_PRI_SDIO_SHIFT)) & SYSCON_AHBMATPRIO_PRI_SDIO_MASK)
  7720. #define SYSCON_AHBMATPRIO_PRI_MCAN1_MASK (0x300000U)
  7721. #define SYSCON_AHBMATPRIO_PRI_MCAN1_SHIFT (20U)
  7722. #define SYSCON_AHBMATPRIO_PRI_MCAN1(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBMATPRIO_PRI_MCAN1_SHIFT)) & SYSCON_AHBMATPRIO_PRI_MCAN1_MASK)
  7723. #define SYSCON_AHBMATPRIO_PRI_MCAN2_MASK (0xC00000U)
  7724. #define SYSCON_AHBMATPRIO_PRI_MCAN2_SHIFT (22U)
  7725. #define SYSCON_AHBMATPRIO_PRI_MCAN2(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBMATPRIO_PRI_MCAN2_SHIFT)) & SYSCON_AHBMATPRIO_PRI_MCAN2_MASK)
  7726. #define SYSCON_AHBMATPRIO_PRI_SHA_MASK (0x3000000U)
  7727. #define SYSCON_AHBMATPRIO_PRI_SHA_SHIFT (24U)
  7728. #define SYSCON_AHBMATPRIO_PRI_SHA(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBMATPRIO_PRI_SHA_SHIFT)) & SYSCON_AHBMATPRIO_PRI_SHA_MASK)
  7729. /*! @name SYSTCKCAL - System tick counter calibration */
  7730. #define SYSCON_SYSTCKCAL_CAL_MASK (0xFFFFFFU)
  7731. #define SYSCON_SYSTCKCAL_CAL_SHIFT (0U)
  7732. #define SYSCON_SYSTCKCAL_CAL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSTCKCAL_CAL_SHIFT)) & SYSCON_SYSTCKCAL_CAL_MASK)
  7733. #define SYSCON_SYSTCKCAL_SKEW_MASK (0x1000000U)
  7734. #define SYSCON_SYSTCKCAL_SKEW_SHIFT (24U)
  7735. #define SYSCON_SYSTCKCAL_SKEW(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSTCKCAL_SKEW_SHIFT)) & SYSCON_SYSTCKCAL_SKEW_MASK)
  7736. #define SYSCON_SYSTCKCAL_NOREF_MASK (0x2000000U)
  7737. #define SYSCON_SYSTCKCAL_NOREF_SHIFT (25U)
  7738. #define SYSCON_SYSTCKCAL_NOREF(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSTCKCAL_NOREF_SHIFT)) & SYSCON_SYSTCKCAL_NOREF_MASK)
  7739. /*! @name NMISRC - NMI Source Select */
  7740. #define SYSCON_NMISRC_IRQM4_MASK (0x3FU)
  7741. #define SYSCON_NMISRC_IRQM4_SHIFT (0U)
  7742. #define SYSCON_NMISRC_IRQM4(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_NMISRC_IRQM4_SHIFT)) & SYSCON_NMISRC_IRQM4_MASK)
  7743. #define SYSCON_NMISRC_NMIENM4_MASK (0x80000000U)
  7744. #define SYSCON_NMISRC_NMIENM4_SHIFT (31U)
  7745. #define SYSCON_NMISRC_NMIENM4(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_NMISRC_NMIENM4_SHIFT)) & SYSCON_NMISRC_NMIENM4_MASK)
  7746. /*! @name ASYNCAPBCTRL - Asynchronous APB Control */
  7747. #define SYSCON_ASYNCAPBCTRL_ENABLE_MASK (0x1U)
  7748. #define SYSCON_ASYNCAPBCTRL_ENABLE_SHIFT (0U)
  7749. #define SYSCON_ASYNCAPBCTRL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_ASYNCAPBCTRL_ENABLE_SHIFT)) & SYSCON_ASYNCAPBCTRL_ENABLE_MASK)
  7750. /*! @name PIOPORCAP - POR captured value of port n */
  7751. #define SYSCON_PIOPORCAP_PIOPORCAP_MASK (0xFFFFFFFFU)
  7752. #define SYSCON_PIOPORCAP_PIOPORCAP_SHIFT (0U)
  7753. #define SYSCON_PIOPORCAP_PIOPORCAP(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PIOPORCAP_PIOPORCAP_SHIFT)) & SYSCON_PIOPORCAP_PIOPORCAP_MASK)
  7754. /* The count of SYSCON_PIOPORCAP */
  7755. #define SYSCON_PIOPORCAP_COUNT (2U)
  7756. /*! @name PIORESCAP - Reset captured value of port n */
  7757. #define SYSCON_PIORESCAP_PIORESCAP_MASK (0xFFFFFFFFU)
  7758. #define SYSCON_PIORESCAP_PIORESCAP_SHIFT (0U)
  7759. #define SYSCON_PIORESCAP_PIORESCAP(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PIORESCAP_PIORESCAP_SHIFT)) & SYSCON_PIORESCAP_PIORESCAP_MASK)
  7760. /* The count of SYSCON_PIORESCAP */
  7761. #define SYSCON_PIORESCAP_COUNT (2U)
  7762. /*! @name PRESETCTRL - Peripheral reset control n */
  7763. #define SYSCON_PRESETCTRL_MRT_RST_MASK (0x1U)
  7764. #define SYSCON_PRESETCTRL_MRT_RST_SHIFT (0U)
  7765. #define SYSCON_PRESETCTRL_MRT_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_MRT_RST_SHIFT)) & SYSCON_PRESETCTRL_MRT_RST_MASK)
  7766. #define SYSCON_PRESETCTRL_SCT0_RST_MASK (0x4U)
  7767. #define SYSCON_PRESETCTRL_SCT0_RST_SHIFT (2U)
  7768. #define SYSCON_PRESETCTRL_SCT0_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_SCT0_RST_SHIFT)) & SYSCON_PRESETCTRL_SCT0_RST_MASK)
  7769. #define SYSCON_PRESETCTRL_LCD_RST_MASK (0x4U)
  7770. #define SYSCON_PRESETCTRL_LCD_RST_SHIFT (2U)
  7771. #define SYSCON_PRESETCTRL_LCD_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_LCD_RST_SHIFT)) & SYSCON_PRESETCTRL_LCD_RST_MASK)
  7772. #define SYSCON_PRESETCTRL_SDIO_RST_MASK (0x8U)
  7773. #define SYSCON_PRESETCTRL_SDIO_RST_SHIFT (3U)
  7774. #define SYSCON_PRESETCTRL_SDIO_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_SDIO_RST_SHIFT)) & SYSCON_PRESETCTRL_SDIO_RST_MASK)
  7775. #define SYSCON_PRESETCTRL_USB1H_RST_MASK (0x10U)
  7776. #define SYSCON_PRESETCTRL_USB1H_RST_SHIFT (4U)
  7777. #define SYSCON_PRESETCTRL_USB1H_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_USB1H_RST_SHIFT)) & SYSCON_PRESETCTRL_USB1H_RST_MASK)
  7778. #define SYSCON_PRESETCTRL_USB1D_RST_MASK (0x20U)
  7779. #define SYSCON_PRESETCTRL_USB1D_RST_SHIFT (5U)
  7780. #define SYSCON_PRESETCTRL_USB1D_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_USB1D_RST_SHIFT)) & SYSCON_PRESETCTRL_USB1D_RST_MASK)
  7781. #define SYSCON_PRESETCTRL_USB1RAM_RST_MASK (0x40U)
  7782. #define SYSCON_PRESETCTRL_USB1RAM_RST_SHIFT (6U)
  7783. #define SYSCON_PRESETCTRL_USB1RAM_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_USB1RAM_RST_SHIFT)) & SYSCON_PRESETCTRL_USB1RAM_RST_MASK)
  7784. #define SYSCON_PRESETCTRL_EMC_RESET_MASK (0x80U)
  7785. #define SYSCON_PRESETCTRL_EMC_RESET_SHIFT (7U)
  7786. #define SYSCON_PRESETCTRL_EMC_RESET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_EMC_RESET_SHIFT)) & SYSCON_PRESETCTRL_EMC_RESET_MASK)
  7787. #define SYSCON_PRESETCTRL_FLASH_RST_MASK (0x80U)
  7788. #define SYSCON_PRESETCTRL_FLASH_RST_SHIFT (7U)
  7789. #define SYSCON_PRESETCTRL_FLASH_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_FLASH_RST_SHIFT)) & SYSCON_PRESETCTRL_FLASH_RST_MASK)
  7790. #define SYSCON_PRESETCTRL_MCAN0_RST_MASK (0x80U)
  7791. #define SYSCON_PRESETCTRL_MCAN0_RST_SHIFT (7U)
  7792. #define SYSCON_PRESETCTRL_MCAN0_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_MCAN0_RST_SHIFT)) & SYSCON_PRESETCTRL_MCAN0_RST_MASK)
  7793. #define SYSCON_PRESETCTRL_FMC_RST_MASK (0x100U)
  7794. #define SYSCON_PRESETCTRL_FMC_RST_SHIFT (8U)
  7795. #define SYSCON_PRESETCTRL_FMC_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_FMC_RST_SHIFT)) & SYSCON_PRESETCTRL_FMC_RST_MASK)
  7796. #define SYSCON_PRESETCTRL_ETH_RST_MASK (0x100U)
  7797. #define SYSCON_PRESETCTRL_ETH_RST_SHIFT (8U)
  7798. #define SYSCON_PRESETCTRL_ETH_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_ETH_RST_SHIFT)) & SYSCON_PRESETCTRL_ETH_RST_MASK)
  7799. #define SYSCON_PRESETCTRL_MCAN1_RST_MASK (0x100U)
  7800. #define SYSCON_PRESETCTRL_MCAN1_RST_SHIFT (8U)
  7801. #define SYSCON_PRESETCTRL_MCAN1_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_MCAN1_RST_SHIFT)) & SYSCON_PRESETCTRL_MCAN1_RST_MASK)
  7802. #define SYSCON_PRESETCTRL_GPIO4_RST_MASK (0x200U)
  7803. #define SYSCON_PRESETCTRL_GPIO4_RST_SHIFT (9U)
  7804. #define SYSCON_PRESETCTRL_GPIO4_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_GPIO4_RST_SHIFT)) & SYSCON_PRESETCTRL_GPIO4_RST_MASK)
  7805. #define SYSCON_PRESETCTRL_EEPROM_RST_MASK (0x200U)
  7806. #define SYSCON_PRESETCTRL_EEPROM_RST_SHIFT (9U)
  7807. #define SYSCON_PRESETCTRL_EEPROM_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_EEPROM_RST_SHIFT)) & SYSCON_PRESETCTRL_EEPROM_RST_MASK)
  7808. #define SYSCON_PRESETCTRL_GPIO5_RST_MASK (0x400U)
  7809. #define SYSCON_PRESETCTRL_GPIO5_RST_SHIFT (10U)
  7810. #define SYSCON_PRESETCTRL_GPIO5_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_GPIO5_RST_SHIFT)) & SYSCON_PRESETCTRL_GPIO5_RST_MASK)
  7811. #define SYSCON_PRESETCTRL_UTICK_RST_MASK (0x400U)
  7812. #define SYSCON_PRESETCTRL_UTICK_RST_SHIFT (10U)
  7813. #define SYSCON_PRESETCTRL_UTICK_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_UTICK_RST_SHIFT)) & SYSCON_PRESETCTRL_UTICK_RST_MASK)
  7814. #define SYSCON_PRESETCTRL_SPIFI_RST_MASK (0x400U)
  7815. #define SYSCON_PRESETCTRL_SPIFI_RST_SHIFT (10U)
  7816. #define SYSCON_PRESETCTRL_SPIFI_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_SPIFI_RST_SHIFT)) & SYSCON_PRESETCTRL_SPIFI_RST_MASK)
  7817. #define SYSCON_PRESETCTRL_AES_RST_MASK (0x800U)
  7818. #define SYSCON_PRESETCTRL_AES_RST_SHIFT (11U)
  7819. #define SYSCON_PRESETCTRL_AES_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_AES_RST_SHIFT)) & SYSCON_PRESETCTRL_AES_RST_MASK)
  7820. #define SYSCON_PRESETCTRL_MUX_RST_MASK (0x800U)
  7821. #define SYSCON_PRESETCTRL_MUX_RST_SHIFT (11U)
  7822. #define SYSCON_PRESETCTRL_MUX_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_MUX_RST_SHIFT)) & SYSCON_PRESETCTRL_MUX_RST_MASK)
  7823. #define SYSCON_PRESETCTRL_FC0_RST_MASK (0x800U)
  7824. #define SYSCON_PRESETCTRL_FC0_RST_SHIFT (11U)
  7825. #define SYSCON_PRESETCTRL_FC0_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_FC0_RST_SHIFT)) & SYSCON_PRESETCTRL_FC0_RST_MASK)
  7826. #define SYSCON_PRESETCTRL_OTP_RST_MASK (0x1000U)
  7827. #define SYSCON_PRESETCTRL_OTP_RST_SHIFT (12U)
  7828. #define SYSCON_PRESETCTRL_OTP_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_OTP_RST_SHIFT)) & SYSCON_PRESETCTRL_OTP_RST_MASK)
  7829. #define SYSCON_PRESETCTRL_FC1_RST_MASK (0x1000U)
  7830. #define SYSCON_PRESETCTRL_FC1_RST_SHIFT (12U)
  7831. #define SYSCON_PRESETCTRL_FC1_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_FC1_RST_SHIFT)) & SYSCON_PRESETCTRL_FC1_RST_MASK)
  7832. #define SYSCON_PRESETCTRL_IOCON_RST_MASK (0x2000U)
  7833. #define SYSCON_PRESETCTRL_IOCON_RST_SHIFT (13U)
  7834. #define SYSCON_PRESETCTRL_IOCON_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_IOCON_RST_SHIFT)) & SYSCON_PRESETCTRL_IOCON_RST_MASK)
  7835. #define SYSCON_PRESETCTRL_RNG_RST_MASK (0x2000U)
  7836. #define SYSCON_PRESETCTRL_RNG_RST_SHIFT (13U)
  7837. #define SYSCON_PRESETCTRL_RNG_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_RNG_RST_SHIFT)) & SYSCON_PRESETCTRL_RNG_RST_MASK)
  7838. #define SYSCON_PRESETCTRL_FC2_RST_MASK (0x2000U)
  7839. #define SYSCON_PRESETCTRL_FC2_RST_SHIFT (13U)
  7840. #define SYSCON_PRESETCTRL_FC2_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_FC2_RST_SHIFT)) & SYSCON_PRESETCTRL_FC2_RST_MASK)
  7841. #define SYSCON_PRESETCTRL_FC8_RST_MASK (0x4000U)
  7842. #define SYSCON_PRESETCTRL_FC8_RST_SHIFT (14U)
  7843. #define SYSCON_PRESETCTRL_FC8_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_FC8_RST_SHIFT)) & SYSCON_PRESETCTRL_FC8_RST_MASK)
  7844. #define SYSCON_PRESETCTRL_FC3_RST_MASK (0x4000U)
  7845. #define SYSCON_PRESETCTRL_FC3_RST_SHIFT (14U)
  7846. #define SYSCON_PRESETCTRL_FC3_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_FC3_RST_SHIFT)) & SYSCON_PRESETCTRL_FC3_RST_MASK)
  7847. #define SYSCON_PRESETCTRL_GPIO0_RST_MASK (0x4000U)
  7848. #define SYSCON_PRESETCTRL_GPIO0_RST_SHIFT (14U)
  7849. #define SYSCON_PRESETCTRL_GPIO0_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_GPIO0_RST_SHIFT)) & SYSCON_PRESETCTRL_GPIO0_RST_MASK)
  7850. #define SYSCON_PRESETCTRL_GPIO1_RST_MASK (0x8000U)
  7851. #define SYSCON_PRESETCTRL_GPIO1_RST_SHIFT (15U)
  7852. #define SYSCON_PRESETCTRL_GPIO1_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_GPIO1_RST_SHIFT)) & SYSCON_PRESETCTRL_GPIO1_RST_MASK)
  7853. #define SYSCON_PRESETCTRL_FC9_RST_MASK (0x8000U)
  7854. #define SYSCON_PRESETCTRL_FC9_RST_SHIFT (15U)
  7855. #define SYSCON_PRESETCTRL_FC9_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_FC9_RST_SHIFT)) & SYSCON_PRESETCTRL_FC9_RST_MASK)
  7856. #define SYSCON_PRESETCTRL_FC4_RST_MASK (0x8000U)
  7857. #define SYSCON_PRESETCTRL_FC4_RST_SHIFT (15U)
  7858. #define SYSCON_PRESETCTRL_FC4_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_FC4_RST_SHIFT)) & SYSCON_PRESETCTRL_FC4_RST_MASK)
  7859. #define SYSCON_PRESETCTRL_USB0HMR_RST_MASK (0x10000U)
  7860. #define SYSCON_PRESETCTRL_USB0HMR_RST_SHIFT (16U)
  7861. #define SYSCON_PRESETCTRL_USB0HMR_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_USB0HMR_RST_SHIFT)) & SYSCON_PRESETCTRL_USB0HMR_RST_MASK)
  7862. #define SYSCON_PRESETCTRL_GPIO2_RST_MASK (0x10000U)
  7863. #define SYSCON_PRESETCTRL_GPIO2_RST_SHIFT (16U)
  7864. #define SYSCON_PRESETCTRL_GPIO2_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_GPIO2_RST_SHIFT)) & SYSCON_PRESETCTRL_GPIO2_RST_MASK)
  7865. #define SYSCON_PRESETCTRL_FC5_RST_MASK (0x10000U)
  7866. #define SYSCON_PRESETCTRL_FC5_RST_SHIFT (16U)
  7867. #define SYSCON_PRESETCTRL_FC5_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_FC5_RST_SHIFT)) & SYSCON_PRESETCTRL_FC5_RST_MASK)
  7868. #define SYSCON_PRESETCTRL_GPIO3_RST_MASK (0x20000U)
  7869. #define SYSCON_PRESETCTRL_GPIO3_RST_SHIFT (17U)
  7870. #define SYSCON_PRESETCTRL_GPIO3_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_GPIO3_RST_SHIFT)) & SYSCON_PRESETCTRL_GPIO3_RST_MASK)
  7871. #define SYSCON_PRESETCTRL_FC6_RST_MASK (0x20000U)
  7872. #define SYSCON_PRESETCTRL_FC6_RST_SHIFT (17U)
  7873. #define SYSCON_PRESETCTRL_FC6_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_FC6_RST_SHIFT)) & SYSCON_PRESETCTRL_FC6_RST_MASK)
  7874. #define SYSCON_PRESETCTRL_USB0HSL_RST_MASK (0x20000U)
  7875. #define SYSCON_PRESETCTRL_USB0HSL_RST_SHIFT (17U)
  7876. #define SYSCON_PRESETCTRL_USB0HSL_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_USB0HSL_RST_SHIFT)) & SYSCON_PRESETCTRL_USB0HSL_RST_MASK)
  7877. #define SYSCON_PRESETCTRL_FC7_RST_MASK (0x40000U)
  7878. #define SYSCON_PRESETCTRL_FC7_RST_SHIFT (18U)
  7879. #define SYSCON_PRESETCTRL_FC7_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_FC7_RST_SHIFT)) & SYSCON_PRESETCTRL_FC7_RST_MASK)
  7880. #define SYSCON_PRESETCTRL_SHA_RST_MASK (0x40000U)
  7881. #define SYSCON_PRESETCTRL_SHA_RST_SHIFT (18U)
  7882. #define SYSCON_PRESETCTRL_SHA_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_SHA_RST_SHIFT)) & SYSCON_PRESETCTRL_SHA_RST_MASK)
  7883. #define SYSCON_PRESETCTRL_PINT_RST_MASK (0x40000U)
  7884. #define SYSCON_PRESETCTRL_PINT_RST_SHIFT (18U)
  7885. #define SYSCON_PRESETCTRL_PINT_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_PINT_RST_SHIFT)) & SYSCON_PRESETCTRL_PINT_RST_MASK)
  7886. #define SYSCON_PRESETCTRL_DMIC_RST_MASK (0x80000U)
  7887. #define SYSCON_PRESETCTRL_DMIC_RST_SHIFT (19U)
  7888. #define SYSCON_PRESETCTRL_DMIC_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_DMIC_RST_SHIFT)) & SYSCON_PRESETCTRL_DMIC_RST_MASK)
  7889. #define SYSCON_PRESETCTRL_SC0_RST_MASK (0x80000U)
  7890. #define SYSCON_PRESETCTRL_SC0_RST_SHIFT (19U)
  7891. #define SYSCON_PRESETCTRL_SC0_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_SC0_RST_SHIFT)) & SYSCON_PRESETCTRL_SC0_RST_MASK)
  7892. #define SYSCON_PRESETCTRL_GINT_RST_MASK (0x80000U)
  7893. #define SYSCON_PRESETCTRL_GINT_RST_SHIFT (19U)
  7894. #define SYSCON_PRESETCTRL_GINT_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_GINT_RST_SHIFT)) & SYSCON_PRESETCTRL_GINT_RST_MASK)
  7895. #define SYSCON_PRESETCTRL_SC1_RST_MASK (0x100000U)
  7896. #define SYSCON_PRESETCTRL_SC1_RST_SHIFT (20U)
  7897. #define SYSCON_PRESETCTRL_SC1_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_SC1_RST_SHIFT)) & SYSCON_PRESETCTRL_SC1_RST_MASK)
  7898. #define SYSCON_PRESETCTRL_DMA0_RST_MASK (0x100000U)
  7899. #define SYSCON_PRESETCTRL_DMA0_RST_SHIFT (20U)
  7900. #define SYSCON_PRESETCTRL_DMA0_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_DMA0_RST_SHIFT)) & SYSCON_PRESETCTRL_DMA0_RST_MASK)
  7901. #define SYSCON_PRESETCTRL_CRC_RST_MASK (0x200000U)
  7902. #define SYSCON_PRESETCTRL_CRC_RST_SHIFT (21U)
  7903. #define SYSCON_PRESETCTRL_CRC_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_CRC_RST_SHIFT)) & SYSCON_PRESETCTRL_CRC_RST_MASK)
  7904. #define SYSCON_PRESETCTRL_CTIMER2_RST_MASK (0x400000U)
  7905. #define SYSCON_PRESETCTRL_CTIMER2_RST_SHIFT (22U)
  7906. #define SYSCON_PRESETCTRL_CTIMER2_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_CTIMER2_RST_SHIFT)) & SYSCON_PRESETCTRL_CTIMER2_RST_MASK)
  7907. #define SYSCON_PRESETCTRL_WWDT_RST_MASK (0x400000U)
  7908. #define SYSCON_PRESETCTRL_WWDT_RST_SHIFT (22U)
  7909. #define SYSCON_PRESETCTRL_WWDT_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_WWDT_RST_SHIFT)) & SYSCON_PRESETCTRL_WWDT_RST_MASK)
  7910. #define SYSCON_PRESETCTRL_USB0D_RST_MASK (0x2000000U)
  7911. #define SYSCON_PRESETCTRL_USB0D_RST_SHIFT (25U)
  7912. #define SYSCON_PRESETCTRL_USB0D_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_USB0D_RST_SHIFT)) & SYSCON_PRESETCTRL_USB0D_RST_MASK)
  7913. #define SYSCON_PRESETCTRL_CTIMER0_RST_MASK (0x4000000U)
  7914. #define SYSCON_PRESETCTRL_CTIMER0_RST_SHIFT (26U)
  7915. #define SYSCON_PRESETCTRL_CTIMER0_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_CTIMER0_RST_SHIFT)) & SYSCON_PRESETCTRL_CTIMER0_RST_MASK)
  7916. #define SYSCON_PRESETCTRL_ADC0_RST_MASK (0x8000000U)
  7917. #define SYSCON_PRESETCTRL_ADC0_RST_SHIFT (27U)
  7918. #define SYSCON_PRESETCTRL_ADC0_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_ADC0_RST_SHIFT)) & SYSCON_PRESETCTRL_ADC0_RST_MASK)
  7919. #define SYSCON_PRESETCTRL_CTIMER1_RST_MASK (0x8000000U)
  7920. #define SYSCON_PRESETCTRL_CTIMER1_RST_SHIFT (27U)
  7921. #define SYSCON_PRESETCTRL_CTIMER1_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRL_CTIMER1_RST_SHIFT)) & SYSCON_PRESETCTRL_CTIMER1_RST_MASK)
  7922. /* The count of SYSCON_PRESETCTRL */
  7923. #define SYSCON_PRESETCTRL_COUNT (3U)
  7924. /*! @name PRESETCTRLSET - Set bits in PRESETCTRLn */
  7925. #define SYSCON_PRESETCTRLSET_RST_SET_MASK (0xFFFFFFFFU)
  7926. #define SYSCON_PRESETCTRLSET_RST_SET_SHIFT (0U)
  7927. #define SYSCON_PRESETCTRLSET_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRLSET_RST_SET_SHIFT)) & SYSCON_PRESETCTRLSET_RST_SET_MASK)
  7928. /* The count of SYSCON_PRESETCTRLSET */
  7929. #define SYSCON_PRESETCTRLSET_COUNT (3U)
  7930. /*! @name PRESETCTRLCLR - Clear bits in PRESETCTRLn */
  7931. #define SYSCON_PRESETCTRLCLR_RST_CLR_MASK (0xFFFFFFFFU)
  7932. #define SYSCON_PRESETCTRLCLR_RST_CLR_SHIFT (0U)
  7933. #define SYSCON_PRESETCTRLCLR_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PRESETCTRLCLR_RST_CLR_SHIFT)) & SYSCON_PRESETCTRLCLR_RST_CLR_MASK)
  7934. /* The count of SYSCON_PRESETCTRLCLR */
  7935. #define SYSCON_PRESETCTRLCLR_COUNT (3U)
  7936. /*! @name SYSRSTSTAT - System reset status register */
  7937. #define SYSCON_SYSRSTSTAT_POR_MASK (0x1U)
  7938. #define SYSCON_SYSRSTSTAT_POR_SHIFT (0U)
  7939. #define SYSCON_SYSRSTSTAT_POR(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSRSTSTAT_POR_SHIFT)) & SYSCON_SYSRSTSTAT_POR_MASK)
  7940. #define SYSCON_SYSRSTSTAT_EXTRST_MASK (0x2U)
  7941. #define SYSCON_SYSRSTSTAT_EXTRST_SHIFT (1U)
  7942. #define SYSCON_SYSRSTSTAT_EXTRST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSRSTSTAT_EXTRST_SHIFT)) & SYSCON_SYSRSTSTAT_EXTRST_MASK)
  7943. #define SYSCON_SYSRSTSTAT_WDT_MASK (0x4U)
  7944. #define SYSCON_SYSRSTSTAT_WDT_SHIFT (2U)
  7945. #define SYSCON_SYSRSTSTAT_WDT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSRSTSTAT_WDT_SHIFT)) & SYSCON_SYSRSTSTAT_WDT_MASK)
  7946. #define SYSCON_SYSRSTSTAT_BOD_MASK (0x8U)
  7947. #define SYSCON_SYSRSTSTAT_BOD_SHIFT (3U)
  7948. #define SYSCON_SYSRSTSTAT_BOD(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSRSTSTAT_BOD_SHIFT)) & SYSCON_SYSRSTSTAT_BOD_MASK)
  7949. #define SYSCON_SYSRSTSTAT_SYSRST_MASK (0x10U)
  7950. #define SYSCON_SYSRSTSTAT_SYSRST_SHIFT (4U)
  7951. #define SYSCON_SYSRSTSTAT_SYSRST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSRSTSTAT_SYSRST_SHIFT)) & SYSCON_SYSRSTSTAT_SYSRST_MASK)
  7952. /*! @name AHBCLKCTRL - AHB Clock control n */
  7953. #define SYSCON_AHBCLKCTRL_MRT_MASK (0x1U)
  7954. #define SYSCON_AHBCLKCTRL_MRT_SHIFT (0U)
  7955. #define SYSCON_AHBCLKCTRL_MRT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_MRT_SHIFT)) & SYSCON_AHBCLKCTRL_MRT_MASK)
  7956. #define SYSCON_AHBCLKCTRL_RIT_MASK (0x2U)
  7957. #define SYSCON_AHBCLKCTRL_RIT_SHIFT (1U)
  7958. #define SYSCON_AHBCLKCTRL_RIT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_RIT_SHIFT)) & SYSCON_AHBCLKCTRL_RIT_MASK)
  7959. #define SYSCON_AHBCLKCTRL_ROM_MASK (0x2U)
  7960. #define SYSCON_AHBCLKCTRL_ROM_SHIFT (1U)
  7961. #define SYSCON_AHBCLKCTRL_ROM(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_ROM_SHIFT)) & SYSCON_AHBCLKCTRL_ROM_MASK)
  7962. #define SYSCON_AHBCLKCTRL_SCT0_MASK (0x4U)
  7963. #define SYSCON_AHBCLKCTRL_SCT0_SHIFT (2U)
  7964. #define SYSCON_AHBCLKCTRL_SCT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_SCT0_SHIFT)) & SYSCON_AHBCLKCTRL_SCT0_MASK)
  7965. #define SYSCON_AHBCLKCTRL_LCD_MASK (0x4U)
  7966. #define SYSCON_AHBCLKCTRL_LCD_SHIFT (2U)
  7967. #define SYSCON_AHBCLKCTRL_LCD(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_LCD_SHIFT)) & SYSCON_AHBCLKCTRL_LCD_MASK)
  7968. #define SYSCON_AHBCLKCTRL_SRAM1_MASK (0x8U)
  7969. #define SYSCON_AHBCLKCTRL_SRAM1_SHIFT (3U)
  7970. #define SYSCON_AHBCLKCTRL_SRAM1(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_SRAM1_SHIFT)) & SYSCON_AHBCLKCTRL_SRAM1_MASK)
  7971. #define SYSCON_AHBCLKCTRL_SDIO_MASK (0x8U)
  7972. #define SYSCON_AHBCLKCTRL_SDIO_SHIFT (3U)
  7973. #define SYSCON_AHBCLKCTRL_SDIO(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_SDIO_SHIFT)) & SYSCON_AHBCLKCTRL_SDIO_MASK)
  7974. #define SYSCON_AHBCLKCTRL_SRAM2_MASK (0x10U)
  7975. #define SYSCON_AHBCLKCTRL_SRAM2_SHIFT (4U)
  7976. #define SYSCON_AHBCLKCTRL_SRAM2(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_SRAM2_SHIFT)) & SYSCON_AHBCLKCTRL_SRAM2_MASK)
  7977. #define SYSCON_AHBCLKCTRL_USB1H_MASK (0x10U)
  7978. #define SYSCON_AHBCLKCTRL_USB1H_SHIFT (4U)
  7979. #define SYSCON_AHBCLKCTRL_USB1H(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_USB1H_SHIFT)) & SYSCON_AHBCLKCTRL_USB1H_MASK)
  7980. #define SYSCON_AHBCLKCTRL_SRAM3_MASK (0x20U)
  7981. #define SYSCON_AHBCLKCTRL_SRAM3_SHIFT (5U)
  7982. #define SYSCON_AHBCLKCTRL_SRAM3(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_SRAM3_SHIFT)) & SYSCON_AHBCLKCTRL_SRAM3_MASK)
  7983. #define SYSCON_AHBCLKCTRL_USB1D_MASK (0x20U)
  7984. #define SYSCON_AHBCLKCTRL_USB1D_SHIFT (5U)
  7985. #define SYSCON_AHBCLKCTRL_USB1D(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_USB1D_SHIFT)) & SYSCON_AHBCLKCTRL_USB1D_MASK)
  7986. #define SYSCON_AHBCLKCTRL_USB1RAM_MASK (0x40U)
  7987. #define SYSCON_AHBCLKCTRL_USB1RAM_SHIFT (6U)
  7988. #define SYSCON_AHBCLKCTRL_USB1RAM(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_USB1RAM_SHIFT)) & SYSCON_AHBCLKCTRL_USB1RAM_MASK)
  7989. #define SYSCON_AHBCLKCTRL_FLASH_MASK (0x80U)
  7990. #define SYSCON_AHBCLKCTRL_FLASH_SHIFT (7U)
  7991. #define SYSCON_AHBCLKCTRL_FLASH(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_FLASH_SHIFT)) & SYSCON_AHBCLKCTRL_FLASH_MASK)
  7992. #define SYSCON_AHBCLKCTRL_EMC_MASK (0x80U)
  7993. #define SYSCON_AHBCLKCTRL_EMC_SHIFT (7U)
  7994. #define SYSCON_AHBCLKCTRL_EMC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_EMC_SHIFT)) & SYSCON_AHBCLKCTRL_EMC_MASK)
  7995. #define SYSCON_AHBCLKCTRL_MCAN0_MASK (0x80U)
  7996. #define SYSCON_AHBCLKCTRL_MCAN0_SHIFT (7U)
  7997. #define SYSCON_AHBCLKCTRL_MCAN0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_MCAN0_SHIFT)) & SYSCON_AHBCLKCTRL_MCAN0_MASK)
  7998. #define SYSCON_AHBCLKCTRL_FMC_MASK (0x100U)
  7999. #define SYSCON_AHBCLKCTRL_FMC_SHIFT (8U)
  8000. #define SYSCON_AHBCLKCTRL_FMC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_FMC_SHIFT)) & SYSCON_AHBCLKCTRL_FMC_MASK)
  8001. #define SYSCON_AHBCLKCTRL_ETH_MASK (0x100U)
  8002. #define SYSCON_AHBCLKCTRL_ETH_SHIFT (8U)
  8003. #define SYSCON_AHBCLKCTRL_ETH(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_ETH_SHIFT)) & SYSCON_AHBCLKCTRL_ETH_MASK)
  8004. #define SYSCON_AHBCLKCTRL_MCAN1_MASK (0x100U)
  8005. #define SYSCON_AHBCLKCTRL_MCAN1_SHIFT (8U)
  8006. #define SYSCON_AHBCLKCTRL_MCAN1(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_MCAN1_SHIFT)) & SYSCON_AHBCLKCTRL_MCAN1_MASK)
  8007. #define SYSCON_AHBCLKCTRL_EEPROM_MASK (0x200U)
  8008. #define SYSCON_AHBCLKCTRL_EEPROM_SHIFT (9U)
  8009. #define SYSCON_AHBCLKCTRL_EEPROM(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_EEPROM_SHIFT)) & SYSCON_AHBCLKCTRL_EEPROM_MASK)
  8010. #define SYSCON_AHBCLKCTRL_GPIO4_MASK (0x200U)
  8011. #define SYSCON_AHBCLKCTRL_GPIO4_SHIFT (9U)
  8012. #define SYSCON_AHBCLKCTRL_GPIO4(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_GPIO4_SHIFT)) & SYSCON_AHBCLKCTRL_GPIO4_MASK)
  8013. #define SYSCON_AHBCLKCTRL_GPIO5_MASK (0x400U)
  8014. #define SYSCON_AHBCLKCTRL_GPIO5_SHIFT (10U)
  8015. #define SYSCON_AHBCLKCTRL_GPIO5(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_GPIO5_SHIFT)) & SYSCON_AHBCLKCTRL_GPIO5_MASK)
  8016. #define SYSCON_AHBCLKCTRL_UTICK_MASK (0x400U)
  8017. #define SYSCON_AHBCLKCTRL_UTICK_SHIFT (10U)
  8018. #define SYSCON_AHBCLKCTRL_UTICK(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_UTICK_SHIFT)) & SYSCON_AHBCLKCTRL_UTICK_MASK)
  8019. #define SYSCON_AHBCLKCTRL_SPIFI_MASK (0x400U)
  8020. #define SYSCON_AHBCLKCTRL_SPIFI_SHIFT (10U)
  8021. #define SYSCON_AHBCLKCTRL_SPIFI(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_SPIFI_SHIFT)) & SYSCON_AHBCLKCTRL_SPIFI_MASK)
  8022. #define SYSCON_AHBCLKCTRL_INPUTMUX_MASK (0x800U)
  8023. #define SYSCON_AHBCLKCTRL_INPUTMUX_SHIFT (11U)
  8024. #define SYSCON_AHBCLKCTRL_INPUTMUX(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_INPUTMUX_SHIFT)) & SYSCON_AHBCLKCTRL_INPUTMUX_MASK)
  8025. #define SYSCON_AHBCLKCTRL_AES_MASK (0x800U)
  8026. #define SYSCON_AHBCLKCTRL_AES_SHIFT (11U)
  8027. #define SYSCON_AHBCLKCTRL_AES(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_AES_SHIFT)) & SYSCON_AHBCLKCTRL_AES_MASK)
  8028. #define SYSCON_AHBCLKCTRL_FLEXCOMM0_MASK (0x800U)
  8029. #define SYSCON_AHBCLKCTRL_FLEXCOMM0_SHIFT (11U)
  8030. #define SYSCON_AHBCLKCTRL_FLEXCOMM0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_FLEXCOMM0_SHIFT)) & SYSCON_AHBCLKCTRL_FLEXCOMM0_MASK)
  8031. #define SYSCON_AHBCLKCTRL_OTP_MASK (0x1000U)
  8032. #define SYSCON_AHBCLKCTRL_OTP_SHIFT (12U)
  8033. #define SYSCON_AHBCLKCTRL_OTP(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_OTP_SHIFT)) & SYSCON_AHBCLKCTRL_OTP_MASK)
  8034. #define SYSCON_AHBCLKCTRL_FLEXCOMM1_MASK (0x1000U)
  8035. #define SYSCON_AHBCLKCTRL_FLEXCOMM1_SHIFT (12U)
  8036. #define SYSCON_AHBCLKCTRL_FLEXCOMM1(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_FLEXCOMM1_SHIFT)) & SYSCON_AHBCLKCTRL_FLEXCOMM1_MASK)
  8037. #define SYSCON_AHBCLKCTRL_RNG_MASK (0x2000U)
  8038. #define SYSCON_AHBCLKCTRL_RNG_SHIFT (13U)
  8039. #define SYSCON_AHBCLKCTRL_RNG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_RNG_SHIFT)) & SYSCON_AHBCLKCTRL_RNG_MASK)
  8040. #define SYSCON_AHBCLKCTRL_IOCON_MASK (0x2000U)
  8041. #define SYSCON_AHBCLKCTRL_IOCON_SHIFT (13U)
  8042. #define SYSCON_AHBCLKCTRL_IOCON(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_IOCON_SHIFT)) & SYSCON_AHBCLKCTRL_IOCON_MASK)
  8043. #define SYSCON_AHBCLKCTRL_FLEXCOMM2_MASK (0x2000U)
  8044. #define SYSCON_AHBCLKCTRL_FLEXCOMM2_SHIFT (13U)
  8045. #define SYSCON_AHBCLKCTRL_FLEXCOMM2(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_FLEXCOMM2_SHIFT)) & SYSCON_AHBCLKCTRL_FLEXCOMM2_MASK)
  8046. #define SYSCON_AHBCLKCTRL_GPIO0_MASK (0x4000U)
  8047. #define SYSCON_AHBCLKCTRL_GPIO0_SHIFT (14U)
  8048. #define SYSCON_AHBCLKCTRL_GPIO0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_GPIO0_SHIFT)) & SYSCON_AHBCLKCTRL_GPIO0_MASK)
  8049. #define SYSCON_AHBCLKCTRL_FLEXCOMM3_MASK (0x4000U)
  8050. #define SYSCON_AHBCLKCTRL_FLEXCOMM3_SHIFT (14U)
  8051. #define SYSCON_AHBCLKCTRL_FLEXCOMM3(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_FLEXCOMM3_SHIFT)) & SYSCON_AHBCLKCTRL_FLEXCOMM3_MASK)
  8052. #define SYSCON_AHBCLKCTRL_FLEXCOMM8_MASK (0x4000U)
  8053. #define SYSCON_AHBCLKCTRL_FLEXCOMM8_SHIFT (14U)
  8054. #define SYSCON_AHBCLKCTRL_FLEXCOMM8(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_FLEXCOMM8_SHIFT)) & SYSCON_AHBCLKCTRL_FLEXCOMM8_MASK)
  8055. #define SYSCON_AHBCLKCTRL_FLEXCOMM9_MASK (0x8000U)
  8056. #define SYSCON_AHBCLKCTRL_FLEXCOMM9_SHIFT (15U)
  8057. #define SYSCON_AHBCLKCTRL_FLEXCOMM9(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_FLEXCOMM9_SHIFT)) & SYSCON_AHBCLKCTRL_FLEXCOMM9_MASK)
  8058. #define SYSCON_AHBCLKCTRL_FLEXCOMM4_MASK (0x8000U)
  8059. #define SYSCON_AHBCLKCTRL_FLEXCOMM4_SHIFT (15U)
  8060. #define SYSCON_AHBCLKCTRL_FLEXCOMM4(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_FLEXCOMM4_SHIFT)) & SYSCON_AHBCLKCTRL_FLEXCOMM4_MASK)
  8061. #define SYSCON_AHBCLKCTRL_GPIO1_MASK (0x8000U)
  8062. #define SYSCON_AHBCLKCTRL_GPIO1_SHIFT (15U)
  8063. #define SYSCON_AHBCLKCTRL_GPIO1(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_GPIO1_SHIFT)) & SYSCON_AHBCLKCTRL_GPIO1_MASK)
  8064. #define SYSCON_AHBCLKCTRL_GPIO2_MASK (0x10000U)
  8065. #define SYSCON_AHBCLKCTRL_GPIO2_SHIFT (16U)
  8066. #define SYSCON_AHBCLKCTRL_GPIO2(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_GPIO2_SHIFT)) & SYSCON_AHBCLKCTRL_GPIO2_MASK)
  8067. #define SYSCON_AHBCLKCTRL_USB0HMR_MASK (0x10000U)
  8068. #define SYSCON_AHBCLKCTRL_USB0HMR_SHIFT (16U)
  8069. #define SYSCON_AHBCLKCTRL_USB0HMR(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_USB0HMR_SHIFT)) & SYSCON_AHBCLKCTRL_USB0HMR_MASK)
  8070. #define SYSCON_AHBCLKCTRL_FLEXCOMM5_MASK (0x10000U)
  8071. #define SYSCON_AHBCLKCTRL_FLEXCOMM5_SHIFT (16U)
  8072. #define SYSCON_AHBCLKCTRL_FLEXCOMM5(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_FLEXCOMM5_SHIFT)) & SYSCON_AHBCLKCTRL_FLEXCOMM5_MASK)
  8073. #define SYSCON_AHBCLKCTRL_FLEXCOMM6_MASK (0x20000U)
  8074. #define SYSCON_AHBCLKCTRL_FLEXCOMM6_SHIFT (17U)
  8075. #define SYSCON_AHBCLKCTRL_FLEXCOMM6(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_FLEXCOMM6_SHIFT)) & SYSCON_AHBCLKCTRL_FLEXCOMM6_MASK)
  8076. #define SYSCON_AHBCLKCTRL_GPIO3_MASK (0x20000U)
  8077. #define SYSCON_AHBCLKCTRL_GPIO3_SHIFT (17U)
  8078. #define SYSCON_AHBCLKCTRL_GPIO3(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_GPIO3_SHIFT)) & SYSCON_AHBCLKCTRL_GPIO3_MASK)
  8079. #define SYSCON_AHBCLKCTRL_USB0HSL_MASK (0x20000U)
  8080. #define SYSCON_AHBCLKCTRL_USB0HSL_SHIFT (17U)
  8081. #define SYSCON_AHBCLKCTRL_USB0HSL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_USB0HSL_SHIFT)) & SYSCON_AHBCLKCTRL_USB0HSL_MASK)
  8082. #define SYSCON_AHBCLKCTRL_PINT_MASK (0x40000U)
  8083. #define SYSCON_AHBCLKCTRL_PINT_SHIFT (18U)
  8084. #define SYSCON_AHBCLKCTRL_PINT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_PINT_SHIFT)) & SYSCON_AHBCLKCTRL_PINT_MASK)
  8085. #define SYSCON_AHBCLKCTRL_SHA0_MASK (0x40000U)
  8086. #define SYSCON_AHBCLKCTRL_SHA0_SHIFT (18U)
  8087. #define SYSCON_AHBCLKCTRL_SHA0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_SHA0_SHIFT)) & SYSCON_AHBCLKCTRL_SHA0_MASK)
  8088. #define SYSCON_AHBCLKCTRL_FLEXCOMM7_MASK (0x40000U)
  8089. #define SYSCON_AHBCLKCTRL_FLEXCOMM7_SHIFT (18U)
  8090. #define SYSCON_AHBCLKCTRL_FLEXCOMM7(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_FLEXCOMM7_SHIFT)) & SYSCON_AHBCLKCTRL_FLEXCOMM7_MASK)
  8091. #define SYSCON_AHBCLKCTRL_DMIC_MASK (0x80000U)
  8092. #define SYSCON_AHBCLKCTRL_DMIC_SHIFT (19U)
  8093. #define SYSCON_AHBCLKCTRL_DMIC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_DMIC_SHIFT)) & SYSCON_AHBCLKCTRL_DMIC_MASK)
  8094. #define SYSCON_AHBCLKCTRL_GINT_MASK (0x80000U)
  8095. #define SYSCON_AHBCLKCTRL_GINT_SHIFT (19U)
  8096. #define SYSCON_AHBCLKCTRL_GINT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_GINT_SHIFT)) & SYSCON_AHBCLKCTRL_GINT_MASK)
  8097. #define SYSCON_AHBCLKCTRL_SC0_MASK (0x80000U)
  8098. #define SYSCON_AHBCLKCTRL_SC0_SHIFT (19U)
  8099. #define SYSCON_AHBCLKCTRL_SC0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_SC0_SHIFT)) & SYSCON_AHBCLKCTRL_SC0_MASK)
  8100. #define SYSCON_AHBCLKCTRL_SC1_MASK (0x100000U)
  8101. #define SYSCON_AHBCLKCTRL_SC1_SHIFT (20U)
  8102. #define SYSCON_AHBCLKCTRL_SC1(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_SC1_SHIFT)) & SYSCON_AHBCLKCTRL_SC1_MASK)
  8103. #define SYSCON_AHBCLKCTRL_DMA_MASK (0x100000U)
  8104. #define SYSCON_AHBCLKCTRL_DMA_SHIFT (20U)
  8105. #define SYSCON_AHBCLKCTRL_DMA(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_DMA_SHIFT)) & SYSCON_AHBCLKCTRL_DMA_MASK)
  8106. #define SYSCON_AHBCLKCTRL_CRC_MASK (0x200000U)
  8107. #define SYSCON_AHBCLKCTRL_CRC_SHIFT (21U)
  8108. #define SYSCON_AHBCLKCTRL_CRC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_CRC_SHIFT)) & SYSCON_AHBCLKCTRL_CRC_MASK)
  8109. #define SYSCON_AHBCLKCTRL_WWDT_MASK (0x400000U)
  8110. #define SYSCON_AHBCLKCTRL_WWDT_SHIFT (22U)
  8111. #define SYSCON_AHBCLKCTRL_WWDT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_WWDT_SHIFT)) & SYSCON_AHBCLKCTRL_WWDT_MASK)
  8112. #define SYSCON_AHBCLKCTRL_CTIMER2_MASK (0x400000U)
  8113. #define SYSCON_AHBCLKCTRL_CTIMER2_SHIFT (22U)
  8114. #define SYSCON_AHBCLKCTRL_CTIMER2(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_CTIMER2_SHIFT)) & SYSCON_AHBCLKCTRL_CTIMER2_MASK)
  8115. #define SYSCON_AHBCLKCTRL_RTC_MASK (0x800000U)
  8116. #define SYSCON_AHBCLKCTRL_RTC_SHIFT (23U)
  8117. #define SYSCON_AHBCLKCTRL_RTC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_RTC_SHIFT)) & SYSCON_AHBCLKCTRL_RTC_MASK)
  8118. #define SYSCON_AHBCLKCTRL_USB0D_MASK (0x2000000U)
  8119. #define SYSCON_AHBCLKCTRL_USB0D_SHIFT (25U)
  8120. #define SYSCON_AHBCLKCTRL_USB0D(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_USB0D_SHIFT)) & SYSCON_AHBCLKCTRL_USB0D_MASK)
  8121. #define SYSCON_AHBCLKCTRL_CTIMER0_MASK (0x4000000U)
  8122. #define SYSCON_AHBCLKCTRL_CTIMER0_SHIFT (26U)
  8123. #define SYSCON_AHBCLKCTRL_CTIMER0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_CTIMER0_SHIFT)) & SYSCON_AHBCLKCTRL_CTIMER0_MASK)
  8124. #define SYSCON_AHBCLKCTRL_CTIMER1_MASK (0x8000000U)
  8125. #define SYSCON_AHBCLKCTRL_CTIMER1_SHIFT (27U)
  8126. #define SYSCON_AHBCLKCTRL_CTIMER1(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_CTIMER1_SHIFT)) & SYSCON_AHBCLKCTRL_CTIMER1_MASK)
  8127. #define SYSCON_AHBCLKCTRL_ADC0_MASK (0x8000000U)
  8128. #define SYSCON_AHBCLKCTRL_ADC0_SHIFT (27U)
  8129. #define SYSCON_AHBCLKCTRL_ADC0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRL_ADC0_SHIFT)) & SYSCON_AHBCLKCTRL_ADC0_MASK)
  8130. /* The count of SYSCON_AHBCLKCTRL */
  8131. #define SYSCON_AHBCLKCTRL_COUNT (3U)
  8132. /*! @name AHBCLKCTRLSET - Set bits in AHBCLKCTRLn */
  8133. #define SYSCON_AHBCLKCTRLSET_CLK_SET_MASK (0xFFFFFFFFU)
  8134. #define SYSCON_AHBCLKCTRLSET_CLK_SET_SHIFT (0U)
  8135. #define SYSCON_AHBCLKCTRLSET_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRLSET_CLK_SET_SHIFT)) & SYSCON_AHBCLKCTRLSET_CLK_SET_MASK)
  8136. /* The count of SYSCON_AHBCLKCTRLSET */
  8137. #define SYSCON_AHBCLKCTRLSET_COUNT (3U)
  8138. /*! @name AHBCLKCTRLCLR - Clear bits in AHBCLKCTRLn */
  8139. #define SYSCON_AHBCLKCTRLCLR_CLK_CLR_MASK (0xFFFFFFFFU)
  8140. #define SYSCON_AHBCLKCTRLCLR_CLK_CLR_SHIFT (0U)
  8141. #define SYSCON_AHBCLKCTRLCLR_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKCTRLCLR_CLK_CLR_SHIFT)) & SYSCON_AHBCLKCTRLCLR_CLK_CLR_MASK)
  8142. /* The count of SYSCON_AHBCLKCTRLCLR */
  8143. #define SYSCON_AHBCLKCTRLCLR_COUNT (3U)
  8144. /*! @name MAINCLKSELA - Main clock source select A */
  8145. #define SYSCON_MAINCLKSELA_SEL_MASK (0x3U)
  8146. #define SYSCON_MAINCLKSELA_SEL_SHIFT (0U)
  8147. #define SYSCON_MAINCLKSELA_SEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_MAINCLKSELA_SEL_SHIFT)) & SYSCON_MAINCLKSELA_SEL_MASK)
  8148. /*! @name MAINCLKSELB - Main clock source select B */
  8149. #define SYSCON_MAINCLKSELB_SEL_MASK (0x3U)
  8150. #define SYSCON_MAINCLKSELB_SEL_SHIFT (0U)
  8151. #define SYSCON_MAINCLKSELB_SEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_MAINCLKSELB_SEL_SHIFT)) & SYSCON_MAINCLKSELB_SEL_MASK)
  8152. /*! @name CLKOUTSELA - CLKOUT clock source select A */
  8153. #define SYSCON_CLKOUTSELA_SEL_MASK (0x7U)
  8154. #define SYSCON_CLKOUTSELA_SEL_SHIFT (0U)
  8155. #define SYSCON_CLKOUTSELA_SEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_CLKOUTSELA_SEL_SHIFT)) & SYSCON_CLKOUTSELA_SEL_MASK)
  8156. /*! @name SYSPLLCLKSEL - PLL clock source select */
  8157. #define SYSCON_SYSPLLCLKSEL_SEL_MASK (0x7U)
  8158. #define SYSCON_SYSPLLCLKSEL_SEL_SHIFT (0U)
  8159. #define SYSCON_SYSPLLCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSPLLCLKSEL_SEL_SHIFT)) & SYSCON_SYSPLLCLKSEL_SEL_MASK)
  8160. /*! @name AUDPLLCLKSEL - Audio PLL clock source select */
  8161. #define SYSCON_AUDPLLCLKSEL_SEL_MASK (0x7U)
  8162. #define SYSCON_AUDPLLCLKSEL_SEL_SHIFT (0U)
  8163. #define SYSCON_AUDPLLCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUDPLLCLKSEL_SEL_SHIFT)) & SYSCON_AUDPLLCLKSEL_SEL_MASK)
  8164. /*! @name SPIFICLKSEL - SPIFI clock source select */
  8165. #define SYSCON_SPIFICLKSEL_SEL_MASK (0x7U)
  8166. #define SYSCON_SPIFICLKSEL_SEL_SHIFT (0U)
  8167. #define SYSCON_SPIFICLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SPIFICLKSEL_SEL_SHIFT)) & SYSCON_SPIFICLKSEL_SEL_MASK)
  8168. /*! @name ADCCLKSEL - ADC clock source select */
  8169. #define SYSCON_ADCCLKSEL_SEL_MASK (0x7U)
  8170. #define SYSCON_ADCCLKSEL_SEL_SHIFT (0U)
  8171. #define SYSCON_ADCCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_ADCCLKSEL_SEL_SHIFT)) & SYSCON_ADCCLKSEL_SEL_MASK)
  8172. /*! @name USB0CLKSEL - USB0 clock source select */
  8173. #define SYSCON_USB0CLKSEL_SEL_MASK (0x7U)
  8174. #define SYSCON_USB0CLKSEL_SEL_SHIFT (0U)
  8175. #define SYSCON_USB0CLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB0CLKSEL_SEL_SHIFT)) & SYSCON_USB0CLKSEL_SEL_MASK)
  8176. /*! @name USB1CLKSEL - USB1 clock source select */
  8177. #define SYSCON_USB1CLKSEL_SEL_MASK (0x7U)
  8178. #define SYSCON_USB1CLKSEL_SEL_SHIFT (0U)
  8179. #define SYSCON_USB1CLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB1CLKSEL_SEL_SHIFT)) & SYSCON_USB1CLKSEL_SEL_MASK)
  8180. /*! @name FCLKSEL - Flexcomm 0 clock source select */
  8181. #define SYSCON_FCLKSEL_SEL_MASK (0x7U)
  8182. #define SYSCON_FCLKSEL_SEL_SHIFT (0U)
  8183. #define SYSCON_FCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FCLKSEL_SEL_SHIFT)) & SYSCON_FCLKSEL_SEL_MASK)
  8184. /* The count of SYSCON_FCLKSEL */
  8185. #define SYSCON_FCLKSEL_COUNT (10U)
  8186. /*! @name MCLKCLKSEL - MCLK clock source select */
  8187. #define SYSCON_MCLKCLKSEL_SEL_MASK (0x7U)
  8188. #define SYSCON_MCLKCLKSEL_SEL_SHIFT (0U)
  8189. #define SYSCON_MCLKCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_MCLKCLKSEL_SEL_SHIFT)) & SYSCON_MCLKCLKSEL_SEL_MASK)
  8190. /*! @name FRGCLKSEL - Fractional Rate Generator clock source select */
  8191. #define SYSCON_FRGCLKSEL_SEL_MASK (0x7U)
  8192. #define SYSCON_FRGCLKSEL_SEL_SHIFT (0U)
  8193. #define SYSCON_FRGCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FRGCLKSEL_SEL_SHIFT)) & SYSCON_FRGCLKSEL_SEL_MASK)
  8194. /*! @name DMICCLKSEL - Digital microphone (DMIC) subsystem clock select */
  8195. #define SYSCON_DMICCLKSEL_SEL_MASK (0x7U)
  8196. #define SYSCON_DMICCLKSEL_SEL_SHIFT (0U)
  8197. #define SYSCON_DMICCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_DMICCLKSEL_SEL_SHIFT)) & SYSCON_DMICCLKSEL_SEL_MASK)
  8198. /*! @name SCTCLKSEL - SCTimer/PWM clock source select */
  8199. #define SYSCON_SCTCLKSEL_SEL_MASK (0x7U)
  8200. #define SYSCON_SCTCLKSEL_SEL_SHIFT (0U)
  8201. #define SYSCON_SCTCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SCTCLKSEL_SEL_SHIFT)) & SYSCON_SCTCLKSEL_SEL_MASK)
  8202. /*! @name LCDCLKSEL - LCD clock source select */
  8203. #define SYSCON_LCDCLKSEL_SEL_MASK (0x3U)
  8204. #define SYSCON_LCDCLKSEL_SEL_SHIFT (0U)
  8205. #define SYSCON_LCDCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_LCDCLKSEL_SEL_SHIFT)) & SYSCON_LCDCLKSEL_SEL_MASK)
  8206. /*! @name SDIOCLKSEL - SDIO clock source select */
  8207. #define SYSCON_SDIOCLKSEL_SEL_MASK (0x7U)
  8208. #define SYSCON_SDIOCLKSEL_SEL_SHIFT (0U)
  8209. #define SYSCON_SDIOCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SDIOCLKSEL_SEL_SHIFT)) & SYSCON_SDIOCLKSEL_SEL_MASK)
  8210. /*! @name SYSTICKCLKDIV - SYSTICK clock divider */
  8211. #define SYSCON_SYSTICKCLKDIV_DIV_MASK (0xFFU)
  8212. #define SYSCON_SYSTICKCLKDIV_DIV_SHIFT (0U)
  8213. #define SYSCON_SYSTICKCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSTICKCLKDIV_DIV_SHIFT)) & SYSCON_SYSTICKCLKDIV_DIV_MASK)
  8214. #define SYSCON_SYSTICKCLKDIV_RESET_MASK (0x20000000U)
  8215. #define SYSCON_SYSTICKCLKDIV_RESET_SHIFT (29U)
  8216. #define SYSCON_SYSTICKCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSTICKCLKDIV_RESET_SHIFT)) & SYSCON_SYSTICKCLKDIV_RESET_MASK)
  8217. #define SYSCON_SYSTICKCLKDIV_HALT_MASK (0x40000000U)
  8218. #define SYSCON_SYSTICKCLKDIV_HALT_SHIFT (30U)
  8219. #define SYSCON_SYSTICKCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSTICKCLKDIV_HALT_SHIFT)) & SYSCON_SYSTICKCLKDIV_HALT_MASK)
  8220. #define SYSCON_SYSTICKCLKDIV_REQFLAG_MASK (0x80000000U)
  8221. #define SYSCON_SYSTICKCLKDIV_REQFLAG_SHIFT (31U)
  8222. #define SYSCON_SYSTICKCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSTICKCLKDIV_REQFLAG_SHIFT)) & SYSCON_SYSTICKCLKDIV_REQFLAG_MASK)
  8223. /*! @name ARMTRACECLKDIV - ARM Trace clock divider */
  8224. #define SYSCON_ARMTRACECLKDIV_DIV_MASK (0xFFU)
  8225. #define SYSCON_ARMTRACECLKDIV_DIV_SHIFT (0U)
  8226. #define SYSCON_ARMTRACECLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_ARMTRACECLKDIV_DIV_SHIFT)) & SYSCON_ARMTRACECLKDIV_DIV_MASK)
  8227. #define SYSCON_ARMTRACECLKDIV_RESET_MASK (0x20000000U)
  8228. #define SYSCON_ARMTRACECLKDIV_RESET_SHIFT (29U)
  8229. #define SYSCON_ARMTRACECLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_ARMTRACECLKDIV_RESET_SHIFT)) & SYSCON_ARMTRACECLKDIV_RESET_MASK)
  8230. #define SYSCON_ARMTRACECLKDIV_HALT_MASK (0x40000000U)
  8231. #define SYSCON_ARMTRACECLKDIV_HALT_SHIFT (30U)
  8232. #define SYSCON_ARMTRACECLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_ARMTRACECLKDIV_HALT_SHIFT)) & SYSCON_ARMTRACECLKDIV_HALT_MASK)
  8233. #define SYSCON_ARMTRACECLKDIV_REQFLAG_MASK (0x80000000U)
  8234. #define SYSCON_ARMTRACECLKDIV_REQFLAG_SHIFT (31U)
  8235. #define SYSCON_ARMTRACECLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_ARMTRACECLKDIV_REQFLAG_SHIFT)) & SYSCON_ARMTRACECLKDIV_REQFLAG_MASK)
  8236. /*! @name CAN0CLKDIV - MCAN0 clock divider */
  8237. #define SYSCON_CAN0CLKDIV_DIV_MASK (0xFFU)
  8238. #define SYSCON_CAN0CLKDIV_DIV_SHIFT (0U)
  8239. #define SYSCON_CAN0CLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_CAN0CLKDIV_DIV_SHIFT)) & SYSCON_CAN0CLKDIV_DIV_MASK)
  8240. #define SYSCON_CAN0CLKDIV_RESET_MASK (0x20000000U)
  8241. #define SYSCON_CAN0CLKDIV_RESET_SHIFT (29U)
  8242. #define SYSCON_CAN0CLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_CAN0CLKDIV_RESET_SHIFT)) & SYSCON_CAN0CLKDIV_RESET_MASK)
  8243. #define SYSCON_CAN0CLKDIV_HALT_MASK (0x40000000U)
  8244. #define SYSCON_CAN0CLKDIV_HALT_SHIFT (30U)
  8245. #define SYSCON_CAN0CLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_CAN0CLKDIV_HALT_SHIFT)) & SYSCON_CAN0CLKDIV_HALT_MASK)
  8246. #define SYSCON_CAN0CLKDIV_REQFLAG_MASK (0x80000000U)
  8247. #define SYSCON_CAN0CLKDIV_REQFLAG_SHIFT (31U)
  8248. #define SYSCON_CAN0CLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_CAN0CLKDIV_REQFLAG_SHIFT)) & SYSCON_CAN0CLKDIV_REQFLAG_MASK)
  8249. /*! @name CAN1CLKDIV - MCAN1 clock divider */
  8250. #define SYSCON_CAN1CLKDIV_DIV_MASK (0xFFU)
  8251. #define SYSCON_CAN1CLKDIV_DIV_SHIFT (0U)
  8252. #define SYSCON_CAN1CLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_CAN1CLKDIV_DIV_SHIFT)) & SYSCON_CAN1CLKDIV_DIV_MASK)
  8253. #define SYSCON_CAN1CLKDIV_RESET_MASK (0x20000000U)
  8254. #define SYSCON_CAN1CLKDIV_RESET_SHIFT (29U)
  8255. #define SYSCON_CAN1CLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_CAN1CLKDIV_RESET_SHIFT)) & SYSCON_CAN1CLKDIV_RESET_MASK)
  8256. #define SYSCON_CAN1CLKDIV_HALT_MASK (0x40000000U)
  8257. #define SYSCON_CAN1CLKDIV_HALT_SHIFT (30U)
  8258. #define SYSCON_CAN1CLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_CAN1CLKDIV_HALT_SHIFT)) & SYSCON_CAN1CLKDIV_HALT_MASK)
  8259. #define SYSCON_CAN1CLKDIV_REQFLAG_MASK (0x80000000U)
  8260. #define SYSCON_CAN1CLKDIV_REQFLAG_SHIFT (31U)
  8261. #define SYSCON_CAN1CLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_CAN1CLKDIV_REQFLAG_SHIFT)) & SYSCON_CAN1CLKDIV_REQFLAG_MASK)
  8262. /*! @name SC0CLKDIV - Smartcard0 clock divider */
  8263. #define SYSCON_SC0CLKDIV_DIV_MASK (0xFFU)
  8264. #define SYSCON_SC0CLKDIV_DIV_SHIFT (0U)
  8265. #define SYSCON_SC0CLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SC0CLKDIV_DIV_SHIFT)) & SYSCON_SC0CLKDIV_DIV_MASK)
  8266. #define SYSCON_SC0CLKDIV_RESET_MASK (0x20000000U)
  8267. #define SYSCON_SC0CLKDIV_RESET_SHIFT (29U)
  8268. #define SYSCON_SC0CLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SC0CLKDIV_RESET_SHIFT)) & SYSCON_SC0CLKDIV_RESET_MASK)
  8269. #define SYSCON_SC0CLKDIV_HALT_MASK (0x40000000U)
  8270. #define SYSCON_SC0CLKDIV_HALT_SHIFT (30U)
  8271. #define SYSCON_SC0CLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SC0CLKDIV_HALT_SHIFT)) & SYSCON_SC0CLKDIV_HALT_MASK)
  8272. #define SYSCON_SC0CLKDIV_REQFLAG_MASK (0x80000000U)
  8273. #define SYSCON_SC0CLKDIV_REQFLAG_SHIFT (31U)
  8274. #define SYSCON_SC0CLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SC0CLKDIV_REQFLAG_SHIFT)) & SYSCON_SC0CLKDIV_REQFLAG_MASK)
  8275. /*! @name SC1CLKDIV - Smartcard1 clock divider */
  8276. #define SYSCON_SC1CLKDIV_DIV_MASK (0xFFU)
  8277. #define SYSCON_SC1CLKDIV_DIV_SHIFT (0U)
  8278. #define SYSCON_SC1CLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SC1CLKDIV_DIV_SHIFT)) & SYSCON_SC1CLKDIV_DIV_MASK)
  8279. #define SYSCON_SC1CLKDIV_RESET_MASK (0x20000000U)
  8280. #define SYSCON_SC1CLKDIV_RESET_SHIFT (29U)
  8281. #define SYSCON_SC1CLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SC1CLKDIV_RESET_SHIFT)) & SYSCON_SC1CLKDIV_RESET_MASK)
  8282. #define SYSCON_SC1CLKDIV_HALT_MASK (0x40000000U)
  8283. #define SYSCON_SC1CLKDIV_HALT_SHIFT (30U)
  8284. #define SYSCON_SC1CLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SC1CLKDIV_HALT_SHIFT)) & SYSCON_SC1CLKDIV_HALT_MASK)
  8285. #define SYSCON_SC1CLKDIV_REQFLAG_MASK (0x80000000U)
  8286. #define SYSCON_SC1CLKDIV_REQFLAG_SHIFT (31U)
  8287. #define SYSCON_SC1CLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SC1CLKDIV_REQFLAG_SHIFT)) & SYSCON_SC1CLKDIV_REQFLAG_MASK)
  8288. /*! @name AHBCLKDIV - AHB clock divider */
  8289. #define SYSCON_AHBCLKDIV_DIV_MASK (0xFFU)
  8290. #define SYSCON_AHBCLKDIV_DIV_SHIFT (0U)
  8291. #define SYSCON_AHBCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKDIV_DIV_SHIFT)) & SYSCON_AHBCLKDIV_DIV_MASK)
  8292. #define SYSCON_AHBCLKDIV_REQFLAG_MASK (0x80000000U)
  8293. #define SYSCON_AHBCLKDIV_REQFLAG_SHIFT (31U)
  8294. #define SYSCON_AHBCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AHBCLKDIV_REQFLAG_SHIFT)) & SYSCON_AHBCLKDIV_REQFLAG_MASK)
  8295. /*! @name CLKOUTDIV - CLKOUT clock divider */
  8296. #define SYSCON_CLKOUTDIV_DIV_MASK (0xFFU)
  8297. #define SYSCON_CLKOUTDIV_DIV_SHIFT (0U)
  8298. #define SYSCON_CLKOUTDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_CLKOUTDIV_DIV_SHIFT)) & SYSCON_CLKOUTDIV_DIV_MASK)
  8299. #define SYSCON_CLKOUTDIV_RESET_MASK (0x20000000U)
  8300. #define SYSCON_CLKOUTDIV_RESET_SHIFT (29U)
  8301. #define SYSCON_CLKOUTDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_CLKOUTDIV_RESET_SHIFT)) & SYSCON_CLKOUTDIV_RESET_MASK)
  8302. #define SYSCON_CLKOUTDIV_HALT_MASK (0x40000000U)
  8303. #define SYSCON_CLKOUTDIV_HALT_SHIFT (30U)
  8304. #define SYSCON_CLKOUTDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_CLKOUTDIV_HALT_SHIFT)) & SYSCON_CLKOUTDIV_HALT_MASK)
  8305. #define SYSCON_CLKOUTDIV_REQFLAG_MASK (0x80000000U)
  8306. #define SYSCON_CLKOUTDIV_REQFLAG_SHIFT (31U)
  8307. #define SYSCON_CLKOUTDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_CLKOUTDIV_REQFLAG_SHIFT)) & SYSCON_CLKOUTDIV_REQFLAG_MASK)
  8308. /*! @name FROHFCLKDIV - FROHF clock divider */
  8309. #define SYSCON_FROHFCLKDIV_DIV_MASK (0xFFU)
  8310. #define SYSCON_FROHFCLKDIV_DIV_SHIFT (0U)
  8311. #define SYSCON_FROHFCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FROHFCLKDIV_DIV_SHIFT)) & SYSCON_FROHFCLKDIV_DIV_MASK)
  8312. #define SYSCON_FROHFCLKDIV_RESET_MASK (0x20000000U)
  8313. #define SYSCON_FROHFCLKDIV_RESET_SHIFT (29U)
  8314. #define SYSCON_FROHFCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FROHFCLKDIV_RESET_SHIFT)) & SYSCON_FROHFCLKDIV_RESET_MASK)
  8315. #define SYSCON_FROHFCLKDIV_HALT_MASK (0x40000000U)
  8316. #define SYSCON_FROHFCLKDIV_HALT_SHIFT (30U)
  8317. #define SYSCON_FROHFCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FROHFCLKDIV_HALT_SHIFT)) & SYSCON_FROHFCLKDIV_HALT_MASK)
  8318. #define SYSCON_FROHFCLKDIV_REQFLAG_MASK (0x80000000U)
  8319. #define SYSCON_FROHFCLKDIV_REQFLAG_SHIFT (31U)
  8320. #define SYSCON_FROHFCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FROHFCLKDIV_REQFLAG_SHIFT)) & SYSCON_FROHFCLKDIV_REQFLAG_MASK)
  8321. /*! @name SPIFICLKDIV - SPIFI clock divider */
  8322. #define SYSCON_SPIFICLKDIV_DIV_MASK (0xFFU)
  8323. #define SYSCON_SPIFICLKDIV_DIV_SHIFT (0U)
  8324. #define SYSCON_SPIFICLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SPIFICLKDIV_DIV_SHIFT)) & SYSCON_SPIFICLKDIV_DIV_MASK)
  8325. #define SYSCON_SPIFICLKDIV_RESET_MASK (0x20000000U)
  8326. #define SYSCON_SPIFICLKDIV_RESET_SHIFT (29U)
  8327. #define SYSCON_SPIFICLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SPIFICLKDIV_RESET_SHIFT)) & SYSCON_SPIFICLKDIV_RESET_MASK)
  8328. #define SYSCON_SPIFICLKDIV_HALT_MASK (0x40000000U)
  8329. #define SYSCON_SPIFICLKDIV_HALT_SHIFT (30U)
  8330. #define SYSCON_SPIFICLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SPIFICLKDIV_HALT_SHIFT)) & SYSCON_SPIFICLKDIV_HALT_MASK)
  8331. #define SYSCON_SPIFICLKDIV_REQFLAG_MASK (0x80000000U)
  8332. #define SYSCON_SPIFICLKDIV_REQFLAG_SHIFT (31U)
  8333. #define SYSCON_SPIFICLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SPIFICLKDIV_REQFLAG_SHIFT)) & SYSCON_SPIFICLKDIV_REQFLAG_MASK)
  8334. /*! @name ADCCLKDIV - ADC clock divider */
  8335. #define SYSCON_ADCCLKDIV_DIV_MASK (0xFFU)
  8336. #define SYSCON_ADCCLKDIV_DIV_SHIFT (0U)
  8337. #define SYSCON_ADCCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_ADCCLKDIV_DIV_SHIFT)) & SYSCON_ADCCLKDIV_DIV_MASK)
  8338. #define SYSCON_ADCCLKDIV_RESET_MASK (0x20000000U)
  8339. #define SYSCON_ADCCLKDIV_RESET_SHIFT (29U)
  8340. #define SYSCON_ADCCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_ADCCLKDIV_RESET_SHIFT)) & SYSCON_ADCCLKDIV_RESET_MASK)
  8341. #define SYSCON_ADCCLKDIV_HALT_MASK (0x40000000U)
  8342. #define SYSCON_ADCCLKDIV_HALT_SHIFT (30U)
  8343. #define SYSCON_ADCCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_ADCCLKDIV_HALT_SHIFT)) & SYSCON_ADCCLKDIV_HALT_MASK)
  8344. #define SYSCON_ADCCLKDIV_REQFLAG_MASK (0x80000000U)
  8345. #define SYSCON_ADCCLKDIV_REQFLAG_SHIFT (31U)
  8346. #define SYSCON_ADCCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_ADCCLKDIV_REQFLAG_SHIFT)) & SYSCON_ADCCLKDIV_REQFLAG_MASK)
  8347. /*! @name USB0CLKDIV - USB0 clock divider */
  8348. #define SYSCON_USB0CLKDIV_DIV_MASK (0xFFU)
  8349. #define SYSCON_USB0CLKDIV_DIV_SHIFT (0U)
  8350. #define SYSCON_USB0CLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB0CLKDIV_DIV_SHIFT)) & SYSCON_USB0CLKDIV_DIV_MASK)
  8351. #define SYSCON_USB0CLKDIV_RESET_MASK (0x20000000U)
  8352. #define SYSCON_USB0CLKDIV_RESET_SHIFT (29U)
  8353. #define SYSCON_USB0CLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB0CLKDIV_RESET_SHIFT)) & SYSCON_USB0CLKDIV_RESET_MASK)
  8354. #define SYSCON_USB0CLKDIV_HALT_MASK (0x40000000U)
  8355. #define SYSCON_USB0CLKDIV_HALT_SHIFT (30U)
  8356. #define SYSCON_USB0CLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB0CLKDIV_HALT_SHIFT)) & SYSCON_USB0CLKDIV_HALT_MASK)
  8357. #define SYSCON_USB0CLKDIV_REQFLAG_MASK (0x80000000U)
  8358. #define SYSCON_USB0CLKDIV_REQFLAG_SHIFT (31U)
  8359. #define SYSCON_USB0CLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB0CLKDIV_REQFLAG_SHIFT)) & SYSCON_USB0CLKDIV_REQFLAG_MASK)
  8360. /*! @name USB1CLKDIV - USB1 clock divider */
  8361. #define SYSCON_USB1CLKDIV_DIV_MASK (0xFFU)
  8362. #define SYSCON_USB1CLKDIV_DIV_SHIFT (0U)
  8363. #define SYSCON_USB1CLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB1CLKDIV_DIV_SHIFT)) & SYSCON_USB1CLKDIV_DIV_MASK)
  8364. #define SYSCON_USB1CLKDIV_RESET_MASK (0x20000000U)
  8365. #define SYSCON_USB1CLKDIV_RESET_SHIFT (29U)
  8366. #define SYSCON_USB1CLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB1CLKDIV_RESET_SHIFT)) & SYSCON_USB1CLKDIV_RESET_MASK)
  8367. #define SYSCON_USB1CLKDIV_HALT_MASK (0x40000000U)
  8368. #define SYSCON_USB1CLKDIV_HALT_SHIFT (30U)
  8369. #define SYSCON_USB1CLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB1CLKDIV_HALT_SHIFT)) & SYSCON_USB1CLKDIV_HALT_MASK)
  8370. #define SYSCON_USB1CLKDIV_REQFLAG_MASK (0x80000000U)
  8371. #define SYSCON_USB1CLKDIV_REQFLAG_SHIFT (31U)
  8372. #define SYSCON_USB1CLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB1CLKDIV_REQFLAG_SHIFT)) & SYSCON_USB1CLKDIV_REQFLAG_MASK)
  8373. /*! @name FRGCTRL - Fractional rate divider */
  8374. #define SYSCON_FRGCTRL_DIV_MASK (0xFFU)
  8375. #define SYSCON_FRGCTRL_DIV_SHIFT (0U)
  8376. #define SYSCON_FRGCTRL_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FRGCTRL_DIV_SHIFT)) & SYSCON_FRGCTRL_DIV_MASK)
  8377. #define SYSCON_FRGCTRL_MULT_MASK (0xFF00U)
  8378. #define SYSCON_FRGCTRL_MULT_SHIFT (8U)
  8379. #define SYSCON_FRGCTRL_MULT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FRGCTRL_MULT_SHIFT)) & SYSCON_FRGCTRL_MULT_MASK)
  8380. /*! @name DMICCLKDIV - DMIC clock divider */
  8381. #define SYSCON_DMICCLKDIV_DIV_MASK (0xFFU)
  8382. #define SYSCON_DMICCLKDIV_DIV_SHIFT (0U)
  8383. #define SYSCON_DMICCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_DMICCLKDIV_DIV_SHIFT)) & SYSCON_DMICCLKDIV_DIV_MASK)
  8384. #define SYSCON_DMICCLKDIV_RESET_MASK (0x20000000U)
  8385. #define SYSCON_DMICCLKDIV_RESET_SHIFT (29U)
  8386. #define SYSCON_DMICCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_DMICCLKDIV_RESET_SHIFT)) & SYSCON_DMICCLKDIV_RESET_MASK)
  8387. #define SYSCON_DMICCLKDIV_HALT_MASK (0x40000000U)
  8388. #define SYSCON_DMICCLKDIV_HALT_SHIFT (30U)
  8389. #define SYSCON_DMICCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_DMICCLKDIV_HALT_SHIFT)) & SYSCON_DMICCLKDIV_HALT_MASK)
  8390. #define SYSCON_DMICCLKDIV_REQFLAG_MASK (0x80000000U)
  8391. #define SYSCON_DMICCLKDIV_REQFLAG_SHIFT (31U)
  8392. #define SYSCON_DMICCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_DMICCLKDIV_REQFLAG_SHIFT)) & SYSCON_DMICCLKDIV_REQFLAG_MASK)
  8393. /*! @name MCLKDIV - I2S MCLK clock divider */
  8394. #define SYSCON_MCLKDIV_DIV_MASK (0xFFU)
  8395. #define SYSCON_MCLKDIV_DIV_SHIFT (0U)
  8396. #define SYSCON_MCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_MCLKDIV_DIV_SHIFT)) & SYSCON_MCLKDIV_DIV_MASK)
  8397. #define SYSCON_MCLKDIV_RESET_MASK (0x20000000U)
  8398. #define SYSCON_MCLKDIV_RESET_SHIFT (29U)
  8399. #define SYSCON_MCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_MCLKDIV_RESET_SHIFT)) & SYSCON_MCLKDIV_RESET_MASK)
  8400. #define SYSCON_MCLKDIV_HALT_MASK (0x40000000U)
  8401. #define SYSCON_MCLKDIV_HALT_SHIFT (30U)
  8402. #define SYSCON_MCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_MCLKDIV_HALT_SHIFT)) & SYSCON_MCLKDIV_HALT_MASK)
  8403. #define SYSCON_MCLKDIV_REQFLAG_MASK (0x80000000U)
  8404. #define SYSCON_MCLKDIV_REQFLAG_SHIFT (31U)
  8405. #define SYSCON_MCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_MCLKDIV_REQFLAG_SHIFT)) & SYSCON_MCLKDIV_REQFLAG_MASK)
  8406. /*! @name LCDCLKDIV - LCD clock divider */
  8407. #define SYSCON_LCDCLKDIV_DIV_MASK (0xFFU)
  8408. #define SYSCON_LCDCLKDIV_DIV_SHIFT (0U)
  8409. #define SYSCON_LCDCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_LCDCLKDIV_DIV_SHIFT)) & SYSCON_LCDCLKDIV_DIV_MASK)
  8410. #define SYSCON_LCDCLKDIV_RESET_MASK (0x20000000U)
  8411. #define SYSCON_LCDCLKDIV_RESET_SHIFT (29U)
  8412. #define SYSCON_LCDCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_LCDCLKDIV_RESET_SHIFT)) & SYSCON_LCDCLKDIV_RESET_MASK)
  8413. #define SYSCON_LCDCLKDIV_HALT_MASK (0x40000000U)
  8414. #define SYSCON_LCDCLKDIV_HALT_SHIFT (30U)
  8415. #define SYSCON_LCDCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_LCDCLKDIV_HALT_SHIFT)) & SYSCON_LCDCLKDIV_HALT_MASK)
  8416. #define SYSCON_LCDCLKDIV_REQFLAG_MASK (0x80000000U)
  8417. #define SYSCON_LCDCLKDIV_REQFLAG_SHIFT (31U)
  8418. #define SYSCON_LCDCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_LCDCLKDIV_REQFLAG_SHIFT)) & SYSCON_LCDCLKDIV_REQFLAG_MASK)
  8419. /*! @name SCTCLKDIV - SCT/PWM clock divider */
  8420. #define SYSCON_SCTCLKDIV_DIV_MASK (0xFFU)
  8421. #define SYSCON_SCTCLKDIV_DIV_SHIFT (0U)
  8422. #define SYSCON_SCTCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SCTCLKDIV_DIV_SHIFT)) & SYSCON_SCTCLKDIV_DIV_MASK)
  8423. #define SYSCON_SCTCLKDIV_RESET_MASK (0x20000000U)
  8424. #define SYSCON_SCTCLKDIV_RESET_SHIFT (29U)
  8425. #define SYSCON_SCTCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SCTCLKDIV_RESET_SHIFT)) & SYSCON_SCTCLKDIV_RESET_MASK)
  8426. #define SYSCON_SCTCLKDIV_HALT_MASK (0x40000000U)
  8427. #define SYSCON_SCTCLKDIV_HALT_SHIFT (30U)
  8428. #define SYSCON_SCTCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SCTCLKDIV_HALT_SHIFT)) & SYSCON_SCTCLKDIV_HALT_MASK)
  8429. #define SYSCON_SCTCLKDIV_REQFLAG_MASK (0x80000000U)
  8430. #define SYSCON_SCTCLKDIV_REQFLAG_SHIFT (31U)
  8431. #define SYSCON_SCTCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SCTCLKDIV_REQFLAG_SHIFT)) & SYSCON_SCTCLKDIV_REQFLAG_MASK)
  8432. /*! @name EMCCLKDIV - EMC clock divider */
  8433. #define SYSCON_EMCCLKDIV_DIV_MASK (0xFFU)
  8434. #define SYSCON_EMCCLKDIV_DIV_SHIFT (0U)
  8435. #define SYSCON_EMCCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_EMCCLKDIV_DIV_SHIFT)) & SYSCON_EMCCLKDIV_DIV_MASK)
  8436. #define SYSCON_EMCCLKDIV_RESET_MASK (0x20000000U)
  8437. #define SYSCON_EMCCLKDIV_RESET_SHIFT (29U)
  8438. #define SYSCON_EMCCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_EMCCLKDIV_RESET_SHIFT)) & SYSCON_EMCCLKDIV_RESET_MASK)
  8439. #define SYSCON_EMCCLKDIV_HALT_MASK (0x40000000U)
  8440. #define SYSCON_EMCCLKDIV_HALT_SHIFT (30U)
  8441. #define SYSCON_EMCCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_EMCCLKDIV_HALT_SHIFT)) & SYSCON_EMCCLKDIV_HALT_MASK)
  8442. #define SYSCON_EMCCLKDIV_REQFLAG_MASK (0x80000000U)
  8443. #define SYSCON_EMCCLKDIV_REQFLAG_SHIFT (31U)
  8444. #define SYSCON_EMCCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_EMCCLKDIV_REQFLAG_SHIFT)) & SYSCON_EMCCLKDIV_REQFLAG_MASK)
  8445. /*! @name SDIOCLKDIV - SDIO clock divider */
  8446. #define SYSCON_SDIOCLKDIV_DIV_MASK (0xFFU)
  8447. #define SYSCON_SDIOCLKDIV_DIV_SHIFT (0U)
  8448. #define SYSCON_SDIOCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SDIOCLKDIV_DIV_SHIFT)) & SYSCON_SDIOCLKDIV_DIV_MASK)
  8449. #define SYSCON_SDIOCLKDIV_RESET_MASK (0x20000000U)
  8450. #define SYSCON_SDIOCLKDIV_RESET_SHIFT (29U)
  8451. #define SYSCON_SDIOCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SDIOCLKDIV_RESET_SHIFT)) & SYSCON_SDIOCLKDIV_RESET_MASK)
  8452. #define SYSCON_SDIOCLKDIV_HALT_MASK (0x40000000U)
  8453. #define SYSCON_SDIOCLKDIV_HALT_SHIFT (30U)
  8454. #define SYSCON_SDIOCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SDIOCLKDIV_HALT_SHIFT)) & SYSCON_SDIOCLKDIV_HALT_MASK)
  8455. #define SYSCON_SDIOCLKDIV_REQFLAG_MASK (0x80000000U)
  8456. #define SYSCON_SDIOCLKDIV_REQFLAG_SHIFT (31U)
  8457. #define SYSCON_SDIOCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SDIOCLKDIV_REQFLAG_SHIFT)) & SYSCON_SDIOCLKDIV_REQFLAG_MASK)
  8458. /*! @name FLASHCFG - Flash wait states configuration */
  8459. #define SYSCON_FLASHCFG_FETCHCFG_MASK (0x3U)
  8460. #define SYSCON_FLASHCFG_FETCHCFG_SHIFT (0U)
  8461. #define SYSCON_FLASHCFG_FETCHCFG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FLASHCFG_FETCHCFG_SHIFT)) & SYSCON_FLASHCFG_FETCHCFG_MASK)
  8462. #define SYSCON_FLASHCFG_DATACFG_MASK (0xCU)
  8463. #define SYSCON_FLASHCFG_DATACFG_SHIFT (2U)
  8464. #define SYSCON_FLASHCFG_DATACFG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FLASHCFG_DATACFG_SHIFT)) & SYSCON_FLASHCFG_DATACFG_MASK)
  8465. #define SYSCON_FLASHCFG_ACCEL_MASK (0x10U)
  8466. #define SYSCON_FLASHCFG_ACCEL_SHIFT (4U)
  8467. #define SYSCON_FLASHCFG_ACCEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FLASHCFG_ACCEL_SHIFT)) & SYSCON_FLASHCFG_ACCEL_MASK)
  8468. #define SYSCON_FLASHCFG_PREFEN_MASK (0x20U)
  8469. #define SYSCON_FLASHCFG_PREFEN_SHIFT (5U)
  8470. #define SYSCON_FLASHCFG_PREFEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FLASHCFG_PREFEN_SHIFT)) & SYSCON_FLASHCFG_PREFEN_MASK)
  8471. #define SYSCON_FLASHCFG_PREFOVR_MASK (0x40U)
  8472. #define SYSCON_FLASHCFG_PREFOVR_SHIFT (6U)
  8473. #define SYSCON_FLASHCFG_PREFOVR(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FLASHCFG_PREFOVR_SHIFT)) & SYSCON_FLASHCFG_PREFOVR_MASK)
  8474. #define SYSCON_FLASHCFG_FLASHTIM_MASK (0xF000U)
  8475. #define SYSCON_FLASHCFG_FLASHTIM_SHIFT (12U)
  8476. #define SYSCON_FLASHCFG_FLASHTIM(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FLASHCFG_FLASHTIM_SHIFT)) & SYSCON_FLASHCFG_FLASHTIM_MASK)
  8477. /*! @name USB0CLKCTRL - USB0 clock control */
  8478. #define SYSCON_USB0CLKCTRL_AP_FS_DEV_CLK_MASK (0x1U)
  8479. #define SYSCON_USB0CLKCTRL_AP_FS_DEV_CLK_SHIFT (0U)
  8480. #define SYSCON_USB0CLKCTRL_AP_FS_DEV_CLK(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB0CLKCTRL_AP_FS_DEV_CLK_SHIFT)) & SYSCON_USB0CLKCTRL_AP_FS_DEV_CLK_MASK)
  8481. #define SYSCON_USB0CLKCTRL_POL_FS_DEV_CLK_MASK (0x2U)
  8482. #define SYSCON_USB0CLKCTRL_POL_FS_DEV_CLK_SHIFT (1U)
  8483. #define SYSCON_USB0CLKCTRL_POL_FS_DEV_CLK(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB0CLKCTRL_POL_FS_DEV_CLK_SHIFT)) & SYSCON_USB0CLKCTRL_POL_FS_DEV_CLK_MASK)
  8484. #define SYSCON_USB0CLKCTRL_AP_FS_HOST_CLK_MASK (0x4U)
  8485. #define SYSCON_USB0CLKCTRL_AP_FS_HOST_CLK_SHIFT (2U)
  8486. #define SYSCON_USB0CLKCTRL_AP_FS_HOST_CLK(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB0CLKCTRL_AP_FS_HOST_CLK_SHIFT)) & SYSCON_USB0CLKCTRL_AP_FS_HOST_CLK_MASK)
  8487. #define SYSCON_USB0CLKCTRL_POL_FS_HOST_CLK_MASK (0x8U)
  8488. #define SYSCON_USB0CLKCTRL_POL_FS_HOST_CLK_SHIFT (3U)
  8489. #define SYSCON_USB0CLKCTRL_POL_FS_HOST_CLK(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB0CLKCTRL_POL_FS_HOST_CLK_SHIFT)) & SYSCON_USB0CLKCTRL_POL_FS_HOST_CLK_MASK)
  8490. #define SYSCON_USB0CLKCTRL_PU_DISABLE_MASK (0x10U)
  8491. #define SYSCON_USB0CLKCTRL_PU_DISABLE_SHIFT (4U)
  8492. #define SYSCON_USB0CLKCTRL_PU_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB0CLKCTRL_PU_DISABLE_SHIFT)) & SYSCON_USB0CLKCTRL_PU_DISABLE_MASK)
  8493. /*! @name USB0CLKSTAT - USB0 clock status */
  8494. #define SYSCON_USB0CLKSTAT_DEV_NEED_CLKST_MASK (0x1U)
  8495. #define SYSCON_USB0CLKSTAT_DEV_NEED_CLKST_SHIFT (0U)
  8496. #define SYSCON_USB0CLKSTAT_DEV_NEED_CLKST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB0CLKSTAT_DEV_NEED_CLKST_SHIFT)) & SYSCON_USB0CLKSTAT_DEV_NEED_CLKST_MASK)
  8497. #define SYSCON_USB0CLKSTAT_HOST_NEED_CLKST_MASK (0x2U)
  8498. #define SYSCON_USB0CLKSTAT_HOST_NEED_CLKST_SHIFT (1U)
  8499. #define SYSCON_USB0CLKSTAT_HOST_NEED_CLKST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB0CLKSTAT_HOST_NEED_CLKST_SHIFT)) & SYSCON_USB0CLKSTAT_HOST_NEED_CLKST_MASK)
  8500. /*! @name FREQMECTRL - Frequency measure register */
  8501. #define SYSCON_FREQMECTRL_CAPVAL_MASK (0x3FFFU)
  8502. #define SYSCON_FREQMECTRL_CAPVAL_SHIFT (0U)
  8503. #define SYSCON_FREQMECTRL_CAPVAL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FREQMECTRL_CAPVAL_SHIFT)) & SYSCON_FREQMECTRL_CAPVAL_MASK)
  8504. #define SYSCON_FREQMECTRL_PROG_MASK (0x80000000U)
  8505. #define SYSCON_FREQMECTRL_PROG_SHIFT (31U)
  8506. #define SYSCON_FREQMECTRL_PROG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FREQMECTRL_PROG_SHIFT)) & SYSCON_FREQMECTRL_PROG_MASK)
  8507. /*! @name MCLKIO - MCLK input/output control */
  8508. #define SYSCON_MCLKIO_DIR_MASK (0x1U)
  8509. #define SYSCON_MCLKIO_DIR_SHIFT (0U)
  8510. #define SYSCON_MCLKIO_DIR(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_MCLKIO_DIR_SHIFT)) & SYSCON_MCLKIO_DIR_MASK)
  8511. /*! @name USB1CLKCTRL - USB1 clock control */
  8512. #define SYSCON_USB1CLKCTRL_AP_FS_DEV_CLK_MASK (0x1U)
  8513. #define SYSCON_USB1CLKCTRL_AP_FS_DEV_CLK_SHIFT (0U)
  8514. #define SYSCON_USB1CLKCTRL_AP_FS_DEV_CLK(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB1CLKCTRL_AP_FS_DEV_CLK_SHIFT)) & SYSCON_USB1CLKCTRL_AP_FS_DEV_CLK_MASK)
  8515. #define SYSCON_USB1CLKCTRL_POL_FS_DEV_CLK_MASK (0x2U)
  8516. #define SYSCON_USB1CLKCTRL_POL_FS_DEV_CLK_SHIFT (1U)
  8517. #define SYSCON_USB1CLKCTRL_POL_FS_DEV_CLK(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB1CLKCTRL_POL_FS_DEV_CLK_SHIFT)) & SYSCON_USB1CLKCTRL_POL_FS_DEV_CLK_MASK)
  8518. #define SYSCON_USB1CLKCTRL_AP_FS_HOST_CLK_MASK (0x4U)
  8519. #define SYSCON_USB1CLKCTRL_AP_FS_HOST_CLK_SHIFT (2U)
  8520. #define SYSCON_USB1CLKCTRL_AP_FS_HOST_CLK(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB1CLKCTRL_AP_FS_HOST_CLK_SHIFT)) & SYSCON_USB1CLKCTRL_AP_FS_HOST_CLK_MASK)
  8521. #define SYSCON_USB1CLKCTRL_POL_FS_HOST_CLK_MASK (0x8U)
  8522. #define SYSCON_USB1CLKCTRL_POL_FS_HOST_CLK_SHIFT (3U)
  8523. #define SYSCON_USB1CLKCTRL_POL_FS_HOST_CLK(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB1CLKCTRL_POL_FS_HOST_CLK_SHIFT)) & SYSCON_USB1CLKCTRL_POL_FS_HOST_CLK_MASK)
  8524. #define SYSCON_USB1CLKCTRL_HS_DEV_WAKEUP_N_MASK (0x10U)
  8525. #define SYSCON_USB1CLKCTRL_HS_DEV_WAKEUP_N_SHIFT (4U)
  8526. #define SYSCON_USB1CLKCTRL_HS_DEV_WAKEUP_N(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB1CLKCTRL_HS_DEV_WAKEUP_N_SHIFT)) & SYSCON_USB1CLKCTRL_HS_DEV_WAKEUP_N_MASK)
  8527. /*! @name USB1CLKSTAT - USB1 clock status */
  8528. #define SYSCON_USB1CLKSTAT_DEV_NEED_CLKST_MASK (0x1U)
  8529. #define SYSCON_USB1CLKSTAT_DEV_NEED_CLKST_SHIFT (0U)
  8530. #define SYSCON_USB1CLKSTAT_DEV_NEED_CLKST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB1CLKSTAT_DEV_NEED_CLKST_SHIFT)) & SYSCON_USB1CLKSTAT_DEV_NEED_CLKST_MASK)
  8531. #define SYSCON_USB1CLKSTAT_HOST_NEED_CLKST_MASK (0x2U)
  8532. #define SYSCON_USB1CLKSTAT_HOST_NEED_CLKST_SHIFT (1U)
  8533. #define SYSCON_USB1CLKSTAT_HOST_NEED_CLKST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USB1CLKSTAT_HOST_NEED_CLKST_SHIFT)) & SYSCON_USB1CLKSTAT_HOST_NEED_CLKST_MASK)
  8534. /*! @name EMCSYSCTRL - EMC system control */
  8535. #define SYSCON_EMCSYSCTRL_EMCSC_MASK (0x1U)
  8536. #define SYSCON_EMCSYSCTRL_EMCSC_SHIFT (0U)
  8537. #define SYSCON_EMCSYSCTRL_EMCSC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_EMCSYSCTRL_EMCSC_SHIFT)) & SYSCON_EMCSYSCTRL_EMCSC_MASK)
  8538. #define SYSCON_EMCSYSCTRL_EMCRD_MASK (0x2U)
  8539. #define SYSCON_EMCSYSCTRL_EMCRD_SHIFT (1U)
  8540. #define SYSCON_EMCSYSCTRL_EMCRD(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_EMCSYSCTRL_EMCRD_SHIFT)) & SYSCON_EMCSYSCTRL_EMCRD_MASK)
  8541. #define SYSCON_EMCSYSCTRL_EMCBC_MASK (0x4U)
  8542. #define SYSCON_EMCSYSCTRL_EMCBC_SHIFT (2U)
  8543. #define SYSCON_EMCSYSCTRL_EMCBC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_EMCSYSCTRL_EMCBC_SHIFT)) & SYSCON_EMCSYSCTRL_EMCBC_MASK)
  8544. #define SYSCON_EMCSYSCTRL_EMCFBCLKINSEL_MASK (0x8U)
  8545. #define SYSCON_EMCSYSCTRL_EMCFBCLKINSEL_SHIFT (3U)
  8546. #define SYSCON_EMCSYSCTRL_EMCFBCLKINSEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_EMCSYSCTRL_EMCFBCLKINSEL_SHIFT)) & SYSCON_EMCSYSCTRL_EMCFBCLKINSEL_MASK)
  8547. /*! @name EMCDLYCTRL - EMC clock delay control */
  8548. #define SYSCON_EMCDLYCTRL_CMD_DELAY_MASK (0x1FU)
  8549. #define SYSCON_EMCDLYCTRL_CMD_DELAY_SHIFT (0U)
  8550. #define SYSCON_EMCDLYCTRL_CMD_DELAY(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_EMCDLYCTRL_CMD_DELAY_SHIFT)) & SYSCON_EMCDLYCTRL_CMD_DELAY_MASK)
  8551. #define SYSCON_EMCDLYCTRL_FBCLK_DELAY_MASK (0x1F00U)
  8552. #define SYSCON_EMCDLYCTRL_FBCLK_DELAY_SHIFT (8U)
  8553. #define SYSCON_EMCDLYCTRL_FBCLK_DELAY(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_EMCDLYCTRL_FBCLK_DELAY_SHIFT)) & SYSCON_EMCDLYCTRL_FBCLK_DELAY_MASK)
  8554. /*! @name EMCDLYCAL - EMC delay chain calibration control */
  8555. #define SYSCON_EMCDLYCAL_CALVALUE_MASK (0xFFU)
  8556. #define SYSCON_EMCDLYCAL_CALVALUE_SHIFT (0U)
  8557. #define SYSCON_EMCDLYCAL_CALVALUE(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_EMCDLYCAL_CALVALUE_SHIFT)) & SYSCON_EMCDLYCAL_CALVALUE_MASK)
  8558. #define SYSCON_EMCDLYCAL_START_MASK (0x4000U)
  8559. #define SYSCON_EMCDLYCAL_START_SHIFT (14U)
  8560. #define SYSCON_EMCDLYCAL_START(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_EMCDLYCAL_START_SHIFT)) & SYSCON_EMCDLYCAL_START_MASK)
  8561. #define SYSCON_EMCDLYCAL_DONE_MASK (0x8000U)
  8562. #define SYSCON_EMCDLYCAL_DONE_SHIFT (15U)
  8563. #define SYSCON_EMCDLYCAL_DONE(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_EMCDLYCAL_DONE_SHIFT)) & SYSCON_EMCDLYCAL_DONE_MASK)
  8564. /*! @name ETHPHYSEL - Ethernet PHY Selection */
  8565. #define SYSCON_ETHPHYSEL_PHY_SEL_MASK (0x4U)
  8566. #define SYSCON_ETHPHYSEL_PHY_SEL_SHIFT (2U)
  8567. #define SYSCON_ETHPHYSEL_PHY_SEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_ETHPHYSEL_PHY_SEL_SHIFT)) & SYSCON_ETHPHYSEL_PHY_SEL_MASK)
  8568. /*! @name ETHSBDCTRL - Ethernet SBD flow control */
  8569. #define SYSCON_ETHSBDCTRL_SBD_CTRL_MASK (0x3U)
  8570. #define SYSCON_ETHSBDCTRL_SBD_CTRL_SHIFT (0U)
  8571. #define SYSCON_ETHSBDCTRL_SBD_CTRL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_ETHSBDCTRL_SBD_CTRL_SHIFT)) & SYSCON_ETHSBDCTRL_SBD_CTRL_MASK)
  8572. /*! @name SDIOCLKCTRL - SDIO CCLKIN phase and delay control */
  8573. #define SYSCON_SDIOCLKCTRL_CCLK_DRV_PHASE_MASK (0x3U)
  8574. #define SYSCON_SDIOCLKCTRL_CCLK_DRV_PHASE_SHIFT (0U)
  8575. #define SYSCON_SDIOCLKCTRL_CCLK_DRV_PHASE(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SDIOCLKCTRL_CCLK_DRV_PHASE_SHIFT)) & SYSCON_SDIOCLKCTRL_CCLK_DRV_PHASE_MASK)
  8576. #define SYSCON_SDIOCLKCTRL_CCLK_SAMPLE_PHASE_MASK (0xCU)
  8577. #define SYSCON_SDIOCLKCTRL_CCLK_SAMPLE_PHASE_SHIFT (2U)
  8578. #define SYSCON_SDIOCLKCTRL_CCLK_SAMPLE_PHASE(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SDIOCLKCTRL_CCLK_SAMPLE_PHASE_SHIFT)) & SYSCON_SDIOCLKCTRL_CCLK_SAMPLE_PHASE_MASK)
  8579. #define SYSCON_SDIOCLKCTRL_PHASE_ACTIVE_MASK (0x80U)
  8580. #define SYSCON_SDIOCLKCTRL_PHASE_ACTIVE_SHIFT (7U)
  8581. #define SYSCON_SDIOCLKCTRL_PHASE_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SDIOCLKCTRL_PHASE_ACTIVE_SHIFT)) & SYSCON_SDIOCLKCTRL_PHASE_ACTIVE_MASK)
  8582. #define SYSCON_SDIOCLKCTRL_CCLK_DRV_DELAY_MASK (0x1F0000U)
  8583. #define SYSCON_SDIOCLKCTRL_CCLK_DRV_DELAY_SHIFT (16U)
  8584. #define SYSCON_SDIOCLKCTRL_CCLK_DRV_DELAY(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SDIOCLKCTRL_CCLK_DRV_DELAY_SHIFT)) & SYSCON_SDIOCLKCTRL_CCLK_DRV_DELAY_MASK)
  8585. #define SYSCON_SDIOCLKCTRL_CCLK_DRV_DELAY_ACTIVE_MASK (0x800000U)
  8586. #define SYSCON_SDIOCLKCTRL_CCLK_DRV_DELAY_ACTIVE_SHIFT (23U)
  8587. #define SYSCON_SDIOCLKCTRL_CCLK_DRV_DELAY_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SDIOCLKCTRL_CCLK_DRV_DELAY_ACTIVE_SHIFT)) & SYSCON_SDIOCLKCTRL_CCLK_DRV_DELAY_ACTIVE_MASK)
  8588. #define SYSCON_SDIOCLKCTRL_CCLK_SAMPLE_DELAY_MASK (0x1F000000U)
  8589. #define SYSCON_SDIOCLKCTRL_CCLK_SAMPLE_DELAY_SHIFT (24U)
  8590. #define SYSCON_SDIOCLKCTRL_CCLK_SAMPLE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SDIOCLKCTRL_CCLK_SAMPLE_DELAY_SHIFT)) & SYSCON_SDIOCLKCTRL_CCLK_SAMPLE_DELAY_MASK)
  8591. #define SYSCON_SDIOCLKCTRL_CCLK_SAMPLE_DELAY_ACTIVE_MASK (0x80000000U)
  8592. #define SYSCON_SDIOCLKCTRL_CCLK_SAMPLE_DELAY_ACTIVE_SHIFT (31U)
  8593. #define SYSCON_SDIOCLKCTRL_CCLK_SAMPLE_DELAY_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SDIOCLKCTRL_CCLK_SAMPLE_DELAY_ACTIVE_SHIFT)) & SYSCON_SDIOCLKCTRL_CCLK_SAMPLE_DELAY_ACTIVE_MASK)
  8594. /*! @name FROCTRL - FRO oscillator control */
  8595. #define SYSCON_FROCTRL_TRIM_MASK (0x3FFFU)
  8596. #define SYSCON_FROCTRL_TRIM_SHIFT (0U)
  8597. #define SYSCON_FROCTRL_TRIM(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FROCTRL_TRIM_SHIFT)) & SYSCON_FROCTRL_TRIM_MASK)
  8598. #define SYSCON_FROCTRL_SEL_MASK (0x4000U)
  8599. #define SYSCON_FROCTRL_SEL_SHIFT (14U)
  8600. #define SYSCON_FROCTRL_SEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FROCTRL_SEL_SHIFT)) & SYSCON_FROCTRL_SEL_MASK)
  8601. #define SYSCON_FROCTRL_FREQTRIM_MASK (0xFF0000U)
  8602. #define SYSCON_FROCTRL_FREQTRIM_SHIFT (16U)
  8603. #define SYSCON_FROCTRL_FREQTRIM(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FROCTRL_FREQTRIM_SHIFT)) & SYSCON_FROCTRL_FREQTRIM_MASK)
  8604. #define SYSCON_FROCTRL_USBCLKADJ_MASK (0x1000000U)
  8605. #define SYSCON_FROCTRL_USBCLKADJ_SHIFT (24U)
  8606. #define SYSCON_FROCTRL_USBCLKADJ(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FROCTRL_USBCLKADJ_SHIFT)) & SYSCON_FROCTRL_USBCLKADJ_MASK)
  8607. #define SYSCON_FROCTRL_USBMODCHG_MASK (0x2000000U)
  8608. #define SYSCON_FROCTRL_USBMODCHG_SHIFT (25U)
  8609. #define SYSCON_FROCTRL_USBMODCHG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FROCTRL_USBMODCHG_SHIFT)) & SYSCON_FROCTRL_USBMODCHG_MASK)
  8610. #define SYSCON_FROCTRL_HSPDCLK_MASK (0x40000000U)
  8611. #define SYSCON_FROCTRL_HSPDCLK_SHIFT (30U)
  8612. #define SYSCON_FROCTRL_HSPDCLK(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FROCTRL_HSPDCLK_SHIFT)) & SYSCON_FROCTRL_HSPDCLK_MASK)
  8613. #define SYSCON_FROCTRL_WRTRIM_MASK (0x80000000U)
  8614. #define SYSCON_FROCTRL_WRTRIM_SHIFT (31U)
  8615. #define SYSCON_FROCTRL_WRTRIM(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_FROCTRL_WRTRIM_SHIFT)) & SYSCON_FROCTRL_WRTRIM_MASK)
  8616. /*! @name SYSOSCCTRL - System oscillator control */
  8617. #define SYSCON_SYSOSCCTRL_BYPASS_MASK (0x1U)
  8618. #define SYSCON_SYSOSCCTRL_BYPASS_SHIFT (0U)
  8619. #define SYSCON_SYSOSCCTRL_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSOSCCTRL_BYPASS_SHIFT)) & SYSCON_SYSOSCCTRL_BYPASS_MASK)
  8620. #define SYSCON_SYSOSCCTRL_FREQRANGE_MASK (0x2U)
  8621. #define SYSCON_SYSOSCCTRL_FREQRANGE_SHIFT (1U)
  8622. #define SYSCON_SYSOSCCTRL_FREQRANGE(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSOSCCTRL_FREQRANGE_SHIFT)) & SYSCON_SYSOSCCTRL_FREQRANGE_MASK)
  8623. /*! @name WDTOSCCTRL - Watchdog oscillator control */
  8624. #define SYSCON_WDTOSCCTRL_DIVSEL_MASK (0x1FU)
  8625. #define SYSCON_WDTOSCCTRL_DIVSEL_SHIFT (0U)
  8626. #define SYSCON_WDTOSCCTRL_DIVSEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_WDTOSCCTRL_DIVSEL_SHIFT)) & SYSCON_WDTOSCCTRL_DIVSEL_MASK)
  8627. #define SYSCON_WDTOSCCTRL_FREQSEL_MASK (0x3E0U)
  8628. #define SYSCON_WDTOSCCTRL_FREQSEL_SHIFT (5U)
  8629. #define SYSCON_WDTOSCCTRL_FREQSEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_WDTOSCCTRL_FREQSEL_SHIFT)) & SYSCON_WDTOSCCTRL_FREQSEL_MASK)
  8630. /*! @name RTCOSCCTRL - RTC oscillator 32 kHz output control */
  8631. #define SYSCON_RTCOSCCTRL_EN_MASK (0x1U)
  8632. #define SYSCON_RTCOSCCTRL_EN_SHIFT (0U)
  8633. #define SYSCON_RTCOSCCTRL_EN(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_RTCOSCCTRL_EN_SHIFT)) & SYSCON_RTCOSCCTRL_EN_MASK)
  8634. /*! @name USBPLLCTRL - USB PLL control */
  8635. #define SYSCON_USBPLLCTRL_MSEL_MASK (0xFFU)
  8636. #define SYSCON_USBPLLCTRL_MSEL_SHIFT (0U)
  8637. #define SYSCON_USBPLLCTRL_MSEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USBPLLCTRL_MSEL_SHIFT)) & SYSCON_USBPLLCTRL_MSEL_MASK)
  8638. #define SYSCON_USBPLLCTRL_PSEL_MASK (0x300U)
  8639. #define SYSCON_USBPLLCTRL_PSEL_SHIFT (8U)
  8640. #define SYSCON_USBPLLCTRL_PSEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USBPLLCTRL_PSEL_SHIFT)) & SYSCON_USBPLLCTRL_PSEL_MASK)
  8641. #define SYSCON_USBPLLCTRL_NSEL_MASK (0xC00U)
  8642. #define SYSCON_USBPLLCTRL_NSEL_SHIFT (10U)
  8643. #define SYSCON_USBPLLCTRL_NSEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USBPLLCTRL_NSEL_SHIFT)) & SYSCON_USBPLLCTRL_NSEL_MASK)
  8644. #define SYSCON_USBPLLCTRL_DIRECT_MASK (0x1000U)
  8645. #define SYSCON_USBPLLCTRL_DIRECT_SHIFT (12U)
  8646. #define SYSCON_USBPLLCTRL_DIRECT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USBPLLCTRL_DIRECT_SHIFT)) & SYSCON_USBPLLCTRL_DIRECT_MASK)
  8647. #define SYSCON_USBPLLCTRL_BYPASS_MASK (0x2000U)
  8648. #define SYSCON_USBPLLCTRL_BYPASS_SHIFT (13U)
  8649. #define SYSCON_USBPLLCTRL_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USBPLLCTRL_BYPASS_SHIFT)) & SYSCON_USBPLLCTRL_BYPASS_MASK)
  8650. #define SYSCON_USBPLLCTRL_FBSEL_MASK (0x4000U)
  8651. #define SYSCON_USBPLLCTRL_FBSEL_SHIFT (14U)
  8652. #define SYSCON_USBPLLCTRL_FBSEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USBPLLCTRL_FBSEL_SHIFT)) & SYSCON_USBPLLCTRL_FBSEL_MASK)
  8653. /*! @name USBPLLSTAT - USB PLL status */
  8654. #define SYSCON_USBPLLSTAT_LOCK_MASK (0x1U)
  8655. #define SYSCON_USBPLLSTAT_LOCK_SHIFT (0U)
  8656. #define SYSCON_USBPLLSTAT_LOCK(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_USBPLLSTAT_LOCK_SHIFT)) & SYSCON_USBPLLSTAT_LOCK_MASK)
  8657. /*! @name SYSPLLCTRL - System PLL control */
  8658. #define SYSCON_SYSPLLCTRL_SELR_MASK (0xFU)
  8659. #define SYSCON_SYSPLLCTRL_SELR_SHIFT (0U)
  8660. #define SYSCON_SYSPLLCTRL_SELR(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSPLLCTRL_SELR_SHIFT)) & SYSCON_SYSPLLCTRL_SELR_MASK)
  8661. #define SYSCON_SYSPLLCTRL_SELI_MASK (0x3F0U)
  8662. #define SYSCON_SYSPLLCTRL_SELI_SHIFT (4U)
  8663. #define SYSCON_SYSPLLCTRL_SELI(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSPLLCTRL_SELI_SHIFT)) & SYSCON_SYSPLLCTRL_SELI_MASK)
  8664. #define SYSCON_SYSPLLCTRL_SELP_MASK (0x7C00U)
  8665. #define SYSCON_SYSPLLCTRL_SELP_SHIFT (10U)
  8666. #define SYSCON_SYSPLLCTRL_SELP(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSPLLCTRL_SELP_SHIFT)) & SYSCON_SYSPLLCTRL_SELP_MASK)
  8667. #define SYSCON_SYSPLLCTRL_BYPASS_MASK (0x8000U)
  8668. #define SYSCON_SYSPLLCTRL_BYPASS_SHIFT (15U)
  8669. #define SYSCON_SYSPLLCTRL_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSPLLCTRL_BYPASS_SHIFT)) & SYSCON_SYSPLLCTRL_BYPASS_MASK)
  8670. #define SYSCON_SYSPLLCTRL_UPLIMOFF_MASK (0x20000U)
  8671. #define SYSCON_SYSPLLCTRL_UPLIMOFF_SHIFT (17U)
  8672. #define SYSCON_SYSPLLCTRL_UPLIMOFF(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSPLLCTRL_UPLIMOFF_SHIFT)) & SYSCON_SYSPLLCTRL_UPLIMOFF_MASK)
  8673. #define SYSCON_SYSPLLCTRL_DIRECTI_MASK (0x80000U)
  8674. #define SYSCON_SYSPLLCTRL_DIRECTI_SHIFT (19U)
  8675. #define SYSCON_SYSPLLCTRL_DIRECTI(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSPLLCTRL_DIRECTI_SHIFT)) & SYSCON_SYSPLLCTRL_DIRECTI_MASK)
  8676. #define SYSCON_SYSPLLCTRL_DIRECTO_MASK (0x100000U)
  8677. #define SYSCON_SYSPLLCTRL_DIRECTO_SHIFT (20U)
  8678. #define SYSCON_SYSPLLCTRL_DIRECTO(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSPLLCTRL_DIRECTO_SHIFT)) & SYSCON_SYSPLLCTRL_DIRECTO_MASK)
  8679. /*! @name SYSPLLSTAT - PLL status */
  8680. #define SYSCON_SYSPLLSTAT_LOCK_MASK (0x1U)
  8681. #define SYSCON_SYSPLLSTAT_LOCK_SHIFT (0U)
  8682. #define SYSCON_SYSPLLSTAT_LOCK(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSPLLSTAT_LOCK_SHIFT)) & SYSCON_SYSPLLSTAT_LOCK_MASK)
  8683. /*! @name SYSPLLNDEC - PLL N divider */
  8684. #define SYSCON_SYSPLLNDEC_NDEC_MASK (0x3FFU)
  8685. #define SYSCON_SYSPLLNDEC_NDEC_SHIFT (0U)
  8686. #define SYSCON_SYSPLLNDEC_NDEC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSPLLNDEC_NDEC_SHIFT)) & SYSCON_SYSPLLNDEC_NDEC_MASK)
  8687. #define SYSCON_SYSPLLNDEC_NREQ_MASK (0x400U)
  8688. #define SYSCON_SYSPLLNDEC_NREQ_SHIFT (10U)
  8689. #define SYSCON_SYSPLLNDEC_NREQ(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSPLLNDEC_NREQ_SHIFT)) & SYSCON_SYSPLLNDEC_NREQ_MASK)
  8690. /*! @name SYSPLLPDEC - PLL P divider */
  8691. #define SYSCON_SYSPLLPDEC_PDEC_MASK (0x7FU)
  8692. #define SYSCON_SYSPLLPDEC_PDEC_SHIFT (0U)
  8693. #define SYSCON_SYSPLLPDEC_PDEC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSPLLPDEC_PDEC_SHIFT)) & SYSCON_SYSPLLPDEC_PDEC_MASK)
  8694. #define SYSCON_SYSPLLPDEC_PREQ_MASK (0x80U)
  8695. #define SYSCON_SYSPLLPDEC_PREQ_SHIFT (7U)
  8696. #define SYSCON_SYSPLLPDEC_PREQ(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSPLLPDEC_PREQ_SHIFT)) & SYSCON_SYSPLLPDEC_PREQ_MASK)
  8697. /*! @name SYSPLLMDEC - System PLL M divider */
  8698. #define SYSCON_SYSPLLMDEC_MDEC_MASK (0x1FFFFU)
  8699. #define SYSCON_SYSPLLMDEC_MDEC_SHIFT (0U)
  8700. #define SYSCON_SYSPLLMDEC_MDEC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSPLLMDEC_MDEC_SHIFT)) & SYSCON_SYSPLLMDEC_MDEC_MASK)
  8701. #define SYSCON_SYSPLLMDEC_MREQ_MASK (0x20000U)
  8702. #define SYSCON_SYSPLLMDEC_MREQ_SHIFT (17U)
  8703. #define SYSCON_SYSPLLMDEC_MREQ(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_SYSPLLMDEC_MREQ_SHIFT)) & SYSCON_SYSPLLMDEC_MREQ_MASK)
  8704. /*! @name AUDPLLCTRL - Audio PLL control */
  8705. #define SYSCON_AUDPLLCTRL_SELR_MASK (0xFU)
  8706. #define SYSCON_AUDPLLCTRL_SELR_SHIFT (0U)
  8707. #define SYSCON_AUDPLLCTRL_SELR(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUDPLLCTRL_SELR_SHIFT)) & SYSCON_AUDPLLCTRL_SELR_MASK)
  8708. #define SYSCON_AUDPLLCTRL_SELI_MASK (0x3F0U)
  8709. #define SYSCON_AUDPLLCTRL_SELI_SHIFT (4U)
  8710. #define SYSCON_AUDPLLCTRL_SELI(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUDPLLCTRL_SELI_SHIFT)) & SYSCON_AUDPLLCTRL_SELI_MASK)
  8711. #define SYSCON_AUDPLLCTRL_SELP_MASK (0x7C00U)
  8712. #define SYSCON_AUDPLLCTRL_SELP_SHIFT (10U)
  8713. #define SYSCON_AUDPLLCTRL_SELP(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUDPLLCTRL_SELP_SHIFT)) & SYSCON_AUDPLLCTRL_SELP_MASK)
  8714. #define SYSCON_AUDPLLCTRL_BYPASS_MASK (0x8000U)
  8715. #define SYSCON_AUDPLLCTRL_BYPASS_SHIFT (15U)
  8716. #define SYSCON_AUDPLLCTRL_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUDPLLCTRL_BYPASS_SHIFT)) & SYSCON_AUDPLLCTRL_BYPASS_MASK)
  8717. #define SYSCON_AUDPLLCTRL_UPLIMOFF_MASK (0x20000U)
  8718. #define SYSCON_AUDPLLCTRL_UPLIMOFF_SHIFT (17U)
  8719. #define SYSCON_AUDPLLCTRL_UPLIMOFF(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUDPLLCTRL_UPLIMOFF_SHIFT)) & SYSCON_AUDPLLCTRL_UPLIMOFF_MASK)
  8720. #define SYSCON_AUDPLLCTRL_DIRECTI_MASK (0x80000U)
  8721. #define SYSCON_AUDPLLCTRL_DIRECTI_SHIFT (19U)
  8722. #define SYSCON_AUDPLLCTRL_DIRECTI(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUDPLLCTRL_DIRECTI_SHIFT)) & SYSCON_AUDPLLCTRL_DIRECTI_MASK)
  8723. #define SYSCON_AUDPLLCTRL_DIRECTO_MASK (0x100000U)
  8724. #define SYSCON_AUDPLLCTRL_DIRECTO_SHIFT (20U)
  8725. #define SYSCON_AUDPLLCTRL_DIRECTO(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUDPLLCTRL_DIRECTO_SHIFT)) & SYSCON_AUDPLLCTRL_DIRECTO_MASK)
  8726. /*! @name AUDPLLSTAT - Audio PLL status */
  8727. #define SYSCON_AUDPLLSTAT_LOCK_MASK (0x1U)
  8728. #define SYSCON_AUDPLLSTAT_LOCK_SHIFT (0U)
  8729. #define SYSCON_AUDPLLSTAT_LOCK(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUDPLLSTAT_LOCK_SHIFT)) & SYSCON_AUDPLLSTAT_LOCK_MASK)
  8730. /*! @name AUDPLLNDEC - Audio PLL N divider */
  8731. #define SYSCON_AUDPLLNDEC_NDEC_MASK (0x3FFU)
  8732. #define SYSCON_AUDPLLNDEC_NDEC_SHIFT (0U)
  8733. #define SYSCON_AUDPLLNDEC_NDEC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUDPLLNDEC_NDEC_SHIFT)) & SYSCON_AUDPLLNDEC_NDEC_MASK)
  8734. #define SYSCON_AUDPLLNDEC_NREQ_MASK (0x400U)
  8735. #define SYSCON_AUDPLLNDEC_NREQ_SHIFT (10U)
  8736. #define SYSCON_AUDPLLNDEC_NREQ(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUDPLLNDEC_NREQ_SHIFT)) & SYSCON_AUDPLLNDEC_NREQ_MASK)
  8737. /*! @name AUDPLLPDEC - Audio PLL P divider */
  8738. #define SYSCON_AUDPLLPDEC_PDEC_MASK (0x7FU)
  8739. #define SYSCON_AUDPLLPDEC_PDEC_SHIFT (0U)
  8740. #define SYSCON_AUDPLLPDEC_PDEC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUDPLLPDEC_PDEC_SHIFT)) & SYSCON_AUDPLLPDEC_PDEC_MASK)
  8741. #define SYSCON_AUDPLLPDEC_PREQ_MASK (0x80U)
  8742. #define SYSCON_AUDPLLPDEC_PREQ_SHIFT (7U)
  8743. #define SYSCON_AUDPLLPDEC_PREQ(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUDPLLPDEC_PREQ_SHIFT)) & SYSCON_AUDPLLPDEC_PREQ_MASK)
  8744. /*! @name AUDPLLMDEC - Audio PLL M divider */
  8745. #define SYSCON_AUDPLLMDEC_MDEC_MASK (0x1FFFFU)
  8746. #define SYSCON_AUDPLLMDEC_MDEC_SHIFT (0U)
  8747. #define SYSCON_AUDPLLMDEC_MDEC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUDPLLMDEC_MDEC_SHIFT)) & SYSCON_AUDPLLMDEC_MDEC_MASK)
  8748. #define SYSCON_AUDPLLMDEC_MREQ_MASK (0x20000U)
  8749. #define SYSCON_AUDPLLMDEC_MREQ_SHIFT (17U)
  8750. #define SYSCON_AUDPLLMDEC_MREQ(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUDPLLMDEC_MREQ_SHIFT)) & SYSCON_AUDPLLMDEC_MREQ_MASK)
  8751. /*! @name AUDPLLFRAC - Audio PLL fractional divider control */
  8752. #define SYSCON_AUDPLLFRAC_CTRL_MASK (0x3FFFFFU)
  8753. #define SYSCON_AUDPLLFRAC_CTRL_SHIFT (0U)
  8754. #define SYSCON_AUDPLLFRAC_CTRL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUDPLLFRAC_CTRL_SHIFT)) & SYSCON_AUDPLLFRAC_CTRL_MASK)
  8755. #define SYSCON_AUDPLLFRAC_REQ_MASK (0x400000U)
  8756. #define SYSCON_AUDPLLFRAC_REQ_SHIFT (22U)
  8757. #define SYSCON_AUDPLLFRAC_REQ(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUDPLLFRAC_REQ_SHIFT)) & SYSCON_AUDPLLFRAC_REQ_MASK)
  8758. #define SYSCON_AUDPLLFRAC_SEL_EXT_MASK (0x800000U)
  8759. #define SYSCON_AUDPLLFRAC_SEL_EXT_SHIFT (23U)
  8760. #define SYSCON_AUDPLLFRAC_SEL_EXT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUDPLLFRAC_SEL_EXT_SHIFT)) & SYSCON_AUDPLLFRAC_SEL_EXT_MASK)
  8761. /*! @name PDSLEEPCFG - Power configuration register 0 */
  8762. #define SYSCON_PDSLEEPCFG_PDEN_USB1_PHY_MASK (0x1U)
  8763. #define SYSCON_PDSLEEPCFG_PDEN_USB1_PHY_SHIFT (0U)
  8764. #define SYSCON_PDSLEEPCFG_PDEN_USB1_PHY(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_USB1_PHY_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_USB1_PHY_MASK)
  8765. #define SYSCON_PDSLEEPCFG_PDEN_USB1_PLL_MASK (0x2U)
  8766. #define SYSCON_PDSLEEPCFG_PDEN_USB1_PLL_SHIFT (1U)
  8767. #define SYSCON_PDSLEEPCFG_PDEN_USB1_PLL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_USB1_PLL_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_USB1_PLL_MASK)
  8768. #define SYSCON_PDSLEEPCFG_PDEN_AUD_PLL_MASK (0x4U)
  8769. #define SYSCON_PDSLEEPCFG_PDEN_AUD_PLL_SHIFT (2U)
  8770. #define SYSCON_PDSLEEPCFG_PDEN_AUD_PLL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_AUD_PLL_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_AUD_PLL_MASK)
  8771. #define SYSCON_PDSLEEPCFG_PDEN_SYSOSC_MASK (0x8U)
  8772. #define SYSCON_PDSLEEPCFG_PDEN_SYSOSC_SHIFT (3U)
  8773. #define SYSCON_PDSLEEPCFG_PDEN_SYSOSC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_SYSOSC_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_SYSOSC_MASK)
  8774. #define SYSCON_PDSLEEPCFG_PDEN_FRO_MASK (0x10U)
  8775. #define SYSCON_PDSLEEPCFG_PDEN_FRO_SHIFT (4U)
  8776. #define SYSCON_PDSLEEPCFG_PDEN_FRO(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_FRO_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_FRO_MASK)
  8777. #define SYSCON_PDSLEEPCFG_PDEN_EEPROM_MASK (0x20U)
  8778. #define SYSCON_PDSLEEPCFG_PDEN_EEPROM_SHIFT (5U)
  8779. #define SYSCON_PDSLEEPCFG_PDEN_EEPROM(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_EEPROM_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_EEPROM_MASK)
  8780. #define SYSCON_PDSLEEPCFG_PDEN_TS_MASK (0x40U)
  8781. #define SYSCON_PDSLEEPCFG_PDEN_TS_SHIFT (6U)
  8782. #define SYSCON_PDSLEEPCFG_PDEN_TS(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_TS_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_TS_MASK)
  8783. #define SYSCON_PDSLEEPCFG_PDEN_BOD_RST_MASK (0x80U)
  8784. #define SYSCON_PDSLEEPCFG_PDEN_BOD_RST_SHIFT (7U)
  8785. #define SYSCON_PDSLEEPCFG_PDEN_BOD_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_BOD_RST_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_BOD_RST_MASK)
  8786. #define SYSCON_PDSLEEPCFG_PDEN_RNG_MASK (0x80U)
  8787. #define SYSCON_PDSLEEPCFG_PDEN_RNG_SHIFT (7U)
  8788. #define SYSCON_PDSLEEPCFG_PDEN_RNG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_RNG_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_RNG_MASK)
  8789. #define SYSCON_PDSLEEPCFG_PDEN_BOD_INTR_MASK (0x100U)
  8790. #define SYSCON_PDSLEEPCFG_PDEN_BOD_INTR_SHIFT (8U)
  8791. #define SYSCON_PDSLEEPCFG_PDEN_BOD_INTR(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_BOD_INTR_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_BOD_INTR_MASK)
  8792. #define SYSCON_PDSLEEPCFG_PDEN_VD2_ANA_MASK (0x200U)
  8793. #define SYSCON_PDSLEEPCFG_PDEN_VD2_ANA_SHIFT (9U)
  8794. #define SYSCON_PDSLEEPCFG_PDEN_VD2_ANA(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_VD2_ANA_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_VD2_ANA_MASK)
  8795. #define SYSCON_PDSLEEPCFG_PDEN_ADC0_MASK (0x400U)
  8796. #define SYSCON_PDSLEEPCFG_PDEN_ADC0_SHIFT (10U)
  8797. #define SYSCON_PDSLEEPCFG_PDEN_ADC0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_ADC0_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_ADC0_MASK)
  8798. #define SYSCON_PDSLEEPCFG_PDEN_SRAMX_MASK (0x2000U)
  8799. #define SYSCON_PDSLEEPCFG_PDEN_SRAMX_SHIFT (13U)
  8800. #define SYSCON_PDSLEEPCFG_PDEN_SRAMX(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_SRAMX_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_SRAMX_MASK)
  8801. #define SYSCON_PDSLEEPCFG_PDEN_SRAM0_MASK (0x4000U)
  8802. #define SYSCON_PDSLEEPCFG_PDEN_SRAM0_SHIFT (14U)
  8803. #define SYSCON_PDSLEEPCFG_PDEN_SRAM0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_SRAM0_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_SRAM0_MASK)
  8804. #define SYSCON_PDSLEEPCFG_PDEN_SRAM1_2_3_MASK (0x8000U)
  8805. #define SYSCON_PDSLEEPCFG_PDEN_SRAM1_2_3_SHIFT (15U)
  8806. #define SYSCON_PDSLEEPCFG_PDEN_SRAM1_2_3(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_SRAM1_2_3_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_SRAM1_2_3_MASK)
  8807. #define SYSCON_PDSLEEPCFG_PDEN_USB_RAM_MASK (0x10000U)
  8808. #define SYSCON_PDSLEEPCFG_PDEN_USB_RAM_SHIFT (16U)
  8809. #define SYSCON_PDSLEEPCFG_PDEN_USB_RAM(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_USB_RAM_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_USB_RAM_MASK)
  8810. #define SYSCON_PDSLEEPCFG_PDEN_ROM_MASK (0x20000U)
  8811. #define SYSCON_PDSLEEPCFG_PDEN_ROM_SHIFT (17U)
  8812. #define SYSCON_PDSLEEPCFG_PDEN_ROM(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_ROM_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_ROM_MASK)
  8813. #define SYSCON_PDSLEEPCFG_PDEN_VDDA_MASK (0x80000U)
  8814. #define SYSCON_PDSLEEPCFG_PDEN_VDDA_SHIFT (19U)
  8815. #define SYSCON_PDSLEEPCFG_PDEN_VDDA(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_VDDA_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_VDDA_MASK)
  8816. #define SYSCON_PDSLEEPCFG_PDEN_WDT_OSC_MASK (0x100000U)
  8817. #define SYSCON_PDSLEEPCFG_PDEN_WDT_OSC_SHIFT (20U)
  8818. #define SYSCON_PDSLEEPCFG_PDEN_WDT_OSC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_WDT_OSC_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_WDT_OSC_MASK)
  8819. #define SYSCON_PDSLEEPCFG_PDEN_USB0_PHY_MASK (0x200000U)
  8820. #define SYSCON_PDSLEEPCFG_PDEN_USB0_PHY_SHIFT (21U)
  8821. #define SYSCON_PDSLEEPCFG_PDEN_USB0_PHY(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_USB0_PHY_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_USB0_PHY_MASK)
  8822. #define SYSCON_PDSLEEPCFG_PDEN_SYS_PLL_MASK (0x400000U)
  8823. #define SYSCON_PDSLEEPCFG_PDEN_SYS_PLL_SHIFT (22U)
  8824. #define SYSCON_PDSLEEPCFG_PDEN_SYS_PLL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_SYS_PLL_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_SYS_PLL_MASK)
  8825. #define SYSCON_PDSLEEPCFG_PDEN_VREFP_MASK (0x800000U)
  8826. #define SYSCON_PDSLEEPCFG_PDEN_VREFP_SHIFT (23U)
  8827. #define SYSCON_PDSLEEPCFG_PDEN_VREFP(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_VREFP_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_VREFP_MASK)
  8828. #define SYSCON_PDSLEEPCFG_PDEN_VD3_MASK (0x4000000U)
  8829. #define SYSCON_PDSLEEPCFG_PDEN_VD3_SHIFT (26U)
  8830. #define SYSCON_PDSLEEPCFG_PDEN_VD3(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_VD3_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_VD3_MASK)
  8831. #define SYSCON_PDSLEEPCFG_PDEN_VD4_MASK (0x8000000U)
  8832. #define SYSCON_PDSLEEPCFG_PDEN_VD4_SHIFT (27U)
  8833. #define SYSCON_PDSLEEPCFG_PDEN_VD4(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_VD4_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_VD4_MASK)
  8834. #define SYSCON_PDSLEEPCFG_PDEN_VD5_MASK (0x10000000U)
  8835. #define SYSCON_PDSLEEPCFG_PDEN_VD5_SHIFT (28U)
  8836. #define SYSCON_PDSLEEPCFG_PDEN_VD5(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_VD5_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_VD5_MASK)
  8837. #define SYSCON_PDSLEEPCFG_PDEN_VD6_MASK (0x20000000U)
  8838. #define SYSCON_PDSLEEPCFG_PDEN_VD6_SHIFT (29U)
  8839. #define SYSCON_PDSLEEPCFG_PDEN_VD6(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDSLEEPCFG_PDEN_VD6_SHIFT)) & SYSCON_PDSLEEPCFG_PDEN_VD6_MASK)
  8840. /* The count of SYSCON_PDSLEEPCFG */
  8841. #define SYSCON_PDSLEEPCFG_COUNT (2U)
  8842. /*! @name PDRUNCFG - Power configuration register 0 */
  8843. #define SYSCON_PDRUNCFG_PDEN_USB1_PHY_MASK (0x1U)
  8844. #define SYSCON_PDRUNCFG_PDEN_USB1_PHY_SHIFT (0U)
  8845. #define SYSCON_PDRUNCFG_PDEN_USB1_PHY(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_USB1_PHY_SHIFT)) & SYSCON_PDRUNCFG_PDEN_USB1_PHY_MASK)
  8846. #define SYSCON_PDRUNCFG_PDEN_USB1_PLL_MASK (0x2U)
  8847. #define SYSCON_PDRUNCFG_PDEN_USB1_PLL_SHIFT (1U)
  8848. #define SYSCON_PDRUNCFG_PDEN_USB1_PLL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_USB1_PLL_SHIFT)) & SYSCON_PDRUNCFG_PDEN_USB1_PLL_MASK)
  8849. #define SYSCON_PDRUNCFG_PDEN_AUD_PLL_MASK (0x4U)
  8850. #define SYSCON_PDRUNCFG_PDEN_AUD_PLL_SHIFT (2U)
  8851. #define SYSCON_PDRUNCFG_PDEN_AUD_PLL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_AUD_PLL_SHIFT)) & SYSCON_PDRUNCFG_PDEN_AUD_PLL_MASK)
  8852. #define SYSCON_PDRUNCFG_PDEN_SYSOSC_MASK (0x8U)
  8853. #define SYSCON_PDRUNCFG_PDEN_SYSOSC_SHIFT (3U)
  8854. #define SYSCON_PDRUNCFG_PDEN_SYSOSC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_SYSOSC_SHIFT)) & SYSCON_PDRUNCFG_PDEN_SYSOSC_MASK)
  8855. #define SYSCON_PDRUNCFG_PDEN_FRO_MASK (0x10U)
  8856. #define SYSCON_PDRUNCFG_PDEN_FRO_SHIFT (4U)
  8857. #define SYSCON_PDRUNCFG_PDEN_FRO(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_FRO_SHIFT)) & SYSCON_PDRUNCFG_PDEN_FRO_MASK)
  8858. #define SYSCON_PDRUNCFG_PDEN_EEPROM_MASK (0x20U)
  8859. #define SYSCON_PDRUNCFG_PDEN_EEPROM_SHIFT (5U)
  8860. #define SYSCON_PDRUNCFG_PDEN_EEPROM(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_EEPROM_SHIFT)) & SYSCON_PDRUNCFG_PDEN_EEPROM_MASK)
  8861. #define SYSCON_PDRUNCFG_PDEN_TS_MASK (0x40U)
  8862. #define SYSCON_PDRUNCFG_PDEN_TS_SHIFT (6U)
  8863. #define SYSCON_PDRUNCFG_PDEN_TS(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_TS_SHIFT)) & SYSCON_PDRUNCFG_PDEN_TS_MASK)
  8864. #define SYSCON_PDRUNCFG_PDEN_BOD_RST_MASK (0x80U)
  8865. #define SYSCON_PDRUNCFG_PDEN_BOD_RST_SHIFT (7U)
  8866. #define SYSCON_PDRUNCFG_PDEN_BOD_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_BOD_RST_SHIFT)) & SYSCON_PDRUNCFG_PDEN_BOD_RST_MASK)
  8867. #define SYSCON_PDRUNCFG_PDEN_RNG_MASK (0x80U)
  8868. #define SYSCON_PDRUNCFG_PDEN_RNG_SHIFT (7U)
  8869. #define SYSCON_PDRUNCFG_PDEN_RNG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_RNG_SHIFT)) & SYSCON_PDRUNCFG_PDEN_RNG_MASK)
  8870. #define SYSCON_PDRUNCFG_PDEN_BOD_INTR_MASK (0x100U)
  8871. #define SYSCON_PDRUNCFG_PDEN_BOD_INTR_SHIFT (8U)
  8872. #define SYSCON_PDRUNCFG_PDEN_BOD_INTR(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_BOD_INTR_SHIFT)) & SYSCON_PDRUNCFG_PDEN_BOD_INTR_MASK)
  8873. #define SYSCON_PDRUNCFG_PDEN_VD2_ANA_MASK (0x200U)
  8874. #define SYSCON_PDRUNCFG_PDEN_VD2_ANA_SHIFT (9U)
  8875. #define SYSCON_PDRUNCFG_PDEN_VD2_ANA(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_VD2_ANA_SHIFT)) & SYSCON_PDRUNCFG_PDEN_VD2_ANA_MASK)
  8876. #define SYSCON_PDRUNCFG_PDEN_ADC0_MASK (0x400U)
  8877. #define SYSCON_PDRUNCFG_PDEN_ADC0_SHIFT (10U)
  8878. #define SYSCON_PDRUNCFG_PDEN_ADC0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_ADC0_SHIFT)) & SYSCON_PDRUNCFG_PDEN_ADC0_MASK)
  8879. #define SYSCON_PDRUNCFG_PDEN_SRAMX_MASK (0x2000U)
  8880. #define SYSCON_PDRUNCFG_PDEN_SRAMX_SHIFT (13U)
  8881. #define SYSCON_PDRUNCFG_PDEN_SRAMX(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_SRAMX_SHIFT)) & SYSCON_PDRUNCFG_PDEN_SRAMX_MASK)
  8882. #define SYSCON_PDRUNCFG_PDEN_SRAM0_MASK (0x4000U)
  8883. #define SYSCON_PDRUNCFG_PDEN_SRAM0_SHIFT (14U)
  8884. #define SYSCON_PDRUNCFG_PDEN_SRAM0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_SRAM0_SHIFT)) & SYSCON_PDRUNCFG_PDEN_SRAM0_MASK)
  8885. #define SYSCON_PDRUNCFG_PDEN_SRAM1_2_3_MASK (0x8000U)
  8886. #define SYSCON_PDRUNCFG_PDEN_SRAM1_2_3_SHIFT (15U)
  8887. #define SYSCON_PDRUNCFG_PDEN_SRAM1_2_3(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_SRAM1_2_3_SHIFT)) & SYSCON_PDRUNCFG_PDEN_SRAM1_2_3_MASK)
  8888. #define SYSCON_PDRUNCFG_PDEN_USB_RAM_MASK (0x10000U)
  8889. #define SYSCON_PDRUNCFG_PDEN_USB_RAM_SHIFT (16U)
  8890. #define SYSCON_PDRUNCFG_PDEN_USB_RAM(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_USB_RAM_SHIFT)) & SYSCON_PDRUNCFG_PDEN_USB_RAM_MASK)
  8891. #define SYSCON_PDRUNCFG_PDEN_ROM_MASK (0x20000U)
  8892. #define SYSCON_PDRUNCFG_PDEN_ROM_SHIFT (17U)
  8893. #define SYSCON_PDRUNCFG_PDEN_ROM(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_ROM_SHIFT)) & SYSCON_PDRUNCFG_PDEN_ROM_MASK)
  8894. #define SYSCON_PDRUNCFG_PDEN_VDDA_MASK (0x80000U)
  8895. #define SYSCON_PDRUNCFG_PDEN_VDDA_SHIFT (19U)
  8896. #define SYSCON_PDRUNCFG_PDEN_VDDA(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_VDDA_SHIFT)) & SYSCON_PDRUNCFG_PDEN_VDDA_MASK)
  8897. #define SYSCON_PDRUNCFG_PDEN_WDT_OSC_MASK (0x100000U)
  8898. #define SYSCON_PDRUNCFG_PDEN_WDT_OSC_SHIFT (20U)
  8899. #define SYSCON_PDRUNCFG_PDEN_WDT_OSC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_WDT_OSC_SHIFT)) & SYSCON_PDRUNCFG_PDEN_WDT_OSC_MASK)
  8900. #define SYSCON_PDRUNCFG_PDEN_USB0_PHY_MASK (0x200000U)
  8901. #define SYSCON_PDRUNCFG_PDEN_USB0_PHY_SHIFT (21U)
  8902. #define SYSCON_PDRUNCFG_PDEN_USB0_PHY(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_USB0_PHY_SHIFT)) & SYSCON_PDRUNCFG_PDEN_USB0_PHY_MASK)
  8903. #define SYSCON_PDRUNCFG_PDEN_SYS_PLL_MASK (0x400000U)
  8904. #define SYSCON_PDRUNCFG_PDEN_SYS_PLL_SHIFT (22U)
  8905. #define SYSCON_PDRUNCFG_PDEN_SYS_PLL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_SYS_PLL_SHIFT)) & SYSCON_PDRUNCFG_PDEN_SYS_PLL_MASK)
  8906. #define SYSCON_PDRUNCFG_PDEN_VREFP_MASK (0x800000U)
  8907. #define SYSCON_PDRUNCFG_PDEN_VREFP_SHIFT (23U)
  8908. #define SYSCON_PDRUNCFG_PDEN_VREFP(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_VREFP_SHIFT)) & SYSCON_PDRUNCFG_PDEN_VREFP_MASK)
  8909. #define SYSCON_PDRUNCFG_PDEN_VD3_MASK (0x4000000U)
  8910. #define SYSCON_PDRUNCFG_PDEN_VD3_SHIFT (26U)
  8911. #define SYSCON_PDRUNCFG_PDEN_VD3(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_VD3_SHIFT)) & SYSCON_PDRUNCFG_PDEN_VD3_MASK)
  8912. #define SYSCON_PDRUNCFG_PDEN_VD4_MASK (0x8000000U)
  8913. #define SYSCON_PDRUNCFG_PDEN_VD4_SHIFT (27U)
  8914. #define SYSCON_PDRUNCFG_PDEN_VD4(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_VD4_SHIFT)) & SYSCON_PDRUNCFG_PDEN_VD4_MASK)
  8915. #define SYSCON_PDRUNCFG_PDEN_VD5_MASK (0x10000000U)
  8916. #define SYSCON_PDRUNCFG_PDEN_VD5_SHIFT (28U)
  8917. #define SYSCON_PDRUNCFG_PDEN_VD5(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_VD5_SHIFT)) & SYSCON_PDRUNCFG_PDEN_VD5_MASK)
  8918. #define SYSCON_PDRUNCFG_PDEN_VD6_MASK (0x20000000U)
  8919. #define SYSCON_PDRUNCFG_PDEN_VD6_SHIFT (29U)
  8920. #define SYSCON_PDRUNCFG_PDEN_VD6(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFG_PDEN_VD6_SHIFT)) & SYSCON_PDRUNCFG_PDEN_VD6_MASK)
  8921. /* The count of SYSCON_PDRUNCFG */
  8922. #define SYSCON_PDRUNCFG_COUNT (2U)
  8923. /*! @name PDRUNCFGSET - Set bits in PDRUNCFG0 */
  8924. #define SYSCON_PDRUNCFGSET_PDEN_USB1_PHY_MASK (0x1U)
  8925. #define SYSCON_PDRUNCFGSET_PDEN_USB1_PHY_SHIFT (0U)
  8926. #define SYSCON_PDRUNCFGSET_PDEN_USB1_PHY(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_USB1_PHY_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_USB1_PHY_MASK)
  8927. #define SYSCON_PDRUNCFGSET_PDEN_USB1_PLL_MASK (0x2U)
  8928. #define SYSCON_PDRUNCFGSET_PDEN_USB1_PLL_SHIFT (1U)
  8929. #define SYSCON_PDRUNCFGSET_PDEN_USB1_PLL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_USB1_PLL_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_USB1_PLL_MASK)
  8930. #define SYSCON_PDRUNCFGSET_PDEN_AUD_PLL_MASK (0x4U)
  8931. #define SYSCON_PDRUNCFGSET_PDEN_AUD_PLL_SHIFT (2U)
  8932. #define SYSCON_PDRUNCFGSET_PDEN_AUD_PLL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_AUD_PLL_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_AUD_PLL_MASK)
  8933. #define SYSCON_PDRUNCFGSET_PDEN_SYSOSC_MASK (0x8U)
  8934. #define SYSCON_PDRUNCFGSET_PDEN_SYSOSC_SHIFT (3U)
  8935. #define SYSCON_PDRUNCFGSET_PDEN_SYSOSC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_SYSOSC_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_SYSOSC_MASK)
  8936. #define SYSCON_PDRUNCFGSET_PDEN_FRO_MASK (0x10U)
  8937. #define SYSCON_PDRUNCFGSET_PDEN_FRO_SHIFT (4U)
  8938. #define SYSCON_PDRUNCFGSET_PDEN_FRO(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_FRO_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_FRO_MASK)
  8939. #define SYSCON_PDRUNCFGSET_PDEN_EEPROM_MASK (0x20U)
  8940. #define SYSCON_PDRUNCFGSET_PDEN_EEPROM_SHIFT (5U)
  8941. #define SYSCON_PDRUNCFGSET_PDEN_EEPROM(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_EEPROM_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_EEPROM_MASK)
  8942. #define SYSCON_PDRUNCFGSET_PDEN_TS_MASK (0x40U)
  8943. #define SYSCON_PDRUNCFGSET_PDEN_TS_SHIFT (6U)
  8944. #define SYSCON_PDRUNCFGSET_PDEN_TS(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_TS_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_TS_MASK)
  8945. #define SYSCON_PDRUNCFGSET_PDEN_BOD_RST_MASK (0x80U)
  8946. #define SYSCON_PDRUNCFGSET_PDEN_BOD_RST_SHIFT (7U)
  8947. #define SYSCON_PDRUNCFGSET_PDEN_BOD_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_BOD_RST_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_BOD_RST_MASK)
  8948. #define SYSCON_PDRUNCFGSET_PDEN_RNG_MASK (0x80U)
  8949. #define SYSCON_PDRUNCFGSET_PDEN_RNG_SHIFT (7U)
  8950. #define SYSCON_PDRUNCFGSET_PDEN_RNG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_RNG_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_RNG_MASK)
  8951. #define SYSCON_PDRUNCFGSET_PDEN_BOD_INTR_MASK (0x100U)
  8952. #define SYSCON_PDRUNCFGSET_PDEN_BOD_INTR_SHIFT (8U)
  8953. #define SYSCON_PDRUNCFGSET_PDEN_BOD_INTR(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_BOD_INTR_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_BOD_INTR_MASK)
  8954. #define SYSCON_PDRUNCFGSET_PDEN_VD2_ANA_MASK (0x200U)
  8955. #define SYSCON_PDRUNCFGSET_PDEN_VD2_ANA_SHIFT (9U)
  8956. #define SYSCON_PDRUNCFGSET_PDEN_VD2_ANA(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_VD2_ANA_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_VD2_ANA_MASK)
  8957. #define SYSCON_PDRUNCFGSET_PDEN_ADC0_MASK (0x400U)
  8958. #define SYSCON_PDRUNCFGSET_PDEN_ADC0_SHIFT (10U)
  8959. #define SYSCON_PDRUNCFGSET_PDEN_ADC0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_ADC0_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_ADC0_MASK)
  8960. #define SYSCON_PDRUNCFGSET_PDEN_SRAMX_MASK (0x2000U)
  8961. #define SYSCON_PDRUNCFGSET_PDEN_SRAMX_SHIFT (13U)
  8962. #define SYSCON_PDRUNCFGSET_PDEN_SRAMX(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_SRAMX_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_SRAMX_MASK)
  8963. #define SYSCON_PDRUNCFGSET_PDEN_SRAM0_MASK (0x4000U)
  8964. #define SYSCON_PDRUNCFGSET_PDEN_SRAM0_SHIFT (14U)
  8965. #define SYSCON_PDRUNCFGSET_PDEN_SRAM0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_SRAM0_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_SRAM0_MASK)
  8966. #define SYSCON_PDRUNCFGSET_PDEN_SRAM1_2_3_MASK (0x8000U)
  8967. #define SYSCON_PDRUNCFGSET_PDEN_SRAM1_2_3_SHIFT (15U)
  8968. #define SYSCON_PDRUNCFGSET_PDEN_SRAM1_2_3(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_SRAM1_2_3_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_SRAM1_2_3_MASK)
  8969. #define SYSCON_PDRUNCFGSET_PDEN_USB_RAM_MASK (0x10000U)
  8970. #define SYSCON_PDRUNCFGSET_PDEN_USB_RAM_SHIFT (16U)
  8971. #define SYSCON_PDRUNCFGSET_PDEN_USB_RAM(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_USB_RAM_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_USB_RAM_MASK)
  8972. #define SYSCON_PDRUNCFGSET_PDEN_ROM_MASK (0x20000U)
  8973. #define SYSCON_PDRUNCFGSET_PDEN_ROM_SHIFT (17U)
  8974. #define SYSCON_PDRUNCFGSET_PDEN_ROM(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_ROM_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_ROM_MASK)
  8975. #define SYSCON_PDRUNCFGSET_PDEN_VDDA_MASK (0x80000U)
  8976. #define SYSCON_PDRUNCFGSET_PDEN_VDDA_SHIFT (19U)
  8977. #define SYSCON_PDRUNCFGSET_PDEN_VDDA(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_VDDA_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_VDDA_MASK)
  8978. #define SYSCON_PDRUNCFGSET_PDEN_WDT_OSC_MASK (0x100000U)
  8979. #define SYSCON_PDRUNCFGSET_PDEN_WDT_OSC_SHIFT (20U)
  8980. #define SYSCON_PDRUNCFGSET_PDEN_WDT_OSC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_WDT_OSC_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_WDT_OSC_MASK)
  8981. #define SYSCON_PDRUNCFGSET_PDEN_USB0_PHY_MASK (0x200000U)
  8982. #define SYSCON_PDRUNCFGSET_PDEN_USB0_PHY_SHIFT (21U)
  8983. #define SYSCON_PDRUNCFGSET_PDEN_USB0_PHY(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_USB0_PHY_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_USB0_PHY_MASK)
  8984. #define SYSCON_PDRUNCFGSET_PDEN_SYS_PLL_MASK (0x400000U)
  8985. #define SYSCON_PDRUNCFGSET_PDEN_SYS_PLL_SHIFT (22U)
  8986. #define SYSCON_PDRUNCFGSET_PDEN_SYS_PLL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_SYS_PLL_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_SYS_PLL_MASK)
  8987. #define SYSCON_PDRUNCFGSET_PDEN_VREFP_MASK (0x800000U)
  8988. #define SYSCON_PDRUNCFGSET_PDEN_VREFP_SHIFT (23U)
  8989. #define SYSCON_PDRUNCFGSET_PDEN_VREFP(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_VREFP_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_VREFP_MASK)
  8990. #define SYSCON_PDRUNCFGSET_PDEN_VD3_MASK (0x4000000U)
  8991. #define SYSCON_PDRUNCFGSET_PDEN_VD3_SHIFT (26U)
  8992. #define SYSCON_PDRUNCFGSET_PDEN_VD3(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_VD3_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_VD3_MASK)
  8993. #define SYSCON_PDRUNCFGSET_PDEN_VD4_MASK (0x8000000U)
  8994. #define SYSCON_PDRUNCFGSET_PDEN_VD4_SHIFT (27U)
  8995. #define SYSCON_PDRUNCFGSET_PDEN_VD4(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_VD4_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_VD4_MASK)
  8996. #define SYSCON_PDRUNCFGSET_PDEN_VD5_MASK (0x10000000U)
  8997. #define SYSCON_PDRUNCFGSET_PDEN_VD5_SHIFT (28U)
  8998. #define SYSCON_PDRUNCFGSET_PDEN_VD5(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_VD5_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_VD5_MASK)
  8999. #define SYSCON_PDRUNCFGSET_PDEN_VD6_MASK (0x20000000U)
  9000. #define SYSCON_PDRUNCFGSET_PDEN_VD6_SHIFT (29U)
  9001. #define SYSCON_PDRUNCFGSET_PDEN_VD6(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGSET_PDEN_VD6_SHIFT)) & SYSCON_PDRUNCFGSET_PDEN_VD6_MASK)
  9002. /* The count of SYSCON_PDRUNCFGSET */
  9003. #define SYSCON_PDRUNCFGSET_COUNT (2U)
  9004. /*! @name PDRUNCFGCLR - Clear bits in PDRUNCFG0 */
  9005. #define SYSCON_PDRUNCFGCLR_PDEN_USB1_PHY_MASK (0x1U)
  9006. #define SYSCON_PDRUNCFGCLR_PDEN_USB1_PHY_SHIFT (0U)
  9007. #define SYSCON_PDRUNCFGCLR_PDEN_USB1_PHY(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_USB1_PHY_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_USB1_PHY_MASK)
  9008. #define SYSCON_PDRUNCFGCLR_PDEN_USB1_PLL_MASK (0x2U)
  9009. #define SYSCON_PDRUNCFGCLR_PDEN_USB1_PLL_SHIFT (1U)
  9010. #define SYSCON_PDRUNCFGCLR_PDEN_USB1_PLL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_USB1_PLL_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_USB1_PLL_MASK)
  9011. #define SYSCON_PDRUNCFGCLR_PDEN_AUD_PLL_MASK (0x4U)
  9012. #define SYSCON_PDRUNCFGCLR_PDEN_AUD_PLL_SHIFT (2U)
  9013. #define SYSCON_PDRUNCFGCLR_PDEN_AUD_PLL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_AUD_PLL_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_AUD_PLL_MASK)
  9014. #define SYSCON_PDRUNCFGCLR_PDEN_SYSOSC_MASK (0x8U)
  9015. #define SYSCON_PDRUNCFGCLR_PDEN_SYSOSC_SHIFT (3U)
  9016. #define SYSCON_PDRUNCFGCLR_PDEN_SYSOSC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_SYSOSC_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_SYSOSC_MASK)
  9017. #define SYSCON_PDRUNCFGCLR_PDEN_FRO_MASK (0x10U)
  9018. #define SYSCON_PDRUNCFGCLR_PDEN_FRO_SHIFT (4U)
  9019. #define SYSCON_PDRUNCFGCLR_PDEN_FRO(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_FRO_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_FRO_MASK)
  9020. #define SYSCON_PDRUNCFGCLR_PDEN_EEPROM_MASK (0x20U)
  9021. #define SYSCON_PDRUNCFGCLR_PDEN_EEPROM_SHIFT (5U)
  9022. #define SYSCON_PDRUNCFGCLR_PDEN_EEPROM(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_EEPROM_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_EEPROM_MASK)
  9023. #define SYSCON_PDRUNCFGCLR_PDEN_TS_MASK (0x40U)
  9024. #define SYSCON_PDRUNCFGCLR_PDEN_TS_SHIFT (6U)
  9025. #define SYSCON_PDRUNCFGCLR_PDEN_TS(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_TS_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_TS_MASK)
  9026. #define SYSCON_PDRUNCFGCLR_PDEN_BOD_RST_MASK (0x80U)
  9027. #define SYSCON_PDRUNCFGCLR_PDEN_BOD_RST_SHIFT (7U)
  9028. #define SYSCON_PDRUNCFGCLR_PDEN_BOD_RST(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_BOD_RST_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_BOD_RST_MASK)
  9029. #define SYSCON_PDRUNCFGCLR_PDEN_RNG_MASK (0x80U)
  9030. #define SYSCON_PDRUNCFGCLR_PDEN_RNG_SHIFT (7U)
  9031. #define SYSCON_PDRUNCFGCLR_PDEN_RNG(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_RNG_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_RNG_MASK)
  9032. #define SYSCON_PDRUNCFGCLR_PDEN_BOD_INTR_MASK (0x100U)
  9033. #define SYSCON_PDRUNCFGCLR_PDEN_BOD_INTR_SHIFT (8U)
  9034. #define SYSCON_PDRUNCFGCLR_PDEN_BOD_INTR(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_BOD_INTR_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_BOD_INTR_MASK)
  9035. #define SYSCON_PDRUNCFGCLR_PDEN_VD2_ANA_MASK (0x200U)
  9036. #define SYSCON_PDRUNCFGCLR_PDEN_VD2_ANA_SHIFT (9U)
  9037. #define SYSCON_PDRUNCFGCLR_PDEN_VD2_ANA(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_VD2_ANA_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_VD2_ANA_MASK)
  9038. #define SYSCON_PDRUNCFGCLR_PDEN_ADC0_MASK (0x400U)
  9039. #define SYSCON_PDRUNCFGCLR_PDEN_ADC0_SHIFT (10U)
  9040. #define SYSCON_PDRUNCFGCLR_PDEN_ADC0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_ADC0_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_ADC0_MASK)
  9041. #define SYSCON_PDRUNCFGCLR_PDEN_SRAMX_MASK (0x2000U)
  9042. #define SYSCON_PDRUNCFGCLR_PDEN_SRAMX_SHIFT (13U)
  9043. #define SYSCON_PDRUNCFGCLR_PDEN_SRAMX(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_SRAMX_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_SRAMX_MASK)
  9044. #define SYSCON_PDRUNCFGCLR_PDEN_SRAM0_MASK (0x4000U)
  9045. #define SYSCON_PDRUNCFGCLR_PDEN_SRAM0_SHIFT (14U)
  9046. #define SYSCON_PDRUNCFGCLR_PDEN_SRAM0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_SRAM0_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_SRAM0_MASK)
  9047. #define SYSCON_PDRUNCFGCLR_PDEN_SRAM1_2_3_MASK (0x8000U)
  9048. #define SYSCON_PDRUNCFGCLR_PDEN_SRAM1_2_3_SHIFT (15U)
  9049. #define SYSCON_PDRUNCFGCLR_PDEN_SRAM1_2_3(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_SRAM1_2_3_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_SRAM1_2_3_MASK)
  9050. #define SYSCON_PDRUNCFGCLR_PDEN_USB_RAM_MASK (0x10000U)
  9051. #define SYSCON_PDRUNCFGCLR_PDEN_USB_RAM_SHIFT (16U)
  9052. #define SYSCON_PDRUNCFGCLR_PDEN_USB_RAM(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_USB_RAM_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_USB_RAM_MASK)
  9053. #define SYSCON_PDRUNCFGCLR_PDEN_ROM_MASK (0x20000U)
  9054. #define SYSCON_PDRUNCFGCLR_PDEN_ROM_SHIFT (17U)
  9055. #define SYSCON_PDRUNCFGCLR_PDEN_ROM(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_ROM_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_ROM_MASK)
  9056. #define SYSCON_PDRUNCFGCLR_PDEN_VDDA_MASK (0x80000U)
  9057. #define SYSCON_PDRUNCFGCLR_PDEN_VDDA_SHIFT (19U)
  9058. #define SYSCON_PDRUNCFGCLR_PDEN_VDDA(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_VDDA_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_VDDA_MASK)
  9059. #define SYSCON_PDRUNCFGCLR_PDEN_WDT_OSC_MASK (0x100000U)
  9060. #define SYSCON_PDRUNCFGCLR_PDEN_WDT_OSC_SHIFT (20U)
  9061. #define SYSCON_PDRUNCFGCLR_PDEN_WDT_OSC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_WDT_OSC_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_WDT_OSC_MASK)
  9062. #define SYSCON_PDRUNCFGCLR_PDEN_USB0_PHY_MASK (0x200000U)
  9063. #define SYSCON_PDRUNCFGCLR_PDEN_USB0_PHY_SHIFT (21U)
  9064. #define SYSCON_PDRUNCFGCLR_PDEN_USB0_PHY(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_USB0_PHY_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_USB0_PHY_MASK)
  9065. #define SYSCON_PDRUNCFGCLR_PDEN_SYS_PLL_MASK (0x400000U)
  9066. #define SYSCON_PDRUNCFGCLR_PDEN_SYS_PLL_SHIFT (22U)
  9067. #define SYSCON_PDRUNCFGCLR_PDEN_SYS_PLL(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_SYS_PLL_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_SYS_PLL_MASK)
  9068. #define SYSCON_PDRUNCFGCLR_PDEN_VREFP_MASK (0x800000U)
  9069. #define SYSCON_PDRUNCFGCLR_PDEN_VREFP_SHIFT (23U)
  9070. #define SYSCON_PDRUNCFGCLR_PDEN_VREFP(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_VREFP_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_VREFP_MASK)
  9071. #define SYSCON_PDRUNCFGCLR_PDEN_VD3_MASK (0x4000000U)
  9072. #define SYSCON_PDRUNCFGCLR_PDEN_VD3_SHIFT (26U)
  9073. #define SYSCON_PDRUNCFGCLR_PDEN_VD3(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_VD3_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_VD3_MASK)
  9074. #define SYSCON_PDRUNCFGCLR_PDEN_VD4_MASK (0x8000000U)
  9075. #define SYSCON_PDRUNCFGCLR_PDEN_VD4_SHIFT (27U)
  9076. #define SYSCON_PDRUNCFGCLR_PDEN_VD4(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_VD4_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_VD4_MASK)
  9077. #define SYSCON_PDRUNCFGCLR_PDEN_VD5_MASK (0x10000000U)
  9078. #define SYSCON_PDRUNCFGCLR_PDEN_VD5_SHIFT (28U)
  9079. #define SYSCON_PDRUNCFGCLR_PDEN_VD5(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_VD5_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_VD5_MASK)
  9080. #define SYSCON_PDRUNCFGCLR_PDEN_VD6_MASK (0x20000000U)
  9081. #define SYSCON_PDRUNCFGCLR_PDEN_VD6_SHIFT (29U)
  9082. #define SYSCON_PDRUNCFGCLR_PDEN_VD6(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_PDRUNCFGCLR_PDEN_VD6_SHIFT)) & SYSCON_PDRUNCFGCLR_PDEN_VD6_MASK)
  9083. /* The count of SYSCON_PDRUNCFGCLR */
  9084. #define SYSCON_PDRUNCFGCLR_COUNT (2U)
  9085. /*! @name STARTER - Start logic 0 wake-up enable register */
  9086. #define SYSCON_STARTER_WDT_BOD_MASK (0x1U)
  9087. #define SYSCON_STARTER_WDT_BOD_SHIFT (0U)
  9088. #define SYSCON_STARTER_WDT_BOD(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_WDT_BOD_SHIFT)) & SYSCON_STARTER_WDT_BOD_MASK)
  9089. #define SYSCON_STARTER_PINT4_MASK (0x1U)
  9090. #define SYSCON_STARTER_PINT4_SHIFT (0U)
  9091. #define SYSCON_STARTER_PINT4(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_PINT4_SHIFT)) & SYSCON_STARTER_PINT4_MASK)
  9092. #define SYSCON_STARTER_PINT5_MASK (0x2U)
  9093. #define SYSCON_STARTER_PINT5_SHIFT (1U)
  9094. #define SYSCON_STARTER_PINT5(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_PINT5_SHIFT)) & SYSCON_STARTER_PINT5_MASK)
  9095. #define SYSCON_STARTER_DMA_MASK (0x2U)
  9096. #define SYSCON_STARTER_DMA_SHIFT (1U)
  9097. #define SYSCON_STARTER_DMA(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_DMA_SHIFT)) & SYSCON_STARTER_DMA_MASK)
  9098. #define SYSCON_STARTER_GINT0_MASK (0x4U)
  9099. #define SYSCON_STARTER_GINT0_SHIFT (2U)
  9100. #define SYSCON_STARTER_GINT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_GINT0_SHIFT)) & SYSCON_STARTER_GINT0_MASK)
  9101. #define SYSCON_STARTER_PINT6_MASK (0x4U)
  9102. #define SYSCON_STARTER_PINT6_SHIFT (2U)
  9103. #define SYSCON_STARTER_PINT6(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_PINT6_SHIFT)) & SYSCON_STARTER_PINT6_MASK)
  9104. #define SYSCON_STARTER_GINT1_MASK (0x8U)
  9105. #define SYSCON_STARTER_GINT1_SHIFT (3U)
  9106. #define SYSCON_STARTER_GINT1(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_GINT1_SHIFT)) & SYSCON_STARTER_GINT1_MASK)
  9107. #define SYSCON_STARTER_PINT7_MASK (0x8U)
  9108. #define SYSCON_STARTER_PINT7_SHIFT (3U)
  9109. #define SYSCON_STARTER_PINT7(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_PINT7_SHIFT)) & SYSCON_STARTER_PINT7_MASK)
  9110. #define SYSCON_STARTER_CTIMER2_MASK (0x10U)
  9111. #define SYSCON_STARTER_CTIMER2_SHIFT (4U)
  9112. #define SYSCON_STARTER_CTIMER2(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_CTIMER2_SHIFT)) & SYSCON_STARTER_CTIMER2_MASK)
  9113. #define SYSCON_STARTER_PIN_INT0_MASK (0x10U)
  9114. #define SYSCON_STARTER_PIN_INT0_SHIFT (4U)
  9115. #define SYSCON_STARTER_PIN_INT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_PIN_INT0_SHIFT)) & SYSCON_STARTER_PIN_INT0_MASK)
  9116. #define SYSCON_STARTER_CTIMER4_MASK (0x20U)
  9117. #define SYSCON_STARTER_CTIMER4_SHIFT (5U)
  9118. #define SYSCON_STARTER_CTIMER4(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_CTIMER4_SHIFT)) & SYSCON_STARTER_CTIMER4_MASK)
  9119. #define SYSCON_STARTER_PIN_INT1_MASK (0x20U)
  9120. #define SYSCON_STARTER_PIN_INT1_SHIFT (5U)
  9121. #define SYSCON_STARTER_PIN_INT1(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_PIN_INT1_SHIFT)) & SYSCON_STARTER_PIN_INT1_MASK)
  9122. #define SYSCON_STARTER_PIN_INT2_MASK (0x40U)
  9123. #define SYSCON_STARTER_PIN_INT2_SHIFT (6U)
  9124. #define SYSCON_STARTER_PIN_INT2(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_PIN_INT2_SHIFT)) & SYSCON_STARTER_PIN_INT2_MASK)
  9125. #define SYSCON_STARTER_PIN_INT3_MASK (0x80U)
  9126. #define SYSCON_STARTER_PIN_INT3_SHIFT (7U)
  9127. #define SYSCON_STARTER_PIN_INT3(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_PIN_INT3_SHIFT)) & SYSCON_STARTER_PIN_INT3_MASK)
  9128. #define SYSCON_STARTER_SPIFI_MASK (0x80U)
  9129. #define SYSCON_STARTER_SPIFI_SHIFT (7U)
  9130. #define SYSCON_STARTER_SPIFI(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_SPIFI_SHIFT)) & SYSCON_STARTER_SPIFI_MASK)
  9131. #define SYSCON_STARTER_FLEXCOMM8_MASK (0x100U)
  9132. #define SYSCON_STARTER_FLEXCOMM8_SHIFT (8U)
  9133. #define SYSCON_STARTER_FLEXCOMM8(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_FLEXCOMM8_SHIFT)) & SYSCON_STARTER_FLEXCOMM8_MASK)
  9134. #define SYSCON_STARTER_UTICK_MASK (0x100U)
  9135. #define SYSCON_STARTER_UTICK_SHIFT (8U)
  9136. #define SYSCON_STARTER_UTICK(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_UTICK_SHIFT)) & SYSCON_STARTER_UTICK_MASK)
  9137. #define SYSCON_STARTER_MRT_MASK (0x200U)
  9138. #define SYSCON_STARTER_MRT_SHIFT (9U)
  9139. #define SYSCON_STARTER_MRT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_MRT_SHIFT)) & SYSCON_STARTER_MRT_MASK)
  9140. #define SYSCON_STARTER_FLEXCOMM9_MASK (0x200U)
  9141. #define SYSCON_STARTER_FLEXCOMM9_SHIFT (9U)
  9142. #define SYSCON_STARTER_FLEXCOMM9(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_FLEXCOMM9_SHIFT)) & SYSCON_STARTER_FLEXCOMM9_MASK)
  9143. #define SYSCON_STARTER_CTIMER0_MASK (0x400U)
  9144. #define SYSCON_STARTER_CTIMER0_SHIFT (10U)
  9145. #define SYSCON_STARTER_CTIMER0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_CTIMER0_SHIFT)) & SYSCON_STARTER_CTIMER0_MASK)
  9146. #define SYSCON_STARTER_CTIMER1_MASK (0x800U)
  9147. #define SYSCON_STARTER_CTIMER1_SHIFT (11U)
  9148. #define SYSCON_STARTER_CTIMER1(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_CTIMER1_SHIFT)) & SYSCON_STARTER_CTIMER1_MASK)
  9149. #define SYSCON_STARTER_SCT0_MASK (0x1000U)
  9150. #define SYSCON_STARTER_SCT0_SHIFT (12U)
  9151. #define SYSCON_STARTER_SCT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_SCT0_SHIFT)) & SYSCON_STARTER_SCT0_MASK)
  9152. #define SYSCON_STARTER_CTIMER3_MASK (0x2000U)
  9153. #define SYSCON_STARTER_CTIMER3_SHIFT (13U)
  9154. #define SYSCON_STARTER_CTIMER3(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_CTIMER3_SHIFT)) & SYSCON_STARTER_CTIMER3_MASK)
  9155. #define SYSCON_STARTER_FLEXCOMM0_MASK (0x4000U)
  9156. #define SYSCON_STARTER_FLEXCOMM0_SHIFT (14U)
  9157. #define SYSCON_STARTER_FLEXCOMM0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_FLEXCOMM0_SHIFT)) & SYSCON_STARTER_FLEXCOMM0_MASK)
  9158. #define SYSCON_STARTER_FLEXCOMM1_MASK (0x8000U)
  9159. #define SYSCON_STARTER_FLEXCOMM1_SHIFT (15U)
  9160. #define SYSCON_STARTER_FLEXCOMM1(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_FLEXCOMM1_SHIFT)) & SYSCON_STARTER_FLEXCOMM1_MASK)
  9161. #define SYSCON_STARTER_USB1_MASK (0x8000U)
  9162. #define SYSCON_STARTER_USB1_SHIFT (15U)
  9163. #define SYSCON_STARTER_USB1(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_USB1_SHIFT)) & SYSCON_STARTER_USB1_MASK)
  9164. #define SYSCON_STARTER_FLEXCOMM2_MASK (0x10000U)
  9165. #define SYSCON_STARTER_FLEXCOMM2_SHIFT (16U)
  9166. #define SYSCON_STARTER_FLEXCOMM2(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_FLEXCOMM2_SHIFT)) & SYSCON_STARTER_FLEXCOMM2_MASK)
  9167. #define SYSCON_STARTER_USB1_ACT_MASK (0x10000U)
  9168. #define SYSCON_STARTER_USB1_ACT_SHIFT (16U)
  9169. #define SYSCON_STARTER_USB1_ACT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_USB1_ACT_SHIFT)) & SYSCON_STARTER_USB1_ACT_MASK)
  9170. #define SYSCON_STARTER_ENET_INT1_MASK (0x20000U)
  9171. #define SYSCON_STARTER_ENET_INT1_SHIFT (17U)
  9172. #define SYSCON_STARTER_ENET_INT1(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_ENET_INT1_SHIFT)) & SYSCON_STARTER_ENET_INT1_MASK)
  9173. #define SYSCON_STARTER_FLEXCOMM3_MASK (0x20000U)
  9174. #define SYSCON_STARTER_FLEXCOMM3_SHIFT (17U)
  9175. #define SYSCON_STARTER_FLEXCOMM3(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_FLEXCOMM3_SHIFT)) & SYSCON_STARTER_FLEXCOMM3_MASK)
  9176. #define SYSCON_STARTER_ENET_INT2_MASK (0x40000U)
  9177. #define SYSCON_STARTER_ENET_INT2_SHIFT (18U)
  9178. #define SYSCON_STARTER_ENET_INT2(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_ENET_INT2_SHIFT)) & SYSCON_STARTER_ENET_INT2_MASK)
  9179. #define SYSCON_STARTER_FLEXCOMM4_MASK (0x40000U)
  9180. #define SYSCON_STARTER_FLEXCOMM4_SHIFT (18U)
  9181. #define SYSCON_STARTER_FLEXCOMM4(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_FLEXCOMM4_SHIFT)) & SYSCON_STARTER_FLEXCOMM4_MASK)
  9182. #define SYSCON_STARTER_ENET_INT0_MASK (0x80000U)
  9183. #define SYSCON_STARTER_ENET_INT0_SHIFT (19U)
  9184. #define SYSCON_STARTER_ENET_INT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_ENET_INT0_SHIFT)) & SYSCON_STARTER_ENET_INT0_MASK)
  9185. #define SYSCON_STARTER_FLEXCOMM5_MASK (0x80000U)
  9186. #define SYSCON_STARTER_FLEXCOMM5_SHIFT (19U)
  9187. #define SYSCON_STARTER_FLEXCOMM5(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_FLEXCOMM5_SHIFT)) & SYSCON_STARTER_FLEXCOMM5_MASK)
  9188. #define SYSCON_STARTER_FLEXCOMM6_MASK (0x100000U)
  9189. #define SYSCON_STARTER_FLEXCOMM6_SHIFT (20U)
  9190. #define SYSCON_STARTER_FLEXCOMM6(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_FLEXCOMM6_SHIFT)) & SYSCON_STARTER_FLEXCOMM6_MASK)
  9191. #define SYSCON_STARTER_FLEXCOMM7_MASK (0x200000U)
  9192. #define SYSCON_STARTER_FLEXCOMM7_SHIFT (21U)
  9193. #define SYSCON_STARTER_FLEXCOMM7(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_FLEXCOMM7_SHIFT)) & SYSCON_STARTER_FLEXCOMM7_MASK)
  9194. #define SYSCON_STARTER_ADC0_SEQA_MASK (0x400000U)
  9195. #define SYSCON_STARTER_ADC0_SEQA_SHIFT (22U)
  9196. #define SYSCON_STARTER_ADC0_SEQA(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_ADC0_SEQA_SHIFT)) & SYSCON_STARTER_ADC0_SEQA_MASK)
  9197. #define SYSCON_STARTER_SMARTCARD0_MASK (0x800000U)
  9198. #define SYSCON_STARTER_SMARTCARD0_SHIFT (23U)
  9199. #define SYSCON_STARTER_SMARTCARD0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_SMARTCARD0_SHIFT)) & SYSCON_STARTER_SMARTCARD0_MASK)
  9200. #define SYSCON_STARTER_ADC0_SEQB_MASK (0x800000U)
  9201. #define SYSCON_STARTER_ADC0_SEQB_SHIFT (23U)
  9202. #define SYSCON_STARTER_ADC0_SEQB(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_ADC0_SEQB_SHIFT)) & SYSCON_STARTER_ADC0_SEQB_MASK)
  9203. #define SYSCON_STARTER_ADC0_THCMP_MASK (0x1000000U)
  9204. #define SYSCON_STARTER_ADC0_THCMP_SHIFT (24U)
  9205. #define SYSCON_STARTER_ADC0_THCMP(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_ADC0_THCMP_SHIFT)) & SYSCON_STARTER_ADC0_THCMP_MASK)
  9206. #define SYSCON_STARTER_SMARTCARD1_MASK (0x1000000U)
  9207. #define SYSCON_STARTER_SMARTCARD1_SHIFT (24U)
  9208. #define SYSCON_STARTER_SMARTCARD1(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_SMARTCARD1_SHIFT)) & SYSCON_STARTER_SMARTCARD1_MASK)
  9209. #define SYSCON_STARTER_DMIC_MASK (0x2000000U)
  9210. #define SYSCON_STARTER_DMIC_SHIFT (25U)
  9211. #define SYSCON_STARTER_DMIC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_DMIC_SHIFT)) & SYSCON_STARTER_DMIC_MASK)
  9212. #define SYSCON_STARTER_HWVAD_MASK (0x4000000U)
  9213. #define SYSCON_STARTER_HWVAD_SHIFT (26U)
  9214. #define SYSCON_STARTER_HWVAD(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_HWVAD_SHIFT)) & SYSCON_STARTER_HWVAD_MASK)
  9215. #define SYSCON_STARTER_USB0_NEEDCLK_MASK (0x8000000U)
  9216. #define SYSCON_STARTER_USB0_NEEDCLK_SHIFT (27U)
  9217. #define SYSCON_STARTER_USB0_NEEDCLK(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_USB0_NEEDCLK_SHIFT)) & SYSCON_STARTER_USB0_NEEDCLK_MASK)
  9218. #define SYSCON_STARTER_USB0_MASK (0x10000000U)
  9219. #define SYSCON_STARTER_USB0_SHIFT (28U)
  9220. #define SYSCON_STARTER_USB0(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_USB0_SHIFT)) & SYSCON_STARTER_USB0_MASK)
  9221. #define SYSCON_STARTER_RTC_MASK (0x20000000U)
  9222. #define SYSCON_STARTER_RTC_SHIFT (29U)
  9223. #define SYSCON_STARTER_RTC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTER_RTC_SHIFT)) & SYSCON_STARTER_RTC_MASK)
  9224. /* The count of SYSCON_STARTER */
  9225. #define SYSCON_STARTER_COUNT (2U)
  9226. /*! @name STARTERSET - Set bits in STARTER */
  9227. #define SYSCON_STARTERSET_START_SET_MASK (0xFFFFFFFFU)
  9228. #define SYSCON_STARTERSET_START_SET_SHIFT (0U)
  9229. #define SYSCON_STARTERSET_START_SET(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTERSET_START_SET_SHIFT)) & SYSCON_STARTERSET_START_SET_MASK)
  9230. /* The count of SYSCON_STARTERSET */
  9231. #define SYSCON_STARTERSET_COUNT (2U)
  9232. /*! @name STARTERCLR - Clear bits in STARTER0 */
  9233. #define SYSCON_STARTERCLR_START_CLR_MASK (0xFFFFFFFFU)
  9234. #define SYSCON_STARTERCLR_START_CLR_SHIFT (0U)
  9235. #define SYSCON_STARTERCLR_START_CLR(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_STARTERCLR_START_CLR_SHIFT)) & SYSCON_STARTERCLR_START_CLR_MASK)
  9236. /* The count of SYSCON_STARTERCLR */
  9237. #define SYSCON_STARTERCLR_COUNT (2U)
  9238. /*! @name HWWAKE - Configures special cases of hardware wake-up */
  9239. #define SYSCON_HWWAKE_FORCEWAKE_MASK (0x1U)
  9240. #define SYSCON_HWWAKE_FORCEWAKE_SHIFT (0U)
  9241. #define SYSCON_HWWAKE_FORCEWAKE(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_HWWAKE_FORCEWAKE_SHIFT)) & SYSCON_HWWAKE_FORCEWAKE_MASK)
  9242. #define SYSCON_HWWAKE_FCWAKE_MASK (0x2U)
  9243. #define SYSCON_HWWAKE_FCWAKE_SHIFT (1U)
  9244. #define SYSCON_HWWAKE_FCWAKE(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_HWWAKE_FCWAKE_SHIFT)) & SYSCON_HWWAKE_FCWAKE_MASK)
  9245. #define SYSCON_HWWAKE_WAKEDMIC_MASK (0x4U)
  9246. #define SYSCON_HWWAKE_WAKEDMIC_SHIFT (2U)
  9247. #define SYSCON_HWWAKE_WAKEDMIC(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_HWWAKE_WAKEDMIC_SHIFT)) & SYSCON_HWWAKE_WAKEDMIC_MASK)
  9248. #define SYSCON_HWWAKE_WAKEDMA_MASK (0x8U)
  9249. #define SYSCON_HWWAKE_WAKEDMA_SHIFT (3U)
  9250. #define SYSCON_HWWAKE_WAKEDMA(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_HWWAKE_WAKEDMA_SHIFT)) & SYSCON_HWWAKE_WAKEDMA_MASK)
  9251. /*! @name AUTOCGOR - Auto Clock-Gate Override Register */
  9252. #define SYSCON_AUTOCGOR_RAM0X_MASK (0x2U)
  9253. #define SYSCON_AUTOCGOR_RAM0X_SHIFT (1U)
  9254. #define SYSCON_AUTOCGOR_RAM0X(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUTOCGOR_RAM0X_SHIFT)) & SYSCON_AUTOCGOR_RAM0X_MASK)
  9255. #define SYSCON_AUTOCGOR_RAM1_MASK (0x4U)
  9256. #define SYSCON_AUTOCGOR_RAM1_SHIFT (2U)
  9257. #define SYSCON_AUTOCGOR_RAM1(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUTOCGOR_RAM1_SHIFT)) & SYSCON_AUTOCGOR_RAM1_MASK)
  9258. #define SYSCON_AUTOCGOR_RAM2_MASK (0x8U)
  9259. #define SYSCON_AUTOCGOR_RAM2_SHIFT (3U)
  9260. #define SYSCON_AUTOCGOR_RAM2(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUTOCGOR_RAM2_SHIFT)) & SYSCON_AUTOCGOR_RAM2_MASK)
  9261. #define SYSCON_AUTOCGOR_RAM3_MASK (0x10U)
  9262. #define SYSCON_AUTOCGOR_RAM3_SHIFT (4U)
  9263. #define SYSCON_AUTOCGOR_RAM3(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_AUTOCGOR_RAM3_SHIFT)) & SYSCON_AUTOCGOR_RAM3_MASK)
  9264. /*! @name JTAGIDCODE - JTAG ID code register */
  9265. #define SYSCON_JTAGIDCODE_JTAGID_MASK (0xFFFFFFFFU)
  9266. #define SYSCON_JTAGIDCODE_JTAGID_SHIFT (0U)
  9267. #define SYSCON_JTAGIDCODE_JTAGID(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_JTAGIDCODE_JTAGID_SHIFT)) & SYSCON_JTAGIDCODE_JTAGID_MASK)
  9268. /*! @name DEVICE_ID0 - Part ID register */
  9269. #define SYSCON_DEVICE_ID0_PARTID_MASK (0xFFFFFFFFU)
  9270. #define SYSCON_DEVICE_ID0_PARTID_SHIFT (0U)
  9271. #define SYSCON_DEVICE_ID0_PARTID(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_DEVICE_ID0_PARTID_SHIFT)) & SYSCON_DEVICE_ID0_PARTID_MASK)
  9272. /*! @name DEVICE_ID1 - Boot ROM and die revision register */
  9273. #define SYSCON_DEVICE_ID1_REVID_MASK (0xFFFFFFFFU)
  9274. #define SYSCON_DEVICE_ID1_REVID_SHIFT (0U)
  9275. #define SYSCON_DEVICE_ID1_REVID(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_DEVICE_ID1_REVID_SHIFT)) & SYSCON_DEVICE_ID1_REVID_MASK)
  9276. /*! @name BODCTRL - Brown-Out Detect control */
  9277. #define SYSCON_BODCTRL_BODRSTLEV_MASK (0x3U)
  9278. #define SYSCON_BODCTRL_BODRSTLEV_SHIFT (0U)
  9279. #define SYSCON_BODCTRL_BODRSTLEV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_BODCTRL_BODRSTLEV_SHIFT)) & SYSCON_BODCTRL_BODRSTLEV_MASK)
  9280. #define SYSCON_BODCTRL_BODRSTENA_MASK (0x4U)
  9281. #define SYSCON_BODCTRL_BODRSTENA_SHIFT (2U)
  9282. #define SYSCON_BODCTRL_BODRSTENA(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_BODCTRL_BODRSTENA_SHIFT)) & SYSCON_BODCTRL_BODRSTENA_MASK)
  9283. #define SYSCON_BODCTRL_BODINTLEV_MASK (0x18U)
  9284. #define SYSCON_BODCTRL_BODINTLEV_SHIFT (3U)
  9285. #define SYSCON_BODCTRL_BODINTLEV(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_BODCTRL_BODINTLEV_SHIFT)) & SYSCON_BODCTRL_BODINTLEV_MASK)
  9286. #define SYSCON_BODCTRL_BODINTENA_MASK (0x20U)
  9287. #define SYSCON_BODCTRL_BODINTENA_SHIFT (5U)
  9288. #define SYSCON_BODCTRL_BODINTENA(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_BODCTRL_BODINTENA_SHIFT)) & SYSCON_BODCTRL_BODINTENA_MASK)
  9289. #define SYSCON_BODCTRL_BODRSTSTAT_MASK (0x40U)
  9290. #define SYSCON_BODCTRL_BODRSTSTAT_SHIFT (6U)
  9291. #define SYSCON_BODCTRL_BODRSTSTAT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_BODCTRL_BODRSTSTAT_SHIFT)) & SYSCON_BODCTRL_BODRSTSTAT_MASK)
  9292. #define SYSCON_BODCTRL_BODINTSTAT_MASK (0x80U)
  9293. #define SYSCON_BODCTRL_BODINTSTAT_SHIFT (7U)
  9294. #define SYSCON_BODCTRL_BODINTSTAT(x) (((uint32_t)(((uint32_t)(x)) << SYSCON_BODCTRL_BODINTSTAT_SHIFT)) & SYSCON_BODCTRL_BODINTSTAT_MASK)
  9295. /*!
  9296. * @}
  9297. */ /* end of group SYSCON_Register_Masks */
  9298. /* SYSCON - Peripheral instance base addresses */
  9299. /** Peripheral SYSCON base address */
  9300. #define SYSCON_BASE (0x40000000u)
  9301. /** Peripheral SYSCON base pointer */
  9302. #define SYSCON ((SYSCON_Type *)SYSCON_BASE)
  9303. /** Array initializer of SYSCON peripheral base addresses */
  9304. #define SYSCON_BASE_ADDRS { SYSCON_BASE }
  9305. /** Array initializer of SYSCON peripheral base pointers */
  9306. #define SYSCON_BASE_PTRS { SYSCON }
  9307. /*!
  9308. * @}
  9309. */ /* end of group SYSCON_Peripheral_Access_Layer */
  9310. /* ----------------------------------------------------------------------------
  9311. -- USART Peripheral Access Layer
  9312. ---------------------------------------------------------------------------- */
  9313. /*!
  9314. * @addtogroup USART_Peripheral_Access_Layer USART Peripheral Access Layer
  9315. * @{
  9316. */
  9317. /** USART - Register Layout Typedef */
  9318. typedef struct {
  9319. __IO uint32_t CFG; /**< USART Configuration register. Basic USART configuration settings that typically are not changed during operation., offset: 0x0 */
  9320. __IO uint32_t CTL; /**< USART Control register. USART control settings that are more likely to change during operation., offset: 0x4 */
  9321. __IO uint32_t STAT; /**< USART Status register. The complete status value can be read here. Writing ones clears some bits in the register. Some bits can be cleared by writing a 1 to them., offset: 0x8 */
  9322. __IO uint32_t INTENSET; /**< Interrupt Enable read and Set register for USART (not FIFO) status. Contains individual interrupt enable bits for each potential USART interrupt. A complete value may be read from this register. Writing a 1 to any implemented bit position causes that bit to be set., offset: 0xC */
  9323. __O uint32_t INTENCLR; /**< Interrupt Enable Clear register. Allows clearing any combination of bits in the INTENSET register. Writing a 1 to any implemented bit position causes the corresponding bit to be cleared., offset: 0x10 */
  9324. uint8_t RESERVED_0[12];
  9325. __IO uint32_t BRG; /**< Baud Rate Generator register. 16-bit integer baud rate divisor value., offset: 0x20 */
  9326. __I uint32_t INTSTAT; /**< Interrupt status register. Reflects interrupts that are currently enabled., offset: 0x24 */
  9327. __IO uint32_t OSR; /**< Oversample selection register for asynchronous communication., offset: 0x28 */
  9328. __IO uint32_t ADDR; /**< Address register for automatic address matching., offset: 0x2C */
  9329. uint8_t RESERVED_1[3536];
  9330. __IO uint32_t FIFOCFG; /**< FIFO configuration and enable register., offset: 0xE00 */
  9331. __IO uint32_t FIFOSTAT; /**< FIFO status register., offset: 0xE04 */
  9332. __IO uint32_t FIFOTRIG; /**< FIFO trigger settings for interrupt and DMA request., offset: 0xE08 */
  9333. uint8_t RESERVED_2[4];
  9334. __IO uint32_t FIFOINTENSET; /**< FIFO interrupt enable set (enable) and read register., offset: 0xE10 */
  9335. __IO uint32_t FIFOINTENCLR; /**< FIFO interrupt enable clear (disable) and read register., offset: 0xE14 */
  9336. __I uint32_t FIFOINTSTAT; /**< FIFO interrupt status register., offset: 0xE18 */
  9337. uint8_t RESERVED_3[4];
  9338. __IO uint32_t FIFOWR; /**< FIFO write data., offset: 0xE20 */
  9339. uint8_t RESERVED_4[12];
  9340. __I uint32_t FIFORD; /**< FIFO read data., offset: 0xE30 */
  9341. uint8_t RESERVED_5[12];
  9342. __I uint32_t FIFORDNOPOP; /**< FIFO data read with no FIFO pop., offset: 0xE40 */
  9343. uint8_t RESERVED_6[440];
  9344. __I uint32_t ID; /**< Peripheral identification register., offset: 0xFFC */
  9345. } USART_Type;
  9346. /* ----------------------------------------------------------------------------
  9347. -- USART Register Masks
  9348. ---------------------------------------------------------------------------- */
  9349. /*!
  9350. * @addtogroup USART_Register_Masks USART Register Masks
  9351. * @{
  9352. */
  9353. /*! @name CFG - USART Configuration register. Basic USART configuration settings that typically are not changed during operation. */
  9354. #define USART_CFG_ENABLE_MASK (0x1U)
  9355. #define USART_CFG_ENABLE_SHIFT (0U)
  9356. #define USART_CFG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_ENABLE_SHIFT)) & USART_CFG_ENABLE_MASK)
  9357. #define USART_CFG_DATALEN_MASK (0xCU)
  9358. #define USART_CFG_DATALEN_SHIFT (2U)
  9359. #define USART_CFG_DATALEN(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_DATALEN_SHIFT)) & USART_CFG_DATALEN_MASK)
  9360. #define USART_CFG_PARITYSEL_MASK (0x30U)
  9361. #define USART_CFG_PARITYSEL_SHIFT (4U)
  9362. #define USART_CFG_PARITYSEL(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_PARITYSEL_SHIFT)) & USART_CFG_PARITYSEL_MASK)
  9363. #define USART_CFG_STOPLEN_MASK (0x40U)
  9364. #define USART_CFG_STOPLEN_SHIFT (6U)
  9365. #define USART_CFG_STOPLEN(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_STOPLEN_SHIFT)) & USART_CFG_STOPLEN_MASK)
  9366. #define USART_CFG_MODE32K_MASK (0x80U)
  9367. #define USART_CFG_MODE32K_SHIFT (7U)
  9368. #define USART_CFG_MODE32K(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_MODE32K_SHIFT)) & USART_CFG_MODE32K_MASK)
  9369. #define USART_CFG_LINMODE_MASK (0x100U)
  9370. #define USART_CFG_LINMODE_SHIFT (8U)
  9371. #define USART_CFG_LINMODE(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_LINMODE_SHIFT)) & USART_CFG_LINMODE_MASK)
  9372. #define USART_CFG_CTSEN_MASK (0x200U)
  9373. #define USART_CFG_CTSEN_SHIFT (9U)
  9374. #define USART_CFG_CTSEN(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_CTSEN_SHIFT)) & USART_CFG_CTSEN_MASK)
  9375. #define USART_CFG_SYNCEN_MASK (0x800U)
  9376. #define USART_CFG_SYNCEN_SHIFT (11U)
  9377. #define USART_CFG_SYNCEN(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_SYNCEN_SHIFT)) & USART_CFG_SYNCEN_MASK)
  9378. #define USART_CFG_CLKPOL_MASK (0x1000U)
  9379. #define USART_CFG_CLKPOL_SHIFT (12U)
  9380. #define USART_CFG_CLKPOL(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_CLKPOL_SHIFT)) & USART_CFG_CLKPOL_MASK)
  9381. #define USART_CFG_SYNCMST_MASK (0x4000U)
  9382. #define USART_CFG_SYNCMST_SHIFT (14U)
  9383. #define USART_CFG_SYNCMST(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_SYNCMST_SHIFT)) & USART_CFG_SYNCMST_MASK)
  9384. #define USART_CFG_LOOP_MASK (0x8000U)
  9385. #define USART_CFG_LOOP_SHIFT (15U)
  9386. #define USART_CFG_LOOP(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_LOOP_SHIFT)) & USART_CFG_LOOP_MASK)
  9387. #define USART_CFG_OETA_MASK (0x40000U)
  9388. #define USART_CFG_OETA_SHIFT (18U)
  9389. #define USART_CFG_OETA(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_OETA_SHIFT)) & USART_CFG_OETA_MASK)
  9390. #define USART_CFG_AUTOADDR_MASK (0x80000U)
  9391. #define USART_CFG_AUTOADDR_SHIFT (19U)
  9392. #define USART_CFG_AUTOADDR(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_AUTOADDR_SHIFT)) & USART_CFG_AUTOADDR_MASK)
  9393. #define USART_CFG_OESEL_MASK (0x100000U)
  9394. #define USART_CFG_OESEL_SHIFT (20U)
  9395. #define USART_CFG_OESEL(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_OESEL_SHIFT)) & USART_CFG_OESEL_MASK)
  9396. #define USART_CFG_OEPOL_MASK (0x200000U)
  9397. #define USART_CFG_OEPOL_SHIFT (21U)
  9398. #define USART_CFG_OEPOL(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_OEPOL_SHIFT)) & USART_CFG_OEPOL_MASK)
  9399. #define USART_CFG_RXPOL_MASK (0x400000U)
  9400. #define USART_CFG_RXPOL_SHIFT (22U)
  9401. #define USART_CFG_RXPOL(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_RXPOL_SHIFT)) & USART_CFG_RXPOL_MASK)
  9402. #define USART_CFG_TXPOL_MASK (0x800000U)
  9403. #define USART_CFG_TXPOL_SHIFT (23U)
  9404. #define USART_CFG_TXPOL(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_TXPOL_SHIFT)) & USART_CFG_TXPOL_MASK)
  9405. /*! @name CTL - USART Control register. USART control settings that are more likely to change during operation. */
  9406. #define USART_CTL_TXBRKEN_MASK (0x2U)
  9407. #define USART_CTL_TXBRKEN_SHIFT (1U)
  9408. #define USART_CTL_TXBRKEN(x) (((uint32_t)(((uint32_t)(x)) << USART_CTL_TXBRKEN_SHIFT)) & USART_CTL_TXBRKEN_MASK)
  9409. #define USART_CTL_ADDRDET_MASK (0x4U)
  9410. #define USART_CTL_ADDRDET_SHIFT (2U)
  9411. #define USART_CTL_ADDRDET(x) (((uint32_t)(((uint32_t)(x)) << USART_CTL_ADDRDET_SHIFT)) & USART_CTL_ADDRDET_MASK)
  9412. #define USART_CTL_TXDIS_MASK (0x40U)
  9413. #define USART_CTL_TXDIS_SHIFT (6U)
  9414. #define USART_CTL_TXDIS(x) (((uint32_t)(((uint32_t)(x)) << USART_CTL_TXDIS_SHIFT)) & USART_CTL_TXDIS_MASK)
  9415. #define USART_CTL_CC_MASK (0x100U)
  9416. #define USART_CTL_CC_SHIFT (8U)
  9417. #define USART_CTL_CC(x) (((uint32_t)(((uint32_t)(x)) << USART_CTL_CC_SHIFT)) & USART_CTL_CC_MASK)
  9418. #define USART_CTL_CLRCCONRX_MASK (0x200U)
  9419. #define USART_CTL_CLRCCONRX_SHIFT (9U)
  9420. #define USART_CTL_CLRCCONRX(x) (((uint32_t)(((uint32_t)(x)) << USART_CTL_CLRCCONRX_SHIFT)) & USART_CTL_CLRCCONRX_MASK)
  9421. #define USART_CTL_AUTOBAUD_MASK (0x10000U)
  9422. #define USART_CTL_AUTOBAUD_SHIFT (16U)
  9423. #define USART_CTL_AUTOBAUD(x) (((uint32_t)(((uint32_t)(x)) << USART_CTL_AUTOBAUD_SHIFT)) & USART_CTL_AUTOBAUD_MASK)
  9424. /*! @name STAT - USART Status register. The complete status value can be read here. Writing ones clears some bits in the register. Some bits can be cleared by writing a 1 to them. */
  9425. #define USART_STAT_RXIDLE_MASK (0x2U)
  9426. #define USART_STAT_RXIDLE_SHIFT (1U)
  9427. #define USART_STAT_RXIDLE(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_RXIDLE_SHIFT)) & USART_STAT_RXIDLE_MASK)
  9428. #define USART_STAT_TXIDLE_MASK (0x8U)
  9429. #define USART_STAT_TXIDLE_SHIFT (3U)
  9430. #define USART_STAT_TXIDLE(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_TXIDLE_SHIFT)) & USART_STAT_TXIDLE_MASK)
  9431. #define USART_STAT_CTS_MASK (0x10U)
  9432. #define USART_STAT_CTS_SHIFT (4U)
  9433. #define USART_STAT_CTS(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_CTS_SHIFT)) & USART_STAT_CTS_MASK)
  9434. #define USART_STAT_DELTACTS_MASK (0x20U)
  9435. #define USART_STAT_DELTACTS_SHIFT (5U)
  9436. #define USART_STAT_DELTACTS(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_DELTACTS_SHIFT)) & USART_STAT_DELTACTS_MASK)
  9437. #define USART_STAT_TXDISSTAT_MASK (0x40U)
  9438. #define USART_STAT_TXDISSTAT_SHIFT (6U)
  9439. #define USART_STAT_TXDISSTAT(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_TXDISSTAT_SHIFT)) & USART_STAT_TXDISSTAT_MASK)
  9440. #define USART_STAT_RXBRK_MASK (0x400U)
  9441. #define USART_STAT_RXBRK_SHIFT (10U)
  9442. #define USART_STAT_RXBRK(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_RXBRK_SHIFT)) & USART_STAT_RXBRK_MASK)
  9443. #define USART_STAT_DELTARXBRK_MASK (0x800U)
  9444. #define USART_STAT_DELTARXBRK_SHIFT (11U)
  9445. #define USART_STAT_DELTARXBRK(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_DELTARXBRK_SHIFT)) & USART_STAT_DELTARXBRK_MASK)
  9446. #define USART_STAT_START_MASK (0x1000U)
  9447. #define USART_STAT_START_SHIFT (12U)
  9448. #define USART_STAT_START(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_START_SHIFT)) & USART_STAT_START_MASK)
  9449. #define USART_STAT_FRAMERRINT_MASK (0x2000U)
  9450. #define USART_STAT_FRAMERRINT_SHIFT (13U)
  9451. #define USART_STAT_FRAMERRINT(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_FRAMERRINT_SHIFT)) & USART_STAT_FRAMERRINT_MASK)
  9452. #define USART_STAT_PARITYERRINT_MASK (0x4000U)
  9453. #define USART_STAT_PARITYERRINT_SHIFT (14U)
  9454. #define USART_STAT_PARITYERRINT(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_PARITYERRINT_SHIFT)) & USART_STAT_PARITYERRINT_MASK)
  9455. #define USART_STAT_RXNOISEINT_MASK (0x8000U)
  9456. #define USART_STAT_RXNOISEINT_SHIFT (15U)
  9457. #define USART_STAT_RXNOISEINT(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_RXNOISEINT_SHIFT)) & USART_STAT_RXNOISEINT_MASK)
  9458. #define USART_STAT_ABERR_MASK (0x10000U)
  9459. #define USART_STAT_ABERR_SHIFT (16U)
  9460. #define USART_STAT_ABERR(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_ABERR_SHIFT)) & USART_STAT_ABERR_MASK)
  9461. /*! @name INTENSET - Interrupt Enable read and Set register for USART (not FIFO) status. Contains individual interrupt enable bits for each potential USART interrupt. A complete value may be read from this register. Writing a 1 to any implemented bit position causes that bit to be set. */
  9462. #define USART_INTENSET_TXIDLEEN_MASK (0x8U)
  9463. #define USART_INTENSET_TXIDLEEN_SHIFT (3U)
  9464. #define USART_INTENSET_TXIDLEEN(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENSET_TXIDLEEN_SHIFT)) & USART_INTENSET_TXIDLEEN_MASK)
  9465. #define USART_INTENSET_DELTACTSEN_MASK (0x20U)
  9466. #define USART_INTENSET_DELTACTSEN_SHIFT (5U)
  9467. #define USART_INTENSET_DELTACTSEN(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENSET_DELTACTSEN_SHIFT)) & USART_INTENSET_DELTACTSEN_MASK)
  9468. #define USART_INTENSET_TXDISEN_MASK (0x40U)
  9469. #define USART_INTENSET_TXDISEN_SHIFT (6U)
  9470. #define USART_INTENSET_TXDISEN(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENSET_TXDISEN_SHIFT)) & USART_INTENSET_TXDISEN_MASK)
  9471. #define USART_INTENSET_DELTARXBRKEN_MASK (0x800U)
  9472. #define USART_INTENSET_DELTARXBRKEN_SHIFT (11U)
  9473. #define USART_INTENSET_DELTARXBRKEN(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENSET_DELTARXBRKEN_SHIFT)) & USART_INTENSET_DELTARXBRKEN_MASK)
  9474. #define USART_INTENSET_STARTEN_MASK (0x1000U)
  9475. #define USART_INTENSET_STARTEN_SHIFT (12U)
  9476. #define USART_INTENSET_STARTEN(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENSET_STARTEN_SHIFT)) & USART_INTENSET_STARTEN_MASK)
  9477. #define USART_INTENSET_FRAMERREN_MASK (0x2000U)
  9478. #define USART_INTENSET_FRAMERREN_SHIFT (13U)
  9479. #define USART_INTENSET_FRAMERREN(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENSET_FRAMERREN_SHIFT)) & USART_INTENSET_FRAMERREN_MASK)
  9480. #define USART_INTENSET_PARITYERREN_MASK (0x4000U)
  9481. #define USART_INTENSET_PARITYERREN_SHIFT (14U)
  9482. #define USART_INTENSET_PARITYERREN(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENSET_PARITYERREN_SHIFT)) & USART_INTENSET_PARITYERREN_MASK)
  9483. #define USART_INTENSET_RXNOISEEN_MASK (0x8000U)
  9484. #define USART_INTENSET_RXNOISEEN_SHIFT (15U)
  9485. #define USART_INTENSET_RXNOISEEN(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENSET_RXNOISEEN_SHIFT)) & USART_INTENSET_RXNOISEEN_MASK)
  9486. #define USART_INTENSET_ABERREN_MASK (0x10000U)
  9487. #define USART_INTENSET_ABERREN_SHIFT (16U)
  9488. #define USART_INTENSET_ABERREN(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENSET_ABERREN_SHIFT)) & USART_INTENSET_ABERREN_MASK)
  9489. /*! @name INTENCLR - Interrupt Enable Clear register. Allows clearing any combination of bits in the INTENSET register. Writing a 1 to any implemented bit position causes the corresponding bit to be cleared. */
  9490. #define USART_INTENCLR_TXIDLECLR_MASK (0x8U)
  9491. #define USART_INTENCLR_TXIDLECLR_SHIFT (3U)
  9492. #define USART_INTENCLR_TXIDLECLR(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENCLR_TXIDLECLR_SHIFT)) & USART_INTENCLR_TXIDLECLR_MASK)
  9493. #define USART_INTENCLR_DELTACTSCLR_MASK (0x20U)
  9494. #define USART_INTENCLR_DELTACTSCLR_SHIFT (5U)
  9495. #define USART_INTENCLR_DELTACTSCLR(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENCLR_DELTACTSCLR_SHIFT)) & USART_INTENCLR_DELTACTSCLR_MASK)
  9496. #define USART_INTENCLR_TXDISCLR_MASK (0x40U)
  9497. #define USART_INTENCLR_TXDISCLR_SHIFT (6U)
  9498. #define USART_INTENCLR_TXDISCLR(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENCLR_TXDISCLR_SHIFT)) & USART_INTENCLR_TXDISCLR_MASK)
  9499. #define USART_INTENCLR_DELTARXBRKCLR_MASK (0x800U)
  9500. #define USART_INTENCLR_DELTARXBRKCLR_SHIFT (11U)
  9501. #define USART_INTENCLR_DELTARXBRKCLR(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENCLR_DELTARXBRKCLR_SHIFT)) & USART_INTENCLR_DELTARXBRKCLR_MASK)
  9502. #define USART_INTENCLR_STARTCLR_MASK (0x1000U)
  9503. #define USART_INTENCLR_STARTCLR_SHIFT (12U)
  9504. #define USART_INTENCLR_STARTCLR(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENCLR_STARTCLR_SHIFT)) & USART_INTENCLR_STARTCLR_MASK)
  9505. #define USART_INTENCLR_FRAMERRCLR_MASK (0x2000U)
  9506. #define USART_INTENCLR_FRAMERRCLR_SHIFT (13U)
  9507. #define USART_INTENCLR_FRAMERRCLR(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENCLR_FRAMERRCLR_SHIFT)) & USART_INTENCLR_FRAMERRCLR_MASK)
  9508. #define USART_INTENCLR_PARITYERRCLR_MASK (0x4000U)
  9509. #define USART_INTENCLR_PARITYERRCLR_SHIFT (14U)
  9510. #define USART_INTENCLR_PARITYERRCLR(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENCLR_PARITYERRCLR_SHIFT)) & USART_INTENCLR_PARITYERRCLR_MASK)
  9511. #define USART_INTENCLR_RXNOISECLR_MASK (0x8000U)
  9512. #define USART_INTENCLR_RXNOISECLR_SHIFT (15U)
  9513. #define USART_INTENCLR_RXNOISECLR(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENCLR_RXNOISECLR_SHIFT)) & USART_INTENCLR_RXNOISECLR_MASK)
  9514. #define USART_INTENCLR_ABERRCLR_MASK (0x10000U)
  9515. #define USART_INTENCLR_ABERRCLR_SHIFT (16U)
  9516. #define USART_INTENCLR_ABERRCLR(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENCLR_ABERRCLR_SHIFT)) & USART_INTENCLR_ABERRCLR_MASK)
  9517. /*! @name BRG - Baud Rate Generator register. 16-bit integer baud rate divisor value. */
  9518. #define USART_BRG_BRGVAL_MASK (0xFFFFU)
  9519. #define USART_BRG_BRGVAL_SHIFT (0U)
  9520. #define USART_BRG_BRGVAL(x) (((uint32_t)(((uint32_t)(x)) << USART_BRG_BRGVAL_SHIFT)) & USART_BRG_BRGVAL_MASK)
  9521. /*! @name INTSTAT - Interrupt status register. Reflects interrupts that are currently enabled. */
  9522. #define USART_INTSTAT_TXIDLE_MASK (0x8U)
  9523. #define USART_INTSTAT_TXIDLE_SHIFT (3U)
  9524. #define USART_INTSTAT_TXIDLE(x) (((uint32_t)(((uint32_t)(x)) << USART_INTSTAT_TXIDLE_SHIFT)) & USART_INTSTAT_TXIDLE_MASK)
  9525. #define USART_INTSTAT_DELTACTS_MASK (0x20U)
  9526. #define USART_INTSTAT_DELTACTS_SHIFT (5U)
  9527. #define USART_INTSTAT_DELTACTS(x) (((uint32_t)(((uint32_t)(x)) << USART_INTSTAT_DELTACTS_SHIFT)) & USART_INTSTAT_DELTACTS_MASK)
  9528. #define USART_INTSTAT_TXDISINT_MASK (0x40U)
  9529. #define USART_INTSTAT_TXDISINT_SHIFT (6U)
  9530. #define USART_INTSTAT_TXDISINT(x) (((uint32_t)(((uint32_t)(x)) << USART_INTSTAT_TXDISINT_SHIFT)) & USART_INTSTAT_TXDISINT_MASK)
  9531. #define USART_INTSTAT_DELTARXBRK_MASK (0x800U)
  9532. #define USART_INTSTAT_DELTARXBRK_SHIFT (11U)
  9533. #define USART_INTSTAT_DELTARXBRK(x) (((uint32_t)(((uint32_t)(x)) << USART_INTSTAT_DELTARXBRK_SHIFT)) & USART_INTSTAT_DELTARXBRK_MASK)
  9534. #define USART_INTSTAT_START_MASK (0x1000U)
  9535. #define USART_INTSTAT_START_SHIFT (12U)
  9536. #define USART_INTSTAT_START(x) (((uint32_t)(((uint32_t)(x)) << USART_INTSTAT_START_SHIFT)) & USART_INTSTAT_START_MASK)
  9537. #define USART_INTSTAT_FRAMERRINT_MASK (0x2000U)
  9538. #define USART_INTSTAT_FRAMERRINT_SHIFT (13U)
  9539. #define USART_INTSTAT_FRAMERRINT(x) (((uint32_t)(((uint32_t)(x)) << USART_INTSTAT_FRAMERRINT_SHIFT)) & USART_INTSTAT_FRAMERRINT_MASK)
  9540. #define USART_INTSTAT_PARITYERRINT_MASK (0x4000U)
  9541. #define USART_INTSTAT_PARITYERRINT_SHIFT (14U)
  9542. #define USART_INTSTAT_PARITYERRINT(x) (((uint32_t)(((uint32_t)(x)) << USART_INTSTAT_PARITYERRINT_SHIFT)) & USART_INTSTAT_PARITYERRINT_MASK)
  9543. #define USART_INTSTAT_RXNOISEINT_MASK (0x8000U)
  9544. #define USART_INTSTAT_RXNOISEINT_SHIFT (15U)
  9545. #define USART_INTSTAT_RXNOISEINT(x) (((uint32_t)(((uint32_t)(x)) << USART_INTSTAT_RXNOISEINT_SHIFT)) & USART_INTSTAT_RXNOISEINT_MASK)
  9546. #define USART_INTSTAT_ABERRINT_MASK (0x10000U)
  9547. #define USART_INTSTAT_ABERRINT_SHIFT (16U)
  9548. #define USART_INTSTAT_ABERRINT(x) (((uint32_t)(((uint32_t)(x)) << USART_INTSTAT_ABERRINT_SHIFT)) & USART_INTSTAT_ABERRINT_MASK)
  9549. /*! @name OSR - Oversample selection register for asynchronous communication. */
  9550. #define USART_OSR_OSRVAL_MASK (0xFU)
  9551. #define USART_OSR_OSRVAL_SHIFT (0U)
  9552. #define USART_OSR_OSRVAL(x) (((uint32_t)(((uint32_t)(x)) << USART_OSR_OSRVAL_SHIFT)) & USART_OSR_OSRVAL_MASK)
  9553. /*! @name ADDR - Address register for automatic address matching. */
  9554. #define USART_ADDR_ADDRESS_MASK (0xFFU)
  9555. #define USART_ADDR_ADDRESS_SHIFT (0U)
  9556. #define USART_ADDR_ADDRESS(x) (((uint32_t)(((uint32_t)(x)) << USART_ADDR_ADDRESS_SHIFT)) & USART_ADDR_ADDRESS_MASK)
  9557. /*! @name FIFOCFG - FIFO configuration and enable register. */
  9558. #define USART_FIFOCFG_ENABLETX_MASK (0x1U)
  9559. #define USART_FIFOCFG_ENABLETX_SHIFT (0U)
  9560. #define USART_FIFOCFG_ENABLETX(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOCFG_ENABLETX_SHIFT)) & USART_FIFOCFG_ENABLETX_MASK)
  9561. #define USART_FIFOCFG_ENABLERX_MASK (0x2U)
  9562. #define USART_FIFOCFG_ENABLERX_SHIFT (1U)
  9563. #define USART_FIFOCFG_ENABLERX(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOCFG_ENABLERX_SHIFT)) & USART_FIFOCFG_ENABLERX_MASK)
  9564. #define USART_FIFOCFG_SIZE_MASK (0x30U)
  9565. #define USART_FIFOCFG_SIZE_SHIFT (4U)
  9566. #define USART_FIFOCFG_SIZE(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOCFG_SIZE_SHIFT)) & USART_FIFOCFG_SIZE_MASK)
  9567. #define USART_FIFOCFG_DMATX_MASK (0x1000U)
  9568. #define USART_FIFOCFG_DMATX_SHIFT (12U)
  9569. #define USART_FIFOCFG_DMATX(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOCFG_DMATX_SHIFT)) & USART_FIFOCFG_DMATX_MASK)
  9570. #define USART_FIFOCFG_DMARX_MASK (0x2000U)
  9571. #define USART_FIFOCFG_DMARX_SHIFT (13U)
  9572. #define USART_FIFOCFG_DMARX(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOCFG_DMARX_SHIFT)) & USART_FIFOCFG_DMARX_MASK)
  9573. #define USART_FIFOCFG_WAKETX_MASK (0x4000U)
  9574. #define USART_FIFOCFG_WAKETX_SHIFT (14U)
  9575. #define USART_FIFOCFG_WAKETX(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOCFG_WAKETX_SHIFT)) & USART_FIFOCFG_WAKETX_MASK)
  9576. #define USART_FIFOCFG_WAKERX_MASK (0x8000U)
  9577. #define USART_FIFOCFG_WAKERX_SHIFT (15U)
  9578. #define USART_FIFOCFG_WAKERX(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOCFG_WAKERX_SHIFT)) & USART_FIFOCFG_WAKERX_MASK)
  9579. #define USART_FIFOCFG_EMPTYTX_MASK (0x10000U)
  9580. #define USART_FIFOCFG_EMPTYTX_SHIFT (16U)
  9581. #define USART_FIFOCFG_EMPTYTX(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOCFG_EMPTYTX_SHIFT)) & USART_FIFOCFG_EMPTYTX_MASK)
  9582. #define USART_FIFOCFG_EMPTYRX_MASK (0x20000U)
  9583. #define USART_FIFOCFG_EMPTYRX_SHIFT (17U)
  9584. #define USART_FIFOCFG_EMPTYRX(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOCFG_EMPTYRX_SHIFT)) & USART_FIFOCFG_EMPTYRX_MASK)
  9585. #define USART_FIFOCFG_POPDBG_MASK (0x40000U)
  9586. #define USART_FIFOCFG_POPDBG_SHIFT (18U)
  9587. #define USART_FIFOCFG_POPDBG(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOCFG_POPDBG_SHIFT)) & USART_FIFOCFG_POPDBG_MASK)
  9588. /*! @name FIFOSTAT - FIFO status register. */
  9589. #define USART_FIFOSTAT_TXERR_MASK (0x1U)
  9590. #define USART_FIFOSTAT_TXERR_SHIFT (0U)
  9591. #define USART_FIFOSTAT_TXERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOSTAT_TXERR_SHIFT)) & USART_FIFOSTAT_TXERR_MASK)
  9592. #define USART_FIFOSTAT_RXERR_MASK (0x2U)
  9593. #define USART_FIFOSTAT_RXERR_SHIFT (1U)
  9594. #define USART_FIFOSTAT_RXERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOSTAT_RXERR_SHIFT)) & USART_FIFOSTAT_RXERR_MASK)
  9595. #define USART_FIFOSTAT_PERINT_MASK (0x8U)
  9596. #define USART_FIFOSTAT_PERINT_SHIFT (3U)
  9597. #define USART_FIFOSTAT_PERINT(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOSTAT_PERINT_SHIFT)) & USART_FIFOSTAT_PERINT_MASK)
  9598. #define USART_FIFOSTAT_TXEMPTY_MASK (0x10U)
  9599. #define USART_FIFOSTAT_TXEMPTY_SHIFT (4U)
  9600. #define USART_FIFOSTAT_TXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOSTAT_TXEMPTY_SHIFT)) & USART_FIFOSTAT_TXEMPTY_MASK)
  9601. #define USART_FIFOSTAT_TXNOTFULL_MASK (0x20U)
  9602. #define USART_FIFOSTAT_TXNOTFULL_SHIFT (5U)
  9603. #define USART_FIFOSTAT_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOSTAT_TXNOTFULL_SHIFT)) & USART_FIFOSTAT_TXNOTFULL_MASK)
  9604. #define USART_FIFOSTAT_RXNOTEMPTY_MASK (0x40U)
  9605. #define USART_FIFOSTAT_RXNOTEMPTY_SHIFT (6U)
  9606. #define USART_FIFOSTAT_RXNOTEMPTY(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOSTAT_RXNOTEMPTY_SHIFT)) & USART_FIFOSTAT_RXNOTEMPTY_MASK)
  9607. #define USART_FIFOSTAT_RXFULL_MASK (0x80U)
  9608. #define USART_FIFOSTAT_RXFULL_SHIFT (7U)
  9609. #define USART_FIFOSTAT_RXFULL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOSTAT_RXFULL_SHIFT)) & USART_FIFOSTAT_RXFULL_MASK)
  9610. #define USART_FIFOSTAT_TXLVL_MASK (0x1F00U)
  9611. #define USART_FIFOSTAT_TXLVL_SHIFT (8U)
  9612. #define USART_FIFOSTAT_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOSTAT_TXLVL_SHIFT)) & USART_FIFOSTAT_TXLVL_MASK)
  9613. #define USART_FIFOSTAT_RXLVL_MASK (0x1F0000U)
  9614. #define USART_FIFOSTAT_RXLVL_SHIFT (16U)
  9615. #define USART_FIFOSTAT_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOSTAT_RXLVL_SHIFT)) & USART_FIFOSTAT_RXLVL_MASK)
  9616. /*! @name FIFOTRIG - FIFO trigger settings for interrupt and DMA request. */
  9617. #define USART_FIFOTRIG_TXLVLENA_MASK (0x1U)
  9618. #define USART_FIFOTRIG_TXLVLENA_SHIFT (0U)
  9619. #define USART_FIFOTRIG_TXLVLENA(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOTRIG_TXLVLENA_SHIFT)) & USART_FIFOTRIG_TXLVLENA_MASK)
  9620. #define USART_FIFOTRIG_RXLVLENA_MASK (0x2U)
  9621. #define USART_FIFOTRIG_RXLVLENA_SHIFT (1U)
  9622. #define USART_FIFOTRIG_RXLVLENA(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOTRIG_RXLVLENA_SHIFT)) & USART_FIFOTRIG_RXLVLENA_MASK)
  9623. #define USART_FIFOTRIG_TXLVL_MASK (0xF00U)
  9624. #define USART_FIFOTRIG_TXLVL_SHIFT (8U)
  9625. #define USART_FIFOTRIG_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOTRIG_TXLVL_SHIFT)) & USART_FIFOTRIG_TXLVL_MASK)
  9626. #define USART_FIFOTRIG_RXLVL_MASK (0xF0000U)
  9627. #define USART_FIFOTRIG_RXLVL_SHIFT (16U)
  9628. #define USART_FIFOTRIG_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOTRIG_RXLVL_SHIFT)) & USART_FIFOTRIG_RXLVL_MASK)
  9629. /*! @name FIFOINTENSET - FIFO interrupt enable set (enable) and read register. */
  9630. #define USART_FIFOINTENSET_TXERR_MASK (0x1U)
  9631. #define USART_FIFOINTENSET_TXERR_SHIFT (0U)
  9632. #define USART_FIFOINTENSET_TXERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTENSET_TXERR_SHIFT)) & USART_FIFOINTENSET_TXERR_MASK)
  9633. #define USART_FIFOINTENSET_RXERR_MASK (0x2U)
  9634. #define USART_FIFOINTENSET_RXERR_SHIFT (1U)
  9635. #define USART_FIFOINTENSET_RXERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTENSET_RXERR_SHIFT)) & USART_FIFOINTENSET_RXERR_MASK)
  9636. #define USART_FIFOINTENSET_TXLVL_MASK (0x4U)
  9637. #define USART_FIFOINTENSET_TXLVL_SHIFT (2U)
  9638. #define USART_FIFOINTENSET_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTENSET_TXLVL_SHIFT)) & USART_FIFOINTENSET_TXLVL_MASK)
  9639. #define USART_FIFOINTENSET_RXLVL_MASK (0x8U)
  9640. #define USART_FIFOINTENSET_RXLVL_SHIFT (3U)
  9641. #define USART_FIFOINTENSET_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTENSET_RXLVL_SHIFT)) & USART_FIFOINTENSET_RXLVL_MASK)
  9642. /*! @name FIFOINTENCLR - FIFO interrupt enable clear (disable) and read register. */
  9643. #define USART_FIFOINTENCLR_TXERR_MASK (0x1U)
  9644. #define USART_FIFOINTENCLR_TXERR_SHIFT (0U)
  9645. #define USART_FIFOINTENCLR_TXERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTENCLR_TXERR_SHIFT)) & USART_FIFOINTENCLR_TXERR_MASK)
  9646. #define USART_FIFOINTENCLR_RXERR_MASK (0x2U)
  9647. #define USART_FIFOINTENCLR_RXERR_SHIFT (1U)
  9648. #define USART_FIFOINTENCLR_RXERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTENCLR_RXERR_SHIFT)) & USART_FIFOINTENCLR_RXERR_MASK)
  9649. #define USART_FIFOINTENCLR_TXLVL_MASK (0x4U)
  9650. #define USART_FIFOINTENCLR_TXLVL_SHIFT (2U)
  9651. #define USART_FIFOINTENCLR_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTENCLR_TXLVL_SHIFT)) & USART_FIFOINTENCLR_TXLVL_MASK)
  9652. #define USART_FIFOINTENCLR_RXLVL_MASK (0x8U)
  9653. #define USART_FIFOINTENCLR_RXLVL_SHIFT (3U)
  9654. #define USART_FIFOINTENCLR_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTENCLR_RXLVL_SHIFT)) & USART_FIFOINTENCLR_RXLVL_MASK)
  9655. /*! @name FIFOINTSTAT - FIFO interrupt status register. */
  9656. #define USART_FIFOINTSTAT_TXERR_MASK (0x1U)
  9657. #define USART_FIFOINTSTAT_TXERR_SHIFT (0U)
  9658. #define USART_FIFOINTSTAT_TXERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTSTAT_TXERR_SHIFT)) & USART_FIFOINTSTAT_TXERR_MASK)
  9659. #define USART_FIFOINTSTAT_RXERR_MASK (0x2U)
  9660. #define USART_FIFOINTSTAT_RXERR_SHIFT (1U)
  9661. #define USART_FIFOINTSTAT_RXERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTSTAT_RXERR_SHIFT)) & USART_FIFOINTSTAT_RXERR_MASK)
  9662. #define USART_FIFOINTSTAT_TXLVL_MASK (0x4U)
  9663. #define USART_FIFOINTSTAT_TXLVL_SHIFT (2U)
  9664. #define USART_FIFOINTSTAT_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTSTAT_TXLVL_SHIFT)) & USART_FIFOINTSTAT_TXLVL_MASK)
  9665. #define USART_FIFOINTSTAT_RXLVL_MASK (0x8U)
  9666. #define USART_FIFOINTSTAT_RXLVL_SHIFT (3U)
  9667. #define USART_FIFOINTSTAT_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTSTAT_RXLVL_SHIFT)) & USART_FIFOINTSTAT_RXLVL_MASK)
  9668. #define USART_FIFOINTSTAT_PERINT_MASK (0x10U)
  9669. #define USART_FIFOINTSTAT_PERINT_SHIFT (4U)
  9670. #define USART_FIFOINTSTAT_PERINT(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTSTAT_PERINT_SHIFT)) & USART_FIFOINTSTAT_PERINT_MASK)
  9671. /*! @name FIFOWR - FIFO write data. */
  9672. #define USART_FIFOWR_TXDATA_MASK (0x1FFU)
  9673. #define USART_FIFOWR_TXDATA_SHIFT (0U)
  9674. #define USART_FIFOWR_TXDATA(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOWR_TXDATA_SHIFT)) & USART_FIFOWR_TXDATA_MASK)
  9675. /*! @name FIFORD - FIFO read data. */
  9676. #define USART_FIFORD_RXDATA_MASK (0x1FFU)
  9677. #define USART_FIFORD_RXDATA_SHIFT (0U)
  9678. #define USART_FIFORD_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFORD_RXDATA_SHIFT)) & USART_FIFORD_RXDATA_MASK)
  9679. #define USART_FIFORD_FRAMERR_MASK (0x2000U)
  9680. #define USART_FIFORD_FRAMERR_SHIFT (13U)
  9681. #define USART_FIFORD_FRAMERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFORD_FRAMERR_SHIFT)) & USART_FIFORD_FRAMERR_MASK)
  9682. #define USART_FIFORD_PARITYERR_MASK (0x4000U)
  9683. #define USART_FIFORD_PARITYERR_SHIFT (14U)
  9684. #define USART_FIFORD_PARITYERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFORD_PARITYERR_SHIFT)) & USART_FIFORD_PARITYERR_MASK)
  9685. #define USART_FIFORD_RXNOISE_MASK (0x8000U)
  9686. #define USART_FIFORD_RXNOISE_SHIFT (15U)
  9687. #define USART_FIFORD_RXNOISE(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFORD_RXNOISE_SHIFT)) & USART_FIFORD_RXNOISE_MASK)
  9688. /*! @name FIFORDNOPOP - FIFO data read with no FIFO pop. */
  9689. #define USART_FIFORDNOPOP_RXDATA_MASK (0x1FFU)
  9690. #define USART_FIFORDNOPOP_RXDATA_SHIFT (0U)
  9691. #define USART_FIFORDNOPOP_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFORDNOPOP_RXDATA_SHIFT)) & USART_FIFORDNOPOP_RXDATA_MASK)
  9692. #define USART_FIFORDNOPOP_FRAMERR_MASK (0x2000U)
  9693. #define USART_FIFORDNOPOP_FRAMERR_SHIFT (13U)
  9694. #define USART_FIFORDNOPOP_FRAMERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFORDNOPOP_FRAMERR_SHIFT)) & USART_FIFORDNOPOP_FRAMERR_MASK)
  9695. #define USART_FIFORDNOPOP_PARITYERR_MASK (0x4000U)
  9696. #define USART_FIFORDNOPOP_PARITYERR_SHIFT (14U)
  9697. #define USART_FIFORDNOPOP_PARITYERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFORDNOPOP_PARITYERR_SHIFT)) & USART_FIFORDNOPOP_PARITYERR_MASK)
  9698. #define USART_FIFORDNOPOP_RXNOISE_MASK (0x8000U)
  9699. #define USART_FIFORDNOPOP_RXNOISE_SHIFT (15U)
  9700. #define USART_FIFORDNOPOP_RXNOISE(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFORDNOPOP_RXNOISE_SHIFT)) & USART_FIFORDNOPOP_RXNOISE_MASK)
  9701. /*! @name ID - Peripheral identification register. */
  9702. #define USART_ID_APERTURE_MASK (0xFFU)
  9703. #define USART_ID_APERTURE_SHIFT (0U)
  9704. #define USART_ID_APERTURE(x) (((uint32_t)(((uint32_t)(x)) << USART_ID_APERTURE_SHIFT)) & USART_ID_APERTURE_MASK)
  9705. #define USART_ID_MINOR_REV_MASK (0xF00U)
  9706. #define USART_ID_MINOR_REV_SHIFT (8U)
  9707. #define USART_ID_MINOR_REV(x) (((uint32_t)(((uint32_t)(x)) << USART_ID_MINOR_REV_SHIFT)) & USART_ID_MINOR_REV_MASK)
  9708. #define USART_ID_MAJOR_REV_MASK (0xF000U)
  9709. #define USART_ID_MAJOR_REV_SHIFT (12U)
  9710. #define USART_ID_MAJOR_REV(x) (((uint32_t)(((uint32_t)(x)) << USART_ID_MAJOR_REV_SHIFT)) & USART_ID_MAJOR_REV_MASK)
  9711. #define USART_ID_ID_MASK (0xFFFF0000U)
  9712. #define USART_ID_ID_SHIFT (16U)
  9713. #define USART_ID_ID(x) (((uint32_t)(((uint32_t)(x)) << USART_ID_ID_SHIFT)) & USART_ID_ID_MASK)
  9714. /*!
  9715. * @}
  9716. */ /* end of group USART_Register_Masks */
  9717. /* USART - Peripheral instance base addresses */
  9718. /** Peripheral USART0 base address */
  9719. #define USART0_BASE (0x40086000u)
  9720. /** Peripheral USART0 base pointer */
  9721. #define USART0 ((USART_Type *)USART0_BASE)
  9722. /** Peripheral USART1 base address */
  9723. #define USART1_BASE (0x40087000u)
  9724. /** Peripheral USART1 base pointer */
  9725. #define USART1 ((USART_Type *)USART1_BASE)
  9726. /** Peripheral USART2 base address */
  9727. #define USART2_BASE (0x40088000u)
  9728. /** Peripheral USART2 base pointer */
  9729. #define USART2 ((USART_Type *)USART2_BASE)
  9730. /** Peripheral USART3 base address */
  9731. #define USART3_BASE (0x40089000u)
  9732. /** Peripheral USART3 base pointer */
  9733. #define USART3 ((USART_Type *)USART3_BASE)
  9734. /** Peripheral USART4 base address */
  9735. #define USART4_BASE (0x4008A000u)
  9736. /** Peripheral USART4 base pointer */
  9737. #define USART4 ((USART_Type *)USART4_BASE)
  9738. /** Peripheral USART5 base address */
  9739. #define USART5_BASE (0x40096000u)
  9740. /** Peripheral USART5 base pointer */
  9741. #define USART5 ((USART_Type *)USART5_BASE)
  9742. /** Peripheral USART6 base address */
  9743. #define USART6_BASE (0x40097000u)
  9744. /** Peripheral USART6 base pointer */
  9745. #define USART6 ((USART_Type *)USART6_BASE)
  9746. /** Peripheral USART7 base address */
  9747. #define USART7_BASE (0x40098000u)
  9748. /** Peripheral USART7 base pointer */
  9749. #define USART7 ((USART_Type *)USART7_BASE)
  9750. /** Peripheral USART8 base address */
  9751. #define USART8_BASE (0x40099000u)
  9752. /** Peripheral USART8 base pointer */
  9753. #define USART8 ((USART_Type *)USART8_BASE)
  9754. /** Peripheral USART9 base address */
  9755. #define USART9_BASE (0x4009A000u)
  9756. /** Peripheral USART9 base pointer */
  9757. #define USART9 ((USART_Type *)USART9_BASE)
  9758. /** Array initializer of USART peripheral base addresses */
  9759. #define USART_BASE_ADDRS { USART0_BASE, USART1_BASE, USART2_BASE, USART3_BASE, USART4_BASE, USART5_BASE, USART6_BASE, USART7_BASE, USART8_BASE, USART9_BASE }
  9760. /** Array initializer of USART peripheral base pointers */
  9761. #define USART_BASE_PTRS { USART0, USART1, USART2, USART3, USART4, USART5, USART6, USART7, USART8, USART9 }
  9762. /** Interrupt vectors for the USART peripheral type */
  9763. #define USART_IRQS { FLEXCOMM0_IRQn, FLEXCOMM1_IRQn, FLEXCOMM2_IRQn, FLEXCOMM3_IRQn, FLEXCOMM4_IRQn, FLEXCOMM5_IRQn, FLEXCOMM6_IRQn, FLEXCOMM7_IRQn, FLEXCOMM8_IRQn, FLEXCOMM9_IRQn }
  9764. /*!
  9765. * @}
  9766. */ /* end of group USART_Peripheral_Access_Layer */
  9767. /* ----------------------------------------------------------------------------
  9768. -- USB Peripheral Access Layer
  9769. ---------------------------------------------------------------------------- */
  9770. /*!
  9771. * @addtogroup USB_Peripheral_Access_Layer USB Peripheral Access Layer
  9772. * @{
  9773. */
  9774. /** USB - Register Layout Typedef */
  9775. typedef struct {
  9776. __IO uint32_t DEVCMDSTAT; /**< USB Device Command/Status register, offset: 0x0 */
  9777. __IO uint32_t INFO; /**< USB Info register, offset: 0x4 */
  9778. __IO uint32_t EPLISTSTART; /**< USB EP Command/Status List start address, offset: 0x8 */
  9779. __IO uint32_t DATABUFSTART; /**< USB Data buffer start address, offset: 0xC */
  9780. __IO uint32_t LPM; /**< USB Link Power Management register, offset: 0x10 */
  9781. __IO uint32_t EPSKIP; /**< USB Endpoint skip, offset: 0x14 */
  9782. __IO uint32_t EPINUSE; /**< USB Endpoint Buffer in use, offset: 0x18 */
  9783. __IO uint32_t EPBUFCFG; /**< USB Endpoint Buffer Configuration register, offset: 0x1C */
  9784. __IO uint32_t INTSTAT; /**< USB interrupt status register, offset: 0x20 */
  9785. __IO uint32_t INTEN; /**< USB interrupt enable register, offset: 0x24 */
  9786. __IO uint32_t INTSETSTAT; /**< USB set interrupt status register, offset: 0x28 */
  9787. uint8_t RESERVED_0[8];
  9788. __IO uint32_t EPTOGGLE; /**< USB Endpoint toggle register, offset: 0x34 */
  9789. } USB_Type;
  9790. /* ----------------------------------------------------------------------------
  9791. -- USB Register Masks
  9792. ---------------------------------------------------------------------------- */
  9793. /*!
  9794. * @addtogroup USB_Register_Masks USB Register Masks
  9795. * @{
  9796. */
  9797. /*! @name DEVCMDSTAT - USB Device Command/Status register */
  9798. #define USB_DEVCMDSTAT_DEV_ADDR_MASK (0x7FU)
  9799. #define USB_DEVCMDSTAT_DEV_ADDR_SHIFT (0U)
  9800. #define USB_DEVCMDSTAT_DEV_ADDR(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVCMDSTAT_DEV_ADDR_SHIFT)) & USB_DEVCMDSTAT_DEV_ADDR_MASK)
  9801. #define USB_DEVCMDSTAT_DEV_EN_MASK (0x80U)
  9802. #define USB_DEVCMDSTAT_DEV_EN_SHIFT (7U)
  9803. #define USB_DEVCMDSTAT_DEV_EN(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVCMDSTAT_DEV_EN_SHIFT)) & USB_DEVCMDSTAT_DEV_EN_MASK)
  9804. #define USB_DEVCMDSTAT_SETUP_MASK (0x100U)
  9805. #define USB_DEVCMDSTAT_SETUP_SHIFT (8U)
  9806. #define USB_DEVCMDSTAT_SETUP(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVCMDSTAT_SETUP_SHIFT)) & USB_DEVCMDSTAT_SETUP_MASK)
  9807. #define USB_DEVCMDSTAT_FORCE_NEEDCLK_MASK (0x200U)
  9808. #define USB_DEVCMDSTAT_FORCE_NEEDCLK_SHIFT (9U)
  9809. #define USB_DEVCMDSTAT_FORCE_NEEDCLK(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVCMDSTAT_FORCE_NEEDCLK_SHIFT)) & USB_DEVCMDSTAT_FORCE_NEEDCLK_MASK)
  9810. #define USB_DEVCMDSTAT_LPM_SUP_MASK (0x800U)
  9811. #define USB_DEVCMDSTAT_LPM_SUP_SHIFT (11U)
  9812. #define USB_DEVCMDSTAT_LPM_SUP(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVCMDSTAT_LPM_SUP_SHIFT)) & USB_DEVCMDSTAT_LPM_SUP_MASK)
  9813. #define USB_DEVCMDSTAT_INTONNAK_AO_MASK (0x1000U)
  9814. #define USB_DEVCMDSTAT_INTONNAK_AO_SHIFT (12U)
  9815. #define USB_DEVCMDSTAT_INTONNAK_AO(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVCMDSTAT_INTONNAK_AO_SHIFT)) & USB_DEVCMDSTAT_INTONNAK_AO_MASK)
  9816. #define USB_DEVCMDSTAT_INTONNAK_AI_MASK (0x2000U)
  9817. #define USB_DEVCMDSTAT_INTONNAK_AI_SHIFT (13U)
  9818. #define USB_DEVCMDSTAT_INTONNAK_AI(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVCMDSTAT_INTONNAK_AI_SHIFT)) & USB_DEVCMDSTAT_INTONNAK_AI_MASK)
  9819. #define USB_DEVCMDSTAT_INTONNAK_CO_MASK (0x4000U)
  9820. #define USB_DEVCMDSTAT_INTONNAK_CO_SHIFT (14U)
  9821. #define USB_DEVCMDSTAT_INTONNAK_CO(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVCMDSTAT_INTONNAK_CO_SHIFT)) & USB_DEVCMDSTAT_INTONNAK_CO_MASK)
  9822. #define USB_DEVCMDSTAT_INTONNAK_CI_MASK (0x8000U)
  9823. #define USB_DEVCMDSTAT_INTONNAK_CI_SHIFT (15U)
  9824. #define USB_DEVCMDSTAT_INTONNAK_CI(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVCMDSTAT_INTONNAK_CI_SHIFT)) & USB_DEVCMDSTAT_INTONNAK_CI_MASK)
  9825. #define USB_DEVCMDSTAT_DCON_MASK (0x10000U)
  9826. #define USB_DEVCMDSTAT_DCON_SHIFT (16U)
  9827. #define USB_DEVCMDSTAT_DCON(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVCMDSTAT_DCON_SHIFT)) & USB_DEVCMDSTAT_DCON_MASK)
  9828. #define USB_DEVCMDSTAT_DSUS_MASK (0x20000U)
  9829. #define USB_DEVCMDSTAT_DSUS_SHIFT (17U)
  9830. #define USB_DEVCMDSTAT_DSUS(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVCMDSTAT_DSUS_SHIFT)) & USB_DEVCMDSTAT_DSUS_MASK)
  9831. #define USB_DEVCMDSTAT_LPM_SUS_MASK (0x80000U)
  9832. #define USB_DEVCMDSTAT_LPM_SUS_SHIFT (19U)
  9833. #define USB_DEVCMDSTAT_LPM_SUS(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVCMDSTAT_LPM_SUS_SHIFT)) & USB_DEVCMDSTAT_LPM_SUS_MASK)
  9834. #define USB_DEVCMDSTAT_LPM_REWP_MASK (0x100000U)
  9835. #define USB_DEVCMDSTAT_LPM_REWP_SHIFT (20U)
  9836. #define USB_DEVCMDSTAT_LPM_REWP(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVCMDSTAT_LPM_REWP_SHIFT)) & USB_DEVCMDSTAT_LPM_REWP_MASK)
  9837. #define USB_DEVCMDSTAT_DCON_C_MASK (0x1000000U)
  9838. #define USB_DEVCMDSTAT_DCON_C_SHIFT (24U)
  9839. #define USB_DEVCMDSTAT_DCON_C(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVCMDSTAT_DCON_C_SHIFT)) & USB_DEVCMDSTAT_DCON_C_MASK)
  9840. #define USB_DEVCMDSTAT_DSUS_C_MASK (0x2000000U)
  9841. #define USB_DEVCMDSTAT_DSUS_C_SHIFT (25U)
  9842. #define USB_DEVCMDSTAT_DSUS_C(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVCMDSTAT_DSUS_C_SHIFT)) & USB_DEVCMDSTAT_DSUS_C_MASK)
  9843. #define USB_DEVCMDSTAT_DRES_C_MASK (0x4000000U)
  9844. #define USB_DEVCMDSTAT_DRES_C_SHIFT (26U)
  9845. #define USB_DEVCMDSTAT_DRES_C(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVCMDSTAT_DRES_C_SHIFT)) & USB_DEVCMDSTAT_DRES_C_MASK)
  9846. #define USB_DEVCMDSTAT_VBUSDEBOUNCED_MASK (0x10000000U)
  9847. #define USB_DEVCMDSTAT_VBUSDEBOUNCED_SHIFT (28U)
  9848. #define USB_DEVCMDSTAT_VBUSDEBOUNCED(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVCMDSTAT_VBUSDEBOUNCED_SHIFT)) & USB_DEVCMDSTAT_VBUSDEBOUNCED_MASK)
  9849. /*! @name INFO - USB Info register */
  9850. #define USB_INFO_FRAME_NR_MASK (0x7FFU)
  9851. #define USB_INFO_FRAME_NR_SHIFT (0U)
  9852. #define USB_INFO_FRAME_NR(x) (((uint32_t)(((uint32_t)(x)) << USB_INFO_FRAME_NR_SHIFT)) & USB_INFO_FRAME_NR_MASK)
  9853. #define USB_INFO_ERR_CODE_MASK (0x7800U)
  9854. #define USB_INFO_ERR_CODE_SHIFT (11U)
  9855. #define USB_INFO_ERR_CODE(x) (((uint32_t)(((uint32_t)(x)) << USB_INFO_ERR_CODE_SHIFT)) & USB_INFO_ERR_CODE_MASK)
  9856. #define USB_INFO_MINREV_MASK (0xFF0000U)
  9857. #define USB_INFO_MINREV_SHIFT (16U)
  9858. #define USB_INFO_MINREV(x) (((uint32_t)(((uint32_t)(x)) << USB_INFO_MINREV_SHIFT)) & USB_INFO_MINREV_MASK)
  9859. #define USB_INFO_MAJREV_MASK (0xFF000000U)
  9860. #define USB_INFO_MAJREV_SHIFT (24U)
  9861. #define USB_INFO_MAJREV(x) (((uint32_t)(((uint32_t)(x)) << USB_INFO_MAJREV_SHIFT)) & USB_INFO_MAJREV_MASK)
  9862. /*! @name EPLISTSTART - USB EP Command/Status List start address */
  9863. #define USB_EPLISTSTART_EP_LIST_MASK (0xFFFFFF00U)
  9864. #define USB_EPLISTSTART_EP_LIST_SHIFT (8U)
  9865. #define USB_EPLISTSTART_EP_LIST(x) (((uint32_t)(((uint32_t)(x)) << USB_EPLISTSTART_EP_LIST_SHIFT)) & USB_EPLISTSTART_EP_LIST_MASK)
  9866. /*! @name DATABUFSTART - USB Data buffer start address */
  9867. #define USB_DATABUFSTART_DA_BUF_MASK (0xFFC00000U)
  9868. #define USB_DATABUFSTART_DA_BUF_SHIFT (22U)
  9869. #define USB_DATABUFSTART_DA_BUF(x) (((uint32_t)(((uint32_t)(x)) << USB_DATABUFSTART_DA_BUF_SHIFT)) & USB_DATABUFSTART_DA_BUF_MASK)
  9870. /*! @name LPM - USB Link Power Management register */
  9871. #define USB_LPM_HIRD_HW_MASK (0xFU)
  9872. #define USB_LPM_HIRD_HW_SHIFT (0U)
  9873. #define USB_LPM_HIRD_HW(x) (((uint32_t)(((uint32_t)(x)) << USB_LPM_HIRD_HW_SHIFT)) & USB_LPM_HIRD_HW_MASK)
  9874. #define USB_LPM_HIRD_SW_MASK (0xF0U)
  9875. #define USB_LPM_HIRD_SW_SHIFT (4U)
  9876. #define USB_LPM_HIRD_SW(x) (((uint32_t)(((uint32_t)(x)) << USB_LPM_HIRD_SW_SHIFT)) & USB_LPM_HIRD_SW_MASK)
  9877. #define USB_LPM_DATA_PENDING_MASK (0x100U)
  9878. #define USB_LPM_DATA_PENDING_SHIFT (8U)
  9879. #define USB_LPM_DATA_PENDING(x) (((uint32_t)(((uint32_t)(x)) << USB_LPM_DATA_PENDING_SHIFT)) & USB_LPM_DATA_PENDING_MASK)
  9880. /*! @name EPSKIP - USB Endpoint skip */
  9881. #define USB_EPSKIP_SKIP_MASK (0x3FFU)
  9882. #define USB_EPSKIP_SKIP_SHIFT (0U)
  9883. #define USB_EPSKIP_SKIP(x) (((uint32_t)(((uint32_t)(x)) << USB_EPSKIP_SKIP_SHIFT)) & USB_EPSKIP_SKIP_MASK)
  9884. /*! @name EPINUSE - USB Endpoint Buffer in use */
  9885. #define USB_EPINUSE_BUF_MASK (0x3FCU)
  9886. #define USB_EPINUSE_BUF_SHIFT (2U)
  9887. #define USB_EPINUSE_BUF(x) (((uint32_t)(((uint32_t)(x)) << USB_EPINUSE_BUF_SHIFT)) & USB_EPINUSE_BUF_MASK)
  9888. /*! @name EPBUFCFG - USB Endpoint Buffer Configuration register */
  9889. #define USB_EPBUFCFG_BUF_SB_MASK (0x3FCU)
  9890. #define USB_EPBUFCFG_BUF_SB_SHIFT (2U)
  9891. #define USB_EPBUFCFG_BUF_SB(x) (((uint32_t)(((uint32_t)(x)) << USB_EPBUFCFG_BUF_SB_SHIFT)) & USB_EPBUFCFG_BUF_SB_MASK)
  9892. /*! @name INTSTAT - USB interrupt status register */
  9893. #define USB_INTSTAT_EP0OUT_MASK (0x1U)
  9894. #define USB_INTSTAT_EP0OUT_SHIFT (0U)
  9895. #define USB_INTSTAT_EP0OUT(x) (((uint32_t)(((uint32_t)(x)) << USB_INTSTAT_EP0OUT_SHIFT)) & USB_INTSTAT_EP0OUT_MASK)
  9896. #define USB_INTSTAT_EP0IN_MASK (0x2U)
  9897. #define USB_INTSTAT_EP0IN_SHIFT (1U)
  9898. #define USB_INTSTAT_EP0IN(x) (((uint32_t)(((uint32_t)(x)) << USB_INTSTAT_EP0IN_SHIFT)) & USB_INTSTAT_EP0IN_MASK)
  9899. #define USB_INTSTAT_EP1OUT_MASK (0x4U)
  9900. #define USB_INTSTAT_EP1OUT_SHIFT (2U)
  9901. #define USB_INTSTAT_EP1OUT(x) (((uint32_t)(((uint32_t)(x)) << USB_INTSTAT_EP1OUT_SHIFT)) & USB_INTSTAT_EP1OUT_MASK)
  9902. #define USB_INTSTAT_EP1IN_MASK (0x8U)
  9903. #define USB_INTSTAT_EP1IN_SHIFT (3U)
  9904. #define USB_INTSTAT_EP1IN(x) (((uint32_t)(((uint32_t)(x)) << USB_INTSTAT_EP1IN_SHIFT)) & USB_INTSTAT_EP1IN_MASK)
  9905. #define USB_INTSTAT_EP2OUT_MASK (0x10U)
  9906. #define USB_INTSTAT_EP2OUT_SHIFT (4U)
  9907. #define USB_INTSTAT_EP2OUT(x) (((uint32_t)(((uint32_t)(x)) << USB_INTSTAT_EP2OUT_SHIFT)) & USB_INTSTAT_EP2OUT_MASK)
  9908. #define USB_INTSTAT_EP2IN_MASK (0x20U)
  9909. #define USB_INTSTAT_EP2IN_SHIFT (5U)
  9910. #define USB_INTSTAT_EP2IN(x) (((uint32_t)(((uint32_t)(x)) << USB_INTSTAT_EP2IN_SHIFT)) & USB_INTSTAT_EP2IN_MASK)
  9911. #define USB_INTSTAT_EP3OUT_MASK (0x40U)
  9912. #define USB_INTSTAT_EP3OUT_SHIFT (6U)
  9913. #define USB_INTSTAT_EP3OUT(x) (((uint32_t)(((uint32_t)(x)) << USB_INTSTAT_EP3OUT_SHIFT)) & USB_INTSTAT_EP3OUT_MASK)
  9914. #define USB_INTSTAT_EP3IN_MASK (0x80U)
  9915. #define USB_INTSTAT_EP3IN_SHIFT (7U)
  9916. #define USB_INTSTAT_EP3IN(x) (((uint32_t)(((uint32_t)(x)) << USB_INTSTAT_EP3IN_SHIFT)) & USB_INTSTAT_EP3IN_MASK)
  9917. #define USB_INTSTAT_EP4OUT_MASK (0x100U)
  9918. #define USB_INTSTAT_EP4OUT_SHIFT (8U)
  9919. #define USB_INTSTAT_EP4OUT(x) (((uint32_t)(((uint32_t)(x)) << USB_INTSTAT_EP4OUT_SHIFT)) & USB_INTSTAT_EP4OUT_MASK)
  9920. #define USB_INTSTAT_EP4IN_MASK (0x200U)
  9921. #define USB_INTSTAT_EP4IN_SHIFT (9U)
  9922. #define USB_INTSTAT_EP4IN(x) (((uint32_t)(((uint32_t)(x)) << USB_INTSTAT_EP4IN_SHIFT)) & USB_INTSTAT_EP4IN_MASK)
  9923. #define USB_INTSTAT_FRAME_INT_MASK (0x40000000U)
  9924. #define USB_INTSTAT_FRAME_INT_SHIFT (30U)
  9925. #define USB_INTSTAT_FRAME_INT(x) (((uint32_t)(((uint32_t)(x)) << USB_INTSTAT_FRAME_INT_SHIFT)) & USB_INTSTAT_FRAME_INT_MASK)
  9926. #define USB_INTSTAT_DEV_INT_MASK (0x80000000U)
  9927. #define USB_INTSTAT_DEV_INT_SHIFT (31U)
  9928. #define USB_INTSTAT_DEV_INT(x) (((uint32_t)(((uint32_t)(x)) << USB_INTSTAT_DEV_INT_SHIFT)) & USB_INTSTAT_DEV_INT_MASK)
  9929. /*! @name INTEN - USB interrupt enable register */
  9930. #define USB_INTEN_EP_INT_EN_MASK (0x3FFU)
  9931. #define USB_INTEN_EP_INT_EN_SHIFT (0U)
  9932. #define USB_INTEN_EP_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << USB_INTEN_EP_INT_EN_SHIFT)) & USB_INTEN_EP_INT_EN_MASK)
  9933. #define USB_INTEN_FRAME_INT_EN_MASK (0x40000000U)
  9934. #define USB_INTEN_FRAME_INT_EN_SHIFT (30U)
  9935. #define USB_INTEN_FRAME_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << USB_INTEN_FRAME_INT_EN_SHIFT)) & USB_INTEN_FRAME_INT_EN_MASK)
  9936. #define USB_INTEN_DEV_INT_EN_MASK (0x80000000U)
  9937. #define USB_INTEN_DEV_INT_EN_SHIFT (31U)
  9938. #define USB_INTEN_DEV_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << USB_INTEN_DEV_INT_EN_SHIFT)) & USB_INTEN_DEV_INT_EN_MASK)
  9939. /*! @name INTSETSTAT - USB set interrupt status register */
  9940. #define USB_INTSETSTAT_EP_SET_INT_MASK (0x3FFU)
  9941. #define USB_INTSETSTAT_EP_SET_INT_SHIFT (0U)
  9942. #define USB_INTSETSTAT_EP_SET_INT(x) (((uint32_t)(((uint32_t)(x)) << USB_INTSETSTAT_EP_SET_INT_SHIFT)) & USB_INTSETSTAT_EP_SET_INT_MASK)
  9943. #define USB_INTSETSTAT_FRAME_SET_INT_MASK (0x40000000U)
  9944. #define USB_INTSETSTAT_FRAME_SET_INT_SHIFT (30U)
  9945. #define USB_INTSETSTAT_FRAME_SET_INT(x) (((uint32_t)(((uint32_t)(x)) << USB_INTSETSTAT_FRAME_SET_INT_SHIFT)) & USB_INTSETSTAT_FRAME_SET_INT_MASK)
  9946. #define USB_INTSETSTAT_DEV_SET_INT_MASK (0x80000000U)
  9947. #define USB_INTSETSTAT_DEV_SET_INT_SHIFT (31U)
  9948. #define USB_INTSETSTAT_DEV_SET_INT(x) (((uint32_t)(((uint32_t)(x)) << USB_INTSETSTAT_DEV_SET_INT_SHIFT)) & USB_INTSETSTAT_DEV_SET_INT_MASK)
  9949. /*! @name EPTOGGLE - USB Endpoint toggle register */
  9950. #define USB_EPTOGGLE_TOGGLE_MASK (0x3FFU)
  9951. #define USB_EPTOGGLE_TOGGLE_SHIFT (0U)
  9952. #define USB_EPTOGGLE_TOGGLE(x) (((uint32_t)(((uint32_t)(x)) << USB_EPTOGGLE_TOGGLE_SHIFT)) & USB_EPTOGGLE_TOGGLE_MASK)
  9953. /*!
  9954. * @}
  9955. */ /* end of group USB_Register_Masks */
  9956. /* USB - Peripheral instance base addresses */
  9957. /** Peripheral USB0 base address */
  9958. #define USB0_BASE (0x40084000u)
  9959. /** Peripheral USB0 base pointer */
  9960. #define USB0 ((USB_Type *)USB0_BASE)
  9961. /** Array initializer of USB peripheral base addresses */
  9962. #define USB_BASE_ADDRS { USB0_BASE }
  9963. /** Array initializer of USB peripheral base pointers */
  9964. #define USB_BASE_PTRS { USB0 }
  9965. /** Interrupt vectors for the USB peripheral type */
  9966. #define USB_IRQS { USB0_IRQn }
  9967. #define USB_NEEDCLK_IRQS { USB0_NEEDCLK_IRQn }
  9968. /*!
  9969. * @}
  9970. */ /* end of group USB_Peripheral_Access_Layer */
  9971. /* ----------------------------------------------------------------------------
  9972. -- USBFSH Peripheral Access Layer
  9973. ---------------------------------------------------------------------------- */
  9974. /*!
  9975. * @addtogroup USBFSH_Peripheral_Access_Layer USBFSH Peripheral Access Layer
  9976. * @{
  9977. */
  9978. /** USBFSH - Register Layout Typedef */
  9979. typedef struct {
  9980. __I uint32_t HCREVISION; /**< BCD representation of the version of the HCI specification that is implemented by the Host Controller (HC), offset: 0x0 */
  9981. __IO uint32_t HCCONTROL; /**< Defines the operating modes of the HC, offset: 0x4 */
  9982. __IO uint32_t HCCOMMANDSTATUS; /**< This register is used to receive the commands from the Host Controller Driver (HCD), offset: 0x8 */
  9983. __IO uint32_t HCINTERRUPTSTATUS; /**< Indicates the status on various events that cause hardware interrupts by setting the appropriate bits, offset: 0xC */
  9984. __IO uint32_t HCINTERRUPTENABLE; /**< Controls the bits in the HcInterruptStatus register and indicates which events will generate a hardware interrupt, offset: 0x10 */
  9985. __IO uint32_t HCINTERRUPTDISABLE; /**< The bits in this register are used to disable corresponding bits in the HCInterruptStatus register and in turn disable that event leading to hardware interrupt, offset: 0x14 */
  9986. __IO uint32_t HCHCCA; /**< Contains the physical address of the host controller communication area, offset: 0x18 */
  9987. __IO uint32_t HCPERIODCURRENTED; /**< Contains the physical address of the current isochronous or interrupt endpoint descriptor, offset: 0x1C */
  9988. __IO uint32_t HCCONTROLHEADED; /**< Contains the physical address of the first endpoint descriptor of the control list, offset: 0x20 */
  9989. __IO uint32_t HCCONTROLCURRENTED; /**< Contains the physical address of the current endpoint descriptor of the control list, offset: 0x24 */
  9990. __IO uint32_t HCBULKHEADED; /**< Contains the physical address of the first endpoint descriptor of the bulk list, offset: 0x28 */
  9991. __IO uint32_t HCBULKCURRENTED; /**< Contains the physical address of the current endpoint descriptor of the bulk list, offset: 0x2C */
  9992. __IO uint32_t HCDONEHEAD; /**< Contains the physical address of the last transfer descriptor added to the 'Done' queue, offset: 0x30 */
  9993. __IO uint32_t HCFMINTERVAL; /**< Defines the bit time interval in a frame and the full speed maximum packet size which would not cause an overrun, offset: 0x34 */
  9994. __IO uint32_t HCFMREMAINING; /**< A 14-bit counter showing the bit time remaining in the current frame, offset: 0x38 */
  9995. __IO uint32_t HCFMNUMBER; /**< Contains a 16-bit counter and provides the timing reference among events happening in the HC and the HCD, offset: 0x3C */
  9996. __IO uint32_t HCPERIODICSTART; /**< Contains a programmable 14-bit value which determines the earliest time HC should start processing a periodic list, offset: 0x40 */
  9997. __IO uint32_t HCLSTHRESHOLD; /**< Contains 11-bit value which is used by the HC to determine whether to commit to transfer a maximum of 8-byte LS packet before EOF, offset: 0x44 */
  9998. __IO uint32_t HCRHDESCRIPTORA; /**< First of the two registers which describes the characteristics of the root hub, offset: 0x48 */
  9999. __IO uint32_t HCRHDESCRIPTORB; /**< Second of the two registers which describes the characteristics of the Root Hub, offset: 0x4C */
  10000. __IO uint32_t HCRHSTATUS; /**< This register is divided into two parts, offset: 0x50 */
  10001. __IO uint32_t HCRHPORTSTATUS; /**< Controls and reports the port events on a per-port basis, offset: 0x54 */
  10002. uint8_t RESERVED_0[4];
  10003. __IO uint32_t PORTMODE; /**< Controls the port if it is attached to the host block or the device block, offset: 0x5C */
  10004. } USBFSH_Type;
  10005. /* ----------------------------------------------------------------------------
  10006. -- USBFSH Register Masks
  10007. ---------------------------------------------------------------------------- */
  10008. /*!
  10009. * @addtogroup USBFSH_Register_Masks USBFSH Register Masks
  10010. * @{
  10011. */
  10012. /*! @name HCREVISION - BCD representation of the version of the HCI specification that is implemented by the Host Controller (HC) */
  10013. #define USBFSH_HCREVISION_REV_MASK (0xFFU)
  10014. #define USBFSH_HCREVISION_REV_SHIFT (0U)
  10015. #define USBFSH_HCREVISION_REV(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCREVISION_REV_SHIFT)) & USBFSH_HCREVISION_REV_MASK)
  10016. /*! @name HCCONTROL - Defines the operating modes of the HC */
  10017. #define USBFSH_HCCONTROL_CBSR_MASK (0x3U)
  10018. #define USBFSH_HCCONTROL_CBSR_SHIFT (0U)
  10019. #define USBFSH_HCCONTROL_CBSR(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCCONTROL_CBSR_SHIFT)) & USBFSH_HCCONTROL_CBSR_MASK)
  10020. #define USBFSH_HCCONTROL_PLE_MASK (0x4U)
  10021. #define USBFSH_HCCONTROL_PLE_SHIFT (2U)
  10022. #define USBFSH_HCCONTROL_PLE(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCCONTROL_PLE_SHIFT)) & USBFSH_HCCONTROL_PLE_MASK)
  10023. #define USBFSH_HCCONTROL_IE_MASK (0x8U)
  10024. #define USBFSH_HCCONTROL_IE_SHIFT (3U)
  10025. #define USBFSH_HCCONTROL_IE(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCCONTROL_IE_SHIFT)) & USBFSH_HCCONTROL_IE_MASK)
  10026. #define USBFSH_HCCONTROL_CLE_MASK (0x10U)
  10027. #define USBFSH_HCCONTROL_CLE_SHIFT (4U)
  10028. #define USBFSH_HCCONTROL_CLE(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCCONTROL_CLE_SHIFT)) & USBFSH_HCCONTROL_CLE_MASK)
  10029. #define USBFSH_HCCONTROL_BLE_MASK (0x20U)
  10030. #define USBFSH_HCCONTROL_BLE_SHIFT (5U)
  10031. #define USBFSH_HCCONTROL_BLE(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCCONTROL_BLE_SHIFT)) & USBFSH_HCCONTROL_BLE_MASK)
  10032. #define USBFSH_HCCONTROL_HCFS_MASK (0xC0U)
  10033. #define USBFSH_HCCONTROL_HCFS_SHIFT (6U)
  10034. #define USBFSH_HCCONTROL_HCFS(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCCONTROL_HCFS_SHIFT)) & USBFSH_HCCONTROL_HCFS_MASK)
  10035. #define USBFSH_HCCONTROL_IR_MASK (0x100U)
  10036. #define USBFSH_HCCONTROL_IR_SHIFT (8U)
  10037. #define USBFSH_HCCONTROL_IR(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCCONTROL_IR_SHIFT)) & USBFSH_HCCONTROL_IR_MASK)
  10038. #define USBFSH_HCCONTROL_RWC_MASK (0x200U)
  10039. #define USBFSH_HCCONTROL_RWC_SHIFT (9U)
  10040. #define USBFSH_HCCONTROL_RWC(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCCONTROL_RWC_SHIFT)) & USBFSH_HCCONTROL_RWC_MASK)
  10041. #define USBFSH_HCCONTROL_RWE_MASK (0x400U)
  10042. #define USBFSH_HCCONTROL_RWE_SHIFT (10U)
  10043. #define USBFSH_HCCONTROL_RWE(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCCONTROL_RWE_SHIFT)) & USBFSH_HCCONTROL_RWE_MASK)
  10044. /*! @name HCCOMMANDSTATUS - This register is used to receive the commands from the Host Controller Driver (HCD) */
  10045. #define USBFSH_HCCOMMANDSTATUS_HCR_MASK (0x1U)
  10046. #define USBFSH_HCCOMMANDSTATUS_HCR_SHIFT (0U)
  10047. #define USBFSH_HCCOMMANDSTATUS_HCR(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCCOMMANDSTATUS_HCR_SHIFT)) & USBFSH_HCCOMMANDSTATUS_HCR_MASK)
  10048. #define USBFSH_HCCOMMANDSTATUS_CLF_MASK (0x2U)
  10049. #define USBFSH_HCCOMMANDSTATUS_CLF_SHIFT (1U)
  10050. #define USBFSH_HCCOMMANDSTATUS_CLF(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCCOMMANDSTATUS_CLF_SHIFT)) & USBFSH_HCCOMMANDSTATUS_CLF_MASK)
  10051. #define USBFSH_HCCOMMANDSTATUS_BLF_MASK (0x4U)
  10052. #define USBFSH_HCCOMMANDSTATUS_BLF_SHIFT (2U)
  10053. #define USBFSH_HCCOMMANDSTATUS_BLF(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCCOMMANDSTATUS_BLF_SHIFT)) & USBFSH_HCCOMMANDSTATUS_BLF_MASK)
  10054. #define USBFSH_HCCOMMANDSTATUS_OCR_MASK (0x8U)
  10055. #define USBFSH_HCCOMMANDSTATUS_OCR_SHIFT (3U)
  10056. #define USBFSH_HCCOMMANDSTATUS_OCR(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCCOMMANDSTATUS_OCR_SHIFT)) & USBFSH_HCCOMMANDSTATUS_OCR_MASK)
  10057. #define USBFSH_HCCOMMANDSTATUS_SOC_MASK (0xC0U)
  10058. #define USBFSH_HCCOMMANDSTATUS_SOC_SHIFT (6U)
  10059. #define USBFSH_HCCOMMANDSTATUS_SOC(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCCOMMANDSTATUS_SOC_SHIFT)) & USBFSH_HCCOMMANDSTATUS_SOC_MASK)
  10060. /*! @name HCINTERRUPTSTATUS - Indicates the status on various events that cause hardware interrupts by setting the appropriate bits */
  10061. #define USBFSH_HCINTERRUPTSTATUS_SO_MASK (0x1U)
  10062. #define USBFSH_HCINTERRUPTSTATUS_SO_SHIFT (0U)
  10063. #define USBFSH_HCINTERRUPTSTATUS_SO(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTSTATUS_SO_SHIFT)) & USBFSH_HCINTERRUPTSTATUS_SO_MASK)
  10064. #define USBFSH_HCINTERRUPTSTATUS_WDH_MASK (0x2U)
  10065. #define USBFSH_HCINTERRUPTSTATUS_WDH_SHIFT (1U)
  10066. #define USBFSH_HCINTERRUPTSTATUS_WDH(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTSTATUS_WDH_SHIFT)) & USBFSH_HCINTERRUPTSTATUS_WDH_MASK)
  10067. #define USBFSH_HCINTERRUPTSTATUS_SF_MASK (0x4U)
  10068. #define USBFSH_HCINTERRUPTSTATUS_SF_SHIFT (2U)
  10069. #define USBFSH_HCINTERRUPTSTATUS_SF(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTSTATUS_SF_SHIFT)) & USBFSH_HCINTERRUPTSTATUS_SF_MASK)
  10070. #define USBFSH_HCINTERRUPTSTATUS_RD_MASK (0x8U)
  10071. #define USBFSH_HCINTERRUPTSTATUS_RD_SHIFT (3U)
  10072. #define USBFSH_HCINTERRUPTSTATUS_RD(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTSTATUS_RD_SHIFT)) & USBFSH_HCINTERRUPTSTATUS_RD_MASK)
  10073. #define USBFSH_HCINTERRUPTSTATUS_UE_MASK (0x10U)
  10074. #define USBFSH_HCINTERRUPTSTATUS_UE_SHIFT (4U)
  10075. #define USBFSH_HCINTERRUPTSTATUS_UE(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTSTATUS_UE_SHIFT)) & USBFSH_HCINTERRUPTSTATUS_UE_MASK)
  10076. #define USBFSH_HCINTERRUPTSTATUS_FNO_MASK (0x20U)
  10077. #define USBFSH_HCINTERRUPTSTATUS_FNO_SHIFT (5U)
  10078. #define USBFSH_HCINTERRUPTSTATUS_FNO(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTSTATUS_FNO_SHIFT)) & USBFSH_HCINTERRUPTSTATUS_FNO_MASK)
  10079. #define USBFSH_HCINTERRUPTSTATUS_RHSC_MASK (0x40U)
  10080. #define USBFSH_HCINTERRUPTSTATUS_RHSC_SHIFT (6U)
  10081. #define USBFSH_HCINTERRUPTSTATUS_RHSC(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTSTATUS_RHSC_SHIFT)) & USBFSH_HCINTERRUPTSTATUS_RHSC_MASK)
  10082. #define USBFSH_HCINTERRUPTSTATUS_OC_MASK (0xFFFFFC00U)
  10083. #define USBFSH_HCINTERRUPTSTATUS_OC_SHIFT (10U)
  10084. #define USBFSH_HCINTERRUPTSTATUS_OC(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTSTATUS_OC_SHIFT)) & USBFSH_HCINTERRUPTSTATUS_OC_MASK)
  10085. /*! @name HCINTERRUPTENABLE - Controls the bits in the HcInterruptStatus register and indicates which events will generate a hardware interrupt */
  10086. #define USBFSH_HCINTERRUPTENABLE_SO_MASK (0x1U)
  10087. #define USBFSH_HCINTERRUPTENABLE_SO_SHIFT (0U)
  10088. #define USBFSH_HCINTERRUPTENABLE_SO(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTENABLE_SO_SHIFT)) & USBFSH_HCINTERRUPTENABLE_SO_MASK)
  10089. #define USBFSH_HCINTERRUPTENABLE_WDH_MASK (0x2U)
  10090. #define USBFSH_HCINTERRUPTENABLE_WDH_SHIFT (1U)
  10091. #define USBFSH_HCINTERRUPTENABLE_WDH(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTENABLE_WDH_SHIFT)) & USBFSH_HCINTERRUPTENABLE_WDH_MASK)
  10092. #define USBFSH_HCINTERRUPTENABLE_SF_MASK (0x4U)
  10093. #define USBFSH_HCINTERRUPTENABLE_SF_SHIFT (2U)
  10094. #define USBFSH_HCINTERRUPTENABLE_SF(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTENABLE_SF_SHIFT)) & USBFSH_HCINTERRUPTENABLE_SF_MASK)
  10095. #define USBFSH_HCINTERRUPTENABLE_RD_MASK (0x8U)
  10096. #define USBFSH_HCINTERRUPTENABLE_RD_SHIFT (3U)
  10097. #define USBFSH_HCINTERRUPTENABLE_RD(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTENABLE_RD_SHIFT)) & USBFSH_HCINTERRUPTENABLE_RD_MASK)
  10098. #define USBFSH_HCINTERRUPTENABLE_UE_MASK (0x10U)
  10099. #define USBFSH_HCINTERRUPTENABLE_UE_SHIFT (4U)
  10100. #define USBFSH_HCINTERRUPTENABLE_UE(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTENABLE_UE_SHIFT)) & USBFSH_HCINTERRUPTENABLE_UE_MASK)
  10101. #define USBFSH_HCINTERRUPTENABLE_FNO_MASK (0x20U)
  10102. #define USBFSH_HCINTERRUPTENABLE_FNO_SHIFT (5U)
  10103. #define USBFSH_HCINTERRUPTENABLE_FNO(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTENABLE_FNO_SHIFT)) & USBFSH_HCINTERRUPTENABLE_FNO_MASK)
  10104. #define USBFSH_HCINTERRUPTENABLE_RHSC_MASK (0x40U)
  10105. #define USBFSH_HCINTERRUPTENABLE_RHSC_SHIFT (6U)
  10106. #define USBFSH_HCINTERRUPTENABLE_RHSC(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTENABLE_RHSC_SHIFT)) & USBFSH_HCINTERRUPTENABLE_RHSC_MASK)
  10107. #define USBFSH_HCINTERRUPTENABLE_OC_MASK (0x40000000U)
  10108. #define USBFSH_HCINTERRUPTENABLE_OC_SHIFT (30U)
  10109. #define USBFSH_HCINTERRUPTENABLE_OC(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTENABLE_OC_SHIFT)) & USBFSH_HCINTERRUPTENABLE_OC_MASK)
  10110. #define USBFSH_HCINTERRUPTENABLE_MIE_MASK (0x80000000U)
  10111. #define USBFSH_HCINTERRUPTENABLE_MIE_SHIFT (31U)
  10112. #define USBFSH_HCINTERRUPTENABLE_MIE(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTENABLE_MIE_SHIFT)) & USBFSH_HCINTERRUPTENABLE_MIE_MASK)
  10113. /*! @name HCINTERRUPTDISABLE - The bits in this register are used to disable corresponding bits in the HCInterruptStatus register and in turn disable that event leading to hardware interrupt */
  10114. #define USBFSH_HCINTERRUPTDISABLE_SO_MASK (0x1U)
  10115. #define USBFSH_HCINTERRUPTDISABLE_SO_SHIFT (0U)
  10116. #define USBFSH_HCINTERRUPTDISABLE_SO(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTDISABLE_SO_SHIFT)) & USBFSH_HCINTERRUPTDISABLE_SO_MASK)
  10117. #define USBFSH_HCINTERRUPTDISABLE_WDH_MASK (0x2U)
  10118. #define USBFSH_HCINTERRUPTDISABLE_WDH_SHIFT (1U)
  10119. #define USBFSH_HCINTERRUPTDISABLE_WDH(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTDISABLE_WDH_SHIFT)) & USBFSH_HCINTERRUPTDISABLE_WDH_MASK)
  10120. #define USBFSH_HCINTERRUPTDISABLE_SF_MASK (0x4U)
  10121. #define USBFSH_HCINTERRUPTDISABLE_SF_SHIFT (2U)
  10122. #define USBFSH_HCINTERRUPTDISABLE_SF(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTDISABLE_SF_SHIFT)) & USBFSH_HCINTERRUPTDISABLE_SF_MASK)
  10123. #define USBFSH_HCINTERRUPTDISABLE_RD_MASK (0x8U)
  10124. #define USBFSH_HCINTERRUPTDISABLE_RD_SHIFT (3U)
  10125. #define USBFSH_HCINTERRUPTDISABLE_RD(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTDISABLE_RD_SHIFT)) & USBFSH_HCINTERRUPTDISABLE_RD_MASK)
  10126. #define USBFSH_HCINTERRUPTDISABLE_UE_MASK (0x10U)
  10127. #define USBFSH_HCINTERRUPTDISABLE_UE_SHIFT (4U)
  10128. #define USBFSH_HCINTERRUPTDISABLE_UE(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTDISABLE_UE_SHIFT)) & USBFSH_HCINTERRUPTDISABLE_UE_MASK)
  10129. #define USBFSH_HCINTERRUPTDISABLE_FNO_MASK (0x20U)
  10130. #define USBFSH_HCINTERRUPTDISABLE_FNO_SHIFT (5U)
  10131. #define USBFSH_HCINTERRUPTDISABLE_FNO(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTDISABLE_FNO_SHIFT)) & USBFSH_HCINTERRUPTDISABLE_FNO_MASK)
  10132. #define USBFSH_HCINTERRUPTDISABLE_RHSC_MASK (0x40U)
  10133. #define USBFSH_HCINTERRUPTDISABLE_RHSC_SHIFT (6U)
  10134. #define USBFSH_HCINTERRUPTDISABLE_RHSC(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTDISABLE_RHSC_SHIFT)) & USBFSH_HCINTERRUPTDISABLE_RHSC_MASK)
  10135. #define USBFSH_HCINTERRUPTDISABLE_OC_MASK (0x40000000U)
  10136. #define USBFSH_HCINTERRUPTDISABLE_OC_SHIFT (30U)
  10137. #define USBFSH_HCINTERRUPTDISABLE_OC(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTDISABLE_OC_SHIFT)) & USBFSH_HCINTERRUPTDISABLE_OC_MASK)
  10138. #define USBFSH_HCINTERRUPTDISABLE_MIE_MASK (0x80000000U)
  10139. #define USBFSH_HCINTERRUPTDISABLE_MIE_SHIFT (31U)
  10140. #define USBFSH_HCINTERRUPTDISABLE_MIE(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCINTERRUPTDISABLE_MIE_SHIFT)) & USBFSH_HCINTERRUPTDISABLE_MIE_MASK)
  10141. /*! @name HCHCCA - Contains the physical address of the host controller communication area */
  10142. #define USBFSH_HCHCCA_HCCA_MASK (0xFFFFFF00U)
  10143. #define USBFSH_HCHCCA_HCCA_SHIFT (8U)
  10144. #define USBFSH_HCHCCA_HCCA(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCHCCA_HCCA_SHIFT)) & USBFSH_HCHCCA_HCCA_MASK)
  10145. /*! @name HCPERIODCURRENTED - Contains the physical address of the current isochronous or interrupt endpoint descriptor */
  10146. #define USBFSH_HCPERIODCURRENTED_PCED_MASK (0xFFFFFFF0U)
  10147. #define USBFSH_HCPERIODCURRENTED_PCED_SHIFT (4U)
  10148. #define USBFSH_HCPERIODCURRENTED_PCED(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCPERIODCURRENTED_PCED_SHIFT)) & USBFSH_HCPERIODCURRENTED_PCED_MASK)
  10149. /*! @name HCCONTROLHEADED - Contains the physical address of the first endpoint descriptor of the control list */
  10150. #define USBFSH_HCCONTROLHEADED_CHED_MASK (0xFFFFFFF0U)
  10151. #define USBFSH_HCCONTROLHEADED_CHED_SHIFT (4U)
  10152. #define USBFSH_HCCONTROLHEADED_CHED(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCCONTROLHEADED_CHED_SHIFT)) & USBFSH_HCCONTROLHEADED_CHED_MASK)
  10153. /*! @name HCCONTROLCURRENTED - Contains the physical address of the current endpoint descriptor of the control list */
  10154. #define USBFSH_HCCONTROLCURRENTED_CCED_MASK (0xFFFFFFF0U)
  10155. #define USBFSH_HCCONTROLCURRENTED_CCED_SHIFT (4U)
  10156. #define USBFSH_HCCONTROLCURRENTED_CCED(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCCONTROLCURRENTED_CCED_SHIFT)) & USBFSH_HCCONTROLCURRENTED_CCED_MASK)
  10157. /*! @name HCBULKHEADED - Contains the physical address of the first endpoint descriptor of the bulk list */
  10158. #define USBFSH_HCBULKHEADED_BHED_MASK (0xFFFFFFF0U)
  10159. #define USBFSH_HCBULKHEADED_BHED_SHIFT (4U)
  10160. #define USBFSH_HCBULKHEADED_BHED(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCBULKHEADED_BHED_SHIFT)) & USBFSH_HCBULKHEADED_BHED_MASK)
  10161. /*! @name HCBULKCURRENTED - Contains the physical address of the current endpoint descriptor of the bulk list */
  10162. #define USBFSH_HCBULKCURRENTED_BCED_MASK (0xFFFFFFF0U)
  10163. #define USBFSH_HCBULKCURRENTED_BCED_SHIFT (4U)
  10164. #define USBFSH_HCBULKCURRENTED_BCED(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCBULKCURRENTED_BCED_SHIFT)) & USBFSH_HCBULKCURRENTED_BCED_MASK)
  10165. /*! @name HCDONEHEAD - Contains the physical address of the last transfer descriptor added to the 'Done' queue */
  10166. #define USBFSH_HCDONEHEAD_DH_MASK (0xFFFFFFF0U)
  10167. #define USBFSH_HCDONEHEAD_DH_SHIFT (4U)
  10168. #define USBFSH_HCDONEHEAD_DH(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCDONEHEAD_DH_SHIFT)) & USBFSH_HCDONEHEAD_DH_MASK)
  10169. /*! @name HCFMINTERVAL - Defines the bit time interval in a frame and the full speed maximum packet size which would not cause an overrun */
  10170. #define USBFSH_HCFMINTERVAL_FI_MASK (0x3FFFU)
  10171. #define USBFSH_HCFMINTERVAL_FI_SHIFT (0U)
  10172. #define USBFSH_HCFMINTERVAL_FI(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCFMINTERVAL_FI_SHIFT)) & USBFSH_HCFMINTERVAL_FI_MASK)
  10173. #define USBFSH_HCFMINTERVAL_FSMPS_MASK (0x7FFF0000U)
  10174. #define USBFSH_HCFMINTERVAL_FSMPS_SHIFT (16U)
  10175. #define USBFSH_HCFMINTERVAL_FSMPS(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCFMINTERVAL_FSMPS_SHIFT)) & USBFSH_HCFMINTERVAL_FSMPS_MASK)
  10176. #define USBFSH_HCFMINTERVAL_FIT_MASK (0x80000000U)
  10177. #define USBFSH_HCFMINTERVAL_FIT_SHIFT (31U)
  10178. #define USBFSH_HCFMINTERVAL_FIT(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCFMINTERVAL_FIT_SHIFT)) & USBFSH_HCFMINTERVAL_FIT_MASK)
  10179. /*! @name HCFMREMAINING - A 14-bit counter showing the bit time remaining in the current frame */
  10180. #define USBFSH_HCFMREMAINING_FR_MASK (0x3FFFU)
  10181. #define USBFSH_HCFMREMAINING_FR_SHIFT (0U)
  10182. #define USBFSH_HCFMREMAINING_FR(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCFMREMAINING_FR_SHIFT)) & USBFSH_HCFMREMAINING_FR_MASK)
  10183. #define USBFSH_HCFMREMAINING_FRT_MASK (0x80000000U)
  10184. #define USBFSH_HCFMREMAINING_FRT_SHIFT (31U)
  10185. #define USBFSH_HCFMREMAINING_FRT(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCFMREMAINING_FRT_SHIFT)) & USBFSH_HCFMREMAINING_FRT_MASK)
  10186. /*! @name HCFMNUMBER - Contains a 16-bit counter and provides the timing reference among events happening in the HC and the HCD */
  10187. #define USBFSH_HCFMNUMBER_FN_MASK (0xFFFFU)
  10188. #define USBFSH_HCFMNUMBER_FN_SHIFT (0U)
  10189. #define USBFSH_HCFMNUMBER_FN(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCFMNUMBER_FN_SHIFT)) & USBFSH_HCFMNUMBER_FN_MASK)
  10190. /*! @name HCPERIODICSTART - Contains a programmable 14-bit value which determines the earliest time HC should start processing a periodic list */
  10191. #define USBFSH_HCPERIODICSTART_PS_MASK (0x3FFFU)
  10192. #define USBFSH_HCPERIODICSTART_PS_SHIFT (0U)
  10193. #define USBFSH_HCPERIODICSTART_PS(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCPERIODICSTART_PS_SHIFT)) & USBFSH_HCPERIODICSTART_PS_MASK)
  10194. /*! @name HCLSTHRESHOLD - Contains 11-bit value which is used by the HC to determine whether to commit to transfer a maximum of 8-byte LS packet before EOF */
  10195. #define USBFSH_HCLSTHRESHOLD_LST_MASK (0xFFFU)
  10196. #define USBFSH_HCLSTHRESHOLD_LST_SHIFT (0U)
  10197. #define USBFSH_HCLSTHRESHOLD_LST(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCLSTHRESHOLD_LST_SHIFT)) & USBFSH_HCLSTHRESHOLD_LST_MASK)
  10198. /*! @name HCRHDESCRIPTORA - First of the two registers which describes the characteristics of the root hub */
  10199. #define USBFSH_HCRHDESCRIPTORA_NDP_MASK (0xFFU)
  10200. #define USBFSH_HCRHDESCRIPTORA_NDP_SHIFT (0U)
  10201. #define USBFSH_HCRHDESCRIPTORA_NDP(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHDESCRIPTORA_NDP_SHIFT)) & USBFSH_HCRHDESCRIPTORA_NDP_MASK)
  10202. #define USBFSH_HCRHDESCRIPTORA_PSM_MASK (0x100U)
  10203. #define USBFSH_HCRHDESCRIPTORA_PSM_SHIFT (8U)
  10204. #define USBFSH_HCRHDESCRIPTORA_PSM(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHDESCRIPTORA_PSM_SHIFT)) & USBFSH_HCRHDESCRIPTORA_PSM_MASK)
  10205. #define USBFSH_HCRHDESCRIPTORA_NPS_MASK (0x200U)
  10206. #define USBFSH_HCRHDESCRIPTORA_NPS_SHIFT (9U)
  10207. #define USBFSH_HCRHDESCRIPTORA_NPS(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHDESCRIPTORA_NPS_SHIFT)) & USBFSH_HCRHDESCRIPTORA_NPS_MASK)
  10208. #define USBFSH_HCRHDESCRIPTORA_DT_MASK (0x400U)
  10209. #define USBFSH_HCRHDESCRIPTORA_DT_SHIFT (10U)
  10210. #define USBFSH_HCRHDESCRIPTORA_DT(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHDESCRIPTORA_DT_SHIFT)) & USBFSH_HCRHDESCRIPTORA_DT_MASK)
  10211. #define USBFSH_HCRHDESCRIPTORA_OCPM_MASK (0x800U)
  10212. #define USBFSH_HCRHDESCRIPTORA_OCPM_SHIFT (11U)
  10213. #define USBFSH_HCRHDESCRIPTORA_OCPM(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHDESCRIPTORA_OCPM_SHIFT)) & USBFSH_HCRHDESCRIPTORA_OCPM_MASK)
  10214. #define USBFSH_HCRHDESCRIPTORA_NOCP_MASK (0x1000U)
  10215. #define USBFSH_HCRHDESCRIPTORA_NOCP_SHIFT (12U)
  10216. #define USBFSH_HCRHDESCRIPTORA_NOCP(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHDESCRIPTORA_NOCP_SHIFT)) & USBFSH_HCRHDESCRIPTORA_NOCP_MASK)
  10217. #define USBFSH_HCRHDESCRIPTORA_POTPGT_MASK (0xFF000000U)
  10218. #define USBFSH_HCRHDESCRIPTORA_POTPGT_SHIFT (24U)
  10219. #define USBFSH_HCRHDESCRIPTORA_POTPGT(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHDESCRIPTORA_POTPGT_SHIFT)) & USBFSH_HCRHDESCRIPTORA_POTPGT_MASK)
  10220. /*! @name HCRHDESCRIPTORB - Second of the two registers which describes the characteristics of the Root Hub */
  10221. #define USBFSH_HCRHDESCRIPTORB_DR_MASK (0xFFFFU)
  10222. #define USBFSH_HCRHDESCRIPTORB_DR_SHIFT (0U)
  10223. #define USBFSH_HCRHDESCRIPTORB_DR(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHDESCRIPTORB_DR_SHIFT)) & USBFSH_HCRHDESCRIPTORB_DR_MASK)
  10224. #define USBFSH_HCRHDESCRIPTORB_PPCM_MASK (0xFFFF0000U)
  10225. #define USBFSH_HCRHDESCRIPTORB_PPCM_SHIFT (16U)
  10226. #define USBFSH_HCRHDESCRIPTORB_PPCM(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHDESCRIPTORB_PPCM_SHIFT)) & USBFSH_HCRHDESCRIPTORB_PPCM_MASK)
  10227. /*! @name HCRHSTATUS - This register is divided into two parts */
  10228. #define USBFSH_HCRHSTATUS_LPS_MASK (0x1U)
  10229. #define USBFSH_HCRHSTATUS_LPS_SHIFT (0U)
  10230. #define USBFSH_HCRHSTATUS_LPS(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHSTATUS_LPS_SHIFT)) & USBFSH_HCRHSTATUS_LPS_MASK)
  10231. #define USBFSH_HCRHSTATUS_OCI_MASK (0x2U)
  10232. #define USBFSH_HCRHSTATUS_OCI_SHIFT (1U)
  10233. #define USBFSH_HCRHSTATUS_OCI(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHSTATUS_OCI_SHIFT)) & USBFSH_HCRHSTATUS_OCI_MASK)
  10234. #define USBFSH_HCRHSTATUS_DRWE_MASK (0x8000U)
  10235. #define USBFSH_HCRHSTATUS_DRWE_SHIFT (15U)
  10236. #define USBFSH_HCRHSTATUS_DRWE(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHSTATUS_DRWE_SHIFT)) & USBFSH_HCRHSTATUS_DRWE_MASK)
  10237. #define USBFSH_HCRHSTATUS_LPSC_MASK (0x10000U)
  10238. #define USBFSH_HCRHSTATUS_LPSC_SHIFT (16U)
  10239. #define USBFSH_HCRHSTATUS_LPSC(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHSTATUS_LPSC_SHIFT)) & USBFSH_HCRHSTATUS_LPSC_MASK)
  10240. #define USBFSH_HCRHSTATUS_OCIC_MASK (0x20000U)
  10241. #define USBFSH_HCRHSTATUS_OCIC_SHIFT (17U)
  10242. #define USBFSH_HCRHSTATUS_OCIC(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHSTATUS_OCIC_SHIFT)) & USBFSH_HCRHSTATUS_OCIC_MASK)
  10243. #define USBFSH_HCRHSTATUS_CRWE_MASK (0x80000000U)
  10244. #define USBFSH_HCRHSTATUS_CRWE_SHIFT (31U)
  10245. #define USBFSH_HCRHSTATUS_CRWE(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHSTATUS_CRWE_SHIFT)) & USBFSH_HCRHSTATUS_CRWE_MASK)
  10246. /*! @name HCRHPORTSTATUS - Controls and reports the port events on a per-port basis */
  10247. #define USBFSH_HCRHPORTSTATUS_CCS_MASK (0x1U)
  10248. #define USBFSH_HCRHPORTSTATUS_CCS_SHIFT (0U)
  10249. #define USBFSH_HCRHPORTSTATUS_CCS(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHPORTSTATUS_CCS_SHIFT)) & USBFSH_HCRHPORTSTATUS_CCS_MASK)
  10250. #define USBFSH_HCRHPORTSTATUS_PES_MASK (0x2U)
  10251. #define USBFSH_HCRHPORTSTATUS_PES_SHIFT (1U)
  10252. #define USBFSH_HCRHPORTSTATUS_PES(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHPORTSTATUS_PES_SHIFT)) & USBFSH_HCRHPORTSTATUS_PES_MASK)
  10253. #define USBFSH_HCRHPORTSTATUS_PSS_MASK (0x4U)
  10254. #define USBFSH_HCRHPORTSTATUS_PSS_SHIFT (2U)
  10255. #define USBFSH_HCRHPORTSTATUS_PSS(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHPORTSTATUS_PSS_SHIFT)) & USBFSH_HCRHPORTSTATUS_PSS_MASK)
  10256. #define USBFSH_HCRHPORTSTATUS_POCI_MASK (0x8U)
  10257. #define USBFSH_HCRHPORTSTATUS_POCI_SHIFT (3U)
  10258. #define USBFSH_HCRHPORTSTATUS_POCI(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHPORTSTATUS_POCI_SHIFT)) & USBFSH_HCRHPORTSTATUS_POCI_MASK)
  10259. #define USBFSH_HCRHPORTSTATUS_PRS_MASK (0x10U)
  10260. #define USBFSH_HCRHPORTSTATUS_PRS_SHIFT (4U)
  10261. #define USBFSH_HCRHPORTSTATUS_PRS(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHPORTSTATUS_PRS_SHIFT)) & USBFSH_HCRHPORTSTATUS_PRS_MASK)
  10262. #define USBFSH_HCRHPORTSTATUS_PPS_MASK (0x100U)
  10263. #define USBFSH_HCRHPORTSTATUS_PPS_SHIFT (8U)
  10264. #define USBFSH_HCRHPORTSTATUS_PPS(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHPORTSTATUS_PPS_SHIFT)) & USBFSH_HCRHPORTSTATUS_PPS_MASK)
  10265. #define USBFSH_HCRHPORTSTATUS_LSDA_MASK (0x200U)
  10266. #define USBFSH_HCRHPORTSTATUS_LSDA_SHIFT (9U)
  10267. #define USBFSH_HCRHPORTSTATUS_LSDA(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHPORTSTATUS_LSDA_SHIFT)) & USBFSH_HCRHPORTSTATUS_LSDA_MASK)
  10268. #define USBFSH_HCRHPORTSTATUS_CSC_MASK (0x10000U)
  10269. #define USBFSH_HCRHPORTSTATUS_CSC_SHIFT (16U)
  10270. #define USBFSH_HCRHPORTSTATUS_CSC(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHPORTSTATUS_CSC_SHIFT)) & USBFSH_HCRHPORTSTATUS_CSC_MASK)
  10271. #define USBFSH_HCRHPORTSTATUS_PESC_MASK (0x20000U)
  10272. #define USBFSH_HCRHPORTSTATUS_PESC_SHIFT (17U)
  10273. #define USBFSH_HCRHPORTSTATUS_PESC(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHPORTSTATUS_PESC_SHIFT)) & USBFSH_HCRHPORTSTATUS_PESC_MASK)
  10274. #define USBFSH_HCRHPORTSTATUS_PSSC_MASK (0x40000U)
  10275. #define USBFSH_HCRHPORTSTATUS_PSSC_SHIFT (18U)
  10276. #define USBFSH_HCRHPORTSTATUS_PSSC(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHPORTSTATUS_PSSC_SHIFT)) & USBFSH_HCRHPORTSTATUS_PSSC_MASK)
  10277. #define USBFSH_HCRHPORTSTATUS_OCIC_MASK (0x80000U)
  10278. #define USBFSH_HCRHPORTSTATUS_OCIC_SHIFT (19U)
  10279. #define USBFSH_HCRHPORTSTATUS_OCIC(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHPORTSTATUS_OCIC_SHIFT)) & USBFSH_HCRHPORTSTATUS_OCIC_MASK)
  10280. #define USBFSH_HCRHPORTSTATUS_PRSC_MASK (0x100000U)
  10281. #define USBFSH_HCRHPORTSTATUS_PRSC_SHIFT (20U)
  10282. #define USBFSH_HCRHPORTSTATUS_PRSC(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_HCRHPORTSTATUS_PRSC_SHIFT)) & USBFSH_HCRHPORTSTATUS_PRSC_MASK)
  10283. /*! @name PORTMODE - Controls the port if it is attached to the host block or the device block */
  10284. #define USBFSH_PORTMODE_ID_MASK (0x1U)
  10285. #define USBFSH_PORTMODE_ID_SHIFT (0U)
  10286. #define USBFSH_PORTMODE_ID(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_PORTMODE_ID_SHIFT)) & USBFSH_PORTMODE_ID_MASK)
  10287. #define USBFSH_PORTMODE_ID_EN_MASK (0x100U)
  10288. #define USBFSH_PORTMODE_ID_EN_SHIFT (8U)
  10289. #define USBFSH_PORTMODE_ID_EN(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_PORTMODE_ID_EN_SHIFT)) & USBFSH_PORTMODE_ID_EN_MASK)
  10290. #define USBFSH_PORTMODE_DEV_ENABLE_MASK (0x10000U)
  10291. #define USBFSH_PORTMODE_DEV_ENABLE_SHIFT (16U)
  10292. #define USBFSH_PORTMODE_DEV_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBFSH_PORTMODE_DEV_ENABLE_SHIFT)) & USBFSH_PORTMODE_DEV_ENABLE_MASK)
  10293. /*!
  10294. * @}
  10295. */ /* end of group USBFSH_Register_Masks */
  10296. /* USBFSH - Peripheral instance base addresses */
  10297. /** Peripheral USBFSH base address */
  10298. #define USBFSH_BASE (0x400A2000u)
  10299. /** Peripheral USBFSH base pointer */
  10300. #define USBFSH ((USBFSH_Type *)USBFSH_BASE)
  10301. /** Array initializer of USBFSH peripheral base addresses */
  10302. #define USBFSH_BASE_ADDRS { USBFSH_BASE }
  10303. /** Array initializer of USBFSH peripheral base pointers */
  10304. #define USBFSH_BASE_PTRS { USBFSH }
  10305. /** Interrupt vectors for the USBFSH peripheral type */
  10306. #define USBFSH_IRQS { USB0_IRQn }
  10307. #define USBFSH_NEEDCLK_IRQS { USB0_NEEDCLK_IRQn }
  10308. /*!
  10309. * @}
  10310. */ /* end of group USBFSH_Peripheral_Access_Layer */
  10311. /* ----------------------------------------------------------------------------
  10312. -- USBHSD Peripheral Access Layer
  10313. ---------------------------------------------------------------------------- */
  10314. /*!
  10315. * @addtogroup USBHSD_Peripheral_Access_Layer USBHSD Peripheral Access Layer
  10316. * @{
  10317. */
  10318. /** USBHSD - Register Layout Typedef */
  10319. typedef struct {
  10320. __IO uint32_t DEVCMDSTAT; /**< USB Device Command/Status register, offset: 0x0 */
  10321. __I uint32_t INFO; /**< USB Info register, offset: 0x4 */
  10322. __IO uint32_t EPLISTSTART; /**< USB EP Command/Status List start address, offset: 0x8 */
  10323. __I uint32_t DATABUFSTART; /**< USB Data buffer start address, offset: 0xC */
  10324. __IO uint32_t LPM; /**< USB Link Power Management register, offset: 0x10 */
  10325. __IO uint32_t EPSKIP; /**< USB Endpoint skip, offset: 0x14 */
  10326. __IO uint32_t EPINUSE; /**< USB Endpoint Buffer in use, offset: 0x18 */
  10327. __IO uint32_t EPBUFCFG; /**< USB Endpoint Buffer Configuration register, offset: 0x1C */
  10328. __IO uint32_t INTSTAT; /**< USB interrupt status register, offset: 0x20 */
  10329. __IO uint32_t INTEN; /**< USB interrupt enable register, offset: 0x24 */
  10330. __IO uint32_t INTSETSTAT; /**< USB set interrupt status register, offset: 0x28 */
  10331. uint8_t RESERVED_0[8];
  10332. __I uint32_t EPTOGGLE; /**< USB Endpoint toggle register, offset: 0x34 */
  10333. uint8_t RESERVED_1[4];
  10334. __IO uint32_t ULPIDEBUG; /**< UTMI/ULPI debug register, offset: 0x3C */
  10335. } USBHSD_Type;
  10336. /* ----------------------------------------------------------------------------
  10337. -- USBHSD Register Masks
  10338. ---------------------------------------------------------------------------- */
  10339. /*!
  10340. * @addtogroup USBHSD_Register_Masks USBHSD Register Masks
  10341. * @{
  10342. */
  10343. /*! @name DEVCMDSTAT - USB Device Command/Status register */
  10344. #define USBHSD_DEVCMDSTAT_DEV_ADDR_MASK (0x7FU)
  10345. #define USBHSD_DEVCMDSTAT_DEV_ADDR_SHIFT (0U)
  10346. #define USBHSD_DEVCMDSTAT_DEV_ADDR(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_DEV_ADDR_SHIFT)) & USBHSD_DEVCMDSTAT_DEV_ADDR_MASK)
  10347. #define USBHSD_DEVCMDSTAT_DEV_EN_MASK (0x80U)
  10348. #define USBHSD_DEVCMDSTAT_DEV_EN_SHIFT (7U)
  10349. #define USBHSD_DEVCMDSTAT_DEV_EN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_DEV_EN_SHIFT)) & USBHSD_DEVCMDSTAT_DEV_EN_MASK)
  10350. #define USBHSD_DEVCMDSTAT_SETUP_MASK (0x100U)
  10351. #define USBHSD_DEVCMDSTAT_SETUP_SHIFT (8U)
  10352. #define USBHSD_DEVCMDSTAT_SETUP(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_SETUP_SHIFT)) & USBHSD_DEVCMDSTAT_SETUP_MASK)
  10353. #define USBHSD_DEVCMDSTAT_FORCE_NEEDCLK_MASK (0x200U)
  10354. #define USBHSD_DEVCMDSTAT_FORCE_NEEDCLK_SHIFT (9U)
  10355. #define USBHSD_DEVCMDSTAT_FORCE_NEEDCLK(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_FORCE_NEEDCLK_SHIFT)) & USBHSD_DEVCMDSTAT_FORCE_NEEDCLK_MASK)
  10356. #define USBHSD_DEVCMDSTAT_FORCE_VBUS_MASK (0x400U)
  10357. #define USBHSD_DEVCMDSTAT_FORCE_VBUS_SHIFT (10U)
  10358. #define USBHSD_DEVCMDSTAT_FORCE_VBUS(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_FORCE_VBUS_SHIFT)) & USBHSD_DEVCMDSTAT_FORCE_VBUS_MASK)
  10359. #define USBHSD_DEVCMDSTAT_LPM_SUP_MASK (0x800U)
  10360. #define USBHSD_DEVCMDSTAT_LPM_SUP_SHIFT (11U)
  10361. #define USBHSD_DEVCMDSTAT_LPM_SUP(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_LPM_SUP_SHIFT)) & USBHSD_DEVCMDSTAT_LPM_SUP_MASK)
  10362. #define USBHSD_DEVCMDSTAT_INTONNAK_AO_MASK (0x1000U)
  10363. #define USBHSD_DEVCMDSTAT_INTONNAK_AO_SHIFT (12U)
  10364. #define USBHSD_DEVCMDSTAT_INTONNAK_AO(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_INTONNAK_AO_SHIFT)) & USBHSD_DEVCMDSTAT_INTONNAK_AO_MASK)
  10365. #define USBHSD_DEVCMDSTAT_INTONNAK_AI_MASK (0x2000U)
  10366. #define USBHSD_DEVCMDSTAT_INTONNAK_AI_SHIFT (13U)
  10367. #define USBHSD_DEVCMDSTAT_INTONNAK_AI(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_INTONNAK_AI_SHIFT)) & USBHSD_DEVCMDSTAT_INTONNAK_AI_MASK)
  10368. #define USBHSD_DEVCMDSTAT_INTONNAK_CO_MASK (0x4000U)
  10369. #define USBHSD_DEVCMDSTAT_INTONNAK_CO_SHIFT (14U)
  10370. #define USBHSD_DEVCMDSTAT_INTONNAK_CO(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_INTONNAK_CO_SHIFT)) & USBHSD_DEVCMDSTAT_INTONNAK_CO_MASK)
  10371. #define USBHSD_DEVCMDSTAT_INTONNAK_CI_MASK (0x8000U)
  10372. #define USBHSD_DEVCMDSTAT_INTONNAK_CI_SHIFT (15U)
  10373. #define USBHSD_DEVCMDSTAT_INTONNAK_CI(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_INTONNAK_CI_SHIFT)) & USBHSD_DEVCMDSTAT_INTONNAK_CI_MASK)
  10374. #define USBHSD_DEVCMDSTAT_DCON_MASK (0x10000U)
  10375. #define USBHSD_DEVCMDSTAT_DCON_SHIFT (16U)
  10376. #define USBHSD_DEVCMDSTAT_DCON(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_DCON_SHIFT)) & USBHSD_DEVCMDSTAT_DCON_MASK)
  10377. #define USBHSD_DEVCMDSTAT_DSUS_MASK (0x20000U)
  10378. #define USBHSD_DEVCMDSTAT_DSUS_SHIFT (17U)
  10379. #define USBHSD_DEVCMDSTAT_DSUS(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_DSUS_SHIFT)) & USBHSD_DEVCMDSTAT_DSUS_MASK)
  10380. #define USBHSD_DEVCMDSTAT_LPM_SUS_MASK (0x80000U)
  10381. #define USBHSD_DEVCMDSTAT_LPM_SUS_SHIFT (19U)
  10382. #define USBHSD_DEVCMDSTAT_LPM_SUS(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_LPM_SUS_SHIFT)) & USBHSD_DEVCMDSTAT_LPM_SUS_MASK)
  10383. #define USBHSD_DEVCMDSTAT_LPM_REWP_MASK (0x100000U)
  10384. #define USBHSD_DEVCMDSTAT_LPM_REWP_SHIFT (20U)
  10385. #define USBHSD_DEVCMDSTAT_LPM_REWP(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_LPM_REWP_SHIFT)) & USBHSD_DEVCMDSTAT_LPM_REWP_MASK)
  10386. #define USBHSD_DEVCMDSTAT_Speed_MASK (0xC00000U)
  10387. #define USBHSD_DEVCMDSTAT_Speed_SHIFT (22U)
  10388. #define USBHSD_DEVCMDSTAT_Speed(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_Speed_SHIFT)) & USBHSD_DEVCMDSTAT_Speed_MASK)
  10389. #define USBHSD_DEVCMDSTAT_DCON_C_MASK (0x1000000U)
  10390. #define USBHSD_DEVCMDSTAT_DCON_C_SHIFT (24U)
  10391. #define USBHSD_DEVCMDSTAT_DCON_C(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_DCON_C_SHIFT)) & USBHSD_DEVCMDSTAT_DCON_C_MASK)
  10392. #define USBHSD_DEVCMDSTAT_DSUS_C_MASK (0x2000000U)
  10393. #define USBHSD_DEVCMDSTAT_DSUS_C_SHIFT (25U)
  10394. #define USBHSD_DEVCMDSTAT_DSUS_C(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_DSUS_C_SHIFT)) & USBHSD_DEVCMDSTAT_DSUS_C_MASK)
  10395. #define USBHSD_DEVCMDSTAT_DRES_C_MASK (0x4000000U)
  10396. #define USBHSD_DEVCMDSTAT_DRES_C_SHIFT (26U)
  10397. #define USBHSD_DEVCMDSTAT_DRES_C(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_DRES_C_SHIFT)) & USBHSD_DEVCMDSTAT_DRES_C_MASK)
  10398. #define USBHSD_DEVCMDSTAT_VBUS_DEBOUNCED_MASK (0x10000000U)
  10399. #define USBHSD_DEVCMDSTAT_VBUS_DEBOUNCED_SHIFT (28U)
  10400. #define USBHSD_DEVCMDSTAT_VBUS_DEBOUNCED(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_VBUS_DEBOUNCED_SHIFT)) & USBHSD_DEVCMDSTAT_VBUS_DEBOUNCED_MASK)
  10401. #define USBHSD_DEVCMDSTAT_PHY_TEST_MODE_MASK (0xE0000000U)
  10402. #define USBHSD_DEVCMDSTAT_PHY_TEST_MODE_SHIFT (29U)
  10403. #define USBHSD_DEVCMDSTAT_PHY_TEST_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_PHY_TEST_MODE_SHIFT)) & USBHSD_DEVCMDSTAT_PHY_TEST_MODE_MASK)
  10404. /*! @name INFO - USB Info register */
  10405. #define USBHSD_INFO_FRAME_NR_MASK (0x7FFU)
  10406. #define USBHSD_INFO_FRAME_NR_SHIFT (0U)
  10407. #define USBHSD_INFO_FRAME_NR(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INFO_FRAME_NR_SHIFT)) & USBHSD_INFO_FRAME_NR_MASK)
  10408. #define USBHSD_INFO_ERR_CODE_MASK (0x7800U)
  10409. #define USBHSD_INFO_ERR_CODE_SHIFT (11U)
  10410. #define USBHSD_INFO_ERR_CODE(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INFO_ERR_CODE_SHIFT)) & USBHSD_INFO_ERR_CODE_MASK)
  10411. #define USBHSD_INFO_Minrev_MASK (0xFF0000U)
  10412. #define USBHSD_INFO_Minrev_SHIFT (16U)
  10413. #define USBHSD_INFO_Minrev(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INFO_Minrev_SHIFT)) & USBHSD_INFO_Minrev_MASK)
  10414. #define USBHSD_INFO_Majrev_MASK (0xFF000000U)
  10415. #define USBHSD_INFO_Majrev_SHIFT (24U)
  10416. #define USBHSD_INFO_Majrev(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INFO_Majrev_SHIFT)) & USBHSD_INFO_Majrev_MASK)
  10417. /*! @name EPLISTSTART - USB EP Command/Status List start address */
  10418. #define USBHSD_EPLISTSTART_EP_LIST_PRG_MASK (0xFFF00U)
  10419. #define USBHSD_EPLISTSTART_EP_LIST_PRG_SHIFT (8U)
  10420. #define USBHSD_EPLISTSTART_EP_LIST_PRG(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_EPLISTSTART_EP_LIST_PRG_SHIFT)) & USBHSD_EPLISTSTART_EP_LIST_PRG_MASK)
  10421. #define USBHSD_EPLISTSTART_EP_LIST_FIXED_MASK (0xFFF00000U)
  10422. #define USBHSD_EPLISTSTART_EP_LIST_FIXED_SHIFT (20U)
  10423. #define USBHSD_EPLISTSTART_EP_LIST_FIXED(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_EPLISTSTART_EP_LIST_FIXED_SHIFT)) & USBHSD_EPLISTSTART_EP_LIST_FIXED_MASK)
  10424. /*! @name DATABUFSTART - USB Data buffer start address */
  10425. #define USBHSD_DATABUFSTART_DA_BUF_MASK (0xFFFFFFFFU)
  10426. #define USBHSD_DATABUFSTART_DA_BUF_SHIFT (0U)
  10427. #define USBHSD_DATABUFSTART_DA_BUF(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DATABUFSTART_DA_BUF_SHIFT)) & USBHSD_DATABUFSTART_DA_BUF_MASK)
  10428. /*! @name LPM - USB Link Power Management register */
  10429. #define USBHSD_LPM_HIRD_HW_MASK (0xFU)
  10430. #define USBHSD_LPM_HIRD_HW_SHIFT (0U)
  10431. #define USBHSD_LPM_HIRD_HW(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_LPM_HIRD_HW_SHIFT)) & USBHSD_LPM_HIRD_HW_MASK)
  10432. #define USBHSD_LPM_HIRD_SW_MASK (0xF0U)
  10433. #define USBHSD_LPM_HIRD_SW_SHIFT (4U)
  10434. #define USBHSD_LPM_HIRD_SW(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_LPM_HIRD_SW_SHIFT)) & USBHSD_LPM_HIRD_SW_MASK)
  10435. #define USBHSD_LPM_DATA_PENDING_MASK (0x100U)
  10436. #define USBHSD_LPM_DATA_PENDING_SHIFT (8U)
  10437. #define USBHSD_LPM_DATA_PENDING(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_LPM_DATA_PENDING_SHIFT)) & USBHSD_LPM_DATA_PENDING_MASK)
  10438. /*! @name EPSKIP - USB Endpoint skip */
  10439. #define USBHSD_EPSKIP_SKIP_MASK (0xFFFU)
  10440. #define USBHSD_EPSKIP_SKIP_SHIFT (0U)
  10441. #define USBHSD_EPSKIP_SKIP(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_EPSKIP_SKIP_SHIFT)) & USBHSD_EPSKIP_SKIP_MASK)
  10442. /*! @name EPINUSE - USB Endpoint Buffer in use */
  10443. #define USBHSD_EPINUSE_BUF_MASK (0xFFCU)
  10444. #define USBHSD_EPINUSE_BUF_SHIFT (2U)
  10445. #define USBHSD_EPINUSE_BUF(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_EPINUSE_BUF_SHIFT)) & USBHSD_EPINUSE_BUF_MASK)
  10446. /*! @name EPBUFCFG - USB Endpoint Buffer Configuration register */
  10447. #define USBHSD_EPBUFCFG_BUF_SB_MASK (0xFFCU)
  10448. #define USBHSD_EPBUFCFG_BUF_SB_SHIFT (2U)
  10449. #define USBHSD_EPBUFCFG_BUF_SB(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_EPBUFCFG_BUF_SB_SHIFT)) & USBHSD_EPBUFCFG_BUF_SB_MASK)
  10450. /*! @name INTSTAT - USB interrupt status register */
  10451. #define USBHSD_INTSTAT_EP0OUT_MASK (0x1U)
  10452. #define USBHSD_INTSTAT_EP0OUT_SHIFT (0U)
  10453. #define USBHSD_INTSTAT_EP0OUT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP0OUT_SHIFT)) & USBHSD_INTSTAT_EP0OUT_MASK)
  10454. #define USBHSD_INTSTAT_EP0IN_MASK (0x2U)
  10455. #define USBHSD_INTSTAT_EP0IN_SHIFT (1U)
  10456. #define USBHSD_INTSTAT_EP0IN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP0IN_SHIFT)) & USBHSD_INTSTAT_EP0IN_MASK)
  10457. #define USBHSD_INTSTAT_EP1OUT_MASK (0x4U)
  10458. #define USBHSD_INTSTAT_EP1OUT_SHIFT (2U)
  10459. #define USBHSD_INTSTAT_EP1OUT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP1OUT_SHIFT)) & USBHSD_INTSTAT_EP1OUT_MASK)
  10460. #define USBHSD_INTSTAT_EP1IN_MASK (0x8U)
  10461. #define USBHSD_INTSTAT_EP1IN_SHIFT (3U)
  10462. #define USBHSD_INTSTAT_EP1IN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP1IN_SHIFT)) & USBHSD_INTSTAT_EP1IN_MASK)
  10463. #define USBHSD_INTSTAT_EP2OUT_MASK (0x10U)
  10464. #define USBHSD_INTSTAT_EP2OUT_SHIFT (4U)
  10465. #define USBHSD_INTSTAT_EP2OUT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP2OUT_SHIFT)) & USBHSD_INTSTAT_EP2OUT_MASK)
  10466. #define USBHSD_INTSTAT_EP2IN_MASK (0x20U)
  10467. #define USBHSD_INTSTAT_EP2IN_SHIFT (5U)
  10468. #define USBHSD_INTSTAT_EP2IN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP2IN_SHIFT)) & USBHSD_INTSTAT_EP2IN_MASK)
  10469. #define USBHSD_INTSTAT_EP3OUT_MASK (0x40U)
  10470. #define USBHSD_INTSTAT_EP3OUT_SHIFT (6U)
  10471. #define USBHSD_INTSTAT_EP3OUT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP3OUT_SHIFT)) & USBHSD_INTSTAT_EP3OUT_MASK)
  10472. #define USBHSD_INTSTAT_EP3IN_MASK (0x80U)
  10473. #define USBHSD_INTSTAT_EP3IN_SHIFT (7U)
  10474. #define USBHSD_INTSTAT_EP3IN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP3IN_SHIFT)) & USBHSD_INTSTAT_EP3IN_MASK)
  10475. #define USBHSD_INTSTAT_EP4OUT_MASK (0x100U)
  10476. #define USBHSD_INTSTAT_EP4OUT_SHIFT (8U)
  10477. #define USBHSD_INTSTAT_EP4OUT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP4OUT_SHIFT)) & USBHSD_INTSTAT_EP4OUT_MASK)
  10478. #define USBHSD_INTSTAT_EP4IN_MASK (0x200U)
  10479. #define USBHSD_INTSTAT_EP4IN_SHIFT (9U)
  10480. #define USBHSD_INTSTAT_EP4IN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP4IN_SHIFT)) & USBHSD_INTSTAT_EP4IN_MASK)
  10481. #define USBHSD_INTSTAT_EP5OUT_MASK (0x400U)
  10482. #define USBHSD_INTSTAT_EP5OUT_SHIFT (10U)
  10483. #define USBHSD_INTSTAT_EP5OUT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP5OUT_SHIFT)) & USBHSD_INTSTAT_EP5OUT_MASK)
  10484. #define USBHSD_INTSTAT_EP5IN_MASK (0x800U)
  10485. #define USBHSD_INTSTAT_EP5IN_SHIFT (11U)
  10486. #define USBHSD_INTSTAT_EP5IN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP5IN_SHIFT)) & USBHSD_INTSTAT_EP5IN_MASK)
  10487. #define USBHSD_INTSTAT_FRAME_INT_MASK (0x40000000U)
  10488. #define USBHSD_INTSTAT_FRAME_INT_SHIFT (30U)
  10489. #define USBHSD_INTSTAT_FRAME_INT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_FRAME_INT_SHIFT)) & USBHSD_INTSTAT_FRAME_INT_MASK)
  10490. #define USBHSD_INTSTAT_DEV_INT_MASK (0x80000000U)
  10491. #define USBHSD_INTSTAT_DEV_INT_SHIFT (31U)
  10492. #define USBHSD_INTSTAT_DEV_INT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_DEV_INT_SHIFT)) & USBHSD_INTSTAT_DEV_INT_MASK)
  10493. /*! @name INTEN - USB interrupt enable register */
  10494. #define USBHSD_INTEN_EP_INT_EN_MASK (0xFFFU)
  10495. #define USBHSD_INTEN_EP_INT_EN_SHIFT (0U)
  10496. #define USBHSD_INTEN_EP_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTEN_EP_INT_EN_SHIFT)) & USBHSD_INTEN_EP_INT_EN_MASK)
  10497. #define USBHSD_INTEN_FRAME_INT_EN_MASK (0x40000000U)
  10498. #define USBHSD_INTEN_FRAME_INT_EN_SHIFT (30U)
  10499. #define USBHSD_INTEN_FRAME_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTEN_FRAME_INT_EN_SHIFT)) & USBHSD_INTEN_FRAME_INT_EN_MASK)
  10500. #define USBHSD_INTEN_DEV_INT_EN_MASK (0x80000000U)
  10501. #define USBHSD_INTEN_DEV_INT_EN_SHIFT (31U)
  10502. #define USBHSD_INTEN_DEV_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTEN_DEV_INT_EN_SHIFT)) & USBHSD_INTEN_DEV_INT_EN_MASK)
  10503. /*! @name INTSETSTAT - USB set interrupt status register */
  10504. #define USBHSD_INTSETSTAT_EP_SET_INT_MASK (0xFFFU)
  10505. #define USBHSD_INTSETSTAT_EP_SET_INT_SHIFT (0U)
  10506. #define USBHSD_INTSETSTAT_EP_SET_INT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSETSTAT_EP_SET_INT_SHIFT)) & USBHSD_INTSETSTAT_EP_SET_INT_MASK)
  10507. #define USBHSD_INTSETSTAT_FRAME_SET_INT_MASK (0x40000000U)
  10508. #define USBHSD_INTSETSTAT_FRAME_SET_INT_SHIFT (30U)
  10509. #define USBHSD_INTSETSTAT_FRAME_SET_INT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSETSTAT_FRAME_SET_INT_SHIFT)) & USBHSD_INTSETSTAT_FRAME_SET_INT_MASK)
  10510. #define USBHSD_INTSETSTAT_DEV_SET_INT_MASK (0x80000000U)
  10511. #define USBHSD_INTSETSTAT_DEV_SET_INT_SHIFT (31U)
  10512. #define USBHSD_INTSETSTAT_DEV_SET_INT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSETSTAT_DEV_SET_INT_SHIFT)) & USBHSD_INTSETSTAT_DEV_SET_INT_MASK)
  10513. /*! @name EPTOGGLE - USB Endpoint toggle register */
  10514. #define USBHSD_EPTOGGLE_TOGGLE_MASK (0x3FFFFFFFU)
  10515. #define USBHSD_EPTOGGLE_TOGGLE_SHIFT (0U)
  10516. #define USBHSD_EPTOGGLE_TOGGLE(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_EPTOGGLE_TOGGLE_SHIFT)) & USBHSD_EPTOGGLE_TOGGLE_MASK)
  10517. /*! @name ULPIDEBUG - UTMI/ULPI debug register */
  10518. #define USBHSD_ULPIDEBUG_PHY_ADDR_MASK (0xFFU)
  10519. #define USBHSD_ULPIDEBUG_PHY_ADDR_SHIFT (0U)
  10520. #define USBHSD_ULPIDEBUG_PHY_ADDR(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_ULPIDEBUG_PHY_ADDR_SHIFT)) & USBHSD_ULPIDEBUG_PHY_ADDR_MASK)
  10521. #define USBHSD_ULPIDEBUG_PHY_WDATA_MASK (0xFF00U)
  10522. #define USBHSD_ULPIDEBUG_PHY_WDATA_SHIFT (8U)
  10523. #define USBHSD_ULPIDEBUG_PHY_WDATA(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_ULPIDEBUG_PHY_WDATA_SHIFT)) & USBHSD_ULPIDEBUG_PHY_WDATA_MASK)
  10524. #define USBHSD_ULPIDEBUG_PHY_RDATA_MASK (0xFF0000U)
  10525. #define USBHSD_ULPIDEBUG_PHY_RDATA_SHIFT (16U)
  10526. #define USBHSD_ULPIDEBUG_PHY_RDATA(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_ULPIDEBUG_PHY_RDATA_SHIFT)) & USBHSD_ULPIDEBUG_PHY_RDATA_MASK)
  10527. #define USBHSD_ULPIDEBUG_PHY_RW_MASK (0x1000000U)
  10528. #define USBHSD_ULPIDEBUG_PHY_RW_SHIFT (24U)
  10529. #define USBHSD_ULPIDEBUG_PHY_RW(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_ULPIDEBUG_PHY_RW_SHIFT)) & USBHSD_ULPIDEBUG_PHY_RW_MASK)
  10530. #define USBHSD_ULPIDEBUG_PHY_ACCESS_MASK (0x2000000U)
  10531. #define USBHSD_ULPIDEBUG_PHY_ACCESS_SHIFT (25U)
  10532. #define USBHSD_ULPIDEBUG_PHY_ACCESS(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_ULPIDEBUG_PHY_ACCESS_SHIFT)) & USBHSD_ULPIDEBUG_PHY_ACCESS_MASK)
  10533. #define USBHSD_ULPIDEBUG_PHY_MODE_MASK (0x80000000U)
  10534. #define USBHSD_ULPIDEBUG_PHY_MODE_SHIFT (31U)
  10535. #define USBHSD_ULPIDEBUG_PHY_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_ULPIDEBUG_PHY_MODE_SHIFT)) & USBHSD_ULPIDEBUG_PHY_MODE_MASK)
  10536. /*!
  10537. * @}
  10538. */ /* end of group USBHSD_Register_Masks */
  10539. /* USBHSD - Peripheral instance base addresses */
  10540. /** Peripheral USBHSD base address */
  10541. #define USBHSD_BASE (0x40094000u)
  10542. /** Peripheral USBHSD base pointer */
  10543. #define USBHSD ((USBHSD_Type *)USBHSD_BASE)
  10544. /** Array initializer of USBHSD peripheral base addresses */
  10545. #define USBHSD_BASE_ADDRS { USBHSD_BASE }
  10546. /** Array initializer of USBHSD peripheral base pointers */
  10547. #define USBHSD_BASE_PTRS { USBHSD }
  10548. /** Interrupt vectors for the USBHSD peripheral type */
  10549. #define USBHSD_IRQS { USB1_IRQn }
  10550. #define USBHSD_NEEDCLK_IRQS { USB1_NEEDCLK_IRQn }
  10551. /*!
  10552. * @}
  10553. */ /* end of group USBHSD_Peripheral_Access_Layer */
  10554. /* ----------------------------------------------------------------------------
  10555. -- USBHSH Peripheral Access Layer
  10556. ---------------------------------------------------------------------------- */
  10557. /*!
  10558. * @addtogroup USBHSH_Peripheral_Access_Layer USBHSH Peripheral Access Layer
  10559. * @{
  10560. */
  10561. /** USBHSH - Register Layout Typedef */
  10562. typedef struct {
  10563. __I uint32_t CAPLENGTH_CHIPID; /**< This register contains the offset value towards the start of the operational register space and the version number of the IP block, offset: 0x0 */
  10564. __I uint32_t HCSPARAMS; /**< Host Controller Structural Parameters, offset: 0x4 */
  10565. __I uint32_t HCCPARAMS; /**< Host Controller Capability Parameters, offset: 0x8 */
  10566. __IO uint32_t FLADJ_FRINDEX; /**< Frame Length Adjustment, offset: 0xC */
  10567. __IO uint32_t ATL_PTD_BASE_ADDR; /**< Memory base address where ATL PTD0 is stored, offset: 0x10 */
  10568. __IO uint32_t ISO_PTD_BASE_ADDR; /**< Memory base address where ISO PTD0 is stored, offset: 0x14 */
  10569. __IO uint32_t INT_PTD_BASE_ADDR; /**< Memory base address where INT PTD0 is stored, offset: 0x18 */
  10570. __IO uint32_t DATA_PAYLOAD_BASE_ADDR; /**< Memory base address that indicates the start of the data payload buffers, offset: 0x1C */
  10571. __IO uint32_t USBCMD; /**< USB Command register, offset: 0x20 */
  10572. __IO uint32_t USBSTS; /**< USB Interrupt Status register, offset: 0x24 */
  10573. __IO uint32_t USBINTR; /**< USB Interrupt Enable register, offset: 0x28 */
  10574. __IO uint32_t PORTSC1; /**< Port Status and Control register, offset: 0x2C */
  10575. __IO uint32_t ATL_PTD_DONE_MAP; /**< Done map for each ATL PTD, offset: 0x30 */
  10576. __IO uint32_t ATL_PTD_SKIP_MAP; /**< Skip map for each ATL PTD, offset: 0x34 */
  10577. __IO uint32_t ISO_PTD_DONE_MAP; /**< Done map for each ISO PTD, offset: 0x38 */
  10578. __IO uint32_t ISO_PTD_SKIP_MAP; /**< Skip map for each ISO PTD, offset: 0x3C */
  10579. __IO uint32_t INT_PTD_DONE_MAP; /**< Done map for each INT PTD, offset: 0x40 */
  10580. __IO uint32_t INT_PTD_SKIP_MAP; /**< Skip map for each INT PTD, offset: 0x44 */
  10581. __IO uint32_t LAST_PTD_INUSE; /**< Marks the last PTD in the list for ISO, INT and ATL, offset: 0x48 */
  10582. __IO uint32_t UTMIPLUS_ULPI_DEBUG; /**< Register to read/write registers in the attached USB PHY, offset: 0x4C */
  10583. __IO uint32_t PORTMODE; /**< Controls the port if it is attached to the host block or the device block, offset: 0x50 */
  10584. } USBHSH_Type;
  10585. /* ----------------------------------------------------------------------------
  10586. -- USBHSH Register Masks
  10587. ---------------------------------------------------------------------------- */
  10588. /*!
  10589. * @addtogroup USBHSH_Register_Masks USBHSH Register Masks
  10590. * @{
  10591. */
  10592. /*! @name CAPLENGTH_CHIPID - This register contains the offset value towards the start of the operational register space and the version number of the IP block */
  10593. #define USBHSH_CAPLENGTH_CHIPID_CAPLENGTH_MASK (0xFFU)
  10594. #define USBHSH_CAPLENGTH_CHIPID_CAPLENGTH_SHIFT (0U)
  10595. #define USBHSH_CAPLENGTH_CHIPID_CAPLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_CAPLENGTH_CHIPID_CAPLENGTH_SHIFT)) & USBHSH_CAPLENGTH_CHIPID_CAPLENGTH_MASK)
  10596. #define USBHSH_CAPLENGTH_CHIPID_CHIPID_MASK (0xFFFF0000U)
  10597. #define USBHSH_CAPLENGTH_CHIPID_CHIPID_SHIFT (16U)
  10598. #define USBHSH_CAPLENGTH_CHIPID_CHIPID(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_CAPLENGTH_CHIPID_CHIPID_SHIFT)) & USBHSH_CAPLENGTH_CHIPID_CHIPID_MASK)
  10599. /*! @name HCSPARAMS - Host Controller Structural Parameters */
  10600. #define USBHSH_HCSPARAMS_N_PORTS_MASK (0xFU)
  10601. #define USBHSH_HCSPARAMS_N_PORTS_SHIFT (0U)
  10602. #define USBHSH_HCSPARAMS_N_PORTS(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_HCSPARAMS_N_PORTS_SHIFT)) & USBHSH_HCSPARAMS_N_PORTS_MASK)
  10603. #define USBHSH_HCSPARAMS_PPC_MASK (0x10U)
  10604. #define USBHSH_HCSPARAMS_PPC_SHIFT (4U)
  10605. #define USBHSH_HCSPARAMS_PPC(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_HCSPARAMS_PPC_SHIFT)) & USBHSH_HCSPARAMS_PPC_MASK)
  10606. #define USBHSH_HCSPARAMS_P_INDICATOR_MASK (0x10000U)
  10607. #define USBHSH_HCSPARAMS_P_INDICATOR_SHIFT (16U)
  10608. #define USBHSH_HCSPARAMS_P_INDICATOR(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_HCSPARAMS_P_INDICATOR_SHIFT)) & USBHSH_HCSPARAMS_P_INDICATOR_MASK)
  10609. /*! @name HCCPARAMS - Host Controller Capability Parameters */
  10610. #define USBHSH_HCCPARAMS_LPMC_MASK (0x20000U)
  10611. #define USBHSH_HCCPARAMS_LPMC_SHIFT (17U)
  10612. #define USBHSH_HCCPARAMS_LPMC(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_HCCPARAMS_LPMC_SHIFT)) & USBHSH_HCCPARAMS_LPMC_MASK)
  10613. /*! @name FLADJ_FRINDEX - Frame Length Adjustment */
  10614. #define USBHSH_FLADJ_FRINDEX_FLADJ_MASK (0x3FU)
  10615. #define USBHSH_FLADJ_FRINDEX_FLADJ_SHIFT (0U)
  10616. #define USBHSH_FLADJ_FRINDEX_FLADJ(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_FLADJ_FRINDEX_FLADJ_SHIFT)) & USBHSH_FLADJ_FRINDEX_FLADJ_MASK)
  10617. #define USBHSH_FLADJ_FRINDEX_FRINDEX_MASK (0x3FFF0000U)
  10618. #define USBHSH_FLADJ_FRINDEX_FRINDEX_SHIFT (16U)
  10619. #define USBHSH_FLADJ_FRINDEX_FRINDEX(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_FLADJ_FRINDEX_FRINDEX_SHIFT)) & USBHSH_FLADJ_FRINDEX_FRINDEX_MASK)
  10620. /*! @name ATL_PTD_BASE_ADDR - Memory base address where ATL PTD0 is stored */
  10621. #define USBHSH_ATL_PTD_BASE_ADDR_ATL_CUR_MASK (0x1F0U)
  10622. #define USBHSH_ATL_PTD_BASE_ADDR_ATL_CUR_SHIFT (4U)
  10623. #define USBHSH_ATL_PTD_BASE_ADDR_ATL_CUR(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_ATL_PTD_BASE_ADDR_ATL_CUR_SHIFT)) & USBHSH_ATL_PTD_BASE_ADDR_ATL_CUR_MASK)
  10624. #define USBHSH_ATL_PTD_BASE_ADDR_ATL_BASE_MASK (0xFFFFFE00U)
  10625. #define USBHSH_ATL_PTD_BASE_ADDR_ATL_BASE_SHIFT (9U)
  10626. #define USBHSH_ATL_PTD_BASE_ADDR_ATL_BASE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_ATL_PTD_BASE_ADDR_ATL_BASE_SHIFT)) & USBHSH_ATL_PTD_BASE_ADDR_ATL_BASE_MASK)
  10627. /*! @name ISO_PTD_BASE_ADDR - Memory base address where ISO PTD0 is stored */
  10628. #define USBHSH_ISO_PTD_BASE_ADDR_ISO_FIRST_MASK (0x3E0U)
  10629. #define USBHSH_ISO_PTD_BASE_ADDR_ISO_FIRST_SHIFT (5U)
  10630. #define USBHSH_ISO_PTD_BASE_ADDR_ISO_FIRST(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_ISO_PTD_BASE_ADDR_ISO_FIRST_SHIFT)) & USBHSH_ISO_PTD_BASE_ADDR_ISO_FIRST_MASK)
  10631. #define USBHSH_ISO_PTD_BASE_ADDR_ISO_BASE_MASK (0xFFFFFC00U)
  10632. #define USBHSH_ISO_PTD_BASE_ADDR_ISO_BASE_SHIFT (10U)
  10633. #define USBHSH_ISO_PTD_BASE_ADDR_ISO_BASE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_ISO_PTD_BASE_ADDR_ISO_BASE_SHIFT)) & USBHSH_ISO_PTD_BASE_ADDR_ISO_BASE_MASK)
  10634. /*! @name INT_PTD_BASE_ADDR - Memory base address where INT PTD0 is stored */
  10635. #define USBHSH_INT_PTD_BASE_ADDR_INT_FIRST_MASK (0x3E0U)
  10636. #define USBHSH_INT_PTD_BASE_ADDR_INT_FIRST_SHIFT (5U)
  10637. #define USBHSH_INT_PTD_BASE_ADDR_INT_FIRST(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_INT_PTD_BASE_ADDR_INT_FIRST_SHIFT)) & USBHSH_INT_PTD_BASE_ADDR_INT_FIRST_MASK)
  10638. #define USBHSH_INT_PTD_BASE_ADDR_INT_BASE_MASK (0xFFFFFC00U)
  10639. #define USBHSH_INT_PTD_BASE_ADDR_INT_BASE_SHIFT (10U)
  10640. #define USBHSH_INT_PTD_BASE_ADDR_INT_BASE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_INT_PTD_BASE_ADDR_INT_BASE_SHIFT)) & USBHSH_INT_PTD_BASE_ADDR_INT_BASE_MASK)
  10641. /*! @name DATA_PAYLOAD_BASE_ADDR - Memory base address that indicates the start of the data payload buffers */
  10642. #define USBHSH_DATA_PAYLOAD_BASE_ADDR_DAT_BASE_MASK (0xFFFF0000U)
  10643. #define USBHSH_DATA_PAYLOAD_BASE_ADDR_DAT_BASE_SHIFT (16U)
  10644. #define USBHSH_DATA_PAYLOAD_BASE_ADDR_DAT_BASE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_DATA_PAYLOAD_BASE_ADDR_DAT_BASE_SHIFT)) & USBHSH_DATA_PAYLOAD_BASE_ADDR_DAT_BASE_MASK)
  10645. /*! @name USBCMD - USB Command register */
  10646. #define USBHSH_USBCMD_RS_MASK (0x1U)
  10647. #define USBHSH_USBCMD_RS_SHIFT (0U)
  10648. #define USBHSH_USBCMD_RS(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBCMD_RS_SHIFT)) & USBHSH_USBCMD_RS_MASK)
  10649. #define USBHSH_USBCMD_HCRESET_MASK (0x2U)
  10650. #define USBHSH_USBCMD_HCRESET_SHIFT (1U)
  10651. #define USBHSH_USBCMD_HCRESET(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBCMD_HCRESET_SHIFT)) & USBHSH_USBCMD_HCRESET_MASK)
  10652. #define USBHSH_USBCMD_FLS_MASK (0xCU)
  10653. #define USBHSH_USBCMD_FLS_SHIFT (2U)
  10654. #define USBHSH_USBCMD_FLS(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBCMD_FLS_SHIFT)) & USBHSH_USBCMD_FLS_MASK)
  10655. #define USBHSH_USBCMD_LHCR_MASK (0x80U)
  10656. #define USBHSH_USBCMD_LHCR_SHIFT (7U)
  10657. #define USBHSH_USBCMD_LHCR(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBCMD_LHCR_SHIFT)) & USBHSH_USBCMD_LHCR_MASK)
  10658. #define USBHSH_USBCMD_ATL_EN_MASK (0x100U)
  10659. #define USBHSH_USBCMD_ATL_EN_SHIFT (8U)
  10660. #define USBHSH_USBCMD_ATL_EN(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBCMD_ATL_EN_SHIFT)) & USBHSH_USBCMD_ATL_EN_MASK)
  10661. #define USBHSH_USBCMD_ISO_EN_MASK (0x200U)
  10662. #define USBHSH_USBCMD_ISO_EN_SHIFT (9U)
  10663. #define USBHSH_USBCMD_ISO_EN(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBCMD_ISO_EN_SHIFT)) & USBHSH_USBCMD_ISO_EN_MASK)
  10664. #define USBHSH_USBCMD_INT_EN_MASK (0x400U)
  10665. #define USBHSH_USBCMD_INT_EN_SHIFT (10U)
  10666. #define USBHSH_USBCMD_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBCMD_INT_EN_SHIFT)) & USBHSH_USBCMD_INT_EN_MASK)
  10667. #define USBHSH_USBCMD_HIRD_MASK (0xF000000U)
  10668. #define USBHSH_USBCMD_HIRD_SHIFT (24U)
  10669. #define USBHSH_USBCMD_HIRD(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBCMD_HIRD_SHIFT)) & USBHSH_USBCMD_HIRD_MASK)
  10670. #define USBHSH_USBCMD_LPM_RWU_MASK (0x10000000U)
  10671. #define USBHSH_USBCMD_LPM_RWU_SHIFT (28U)
  10672. #define USBHSH_USBCMD_LPM_RWU(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBCMD_LPM_RWU_SHIFT)) & USBHSH_USBCMD_LPM_RWU_MASK)
  10673. /*! @name USBSTS - USB Interrupt Status register */
  10674. #define USBHSH_USBSTS_PCD_MASK (0x4U)
  10675. #define USBHSH_USBSTS_PCD_SHIFT (2U)
  10676. #define USBHSH_USBSTS_PCD(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBSTS_PCD_SHIFT)) & USBHSH_USBSTS_PCD_MASK)
  10677. #define USBHSH_USBSTS_FLR_MASK (0x8U)
  10678. #define USBHSH_USBSTS_FLR_SHIFT (3U)
  10679. #define USBHSH_USBSTS_FLR(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBSTS_FLR_SHIFT)) & USBHSH_USBSTS_FLR_MASK)
  10680. #define USBHSH_USBSTS_ATL_IRQ_MASK (0x10000U)
  10681. #define USBHSH_USBSTS_ATL_IRQ_SHIFT (16U)
  10682. #define USBHSH_USBSTS_ATL_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBSTS_ATL_IRQ_SHIFT)) & USBHSH_USBSTS_ATL_IRQ_MASK)
  10683. #define USBHSH_USBSTS_ISO_IRQ_MASK (0x20000U)
  10684. #define USBHSH_USBSTS_ISO_IRQ_SHIFT (17U)
  10685. #define USBHSH_USBSTS_ISO_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBSTS_ISO_IRQ_SHIFT)) & USBHSH_USBSTS_ISO_IRQ_MASK)
  10686. #define USBHSH_USBSTS_INT_IRQ_MASK (0x40000U)
  10687. #define USBHSH_USBSTS_INT_IRQ_SHIFT (18U)
  10688. #define USBHSH_USBSTS_INT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBSTS_INT_IRQ_SHIFT)) & USBHSH_USBSTS_INT_IRQ_MASK)
  10689. #define USBHSH_USBSTS_SOF_IRQ_MASK (0x80000U)
  10690. #define USBHSH_USBSTS_SOF_IRQ_SHIFT (19U)
  10691. #define USBHSH_USBSTS_SOF_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBSTS_SOF_IRQ_SHIFT)) & USBHSH_USBSTS_SOF_IRQ_MASK)
  10692. /*! @name USBINTR - USB Interrupt Enable register */
  10693. #define USBHSH_USBINTR_PCDE_MASK (0x4U)
  10694. #define USBHSH_USBINTR_PCDE_SHIFT (2U)
  10695. #define USBHSH_USBINTR_PCDE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBINTR_PCDE_SHIFT)) & USBHSH_USBINTR_PCDE_MASK)
  10696. #define USBHSH_USBINTR_FLRE_MASK (0x8U)
  10697. #define USBHSH_USBINTR_FLRE_SHIFT (3U)
  10698. #define USBHSH_USBINTR_FLRE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBINTR_FLRE_SHIFT)) & USBHSH_USBINTR_FLRE_MASK)
  10699. #define USBHSH_USBINTR_ATL_IRQ_E_MASK (0x10000U)
  10700. #define USBHSH_USBINTR_ATL_IRQ_E_SHIFT (16U)
  10701. #define USBHSH_USBINTR_ATL_IRQ_E(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBINTR_ATL_IRQ_E_SHIFT)) & USBHSH_USBINTR_ATL_IRQ_E_MASK)
  10702. #define USBHSH_USBINTR_ISO_IRQ_E_MASK (0x20000U)
  10703. #define USBHSH_USBINTR_ISO_IRQ_E_SHIFT (17U)
  10704. #define USBHSH_USBINTR_ISO_IRQ_E(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBINTR_ISO_IRQ_E_SHIFT)) & USBHSH_USBINTR_ISO_IRQ_E_MASK)
  10705. #define USBHSH_USBINTR_INT_IRQ_E_MASK (0x40000U)
  10706. #define USBHSH_USBINTR_INT_IRQ_E_SHIFT (18U)
  10707. #define USBHSH_USBINTR_INT_IRQ_E(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBINTR_INT_IRQ_E_SHIFT)) & USBHSH_USBINTR_INT_IRQ_E_MASK)
  10708. #define USBHSH_USBINTR_SOF_E_MASK (0x80000U)
  10709. #define USBHSH_USBINTR_SOF_E_SHIFT (19U)
  10710. #define USBHSH_USBINTR_SOF_E(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBINTR_SOF_E_SHIFT)) & USBHSH_USBINTR_SOF_E_MASK)
  10711. /*! @name PORTSC1 - Port Status and Control register */
  10712. #define USBHSH_PORTSC1_CCS_MASK (0x1U)
  10713. #define USBHSH_PORTSC1_CCS_SHIFT (0U)
  10714. #define USBHSH_PORTSC1_CCS(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_CCS_SHIFT)) & USBHSH_PORTSC1_CCS_MASK)
  10715. #define USBHSH_PORTSC1_CSC_MASK (0x2U)
  10716. #define USBHSH_PORTSC1_CSC_SHIFT (1U)
  10717. #define USBHSH_PORTSC1_CSC(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_CSC_SHIFT)) & USBHSH_PORTSC1_CSC_MASK)
  10718. #define USBHSH_PORTSC1_PED_MASK (0x4U)
  10719. #define USBHSH_PORTSC1_PED_SHIFT (2U)
  10720. #define USBHSH_PORTSC1_PED(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_PED_SHIFT)) & USBHSH_PORTSC1_PED_MASK)
  10721. #define USBHSH_PORTSC1_PEDC_MASK (0x8U)
  10722. #define USBHSH_PORTSC1_PEDC_SHIFT (3U)
  10723. #define USBHSH_PORTSC1_PEDC(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_PEDC_SHIFT)) & USBHSH_PORTSC1_PEDC_MASK)
  10724. #define USBHSH_PORTSC1_OCA_MASK (0x10U)
  10725. #define USBHSH_PORTSC1_OCA_SHIFT (4U)
  10726. #define USBHSH_PORTSC1_OCA(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_OCA_SHIFT)) & USBHSH_PORTSC1_OCA_MASK)
  10727. #define USBHSH_PORTSC1_OCC_MASK (0x20U)
  10728. #define USBHSH_PORTSC1_OCC_SHIFT (5U)
  10729. #define USBHSH_PORTSC1_OCC(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_OCC_SHIFT)) & USBHSH_PORTSC1_OCC_MASK)
  10730. #define USBHSH_PORTSC1_FPR_MASK (0x40U)
  10731. #define USBHSH_PORTSC1_FPR_SHIFT (6U)
  10732. #define USBHSH_PORTSC1_FPR(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_FPR_SHIFT)) & USBHSH_PORTSC1_FPR_MASK)
  10733. #define USBHSH_PORTSC1_SUSP_MASK (0x80U)
  10734. #define USBHSH_PORTSC1_SUSP_SHIFT (7U)
  10735. #define USBHSH_PORTSC1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_SUSP_SHIFT)) & USBHSH_PORTSC1_SUSP_MASK)
  10736. #define USBHSH_PORTSC1_PR_MASK (0x100U)
  10737. #define USBHSH_PORTSC1_PR_SHIFT (8U)
  10738. #define USBHSH_PORTSC1_PR(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_PR_SHIFT)) & USBHSH_PORTSC1_PR_MASK)
  10739. #define USBHSH_PORTSC1_SUS_L1_MASK (0x200U)
  10740. #define USBHSH_PORTSC1_SUS_L1_SHIFT (9U)
  10741. #define USBHSH_PORTSC1_SUS_L1(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_SUS_L1_SHIFT)) & USBHSH_PORTSC1_SUS_L1_MASK)
  10742. #define USBHSH_PORTSC1_LS_MASK (0xC00U)
  10743. #define USBHSH_PORTSC1_LS_SHIFT (10U)
  10744. #define USBHSH_PORTSC1_LS(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_LS_SHIFT)) & USBHSH_PORTSC1_LS_MASK)
  10745. #define USBHSH_PORTSC1_PP_MASK (0x1000U)
  10746. #define USBHSH_PORTSC1_PP_SHIFT (12U)
  10747. #define USBHSH_PORTSC1_PP(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_PP_SHIFT)) & USBHSH_PORTSC1_PP_MASK)
  10748. #define USBHSH_PORTSC1_PIC_MASK (0xC000U)
  10749. #define USBHSH_PORTSC1_PIC_SHIFT (14U)
  10750. #define USBHSH_PORTSC1_PIC(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_PIC_SHIFT)) & USBHSH_PORTSC1_PIC_MASK)
  10751. #define USBHSH_PORTSC1_PTC_MASK (0xF0000U)
  10752. #define USBHSH_PORTSC1_PTC_SHIFT (16U)
  10753. #define USBHSH_PORTSC1_PTC(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_PTC_SHIFT)) & USBHSH_PORTSC1_PTC_MASK)
  10754. #define USBHSH_PORTSC1_PSPD_MASK (0x300000U)
  10755. #define USBHSH_PORTSC1_PSPD_SHIFT (20U)
  10756. #define USBHSH_PORTSC1_PSPD(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_PSPD_SHIFT)) & USBHSH_PORTSC1_PSPD_MASK)
  10757. #define USBHSH_PORTSC1_WOO_MASK (0x400000U)
  10758. #define USBHSH_PORTSC1_WOO_SHIFT (22U)
  10759. #define USBHSH_PORTSC1_WOO(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_WOO_SHIFT)) & USBHSH_PORTSC1_WOO_MASK)
  10760. #define USBHSH_PORTSC1_SUS_STAT_MASK (0x1800000U)
  10761. #define USBHSH_PORTSC1_SUS_STAT_SHIFT (23U)
  10762. #define USBHSH_PORTSC1_SUS_STAT(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_SUS_STAT_SHIFT)) & USBHSH_PORTSC1_SUS_STAT_MASK)
  10763. #define USBHSH_PORTSC1_DEV_ADD_MASK (0xFE000000U)
  10764. #define USBHSH_PORTSC1_DEV_ADD_SHIFT (25U)
  10765. #define USBHSH_PORTSC1_DEV_ADD(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_DEV_ADD_SHIFT)) & USBHSH_PORTSC1_DEV_ADD_MASK)
  10766. /*! @name ATL_PTD_DONE_MAP - Done map for each ATL PTD */
  10767. #define USBHSH_ATL_PTD_DONE_MAP_ATL_DONE_MASK (0xFFFFFFFFU)
  10768. #define USBHSH_ATL_PTD_DONE_MAP_ATL_DONE_SHIFT (0U)
  10769. #define USBHSH_ATL_PTD_DONE_MAP_ATL_DONE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_ATL_PTD_DONE_MAP_ATL_DONE_SHIFT)) & USBHSH_ATL_PTD_DONE_MAP_ATL_DONE_MASK)
  10770. /*! @name ATL_PTD_SKIP_MAP - Skip map for each ATL PTD */
  10771. #define USBHSH_ATL_PTD_SKIP_MAP_ATL_SKIP_MASK (0xFFFFFFFFU)
  10772. #define USBHSH_ATL_PTD_SKIP_MAP_ATL_SKIP_SHIFT (0U)
  10773. #define USBHSH_ATL_PTD_SKIP_MAP_ATL_SKIP(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_ATL_PTD_SKIP_MAP_ATL_SKIP_SHIFT)) & USBHSH_ATL_PTD_SKIP_MAP_ATL_SKIP_MASK)
  10774. /*! @name ISO_PTD_DONE_MAP - Done map for each ISO PTD */
  10775. #define USBHSH_ISO_PTD_DONE_MAP_ISO_DONE_MASK (0xFFFFFFFFU)
  10776. #define USBHSH_ISO_PTD_DONE_MAP_ISO_DONE_SHIFT (0U)
  10777. #define USBHSH_ISO_PTD_DONE_MAP_ISO_DONE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_ISO_PTD_DONE_MAP_ISO_DONE_SHIFT)) & USBHSH_ISO_PTD_DONE_MAP_ISO_DONE_MASK)
  10778. /*! @name ISO_PTD_SKIP_MAP - Skip map for each ISO PTD */
  10779. #define USBHSH_ISO_PTD_SKIP_MAP_ISO_SKIP_MASK (0xFFFFFFFFU)
  10780. #define USBHSH_ISO_PTD_SKIP_MAP_ISO_SKIP_SHIFT (0U)
  10781. #define USBHSH_ISO_PTD_SKIP_MAP_ISO_SKIP(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_ISO_PTD_SKIP_MAP_ISO_SKIP_SHIFT)) & USBHSH_ISO_PTD_SKIP_MAP_ISO_SKIP_MASK)
  10782. /*! @name INT_PTD_DONE_MAP - Done map for each INT PTD */
  10783. #define USBHSH_INT_PTD_DONE_MAP_INT_DONE_MASK (0xFFFFFFFFU)
  10784. #define USBHSH_INT_PTD_DONE_MAP_INT_DONE_SHIFT (0U)
  10785. #define USBHSH_INT_PTD_DONE_MAP_INT_DONE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_INT_PTD_DONE_MAP_INT_DONE_SHIFT)) & USBHSH_INT_PTD_DONE_MAP_INT_DONE_MASK)
  10786. /*! @name INT_PTD_SKIP_MAP - Skip map for each INT PTD */
  10787. #define USBHSH_INT_PTD_SKIP_MAP_INT_SKIP_MASK (0xFFFFFFFFU)
  10788. #define USBHSH_INT_PTD_SKIP_MAP_INT_SKIP_SHIFT (0U)
  10789. #define USBHSH_INT_PTD_SKIP_MAP_INT_SKIP(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_INT_PTD_SKIP_MAP_INT_SKIP_SHIFT)) & USBHSH_INT_PTD_SKIP_MAP_INT_SKIP_MASK)
  10790. /*! @name LAST_PTD_INUSE - Marks the last PTD in the list for ISO, INT and ATL */
  10791. #define USBHSH_LAST_PTD_INUSE_ATL_LAST_MASK (0x1FU)
  10792. #define USBHSH_LAST_PTD_INUSE_ATL_LAST_SHIFT (0U)
  10793. #define USBHSH_LAST_PTD_INUSE_ATL_LAST(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_LAST_PTD_INUSE_ATL_LAST_SHIFT)) & USBHSH_LAST_PTD_INUSE_ATL_LAST_MASK)
  10794. #define USBHSH_LAST_PTD_INUSE_ISO_LAST_MASK (0x1F00U)
  10795. #define USBHSH_LAST_PTD_INUSE_ISO_LAST_SHIFT (8U)
  10796. #define USBHSH_LAST_PTD_INUSE_ISO_LAST(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_LAST_PTD_INUSE_ISO_LAST_SHIFT)) & USBHSH_LAST_PTD_INUSE_ISO_LAST_MASK)
  10797. #define USBHSH_LAST_PTD_INUSE_INT_LAST_MASK (0x1F0000U)
  10798. #define USBHSH_LAST_PTD_INUSE_INT_LAST_SHIFT (16U)
  10799. #define USBHSH_LAST_PTD_INUSE_INT_LAST(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_LAST_PTD_INUSE_INT_LAST_SHIFT)) & USBHSH_LAST_PTD_INUSE_INT_LAST_MASK)
  10800. /*! @name UTMIPLUS_ULPI_DEBUG - Register to read/write registers in the attached USB PHY */
  10801. #define USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_ADDR_MASK (0xFFU)
  10802. #define USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_ADDR_SHIFT (0U)
  10803. #define USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_ADDR(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_ADDR_SHIFT)) & USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_ADDR_MASK)
  10804. #define USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_WDATA_MASK (0xFF00U)
  10805. #define USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_WDATA_SHIFT (8U)
  10806. #define USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_WDATA(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_WDATA_SHIFT)) & USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_WDATA_MASK)
  10807. #define USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_RDATA_MASK (0xFF0000U)
  10808. #define USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_RDATA_SHIFT (16U)
  10809. #define USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_RDATA(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_RDATA_SHIFT)) & USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_RDATA_MASK)
  10810. #define USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_RW_MASK (0x1000000U)
  10811. #define USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_RW_SHIFT (24U)
  10812. #define USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_RW(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_RW_SHIFT)) & USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_RW_MASK)
  10813. #define USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_ACCESS_MASK (0x2000000U)
  10814. #define USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_ACCESS_SHIFT (25U)
  10815. #define USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_ACCESS(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_ACCESS_SHIFT)) & USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_ACCESS_MASK)
  10816. #define USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_MODE_MASK (0x80000000U)
  10817. #define USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_MODE_SHIFT (31U)
  10818. #define USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_MODE_SHIFT)) & USBHSH_UTMIPLUS_ULPI_DEBUG_PHY_MODE_MASK)
  10819. /*! @name PORTMODE - Controls the port if it is attached to the host block or the device block */
  10820. #define USBHSH_PORTMODE_ID0_MASK (0x1U)
  10821. #define USBHSH_PORTMODE_ID0_SHIFT (0U)
  10822. #define USBHSH_PORTMODE_ID0(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTMODE_ID0_SHIFT)) & USBHSH_PORTMODE_ID0_MASK)
  10823. #define USBHSH_PORTMODE_ID0_EN_MASK (0x100U)
  10824. #define USBHSH_PORTMODE_ID0_EN_SHIFT (8U)
  10825. #define USBHSH_PORTMODE_ID0_EN(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTMODE_ID0_EN_SHIFT)) & USBHSH_PORTMODE_ID0_EN_MASK)
  10826. #define USBHSH_PORTMODE_DEV_ENABLE_MASK (0x10000U)
  10827. #define USBHSH_PORTMODE_DEV_ENABLE_SHIFT (16U)
  10828. #define USBHSH_PORTMODE_DEV_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTMODE_DEV_ENABLE_SHIFT)) & USBHSH_PORTMODE_DEV_ENABLE_MASK)
  10829. #define USBHSH_PORTMODE_SW_CTRL_PDCOM_MASK (0x40000U)
  10830. #define USBHSH_PORTMODE_SW_CTRL_PDCOM_SHIFT (18U)
  10831. #define USBHSH_PORTMODE_SW_CTRL_PDCOM(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTMODE_SW_CTRL_PDCOM_SHIFT)) & USBHSH_PORTMODE_SW_CTRL_PDCOM_MASK)
  10832. #define USBHSH_PORTMODE_SW_PDCOM_MASK (0x80000U)
  10833. #define USBHSH_PORTMODE_SW_PDCOM_SHIFT (19U)
  10834. #define USBHSH_PORTMODE_SW_PDCOM(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTMODE_SW_PDCOM_SHIFT)) & USBHSH_PORTMODE_SW_PDCOM_MASK)
  10835. /*!
  10836. * @}
  10837. */ /* end of group USBHSH_Register_Masks */
  10838. /* USBHSH - Peripheral instance base addresses */
  10839. /** Peripheral USBHSH base address */
  10840. #define USBHSH_BASE (0x400A3000u)
  10841. /** Peripheral USBHSH base pointer */
  10842. #define USBHSH ((USBHSH_Type *)USBHSH_BASE)
  10843. /** Array initializer of USBHSH peripheral base addresses */
  10844. #define USBHSH_BASE_ADDRS { USBHSH_BASE }
  10845. /** Array initializer of USBHSH peripheral base pointers */
  10846. #define USBHSH_BASE_PTRS { USBHSH }
  10847. /** Interrupt vectors for the USBHSH peripheral type */
  10848. #define USBHSH_IRQS { USB1_IRQn }
  10849. #define USBHSH_NEEDCLK_IRQS { USB1_NEEDCLK_IRQn }
  10850. /*!
  10851. * @}
  10852. */ /* end of group USBHSH_Peripheral_Access_Layer */
  10853. /* ----------------------------------------------------------------------------
  10854. -- UTICK Peripheral Access Layer
  10855. ---------------------------------------------------------------------------- */
  10856. /*!
  10857. * @addtogroup UTICK_Peripheral_Access_Layer UTICK Peripheral Access Layer
  10858. * @{
  10859. */
  10860. /** UTICK - Register Layout Typedef */
  10861. typedef struct {
  10862. __IO uint32_t CTRL; /**< Control register., offset: 0x0 */
  10863. __IO uint32_t STAT; /**< Status register., offset: 0x4 */
  10864. __IO uint32_t CFG; /**< Capture configuration register., offset: 0x8 */
  10865. __O uint32_t CAPCLR; /**< Capture clear register., offset: 0xC */
  10866. __I uint32_t CAP[4]; /**< Capture register ., array offset: 0x10, array step: 0x4 */
  10867. } UTICK_Type;
  10868. /* ----------------------------------------------------------------------------
  10869. -- UTICK Register Masks
  10870. ---------------------------------------------------------------------------- */
  10871. /*!
  10872. * @addtogroup UTICK_Register_Masks UTICK Register Masks
  10873. * @{
  10874. */
  10875. /*! @name CTRL - Control register. */
  10876. #define UTICK_CTRL_DELAYVAL_MASK (0x7FFFFFFFU)
  10877. #define UTICK_CTRL_DELAYVAL_SHIFT (0U)
  10878. #define UTICK_CTRL_DELAYVAL(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CTRL_DELAYVAL_SHIFT)) & UTICK_CTRL_DELAYVAL_MASK)
  10879. #define UTICK_CTRL_REPEAT_MASK (0x80000000U)
  10880. #define UTICK_CTRL_REPEAT_SHIFT (31U)
  10881. #define UTICK_CTRL_REPEAT(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CTRL_REPEAT_SHIFT)) & UTICK_CTRL_REPEAT_MASK)
  10882. /*! @name STAT - Status register. */
  10883. #define UTICK_STAT_INTR_MASK (0x1U)
  10884. #define UTICK_STAT_INTR_SHIFT (0U)
  10885. #define UTICK_STAT_INTR(x) (((uint32_t)(((uint32_t)(x)) << UTICK_STAT_INTR_SHIFT)) & UTICK_STAT_INTR_MASK)
  10886. #define UTICK_STAT_ACTIVE_MASK (0x2U)
  10887. #define UTICK_STAT_ACTIVE_SHIFT (1U)
  10888. #define UTICK_STAT_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << UTICK_STAT_ACTIVE_SHIFT)) & UTICK_STAT_ACTIVE_MASK)
  10889. /*! @name CFG - Capture configuration register. */
  10890. #define UTICK_CFG_CAPEN0_MASK (0x1U)
  10891. #define UTICK_CFG_CAPEN0_SHIFT (0U)
  10892. #define UTICK_CFG_CAPEN0(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CFG_CAPEN0_SHIFT)) & UTICK_CFG_CAPEN0_MASK)
  10893. #define UTICK_CFG_CAPEN1_MASK (0x2U)
  10894. #define UTICK_CFG_CAPEN1_SHIFT (1U)
  10895. #define UTICK_CFG_CAPEN1(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CFG_CAPEN1_SHIFT)) & UTICK_CFG_CAPEN1_MASK)
  10896. #define UTICK_CFG_CAPEN2_MASK (0x4U)
  10897. #define UTICK_CFG_CAPEN2_SHIFT (2U)
  10898. #define UTICK_CFG_CAPEN2(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CFG_CAPEN2_SHIFT)) & UTICK_CFG_CAPEN2_MASK)
  10899. #define UTICK_CFG_CAPEN3_MASK (0x8U)
  10900. #define UTICK_CFG_CAPEN3_SHIFT (3U)
  10901. #define UTICK_CFG_CAPEN3(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CFG_CAPEN3_SHIFT)) & UTICK_CFG_CAPEN3_MASK)
  10902. #define UTICK_CFG_CAPPOL0_MASK (0x100U)
  10903. #define UTICK_CFG_CAPPOL0_SHIFT (8U)
  10904. #define UTICK_CFG_CAPPOL0(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CFG_CAPPOL0_SHIFT)) & UTICK_CFG_CAPPOL0_MASK)
  10905. #define UTICK_CFG_CAPPOL1_MASK (0x200U)
  10906. #define UTICK_CFG_CAPPOL1_SHIFT (9U)
  10907. #define UTICK_CFG_CAPPOL1(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CFG_CAPPOL1_SHIFT)) & UTICK_CFG_CAPPOL1_MASK)
  10908. #define UTICK_CFG_CAPPOL2_MASK (0x400U)
  10909. #define UTICK_CFG_CAPPOL2_SHIFT (10U)
  10910. #define UTICK_CFG_CAPPOL2(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CFG_CAPPOL2_SHIFT)) & UTICK_CFG_CAPPOL2_MASK)
  10911. #define UTICK_CFG_CAPPOL3_MASK (0x800U)
  10912. #define UTICK_CFG_CAPPOL3_SHIFT (11U)
  10913. #define UTICK_CFG_CAPPOL3(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CFG_CAPPOL3_SHIFT)) & UTICK_CFG_CAPPOL3_MASK)
  10914. /*! @name CAPCLR - Capture clear register. */
  10915. #define UTICK_CAPCLR_CAPCLR0_MASK (0x1U)
  10916. #define UTICK_CAPCLR_CAPCLR0_SHIFT (0U)
  10917. #define UTICK_CAPCLR_CAPCLR0(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CAPCLR_CAPCLR0_SHIFT)) & UTICK_CAPCLR_CAPCLR0_MASK)
  10918. #define UTICK_CAPCLR_CAPCLR1_MASK (0x2U)
  10919. #define UTICK_CAPCLR_CAPCLR1_SHIFT (1U)
  10920. #define UTICK_CAPCLR_CAPCLR1(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CAPCLR_CAPCLR1_SHIFT)) & UTICK_CAPCLR_CAPCLR1_MASK)
  10921. #define UTICK_CAPCLR_CAPCLR2_MASK (0x4U)
  10922. #define UTICK_CAPCLR_CAPCLR2_SHIFT (2U)
  10923. #define UTICK_CAPCLR_CAPCLR2(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CAPCLR_CAPCLR2_SHIFT)) & UTICK_CAPCLR_CAPCLR2_MASK)
  10924. #define UTICK_CAPCLR_CAPCLR3_MASK (0x8U)
  10925. #define UTICK_CAPCLR_CAPCLR3_SHIFT (3U)
  10926. #define UTICK_CAPCLR_CAPCLR3(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CAPCLR_CAPCLR3_SHIFT)) & UTICK_CAPCLR_CAPCLR3_MASK)
  10927. /*! @name CAP - Capture register . */
  10928. #define UTICK_CAP_CAP_VALUE_MASK (0x7FFFFFFFU)
  10929. #define UTICK_CAP_CAP_VALUE_SHIFT (0U)
  10930. #define UTICK_CAP_CAP_VALUE(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CAP_CAP_VALUE_SHIFT)) & UTICK_CAP_CAP_VALUE_MASK)
  10931. #define UTICK_CAP_VALID_MASK (0x80000000U)
  10932. #define UTICK_CAP_VALID_SHIFT (31U)
  10933. #define UTICK_CAP_VALID(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CAP_VALID_SHIFT)) & UTICK_CAP_VALID_MASK)
  10934. /* The count of UTICK_CAP */
  10935. #define UTICK_CAP_COUNT (4U)
  10936. /*!
  10937. * @}
  10938. */ /* end of group UTICK_Register_Masks */
  10939. /* UTICK - Peripheral instance base addresses */
  10940. /** Peripheral UTICK0 base address */
  10941. #define UTICK0_BASE (0x4000E000u)
  10942. /** Peripheral UTICK0 base pointer */
  10943. #define UTICK0 ((UTICK_Type *)UTICK0_BASE)
  10944. /** Array initializer of UTICK peripheral base addresses */
  10945. #define UTICK_BASE_ADDRS { UTICK0_BASE }
  10946. /** Array initializer of UTICK peripheral base pointers */
  10947. #define UTICK_BASE_PTRS { UTICK0 }
  10948. /** Interrupt vectors for the UTICK peripheral type */
  10949. #define UTICK_IRQS { UTICK0_IRQn }
  10950. /*!
  10951. * @}
  10952. */ /* end of group UTICK_Peripheral_Access_Layer */
  10953. /* ----------------------------------------------------------------------------
  10954. -- WWDT Peripheral Access Layer
  10955. ---------------------------------------------------------------------------- */
  10956. /*!
  10957. * @addtogroup WWDT_Peripheral_Access_Layer WWDT Peripheral Access Layer
  10958. * @{
  10959. */
  10960. /** WWDT - Register Layout Typedef */
  10961. typedef struct {
  10962. __IO uint32_t MOD; /**< Watchdog mode register. This register contains the basic mode and status of the Watchdog Timer., offset: 0x0 */
  10963. __IO uint32_t TC; /**< Watchdog timer constant register. This 24-bit register determines the time-out value., offset: 0x4 */
  10964. __O uint32_t FEED; /**< Watchdog feed sequence register. Writing 0xAA followed by 0x55 to this register reloads the Watchdog timer with the value contained in TC., offset: 0x8 */
  10965. __I uint32_t TV; /**< Watchdog timer value register. This 24-bit register reads out the current value of the Watchdog timer., offset: 0xC */
  10966. uint8_t RESERVED_0[4];
  10967. __IO uint32_t WARNINT; /**< Watchdog Warning Interrupt compare value., offset: 0x14 */
  10968. __IO uint32_t WINDOW; /**< Watchdog Window compare value., offset: 0x18 */
  10969. } WWDT_Type;
  10970. /* ----------------------------------------------------------------------------
  10971. -- WWDT Register Masks
  10972. ---------------------------------------------------------------------------- */
  10973. /*!
  10974. * @addtogroup WWDT_Register_Masks WWDT Register Masks
  10975. * @{
  10976. */
  10977. /*! @name MOD - Watchdog mode register. This register contains the basic mode and status of the Watchdog Timer. */
  10978. #define WWDT_MOD_WDEN_MASK (0x1U)
  10979. #define WWDT_MOD_WDEN_SHIFT (0U)
  10980. #define WWDT_MOD_WDEN(x) (((uint32_t)(((uint32_t)(x)) << WWDT_MOD_WDEN_SHIFT)) & WWDT_MOD_WDEN_MASK)
  10981. #define WWDT_MOD_WDRESET_MASK (0x2U)
  10982. #define WWDT_MOD_WDRESET_SHIFT (1U)
  10983. #define WWDT_MOD_WDRESET(x) (((uint32_t)(((uint32_t)(x)) << WWDT_MOD_WDRESET_SHIFT)) & WWDT_MOD_WDRESET_MASK)
  10984. #define WWDT_MOD_WDTOF_MASK (0x4U)
  10985. #define WWDT_MOD_WDTOF_SHIFT (2U)
  10986. #define WWDT_MOD_WDTOF(x) (((uint32_t)(((uint32_t)(x)) << WWDT_MOD_WDTOF_SHIFT)) & WWDT_MOD_WDTOF_MASK)
  10987. #define WWDT_MOD_WDINT_MASK (0x8U)
  10988. #define WWDT_MOD_WDINT_SHIFT (3U)
  10989. #define WWDT_MOD_WDINT(x) (((uint32_t)(((uint32_t)(x)) << WWDT_MOD_WDINT_SHIFT)) & WWDT_MOD_WDINT_MASK)
  10990. #define WWDT_MOD_WDPROTECT_MASK (0x10U)
  10991. #define WWDT_MOD_WDPROTECT_SHIFT (4U)
  10992. #define WWDT_MOD_WDPROTECT(x) (((uint32_t)(((uint32_t)(x)) << WWDT_MOD_WDPROTECT_SHIFT)) & WWDT_MOD_WDPROTECT_MASK)
  10993. #define WWDT_MOD_LOCK_MASK (0x20U)
  10994. #define WWDT_MOD_LOCK_SHIFT (5U)
  10995. #define WWDT_MOD_LOCK(x) (((uint32_t)(((uint32_t)(x)) << WWDT_MOD_LOCK_SHIFT)) & WWDT_MOD_LOCK_MASK)
  10996. /*! @name TC - Watchdog timer constant register. This 24-bit register determines the time-out value. */
  10997. #define WWDT_TC_COUNT_MASK (0xFFFFFFU)
  10998. #define WWDT_TC_COUNT_SHIFT (0U)
  10999. #define WWDT_TC_COUNT(x) (((uint32_t)(((uint32_t)(x)) << WWDT_TC_COUNT_SHIFT)) & WWDT_TC_COUNT_MASK)
  11000. /*! @name FEED - Watchdog feed sequence register. Writing 0xAA followed by 0x55 to this register reloads the Watchdog timer with the value contained in TC. */
  11001. #define WWDT_FEED_FEED_MASK (0xFFU)
  11002. #define WWDT_FEED_FEED_SHIFT (0U)
  11003. #define WWDT_FEED_FEED(x) (((uint32_t)(((uint32_t)(x)) << WWDT_FEED_FEED_SHIFT)) & WWDT_FEED_FEED_MASK)
  11004. /*! @name TV - Watchdog timer value register. This 24-bit register reads out the current value of the Watchdog timer. */
  11005. #define WWDT_TV_COUNT_MASK (0xFFFFFFU)
  11006. #define WWDT_TV_COUNT_SHIFT (0U)
  11007. #define WWDT_TV_COUNT(x) (((uint32_t)(((uint32_t)(x)) << WWDT_TV_COUNT_SHIFT)) & WWDT_TV_COUNT_MASK)
  11008. /*! @name WARNINT - Watchdog Warning Interrupt compare value. */
  11009. #define WWDT_WARNINT_WARNINT_MASK (0x3FFU)
  11010. #define WWDT_WARNINT_WARNINT_SHIFT (0U)
  11011. #define WWDT_WARNINT_WARNINT(x) (((uint32_t)(((uint32_t)(x)) << WWDT_WARNINT_WARNINT_SHIFT)) & WWDT_WARNINT_WARNINT_MASK)
  11012. /*! @name WINDOW - Watchdog Window compare value. */
  11013. #define WWDT_WINDOW_WINDOW_MASK (0xFFFFFFU)
  11014. #define WWDT_WINDOW_WINDOW_SHIFT (0U)
  11015. #define WWDT_WINDOW_WINDOW(x) (((uint32_t)(((uint32_t)(x)) << WWDT_WINDOW_WINDOW_SHIFT)) & WWDT_WINDOW_WINDOW_MASK)
  11016. /*!
  11017. * @}
  11018. */ /* end of group WWDT_Register_Masks */
  11019. /* WWDT - Peripheral instance base addresses */
  11020. /** Peripheral WWDT base address */
  11021. #define WWDT_BASE (0x4000C000u)
  11022. /** Peripheral WWDT base pointer */
  11023. #define WWDT ((WWDT_Type *)WWDT_BASE)
  11024. /** Array initializer of WWDT peripheral base addresses */
  11025. #define WWDT_BASE_ADDRS { WWDT_BASE }
  11026. /** Array initializer of WWDT peripheral base pointers */
  11027. #define WWDT_BASE_PTRS { WWDT }
  11028. /** Interrupt vectors for the WWDT peripheral type */
  11029. #define WWDT_IRQS { WDT_BOD_IRQn }
  11030. /*!
  11031. * @}
  11032. */ /* end of group WWDT_Peripheral_Access_Layer */
  11033. /*
  11034. ** End of section using anonymous unions
  11035. */
  11036. #if defined(__ARMCC_VERSION)
  11037. #pragma pop
  11038. #elif defined(__GNUC__)
  11039. /* leave anonymous unions enabled */
  11040. #elif defined(__IAR_SYSTEMS_ICC__)
  11041. #pragma language=default
  11042. #else
  11043. #error Not supported compiler type
  11044. #endif
  11045. /*!
  11046. * @}
  11047. */ /* end of group Peripheral_access_layer */
  11048. /* ----------------------------------------------------------------------------
  11049. -- Macros for use with bit field definitions (xxx_SHIFT, xxx_MASK).
  11050. ---------------------------------------------------------------------------- */
  11051. /*!
  11052. * @addtogroup Bit_Field_Generic_Macros Macros for use with bit field definitions (xxx_SHIFT, xxx_MASK).
  11053. * @{
  11054. */
  11055. #if defined(__ARMCC_VERSION)
  11056. #if (__ARMCC_VERSION >= 6010050)
  11057. #pragma clang system_header
  11058. #endif
  11059. #elif defined(__IAR_SYSTEMS_ICC__)
  11060. #pragma system_include
  11061. #endif
  11062. /**
  11063. * @brief Mask and left-shift a bit field value for use in a register bit range.
  11064. * @param field Name of the register bit field.
  11065. * @param value Value of the bit field.
  11066. * @return Masked and shifted value.
  11067. */
  11068. #define NXP_VAL2FLD(field, value) (((value) << (field ## _SHIFT)) & (field ## _MASK))
  11069. /**
  11070. * @brief Mask and right-shift a register value to extract a bit field value.
  11071. * @param field Name of the register bit field.
  11072. * @param value Value of the register.
  11073. * @return Masked and shifted bit field value.
  11074. */
  11075. #define NXP_FLD2VAL(field, value) (((value) & (field ## _MASK)) >> (field ## _SHIFT))
  11076. /*!
  11077. * @}
  11078. */ /* end of group Bit_Field_Generic_Macros */
  11079. /* ----------------------------------------------------------------------------
  11080. -- SDK Compatibility
  11081. ---------------------------------------------------------------------------- */
  11082. /*!
  11083. * @addtogroup SDK_Compatibility_Symbols SDK Compatibility
  11084. * @{
  11085. */
  11086. /** EMC CS base address */
  11087. #define EMC_CS0_BASE (0x80000000u)
  11088. #define EMC_CS1_BASE (0x90000000u)
  11089. #define EMC_CS2_BASE (0x98000000u)
  11090. #define EMC_CS3_BASE (0x9C000000u)
  11091. #define EMC_DYCS0_BASE (0xA0000000u)
  11092. #define EMC_DYCS1_BASE (0xB0000000u)
  11093. #define EMC_DYCS2_BASE (0xC0000000u)
  11094. #define EMC_DYCS3_BASE (0xD0000000u)
  11095. #define EMC_CS_ADDRESS {EMC_CS0_BASE, EMC_CS1_BASE, EMC_CS2_BASE, EMC_CS3_BASE}
  11096. #define EMC_DYCS_ADDRESS {EMC_DYCS0_BASE, EMC_DYCS1_BASE, EMC_DYCS2_BASE, EMC_DYCS3_BASE}
  11097. /** OTP API */
  11098. typedef struct {
  11099. uint32_t (*otpInit)(void); /** Initializes OTP controller */
  11100. uint32_t (*otpEnableBankWriteMask)(uint32_t bankMask); /** Unlock one or more OTP banks for write access */
  11101. uint32_t (*otpDisableBankWriteMask)(uint32_t bankMask); /** Lock one or more OTP banks for write access */
  11102. uint32_t (*otpEnableBankWriteLock)(uint32_t bankIndex, uint32_t regEnableMask, uint32_t regDisableMask,
  11103. uint32_t lockWrite); /** Locks or unlocks write access to a register of an OTP bank and the write lock */
  11104. uint32_t (*otpEnableBankReadLock)(uint32_t bankIndex, uint32_t regEnableMask, uint32_t regDisableMask,
  11105. uint32_t lockWrite); /** Locks or unlocks read access to a register of an OTP bank and the write lock */
  11106. uint32_t (*otpProgramReg)(uint32_t bankIndex, uint32_t regIndex, uint32_t value); /** Program a single register in an OTP bank */
  11107. uint32_t RESERVED_0[5];
  11108. uint32_t (*rngRead)(void); /** Returns 32-bit number from hardware random number generator */
  11109. uint32_t (*otpGetDriverVersion)(void); /** Returns the version of the OTP driver in ROM */
  11110. } OTP_API_Type;
  11111. /** ROM API */
  11112. typedef struct {
  11113. __I uint32_t usbdApiBase; /** USB API Base */
  11114. uint32_t RESERVED_0[13];
  11115. __I OTP_API_Type *otpApiBase; /** OTP API Base */
  11116. __I uint32_t aesApiBase; /** AES API Base */
  11117. __I uint32_t secureApiBase; /** Secure API Base */
  11118. } ROM_API_Type;
  11119. /** ROM API base address */
  11120. #define ROM_API_BASE (0x03000200u)
  11121. /** ROM API base pointer */
  11122. #define ROM_API (*(ROM_API_Type**) ROM_API_BASE)
  11123. /** OTP API base pointer */
  11124. #define OTP_API (ROM_API->otpApiBase)
  11125. /*!
  11126. * @}
  11127. */ /* end of group SDK_Compatibility_Symbols */
  11128. #endif /* _LPC54608_H_ */