cslr_dfe_dduc.h 156 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236
  1. /*
  2. * cslr_dfe_dduc.h
  3. *
  4. * This file contains the macros for Register Chip Support Library (CSL) which
  5. * can be used for operations on the respective underlying hardware/peripheral
  6. *
  7. * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
  8. *
  9. *
  10. * Redistribution and use in source and binary forms, with or without
  11. * modification, are permitted provided that the following conditions
  12. * are met:
  13. *
  14. * Redistributions of source code must retain the above copyright
  15. * notice, this list of conditions and the following disclaimer.
  16. *
  17. * Redistributions in binary form must reproduce the above copyright
  18. * notice, this list of conditions and the following disclaimer in the
  19. * documentation and/or other materials provided with the
  20. * distribution.
  21. *
  22. * Neither the name of Texas Instruments Incorporated nor the names of
  23. * its contributors may be used to endorse or promote products derived
  24. * from this software without specific prior written permission.
  25. *
  26. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  27. * AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  28. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  29. * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  30. * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  31. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  32. * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  33. * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  34. * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  35. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  36. * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  37. *
  38. */
  39. /* The file is auto generated at 11:02:54 08/16/13 (Rev 1.71)*/
  40. #ifndef CSLR_DFE_DDUC_H__
  41. #define CSLR_DFE_DDUC_H__
  42. #include <ti/csl/cslr.h>
  43. #include <ti/csl/tistdtypes.h>
  44. /**************************************************************************\
  45. * Register Overlay Structure
  46. \**************************************************************************/
  47. typedef struct
  48. {
  49. volatile Uint32 lo;
  50. volatile Uint32 hi;
  51. } CSL_DFE_DDUC_PFIR_COEF_REGS;
  52. typedef struct
  53. {
  54. volatile Uint32 lo;
  55. volatile Uint32 mid;
  56. volatile Uint32 hi;
  57. volatile Uint32 rsvd0[1];
  58. } CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_REGS;
  59. typedef struct
  60. {
  61. volatile Uint32 bank0;
  62. volatile Uint32 bank1;
  63. } CSL_DFE_DDUC_HOP_OFFSET_REGS;
  64. typedef struct
  65. {
  66. volatile Uint32 bank0;
  67. volatile Uint32 bank1;
  68. } CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_LO_REGS;
  69. typedef struct
  70. {
  71. volatile Uint32 bank0;
  72. volatile Uint32 bank1;
  73. } CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_MID_REGS;
  74. typedef struct
  75. {
  76. volatile Uint32 bank0;
  77. volatile Uint32 bank1;
  78. } CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_HI_REGS;
  79. typedef struct
  80. {
  81. volatile Uint32 bank0;
  82. volatile Uint32 bank1;
  83. } CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_LO_REGS;
  84. typedef struct
  85. {
  86. volatile Uint32 bank0;
  87. volatile Uint32 bank1;
  88. } CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_MID_REGS;
  89. typedef struct
  90. {
  91. volatile Uint32 bank0;
  92. volatile Uint32 bank1;
  93. } CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_HI_REGS;
  94. typedef struct
  95. {
  96. volatile Uint32 bank0;
  97. volatile Uint32 bank1;
  98. } CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_LO_REGS;
  99. typedef struct
  100. {
  101. volatile Uint32 bank0;
  102. volatile Uint32 bank1;
  103. } CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_MID_REGS;
  104. typedef struct
  105. {
  106. volatile Uint32 bank0;
  107. volatile Uint32 bank1;
  108. } CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_HI_REGS;
  109. typedef struct
  110. {
  111. volatile Uint32 lobank0;
  112. volatile Uint32 hibank0;
  113. volatile Uint32 lobank1;
  114. volatile Uint32 hibank1;
  115. } CSL_DFE_DDUC_FRW_PHASE_REGS;
  116. typedef struct
  117. {
  118. /* Addr: h(0), d(0) */
  119. volatile Uint32 rsvd0[1];
  120. /* Addr: h(4), d(4) */
  121. volatile Uint32 intr_mask_mask;
  122. /* Addr: h(8), d(8) */
  123. volatile Uint32 intr_mask_status;
  124. /* Addr: h(C), d(12) */
  125. volatile Uint32 intr_mask_force;
  126. /* Addr: h(10), d(16) */
  127. volatile Uint32 rsvd1[252];
  128. /* Addr: h(400), d(1024) */
  129. volatile Uint32 inits_clks;
  130. /* Addr: h(404), d(1028) */
  131. volatile Uint32 rsvd2[255];
  132. /* Addr: h(800), d(2048) */
  133. volatile Uint32 clk_gater_time_step_lsb;
  134. /* Addr: h(804), d(2052) */
  135. volatile Uint32 clk_gater_time_step_msb;
  136. /* Addr: h(808), d(2056) */
  137. volatile Uint32 clk_gater_reset_int_lsb;
  138. /* Addr: h(80C), d(2060) */
  139. volatile Uint32 clk_gater_reset_int_msb;
  140. /* Addr: h(810), d(2064) */
  141. volatile Uint32 clk_gater_tdd_period_lsb;
  142. /* Addr: h(814), d(2068) */
  143. volatile Uint32 clk_gater_tdd_period_msb;
  144. /* Addr: h(818), d(2072) */
  145. volatile Uint32 clk_gater_tdd_on_0_lsb;
  146. /* Addr: h(81C), d(2076) */
  147. volatile Uint32 clk_gater_tdd_on_0_msb;
  148. /* Addr: h(820), d(2080) */
  149. volatile Uint32 clk_gater_tdd_off_0_lsb;
  150. /* Addr: h(824), d(2084) */
  151. volatile Uint32 clk_gater_tdd_off_0_msb;
  152. /* Addr: h(828), d(2088) */
  153. volatile Uint32 clk_gater_tdd_on_1_lsb;
  154. /* Addr: h(82C), d(2092) */
  155. volatile Uint32 clk_gater_tdd_on_1_msb;
  156. /* Addr: h(830), d(2096) */
  157. volatile Uint32 clk_gater_tdd_off_1_lsb;
  158. /* Addr: h(834), d(2100) */
  159. volatile Uint32 clk_gater_tdd_off_1_msb;
  160. /* Addr: h(838), d(2104) */
  161. volatile Uint32 rsvd3[626];
  162. /* Addr: h(1200), d(4608) */
  163. volatile Uint32 bb_frame;
  164. /* Addr: h(1204), d(4612) */
  165. volatile Uint32 bb_flag;
  166. /* Addr: h(1208), d(4616) */
  167. volatile Uint32 fir_start1;
  168. /* Addr: h(120C), d(4620) */
  169. volatile Uint32 fir_start2;
  170. /* Addr: h(1210), d(4624) */
  171. volatile Uint32 fir_stop1;
  172. /* Addr: h(1214), d(4628) */
  173. volatile Uint32 fir_stop2;
  174. /* Addr: h(1218), d(4632) */
  175. volatile Uint32 fir_flag1;
  176. /* Addr: h(121C), d(4636) */
  177. volatile Uint32 fir_flag2;
  178. /* Addr: h(1220), d(4640) */
  179. volatile Uint32 frwbb_start1;
  180. /* Addr: h(1224), d(4644) */
  181. volatile Uint32 frwbb_start2;
  182. /* Addr: h(1228), d(4648) */
  183. volatile Uint32 frwbb_stop1;
  184. /* Addr: h(122C), d(4652) */
  185. volatile Uint32 frwbb_stop2;
  186. /* Addr: h(1230), d(4656) */
  187. volatile Uint32 frwbb_flag1;
  188. /* Addr: h(1234), d(4660) */
  189. volatile Uint32 frwbb_flag2;
  190. /* Addr: h(1238), d(4664) */
  191. volatile Uint32 rsvd4[1];
  192. /* Addr: h(123C), d(4668) */
  193. volatile Uint32 config;
  194. /* Addr: h(1240), d(4672) */
  195. volatile Uint32 frwif_start;
  196. /* Addr: h(1244), d(4676) */
  197. volatile Uint32 frwif_stop;
  198. /* Addr: h(1248), d(4680) */
  199. volatile Uint32 frwif_flag;
  200. /* Addr: h(124C), d(4684) */
  201. volatile Uint32 rsvd5[1];
  202. /* Addr: h(1250), d(4688) */
  203. volatile Uint32 cicmix_start;
  204. /* Addr: h(1254), d(4692) */
  205. volatile Uint32 cicmix_comb_stop;
  206. /* Addr: h(1258), d(4696) */
  207. volatile Uint32 cicmix_stop;
  208. /* Addr: h(125C), d(4700) */
  209. volatile Uint32 cicmix_flag;
  210. /* Addr: h(1260), d(4704) */
  211. volatile Uint32 bbfir_ptr;
  212. /* Addr: h(1264), d(4708) */
  213. volatile Uint32 firfrw_ptr;
  214. /* Addr: h(1268), d(4712) */
  215. volatile Uint32 frwcic_ptr;
  216. /* Addr: h(126C), d(4716) */
  217. volatile Uint32 cic_config;
  218. /* Addr: h(1270), d(4720) */
  219. volatile Uint32 mix_config;
  220. /* Addr: h(1274), d(4724) */
  221. volatile Uint32 mix_phase[12];
  222. /* Addr: h(12A4), d(4772) */
  223. volatile Uint32 hop_dly_acc_lo;
  224. /* Addr: h(12A8), d(4776) */
  225. volatile Uint32 hop_dly_acc_hi;
  226. /* Addr: h(12AC), d(4780) */
  227. volatile Uint32 hop_rst_cnt_lo;
  228. /* Addr: h(12B0), d(4784) */
  229. volatile Uint32 hop_rst_cnt_hi;
  230. /* Addr: h(12B4), d(4788) */
  231. volatile Uint32 hop_period_lo;
  232. /* Addr: h(12B8), d(4792) */
  233. volatile Uint32 hop_total_indices;
  234. /* Addr: h(12BC), d(4796) */
  235. volatile Uint32 hop_sync_delay;
  236. /* Addr: h(12C0), d(4800) */
  237. volatile Uint32 hop_config;
  238. /* Addr: h(12C4), d(4804) */
  239. volatile Uint32 ssel0;
  240. /* Addr: h(12C8), d(4808) */
  241. volatile Uint32 ssel1;
  242. /* Addr: h(12CC), d(4812) */
  243. volatile Uint32 ssel2;
  244. /* Addr: h(12D0), d(4816) */
  245. volatile Uint32 ssel3;
  246. /* Addr: h(12D4), d(4820) */
  247. volatile Uint32 ssel4;
  248. /* Addr: h(12D8), d(4824) */
  249. volatile Uint32 ssel5;
  250. /* Addr: h(12DC), d(4828) */
  251. volatile Uint32 test_bus_mux_icg_dly;
  252. /* Addr: h(12E0), d(4832) */
  253. volatile Uint32 test_bus_bb_mux;
  254. /* Addr: h(12E4), d(4836) */
  255. volatile Uint32 selector_mix0_sel;
  256. /* Addr: h(12E8), d(4840) */
  257. volatile Uint32 selector_mix1_sel;
  258. /* Addr: h(12EC), d(4844) */
  259. volatile Uint32 selector_mix2_sel;
  260. /* Addr: h(12F0), d(4848) */
  261. volatile Uint32 rsvd6[4];
  262. /* Addr: h(1300), d(4864) */
  263. volatile Uint32 pfir_config0;
  264. /* Addr: h(1304), d(4868) */
  265. volatile Uint32 pfir_config1;
  266. /* Addr: h(1308), d(4872) */
  267. volatile Uint32 pfir_config2;
  268. /* Addr: h(130C), d(4876) */
  269. volatile Uint32 pfir_coef_offset0;
  270. /* Addr: h(1310), d(4880) */
  271. volatile Uint32 pfir_coef_offset1;
  272. /* Addr: h(1314), d(4884) */
  273. volatile Uint32 pfir_coef_offset2;
  274. /* Addr: h(1318), d(4888) */
  275. volatile Uint32 pfir_fcmux0;
  276. /* Addr: h(131C), d(4892) */
  277. volatile Uint32 pfir_fcmux1;
  278. /* Addr: h(1320), d(4896) */
  279. volatile Uint32 pfir_fcmux2;
  280. /* Addr: h(1324), d(4900) */
  281. volatile Uint32 pfir_pcsym;
  282. /* Addr: h(1328), d(4904) */
  283. volatile Uint32 rsvd7[6];
  284. /* Addr: h(1340), d(4928) */
  285. volatile Uint32 frw_time_step_lo;
  286. /* Addr: h(1344), d(4932) */
  287. volatile Uint32 frw_time_step_hi;
  288. /* Addr: h(1348), d(4936) */
  289. volatile Uint32 frw_reset_int_m1_lo;
  290. /* Addr: h(134C), d(4940) */
  291. volatile Uint32 frw_config0;
  292. /* Addr: h(1350), d(4944) */
  293. volatile Uint32 frw_config1;
  294. /* Addr: h(1354), d(4948) */
  295. volatile Uint32 frw_sig_init_val_lo;
  296. /* Addr: h(1358), d(4952) */
  297. volatile Uint32 frw_sig_inc_val_lo;
  298. /* Addr: h(135C), d(4956) */
  299. volatile Uint32 frw_sig_cfg;
  300. /* Addr: h(1360), d(4960) */
  301. volatile Uint32 frw_chksum_lo;
  302. /* Addr: h(1364), d(4964) */
  303. volatile Uint32 frw_chksum_hi;
  304. /* Addr: h(1368), d(4968) */
  305. volatile Uint32 rsvd8[6];
  306. /* Addr: h(1380), d(4992) */
  307. volatile Uint32 tx_signal_gen_config;
  308. /* Addr: h(1384), d(4996) */
  309. volatile Uint32 tx_signal_gen_ramp_start_lo;
  310. /* Addr: h(1388), d(5000) */
  311. volatile Uint32 tx_signal_gen_ramp_start_hi;
  312. /* Addr: h(138C), d(5004) */
  313. volatile Uint32 tx_signal_gen_ramp_stop_lo;
  314. /* Addr: h(1390), d(5008) */
  315. volatile Uint32 tx_signal_gen_ramp_stop_hi;
  316. /* Addr: h(1394), d(5012) */
  317. volatile Uint32 tx_signal_gen_ramp_slope_lo;
  318. /* Addr: h(1398), d(5016) */
  319. volatile Uint32 tx_signal_gen_ramp_slope_hi;
  320. /* Addr: h(139C), d(5020) */
  321. volatile Uint32 tx_signal_gen_pulse_width;
  322. /* Addr: h(13A0), d(5024) */
  323. volatile Uint32 rsvd9[1];
  324. /* Addr: h(13A4), d(5028) */
  325. volatile Uint32 rx_signal_gen_config;
  326. /* Addr: h(13A8), d(5032) */
  327. volatile Uint32 rx_signal_gen_ramp_start_lo;
  328. /* Addr: h(13AC), d(5036) */
  329. volatile Uint32 rx_signal_gen_ramp_start_hi;
  330. /* Addr: h(13B0), d(5040) */
  331. volatile Uint32 rx_signal_gen_ramp_stop_lo;
  332. /* Addr: h(13B4), d(5044) */
  333. volatile Uint32 rx_signal_gen_ramp_stop_hi;
  334. /* Addr: h(13B8), d(5048) */
  335. volatile Uint32 rx_signal_gen_ramp_slope_lo;
  336. /* Addr: h(13BC), d(5052) */
  337. volatile Uint32 rx_signal_gen_ramp_slope_hi;
  338. /* Addr: h(13C0), d(5056) */
  339. volatile Uint32 rx_signal_gen_pulse_width;
  340. /* Addr: h(13C4), d(5060) */
  341. volatile Uint32 rsvd10[1];
  342. /* Addr: h(13C8), d(5064) */
  343. volatile Uint32 tx_check_sum_config;
  344. /* Addr: h(13CC), d(5068) */
  345. volatile Uint32 tx_check_sum_signal_len;
  346. /* Addr: h(13D0), d(5072) */
  347. volatile Uint32 tx_check_sum_chan_sel;
  348. /* Addr: h(13D4), d(5076) */
  349. volatile Uint32 tx_check_sum_result_lo;
  350. /* Addr: h(13D8), d(5080) */
  351. volatile Uint32 tx_check_sum_result_hi;
  352. /* Addr: h(13DC), d(5084) */
  353. volatile Uint32 rx_check_sum_config;
  354. /* Addr: h(13E0), d(5088) */
  355. volatile Uint32 rx_check_sum_signal_len;
  356. /* Addr: h(13E4), d(5092) */
  357. volatile Uint32 rx_check_sum_chan_sel;
  358. /* Addr: h(13E8), d(5096) */
  359. volatile Uint32 rx_check_sum_result_lo;
  360. /* Addr: h(13EC), d(5100) */
  361. volatile Uint32 rx_check_sum_result_hi;
  362. /* Addr: h(13F0), d(5104) */
  363. volatile Uint32 rsvd11[64260];
  364. /* Addr: h(40000), d(262144) */
  365. volatile CSL_DFE_DDUC_PFIR_COEF_REGS pfir_coef[640];
  366. /* Addr: h(41400), d(267264) */
  367. volatile Uint32 rsvd12[768];
  368. /* Addr: h(42000), d(270336) */
  369. volatile Uint32 hop_hop2freq_tbl[1024];
  370. /* Addr: h(43000), d(274432) */
  371. volatile CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_REGS hop_freq2word_tbl[64];
  372. /* Addr: h(43400), d(275456) */
  373. volatile CSL_DFE_DDUC_HOP_OFFSET_REGS hop_offset[12];
  374. /* Addr: h(43460), d(275552) */
  375. volatile Uint32 rsvd13[8];
  376. /* Addr: h(43480), d(275584) */
  377. volatile CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_LO_REGS hop_mix0_freq_word_lo[4];
  378. /* Addr: h(434A0), d(275616) */
  379. volatile CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_MID_REGS hop_mix0_freq_word_mid[4];
  380. /* Addr: h(434C0), d(275648) */
  381. volatile CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_HI_REGS hop_mix0_freq_word_hi[4];
  382. /* Addr: h(434E0), d(275680) */
  383. volatile CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_LO_REGS hop_mix1_freq_word_lo[4];
  384. /* Addr: h(43500), d(275712) */
  385. volatile CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_MID_REGS hop_mix1_freq_word_mid[4];
  386. /* Addr: h(43520), d(275744) */
  387. volatile CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_HI_REGS hop_mix1_freq_word_hi[4];
  388. /* Addr: h(43540), d(275776) */
  389. volatile CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_LO_REGS hop_mix2_freq_word_lo[4];
  390. /* Addr: h(43560), d(275808) */
  391. volatile CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_MID_REGS hop_mix2_freq_word_mid[4];
  392. /* Addr: h(43580), d(275840) */
  393. volatile CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_HI_REGS hop_mix2_freq_word_hi[4];
  394. /* Addr: h(435A0), d(275872) */
  395. volatile Uint32 rsvd14[152];
  396. /* Addr: h(43800), d(276480) */
  397. volatile CSL_DFE_DDUC_FRW_PHASE_REGS frw_phase[12];
  398. } CSL_DFE_DDUC_REGS;
  399. /**************************************************************************\
  400. * Field Definition Macros
  401. \**************************************************************************/
  402. /* INTR_MASK_MASK */
  403. typedef struct
  404. {
  405. #ifdef _BIG_ENDIAN
  406. Uint32 rsvd0 : 27;
  407. Uint32 hop_halfway_intr_mask : 1;
  408. Uint32 hop_rollover_intr_mask : 1;
  409. Uint32 cic_ov_intr_mask : 3;
  410. #else
  411. Uint32 cic_ov_intr_mask : 3;
  412. Uint32 hop_rollover_intr_mask : 1;
  413. Uint32 hop_halfway_intr_mask : 1;
  414. Uint32 rsvd0 : 27;
  415. #endif
  416. } CSL_DFE_DDUC_INTR_MASK_MASK_REG;
  417. /* Mask which interrupts go out dduc interrupt pin. 1 to mask on, 0 to mask off. */
  418. #define CSL_DFE_DDUC_INTR_MASK_MASK_REG_CIC_OV_INTR_MASK_MASK (0x00000007u)
  419. #define CSL_DFE_DDUC_INTR_MASK_MASK_REG_CIC_OV_INTR_MASK_SHIFT (0x00000000u)
  420. #define CSL_DFE_DDUC_INTR_MASK_MASK_REG_CIC_OV_INTR_MASK_RESETVAL (0x00000000u)
  421. /* Mask which interrupts go out dduc interrupt pin. 1 to mask on, 0 to mask off. */
  422. #define CSL_DFE_DDUC_INTR_MASK_MASK_REG_HOP_ROLLOVER_INTR_MASK_MASK (0x00000008u)
  423. #define CSL_DFE_DDUC_INTR_MASK_MASK_REG_HOP_ROLLOVER_INTR_MASK_SHIFT (0x00000003u)
  424. #define CSL_DFE_DDUC_INTR_MASK_MASK_REG_HOP_ROLLOVER_INTR_MASK_RESETVAL (0x00000000u)
  425. /* Mask which interrupts go out dduc interrupt pin. 1 to mask on, 0 to mask off. */
  426. #define CSL_DFE_DDUC_INTR_MASK_MASK_REG_HOP_HALFWAY_INTR_MASK_MASK (0x00000010u)
  427. #define CSL_DFE_DDUC_INTR_MASK_MASK_REG_HOP_HALFWAY_INTR_MASK_SHIFT (0x00000004u)
  428. #define CSL_DFE_DDUC_INTR_MASK_MASK_REG_HOP_HALFWAY_INTR_MASK_RESETVAL (0x00000000u)
  429. #define CSL_DFE_DDUC_INTR_MASK_MASK_REG_ADDR (0x00000004u)
  430. #define CSL_DFE_DDUC_INTR_MASK_MASK_REG_RESETVAL (0x00000000u)
  431. /* INTR_MASK_STATUS */
  432. typedef struct
  433. {
  434. #ifdef _BIG_ENDIAN
  435. Uint32 rsvd0 : 27;
  436. Uint32 hop_halfway_intr_status : 1;
  437. Uint32 hop_rollover_intr_status : 1;
  438. Uint32 cic_ov_intr_status : 3;
  439. #else
  440. Uint32 cic_ov_intr_status : 3;
  441. Uint32 hop_rollover_intr_status : 1;
  442. Uint32 hop_halfway_intr_status : 1;
  443. Uint32 rsvd0 : 27;
  444. #endif
  445. } CSL_DFE_DDUC_INTR_MASK_STATUS_REG;
  446. /* Goes high only if cic overflows. Goes low only when mpu writes a 0. MPU writing 1 does nothing. */
  447. #define CSL_DFE_DDUC_INTR_MASK_STATUS_REG_CIC_OV_INTR_STATUS_MASK (0x00000007u)
  448. #define CSL_DFE_DDUC_INTR_MASK_STATUS_REG_CIC_OV_INTR_STATUS_SHIFT (0x00000000u)
  449. #define CSL_DFE_DDUC_INTR_MASK_STATUS_REG_CIC_OV_INTR_STATUS_RESETVAL (0x00000000u)
  450. /* Goes high only if hop period is done Goes low only when mpu writes a 0. MPU writing 1 does nothing. */
  451. #define CSL_DFE_DDUC_INTR_MASK_STATUS_REG_HOP_ROLLOVER_INTR_STATUS_MASK (0x00000008u)
  452. #define CSL_DFE_DDUC_INTR_MASK_STATUS_REG_HOP_ROLLOVER_INTR_STATUS_SHIFT (0x00000003u)
  453. #define CSL_DFE_DDUC_INTR_MASK_STATUS_REG_HOP_ROLLOVER_INTR_STATUS_RESETVAL (0x00000000u)
  454. /* Goes high only if hop period is halways done. Goes low only when mpu writes a 0. MPU writing 1 does nothing. */
  455. #define CSL_DFE_DDUC_INTR_MASK_STATUS_REG_HOP_HALFWAY_INTR_STATUS_MASK (0x00000010u)
  456. #define CSL_DFE_DDUC_INTR_MASK_STATUS_REG_HOP_HALFWAY_INTR_STATUS_SHIFT (0x00000004u)
  457. #define CSL_DFE_DDUC_INTR_MASK_STATUS_REG_HOP_HALFWAY_INTR_STATUS_RESETVAL (0x00000000u)
  458. #define CSL_DFE_DDUC_INTR_MASK_STATUS_REG_ADDR (0x00000008u)
  459. #define CSL_DFE_DDUC_INTR_MASK_STATUS_REG_RESETVAL (0x00000000u)
  460. /* INTR_MASK_FORCE */
  461. typedef struct
  462. {
  463. #ifdef _BIG_ENDIAN
  464. Uint32 rsvd0 : 27;
  465. Uint32 hop_halfway_intr_force : 1;
  466. Uint32 hop_rollover_intr_force : 1;
  467. Uint32 cic_ov_intr_force : 3;
  468. #else
  469. Uint32 cic_ov_intr_force : 3;
  470. Uint32 hop_rollover_intr_force : 1;
  471. Uint32 hop_halfway_intr_force : 1;
  472. Uint32 rsvd0 : 27;
  473. #endif
  474. } CSL_DFE_DDUC_INTR_MASK_FORCE_REG;
  475. /* Set to 1 to force cic_ov_intr status high */
  476. #define CSL_DFE_DDUC_INTR_MASK_FORCE_REG_CIC_OV_INTR_FORCE_MASK (0x00000007u)
  477. #define CSL_DFE_DDUC_INTR_MASK_FORCE_REG_CIC_OV_INTR_FORCE_SHIFT (0x00000000u)
  478. #define CSL_DFE_DDUC_INTR_MASK_FORCE_REG_CIC_OV_INTR_FORCE_RESETVAL (0x00000000u)
  479. /* Set to 1 to force hop_rollover_intr status high */
  480. #define CSL_DFE_DDUC_INTR_MASK_FORCE_REG_HOP_ROLLOVER_INTR_FORCE_MASK (0x00000008u)
  481. #define CSL_DFE_DDUC_INTR_MASK_FORCE_REG_HOP_ROLLOVER_INTR_FORCE_SHIFT (0x00000003u)
  482. #define CSL_DFE_DDUC_INTR_MASK_FORCE_REG_HOP_ROLLOVER_INTR_FORCE_RESETVAL (0x00000000u)
  483. /* Set to 1 to force hop_halfway_intr status high */
  484. #define CSL_DFE_DDUC_INTR_MASK_FORCE_REG_HOP_HALFWAY_INTR_FORCE_MASK (0x00000010u)
  485. #define CSL_DFE_DDUC_INTR_MASK_FORCE_REG_HOP_HALFWAY_INTR_FORCE_SHIFT (0x00000004u)
  486. #define CSL_DFE_DDUC_INTR_MASK_FORCE_REG_HOP_HALFWAY_INTR_FORCE_RESETVAL (0x00000000u)
  487. #define CSL_DFE_DDUC_INTR_MASK_FORCE_REG_ADDR (0x0000000Cu)
  488. #define CSL_DFE_DDUC_INTR_MASK_FORCE_REG_RESETVAL (0x00000000u)
  489. /* INITS_CLKS */
  490. typedef struct
  491. {
  492. #ifdef _BIG_ENDIAN
  493. Uint32 rsvd0 : 16;
  494. Uint32 rx_cken_mult : 2;
  495. Uint32 rx_cken_dly : 3;
  496. Uint32 bb_cken_dly : 3;
  497. Uint32 tx_sel : 1;
  498. Uint32 clear_data : 1;
  499. Uint32 init_state : 1;
  500. Uint32 init_clk_gate : 1;
  501. Uint32 inits_ssel : 4;
  502. #else
  503. Uint32 inits_ssel : 4;
  504. Uint32 init_clk_gate : 1;
  505. Uint32 init_state : 1;
  506. Uint32 clear_data : 1;
  507. Uint32 tx_sel : 1;
  508. Uint32 bb_cken_dly : 3;
  509. Uint32 rx_cken_dly : 3;
  510. Uint32 rx_cken_mult : 2;
  511. Uint32 rsvd0 : 16;
  512. #endif
  513. } CSL_DFE_DDUC_INITS_CLKS_REG;
  514. /* Sync to release init_clk_gate, init_state and clear_data */
  515. #define CSL_DFE_DDUC_INITS_CLKS_REG_INITS_SSEL_MASK (0x0000000Fu)
  516. #define CSL_DFE_DDUC_INITS_CLKS_REG_INITS_SSEL_SHIFT (0x00000000u)
  517. #define CSL_DFE_DDUC_INITS_CLKS_REG_INITS_SSEL_RESETVAL (0x00000000u)
  518. /* When set to 1, all clock gating logic is held in initial state. When set to 0 AND an inits_ssel is sent, clock gating logic is released from initial state. */
  519. #define CSL_DFE_DDUC_INITS_CLKS_REG_INIT_CLK_GATE_MASK (0x00000010u)
  520. #define CSL_DFE_DDUC_INITS_CLKS_REG_INIT_CLK_GATE_SHIFT (0x00000004u)
  521. #define CSL_DFE_DDUC_INITS_CLKS_REG_INIT_CLK_GATE_RESETVAL (0x00000001u)
  522. /* When set to 1, all state machine logic is held in initial state. When set to 0 AND an inits_ssel is sent, state machine logic is released from initial state. */
  523. #define CSL_DFE_DDUC_INITS_CLKS_REG_INIT_STATE_MASK (0x00000020u)
  524. #define CSL_DFE_DDUC_INITS_CLKS_REG_INIT_STATE_SHIFT (0x00000005u)
  525. #define CSL_DFE_DDUC_INITS_CLKS_REG_INIT_STATE_RESETVAL (0x00000001u)
  526. /* When set to 1, all data is forced to zero. When set to 0 AND an inits_ssel is sent, data is allowed to flow through. */
  527. #define CSL_DFE_DDUC_INITS_CLKS_REG_CLEAR_DATA_MASK (0x00000040u)
  528. #define CSL_DFE_DDUC_INITS_CLKS_REG_CLEAR_DATA_SHIFT (0x00000006u)
  529. #define CSL_DFE_DDUC_INITS_CLKS_REG_CLEAR_DATA_RESETVAL (0x00000001u)
  530. /* Set to 1 if dduc is in transmit/downlink, 0 otherwse. Used to mux cken signals. */
  531. #define CSL_DFE_DDUC_INITS_CLKS_REG_TX_SEL_MASK (0x00000080u)
  532. #define CSL_DFE_DDUC_INITS_CLKS_REG_TX_SEL_SHIFT (0x00000007u)
  533. #define CSL_DFE_DDUC_INITS_CLKS_REG_TX_SEL_RESETVAL (0x00000000u)
  534. /* Set to N to delay the bb_cken signal by N clocks (does NOT delay frame/data). */
  535. #define CSL_DFE_DDUC_INITS_CLKS_REG_BB_CKEN_DLY_MASK (0x00000700u)
  536. #define CSL_DFE_DDUC_INITS_CLKS_REG_BB_CKEN_DLY_SHIFT (0x00000008u)
  537. #define CSL_DFE_DDUC_INITS_CLKS_REG_BB_CKEN_DLY_RESETVAL (0x00000000u)
  538. /* If this is dduc0, then set to N to delay the rx_cken signal by N clocks. If this is dduc1, then set to N to delay the fb_cken signal by N clocks. This does nothing for dduc 2 and 3. This does NOT delay frame/data. */
  539. #define CSL_DFE_DDUC_INITS_CLKS_REG_RX_CKEN_DLY_MASK (0x00003800u)
  540. #define CSL_DFE_DDUC_INITS_CLKS_REG_RX_CKEN_DLY_SHIFT (0x0000000Bu)
  541. #define CSL_DFE_DDUC_INITS_CLKS_REG_RX_CKEN_DLY_RESETVAL (0x00000000u)
  542. /* If this is dduc0, then set to 3 to multiply rx_cken signal by 8. 2 by 4. 1 by 2. 0 to do nothing. If this is dduc1, then this multiplies fb_cken signal instead. If this is dduc2 or 3, it does nothing. Also re-aligns data and frame signals with new, multiplied cken. */
  543. #define CSL_DFE_DDUC_INITS_CLKS_REG_RX_CKEN_MULT_MASK (0x0000C000u)
  544. #define CSL_DFE_DDUC_INITS_CLKS_REG_RX_CKEN_MULT_SHIFT (0x0000000Eu)
  545. #define CSL_DFE_DDUC_INITS_CLKS_REG_RX_CKEN_MULT_RESETVAL (0x00000000u)
  546. #define CSL_DFE_DDUC_INITS_CLKS_REG_ADDR (0x00000400u)
  547. #define CSL_DFE_DDUC_INITS_CLKS_REG_RESETVAL (0x00000070u)
  548. /* CLK_GATER_TIME_STEP_LSB */
  549. typedef struct
  550. {
  551. #ifdef _BIG_ENDIAN
  552. Uint32 rsvd0 : 16;
  553. Uint32 time_step_15_0 : 16;
  554. #else
  555. Uint32 time_step_15_0 : 16;
  556. Uint32 rsvd0 : 16;
  557. #endif
  558. } CSL_DFE_DDUC_CLK_GATER_TIME_STEP_LSB_REG;
  559. /* Farrow-style time accumulation word. Gates off a clock when it overflows. This removes one clock out of every (2^31)/time_step clocks. Put another way: multiplies the clock rate by ((2^31)-time_step)/(2^31). */
  560. #define CSL_DFE_DDUC_CLK_GATER_TIME_STEP_LSB_REG_TIME_STEP_15_0_MASK (0x0000FFFFu)
  561. #define CSL_DFE_DDUC_CLK_GATER_TIME_STEP_LSB_REG_TIME_STEP_15_0_SHIFT (0x00000000u)
  562. #define CSL_DFE_DDUC_CLK_GATER_TIME_STEP_LSB_REG_TIME_STEP_15_0_RESETVAL (0x00000000u)
  563. #define CSL_DFE_DDUC_CLK_GATER_TIME_STEP_LSB_REG_ADDR (0x00000800u)
  564. #define CSL_DFE_DDUC_CLK_GATER_TIME_STEP_LSB_REG_RESETVAL (0x00000000u)
  565. /* CLK_GATER_TIME_STEP_MSB */
  566. typedef struct
  567. {
  568. #ifdef _BIG_ENDIAN
  569. Uint32 rsvd0 : 16;
  570. Uint32 time_step_31_16 : 16;
  571. #else
  572. Uint32 time_step_31_16 : 16;
  573. Uint32 rsvd0 : 16;
  574. #endif
  575. } CSL_DFE_DDUC_CLK_GATER_TIME_STEP_MSB_REG;
  576. /* */
  577. #define CSL_DFE_DDUC_CLK_GATER_TIME_STEP_MSB_REG_TIME_STEP_31_16_MASK (0x0000FFFFu)
  578. #define CSL_DFE_DDUC_CLK_GATER_TIME_STEP_MSB_REG_TIME_STEP_31_16_SHIFT (0x00000000u)
  579. #define CSL_DFE_DDUC_CLK_GATER_TIME_STEP_MSB_REG_TIME_STEP_31_16_RESETVAL (0x00000000u)
  580. #define CSL_DFE_DDUC_CLK_GATER_TIME_STEP_MSB_REG_ADDR (0x00000804u)
  581. #define CSL_DFE_DDUC_CLK_GATER_TIME_STEP_MSB_REG_RESETVAL (0x00000000u)
  582. /* CLK_GATER_RESET_INT_LSB */
  583. typedef struct
  584. {
  585. #ifdef _BIG_ENDIAN
  586. Uint32 rsvd0 : 16;
  587. Uint32 reset_int_15_0 : 16;
  588. #else
  589. Uint32 reset_int_15_0 : 16;
  590. Uint32 rsvd0 : 16;
  591. #endif
  592. } CSL_DFE_DDUC_CLK_GATER_RESET_INT_LSB_REG;
  593. /* Farrow-style reset interval. Resets the time accumulator every reset_int plus 1 clocks (resetting also counts as an overflow, so it gates a clock). If 0, then reset is disabled. If the output clock is N/D the rate of the ungated clock, then this should be set to D-1. */
  594. #define CSL_DFE_DDUC_CLK_GATER_RESET_INT_LSB_REG_RESET_INT_15_0_MASK (0x0000FFFFu)
  595. #define CSL_DFE_DDUC_CLK_GATER_RESET_INT_LSB_REG_RESET_INT_15_0_SHIFT (0x00000000u)
  596. #define CSL_DFE_DDUC_CLK_GATER_RESET_INT_LSB_REG_RESET_INT_15_0_RESETVAL (0x00000000u)
  597. #define CSL_DFE_DDUC_CLK_GATER_RESET_INT_LSB_REG_ADDR (0x00000808u)
  598. #define CSL_DFE_DDUC_CLK_GATER_RESET_INT_LSB_REG_RESETVAL (0x00000000u)
  599. /* CLK_GATER_RESET_INT_MSB */
  600. typedef struct
  601. {
  602. #ifdef _BIG_ENDIAN
  603. Uint32 rsvd0 : 16;
  604. Uint32 reset_int_31_16 : 16;
  605. #else
  606. Uint32 reset_int_31_16 : 16;
  607. Uint32 rsvd0 : 16;
  608. #endif
  609. } CSL_DFE_DDUC_CLK_GATER_RESET_INT_MSB_REG;
  610. /* */
  611. #define CSL_DFE_DDUC_CLK_GATER_RESET_INT_MSB_REG_RESET_INT_31_16_MASK (0x0000FFFFu)
  612. #define CSL_DFE_DDUC_CLK_GATER_RESET_INT_MSB_REG_RESET_INT_31_16_SHIFT (0x00000000u)
  613. #define CSL_DFE_DDUC_CLK_GATER_RESET_INT_MSB_REG_RESET_INT_31_16_RESETVAL (0x00000000u)
  614. #define CSL_DFE_DDUC_CLK_GATER_RESET_INT_MSB_REG_ADDR (0x0000080Cu)
  615. #define CSL_DFE_DDUC_CLK_GATER_RESET_INT_MSB_REG_RESETVAL (0x00000000u)
  616. /* CLK_GATER_TDD_PERIOD_LSB */
  617. typedef struct
  618. {
  619. #ifdef _BIG_ENDIAN
  620. Uint32 rsvd0 : 16;
  621. Uint32 tdd_period_15_0 : 16;
  622. #else
  623. Uint32 tdd_period_15_0 : 16;
  624. Uint32 rsvd0 : 16;
  625. #endif
  626. } CSL_DFE_DDUC_CLK_GATER_TDD_PERIOD_LSB_REG;
  627. /* TDD count period. Counts from 0 to programmed value and repeats. */
  628. #define CSL_DFE_DDUC_CLK_GATER_TDD_PERIOD_LSB_REG_TDD_PERIOD_15_0_MASK (0x0000FFFFu)
  629. #define CSL_DFE_DDUC_CLK_GATER_TDD_PERIOD_LSB_REG_TDD_PERIOD_15_0_SHIFT (0x00000000u)
  630. #define CSL_DFE_DDUC_CLK_GATER_TDD_PERIOD_LSB_REG_TDD_PERIOD_15_0_RESETVAL (0x00000000u)
  631. #define CSL_DFE_DDUC_CLK_GATER_TDD_PERIOD_LSB_REG_ADDR (0x00000810u)
  632. #define CSL_DFE_DDUC_CLK_GATER_TDD_PERIOD_LSB_REG_RESETVAL (0x00000000u)
  633. /* CLK_GATER_TDD_PERIOD_MSB */
  634. typedef struct
  635. {
  636. #ifdef _BIG_ENDIAN
  637. Uint32 rsvd0 : 24;
  638. Uint32 tdd_period_23_16 : 8;
  639. #else
  640. Uint32 tdd_period_23_16 : 8;
  641. Uint32 rsvd0 : 24;
  642. #endif
  643. } CSL_DFE_DDUC_CLK_GATER_TDD_PERIOD_MSB_REG;
  644. /* */
  645. #define CSL_DFE_DDUC_CLK_GATER_TDD_PERIOD_MSB_REG_TDD_PERIOD_23_16_MASK (0x000000FFu)
  646. #define CSL_DFE_DDUC_CLK_GATER_TDD_PERIOD_MSB_REG_TDD_PERIOD_23_16_SHIFT (0x00000000u)
  647. #define CSL_DFE_DDUC_CLK_GATER_TDD_PERIOD_MSB_REG_TDD_PERIOD_23_16_RESETVAL (0x00000000u)
  648. #define CSL_DFE_DDUC_CLK_GATER_TDD_PERIOD_MSB_REG_ADDR (0x00000814u)
  649. #define CSL_DFE_DDUC_CLK_GATER_TDD_PERIOD_MSB_REG_RESETVAL (0x00000000u)
  650. /* CLK_GATER_TDD_ON_0_LSB */
  651. typedef struct
  652. {
  653. #ifdef _BIG_ENDIAN
  654. Uint32 rsvd0 : 16;
  655. Uint32 tdd_on_0_15_0 : 16;
  656. #else
  657. Uint32 tdd_on_0_15_0 : 16;
  658. Uint32 rsvd0 : 16;
  659. #endif
  660. } CSL_DFE_DDUC_CLK_GATER_TDD_ON_0_LSB_REG;
  661. /* TDD on time. Turns on clocks when counter hits this value. Remains on until it his an off time. */
  662. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_0_LSB_REG_TDD_ON_0_15_0_MASK (0x0000FFFFu)
  663. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_0_LSB_REG_TDD_ON_0_15_0_SHIFT (0x00000000u)
  664. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_0_LSB_REG_TDD_ON_0_15_0_RESETVAL (0x00000000u)
  665. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_0_LSB_REG_ADDR (0x00000818u)
  666. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_0_LSB_REG_RESETVAL (0x00000000u)
  667. /* CLK_GATER_TDD_ON_0_MSB */
  668. typedef struct
  669. {
  670. #ifdef _BIG_ENDIAN
  671. Uint32 rsvd0 : 24;
  672. Uint32 tdd_on_0_23_16 : 8;
  673. #else
  674. Uint32 tdd_on_0_23_16 : 8;
  675. Uint32 rsvd0 : 24;
  676. #endif
  677. } CSL_DFE_DDUC_CLK_GATER_TDD_ON_0_MSB_REG;
  678. /* */
  679. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_0_MSB_REG_TDD_ON_0_23_16_MASK (0x000000FFu)
  680. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_0_MSB_REG_TDD_ON_0_23_16_SHIFT (0x00000000u)
  681. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_0_MSB_REG_TDD_ON_0_23_16_RESETVAL (0x00000000u)
  682. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_0_MSB_REG_ADDR (0x0000081Cu)
  683. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_0_MSB_REG_RESETVAL (0x00000000u)
  684. /* CLK_GATER_TDD_OFF_0_LSB */
  685. typedef struct
  686. {
  687. #ifdef _BIG_ENDIAN
  688. Uint32 rsvd0 : 16;
  689. Uint32 tdd_off_0_15_0 : 16;
  690. #else
  691. Uint32 tdd_off_0_15_0 : 16;
  692. Uint32 rsvd0 : 16;
  693. #endif
  694. } CSL_DFE_DDUC_CLK_GATER_TDD_OFF_0_LSB_REG;
  695. /* TDD off time. Turns off clocks when counter hits this value. Remains off until it his an on time. */
  696. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_0_LSB_REG_TDD_OFF_0_15_0_MASK (0x0000FFFFu)
  697. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_0_LSB_REG_TDD_OFF_0_15_0_SHIFT (0x00000000u)
  698. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_0_LSB_REG_TDD_OFF_0_15_0_RESETVAL (0x00000000u)
  699. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_0_LSB_REG_ADDR (0x00000820u)
  700. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_0_LSB_REG_RESETVAL (0x00000000u)
  701. /* CLK_GATER_TDD_OFF_0_MSB */
  702. typedef struct
  703. {
  704. #ifdef _BIG_ENDIAN
  705. Uint32 rsvd0 : 24;
  706. Uint32 tdd_off_0_23_16 : 8;
  707. #else
  708. Uint32 tdd_off_0_23_16 : 8;
  709. Uint32 rsvd0 : 24;
  710. #endif
  711. } CSL_DFE_DDUC_CLK_GATER_TDD_OFF_0_MSB_REG;
  712. /* */
  713. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_0_MSB_REG_TDD_OFF_0_23_16_MASK (0x000000FFu)
  714. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_0_MSB_REG_TDD_OFF_0_23_16_SHIFT (0x00000000u)
  715. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_0_MSB_REG_TDD_OFF_0_23_16_RESETVAL (0x00000000u)
  716. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_0_MSB_REG_ADDR (0x00000824u)
  717. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_0_MSB_REG_RESETVAL (0x00000000u)
  718. /* CLK_GATER_TDD_ON_1_LSB */
  719. typedef struct
  720. {
  721. #ifdef _BIG_ENDIAN
  722. Uint32 rsvd0 : 16;
  723. Uint32 tdd_on_1_15_0 : 16;
  724. #else
  725. Uint32 tdd_on_1_15_0 : 16;
  726. Uint32 rsvd0 : 16;
  727. #endif
  728. } CSL_DFE_DDUC_CLK_GATER_TDD_ON_1_LSB_REG;
  729. /* TDD on time. Turns on clocks when counter hits this value. Remains on until it his an off time. */
  730. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_1_LSB_REG_TDD_ON_1_15_0_MASK (0x0000FFFFu)
  731. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_1_LSB_REG_TDD_ON_1_15_0_SHIFT (0x00000000u)
  732. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_1_LSB_REG_TDD_ON_1_15_0_RESETVAL (0x00000000u)
  733. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_1_LSB_REG_ADDR (0x00000828u)
  734. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_1_LSB_REG_RESETVAL (0x00000000u)
  735. /* CLK_GATER_TDD_ON_1_MSB */
  736. typedef struct
  737. {
  738. #ifdef _BIG_ENDIAN
  739. Uint32 rsvd0 : 24;
  740. Uint32 tdd_on_1_23_16 : 8;
  741. #else
  742. Uint32 tdd_on_1_23_16 : 8;
  743. Uint32 rsvd0 : 24;
  744. #endif
  745. } CSL_DFE_DDUC_CLK_GATER_TDD_ON_1_MSB_REG;
  746. /* */
  747. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_1_MSB_REG_TDD_ON_1_23_16_MASK (0x000000FFu)
  748. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_1_MSB_REG_TDD_ON_1_23_16_SHIFT (0x00000000u)
  749. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_1_MSB_REG_TDD_ON_1_23_16_RESETVAL (0x00000000u)
  750. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_1_MSB_REG_ADDR (0x0000082Cu)
  751. #define CSL_DFE_DDUC_CLK_GATER_TDD_ON_1_MSB_REG_RESETVAL (0x00000000u)
  752. /* CLK_GATER_TDD_OFF_1_LSB */
  753. typedef struct
  754. {
  755. #ifdef _BIG_ENDIAN
  756. Uint32 rsvd0 : 16;
  757. Uint32 tdd_off_1_15_0 : 16;
  758. #else
  759. Uint32 tdd_off_1_15_0 : 16;
  760. Uint32 rsvd0 : 16;
  761. #endif
  762. } CSL_DFE_DDUC_CLK_GATER_TDD_OFF_1_LSB_REG;
  763. /* TDD off time. Turns off clocks when counter hits this value. Remains off until it his an on time. */
  764. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_1_LSB_REG_TDD_OFF_1_15_0_MASK (0x0000FFFFu)
  765. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_1_LSB_REG_TDD_OFF_1_15_0_SHIFT (0x00000000u)
  766. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_1_LSB_REG_TDD_OFF_1_15_0_RESETVAL (0x00000000u)
  767. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_1_LSB_REG_ADDR (0x00000830u)
  768. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_1_LSB_REG_RESETVAL (0x00000000u)
  769. /* CLK_GATER_TDD_OFF_1_MSB */
  770. typedef struct
  771. {
  772. #ifdef _BIG_ENDIAN
  773. Uint32 rsvd0 : 24;
  774. Uint32 tdd_off_1_23_16 : 8;
  775. #else
  776. Uint32 tdd_off_1_23_16 : 8;
  777. Uint32 rsvd0 : 24;
  778. #endif
  779. } CSL_DFE_DDUC_CLK_GATER_TDD_OFF_1_MSB_REG;
  780. /* */
  781. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_1_MSB_REG_TDD_OFF_1_23_16_MASK (0x000000FFu)
  782. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_1_MSB_REG_TDD_OFF_1_23_16_SHIFT (0x00000000u)
  783. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_1_MSB_REG_TDD_OFF_1_23_16_RESETVAL (0x00000000u)
  784. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_1_MSB_REG_ADDR (0x00000834u)
  785. #define CSL_DFE_DDUC_CLK_GATER_TDD_OFF_1_MSB_REG_RESETVAL (0x00000000u)
  786. /* BB_FRAME */
  787. typedef struct
  788. {
  789. #ifdef _BIG_ENDIAN
  790. Uint32 rsvd0 : 16;
  791. Uint32 bb_frame : 16;
  792. #else
  793. Uint32 bb_frame : 16;
  794. Uint32 rsvd0 : 16;
  795. #endif
  796. } CSL_DFE_DDUC_BB_FRAME_REG;
  797. /* number of BB clocks in frame minus 1 (number of clocks before reseting BB clock counter) */
  798. #define CSL_DFE_DDUC_BB_FRAME_REG_BB_FRAME_MASK (0x0000FFFFu)
  799. #define CSL_DFE_DDUC_BB_FRAME_REG_BB_FRAME_SHIFT (0x00000000u)
  800. #define CSL_DFE_DDUC_BB_FRAME_REG_BB_FRAME_RESETVAL (0x00000000u)
  801. #define CSL_DFE_DDUC_BB_FRAME_REG_ADDR (0x00001200u)
  802. #define CSL_DFE_DDUC_BB_FRAME_REG_RESETVAL (0x00000000u)
  803. /* BB_FLAG */
  804. typedef struct
  805. {
  806. #ifdef _BIG_ENDIAN
  807. Uint32 rsvd0 : 16;
  808. Uint32 bb_flag : 16;
  809. #else
  810. Uint32 bb_flag : 16;
  811. Uint32 rsvd0 : 16;
  812. #endif
  813. } CSL_DFE_DDUC_BB_FLAG_REG;
  814. /* value the BB clock counter must be to send a flag to the BB-PFIR buffer and a delayed channel flag out of the DDUC in RX mode. Does nothing in TX mode. */
  815. #define CSL_DFE_DDUC_BB_FLAG_REG_BB_FLAG_MASK (0x0000FFFFu)
  816. #define CSL_DFE_DDUC_BB_FLAG_REG_BB_FLAG_SHIFT (0x00000000u)
  817. #define CSL_DFE_DDUC_BB_FLAG_REG_BB_FLAG_RESETVAL (0x00000000u)
  818. #define CSL_DFE_DDUC_BB_FLAG_REG_ADDR (0x00001204u)
  819. #define CSL_DFE_DDUC_BB_FLAG_REG_RESETVAL (0x00000000u)
  820. /* FIR_START1 */
  821. typedef struct
  822. {
  823. #ifdef _BIG_ENDIAN
  824. Uint32 rsvd0 : 16;
  825. Uint32 fir_strt1 : 16;
  826. #else
  827. Uint32 fir_strt1 : 16;
  828. Uint32 rsvd0 : 16;
  829. #endif
  830. } CSL_DFE_DDUC_FIR_START1_REG;
  831. /* value the BB clock counter must be to start clocks to fir the first time */
  832. #define CSL_DFE_DDUC_FIR_START1_REG_FIR_STRT1_MASK (0x0000FFFFu)
  833. #define CSL_DFE_DDUC_FIR_START1_REG_FIR_STRT1_SHIFT (0x00000000u)
  834. #define CSL_DFE_DDUC_FIR_START1_REG_FIR_STRT1_RESETVAL (0x00000000u)
  835. #define CSL_DFE_DDUC_FIR_START1_REG_ADDR (0x00001208u)
  836. #define CSL_DFE_DDUC_FIR_START1_REG_RESETVAL (0x00000000u)
  837. /* FIR_START2 */
  838. typedef struct
  839. {
  840. #ifdef _BIG_ENDIAN
  841. Uint32 rsvd0 : 16;
  842. Uint32 fir_strt2 : 16;
  843. #else
  844. Uint32 fir_strt2 : 16;
  845. Uint32 rsvd0 : 16;
  846. #endif
  847. } CSL_DFE_DDUC_FIR_START2_REG;
  848. /* value the BB clock counter must be to start clocks to fir the second time */
  849. #define CSL_DFE_DDUC_FIR_START2_REG_FIR_STRT2_MASK (0x0000FFFFu)
  850. #define CSL_DFE_DDUC_FIR_START2_REG_FIR_STRT2_SHIFT (0x00000000u)
  851. #define CSL_DFE_DDUC_FIR_START2_REG_FIR_STRT2_RESETVAL (0x00000000u)
  852. #define CSL_DFE_DDUC_FIR_START2_REG_ADDR (0x0000120Cu)
  853. #define CSL_DFE_DDUC_FIR_START2_REG_RESETVAL (0x00000000u)
  854. /* FIR_STOP1 */
  855. typedef struct
  856. {
  857. #ifdef _BIG_ENDIAN
  858. Uint32 rsvd0 : 16;
  859. Uint32 fir_stop1 : 16;
  860. #else
  861. Uint32 fir_stop1 : 16;
  862. Uint32 rsvd0 : 16;
  863. #endif
  864. } CSL_DFE_DDUC_FIR_STOP1_REG;
  865. /* value the BB clock counter must be to stop clocks to fir the first time */
  866. #define CSL_DFE_DDUC_FIR_STOP1_REG_FIR_STOP1_MASK (0x0000FFFFu)
  867. #define CSL_DFE_DDUC_FIR_STOP1_REG_FIR_STOP1_SHIFT (0x00000000u)
  868. #define CSL_DFE_DDUC_FIR_STOP1_REG_FIR_STOP1_RESETVAL (0x00000000u)
  869. #define CSL_DFE_DDUC_FIR_STOP1_REG_ADDR (0x00001210u)
  870. #define CSL_DFE_DDUC_FIR_STOP1_REG_RESETVAL (0x00000000u)
  871. /* FIR_STOP2 */
  872. typedef struct
  873. {
  874. #ifdef _BIG_ENDIAN
  875. Uint32 rsvd0 : 16;
  876. Uint32 fir_stop2 : 16;
  877. #else
  878. Uint32 fir_stop2 : 16;
  879. Uint32 rsvd0 : 16;
  880. #endif
  881. } CSL_DFE_DDUC_FIR_STOP2_REG;
  882. /* value the BB clock counter must be to stop clocks to fir the second time */
  883. #define CSL_DFE_DDUC_FIR_STOP2_REG_FIR_STOP2_MASK (0x0000FFFFu)
  884. #define CSL_DFE_DDUC_FIR_STOP2_REG_FIR_STOP2_SHIFT (0x00000000u)
  885. #define CSL_DFE_DDUC_FIR_STOP2_REG_FIR_STOP2_RESETVAL (0x00000000u)
  886. #define CSL_DFE_DDUC_FIR_STOP2_REG_ADDR (0x00001214u)
  887. #define CSL_DFE_DDUC_FIR_STOP2_REG_RESETVAL (0x00000000u)
  888. /* FIR_FLAG1 */
  889. typedef struct
  890. {
  891. #ifdef _BIG_ENDIAN
  892. Uint32 rsvd0 : 16;
  893. Uint32 fir_flag1 : 16;
  894. #else
  895. Uint32 fir_flag1 : 16;
  896. Uint32 rsvd0 : 16;
  897. #endif
  898. } CSL_DFE_DDUC_FIR_FLAG1_REG;
  899. /* value the BB clock counter must be to send a flag to BB-PFIR buffer and a delayed flag to PFIR in TX mode, or a flag to PFIR-FRW buffer and a delayed flag to PFIR in RX mode the first time. */
  900. #define CSL_DFE_DDUC_FIR_FLAG1_REG_FIR_FLAG1_MASK (0x0000FFFFu)
  901. #define CSL_DFE_DDUC_FIR_FLAG1_REG_FIR_FLAG1_SHIFT (0x00000000u)
  902. #define CSL_DFE_DDUC_FIR_FLAG1_REG_FIR_FLAG1_RESETVAL (0x00000000u)
  903. #define CSL_DFE_DDUC_FIR_FLAG1_REG_ADDR (0x00001218u)
  904. #define CSL_DFE_DDUC_FIR_FLAG1_REG_RESETVAL (0x00000000u)
  905. /* FIR_FLAG2 */
  906. typedef struct
  907. {
  908. #ifdef _BIG_ENDIAN
  909. Uint32 rsvd0 : 16;
  910. Uint32 fir_flag2 : 16;
  911. #else
  912. Uint32 fir_flag2 : 16;
  913. Uint32 rsvd0 : 16;
  914. #endif
  915. } CSL_DFE_DDUC_FIR_FLAG2_REG;
  916. /* value the BB clock counter must be to send a flag to BB-PFIR buffer and a delayed flag to PFIR in TX mode, or a flag to PFIR-FRW buffer and a delayed flag to PFIR in RX mode a second time. */
  917. #define CSL_DFE_DDUC_FIR_FLAG2_REG_FIR_FLAG2_MASK (0x0000FFFFu)
  918. #define CSL_DFE_DDUC_FIR_FLAG2_REG_FIR_FLAG2_SHIFT (0x00000000u)
  919. #define CSL_DFE_DDUC_FIR_FLAG2_REG_FIR_FLAG2_RESETVAL (0x00000000u)
  920. #define CSL_DFE_DDUC_FIR_FLAG2_REG_ADDR (0x0000121Cu)
  921. #define CSL_DFE_DDUC_FIR_FLAG2_REG_RESETVAL (0x00000000u)
  922. /* FRWBB_START1 */
  923. typedef struct
  924. {
  925. #ifdef _BIG_ENDIAN
  926. Uint32 rsvd0 : 16;
  927. Uint32 frwbb_strt1 : 16;
  928. #else
  929. Uint32 frwbb_strt1 : 16;
  930. Uint32 rsvd0 : 16;
  931. #endif
  932. } CSL_DFE_DDUC_FRWBB_START1_REG;
  933. /* value the BB clock counter must be to start clocks to frw (BB side) the first time */
  934. #define CSL_DFE_DDUC_FRWBB_START1_REG_FRWBB_STRT1_MASK (0x0000FFFFu)
  935. #define CSL_DFE_DDUC_FRWBB_START1_REG_FRWBB_STRT1_SHIFT (0x00000000u)
  936. #define CSL_DFE_DDUC_FRWBB_START1_REG_FRWBB_STRT1_RESETVAL (0x00000000u)
  937. #define CSL_DFE_DDUC_FRWBB_START1_REG_ADDR (0x00001220u)
  938. #define CSL_DFE_DDUC_FRWBB_START1_REG_RESETVAL (0x00000000u)
  939. /* FRWBB_START2 */
  940. typedef struct
  941. {
  942. #ifdef _BIG_ENDIAN
  943. Uint32 rsvd0 : 16;
  944. Uint32 frwbb_strt2 : 16;
  945. #else
  946. Uint32 frwbb_strt2 : 16;
  947. Uint32 rsvd0 : 16;
  948. #endif
  949. } CSL_DFE_DDUC_FRWBB_START2_REG;
  950. /* value the BB clock counter must be to start clocks to frw (BB side) the second time */
  951. #define CSL_DFE_DDUC_FRWBB_START2_REG_FRWBB_STRT2_MASK (0x0000FFFFu)
  952. #define CSL_DFE_DDUC_FRWBB_START2_REG_FRWBB_STRT2_SHIFT (0x00000000u)
  953. #define CSL_DFE_DDUC_FRWBB_START2_REG_FRWBB_STRT2_RESETVAL (0x00000000u)
  954. #define CSL_DFE_DDUC_FRWBB_START2_REG_ADDR (0x00001224u)
  955. #define CSL_DFE_DDUC_FRWBB_START2_REG_RESETVAL (0x00000000u)
  956. /* FRWBB_STOP1 */
  957. typedef struct
  958. {
  959. #ifdef _BIG_ENDIAN
  960. Uint32 rsvd0 : 16;
  961. Uint32 frwbb_stop1 : 16;
  962. #else
  963. Uint32 frwbb_stop1 : 16;
  964. Uint32 rsvd0 : 16;
  965. #endif
  966. } CSL_DFE_DDUC_FRWBB_STOP1_REG;
  967. /* value the BB clock counter must be to stop clocks to frw (BB side) the first time */
  968. #define CSL_DFE_DDUC_FRWBB_STOP1_REG_FRWBB_STOP1_MASK (0x0000FFFFu)
  969. #define CSL_DFE_DDUC_FRWBB_STOP1_REG_FRWBB_STOP1_SHIFT (0x00000000u)
  970. #define CSL_DFE_DDUC_FRWBB_STOP1_REG_FRWBB_STOP1_RESETVAL (0x00000000u)
  971. #define CSL_DFE_DDUC_FRWBB_STOP1_REG_ADDR (0x00001228u)
  972. #define CSL_DFE_DDUC_FRWBB_STOP1_REG_RESETVAL (0x00000000u)
  973. /* FRWBB_STOP2 */
  974. typedef struct
  975. {
  976. #ifdef _BIG_ENDIAN
  977. Uint32 rsvd0 : 16;
  978. Uint32 frwbb_stop2 : 16;
  979. #else
  980. Uint32 frwbb_stop2 : 16;
  981. Uint32 rsvd0 : 16;
  982. #endif
  983. } CSL_DFE_DDUC_FRWBB_STOP2_REG;
  984. /* value the BB clock counter must be to stop clocks to frw (BB side) the second time */
  985. #define CSL_DFE_DDUC_FRWBB_STOP2_REG_FRWBB_STOP2_MASK (0x0000FFFFu)
  986. #define CSL_DFE_DDUC_FRWBB_STOP2_REG_FRWBB_STOP2_SHIFT (0x00000000u)
  987. #define CSL_DFE_DDUC_FRWBB_STOP2_REG_FRWBB_STOP2_RESETVAL (0x00000000u)
  988. #define CSL_DFE_DDUC_FRWBB_STOP2_REG_ADDR (0x0000122Cu)
  989. #define CSL_DFE_DDUC_FRWBB_STOP2_REG_RESETVAL (0x00000000u)
  990. /* FRWBB_FLAG1 */
  991. typedef struct
  992. {
  993. #ifdef _BIG_ENDIAN
  994. Uint32 rsvd0 : 16;
  995. Uint32 frwbb_flag1 : 16;
  996. #else
  997. Uint32 frwbb_flag1 : 16;
  998. Uint32 rsvd0 : 16;
  999. #endif
  1000. } CSL_DFE_DDUC_FRWBB_FLAG1_REG;
  1001. /* value the BB clock counter must be to send a flag to FIR-FRW buffer and to FRW bb side in TX or RX mode the first time. Depending on the mode, the flag is delayed to the buffer or to FRW. */
  1002. #define CSL_DFE_DDUC_FRWBB_FLAG1_REG_FRWBB_FLAG1_MASK (0x0000FFFFu)
  1003. #define CSL_DFE_DDUC_FRWBB_FLAG1_REG_FRWBB_FLAG1_SHIFT (0x00000000u)
  1004. #define CSL_DFE_DDUC_FRWBB_FLAG1_REG_FRWBB_FLAG1_RESETVAL (0x00000000u)
  1005. #define CSL_DFE_DDUC_FRWBB_FLAG1_REG_ADDR (0x00001230u)
  1006. #define CSL_DFE_DDUC_FRWBB_FLAG1_REG_RESETVAL (0x00000000u)
  1007. /* FRWBB_FLAG2 */
  1008. typedef struct
  1009. {
  1010. #ifdef _BIG_ENDIAN
  1011. Uint32 rsvd0 : 16;
  1012. Uint32 frwbb_flag2 : 16;
  1013. #else
  1014. Uint32 frwbb_flag2 : 16;
  1015. Uint32 rsvd0 : 16;
  1016. #endif
  1017. } CSL_DFE_DDUC_FRWBB_FLAG2_REG;
  1018. /* value the BB clock counter must be to send a flag to FIR-FRW buffer and to FRW bb side in TX or RX mode a second time. Depending on the mode, the flag is delayed to the buffer or to FRW. */
  1019. #define CSL_DFE_DDUC_FRWBB_FLAG2_REG_FRWBB_FLAG2_MASK (0x0000FFFFu)
  1020. #define CSL_DFE_DDUC_FRWBB_FLAG2_REG_FRWBB_FLAG2_SHIFT (0x00000000u)
  1021. #define CSL_DFE_DDUC_FRWBB_FLAG2_REG_FRWBB_FLAG2_RESETVAL (0x00000000u)
  1022. #define CSL_DFE_DDUC_FRWBB_FLAG2_REG_ADDR (0x00001234u)
  1023. #define CSL_DFE_DDUC_FRWBB_FLAG2_REG_RESETVAL (0x00000000u)
  1024. /* CONFIG */
  1025. typedef struct
  1026. {
  1027. #ifdef _BIG_ENDIAN
  1028. Uint32 rsvd0 : 21;
  1029. Uint32 frw_byp : 1;
  1030. Uint32 cic0_byp : 1;
  1031. Uint32 cicmix_en2 : 1;
  1032. Uint32 cicmix_en1 : 1;
  1033. Uint32 cicmix_en0 : 1;
  1034. Uint32 if_frame : 6;
  1035. #else
  1036. Uint32 if_frame : 6;
  1037. Uint32 cicmix_en0 : 1;
  1038. Uint32 cicmix_en1 : 1;
  1039. Uint32 cicmix_en2 : 1;
  1040. Uint32 cic0_byp : 1;
  1041. Uint32 frw_byp : 1;
  1042. Uint32 rsvd0 : 21;
  1043. #endif
  1044. } CSL_DFE_DDUC_CONFIG_REG;
  1045. /* number of IF clocks in frame minus 1 (number of clocks before reseting IF clock counter) */
  1046. #define CSL_DFE_DDUC_CONFIG_REG_IF_FRAME_MASK (0x0000003Fu)
  1047. #define CSL_DFE_DDUC_CONFIG_REG_IF_FRAME_SHIFT (0x00000000u)
  1048. #define CSL_DFE_DDUC_CONFIG_REG_IF_FRAME_RESETVAL (0x00000000u)
  1049. /* enable CIC0 and MIX0 (turns on/off the clocks…does NOT bypass the blocks) */
  1050. #define CSL_DFE_DDUC_CONFIG_REG_CICMIX_EN0_MASK (0x00000040u)
  1051. #define CSL_DFE_DDUC_CONFIG_REG_CICMIX_EN0_SHIFT (0x00000006u)
  1052. #define CSL_DFE_DDUC_CONFIG_REG_CICMIX_EN0_RESETVAL (0x00000000u)
  1053. /* enable CIC1 and MIX1 (turns on/off the clocks…does NOT bypass the blocks) */
  1054. #define CSL_DFE_DDUC_CONFIG_REG_CICMIX_EN1_MASK (0x00000080u)
  1055. #define CSL_DFE_DDUC_CONFIG_REG_CICMIX_EN1_SHIFT (0x00000007u)
  1056. #define CSL_DFE_DDUC_CONFIG_REG_CICMIX_EN1_RESETVAL (0x00000000u)
  1057. /* enable CIC2 and MIX2 (turns on/off the clocks…does NOT bypass the blocks) */
  1058. #define CSL_DFE_DDUC_CONFIG_REG_CICMIX_EN2_MASK (0x00000100u)
  1059. #define CSL_DFE_DDUC_CONFIG_REG_CICMIX_EN2_SHIFT (0x00000008u)
  1060. #define CSL_DFE_DDUC_CONFIG_REG_CICMIX_EN2_RESETVAL (0x00000000u)
  1061. /* bypass CIC 0 input to output (both xmt and rcv…does NOT turn off clocks) */
  1062. #define CSL_DFE_DDUC_CONFIG_REG_CIC0_BYP_MASK (0x00000200u)
  1063. #define CSL_DFE_DDUC_CONFIG_REG_CIC0_BYP_SHIFT (0x00000009u)
  1064. #define CSL_DFE_DDUC_CONFIG_REG_CIC0_BYP_RESETVAL (0x00000000u)
  1065. /* bypass frw (requires farrow phase to be 0 and time_step decimal portion to be 0); if asserted, frw gain is forced to 1.0 in transmit and 0.5 in receive. */
  1066. #define CSL_DFE_DDUC_CONFIG_REG_FRW_BYP_MASK (0x00000400u)
  1067. #define CSL_DFE_DDUC_CONFIG_REG_FRW_BYP_SHIFT (0x0000000Au)
  1068. #define CSL_DFE_DDUC_CONFIG_REG_FRW_BYP_RESETVAL (0x00000000u)
  1069. #define CSL_DFE_DDUC_CONFIG_REG_ADDR (0x0000123Cu)
  1070. #define CSL_DFE_DDUC_CONFIG_REG_RESETVAL (0x00000000u)
  1071. /* FRWIF_START */
  1072. typedef struct
  1073. {
  1074. #ifdef _BIG_ENDIAN
  1075. Uint32 rsvd1 : 18;
  1076. Uint32 frwif_strt2 : 6;
  1077. Uint32 rsvd0 : 2;
  1078. Uint32 frwif_strt1 : 6;
  1079. #else
  1080. Uint32 frwif_strt1 : 6;
  1081. Uint32 rsvd0 : 2;
  1082. Uint32 frwif_strt2 : 6;
  1083. Uint32 rsvd1 : 18;
  1084. #endif
  1085. } CSL_DFE_DDUC_FRWIF_START_REG;
  1086. /* value the IF clock counter must be to start clocks to frw (IF side) the first time */
  1087. #define CSL_DFE_DDUC_FRWIF_START_REG_FRWIF_STRT1_MASK (0x0000003Fu)
  1088. #define CSL_DFE_DDUC_FRWIF_START_REG_FRWIF_STRT1_SHIFT (0x00000000u)
  1089. #define CSL_DFE_DDUC_FRWIF_START_REG_FRWIF_STRT1_RESETVAL (0x00000000u)
  1090. /* value the IF clock counter must be to start clocks to frw (IF side) the second time */
  1091. #define CSL_DFE_DDUC_FRWIF_START_REG_FRWIF_STRT2_MASK (0x00003F00u)
  1092. #define CSL_DFE_DDUC_FRWIF_START_REG_FRWIF_STRT2_SHIFT (0x00000008u)
  1093. #define CSL_DFE_DDUC_FRWIF_START_REG_FRWIF_STRT2_RESETVAL (0x00000000u)
  1094. #define CSL_DFE_DDUC_FRWIF_START_REG_ADDR (0x00001240u)
  1095. #define CSL_DFE_DDUC_FRWIF_START_REG_RESETVAL (0x00000000u)
  1096. /* FRWIF_STOP */
  1097. typedef struct
  1098. {
  1099. #ifdef _BIG_ENDIAN
  1100. Uint32 rsvd1 : 18;
  1101. Uint32 frwif_stop2 : 6;
  1102. Uint32 rsvd0 : 2;
  1103. Uint32 frwif_stop1 : 6;
  1104. #else
  1105. Uint32 frwif_stop1 : 6;
  1106. Uint32 rsvd0 : 2;
  1107. Uint32 frwif_stop2 : 6;
  1108. Uint32 rsvd1 : 18;
  1109. #endif
  1110. } CSL_DFE_DDUC_FRWIF_STOP_REG;
  1111. /* value the IF clock counter must be to stop clocks to frw (IF side) the first time */
  1112. #define CSL_DFE_DDUC_FRWIF_STOP_REG_FRWIF_STOP1_MASK (0x0000003Fu)
  1113. #define CSL_DFE_DDUC_FRWIF_STOP_REG_FRWIF_STOP1_SHIFT (0x00000000u)
  1114. #define CSL_DFE_DDUC_FRWIF_STOP_REG_FRWIF_STOP1_RESETVAL (0x00000000u)
  1115. /* value the IF clock counter must be to stop clocks to frw (IF side) the second time */
  1116. #define CSL_DFE_DDUC_FRWIF_STOP_REG_FRWIF_STOP2_MASK (0x00003F00u)
  1117. #define CSL_DFE_DDUC_FRWIF_STOP_REG_FRWIF_STOP2_SHIFT (0x00000008u)
  1118. #define CSL_DFE_DDUC_FRWIF_STOP_REG_FRWIF_STOP2_RESETVAL (0x00000000u)
  1119. #define CSL_DFE_DDUC_FRWIF_STOP_REG_ADDR (0x00001244u)
  1120. #define CSL_DFE_DDUC_FRWIF_STOP_REG_RESETVAL (0x00000000u)
  1121. /* FRWIF_FLAG */
  1122. typedef struct
  1123. {
  1124. #ifdef _BIG_ENDIAN
  1125. Uint32 rsvd1 : 18;
  1126. Uint32 frwif_flag2 : 6;
  1127. Uint32 rsvd0 : 2;
  1128. Uint32 frwif_flag1 : 6;
  1129. #else
  1130. Uint32 frwif_flag1 : 6;
  1131. Uint32 rsvd0 : 2;
  1132. Uint32 frwif_flag2 : 6;
  1133. Uint32 rsvd1 : 18;
  1134. #endif
  1135. } CSL_DFE_DDUC_FRWIF_FLAG_REG;
  1136. /* value the IF clock counter must be to send a flag to FRW IF side and a delayed flag to FRW-CIC buffer the first time in TX or RX mode. */
  1137. #define CSL_DFE_DDUC_FRWIF_FLAG_REG_FRWIF_FLAG1_MASK (0x0000003Fu)
  1138. #define CSL_DFE_DDUC_FRWIF_FLAG_REG_FRWIF_FLAG1_SHIFT (0x00000000u)
  1139. #define CSL_DFE_DDUC_FRWIF_FLAG_REG_FRWIF_FLAG1_RESETVAL (0x00000000u)
  1140. /* value the IF clock counter must be to send a flag to FRW IF side and a delayed flag to FRW-CIC buffer a second time in TX or RX mode. */
  1141. #define CSL_DFE_DDUC_FRWIF_FLAG_REG_FRWIF_FLAG2_MASK (0x00003F00u)
  1142. #define CSL_DFE_DDUC_FRWIF_FLAG_REG_FRWIF_FLAG2_SHIFT (0x00000008u)
  1143. #define CSL_DFE_DDUC_FRWIF_FLAG_REG_FRWIF_FLAG2_RESETVAL (0x00000000u)
  1144. #define CSL_DFE_DDUC_FRWIF_FLAG_REG_ADDR (0x00001248u)
  1145. #define CSL_DFE_DDUC_FRWIF_FLAG_REG_RESETVAL (0x00000000u)
  1146. /* CICMIX_START */
  1147. typedef struct
  1148. {
  1149. #ifdef _BIG_ENDIAN
  1150. Uint32 rsvd1 : 18;
  1151. Uint32 cicmix_strt2 : 6;
  1152. Uint32 rsvd0 : 2;
  1153. Uint32 cicmix_strt1 : 6;
  1154. #else
  1155. Uint32 cicmix_strt1 : 6;
  1156. Uint32 rsvd0 : 2;
  1157. Uint32 cicmix_strt2 : 6;
  1158. Uint32 rsvd1 : 18;
  1159. #endif
  1160. } CSL_DFE_DDUC_CICMIX_START_REG;
  1161. /* value the IF clock counter must be to start clocks to CIC (including CIC comb filter) and mixer the first time */
  1162. #define CSL_DFE_DDUC_CICMIX_START_REG_CICMIX_STRT1_MASK (0x0000003Fu)
  1163. #define CSL_DFE_DDUC_CICMIX_START_REG_CICMIX_STRT1_SHIFT (0x00000000u)
  1164. #define CSL_DFE_DDUC_CICMIX_START_REG_CICMIX_STRT1_RESETVAL (0x00000000u)
  1165. /* value the IF clock counter must be to start clocks to CIC (including CIC comb filter) and mixer the second time */
  1166. #define CSL_DFE_DDUC_CICMIX_START_REG_CICMIX_STRT2_MASK (0x00003F00u)
  1167. #define CSL_DFE_DDUC_CICMIX_START_REG_CICMIX_STRT2_SHIFT (0x00000008u)
  1168. #define CSL_DFE_DDUC_CICMIX_START_REG_CICMIX_STRT2_RESETVAL (0x00000000u)
  1169. #define CSL_DFE_DDUC_CICMIX_START_REG_ADDR (0x00001250u)
  1170. #define CSL_DFE_DDUC_CICMIX_START_REG_RESETVAL (0x00000000u)
  1171. /* CICMIX_COMB_STOP */
  1172. typedef struct
  1173. {
  1174. #ifdef _BIG_ENDIAN
  1175. Uint32 rsvd1 : 18;
  1176. Uint32 cic_cmb_stop2 : 6;
  1177. Uint32 rsvd0 : 2;
  1178. Uint32 cic_cmb_stop1 : 6;
  1179. #else
  1180. Uint32 cic_cmb_stop1 : 6;
  1181. Uint32 rsvd0 : 2;
  1182. Uint32 cic_cmb_stop2 : 6;
  1183. Uint32 rsvd1 : 18;
  1184. #endif
  1185. } CSL_DFE_DDUC_CICMIX_COMB_STOP_REG;
  1186. /* value the IF clock counter must be to stop clocks to CIC comb filter for the first time */
  1187. #define CSL_DFE_DDUC_CICMIX_COMB_STOP_REG_CIC_CMB_STOP1_MASK (0x0000003Fu)
  1188. #define CSL_DFE_DDUC_CICMIX_COMB_STOP_REG_CIC_CMB_STOP1_SHIFT (0x00000000u)
  1189. #define CSL_DFE_DDUC_CICMIX_COMB_STOP_REG_CIC_CMB_STOP1_RESETVAL (0x00000000u)
  1190. /* value the IF clock counter must be to stop clocks to CIC comb filter for the second time */
  1191. #define CSL_DFE_DDUC_CICMIX_COMB_STOP_REG_CIC_CMB_STOP2_MASK (0x00003F00u)
  1192. #define CSL_DFE_DDUC_CICMIX_COMB_STOP_REG_CIC_CMB_STOP2_SHIFT (0x00000008u)
  1193. #define CSL_DFE_DDUC_CICMIX_COMB_STOP_REG_CIC_CMB_STOP2_RESETVAL (0x00000000u)
  1194. #define CSL_DFE_DDUC_CICMIX_COMB_STOP_REG_ADDR (0x00001254u)
  1195. #define CSL_DFE_DDUC_CICMIX_COMB_STOP_REG_RESETVAL (0x00000000u)
  1196. /* CICMIX_STOP */
  1197. typedef struct
  1198. {
  1199. #ifdef _BIG_ENDIAN
  1200. Uint32 rsvd1 : 18;
  1201. Uint32 cicmix_stop2 : 6;
  1202. Uint32 rsvd0 : 2;
  1203. Uint32 cicmix_stop1 : 6;
  1204. #else
  1205. Uint32 cicmix_stop1 : 6;
  1206. Uint32 rsvd0 : 2;
  1207. Uint32 cicmix_stop2 : 6;
  1208. Uint32 rsvd1 : 18;
  1209. #endif
  1210. } CSL_DFE_DDUC_CICMIX_STOP_REG;
  1211. /* value the IF clock counter must be to stop clocks to the rest of CIC and the mixer for the first time */
  1212. #define CSL_DFE_DDUC_CICMIX_STOP_REG_CICMIX_STOP1_MASK (0x0000003Fu)
  1213. #define CSL_DFE_DDUC_CICMIX_STOP_REG_CICMIX_STOP1_SHIFT (0x00000000u)
  1214. #define CSL_DFE_DDUC_CICMIX_STOP_REG_CICMIX_STOP1_RESETVAL (0x00000000u)
  1215. /* value the IF clock counter must be to stop clocks to the rest of CIC and the mixer for the second time */
  1216. #define CSL_DFE_DDUC_CICMIX_STOP_REG_CICMIX_STOP2_MASK (0x00003F00u)
  1217. #define CSL_DFE_DDUC_CICMIX_STOP_REG_CICMIX_STOP2_SHIFT (0x00000008u)
  1218. #define CSL_DFE_DDUC_CICMIX_STOP_REG_CICMIX_STOP2_RESETVAL (0x00000000u)
  1219. #define CSL_DFE_DDUC_CICMIX_STOP_REG_ADDR (0x00001258u)
  1220. #define CSL_DFE_DDUC_CICMIX_STOP_REG_RESETVAL (0x00000000u)
  1221. /* CICMIX_FLAG */
  1222. typedef struct
  1223. {
  1224. #ifdef _BIG_ENDIAN
  1225. Uint32 rsvd1 : 18;
  1226. Uint32 cicmix_flag2 : 6;
  1227. Uint32 rsvd0 : 2;
  1228. Uint32 cicmix_flag1 : 6;
  1229. #else
  1230. Uint32 cicmix_flag1 : 6;
  1231. Uint32 rsvd0 : 2;
  1232. Uint32 cicmix_flag2 : 6;
  1233. Uint32 rsvd1 : 18;
  1234. #endif
  1235. } CSL_DFE_DDUC_CICMIX_FLAG_REG;
  1236. /* value the IF clock counter must be to send a channel flag to CIC-FRW buffer and a delayed flag to hopper and MIX the first time. In TX mode, is also delayed to create DDUC's ch0 out flag. */
  1237. #define CSL_DFE_DDUC_CICMIX_FLAG_REG_CICMIX_FLAG1_MASK (0x0000003Fu)
  1238. #define CSL_DFE_DDUC_CICMIX_FLAG_REG_CICMIX_FLAG1_SHIFT (0x00000000u)
  1239. #define CSL_DFE_DDUC_CICMIX_FLAG_REG_CICMIX_FLAG1_RESETVAL (0x00000000u)
  1240. /* value the IF clock counter must be to send a channel flag to CIC-FRW buffer and a delayed flag to hopper and MIX a second time. In TX mode, is also delayed to create DDUC's ch0 out flag. */
  1241. #define CSL_DFE_DDUC_CICMIX_FLAG_REG_CICMIX_FLAG2_MASK (0x00003F00u)
  1242. #define CSL_DFE_DDUC_CICMIX_FLAG_REG_CICMIX_FLAG2_SHIFT (0x00000008u)
  1243. #define CSL_DFE_DDUC_CICMIX_FLAG_REG_CICMIX_FLAG2_RESETVAL (0x00000000u)
  1244. #define CSL_DFE_DDUC_CICMIX_FLAG_REG_ADDR (0x0000125Cu)
  1245. #define CSL_DFE_DDUC_CICMIX_FLAG_REG_RESETVAL (0x00000000u)
  1246. /* BBFIR_PTR */
  1247. typedef struct
  1248. {
  1249. #ifdef _BIG_ENDIAN
  1250. Uint32 rsvd1 : 19;
  1251. Uint32 bbf_rp : 5;
  1252. Uint32 rsvd0 : 3;
  1253. Uint32 bbf_wp : 5;
  1254. #else
  1255. Uint32 bbf_wp : 5;
  1256. Uint32 rsvd0 : 3;
  1257. Uint32 bbf_rp : 5;
  1258. Uint32 rsvd1 : 19;
  1259. #endif
  1260. } CSL_DFE_DDUC_BBFIR_PTR_REG;
  1261. /* starting write pointer address for BB-FIR buffer */
  1262. #define CSL_DFE_DDUC_BBFIR_PTR_REG_BBF_WP_MASK (0x0000001Fu)
  1263. #define CSL_DFE_DDUC_BBFIR_PTR_REG_BBF_WP_SHIFT (0x00000000u)
  1264. #define CSL_DFE_DDUC_BBFIR_PTR_REG_BBF_WP_RESETVAL (0x00000000u)
  1265. /* starting read pointer address for BB-FIR buffer */
  1266. #define CSL_DFE_DDUC_BBFIR_PTR_REG_BBF_RP_MASK (0x00001F00u)
  1267. #define CSL_DFE_DDUC_BBFIR_PTR_REG_BBF_RP_SHIFT (0x00000008u)
  1268. #define CSL_DFE_DDUC_BBFIR_PTR_REG_BBF_RP_RESETVAL (0x00000000u)
  1269. #define CSL_DFE_DDUC_BBFIR_PTR_REG_ADDR (0x00001260u)
  1270. #define CSL_DFE_DDUC_BBFIR_PTR_REG_RESETVAL (0x00000000u)
  1271. /* FIRFRW_PTR */
  1272. typedef struct
  1273. {
  1274. #ifdef _BIG_ENDIAN
  1275. Uint32 rsvd1 : 18;
  1276. Uint32 ff_rp : 6;
  1277. Uint32 rsvd0 : 2;
  1278. Uint32 ff_wp : 6;
  1279. #else
  1280. Uint32 ff_wp : 6;
  1281. Uint32 rsvd0 : 2;
  1282. Uint32 ff_rp : 6;
  1283. Uint32 rsvd1 : 18;
  1284. #endif
  1285. } CSL_DFE_DDUC_FIRFRW_PTR_REG;
  1286. /* starting write pointer address for FIR-FRW buffer */
  1287. #define CSL_DFE_DDUC_FIRFRW_PTR_REG_FF_WP_MASK (0x0000003Fu)
  1288. #define CSL_DFE_DDUC_FIRFRW_PTR_REG_FF_WP_SHIFT (0x00000000u)
  1289. #define CSL_DFE_DDUC_FIRFRW_PTR_REG_FF_WP_RESETVAL (0x00000000u)
  1290. /* starting read pointer address for FIR-FRW buffer */
  1291. #define CSL_DFE_DDUC_FIRFRW_PTR_REG_FF_RP_MASK (0x00003F00u)
  1292. #define CSL_DFE_DDUC_FIRFRW_PTR_REG_FF_RP_SHIFT (0x00000008u)
  1293. #define CSL_DFE_DDUC_FIRFRW_PTR_REG_FF_RP_RESETVAL (0x00000000u)
  1294. #define CSL_DFE_DDUC_FIRFRW_PTR_REG_ADDR (0x00001264u)
  1295. #define CSL_DFE_DDUC_FIRFRW_PTR_REG_RESETVAL (0x00000000u)
  1296. /* FRWCIC_PTR */
  1297. typedef struct
  1298. {
  1299. #ifdef _BIG_ENDIAN
  1300. Uint32 rsvd1 : 18;
  1301. Uint32 set_tx : 1;
  1302. Uint32 fc_rp : 5;
  1303. Uint32 rsvd0 : 3;
  1304. Uint32 fc_wp : 5;
  1305. #else
  1306. Uint32 fc_wp : 5;
  1307. Uint32 rsvd0 : 3;
  1308. Uint32 fc_rp : 5;
  1309. Uint32 set_tx : 1;
  1310. Uint32 rsvd1 : 18;
  1311. #endif
  1312. } CSL_DFE_DDUC_FRWCIC_PTR_REG;
  1313. /* starting write pointer address for FRW-CIC buffer */
  1314. #define CSL_DFE_DDUC_FRWCIC_PTR_REG_FC_WP_MASK (0x0000001Fu)
  1315. #define CSL_DFE_DDUC_FRWCIC_PTR_REG_FC_WP_SHIFT (0x00000000u)
  1316. #define CSL_DFE_DDUC_FRWCIC_PTR_REG_FC_WP_RESETVAL (0x00000000u)
  1317. /* starting read pointer address for FRW-CIC buffer */
  1318. #define CSL_DFE_DDUC_FRWCIC_PTR_REG_FC_RP_MASK (0x00001F00u)
  1319. #define CSL_DFE_DDUC_FRWCIC_PTR_REG_FC_RP_SHIFT (0x00000008u)
  1320. #define CSL_DFE_DDUC_FRWCIC_PTR_REG_FC_RP_RESETVAL (0x00000000u)
  1321. /* 1 if in transmit (DUC) mode, 0 if in receive (DDC) mode */
  1322. #define CSL_DFE_DDUC_FRWCIC_PTR_REG_SET_TX_MASK (0x00002000u)
  1323. #define CSL_DFE_DDUC_FRWCIC_PTR_REG_SET_TX_SHIFT (0x0000000Du)
  1324. #define CSL_DFE_DDUC_FRWCIC_PTR_REG_SET_TX_RESETVAL (0x00000000u)
  1325. #define CSL_DFE_DDUC_FRWCIC_PTR_REG_ADDR (0x00001268u)
  1326. #define CSL_DFE_DDUC_FRWCIC_PTR_REG_RESETVAL (0x00000000u)
  1327. /* CIC_CONFIG */
  1328. typedef struct
  1329. {
  1330. #ifdef _BIG_ENDIAN
  1331. Uint32 rsvd1 : 22;
  1332. Uint32 cic_rx_output_scale : 4;
  1333. Uint32 rsvd0 : 1;
  1334. Uint32 fl_en : 1;
  1335. Uint32 cic_ndata : 3;
  1336. Uint32 rate : 1;
  1337. #else
  1338. Uint32 rate : 1;
  1339. Uint32 cic_ndata : 3;
  1340. Uint32 fl_en : 1;
  1341. Uint32 rsvd0 : 1;
  1342. Uint32 cic_rx_output_scale : 4;
  1343. Uint32 rsvd1 : 22;
  1344. #endif
  1345. } CSL_DFE_DDUC_CIC_CONFIG_REG;
  1346. /* 0 for int/dec by 2, 1 for int/dec by 3 */
  1347. #define CSL_DFE_DDUC_CIC_CONFIG_REG_RATE_MASK (0x00000001u)
  1348. #define CSL_DFE_DDUC_CIC_CONFIG_REG_RATE_SHIFT (0x00000000u)
  1349. #define CSL_DFE_DDUC_CIC_CONFIG_REG_RATE_RESETVAL (0x00000000u)
  1350. /* number of real streams per CIC minus one (also sets for the mixer) */
  1351. #define CSL_DFE_DDUC_CIC_CONFIG_REG_CIC_NDATA_MASK (0x0000000Eu)
  1352. #define CSL_DFE_DDUC_CIC_CONFIG_REG_CIC_NDATA_SHIFT (0x00000001u)
  1353. #define CSL_DFE_DDUC_CIC_CONFIG_REG_CIC_NDATA_RESETVAL (0x00000000u)
  1354. /* 1 to enable auto-flush, 0 to disable */
  1355. #define CSL_DFE_DDUC_CIC_CONFIG_REG_FL_EN_MASK (0x00000010u)
  1356. #define CSL_DFE_DDUC_CIC_CONFIG_REG_FL_EN_SHIFT (0x00000004u)
  1357. #define CSL_DFE_DDUC_CIC_CONFIG_REG_FL_EN_RESETVAL (0x00000000u)
  1358. /* change CIC gain in receive mode (has no effect in transmit mode): */
  1359. #define CSL_DFE_DDUC_CIC_CONFIG_REG_CIC_RX_OUTPUT_SCALE_MASK (0x000003C0u)
  1360. #define CSL_DFE_DDUC_CIC_CONFIG_REG_CIC_RX_OUTPUT_SCALE_SHIFT (0x00000006u)
  1361. #define CSL_DFE_DDUC_CIC_CONFIG_REG_CIC_RX_OUTPUT_SCALE_RESETVAL (0x00000000u)
  1362. #define CSL_DFE_DDUC_CIC_CONFIG_REG_ADDR (0x0000126Cu)
  1363. #define CSL_DFE_DDUC_CIC_CONFIG_REG_RESETVAL (0x00000000u)
  1364. /* MIX_CONFIG */
  1365. typedef struct
  1366. {
  1367. #ifdef _BIG_ENDIAN
  1368. Uint32 rsvd0 : 25;
  1369. Uint32 mix_im2 : 1;
  1370. Uint32 mix_im1 : 1;
  1371. Uint32 mix_im0 : 1;
  1372. Uint32 mix_rl2 : 1;
  1373. Uint32 mix_rl1 : 1;
  1374. Uint32 mix_rl0 : 1;
  1375. Uint32 mix_dit_en : 1;
  1376. #else
  1377. Uint32 mix_dit_en : 1;
  1378. Uint32 mix_rl0 : 1;
  1379. Uint32 mix_rl1 : 1;
  1380. Uint32 mix_rl2 : 1;
  1381. Uint32 mix_im0 : 1;
  1382. Uint32 mix_im1 : 1;
  1383. Uint32 mix_im2 : 1;
  1384. Uint32 rsvd0 : 25;
  1385. #endif
  1386. } CSL_DFE_DDUC_MIX_CONFIG_REG;
  1387. /* 1 to enable dithering on all mixers, 0 to turn all dithering off */
  1388. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_DIT_EN_MASK (0x00000001u)
  1389. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_DIT_EN_SHIFT (0x00000000u)
  1390. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_DIT_EN_RESETVAL (0x00000000u)
  1391. /* 1 to set mixer0 to 1 channel real mode */
  1392. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_RL0_MASK (0x00000002u)
  1393. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_RL0_SHIFT (0x00000001u)
  1394. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_RL0_RESETVAL (0x00000000u)
  1395. /* 1 to set mixer1 to 1 channel real mode */
  1396. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_RL1_MASK (0x00000004u)
  1397. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_RL1_SHIFT (0x00000002u)
  1398. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_RL1_RESETVAL (0x00000000u)
  1399. /* 1 to set mixer2 to 1 channel real mode */
  1400. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_RL2_MASK (0x00000008u)
  1401. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_RL2_SHIFT (0x00000003u)
  1402. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_RL2_RESETVAL (0x00000000u)
  1403. /* 1 to set mixer0 to 1 channel imaginary mode */
  1404. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_IM0_MASK (0x00000010u)
  1405. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_IM0_SHIFT (0x00000004u)
  1406. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_IM0_RESETVAL (0x00000000u)
  1407. /* 1 to set mixer1 to 1 channel imaginary mode */
  1408. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_IM1_MASK (0x00000020u)
  1409. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_IM1_SHIFT (0x00000005u)
  1410. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_IM1_RESETVAL (0x00000000u)
  1411. /* 1 to set mixer2 to 1 channel imaginary mode */
  1412. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_IM2_MASK (0x00000040u)
  1413. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_IM2_SHIFT (0x00000006u)
  1414. #define CSL_DFE_DDUC_MIX_CONFIG_REG_MIX_IM2_RESETVAL (0x00000000u)
  1415. #define CSL_DFE_DDUC_MIX_CONFIG_REG_ADDR (0x00001270u)
  1416. #define CSL_DFE_DDUC_MIX_CONFIG_REG_RESETVAL (0x00000000u)
  1417. /* MIX_PHASE */
  1418. typedef struct
  1419. {
  1420. #ifdef _BIG_ENDIAN
  1421. Uint32 rsvd0 : 16;
  1422. Uint32 phase : 16;
  1423. #else
  1424. Uint32 phase : 16;
  1425. Uint32 rsvd0 : 16;
  1426. #endif
  1427. } CSL_DFE_DDUC_MIX_PHASE_REG;
  1428. /* shadow registers for mixer phase for channels 0-11. Loaded to active registers upon sync. This control provides 360 degrees of phase control (ie phase equals 360 degrees * value/65536) */
  1429. #define CSL_DFE_DDUC_MIX_PHASE_REG_PHASE_MASK (0x0000FFFFu)
  1430. #define CSL_DFE_DDUC_MIX_PHASE_REG_PHASE_SHIFT (0x00000000u)
  1431. #define CSL_DFE_DDUC_MIX_PHASE_REG_PHASE_RESETVAL (0x00000000u)
  1432. #define CSL_DFE_DDUC_MIX_PHASE_REG_ADDR (0x00001274u)
  1433. #define CSL_DFE_DDUC_MIX_PHASE_REG_RESETVAL (0x00000000u)
  1434. /* HOP_DLY_ACC_LO */
  1435. typedef struct
  1436. {
  1437. #ifdef _BIG_ENDIAN
  1438. Uint32 rsvd0 : 16;
  1439. Uint32 dly_acc_15_0 : 16;
  1440. #else
  1441. Uint32 dly_acc_15_0 : 16;
  1442. Uint32 rsvd0 : 16;
  1443. #endif
  1444. } CSL_DFE_DDUC_HOP_DLY_ACC_LO_REG;
  1445. /* Time step word for the farrow-style accumulator in hopper. When there is an overflow at 0x40000000, the hop period counter does NOT count for one clock. Note that the accumulation word (24 bits) is smaller than the overflow point (at 30 bits) */
  1446. #define CSL_DFE_DDUC_HOP_DLY_ACC_LO_REG_DLY_ACC_15_0_MASK (0x0000FFFFu)
  1447. #define CSL_DFE_DDUC_HOP_DLY_ACC_LO_REG_DLY_ACC_15_0_SHIFT (0x00000000u)
  1448. #define CSL_DFE_DDUC_HOP_DLY_ACC_LO_REG_DLY_ACC_15_0_RESETVAL (0x00000000u)
  1449. #define CSL_DFE_DDUC_HOP_DLY_ACC_LO_REG_ADDR (0x000012A4u)
  1450. #define CSL_DFE_DDUC_HOP_DLY_ACC_LO_REG_RESETVAL (0x00000000u)
  1451. /* HOP_DLY_ACC_HI */
  1452. typedef struct
  1453. {
  1454. #ifdef _BIG_ENDIAN
  1455. Uint32 rsvd0 : 24;
  1456. Uint32 dly_acc_23_16 : 8;
  1457. #else
  1458. Uint32 dly_acc_23_16 : 8;
  1459. Uint32 rsvd0 : 24;
  1460. #endif
  1461. } CSL_DFE_DDUC_HOP_DLY_ACC_HI_REG;
  1462. /* */
  1463. #define CSL_DFE_DDUC_HOP_DLY_ACC_HI_REG_DLY_ACC_23_16_MASK (0x000000FFu)
  1464. #define CSL_DFE_DDUC_HOP_DLY_ACC_HI_REG_DLY_ACC_23_16_SHIFT (0x00000000u)
  1465. #define CSL_DFE_DDUC_HOP_DLY_ACC_HI_REG_DLY_ACC_23_16_RESETVAL (0x00000000u)
  1466. #define CSL_DFE_DDUC_HOP_DLY_ACC_HI_REG_ADDR (0x000012A8u)
  1467. #define CSL_DFE_DDUC_HOP_DLY_ACC_HI_REG_RESETVAL (0x00000000u)
  1468. /* HOP_RST_CNT_LO */
  1469. typedef struct
  1470. {
  1471. #ifdef _BIG_ENDIAN
  1472. Uint32 rsvd0 : 16;
  1473. Uint32 rst_cnt_15_0 : 16;
  1474. #else
  1475. Uint32 rst_cnt_15_0 : 16;
  1476. Uint32 rsvd0 : 16;
  1477. #endif
  1478. } CSL_DFE_DDUC_HOP_RST_CNT_LO_REG;
  1479. /* Reset interval for farrow-style accumulator in hopper. Counts every clock. When this counts down, the accumulator zeroes itself and it counts as an overflow. Program to desired counting period minus 1. If set to 0, it disables the counter. */
  1480. #define CSL_DFE_DDUC_HOP_RST_CNT_LO_REG_RST_CNT_15_0_MASK (0x0000FFFFu)
  1481. #define CSL_DFE_DDUC_HOP_RST_CNT_LO_REG_RST_CNT_15_0_SHIFT (0x00000000u)
  1482. #define CSL_DFE_DDUC_HOP_RST_CNT_LO_REG_RST_CNT_15_0_RESETVAL (0x00000000u)
  1483. #define CSL_DFE_DDUC_HOP_RST_CNT_LO_REG_ADDR (0x000012ACu)
  1484. #define CSL_DFE_DDUC_HOP_RST_CNT_LO_REG_RESETVAL (0x00000000u)
  1485. /* HOP_RST_CNT_HI */
  1486. typedef struct
  1487. {
  1488. #ifdef _BIG_ENDIAN
  1489. Uint32 rsvd0 : 22;
  1490. Uint32 rst_cnt_25_16 : 10;
  1491. #else
  1492. Uint32 rst_cnt_25_16 : 10;
  1493. Uint32 rsvd0 : 22;
  1494. #endif
  1495. } CSL_DFE_DDUC_HOP_RST_CNT_HI_REG;
  1496. /* */
  1497. #define CSL_DFE_DDUC_HOP_RST_CNT_HI_REG_RST_CNT_25_16_MASK (0x000003FFu)
  1498. #define CSL_DFE_DDUC_HOP_RST_CNT_HI_REG_RST_CNT_25_16_SHIFT (0x00000000u)
  1499. #define CSL_DFE_DDUC_HOP_RST_CNT_HI_REG_RST_CNT_25_16_RESETVAL (0x00000000u)
  1500. #define CSL_DFE_DDUC_HOP_RST_CNT_HI_REG_ADDR (0x000012B0u)
  1501. #define CSL_DFE_DDUC_HOP_RST_CNT_HI_REG_RESETVAL (0x00000000u)
  1502. /* HOP_PERIOD_LO */
  1503. typedef struct
  1504. {
  1505. #ifdef _BIG_ENDIAN
  1506. Uint32 rsvd0 : 16;
  1507. Uint32 hop_period_15_0 : 16;
  1508. #else
  1509. Uint32 hop_period_15_0 : 16;
  1510. Uint32 rsvd0 : 16;
  1511. #endif
  1512. } CSL_DFE_DDUC_HOP_PERIOD_LO_REG;
  1513. /* Number of dduc if clocks in one hopper period. When it counts down, it increments the hop index counter. */
  1514. #define CSL_DFE_DDUC_HOP_PERIOD_LO_REG_HOP_PERIOD_15_0_MASK (0x0000FFFFu)
  1515. #define CSL_DFE_DDUC_HOP_PERIOD_LO_REG_HOP_PERIOD_15_0_SHIFT (0x00000000u)
  1516. #define CSL_DFE_DDUC_HOP_PERIOD_LO_REG_HOP_PERIOD_15_0_RESETVAL (0x00000000u)
  1517. #define CSL_DFE_DDUC_HOP_PERIOD_LO_REG_ADDR (0x000012B4u)
  1518. #define CSL_DFE_DDUC_HOP_PERIOD_LO_REG_RESETVAL (0x00000000u)
  1519. /* HOP_TOTAL_INDICES */
  1520. typedef struct
  1521. {
  1522. #ifdef _BIG_ENDIAN
  1523. Uint32 rsvd0 : 17;
  1524. Uint32 hop_index : 11;
  1525. Uint32 hop_period_19_16 : 4;
  1526. #else
  1527. Uint32 hop_period_19_16 : 4;
  1528. Uint32 hop_index : 11;
  1529. Uint32 rsvd0 : 17;
  1530. #endif
  1531. } CSL_DFE_DDUC_HOP_TOTAL_INDICES_REG;
  1532. /* */
  1533. #define CSL_DFE_DDUC_HOP_TOTAL_INDICES_REG_HOP_PERIOD_19_16_MASK (0x0000000Fu)
  1534. #define CSL_DFE_DDUC_HOP_TOTAL_INDICES_REG_HOP_PERIOD_19_16_SHIFT (0x00000000u)
  1535. #define CSL_DFE_DDUC_HOP_TOTAL_INDICES_REG_HOP_PERIOD_19_16_RESETVAL (0x00000000u)
  1536. /* Total number of hop indices being using minus one. The hop index counter loops at this count value. */
  1537. #define CSL_DFE_DDUC_HOP_TOTAL_INDICES_REG_HOP_INDEX_MASK (0x00007FF0u)
  1538. #define CSL_DFE_DDUC_HOP_TOTAL_INDICES_REG_HOP_INDEX_SHIFT (0x00000004u)
  1539. #define CSL_DFE_DDUC_HOP_TOTAL_INDICES_REG_HOP_INDEX_RESETVAL (0x00000000u)
  1540. #define CSL_DFE_DDUC_HOP_TOTAL_INDICES_REG_ADDR (0x000012B8u)
  1541. #define CSL_DFE_DDUC_HOP_TOTAL_INDICES_REG_RESETVAL (0x00000000u)
  1542. /* HOP_SYNC_DELAY */
  1543. typedef struct
  1544. {
  1545. #ifdef _BIG_ENDIAN
  1546. Uint32 rsvd0 : 16;
  1547. Uint32 sync_delay : 16;
  1548. #else
  1549. Uint32 sync_delay : 16;
  1550. Uint32 rsvd0 : 16;
  1551. #endif
  1552. } CSL_DFE_DDUC_HOP_SYNC_DELAY_REG;
  1553. /* How many dduc if clocks delay the incoming hop_ssel sync before syncing hopper; if this is set to zero, and a hop_ssel sync arrives, then the hop_ssel sync will NOT trigger until this is set to a non-zero value. */
  1554. #define CSL_DFE_DDUC_HOP_SYNC_DELAY_REG_SYNC_DELAY_MASK (0x0000FFFFu)
  1555. #define CSL_DFE_DDUC_HOP_SYNC_DELAY_REG_SYNC_DELAY_SHIFT (0x00000000u)
  1556. #define CSL_DFE_DDUC_HOP_SYNC_DELAY_REG_SYNC_DELAY_RESETVAL (0x00000000u)
  1557. #define CSL_DFE_DDUC_HOP_SYNC_DELAY_REG_ADDR (0x000012BCu)
  1558. #define CSL_DFE_DDUC_HOP_SYNC_DELAY_REG_RESETVAL (0x00000000u)
  1559. /* HOP_CONFIG */
  1560. typedef struct
  1561. {
  1562. #ifdef _BIG_ENDIAN
  1563. Uint32 rsvd0 : 27;
  1564. Uint32 hi_ext_sync : 1;
  1565. Uint32 hop_en : 1;
  1566. Uint32 hop_ndata : 3;
  1567. #else
  1568. Uint32 hop_ndata : 3;
  1569. Uint32 hop_en : 1;
  1570. Uint32 hi_ext_sync : 1;
  1571. Uint32 rsvd0 : 27;
  1572. #endif
  1573. } CSL_DFE_DDUC_HOP_CONFIG_REG;
  1574. /* Number of real streams per mixer minus 1 */
  1575. #define CSL_DFE_DDUC_HOP_CONFIG_REG_HOP_NDATA_MASK (0x00000007u)
  1576. #define CSL_DFE_DDUC_HOP_CONFIG_REG_HOP_NDATA_SHIFT (0x00000000u)
  1577. #define CSL_DFE_DDUC_HOP_CONFIG_REG_HOP_NDATA_RESETVAL (0x00000000u)
  1578. /* 1 to enable hopping; 0 uses MPU control to freq word RAMs */
  1579. #define CSL_DFE_DDUC_HOP_CONFIG_REG_HOP_EN_MASK (0x00000008u)
  1580. #define CSL_DFE_DDUC_HOP_CONFIG_REG_HOP_EN_SHIFT (0x00000003u)
  1581. #define CSL_DFE_DDUC_HOP_CONFIG_REG_HOP_EN_RESETVAL (0x00000000u)
  1582. /* 1 to sync hop index on hop_hi_ssel sync with no delay, 0 to sync on hop_ssel sync with sync_delay */
  1583. #define CSL_DFE_DDUC_HOP_CONFIG_REG_HI_EXT_SYNC_MASK (0x00000010u)
  1584. #define CSL_DFE_DDUC_HOP_CONFIG_REG_HI_EXT_SYNC_SHIFT (0x00000004u)
  1585. #define CSL_DFE_DDUC_HOP_CONFIG_REG_HI_EXT_SYNC_RESETVAL (0x00000000u)
  1586. #define CSL_DFE_DDUC_HOP_CONFIG_REG_ADDR (0x000012C0u)
  1587. #define CSL_DFE_DDUC_HOP_CONFIG_REG_RESETVAL (0x00000000u)
  1588. /* SSEL0 */
  1589. typedef struct
  1590. {
  1591. #ifdef _BIG_ENDIAN
  1592. Uint32 rsvd0 : 16;
  1593. Uint32 hop_ho_ssel : 4;
  1594. Uint32 hop_hi_ssel : 4;
  1595. Uint32 hop_ssel : 4;
  1596. Uint32 pfir_coef_ssel : 4;
  1597. #else
  1598. Uint32 pfir_coef_ssel : 4;
  1599. Uint32 hop_ssel : 4;
  1600. Uint32 hop_hi_ssel : 4;
  1601. Uint32 hop_ho_ssel : 4;
  1602. Uint32 rsvd0 : 16;
  1603. #endif
  1604. } CSL_DFE_DDUC_SSEL0_REG;
  1605. /* PFIR coefficients sync select */
  1606. #define CSL_DFE_DDUC_SSEL0_REG_PFIR_COEF_SSEL_MASK (0x0000000Fu)
  1607. #define CSL_DFE_DDUC_SSEL0_REG_PFIR_COEF_SSEL_SHIFT (0x00000000u)
  1608. #define CSL_DFE_DDUC_SSEL0_REG_PFIR_COEF_SSEL_RESETVAL (0x00000000u)
  1609. /* hopper master sync select. This sync delays by sync_delay, then takes effect. If hop_en is high, it zeros time accumulator and hop period counter…in addition, it zeros hop index counter if hop_hi_ext_sync is low. If hop_en is low, then it swaps banks on the freq word memories (between active and shadow). */
  1610. #define CSL_DFE_DDUC_SSEL0_REG_HOP_SSEL_MASK (0x000000F0u)
  1611. #define CSL_DFE_DDUC_SSEL0_REG_HOP_SSEL_SHIFT (0x00000004u)
  1612. #define CSL_DFE_DDUC_SSEL0_REG_HOP_SSEL_RESETVAL (0x00000000u)
  1613. /* zeros hop index counter if hop_hi_ext_sync is high (no delay) */
  1614. #define CSL_DFE_DDUC_SSEL0_REG_HOP_HI_SSEL_MASK (0x00000F00u)
  1615. #define CSL_DFE_DDUC_SSEL0_REG_HOP_HI_SSEL_SHIFT (0x00000008u)
  1616. #define CSL_DFE_DDUC_SSEL0_REG_HOP_HI_SSEL_RESETVAL (0x00000000u)
  1617. /* swaps halves of the hop offset swap ram */
  1618. #define CSL_DFE_DDUC_SSEL0_REG_HOP_HO_SSEL_MASK (0x0000F000u)
  1619. #define CSL_DFE_DDUC_SSEL0_REG_HOP_HO_SSEL_SHIFT (0x0000000Cu)
  1620. #define CSL_DFE_DDUC_SSEL0_REG_HOP_HO_SSEL_RESETVAL (0x00000000u)
  1621. #define CSL_DFE_DDUC_SSEL0_REG_ADDR (0x000012C4u)
  1622. #define CSL_DFE_DDUC_SSEL0_REG_RESETVAL (0x00000000u)
  1623. /* SSEL1 */
  1624. typedef struct
  1625. {
  1626. #ifdef _BIG_ENDIAN
  1627. Uint32 rsvd0 : 16;
  1628. Uint32 frw_chksum_ssel : 4;
  1629. Uint32 frw_phase_ssel : 4;
  1630. Uint32 cic_flush_ssel : 4;
  1631. Uint32 mix_phase_ssel : 4;
  1632. #else
  1633. Uint32 mix_phase_ssel : 4;
  1634. Uint32 cic_flush_ssel : 4;
  1635. Uint32 frw_phase_ssel : 4;
  1636. Uint32 frw_chksum_ssel : 4;
  1637. Uint32 rsvd0 : 16;
  1638. #endif
  1639. } CSL_DFE_DDUC_SSEL1_REG;
  1640. /* mixer phase sync select for all mixers */
  1641. #define CSL_DFE_DDUC_SSEL1_REG_MIX_PHASE_SSEL_MASK (0x0000000Fu)
  1642. #define CSL_DFE_DDUC_SSEL1_REG_MIX_PHASE_SSEL_SHIFT (0x00000000u)
  1643. #define CSL_DFE_DDUC_SSEL1_REG_MIX_PHASE_SSEL_RESETVAL (0x00000000u)
  1644. /* sync to reset CIC's state machines; does NOT flush the CIC!! */
  1645. #define CSL_DFE_DDUC_SSEL1_REG_CIC_FLUSH_SSEL_MASK (0x000000F0u)
  1646. #define CSL_DFE_DDUC_SSEL1_REG_CIC_FLUSH_SSEL_SHIFT (0x00000004u)
  1647. #define CSL_DFE_DDUC_SSEL1_REG_CIC_FLUSH_SSEL_RESETVAL (0x00000000u)
  1648. /* farrow phase word sync select to load new phase */
  1649. #define CSL_DFE_DDUC_SSEL1_REG_FRW_PHASE_SSEL_MASK (0x00000F00u)
  1650. #define CSL_DFE_DDUC_SSEL1_REG_FRW_PHASE_SSEL_SHIFT (0x00000008u)
  1651. #define CSL_DFE_DDUC_SSEL1_REG_FRW_PHASE_SSEL_RESETVAL (0x00000000u)
  1652. /* farrow check sum sync select (for both IF and BB check sums) */
  1653. #define CSL_DFE_DDUC_SSEL1_REG_FRW_CHKSUM_SSEL_MASK (0x0000F000u)
  1654. #define CSL_DFE_DDUC_SSEL1_REG_FRW_CHKSUM_SSEL_SHIFT (0x0000000Cu)
  1655. #define CSL_DFE_DDUC_SSEL1_REG_FRW_CHKSUM_SSEL_RESETVAL (0x00000000u)
  1656. #define CSL_DFE_DDUC_SSEL1_REG_ADDR (0x000012C8u)
  1657. #define CSL_DFE_DDUC_SSEL1_REG_RESETVAL (0x00000000u)
  1658. /* SSEL2 */
  1659. typedef struct
  1660. {
  1661. #ifdef _BIG_ENDIAN
  1662. Uint32 rsvd0 : 24;
  1663. Uint32 selector_ssel : 4;
  1664. Uint32 frw_sig_ssel : 4;
  1665. #else
  1666. Uint32 frw_sig_ssel : 4;
  1667. Uint32 selector_ssel : 4;
  1668. Uint32 rsvd0 : 24;
  1669. #endif
  1670. } CSL_DFE_DDUC_SSEL2_REG;
  1671. /* sync to reset frw signal generator (for both IF and BB signal generators) */
  1672. #define CSL_DFE_DDUC_SSEL2_REG_FRW_SIG_SSEL_MASK (0x0000000Fu)
  1673. #define CSL_DFE_DDUC_SSEL2_REG_FRW_SIG_SSEL_SHIFT (0x00000000u)
  1674. #define CSL_DFE_DDUC_SSEL2_REG_FRW_SIG_SSEL_RESETVAL (0x00000000u)
  1675. /* sync to update selector registers */
  1676. #define CSL_DFE_DDUC_SSEL2_REG_SELECTOR_SSEL_MASK (0x000000F0u)
  1677. #define CSL_DFE_DDUC_SSEL2_REG_SELECTOR_SSEL_SHIFT (0x00000004u)
  1678. #define CSL_DFE_DDUC_SSEL2_REG_SELECTOR_SSEL_RESETVAL (0x00000000u)
  1679. #define CSL_DFE_DDUC_SSEL2_REG_ADDR (0x000012CCu)
  1680. #define CSL_DFE_DDUC_SSEL2_REG_RESETVAL (0x00000000u)
  1681. /* SSEL3 */
  1682. typedef struct
  1683. {
  1684. #ifdef _BIG_ENDIAN
  1685. Uint32 rsvd0 : 16;
  1686. Uint32 mix3_nco_ssel : 4;
  1687. Uint32 mix2_nco_ssel : 4;
  1688. Uint32 mix1_nco_ssel : 4;
  1689. Uint32 mix0_nco_ssel : 4;
  1690. #else
  1691. Uint32 mix0_nco_ssel : 4;
  1692. Uint32 mix1_nco_ssel : 4;
  1693. Uint32 mix2_nco_ssel : 4;
  1694. Uint32 mix3_nco_ssel : 4;
  1695. Uint32 rsvd0 : 16;
  1696. #endif
  1697. } CSL_DFE_DDUC_SSEL3_REG;
  1698. /* mixer0 channel 0 NCO accumulator sync…also syncs dither */
  1699. #define CSL_DFE_DDUC_SSEL3_REG_MIX0_NCO_SSEL_MASK (0x0000000Fu)
  1700. #define CSL_DFE_DDUC_SSEL3_REG_MIX0_NCO_SSEL_SHIFT (0x00000000u)
  1701. #define CSL_DFE_DDUC_SSEL3_REG_MIX0_NCO_SSEL_RESETVAL (0x00000000u)
  1702. /* mixer0 channel 1 NCO accumulator sync */
  1703. #define CSL_DFE_DDUC_SSEL3_REG_MIX1_NCO_SSEL_MASK (0x000000F0u)
  1704. #define CSL_DFE_DDUC_SSEL3_REG_MIX1_NCO_SSEL_SHIFT (0x00000004u)
  1705. #define CSL_DFE_DDUC_SSEL3_REG_MIX1_NCO_SSEL_RESETVAL (0x00000000u)
  1706. /* mixer0 channel 2 NCO accumulator sync */
  1707. #define CSL_DFE_DDUC_SSEL3_REG_MIX2_NCO_SSEL_MASK (0x00000F00u)
  1708. #define CSL_DFE_DDUC_SSEL3_REG_MIX2_NCO_SSEL_SHIFT (0x00000008u)
  1709. #define CSL_DFE_DDUC_SSEL3_REG_MIX2_NCO_SSEL_RESETVAL (0x00000000u)
  1710. /* mixer0 channel 3 NCO accumulator sync */
  1711. #define CSL_DFE_DDUC_SSEL3_REG_MIX3_NCO_SSEL_MASK (0x0000F000u)
  1712. #define CSL_DFE_DDUC_SSEL3_REG_MIX3_NCO_SSEL_SHIFT (0x0000000Cu)
  1713. #define CSL_DFE_DDUC_SSEL3_REG_MIX3_NCO_SSEL_RESETVAL (0x00000000u)
  1714. #define CSL_DFE_DDUC_SSEL3_REG_ADDR (0x000012D0u)
  1715. #define CSL_DFE_DDUC_SSEL3_REG_RESETVAL (0x00000000u)
  1716. /* SSEL4 */
  1717. typedef struct
  1718. {
  1719. #ifdef _BIG_ENDIAN
  1720. Uint32 rsvd0 : 16;
  1721. Uint32 mix7_nco_ssel : 4;
  1722. Uint32 mix6_nco_ssel : 4;
  1723. Uint32 mix5_nco_ssel : 4;
  1724. Uint32 mix4_nco_ssel : 4;
  1725. #else
  1726. Uint32 mix4_nco_ssel : 4;
  1727. Uint32 mix5_nco_ssel : 4;
  1728. Uint32 mix6_nco_ssel : 4;
  1729. Uint32 mix7_nco_ssel : 4;
  1730. Uint32 rsvd0 : 16;
  1731. #endif
  1732. } CSL_DFE_DDUC_SSEL4_REG;
  1733. /* mixer1 channel 0 NCO accumulator sync…also syncs dither */
  1734. #define CSL_DFE_DDUC_SSEL4_REG_MIX4_NCO_SSEL_MASK (0x0000000Fu)
  1735. #define CSL_DFE_DDUC_SSEL4_REG_MIX4_NCO_SSEL_SHIFT (0x00000000u)
  1736. #define CSL_DFE_DDUC_SSEL4_REG_MIX4_NCO_SSEL_RESETVAL (0x00000000u)
  1737. /* mixer1 channel 1 NCO accumulator sync */
  1738. #define CSL_DFE_DDUC_SSEL4_REG_MIX5_NCO_SSEL_MASK (0x000000F0u)
  1739. #define CSL_DFE_DDUC_SSEL4_REG_MIX5_NCO_SSEL_SHIFT (0x00000004u)
  1740. #define CSL_DFE_DDUC_SSEL4_REG_MIX5_NCO_SSEL_RESETVAL (0x00000000u)
  1741. /* mixer1 channel 2 NCO accumulator sync */
  1742. #define CSL_DFE_DDUC_SSEL4_REG_MIX6_NCO_SSEL_MASK (0x00000F00u)
  1743. #define CSL_DFE_DDUC_SSEL4_REG_MIX6_NCO_SSEL_SHIFT (0x00000008u)
  1744. #define CSL_DFE_DDUC_SSEL4_REG_MIX6_NCO_SSEL_RESETVAL (0x00000000u)
  1745. /* mixer1 channel 3 NCO accumulator sync */
  1746. #define CSL_DFE_DDUC_SSEL4_REG_MIX7_NCO_SSEL_MASK (0x0000F000u)
  1747. #define CSL_DFE_DDUC_SSEL4_REG_MIX7_NCO_SSEL_SHIFT (0x0000000Cu)
  1748. #define CSL_DFE_DDUC_SSEL4_REG_MIX7_NCO_SSEL_RESETVAL (0x00000000u)
  1749. #define CSL_DFE_DDUC_SSEL4_REG_ADDR (0x000012D4u)
  1750. #define CSL_DFE_DDUC_SSEL4_REG_RESETVAL (0x00000000u)
  1751. /* SSEL5 */
  1752. typedef struct
  1753. {
  1754. #ifdef _BIG_ENDIAN
  1755. Uint32 rsvd0 : 16;
  1756. Uint32 mix11_nco_ssel : 4;
  1757. Uint32 mix10_nco_ssel : 4;
  1758. Uint32 mix9_nco_ssel : 4;
  1759. Uint32 mix8_nco_ssel : 4;
  1760. #else
  1761. Uint32 mix8_nco_ssel : 4;
  1762. Uint32 mix9_nco_ssel : 4;
  1763. Uint32 mix10_nco_ssel : 4;
  1764. Uint32 mix11_nco_ssel : 4;
  1765. Uint32 rsvd0 : 16;
  1766. #endif
  1767. } CSL_DFE_DDUC_SSEL5_REG;
  1768. /* mixer2 channel 0 NCO accumulator sync…also syncs dither */
  1769. #define CSL_DFE_DDUC_SSEL5_REG_MIX8_NCO_SSEL_MASK (0x0000000Fu)
  1770. #define CSL_DFE_DDUC_SSEL5_REG_MIX8_NCO_SSEL_SHIFT (0x00000000u)
  1771. #define CSL_DFE_DDUC_SSEL5_REG_MIX8_NCO_SSEL_RESETVAL (0x00000000u)
  1772. /* mixer2 channel 1 NCO accumulator sync */
  1773. #define CSL_DFE_DDUC_SSEL5_REG_MIX9_NCO_SSEL_MASK (0x000000F0u)
  1774. #define CSL_DFE_DDUC_SSEL5_REG_MIX9_NCO_SSEL_SHIFT (0x00000004u)
  1775. #define CSL_DFE_DDUC_SSEL5_REG_MIX9_NCO_SSEL_RESETVAL (0x00000000u)
  1776. /* mixer2 channel 2 NCO accumulator sync */
  1777. #define CSL_DFE_DDUC_SSEL5_REG_MIX10_NCO_SSEL_MASK (0x00000F00u)
  1778. #define CSL_DFE_DDUC_SSEL5_REG_MIX10_NCO_SSEL_SHIFT (0x00000008u)
  1779. #define CSL_DFE_DDUC_SSEL5_REG_MIX10_NCO_SSEL_RESETVAL (0x00000000u)
  1780. /* mixer2 channel 3 NCO accumulator sync */
  1781. #define CSL_DFE_DDUC_SSEL5_REG_MIX11_NCO_SSEL_MASK (0x0000F000u)
  1782. #define CSL_DFE_DDUC_SSEL5_REG_MIX11_NCO_SSEL_SHIFT (0x0000000Cu)
  1783. #define CSL_DFE_DDUC_SSEL5_REG_MIX11_NCO_SSEL_RESETVAL (0x00000000u)
  1784. #define CSL_DFE_DDUC_SSEL5_REG_ADDR (0x000012D8u)
  1785. #define CSL_DFE_DDUC_SSEL5_REG_RESETVAL (0x00000000u)
  1786. /* TEST_BUS_MUX_ICG_DLY */
  1787. typedef struct
  1788. {
  1789. #ifdef _BIG_ENDIAN
  1790. Uint32 rsvd1 : 16;
  1791. Uint32 init_clk_gate_delay_4_0 : 5;
  1792. Uint32 rsvd0 : 2;
  1793. Uint32 test_bus_mux : 9;
  1794. #else
  1795. Uint32 test_bus_mux : 9;
  1796. Uint32 rsvd0 : 2;
  1797. Uint32 init_clk_gate_delay_4_0 : 5;
  1798. Uint32 rsvd1 : 16;
  1799. #endif
  1800. } CSL_DFE_DDUC_TEST_BUS_MUX_ICG_DLY_REG;
  1801. /* test bus mux for DDUC; should be set to 0 if not observing a dduc signal */
  1802. #define CSL_DFE_DDUC_TEST_BUS_MUX_ICG_DLY_REG_TEST_BUS_MUX_MASK (0x000001FFu)
  1803. #define CSL_DFE_DDUC_TEST_BUS_MUX_ICG_DLY_REG_TEST_BUS_MUX_SHIFT (0x00000000u)
  1804. #define CSL_DFE_DDUC_TEST_BUS_MUX_ICG_DLY_REG_TEST_BUS_MUX_RESETVAL (0x00000000u)
  1805. /* delay value for init_clk_gate delay */
  1806. #define CSL_DFE_DDUC_TEST_BUS_MUX_ICG_DLY_REG_INIT_CLK_GATE_DELAY_4_0_MASK (0x0000F800u)
  1807. #define CSL_DFE_DDUC_TEST_BUS_MUX_ICG_DLY_REG_INIT_CLK_GATE_DELAY_4_0_SHIFT (0x0000000Bu)
  1808. #define CSL_DFE_DDUC_TEST_BUS_MUX_ICG_DLY_REG_INIT_CLK_GATE_DELAY_4_0_RESETVAL (0x00000000u)
  1809. #define CSL_DFE_DDUC_TEST_BUS_MUX_ICG_DLY_REG_ADDR (0x000012DCu)
  1810. #define CSL_DFE_DDUC_TEST_BUS_MUX_ICG_DLY_REG_RESETVAL (0x00000000u)
  1811. /* TEST_BUS_BB_MUX */
  1812. typedef struct
  1813. {
  1814. #ifdef _BIG_ENDIAN
  1815. Uint32 rsvd0 : 23;
  1816. Uint32 test_bus_bb_mux : 9;
  1817. #else
  1818. Uint32 test_bus_bb_mux : 9;
  1819. Uint32 rsvd0 : 23;
  1820. #endif
  1821. } CSL_DFE_DDUC_TEST_BUS_BB_MUX_REG;
  1822. /* mux for baseband test bus */
  1823. #define CSL_DFE_DDUC_TEST_BUS_BB_MUX_REG_TEST_BUS_BB_MUX_MASK (0x000001FFu)
  1824. #define CSL_DFE_DDUC_TEST_BUS_BB_MUX_REG_TEST_BUS_BB_MUX_SHIFT (0x00000000u)
  1825. #define CSL_DFE_DDUC_TEST_BUS_BB_MUX_REG_TEST_BUS_BB_MUX_RESETVAL (0x00000000u)
  1826. #define CSL_DFE_DDUC_TEST_BUS_BB_MUX_REG_ADDR (0x000012E0u)
  1827. #define CSL_DFE_DDUC_TEST_BUS_BB_MUX_REG_RESETVAL (0x00000000u)
  1828. /* SELECTOR_MIX0_SEL */
  1829. typedef struct
  1830. {
  1831. #ifdef _BIG_ENDIAN
  1832. Uint32 rsvd0 : 16;
  1833. Uint32 mix0chan3_rx_sel : 2;
  1834. Uint32 mix0chan3_chan_sel : 2;
  1835. Uint32 mix0chan2_rx_sel : 2;
  1836. Uint32 mix0chan2_chan_sel : 2;
  1837. Uint32 mix0chan1_rx_sel : 2;
  1838. Uint32 mix0chan1_chan_sel : 2;
  1839. Uint32 mix0chan0_rx_sel : 2;
  1840. Uint32 mix0chan0_chan_sel : 2;
  1841. #else
  1842. Uint32 mix0chan0_chan_sel : 2;
  1843. Uint32 mix0chan0_rx_sel : 2;
  1844. Uint32 mix0chan1_chan_sel : 2;
  1845. Uint32 mix0chan1_rx_sel : 2;
  1846. Uint32 mix0chan2_chan_sel : 2;
  1847. Uint32 mix0chan2_rx_sel : 2;
  1848. Uint32 mix0chan3_chan_sel : 2;
  1849. Uint32 mix0chan3_rx_sel : 2;
  1850. Uint32 rsvd0 : 16;
  1851. #endif
  1852. } CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG;
  1853. /* in receive mode, which channel from selected RX to use for mixer0 channel 0 */
  1854. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN0_CHAN_SEL_MASK (0x00000003u)
  1855. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN0_CHAN_SEL_SHIFT (0x00000000u)
  1856. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN0_CHAN_SEL_RESETVAL (0x00000000u)
  1857. /* in receive mode, which RX to use for mixer0 channel 0 */
  1858. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN0_RX_SEL_MASK (0x0000000Cu)
  1859. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN0_RX_SEL_SHIFT (0x00000002u)
  1860. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN0_RX_SEL_RESETVAL (0x00000000u)
  1861. /* in receive mode, which channel from selected RX to use for mixer0 channel 1 */
  1862. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN1_CHAN_SEL_MASK (0x00000030u)
  1863. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN1_CHAN_SEL_SHIFT (0x00000004u)
  1864. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN1_CHAN_SEL_RESETVAL (0x00000000u)
  1865. /* in receive mode, which RX to use for mixer0 channel 1 */
  1866. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN1_RX_SEL_MASK (0x000000C0u)
  1867. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN1_RX_SEL_SHIFT (0x00000006u)
  1868. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN1_RX_SEL_RESETVAL (0x00000000u)
  1869. /* in receive mode, which channel from selected RX to use for mixer0 channel 2 */
  1870. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN2_CHAN_SEL_MASK (0x00000300u)
  1871. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN2_CHAN_SEL_SHIFT (0x00000008u)
  1872. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN2_CHAN_SEL_RESETVAL (0x00000000u)
  1873. /* in receive mode, which RX to use for mixer0 channel 2 */
  1874. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN2_RX_SEL_MASK (0x00000C00u)
  1875. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN2_RX_SEL_SHIFT (0x0000000Au)
  1876. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN2_RX_SEL_RESETVAL (0x00000000u)
  1877. /* in receive mode, which channel from selected RX to use for mixer0 channel 3 */
  1878. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN3_CHAN_SEL_MASK (0x00003000u)
  1879. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN3_CHAN_SEL_SHIFT (0x0000000Cu)
  1880. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN3_CHAN_SEL_RESETVAL (0x00000000u)
  1881. /* in receive mode, which RX to use for mixer0 channel 3 */
  1882. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN3_RX_SEL_MASK (0x0000C000u)
  1883. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN3_RX_SEL_SHIFT (0x0000000Eu)
  1884. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_MIX0CHAN3_RX_SEL_RESETVAL (0x00000000u)
  1885. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_ADDR (0x000012E4u)
  1886. #define CSL_DFE_DDUC_SELECTOR_MIX0_SEL_REG_RESETVAL (0x00000000u)
  1887. /* SELECTOR_MIX1_SEL */
  1888. typedef struct
  1889. {
  1890. #ifdef _BIG_ENDIAN
  1891. Uint32 rsvd0 : 16;
  1892. Uint32 mix1chan3_rx_sel : 2;
  1893. Uint32 mix1chan3_chan_sel : 2;
  1894. Uint32 mix1chan2_rx_sel : 2;
  1895. Uint32 mix1chan2_chan_sel : 2;
  1896. Uint32 mix1chan1_rx_sel : 2;
  1897. Uint32 mix1chan1_chan_sel : 2;
  1898. Uint32 mix1chan0_rx_sel : 2;
  1899. Uint32 mix1chan0_chan_sel : 2;
  1900. #else
  1901. Uint32 mix1chan0_chan_sel : 2;
  1902. Uint32 mix1chan0_rx_sel : 2;
  1903. Uint32 mix1chan1_chan_sel : 2;
  1904. Uint32 mix1chan1_rx_sel : 2;
  1905. Uint32 mix1chan2_chan_sel : 2;
  1906. Uint32 mix1chan2_rx_sel : 2;
  1907. Uint32 mix1chan3_chan_sel : 2;
  1908. Uint32 mix1chan3_rx_sel : 2;
  1909. Uint32 rsvd0 : 16;
  1910. #endif
  1911. } CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG;
  1912. /* in receive mode, which channel from selected RX to use for mixer1 channel 0 */
  1913. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN0_CHAN_SEL_MASK (0x00000003u)
  1914. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN0_CHAN_SEL_SHIFT (0x00000000u)
  1915. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN0_CHAN_SEL_RESETVAL (0x00000000u)
  1916. /* in receive mode, which RX to use for mixer1 channel 0 */
  1917. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN0_RX_SEL_MASK (0x0000000Cu)
  1918. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN0_RX_SEL_SHIFT (0x00000002u)
  1919. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN0_RX_SEL_RESETVAL (0x00000000u)
  1920. /* in receive mode, which channel from selected RX to use for mixer1 channel 1 */
  1921. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN1_CHAN_SEL_MASK (0x00000030u)
  1922. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN1_CHAN_SEL_SHIFT (0x00000004u)
  1923. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN1_CHAN_SEL_RESETVAL (0x00000000u)
  1924. /* in receive mode, which RX to use for mixer1 channel 1 */
  1925. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN1_RX_SEL_MASK (0x000000C0u)
  1926. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN1_RX_SEL_SHIFT (0x00000006u)
  1927. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN1_RX_SEL_RESETVAL (0x00000000u)
  1928. /* in receive mode, which channel from selected RX to use for mixer1 channel 2 */
  1929. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN2_CHAN_SEL_MASK (0x00000300u)
  1930. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN2_CHAN_SEL_SHIFT (0x00000008u)
  1931. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN2_CHAN_SEL_RESETVAL (0x00000000u)
  1932. /* in receive mode, which RX to use for mixer1 channel 2 */
  1933. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN2_RX_SEL_MASK (0x00000C00u)
  1934. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN2_RX_SEL_SHIFT (0x0000000Au)
  1935. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN2_RX_SEL_RESETVAL (0x00000000u)
  1936. /* in receive mode, which channel from selected RX to use for mixer1 channel 3 */
  1937. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN3_CHAN_SEL_MASK (0x00003000u)
  1938. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN3_CHAN_SEL_SHIFT (0x0000000Cu)
  1939. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN3_CHAN_SEL_RESETVAL (0x00000000u)
  1940. /* in receive mode, which RX to use for mixer1 channel 3 */
  1941. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN3_RX_SEL_MASK (0x0000C000u)
  1942. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN3_RX_SEL_SHIFT (0x0000000Eu)
  1943. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_MIX1CHAN3_RX_SEL_RESETVAL (0x00000000u)
  1944. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_ADDR (0x000012E8u)
  1945. #define CSL_DFE_DDUC_SELECTOR_MIX1_SEL_REG_RESETVAL (0x00000000u)
  1946. /* SELECTOR_MIX2_SEL */
  1947. typedef struct
  1948. {
  1949. #ifdef _BIG_ENDIAN
  1950. Uint32 rsvd0 : 16;
  1951. Uint32 mix2chan3_rx_sel : 2;
  1952. Uint32 mix2chan3_chan_sel : 2;
  1953. Uint32 mix2chan2_rx_sel : 2;
  1954. Uint32 mix2chan2_chan_sel : 2;
  1955. Uint32 mix2chan1_rx_sel : 2;
  1956. Uint32 mix2chan1_chan_sel : 2;
  1957. Uint32 mix2chan0_rx_sel : 2;
  1958. Uint32 mix2chan0_chan_sel : 2;
  1959. #else
  1960. Uint32 mix2chan0_chan_sel : 2;
  1961. Uint32 mix2chan0_rx_sel : 2;
  1962. Uint32 mix2chan1_chan_sel : 2;
  1963. Uint32 mix2chan1_rx_sel : 2;
  1964. Uint32 mix2chan2_chan_sel : 2;
  1965. Uint32 mix2chan2_rx_sel : 2;
  1966. Uint32 mix2chan3_chan_sel : 2;
  1967. Uint32 mix2chan3_rx_sel : 2;
  1968. Uint32 rsvd0 : 16;
  1969. #endif
  1970. } CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG;
  1971. /* in receive mode, which channel from selected RX to use for mixer2 channel 0 */
  1972. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN0_CHAN_SEL_MASK (0x00000003u)
  1973. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN0_CHAN_SEL_SHIFT (0x00000000u)
  1974. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN0_CHAN_SEL_RESETVAL (0x00000000u)
  1975. /* in receive mode, which RX to use for mixer2 channel 0 */
  1976. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN0_RX_SEL_MASK (0x0000000Cu)
  1977. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN0_RX_SEL_SHIFT (0x00000002u)
  1978. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN0_RX_SEL_RESETVAL (0x00000000u)
  1979. /* in receive mode, which channel from selected RX to use for mixer2 channel 1 */
  1980. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN1_CHAN_SEL_MASK (0x00000030u)
  1981. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN1_CHAN_SEL_SHIFT (0x00000004u)
  1982. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN1_CHAN_SEL_RESETVAL (0x00000000u)
  1983. /* in receive mode, which RX to use for mixer2 channel 1 */
  1984. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN1_RX_SEL_MASK (0x000000C0u)
  1985. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN1_RX_SEL_SHIFT (0x00000006u)
  1986. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN1_RX_SEL_RESETVAL (0x00000000u)
  1987. /* in receive mode, which channel from selected RX to use for mixer2 channel 2 */
  1988. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN2_CHAN_SEL_MASK (0x00000300u)
  1989. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN2_CHAN_SEL_SHIFT (0x00000008u)
  1990. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN2_CHAN_SEL_RESETVAL (0x00000000u)
  1991. /* in receive mode, which RX to use for mixer2 channel 2 */
  1992. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN2_RX_SEL_MASK (0x00000C00u)
  1993. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN2_RX_SEL_SHIFT (0x0000000Au)
  1994. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN2_RX_SEL_RESETVAL (0x00000000u)
  1995. /* in receive mode, which channel from selected RX to use for mixer2 channel 3 */
  1996. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN3_CHAN_SEL_MASK (0x00003000u)
  1997. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN3_CHAN_SEL_SHIFT (0x0000000Cu)
  1998. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN3_CHAN_SEL_RESETVAL (0x00000000u)
  1999. /* in receive mode, which RX to use for mixer2 channel 3 */
  2000. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN3_RX_SEL_MASK (0x0000C000u)
  2001. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN3_RX_SEL_SHIFT (0x0000000Eu)
  2002. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_MIX2CHAN3_RX_SEL_RESETVAL (0x00000000u)
  2003. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_ADDR (0x000012ECu)
  2004. #define CSL_DFE_DDUC_SELECTOR_MIX2_SEL_REG_RESETVAL (0x00000000u)
  2005. /* PFIR_CONFIG0 */
  2006. typedef struct
  2007. {
  2008. #ifdef _BIG_ENDIAN
  2009. Uint32 rsvd1 : 18;
  2010. Uint32 n_fir_coef_m1 : 6;
  2011. Uint32 rsvd0 : 2;
  2012. Uint32 delay_len_m1 : 6;
  2013. #else
  2014. Uint32 delay_len_m1 : 6;
  2015. Uint32 rsvd0 : 2;
  2016. Uint32 n_fir_coef_m1 : 6;
  2017. Uint32 rsvd1 : 18;
  2018. #endif
  2019. } CSL_DFE_DDUC_PFIR_CONFIG0_REG;
  2020. /* length of delay ram - 1 */
  2021. #define CSL_DFE_DDUC_PFIR_CONFIG0_REG_DELAY_LEN_M1_MASK (0x0000003Fu)
  2022. #define CSL_DFE_DDUC_PFIR_CONFIG0_REG_DELAY_LEN_M1_SHIFT (0x00000000u)
  2023. #define CSL_DFE_DDUC_PFIR_CONFIG0_REG_DELAY_LEN_M1_RESETVAL (0x00000000u)
  2024. /* number of samples - 1 */
  2025. #define CSL_DFE_DDUC_PFIR_CONFIG0_REG_N_FIR_COEF_M1_MASK (0x00003F00u)
  2026. #define CSL_DFE_DDUC_PFIR_CONFIG0_REG_N_FIR_COEF_M1_SHIFT (0x00000008u)
  2027. #define CSL_DFE_DDUC_PFIR_CONFIG0_REG_N_FIR_COEF_M1_RESETVAL (0x00000000u)
  2028. #define CSL_DFE_DDUC_PFIR_CONFIG0_REG_ADDR (0x00001300u)
  2029. #define CSL_DFE_DDUC_PFIR_CONFIG0_REG_RESETVAL (0x00000000u)
  2030. /* PFIR_CONFIG1 */
  2031. typedef struct
  2032. {
  2033. #ifdef _BIG_ENDIAN
  2034. Uint32 rsvd1 : 17;
  2035. Uint32 turn_offset : 7;
  2036. Uint32 rsvd0 : 2;
  2037. Uint32 fwd_offset : 6;
  2038. #else
  2039. Uint32 fwd_offset : 6;
  2040. Uint32 rsvd0 : 2;
  2041. Uint32 turn_offset : 7;
  2042. Uint32 rsvd1 : 17;
  2043. #endif
  2044. } CSL_DFE_DDUC_PFIR_CONFIG1_REG;
  2045. /* offset from read address to write new fwd data */
  2046. #define CSL_DFE_DDUC_PFIR_CONFIG1_REG_FWD_OFFSET_MASK (0x0000003Fu)
  2047. #define CSL_DFE_DDUC_PFIR_CONFIG1_REG_FWD_OFFSET_SHIFT (0x00000000u)
  2048. #define CSL_DFE_DDUC_PFIR_CONFIG1_REG_FWD_OFFSET_RESETVAL (0x00000000u)
  2049. /* offset from read address to write new turn data */
  2050. #define CSL_DFE_DDUC_PFIR_CONFIG1_REG_TURN_OFFSET_MASK (0x00007F00u)
  2051. #define CSL_DFE_DDUC_PFIR_CONFIG1_REG_TURN_OFFSET_SHIFT (0x00000008u)
  2052. #define CSL_DFE_DDUC_PFIR_CONFIG1_REG_TURN_OFFSET_RESETVAL (0x00000000u)
  2053. #define CSL_DFE_DDUC_PFIR_CONFIG1_REG_ADDR (0x00001304u)
  2054. #define CSL_DFE_DDUC_PFIR_CONFIG1_REG_RESETVAL (0x00000000u)
  2055. /* PFIR_CONFIG2 */
  2056. typedef struct
  2057. {
  2058. #ifdef _BIG_ENDIAN
  2059. Uint32 rsvd1 : 17;
  2060. Uint32 real : 1;
  2061. Uint32 dec2 : 1;
  2062. Uint32 int2 : 1;
  2063. Uint32 rsvd0 : 1;
  2064. Uint32 all_valid : 1;
  2065. Uint32 ch1i2 : 1;
  2066. Uint32 real1 : 1;
  2067. Uint32 fir_interpolate : 1;
  2068. Uint32 shift_fir_output : 3;
  2069. Uint32 num_fir_channels_m1 : 4;
  2070. #else
  2071. Uint32 num_fir_channels_m1 : 4;
  2072. Uint32 shift_fir_output : 3;
  2073. Uint32 fir_interpolate : 1;
  2074. Uint32 real1 : 1;
  2075. Uint32 ch1i2 : 1;
  2076. Uint32 all_valid : 1;
  2077. Uint32 rsvd0 : 1;
  2078. Uint32 int2 : 1;
  2079. Uint32 dec2 : 1;
  2080. Uint32 real : 1;
  2081. Uint32 rsvd1 : 17;
  2082. #endif
  2083. } CSL_DFE_DDUC_PFIR_CONFIG2_REG;
  2084. /* number of data that each coef dwells for - 1 */
  2085. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_NUM_FIR_CHANNELS_M1_MASK (0x0000000Fu)
  2086. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_NUM_FIR_CHANNELS_M1_SHIFT (0x00000000u)
  2087. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_NUM_FIR_CHANNELS_M1_RESETVAL (0x00000000u)
  2088. /* adjusts gain through pfir; gain is: */
  2089. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_SHIFT_FIR_OUTPUT_MASK (0x00000070u)
  2090. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_SHIFT_FIR_OUTPUT_SHIFT (0x00000004u)
  2091. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_SHIFT_FIR_OUTPUT_RESETVAL (0x00000000u)
  2092. /* 1 = tx; 0 = rx */
  2093. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_FIR_INTERPOLATE_MASK (0x00000080u)
  2094. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_FIR_INTERPOLATE_SHIFT (0x00000007u)
  2095. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_FIR_INTERPOLATE_RESETVAL (0x00000000u)
  2096. /* special case: 1 if real mode with 1 tap filter */
  2097. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_REAL1_MASK (0x00000100u)
  2098. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_REAL1_SHIFT (0x00000008u)
  2099. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_REAL1_RESETVAL (0x00000000u)
  2100. /* special case: 1 if 1 channel, interpolating by 2 and 2 tap filter */
  2101. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_CH1I2_MASK (0x00000200u)
  2102. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_CH1I2_SHIFT (0x00000009u)
  2103. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_CH1I2_RESETVAL (0x00000000u)
  2104. /* special case: 1 if 1 channel and delay_len is 1 (all output is always valid in this configuration) */
  2105. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_ALL_VALID_MASK (0x00000400u)
  2106. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_ALL_VALID_SHIFT (0x0000000Au)
  2107. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_ALL_VALID_RESETVAL (0x00000000u)
  2108. /* 1 if in int by 2 mode */
  2109. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_INT2_MASK (0x00001000u)
  2110. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_INT2_SHIFT (0x0000000Cu)
  2111. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_INT2_RESETVAL (0x00000000u)
  2112. /* 1 if in dec by 2 mode */
  2113. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_DEC2_MASK (0x00002000u)
  2114. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_DEC2_SHIFT (0x0000000Du)
  2115. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_DEC2_RESETVAL (0x00000000u)
  2116. /* 1 if in real mode */
  2117. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_REAL_MASK (0x00004000u)
  2118. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_REAL_SHIFT (0x0000000Eu)
  2119. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_REAL_RESETVAL (0x00000000u)
  2120. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_ADDR (0x00001308u)
  2121. #define CSL_DFE_DDUC_PFIR_CONFIG2_REG_RESETVAL (0x00000000u)
  2122. /* PFIR_COEF_OFFSET0 */
  2123. typedef struct
  2124. {
  2125. #ifdef _BIG_ENDIAN
  2126. Uint32 rsvd0 : 16;
  2127. Uint32 coef_offset3 : 4;
  2128. Uint32 coef_offset2 : 4;
  2129. Uint32 coef_offset1 : 4;
  2130. Uint32 coef_offset0 : 4;
  2131. #else
  2132. Uint32 coef_offset0 : 4;
  2133. Uint32 coef_offset1 : 4;
  2134. Uint32 coef_offset2 : 4;
  2135. Uint32 coef_offset3 : 4;
  2136. Uint32 rsvd0 : 16;
  2137. #endif
  2138. } CSL_DFE_DDUC_PFIR_COEF_OFFSET0_REG;
  2139. /* coefficient offset for the last channel (if there are 8 channels numbered 0 to 7, this is the offset for channel 7). This offset determines which coefficient bank is used for this channel. */
  2140. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET0_REG_COEF_OFFSET0_MASK (0x0000000Fu)
  2141. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET0_REG_COEF_OFFSET0_SHIFT (0x00000000u)
  2142. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET0_REG_COEF_OFFSET0_RESETVAL (0x00000000u)
  2143. /* coefficient offset for the 2nd-to-last channel (if there are 8 channels numbered 0 to 7, this is the offset for channel 6). This offset determines which coefficient bank is used for this channel. */
  2144. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET0_REG_COEF_OFFSET1_MASK (0x000000F0u)
  2145. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET0_REG_COEF_OFFSET1_SHIFT (0x00000004u)
  2146. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET0_REG_COEF_OFFSET1_RESETVAL (0x00000000u)
  2147. /* coefficient offset for the 3rd-to-last channel (if there are 8 channels numbered 0 to 7, this is the offset for channel 5). This offset determines which coefficient bank is used for this channel. */
  2148. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET0_REG_COEF_OFFSET2_MASK (0x00000F00u)
  2149. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET0_REG_COEF_OFFSET2_SHIFT (0x00000008u)
  2150. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET0_REG_COEF_OFFSET2_RESETVAL (0x00000000u)
  2151. /* coefficient offset for the 4th-to-last channel (if there are 8 channels numbered 0 to 7, this is the offset for channel 4). This offset determines which coefficient bank is used for this channel. */
  2152. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET0_REG_COEF_OFFSET3_MASK (0x0000F000u)
  2153. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET0_REG_COEF_OFFSET3_SHIFT (0x0000000Cu)
  2154. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET0_REG_COEF_OFFSET3_RESETVAL (0x00000000u)
  2155. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET0_REG_ADDR (0x0000130Cu)
  2156. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET0_REG_RESETVAL (0x00000000u)
  2157. /* PFIR_COEF_OFFSET1 */
  2158. typedef struct
  2159. {
  2160. #ifdef _BIG_ENDIAN
  2161. Uint32 rsvd0 : 16;
  2162. Uint32 coef_offset7 : 4;
  2163. Uint32 coef_offset6 : 4;
  2164. Uint32 coef_offset5 : 4;
  2165. Uint32 coef_offset4 : 4;
  2166. #else
  2167. Uint32 coef_offset4 : 4;
  2168. Uint32 coef_offset5 : 4;
  2169. Uint32 coef_offset6 : 4;
  2170. Uint32 coef_offset7 : 4;
  2171. Uint32 rsvd0 : 16;
  2172. #endif
  2173. } CSL_DFE_DDUC_PFIR_COEF_OFFSET1_REG;
  2174. /* coefficient offset for the 5th-to-last channel (if there are 8 channels numbered 0 to 7, this is the offset for channel 3). This offset determines which coefficient bank is used for this channel. */
  2175. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET1_REG_COEF_OFFSET4_MASK (0x0000000Fu)
  2176. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET1_REG_COEF_OFFSET4_SHIFT (0x00000000u)
  2177. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET1_REG_COEF_OFFSET4_RESETVAL (0x00000000u)
  2178. /* coefficient offset for the 6th-to-last channel (if there are 8 channels numbered 0 to 7, this is the offset for channel 2). This offset determines which coefficient bank is used for this channel. */
  2179. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET1_REG_COEF_OFFSET5_MASK (0x000000F0u)
  2180. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET1_REG_COEF_OFFSET5_SHIFT (0x00000004u)
  2181. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET1_REG_COEF_OFFSET5_RESETVAL (0x00000000u)
  2182. /* coefficient offset for the 7th-to-last channel (if there are 8 channels numbered 0 to 7, this is the offset for channel 1). This offset determines which coefficient bank is used for this channel. */
  2183. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET1_REG_COEF_OFFSET6_MASK (0x00000F00u)
  2184. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET1_REG_COEF_OFFSET6_SHIFT (0x00000008u)
  2185. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET1_REG_COEF_OFFSET6_RESETVAL (0x00000000u)
  2186. /* coefficient offset for the 8th-to-last channel (if there are 8 channels numbered 0 to 7, this is the offset for channel 0). This offset determines which coefficient bank is used for this channel. */
  2187. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET1_REG_COEF_OFFSET7_MASK (0x0000F000u)
  2188. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET1_REG_COEF_OFFSET7_SHIFT (0x0000000Cu)
  2189. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET1_REG_COEF_OFFSET7_RESETVAL (0x00000000u)
  2190. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET1_REG_ADDR (0x00001310u)
  2191. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET1_REG_RESETVAL (0x00000000u)
  2192. /* PFIR_COEF_OFFSET2 */
  2193. typedef struct
  2194. {
  2195. #ifdef _BIG_ENDIAN
  2196. Uint32 rsvd0 : 16;
  2197. Uint32 coef_offset11 : 4;
  2198. Uint32 coef_offset10 : 4;
  2199. Uint32 coef_offset9 : 4;
  2200. Uint32 coef_offset8 : 4;
  2201. #else
  2202. Uint32 coef_offset8 : 4;
  2203. Uint32 coef_offset9 : 4;
  2204. Uint32 coef_offset10 : 4;
  2205. Uint32 coef_offset11 : 4;
  2206. Uint32 rsvd0 : 16;
  2207. #endif
  2208. } CSL_DFE_DDUC_PFIR_COEF_OFFSET2_REG;
  2209. /* coefficient offset for the 9th-to-last channel (if there are 8 channels numbered 0 to 7, this value would be unused). This offset determines which coefficient bank is used for this channel. */
  2210. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET2_REG_COEF_OFFSET8_MASK (0x0000000Fu)
  2211. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET2_REG_COEF_OFFSET8_SHIFT (0x00000000u)
  2212. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET2_REG_COEF_OFFSET8_RESETVAL (0x00000000u)
  2213. /* coefficient offset for the 10th-to-last channel (if there are 8 channels numbered 0 to 7, this value would be unused). This offset determines which coefficient bank is used for this channel. */
  2214. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET2_REG_COEF_OFFSET9_MASK (0x000000F0u)
  2215. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET2_REG_COEF_OFFSET9_SHIFT (0x00000004u)
  2216. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET2_REG_COEF_OFFSET9_RESETVAL (0x00000000u)
  2217. /* coefficient offset for the 11th-to-last channel (if there are 8 channels numbered 0 to 7, this value would be unused). This offset determines which coefficient bank is used for this channel. */
  2218. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET2_REG_COEF_OFFSET10_MASK (0x00000F00u)
  2219. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET2_REG_COEF_OFFSET10_SHIFT (0x00000008u)
  2220. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET2_REG_COEF_OFFSET10_RESETVAL (0x00000000u)
  2221. /* coefficient offset for the 12th-to-last channel (if there are 8 channels numbered 0 to 7, this value would be unused). This offset determines which coefficient bank is used for this channel. */
  2222. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET2_REG_COEF_OFFSET11_MASK (0x0000F000u)
  2223. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET2_REG_COEF_OFFSET11_SHIFT (0x0000000Cu)
  2224. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET2_REG_COEF_OFFSET11_RESETVAL (0x00000000u)
  2225. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET2_REG_ADDR (0x00001314u)
  2226. #define CSL_DFE_DDUC_PFIR_COEF_OFFSET2_REG_RESETVAL (0x00000000u)
  2227. /* PFIR_FCMUX0 */
  2228. typedef struct
  2229. {
  2230. #ifdef _BIG_ENDIAN
  2231. Uint32 rsvd0 : 16;
  2232. Uint32 fcmux3 : 4;
  2233. Uint32 fcmux2 : 4;
  2234. Uint32 fcmux1 : 4;
  2235. Uint32 fcmux0 : 4;
  2236. #else
  2237. Uint32 fcmux0 : 4;
  2238. Uint32 fcmux1 : 4;
  2239. Uint32 fcmux2 : 4;
  2240. Uint32 fcmux3 : 4;
  2241. Uint32 rsvd0 : 16;
  2242. #endif
  2243. } CSL_DFE_DDUC_PFIR_FCMUX0_REG;
  2244. /* fcmux value for last channel; used to shorten filter */
  2245. #define CSL_DFE_DDUC_PFIR_FCMUX0_REG_FCMUX0_MASK (0x0000000Fu)
  2246. #define CSL_DFE_DDUC_PFIR_FCMUX0_REG_FCMUX0_SHIFT (0x00000000u)
  2247. #define CSL_DFE_DDUC_PFIR_FCMUX0_REG_FCMUX0_RESETVAL (0x00000000u)
  2248. /* fcmux value for 2nd-to-last channel; used to shorten filter */
  2249. #define CSL_DFE_DDUC_PFIR_FCMUX0_REG_FCMUX1_MASK (0x000000F0u)
  2250. #define CSL_DFE_DDUC_PFIR_FCMUX0_REG_FCMUX1_SHIFT (0x00000004u)
  2251. #define CSL_DFE_DDUC_PFIR_FCMUX0_REG_FCMUX1_RESETVAL (0x00000000u)
  2252. /* fcmux value for 3rd-to-last channel; used to shorten filter */
  2253. #define CSL_DFE_DDUC_PFIR_FCMUX0_REG_FCMUX2_MASK (0x00000F00u)
  2254. #define CSL_DFE_DDUC_PFIR_FCMUX0_REG_FCMUX2_SHIFT (0x00000008u)
  2255. #define CSL_DFE_DDUC_PFIR_FCMUX0_REG_FCMUX2_RESETVAL (0x00000000u)
  2256. /* fcmux value for 4th-to-last channel; used to shorten filter */
  2257. #define CSL_DFE_DDUC_PFIR_FCMUX0_REG_FCMUX3_MASK (0x0000F000u)
  2258. #define CSL_DFE_DDUC_PFIR_FCMUX0_REG_FCMUX3_SHIFT (0x0000000Cu)
  2259. #define CSL_DFE_DDUC_PFIR_FCMUX0_REG_FCMUX3_RESETVAL (0x00000000u)
  2260. #define CSL_DFE_DDUC_PFIR_FCMUX0_REG_ADDR (0x00001318u)
  2261. #define CSL_DFE_DDUC_PFIR_FCMUX0_REG_RESETVAL (0x00000000u)
  2262. /* PFIR_FCMUX1 */
  2263. typedef struct
  2264. {
  2265. #ifdef _BIG_ENDIAN
  2266. Uint32 rsvd0 : 16;
  2267. Uint32 fcmux7 : 4;
  2268. Uint32 fcmux6 : 4;
  2269. Uint32 fcmux5 : 4;
  2270. Uint32 fcmux4 : 4;
  2271. #else
  2272. Uint32 fcmux4 : 4;
  2273. Uint32 fcmux5 : 4;
  2274. Uint32 fcmux6 : 4;
  2275. Uint32 fcmux7 : 4;
  2276. Uint32 rsvd0 : 16;
  2277. #endif
  2278. } CSL_DFE_DDUC_PFIR_FCMUX1_REG;
  2279. /* fcmux value for 5th-to-last channel; used to shorten filter */
  2280. #define CSL_DFE_DDUC_PFIR_FCMUX1_REG_FCMUX4_MASK (0x0000000Fu)
  2281. #define CSL_DFE_DDUC_PFIR_FCMUX1_REG_FCMUX4_SHIFT (0x00000000u)
  2282. #define CSL_DFE_DDUC_PFIR_FCMUX1_REG_FCMUX4_RESETVAL (0x00000000u)
  2283. /* fcmux value for 6th-to-last channel; used to shorten filter */
  2284. #define CSL_DFE_DDUC_PFIR_FCMUX1_REG_FCMUX5_MASK (0x000000F0u)
  2285. #define CSL_DFE_DDUC_PFIR_FCMUX1_REG_FCMUX5_SHIFT (0x00000004u)
  2286. #define CSL_DFE_DDUC_PFIR_FCMUX1_REG_FCMUX5_RESETVAL (0x00000000u)
  2287. /* fcmux value for 7th-to-last channel; used to shorten filter */
  2288. #define CSL_DFE_DDUC_PFIR_FCMUX1_REG_FCMUX6_MASK (0x00000F00u)
  2289. #define CSL_DFE_DDUC_PFIR_FCMUX1_REG_FCMUX6_SHIFT (0x00000008u)
  2290. #define CSL_DFE_DDUC_PFIR_FCMUX1_REG_FCMUX6_RESETVAL (0x00000000u)
  2291. /* fcmux value for 8th-to-last channel; used to shorten filter */
  2292. #define CSL_DFE_DDUC_PFIR_FCMUX1_REG_FCMUX7_MASK (0x0000F000u)
  2293. #define CSL_DFE_DDUC_PFIR_FCMUX1_REG_FCMUX7_SHIFT (0x0000000Cu)
  2294. #define CSL_DFE_DDUC_PFIR_FCMUX1_REG_FCMUX7_RESETVAL (0x00000000u)
  2295. #define CSL_DFE_DDUC_PFIR_FCMUX1_REG_ADDR (0x0000131Cu)
  2296. #define CSL_DFE_DDUC_PFIR_FCMUX1_REG_RESETVAL (0x00000000u)
  2297. /* PFIR_FCMUX2 */
  2298. typedef struct
  2299. {
  2300. #ifdef _BIG_ENDIAN
  2301. Uint32 rsvd0 : 16;
  2302. Uint32 fcmux11 : 4;
  2303. Uint32 fcmux10 : 4;
  2304. Uint32 fcmux9 : 4;
  2305. Uint32 fcmux8 : 4;
  2306. #else
  2307. Uint32 fcmux8 : 4;
  2308. Uint32 fcmux9 : 4;
  2309. Uint32 fcmux10 : 4;
  2310. Uint32 fcmux11 : 4;
  2311. Uint32 rsvd0 : 16;
  2312. #endif
  2313. } CSL_DFE_DDUC_PFIR_FCMUX2_REG;
  2314. /* fcmux value for 9th-to-last channel; used to shorten filter */
  2315. #define CSL_DFE_DDUC_PFIR_FCMUX2_REG_FCMUX8_MASK (0x0000000Fu)
  2316. #define CSL_DFE_DDUC_PFIR_FCMUX2_REG_FCMUX8_SHIFT (0x00000000u)
  2317. #define CSL_DFE_DDUC_PFIR_FCMUX2_REG_FCMUX8_RESETVAL (0x00000000u)
  2318. /* fcmux value for 10th-to-last channel; used to shorten filter */
  2319. #define CSL_DFE_DDUC_PFIR_FCMUX2_REG_FCMUX9_MASK (0x000000F0u)
  2320. #define CSL_DFE_DDUC_PFIR_FCMUX2_REG_FCMUX9_SHIFT (0x00000004u)
  2321. #define CSL_DFE_DDUC_PFIR_FCMUX2_REG_FCMUX9_RESETVAL (0x00000000u)
  2322. /* fcmux value for 11th-to-last channel; used to shorten filter */
  2323. #define CSL_DFE_DDUC_PFIR_FCMUX2_REG_FCMUX10_MASK (0x00000F00u)
  2324. #define CSL_DFE_DDUC_PFIR_FCMUX2_REG_FCMUX10_SHIFT (0x00000008u)
  2325. #define CSL_DFE_DDUC_PFIR_FCMUX2_REG_FCMUX10_RESETVAL (0x00000000u)
  2326. /* fcmux value for 12th-to-last channel; used to shorten filter */
  2327. #define CSL_DFE_DDUC_PFIR_FCMUX2_REG_FCMUX11_MASK (0x0000F000u)
  2328. #define CSL_DFE_DDUC_PFIR_FCMUX2_REG_FCMUX11_SHIFT (0x0000000Cu)
  2329. #define CSL_DFE_DDUC_PFIR_FCMUX2_REG_FCMUX11_RESETVAL (0x00000000u)
  2330. #define CSL_DFE_DDUC_PFIR_FCMUX2_REG_ADDR (0x00001320u)
  2331. #define CSL_DFE_DDUC_PFIR_FCMUX2_REG_RESETVAL (0x00000000u)
  2332. /* PFIR_PCSYM */
  2333. typedef struct
  2334. {
  2335. #ifdef _BIG_ENDIAN
  2336. Uint32 rsvd0 : 20;
  2337. Uint32 pcsym11 : 1;
  2338. Uint32 pcsym10 : 1;
  2339. Uint32 pcsym9 : 1;
  2340. Uint32 pcsym8 : 1;
  2341. Uint32 pcsym7 : 1;
  2342. Uint32 pcsym6 : 1;
  2343. Uint32 pcsym5 : 1;
  2344. Uint32 pcsym4 : 1;
  2345. Uint32 pcsym3 : 1;
  2346. Uint32 pcsym2 : 1;
  2347. Uint32 pcsym1 : 1;
  2348. Uint32 pcsym0 : 1;
  2349. #else
  2350. Uint32 pcsym0 : 1;
  2351. Uint32 pcsym1 : 1;
  2352. Uint32 pcsym2 : 1;
  2353. Uint32 pcsym3 : 1;
  2354. Uint32 pcsym4 : 1;
  2355. Uint32 pcsym5 : 1;
  2356. Uint32 pcsym6 : 1;
  2357. Uint32 pcsym7 : 1;
  2358. Uint32 pcsym8 : 1;
  2359. Uint32 pcsym9 : 1;
  2360. Uint32 pcsym10 : 1;
  2361. Uint32 pcsym11 : 1;
  2362. Uint32 rsvd0 : 20;
  2363. #endif
  2364. } CSL_DFE_DDUC_PFIR_PCSYM_REG;
  2365. /* 1 for symmetry on for last channel; 0 for no symmetry */
  2366. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM0_MASK (0x00000001u)
  2367. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM0_SHIFT (0x00000000u)
  2368. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM0_RESETVAL (0x00000000u)
  2369. /* 1 for symmetry on for 2nd-to-last channel; 0 for no symmetry */
  2370. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM1_MASK (0x00000002u)
  2371. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM1_SHIFT (0x00000001u)
  2372. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM1_RESETVAL (0x00000000u)
  2373. /* 1 for symmetry on for 3rd-to-last channel; 0 for no symmetry */
  2374. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM2_MASK (0x00000004u)
  2375. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM2_SHIFT (0x00000002u)
  2376. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM2_RESETVAL (0x00000000u)
  2377. /* 1 for symmetry on for 4th-to-last channel; 0 for no symmetry */
  2378. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM3_MASK (0x00000008u)
  2379. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM3_SHIFT (0x00000003u)
  2380. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM3_RESETVAL (0x00000000u)
  2381. /* 1 for symmetry on for 5th-to-last channel; 0 for no symmetry */
  2382. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM4_MASK (0x00000010u)
  2383. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM4_SHIFT (0x00000004u)
  2384. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM4_RESETVAL (0x00000000u)
  2385. /* 1 for symmetry on for 6th-to-last channel; 0 for no symmetry */
  2386. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM5_MASK (0x00000020u)
  2387. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM5_SHIFT (0x00000005u)
  2388. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM5_RESETVAL (0x00000000u)
  2389. /* 1 for symmetry on for 7th-to-last channel; 0 for no symmetry */
  2390. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM6_MASK (0x00000040u)
  2391. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM6_SHIFT (0x00000006u)
  2392. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM6_RESETVAL (0x00000000u)
  2393. /* 1 for symmetry on for 8th-to-last channel; 0 for no symmetry */
  2394. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM7_MASK (0x00000080u)
  2395. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM7_SHIFT (0x00000007u)
  2396. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM7_RESETVAL (0x00000000u)
  2397. /* 1 for symmetry on for 9th-to-last channel; 0 for no symmetry */
  2398. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM8_MASK (0x00000100u)
  2399. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM8_SHIFT (0x00000008u)
  2400. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM8_RESETVAL (0x00000000u)
  2401. /* 1 for symmetry on for 10th-to-last channel; 0 for no symmetry */
  2402. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM9_MASK (0x00000200u)
  2403. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM9_SHIFT (0x00000009u)
  2404. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM9_RESETVAL (0x00000000u)
  2405. /* 1 for symmetry on for 11th-to-last channel; 0 for no symmetry */
  2406. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM10_MASK (0x00000400u)
  2407. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM10_SHIFT (0x0000000Au)
  2408. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM10_RESETVAL (0x00000000u)
  2409. /* 1 for symmetry on for 12th-to-last channel; 0 for no symmetry */
  2410. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM11_MASK (0x00000800u)
  2411. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM11_SHIFT (0x0000000Bu)
  2412. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_PCSYM11_RESETVAL (0x00000000u)
  2413. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_ADDR (0x00001324u)
  2414. #define CSL_DFE_DDUC_PFIR_PCSYM_REG_RESETVAL (0x00000000u)
  2415. /* FRW_TIME_STEP_LO */
  2416. typedef struct
  2417. {
  2418. #ifdef _BIG_ENDIAN
  2419. Uint32 rsvd0 : 16;
  2420. Uint32 time_step_15_0 : 16;
  2421. #else
  2422. Uint32 time_step_15_0 : 16;
  2423. Uint32 rsvd0 : 16;
  2424. #endif
  2425. } CSL_DFE_DDUC_FRW_TIME_STEP_LO_REG;
  2426. /* time step word in frw. Amount to increment accumulator each IF clock. Is a function of the interpolation or decimation ratio. If interpolating, equals 2^31 * decimation/interpolation. If decimating, equals 2^31 * interpolation/decimation */
  2427. #define CSL_DFE_DDUC_FRW_TIME_STEP_LO_REG_TIME_STEP_15_0_MASK (0x0000FFFFu)
  2428. #define CSL_DFE_DDUC_FRW_TIME_STEP_LO_REG_TIME_STEP_15_0_SHIFT (0x00000000u)
  2429. #define CSL_DFE_DDUC_FRW_TIME_STEP_LO_REG_TIME_STEP_15_0_RESETVAL (0x00000000u)
  2430. #define CSL_DFE_DDUC_FRW_TIME_STEP_LO_REG_ADDR (0x00001340u)
  2431. #define CSL_DFE_DDUC_FRW_TIME_STEP_LO_REG_RESETVAL (0x00000000u)
  2432. /* FRW_TIME_STEP_HI */
  2433. typedef struct
  2434. {
  2435. #ifdef _BIG_ENDIAN
  2436. Uint32 rsvd0 : 16;
  2437. Uint32 time_step_31_16 : 16;
  2438. #else
  2439. Uint32 time_step_31_16 : 16;
  2440. Uint32 rsvd0 : 16;
  2441. #endif
  2442. } CSL_DFE_DDUC_FRW_TIME_STEP_HI_REG;
  2443. /* */
  2444. #define CSL_DFE_DDUC_FRW_TIME_STEP_HI_REG_TIME_STEP_31_16_MASK (0x0000FFFFu)
  2445. #define CSL_DFE_DDUC_FRW_TIME_STEP_HI_REG_TIME_STEP_31_16_SHIFT (0x00000000u)
  2446. #define CSL_DFE_DDUC_FRW_TIME_STEP_HI_REG_TIME_STEP_31_16_RESETVAL (0x00000000u)
  2447. #define CSL_DFE_DDUC_FRW_TIME_STEP_HI_REG_ADDR (0x00001344u)
  2448. #define CSL_DFE_DDUC_FRW_TIME_STEP_HI_REG_RESETVAL (0x00000000u)
  2449. /* FRW_RESET_INT_M1_LO */
  2450. typedef struct
  2451. {
  2452. #ifdef _BIG_ENDIAN
  2453. Uint32 rsvd0 : 16;
  2454. Uint32 reset_int_m1_15_0 : 16;
  2455. #else
  2456. Uint32 reset_int_m1_15_0 : 16;
  2457. Uint32 rsvd0 : 16;
  2458. #endif
  2459. } CSL_DFE_DDUC_FRW_RESET_INT_M1_LO_REG;
  2460. /* time accumulator reset interval minus 1. Interval (minus 1) at which the accumulation word should reset itself if reset_en; should equal the interpolation factor minus 1 if interpolating, or the decimation factor minus 1 if decimating. */
  2461. #define CSL_DFE_DDUC_FRW_RESET_INT_M1_LO_REG_RESET_INT_M1_15_0_MASK (0x0000FFFFu)
  2462. #define CSL_DFE_DDUC_FRW_RESET_INT_M1_LO_REG_RESET_INT_M1_15_0_SHIFT (0x00000000u)
  2463. #define CSL_DFE_DDUC_FRW_RESET_INT_M1_LO_REG_RESET_INT_M1_15_0_RESETVAL (0x00000000u)
  2464. #define CSL_DFE_DDUC_FRW_RESET_INT_M1_LO_REG_ADDR (0x00001348u)
  2465. #define CSL_DFE_DDUC_FRW_RESET_INT_M1_LO_REG_RESETVAL (0x00000000u)
  2466. /* FRW_CONFIG0 */
  2467. typedef struct
  2468. {
  2469. #ifdef _BIG_ENDIAN
  2470. Uint32 rsvd0 : 17;
  2471. Uint32 int_mode : 1;
  2472. Uint32 reset_en : 1;
  2473. Uint32 num_real_streams_m1 : 5;
  2474. Uint32 reset_int_m1_23_16 : 8;
  2475. #else
  2476. Uint32 reset_int_m1_23_16 : 8;
  2477. Uint32 num_real_streams_m1 : 5;
  2478. Uint32 reset_en : 1;
  2479. Uint32 int_mode : 1;
  2480. Uint32 rsvd0 : 17;
  2481. #endif
  2482. } CSL_DFE_DDUC_FRW_CONFIG0_REG;
  2483. /* */
  2484. #define CSL_DFE_DDUC_FRW_CONFIG0_REG_RESET_INT_M1_23_16_MASK (0x000000FFu)
  2485. #define CSL_DFE_DDUC_FRW_CONFIG0_REG_RESET_INT_M1_23_16_SHIFT (0x00000000u)
  2486. #define CSL_DFE_DDUC_FRW_CONFIG0_REG_RESET_INT_M1_23_16_RESETVAL (0x00000000u)
  2487. /* Number of real streams (a complex channel has 2 real streams) minus 1. If 0, then it is in one-channel real mode. */
  2488. #define CSL_DFE_DDUC_FRW_CONFIG0_REG_NUM_REAL_STREAMS_M1_MASK (0x00001F00u)
  2489. #define CSL_DFE_DDUC_FRW_CONFIG0_REG_NUM_REAL_STREAMS_M1_SHIFT (0x00000008u)
  2490. #define CSL_DFE_DDUC_FRW_CONFIG0_REG_NUM_REAL_STREAMS_M1_RESETVAL (0x00000000u)
  2491. /* 1 to enable time accumulator reset. 0 to never reset. Enables auto-reset of the accumulation word; needed if the interpolation factor can not be perfectly expressed in time_step. */
  2492. #define CSL_DFE_DDUC_FRW_CONFIG0_REG_RESET_EN_MASK (0x00002000u)
  2493. #define CSL_DFE_DDUC_FRW_CONFIG0_REG_RESET_EN_SHIFT (0x0000000Du)
  2494. #define CSL_DFE_DDUC_FRW_CONFIG0_REG_RESET_EN_RESETVAL (0x00000000u)
  2495. /* 1 if in DUC mode (interpolate), 0 if in DDC mode (decimate) */
  2496. #define CSL_DFE_DDUC_FRW_CONFIG0_REG_INT_MODE_MASK (0x00004000u)
  2497. #define CSL_DFE_DDUC_FRW_CONFIG0_REG_INT_MODE_SHIFT (0x0000000Eu)
  2498. #define CSL_DFE_DDUC_FRW_CONFIG0_REG_INT_MODE_RESETVAL (0x00000000u)
  2499. #define CSL_DFE_DDUC_FRW_CONFIG0_REG_ADDR (0x0000134Cu)
  2500. #define CSL_DFE_DDUC_FRW_CONFIG0_REG_RESETVAL (0x00000000u)
  2501. /* FRW_CONFIG1 */
  2502. typedef struct
  2503. {
  2504. #ifdef _BIG_ENDIAN
  2505. Uint32 rsvd0 : 21;
  2506. Uint32 id_shift : 4;
  2507. Uint32 two : 1;
  2508. Uint32 one : 1;
  2509. Uint32 nch : 5;
  2510. #else
  2511. Uint32 nch : 5;
  2512. Uint32 one : 1;
  2513. Uint32 two : 1;
  2514. Uint32 id_shift : 4;
  2515. Uint32 rsvd0 : 21;
  2516. #endif
  2517. } CSL_DFE_DDUC_FRW_CONFIG1_REG;
  2518. /* Number of real streams minus 3. Set to 0 if 1 or 2 streams (used by delay ram addressing) */
  2519. #define CSL_DFE_DDUC_FRW_CONFIG1_REG_NCH_MASK (0x0000001Fu)
  2520. #define CSL_DFE_DDUC_FRW_CONFIG1_REG_NCH_SHIFT (0x00000000u)
  2521. #define CSL_DFE_DDUC_FRW_CONFIG1_REG_NCH_RESETVAL (0x00000000u)
  2522. /* High to delay by one in delay ram addressing */
  2523. #define CSL_DFE_DDUC_FRW_CONFIG1_REG_ONE_MASK (0x00000020u)
  2524. #define CSL_DFE_DDUC_FRW_CONFIG1_REG_ONE_SHIFT (0x00000005u)
  2525. #define CSL_DFE_DDUC_FRW_CONFIG1_REG_ONE_RESETVAL (0x00000000u)
  2526. /* High to delay by two in delay ram addressing */
  2527. #define CSL_DFE_DDUC_FRW_CONFIG1_REG_TWO_MASK (0x00000040u)
  2528. #define CSL_DFE_DDUC_FRW_CONFIG1_REG_TWO_SHIFT (0x00000006u)
  2529. #define CSL_DFE_DDUC_FRW_CONFIG1_REG_TWO_RESETVAL (0x00000000u)
  2530. /* Receive accumulator shift value (0-10). Amount to shift left the decimation mode’s polynomial accumulators prior to rounding it to go into the FIFO...the rounder will round off 10-id_shift bits (rounding off 0 bits is unity gain). Ignored in interpolation mode. Final gain through frw is ultimately: */
  2531. #define CSL_DFE_DDUC_FRW_CONFIG1_REG_ID_SHIFT_MASK (0x00000780u)
  2532. #define CSL_DFE_DDUC_FRW_CONFIG1_REG_ID_SHIFT_SHIFT (0x00000007u)
  2533. #define CSL_DFE_DDUC_FRW_CONFIG1_REG_ID_SHIFT_RESETVAL (0x00000000u)
  2534. #define CSL_DFE_DDUC_FRW_CONFIG1_REG_ADDR (0x00001350u)
  2535. #define CSL_DFE_DDUC_FRW_CONFIG1_REG_RESETVAL (0x00000000u)
  2536. /* FRW_SIG_INIT_VAL_LO */
  2537. typedef struct
  2538. {
  2539. #ifdef _BIG_ENDIAN
  2540. Uint32 rsvd0 : 16;
  2541. Uint32 sig_init_val_15_0 : 16;
  2542. #else
  2543. Uint32 sig_init_val_15_0 : 16;
  2544. Uint32 rsvd0 : 16;
  2545. #endif
  2546. } CSL_DFE_DDUC_FRW_SIG_INIT_VAL_LO_REG;
  2547. /* Initial value for signal generators in ramp mode (affects both IF and BB signal generators) */
  2548. #define CSL_DFE_DDUC_FRW_SIG_INIT_VAL_LO_REG_SIG_INIT_VAL_15_0_MASK (0x0000FFFFu)
  2549. #define CSL_DFE_DDUC_FRW_SIG_INIT_VAL_LO_REG_SIG_INIT_VAL_15_0_SHIFT (0x00000000u)
  2550. #define CSL_DFE_DDUC_FRW_SIG_INIT_VAL_LO_REG_SIG_INIT_VAL_15_0_RESETVAL (0x00000000u)
  2551. #define CSL_DFE_DDUC_FRW_SIG_INIT_VAL_LO_REG_ADDR (0x00001354u)
  2552. #define CSL_DFE_DDUC_FRW_SIG_INIT_VAL_LO_REG_RESETVAL (0x00000000u)
  2553. /* FRW_SIG_INC_VAL_LO */
  2554. typedef struct
  2555. {
  2556. #ifdef _BIG_ENDIAN
  2557. Uint32 rsvd0 : 16;
  2558. Uint32 sig_inc_val_15_0 : 16;
  2559. #else
  2560. Uint32 sig_inc_val_15_0 : 16;
  2561. Uint32 rsvd0 : 16;
  2562. #endif
  2563. } CSL_DFE_DDUC_FRW_SIG_INC_VAL_LO_REG;
  2564. /* Increment value for signal generators in ramp mode (affects both IF and BB signal generators) */
  2565. #define CSL_DFE_DDUC_FRW_SIG_INC_VAL_LO_REG_SIG_INC_VAL_15_0_MASK (0x0000FFFFu)
  2566. #define CSL_DFE_DDUC_FRW_SIG_INC_VAL_LO_REG_SIG_INC_VAL_15_0_SHIFT (0x00000000u)
  2567. #define CSL_DFE_DDUC_FRW_SIG_INC_VAL_LO_REG_SIG_INC_VAL_15_0_RESETVAL (0x00000000u)
  2568. #define CSL_DFE_DDUC_FRW_SIG_INC_VAL_LO_REG_ADDR (0x00001358u)
  2569. #define CSL_DFE_DDUC_FRW_SIG_INC_VAL_LO_REG_RESETVAL (0x00000000u)
  2570. /* FRW_SIG_CFG */
  2571. typedef struct
  2572. {
  2573. #ifdef _BIG_ENDIAN
  2574. Uint32 rsvd2 : 22;
  2575. Uint32 sig_en : 1;
  2576. Uint32 sig_lfsr_mode : 1;
  2577. Uint32 rsvd1 : 1;
  2578. Uint32 sig_inc_val_18_16 : 3;
  2579. Uint32 rsvd0 : 1;
  2580. Uint32 sig_init_val_18_16 : 3;
  2581. #else
  2582. Uint32 sig_init_val_18_16 : 3;
  2583. Uint32 rsvd0 : 1;
  2584. Uint32 sig_inc_val_18_16 : 3;
  2585. Uint32 rsvd1 : 1;
  2586. Uint32 sig_lfsr_mode : 1;
  2587. Uint32 sig_en : 1;
  2588. Uint32 rsvd2 : 22;
  2589. #endif
  2590. } CSL_DFE_DDUC_FRW_SIG_CFG_REG;
  2591. /* */
  2592. #define CSL_DFE_DDUC_FRW_SIG_CFG_REG_SIG_INIT_VAL_18_16_MASK (0x00000007u)
  2593. #define CSL_DFE_DDUC_FRW_SIG_CFG_REG_SIG_INIT_VAL_18_16_SHIFT (0x00000000u)
  2594. #define CSL_DFE_DDUC_FRW_SIG_CFG_REG_SIG_INIT_VAL_18_16_RESETVAL (0x00000000u)
  2595. /* */
  2596. #define CSL_DFE_DDUC_FRW_SIG_CFG_REG_SIG_INC_VAL_18_16_MASK (0x00000070u)
  2597. #define CSL_DFE_DDUC_FRW_SIG_CFG_REG_SIG_INC_VAL_18_16_SHIFT (0x00000004u)
  2598. #define CSL_DFE_DDUC_FRW_SIG_CFG_REG_SIG_INC_VAL_18_16_RESETVAL (0x00000000u)
  2599. /* 1 for signal generators to be in lfsr mode, 0 for ramp mode (affects both IF and BB signal generators) */
  2600. #define CSL_DFE_DDUC_FRW_SIG_CFG_REG_SIG_LFSR_MODE_MASK (0x00000100u)
  2601. #define CSL_DFE_DDUC_FRW_SIG_CFG_REG_SIG_LFSR_MODE_SHIFT (0x00000008u)
  2602. #define CSL_DFE_DDUC_FRW_SIG_CFG_REG_SIG_LFSR_MODE_RESETVAL (0x00000000u)
  2603. /* 1 to enable signal generators, 0 to disable (in xmt mode, affects IF generator. In rcv mode, affects BB generator. Unused one is always disabled) */
  2604. #define CSL_DFE_DDUC_FRW_SIG_CFG_REG_SIG_EN_MASK (0x00000200u)
  2605. #define CSL_DFE_DDUC_FRW_SIG_CFG_REG_SIG_EN_SHIFT (0x00000009u)
  2606. #define CSL_DFE_DDUC_FRW_SIG_CFG_REG_SIG_EN_RESETVAL (0x00000000u)
  2607. #define CSL_DFE_DDUC_FRW_SIG_CFG_REG_ADDR (0x0000135Cu)
  2608. #define CSL_DFE_DDUC_FRW_SIG_CFG_REG_RESETVAL (0x00000000u)
  2609. /* FRW_CHKSUM_LO */
  2610. typedef struct
  2611. {
  2612. #ifdef _BIG_ENDIAN
  2613. Uint32 rsvd0 : 16;
  2614. Uint32 chksum_15_0 : 16;
  2615. #else
  2616. Uint32 chksum_15_0 : 16;
  2617. Uint32 rsvd0 : 16;
  2618. #endif
  2619. } CSL_DFE_DDUC_FRW_CHKSUM_LO_REG;
  2620. /* checksum from signature analyzer. In xmt mode, reads BB checksum. In rcv, reads IF checksum. */
  2621. #define CSL_DFE_DDUC_FRW_CHKSUM_LO_REG_CHKSUM_15_0_MASK (0x0000FFFFu)
  2622. #define CSL_DFE_DDUC_FRW_CHKSUM_LO_REG_CHKSUM_15_0_SHIFT (0x00000000u)
  2623. #define CSL_DFE_DDUC_FRW_CHKSUM_LO_REG_CHKSUM_15_0_RESETVAL (0x00000000u)
  2624. #define CSL_DFE_DDUC_FRW_CHKSUM_LO_REG_ADDR (0x00001360u)
  2625. #define CSL_DFE_DDUC_FRW_CHKSUM_LO_REG_RESETVAL (0x00000000u)
  2626. /* FRW_CHKSUM_HI */
  2627. typedef struct
  2628. {
  2629. #ifdef _BIG_ENDIAN
  2630. Uint32 rsvd0 : 16;
  2631. Uint32 chksum_31_16 : 16;
  2632. #else
  2633. Uint32 chksum_31_16 : 16;
  2634. Uint32 rsvd0 : 16;
  2635. #endif
  2636. } CSL_DFE_DDUC_FRW_CHKSUM_HI_REG;
  2637. /* */
  2638. #define CSL_DFE_DDUC_FRW_CHKSUM_HI_REG_CHKSUM_31_16_MASK (0x0000FFFFu)
  2639. #define CSL_DFE_DDUC_FRW_CHKSUM_HI_REG_CHKSUM_31_16_SHIFT (0x00000000u)
  2640. #define CSL_DFE_DDUC_FRW_CHKSUM_HI_REG_CHKSUM_31_16_RESETVAL (0x00000000u)
  2641. #define CSL_DFE_DDUC_FRW_CHKSUM_HI_REG_ADDR (0x00001364u)
  2642. #define CSL_DFE_DDUC_FRW_CHKSUM_HI_REG_RESETVAL (0x00000000u)
  2643. /* TX_SIGNAL_GEN_CONFIG */
  2644. typedef struct
  2645. {
  2646. #ifdef _BIG_ENDIAN
  2647. Uint32 rsvd1 : 16;
  2648. Uint32 frame_len_m1 : 12;
  2649. Uint32 rsvd0 : 1;
  2650. Uint32 ramp_mode : 1;
  2651. Uint32 gen_frame : 1;
  2652. Uint32 gen_data : 1;
  2653. #else
  2654. Uint32 gen_data : 1;
  2655. Uint32 gen_frame : 1;
  2656. Uint32 ramp_mode : 1;
  2657. Uint32 rsvd0 : 1;
  2658. Uint32 frame_len_m1 : 12;
  2659. Uint32 rsvd1 : 16;
  2660. #endif
  2661. } CSL_DFE_DDUC_TX_SIGNAL_GEN_CONFIG_REG;
  2662. /* 1 = enable data generation, 0 = use data_in */
  2663. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_CONFIG_REG_GEN_DATA_MASK (0x00000001u)
  2664. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_CONFIG_REG_GEN_DATA_SHIFT (0x00000000u)
  2665. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_CONFIG_REG_GEN_DATA_RESETVAL (0x00000000u)
  2666. /* 1 = enable frame generation, 0 = use frame_in */
  2667. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_CONFIG_REG_GEN_FRAME_MASK (0x00000002u)
  2668. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_CONFIG_REG_GEN_FRAME_SHIFT (0x00000001u)
  2669. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_CONFIG_REG_GEN_FRAME_RESETVAL (0x00000000u)
  2670. /* 1 = generate ramp data, 0 = generate LFSR data */
  2671. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_CONFIG_REG_RAMP_MODE_MASK (0x00000004u)
  2672. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_CONFIG_REG_RAMP_MODE_SHIFT (0x00000002u)
  2673. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_CONFIG_REG_RAMP_MODE_RESETVAL (0x00000000u)
  2674. /* number of clocks per frame minus 1 */
  2675. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_CONFIG_REG_FRAME_LEN_M1_MASK (0x0000FFF0u)
  2676. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_CONFIG_REG_FRAME_LEN_M1_SHIFT (0x00000004u)
  2677. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_CONFIG_REG_FRAME_LEN_M1_RESETVAL (0x00000000u)
  2678. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_CONFIG_REG_ADDR (0x00001380u)
  2679. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_CONFIG_REG_RESETVAL (0x00000000u)
  2680. /* TX_SIGNAL_GEN_RAMP_START_LO */
  2681. typedef struct
  2682. {
  2683. #ifdef _BIG_ENDIAN
  2684. Uint32 rsvd0 : 16;
  2685. Uint32 ramp_start_15_0 : 16;
  2686. #else
  2687. Uint32 ramp_start_15_0 : 16;
  2688. Uint32 rsvd0 : 16;
  2689. #endif
  2690. } CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_START_LO_REG;
  2691. /* ramp starting value */
  2692. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_START_LO_REG_RAMP_START_15_0_MASK (0x0000FFFFu)
  2693. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_START_LO_REG_RAMP_START_15_0_SHIFT (0x00000000u)
  2694. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_START_LO_REG_RAMP_START_15_0_RESETVAL (0x00000000u)
  2695. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_START_LO_REG_ADDR (0x00001384u)
  2696. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_START_LO_REG_RESETVAL (0x00000000u)
  2697. /* TX_SIGNAL_GEN_RAMP_START_HI */
  2698. typedef struct
  2699. {
  2700. #ifdef _BIG_ENDIAN
  2701. Uint32 rsvd0 : 16;
  2702. Uint32 ramp_start_31_16 : 16;
  2703. #else
  2704. Uint32 ramp_start_31_16 : 16;
  2705. Uint32 rsvd0 : 16;
  2706. #endif
  2707. } CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_START_HI_REG;
  2708. /* ramp starting value */
  2709. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_START_HI_REG_RAMP_START_31_16_MASK (0x0000FFFFu)
  2710. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_START_HI_REG_RAMP_START_31_16_SHIFT (0x00000000u)
  2711. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_START_HI_REG_RAMP_START_31_16_RESETVAL (0x00000000u)
  2712. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_START_HI_REG_ADDR (0x00001388u)
  2713. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_START_HI_REG_RESETVAL (0x00000000u)
  2714. /* TX_SIGNAL_GEN_RAMP_STOP_LO */
  2715. typedef struct
  2716. {
  2717. #ifdef _BIG_ENDIAN
  2718. Uint32 rsvd0 : 16;
  2719. Uint32 ramp_stop_15_0 : 16;
  2720. #else
  2721. Uint32 ramp_stop_15_0 : 16;
  2722. Uint32 rsvd0 : 16;
  2723. #endif
  2724. } CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_STOP_LO_REG;
  2725. /* ramp stop value - ramp loops back to ramp_start */
  2726. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_STOP_LO_REG_RAMP_STOP_15_0_MASK (0x0000FFFFu)
  2727. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_STOP_LO_REG_RAMP_STOP_15_0_SHIFT (0x00000000u)
  2728. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_STOP_LO_REG_RAMP_STOP_15_0_RESETVAL (0x00000000u)
  2729. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_STOP_LO_REG_ADDR (0x0000138Cu)
  2730. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_STOP_LO_REG_RESETVAL (0x00000000u)
  2731. /* TX_SIGNAL_GEN_RAMP_STOP_HI */
  2732. typedef struct
  2733. {
  2734. #ifdef _BIG_ENDIAN
  2735. Uint32 rsvd0 : 16;
  2736. Uint32 ramp_stop_31_16 : 16;
  2737. #else
  2738. Uint32 ramp_stop_31_16 : 16;
  2739. Uint32 rsvd0 : 16;
  2740. #endif
  2741. } CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_STOP_HI_REG;
  2742. /* ramp stop value - ramp loops back to ramp_start */
  2743. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_STOP_HI_REG_RAMP_STOP_31_16_MASK (0x0000FFFFu)
  2744. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_STOP_HI_REG_RAMP_STOP_31_16_SHIFT (0x00000000u)
  2745. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_STOP_HI_REG_RAMP_STOP_31_16_RESETVAL (0x00000000u)
  2746. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_STOP_HI_REG_ADDR (0x00001390u)
  2747. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_STOP_HI_REG_RESETVAL (0x00000000u)
  2748. /* TX_SIGNAL_GEN_RAMP_SLOPE_LO */
  2749. typedef struct
  2750. {
  2751. #ifdef _BIG_ENDIAN
  2752. Uint32 rsvd0 : 16;
  2753. Uint32 ramp_slope_15_0 : 16;
  2754. #else
  2755. Uint32 ramp_slope_15_0 : 16;
  2756. Uint32 rsvd0 : 16;
  2757. #endif
  2758. } CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_SLOPE_LO_REG;
  2759. /* ramp slope value - ramp increments by this value every clock (not every sample) */
  2760. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_SLOPE_LO_REG_RAMP_SLOPE_15_0_MASK (0x0000FFFFu)
  2761. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_SLOPE_LO_REG_RAMP_SLOPE_15_0_SHIFT (0x00000000u)
  2762. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_SLOPE_LO_REG_RAMP_SLOPE_15_0_RESETVAL (0x00000000u)
  2763. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_SLOPE_LO_REG_ADDR (0x00001394u)
  2764. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_SLOPE_LO_REG_RESETVAL (0x00000000u)
  2765. /* TX_SIGNAL_GEN_RAMP_SLOPE_HI */
  2766. typedef struct
  2767. {
  2768. #ifdef _BIG_ENDIAN
  2769. Uint32 rsvd0 : 16;
  2770. Uint32 ramp_slope_31_16 : 16;
  2771. #else
  2772. Uint32 ramp_slope_31_16 : 16;
  2773. Uint32 rsvd0 : 16;
  2774. #endif
  2775. } CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_SLOPE_HI_REG;
  2776. /* ramp slope value - ramp increments by this value every clock (not every sample) */
  2777. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_SLOPE_HI_REG_RAMP_SLOPE_31_16_MASK (0x0000FFFFu)
  2778. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_SLOPE_HI_REG_RAMP_SLOPE_31_16_SHIFT (0x00000000u)
  2779. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_SLOPE_HI_REG_RAMP_SLOPE_31_16_RESETVAL (0x00000000u)
  2780. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_SLOPE_HI_REG_ADDR (0x00001398u)
  2781. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_RAMP_SLOPE_HI_REG_RESETVAL (0x00000000u)
  2782. /* TX_SIGNAL_GEN_PULSE_WIDTH */
  2783. typedef struct
  2784. {
  2785. #ifdef _BIG_ENDIAN
  2786. Uint32 rsvd0 : 16;
  2787. Uint32 pulse_width : 16;
  2788. #else
  2789. Uint32 pulse_width : 16;
  2790. Uint32 rsvd0 : 16;
  2791. #endif
  2792. } CSL_DFE_DDUC_TX_SIGNAL_GEN_PULSE_WIDTH_REG;
  2793. /* 0 = generate data forever, n = generate data for n clock cycles */
  2794. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_PULSE_WIDTH_REG_PULSE_WIDTH_MASK (0x0000FFFFu)
  2795. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_PULSE_WIDTH_REG_PULSE_WIDTH_SHIFT (0x00000000u)
  2796. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_PULSE_WIDTH_REG_PULSE_WIDTH_RESETVAL (0x00000000u)
  2797. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_PULSE_WIDTH_REG_ADDR (0x0000139Cu)
  2798. #define CSL_DFE_DDUC_TX_SIGNAL_GEN_PULSE_WIDTH_REG_RESETVAL (0x00000000u)
  2799. /* RX_SIGNAL_GEN_CONFIG */
  2800. typedef struct
  2801. {
  2802. #ifdef _BIG_ENDIAN
  2803. Uint32 rsvd1 : 16;
  2804. Uint32 frame_len_m1 : 12;
  2805. Uint32 rsvd0 : 1;
  2806. Uint32 ramp_mode : 1;
  2807. Uint32 gen_frame : 1;
  2808. Uint32 gen_data : 1;
  2809. #else
  2810. Uint32 gen_data : 1;
  2811. Uint32 gen_frame : 1;
  2812. Uint32 ramp_mode : 1;
  2813. Uint32 rsvd0 : 1;
  2814. Uint32 frame_len_m1 : 12;
  2815. Uint32 rsvd1 : 16;
  2816. #endif
  2817. } CSL_DFE_DDUC_RX_SIGNAL_GEN_CONFIG_REG;
  2818. /* 1 = enable data generation, 0 = use data_in */
  2819. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_CONFIG_REG_GEN_DATA_MASK (0x00000001u)
  2820. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_CONFIG_REG_GEN_DATA_SHIFT (0x00000000u)
  2821. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_CONFIG_REG_GEN_DATA_RESETVAL (0x00000000u)
  2822. /* 1 = enable frame generation, 0 = use frame_in */
  2823. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_CONFIG_REG_GEN_FRAME_MASK (0x00000002u)
  2824. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_CONFIG_REG_GEN_FRAME_SHIFT (0x00000001u)
  2825. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_CONFIG_REG_GEN_FRAME_RESETVAL (0x00000000u)
  2826. /* 1 = generate ramp data, 0 = generate LFSR data */
  2827. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_CONFIG_REG_RAMP_MODE_MASK (0x00000004u)
  2828. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_CONFIG_REG_RAMP_MODE_SHIFT (0x00000002u)
  2829. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_CONFIG_REG_RAMP_MODE_RESETVAL (0x00000000u)
  2830. /* number of clocks per frame minus 1 */
  2831. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_CONFIG_REG_FRAME_LEN_M1_MASK (0x0000FFF0u)
  2832. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_CONFIG_REG_FRAME_LEN_M1_SHIFT (0x00000004u)
  2833. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_CONFIG_REG_FRAME_LEN_M1_RESETVAL (0x00000000u)
  2834. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_CONFIG_REG_ADDR (0x000013A4u)
  2835. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_CONFIG_REG_RESETVAL (0x00000000u)
  2836. /* RX_SIGNAL_GEN_RAMP_START_LO */
  2837. typedef struct
  2838. {
  2839. #ifdef _BIG_ENDIAN
  2840. Uint32 rsvd0 : 16;
  2841. Uint32 ramp_start_15_0 : 16;
  2842. #else
  2843. Uint32 ramp_start_15_0 : 16;
  2844. Uint32 rsvd0 : 16;
  2845. #endif
  2846. } CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_START_LO_REG;
  2847. /* ramp starting value */
  2848. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_START_LO_REG_RAMP_START_15_0_MASK (0x0000FFFFu)
  2849. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_START_LO_REG_RAMP_START_15_0_SHIFT (0x00000000u)
  2850. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_START_LO_REG_RAMP_START_15_0_RESETVAL (0x00000000u)
  2851. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_START_LO_REG_ADDR (0x000013A8u)
  2852. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_START_LO_REG_RESETVAL (0x00000000u)
  2853. /* RX_SIGNAL_GEN_RAMP_START_HI */
  2854. typedef struct
  2855. {
  2856. #ifdef _BIG_ENDIAN
  2857. Uint32 rsvd0 : 16;
  2858. Uint32 ramp_start_31_16 : 16;
  2859. #else
  2860. Uint32 ramp_start_31_16 : 16;
  2861. Uint32 rsvd0 : 16;
  2862. #endif
  2863. } CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_START_HI_REG;
  2864. /* ramp starting value */
  2865. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_START_HI_REG_RAMP_START_31_16_MASK (0x0000FFFFu)
  2866. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_START_HI_REG_RAMP_START_31_16_SHIFT (0x00000000u)
  2867. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_START_HI_REG_RAMP_START_31_16_RESETVAL (0x00000000u)
  2868. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_START_HI_REG_ADDR (0x000013ACu)
  2869. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_START_HI_REG_RESETVAL (0x00000000u)
  2870. /* RX_SIGNAL_GEN_RAMP_STOP_LO */
  2871. typedef struct
  2872. {
  2873. #ifdef _BIG_ENDIAN
  2874. Uint32 rsvd0 : 16;
  2875. Uint32 ramp_stop_15_0 : 16;
  2876. #else
  2877. Uint32 ramp_stop_15_0 : 16;
  2878. Uint32 rsvd0 : 16;
  2879. #endif
  2880. } CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_STOP_LO_REG;
  2881. /* ramp stop value - ramp loops back to ramp_start */
  2882. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_STOP_LO_REG_RAMP_STOP_15_0_MASK (0x0000FFFFu)
  2883. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_STOP_LO_REG_RAMP_STOP_15_0_SHIFT (0x00000000u)
  2884. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_STOP_LO_REG_RAMP_STOP_15_0_RESETVAL (0x00000000u)
  2885. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_STOP_LO_REG_ADDR (0x000013B0u)
  2886. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_STOP_LO_REG_RESETVAL (0x00000000u)
  2887. /* RX_SIGNAL_GEN_RAMP_STOP_HI */
  2888. typedef struct
  2889. {
  2890. #ifdef _BIG_ENDIAN
  2891. Uint32 rsvd0 : 16;
  2892. Uint32 ramp_stop_31_16 : 16;
  2893. #else
  2894. Uint32 ramp_stop_31_16 : 16;
  2895. Uint32 rsvd0 : 16;
  2896. #endif
  2897. } CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_STOP_HI_REG;
  2898. /* ramp stop value - ramp loops back to ramp_start */
  2899. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_STOP_HI_REG_RAMP_STOP_31_16_MASK (0x0000FFFFu)
  2900. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_STOP_HI_REG_RAMP_STOP_31_16_SHIFT (0x00000000u)
  2901. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_STOP_HI_REG_RAMP_STOP_31_16_RESETVAL (0x00000000u)
  2902. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_STOP_HI_REG_ADDR (0x000013B4u)
  2903. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_STOP_HI_REG_RESETVAL (0x00000000u)
  2904. /* RX_SIGNAL_GEN_RAMP_SLOPE_LO */
  2905. typedef struct
  2906. {
  2907. #ifdef _BIG_ENDIAN
  2908. Uint32 rsvd0 : 16;
  2909. Uint32 ramp_slope_15_0 : 16;
  2910. #else
  2911. Uint32 ramp_slope_15_0 : 16;
  2912. Uint32 rsvd0 : 16;
  2913. #endif
  2914. } CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_SLOPE_LO_REG;
  2915. /* ramp slope value - ramp increments by this value every clock (not every sample) */
  2916. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_SLOPE_LO_REG_RAMP_SLOPE_15_0_MASK (0x0000FFFFu)
  2917. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_SLOPE_LO_REG_RAMP_SLOPE_15_0_SHIFT (0x00000000u)
  2918. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_SLOPE_LO_REG_RAMP_SLOPE_15_0_RESETVAL (0x00000000u)
  2919. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_SLOPE_LO_REG_ADDR (0x000013B8u)
  2920. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_SLOPE_LO_REG_RESETVAL (0x00000000u)
  2921. /* RX_SIGNAL_GEN_RAMP_SLOPE_HI */
  2922. typedef struct
  2923. {
  2924. #ifdef _BIG_ENDIAN
  2925. Uint32 rsvd0 : 16;
  2926. Uint32 ramp_slope_31_16 : 16;
  2927. #else
  2928. Uint32 ramp_slope_31_16 : 16;
  2929. Uint32 rsvd0 : 16;
  2930. #endif
  2931. } CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_SLOPE_HI_REG;
  2932. /* ramp slope value - ramp increments by this value every clock (not every sample) */
  2933. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_SLOPE_HI_REG_RAMP_SLOPE_31_16_MASK (0x0000FFFFu)
  2934. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_SLOPE_HI_REG_RAMP_SLOPE_31_16_SHIFT (0x00000000u)
  2935. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_SLOPE_HI_REG_RAMP_SLOPE_31_16_RESETVAL (0x00000000u)
  2936. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_SLOPE_HI_REG_ADDR (0x000013BCu)
  2937. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_RAMP_SLOPE_HI_REG_RESETVAL (0x00000000u)
  2938. /* RX_SIGNAL_GEN_PULSE_WIDTH */
  2939. typedef struct
  2940. {
  2941. #ifdef _BIG_ENDIAN
  2942. Uint32 rsvd0 : 16;
  2943. Uint32 pulse_width : 16;
  2944. #else
  2945. Uint32 pulse_width : 16;
  2946. Uint32 rsvd0 : 16;
  2947. #endif
  2948. } CSL_DFE_DDUC_RX_SIGNAL_GEN_PULSE_WIDTH_REG;
  2949. /* 0 = generate data forever, n = generate data for n clock cycles */
  2950. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_PULSE_WIDTH_REG_PULSE_WIDTH_MASK (0x0000FFFFu)
  2951. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_PULSE_WIDTH_REG_PULSE_WIDTH_SHIFT (0x00000000u)
  2952. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_PULSE_WIDTH_REG_PULSE_WIDTH_RESETVAL (0x00000000u)
  2953. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_PULSE_WIDTH_REG_ADDR (0x000013C0u)
  2954. #define CSL_DFE_DDUC_RX_SIGNAL_GEN_PULSE_WIDTH_REG_RESETVAL (0x00000000u)
  2955. /* TX_CHECK_SUM_CONFIG */
  2956. typedef struct
  2957. {
  2958. #ifdef _BIG_ENDIAN
  2959. Uint32 rsvd1 : 16;
  2960. Uint32 stable_len : 12;
  2961. Uint32 rsvd0 : 3;
  2962. Uint32 mode : 1;
  2963. #else
  2964. Uint32 mode : 1;
  2965. Uint32 rsvd0 : 3;
  2966. Uint32 stable_len : 12;
  2967. Uint32 rsvd1 : 16;
  2968. #endif
  2969. } CSL_DFE_DDUC_TX_CHECK_SUM_CONFIG_REG;
  2970. /* 1 = return latency, 0 = return check sum */
  2971. #define CSL_DFE_DDUC_TX_CHECK_SUM_CONFIG_REG_MODE_MASK (0x00000001u)
  2972. #define CSL_DFE_DDUC_TX_CHECK_SUM_CONFIG_REG_MODE_SHIFT (0x00000000u)
  2973. #define CSL_DFE_DDUC_TX_CHECK_SUM_CONFIG_REG_MODE_RESETVAL (0x00000000u)
  2974. /* in latency mode, clocks that data must remain stable after pulse */
  2975. #define CSL_DFE_DDUC_TX_CHECK_SUM_CONFIG_REG_STABLE_LEN_MASK (0x0000FFF0u)
  2976. #define CSL_DFE_DDUC_TX_CHECK_SUM_CONFIG_REG_STABLE_LEN_SHIFT (0x00000004u)
  2977. #define CSL_DFE_DDUC_TX_CHECK_SUM_CONFIG_REG_STABLE_LEN_RESETVAL (0x00000000u)
  2978. #define CSL_DFE_DDUC_TX_CHECK_SUM_CONFIG_REG_ADDR (0x000013C8u)
  2979. #define CSL_DFE_DDUC_TX_CHECK_SUM_CONFIG_REG_RESETVAL (0x00000000u)
  2980. /* TX_CHECK_SUM_SIGNAL_LEN */
  2981. typedef struct
  2982. {
  2983. #ifdef _BIG_ENDIAN
  2984. Uint32 rsvd0 : 16;
  2985. Uint32 signal_len : 16;
  2986. #else
  2987. Uint32 signal_len : 16;
  2988. Uint32 rsvd0 : 16;
  2989. #endif
  2990. } CSL_DFE_DDUC_TX_CHECK_SUM_SIGNAL_LEN_REG;
  2991. /* in latency mode, width of data pulse from signal_gen */
  2992. #define CSL_DFE_DDUC_TX_CHECK_SUM_SIGNAL_LEN_REG_SIGNAL_LEN_MASK (0x0000FFFFu)
  2993. #define CSL_DFE_DDUC_TX_CHECK_SUM_SIGNAL_LEN_REG_SIGNAL_LEN_SHIFT (0x00000000u)
  2994. #define CSL_DFE_DDUC_TX_CHECK_SUM_SIGNAL_LEN_REG_SIGNAL_LEN_RESETVAL (0x00000000u)
  2995. #define CSL_DFE_DDUC_TX_CHECK_SUM_SIGNAL_LEN_REG_ADDR (0x000013CCu)
  2996. #define CSL_DFE_DDUC_TX_CHECK_SUM_SIGNAL_LEN_REG_RESETVAL (0x00000000u)
  2997. /* TX_CHECK_SUM_CHAN_SEL */
  2998. typedef struct
  2999. {
  3000. #ifdef _BIG_ENDIAN
  3001. Uint32 rsvd0 : 20;
  3002. Uint32 chan_sel : 12;
  3003. #else
  3004. Uint32 chan_sel : 12;
  3005. Uint32 rsvd0 : 20;
  3006. #endif
  3007. } CSL_DFE_DDUC_TX_CHECK_SUM_CHAN_SEL_REG;
  3008. /* in latency mode, channel select specified by clocks after frame */
  3009. #define CSL_DFE_DDUC_TX_CHECK_SUM_CHAN_SEL_REG_CHAN_SEL_MASK (0x00000FFFu)
  3010. #define CSL_DFE_DDUC_TX_CHECK_SUM_CHAN_SEL_REG_CHAN_SEL_SHIFT (0x00000000u)
  3011. #define CSL_DFE_DDUC_TX_CHECK_SUM_CHAN_SEL_REG_CHAN_SEL_RESETVAL (0x00000000u)
  3012. #define CSL_DFE_DDUC_TX_CHECK_SUM_CHAN_SEL_REG_ADDR (0x000013D0u)
  3013. #define CSL_DFE_DDUC_TX_CHECK_SUM_CHAN_SEL_REG_RESETVAL (0x00000000u)
  3014. /* TX_CHECK_SUM_RESULT_LO */
  3015. typedef struct
  3016. {
  3017. #ifdef _BIG_ENDIAN
  3018. Uint32 rsvd0 : 16;
  3019. Uint32 result_15_0 : 16;
  3020. #else
  3021. Uint32 result_15_0 : 16;
  3022. Uint32 rsvd0 : 16;
  3023. #endif
  3024. } CSL_DFE_DDUC_TX_CHECK_SUM_RESULT_LO_REG;
  3025. /* result of check sum or latency calculation depending on mode */
  3026. #define CSL_DFE_DDUC_TX_CHECK_SUM_RESULT_LO_REG_RESULT_15_0_MASK (0x0000FFFFu)
  3027. #define CSL_DFE_DDUC_TX_CHECK_SUM_RESULT_LO_REG_RESULT_15_0_SHIFT (0x00000000u)
  3028. #define CSL_DFE_DDUC_TX_CHECK_SUM_RESULT_LO_REG_RESULT_15_0_RESETVAL (0x00000000u)
  3029. #define CSL_DFE_DDUC_TX_CHECK_SUM_RESULT_LO_REG_ADDR (0x000013D4u)
  3030. #define CSL_DFE_DDUC_TX_CHECK_SUM_RESULT_LO_REG_RESETVAL (0x00000000u)
  3031. /* TX_CHECK_SUM_RESULT_HI */
  3032. typedef struct
  3033. {
  3034. #ifdef _BIG_ENDIAN
  3035. Uint32 rsvd0 : 16;
  3036. Uint32 result_31_16 : 16;
  3037. #else
  3038. Uint32 result_31_16 : 16;
  3039. Uint32 rsvd0 : 16;
  3040. #endif
  3041. } CSL_DFE_DDUC_TX_CHECK_SUM_RESULT_HI_REG;
  3042. /* result of check sum or latency calculation depending on mode */
  3043. #define CSL_DFE_DDUC_TX_CHECK_SUM_RESULT_HI_REG_RESULT_31_16_MASK (0x0000FFFFu)
  3044. #define CSL_DFE_DDUC_TX_CHECK_SUM_RESULT_HI_REG_RESULT_31_16_SHIFT (0x00000000u)
  3045. #define CSL_DFE_DDUC_TX_CHECK_SUM_RESULT_HI_REG_RESULT_31_16_RESETVAL (0x00000000u)
  3046. #define CSL_DFE_DDUC_TX_CHECK_SUM_RESULT_HI_REG_ADDR (0x000013D8u)
  3047. #define CSL_DFE_DDUC_TX_CHECK_SUM_RESULT_HI_REG_RESETVAL (0x00000000u)
  3048. /* RX_CHECK_SUM_CONFIG */
  3049. typedef struct
  3050. {
  3051. #ifdef _BIG_ENDIAN
  3052. Uint32 rsvd1 : 16;
  3053. Uint32 stable_len : 12;
  3054. Uint32 rsvd0 : 3;
  3055. Uint32 mode : 1;
  3056. #else
  3057. Uint32 mode : 1;
  3058. Uint32 rsvd0 : 3;
  3059. Uint32 stable_len : 12;
  3060. Uint32 rsvd1 : 16;
  3061. #endif
  3062. } CSL_DFE_DDUC_RX_CHECK_SUM_CONFIG_REG;
  3063. /* 1 = return latency, 0 = return check sum */
  3064. #define CSL_DFE_DDUC_RX_CHECK_SUM_CONFIG_REG_MODE_MASK (0x00000001u)
  3065. #define CSL_DFE_DDUC_RX_CHECK_SUM_CONFIG_REG_MODE_SHIFT (0x00000000u)
  3066. #define CSL_DFE_DDUC_RX_CHECK_SUM_CONFIG_REG_MODE_RESETVAL (0x00000000u)
  3067. /* in latency mode, clocks that data must remain stable after pulse */
  3068. #define CSL_DFE_DDUC_RX_CHECK_SUM_CONFIG_REG_STABLE_LEN_MASK (0x0000FFF0u)
  3069. #define CSL_DFE_DDUC_RX_CHECK_SUM_CONFIG_REG_STABLE_LEN_SHIFT (0x00000004u)
  3070. #define CSL_DFE_DDUC_RX_CHECK_SUM_CONFIG_REG_STABLE_LEN_RESETVAL (0x00000000u)
  3071. #define CSL_DFE_DDUC_RX_CHECK_SUM_CONFIG_REG_ADDR (0x000013DCu)
  3072. #define CSL_DFE_DDUC_RX_CHECK_SUM_CONFIG_REG_RESETVAL (0x00000000u)
  3073. /* RX_CHECK_SUM_SIGNAL_LEN */
  3074. typedef struct
  3075. {
  3076. #ifdef _BIG_ENDIAN
  3077. Uint32 rsvd0 : 16;
  3078. Uint32 signal_len : 16;
  3079. #else
  3080. Uint32 signal_len : 16;
  3081. Uint32 rsvd0 : 16;
  3082. #endif
  3083. } CSL_DFE_DDUC_RX_CHECK_SUM_SIGNAL_LEN_REG;
  3084. /* in latency mode, width of data pulse from signal_gen */
  3085. #define CSL_DFE_DDUC_RX_CHECK_SUM_SIGNAL_LEN_REG_SIGNAL_LEN_MASK (0x0000FFFFu)
  3086. #define CSL_DFE_DDUC_RX_CHECK_SUM_SIGNAL_LEN_REG_SIGNAL_LEN_SHIFT (0x00000000u)
  3087. #define CSL_DFE_DDUC_RX_CHECK_SUM_SIGNAL_LEN_REG_SIGNAL_LEN_RESETVAL (0x00000000u)
  3088. #define CSL_DFE_DDUC_RX_CHECK_SUM_SIGNAL_LEN_REG_ADDR (0x000013E0u)
  3089. #define CSL_DFE_DDUC_RX_CHECK_SUM_SIGNAL_LEN_REG_RESETVAL (0x00000000u)
  3090. /* RX_CHECK_SUM_CHAN_SEL */
  3091. typedef struct
  3092. {
  3093. #ifdef _BIG_ENDIAN
  3094. Uint32 rsvd0 : 20;
  3095. Uint32 chan_sel : 12;
  3096. #else
  3097. Uint32 chan_sel : 12;
  3098. Uint32 rsvd0 : 20;
  3099. #endif
  3100. } CSL_DFE_DDUC_RX_CHECK_SUM_CHAN_SEL_REG;
  3101. /* in latency mode, channel select specified by clocks after frame */
  3102. #define CSL_DFE_DDUC_RX_CHECK_SUM_CHAN_SEL_REG_CHAN_SEL_MASK (0x00000FFFu)
  3103. #define CSL_DFE_DDUC_RX_CHECK_SUM_CHAN_SEL_REG_CHAN_SEL_SHIFT (0x00000000u)
  3104. #define CSL_DFE_DDUC_RX_CHECK_SUM_CHAN_SEL_REG_CHAN_SEL_RESETVAL (0x00000000u)
  3105. #define CSL_DFE_DDUC_RX_CHECK_SUM_CHAN_SEL_REG_ADDR (0x000013E4u)
  3106. #define CSL_DFE_DDUC_RX_CHECK_SUM_CHAN_SEL_REG_RESETVAL (0x00000000u)
  3107. /* RX_CHECK_SUM_RESULT_LO */
  3108. typedef struct
  3109. {
  3110. #ifdef _BIG_ENDIAN
  3111. Uint32 rsvd0 : 16;
  3112. Uint32 result_15_0 : 16;
  3113. #else
  3114. Uint32 result_15_0 : 16;
  3115. Uint32 rsvd0 : 16;
  3116. #endif
  3117. } CSL_DFE_DDUC_RX_CHECK_SUM_RESULT_LO_REG;
  3118. /* result of check sum or latency calculation depending on mode */
  3119. #define CSL_DFE_DDUC_RX_CHECK_SUM_RESULT_LO_REG_RESULT_15_0_MASK (0x0000FFFFu)
  3120. #define CSL_DFE_DDUC_RX_CHECK_SUM_RESULT_LO_REG_RESULT_15_0_SHIFT (0x00000000u)
  3121. #define CSL_DFE_DDUC_RX_CHECK_SUM_RESULT_LO_REG_RESULT_15_0_RESETVAL (0x00000000u)
  3122. #define CSL_DFE_DDUC_RX_CHECK_SUM_RESULT_LO_REG_ADDR (0x000013E8u)
  3123. #define CSL_DFE_DDUC_RX_CHECK_SUM_RESULT_LO_REG_RESETVAL (0x00000000u)
  3124. /* RX_CHECK_SUM_RESULT_HI */
  3125. typedef struct
  3126. {
  3127. #ifdef _BIG_ENDIAN
  3128. Uint32 rsvd0 : 16;
  3129. Uint32 result_31_16 : 16;
  3130. #else
  3131. Uint32 result_31_16 : 16;
  3132. Uint32 rsvd0 : 16;
  3133. #endif
  3134. } CSL_DFE_DDUC_RX_CHECK_SUM_RESULT_HI_REG;
  3135. /* result of check sum or latency calculation depending on mode */
  3136. #define CSL_DFE_DDUC_RX_CHECK_SUM_RESULT_HI_REG_RESULT_31_16_MASK (0x0000FFFFu)
  3137. #define CSL_DFE_DDUC_RX_CHECK_SUM_RESULT_HI_REG_RESULT_31_16_SHIFT (0x00000000u)
  3138. #define CSL_DFE_DDUC_RX_CHECK_SUM_RESULT_HI_REG_RESULT_31_16_RESETVAL (0x00000000u)
  3139. #define CSL_DFE_DDUC_RX_CHECK_SUM_RESULT_HI_REG_ADDR (0x000013ECu)
  3140. #define CSL_DFE_DDUC_RX_CHECK_SUM_RESULT_HI_REG_RESETVAL (0x00000000u)
  3141. /* PFIR_COEF_LO */
  3142. typedef struct
  3143. {
  3144. #ifdef _BIG_ENDIAN
  3145. Uint32 rsvd0 : 16;
  3146. Uint32 coef_15_0 : 16;
  3147. #else
  3148. Uint32 coef_15_0 : 16;
  3149. Uint32 rsvd0 : 16;
  3150. #endif
  3151. } CSL_DFE_DDUC_PFIR_COEF_LO_REG;
  3152. /* coefficient tap memory, split into banks */
  3153. #define CSL_DFE_DDUC_PFIR_COEF_LO_REG_COEF_15_0_MASK (0x0000FFFFu)
  3154. #define CSL_DFE_DDUC_PFIR_COEF_LO_REG_COEF_15_0_SHIFT (0x00000000u)
  3155. #define CSL_DFE_DDUC_PFIR_COEF_LO_REG_COEF_15_0_RESETVAL (0x00000000u)
  3156. #define CSL_DFE_DDUC_PFIR_COEF_LO_REG_ADDR (0x00040000u)
  3157. #define CSL_DFE_DDUC_PFIR_COEF_LO_REG_RESETVAL (0x00000000u)
  3158. /* PFIR_COEF_HI */
  3159. typedef struct
  3160. {
  3161. #ifdef _BIG_ENDIAN
  3162. Uint32 rsvd0 : 30;
  3163. Uint32 coef_17_16 : 2;
  3164. #else
  3165. Uint32 coef_17_16 : 2;
  3166. Uint32 rsvd0 : 30;
  3167. #endif
  3168. } CSL_DFE_DDUC_PFIR_COEF_HI_REG;
  3169. /* */
  3170. #define CSL_DFE_DDUC_PFIR_COEF_HI_REG_COEF_17_16_MASK (0x00000003u)
  3171. #define CSL_DFE_DDUC_PFIR_COEF_HI_REG_COEF_17_16_SHIFT (0x00000000u)
  3172. #define CSL_DFE_DDUC_PFIR_COEF_HI_REG_COEF_17_16_RESETVAL (0x00000000u)
  3173. #define CSL_DFE_DDUC_PFIR_COEF_HI_REG_ADDR (0x00040004u)
  3174. #define CSL_DFE_DDUC_PFIR_COEF_HI_REG_RESETVAL (0x00000000u)
  3175. /* HOP_HOP2FREQ_TBL */
  3176. typedef struct
  3177. {
  3178. #ifdef _BIG_ENDIAN
  3179. Uint32 rsvd0 : 20;
  3180. Uint32 hop_to_index_2i_1 : 6;
  3181. Uint32 hop_to_index_2i : 6;
  3182. #else
  3183. Uint32 hop_to_index_2i : 6;
  3184. Uint32 hop_to_index_2i_1 : 6;
  3185. Uint32 rsvd0 : 20;
  3186. #endif
  3187. } CSL_DFE_DDUC_HOP_HOP2FREQ_TBL_REG;
  3188. /* hop index to freq index mapping table, even values */
  3189. #define CSL_DFE_DDUC_HOP_HOP2FREQ_TBL_REG_HOP_TO_INDEX_2I_MASK (0x0000003Fu)
  3190. #define CSL_DFE_DDUC_HOP_HOP2FREQ_TBL_REG_HOP_TO_INDEX_2I_SHIFT (0x00000000u)
  3191. #define CSL_DFE_DDUC_HOP_HOP2FREQ_TBL_REG_HOP_TO_INDEX_2I_RESETVAL (0x00000000u)
  3192. /* hop index to freq index mapping table, odd values */
  3193. #define CSL_DFE_DDUC_HOP_HOP2FREQ_TBL_REG_HOP_TO_INDEX_2I_1_MASK (0x00000FC0u)
  3194. #define CSL_DFE_DDUC_HOP_HOP2FREQ_TBL_REG_HOP_TO_INDEX_2I_1_SHIFT (0x00000006u)
  3195. #define CSL_DFE_DDUC_HOP_HOP2FREQ_TBL_REG_HOP_TO_INDEX_2I_1_RESETVAL (0x00000000u)
  3196. #define CSL_DFE_DDUC_HOP_HOP2FREQ_TBL_REG_ADDR (0x00042000u)
  3197. #define CSL_DFE_DDUC_HOP_HOP2FREQ_TBL_REG_RESETVAL (0x00000000u)
  3198. /* HOP_FREQ2WORD_TBL_LO */
  3199. typedef struct
  3200. {
  3201. #ifdef _BIG_ENDIAN
  3202. Uint32 rsvd0 : 16;
  3203. Uint32 freq_index_to_word_15_0 : 16;
  3204. #else
  3205. Uint32 freq_index_to_word_15_0 : 16;
  3206. Uint32 rsvd0 : 16;
  3207. #endif
  3208. } CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_LO_REG;
  3209. /* freq index to freq word mapping table */
  3210. #define CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_LO_REG_FREQ_INDEX_TO_WORD_15_0_MASK (0x0000FFFFu)
  3211. #define CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_LO_REG_FREQ_INDEX_TO_WORD_15_0_SHIFT (0x00000000u)
  3212. #define CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_LO_REG_FREQ_INDEX_TO_WORD_15_0_RESETVAL (0x00000000u)
  3213. #define CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_LO_REG_ADDR (0x00043000u)
  3214. #define CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_LO_REG_RESETVAL (0x00000000u)
  3215. /* HOP_FREQ2WORD_TBL_MID */
  3216. typedef struct
  3217. {
  3218. #ifdef _BIG_ENDIAN
  3219. Uint32 rsvd0 : 16;
  3220. Uint32 freq_index_to_word_31_16 : 16;
  3221. #else
  3222. Uint32 freq_index_to_word_31_16 : 16;
  3223. Uint32 rsvd0 : 16;
  3224. #endif
  3225. } CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_MID_REG;
  3226. /* */
  3227. #define CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_MID_REG_FREQ_INDEX_TO_WORD_31_16_MASK (0x0000FFFFu)
  3228. #define CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_MID_REG_FREQ_INDEX_TO_WORD_31_16_SHIFT (0x00000000u)
  3229. #define CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_MID_REG_FREQ_INDEX_TO_WORD_31_16_RESETVAL (0x00000000u)
  3230. #define CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_MID_REG_ADDR (0x00043004u)
  3231. #define CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_MID_REG_RESETVAL (0x00000000u)
  3232. /* HOP_FREQ2WORD_TBL_HI */
  3233. typedef struct
  3234. {
  3235. #ifdef _BIG_ENDIAN
  3236. Uint32 rsvd0 : 16;
  3237. Uint32 freq_index_to_word_47_32 : 16;
  3238. #else
  3239. Uint32 freq_index_to_word_47_32 : 16;
  3240. Uint32 rsvd0 : 16;
  3241. #endif
  3242. } CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_HI_REG;
  3243. /* */
  3244. #define CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_HI_REG_FREQ_INDEX_TO_WORD_47_32_MASK (0x0000FFFFu)
  3245. #define CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_HI_REG_FREQ_INDEX_TO_WORD_47_32_SHIFT (0x00000000u)
  3246. #define CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_HI_REG_FREQ_INDEX_TO_WORD_47_32_RESETVAL (0x00000000u)
  3247. #define CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_HI_REG_ADDR (0x00043008u)
  3248. #define CSL_DFE_DDUC_HOP_FREQ2WORD_TBL_HI_REG_RESETVAL (0x00000000u)
  3249. /* HOP_OFFSET_BANK0 */
  3250. typedef struct
  3251. {
  3252. #ifdef _BIG_ENDIAN
  3253. Uint32 rsvd0 : 21;
  3254. Uint32 hop_offset_swap_bank_0 : 11;
  3255. #else
  3256. Uint32 hop_offset_swap_bank_0 : 11;
  3257. Uint32 rsvd0 : 21;
  3258. #endif
  3259. } CSL_DFE_DDUC_HOP_OFFSET_BANK0_REG;
  3260. /* hopper delay offset for each channel for bank 0; when mem_mpu_access is low, this address will write to the inactive bank. Address 0-3 go to mixer 0 (highest numbered carrier to lowest-numbered carrier). 4-7 go to mixer 1 and 8-11 go to mixer 2. */
  3261. #define CSL_DFE_DDUC_HOP_OFFSET_BANK0_REG_HOP_OFFSET_SWAP_BANK_0_MASK (0x000007FFu)
  3262. #define CSL_DFE_DDUC_HOP_OFFSET_BANK0_REG_HOP_OFFSET_SWAP_BANK_0_SHIFT (0x00000000u)
  3263. #define CSL_DFE_DDUC_HOP_OFFSET_BANK0_REG_HOP_OFFSET_SWAP_BANK_0_RESETVAL (0x00000000u)
  3264. #define CSL_DFE_DDUC_HOP_OFFSET_BANK0_REG_ADDR (0x00043400u)
  3265. #define CSL_DFE_DDUC_HOP_OFFSET_BANK0_REG_RESETVAL (0x00000000u)
  3266. /* HOP_OFFSET_BANK1 */
  3267. typedef struct
  3268. {
  3269. #ifdef _BIG_ENDIAN
  3270. Uint32 rsvd0 : 21;
  3271. Uint32 hop_offset_swap_bank_1 : 11;
  3272. #else
  3273. Uint32 hop_offset_swap_bank_1 : 11;
  3274. Uint32 rsvd0 : 21;
  3275. #endif
  3276. } CSL_DFE_DDUC_HOP_OFFSET_BANK1_REG;
  3277. /* hopper delay offset for each channel for bank 1; when mem_mpu_access is low this address will write to the inactive bank. Address 0-3 go to mixer 0 (highest numbered carrier to lowest-numbered carrier). 4-7 go to mixer 1 and 8-11 go to mixer 2. */
  3278. #define CSL_DFE_DDUC_HOP_OFFSET_BANK1_REG_HOP_OFFSET_SWAP_BANK_1_MASK (0x000007FFu)
  3279. #define CSL_DFE_DDUC_HOP_OFFSET_BANK1_REG_HOP_OFFSET_SWAP_BANK_1_SHIFT (0x00000000u)
  3280. #define CSL_DFE_DDUC_HOP_OFFSET_BANK1_REG_HOP_OFFSET_SWAP_BANK_1_RESETVAL (0x00000000u)
  3281. #define CSL_DFE_DDUC_HOP_OFFSET_BANK1_REG_ADDR (0x00043404u)
  3282. #define CSL_DFE_DDUC_HOP_OFFSET_BANK1_REG_RESETVAL (0x00000000u)
  3283. /* HOP_MIX0_FREQ_WORD_LO_BANK0 */
  3284. typedef struct
  3285. {
  3286. #ifdef _BIG_ENDIAN
  3287. Uint32 rsvd0 : 16;
  3288. Uint32 freq_word_swap_bank_0_0_3_15_0 : 16;
  3289. #else
  3290. Uint32 freq_word_swap_bank_0_0_3_15_0 : 16;
  3291. Uint32 rsvd0 : 16;
  3292. #endif
  3293. } CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_LO_BANK0_REG;
  3294. /* freq word table for bank 0 in mixer0, w/the highest channel in 1st address (channels 3, 2, 1 and 0 if 12 channel mode). When mem_mpu_access is low, it will write to inactive bank. */
  3295. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_LO_BANK0_REG_FREQ_WORD_SWAP_BANK_0_0_3_15_0_MASK (0x0000FFFFu)
  3296. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_LO_BANK0_REG_FREQ_WORD_SWAP_BANK_0_0_3_15_0_SHIFT (0x00000000u)
  3297. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_LO_BANK0_REG_FREQ_WORD_SWAP_BANK_0_0_3_15_0_RESETVAL (0x00000000u)
  3298. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_LO_BANK0_REG_ADDR (0x00043480u)
  3299. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_LO_BANK0_REG_RESETVAL (0x00000000u)
  3300. /* HOP_MIX0_FREQ_WORD_LO_BANK1 */
  3301. typedef struct
  3302. {
  3303. #ifdef _BIG_ENDIAN
  3304. Uint32 rsvd0 : 16;
  3305. Uint32 freq_word_swap_bank_1_0_3_15_0 : 16;
  3306. #else
  3307. Uint32 freq_word_swap_bank_1_0_3_15_0 : 16;
  3308. Uint32 rsvd0 : 16;
  3309. #endif
  3310. } CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_LO_BANK1_REG;
  3311. /* freq word table for bank 1 in mixer0, w/the highest channel in 1st address (channels 3, 2, 1 and 0 if 12 channel mode). When mem_mpu_access is low, it will write to inactive bank. */
  3312. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_LO_BANK1_REG_FREQ_WORD_SWAP_BANK_1_0_3_15_0_MASK (0x0000FFFFu)
  3313. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_LO_BANK1_REG_FREQ_WORD_SWAP_BANK_1_0_3_15_0_SHIFT (0x00000000u)
  3314. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_LO_BANK1_REG_FREQ_WORD_SWAP_BANK_1_0_3_15_0_RESETVAL (0x00000000u)
  3315. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_LO_BANK1_REG_ADDR (0x00043484u)
  3316. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_LO_BANK1_REG_RESETVAL (0x00000000u)
  3317. /* HOP_MIX0_FREQ_WORD_MID_BANK0 */
  3318. typedef struct
  3319. {
  3320. #ifdef _BIG_ENDIAN
  3321. Uint32 rsvd0 : 16;
  3322. Uint32 freq_word_swap_bank_0_0_3_31_16 : 16;
  3323. #else
  3324. Uint32 freq_word_swap_bank_0_0_3_31_16 : 16;
  3325. Uint32 rsvd0 : 16;
  3326. #endif
  3327. } CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_MID_BANK0_REG;
  3328. /* */
  3329. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_MID_BANK0_REG_FREQ_WORD_SWAP_BANK_0_0_3_31_16_MASK (0x0000FFFFu)
  3330. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_MID_BANK0_REG_FREQ_WORD_SWAP_BANK_0_0_3_31_16_SHIFT (0x00000000u)
  3331. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_MID_BANK0_REG_FREQ_WORD_SWAP_BANK_0_0_3_31_16_RESETVAL (0x00000000u)
  3332. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_MID_BANK0_REG_ADDR (0x000434A0u)
  3333. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_MID_BANK0_REG_RESETVAL (0x00000000u)
  3334. /* HOP_MIX0_FREQ_WORD_MID_BANK1 */
  3335. typedef struct
  3336. {
  3337. #ifdef _BIG_ENDIAN
  3338. Uint32 rsvd0 : 16;
  3339. Uint32 freq_word_swap_bank_1_0_3_31_16 : 16;
  3340. #else
  3341. Uint32 freq_word_swap_bank_1_0_3_31_16 : 16;
  3342. Uint32 rsvd0 : 16;
  3343. #endif
  3344. } CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_MID_BANK1_REG;
  3345. /* */
  3346. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_MID_BANK1_REG_FREQ_WORD_SWAP_BANK_1_0_3_31_16_MASK (0x0000FFFFu)
  3347. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_MID_BANK1_REG_FREQ_WORD_SWAP_BANK_1_0_3_31_16_SHIFT (0x00000000u)
  3348. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_MID_BANK1_REG_FREQ_WORD_SWAP_BANK_1_0_3_31_16_RESETVAL (0x00000000u)
  3349. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_MID_BANK1_REG_ADDR (0x000434A4u)
  3350. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_MID_BANK1_REG_RESETVAL (0x00000000u)
  3351. /* HOP_MIX0_FREQ_WORD_HI_BANK0 */
  3352. typedef struct
  3353. {
  3354. #ifdef _BIG_ENDIAN
  3355. Uint32 rsvd0 : 16;
  3356. Uint32 freq_word_swap_bank_0_0_3_47_32 : 16;
  3357. #else
  3358. Uint32 freq_word_swap_bank_0_0_3_47_32 : 16;
  3359. Uint32 rsvd0 : 16;
  3360. #endif
  3361. } CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_HI_BANK0_REG;
  3362. /* */
  3363. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_HI_BANK0_REG_FREQ_WORD_SWAP_BANK_0_0_3_47_32_MASK (0x0000FFFFu)
  3364. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_HI_BANK0_REG_FREQ_WORD_SWAP_BANK_0_0_3_47_32_SHIFT (0x00000000u)
  3365. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_HI_BANK0_REG_FREQ_WORD_SWAP_BANK_0_0_3_47_32_RESETVAL (0x00000000u)
  3366. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_HI_BANK0_REG_ADDR (0x000434C0u)
  3367. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_HI_BANK0_REG_RESETVAL (0x00000000u)
  3368. /* HOP_MIX0_FREQ_WORD_HI_BANK1 */
  3369. typedef struct
  3370. {
  3371. #ifdef _BIG_ENDIAN
  3372. Uint32 rsvd0 : 16;
  3373. Uint32 freq_word_swap_bank_1_0_3_47_32 : 16;
  3374. #else
  3375. Uint32 freq_word_swap_bank_1_0_3_47_32 : 16;
  3376. Uint32 rsvd0 : 16;
  3377. #endif
  3378. } CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_HI_BANK1_REG;
  3379. /* */
  3380. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_HI_BANK1_REG_FREQ_WORD_SWAP_BANK_1_0_3_47_32_MASK (0x0000FFFFu)
  3381. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_HI_BANK1_REG_FREQ_WORD_SWAP_BANK_1_0_3_47_32_SHIFT (0x00000000u)
  3382. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_HI_BANK1_REG_FREQ_WORD_SWAP_BANK_1_0_3_47_32_RESETVAL (0x00000000u)
  3383. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_HI_BANK1_REG_ADDR (0x000434C4u)
  3384. #define CSL_DFE_DDUC_HOP_MIX0_FREQ_WORD_HI_BANK1_REG_RESETVAL (0x00000000u)
  3385. /* HOP_MIX1_FREQ_WORD_LO_BANK0 */
  3386. typedef struct
  3387. {
  3388. #ifdef _BIG_ENDIAN
  3389. Uint32 rsvd0 : 16;
  3390. Uint32 freq_word_swap_bank_0_4_7_15_0 : 16;
  3391. #else
  3392. Uint32 freq_word_swap_bank_0_4_7_15_0 : 16;
  3393. Uint32 rsvd0 : 16;
  3394. #endif
  3395. } CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_LO_BANK0_REG;
  3396. /* freq word table for bank 0 in mixer1, w/the highest channel in 1st address (channels 7, 6, 5 and 4 if 12 channel mode). When mem_mpu_access is low, it will write to inactive bank. */
  3397. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_LO_BANK0_REG_FREQ_WORD_SWAP_BANK_0_4_7_15_0_MASK (0x0000FFFFu)
  3398. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_LO_BANK0_REG_FREQ_WORD_SWAP_BANK_0_4_7_15_0_SHIFT (0x00000000u)
  3399. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_LO_BANK0_REG_FREQ_WORD_SWAP_BANK_0_4_7_15_0_RESETVAL (0x00000000u)
  3400. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_LO_BANK0_REG_ADDR (0x000434E0u)
  3401. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_LO_BANK0_REG_RESETVAL (0x00000000u)
  3402. /* HOP_MIX1_FREQ_WORD_LO_BANK1 */
  3403. typedef struct
  3404. {
  3405. #ifdef _BIG_ENDIAN
  3406. Uint32 rsvd0 : 16;
  3407. Uint32 freq_word_swap_bank_1_4_7_15_0 : 16;
  3408. #else
  3409. Uint32 freq_word_swap_bank_1_4_7_15_0 : 16;
  3410. Uint32 rsvd0 : 16;
  3411. #endif
  3412. } CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_LO_BANK1_REG;
  3413. /* freq word table for bank 1 in mixer1, w/the highest channel in 1st address (channels 7, 6, 5 and 4 if 12 channel mode). When mem_mpu_access is low, it will write to inactive bank. */
  3414. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_LO_BANK1_REG_FREQ_WORD_SWAP_BANK_1_4_7_15_0_MASK (0x0000FFFFu)
  3415. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_LO_BANK1_REG_FREQ_WORD_SWAP_BANK_1_4_7_15_0_SHIFT (0x00000000u)
  3416. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_LO_BANK1_REG_FREQ_WORD_SWAP_BANK_1_4_7_15_0_RESETVAL (0x00000000u)
  3417. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_LO_BANK1_REG_ADDR (0x000434E4u)
  3418. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_LO_BANK1_REG_RESETVAL (0x00000000u)
  3419. /* HOP_MIX1_FREQ_WORD_MID_BANK0 */
  3420. typedef struct
  3421. {
  3422. #ifdef _BIG_ENDIAN
  3423. Uint32 rsvd0 : 16;
  3424. Uint32 freq_word_swap_bank_0_4_7_31_16 : 16;
  3425. #else
  3426. Uint32 freq_word_swap_bank_0_4_7_31_16 : 16;
  3427. Uint32 rsvd0 : 16;
  3428. #endif
  3429. } CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_MID_BANK0_REG;
  3430. /* */
  3431. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_MID_BANK0_REG_FREQ_WORD_SWAP_BANK_0_4_7_31_16_MASK (0x0000FFFFu)
  3432. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_MID_BANK0_REG_FREQ_WORD_SWAP_BANK_0_4_7_31_16_SHIFT (0x00000000u)
  3433. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_MID_BANK0_REG_FREQ_WORD_SWAP_BANK_0_4_7_31_16_RESETVAL (0x00000000u)
  3434. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_MID_BANK0_REG_ADDR (0x00043500u)
  3435. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_MID_BANK0_REG_RESETVAL (0x00000000u)
  3436. /* HOP_MIX1_FREQ_WORD_MID_BANK1 */
  3437. typedef struct
  3438. {
  3439. #ifdef _BIG_ENDIAN
  3440. Uint32 rsvd0 : 16;
  3441. Uint32 freq_word_swap_bank_1_4_7_31_16 : 16;
  3442. #else
  3443. Uint32 freq_word_swap_bank_1_4_7_31_16 : 16;
  3444. Uint32 rsvd0 : 16;
  3445. #endif
  3446. } CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_MID_BANK1_REG;
  3447. /* */
  3448. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_MID_BANK1_REG_FREQ_WORD_SWAP_BANK_1_4_7_31_16_MASK (0x0000FFFFu)
  3449. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_MID_BANK1_REG_FREQ_WORD_SWAP_BANK_1_4_7_31_16_SHIFT (0x00000000u)
  3450. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_MID_BANK1_REG_FREQ_WORD_SWAP_BANK_1_4_7_31_16_RESETVAL (0x00000000u)
  3451. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_MID_BANK1_REG_ADDR (0x00043504u)
  3452. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_MID_BANK1_REG_RESETVAL (0x00000000u)
  3453. /* HOP_MIX1_FREQ_WORD_HI_BANK0 */
  3454. typedef struct
  3455. {
  3456. #ifdef _BIG_ENDIAN
  3457. Uint32 rsvd0 : 16;
  3458. Uint32 freq_word_swap_bank_0_4_7_47_32 : 16;
  3459. #else
  3460. Uint32 freq_word_swap_bank_0_4_7_47_32 : 16;
  3461. Uint32 rsvd0 : 16;
  3462. #endif
  3463. } CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_HI_BANK0_REG;
  3464. /* */
  3465. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_HI_BANK0_REG_FREQ_WORD_SWAP_BANK_0_4_7_47_32_MASK (0x0000FFFFu)
  3466. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_HI_BANK0_REG_FREQ_WORD_SWAP_BANK_0_4_7_47_32_SHIFT (0x00000000u)
  3467. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_HI_BANK0_REG_FREQ_WORD_SWAP_BANK_0_4_7_47_32_RESETVAL (0x00000000u)
  3468. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_HI_BANK0_REG_ADDR (0x00043520u)
  3469. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_HI_BANK0_REG_RESETVAL (0x00000000u)
  3470. /* HOP_MIX1_FREQ_WORD_HI_BANK1 */
  3471. typedef struct
  3472. {
  3473. #ifdef _BIG_ENDIAN
  3474. Uint32 rsvd0 : 16;
  3475. Uint32 freq_word_swap_bank_1_4_7_47_32 : 16;
  3476. #else
  3477. Uint32 freq_word_swap_bank_1_4_7_47_32 : 16;
  3478. Uint32 rsvd0 : 16;
  3479. #endif
  3480. } CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_HI_BANK1_REG;
  3481. /* */
  3482. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_HI_BANK1_REG_FREQ_WORD_SWAP_BANK_1_4_7_47_32_MASK (0x0000FFFFu)
  3483. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_HI_BANK1_REG_FREQ_WORD_SWAP_BANK_1_4_7_47_32_SHIFT (0x00000000u)
  3484. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_HI_BANK1_REG_FREQ_WORD_SWAP_BANK_1_4_7_47_32_RESETVAL (0x00000000u)
  3485. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_HI_BANK1_REG_ADDR (0x00043524u)
  3486. #define CSL_DFE_DDUC_HOP_MIX1_FREQ_WORD_HI_BANK1_REG_RESETVAL (0x00000000u)
  3487. /* HOP_MIX2_FREQ_WORD_LO_BANK0 */
  3488. typedef struct
  3489. {
  3490. #ifdef _BIG_ENDIAN
  3491. Uint32 rsvd0 : 16;
  3492. Uint32 freq_word_swap_bank_0_8_11_15_0 : 16;
  3493. #else
  3494. Uint32 freq_word_swap_bank_0_8_11_15_0 : 16;
  3495. Uint32 rsvd0 : 16;
  3496. #endif
  3497. } CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_LO_BANK0_REG;
  3498. /* freq word table for bank 0 in mixer2, w/the highest channel in 1st address (channels 11, 10, 9 and 8 if 12 channel mode). When mem_mpu_access is low, it will write to inactive bank. */
  3499. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_LO_BANK0_REG_FREQ_WORD_SWAP_BANK_0_8_11_15_0_MASK (0x0000FFFFu)
  3500. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_LO_BANK0_REG_FREQ_WORD_SWAP_BANK_0_8_11_15_0_SHIFT (0x00000000u)
  3501. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_LO_BANK0_REG_FREQ_WORD_SWAP_BANK_0_8_11_15_0_RESETVAL (0x00000000u)
  3502. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_LO_BANK0_REG_ADDR (0x00043540u)
  3503. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_LO_BANK0_REG_RESETVAL (0x00000000u)
  3504. /* HOP_MIX2_FREQ_WORD_LO_BANK1 */
  3505. typedef struct
  3506. {
  3507. #ifdef _BIG_ENDIAN
  3508. Uint32 rsvd0 : 16;
  3509. Uint32 freq_word_swap_bank_1_8_11_15_0 : 16;
  3510. #else
  3511. Uint32 freq_word_swap_bank_1_8_11_15_0 : 16;
  3512. Uint32 rsvd0 : 16;
  3513. #endif
  3514. } CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_LO_BANK1_REG;
  3515. /* freq word table for bank 1 in mixer2, w/the highest channel in 1st address (channels 11, 10, 9 and 8 if 12 channel mode). When mem_mpu_access is low, it will write to inactive bank. */
  3516. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_LO_BANK1_REG_FREQ_WORD_SWAP_BANK_1_8_11_15_0_MASK (0x0000FFFFu)
  3517. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_LO_BANK1_REG_FREQ_WORD_SWAP_BANK_1_8_11_15_0_SHIFT (0x00000000u)
  3518. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_LO_BANK1_REG_FREQ_WORD_SWAP_BANK_1_8_11_15_0_RESETVAL (0x00000000u)
  3519. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_LO_BANK1_REG_ADDR (0x00043544u)
  3520. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_LO_BANK1_REG_RESETVAL (0x00000000u)
  3521. /* HOP_MIX2_FREQ_WORD_MID_BANK0 */
  3522. typedef struct
  3523. {
  3524. #ifdef _BIG_ENDIAN
  3525. Uint32 rsvd0 : 16;
  3526. Uint32 freq_word_swap_bank_0_8_11_31_16 : 16;
  3527. #else
  3528. Uint32 freq_word_swap_bank_0_8_11_31_16 : 16;
  3529. Uint32 rsvd0 : 16;
  3530. #endif
  3531. } CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_MID_BANK0_REG;
  3532. /* */
  3533. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_MID_BANK0_REG_FREQ_WORD_SWAP_BANK_0_8_11_31_16_MASK (0x0000FFFFu)
  3534. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_MID_BANK0_REG_FREQ_WORD_SWAP_BANK_0_8_11_31_16_SHIFT (0x00000000u)
  3535. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_MID_BANK0_REG_FREQ_WORD_SWAP_BANK_0_8_11_31_16_RESETVAL (0x00000000u)
  3536. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_MID_BANK0_REG_ADDR (0x00043560u)
  3537. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_MID_BANK0_REG_RESETVAL (0x00000000u)
  3538. /* HOP_MIX2_FREQ_WORD_MID_BANK1 */
  3539. typedef struct
  3540. {
  3541. #ifdef _BIG_ENDIAN
  3542. Uint32 rsvd0 : 16;
  3543. Uint32 freq_word_swap_bank_1_8_11_31_16 : 16;
  3544. #else
  3545. Uint32 freq_word_swap_bank_1_8_11_31_16 : 16;
  3546. Uint32 rsvd0 : 16;
  3547. #endif
  3548. } CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_MID_BANK1_REG;
  3549. /* */
  3550. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_MID_BANK1_REG_FREQ_WORD_SWAP_BANK_1_8_11_31_16_MASK (0x0000FFFFu)
  3551. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_MID_BANK1_REG_FREQ_WORD_SWAP_BANK_1_8_11_31_16_SHIFT (0x00000000u)
  3552. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_MID_BANK1_REG_FREQ_WORD_SWAP_BANK_1_8_11_31_16_RESETVAL (0x00000000u)
  3553. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_MID_BANK1_REG_ADDR (0x00043564u)
  3554. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_MID_BANK1_REG_RESETVAL (0x00000000u)
  3555. /* HOP_MIX2_FREQ_WORD_HI_BANK0 */
  3556. typedef struct
  3557. {
  3558. #ifdef _BIG_ENDIAN
  3559. Uint32 rsvd0 : 16;
  3560. Uint32 freq_word_swap_bank_0_8_11_47_32 : 16;
  3561. #else
  3562. Uint32 freq_word_swap_bank_0_8_11_47_32 : 16;
  3563. Uint32 rsvd0 : 16;
  3564. #endif
  3565. } CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_HI_BANK0_REG;
  3566. /* */
  3567. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_HI_BANK0_REG_FREQ_WORD_SWAP_BANK_0_8_11_47_32_MASK (0x0000FFFFu)
  3568. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_HI_BANK0_REG_FREQ_WORD_SWAP_BANK_0_8_11_47_32_SHIFT (0x00000000u)
  3569. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_HI_BANK0_REG_FREQ_WORD_SWAP_BANK_0_8_11_47_32_RESETVAL (0x00000000u)
  3570. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_HI_BANK0_REG_ADDR (0x00043580u)
  3571. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_HI_BANK0_REG_RESETVAL (0x00000000u)
  3572. /* HOP_MIX2_FREQ_WORD_HI_BANK1 */
  3573. typedef struct
  3574. {
  3575. #ifdef _BIG_ENDIAN
  3576. Uint32 rsvd0 : 16;
  3577. Uint32 freq_word_swap_bank_1_8_11_47_32 : 16;
  3578. #else
  3579. Uint32 freq_word_swap_bank_1_8_11_47_32 : 16;
  3580. Uint32 rsvd0 : 16;
  3581. #endif
  3582. } CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_HI_BANK1_REG;
  3583. /* */
  3584. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_HI_BANK1_REG_FREQ_WORD_SWAP_BANK_1_8_11_47_32_MASK (0x0000FFFFu)
  3585. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_HI_BANK1_REG_FREQ_WORD_SWAP_BANK_1_8_11_47_32_SHIFT (0x00000000u)
  3586. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_HI_BANK1_REG_FREQ_WORD_SWAP_BANK_1_8_11_47_32_RESETVAL (0x00000000u)
  3587. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_HI_BANK1_REG_ADDR (0x00043584u)
  3588. #define CSL_DFE_DDUC_HOP_MIX2_FREQ_WORD_HI_BANK1_REG_RESETVAL (0x00000000u)
  3589. /* FRW_PHASE_LOBANK0 */
  3590. typedef struct
  3591. {
  3592. #ifdef _BIG_ENDIAN
  3593. Uint32 rsvd0 : 16;
  3594. Uint32 phase_swap_bank_0_15_0 : 16;
  3595. #else
  3596. Uint32 phase_swap_bank_0_15_0 : 16;
  3597. Uint32 rsvd0 : 16;
  3598. #endif
  3599. } CSL_DFE_DDUC_FRW_PHASE_LOBANK0_REG;
  3600. /* phase word for each channel in frw for bank 0; when mem_mpu_access is low, this address will write to the inactive bank. 6 MSBs are FIFO depth and the 20 LSBs are for adjusting the phase (in other words, partway between a FIFO address). Should also add the value 0x4 (to assist in rounding in the hardware). */
  3601. #define CSL_DFE_DDUC_FRW_PHASE_LOBANK0_REG_PHASE_SWAP_BANK_0_15_0_MASK (0x0000FFFFu)
  3602. #define CSL_DFE_DDUC_FRW_PHASE_LOBANK0_REG_PHASE_SWAP_BANK_0_15_0_SHIFT (0x00000000u)
  3603. #define CSL_DFE_DDUC_FRW_PHASE_LOBANK0_REG_PHASE_SWAP_BANK_0_15_0_RESETVAL (0x00000000u)
  3604. #define CSL_DFE_DDUC_FRW_PHASE_LOBANK0_REG_ADDR (0x00043800u)
  3605. #define CSL_DFE_DDUC_FRW_PHASE_LOBANK0_REG_RESETVAL (0x00000000u)
  3606. /* FRW_PHASE_HIBANK0 */
  3607. typedef struct
  3608. {
  3609. #ifdef _BIG_ENDIAN
  3610. Uint32 rsvd0 : 22;
  3611. Uint32 phase_swap_bank_0_25_16 : 10;
  3612. #else
  3613. Uint32 phase_swap_bank_0_25_16 : 10;
  3614. Uint32 rsvd0 : 22;
  3615. #endif
  3616. } CSL_DFE_DDUC_FRW_PHASE_HIBANK0_REG;
  3617. /* */
  3618. #define CSL_DFE_DDUC_FRW_PHASE_HIBANK0_REG_PHASE_SWAP_BANK_0_25_16_MASK (0x000003FFu)
  3619. #define CSL_DFE_DDUC_FRW_PHASE_HIBANK0_REG_PHASE_SWAP_BANK_0_25_16_SHIFT (0x00000000u)
  3620. #define CSL_DFE_DDUC_FRW_PHASE_HIBANK0_REG_PHASE_SWAP_BANK_0_25_16_RESETVAL (0x00000000u)
  3621. #define CSL_DFE_DDUC_FRW_PHASE_HIBANK0_REG_ADDR (0x00043804u)
  3622. #define CSL_DFE_DDUC_FRW_PHASE_HIBANK0_REG_RESETVAL (0x00000000u)
  3623. /* FRW_PHASE_LOBANK1 */
  3624. typedef struct
  3625. {
  3626. #ifdef _BIG_ENDIAN
  3627. Uint32 rsvd0 : 16;
  3628. Uint32 phase_swap_bank1_15_0 : 16;
  3629. #else
  3630. Uint32 phase_swap_bank1_15_0 : 16;
  3631. Uint32 rsvd0 : 16;
  3632. #endif
  3633. } CSL_DFE_DDUC_FRW_PHASE_LOBANK1_REG;
  3634. /* phase word for each channel in frw for bank 1; when mem_mpu_access is low, this address will write to the inactive bank. 6 MSBs are FIFO depth and the 20 LSBs are for adjusting the phase (in other words, partway between a FIFO address). Should also add the value 0x4 (to assist in rounding in the hardware). */
  3635. #define CSL_DFE_DDUC_FRW_PHASE_LOBANK1_REG_PHASE_SWAP_BANK1_15_0_MASK (0x0000FFFFu)
  3636. #define CSL_DFE_DDUC_FRW_PHASE_LOBANK1_REG_PHASE_SWAP_BANK1_15_0_SHIFT (0x00000000u)
  3637. #define CSL_DFE_DDUC_FRW_PHASE_LOBANK1_REG_PHASE_SWAP_BANK1_15_0_RESETVAL (0x00000000u)
  3638. #define CSL_DFE_DDUC_FRW_PHASE_LOBANK1_REG_ADDR (0x00043808u)
  3639. #define CSL_DFE_DDUC_FRW_PHASE_LOBANK1_REG_RESETVAL (0x00000000u)
  3640. /* FRW_PHASE_HIBANK1 */
  3641. typedef struct
  3642. {
  3643. #ifdef _BIG_ENDIAN
  3644. Uint32 rsvd0 : 22;
  3645. Uint32 phase_swap_bank_1_25_16 : 10;
  3646. #else
  3647. Uint32 phase_swap_bank_1_25_16 : 10;
  3648. Uint32 rsvd0 : 22;
  3649. #endif
  3650. } CSL_DFE_DDUC_FRW_PHASE_HIBANK1_REG;
  3651. /* */
  3652. #define CSL_DFE_DDUC_FRW_PHASE_HIBANK1_REG_PHASE_SWAP_BANK_1_25_16_MASK (0x000003FFu)
  3653. #define CSL_DFE_DDUC_FRW_PHASE_HIBANK1_REG_PHASE_SWAP_BANK_1_25_16_SHIFT (0x00000000u)
  3654. #define CSL_DFE_DDUC_FRW_PHASE_HIBANK1_REG_PHASE_SWAP_BANK_1_25_16_RESETVAL (0x00000000u)
  3655. #define CSL_DFE_DDUC_FRW_PHASE_HIBANK1_REG_ADDR (0x0004380Cu)
  3656. #define CSL_DFE_DDUC_FRW_PHASE_HIBANK1_REG_RESETVAL (0x00000000u)
  3657. #endif /* CSLR_DFE_DDUC_H__ */