1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457 |
- /***********************license start***************
- * Author: Cavium Inc.
- *
- * Contact: support@cavium.com
- * This file is part of the OCTEON SDK
- *
- * Copyright (c) 2003-2012 Cavium Inc.
- *
- * This file is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License, Version 2, as
- * published by the Free Software Foundation.
- *
- * This file is distributed in the hope that it will be useful, but
- * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
- * NONINFRINGEMENT. See the GNU General Public License for more
- * details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this file; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- * or visit http://www.gnu.org/licenses/.
- *
- * This file may also be available under a different license from Cavium.
- * Contact Cavium Inc. for more information
- ***********************license end**************************************/
- #ifndef __CVMX_LMCX_DEFS_H__
- #define __CVMX_LMCX_DEFS_H__
- #define CVMX_LMCX_BIST_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000F0ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_BIST_RESULT(block_id) (CVMX_ADD_IO_SEG(0x00011800880000F8ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_CHAR_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000220ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_CHAR_MASK0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000228ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_CHAR_MASK1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000230ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_CHAR_MASK2(block_id) (CVMX_ADD_IO_SEG(0x0001180088000238ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_CHAR_MASK3(block_id) (CVMX_ADD_IO_SEG(0x0001180088000240ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_CHAR_MASK4(block_id) (CVMX_ADD_IO_SEG(0x0001180088000318ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_COMP_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000028ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_COMP_CTL2(block_id) (CVMX_ADD_IO_SEG(0x00011800880001B8ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_CONFIG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000188ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_CONTROL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000190ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000010ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_CTL1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000090ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_DCLK_CNT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001E0ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_DCLK_CNT_HI(block_id) (CVMX_ADD_IO_SEG(0x0001180088000070ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_DCLK_CNT_LO(block_id) (CVMX_ADD_IO_SEG(0x0001180088000068ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_DCLK_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000B8ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_DDR2_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000018ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_DDR_PLL_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000258ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_DELAY_CFG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000088ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_DIMMX_PARAMS(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180088000270ull) + (((offset) & 1) + ((block_id) & 3) * 0x200000ull) * 8)
- #define CVMX_LMCX_DIMM_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000310ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_DLL_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000C0ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_DLL_CTL2(block_id) (CVMX_ADD_IO_SEG(0x00011800880001C8ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_DLL_CTL3(block_id) (CVMX_ADD_IO_SEG(0x0001180088000218ull) + ((block_id) & 3) * 0x1000000ull)
- static inline uint64_t CVMX_LMCX_DUAL_MEMCFG(unsigned long block_id)
- {
- switch (cvmx_get_octeon_family()) {
- case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
- return CVMX_ADD_IO_SEG(0x0001180088000098ull) + (block_id) * 0x60000000ull;
- case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
- return CVMX_ADD_IO_SEG(0x0001180088000098ull) + (block_id) * 0x60000000ull;
- case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
- return CVMX_ADD_IO_SEG(0x0001180088000098ull) + (block_id) * 0x1000000ull;
- }
- return CVMX_ADD_IO_SEG(0x0001180088000098ull) + (block_id) * 0x60000000ull;
- }
- static inline uint64_t CVMX_LMCX_ECC_SYND(unsigned long block_id)
- {
- switch (cvmx_get_octeon_family()) {
- case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
- case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
- return CVMX_ADD_IO_SEG(0x0001180088000038ull) + (block_id) * 0x60000000ull;
- case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
- return CVMX_ADD_IO_SEG(0x0001180088000038ull) + (block_id) * 0x60000000ull;
- case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
- return CVMX_ADD_IO_SEG(0x0001180088000038ull) + (block_id) * 0x1000000ull;
- }
- return CVMX_ADD_IO_SEG(0x0001180088000038ull) + (block_id) * 0x60000000ull;
- }
- static inline uint64_t CVMX_LMCX_FADR(unsigned long block_id)
- {
- switch (cvmx_get_octeon_family()) {
- case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
- case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
- return CVMX_ADD_IO_SEG(0x0001180088000020ull) + (block_id) * 0x60000000ull;
- case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
- return CVMX_ADD_IO_SEG(0x0001180088000020ull) + (block_id) * 0x60000000ull;
- case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
- return CVMX_ADD_IO_SEG(0x0001180088000020ull) + (block_id) * 0x1000000ull;
- }
- return CVMX_ADD_IO_SEG(0x0001180088000020ull) + (block_id) * 0x60000000ull;
- }
- #define CVMX_LMCX_IFB_CNT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001D0ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_IFB_CNT_HI(block_id) (CVMX_ADD_IO_SEG(0x0001180088000050ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_IFB_CNT_LO(block_id) (CVMX_ADD_IO_SEG(0x0001180088000048ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_INT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001F0ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_INT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800880001E8ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_MEM_CFG0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000000ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_MEM_CFG1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000008ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_MODEREG_PARAMS0(block_id) (CVMX_ADD_IO_SEG(0x00011800880001A8ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_MODEREG_PARAMS1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000260ull) + ((block_id) & 3) * 0x1000000ull)
- static inline uint64_t CVMX_LMCX_NXM(unsigned long block_id)
- {
- switch (cvmx_get_octeon_family()) {
- case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
- case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
- return CVMX_ADD_IO_SEG(0x00011800880000C8ull) + (block_id) * 0x60000000ull;
- case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
- return CVMX_ADD_IO_SEG(0x00011800880000C8ull) + (block_id) * 0x60000000ull;
- case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
- return CVMX_ADD_IO_SEG(0x00011800880000C8ull) + (block_id) * 0x1000000ull;
- }
- return CVMX_ADD_IO_SEG(0x00011800880000C8ull) + (block_id) * 0x60000000ull;
- }
- #define CVMX_LMCX_OPS_CNT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001D8ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_OPS_CNT_HI(block_id) (CVMX_ADD_IO_SEG(0x0001180088000060ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_OPS_CNT_LO(block_id) (CVMX_ADD_IO_SEG(0x0001180088000058ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_PHY_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000210ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_PLL_BWCTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000040ull))
- #define CVMX_LMCX_PLL_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000A8ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_PLL_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800880000B0ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_READ_LEVEL_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000140ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_READ_LEVEL_DBG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000148ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_READ_LEVEL_RANKX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180088000100ull) + (((offset) & 3) + ((block_id) & 1) * 0xC000000ull) * 8)
- #define CVMX_LMCX_RESET_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000180ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_RLEVEL_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880002A0ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_RLEVEL_DBG(block_id) (CVMX_ADD_IO_SEG(0x00011800880002A8ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_RLEVEL_RANKX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180088000280ull) + (((offset) & 3) + ((block_id) & 3) * 0x200000ull) * 8)
- #define CVMX_LMCX_RODT_COMP_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000A0ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_RODT_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000078ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_RODT_MASK(block_id) (CVMX_ADD_IO_SEG(0x0001180088000268ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_SCRAMBLED_FADR(block_id) (CVMX_ADD_IO_SEG(0x0001180088000330ull))
- #define CVMX_LMCX_SCRAMBLE_CFG0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000320ull))
- #define CVMX_LMCX_SCRAMBLE_CFG1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000328ull))
- #define CVMX_LMCX_SLOT_CTL0(block_id) (CVMX_ADD_IO_SEG(0x00011800880001F8ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_SLOT_CTL1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000200ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_SLOT_CTL2(block_id) (CVMX_ADD_IO_SEG(0x0001180088000208ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_TIMING_PARAMS0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000198ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_TIMING_PARAMS1(block_id) (CVMX_ADD_IO_SEG(0x00011800880001A0ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_TRO_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000248ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_TRO_STAT(block_id) (CVMX_ADD_IO_SEG(0x0001180088000250ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_WLEVEL_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000300ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_WLEVEL_DBG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000308ull) + ((block_id) & 3) * 0x1000000ull)
- #define CVMX_LMCX_WLEVEL_RANKX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800880002B0ull) + (((offset) & 3) + ((block_id) & 3) * 0x200000ull) * 8)
- #define CVMX_LMCX_WODT_CTL0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000030ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_WODT_CTL1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000080ull) + ((block_id) & 1) * 0x60000000ull)
- #define CVMX_LMCX_WODT_MASK(block_id) (CVMX_ADD_IO_SEG(0x00011800880001B0ull) + ((block_id) & 3) * 0x1000000ull)
- union cvmx_lmcx_bist_ctl {
- uint64_t u64;
- struct cvmx_lmcx_bist_ctl_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_1_63:63;
- uint64_t start:1;
- #else
- uint64_t start:1;
- uint64_t reserved_1_63:63;
- #endif
- } s;
- struct cvmx_lmcx_bist_ctl_s cn50xx;
- struct cvmx_lmcx_bist_ctl_s cn52xx;
- struct cvmx_lmcx_bist_ctl_s cn52xxp1;
- struct cvmx_lmcx_bist_ctl_s cn56xx;
- struct cvmx_lmcx_bist_ctl_s cn56xxp1;
- };
- union cvmx_lmcx_bist_result {
- uint64_t u64;
- struct cvmx_lmcx_bist_result_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_11_63:53;
- uint64_t csrd2e:1;
- uint64_t csre2d:1;
- uint64_t mwf:1;
- uint64_t mwd:3;
- uint64_t mwc:1;
- uint64_t mrf:1;
- uint64_t mrd:3;
- #else
- uint64_t mrd:3;
- uint64_t mrf:1;
- uint64_t mwc:1;
- uint64_t mwd:3;
- uint64_t mwf:1;
- uint64_t csre2d:1;
- uint64_t csrd2e:1;
- uint64_t reserved_11_63:53;
- #endif
- } s;
- struct cvmx_lmcx_bist_result_cn50xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_9_63:55;
- uint64_t mwf:1;
- uint64_t mwd:3;
- uint64_t mwc:1;
- uint64_t mrf:1;
- uint64_t mrd:3;
- #else
- uint64_t mrd:3;
- uint64_t mrf:1;
- uint64_t mwc:1;
- uint64_t mwd:3;
- uint64_t mwf:1;
- uint64_t reserved_9_63:55;
- #endif
- } cn50xx;
- struct cvmx_lmcx_bist_result_s cn52xx;
- struct cvmx_lmcx_bist_result_s cn52xxp1;
- struct cvmx_lmcx_bist_result_s cn56xx;
- struct cvmx_lmcx_bist_result_s cn56xxp1;
- };
- union cvmx_lmcx_char_ctl {
- uint64_t u64;
- struct cvmx_lmcx_char_ctl_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_44_63:20;
- uint64_t dr:1;
- uint64_t skew_on:1;
- uint64_t en:1;
- uint64_t sel:1;
- uint64_t prog:8;
- uint64_t prbs:32;
- #else
- uint64_t prbs:32;
- uint64_t prog:8;
- uint64_t sel:1;
- uint64_t en:1;
- uint64_t skew_on:1;
- uint64_t dr:1;
- uint64_t reserved_44_63:20;
- #endif
- } s;
- struct cvmx_lmcx_char_ctl_s cn61xx;
- struct cvmx_lmcx_char_ctl_cn63xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_42_63:22;
- uint64_t en:1;
- uint64_t sel:1;
- uint64_t prog:8;
- uint64_t prbs:32;
- #else
- uint64_t prbs:32;
- uint64_t prog:8;
- uint64_t sel:1;
- uint64_t en:1;
- uint64_t reserved_42_63:22;
- #endif
- } cn63xx;
- struct cvmx_lmcx_char_ctl_cn63xx cn63xxp1;
- struct cvmx_lmcx_char_ctl_s cn66xx;
- struct cvmx_lmcx_char_ctl_s cn68xx;
- struct cvmx_lmcx_char_ctl_cn63xx cn68xxp1;
- struct cvmx_lmcx_char_ctl_s cnf71xx;
- };
- union cvmx_lmcx_char_mask0 {
- uint64_t u64;
- struct cvmx_lmcx_char_mask0_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t mask:64;
- #else
- uint64_t mask:64;
- #endif
- } s;
- struct cvmx_lmcx_char_mask0_s cn61xx;
- struct cvmx_lmcx_char_mask0_s cn63xx;
- struct cvmx_lmcx_char_mask0_s cn63xxp1;
- struct cvmx_lmcx_char_mask0_s cn66xx;
- struct cvmx_lmcx_char_mask0_s cn68xx;
- struct cvmx_lmcx_char_mask0_s cn68xxp1;
- struct cvmx_lmcx_char_mask0_s cnf71xx;
- };
- union cvmx_lmcx_char_mask1 {
- uint64_t u64;
- struct cvmx_lmcx_char_mask1_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_8_63:56;
- uint64_t mask:8;
- #else
- uint64_t mask:8;
- uint64_t reserved_8_63:56;
- #endif
- } s;
- struct cvmx_lmcx_char_mask1_s cn61xx;
- struct cvmx_lmcx_char_mask1_s cn63xx;
- struct cvmx_lmcx_char_mask1_s cn63xxp1;
- struct cvmx_lmcx_char_mask1_s cn66xx;
- struct cvmx_lmcx_char_mask1_s cn68xx;
- struct cvmx_lmcx_char_mask1_s cn68xxp1;
- struct cvmx_lmcx_char_mask1_s cnf71xx;
- };
- union cvmx_lmcx_char_mask2 {
- uint64_t u64;
- struct cvmx_lmcx_char_mask2_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t mask:64;
- #else
- uint64_t mask:64;
- #endif
- } s;
- struct cvmx_lmcx_char_mask2_s cn61xx;
- struct cvmx_lmcx_char_mask2_s cn63xx;
- struct cvmx_lmcx_char_mask2_s cn63xxp1;
- struct cvmx_lmcx_char_mask2_s cn66xx;
- struct cvmx_lmcx_char_mask2_s cn68xx;
- struct cvmx_lmcx_char_mask2_s cn68xxp1;
- struct cvmx_lmcx_char_mask2_s cnf71xx;
- };
- union cvmx_lmcx_char_mask3 {
- uint64_t u64;
- struct cvmx_lmcx_char_mask3_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_8_63:56;
- uint64_t mask:8;
- #else
- uint64_t mask:8;
- uint64_t reserved_8_63:56;
- #endif
- } s;
- struct cvmx_lmcx_char_mask3_s cn61xx;
- struct cvmx_lmcx_char_mask3_s cn63xx;
- struct cvmx_lmcx_char_mask3_s cn63xxp1;
- struct cvmx_lmcx_char_mask3_s cn66xx;
- struct cvmx_lmcx_char_mask3_s cn68xx;
- struct cvmx_lmcx_char_mask3_s cn68xxp1;
- struct cvmx_lmcx_char_mask3_s cnf71xx;
- };
- union cvmx_lmcx_char_mask4 {
- uint64_t u64;
- struct cvmx_lmcx_char_mask4_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_33_63:31;
- uint64_t reset_n_mask:1;
- uint64_t a_mask:16;
- uint64_t ba_mask:3;
- uint64_t we_n_mask:1;
- uint64_t cas_n_mask:1;
- uint64_t ras_n_mask:1;
- uint64_t odt1_mask:2;
- uint64_t odt0_mask:2;
- uint64_t cs1_n_mask:2;
- uint64_t cs0_n_mask:2;
- uint64_t cke_mask:2;
- #else
- uint64_t cke_mask:2;
- uint64_t cs0_n_mask:2;
- uint64_t cs1_n_mask:2;
- uint64_t odt0_mask:2;
- uint64_t odt1_mask:2;
- uint64_t ras_n_mask:1;
- uint64_t cas_n_mask:1;
- uint64_t we_n_mask:1;
- uint64_t ba_mask:3;
- uint64_t a_mask:16;
- uint64_t reset_n_mask:1;
- uint64_t reserved_33_63:31;
- #endif
- } s;
- struct cvmx_lmcx_char_mask4_s cn61xx;
- struct cvmx_lmcx_char_mask4_s cn63xx;
- struct cvmx_lmcx_char_mask4_s cn63xxp1;
- struct cvmx_lmcx_char_mask4_s cn66xx;
- struct cvmx_lmcx_char_mask4_s cn68xx;
- struct cvmx_lmcx_char_mask4_s cn68xxp1;
- struct cvmx_lmcx_char_mask4_s cnf71xx;
- };
- union cvmx_lmcx_comp_ctl {
- uint64_t u64;
- struct cvmx_lmcx_comp_ctl_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t nctl_csr:4;
- uint64_t nctl_clk:4;
- uint64_t nctl_cmd:4;
- uint64_t nctl_dat:4;
- uint64_t pctl_csr:4;
- uint64_t pctl_clk:4;
- uint64_t reserved_0_7:8;
- #else
- uint64_t reserved_0_7:8;
- uint64_t pctl_clk:4;
- uint64_t pctl_csr:4;
- uint64_t nctl_dat:4;
- uint64_t nctl_cmd:4;
- uint64_t nctl_clk:4;
- uint64_t nctl_csr:4;
- uint64_t reserved_32_63:32;
- #endif
- } s;
- struct cvmx_lmcx_comp_ctl_cn30xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t nctl_csr:4;
- uint64_t nctl_clk:4;
- uint64_t nctl_cmd:4;
- uint64_t nctl_dat:4;
- uint64_t pctl_csr:4;
- uint64_t pctl_clk:4;
- uint64_t pctl_cmd:4;
- uint64_t pctl_dat:4;
- #else
- uint64_t pctl_dat:4;
- uint64_t pctl_cmd:4;
- uint64_t pctl_clk:4;
- uint64_t pctl_csr:4;
- uint64_t nctl_dat:4;
- uint64_t nctl_cmd:4;
- uint64_t nctl_clk:4;
- uint64_t nctl_csr:4;
- uint64_t reserved_32_63:32;
- #endif
- } cn30xx;
- struct cvmx_lmcx_comp_ctl_cn30xx cn31xx;
- struct cvmx_lmcx_comp_ctl_cn30xx cn38xx;
- struct cvmx_lmcx_comp_ctl_cn30xx cn38xxp2;
- struct cvmx_lmcx_comp_ctl_cn50xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t nctl_csr:4;
- uint64_t reserved_20_27:8;
- uint64_t nctl_dat:4;
- uint64_t pctl_csr:4;
- uint64_t reserved_5_11:7;
- uint64_t pctl_dat:5;
- #else
- uint64_t pctl_dat:5;
- uint64_t reserved_5_11:7;
- uint64_t pctl_csr:4;
- uint64_t nctl_dat:4;
- uint64_t reserved_20_27:8;
- uint64_t nctl_csr:4;
- uint64_t reserved_32_63:32;
- #endif
- } cn50xx;
- struct cvmx_lmcx_comp_ctl_cn50xx cn52xx;
- struct cvmx_lmcx_comp_ctl_cn50xx cn52xxp1;
- struct cvmx_lmcx_comp_ctl_cn50xx cn56xx;
- struct cvmx_lmcx_comp_ctl_cn50xx cn56xxp1;
- struct cvmx_lmcx_comp_ctl_cn50xx cn58xx;
- struct cvmx_lmcx_comp_ctl_cn58xxp1 {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t nctl_csr:4;
- uint64_t reserved_20_27:8;
- uint64_t nctl_dat:4;
- uint64_t pctl_csr:4;
- uint64_t reserved_4_11:8;
- uint64_t pctl_dat:4;
- #else
- uint64_t pctl_dat:4;
- uint64_t reserved_4_11:8;
- uint64_t pctl_csr:4;
- uint64_t nctl_dat:4;
- uint64_t reserved_20_27:8;
- uint64_t nctl_csr:4;
- uint64_t reserved_32_63:32;
- #endif
- } cn58xxp1;
- };
- union cvmx_lmcx_comp_ctl2 {
- uint64_t u64;
- struct cvmx_lmcx_comp_ctl2_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_34_63:30;
- uint64_t ddr__ptune:4;
- uint64_t ddr__ntune:4;
- uint64_t m180:1;
- uint64_t byp:1;
- uint64_t ptune:4;
- uint64_t ntune:4;
- uint64_t rodt_ctl:4;
- uint64_t cmd_ctl:4;
- uint64_t ck_ctl:4;
- uint64_t dqx_ctl:4;
- #else
- uint64_t dqx_ctl:4;
- uint64_t ck_ctl:4;
- uint64_t cmd_ctl:4;
- uint64_t rodt_ctl:4;
- uint64_t ntune:4;
- uint64_t ptune:4;
- uint64_t byp:1;
- uint64_t m180:1;
- uint64_t ddr__ntune:4;
- uint64_t ddr__ptune:4;
- uint64_t reserved_34_63:30;
- #endif
- } s;
- struct cvmx_lmcx_comp_ctl2_s cn61xx;
- struct cvmx_lmcx_comp_ctl2_s cn63xx;
- struct cvmx_lmcx_comp_ctl2_s cn63xxp1;
- struct cvmx_lmcx_comp_ctl2_s cn66xx;
- struct cvmx_lmcx_comp_ctl2_s cn68xx;
- struct cvmx_lmcx_comp_ctl2_s cn68xxp1;
- struct cvmx_lmcx_comp_ctl2_s cnf71xx;
- };
- union cvmx_lmcx_config {
- uint64_t u64;
- struct cvmx_lmcx_config_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_61_63:3;
- uint64_t mode32b:1;
- uint64_t scrz:1;
- uint64_t early_unload_d1_r1:1;
- uint64_t early_unload_d1_r0:1;
- uint64_t early_unload_d0_r1:1;
- uint64_t early_unload_d0_r0:1;
- uint64_t init_status:4;
- uint64_t mirrmask:4;
- uint64_t rankmask:4;
- uint64_t rank_ena:1;
- uint64_t sref_with_dll:1;
- uint64_t early_dqx:1;
- uint64_t sequence:3;
- uint64_t ref_zqcs_int:19;
- uint64_t reset:1;
- uint64_t ecc_adr:1;
- uint64_t forcewrite:4;
- uint64_t idlepower:3;
- uint64_t pbank_lsb:4;
- uint64_t row_lsb:3;
- uint64_t ecc_ena:1;
- uint64_t init_start:1;
- #else
- uint64_t init_start:1;
- uint64_t ecc_ena:1;
- uint64_t row_lsb:3;
- uint64_t pbank_lsb:4;
- uint64_t idlepower:3;
- uint64_t forcewrite:4;
- uint64_t ecc_adr:1;
- uint64_t reset:1;
- uint64_t ref_zqcs_int:19;
- uint64_t sequence:3;
- uint64_t early_dqx:1;
- uint64_t sref_with_dll:1;
- uint64_t rank_ena:1;
- uint64_t rankmask:4;
- uint64_t mirrmask:4;
- uint64_t init_status:4;
- uint64_t early_unload_d0_r0:1;
- uint64_t early_unload_d0_r1:1;
- uint64_t early_unload_d1_r0:1;
- uint64_t early_unload_d1_r1:1;
- uint64_t scrz:1;
- uint64_t mode32b:1;
- uint64_t reserved_61_63:3;
- #endif
- } s;
- struct cvmx_lmcx_config_s cn61xx;
- struct cvmx_lmcx_config_cn63xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_59_63:5;
- uint64_t early_unload_d1_r1:1;
- uint64_t early_unload_d1_r0:1;
- uint64_t early_unload_d0_r1:1;
- uint64_t early_unload_d0_r0:1;
- uint64_t init_status:4;
- uint64_t mirrmask:4;
- uint64_t rankmask:4;
- uint64_t rank_ena:1;
- uint64_t sref_with_dll:1;
- uint64_t early_dqx:1;
- uint64_t sequence:3;
- uint64_t ref_zqcs_int:19;
- uint64_t reset:1;
- uint64_t ecc_adr:1;
- uint64_t forcewrite:4;
- uint64_t idlepower:3;
- uint64_t pbank_lsb:4;
- uint64_t row_lsb:3;
- uint64_t ecc_ena:1;
- uint64_t init_start:1;
- #else
- uint64_t init_start:1;
- uint64_t ecc_ena:1;
- uint64_t row_lsb:3;
- uint64_t pbank_lsb:4;
- uint64_t idlepower:3;
- uint64_t forcewrite:4;
- uint64_t ecc_adr:1;
- uint64_t reset:1;
- uint64_t ref_zqcs_int:19;
- uint64_t sequence:3;
- uint64_t early_dqx:1;
- uint64_t sref_with_dll:1;
- uint64_t rank_ena:1;
- uint64_t rankmask:4;
- uint64_t mirrmask:4;
- uint64_t init_status:4;
- uint64_t early_unload_d0_r0:1;
- uint64_t early_unload_d0_r1:1;
- uint64_t early_unload_d1_r0:1;
- uint64_t early_unload_d1_r1:1;
- uint64_t reserved_59_63:5;
- #endif
- } cn63xx;
- struct cvmx_lmcx_config_cn63xxp1 {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_55_63:9;
- uint64_t init_status:4;
- uint64_t mirrmask:4;
- uint64_t rankmask:4;
- uint64_t rank_ena:1;
- uint64_t sref_with_dll:1;
- uint64_t early_dqx:1;
- uint64_t sequence:3;
- uint64_t ref_zqcs_int:19;
- uint64_t reset:1;
- uint64_t ecc_adr:1;
- uint64_t forcewrite:4;
- uint64_t idlepower:3;
- uint64_t pbank_lsb:4;
- uint64_t row_lsb:3;
- uint64_t ecc_ena:1;
- uint64_t init_start:1;
- #else
- uint64_t init_start:1;
- uint64_t ecc_ena:1;
- uint64_t row_lsb:3;
- uint64_t pbank_lsb:4;
- uint64_t idlepower:3;
- uint64_t forcewrite:4;
- uint64_t ecc_adr:1;
- uint64_t reset:1;
- uint64_t ref_zqcs_int:19;
- uint64_t sequence:3;
- uint64_t early_dqx:1;
- uint64_t sref_with_dll:1;
- uint64_t rank_ena:1;
- uint64_t rankmask:4;
- uint64_t mirrmask:4;
- uint64_t init_status:4;
- uint64_t reserved_55_63:9;
- #endif
- } cn63xxp1;
- struct cvmx_lmcx_config_cn66xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_60_63:4;
- uint64_t scrz:1;
- uint64_t early_unload_d1_r1:1;
- uint64_t early_unload_d1_r0:1;
- uint64_t early_unload_d0_r1:1;
- uint64_t early_unload_d0_r0:1;
- uint64_t init_status:4;
- uint64_t mirrmask:4;
- uint64_t rankmask:4;
- uint64_t rank_ena:1;
- uint64_t sref_with_dll:1;
- uint64_t early_dqx:1;
- uint64_t sequence:3;
- uint64_t ref_zqcs_int:19;
- uint64_t reset:1;
- uint64_t ecc_adr:1;
- uint64_t forcewrite:4;
- uint64_t idlepower:3;
- uint64_t pbank_lsb:4;
- uint64_t row_lsb:3;
- uint64_t ecc_ena:1;
- uint64_t init_start:1;
- #else
- uint64_t init_start:1;
- uint64_t ecc_ena:1;
- uint64_t row_lsb:3;
- uint64_t pbank_lsb:4;
- uint64_t idlepower:3;
- uint64_t forcewrite:4;
- uint64_t ecc_adr:1;
- uint64_t reset:1;
- uint64_t ref_zqcs_int:19;
- uint64_t sequence:3;
- uint64_t early_dqx:1;
- uint64_t sref_with_dll:1;
- uint64_t rank_ena:1;
- uint64_t rankmask:4;
- uint64_t mirrmask:4;
- uint64_t init_status:4;
- uint64_t early_unload_d0_r0:1;
- uint64_t early_unload_d0_r1:1;
- uint64_t early_unload_d1_r0:1;
- uint64_t early_unload_d1_r1:1;
- uint64_t scrz:1;
- uint64_t reserved_60_63:4;
- #endif
- } cn66xx;
- struct cvmx_lmcx_config_cn63xx cn68xx;
- struct cvmx_lmcx_config_cn63xx cn68xxp1;
- struct cvmx_lmcx_config_s cnf71xx;
- };
- union cvmx_lmcx_control {
- uint64_t u64;
- struct cvmx_lmcx_control_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t scramble_ena:1;
- uint64_t thrcnt:12;
- uint64_t persub:8;
- uint64_t thrmax:4;
- uint64_t crm_cnt:5;
- uint64_t crm_thr:5;
- uint64_t crm_max:5;
- uint64_t rodt_bprch:1;
- uint64_t wodt_bprch:1;
- uint64_t bprch:2;
- uint64_t ext_zqcs_dis:1;
- uint64_t int_zqcs_dis:1;
- uint64_t auto_dclkdis:1;
- uint64_t xor_bank:1;
- uint64_t max_write_batch:4;
- uint64_t nxm_write_en:1;
- uint64_t elev_prio_dis:1;
- uint64_t inorder_wr:1;
- uint64_t inorder_rd:1;
- uint64_t throttle_wr:1;
- uint64_t throttle_rd:1;
- uint64_t fprch2:2;
- uint64_t pocas:1;
- uint64_t ddr2t:1;
- uint64_t bwcnt:1;
- uint64_t rdimm_ena:1;
- #else
- uint64_t rdimm_ena:1;
- uint64_t bwcnt:1;
- uint64_t ddr2t:1;
- uint64_t pocas:1;
- uint64_t fprch2:2;
- uint64_t throttle_rd:1;
- uint64_t throttle_wr:1;
- uint64_t inorder_rd:1;
- uint64_t inorder_wr:1;
- uint64_t elev_prio_dis:1;
- uint64_t nxm_write_en:1;
- uint64_t max_write_batch:4;
- uint64_t xor_bank:1;
- uint64_t auto_dclkdis:1;
- uint64_t int_zqcs_dis:1;
- uint64_t ext_zqcs_dis:1;
- uint64_t bprch:2;
- uint64_t wodt_bprch:1;
- uint64_t rodt_bprch:1;
- uint64_t crm_max:5;
- uint64_t crm_thr:5;
- uint64_t crm_cnt:5;
- uint64_t thrmax:4;
- uint64_t persub:8;
- uint64_t thrcnt:12;
- uint64_t scramble_ena:1;
- #endif
- } s;
- struct cvmx_lmcx_control_s cn61xx;
- struct cvmx_lmcx_control_cn63xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_24_63:40;
- uint64_t rodt_bprch:1;
- uint64_t wodt_bprch:1;
- uint64_t bprch:2;
- uint64_t ext_zqcs_dis:1;
- uint64_t int_zqcs_dis:1;
- uint64_t auto_dclkdis:1;
- uint64_t xor_bank:1;
- uint64_t max_write_batch:4;
- uint64_t nxm_write_en:1;
- uint64_t elev_prio_dis:1;
- uint64_t inorder_wr:1;
- uint64_t inorder_rd:1;
- uint64_t throttle_wr:1;
- uint64_t throttle_rd:1;
- uint64_t fprch2:2;
- uint64_t pocas:1;
- uint64_t ddr2t:1;
- uint64_t bwcnt:1;
- uint64_t rdimm_ena:1;
- #else
- uint64_t rdimm_ena:1;
- uint64_t bwcnt:1;
- uint64_t ddr2t:1;
- uint64_t pocas:1;
- uint64_t fprch2:2;
- uint64_t throttle_rd:1;
- uint64_t throttle_wr:1;
- uint64_t inorder_rd:1;
- uint64_t inorder_wr:1;
- uint64_t elev_prio_dis:1;
- uint64_t nxm_write_en:1;
- uint64_t max_write_batch:4;
- uint64_t xor_bank:1;
- uint64_t auto_dclkdis:1;
- uint64_t int_zqcs_dis:1;
- uint64_t ext_zqcs_dis:1;
- uint64_t bprch:2;
- uint64_t wodt_bprch:1;
- uint64_t rodt_bprch:1;
- uint64_t reserved_24_63:40;
- #endif
- } cn63xx;
- struct cvmx_lmcx_control_cn63xx cn63xxp1;
- struct cvmx_lmcx_control_cn66xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t scramble_ena:1;
- uint64_t reserved_24_62:39;
- uint64_t rodt_bprch:1;
- uint64_t wodt_bprch:1;
- uint64_t bprch:2;
- uint64_t ext_zqcs_dis:1;
- uint64_t int_zqcs_dis:1;
- uint64_t auto_dclkdis:1;
- uint64_t xor_bank:1;
- uint64_t max_write_batch:4;
- uint64_t nxm_write_en:1;
- uint64_t elev_prio_dis:1;
- uint64_t inorder_wr:1;
- uint64_t inorder_rd:1;
- uint64_t throttle_wr:1;
- uint64_t throttle_rd:1;
- uint64_t fprch2:2;
- uint64_t pocas:1;
- uint64_t ddr2t:1;
- uint64_t bwcnt:1;
- uint64_t rdimm_ena:1;
- #else
- uint64_t rdimm_ena:1;
- uint64_t bwcnt:1;
- uint64_t ddr2t:1;
- uint64_t pocas:1;
- uint64_t fprch2:2;
- uint64_t throttle_rd:1;
- uint64_t throttle_wr:1;
- uint64_t inorder_rd:1;
- uint64_t inorder_wr:1;
- uint64_t elev_prio_dis:1;
- uint64_t nxm_write_en:1;
- uint64_t max_write_batch:4;
- uint64_t xor_bank:1;
- uint64_t auto_dclkdis:1;
- uint64_t int_zqcs_dis:1;
- uint64_t ext_zqcs_dis:1;
- uint64_t bprch:2;
- uint64_t wodt_bprch:1;
- uint64_t rodt_bprch:1;
- uint64_t reserved_24_62:39;
- uint64_t scramble_ena:1;
- #endif
- } cn66xx;
- struct cvmx_lmcx_control_cn68xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_63_63:1;
- uint64_t thrcnt:12;
- uint64_t persub:8;
- uint64_t thrmax:4;
- uint64_t crm_cnt:5;
- uint64_t crm_thr:5;
- uint64_t crm_max:5;
- uint64_t rodt_bprch:1;
- uint64_t wodt_bprch:1;
- uint64_t bprch:2;
- uint64_t ext_zqcs_dis:1;
- uint64_t int_zqcs_dis:1;
- uint64_t auto_dclkdis:1;
- uint64_t xor_bank:1;
- uint64_t max_write_batch:4;
- uint64_t nxm_write_en:1;
- uint64_t elev_prio_dis:1;
- uint64_t inorder_wr:1;
- uint64_t inorder_rd:1;
- uint64_t throttle_wr:1;
- uint64_t throttle_rd:1;
- uint64_t fprch2:2;
- uint64_t pocas:1;
- uint64_t ddr2t:1;
- uint64_t bwcnt:1;
- uint64_t rdimm_ena:1;
- #else
- uint64_t rdimm_ena:1;
- uint64_t bwcnt:1;
- uint64_t ddr2t:1;
- uint64_t pocas:1;
- uint64_t fprch2:2;
- uint64_t throttle_rd:1;
- uint64_t throttle_wr:1;
- uint64_t inorder_rd:1;
- uint64_t inorder_wr:1;
- uint64_t elev_prio_dis:1;
- uint64_t nxm_write_en:1;
- uint64_t max_write_batch:4;
- uint64_t xor_bank:1;
- uint64_t auto_dclkdis:1;
- uint64_t int_zqcs_dis:1;
- uint64_t ext_zqcs_dis:1;
- uint64_t bprch:2;
- uint64_t wodt_bprch:1;
- uint64_t rodt_bprch:1;
- uint64_t crm_max:5;
- uint64_t crm_thr:5;
- uint64_t crm_cnt:5;
- uint64_t thrmax:4;
- uint64_t persub:8;
- uint64_t thrcnt:12;
- uint64_t reserved_63_63:1;
- #endif
- } cn68xx;
- struct cvmx_lmcx_control_cn68xx cn68xxp1;
- struct cvmx_lmcx_control_cn66xx cnf71xx;
- };
- union cvmx_lmcx_ctl {
- uint64_t u64;
- struct cvmx_lmcx_ctl_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t ddr__nctl:4;
- uint64_t ddr__pctl:4;
- uint64_t slow_scf:1;
- uint64_t xor_bank:1;
- uint64_t max_write_batch:4;
- uint64_t pll_div2:1;
- uint64_t pll_bypass:1;
- uint64_t rdimm_ena:1;
- uint64_t r2r_slot:1;
- uint64_t inorder_mwf:1;
- uint64_t inorder_mrf:1;
- uint64_t reserved_10_11:2;
- uint64_t fprch2:1;
- uint64_t bprch:1;
- uint64_t sil_lat:2;
- uint64_t tskw:2;
- uint64_t qs_dic:2;
- uint64_t dic:2;
- #else
- uint64_t dic:2;
- uint64_t qs_dic:2;
- uint64_t tskw:2;
- uint64_t sil_lat:2;
- uint64_t bprch:1;
- uint64_t fprch2:1;
- uint64_t reserved_10_11:2;
- uint64_t inorder_mrf:1;
- uint64_t inorder_mwf:1;
- uint64_t r2r_slot:1;
- uint64_t rdimm_ena:1;
- uint64_t pll_bypass:1;
- uint64_t pll_div2:1;
- uint64_t max_write_batch:4;
- uint64_t xor_bank:1;
- uint64_t slow_scf:1;
- uint64_t ddr__pctl:4;
- uint64_t ddr__nctl:4;
- uint64_t reserved_32_63:32;
- #endif
- } s;
- struct cvmx_lmcx_ctl_cn30xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t ddr__nctl:4;
- uint64_t ddr__pctl:4;
- uint64_t slow_scf:1;
- uint64_t xor_bank:1;
- uint64_t max_write_batch:4;
- uint64_t pll_div2:1;
- uint64_t pll_bypass:1;
- uint64_t rdimm_ena:1;
- uint64_t r2r_slot:1;
- uint64_t inorder_mwf:1;
- uint64_t inorder_mrf:1;
- uint64_t dreset:1;
- uint64_t mode32b:1;
- uint64_t fprch2:1;
- uint64_t bprch:1;
- uint64_t sil_lat:2;
- uint64_t tskw:2;
- uint64_t qs_dic:2;
- uint64_t dic:2;
- #else
- uint64_t dic:2;
- uint64_t qs_dic:2;
- uint64_t tskw:2;
- uint64_t sil_lat:2;
- uint64_t bprch:1;
- uint64_t fprch2:1;
- uint64_t mode32b:1;
- uint64_t dreset:1;
- uint64_t inorder_mrf:1;
- uint64_t inorder_mwf:1;
- uint64_t r2r_slot:1;
- uint64_t rdimm_ena:1;
- uint64_t pll_bypass:1;
- uint64_t pll_div2:1;
- uint64_t max_write_batch:4;
- uint64_t xor_bank:1;
- uint64_t slow_scf:1;
- uint64_t ddr__pctl:4;
- uint64_t ddr__nctl:4;
- uint64_t reserved_32_63:32;
- #endif
- } cn30xx;
- struct cvmx_lmcx_ctl_cn30xx cn31xx;
- struct cvmx_lmcx_ctl_cn38xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t ddr__nctl:4;
- uint64_t ddr__pctl:4;
- uint64_t slow_scf:1;
- uint64_t xor_bank:1;
- uint64_t max_write_batch:4;
- uint64_t reserved_16_17:2;
- uint64_t rdimm_ena:1;
- uint64_t r2r_slot:1;
- uint64_t inorder_mwf:1;
- uint64_t inorder_mrf:1;
- uint64_t set_zero:1;
- uint64_t mode128b:1;
- uint64_t fprch2:1;
- uint64_t bprch:1;
- uint64_t sil_lat:2;
- uint64_t tskw:2;
- uint64_t qs_dic:2;
- uint64_t dic:2;
- #else
- uint64_t dic:2;
- uint64_t qs_dic:2;
- uint64_t tskw:2;
- uint64_t sil_lat:2;
- uint64_t bprch:1;
- uint64_t fprch2:1;
- uint64_t mode128b:1;
- uint64_t set_zero:1;
- uint64_t inorder_mrf:1;
- uint64_t inorder_mwf:1;
- uint64_t r2r_slot:1;
- uint64_t rdimm_ena:1;
- uint64_t reserved_16_17:2;
- uint64_t max_write_batch:4;
- uint64_t xor_bank:1;
- uint64_t slow_scf:1;
- uint64_t ddr__pctl:4;
- uint64_t ddr__nctl:4;
- uint64_t reserved_32_63:32;
- #endif
- } cn38xx;
- struct cvmx_lmcx_ctl_cn38xx cn38xxp2;
- struct cvmx_lmcx_ctl_cn50xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t ddr__nctl:4;
- uint64_t ddr__pctl:4;
- uint64_t slow_scf:1;
- uint64_t xor_bank:1;
- uint64_t max_write_batch:4;
- uint64_t reserved_17_17:1;
- uint64_t pll_bypass:1;
- uint64_t rdimm_ena:1;
- uint64_t r2r_slot:1;
- uint64_t inorder_mwf:1;
- uint64_t inorder_mrf:1;
- uint64_t dreset:1;
- uint64_t mode32b:1;
- uint64_t fprch2:1;
- uint64_t bprch:1;
- uint64_t sil_lat:2;
- uint64_t tskw:2;
- uint64_t qs_dic:2;
- uint64_t dic:2;
- #else
- uint64_t dic:2;
- uint64_t qs_dic:2;
- uint64_t tskw:2;
- uint64_t sil_lat:2;
- uint64_t bprch:1;
- uint64_t fprch2:1;
- uint64_t mode32b:1;
- uint64_t dreset:1;
- uint64_t inorder_mrf:1;
- uint64_t inorder_mwf:1;
- uint64_t r2r_slot:1;
- uint64_t rdimm_ena:1;
- uint64_t pll_bypass:1;
- uint64_t reserved_17_17:1;
- uint64_t max_write_batch:4;
- uint64_t xor_bank:1;
- uint64_t slow_scf:1;
- uint64_t ddr__pctl:4;
- uint64_t ddr__nctl:4;
- uint64_t reserved_32_63:32;
- #endif
- } cn50xx;
- struct cvmx_lmcx_ctl_cn52xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t ddr__nctl:4;
- uint64_t ddr__pctl:4;
- uint64_t slow_scf:1;
- uint64_t xor_bank:1;
- uint64_t max_write_batch:4;
- uint64_t reserved_16_17:2;
- uint64_t rdimm_ena:1;
- uint64_t r2r_slot:1;
- uint64_t inorder_mwf:1;
- uint64_t inorder_mrf:1;
- uint64_t dreset:1;
- uint64_t mode32b:1;
- uint64_t fprch2:1;
- uint64_t bprch:1;
- uint64_t sil_lat:2;
- uint64_t tskw:2;
- uint64_t qs_dic:2;
- uint64_t dic:2;
- #else
- uint64_t dic:2;
- uint64_t qs_dic:2;
- uint64_t tskw:2;
- uint64_t sil_lat:2;
- uint64_t bprch:1;
- uint64_t fprch2:1;
- uint64_t mode32b:1;
- uint64_t dreset:1;
- uint64_t inorder_mrf:1;
- uint64_t inorder_mwf:1;
- uint64_t r2r_slot:1;
- uint64_t rdimm_ena:1;
- uint64_t reserved_16_17:2;
- uint64_t max_write_batch:4;
- uint64_t xor_bank:1;
- uint64_t slow_scf:1;
- uint64_t ddr__pctl:4;
- uint64_t ddr__nctl:4;
- uint64_t reserved_32_63:32;
- #endif
- } cn52xx;
- struct cvmx_lmcx_ctl_cn52xx cn52xxp1;
- struct cvmx_lmcx_ctl_cn52xx cn56xx;
- struct cvmx_lmcx_ctl_cn52xx cn56xxp1;
- struct cvmx_lmcx_ctl_cn58xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t ddr__nctl:4;
- uint64_t ddr__pctl:4;
- uint64_t slow_scf:1;
- uint64_t xor_bank:1;
- uint64_t max_write_batch:4;
- uint64_t reserved_16_17:2;
- uint64_t rdimm_ena:1;
- uint64_t r2r_slot:1;
- uint64_t inorder_mwf:1;
- uint64_t inorder_mrf:1;
- uint64_t dreset:1;
- uint64_t mode128b:1;
- uint64_t fprch2:1;
- uint64_t bprch:1;
- uint64_t sil_lat:2;
- uint64_t tskw:2;
- uint64_t qs_dic:2;
- uint64_t dic:2;
- #else
- uint64_t dic:2;
- uint64_t qs_dic:2;
- uint64_t tskw:2;
- uint64_t sil_lat:2;
- uint64_t bprch:1;
- uint64_t fprch2:1;
- uint64_t mode128b:1;
- uint64_t dreset:1;
- uint64_t inorder_mrf:1;
- uint64_t inorder_mwf:1;
- uint64_t r2r_slot:1;
- uint64_t rdimm_ena:1;
- uint64_t reserved_16_17:2;
- uint64_t max_write_batch:4;
- uint64_t xor_bank:1;
- uint64_t slow_scf:1;
- uint64_t ddr__pctl:4;
- uint64_t ddr__nctl:4;
- uint64_t reserved_32_63:32;
- #endif
- } cn58xx;
- struct cvmx_lmcx_ctl_cn58xx cn58xxp1;
- };
- union cvmx_lmcx_ctl1 {
- uint64_t u64;
- struct cvmx_lmcx_ctl1_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_21_63:43;
- uint64_t ecc_adr:1;
- uint64_t forcewrite:4;
- uint64_t idlepower:3;
- uint64_t sequence:3;
- uint64_t sil_mode:1;
- uint64_t dcc_enable:1;
- uint64_t reserved_2_7:6;
- uint64_t data_layout:2;
- #else
- uint64_t data_layout:2;
- uint64_t reserved_2_7:6;
- uint64_t dcc_enable:1;
- uint64_t sil_mode:1;
- uint64_t sequence:3;
- uint64_t idlepower:3;
- uint64_t forcewrite:4;
- uint64_t ecc_adr:1;
- uint64_t reserved_21_63:43;
- #endif
- } s;
- struct cvmx_lmcx_ctl1_cn30xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_2_63:62;
- uint64_t data_layout:2;
- #else
- uint64_t data_layout:2;
- uint64_t reserved_2_63:62;
- #endif
- } cn30xx;
- struct cvmx_lmcx_ctl1_cn50xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_10_63:54;
- uint64_t sil_mode:1;
- uint64_t dcc_enable:1;
- uint64_t reserved_2_7:6;
- uint64_t data_layout:2;
- #else
- uint64_t data_layout:2;
- uint64_t reserved_2_7:6;
- uint64_t dcc_enable:1;
- uint64_t sil_mode:1;
- uint64_t reserved_10_63:54;
- #endif
- } cn50xx;
- struct cvmx_lmcx_ctl1_cn52xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_21_63:43;
- uint64_t ecc_adr:1;
- uint64_t forcewrite:4;
- uint64_t idlepower:3;
- uint64_t sequence:3;
- uint64_t sil_mode:1;
- uint64_t dcc_enable:1;
- uint64_t reserved_0_7:8;
- #else
- uint64_t reserved_0_7:8;
- uint64_t dcc_enable:1;
- uint64_t sil_mode:1;
- uint64_t sequence:3;
- uint64_t idlepower:3;
- uint64_t forcewrite:4;
- uint64_t ecc_adr:1;
- uint64_t reserved_21_63:43;
- #endif
- } cn52xx;
- struct cvmx_lmcx_ctl1_cn52xx cn52xxp1;
- struct cvmx_lmcx_ctl1_cn52xx cn56xx;
- struct cvmx_lmcx_ctl1_cn52xx cn56xxp1;
- struct cvmx_lmcx_ctl1_cn58xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_10_63:54;
- uint64_t sil_mode:1;
- uint64_t dcc_enable:1;
- uint64_t reserved_0_7:8;
- #else
- uint64_t reserved_0_7:8;
- uint64_t dcc_enable:1;
- uint64_t sil_mode:1;
- uint64_t reserved_10_63:54;
- #endif
- } cn58xx;
- struct cvmx_lmcx_ctl1_cn58xx cn58xxp1;
- };
- union cvmx_lmcx_dclk_cnt {
- uint64_t u64;
- struct cvmx_lmcx_dclk_cnt_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t dclkcnt:64;
- #else
- uint64_t dclkcnt:64;
- #endif
- } s;
- struct cvmx_lmcx_dclk_cnt_s cn61xx;
- struct cvmx_lmcx_dclk_cnt_s cn63xx;
- struct cvmx_lmcx_dclk_cnt_s cn63xxp1;
- struct cvmx_lmcx_dclk_cnt_s cn66xx;
- struct cvmx_lmcx_dclk_cnt_s cn68xx;
- struct cvmx_lmcx_dclk_cnt_s cn68xxp1;
- struct cvmx_lmcx_dclk_cnt_s cnf71xx;
- };
- union cvmx_lmcx_dclk_cnt_hi {
- uint64_t u64;
- struct cvmx_lmcx_dclk_cnt_hi_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t dclkcnt_hi:32;
- #else
- uint64_t dclkcnt_hi:32;
- uint64_t reserved_32_63:32;
- #endif
- } s;
- struct cvmx_lmcx_dclk_cnt_hi_s cn30xx;
- struct cvmx_lmcx_dclk_cnt_hi_s cn31xx;
- struct cvmx_lmcx_dclk_cnt_hi_s cn38xx;
- struct cvmx_lmcx_dclk_cnt_hi_s cn38xxp2;
- struct cvmx_lmcx_dclk_cnt_hi_s cn50xx;
- struct cvmx_lmcx_dclk_cnt_hi_s cn52xx;
- struct cvmx_lmcx_dclk_cnt_hi_s cn52xxp1;
- struct cvmx_lmcx_dclk_cnt_hi_s cn56xx;
- struct cvmx_lmcx_dclk_cnt_hi_s cn56xxp1;
- struct cvmx_lmcx_dclk_cnt_hi_s cn58xx;
- struct cvmx_lmcx_dclk_cnt_hi_s cn58xxp1;
- };
- union cvmx_lmcx_dclk_cnt_lo {
- uint64_t u64;
- struct cvmx_lmcx_dclk_cnt_lo_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t dclkcnt_lo:32;
- #else
- uint64_t dclkcnt_lo:32;
- uint64_t reserved_32_63:32;
- #endif
- } s;
- struct cvmx_lmcx_dclk_cnt_lo_s cn30xx;
- struct cvmx_lmcx_dclk_cnt_lo_s cn31xx;
- struct cvmx_lmcx_dclk_cnt_lo_s cn38xx;
- struct cvmx_lmcx_dclk_cnt_lo_s cn38xxp2;
- struct cvmx_lmcx_dclk_cnt_lo_s cn50xx;
- struct cvmx_lmcx_dclk_cnt_lo_s cn52xx;
- struct cvmx_lmcx_dclk_cnt_lo_s cn52xxp1;
- struct cvmx_lmcx_dclk_cnt_lo_s cn56xx;
- struct cvmx_lmcx_dclk_cnt_lo_s cn56xxp1;
- struct cvmx_lmcx_dclk_cnt_lo_s cn58xx;
- struct cvmx_lmcx_dclk_cnt_lo_s cn58xxp1;
- };
- union cvmx_lmcx_dclk_ctl {
- uint64_t u64;
- struct cvmx_lmcx_dclk_ctl_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_8_63:56;
- uint64_t off90_ena:1;
- uint64_t dclk90_byp:1;
- uint64_t dclk90_ld:1;
- uint64_t dclk90_vlu:5;
- #else
- uint64_t dclk90_vlu:5;
- uint64_t dclk90_ld:1;
- uint64_t dclk90_byp:1;
- uint64_t off90_ena:1;
- uint64_t reserved_8_63:56;
- #endif
- } s;
- struct cvmx_lmcx_dclk_ctl_s cn56xx;
- struct cvmx_lmcx_dclk_ctl_s cn56xxp1;
- };
- union cvmx_lmcx_ddr2_ctl {
- uint64_t u64;
- struct cvmx_lmcx_ddr2_ctl_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t bank8:1;
- uint64_t burst8:1;
- uint64_t addlat:3;
- uint64_t pocas:1;
- uint64_t bwcnt:1;
- uint64_t twr:3;
- uint64_t silo_hc:1;
- uint64_t ddr_eof:4;
- uint64_t tfaw:5;
- uint64_t crip_mode:1;
- uint64_t ddr2t:1;
- uint64_t odt_ena:1;
- uint64_t qdll_ena:1;
- uint64_t dll90_vlu:5;
- uint64_t dll90_byp:1;
- uint64_t rdqs:1;
- uint64_t ddr2:1;
- #else
- uint64_t ddr2:1;
- uint64_t rdqs:1;
- uint64_t dll90_byp:1;
- uint64_t dll90_vlu:5;
- uint64_t qdll_ena:1;
- uint64_t odt_ena:1;
- uint64_t ddr2t:1;
- uint64_t crip_mode:1;
- uint64_t tfaw:5;
- uint64_t ddr_eof:4;
- uint64_t silo_hc:1;
- uint64_t twr:3;
- uint64_t bwcnt:1;
- uint64_t pocas:1;
- uint64_t addlat:3;
- uint64_t burst8:1;
- uint64_t bank8:1;
- uint64_t reserved_32_63:32;
- #endif
- } s;
- struct cvmx_lmcx_ddr2_ctl_cn30xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t bank8:1;
- uint64_t burst8:1;
- uint64_t addlat:3;
- uint64_t pocas:1;
- uint64_t bwcnt:1;
- uint64_t twr:3;
- uint64_t silo_hc:1;
- uint64_t ddr_eof:4;
- uint64_t tfaw:5;
- uint64_t crip_mode:1;
- uint64_t ddr2t:1;
- uint64_t odt_ena:1;
- uint64_t qdll_ena:1;
- uint64_t dll90_vlu:5;
- uint64_t dll90_byp:1;
- uint64_t reserved_1_1:1;
- uint64_t ddr2:1;
- #else
- uint64_t ddr2:1;
- uint64_t reserved_1_1:1;
- uint64_t dll90_byp:1;
- uint64_t dll90_vlu:5;
- uint64_t qdll_ena:1;
- uint64_t odt_ena:1;
- uint64_t ddr2t:1;
- uint64_t crip_mode:1;
- uint64_t tfaw:5;
- uint64_t ddr_eof:4;
- uint64_t silo_hc:1;
- uint64_t twr:3;
- uint64_t bwcnt:1;
- uint64_t pocas:1;
- uint64_t addlat:3;
- uint64_t burst8:1;
- uint64_t bank8:1;
- uint64_t reserved_32_63:32;
- #endif
- } cn30xx;
- struct cvmx_lmcx_ddr2_ctl_cn30xx cn31xx;
- struct cvmx_lmcx_ddr2_ctl_s cn38xx;
- struct cvmx_lmcx_ddr2_ctl_s cn38xxp2;
- struct cvmx_lmcx_ddr2_ctl_s cn50xx;
- struct cvmx_lmcx_ddr2_ctl_s cn52xx;
- struct cvmx_lmcx_ddr2_ctl_s cn52xxp1;
- struct cvmx_lmcx_ddr2_ctl_s cn56xx;
- struct cvmx_lmcx_ddr2_ctl_s cn56xxp1;
- struct cvmx_lmcx_ddr2_ctl_s cn58xx;
- struct cvmx_lmcx_ddr2_ctl_s cn58xxp1;
- };
- union cvmx_lmcx_ddr_pll_ctl {
- uint64_t u64;
- struct cvmx_lmcx_ddr_pll_ctl_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_27_63:37;
- uint64_t jtg_test_mode:1;
- uint64_t dfm_div_reset:1;
- uint64_t dfm_ps_en:3;
- uint64_t ddr_div_reset:1;
- uint64_t ddr_ps_en:3;
- uint64_t diffamp:4;
- uint64_t cps:3;
- uint64_t cpb:3;
- uint64_t reset_n:1;
- uint64_t clkf:7;
- #else
- uint64_t clkf:7;
- uint64_t reset_n:1;
- uint64_t cpb:3;
- uint64_t cps:3;
- uint64_t diffamp:4;
- uint64_t ddr_ps_en:3;
- uint64_t ddr_div_reset:1;
- uint64_t dfm_ps_en:3;
- uint64_t dfm_div_reset:1;
- uint64_t jtg_test_mode:1;
- uint64_t reserved_27_63:37;
- #endif
- } s;
- struct cvmx_lmcx_ddr_pll_ctl_s cn61xx;
- struct cvmx_lmcx_ddr_pll_ctl_s cn63xx;
- struct cvmx_lmcx_ddr_pll_ctl_s cn63xxp1;
- struct cvmx_lmcx_ddr_pll_ctl_s cn66xx;
- struct cvmx_lmcx_ddr_pll_ctl_s cn68xx;
- struct cvmx_lmcx_ddr_pll_ctl_s cn68xxp1;
- struct cvmx_lmcx_ddr_pll_ctl_s cnf71xx;
- };
- union cvmx_lmcx_delay_cfg {
- uint64_t u64;
- struct cvmx_lmcx_delay_cfg_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_15_63:49;
- uint64_t dq:5;
- uint64_t cmd:5;
- uint64_t clk:5;
- #else
- uint64_t clk:5;
- uint64_t cmd:5;
- uint64_t dq:5;
- uint64_t reserved_15_63:49;
- #endif
- } s;
- struct cvmx_lmcx_delay_cfg_s cn30xx;
- struct cvmx_lmcx_delay_cfg_cn38xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_14_63:50;
- uint64_t dq:4;
- uint64_t reserved_9_9:1;
- uint64_t cmd:4;
- uint64_t reserved_4_4:1;
- uint64_t clk:4;
- #else
- uint64_t clk:4;
- uint64_t reserved_4_4:1;
- uint64_t cmd:4;
- uint64_t reserved_9_9:1;
- uint64_t dq:4;
- uint64_t reserved_14_63:50;
- #endif
- } cn38xx;
- struct cvmx_lmcx_delay_cfg_cn38xx cn50xx;
- struct cvmx_lmcx_delay_cfg_cn38xx cn52xx;
- struct cvmx_lmcx_delay_cfg_cn38xx cn52xxp1;
- struct cvmx_lmcx_delay_cfg_cn38xx cn56xx;
- struct cvmx_lmcx_delay_cfg_cn38xx cn56xxp1;
- struct cvmx_lmcx_delay_cfg_cn38xx cn58xx;
- struct cvmx_lmcx_delay_cfg_cn38xx cn58xxp1;
- };
- union cvmx_lmcx_dimmx_params {
- uint64_t u64;
- struct cvmx_lmcx_dimmx_params_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t rc15:4;
- uint64_t rc14:4;
- uint64_t rc13:4;
- uint64_t rc12:4;
- uint64_t rc11:4;
- uint64_t rc10:4;
- uint64_t rc9:4;
- uint64_t rc8:4;
- uint64_t rc7:4;
- uint64_t rc6:4;
- uint64_t rc5:4;
- uint64_t rc4:4;
- uint64_t rc3:4;
- uint64_t rc2:4;
- uint64_t rc1:4;
- uint64_t rc0:4;
- #else
- uint64_t rc0:4;
- uint64_t rc1:4;
- uint64_t rc2:4;
- uint64_t rc3:4;
- uint64_t rc4:4;
- uint64_t rc5:4;
- uint64_t rc6:4;
- uint64_t rc7:4;
- uint64_t rc8:4;
- uint64_t rc9:4;
- uint64_t rc10:4;
- uint64_t rc11:4;
- uint64_t rc12:4;
- uint64_t rc13:4;
- uint64_t rc14:4;
- uint64_t rc15:4;
- #endif
- } s;
- struct cvmx_lmcx_dimmx_params_s cn61xx;
- struct cvmx_lmcx_dimmx_params_s cn63xx;
- struct cvmx_lmcx_dimmx_params_s cn63xxp1;
- struct cvmx_lmcx_dimmx_params_s cn66xx;
- struct cvmx_lmcx_dimmx_params_s cn68xx;
- struct cvmx_lmcx_dimmx_params_s cn68xxp1;
- struct cvmx_lmcx_dimmx_params_s cnf71xx;
- };
- union cvmx_lmcx_dimm_ctl {
- uint64_t u64;
- struct cvmx_lmcx_dimm_ctl_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_46_63:18;
- uint64_t parity:1;
- uint64_t tcws:13;
- uint64_t dimm1_wmask:16;
- uint64_t dimm0_wmask:16;
- #else
- uint64_t dimm0_wmask:16;
- uint64_t dimm1_wmask:16;
- uint64_t tcws:13;
- uint64_t parity:1;
- uint64_t reserved_46_63:18;
- #endif
- } s;
- struct cvmx_lmcx_dimm_ctl_s cn61xx;
- struct cvmx_lmcx_dimm_ctl_s cn63xx;
- struct cvmx_lmcx_dimm_ctl_s cn63xxp1;
- struct cvmx_lmcx_dimm_ctl_s cn66xx;
- struct cvmx_lmcx_dimm_ctl_s cn68xx;
- struct cvmx_lmcx_dimm_ctl_s cn68xxp1;
- struct cvmx_lmcx_dimm_ctl_s cnf71xx;
- };
- union cvmx_lmcx_dll_ctl {
- uint64_t u64;
- struct cvmx_lmcx_dll_ctl_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_8_63:56;
- uint64_t dreset:1;
- uint64_t dll90_byp:1;
- uint64_t dll90_ena:1;
- uint64_t dll90_vlu:5;
- #else
- uint64_t dll90_vlu:5;
- uint64_t dll90_ena:1;
- uint64_t dll90_byp:1;
- uint64_t dreset:1;
- uint64_t reserved_8_63:56;
- #endif
- } s;
- struct cvmx_lmcx_dll_ctl_s cn52xx;
- struct cvmx_lmcx_dll_ctl_s cn52xxp1;
- struct cvmx_lmcx_dll_ctl_s cn56xx;
- struct cvmx_lmcx_dll_ctl_s cn56xxp1;
- };
- union cvmx_lmcx_dll_ctl2 {
- uint64_t u64;
- struct cvmx_lmcx_dll_ctl2_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_16_63:48;
- uint64_t intf_en:1;
- uint64_t dll_bringup:1;
- uint64_t dreset:1;
- uint64_t quad_dll_ena:1;
- uint64_t byp_sel:4;
- uint64_t byp_setting:8;
- #else
- uint64_t byp_setting:8;
- uint64_t byp_sel:4;
- uint64_t quad_dll_ena:1;
- uint64_t dreset:1;
- uint64_t dll_bringup:1;
- uint64_t intf_en:1;
- uint64_t reserved_16_63:48;
- #endif
- } s;
- struct cvmx_lmcx_dll_ctl2_s cn61xx;
- struct cvmx_lmcx_dll_ctl2_cn63xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_15_63:49;
- uint64_t dll_bringup:1;
- uint64_t dreset:1;
- uint64_t quad_dll_ena:1;
- uint64_t byp_sel:4;
- uint64_t byp_setting:8;
- #else
- uint64_t byp_setting:8;
- uint64_t byp_sel:4;
- uint64_t quad_dll_ena:1;
- uint64_t dreset:1;
- uint64_t dll_bringup:1;
- uint64_t reserved_15_63:49;
- #endif
- } cn63xx;
- struct cvmx_lmcx_dll_ctl2_cn63xx cn63xxp1;
- struct cvmx_lmcx_dll_ctl2_cn63xx cn66xx;
- struct cvmx_lmcx_dll_ctl2_s cn68xx;
- struct cvmx_lmcx_dll_ctl2_s cn68xxp1;
- struct cvmx_lmcx_dll_ctl2_s cnf71xx;
- };
- union cvmx_lmcx_dll_ctl3 {
- uint64_t u64;
- struct cvmx_lmcx_dll_ctl3_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_41_63:23;
- uint64_t dclk90_fwd:1;
- uint64_t ddr_90_dly_byp:1;
- uint64_t dclk90_recal_dis:1;
- uint64_t dclk90_byp_sel:1;
- uint64_t dclk90_byp_setting:8;
- uint64_t dll_fast:1;
- uint64_t dll90_setting:8;
- uint64_t fine_tune_mode:1;
- uint64_t dll_mode:1;
- uint64_t dll90_byte_sel:4;
- uint64_t offset_ena:1;
- uint64_t load_offset:1;
- uint64_t mode_sel:2;
- uint64_t byte_sel:4;
- uint64_t offset:6;
- #else
- uint64_t offset:6;
- uint64_t byte_sel:4;
- uint64_t mode_sel:2;
- uint64_t load_offset:1;
- uint64_t offset_ena:1;
- uint64_t dll90_byte_sel:4;
- uint64_t dll_mode:1;
- uint64_t fine_tune_mode:1;
- uint64_t dll90_setting:8;
- uint64_t dll_fast:1;
- uint64_t dclk90_byp_setting:8;
- uint64_t dclk90_byp_sel:1;
- uint64_t dclk90_recal_dis:1;
- uint64_t ddr_90_dly_byp:1;
- uint64_t dclk90_fwd:1;
- uint64_t reserved_41_63:23;
- #endif
- } s;
- struct cvmx_lmcx_dll_ctl3_s cn61xx;
- struct cvmx_lmcx_dll_ctl3_cn63xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_29_63:35;
- uint64_t dll_fast:1;
- uint64_t dll90_setting:8;
- uint64_t fine_tune_mode:1;
- uint64_t dll_mode:1;
- uint64_t dll90_byte_sel:4;
- uint64_t offset_ena:1;
- uint64_t load_offset:1;
- uint64_t mode_sel:2;
- uint64_t byte_sel:4;
- uint64_t offset:6;
- #else
- uint64_t offset:6;
- uint64_t byte_sel:4;
- uint64_t mode_sel:2;
- uint64_t load_offset:1;
- uint64_t offset_ena:1;
- uint64_t dll90_byte_sel:4;
- uint64_t dll_mode:1;
- uint64_t fine_tune_mode:1;
- uint64_t dll90_setting:8;
- uint64_t dll_fast:1;
- uint64_t reserved_29_63:35;
- #endif
- } cn63xx;
- struct cvmx_lmcx_dll_ctl3_cn63xx cn63xxp1;
- struct cvmx_lmcx_dll_ctl3_cn63xx cn66xx;
- struct cvmx_lmcx_dll_ctl3_s cn68xx;
- struct cvmx_lmcx_dll_ctl3_s cn68xxp1;
- struct cvmx_lmcx_dll_ctl3_s cnf71xx;
- };
- union cvmx_lmcx_dual_memcfg {
- uint64_t u64;
- struct cvmx_lmcx_dual_memcfg_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_20_63:44;
- uint64_t bank8:1;
- uint64_t row_lsb:3;
- uint64_t reserved_8_15:8;
- uint64_t cs_mask:8;
- #else
- uint64_t cs_mask:8;
- uint64_t reserved_8_15:8;
- uint64_t row_lsb:3;
- uint64_t bank8:1;
- uint64_t reserved_20_63:44;
- #endif
- } s;
- struct cvmx_lmcx_dual_memcfg_s cn50xx;
- struct cvmx_lmcx_dual_memcfg_s cn52xx;
- struct cvmx_lmcx_dual_memcfg_s cn52xxp1;
- struct cvmx_lmcx_dual_memcfg_s cn56xx;
- struct cvmx_lmcx_dual_memcfg_s cn56xxp1;
- struct cvmx_lmcx_dual_memcfg_s cn58xx;
- struct cvmx_lmcx_dual_memcfg_s cn58xxp1;
- struct cvmx_lmcx_dual_memcfg_cn61xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_19_63:45;
- uint64_t row_lsb:3;
- uint64_t reserved_8_15:8;
- uint64_t cs_mask:8;
- #else
- uint64_t cs_mask:8;
- uint64_t reserved_8_15:8;
- uint64_t row_lsb:3;
- uint64_t reserved_19_63:45;
- #endif
- } cn61xx;
- struct cvmx_lmcx_dual_memcfg_cn61xx cn63xx;
- struct cvmx_lmcx_dual_memcfg_cn61xx cn63xxp1;
- struct cvmx_lmcx_dual_memcfg_cn61xx cn66xx;
- struct cvmx_lmcx_dual_memcfg_cn61xx cn68xx;
- struct cvmx_lmcx_dual_memcfg_cn61xx cn68xxp1;
- struct cvmx_lmcx_dual_memcfg_cn61xx cnf71xx;
- };
- union cvmx_lmcx_ecc_synd {
- uint64_t u64;
- struct cvmx_lmcx_ecc_synd_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t mrdsyn3:8;
- uint64_t mrdsyn2:8;
- uint64_t mrdsyn1:8;
- uint64_t mrdsyn0:8;
- #else
- uint64_t mrdsyn0:8;
- uint64_t mrdsyn1:8;
- uint64_t mrdsyn2:8;
- uint64_t mrdsyn3:8;
- uint64_t reserved_32_63:32;
- #endif
- } s;
- struct cvmx_lmcx_ecc_synd_s cn30xx;
- struct cvmx_lmcx_ecc_synd_s cn31xx;
- struct cvmx_lmcx_ecc_synd_s cn38xx;
- struct cvmx_lmcx_ecc_synd_s cn38xxp2;
- struct cvmx_lmcx_ecc_synd_s cn50xx;
- struct cvmx_lmcx_ecc_synd_s cn52xx;
- struct cvmx_lmcx_ecc_synd_s cn52xxp1;
- struct cvmx_lmcx_ecc_synd_s cn56xx;
- struct cvmx_lmcx_ecc_synd_s cn56xxp1;
- struct cvmx_lmcx_ecc_synd_s cn58xx;
- struct cvmx_lmcx_ecc_synd_s cn58xxp1;
- struct cvmx_lmcx_ecc_synd_s cn61xx;
- struct cvmx_lmcx_ecc_synd_s cn63xx;
- struct cvmx_lmcx_ecc_synd_s cn63xxp1;
- struct cvmx_lmcx_ecc_synd_s cn66xx;
- struct cvmx_lmcx_ecc_synd_s cn68xx;
- struct cvmx_lmcx_ecc_synd_s cn68xxp1;
- struct cvmx_lmcx_ecc_synd_s cnf71xx;
- };
- union cvmx_lmcx_fadr {
- uint64_t u64;
- struct cvmx_lmcx_fadr_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_0_63:64;
- #else
- uint64_t reserved_0_63:64;
- #endif
- } s;
- struct cvmx_lmcx_fadr_cn30xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t fdimm:2;
- uint64_t fbunk:1;
- uint64_t fbank:3;
- uint64_t frow:14;
- uint64_t fcol:12;
- #else
- uint64_t fcol:12;
- uint64_t frow:14;
- uint64_t fbank:3;
- uint64_t fbunk:1;
- uint64_t fdimm:2;
- uint64_t reserved_32_63:32;
- #endif
- } cn30xx;
- struct cvmx_lmcx_fadr_cn30xx cn31xx;
- struct cvmx_lmcx_fadr_cn30xx cn38xx;
- struct cvmx_lmcx_fadr_cn30xx cn38xxp2;
- struct cvmx_lmcx_fadr_cn30xx cn50xx;
- struct cvmx_lmcx_fadr_cn30xx cn52xx;
- struct cvmx_lmcx_fadr_cn30xx cn52xxp1;
- struct cvmx_lmcx_fadr_cn30xx cn56xx;
- struct cvmx_lmcx_fadr_cn30xx cn56xxp1;
- struct cvmx_lmcx_fadr_cn30xx cn58xx;
- struct cvmx_lmcx_fadr_cn30xx cn58xxp1;
- struct cvmx_lmcx_fadr_cn61xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_36_63:28;
- uint64_t fdimm:2;
- uint64_t fbunk:1;
- uint64_t fbank:3;
- uint64_t frow:16;
- uint64_t fcol:14;
- #else
- uint64_t fcol:14;
- uint64_t frow:16;
- uint64_t fbank:3;
- uint64_t fbunk:1;
- uint64_t fdimm:2;
- uint64_t reserved_36_63:28;
- #endif
- } cn61xx;
- struct cvmx_lmcx_fadr_cn61xx cn63xx;
- struct cvmx_lmcx_fadr_cn61xx cn63xxp1;
- struct cvmx_lmcx_fadr_cn61xx cn66xx;
- struct cvmx_lmcx_fadr_cn61xx cn68xx;
- struct cvmx_lmcx_fadr_cn61xx cn68xxp1;
- struct cvmx_lmcx_fadr_cn61xx cnf71xx;
- };
- union cvmx_lmcx_ifb_cnt {
- uint64_t u64;
- struct cvmx_lmcx_ifb_cnt_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t ifbcnt:64;
- #else
- uint64_t ifbcnt:64;
- #endif
- } s;
- struct cvmx_lmcx_ifb_cnt_s cn61xx;
- struct cvmx_lmcx_ifb_cnt_s cn63xx;
- struct cvmx_lmcx_ifb_cnt_s cn63xxp1;
- struct cvmx_lmcx_ifb_cnt_s cn66xx;
- struct cvmx_lmcx_ifb_cnt_s cn68xx;
- struct cvmx_lmcx_ifb_cnt_s cn68xxp1;
- struct cvmx_lmcx_ifb_cnt_s cnf71xx;
- };
- union cvmx_lmcx_ifb_cnt_hi {
- uint64_t u64;
- struct cvmx_lmcx_ifb_cnt_hi_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t ifbcnt_hi:32;
- #else
- uint64_t ifbcnt_hi:32;
- uint64_t reserved_32_63:32;
- #endif
- } s;
- struct cvmx_lmcx_ifb_cnt_hi_s cn30xx;
- struct cvmx_lmcx_ifb_cnt_hi_s cn31xx;
- struct cvmx_lmcx_ifb_cnt_hi_s cn38xx;
- struct cvmx_lmcx_ifb_cnt_hi_s cn38xxp2;
- struct cvmx_lmcx_ifb_cnt_hi_s cn50xx;
- struct cvmx_lmcx_ifb_cnt_hi_s cn52xx;
- struct cvmx_lmcx_ifb_cnt_hi_s cn52xxp1;
- struct cvmx_lmcx_ifb_cnt_hi_s cn56xx;
- struct cvmx_lmcx_ifb_cnt_hi_s cn56xxp1;
- struct cvmx_lmcx_ifb_cnt_hi_s cn58xx;
- struct cvmx_lmcx_ifb_cnt_hi_s cn58xxp1;
- };
- union cvmx_lmcx_ifb_cnt_lo {
- uint64_t u64;
- struct cvmx_lmcx_ifb_cnt_lo_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t ifbcnt_lo:32;
- #else
- uint64_t ifbcnt_lo:32;
- uint64_t reserved_32_63:32;
- #endif
- } s;
- struct cvmx_lmcx_ifb_cnt_lo_s cn30xx;
- struct cvmx_lmcx_ifb_cnt_lo_s cn31xx;
- struct cvmx_lmcx_ifb_cnt_lo_s cn38xx;
- struct cvmx_lmcx_ifb_cnt_lo_s cn38xxp2;
- struct cvmx_lmcx_ifb_cnt_lo_s cn50xx;
- struct cvmx_lmcx_ifb_cnt_lo_s cn52xx;
- struct cvmx_lmcx_ifb_cnt_lo_s cn52xxp1;
- struct cvmx_lmcx_ifb_cnt_lo_s cn56xx;
- struct cvmx_lmcx_ifb_cnt_lo_s cn56xxp1;
- struct cvmx_lmcx_ifb_cnt_lo_s cn58xx;
- struct cvmx_lmcx_ifb_cnt_lo_s cn58xxp1;
- };
- union cvmx_lmcx_int {
- uint64_t u64;
- struct cvmx_lmcx_int_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_9_63:55;
- uint64_t ded_err:4;
- uint64_t sec_err:4;
- uint64_t nxm_wr_err:1;
- #else
- uint64_t nxm_wr_err:1;
- uint64_t sec_err:4;
- uint64_t ded_err:4;
- uint64_t reserved_9_63:55;
- #endif
- } s;
- struct cvmx_lmcx_int_s cn61xx;
- struct cvmx_lmcx_int_s cn63xx;
- struct cvmx_lmcx_int_s cn63xxp1;
- struct cvmx_lmcx_int_s cn66xx;
- struct cvmx_lmcx_int_s cn68xx;
- struct cvmx_lmcx_int_s cn68xxp1;
- struct cvmx_lmcx_int_s cnf71xx;
- };
- union cvmx_lmcx_int_en {
- uint64_t u64;
- struct cvmx_lmcx_int_en_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_3_63:61;
- uint64_t intr_ded_ena:1;
- uint64_t intr_sec_ena:1;
- uint64_t intr_nxm_wr_ena:1;
- #else
- uint64_t intr_nxm_wr_ena:1;
- uint64_t intr_sec_ena:1;
- uint64_t intr_ded_ena:1;
- uint64_t reserved_3_63:61;
- #endif
- } s;
- struct cvmx_lmcx_int_en_s cn61xx;
- struct cvmx_lmcx_int_en_s cn63xx;
- struct cvmx_lmcx_int_en_s cn63xxp1;
- struct cvmx_lmcx_int_en_s cn66xx;
- struct cvmx_lmcx_int_en_s cn68xx;
- struct cvmx_lmcx_int_en_s cn68xxp1;
- struct cvmx_lmcx_int_en_s cnf71xx;
- };
- union cvmx_lmcx_mem_cfg0 {
- uint64_t u64;
- struct cvmx_lmcx_mem_cfg0_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t reset:1;
- uint64_t silo_qc:1;
- uint64_t bunk_ena:1;
- uint64_t ded_err:4;
- uint64_t sec_err:4;
- uint64_t intr_ded_ena:1;
- uint64_t intr_sec_ena:1;
- uint64_t tcl:4;
- uint64_t ref_int:6;
- uint64_t pbank_lsb:4;
- uint64_t row_lsb:3;
- uint64_t ecc_ena:1;
- uint64_t init_start:1;
- #else
- uint64_t init_start:1;
- uint64_t ecc_ena:1;
- uint64_t row_lsb:3;
- uint64_t pbank_lsb:4;
- uint64_t ref_int:6;
- uint64_t tcl:4;
- uint64_t intr_sec_ena:1;
- uint64_t intr_ded_ena:1;
- uint64_t sec_err:4;
- uint64_t ded_err:4;
- uint64_t bunk_ena:1;
- uint64_t silo_qc:1;
- uint64_t reset:1;
- uint64_t reserved_32_63:32;
- #endif
- } s;
- struct cvmx_lmcx_mem_cfg0_s cn30xx;
- struct cvmx_lmcx_mem_cfg0_s cn31xx;
- struct cvmx_lmcx_mem_cfg0_s cn38xx;
- struct cvmx_lmcx_mem_cfg0_s cn38xxp2;
- struct cvmx_lmcx_mem_cfg0_s cn50xx;
- struct cvmx_lmcx_mem_cfg0_s cn52xx;
- struct cvmx_lmcx_mem_cfg0_s cn52xxp1;
- struct cvmx_lmcx_mem_cfg0_s cn56xx;
- struct cvmx_lmcx_mem_cfg0_s cn56xxp1;
- struct cvmx_lmcx_mem_cfg0_s cn58xx;
- struct cvmx_lmcx_mem_cfg0_s cn58xxp1;
- };
- union cvmx_lmcx_mem_cfg1 {
- uint64_t u64;
- struct cvmx_lmcx_mem_cfg1_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t comp_bypass:1;
- uint64_t trrd:3;
- uint64_t caslat:3;
- uint64_t tmrd:3;
- uint64_t trfc:5;
- uint64_t trp:4;
- uint64_t twtr:4;
- uint64_t trcd:4;
- uint64_t tras:5;
- #else
- uint64_t tras:5;
- uint64_t trcd:4;
- uint64_t twtr:4;
- uint64_t trp:4;
- uint64_t trfc:5;
- uint64_t tmrd:3;
- uint64_t caslat:3;
- uint64_t trrd:3;
- uint64_t comp_bypass:1;
- uint64_t reserved_32_63:32;
- #endif
- } s;
- struct cvmx_lmcx_mem_cfg1_s cn30xx;
- struct cvmx_lmcx_mem_cfg1_s cn31xx;
- struct cvmx_lmcx_mem_cfg1_cn38xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_31_63:33;
- uint64_t trrd:3;
- uint64_t caslat:3;
- uint64_t tmrd:3;
- uint64_t trfc:5;
- uint64_t trp:4;
- uint64_t twtr:4;
- uint64_t trcd:4;
- uint64_t tras:5;
- #else
- uint64_t tras:5;
- uint64_t trcd:4;
- uint64_t twtr:4;
- uint64_t trp:4;
- uint64_t trfc:5;
- uint64_t tmrd:3;
- uint64_t caslat:3;
- uint64_t trrd:3;
- uint64_t reserved_31_63:33;
- #endif
- } cn38xx;
- struct cvmx_lmcx_mem_cfg1_cn38xx cn38xxp2;
- struct cvmx_lmcx_mem_cfg1_s cn50xx;
- struct cvmx_lmcx_mem_cfg1_cn38xx cn52xx;
- struct cvmx_lmcx_mem_cfg1_cn38xx cn52xxp1;
- struct cvmx_lmcx_mem_cfg1_cn38xx cn56xx;
- struct cvmx_lmcx_mem_cfg1_cn38xx cn56xxp1;
- struct cvmx_lmcx_mem_cfg1_cn38xx cn58xx;
- struct cvmx_lmcx_mem_cfg1_cn38xx cn58xxp1;
- };
- union cvmx_lmcx_modereg_params0 {
- uint64_t u64;
- struct cvmx_lmcx_modereg_params0_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_25_63:39;
- uint64_t ppd:1;
- uint64_t wrp:3;
- uint64_t dllr:1;
- uint64_t tm:1;
- uint64_t rbt:1;
- uint64_t cl:4;
- uint64_t bl:2;
- uint64_t qoff:1;
- uint64_t tdqs:1;
- uint64_t wlev:1;
- uint64_t al:2;
- uint64_t dll:1;
- uint64_t mpr:1;
- uint64_t mprloc:2;
- uint64_t cwl:3;
- #else
- uint64_t cwl:3;
- uint64_t mprloc:2;
- uint64_t mpr:1;
- uint64_t dll:1;
- uint64_t al:2;
- uint64_t wlev:1;
- uint64_t tdqs:1;
- uint64_t qoff:1;
- uint64_t bl:2;
- uint64_t cl:4;
- uint64_t rbt:1;
- uint64_t tm:1;
- uint64_t dllr:1;
- uint64_t wrp:3;
- uint64_t ppd:1;
- uint64_t reserved_25_63:39;
- #endif
- } s;
- struct cvmx_lmcx_modereg_params0_s cn61xx;
- struct cvmx_lmcx_modereg_params0_s cn63xx;
- struct cvmx_lmcx_modereg_params0_s cn63xxp1;
- struct cvmx_lmcx_modereg_params0_s cn66xx;
- struct cvmx_lmcx_modereg_params0_s cn68xx;
- struct cvmx_lmcx_modereg_params0_s cn68xxp1;
- struct cvmx_lmcx_modereg_params0_s cnf71xx;
- };
- union cvmx_lmcx_modereg_params1 {
- uint64_t u64;
- struct cvmx_lmcx_modereg_params1_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_48_63:16;
- uint64_t rtt_nom_11:3;
- uint64_t dic_11:2;
- uint64_t rtt_wr_11:2;
- uint64_t srt_11:1;
- uint64_t asr_11:1;
- uint64_t pasr_11:3;
- uint64_t rtt_nom_10:3;
- uint64_t dic_10:2;
- uint64_t rtt_wr_10:2;
- uint64_t srt_10:1;
- uint64_t asr_10:1;
- uint64_t pasr_10:3;
- uint64_t rtt_nom_01:3;
- uint64_t dic_01:2;
- uint64_t rtt_wr_01:2;
- uint64_t srt_01:1;
- uint64_t asr_01:1;
- uint64_t pasr_01:3;
- uint64_t rtt_nom_00:3;
- uint64_t dic_00:2;
- uint64_t rtt_wr_00:2;
- uint64_t srt_00:1;
- uint64_t asr_00:1;
- uint64_t pasr_00:3;
- #else
- uint64_t pasr_00:3;
- uint64_t asr_00:1;
- uint64_t srt_00:1;
- uint64_t rtt_wr_00:2;
- uint64_t dic_00:2;
- uint64_t rtt_nom_00:3;
- uint64_t pasr_01:3;
- uint64_t asr_01:1;
- uint64_t srt_01:1;
- uint64_t rtt_wr_01:2;
- uint64_t dic_01:2;
- uint64_t rtt_nom_01:3;
- uint64_t pasr_10:3;
- uint64_t asr_10:1;
- uint64_t srt_10:1;
- uint64_t rtt_wr_10:2;
- uint64_t dic_10:2;
- uint64_t rtt_nom_10:3;
- uint64_t pasr_11:3;
- uint64_t asr_11:1;
- uint64_t srt_11:1;
- uint64_t rtt_wr_11:2;
- uint64_t dic_11:2;
- uint64_t rtt_nom_11:3;
- uint64_t reserved_48_63:16;
- #endif
- } s;
- struct cvmx_lmcx_modereg_params1_s cn61xx;
- struct cvmx_lmcx_modereg_params1_s cn63xx;
- struct cvmx_lmcx_modereg_params1_s cn63xxp1;
- struct cvmx_lmcx_modereg_params1_s cn66xx;
- struct cvmx_lmcx_modereg_params1_s cn68xx;
- struct cvmx_lmcx_modereg_params1_s cn68xxp1;
- struct cvmx_lmcx_modereg_params1_s cnf71xx;
- };
- union cvmx_lmcx_nxm {
- uint64_t u64;
- struct cvmx_lmcx_nxm_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_40_63:24;
- uint64_t mem_msb_d3_r1:4;
- uint64_t mem_msb_d3_r0:4;
- uint64_t mem_msb_d2_r1:4;
- uint64_t mem_msb_d2_r0:4;
- uint64_t mem_msb_d1_r1:4;
- uint64_t mem_msb_d1_r0:4;
- uint64_t mem_msb_d0_r1:4;
- uint64_t mem_msb_d0_r0:4;
- uint64_t cs_mask:8;
- #else
- uint64_t cs_mask:8;
- uint64_t mem_msb_d0_r0:4;
- uint64_t mem_msb_d0_r1:4;
- uint64_t mem_msb_d1_r0:4;
- uint64_t mem_msb_d1_r1:4;
- uint64_t mem_msb_d2_r0:4;
- uint64_t mem_msb_d2_r1:4;
- uint64_t mem_msb_d3_r0:4;
- uint64_t mem_msb_d3_r1:4;
- uint64_t reserved_40_63:24;
- #endif
- } s;
- struct cvmx_lmcx_nxm_cn52xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_8_63:56;
- uint64_t cs_mask:8;
- #else
- uint64_t cs_mask:8;
- uint64_t reserved_8_63:56;
- #endif
- } cn52xx;
- struct cvmx_lmcx_nxm_cn52xx cn56xx;
- struct cvmx_lmcx_nxm_cn52xx cn58xx;
- struct cvmx_lmcx_nxm_s cn61xx;
- struct cvmx_lmcx_nxm_s cn63xx;
- struct cvmx_lmcx_nxm_s cn63xxp1;
- struct cvmx_lmcx_nxm_s cn66xx;
- struct cvmx_lmcx_nxm_s cn68xx;
- struct cvmx_lmcx_nxm_s cn68xxp1;
- struct cvmx_lmcx_nxm_s cnf71xx;
- };
- union cvmx_lmcx_ops_cnt {
- uint64_t u64;
- struct cvmx_lmcx_ops_cnt_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t opscnt:64;
- #else
- uint64_t opscnt:64;
- #endif
- } s;
- struct cvmx_lmcx_ops_cnt_s cn61xx;
- struct cvmx_lmcx_ops_cnt_s cn63xx;
- struct cvmx_lmcx_ops_cnt_s cn63xxp1;
- struct cvmx_lmcx_ops_cnt_s cn66xx;
- struct cvmx_lmcx_ops_cnt_s cn68xx;
- struct cvmx_lmcx_ops_cnt_s cn68xxp1;
- struct cvmx_lmcx_ops_cnt_s cnf71xx;
- };
- union cvmx_lmcx_ops_cnt_hi {
- uint64_t u64;
- struct cvmx_lmcx_ops_cnt_hi_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t opscnt_hi:32;
- #else
- uint64_t opscnt_hi:32;
- uint64_t reserved_32_63:32;
- #endif
- } s;
- struct cvmx_lmcx_ops_cnt_hi_s cn30xx;
- struct cvmx_lmcx_ops_cnt_hi_s cn31xx;
- struct cvmx_lmcx_ops_cnt_hi_s cn38xx;
- struct cvmx_lmcx_ops_cnt_hi_s cn38xxp2;
- struct cvmx_lmcx_ops_cnt_hi_s cn50xx;
- struct cvmx_lmcx_ops_cnt_hi_s cn52xx;
- struct cvmx_lmcx_ops_cnt_hi_s cn52xxp1;
- struct cvmx_lmcx_ops_cnt_hi_s cn56xx;
- struct cvmx_lmcx_ops_cnt_hi_s cn56xxp1;
- struct cvmx_lmcx_ops_cnt_hi_s cn58xx;
- struct cvmx_lmcx_ops_cnt_hi_s cn58xxp1;
- };
- union cvmx_lmcx_ops_cnt_lo {
- uint64_t u64;
- struct cvmx_lmcx_ops_cnt_lo_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t opscnt_lo:32;
- #else
- uint64_t opscnt_lo:32;
- uint64_t reserved_32_63:32;
- #endif
- } s;
- struct cvmx_lmcx_ops_cnt_lo_s cn30xx;
- struct cvmx_lmcx_ops_cnt_lo_s cn31xx;
- struct cvmx_lmcx_ops_cnt_lo_s cn38xx;
- struct cvmx_lmcx_ops_cnt_lo_s cn38xxp2;
- struct cvmx_lmcx_ops_cnt_lo_s cn50xx;
- struct cvmx_lmcx_ops_cnt_lo_s cn52xx;
- struct cvmx_lmcx_ops_cnt_lo_s cn52xxp1;
- struct cvmx_lmcx_ops_cnt_lo_s cn56xx;
- struct cvmx_lmcx_ops_cnt_lo_s cn56xxp1;
- struct cvmx_lmcx_ops_cnt_lo_s cn58xx;
- struct cvmx_lmcx_ops_cnt_lo_s cn58xxp1;
- };
- union cvmx_lmcx_phy_ctl {
- uint64_t u64;
- struct cvmx_lmcx_phy_ctl_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_15_63:49;
- uint64_t rx_always_on:1;
- uint64_t lv_mode:1;
- uint64_t ck_tune1:1;
- uint64_t ck_dlyout1:4;
- uint64_t ck_tune0:1;
- uint64_t ck_dlyout0:4;
- uint64_t loopback:1;
- uint64_t loopback_pos:1;
- uint64_t ts_stagger:1;
- #else
- uint64_t ts_stagger:1;
- uint64_t loopback_pos:1;
- uint64_t loopback:1;
- uint64_t ck_dlyout0:4;
- uint64_t ck_tune0:1;
- uint64_t ck_dlyout1:4;
- uint64_t ck_tune1:1;
- uint64_t lv_mode:1;
- uint64_t rx_always_on:1;
- uint64_t reserved_15_63:49;
- #endif
- } s;
- struct cvmx_lmcx_phy_ctl_s cn61xx;
- struct cvmx_lmcx_phy_ctl_s cn63xx;
- struct cvmx_lmcx_phy_ctl_cn63xxp1 {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_14_63:50;
- uint64_t lv_mode:1;
- uint64_t ck_tune1:1;
- uint64_t ck_dlyout1:4;
- uint64_t ck_tune0:1;
- uint64_t ck_dlyout0:4;
- uint64_t loopback:1;
- uint64_t loopback_pos:1;
- uint64_t ts_stagger:1;
- #else
- uint64_t ts_stagger:1;
- uint64_t loopback_pos:1;
- uint64_t loopback:1;
- uint64_t ck_dlyout0:4;
- uint64_t ck_tune0:1;
- uint64_t ck_dlyout1:4;
- uint64_t ck_tune1:1;
- uint64_t lv_mode:1;
- uint64_t reserved_14_63:50;
- #endif
- } cn63xxp1;
- struct cvmx_lmcx_phy_ctl_s cn66xx;
- struct cvmx_lmcx_phy_ctl_s cn68xx;
- struct cvmx_lmcx_phy_ctl_s cn68xxp1;
- struct cvmx_lmcx_phy_ctl_s cnf71xx;
- };
- union cvmx_lmcx_pll_bwctl {
- uint64_t u64;
- struct cvmx_lmcx_pll_bwctl_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_5_63:59;
- uint64_t bwupd:1;
- uint64_t bwctl:4;
- #else
- uint64_t bwctl:4;
- uint64_t bwupd:1;
- uint64_t reserved_5_63:59;
- #endif
- } s;
- struct cvmx_lmcx_pll_bwctl_s cn30xx;
- struct cvmx_lmcx_pll_bwctl_s cn31xx;
- struct cvmx_lmcx_pll_bwctl_s cn38xx;
- struct cvmx_lmcx_pll_bwctl_s cn38xxp2;
- };
- union cvmx_lmcx_pll_ctl {
- uint64_t u64;
- struct cvmx_lmcx_pll_ctl_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_30_63:34;
- uint64_t bypass:1;
- uint64_t fasten_n:1;
- uint64_t div_reset:1;
- uint64_t reset_n:1;
- uint64_t clkf:12;
- uint64_t clkr:6;
- uint64_t reserved_6_7:2;
- uint64_t en16:1;
- uint64_t en12:1;
- uint64_t en8:1;
- uint64_t en6:1;
- uint64_t en4:1;
- uint64_t en2:1;
- #else
- uint64_t en2:1;
- uint64_t en4:1;
- uint64_t en6:1;
- uint64_t en8:1;
- uint64_t en12:1;
- uint64_t en16:1;
- uint64_t reserved_6_7:2;
- uint64_t clkr:6;
- uint64_t clkf:12;
- uint64_t reset_n:1;
- uint64_t div_reset:1;
- uint64_t fasten_n:1;
- uint64_t bypass:1;
- uint64_t reserved_30_63:34;
- #endif
- } s;
- struct cvmx_lmcx_pll_ctl_cn50xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_29_63:35;
- uint64_t fasten_n:1;
- uint64_t div_reset:1;
- uint64_t reset_n:1;
- uint64_t clkf:12;
- uint64_t clkr:6;
- uint64_t reserved_6_7:2;
- uint64_t en16:1;
- uint64_t en12:1;
- uint64_t en8:1;
- uint64_t en6:1;
- uint64_t en4:1;
- uint64_t en2:1;
- #else
- uint64_t en2:1;
- uint64_t en4:1;
- uint64_t en6:1;
- uint64_t en8:1;
- uint64_t en12:1;
- uint64_t en16:1;
- uint64_t reserved_6_7:2;
- uint64_t clkr:6;
- uint64_t clkf:12;
- uint64_t reset_n:1;
- uint64_t div_reset:1;
- uint64_t fasten_n:1;
- uint64_t reserved_29_63:35;
- #endif
- } cn50xx;
- struct cvmx_lmcx_pll_ctl_s cn52xx;
- struct cvmx_lmcx_pll_ctl_s cn52xxp1;
- struct cvmx_lmcx_pll_ctl_cn50xx cn56xx;
- struct cvmx_lmcx_pll_ctl_cn56xxp1 {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_28_63:36;
- uint64_t div_reset:1;
- uint64_t reset_n:1;
- uint64_t clkf:12;
- uint64_t clkr:6;
- uint64_t reserved_6_7:2;
- uint64_t en16:1;
- uint64_t en12:1;
- uint64_t en8:1;
- uint64_t en6:1;
- uint64_t en4:1;
- uint64_t en2:1;
- #else
- uint64_t en2:1;
- uint64_t en4:1;
- uint64_t en6:1;
- uint64_t en8:1;
- uint64_t en12:1;
- uint64_t en16:1;
- uint64_t reserved_6_7:2;
- uint64_t clkr:6;
- uint64_t clkf:12;
- uint64_t reset_n:1;
- uint64_t div_reset:1;
- uint64_t reserved_28_63:36;
- #endif
- } cn56xxp1;
- struct cvmx_lmcx_pll_ctl_cn56xxp1 cn58xx;
- struct cvmx_lmcx_pll_ctl_cn56xxp1 cn58xxp1;
- };
- union cvmx_lmcx_pll_status {
- uint64_t u64;
- struct cvmx_lmcx_pll_status_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t ddr__nctl:5;
- uint64_t ddr__pctl:5;
- uint64_t reserved_2_21:20;
- uint64_t rfslip:1;
- uint64_t fbslip:1;
- #else
- uint64_t fbslip:1;
- uint64_t rfslip:1;
- uint64_t reserved_2_21:20;
- uint64_t ddr__pctl:5;
- uint64_t ddr__nctl:5;
- uint64_t reserved_32_63:32;
- #endif
- } s;
- struct cvmx_lmcx_pll_status_s cn50xx;
- struct cvmx_lmcx_pll_status_s cn52xx;
- struct cvmx_lmcx_pll_status_s cn52xxp1;
- struct cvmx_lmcx_pll_status_s cn56xx;
- struct cvmx_lmcx_pll_status_s cn56xxp1;
- struct cvmx_lmcx_pll_status_s cn58xx;
- struct cvmx_lmcx_pll_status_cn58xxp1 {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_2_63:62;
- uint64_t rfslip:1;
- uint64_t fbslip:1;
- #else
- uint64_t fbslip:1;
- uint64_t rfslip:1;
- uint64_t reserved_2_63:62;
- #endif
- } cn58xxp1;
- };
- union cvmx_lmcx_read_level_ctl {
- uint64_t u64;
- struct cvmx_lmcx_read_level_ctl_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_44_63:20;
- uint64_t rankmask:4;
- uint64_t pattern:8;
- uint64_t row:16;
- uint64_t col:12;
- uint64_t reserved_3_3:1;
- uint64_t bnk:3;
- #else
- uint64_t bnk:3;
- uint64_t reserved_3_3:1;
- uint64_t col:12;
- uint64_t row:16;
- uint64_t pattern:8;
- uint64_t rankmask:4;
- uint64_t reserved_44_63:20;
- #endif
- } s;
- struct cvmx_lmcx_read_level_ctl_s cn52xx;
- struct cvmx_lmcx_read_level_ctl_s cn52xxp1;
- struct cvmx_lmcx_read_level_ctl_s cn56xx;
- struct cvmx_lmcx_read_level_ctl_s cn56xxp1;
- };
- union cvmx_lmcx_read_level_dbg {
- uint64_t u64;
- struct cvmx_lmcx_read_level_dbg_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t bitmask:16;
- uint64_t reserved_4_15:12;
- uint64_t byte:4;
- #else
- uint64_t byte:4;
- uint64_t reserved_4_15:12;
- uint64_t bitmask:16;
- uint64_t reserved_32_63:32;
- #endif
- } s;
- struct cvmx_lmcx_read_level_dbg_s cn52xx;
- struct cvmx_lmcx_read_level_dbg_s cn52xxp1;
- struct cvmx_lmcx_read_level_dbg_s cn56xx;
- struct cvmx_lmcx_read_level_dbg_s cn56xxp1;
- };
- union cvmx_lmcx_read_level_rankx {
- uint64_t u64;
- struct cvmx_lmcx_read_level_rankx_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_38_63:26;
- uint64_t status:2;
- uint64_t byte8:4;
- uint64_t byte7:4;
- uint64_t byte6:4;
- uint64_t byte5:4;
- uint64_t byte4:4;
- uint64_t byte3:4;
- uint64_t byte2:4;
- uint64_t byte1:4;
- uint64_t byte0:4;
- #else
- uint64_t byte0:4;
- uint64_t byte1:4;
- uint64_t byte2:4;
- uint64_t byte3:4;
- uint64_t byte4:4;
- uint64_t byte5:4;
- uint64_t byte6:4;
- uint64_t byte7:4;
- uint64_t byte8:4;
- uint64_t status:2;
- uint64_t reserved_38_63:26;
- #endif
- } s;
- struct cvmx_lmcx_read_level_rankx_s cn52xx;
- struct cvmx_lmcx_read_level_rankx_s cn52xxp1;
- struct cvmx_lmcx_read_level_rankx_s cn56xx;
- struct cvmx_lmcx_read_level_rankx_s cn56xxp1;
- };
- union cvmx_lmcx_reset_ctl {
- uint64_t u64;
- struct cvmx_lmcx_reset_ctl_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_4_63:60;
- uint64_t ddr3psv:1;
- uint64_t ddr3psoft:1;
- uint64_t ddr3pwarm:1;
- uint64_t ddr3rst:1;
- #else
- uint64_t ddr3rst:1;
- uint64_t ddr3pwarm:1;
- uint64_t ddr3psoft:1;
- uint64_t ddr3psv:1;
- uint64_t reserved_4_63:60;
- #endif
- } s;
- struct cvmx_lmcx_reset_ctl_s cn61xx;
- struct cvmx_lmcx_reset_ctl_s cn63xx;
- struct cvmx_lmcx_reset_ctl_s cn63xxp1;
- struct cvmx_lmcx_reset_ctl_s cn66xx;
- struct cvmx_lmcx_reset_ctl_s cn68xx;
- struct cvmx_lmcx_reset_ctl_s cn68xxp1;
- struct cvmx_lmcx_reset_ctl_s cnf71xx;
- };
- union cvmx_lmcx_rlevel_ctl {
- uint64_t u64;
- struct cvmx_lmcx_rlevel_ctl_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_22_63:42;
- uint64_t delay_unload_3:1;
- uint64_t delay_unload_2:1;
- uint64_t delay_unload_1:1;
- uint64_t delay_unload_0:1;
- uint64_t bitmask:8;
- uint64_t or_dis:1;
- uint64_t offset_en:1;
- uint64_t offset:4;
- uint64_t byte:4;
- #else
- uint64_t byte:4;
- uint64_t offset:4;
- uint64_t offset_en:1;
- uint64_t or_dis:1;
- uint64_t bitmask:8;
- uint64_t delay_unload_0:1;
- uint64_t delay_unload_1:1;
- uint64_t delay_unload_2:1;
- uint64_t delay_unload_3:1;
- uint64_t reserved_22_63:42;
- #endif
- } s;
- struct cvmx_lmcx_rlevel_ctl_s cn61xx;
- struct cvmx_lmcx_rlevel_ctl_s cn63xx;
- struct cvmx_lmcx_rlevel_ctl_cn63xxp1 {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_9_63:55;
- uint64_t offset_en:1;
- uint64_t offset:4;
- uint64_t byte:4;
- #else
- uint64_t byte:4;
- uint64_t offset:4;
- uint64_t offset_en:1;
- uint64_t reserved_9_63:55;
- #endif
- } cn63xxp1;
- struct cvmx_lmcx_rlevel_ctl_s cn66xx;
- struct cvmx_lmcx_rlevel_ctl_s cn68xx;
- struct cvmx_lmcx_rlevel_ctl_s cn68xxp1;
- struct cvmx_lmcx_rlevel_ctl_s cnf71xx;
- };
- union cvmx_lmcx_rlevel_dbg {
- uint64_t u64;
- struct cvmx_lmcx_rlevel_dbg_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t bitmask:64;
- #else
- uint64_t bitmask:64;
- #endif
- } s;
- struct cvmx_lmcx_rlevel_dbg_s cn61xx;
- struct cvmx_lmcx_rlevel_dbg_s cn63xx;
- struct cvmx_lmcx_rlevel_dbg_s cn63xxp1;
- struct cvmx_lmcx_rlevel_dbg_s cn66xx;
- struct cvmx_lmcx_rlevel_dbg_s cn68xx;
- struct cvmx_lmcx_rlevel_dbg_s cn68xxp1;
- struct cvmx_lmcx_rlevel_dbg_s cnf71xx;
- };
- union cvmx_lmcx_rlevel_rankx {
- uint64_t u64;
- struct cvmx_lmcx_rlevel_rankx_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_56_63:8;
- uint64_t status:2;
- uint64_t byte8:6;
- uint64_t byte7:6;
- uint64_t byte6:6;
- uint64_t byte5:6;
- uint64_t byte4:6;
- uint64_t byte3:6;
- uint64_t byte2:6;
- uint64_t byte1:6;
- uint64_t byte0:6;
- #else
- uint64_t byte0:6;
- uint64_t byte1:6;
- uint64_t byte2:6;
- uint64_t byte3:6;
- uint64_t byte4:6;
- uint64_t byte5:6;
- uint64_t byte6:6;
- uint64_t byte7:6;
- uint64_t byte8:6;
- uint64_t status:2;
- uint64_t reserved_56_63:8;
- #endif
- } s;
- struct cvmx_lmcx_rlevel_rankx_s cn61xx;
- struct cvmx_lmcx_rlevel_rankx_s cn63xx;
- struct cvmx_lmcx_rlevel_rankx_s cn63xxp1;
- struct cvmx_lmcx_rlevel_rankx_s cn66xx;
- struct cvmx_lmcx_rlevel_rankx_s cn68xx;
- struct cvmx_lmcx_rlevel_rankx_s cn68xxp1;
- struct cvmx_lmcx_rlevel_rankx_s cnf71xx;
- };
- union cvmx_lmcx_rodt_comp_ctl {
- uint64_t u64;
- struct cvmx_lmcx_rodt_comp_ctl_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_17_63:47;
- uint64_t enable:1;
- uint64_t reserved_12_15:4;
- uint64_t nctl:4;
- uint64_t reserved_5_7:3;
- uint64_t pctl:5;
- #else
- uint64_t pctl:5;
- uint64_t reserved_5_7:3;
- uint64_t nctl:4;
- uint64_t reserved_12_15:4;
- uint64_t enable:1;
- uint64_t reserved_17_63:47;
- #endif
- } s;
- struct cvmx_lmcx_rodt_comp_ctl_s cn50xx;
- struct cvmx_lmcx_rodt_comp_ctl_s cn52xx;
- struct cvmx_lmcx_rodt_comp_ctl_s cn52xxp1;
- struct cvmx_lmcx_rodt_comp_ctl_s cn56xx;
- struct cvmx_lmcx_rodt_comp_ctl_s cn56xxp1;
- struct cvmx_lmcx_rodt_comp_ctl_s cn58xx;
- struct cvmx_lmcx_rodt_comp_ctl_s cn58xxp1;
- };
- union cvmx_lmcx_rodt_ctl {
- uint64_t u64;
- struct cvmx_lmcx_rodt_ctl_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t rodt_hi3:4;
- uint64_t rodt_hi2:4;
- uint64_t rodt_hi1:4;
- uint64_t rodt_hi0:4;
- uint64_t rodt_lo3:4;
- uint64_t rodt_lo2:4;
- uint64_t rodt_lo1:4;
- uint64_t rodt_lo0:4;
- #else
- uint64_t rodt_lo0:4;
- uint64_t rodt_lo1:4;
- uint64_t rodt_lo2:4;
- uint64_t rodt_lo3:4;
- uint64_t rodt_hi0:4;
- uint64_t rodt_hi1:4;
- uint64_t rodt_hi2:4;
- uint64_t rodt_hi3:4;
- uint64_t reserved_32_63:32;
- #endif
- } s;
- struct cvmx_lmcx_rodt_ctl_s cn30xx;
- struct cvmx_lmcx_rodt_ctl_s cn31xx;
- struct cvmx_lmcx_rodt_ctl_s cn38xx;
- struct cvmx_lmcx_rodt_ctl_s cn38xxp2;
- struct cvmx_lmcx_rodt_ctl_s cn50xx;
- struct cvmx_lmcx_rodt_ctl_s cn52xx;
- struct cvmx_lmcx_rodt_ctl_s cn52xxp1;
- struct cvmx_lmcx_rodt_ctl_s cn56xx;
- struct cvmx_lmcx_rodt_ctl_s cn56xxp1;
- struct cvmx_lmcx_rodt_ctl_s cn58xx;
- struct cvmx_lmcx_rodt_ctl_s cn58xxp1;
- };
- union cvmx_lmcx_rodt_mask {
- uint64_t u64;
- struct cvmx_lmcx_rodt_mask_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t rodt_d3_r1:8;
- uint64_t rodt_d3_r0:8;
- uint64_t rodt_d2_r1:8;
- uint64_t rodt_d2_r0:8;
- uint64_t rodt_d1_r1:8;
- uint64_t rodt_d1_r0:8;
- uint64_t rodt_d0_r1:8;
- uint64_t rodt_d0_r0:8;
- #else
- uint64_t rodt_d0_r0:8;
- uint64_t rodt_d0_r1:8;
- uint64_t rodt_d1_r0:8;
- uint64_t rodt_d1_r1:8;
- uint64_t rodt_d2_r0:8;
- uint64_t rodt_d2_r1:8;
- uint64_t rodt_d3_r0:8;
- uint64_t rodt_d3_r1:8;
- #endif
- } s;
- struct cvmx_lmcx_rodt_mask_s cn61xx;
- struct cvmx_lmcx_rodt_mask_s cn63xx;
- struct cvmx_lmcx_rodt_mask_s cn63xxp1;
- struct cvmx_lmcx_rodt_mask_s cn66xx;
- struct cvmx_lmcx_rodt_mask_s cn68xx;
- struct cvmx_lmcx_rodt_mask_s cn68xxp1;
- struct cvmx_lmcx_rodt_mask_s cnf71xx;
- };
- union cvmx_lmcx_scramble_cfg0 {
- uint64_t u64;
- struct cvmx_lmcx_scramble_cfg0_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t key:64;
- #else
- uint64_t key:64;
- #endif
- } s;
- struct cvmx_lmcx_scramble_cfg0_s cn61xx;
- struct cvmx_lmcx_scramble_cfg0_s cn66xx;
- struct cvmx_lmcx_scramble_cfg0_s cnf71xx;
- };
- union cvmx_lmcx_scramble_cfg1 {
- uint64_t u64;
- struct cvmx_lmcx_scramble_cfg1_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t key:64;
- #else
- uint64_t key:64;
- #endif
- } s;
- struct cvmx_lmcx_scramble_cfg1_s cn61xx;
- struct cvmx_lmcx_scramble_cfg1_s cn66xx;
- struct cvmx_lmcx_scramble_cfg1_s cnf71xx;
- };
- union cvmx_lmcx_scrambled_fadr {
- uint64_t u64;
- struct cvmx_lmcx_scrambled_fadr_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_36_63:28;
- uint64_t fdimm:2;
- uint64_t fbunk:1;
- uint64_t fbank:3;
- uint64_t frow:16;
- uint64_t fcol:14;
- #else
- uint64_t fcol:14;
- uint64_t frow:16;
- uint64_t fbank:3;
- uint64_t fbunk:1;
- uint64_t fdimm:2;
- uint64_t reserved_36_63:28;
- #endif
- } s;
- struct cvmx_lmcx_scrambled_fadr_s cn61xx;
- struct cvmx_lmcx_scrambled_fadr_s cn66xx;
- struct cvmx_lmcx_scrambled_fadr_s cnf71xx;
- };
- union cvmx_lmcx_slot_ctl0 {
- uint64_t u64;
- struct cvmx_lmcx_slot_ctl0_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_24_63:40;
- uint64_t w2w_init:6;
- uint64_t w2r_init:6;
- uint64_t r2w_init:6;
- uint64_t r2r_init:6;
- #else
- uint64_t r2r_init:6;
- uint64_t r2w_init:6;
- uint64_t w2r_init:6;
- uint64_t w2w_init:6;
- uint64_t reserved_24_63:40;
- #endif
- } s;
- struct cvmx_lmcx_slot_ctl0_s cn61xx;
- struct cvmx_lmcx_slot_ctl0_s cn63xx;
- struct cvmx_lmcx_slot_ctl0_s cn63xxp1;
- struct cvmx_lmcx_slot_ctl0_s cn66xx;
- struct cvmx_lmcx_slot_ctl0_s cn68xx;
- struct cvmx_lmcx_slot_ctl0_s cn68xxp1;
- struct cvmx_lmcx_slot_ctl0_s cnf71xx;
- };
- union cvmx_lmcx_slot_ctl1 {
- uint64_t u64;
- struct cvmx_lmcx_slot_ctl1_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_24_63:40;
- uint64_t w2w_xrank_init:6;
- uint64_t w2r_xrank_init:6;
- uint64_t r2w_xrank_init:6;
- uint64_t r2r_xrank_init:6;
- #else
- uint64_t r2r_xrank_init:6;
- uint64_t r2w_xrank_init:6;
- uint64_t w2r_xrank_init:6;
- uint64_t w2w_xrank_init:6;
- uint64_t reserved_24_63:40;
- #endif
- } s;
- struct cvmx_lmcx_slot_ctl1_s cn61xx;
- struct cvmx_lmcx_slot_ctl1_s cn63xx;
- struct cvmx_lmcx_slot_ctl1_s cn63xxp1;
- struct cvmx_lmcx_slot_ctl1_s cn66xx;
- struct cvmx_lmcx_slot_ctl1_s cn68xx;
- struct cvmx_lmcx_slot_ctl1_s cn68xxp1;
- struct cvmx_lmcx_slot_ctl1_s cnf71xx;
- };
- union cvmx_lmcx_slot_ctl2 {
- uint64_t u64;
- struct cvmx_lmcx_slot_ctl2_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_24_63:40;
- uint64_t w2w_xdimm_init:6;
- uint64_t w2r_xdimm_init:6;
- uint64_t r2w_xdimm_init:6;
- uint64_t r2r_xdimm_init:6;
- #else
- uint64_t r2r_xdimm_init:6;
- uint64_t r2w_xdimm_init:6;
- uint64_t w2r_xdimm_init:6;
- uint64_t w2w_xdimm_init:6;
- uint64_t reserved_24_63:40;
- #endif
- } s;
- struct cvmx_lmcx_slot_ctl2_s cn61xx;
- struct cvmx_lmcx_slot_ctl2_s cn63xx;
- struct cvmx_lmcx_slot_ctl2_s cn63xxp1;
- struct cvmx_lmcx_slot_ctl2_s cn66xx;
- struct cvmx_lmcx_slot_ctl2_s cn68xx;
- struct cvmx_lmcx_slot_ctl2_s cn68xxp1;
- struct cvmx_lmcx_slot_ctl2_s cnf71xx;
- };
- union cvmx_lmcx_timing_params0 {
- uint64_t u64;
- struct cvmx_lmcx_timing_params0_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_47_63:17;
- uint64_t trp_ext:1;
- uint64_t tcksre:4;
- uint64_t trp:4;
- uint64_t tzqinit:4;
- uint64_t tdllk:4;
- uint64_t tmod:4;
- uint64_t tmrd:4;
- uint64_t txpr:4;
- uint64_t tcke:4;
- uint64_t tzqcs:4;
- uint64_t tckeon:10;
- #else
- uint64_t tckeon:10;
- uint64_t tzqcs:4;
- uint64_t tcke:4;
- uint64_t txpr:4;
- uint64_t tmrd:4;
- uint64_t tmod:4;
- uint64_t tdllk:4;
- uint64_t tzqinit:4;
- uint64_t trp:4;
- uint64_t tcksre:4;
- uint64_t trp_ext:1;
- uint64_t reserved_47_63:17;
- #endif
- } s;
- struct cvmx_lmcx_timing_params0_cn61xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_47_63:17;
- uint64_t trp_ext:1;
- uint64_t tcksre:4;
- uint64_t trp:4;
- uint64_t tzqinit:4;
- uint64_t tdllk:4;
- uint64_t tmod:4;
- uint64_t tmrd:4;
- uint64_t txpr:4;
- uint64_t tcke:4;
- uint64_t tzqcs:4;
- uint64_t reserved_0_9:10;
- #else
- uint64_t reserved_0_9:10;
- uint64_t tzqcs:4;
- uint64_t tcke:4;
- uint64_t txpr:4;
- uint64_t tmrd:4;
- uint64_t tmod:4;
- uint64_t tdllk:4;
- uint64_t tzqinit:4;
- uint64_t trp:4;
- uint64_t tcksre:4;
- uint64_t trp_ext:1;
- uint64_t reserved_47_63:17;
- #endif
- } cn61xx;
- struct cvmx_lmcx_timing_params0_cn61xx cn63xx;
- struct cvmx_lmcx_timing_params0_cn63xxp1 {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_46_63:18;
- uint64_t tcksre:4;
- uint64_t trp:4;
- uint64_t tzqinit:4;
- uint64_t tdllk:4;
- uint64_t tmod:4;
- uint64_t tmrd:4;
- uint64_t txpr:4;
- uint64_t tcke:4;
- uint64_t tzqcs:4;
- uint64_t tckeon:10;
- #else
- uint64_t tckeon:10;
- uint64_t tzqcs:4;
- uint64_t tcke:4;
- uint64_t txpr:4;
- uint64_t tmrd:4;
- uint64_t tmod:4;
- uint64_t tdllk:4;
- uint64_t tzqinit:4;
- uint64_t trp:4;
- uint64_t tcksre:4;
- uint64_t reserved_46_63:18;
- #endif
- } cn63xxp1;
- struct cvmx_lmcx_timing_params0_cn61xx cn66xx;
- struct cvmx_lmcx_timing_params0_cn61xx cn68xx;
- struct cvmx_lmcx_timing_params0_cn61xx cn68xxp1;
- struct cvmx_lmcx_timing_params0_cn61xx cnf71xx;
- };
- union cvmx_lmcx_timing_params1 {
- uint64_t u64;
- struct cvmx_lmcx_timing_params1_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_47_63:17;
- uint64_t tras_ext:1;
- uint64_t txpdll:5;
- uint64_t tfaw:5;
- uint64_t twldqsen:4;
- uint64_t twlmrd:4;
- uint64_t txp:3;
- uint64_t trrd:3;
- uint64_t trfc:5;
- uint64_t twtr:4;
- uint64_t trcd:4;
- uint64_t tras:5;
- uint64_t tmprr:4;
- #else
- uint64_t tmprr:4;
- uint64_t tras:5;
- uint64_t trcd:4;
- uint64_t twtr:4;
- uint64_t trfc:5;
- uint64_t trrd:3;
- uint64_t txp:3;
- uint64_t twlmrd:4;
- uint64_t twldqsen:4;
- uint64_t tfaw:5;
- uint64_t txpdll:5;
- uint64_t tras_ext:1;
- uint64_t reserved_47_63:17;
- #endif
- } s;
- struct cvmx_lmcx_timing_params1_s cn61xx;
- struct cvmx_lmcx_timing_params1_s cn63xx;
- struct cvmx_lmcx_timing_params1_cn63xxp1 {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_46_63:18;
- uint64_t txpdll:5;
- uint64_t tfaw:5;
- uint64_t twldqsen:4;
- uint64_t twlmrd:4;
- uint64_t txp:3;
- uint64_t trrd:3;
- uint64_t trfc:5;
- uint64_t twtr:4;
- uint64_t trcd:4;
- uint64_t tras:5;
- uint64_t tmprr:4;
- #else
- uint64_t tmprr:4;
- uint64_t tras:5;
- uint64_t trcd:4;
- uint64_t twtr:4;
- uint64_t trfc:5;
- uint64_t trrd:3;
- uint64_t txp:3;
- uint64_t twlmrd:4;
- uint64_t twldqsen:4;
- uint64_t tfaw:5;
- uint64_t txpdll:5;
- uint64_t reserved_46_63:18;
- #endif
- } cn63xxp1;
- struct cvmx_lmcx_timing_params1_s cn66xx;
- struct cvmx_lmcx_timing_params1_s cn68xx;
- struct cvmx_lmcx_timing_params1_s cn68xxp1;
- struct cvmx_lmcx_timing_params1_s cnf71xx;
- };
- union cvmx_lmcx_tro_ctl {
- uint64_t u64;
- struct cvmx_lmcx_tro_ctl_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_33_63:31;
- uint64_t rclk_cnt:32;
- uint64_t treset:1;
- #else
- uint64_t treset:1;
- uint64_t rclk_cnt:32;
- uint64_t reserved_33_63:31;
- #endif
- } s;
- struct cvmx_lmcx_tro_ctl_s cn61xx;
- struct cvmx_lmcx_tro_ctl_s cn63xx;
- struct cvmx_lmcx_tro_ctl_s cn63xxp1;
- struct cvmx_lmcx_tro_ctl_s cn66xx;
- struct cvmx_lmcx_tro_ctl_s cn68xx;
- struct cvmx_lmcx_tro_ctl_s cn68xxp1;
- struct cvmx_lmcx_tro_ctl_s cnf71xx;
- };
- union cvmx_lmcx_tro_stat {
- uint64_t u64;
- struct cvmx_lmcx_tro_stat_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t ring_cnt:32;
- #else
- uint64_t ring_cnt:32;
- uint64_t reserved_32_63:32;
- #endif
- } s;
- struct cvmx_lmcx_tro_stat_s cn61xx;
- struct cvmx_lmcx_tro_stat_s cn63xx;
- struct cvmx_lmcx_tro_stat_s cn63xxp1;
- struct cvmx_lmcx_tro_stat_s cn66xx;
- struct cvmx_lmcx_tro_stat_s cn68xx;
- struct cvmx_lmcx_tro_stat_s cn68xxp1;
- struct cvmx_lmcx_tro_stat_s cnf71xx;
- };
- union cvmx_lmcx_wlevel_ctl {
- uint64_t u64;
- struct cvmx_lmcx_wlevel_ctl_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_22_63:42;
- uint64_t rtt_nom:3;
- uint64_t bitmask:8;
- uint64_t or_dis:1;
- uint64_t sset:1;
- uint64_t lanemask:9;
- #else
- uint64_t lanemask:9;
- uint64_t sset:1;
- uint64_t or_dis:1;
- uint64_t bitmask:8;
- uint64_t rtt_nom:3;
- uint64_t reserved_22_63:42;
- #endif
- } s;
- struct cvmx_lmcx_wlevel_ctl_s cn61xx;
- struct cvmx_lmcx_wlevel_ctl_s cn63xx;
- struct cvmx_lmcx_wlevel_ctl_cn63xxp1 {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_10_63:54;
- uint64_t sset:1;
- uint64_t lanemask:9;
- #else
- uint64_t lanemask:9;
- uint64_t sset:1;
- uint64_t reserved_10_63:54;
- #endif
- } cn63xxp1;
- struct cvmx_lmcx_wlevel_ctl_s cn66xx;
- struct cvmx_lmcx_wlevel_ctl_s cn68xx;
- struct cvmx_lmcx_wlevel_ctl_s cn68xxp1;
- struct cvmx_lmcx_wlevel_ctl_s cnf71xx;
- };
- union cvmx_lmcx_wlevel_dbg {
- uint64_t u64;
- struct cvmx_lmcx_wlevel_dbg_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_12_63:52;
- uint64_t bitmask:8;
- uint64_t byte:4;
- #else
- uint64_t byte:4;
- uint64_t bitmask:8;
- uint64_t reserved_12_63:52;
- #endif
- } s;
- struct cvmx_lmcx_wlevel_dbg_s cn61xx;
- struct cvmx_lmcx_wlevel_dbg_s cn63xx;
- struct cvmx_lmcx_wlevel_dbg_s cn63xxp1;
- struct cvmx_lmcx_wlevel_dbg_s cn66xx;
- struct cvmx_lmcx_wlevel_dbg_s cn68xx;
- struct cvmx_lmcx_wlevel_dbg_s cn68xxp1;
- struct cvmx_lmcx_wlevel_dbg_s cnf71xx;
- };
- union cvmx_lmcx_wlevel_rankx {
- uint64_t u64;
- struct cvmx_lmcx_wlevel_rankx_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_47_63:17;
- uint64_t status:2;
- uint64_t byte8:5;
- uint64_t byte7:5;
- uint64_t byte6:5;
- uint64_t byte5:5;
- uint64_t byte4:5;
- uint64_t byte3:5;
- uint64_t byte2:5;
- uint64_t byte1:5;
- uint64_t byte0:5;
- #else
- uint64_t byte0:5;
- uint64_t byte1:5;
- uint64_t byte2:5;
- uint64_t byte3:5;
- uint64_t byte4:5;
- uint64_t byte5:5;
- uint64_t byte6:5;
- uint64_t byte7:5;
- uint64_t byte8:5;
- uint64_t status:2;
- uint64_t reserved_47_63:17;
- #endif
- } s;
- struct cvmx_lmcx_wlevel_rankx_s cn61xx;
- struct cvmx_lmcx_wlevel_rankx_s cn63xx;
- struct cvmx_lmcx_wlevel_rankx_s cn63xxp1;
- struct cvmx_lmcx_wlevel_rankx_s cn66xx;
- struct cvmx_lmcx_wlevel_rankx_s cn68xx;
- struct cvmx_lmcx_wlevel_rankx_s cn68xxp1;
- struct cvmx_lmcx_wlevel_rankx_s cnf71xx;
- };
- union cvmx_lmcx_wodt_ctl0 {
- uint64_t u64;
- struct cvmx_lmcx_wodt_ctl0_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_0_63:64;
- #else
- uint64_t reserved_0_63:64;
- #endif
- } s;
- struct cvmx_lmcx_wodt_ctl0_cn30xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t wodt_d1_r1:8;
- uint64_t wodt_d1_r0:8;
- uint64_t wodt_d0_r1:8;
- uint64_t wodt_d0_r0:8;
- #else
- uint64_t wodt_d0_r0:8;
- uint64_t wodt_d0_r1:8;
- uint64_t wodt_d1_r0:8;
- uint64_t wodt_d1_r1:8;
- uint64_t reserved_32_63:32;
- #endif
- } cn30xx;
- struct cvmx_lmcx_wodt_ctl0_cn30xx cn31xx;
- struct cvmx_lmcx_wodt_ctl0_cn38xx {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t wodt_hi3:4;
- uint64_t wodt_hi2:4;
- uint64_t wodt_hi1:4;
- uint64_t wodt_hi0:4;
- uint64_t wodt_lo3:4;
- uint64_t wodt_lo2:4;
- uint64_t wodt_lo1:4;
- uint64_t wodt_lo0:4;
- #else
- uint64_t wodt_lo0:4;
- uint64_t wodt_lo1:4;
- uint64_t wodt_lo2:4;
- uint64_t wodt_lo3:4;
- uint64_t wodt_hi0:4;
- uint64_t wodt_hi1:4;
- uint64_t wodt_hi2:4;
- uint64_t wodt_hi3:4;
- uint64_t reserved_32_63:32;
- #endif
- } cn38xx;
- struct cvmx_lmcx_wodt_ctl0_cn38xx cn38xxp2;
- struct cvmx_lmcx_wodt_ctl0_cn38xx cn50xx;
- struct cvmx_lmcx_wodt_ctl0_cn30xx cn52xx;
- struct cvmx_lmcx_wodt_ctl0_cn30xx cn52xxp1;
- struct cvmx_lmcx_wodt_ctl0_cn30xx cn56xx;
- struct cvmx_lmcx_wodt_ctl0_cn30xx cn56xxp1;
- struct cvmx_lmcx_wodt_ctl0_cn38xx cn58xx;
- struct cvmx_lmcx_wodt_ctl0_cn38xx cn58xxp1;
- };
- union cvmx_lmcx_wodt_ctl1 {
- uint64_t u64;
- struct cvmx_lmcx_wodt_ctl1_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t reserved_32_63:32;
- uint64_t wodt_d3_r1:8;
- uint64_t wodt_d3_r0:8;
- uint64_t wodt_d2_r1:8;
- uint64_t wodt_d2_r0:8;
- #else
- uint64_t wodt_d2_r0:8;
- uint64_t wodt_d2_r1:8;
- uint64_t wodt_d3_r0:8;
- uint64_t wodt_d3_r1:8;
- uint64_t reserved_32_63:32;
- #endif
- } s;
- struct cvmx_lmcx_wodt_ctl1_s cn30xx;
- struct cvmx_lmcx_wodt_ctl1_s cn31xx;
- struct cvmx_lmcx_wodt_ctl1_s cn52xx;
- struct cvmx_lmcx_wodt_ctl1_s cn52xxp1;
- struct cvmx_lmcx_wodt_ctl1_s cn56xx;
- struct cvmx_lmcx_wodt_ctl1_s cn56xxp1;
- };
- union cvmx_lmcx_wodt_mask {
- uint64_t u64;
- struct cvmx_lmcx_wodt_mask_s {
- #ifdef __BIG_ENDIAN_BITFIELD
- uint64_t wodt_d3_r1:8;
- uint64_t wodt_d3_r0:8;
- uint64_t wodt_d2_r1:8;
- uint64_t wodt_d2_r0:8;
- uint64_t wodt_d1_r1:8;
- uint64_t wodt_d1_r0:8;
- uint64_t wodt_d0_r1:8;
- uint64_t wodt_d0_r0:8;
- #else
- uint64_t wodt_d0_r0:8;
- uint64_t wodt_d0_r1:8;
- uint64_t wodt_d1_r0:8;
- uint64_t wodt_d1_r1:8;
- uint64_t wodt_d2_r0:8;
- uint64_t wodt_d2_r1:8;
- uint64_t wodt_d3_r0:8;
- uint64_t wodt_d3_r1:8;
- #endif
- } s;
- struct cvmx_lmcx_wodt_mask_s cn61xx;
- struct cvmx_lmcx_wodt_mask_s cn63xx;
- struct cvmx_lmcx_wodt_mask_s cn63xxp1;
- struct cvmx_lmcx_wodt_mask_s cn66xx;
- struct cvmx_lmcx_wodt_mask_s cn68xx;
- struct cvmx_lmcx_wodt_mask_s cn68xxp1;
- struct cvmx_lmcx_wodt_mask_s cnf71xx;
- };
- #endif
|