reg.h 186 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311
  1. /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
  2. /* Copyright(c) 2019-2020 Realtek Corporation
  3. */
  4. #ifndef __RTW89_REG_H__
  5. #define __RTW89_REG_H__
  6. #define R_AX_SYS_WL_EFUSE_CTRL 0x000A
  7. #define B_AX_AUTOLOAD_SUS BIT(5)
  8. #define R_AX_SYS_ISO_CTRL 0x0000
  9. #define B_AX_PWC_EV2EF_MASK GENMASK(15, 14)
  10. #define B_AX_PWC_EV2EF_B15 BIT(15)
  11. #define B_AX_PWC_EV2EF_B14 BIT(14)
  12. #define B_AX_ISO_EB2CORE BIT(8)
  13. #define R_AX_SYS_FUNC_EN 0x0002
  14. #define B_AX_FEN_BB_GLB_RSTN BIT(1)
  15. #define B_AX_FEN_BBRSTB BIT(0)
  16. #define R_AX_SYS_PW_CTRL 0x0004
  17. #define B_AX_SOP_ASWRM BIT(31)
  18. #define B_AX_SOP_PWMM_DSWR BIT(29)
  19. #define B_AX_XTAL_OFF_A_DIE BIT(22)
  20. #define B_AX_DIS_WLBT_PDNSUSEN_SOPC BIT(18)
  21. #define B_AX_RDY_SYSPWR BIT(17)
  22. #define B_AX_EN_WLON BIT(16)
  23. #define B_AX_APDM_HPDN BIT(15)
  24. #define B_AX_PSUS_OFF_CAPC_EN BIT(14)
  25. #define B_AX_AFSM_PCIE_SUS_EN BIT(12)
  26. #define B_AX_AFSM_WLSUS_EN BIT(11)
  27. #define B_AX_APFM_SWLPS BIT(10)
  28. #define B_AX_APFM_OFFMAC BIT(9)
  29. #define B_AX_APFN_ONMAC BIT(8)
  30. #define R_AX_SYS_CLK_CTRL 0x0008
  31. #define B_AX_CPU_CLK_EN BIT(14)
  32. #define R_AX_SYS_SWR_CTRL1 0x0010
  33. #define B_AX_SYM_CTRL_SPS_PWMFREQ BIT(10)
  34. #define R_AX_SYS_ADIE_PAD_PWR_CTRL 0x0018
  35. #define B_AX_SYM_PADPDN_WL_PTA_1P3 BIT(6)
  36. #define B_AX_SYM_PADPDN_WL_RFC_1P3 BIT(5)
  37. #define R_AX_RSV_CTRL 0x001C
  38. #define B_AX_R_DIS_PRST BIT(6)
  39. #define B_AX_WLOCK_1C_BIT6 BIT(5)
  40. #define R_AX_AFE_LDO_CTRL 0x0020
  41. #define B_AX_AON_OFF_PC_EN BIT(23)
  42. #define R_AX_EFUSE_CTRL_1 0x0038
  43. #define B_AX_EF_PGPD_MASK GENMASK(30, 28)
  44. #define B_AX_EF_RDT BIT(27)
  45. #define B_AX_EF_VDDQST_MASK GENMASK(26, 24)
  46. #define B_AX_EF_PGTS_MASK GENMASK(23, 20)
  47. #define B_AX_EF_PD_DIS BIT(11)
  48. #define B_AX_EF_POR BIT(10)
  49. #define B_AX_EF_CELL_SEL_MASK GENMASK(9, 8)
  50. #define R_AX_EFUSE_CTRL 0x0030
  51. #define B_AX_EF_MODE_SEL_MASK GENMASK(31, 30)
  52. #define B_AX_EF_RDY BIT(29)
  53. #define B_AX_EF_COMP_RESULT BIT(28)
  54. #define B_AX_EF_ADDR_MASK GENMASK(26, 16)
  55. #define B_AX_EF_DATA_MASK GENMASK(15, 0)
  56. #define R_AX_EFUSE_CTRL_1_V1 0x0038
  57. #define B_AX_EF_ENT BIT(31)
  58. #define B_AX_EF_BURST BIT(19)
  59. #define B_AX_EF_TEST_SEL_MASK GENMASK(18, 16)
  60. #define B_AX_EF_TROW_EN BIT(15)
  61. #define B_AX_EF_ERR_FLAG BIT(14)
  62. #define B_AX_EF_DSB_EN BIT(11)
  63. #define B_AX_PCIE_CALIB_EN_V1 BIT(12)
  64. #define B_AX_WDT_WAKE_PCIE_EN BIT(10)
  65. #define B_AX_WDT_WAKE_USB_EN BIT(9)
  66. #define R_AX_GPIO_MUXCFG 0x0040
  67. #define B_AX_BOOT_MODE BIT(19)
  68. #define B_AX_WL_EECS_EXT_32K_SEL BIT(18)
  69. #define B_AX_WL_SEC_BONDING_OPT_STS BIT(17)
  70. #define B_AX_SECSIC_SEL BIT(16)
  71. #define B_AX_ENHTP BIT(14)
  72. #define B_AX_BT_AOD_GPIO3 BIT(13)
  73. #define B_AX_ENSIC BIT(12)
  74. #define B_AX_SIC_SWRST BIT(11)
  75. #define B_AX_PO_WIFI_PTA_PINS BIT(10)
  76. #define B_AX_PO_BT_PTA_PINS BIT(9)
  77. #define B_AX_ENUARTTX BIT(8)
  78. #define B_AX_BTMODE_MASK GENMASK(7, 6)
  79. #define MAC_AX_BT_MODE_0_3 0
  80. #define MAC_AX_BT_MODE_2 2
  81. #define MAC_AX_RTK_MODE 0
  82. #define MAC_AX_CSR_MODE 1
  83. #define B_AX_ENBT BIT(5)
  84. #define B_AX_EROM_EN BIT(4)
  85. #define B_AX_ENUARTRX BIT(2)
  86. #define B_AX_GPIOSEL_MASK GENMASK(1, 0)
  87. #define R_AX_DBG_CTRL 0x0058
  88. #define B_AX_DBG_SEL1_4BIT GENMASK(31, 30)
  89. #define B_AX_DBG_SEL1_16BIT BIT(27)
  90. #define B_AX_DBG_SEL1 GENMASK(23, 16)
  91. #define B_AX_DBG_SEL0_4BIT GENMASK(15, 14)
  92. #define B_AX_DBG_SEL0_16BIT BIT(11)
  93. #define B_AX_DBG_SEL0 GENMASK(7, 0)
  94. #define R_AX_SYS_SDIO_CTRL 0x0070
  95. #define B_AX_PCIE_DIS_L2_CTRL_LDO_HCI BIT(15)
  96. #define B_AX_PCIE_DIS_WLSUS_AFT_PDN BIT(14)
  97. #define B_AX_PCIE_FORCE_PWR_NGAT BIT(13)
  98. #define B_AX_PCIE_CALIB_EN_V1 BIT(12)
  99. #define B_AX_PCIE_AUXCLK_GATE BIT(11)
  100. #define B_AX_LTE_MUX_CTRL_PATH BIT(26)
  101. #define R_AX_HCI_OPT_CTRL 0x0074
  102. #define BIT_WAKE_CTRL BIT(5)
  103. #define R_AX_HCI_BG_CTRL 0x0078
  104. #define B_AX_IBX_EN_VALUE BIT(15)
  105. #define B_AX_IB_EN_VALUE BIT(14)
  106. #define B_AX_FORCED_IB_EN BIT(4)
  107. #define B_AX_EN_REGBG BIT(3)
  108. #define B_AX_R_AX_BG_LPF BIT(2)
  109. #define B_AX_R_AX_BG GENMASK(1, 0)
  110. #define R_AX_HCI_LDO_CTRL 0x007A
  111. #define B_AX_R_AX_VADJ_MASK GENMASK(3, 0)
  112. #define R_AX_PLATFORM_ENABLE 0x0088
  113. #define B_AX_AXIDMA_EN BIT(3)
  114. #define B_AX_APB_WRAP_EN BIT(2)
  115. #define B_AX_WCPU_EN BIT(1)
  116. #define B_AX_PLATFORM_EN BIT(0)
  117. #define R_AX_WLLPS_CTRL 0x0090
  118. #define B_AX_LPSOP_ASWRM BIT(17)
  119. #define B_AX_LPSOP_DSWRM BIT(9)
  120. #define B_AX_DIS_WLBT_LPSEN_LOPC BIT(1)
  121. #define SW_LPS_OPTION 0x0001A0B2
  122. #define R_AX_SCOREBOARD 0x00AC
  123. #define B_AX_TOGGLE BIT(31)
  124. #define B_MAC_AX_SB_FW_MASK GENMASK(30, 24)
  125. #define B_MAC_AX_SB_DRV_MASK GENMASK(23, 0)
  126. #define B_MAC_AX_BTGS1_NOTIFY BIT(0)
  127. #define MAC_AX_NOTIFY_TP_MAJOR 0x81
  128. #define MAC_AX_NOTIFY_PWR_MAJOR 0x80
  129. #define R_AX_DBG_PORT_SEL 0x00C0
  130. #define B_AX_DEBUG_ST_MASK GENMASK(31, 0)
  131. #define R_AX_PMC_DBG_CTRL2 0x00CC
  132. #define B_AX_SYSON_DIS_PMCR_AX_WRMSK BIT(2)
  133. #define R_AX_PCIE_MIO_INTF 0x00E4
  134. #define B_AX_PCIE_MIO_ADDR_PAGE_V1_MASK GENMASK(20, 16)
  135. #define B_AX_PCIE_MIO_BYIOREG BIT(13)
  136. #define B_AX_PCIE_MIO_RE BIT(12)
  137. #define B_AX_PCIE_MIO_WE_MASK GENMASK(11, 8)
  138. #define MIO_WRITE_BYTE_ALL 0xF
  139. #define B_AX_PCIE_MIO_ADDR_MASK GENMASK(7, 0)
  140. #define MIO_ADDR_PAGE_MASK GENMASK(12, 8)
  141. #define R_AX_PCIE_MIO_INTD 0x00E8
  142. #define B_AX_PCIE_MIO_DATA_MASK GENMASK(31, 0)
  143. #define R_AX_SYS_CFG1 0x00F0
  144. #define B_AX_CHIP_VER_MASK GENMASK(15, 12)
  145. #define R_AX_SYS_STATUS1 0x00F4
  146. #define B_AX_SEL_0XC0_MASK GENMASK(17, 16)
  147. #define B_AX_PAD_HCI_SEL_V2_MASK GENMASK(5, 3)
  148. #define MAC_AX_HCI_SEL_SDIO_UART 0
  149. #define MAC_AX_HCI_SEL_MULTI_USB 1
  150. #define MAC_AX_HCI_SEL_PCIE_UART 2
  151. #define MAC_AX_HCI_SEL_PCIE_USB 3
  152. #define MAC_AX_HCI_SEL_MULTI_SDIO 4
  153. #define R_AX_HALT_H2C_CTRL 0x0160
  154. #define R_AX_HALT_H2C 0x0168
  155. #define B_AX_HALT_H2C_TRIGGER BIT(0)
  156. #define R_AX_HALT_C2H_CTRL 0x0164
  157. #define R_AX_HALT_C2H 0x016C
  158. #define R_AX_WCPU_FW_CTRL 0x01E0
  159. #define B_AX_WCPU_FWDL_STS_MASK GENMASK(7, 5)
  160. #define B_AX_FWDL_PATH_RDY BIT(2)
  161. #define B_AX_H2C_PATH_RDY BIT(1)
  162. #define B_AX_WCPU_FWDL_EN BIT(0)
  163. #define R_AX_RPWM 0x01E4
  164. #define R_AX_PCIE_HRPWM 0x10C0
  165. #define PS_RPWM_TOGGLE BIT(15)
  166. #define PS_RPWM_ACK BIT(14)
  167. #define PS_RPWM_SEQ_NUM GENMASK(13, 12)
  168. #define PS_RPWM_NOTIFY_WAKE BIT(8)
  169. #define PS_RPWM_STATE 0x7
  170. #define RPWM_SEQ_NUM_MAX 3
  171. #define PS_CPWM_SEQ_NUM GENMASK(13, 12)
  172. #define PS_CPWM_RSP_SEQ_NUM GENMASK(9, 8)
  173. #define PS_CPWM_STATE GENMASK(2, 0)
  174. #define CPWM_SEQ_NUM_MAX 3
  175. #define R_AX_BOOT_REASON 0x01E6
  176. #define B_AX_BOOT_REASON_MASK GENMASK(2, 0)
  177. #define R_AX_LDM 0x01E8
  178. #define B_AX_EN_32K BIT(31)
  179. #define R_AX_UDM0 0x01F0
  180. #define R_AX_UDM1 0x01F4
  181. #define B_AX_UDM1_MASK GENMASK(31, 16)
  182. #define B_AX_UDM1_HALMAC_C2H_ENQ_CNT_MASK GENMASK(15, 12)
  183. #define B_AX_UDM1_HALMAC_H2C_DEQ_CNT_MASK GENMASK(11, 8)
  184. #define B_AX_UDM1_WCPU_C2H_ENQ_CNT_MASK GENMASK(7, 4)
  185. #define B_AX_UDM1_WCPU_H2C_DEQ_CNT_MASK GENMASK(3, 0)
  186. #define R_AX_UDM2 0x01F8
  187. #define R_AX_UDM3 0x01FC
  188. #define R_AX_SPS_DIG_ON_CTRL0 0x0200
  189. #define B_AX_VREFPFM_L_MASK GENMASK(25, 22)
  190. #define B_AX_REG_ZCDC_H_MASK GENMASK(18, 17)
  191. #define B_AX_OCP_L1_MASK GENMASK(15, 13)
  192. #define B_AX_VOL_L1_MASK GENMASK(3, 0)
  193. #define R_AX_SPSLDO_ON_CTRL1 0x0204
  194. #define B_AX_FPWMDELAY BIT(3)
  195. #define R_AX_LDO_AON_CTRL0 0x0218
  196. #define B_AX_PD_REGU_L BIT(16)
  197. #define R_AX_SPSANA_ON_CTRL1 0x0224
  198. #define R_AX_WLAN_XTAL_SI_CTRL 0x0270
  199. #define B_AX_WL_XTAL_SI_CMD_POLL BIT(31)
  200. #define B_AX_BT_XTAL_SI_ERR_FLAG BIT(30)
  201. #define B_AX_WL_XTAL_GNT BIT(29)
  202. #define B_AX_BT_XTAL_GNT BIT(28)
  203. #define B_AX_WL_XTAL_SI_MODE_MASK GENMASK(25, 24)
  204. #define XTAL_SI_NORMAL_WRITE 0x00
  205. #define XTAL_SI_NORMAL_READ 0x01
  206. #define B_AX_WL_XTAL_SI_BITMASK_MASK GENMASK(23, 16)
  207. #define B_AX_WL_XTAL_SI_DATA_MASK GENMASK(15, 8)
  208. #define B_AX_WL_XTAL_SI_ADDR_MASK GENMASK(7, 0)
  209. #define R_AX_WLAN_XTAL_SI_CONFIG 0x0274
  210. #define B_AX_XTAL_SI_ADDR_NOT_CHK BIT(0)
  211. #define R_AX_XTAL_ON_CTRL0 0x0280
  212. #define B_AX_XTAL_SC_LPS BIT(31)
  213. #define B_AX_XTAL_SC_XO_MASK GENMASK(23, 17)
  214. #define B_AX_XTAL_SC_XI_MASK GENMASK(16, 10)
  215. #define B_AX_XTAL_SC_MASK GENMASK(6, 0)
  216. #define R_AX_XTAL_ON_CTRL3 0x028C
  217. #define B_AX_XTAL_SC_INIT_A_BLOCK_MASK GENMASK(30, 24)
  218. #define B_AX_XTAL_SC_LPS_A_BLOCK_MASK GENMASK(22, 16)
  219. #define B_AX_XTAL_SC_XO_A_BLOCK_MASK GENMASK(14, 8)
  220. #define B_AX_XTAL_SC_XI_A_BLOCK_MASK GENMASK(6, 0)
  221. #define R_AX_GPIO0_7_FUNC_SEL 0x02D0
  222. #define R_AX_EECS_EESK_FUNC_SEL 0x02D8
  223. #define B_AX_PINMUX_EESK_FUNC_SEL_MASK GENMASK(7, 4)
  224. #define R_AX_GPIO16_23_FUNC_SEL 0x02D8
  225. #define B_AX_PINMUX_GPIO17_FUNC_SEL_MASK GENMASK(7, 4)
  226. #define B_AX_PINMUX_GPIO16_FUNC_SEL_MASK GENMASK(3, 0)
  227. #define R_AX_LED1_FUNC_SEL 0x02DC
  228. #define B_AX_PINMUX_EESK_FUNC_SEL_V1_MASK GENMASK(27, 24)
  229. #define PINMUX_EESK_FUNC_SEL_BT_LOG 0x1
  230. #define R_AX_GPIO0_15_EECS_EESK_LED1_PULL_LOW_EN 0x02E4
  231. #define B_AX_LED1_PULL_LOW_EN BIT(18)
  232. #define B_AX_EESK_PULL_LOW_EN BIT(17)
  233. #define B_AX_EECS_PULL_LOW_EN BIT(16)
  234. #define R_AX_GPIO0_16_EECS_EESK_LED1_PULL_LOW_EN 0x02E4
  235. #define B_AX_GPIO16_PULL_LOW_EN_V1 BIT(19)
  236. #define B_AX_GPIO10_PULL_LOW_EN BIT(10)
  237. #define R_AX_WLRF_CTRL 0x02F0
  238. #define B_AX_AFC_AFEDIG BIT(17)
  239. #define B_AX_WLRF1_CTRL_7 BIT(15)
  240. #define B_AX_WLRF1_CTRL_1 BIT(9)
  241. #define B_AX_WLRF_CTRL_7 BIT(7)
  242. #define B_AX_WLRF_CTRL_1 BIT(1)
  243. #define R_AX_IC_PWR_STATE 0x03F0
  244. #define B_AX_WHOLE_SYS_PWR_STE_MASK GENMASK(25, 16)
  245. #define B_AX_WLMAC_PWR_STE_MASK GENMASK(9, 8)
  246. #define B_AX_UART_HCISYS_PWR_STE_MASK GENMASK(7, 6)
  247. #define B_AX_SDIO_HCISYS_PWR_STE_MASK GENMASK(5, 4)
  248. #define B_AX_USB_HCISYS_PWR_STE_MASK GENMASK(3, 2)
  249. #define B_AX_PCIE_HCISYS_PWR_STE_MASK GENMASK(1, 0)
  250. #define R_AX_SPS_DIG_OFF_CTRL0 0x0400
  251. #define B_AX_C3_L1_MASK GENMASK(5, 4)
  252. #define B_AX_C1_L1_MASK GENMASK(1, 0)
  253. #define R_AX_AFE_OFF_CTRL1 0x0444
  254. #define B_AX_S1_LDO_VSEL_F_MASK GENMASK(25, 24)
  255. #define B_AX_S1_LDO2PWRCUT_F BIT(23)
  256. #define B_AX_S0_LDO_VSEL_F_MASK GENMASK(22, 21)
  257. #define R_AX_SEC_CTRL 0x0C00
  258. #define B_AX_SEC_IDMEM_SIZE_CONFIG_MASK GENMASK(17, 16)
  259. #define R_AX_FILTER_MODEL_ADDR 0x0C04
  260. #define R_AX_HAXI_INIT_CFG1 0x1000
  261. #define B_AX_WD_ITVL_IDLE_V1_MASK GENMASK(31, 28)
  262. #define B_AX_WD_ITVL_ACT_V1_MASK GENMASK(27, 24)
  263. #define B_AX_DMA_MODE_MASK GENMASK(19, 18)
  264. #define DMA_MOD_PCIE_1B 0x0
  265. #define DMA_MOD_PCIE_4B 0x1
  266. #define DMA_MOD_USB 0x2
  267. #define DMA_MOD_SDIO 0x3
  268. #define B_AX_STOP_AXI_MST BIT(17)
  269. #define B_AX_HAXI_RST_KEEP_REG BIT(16)
  270. #define B_AX_RXHCI_EN_V1 BIT(15)
  271. #define B_AX_RXBD_MODE_V1 BIT(14)
  272. #define B_AX_HAXI_MAX_RXDMA_MASK GENMASK(9, 8)
  273. #define B_AX_TXHCI_EN_V1 BIT(7)
  274. #define B_AX_FLUSH_AXI_MST BIT(4)
  275. #define B_AX_RST_BDRAM BIT(3)
  276. #define B_AX_HAXI_MAX_TXDMA_MASK GENMASK(1, 0)
  277. #define R_AX_HAXI_DMA_STOP1 0x1010
  278. #define B_AX_STOP_WPDMA BIT(19)
  279. #define B_AX_STOP_CH12 BIT(18)
  280. #define B_AX_STOP_CH9 BIT(17)
  281. #define B_AX_STOP_CH8 BIT(16)
  282. #define B_AX_STOP_ACH7 BIT(15)
  283. #define B_AX_STOP_ACH6 BIT(14)
  284. #define B_AX_STOP_ACH5 BIT(13)
  285. #define B_AX_STOP_ACH4 BIT(12)
  286. #define B_AX_STOP_ACH3 BIT(11)
  287. #define B_AX_STOP_ACH2 BIT(10)
  288. #define B_AX_STOP_ACH1 BIT(9)
  289. #define B_AX_STOP_ACH0 BIT(8)
  290. #define R_AX_HAXI_DMA_BUSY1 0x101C
  291. #define B_AX_HAXIIO_BUSY BIT(20)
  292. #define B_AX_WPDMA_BUSY BIT(19)
  293. #define B_AX_CH12_BUSY BIT(18)
  294. #define B_AX_CH9_BUSY BIT(17)
  295. #define B_AX_CH8_BUSY BIT(16)
  296. #define B_AX_ACH7_BUSY BIT(15)
  297. #define B_AX_ACH6_BUSY BIT(14)
  298. #define B_AX_ACH5_BUSY BIT(13)
  299. #define B_AX_ACH4_BUSY BIT(12)
  300. #define B_AX_ACH3_BUSY BIT(11)
  301. #define B_AX_ACH2_BUSY BIT(10)
  302. #define B_AX_ACH1_BUSY BIT(9)
  303. #define B_AX_ACH0_BUSY BIT(8)
  304. #define R_AX_PCIE_DBG_CTRL 0x11C0
  305. #define B_AX_DBG_DUMMY_MASK GENMASK(23, 16)
  306. #define B_AX_PCIE_DBG_SEL_MASK GENMASK(15, 13)
  307. #define B_AX_MRD_TIMEOUT_EN BIT(10)
  308. #define B_AX_ASFF_FULL_NO_STK BIT(1)
  309. #define B_AX_EN_STUCK_DBG BIT(0)
  310. #define R_AX_HAXI_DMA_STOP2 0x11C0
  311. #define B_AX_STOP_CH11 BIT(1)
  312. #define B_AX_STOP_CH10 BIT(0)
  313. #define R_AX_HAXI_DMA_BUSY2 0x11C8
  314. #define B_AX_CH11_BUSY BIT(1)
  315. #define B_AX_CH10_BUSY BIT(0)
  316. #define R_AX_HAXI_DMA_BUSY3 0x1208
  317. #define B_AX_RPQ_BUSY BIT(1)
  318. #define B_AX_RXQ_BUSY BIT(0)
  319. #define R_AX_LTR_DEC_CTRL 0x1600
  320. #define B_AX_LTR_IDX_DRV_VLD BIT(16)
  321. #define B_AX_LTR_CURR_IDX_DRV_MASK GENMASK(15, 14)
  322. #define B_AX_LTR_IDX_FW_VLD BIT(13)
  323. #define B_AX_LTR_CURR_IDX_FW_MASK GENMASK(12, 11)
  324. #define B_AX_LTR_IDX_HW_VLD BIT(10)
  325. #define B_AX_LTR_CURR_IDX_HW_MASK GENMASK(9, 8)
  326. #define B_AX_LTR_REQ_DRV BIT(7)
  327. #define B_AX_LTR_IDX_DRV_MASK GENMASK(6, 5)
  328. #define PCIE_LTR_IDX_IDLE 3
  329. #define B_AX_LTR_DRV_DEC_EN BIT(4)
  330. #define B_AX_LTR_FW_DEC_EN BIT(3)
  331. #define B_AX_LTR_HW_DEC_EN BIT(2)
  332. #define B_AX_LTR_SPACE_IDX_V1_MASK GENMASK(1, 0)
  333. #define LTR_EN_BITS (B_AX_LTR_HW_DEC_EN | B_AX_LTR_FW_DEC_EN | B_AX_LTR_DRV_DEC_EN)
  334. #define R_AX_LTR_LATENCY_IDX0 0x1604
  335. #define R_AX_LTR_LATENCY_IDX1 0x1608
  336. #define R_AX_LTR_LATENCY_IDX2 0x160C
  337. #define R_AX_LTR_LATENCY_IDX3 0x1610
  338. #define R_AX_HCI_FC_CTRL_V1 0x1700
  339. #define R_AX_CH_PAGE_CTRL_V1 0x1704
  340. #define R_AX_ACH0_PAGE_CTRL_V1 0x1710
  341. #define R_AX_ACH1_PAGE_CTRL_V1 0x1714
  342. #define R_AX_ACH2_PAGE_CTRL_V1 0x1718
  343. #define R_AX_ACH3_PAGE_CTRL_V1 0x171C
  344. #define R_AX_ACH4_PAGE_CTRL_V1 0x1720
  345. #define R_AX_ACH5_PAGE_CTRL_V1 0x1724
  346. #define R_AX_ACH6_PAGE_CTRL_V1 0x1728
  347. #define R_AX_ACH7_PAGE_CTRL_V1 0x172C
  348. #define R_AX_CH8_PAGE_CTRL_V1 0x1730
  349. #define R_AX_CH9_PAGE_CTRL_V1 0x1734
  350. #define R_AX_CH10_PAGE_CTRL_V1 0x1738
  351. #define R_AX_CH11_PAGE_CTRL_V1 0x173C
  352. #define R_AX_ACH0_PAGE_INFO_V1 0x1750
  353. #define R_AX_ACH1_PAGE_INFO_V1 0x1754
  354. #define R_AX_ACH2_PAGE_INFO_V1 0x1758
  355. #define R_AX_ACH3_PAGE_INFO_V1 0x175C
  356. #define R_AX_ACH4_PAGE_INFO_V1 0x1760
  357. #define R_AX_ACH5_PAGE_INFO_V1 0x1764
  358. #define R_AX_ACH6_PAGE_INFO_V1 0x1768
  359. #define R_AX_ACH7_PAGE_INFO_V1 0x176C
  360. #define R_AX_CH8_PAGE_INFO_V1 0x1770
  361. #define R_AX_CH9_PAGE_INFO_V1 0x1774
  362. #define R_AX_CH10_PAGE_INFO_V1 0x1778
  363. #define R_AX_CH11_PAGE_INFO_V1 0x177C
  364. #define R_AX_CH12_PAGE_INFO_V1 0x1780
  365. #define R_AX_PUB_PAGE_INFO3_V1 0x178C
  366. #define R_AX_PUB_PAGE_CTRL1_V1 0x1790
  367. #define R_AX_PUB_PAGE_CTRL2_V1 0x1794
  368. #define R_AX_PUB_PAGE_INFO1_V1 0x1798
  369. #define R_AX_PUB_PAGE_INFO2_V1 0x179C
  370. #define R_AX_WP_PAGE_CTRL1_V1 0x17A0
  371. #define R_AX_WP_PAGE_CTRL2_V1 0x17A4
  372. #define R_AX_WP_PAGE_INFO1_V1 0x17A8
  373. #define R_AX_H2CREG_DATA0_V1 0x7140
  374. #define R_AX_H2CREG_DATA1_V1 0x7144
  375. #define R_AX_H2CREG_DATA2_V1 0x7148
  376. #define R_AX_H2CREG_DATA3_V1 0x714C
  377. #define R_AX_C2HREG_DATA0_V1 0x7150
  378. #define R_AX_C2HREG_DATA1_V1 0x7154
  379. #define R_AX_C2HREG_DATA2_V1 0x7158
  380. #define R_AX_C2HREG_DATA3_V1 0x715C
  381. #define R_AX_H2CREG_CTRL_V1 0x7160
  382. #define R_AX_C2HREG_CTRL_V1 0x7164
  383. #define R_AX_HCI_FUNC_EN_V1 0x7880
  384. #define R_AX_PHYREG_SET 0x8040
  385. #define PHYREG_SET_ALL_CYCLE 0x8
  386. #define PHYREG_SET_XYN_CYCLE 0xE
  387. #define R_AX_HD0IMR 0x8110
  388. #define B_AX_WDT_PTFM_INT_EN BIT(5)
  389. #define B_AX_CPWM_INT_EN BIT(2)
  390. #define B_AX_GT3_INT_EN BIT(1)
  391. #define B_AX_C2H_INT_EN BIT(0)
  392. #define R_AX_HD0ISR 0x8114
  393. #define B_AX_C2H_INT BIT(0)
  394. #define R_AX_H2CREG_DATA0 0x8140
  395. #define R_AX_H2CREG_DATA1 0x8144
  396. #define R_AX_H2CREG_DATA2 0x8148
  397. #define R_AX_H2CREG_DATA3 0x814C
  398. #define R_AX_C2HREG_DATA0 0x8150
  399. #define R_AX_C2HREG_DATA1 0x8154
  400. #define R_AX_C2HREG_DATA2 0x8158
  401. #define R_AX_C2HREG_DATA3 0x815C
  402. #define R_AX_H2CREG_CTRL 0x8160
  403. #define B_AX_H2CREG_TRIGGER BIT(0)
  404. #define R_AX_C2HREG_CTRL 0x8164
  405. #define B_AX_C2HREG_TRIGGER BIT(0)
  406. #define R_AX_CPWM 0x8170
  407. #define R_AX_HCI_FUNC_EN 0x8380
  408. #define B_AX_HCI_RXDMA_EN BIT(1)
  409. #define B_AX_HCI_TXDMA_EN BIT(0)
  410. #define R_AX_BOOT_DBG 0x83F0
  411. #define R_AX_DMAC_FUNC_EN 0x8400
  412. #define B_AX_DMAC_CRPRT BIT(31)
  413. #define B_AX_MAC_FUNC_EN BIT(30)
  414. #define B_AX_DMAC_FUNC_EN BIT(29)
  415. #define B_AX_MPDU_PROC_EN BIT(28)
  416. #define B_AX_WD_RLS_EN BIT(27)
  417. #define B_AX_DLE_WDE_EN BIT(26)
  418. #define B_AX_TXPKT_CTRL_EN BIT(25)
  419. #define B_AX_STA_SCH_EN BIT(24)
  420. #define B_AX_DLE_PLE_EN BIT(23)
  421. #define B_AX_PKT_BUF_EN BIT(22)
  422. #define B_AX_DMAC_TBL_EN BIT(21)
  423. #define B_AX_PKT_IN_EN BIT(20)
  424. #define B_AX_DLE_CPUIO_EN BIT(19)
  425. #define B_AX_DISPATCHER_EN BIT(18)
  426. #define B_AX_BBRPT_EN BIT(17)
  427. #define B_AX_MAC_SEC_EN BIT(16)
  428. #define B_AX_DMACREG_GCKEN BIT(15)
  429. #define B_AX_MAC_UN_EN BIT(15)
  430. #define B_AX_H_AXIDMA_EN BIT(14)
  431. #define R_AX_DMAC_CLK_EN 0x8404
  432. #define B_AX_WD_RLS_CLK_EN BIT(27)
  433. #define B_AX_DLE_WDE_CLK_EN BIT(26)
  434. #define B_AX_TXPKT_CTRL_CLK_EN BIT(25)
  435. #define B_AX_STA_SCH_CLK_EN BIT(24)
  436. #define B_AX_DLE_PLE_CLK_EN BIT(23)
  437. #define B_AX_PKT_IN_CLK_EN BIT(20)
  438. #define B_AX_DLE_CPUIO_CLK_EN BIT(19)
  439. #define B_AX_DISPATCHER_CLK_EN BIT(18)
  440. #define B_AX_BBRPT_CLK_EN BIT(17)
  441. #define B_AX_MAC_SEC_CLK_EN BIT(16)
  442. #define B_AX_AXIDMA_CLK_EN BIT(9)
  443. #define PCI_LTR_IDLE_TIMER_1US 0
  444. #define PCI_LTR_IDLE_TIMER_10US 1
  445. #define PCI_LTR_IDLE_TIMER_100US 2
  446. #define PCI_LTR_IDLE_TIMER_200US 3
  447. #define PCI_LTR_IDLE_TIMER_400US 4
  448. #define PCI_LTR_IDLE_TIMER_800US 5
  449. #define PCI_LTR_IDLE_TIMER_1_6MS 6
  450. #define PCI_LTR_IDLE_TIMER_3_2MS 7
  451. #define PCI_LTR_IDLE_TIMER_R_ERR 0xFD
  452. #define PCI_LTR_IDLE_TIMER_DEF 0xFE
  453. #define PCI_LTR_IDLE_TIMER_IGNORE 0xFF
  454. #define PCI_LTR_SPC_10US 0
  455. #define PCI_LTR_SPC_100US 1
  456. #define PCI_LTR_SPC_500US 2
  457. #define PCI_LTR_SPC_1MS 3
  458. #define PCI_LTR_SPC_R_ERR 0xFD
  459. #define PCI_LTR_SPC_DEF 0xFE
  460. #define PCI_LTR_SPC_IGNORE 0xFF
  461. #define R_AX_LTR_CTRL_0 0x8410
  462. #define B_AX_LTR_SPACE_IDX_MASK GENMASK(13, 12)
  463. #define B_AX_LTR_IDLE_TIMER_IDX_MASK GENMASK(10, 8)
  464. #define B_AX_LTR_WD_NOEMP_CHK BIT(6)
  465. #define B_AX_APP_LTR_ACT BIT(5)
  466. #define B_AX_APP_LTR_IDLE BIT(4)
  467. #define B_AX_LTR_EN BIT(1)
  468. #define B_AX_LTR_WD_NOEMP_CHK_V1 BIT(1)
  469. #define B_AX_LTR_HW_EN BIT(0)
  470. #define R_AX_LTR_CTRL_1 0x8414
  471. #define B_AX_LTR_RX1_TH_MASK GENMASK(27, 16)
  472. #define B_AX_LTR_RX0_TH_MASK GENMASK(11, 0)
  473. #define R_AX_LTR_IDLE_LATENCY 0x8418
  474. #define R_AX_LTR_ACTIVE_LATENCY 0x841C
  475. #define R_AX_SER_DBG_INFO 0x8424
  476. #define B_AX_L0_TO_L1_EVENT_MASK GENMASK(31, 28)
  477. #define R_AX_DLE_EMPTY0 0x8430
  478. #define B_AX_PLE_EMPTY_QTA_DMAC_CPUIO BIT(26)
  479. #define B_AX_PLE_EMPTY_QTA_DMAC_MPDU_TX BIT(25)
  480. #define B_AX_PLE_EMPTY_QTA_DMAC_WLAN_CPU BIT(24)
  481. #define B_AX_PLE_EMPTY_QTA_DMAC_H2C BIT(23)
  482. #define B_AX_PLE_EMPTY_QTA_DMAC_B1_TXPL BIT(22)
  483. #define B_AX_PLE_EMPTY_QTA_DMAC_B0_TXPL BIT(21)
  484. #define B_AX_WDE_EMPTY_QTA_DMAC_CPUIO BIT(20)
  485. #define B_AX_WDE_EMPTY_QTA_DMAC_PKTIN BIT(19)
  486. #define B_AX_WDE_EMPTY_QTA_DMAC_DATA_CPU BIT(18)
  487. #define B_AX_WDE_EMPTY_QTA_DMAC_WLAN_CPU BIT(17)
  488. #define B_AX_WDE_EMPTY_QTA_DMAC_HIF BIT(16)
  489. #define B_AX_WDE_EMPTY_QUE_DMAC_PKTIN BIT(10)
  490. #define B_AX_PLE_EMPTY_QUE_DMAC_SEC_TX BIT(9)
  491. #define B_AX_PLE_EMPTY_QUE_DMAC_MPDU_TX BIT(8)
  492. #define B_AX_WDE_EMPTY_QUE_OTHERS BIT(7)
  493. #define B_AX_WDE_EMPTY_QUE_CMAC0_WMM1 BIT(4)
  494. #define B_AX_WDE_EMPTY_QUE_CMAC0_WMM0 BIT(3)
  495. #define B_AX_WDE_EMPTY_QUE_CMAC1_MBH BIT(2)
  496. #define B_AX_WDE_EMPTY_QUE_CMAC0_MBH BIT(1)
  497. #define B_AX_WDE_EMPTY_QUE_CMAC0_ALL_AC BIT(0)
  498. #define R_AX_DLE_EMPTY1 0x8434
  499. #define B_AX_PLE_EMPTY_QTA_DMAC_WDRLS BIT(20)
  500. #define B_AX_PLE_EMPTY_QTA_CMAC1_DMA_BBRPT BIT(19)
  501. #define B_AX_PLE_EMPTY_QTA_CMAC1_DMA_RX BIT(18)
  502. #define B_AX_PLE_EMPTY_QTA_CMAC0_DMA_RX BIT(17)
  503. #define B_AX_PLE_EMPTY_QTA_DMAC_C2H BIT(16)
  504. #define B_AX_PLE_EMPTY_QUE_DMAC_PLRLS BIT(5)
  505. #define B_AX_PLE_EMPTY_QUE_DMAC_CPUIO BIT(4)
  506. #define B_AX_PLE_EMPTY_QUE_DMAC_SEC_RX BIT(3)
  507. #define B_AX_PLE_EMPTY_QUE_DMAC_MPDU_RX BIT(2)
  508. #define B_AX_PLE_EMPTY_QUE_DMAC_HDP BIT(1)
  509. #define B_AX_WDE_EMPTY_QUE_DMAC_WDRLS BIT(0)
  510. #define R_AX_DMAC_ERR_IMR 0x8520
  511. #define B_AX_DLE_CPUIO_ERR_INT_EN BIT(10)
  512. #define B_AX_APB_BRIDGE_ERR_INT_EN BIT(9)
  513. #define B_AX_DISPATCH_ERR_INT_EN BIT(8)
  514. #define B_AX_PKTIN_ERR_INT_EN BIT(7)
  515. #define B_AX_PLE_DLE_ERR_INT_EN BIT(6)
  516. #define B_AX_TXPKTCTRL_ERR_INT_EN BIT(5)
  517. #define B_AX_WDE_DLE_ERR_INT_EN BIT(4)
  518. #define B_AX_STA_SCHEDULER_ERR_INT_EN BIT(3)
  519. #define B_AX_MPDU_ERR_INT_EN BIT(2)
  520. #define B_AX_WSEC_ERR_INT_EN BIT(1)
  521. #define B_AX_WDRLS_ERR_INT_EN BIT(0)
  522. #define DMAC_ERR_IMR_EN GENMASK(31, 0)
  523. #define DMAC_ERR_IMR_DIS 0
  524. #define R_AX_DMAC_ERR_ISR 0x8524
  525. #define B_AX_HAXIDMA_ERR_FLAG BIT(14)
  526. #define B_AX_PAXIDMA_ERR_FLAG BIT(13)
  527. #define B_AX_HCI_BUF_ERR_FLAG BIT(12)
  528. #define B_AX_BBRPT_ERR_FLAG BIT(11)
  529. #define B_AX_DLE_CPUIO_ERR_FLAG BIT(10)
  530. #define B_AX_APB_BRIDGE_ERR_FLAG BIT(9)
  531. #define B_AX_DISPATCH_ERR_FLAG BIT(8)
  532. #define B_AX_PKTIN_ERR_FLAG BIT(7)
  533. #define B_AX_PLE_DLE_ERR_FLAG BIT(6)
  534. #define B_AX_TXPKTCTRL_ERR_FLAG BIT(5)
  535. #define B_AX_WDE_DLE_ERR_FLAG BIT(4)
  536. #define B_AX_STA_SCHEDULER_ERR_FLAG BIT(3)
  537. #define B_AX_MPDU_ERR_FLAG BIT(2)
  538. #define B_AX_WSEC_ERR_FLAG BIT(1)
  539. #define B_AX_WDRLS_ERR_FLAG BIT(0)
  540. #define R_AX_DISPATCHER_GLOBAL_SETTING_0 0x8800
  541. #define B_AX_PL_PAGE_128B_SEL BIT(9)
  542. #define B_AX_WD_PAGE_64B_SEL BIT(8)
  543. #define R_AX_OTHER_DISPATCHER_ERR_ISR 0x8804
  544. #define R_AX_HOST_DISPATCHER_ERR_ISR 0x8808
  545. #define R_AX_CPU_DISPATCHER_ERR_ISR 0x880C
  546. #define R_AX_TX_ADDRESS_INFO_MODE_SETTING 0x8810
  547. #define B_AX_HOST_ADDR_INFO_8B_SEL BIT(0)
  548. #define R_AX_HOST_DISPATCHER_ERR_IMR 0x8850
  549. #define B_AX_HDT_RX_WRITE_UNDERFLOW_INT_EN BIT(31)
  550. #define B_AX_HDT_RX_WRITE_OVERFLOW_INT_EN BIT(30)
  551. #define B_AX_HDT_CHKSUM_FSM_ERR_INT_EN BIT(29)
  552. #define B_AX_HDT_SHIFT_DMA_CFG_ERR_INT_EN BIT(28)
  553. #define B_AX_HDT_DMA_PROCESS_ERR_INT_EN BIT(27)
  554. #define B_AX_HDT_TOTAL_LEN_ERR_INT_EN BIT(26)
  555. #define B_AX_HDT_SHIFT_EN_ERR_INT_EN BIT(25)
  556. #define B_AX_HDT_RXAGG_CFG_ERR_INT_EN BIT(24)
  557. #define B_AX_HDT_OUTPUT_ERR_INT_EN BIT(21)
  558. #define B_AX_HDT_RES_ERR_INT_EN BIT(20)
  559. #define B_AX_HDT_BURST_NUM_ERR_INT_EN BIT(19)
  560. #define B_AX_HDT_NULLPKT_ERR_INT_EN BIT(18)
  561. #define B_AX_HDT_FLOW_CTRL_ERR_INT_EN BIT(17)
  562. #define B_AX_HDT_PLD_CMD_UNDERFLOW_INT_EN BIT(16)
  563. #define B_AX_HDT_PLD_CMD_OVERLOW_INT_EN BIT(15)
  564. #define B_AX_HDT_TX_WRITE_UNDERFLOW_INT_EN BIT(14)
  565. #define B_AX_HDT_TX_WRITE_OVERFLOW_INT_EN BIT(13)
  566. #define B_AX_HDT_TCP_CHK_ERR_INT_EN BIT(12)
  567. #define B_AX_HDT_TXPKTSIZE_ERR_INT_EN BIT(11)
  568. #define B_AX_HDT_PRE_COST_ERR_INT_EN BIT(10)
  569. #define B_AX_HDT_WD_CHK_ERR_INT_EN BIT(9)
  570. #define B_AX_HDT_CHANNEL_DMA_ERR_INT_EN BIT(8)
  571. #define B_AX_HDT_OFFSET_UNMATCH_INT_EN BIT(7)
  572. #define B_AX_HDT_PAYLOAD_UNDERFLOW_INT_EN BIT(6)
  573. #define B_AX_HDT_PAYLOAD_OVERFLOW_INT_EN BIT(5)
  574. #define B_AX_HDT_PERMU_UNDERFLOW_INT_EN BIT(4)
  575. #define B_AX_HDT_PERMU_OVERFLOW_INT_EN BIT(3)
  576. #define B_AX_HDT_PKT_FAIL_DBG_INT_EN BIT(2)
  577. #define B_AX_HDT_CHANNEL_ID_ERR_INT_EN BIT(1)
  578. #define B_AX_HDT_CHANNEL_DIFF_ERR_INT_EN BIT(0)
  579. #define B_AX_HOST_DISP_IMR_CLR (B_AX_HDT_CHANNEL_DIFF_ERR_INT_EN | \
  580. B_AX_HDT_CHANNEL_ID_ERR_INT_EN | \
  581. B_AX_HDT_PKT_FAIL_DBG_INT_EN | \
  582. B_AX_HDT_PERMU_OVERFLOW_INT_EN | \
  583. B_AX_HDT_PERMU_UNDERFLOW_INT_EN | \
  584. B_AX_HDT_PAYLOAD_OVERFLOW_INT_EN | \
  585. B_AX_HDT_PAYLOAD_UNDERFLOW_INT_EN | \
  586. B_AX_HDT_OFFSET_UNMATCH_INT_EN | \
  587. B_AX_HDT_CHANNEL_DMA_ERR_INT_EN | \
  588. B_AX_HDT_WD_CHK_ERR_INT_EN | \
  589. B_AX_HDT_PRE_COST_ERR_INT_EN | \
  590. B_AX_HDT_TXPKTSIZE_ERR_INT_EN | \
  591. B_AX_HDT_TCP_CHK_ERR_INT_EN | \
  592. B_AX_HDT_TX_WRITE_OVERFLOW_INT_EN | \
  593. B_AX_HDT_TX_WRITE_UNDERFLOW_INT_EN | \
  594. B_AX_HDT_PLD_CMD_OVERLOW_INT_EN | \
  595. B_AX_HDT_PLD_CMD_UNDERFLOW_INT_EN | \
  596. B_AX_HDT_FLOW_CTRL_ERR_INT_EN | \
  597. B_AX_HDT_NULLPKT_ERR_INT_EN | \
  598. B_AX_HDT_BURST_NUM_ERR_INT_EN | \
  599. B_AX_HDT_RXAGG_CFG_ERR_INT_EN | \
  600. B_AX_HDT_SHIFT_EN_ERR_INT_EN | \
  601. B_AX_HDT_TOTAL_LEN_ERR_INT_EN | \
  602. B_AX_HDT_DMA_PROCESS_ERR_INT_EN | \
  603. B_AX_HDT_SHIFT_DMA_CFG_ERR_INT_EN | \
  604. B_AX_HDT_CHKSUM_FSM_ERR_INT_EN | \
  605. B_AX_HDT_RX_WRITE_OVERFLOW_INT_EN | \
  606. B_AX_HDT_RX_WRITE_UNDERFLOW_INT_EN)
  607. #define B_AX_HOST_DISP_IMR_SET (B_AX_HDT_CHANNEL_DIFF_ERR_INT_EN | \
  608. B_AX_HDT_PAYLOAD_OVERFLOW_INT_EN | \
  609. B_AX_HDT_PAYLOAD_UNDERFLOW_INT_EN | \
  610. B_AX_HDT_CHANNEL_DMA_ERR_INT_EN | \
  611. B_AX_HDT_TOTAL_LEN_ERR_INT_EN | \
  612. B_AX_HDT_DMA_PROCESS_ERR_INT_EN)
  613. #define B_AX_HR_WRFF_UNDERFLOW_ERR_INT_EN BIT(31)
  614. #define B_AX_HR_WRFF_OVERFLOW_ERR_INT_EN BIT(30)
  615. #define B_AX_HR_CHKSUM_FSM_ERR_INT_EN BIT(29)
  616. #define B_AX_HR_SHIFT_DMA_CFG_ERR_INT_EN BIT(28)
  617. #define B_AX_HR_DMA_PROCESS_ERR_INT_EN BIT(27)
  618. #define B_AX_HR_TOTAL_LEN_UNDER_ERR_INT_EN BIT(26)
  619. #define B_AX_HR_SHIFT_EN_ERR_INT_EN BIT(25)
  620. #define B_AX_HR_AGG_CFG_ERR_INT_EN BIT(24)
  621. #define B_AX_HR_DMA_RD_CNT_DEQ_ERR_INT_EN BIT(23)
  622. #define B_AX_HR_PLD_LEN_ZERO_ERR_INT_EN BIT(22)
  623. #define B_AX_HT_ILL_CH_ERR_INT_EN BIT(20)
  624. #define B_AX_HT_ADDR_INFO_LEN_ERR_INT_EN BIT(18)
  625. #define B_AX_HT_WD_LEN_OVER_ERR_INT_EN BIT(17)
  626. #define B_AX_HT_PLD_CMD_UNDERFLOW_ERR_INT_EN BIT(16)
  627. #define B_AX_HT_PLD_CMD_OVERFLOW_ERR_INT_EN BIT(15)
  628. #define B_AX_HT_WRFF_UNDERFLOW_ERR_INT_EN BIT(14)
  629. #define B_AX_HT_WRFF_OVERFLOW_ERR_INT_EN BIT(13)
  630. #define B_AX_HT_CHKSUM_FSM_ERR_INT_EN BIT(12)
  631. #define B_AX_HT_TXPKTSIZE_ERR_INT_EN BIT(11)
  632. #define B_AX_HT_PRE_SUB_ERR_INT_EN BIT(10)
  633. #define B_AX_HT_WD_CHKSUM_ERR_INT_EN BIT(9)
  634. #define B_AX_HT_CHANNEL_DMA_ERR_INT_EN BIT(8)
  635. #define B_AX_HT_OFFSET_UNMATCH_ERR_INT_EN BIT(7)
  636. #define B_AX_HT_PAYLOAD_UNDER_ERR_INT_EN BIT(6)
  637. #define B_AX_HT_PAYLOAD_OVER_ERR_INT_EN BIT(5)
  638. #define B_AX_HT_PERMU_FF_UNDERFLOW_ERR_INT_EN BIT(4)
  639. #define B_AX_HT_PERMU_FF_OVERFLOW_ERR_INT_EN BIT(3)
  640. #define B_AX_HT_PKT_FAIL_ERR_INT_EN BIT(2)
  641. #define B_AX_HT_CH_ID_ERR_INT_EN BIT(1)
  642. #define B_AX_HT_EP_CH_DIFF_ERR_INT_EN BIT(0)
  643. #define B_AX_HOST_DISP_IMR_CLR_V1 (B_AX_HT_EP_CH_DIFF_ERR_INT_EN | \
  644. B_AX_HT_CH_ID_ERR_INT_EN | \
  645. B_AX_HT_PKT_FAIL_ERR_INT_EN | \
  646. B_AX_HT_PERMU_FF_OVERFLOW_ERR_INT_EN | \
  647. B_AX_HT_PERMU_FF_UNDERFLOW_ERR_INT_EN | \
  648. B_AX_HT_PAYLOAD_OVER_ERR_INT_EN | \
  649. B_AX_HT_PAYLOAD_UNDER_ERR_INT_EN | \
  650. B_AX_HT_OFFSET_UNMATCH_ERR_INT_EN | \
  651. B_AX_HT_CHANNEL_DMA_ERR_INT_EN | \
  652. B_AX_HT_WD_CHKSUM_ERR_INT_EN | \
  653. B_AX_HT_PRE_SUB_ERR_INT_EN | \
  654. B_AX_HT_TXPKTSIZE_ERR_INT_EN | \
  655. B_AX_HT_CHKSUM_FSM_ERR_INT_EN | \
  656. B_AX_HT_WRFF_OVERFLOW_ERR_INT_EN | \
  657. B_AX_HT_WRFF_UNDERFLOW_ERR_INT_EN | \
  658. B_AX_HT_PLD_CMD_OVERFLOW_ERR_INT_EN | \
  659. B_AX_HT_PLD_CMD_UNDERFLOW_ERR_INT_EN | \
  660. B_AX_HT_WD_LEN_OVER_ERR_INT_EN | \
  661. B_AX_HT_ADDR_INFO_LEN_ERR_INT_EN | \
  662. B_AX_HT_ILL_CH_ERR_INT_EN | \
  663. B_AX_HR_PLD_LEN_ZERO_ERR_INT_EN | \
  664. B_AX_HR_DMA_RD_CNT_DEQ_ERR_INT_EN | \
  665. B_AX_HR_AGG_CFG_ERR_INT_EN | \
  666. B_AX_HR_SHIFT_EN_ERR_INT_EN | \
  667. B_AX_HR_TOTAL_LEN_UNDER_ERR_INT_EN | \
  668. B_AX_HR_DMA_PROCESS_ERR_INT_EN | \
  669. B_AX_HR_SHIFT_DMA_CFG_ERR_INT_EN | \
  670. B_AX_HR_CHKSUM_FSM_ERR_INT_EN | \
  671. B_AX_HR_WRFF_OVERFLOW_ERR_INT_EN | \
  672. B_AX_HR_WRFF_UNDERFLOW_ERR_INT_EN)
  673. #define B_AX_HOST_DISP_IMR_SET_V1 (B_AX_HT_PAYLOAD_OVER_ERR_INT_EN | \
  674. B_AX_HT_PAYLOAD_UNDER_ERR_INT_EN | \
  675. B_AX_HT_ILL_CH_ERR_INT_EN | \
  676. B_AX_HR_TOTAL_LEN_UNDER_ERR_INT_EN | \
  677. B_AX_HR_DMA_PROCESS_ERR_INT_EN)
  678. #define R_AX_CPU_DISPATCHER_ERR_IMR 0x8854
  679. #define B_AX_CPU_RX_WRITE_UNDERFLOW_INT_EN BIT(31)
  680. #define B_AX_CPU_RX_WRITE_OVERFLOW_INT_EN BIT(30)
  681. #define B_AX_CPU_CHKSUM_FSM_ERR_INT_EN BIT(29)
  682. #define B_AX_CPU_SHIFT_DMA_CFG_ERR_INT_EN BIT(28)
  683. #define B_AX_CPU_DMA_PROCESS_ERR_INT_EN BIT(27)
  684. #define B_AX_CPU_TOTAL_LEN_ERR_INT_EN BIT(26)
  685. #define B_AX_CPU_SHIFT_EN_ERR_INT_EN BIT(25)
  686. #define B_AX_CPU_RXAGG_CFG_ERR_INT_EN BIT(24)
  687. #define B_AX_CPU_OUTPUT_ERR_INT_EN BIT(20)
  688. #define B_AX_CPU_RESP_ERR_INT_EN BIT(19)
  689. #define B_AX_CPU_BURST_NUM_ERR_INT_EN BIT(18)
  690. #define B_AX_CPU_NULLPKT_ERR_INT_EN BIT(17)
  691. #define B_AX_CPU_FLOW_CTRL_ERR_INT_EN BIT(16)
  692. #define B_AX_CPU_F2P_SEQ_ERR_INT_EN BIT(15)
  693. #define B_AX_CPU_F2P_QSEL_ERR_INT_EN BIT(14)
  694. #define B_AX_CPU_PLD_CMD_UNDERFLOW_INT_EN BIT(13)
  695. #define B_AX_CPU_PLD_CMD_OVERLOW_INT_EN BIT(12)
  696. #define B_AX_CPU_PRE_COST_ERR_INT_EN BIT(11)
  697. #define B_AX_CPU_WD_CHK_ERR_INT_EN BIT(10)
  698. #define B_AX_CPU_CHANNEL_DMA_ERR_INT_EN BIT(9)
  699. #define B_AX_CPU_OFFSET_UNMATCH_INT_EN BIT(8)
  700. #define B_AX_CPU_PAYLOAD_CHKSUM_ERR_INT_EN BIT(7)
  701. #define B_AX_CPU_PAYLOAD_UNDERFLOW_INT_EN BIT(6)
  702. #define B_AX_CPU_PAYLOAD_OVERFLOW_INT_EN BIT(5)
  703. #define B_AX_CPU_PERMU_UNDERFLOW_INT_EN BIT(4)
  704. #define B_AX_CPU_PERMU_OVERFLOW_INT_EN BIT(3)
  705. #define B_AX_CPU_CHANNEL_ID_ERR_INT_EN BIT(2)
  706. #define B_AX_CPU_PKT_FAIL_DBG_INT_EN BIT(1)
  707. #define B_AX_CPU_CHANNEL_DIFF_ERR_INT_EN BIT(0)
  708. #define B_AX_CPU_DISP_IMR_CLR (B_AX_CPU_CHANNEL_DIFF_ERR_INT_EN | \
  709. B_AX_CPU_PKT_FAIL_DBG_INT_EN | \
  710. B_AX_CPU_CHANNEL_ID_ERR_INT_EN | \
  711. B_AX_CPU_PERMU_OVERFLOW_INT_EN | \
  712. B_AX_CPU_PERMU_UNDERFLOW_INT_EN | \
  713. B_AX_CPU_PAYLOAD_OVERFLOW_INT_EN | \
  714. B_AX_CPU_PAYLOAD_UNDERFLOW_INT_EN | \
  715. B_AX_CPU_PAYLOAD_CHKSUM_ERR_INT_EN | \
  716. B_AX_CPU_OFFSET_UNMATCH_INT_EN | \
  717. B_AX_CPU_CHANNEL_DMA_ERR_INT_EN | \
  718. B_AX_CPU_WD_CHK_ERR_INT_EN | \
  719. B_AX_CPU_PRE_COST_ERR_INT_EN | \
  720. B_AX_CPU_PLD_CMD_OVERLOW_INT_EN | \
  721. B_AX_CPU_PLD_CMD_UNDERFLOW_INT_EN | \
  722. B_AX_CPU_F2P_QSEL_ERR_INT_EN | \
  723. B_AX_CPU_F2P_SEQ_ERR_INT_EN | \
  724. B_AX_CPU_FLOW_CTRL_ERR_INT_EN | \
  725. B_AX_CPU_NULLPKT_ERR_INT_EN | \
  726. B_AX_CPU_BURST_NUM_ERR_INT_EN | \
  727. B_AX_CPU_RXAGG_CFG_ERR_INT_EN | \
  728. B_AX_CPU_SHIFT_EN_ERR_INT_EN | \
  729. B_AX_CPU_TOTAL_LEN_ERR_INT_EN | \
  730. B_AX_CPU_DMA_PROCESS_ERR_INT_EN | \
  731. B_AX_CPU_SHIFT_DMA_CFG_ERR_INT_EN | \
  732. B_AX_CPU_CHKSUM_FSM_ERR_INT_EN | \
  733. B_AX_CPU_RX_WRITE_OVERFLOW_INT_EN | \
  734. B_AX_CPU_RX_WRITE_UNDERFLOW_INT_EN)
  735. #define B_AX_CPU_DISP_IMR_SET (B_AX_CPU_PKT_FAIL_DBG_INT_EN | \
  736. B_AX_CPU_PAYLOAD_OVERFLOW_INT_EN | \
  737. B_AX_CPU_PAYLOAD_UNDERFLOW_INT_EN | \
  738. B_AX_CPU_TOTAL_LEN_ERR_INT_EN)
  739. #define B_AX_CR_PLD_LEN_ERR_INT_EN BIT(30)
  740. #define B_AX_CR_WRFF_UNDERFLOW_ERR_INT_EN BIT(29)
  741. #define B_AX_CR_WRFF_OVERFLOW_ERR_INT_EN BIT(28)
  742. #define B_AX_CR_SHIFT_DMA_CFG_ERR_INT_EN BIT(27)
  743. #define B_AX_CR_DMA_PROCESS_ERR_INT_EN BIT(26)
  744. #define B_AX_CR_TOTAL_LEN_UNDER_ERR_INT_EN BIT(25)
  745. #define B_AX_CR_SHIFT_EN_ERR_INT_EN BIT(24)
  746. #define B_AX_REUSE_FIFO_B_UNDER_ERR_INT_EN BIT(22)
  747. #define B_AX_REUSE_FIFO_B_OVER_ERR_INT_EN BIT(21)
  748. #define B_AX_REUSE_FIFO_A_UNDER_ERR_INT_EN BIT(20)
  749. #define B_AX_REUSE_FIFO_A_OVER_ERR_INT_EN BIT(19)
  750. #define B_AX_CT_ADDR_INFO_LEN_MISS_ERR_INT_EN BIT(17)
  751. #define B_AX_CT_WD_LEN_OVER_ERR_INT_EN BIT(16)
  752. #define B_AX_CT_F2P_SEQ_ERR_INT_EN BIT(15)
  753. #define B_AX_CT_F2P_QSEL_ERR_INT_EN BIT(14)
  754. #define B_AX_CT_PLD_CMD_UNDERFLOW_ERR_INT_EN BIT(13)
  755. #define B_AX_CT_PLD_CMD_OVERFLOW_ERR_INT_EN BIT(12)
  756. #define B_AX_CT_PRE_SUB_ERR_INT_EN BIT(11)
  757. #define B_AX_CT_WD_CHKSUM_ERR_INT_EN BIT(10)
  758. #define B_AX_CT_CHANNEL_DMA_ERR_INT_EN BIT(9)
  759. #define B_AX_CT_OFFSET_UNMATCH_ERR_INT_EN BIT(8)
  760. #define B_AX_CT_PAYLOAD_CHKSUM_ERR_INT_EN BIT(7)
  761. #define B_AX_CT_PAYLOAD_UNDER_ERR_INT_EN BIT(6)
  762. #define B_AX_CT_PAYLOAD_OVER_ERR_INT_EN BIT(5)
  763. #define B_AX_CT_PERMU_FF_UNDERFLOW_ERR_INT_EN BIT(4)
  764. #define B_AX_CT_PERMU_FF_OVERFLOW_ERR_INT_EN BIT(3)
  765. #define B_AX_CT_CH_ID_ERR_INT_EN BIT(2)
  766. #define B_AX_CT_EP_CH_DIFF_ERR_INT_EN BIT(0)
  767. #define B_AX_CPU_DISP_IMR_CLR_V1 (B_AX_CT_EP_CH_DIFF_ERR_INT_EN | \
  768. B_AX_CT_CH_ID_ERR_INT_EN | \
  769. B_AX_CT_PERMU_FF_OVERFLOW_ERR_INT_EN | \
  770. B_AX_CT_PERMU_FF_UNDERFLOW_ERR_INT_EN | \
  771. B_AX_CT_PAYLOAD_OVER_ERR_INT_EN | \
  772. B_AX_CT_PAYLOAD_UNDER_ERR_INT_EN | \
  773. B_AX_CT_PAYLOAD_CHKSUM_ERR_INT_EN | \
  774. B_AX_CT_OFFSET_UNMATCH_ERR_INT_EN | \
  775. B_AX_CT_CHANNEL_DMA_ERR_INT_EN | \
  776. B_AX_CT_WD_CHKSUM_ERR_INT_EN | \
  777. B_AX_CT_PRE_SUB_ERR_INT_EN | \
  778. B_AX_CT_PLD_CMD_OVERFLOW_ERR_INT_EN | \
  779. B_AX_CT_PLD_CMD_UNDERFLOW_ERR_INT_EN | \
  780. B_AX_CT_F2P_QSEL_ERR_INT_EN | \
  781. B_AX_CT_F2P_SEQ_ERR_INT_EN | \
  782. B_AX_CT_WD_LEN_OVER_ERR_INT_EN | \
  783. B_AX_CT_ADDR_INFO_LEN_MISS_ERR_INT_EN | \
  784. B_AX_REUSE_FIFO_A_OVER_ERR_INT_EN | \
  785. B_AX_REUSE_FIFO_A_UNDER_ERR_INT_EN | \
  786. B_AX_REUSE_FIFO_B_OVER_ERR_INT_EN | \
  787. B_AX_REUSE_FIFO_B_UNDER_ERR_INT_EN | \
  788. B_AX_CR_SHIFT_EN_ERR_INT_EN | \
  789. B_AX_CR_TOTAL_LEN_UNDER_ERR_INT_EN | \
  790. B_AX_CR_DMA_PROCESS_ERR_INT_EN | \
  791. B_AX_CR_SHIFT_DMA_CFG_ERR_INT_EN | \
  792. B_AX_CR_WRFF_OVERFLOW_ERR_INT_EN | \
  793. B_AX_CR_WRFF_UNDERFLOW_ERR_INT_EN | \
  794. B_AX_CR_PLD_LEN_ERR_INT_EN)
  795. #define B_AX_CPU_DISP_IMR_SET_V1 (B_AX_CT_PAYLOAD_OVER_ERR_INT_EN | \
  796. B_AX_CT_PAYLOAD_UNDER_ERR_INT_EN | \
  797. B_AX_CR_TOTAL_LEN_UNDER_ERR_INT_EN | \
  798. B_AX_CR_DMA_PROCESS_ERR_INT_EN | \
  799. B_AX_CR_WRFF_OVERFLOW_ERR_INT_EN | \
  800. B_AX_CR_WRFF_UNDERFLOW_ERR_INT_EN)
  801. #define R_AX_OTHER_DISPATCHER_ERR_IMR 0x8858
  802. #define B_AX_OTHER_STF_WROQT_UNDERFLOW_INT_EN BIT(29)
  803. #define B_AX_OTHER_STF_WROQT_OVERFLOW_INT_EN BIT(28)
  804. #define B_AX_OTHER_STF_WRFF_UNDERFLOW_INT_EN BIT(27)
  805. #define B_AX_OTHER_STF_WRFF_OVERFLOW_INT_EN BIT(26)
  806. #define B_AX_OTHER_STF_CMD_UNDERFLOW_INT_EN BIT(25)
  807. #define B_AX_OTHER_STF_CMD_OVERFLOW_INT_EN BIT(24)
  808. #define B_AX_HOST_ADDR_INFO_LEN_ZERO_ERR_INT_EN BIT(17)
  809. #define B_AX_CPU_ADDR_INFO_LEN_ZERO_ERR_INT_EN BIT(16)
  810. #define B_AX_PLE_OUTPUT_ERR_INT_EN BIT(12)
  811. #define B_AX_PLE_RESP_ERR_INT_EN BIT(11)
  812. #define B_AX_PLE_BURST_NUM_ERR_INT_EN BIT(10)
  813. #define B_AX_PLE_NULL_PKT_ERR_INT_EN BIT(9)
  814. #define B_AX_PLE_FLOW_CTRL_ERR_INT_EN BIT(8)
  815. #define B_AX_WDE_OUTPUT_ERR_INT_EN BIT(4)
  816. #define B_AX_WDE_RESP_ERR_INT_EN BIT(3)
  817. #define B_AX_WDE_BURST_NUM_ERR_INT_EN BIT(2)
  818. #define B_AX_WDE_NULL_PKT_ERR_INT_EN BIT(1)
  819. #define B_AX_WDE_FLOW_CTRL_ERR_INT_EN BIT(0)
  820. #define B_AX_OTHER_DISP_IMR_CLR (B_AX_OTHER_STF_WROQT_UNDERFLOW_INT_EN | \
  821. B_AX_OTHER_STF_WROQT_OVERFLOW_INT_EN | \
  822. B_AX_OTHER_STF_WRFF_UNDERFLOW_INT_EN | \
  823. B_AX_OTHER_STF_WRFF_OVERFLOW_INT_EN | \
  824. B_AX_OTHER_STF_CMD_UNDERFLOW_INT_EN | \
  825. B_AX_OTHER_STF_CMD_OVERFLOW_INT_EN | \
  826. B_AX_HOST_ADDR_INFO_LEN_ZERO_ERR_INT_EN | \
  827. B_AX_CPU_ADDR_INFO_LEN_ZERO_ERR_INT_EN | \
  828. B_AX_PLE_OUTPUT_ERR_INT_EN | \
  829. B_AX_PLE_RESP_ERR_INT_EN | \
  830. B_AX_PLE_BURST_NUM_ERR_INT_EN | \
  831. B_AX_PLE_NULL_PKT_ERR_INT_EN | \
  832. B_AX_PLE_FLOW_CTRL_ERR_INT_EN | \
  833. B_AX_WDE_OUTPUT_ERR_INT_EN | \
  834. B_AX_WDE_RESP_ERR_INT_EN | \
  835. B_AX_WDE_BURST_NUM_ERR_INT_EN | \
  836. B_AX_WDE_NULL_PKT_ERR_INT_EN | \
  837. B_AX_WDE_FLOW_CTRL_ERR_INT_EN)
  838. #define B_AX_REUSE_SIZE_ERR_INT_EN BIT(31)
  839. #define B_AX_REUSE_EN_ERR_INT_EN BIT(30)
  840. #define B_AX_STF_OQT_UNDERFLOW_ERR_INT_EN BIT(29)
  841. #define B_AX_STF_OQT_OVERFLOW_ERR_INT_EN BIT(28)
  842. #define B_AX_STF_WRFF_UNDERFLOW_ERR_INT_EN BIT(27)
  843. #define B_AX_STF_WRFF_OVERFLOW_ERR_INT_EN BIT(26)
  844. #define B_AX_STF_CMD_UNDERFLOW_ERR_INT_EN BIT(25)
  845. #define B_AX_STF_CMD_OVERFLOW_ERR_INT_EN BIT(24)
  846. #define B_AX_REUSE_SIZE_ZERO_ERR_INT_EN BIT(23)
  847. #define B_AX_REUSE_PKT_CNT_ERR_INT_EN BIT(22)
  848. #define B_AX_CDT_PTR_TIMEOUT_ERR_INT_EN BIT(21)
  849. #define B_AX_CDT_HCI_TIMEOUT_ERR_INT_EN BIT(20)
  850. #define B_AX_HDT_PTR_TIMEOUT_ERR_INT_EN BIT(19)
  851. #define B_AX_HDT_HCI_TIMEOUT_ERR_INT_EN BIT(18)
  852. #define B_AX_CDT_ADDR_INFO_LEN_ERR_INT_EN BIT(17)
  853. #define B_AX_HDT_ADDR_INFO_LEN_ERR_INT_EN BIT(16)
  854. #define B_AX_CDR_DMA_TIMEOUT_ERR_INT_EN BIT(15)
  855. #define B_AX_CDR_RX_TIMEOUT_ERR_INT_EN BIT(14)
  856. #define B_AX_PLE_RESPOSE_ERR_INT_EN BIT(11)
  857. #define B_AX_HDR_DMA_TIMEOUT_ERR_INT_EN BIT(7)
  858. #define B_AX_HDR_RX_TIMEOUT_ERR_INT_EN BIT(6)
  859. #define B_AX_WDE_RESPONSE_ERR_INT_EN BIT(3)
  860. #define B_AX_OTHER_DISP_IMR_CLR_V1 (B_AX_CT_EP_CH_DIFF_ERR_INT_EN | \
  861. B_AX_WDE_FLOW_CTRL_ERR_INT_EN | \
  862. B_AX_WDE_NULL_PKT_ERR_INT_EN | \
  863. B_AX_WDE_BURST_NUM_ERR_INT_EN | \
  864. B_AX_WDE_RESPONSE_ERR_INT_EN | \
  865. B_AX_WDE_OUTPUT_ERR_INT_EN | \
  866. B_AX_HDR_RX_TIMEOUT_ERR_INT_EN | \
  867. B_AX_HDR_DMA_TIMEOUT_ERR_INT_EN | \
  868. B_AX_PLE_FLOW_CTRL_ERR_INT_EN | \
  869. B_AX_PLE_NULL_PKT_ERR_INT_EN | \
  870. B_AX_PLE_BURST_NUM_ERR_INT_EN | \
  871. B_AX_PLE_RESPOSE_ERR_INT_EN | \
  872. B_AX_PLE_OUTPUT_ERR_INT_EN | \
  873. B_AX_CDR_RX_TIMEOUT_ERR_INT_EN | \
  874. B_AX_CDR_DMA_TIMEOUT_ERR_INT_EN | \
  875. B_AX_HDT_ADDR_INFO_LEN_ERR_INT_EN | \
  876. B_AX_CDT_ADDR_INFO_LEN_ERR_INT_EN | \
  877. B_AX_HDT_HCI_TIMEOUT_ERR_INT_EN | \
  878. B_AX_HDT_PTR_TIMEOUT_ERR_INT_EN | \
  879. B_AX_CDT_HCI_TIMEOUT_ERR_INT_EN | \
  880. B_AX_CDT_PTR_TIMEOUT_ERR_INT_EN | \
  881. B_AX_REUSE_PKT_CNT_ERR_INT_EN | \
  882. B_AX_REUSE_SIZE_ZERO_ERR_INT_EN | \
  883. B_AX_STF_CMD_OVERFLOW_ERR_INT_EN | \
  884. B_AX_STF_CMD_UNDERFLOW_ERR_INT_EN | \
  885. B_AX_STF_WRFF_OVERFLOW_ERR_INT_EN | \
  886. B_AX_STF_WRFF_UNDERFLOW_ERR_INT_EN | \
  887. B_AX_STF_OQT_OVERFLOW_ERR_INT_EN | \
  888. B_AX_STF_OQT_UNDERFLOW_ERR_INT_EN | \
  889. B_AX_REUSE_EN_ERR_INT_EN | \
  890. B_AX_REUSE_SIZE_ERR_INT_EN)
  891. #define B_AX_OTHER_DISP_IMR_SET_V1 (B_AX_CDR_RX_TIMEOUT_ERR_INT_EN | \
  892. B_AX_CDR_DMA_TIMEOUT_ERR_INT_EN | \
  893. B_AX_HDT_HCI_TIMEOUT_ERR_INT_EN | \
  894. B_AX_HDT_PTR_TIMEOUT_ERR_INT_EN | \
  895. B_AX_CDT_HCI_TIMEOUT_ERR_INT_EN | \
  896. B_AX_CDT_PTR_TIMEOUT_ERR_INT_EN | \
  897. B_AX_STF_OQT_OVERFLOW_ERR_INT_EN | \
  898. B_AX_STF_OQT_UNDERFLOW_ERR_INT_EN)
  899. #define R_AX_DISPATCHER_DBG_PORT 0x8860
  900. #define B_AX_DISPATCHER_DBG_SEL_MASK GENMASK(11, 8)
  901. #define B_AX_DISPATCHER_INTN_SEL_MASK GENMASK(7, 4)
  902. #define B_AX_DISPATCHER_CH_SEL_MASK GENMASK(3, 0)
  903. #define R_AX_RX_FUNCTION_STOP 0x8920
  904. #define B_AX_HDR_RX_STOP BIT(0)
  905. #define R_AX_HCI_FC_CTRL 0x8A00
  906. #define B_AX_HCI_FC_CH12_FULL_COND_MASK GENMASK(11, 10)
  907. #define B_AX_HCI_FC_WP_CH811_FULL_COND_MASK GENMASK(9, 8)
  908. #define B_AX_HCI_FC_WP_CH07_FULL_COND_MASK GENMASK(7, 6)
  909. #define B_AX_HCI_FC_WD_FULL_COND_MASK GENMASK(5, 4)
  910. #define B_AX_HCI_FC_CH12_EN BIT(3)
  911. #define B_AX_HCI_FC_MODE_MASK GENMASK(2, 1)
  912. #define B_AX_HCI_FC_EN BIT(0)
  913. #define R_AX_CH_PAGE_CTRL 0x8A04
  914. #define B_AX_PREC_PAGE_CH12_MASK GENMASK(24, 16)
  915. #define B_AX_PREC_PAGE_CH011_MASK GENMASK(8, 0)
  916. #define B_AX_MAX_PG_MASK GENMASK(28, 16)
  917. #define B_AX_MIN_PG_MASK GENMASK(12, 0)
  918. #define B_AX_GRP BIT(31)
  919. #define R_AX_ACH0_PAGE_CTRL 0x8A10
  920. #define R_AX_ACH1_PAGE_CTRL 0x8A14
  921. #define R_AX_ACH2_PAGE_CTRL 0x8A18
  922. #define R_AX_ACH3_PAGE_CTRL 0x8A1C
  923. #define R_AX_ACH4_PAGE_CTRL 0x8A20
  924. #define R_AX_ACH5_PAGE_CTRL 0x8A24
  925. #define R_AX_ACH6_PAGE_CTRL 0x8A28
  926. #define R_AX_ACH7_PAGE_CTRL 0x8A2C
  927. #define R_AX_CH8_PAGE_CTRL 0x8A30
  928. #define R_AX_CH9_PAGE_CTRL 0x8A34
  929. #define R_AX_CH10_PAGE_CTRL 0x8A38
  930. #define R_AX_CH11_PAGE_CTRL 0x8A3C
  931. #define B_AX_AVAL_PG_MASK GENMASK(27, 16)
  932. #define B_AX_USE_PG_MASK GENMASK(12, 0)
  933. #define R_AX_ACH0_PAGE_INFO 0x8A50
  934. #define R_AX_ACH1_PAGE_INFO 0x8A54
  935. #define R_AX_ACH2_PAGE_INFO 0x8A58
  936. #define R_AX_ACH3_PAGE_INFO 0x8A5C
  937. #define R_AX_ACH4_PAGE_INFO 0x8A60
  938. #define R_AX_ACH5_PAGE_INFO 0x8A64
  939. #define R_AX_ACH6_PAGE_INFO 0x8A68
  940. #define R_AX_ACH7_PAGE_INFO 0x8A6C
  941. #define R_AX_CH8_PAGE_INFO 0x8A70
  942. #define R_AX_CH9_PAGE_INFO 0x8A74
  943. #define R_AX_CH10_PAGE_INFO 0x8A78
  944. #define R_AX_CH11_PAGE_INFO 0x8A7C
  945. #define R_AX_CH12_PAGE_INFO 0x8A80
  946. #define R_AX_PUB_PAGE_INFO3 0x8A8C
  947. #define B_AX_G1_AVAL_PG_MASK GENMASK(28, 16)
  948. #define B_AX_G0_AVAL_PG_MASK GENMASK(12, 0)
  949. #define R_AX_PUB_PAGE_CTRL1 0x8A90
  950. #define B_AX_PUBPG_G1_MASK GENMASK(28, 16)
  951. #define B_AX_PUBPG_G0_MASK GENMASK(12, 0)
  952. #define R_AX_PUB_PAGE_CTRL2 0x8A94
  953. #define B_AX_PUBPG_ALL_MASK GENMASK(12, 0)
  954. #define R_AX_PUB_PAGE_INFO1 0x8A98
  955. #define B_AX_G1_USE_PG_MASK GENMASK(28, 16)
  956. #define B_AX_G0_USE_PG_MASK GENMASK(12, 0)
  957. #define R_AX_PUB_PAGE_INFO2 0x8A9C
  958. #define B_AX_PUB_AVAL_PG_MASK GENMASK(12, 0)
  959. #define R_AX_WP_PAGE_CTRL1 0x8AA0
  960. #define B_AX_PREC_PAGE_WP_CH811_MASK GENMASK(24, 16)
  961. #define B_AX_PREC_PAGE_WP_CH07_MASK GENMASK(8, 0)
  962. #define R_AX_WP_PAGE_CTRL2 0x8AA4
  963. #define B_AX_WP_THRD_MASK GENMASK(12, 0)
  964. #define R_AX_WP_PAGE_INFO1 0x8AA8
  965. #define B_AX_WP_AVAL_PG_MASK GENMASK(28, 16)
  966. #define R_AX_WDE_PKTBUF_CFG 0x8C08
  967. #define B_AX_WDE_START_BOUND_MASK GENMASK(13, 8)
  968. #define B_AX_WDE_PAGE_SEL_MASK GENMASK(1, 0)
  969. #define B_AX_WDE_FREE_PAGE_NUM_MASK GENMASK(28, 16)
  970. #define R_AX_WDE_ERRFLAG_MSG 0x8C30
  971. #define B_AX_WDE_ERR_FLAG_MSG_MASK GENMASK(31, 0)
  972. #define R_AX_WDE_ERR_FLAG_CFG_NUM1 0x8C34
  973. #define B_AX_WDE_ERR_FLAG_NUM1_VLD BIT(31)
  974. #define B_AX_WDE_ERR_FLAG_NUM1_MSTIDX_MASK GENMASK(27, 24)
  975. #define B_AX_WDE_ERR_FLAG_NUM1_ISRIDX_MASK GENMASK(20, 16)
  976. #define B_AX_WDE_DATCHN_FRZTMR_MODE BIT(2)
  977. #define B_AX_WDE_QUEMGN_FRZTMR_MODE BIT(1)
  978. #define B_AX_WDE_BUFMGN_FRZTMR_MODE BIT(0)
  979. #define R_AX_WDE_ERR_IMR 0x8C38
  980. #define B_AX_WDE_DATCHN_RRDY_ERR_INT_EN BIT(27)
  981. #define B_AX_WDE_DATCHN_FRZTO_ERR_INT_EN BIT(26)
  982. #define B_AX_WDE_DATCHN_NULLPG_ERR_INT_EN BIT(25)
  983. #define B_AX_WDE_DATCHN_ARBT_ERR_INT_EN BIT(24)
  984. #define B_AX_WDE_QUEMGN_FRZTO_ERR_INT_EN BIT(19)
  985. #define B_AX_WDE_NXTPKTLL_AD_ERR_INT_EN BIT(18)
  986. #define B_AX_WDE_PREPKTLLT_AD_ERR_INT_EN BIT(17)
  987. #define B_AX_WDE_ENQ_PKTCNT_NVAL_ERR_INT_EN BIT(16)
  988. #define B_AX_WDE_ENQ_PKTCNT_OVRF_ERR_INT_EN BIT(15)
  989. #define B_AX_WDE_QUE_SRCQUEID_ERR_INT_EN BIT(14)
  990. #define B_AX_WDE_QUE_DSTQUEID_ERR_INT_EN BIT(13)
  991. #define B_AX_WDE_QUE_CMDTYPE_ERR_INT_EN BIT(12)
  992. #define B_AX_WDE_BUFMGN_FRZTO_ERR_INT_EN BIT(7)
  993. #define B_AX_WDE_GETNPG_PGOFST_ERR_INT_EN BIT(6)
  994. #define B_AX_WDE_GETNPG_STRPG_ERR_INT_EN BIT(5)
  995. #define B_AX_WDE_BUFREQ_SRCHTAILPG_ERR_INT_EN BIT(4)
  996. #define B_AX_WDE_BUFRTN_SIZE_ERR_INT_EN BIT(3)
  997. #define B_AX_WDE_BUFRTN_INVLD_PKTID_ERR_INT_EN BIT(2)
  998. #define B_AX_WDE_BUFREQ_UNAVAL_ERR_INT_EN BIT(1)
  999. #define B_AX_WDE_BUFREQ_QTAID_ERR_INT_EN BIT(0)
  1000. #define B_AX_WDE_IMR_CLR (B_AX_WDE_BUFREQ_QTAID_ERR_INT_EN | \
  1001. B_AX_WDE_BUFREQ_UNAVAL_ERR_INT_EN | \
  1002. B_AX_WDE_BUFRTN_INVLD_PKTID_ERR_INT_EN | \
  1003. B_AX_WDE_BUFRTN_SIZE_ERR_INT_EN | \
  1004. B_AX_WDE_BUFREQ_SRCHTAILPG_ERR_INT_EN | \
  1005. B_AX_WDE_GETNPG_STRPG_ERR_INT_EN | \
  1006. B_AX_WDE_GETNPG_PGOFST_ERR_INT_EN | \
  1007. B_AX_WDE_BUFMGN_FRZTO_ERR_INT_EN | \
  1008. B_AX_WDE_QUE_CMDTYPE_ERR_INT_EN | \
  1009. B_AX_WDE_QUE_DSTQUEID_ERR_INT_EN | \
  1010. B_AX_WDE_QUE_SRCQUEID_ERR_INT_EN | \
  1011. B_AX_WDE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \
  1012. B_AX_WDE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \
  1013. B_AX_WDE_PREPKTLLT_AD_ERR_INT_EN | \
  1014. B_AX_WDE_NXTPKTLL_AD_ERR_INT_EN | \
  1015. B_AX_WDE_QUEMGN_FRZTO_ERR_INT_EN | \
  1016. B_AX_WDE_DATCHN_ARBT_ERR_INT_EN | \
  1017. B_AX_WDE_DATCHN_NULLPG_ERR_INT_EN | \
  1018. B_AX_WDE_DATCHN_FRZTO_ERR_INT_EN)
  1019. #define B_AX_WDE_IMR_SET (B_AX_WDE_BUFREQ_QTAID_ERR_INT_EN | \
  1020. B_AX_WDE_BUFREQ_UNAVAL_ERR_INT_EN | \
  1021. B_AX_WDE_BUFRTN_INVLD_PKTID_ERR_INT_EN | \
  1022. B_AX_WDE_BUFRTN_SIZE_ERR_INT_EN | \
  1023. B_AX_WDE_BUFREQ_SRCHTAILPG_ERR_INT_EN | \
  1024. B_AX_WDE_GETNPG_STRPG_ERR_INT_EN | \
  1025. B_AX_WDE_GETNPG_PGOFST_ERR_INT_EN | \
  1026. B_AX_WDE_BUFMGN_FRZTO_ERR_INT_EN | \
  1027. B_AX_WDE_QUE_CMDTYPE_ERR_INT_EN | \
  1028. B_AX_WDE_QUE_DSTQUEID_ERR_INT_EN | \
  1029. B_AX_WDE_QUE_SRCQUEID_ERR_INT_EN | \
  1030. B_AX_WDE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \
  1031. B_AX_WDE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \
  1032. B_AX_WDE_PREPKTLLT_AD_ERR_INT_EN | \
  1033. B_AX_WDE_NXTPKTLL_AD_ERR_INT_EN | \
  1034. B_AX_WDE_QUEMGN_FRZTO_ERR_INT_EN | \
  1035. B_AX_WDE_DATCHN_ARBT_ERR_INT_EN | \
  1036. B_AX_WDE_DATCHN_NULLPG_ERR_INT_EN | \
  1037. B_AX_WDE_DATCHN_FRZTO_ERR_INT_EN)
  1038. #define B_AX_WDE_DATCHN_CAMREQ_ERR_INT_EN BIT(29)
  1039. #define B_AX_WDE_DATCHN_ADRERR_ERR_INT_EN BIT(28)
  1040. #define B_AX_WDE_DATCHN_RRDY_ERR_INT_EN BIT(27)
  1041. #define B_AX_WDE_DATCHN_FRZTO_ERR_INT_EN BIT(26)
  1042. #define B_AX_WDE_DATCHN_NULLPG_ERR_INT_EN BIT(25)
  1043. #define B_AX_WDE_DATCHN_ARBT_ERR_INT_EN BIT(24)
  1044. #define B_AX_WDE_QUEMGN_FRZTO_ERR_INT_EN BIT(19)
  1045. #define B_AX_WDE_NXTPKTLL_AD_ERR_INT_EN BIT(18)
  1046. #define B_AX_WDE_PREPKTLLT_AD_ERR_INT_EN BIT(17)
  1047. #define B_AX_WDE_ENQ_PKTCNT_NVAL_ERR_INT_EN BIT(16)
  1048. #define B_AX_WDE_ENQ_PKTCNT_OVRF_ERR_INT_EN BIT(15)
  1049. #define B_AX_WDE_QUE_SRCQUEID_ERR_INT_EN BIT(14)
  1050. #define B_AX_WDE_BUFMGN_FRZTO_ERR_INT_EN_V1 BIT(9)
  1051. #define B_AX_WDE_GETNPG_PGOFST_ERR_INT_EN_V1 BIT(8)
  1052. #define B_AX_WDE_GETNPG_STRPG_ERR_INT_EN_V1 BIT(7)
  1053. #define B_AX_WDE_BUFREQ_SRCHTAILPG_ERR_INT_EN_V1 BIT(6)
  1054. #define B_AX_WDE_BUFRTN_SIZE_ERR_INT_EN_V1 BIT(5)
  1055. #define B_AX_WDE_BUFRTN_INVLD_PKTID_ERR_INT_EN_V1 BIT(4)
  1056. #define B_AX_WDE_BUFREQ_UNAVAL_ERR_INT_EN_V1 BIT(3)
  1057. #define B_AX_WDE_BUFREQ_SIZELMT_INT_EN BIT(2)
  1058. #define B_AX_WDE_BUFREQ_SIZE0_INT_EN BIT(1)
  1059. #define B_AX_WDE_IMR_CLR_V1 (B_AX_WDE_BUFREQ_QTAID_ERR_INT_EN | \
  1060. B_AX_WDE_BUFREQ_SIZE0_INT_EN | \
  1061. B_AX_WDE_BUFREQ_SIZELMT_INT_EN | \
  1062. B_AX_WDE_BUFREQ_UNAVAL_ERR_INT_EN_V1 | \
  1063. B_AX_WDE_BUFRTN_INVLD_PKTID_ERR_INT_EN_V1 | \
  1064. B_AX_WDE_BUFRTN_SIZE_ERR_INT_EN_V1 | \
  1065. B_AX_WDE_BUFREQ_SRCHTAILPG_ERR_INT_EN_V1 | \
  1066. B_AX_WDE_GETNPG_STRPG_ERR_INT_EN_V1 | \
  1067. B_AX_WDE_GETNPG_PGOFST_ERR_INT_EN_V1 | \
  1068. B_AX_WDE_BUFMGN_FRZTO_ERR_INT_EN_V1 | \
  1069. B_AX_WDE_QUE_CMDTYPE_ERR_INT_EN | \
  1070. B_AX_WDE_QUE_DSTQUEID_ERR_INT_EN | \
  1071. B_AX_WDE_QUE_SRCQUEID_ERR_INT_EN | \
  1072. B_AX_WDE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \
  1073. B_AX_WDE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \
  1074. B_AX_WDE_PREPKTLLT_AD_ERR_INT_EN | \
  1075. B_AX_WDE_NXTPKTLL_AD_ERR_INT_EN | \
  1076. B_AX_WDE_QUEMGN_FRZTO_ERR_INT_EN | \
  1077. B_AX_WDE_DATCHN_ARBT_ERR_INT_EN | \
  1078. B_AX_WDE_DATCHN_NULLPG_ERR_INT_EN | \
  1079. B_AX_WDE_DATCHN_FRZTO_ERR_INT_EN | \
  1080. B_AX_WDE_DATCHN_RRDY_ERR_INT_EN | \
  1081. B_AX_WDE_DATCHN_ADRERR_ERR_INT_EN | \
  1082. B_AX_WDE_DATCHN_CAMREQ_ERR_INT_EN)
  1083. #define B_AX_WDE_IMR_SET_V1 (B_AX_WDE_BUFREQ_QTAID_ERR_INT_EN | \
  1084. B_AX_WDE_BUFREQ_SIZE0_INT_EN | \
  1085. B_AX_WDE_BUFREQ_SIZELMT_INT_EN | \
  1086. B_AX_WDE_BUFREQ_UNAVAL_ERR_INT_EN_V1 | \
  1087. B_AX_WDE_BUFRTN_INVLD_PKTID_ERR_INT_EN_V1 | \
  1088. B_AX_WDE_BUFRTN_SIZE_ERR_INT_EN_V1 | \
  1089. B_AX_WDE_BUFREQ_SRCHTAILPG_ERR_INT_EN_V1 | \
  1090. B_AX_WDE_GETNPG_STRPG_ERR_INT_EN_V1 | \
  1091. B_AX_WDE_GETNPG_PGOFST_ERR_INT_EN_V1 | \
  1092. B_AX_WDE_BUFMGN_FRZTO_ERR_INT_EN_V1 | \
  1093. B_AX_WDE_QUE_CMDTYPE_ERR_INT_EN | \
  1094. B_AX_WDE_QUE_DSTQUEID_ERR_INT_EN | \
  1095. B_AX_WDE_QUE_SRCQUEID_ERR_INT_EN | \
  1096. B_AX_WDE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \
  1097. B_AX_WDE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \
  1098. B_AX_WDE_PREPKTLLT_AD_ERR_INT_EN | \
  1099. B_AX_WDE_NXTPKTLL_AD_ERR_INT_EN | \
  1100. B_AX_WDE_QUEMGN_FRZTO_ERR_INT_EN | \
  1101. B_AX_WDE_DATCHN_ARBT_ERR_INT_EN | \
  1102. B_AX_WDE_DATCHN_NULLPG_ERR_INT_EN | \
  1103. B_AX_WDE_DATCHN_FRZTO_ERR_INT_EN | \
  1104. B_AX_WDE_DATCHN_RRDY_ERR_INT_EN | \
  1105. B_AX_WDE_DATCHN_ADRERR_ERR_INT_EN | \
  1106. B_AX_WDE_DATCHN_CAMREQ_ERR_INT_EN)
  1107. #define R_AX_WDE_ERR_ISR 0x8C3C
  1108. #define B_AX_WDE_DATCHN_RRDY_ERR BIT(27)
  1109. #define B_AX_WDE_DATCHN_FRZTO_ERR BIT(26)
  1110. #define B_AX_WDE_DATCHN_NULLPG_ERR BIT(25)
  1111. #define B_AX_WDE_DATCHN_ARBT_ERR BIT(24)
  1112. #define B_AX_WDE_QUEMGN_FRZTO_ERR BIT(19)
  1113. #define B_AX_WDE_NXTPKTLL_AD_ERR BIT(18)
  1114. #define B_AX_WDE_PREPKTLLT_AD_ERR BIT(17)
  1115. #define B_AX_WDE_ENQ_PKTCNT_NVAL_ERR BIT(16)
  1116. #define B_AX_WDE_ENQ_PKTCNT_OVRF_ERR BIT(15)
  1117. #define B_AX_WDE_QUE_SRCQUEID_ERR BIT(14)
  1118. #define B_AX_WDE_QUE_DSTQUEID_ERR BIT(13)
  1119. #define B_AX_WDE_QUE_CMDTYPE_ERR BIT(12)
  1120. #define B_AX_WDE_BUFMGN_FRZTO_ERR BIT(7)
  1121. #define B_AX_WDE_GETNPG_PGOFST_ERR BIT(6)
  1122. #define B_AX_WDE_GETNPG_STRPG_ERR BIT(5)
  1123. #define B_AX_WDE_BUFREQ_SRCHTAILPG_ERR BIT(4)
  1124. #define B_AX_WDE_BUFRTN_SIZE_ERR BIT(3)
  1125. #define B_AX_WDE_BUFRTN_INVLD_PKTID_ERR BIT(2)
  1126. #define B_AX_WDE_BUFREQ_UNAVAL_ERR BIT(1)
  1127. #define B_AX_WDE_BUFREQ_QTAID_ERR BIT(0)
  1128. #define B_AX_WDE_MAX_SIZE_MASK GENMASK(27, 16)
  1129. #define B_AX_WDE_MIN_SIZE_MASK GENMASK(11, 0)
  1130. #define R_AX_WDE_QTA0_CFG 0x8C40
  1131. #define R_AX_WDE_QTA1_CFG 0x8C44
  1132. #define R_AX_WDE_QTA2_CFG 0x8C48
  1133. #define R_AX_WDE_QTA3_CFG 0x8C4C
  1134. #define R_AX_WDE_QTA4_CFG 0x8C50
  1135. #define B_AX_DLE_PUB_PGNUM GENMASK(12, 0)
  1136. #define B_AX_DLE_FREE_HEADPG GENMASK(11, 0)
  1137. #define B_AX_DLE_FREE_TAILPG GENMASK(27, 16)
  1138. #define B_AX_DLE_USE_PGNUM GENMASK(27, 16)
  1139. #define B_AX_DLE_RSV_PGNUM GENMASK(11, 0)
  1140. #define B_AX_DLE_QEMPTY_GRP GENMASK(31, 0)
  1141. #define R_AX_WDE_INI_STATUS 0x8D00
  1142. #define B_AX_WDE_Q_MGN_INI_RDY BIT(1)
  1143. #define B_AX_WDE_BUF_MGN_INI_RDY BIT(0)
  1144. #define WDE_MGN_INI_RDY (B_AX_WDE_Q_MGN_INI_RDY | B_AX_WDE_BUF_MGN_INI_RDY)
  1145. #define R_AX_WDE_DBG_FUN_INTF_CTL 0x8D10
  1146. #define B_AX_WDE_DFI_ACTIVE BIT(31)
  1147. #define B_AX_WDE_DFI_TRGSEL_MASK GENMASK(19, 16)
  1148. #define B_AX_WDE_DFI_ADDR_MASK GENMASK(15, 0)
  1149. #define R_AX_WDE_DBG_FUN_INTF_DATA 0x8D14
  1150. #define B_AX_WDE_DFI_DATA_MASK GENMASK(31, 0)
  1151. #define R_AX_PLE_PKTBUF_CFG 0x9008
  1152. #define B_AX_PLE_START_BOUND_MASK GENMASK(13, 8)
  1153. #define B_AX_PLE_PAGE_SEL_MASK GENMASK(1, 0)
  1154. #define B_AX_PLE_FREE_PAGE_NUM_MASK GENMASK(28, 16)
  1155. #define R_AX_PLE_DBGERR_LOCKEN 0x9020
  1156. #define B_AX_PLE_LOCKEN_DLEPIF07 BIT(7)
  1157. #define B_AX_PLE_LOCKEN_DLEPIF06 BIT(6)
  1158. #define B_AX_PLE_LOCKEN_DLEPIF05 BIT(5)
  1159. #define B_AX_PLE_LOCKEN_DLEPIF04 BIT(4)
  1160. #define B_AX_PLE_LOCKEN_DLEPIF03 BIT(3)
  1161. #define B_AX_PLE_LOCKEN_DLEPIF02 BIT(2)
  1162. #define B_AX_PLE_LOCKEN_DLEPIF01 BIT(1)
  1163. #define B_AX_PLE_LOCKEN_DLEPIF00 BIT(0)
  1164. #define R_AX_PLE_DBGERR_STS 0x9024
  1165. #define B_AX_PLE_LOCKON_DLEPIF07 BIT(7)
  1166. #define B_AX_PLE_LOCKON_DLEPIF06 BIT(6)
  1167. #define B_AX_PLE_LOCKON_DLEPIF05 BIT(5)
  1168. #define B_AX_PLE_LOCKON_DLEPIF04 BIT(4)
  1169. #define B_AX_PLE_LOCKON_DLEPIF03 BIT(3)
  1170. #define B_AX_PLE_LOCKON_DLEPIF02 BIT(2)
  1171. #define B_AX_PLE_LOCKON_DLEPIF01 BIT(1)
  1172. #define B_AX_PLE_LOCKON_DLEPIF00 BIT(0)
  1173. #define R_AX_PLE_ERR_FLAG_CFG_NUM1 0x9034
  1174. #define B_AX_PLE_ERR_FLAG_NUM1_VLD BIT(31)
  1175. #define B_AX_PLE_ERR_FLAG_NUM1_MSTIDX_MASK GENMASK(27, 24)
  1176. #define B_AX_PLE_ERR_FLAG_NUM1_ISRIDX_MASK GENMASK(20, 16)
  1177. #define B_AX_PLE_DATCHN_FRZTMR_MODE BIT(2)
  1178. #define B_AX_PLE_QUEMGN_FRZTMR_MODE BIT(1)
  1179. #define B_AX_PLE_BUFMGN_FRZTMR_MODE BIT(0)
  1180. #define R_AX_PLE_ERRFLAG_MSG 0x9030
  1181. #define B_AX_PLE_ERR_FLAG_MSG_MASK GENMASK(31, 0)
  1182. #define B_AX_PLE_DATCHN_CAMREQ_ERR_INT_EN BIT(29)
  1183. #define B_AX_PLE_DATCHN_ADRERR_ERR_INT_EN BIT(28)
  1184. #define B_AX_PLE_BUFMGN_FRZTO_ERR_INT_EN_V1 BIT(9)
  1185. #define B_AX_PLE_GETNPG_PGOFST_ERR_INT_EN_V1 BIT(8)
  1186. #define B_AX_PLE_GETNPG_STRPG_ERR_INT_EN_V1 BIT(7)
  1187. #define B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_INT_EN_V1 BIT(6)
  1188. #define B_AX_PLE_BUFRTN_SIZE_ERR_INT_EN_V1 BIT(5)
  1189. #define B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_INT_EN_V1 BIT(4)
  1190. #define B_AX_PLE_BUFREQ_UNAVAL_ERR_INT_EN_V1 BIT(3)
  1191. #define B_AX_PLE_BUFREQ_SIZELMT_INT_EN BIT(2)
  1192. #define B_AX_PLE_BUFREQ_SIZE0_INT_EN BIT(1)
  1193. #define B_AX_PLE_DATCHN_CAMREQ_ERR BIT(29)
  1194. #define B_AX_PLE_DATCHN_ADRERR_ERR BIT(28)
  1195. #define B_AX_PLE_BUFMGN_FRZTO_ERR_V1 BIT(9)
  1196. #define B_AX_PLE_GETNPG_PGOFST_ERR_V1 BIT(8)
  1197. #define B_AX_PLE_GETNPG_STRPG_ERR_V1 BIT(7)
  1198. #define B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_V1 BIT(6)
  1199. #define B_AX_PLE_BUFRTN_SIZE_ERR_V1 BIT(5)
  1200. #define B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_V1 BIT(4)
  1201. #define B_AX_PLE_BUFREQ_UNAVAL_ERR_V1 BIT(3)
  1202. #define B_AX_PLE_BUFREQ_SIZELMT_ERR BIT(2)
  1203. #define B_AX_PLE_BUFREQ_SIZE0_ERR BIT(1)
  1204. #define R_AX_PLE_ERR_IMR 0x9038
  1205. #define B_AX_PLE_DATCHN_RRDY_ERR_INT_EN BIT(27)
  1206. #define B_AX_PLE_DATCHN_FRZTO_ERR_INT_EN BIT(26)
  1207. #define B_AX_PLE_DATCHN_NULLPG_ERR_INT_EN BIT(25)
  1208. #define B_AX_PLE_DATCHN_ARBT_ERR_INT_EN BIT(24)
  1209. #define B_AX_PLE_QUEMGN_FRZTO_ERR_INT_EN BIT(19)
  1210. #define B_AX_PLE_NXTPKTLL_AD_ERR_INT_EN BIT(18)
  1211. #define B_AX_PLE_PREPKTLLT_AD_ERR_INT_EN BIT(17)
  1212. #define B_AX_PLE_ENQ_PKTCNT_NVAL_ERR_INT_EN BIT(16)
  1213. #define B_AX_PLE_ENQ_PKTCNT_OVRF_ERR_INT_EN BIT(15)
  1214. #define B_AX_PLE_QUE_SRCQUEID_ERR_INT_EN BIT(14)
  1215. #define B_AX_PLE_QUE_DSTQUEID_ERR_INT_EN BIT(13)
  1216. #define B_AX_PLE_QUE_CMDTYPE_ERR_INT_EN BIT(12)
  1217. #define B_AX_PLE_BUFMGN_FRZTO_ERR_INT_EN BIT(7)
  1218. #define B_AX_PLE_GETNPG_PGOFST_ERR_INT_EN BIT(6)
  1219. #define B_AX_PLE_GETNPG_STRPG_ERR_INT_EN BIT(5)
  1220. #define B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_INT_EN BIT(4)
  1221. #define B_AX_PLE_BUFRTN_SIZE_ERR_INT_EN BIT(3)
  1222. #define B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_INT_EN BIT(2)
  1223. #define B_AX_PLE_BUFREQ_UNAVAL_ERR_INT_EN BIT(1)
  1224. #define B_AX_PLE_BUFREQ_QTAID_ERR_INT_EN BIT(0)
  1225. #define B_AX_PLE_IMR_CLR (B_AX_PLE_BUFREQ_QTAID_ERR_INT_EN | \
  1226. B_AX_PLE_BUFREQ_UNAVAL_ERR_INT_EN | \
  1227. B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_INT_EN | \
  1228. B_AX_PLE_BUFRTN_SIZE_ERR_INT_EN | \
  1229. B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_INT_EN | \
  1230. B_AX_PLE_GETNPG_STRPG_ERR_INT_EN | \
  1231. B_AX_PLE_GETNPG_PGOFST_ERR_INT_EN | \
  1232. B_AX_PLE_BUFMGN_FRZTO_ERR_INT_EN | \
  1233. B_AX_PLE_QUE_CMDTYPE_ERR_INT_EN | \
  1234. B_AX_PLE_QUE_DSTQUEID_ERR_INT_EN | \
  1235. B_AX_PLE_QUE_SRCQUEID_ERR_INT_EN | \
  1236. B_AX_PLE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \
  1237. B_AX_PLE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \
  1238. B_AX_PLE_PREPKTLLT_AD_ERR_INT_EN | \
  1239. B_AX_PLE_NXTPKTLL_AD_ERR_INT_EN | \
  1240. B_AX_PLE_QUEMGN_FRZTO_ERR_INT_EN | \
  1241. B_AX_PLE_DATCHN_ARBT_ERR_INT_EN | \
  1242. B_AX_PLE_DATCHN_NULLPG_ERR_INT_EN | \
  1243. B_AX_PLE_DATCHN_FRZTO_ERR_INT_EN)
  1244. #define B_AX_PLE_IMR_SET (B_AX_PLE_BUFREQ_QTAID_ERR_INT_EN | \
  1245. B_AX_PLE_BUFREQ_UNAVAL_ERR_INT_EN | \
  1246. B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_INT_EN | \
  1247. B_AX_PLE_BUFRTN_SIZE_ERR_INT_EN | \
  1248. B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_INT_EN | \
  1249. B_AX_PLE_GETNPG_PGOFST_ERR_INT_EN | \
  1250. B_AX_PLE_BUFMGN_FRZTO_ERR_INT_EN | \
  1251. B_AX_PLE_QUE_CMDTYPE_ERR_INT_EN | \
  1252. B_AX_PLE_QUE_DSTQUEID_ERR_INT_EN | \
  1253. B_AX_PLE_QUE_SRCQUEID_ERR_INT_EN | \
  1254. B_AX_PLE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \
  1255. B_AX_PLE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \
  1256. B_AX_PLE_PREPKTLLT_AD_ERR_INT_EN | \
  1257. B_AX_PLE_NXTPKTLL_AD_ERR_INT_EN | \
  1258. B_AX_PLE_QUEMGN_FRZTO_ERR_INT_EN | \
  1259. B_AX_PLE_DATCHN_ARBT_ERR_INT_EN | \
  1260. B_AX_PLE_DATCHN_NULLPG_ERR_INT_EN | \
  1261. B_AX_PLE_DATCHN_FRZTO_ERR_INT_EN)
  1262. #define B_AX_PLE_DATCHN_CAMREQ_ERR_INT_EN BIT(29)
  1263. #define B_AX_PLE_DATCHN_ADRERR_ERR_INT_EN BIT(28)
  1264. #define B_AX_PLE_BUFMGN_FRZTO_ERR_INT_EN_V1 BIT(9)
  1265. #define B_AX_PLE_GETNPG_PGOFST_ERR_INT_EN_V1 BIT(8)
  1266. #define B_AX_PLE_GETNPG_STRPG_ERR_INT_EN_V1 BIT(7)
  1267. #define B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_INT_EN_V1 BIT(6)
  1268. #define B_AX_PLE_BUFRTN_SIZE_ERR_INT_EN_V1 BIT(5)
  1269. #define B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_INT_EN_V1 BIT(4)
  1270. #define B_AX_PLE_BUFREQ_UNAVAL_ERR_INT_EN_V1 BIT(3)
  1271. #define B_AX_PLE_BUFREQ_SIZELMT_INT_EN BIT(2)
  1272. #define B_AX_PLE_BUFREQ_SIZE0_INT_EN BIT(1)
  1273. #define B_AX_PLE_IMR_CLR_V1 (B_AX_PLE_BUFREQ_QTAID_ERR_INT_EN | \
  1274. B_AX_PLE_BUFREQ_SIZE0_INT_EN | \
  1275. B_AX_PLE_BUFREQ_SIZELMT_INT_EN | \
  1276. B_AX_PLE_BUFREQ_UNAVAL_ERR_INT_EN_V1 | \
  1277. B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_INT_EN_V1 | \
  1278. B_AX_PLE_BUFRTN_SIZE_ERR_INT_EN_V1 | \
  1279. B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_INT_EN_V1 | \
  1280. B_AX_PLE_GETNPG_STRPG_ERR_INT_EN_V1 | \
  1281. B_AX_PLE_GETNPG_PGOFST_ERR_INT_EN_V1 | \
  1282. B_AX_PLE_BUFMGN_FRZTO_ERR_INT_EN_V1 | \
  1283. B_AX_PLE_QUE_CMDTYPE_ERR_INT_EN | \
  1284. B_AX_PLE_QUE_DSTQUEID_ERR_INT_EN | \
  1285. B_AX_PLE_QUE_SRCQUEID_ERR_INT_EN | \
  1286. B_AX_PLE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \
  1287. B_AX_PLE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \
  1288. B_AX_PLE_PREPKTLLT_AD_ERR_INT_EN | \
  1289. B_AX_PLE_NXTPKTLL_AD_ERR_INT_EN | \
  1290. B_AX_PLE_QUEMGN_FRZTO_ERR_INT_EN | \
  1291. B_AX_PLE_DATCHN_ARBT_ERR_INT_EN | \
  1292. B_AX_PLE_DATCHN_NULLPG_ERR_INT_EN | \
  1293. B_AX_PLE_DATCHN_FRZTO_ERR_INT_EN | \
  1294. B_AX_PLE_DATCHN_RRDY_ERR_INT_EN | \
  1295. B_AX_PLE_DATCHN_ADRERR_ERR_INT_EN | \
  1296. B_AX_PLE_DATCHN_CAMREQ_ERR_INT_EN)
  1297. #define B_AX_PLE_IMR_SET_V1 (B_AX_PLE_BUFREQ_QTAID_ERR_INT_EN | \
  1298. B_AX_PLE_BUFREQ_SIZE0_INT_EN | \
  1299. B_AX_PLE_BUFREQ_SIZELMT_INT_EN | \
  1300. B_AX_PLE_BUFREQ_UNAVAL_ERR_INT_EN_V1 | \
  1301. B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_INT_EN_V1 | \
  1302. B_AX_PLE_BUFRTN_SIZE_ERR_INT_EN_V1 | \
  1303. B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_INT_EN_V1 | \
  1304. B_AX_PLE_GETNPG_STRPG_ERR_INT_EN_V1 | \
  1305. B_AX_PLE_GETNPG_PGOFST_ERR_INT_EN_V1 | \
  1306. B_AX_PLE_BUFMGN_FRZTO_ERR_INT_EN_V1 | \
  1307. B_AX_PLE_QUE_CMDTYPE_ERR_INT_EN | \
  1308. B_AX_PLE_QUE_DSTQUEID_ERR_INT_EN | \
  1309. B_AX_PLE_QUE_SRCQUEID_ERR_INT_EN | \
  1310. B_AX_PLE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \
  1311. B_AX_PLE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \
  1312. B_AX_PLE_PREPKTLLT_AD_ERR_INT_EN | \
  1313. B_AX_PLE_NXTPKTLL_AD_ERR_INT_EN | \
  1314. B_AX_PLE_QUEMGN_FRZTO_ERR_INT_EN | \
  1315. B_AX_PLE_DATCHN_ARBT_ERR_INT_EN | \
  1316. B_AX_PLE_DATCHN_NULLPG_ERR_INT_EN | \
  1317. B_AX_PLE_DATCHN_FRZTO_ERR_INT_EN | \
  1318. B_AX_PLE_DATCHN_RRDY_ERR_INT_EN | \
  1319. B_AX_PLE_DATCHN_ADRERR_ERR_INT_EN | \
  1320. B_AX_PLE_DATCHN_CAMREQ_ERR_INT_EN)
  1321. #define R_AX_PLE_ERR_FLAG_ISR 0x903C
  1322. #define B_AX_PLE_MAX_SIZE_MASK GENMASK(27, 16)
  1323. #define B_AX_PLE_MIN_SIZE_MASK GENMASK(11, 0)
  1324. #define R_AX_PLE_QTA0_CFG 0x9040
  1325. #define R_AX_PLE_QTA1_CFG 0x9044
  1326. #define R_AX_PLE_QTA2_CFG 0x9048
  1327. #define R_AX_PLE_QTA3_CFG 0x904C
  1328. #define R_AX_PLE_QTA4_CFG 0x9050
  1329. #define R_AX_PLE_QTA5_CFG 0x9054
  1330. #define R_AX_PLE_QTA6_CFG 0x9058
  1331. #define B_AX_PLE_Q6_MAX_SIZE_MASK GENMASK(27, 16)
  1332. #define B_AX_PLE_Q6_MIN_SIZE_MASK GENMASK(11, 0)
  1333. #define R_AX_PLE_QTA7_CFG 0x905C
  1334. #define R_AX_PLE_QTA8_CFG 0x9060
  1335. #define R_AX_PLE_QTA9_CFG 0x9064
  1336. #define R_AX_PLE_QTA10_CFG 0x9068
  1337. #define R_AX_PLE_QTA11_CFG 0x906C
  1338. #define R_AX_PLE_INI_STATUS 0x9100
  1339. #define B_AX_PLE_Q_MGN_INI_RDY BIT(1)
  1340. #define B_AX_PLE_BUF_MGN_INI_RDY BIT(0)
  1341. #define PLE_MGN_INI_RDY (B_AX_PLE_Q_MGN_INI_RDY | B_AX_PLE_BUF_MGN_INI_RDY)
  1342. #define R_AX_PLE_DBG_FUN_INTF_CTL 0x9110
  1343. #define B_AX_PLE_DFI_ACTIVE BIT(31)
  1344. #define B_AX_PLE_DFI_TRGSEL_MASK GENMASK(19, 16)
  1345. #define B_AX_PLE_DFI_ADDR_MASK GENMASK(15, 0)
  1346. #define R_AX_PLE_DBG_FUN_INTF_DATA 0x9114
  1347. #define B_AX_PLE_DFI_DATA_MASK GENMASK(31, 0)
  1348. #define R_AX_WDRLS_CFG 0x9408
  1349. #define B_AX_RLSRPT_BUFREQ_TO_MASK GENMASK(15, 8)
  1350. #define B_AX_WDRLS_MODE_MASK GENMASK(1, 0)
  1351. #define R_AX_RLSRPT0_CFG0 0x9410
  1352. #define B_AX_RLSRPT0_FLTR_MAP_MASK GENMASK(27, 24)
  1353. #define B_AX_RLSRPT0_PKTTYPE_MASK GENMASK(19, 16)
  1354. #define B_AX_RLSRPT0_PID_MASK GENMASK(10, 8)
  1355. #define B_AX_RLSRPT0_QID_MASK GENMASK(5, 0)
  1356. #define R_AX_RLSRPT0_CFG1 0x9414
  1357. #define B_AX_RLSRPT0_TO_MASK GENMASK(23, 16)
  1358. #define B_AX_RLSRPT0_AGGNUM_MASK GENMASK(7, 0)
  1359. #define R_AX_WDRLS_ERR_IMR 0x9430
  1360. #define B_AX_WDRLS_RPT1_FRZTO_ERR_INT_EN BIT(13)
  1361. #define B_AX_WDRLS_RPT1_AGGNUM0_ERR_INT_EN BIT(12)
  1362. #define B_AX_WDRLS_RPT0_FRZTO_ERR_INT_EN BIT(9)
  1363. #define B_AX_WDRLS_RPT0_AGGNUM0_ERR_INT_EN BIT(8)
  1364. #define B_AX_WDRLS_PLEBREQ_PKTID_ISNULL_ERR_INT_EN BIT(5)
  1365. #define B_AX_WDRLS_PLEBREQ_TO_ERR_INT_EN BIT(4)
  1366. #define B_AX_WDRLS_CTL_FRZTO_ERR_INT_EN BIT(2)
  1367. #define B_AX_WDRLS_CTL_PLPKTID_ISNULL_ERR_INT_EN BIT(1)
  1368. #define B_AX_WDRLS_CTL_WDPKTID_ISNULL_ERR_INT_EN BIT(0)
  1369. #define B_AX_WDRLS_IMR_EN_CLR (B_AX_WDRLS_CTL_WDPKTID_ISNULL_ERR_INT_EN | \
  1370. B_AX_WDRLS_CTL_PLPKTID_ISNULL_ERR_INT_EN | \
  1371. B_AX_WDRLS_CTL_FRZTO_ERR_INT_EN | \
  1372. B_AX_WDRLS_PLEBREQ_TO_ERR_INT_EN | \
  1373. B_AX_WDRLS_PLEBREQ_PKTID_ISNULL_ERR_INT_EN | \
  1374. B_AX_WDRLS_RPT0_AGGNUM0_ERR_INT_EN | \
  1375. B_AX_WDRLS_RPT0_FRZTO_ERR_INT_EN | \
  1376. B_AX_WDRLS_RPT1_AGGNUM0_ERR_INT_EN | \
  1377. B_AX_WDRLS_RPT1_FRZTO_ERR_INT_EN)
  1378. #define B_AX_WDRLS_IMR_SET (B_AX_WDRLS_CTL_WDPKTID_ISNULL_ERR_INT_EN | \
  1379. B_AX_WDRLS_CTL_PLPKTID_ISNULL_ERR_INT_EN | \
  1380. B_AX_WDRLS_CTL_FRZTO_ERR_INT_EN | \
  1381. B_AX_WDRLS_PLEBREQ_PKTID_ISNULL_ERR_INT_EN | \
  1382. B_AX_WDRLS_RPT0_AGGNUM0_ERR_INT_EN | \
  1383. B_AX_WDRLS_RPT0_FRZTO_ERR_INT_EN | \
  1384. B_AX_WDRLS_RPT1_AGGNUM0_ERR_INT_EN | \
  1385. B_AX_WDRLS_RPT1_FRZTO_ERR_INT_EN)
  1386. #define B_AX_WDRLS_IMR_SET_V1 (B_AX_WDRLS_CTL_WDPKTID_ISNULL_ERR_INT_EN | \
  1387. B_AX_WDRLS_CTL_PLPKTID_ISNULL_ERR_INT_EN | \
  1388. B_AX_WDRLS_CTL_FRZTO_ERR_INT_EN | \
  1389. B_AX_WDRLS_PLEBREQ_TO_ERR_INT_EN | \
  1390. B_AX_WDRLS_PLEBREQ_PKTID_ISNULL_ERR_INT_EN | \
  1391. B_AX_WDRLS_RPT0_AGGNUM0_ERR_INT_EN | \
  1392. B_AX_WDRLS_RPT0_FRZTO_ERR_INT_EN | \
  1393. B_AX_WDRLS_RPT1_AGGNUM0_ERR_INT_EN | \
  1394. B_AX_WDRLS_RPT1_FRZTO_ERR_INT_EN)
  1395. #define R_AX_WDRLS_ERR_ISR 0x9434
  1396. #define R_AX_BBRPT_COM_ERR_IMR 0x9608
  1397. #define B_AX_BBRPT_COM_HANG_EN BIT(1)
  1398. #define B_AX_BBRPT_COM_NULL_PLPKTID_ERR_INT_EN BIT(0)
  1399. #define R_AX_BBRPT_COM_ERR_IMR_ISR 0x960C
  1400. #define B_AX_BBRPT_COM_NULL_PLPKTID_ERR BIT(16)
  1401. #define B_AX_BBRPT_COM_NULL_PLPKTID_ERR_INT_EN BIT(0)
  1402. #define R_AX_BBRPT_COM_ERR_ISR 0x960C
  1403. #define B_AX_BBRPT_COM_NULL_PLPKTID_ERR_INT_V1 BIT(0)
  1404. #define R_AX_BBRPT_CHINFO_ERR_ISR 0x962C
  1405. #define B_AX_BBPRT_CHIF_TO_ERR_V1 BIT(7)
  1406. #define B_AX_BBPRT_CHIF_NULL_ERR_V1 BIT(6)
  1407. #define B_AX_BBPRT_CHIF_LEFT2_ERR_V1 BIT(5)
  1408. #define B_AX_BBPRT_CHIF_LEFT1_ERR_V1 BIT(4)
  1409. #define B_AX_BBPRT_CHIF_HDRL_ERR_V1 BIT(3)
  1410. #define B_AX_BBPRT_CHIF_BOVF_ERR_V1 BIT(2)
  1411. #define B_AX_BBPRT_CHIF_OVF_ERR_V1 BIT(1)
  1412. #define B_AX_BBPRT_CHIF_BB_TO_ERR_V1 BIT(0)
  1413. #define R_AX_BBRPT_CHINFO_ERR_IMR 0x9628
  1414. #define B_AX_BBPRT_CHIF_TO_ERR_INT_EN BIT(7)
  1415. #define B_AX_BBPRT_CHIF_NULL_ERR_INT_EN BIT(6)
  1416. #define B_AX_BBPRT_CHIF_LEFT2_ERR_INT_EN BIT(5)
  1417. #define B_AX_BBPRT_CHIF_LEFT1_ERR_INT_EN BIT(4)
  1418. #define B_AX_BBPRT_CHIF_HDRL_ERR_INT_EN BIT(3)
  1419. #define B_AX_BBPRT_CHIF_BOVF_ERR_INT_EN BIT(2)
  1420. #define B_AX_BBPRT_CHIF_OVF_ERR_INT_EN BIT(1)
  1421. #define B_AX_BBPRT_CHIF_BB_TO_ERR_INT_EN BIT(0)
  1422. #define R_AX_BBRPT_CHINFO_IMR_SET_V1 (B_AX_BBPRT_CHIF_BB_TO_ERR_INT_EN | \
  1423. B_AX_BBPRT_CHIF_OVF_ERR_INT_EN | \
  1424. B_AX_BBPRT_CHIF_BOVF_ERR_INT_EN | \
  1425. B_AX_BBPRT_CHIF_HDRL_ERR_INT_EN | \
  1426. B_AX_BBPRT_CHIF_LEFT1_ERR_INT_EN | \
  1427. B_AX_BBPRT_CHIF_LEFT2_ERR_INT_EN | \
  1428. B_AX_BBPRT_CHIF_NULL_ERR_INT_EN | \
  1429. B_AX_BBPRT_CHIF_TO_ERR_INT_EN)
  1430. #define R_AX_BBRPT_CHINFO_ERR_IMR_ISR 0x962C
  1431. #define B_AX_BBPRT_CHIF_TO_ERR BIT(23)
  1432. #define B_AX_BBPRT_CHIF_NULL_ERR BIT(22)
  1433. #define B_AX_BBPRT_CHIF_LEFT2_ERR BIT(21)
  1434. #define B_AX_BBPRT_CHIF_LEFT1_ERR BIT(20)
  1435. #define B_AX_BBPRT_CHIF_HDRL_ERR BIT(19)
  1436. #define B_AX_BBPRT_CHIF_BOVF_ERR BIT(18)
  1437. #define B_AX_BBPRT_CHIF_OVF_ERR BIT(17)
  1438. #define B_AX_BBPRT_CHIF_BB_TO_ERR BIT(16)
  1439. #define B_AX_BBPRT_CHIF_TO_ERR_INT_EN BIT(7)
  1440. #define B_AX_BBPRT_CHIF_NULL_ERR_INT_EN BIT(6)
  1441. #define B_AX_BBPRT_CHIF_LEFT2_ERR_INT_EN BIT(5)
  1442. #define B_AX_BBPRT_CHIF_LEFT1_ERR_INT_EN BIT(4)
  1443. #define B_AX_BBPRT_CHIF_HDRL_ERR_INT_EN BIT(3)
  1444. #define B_AX_BBPRT_CHIF_BOVF_ERR_INT_EN BIT(2)
  1445. #define B_AX_BBPRT_CHIF_OVF_ERR_INT_EN BIT(1)
  1446. #define B_AX_BBPRT_CHIF_BB_TO_ERR_INT_EN BIT(0)
  1447. #define B_AX_BBRPT_CHINFO_IMR_CLR (B_AX_BBPRT_CHIF_BB_TO_ERR_INT_EN | \
  1448. B_AX_BBPRT_CHIF_OVF_ERR_INT_EN | \
  1449. B_AX_BBPRT_CHIF_BOVF_ERR_INT_EN | \
  1450. B_AX_BBPRT_CHIF_HDRL_ERR_INT_EN | \
  1451. B_AX_BBPRT_CHIF_LEFT1_ERR_INT_EN | \
  1452. B_AX_BBPRT_CHIF_LEFT2_ERR_INT_EN | \
  1453. B_AX_BBPRT_CHIF_NULL_ERR_INT_EN | \
  1454. B_AX_BBPRT_CHIF_TO_ERR_INT_EN)
  1455. #define R_AX_BBRPT_DFS_ERR_IMR 0x9638
  1456. #define B_AX_BBRPT_DFS_TO_ERR_INT_EN BIT(0)
  1457. #define R_AX_BBRPT_DFS_ERR_IMR_ISR 0x963C
  1458. #define B_AX_BBRPT_DFS_TO_ERR BIT(16)
  1459. #define B_AX_BBRPT_DFS_TO_ERR_INT_EN BIT(0)
  1460. #define R_AX_BBRPT_DFS_ERR_ISR 0x963C
  1461. #define B_AX_BBRPT_DFS_TO_ERR_V1 BIT(0)
  1462. #define R_AX_LA_ERRFLAG 0x966C
  1463. #define B_AX_LA_ISR_DATA_LOSS_ERR BIT(16)
  1464. #define B_AX_LA_IMR_DATA_LOSS_ERR BIT(0)
  1465. #define R_AX_WD_BUF_REQ 0x9800
  1466. #define R_AX_PL_BUF_REQ 0x9820
  1467. #define B_AX_WD_BUF_REQ_EXEC BIT(31)
  1468. #define B_AX_WD_BUF_REQ_QUOTA_ID_MASK GENMASK(23, 16)
  1469. #define B_AX_WD_BUF_REQ_LEN_MASK GENMASK(15, 0)
  1470. #define R_AX_WD_BUF_STATUS 0x9804
  1471. #define R_AX_PL_BUF_STATUS 0x9824
  1472. #define B_AX_WD_BUF_STAT_DONE BIT(31)
  1473. #define B_AX_WD_BUF_STAT_PKTID_MASK GENMASK(11, 0)
  1474. #define S_WD_BUF_STAT_PKTID_INVALID GENMASK(11, 0)
  1475. #define R_AX_WD_CPUQ_OP_0 0x9810
  1476. #define R_AX_PL_CPUQ_OP_0 0x9830
  1477. #define B_AX_WD_CPUQ_OP_EXEC BIT(31)
  1478. #define B_AX_CPUQ_OP_CMD_TYPE_MASK GENMASK(27, 24)
  1479. #define B_AX_CPUQ_OP_MACID_MASK GENMASK(23, 16)
  1480. #define B_AX_CPUQ_OP_PKTNUM_MASK GENMASK(7, 0)
  1481. #define R_AX_WD_CPUQ_OP_1 0x9814
  1482. #define R_AX_PL_CPUQ_OP_1 0x9834
  1483. #define B_AX_CPUQ_OP_SRC_PID_MASK GENMASK(24, 22)
  1484. #define B_AX_CPUQ_OP_SRC_QID_MASK GENMASK(21, 16)
  1485. #define B_AX_CPUQ_OP_DST_PID_MASK GENMASK(8, 6)
  1486. #define B_AX_CPUQ_OP_DST_QID_MASK GENMASK(5, 0)
  1487. #define R_AX_WD_CPUQ_OP_2 0x9818
  1488. #define R_AX_PL_CPUQ_OP_2 0x9838
  1489. #define B_AX_WD_CPUQ_OP_STRT_PKTID_MASK GENMASK(27, 16)
  1490. #define B_AX_WD_CPUQ_OP_END_PKTID_MASK GENMASK(11, 0)
  1491. #define R_AX_WD_CPUQ_OP_STATUS 0x981C
  1492. #define R_AX_PL_CPUQ_OP_STATUS 0x983C
  1493. #define B_AX_WD_CPUQ_OP_STAT_DONE BIT(31)
  1494. #define B_AX_WD_CPUQ_OP_PKTID_MASK GENMASK(11, 0)
  1495. #define R_AX_CPUIO_ERR_IMR 0x9840
  1496. #define B_AX_PLEQUE_OP_ERR_INT_EN BIT(12)
  1497. #define B_AX_PLEBUF_OP_ERR_INT_EN BIT(8)
  1498. #define B_AX_WDEQUE_OP_ERR_INT_EN BIT(4)
  1499. #define B_AX_WDEBUF_OP_ERR_INT_EN BIT(0)
  1500. #define B_AX_CPUIO_IMR_CLR (B_AX_WDEBUF_OP_ERR_INT_EN | \
  1501. B_AX_WDEQUE_OP_ERR_INT_EN | \
  1502. B_AX_PLEBUF_OP_ERR_INT_EN | \
  1503. B_AX_PLEQUE_OP_ERR_INT_EN)
  1504. #define B_AX_CPUIO_IMR_SET (B_AX_WDEBUF_OP_ERR_INT_EN | \
  1505. B_AX_WDEQUE_OP_ERR_INT_EN | \
  1506. B_AX_PLEBUF_OP_ERR_INT_EN | \
  1507. B_AX_PLEQUE_OP_ERR_INT_EN)
  1508. #define R_AX_CPUIO_ERR_ISR 0x9844
  1509. #define R_AX_SEC_ERR_IMR_ISR 0x991C
  1510. #define R_AX_PKTIN_SETTING 0x9A00
  1511. #define B_AX_WD_ADDR_INFO_LENGTH BIT(1)
  1512. #define R_AX_PKTIN_ERR_IMR 0x9A20
  1513. #define B_AX_PKTIN_GETPKTID_ERR_INT_EN BIT(0)
  1514. #define R_AX_PKTIN_ERR_ISR 0x9A24
  1515. #define R_AX_MPDU_TX_ERR_ISR 0x9BF0
  1516. #define R_AX_MPDU_TX_ERR_IMR 0x9BF4
  1517. #define B_AX_TX_KSRCH_ERR_EN BIT(9)
  1518. #define B_AX_TX_NW_TYPE_ERR_EN BIT(8)
  1519. #define B_AX_TX_LLC_PRE_ERR_EN BIT(7)
  1520. #define B_AX_TX_ETH_TYPE_ERR_EN BIT(6)
  1521. #define B_AX_TX_HDR3_SIZE_ERR_INT_EN BIT(5)
  1522. #define B_AX_TX_OFFSET_ERR_INT_EN BIT(4)
  1523. #define B_AX_TX_MPDU_SIZE_ZERO_INT_EN BIT(3)
  1524. #define B_AX_TX_NXT_ERRPKTID_INT_EN BIT(2)
  1525. #define B_AX_TX_GET_ERRPKTID_INT_EN BIT(1)
  1526. #define B_AX_MPDU_TX_IMR_SET_V1 (B_AX_TX_GET_ERRPKTID_INT_EN | \
  1527. B_AX_TX_NXT_ERRPKTID_INT_EN | \
  1528. B_AX_TX_MPDU_SIZE_ZERO_INT_EN | \
  1529. B_AX_TX_HDR3_SIZE_ERR_INT_EN | \
  1530. B_AX_TX_ETH_TYPE_ERR_EN | \
  1531. B_AX_TX_NW_TYPE_ERR_EN | \
  1532. B_AX_TX_KSRCH_ERR_EN)
  1533. #define R_AX_MPDU_PROC 0x9C00
  1534. #define B_AX_A_ICV_ERR BIT(1)
  1535. #define B_AX_APPEND_FCS BIT(0)
  1536. #define R_AX_ACTION_FWD0 0x9C04
  1537. #define TRXCFG_MPDU_PROC_ACT_FRWD 0x02A95A95
  1538. #define R_AX_ACTION_FWD1 0x9C08
  1539. #define R_AX_TF_FWD 0x9C14
  1540. #define TRXCFG_MPDU_PROC_TF_FRWD 0x0000AA55
  1541. #define R_AX_HW_RPT_FWD 0x9C18
  1542. #define B_AX_FWD_PPDU_STAT_MASK GENMASK(1, 0)
  1543. #define RTW89_PRPT_DEST_HOST 1
  1544. #define RTW89_PRPT_DEST_WLCPU 2
  1545. #define R_AX_CUT_AMSDU_CTRL 0x9C40
  1546. #define TRXCFG_MPDU_PROC_CUT_CTRL 0x010E05F0
  1547. #define R_AX_WOW_CTRL 0x9C50
  1548. #define B_AX_WOW_WOWEN BIT(1)
  1549. #define R_AX_MPDU_RX_ERR_ISR 0x9CF0
  1550. #define R_AX_MPDU_RX_ERR_IMR 0x9CF4
  1551. #define B_AX_RPT_ERR_INT_EN BIT(3)
  1552. #define B_AX_MHDRLEN_ERR_INT_EN BIT(1)
  1553. #define B_AX_GETPKTID_ERR_INT_EN BIT(0)
  1554. #define B_AX_MPDU_RX_IMR_SET_V1 B_AX_RPT_ERR_INT_EN
  1555. #define R_AX_SEC_ENG_CTRL 0x9D00
  1556. #define B_AX_SEC_DBG_PORT_FIELD_MASK GENMASK(19, 16)
  1557. #define B_AX_TX_PARTIAL_MODE BIT(11)
  1558. #define B_AX_CLK_EN_CGCMP BIT(10)
  1559. #define B_AX_CLK_EN_WAPI BIT(9)
  1560. #define B_AX_CLK_EN_WEP_TKIP BIT(8)
  1561. #define B_AX_BMC_MGNT_DEC BIT(5)
  1562. #define B_AX_UC_MGNT_DEC BIT(4)
  1563. #define B_AX_MC_DEC BIT(3)
  1564. #define B_AX_BC_DEC BIT(2)
  1565. #define B_AX_SEC_RX_DEC BIT(1)
  1566. #define B_AX_SEC_TX_ENC BIT(0)
  1567. #define R_AX_SEC_MPDU_PROC 0x9D04
  1568. #define B_AX_APPEND_ICV BIT(1)
  1569. #define B_AX_APPEND_MIC BIT(0)
  1570. #define R_AX_SEC_CAM_ACCESS 0x9D10
  1571. #define R_AX_SEC_CAM_RDATA 0x9D14
  1572. #define R_AX_SEC_CAM_WDATA 0x9D18
  1573. #define R_AX_SEC_DEBUG 0x9D1C
  1574. #define B_AX_IMR_ERROR BIT(3)
  1575. #define R_AX_SEC_DEBUG1 0x9D1C
  1576. #define B_AX_TX_TIMEOUT_SEL_MASK GENMASK(31, 30)
  1577. #define AX_TX_TO_VAL 0x2
  1578. #define R_AX_SEC_TX_DEBUG 0x9D20
  1579. #define R_AX_SEC_RX_DEBUG 0x9D24
  1580. #define R_AX_SEC_TRX_PKT_CNT 0x9D28
  1581. #define R_AX_SEC_DEBUG2 0x9D28
  1582. #define B_AX_DBG_READ_SH 2
  1583. #define B_AX_DBG_READ_MSK 0x3fffffff
  1584. #define R_AX_SEC_TRX_BLK_CNT 0x9D2C
  1585. #define R_AX_SEC_ERROR_FLAG_IMR 0x9D2C
  1586. #define B_AX_RX_HANG_IMR BIT(1)
  1587. #define B_AX_TX_HANG_IMR BIT(0)
  1588. #define R_AX_SEC_ERROR_FLAG 0x9D30
  1589. #define B_AX_RX_HANG_ERROR_V1 BIT(1)
  1590. #define B_AX_TX_HANG_ERROR_V1 BIT(0)
  1591. #define R_AX_SS_CTRL 0x9E10
  1592. #define B_AX_SS_INIT_DONE_1 BIT(31)
  1593. #define B_AX_SS_WARM_INIT_FLG BIT(29)
  1594. #define B_AX_SS_NONEMPTY_SS2FINFO_EN BIT(28)
  1595. #define B_AX_SS_EN BIT(0)
  1596. #define R_AX_SS2FINFO_PATH 0x9E50
  1597. #define B_AX_SS_UL_REL BIT(31)
  1598. #define B_AX_SS_REL_QUEUE_MASK GENMASK(29, 24)
  1599. #define B_AX_SS_REL_PORT_MASK GENMASK(18, 16)
  1600. #define B_AX_SS_DEST_QUEUE_MASK GENMASK(13, 8)
  1601. #define SS2F_PATH_WLCPU 0x0A
  1602. #define B_AX_SS_DEST_PORT_MASK GENMASK(2, 0)
  1603. #define R_AX_SS_MACID_PAUSE_0 0x9EB0
  1604. #define B_AX_SS_MACID31_0_PAUSE_SH 0
  1605. #define B_AX_SS_MACID31_0_PAUSE_MASK GENMASK(31, 0)
  1606. #define R_AX_SS_MACID_PAUSE_1 0x9EB4
  1607. #define B_AX_SS_MACID63_32_PAUSE_SH 0
  1608. #define B_AX_SS_MACID63_32_PAUSE_MASK GENMASK(31, 0)
  1609. #define R_AX_SS_MACID_PAUSE_2 0x9EB8
  1610. #define B_AX_SS_MACID95_64_PAUSE_SH 0
  1611. #define B_AX_SS_MACID95_64_PAUSE_MASK GENMASK(31, 0)
  1612. #define R_AX_SS_MACID_PAUSE_3 0x9EBC
  1613. #define B_AX_SS_MACID127_96_PAUSE_SH 0
  1614. #define B_AX_SS_MACID127_96_PAUSE_MASK GENMASK(31, 0)
  1615. #define R_AX_STA_SCHEDULER_ERR_IMR 0x9EF0
  1616. #define B_AX_PLE_B_PKTID_ERR_INT_EN BIT(2)
  1617. #define B_AX_RPT_HANG_TIMEOUT_INT_EN BIT(1)
  1618. #define B_AX_SEARCH_HANG_TIMEOUT_INT_EN BIT(0)
  1619. #define B_AX_STA_SCHEDULER_IMR_SET (B_AX_SEARCH_HANG_TIMEOUT_INT_EN | \
  1620. B_AX_RPT_HANG_TIMEOUT_INT_EN | \
  1621. B_AX_PLE_B_PKTID_ERR_INT_EN)
  1622. #define R_AX_STA_SCHEDULER_ERR_ISR 0x9EF4
  1623. #define R_AX_TXPKTCTL_ERR_IMR_ISR 0x9F1C
  1624. #define B_AX_TXPKTCTL_CMDPSR_FRZTO_ERR BIT(25)
  1625. #define B_AX_TXPKTCTL_CMDPSR_CMDTYPE_ERR BIT(24)
  1626. #define B_AX_TXPKTCTL_USRCTL_RLSBMPLEN_ERR BIT(19)
  1627. #define B_AX_TXPKTCTL_USRCTL_RDNRLSCMD_ERR BIT(18)
  1628. #define B_AX_TXPKTCTL_USRCTL_NOINIT_ERR BIT(17)
  1629. #define B_AX_TXPKTCTL_USRCTL_REINIT_ERR BIT(16)
  1630. #define B_AX_TXPKTCTL_CMDPSR_FRZTO_ERR_INT_EN BIT(9)
  1631. #define B_AX_TXPKTCTL_CMDPSR_CMDTYPE_ERR_INT_EN BIT(8)
  1632. #define B_AX_TXPKTCTL_USRCTL_RLSBMPLEN_ERR_INT_EN BIT(3)
  1633. #define B_AX_TXPKTCTL_USRCTL_RDNRLSCMD_ERR_INT_EN BIT(2)
  1634. #define B_AX_TXPKTCTL_USRCTL_NOINIT_ERR_INT_EN BIT(1)
  1635. #define B_AX_TXPKTCTL_USRCTL_REINIT_ERR_INT_EN BIT(0)
  1636. #define B_AX_TXPKTCTL_IMR_B0_CLR (B_AX_TXPKTCTL_USRCTL_REINIT_ERR_INT_EN | \
  1637. B_AX_TXPKTCTL_USRCTL_NOINIT_ERR_INT_EN | \
  1638. B_AX_TXPKTCTL_USRCTL_RDNRLSCMD_ERR_INT_EN | \
  1639. B_AX_TXPKTCTL_USRCTL_RLSBMPLEN_ERR_INT_EN | \
  1640. B_AX_TXPKTCTL_CMDPSR_CMDTYPE_ERR_INT_EN | \
  1641. B_AX_TXPKTCTL_CMDPSR_FRZTO_ERR_INT_EN)
  1642. #define B_AX_TXPKTCTL_IMR_B1_CLR (B_AX_TXPKTCTL_USRCTL_REINIT_ERR_INT_EN | \
  1643. B_AX_TXPKTCTL_USRCTL_NOINIT_ERR_INT_EN | \
  1644. B_AX_TXPKTCTL_USRCTL_RDNRLSCMD_ERR_INT_EN | \
  1645. B_AX_TXPKTCTL_USRCTL_RLSBMPLEN_ERR_INT_EN | \
  1646. B_AX_TXPKTCTL_CMDPSR_CMDTYPE_ERR_INT_EN | \
  1647. B_AX_TXPKTCTL_CMDPSR_FRZTO_ERR_INT_EN)
  1648. #define B_AX_TXPKTCTL_IMR_B0_SET (B_AX_TXPKTCTL_USRCTL_REINIT_ERR_INT_EN | \
  1649. B_AX_TXPKTCTL_CMDPSR_CMDTYPE_ERR_INT_EN)
  1650. #define B_AX_TXPKTCTL_IMR_B1_SET (B_AX_TXPKTCTL_USRCTL_REINIT_ERR_INT_EN | \
  1651. B_AX_TXPKTCTL_USRCTL_NOINIT_ERR_INT_EN | \
  1652. B_AX_TXPKTCTL_CMDPSR_CMDTYPE_ERR_INT_EN | \
  1653. B_AX_TXPKTCTL_CMDPSR_FRZTO_ERR_INT_EN)
  1654. #define R_AX_TXPKTCTL_ERR_IMR_ISR_B1 0x9F2C
  1655. #define B_AX_TXPKTCTL_CMDPSR_FRZTO_ERR_INT_EN BIT(9)
  1656. #define B_AX_TXPKTCTL_USRCTL_RLSBMPLEN_ERR_INT_EN BIT(3)
  1657. #define B_AX_TXPKTCTL_USRCTL_RDNRLSCMD_ERR_INT_EN BIT(2)
  1658. #define B_AX_TXPKTCTL_USRCTL_NOINIT_ERR_INT_EN BIT(1)
  1659. #define R_AX_DBG_FUN_INTF_CTL 0x9F30
  1660. #define B_AX_DFI_ACTIVE BIT(31)
  1661. #define B_AX_DFI_TRGSEL_MASK GENMASK(19, 16)
  1662. #define B_AX_DFI_ADDR_MASK GENMASK(15, 0)
  1663. #define R_AX_DBG_FUN_INTF_DATA 0x9F34
  1664. #define B_AX_DFI_DATA_MASK GENMASK(31, 0)
  1665. #define R_AX_TXPKTCTL_B0_PRELD_CFG0 0x9F48
  1666. #define B_AX_B0_PRELD_FEN BIT(31)
  1667. #define B_AX_B0_PRELD_USEMAXSZ_MASK GENMASK(25, 16)
  1668. #define PRELD_B0_ENT_NUM 10
  1669. #define PRELD_AMSDU_SIZE 52
  1670. #define B_AX_B0_PRELD_CAM_G1ENTNUM_MASK GENMASK(12, 8)
  1671. #define B_AX_B0_PRELD_CAM_G0ENTNUM_MASK GENMASK(4, 0)
  1672. #define R_AX_TXPKTCTL_B0_PRELD_CFG1 0x9F4C
  1673. #define B_AX_B0_PRELD_NXT_TXENDWIN_MASK GENMASK(11, 8)
  1674. #define PRELD_NEXT_WND 1
  1675. #define B_AX_B0_PRELD_NXT_RSVMINSZ_MASK GENMASK(7, 0)
  1676. #define R_AX_TXPKTCTL_B0_ERRFLAG_IMR 0x9F78
  1677. #define B_AX_B0_IMR_ERR_PRELD_ENTNUMCFG BIT(21)
  1678. #define B_AX_B0_IMR_ERR_PRELD_RLSPKTSZERR BIT(20)
  1679. #define B_AX_B0_IMR_ERR_MPDUIF_DATAERR BIT(18)
  1680. #define B_AX_B0_IMR_ERR_MPDUINFO_RECFG BIT(16)
  1681. #define B_AX_B0_IMR_ERR_CMDPSR_TBLSZ BIT(11)
  1682. #define B_AX_B0_IMR_ERR_CMDPSR_FRZTO BIT(10)
  1683. #define B_AX_B0_IMR_ERR_CMDPSR_CMDTYPE BIT(9)
  1684. #define B_AX_B0_IMR_ERR_CMDPSR_1STCMDERR BIT(8)
  1685. #define B_AX_B0_IMR_ERR_USRCTL_RLSBMPLEN BIT(3)
  1686. #define B_AX_B0_IMR_ERR_USRCTL_RDNRLSCMD BIT(2)
  1687. #define B_AX_B0_IMR_ERR_USRCTL_NOINIT BIT(1)
  1688. #define B_AX_B0_IMR_ERR_USRCTL_REINIT BIT(0)
  1689. #define B_AX_TXPKTCTL_IMR_B0_CLR_V1 (B_AX_B0_IMR_ERR_USRCTL_REINIT | \
  1690. B_AX_B0_IMR_ERR_USRCTL_NOINIT | \
  1691. B_AX_B0_IMR_ERR_USRCTL_RDNRLSCMD | \
  1692. B_AX_B0_IMR_ERR_USRCTL_RLSBMPLEN | \
  1693. B_AX_B0_IMR_ERR_CMDPSR_1STCMDERR | \
  1694. B_AX_B0_IMR_ERR_CMDPSR_CMDTYPE | \
  1695. B_AX_B0_IMR_ERR_CMDPSR_FRZTO | \
  1696. B_AX_B0_IMR_ERR_CMDPSR_TBLSZ | \
  1697. B_AX_B0_IMR_ERR_MPDUINFO_RECFG | \
  1698. B_AX_B0_IMR_ERR_MPDUIF_DATAERR | \
  1699. B_AX_B0_IMR_ERR_PRELD_RLSPKTSZERR | \
  1700. B_AX_B0_IMR_ERR_PRELD_ENTNUMCFG)
  1701. #define B_AX_TXPKTCTL_IMR_B0_SET_V1 (B_AX_B0_IMR_ERR_USRCTL_REINIT | \
  1702. B_AX_B0_IMR_ERR_USRCTL_NOINIT | \
  1703. B_AX_B0_IMR_ERR_CMDPSR_1STCMDERR | \
  1704. B_AX_B0_IMR_ERR_CMDPSR_CMDTYPE | \
  1705. B_AX_B0_IMR_ERR_CMDPSR_FRZTO | \
  1706. B_AX_B0_IMR_ERR_CMDPSR_TBLSZ | \
  1707. B_AX_B0_IMR_ERR_MPDUINFO_RECFG | \
  1708. B_AX_B0_IMR_ERR_MPDUIF_DATAERR | \
  1709. B_AX_B0_IMR_ERR_PRELD_RLSPKTSZERR | \
  1710. B_AX_B0_IMR_ERR_PRELD_ENTNUMCFG)
  1711. #define R_AX_TXPKTCTL_B0_ERRFLAG_ISR 0x9F7C
  1712. #define B_AX_B0_ISR_ERR_PRELD_EVT3 BIT(23)
  1713. #define B_AX_B0_ISR_ERR_PRELD_EVT2 BIT(22)
  1714. #define B_AX_B0_ISR_ERR_PRELD_ENTNUMCFG BIT(21)
  1715. #define B_AX_B0_ISR_ERR_PRELD_RLSPKTSZERR BIT(20)
  1716. #define B_AX_B0_ISR_ERR_MPDUIF_ERR1 BIT(19)
  1717. #define B_AX_B0_ISR_ERR_MPDUIF_DATAERR BIT(18)
  1718. #define B_AX_B0_ISR_ERR_MPDUINFO_ERR1 BIT(17)
  1719. #define B_AX_B0_ISR_ERR_MPDUINFO_RECFG BIT(16)
  1720. #define B_AX_B0_ISR_ERR_CMDPSR_TBLSZ BIT(11)
  1721. #define B_AX_B0_ISR_ERR_CMDPSR_FRZTO BIT(10)
  1722. #define B_AX_B0_ISR_ERR_CMDPSR_CMDTYPE BIT(9)
  1723. #define B_AX_B0_ISR_ERR_CMDPSR_1STCMDERR BIT(8)
  1724. #define B_AX_B0_ISR_ERR_USRCTL_EVT7 BIT(7)
  1725. #define B_AX_B0_ISR_ERR_USRCTL_EVT6 BIT(6)
  1726. #define B_AX_B0_ISR_ERR_USRCTL_EVT5 BIT(5)
  1727. #define B_AX_B0_ISR_ERR_USRCTL_EVT4 BIT(4)
  1728. #define B_AX_B0_ISR_ERR_USRCTL_RLSBMPLEN BIT(3)
  1729. #define B_AX_B0_ISR_ERR_USRCTL_RDNRLSCMD BIT(2)
  1730. #define B_AX_B0_ISR_ERR_USRCTL_NOINIT BIT(1)
  1731. #define B_AX_B0_ISR_ERR_USRCTL_REINIT BIT(0)
  1732. #define R_AX_TXPKTCTL_B1_PRELD_CFG0 0x9F88
  1733. #define B_AX_B1_PRELD_FEN BIT(31)
  1734. #define B_AX_B1_PRELD_USEMAXSZ_MASK GENMASK(25, 16)
  1735. #define PRELD_B1_ENT_NUM 4
  1736. #define B_AX_B1_PRELD_CAM_G1ENTNUM_MASK GENMASK(12, 8)
  1737. #define B_AX_B1_PRELD_CAM_G0ENTNUM_MASK GENMASK(4, 0)
  1738. #define R_AX_TXPKTCTL_B1_PRELD_CFG1 0x9F8C
  1739. #define B_AX_B1_PRELD_NXT_TXENDWIN_MASK GENMASK(11, 8)
  1740. #define B_AX_B1_PRELD_NXT_RSVMINSZ_MASK GENMASK(7, 0)
  1741. #define R_AX_TXPKTCTL_B1_ERRFLAG_IMR 0x9FB8
  1742. #define B_AX_B1_IMR_ERR_PRELD_ENTNUMCFG BIT(21)
  1743. #define B_AX_B1_IMR_ERR_PRELD_RLSPKTSZERR BIT(20)
  1744. #define B_AX_B1_IMR_ERR_MPDUIF_DATAERR BIT(18)
  1745. #define B_AX_B1_IMR_ERR_MPDUINFO_RECFG BIT(16)
  1746. #define B_AX_B1_IMR_ERR_CMDPSR_TBLSZ BIT(11)
  1747. #define B_AX_B1_IMR_ERR_CMDPSR_FRZTO BIT(10)
  1748. #define B_AX_B1_IMR_ERR_CMDPSR_CMDTYPE BIT(9)
  1749. #define B_AX_B1_IMR_ERR_CMDPSR_1STCMDERR BIT(8)
  1750. #define B_AX_B1_IMR_ERR_USRCTL_RLSBMPLEN BIT(3)
  1751. #define B_AX_B1_IMR_ERR_USRCTL_RDNRLSCMD BIT(2)
  1752. #define B_AX_B1_IMR_ERR_USRCTL_NOINIT BIT(1)
  1753. #define B_AX_B1_IMR_ERR_USRCTL_REINIT BIT(0)
  1754. #define B_AX_TXPKTCTL_IMR_B1_CLR_V1 (B_AX_B1_IMR_ERR_USRCTL_REINIT | \
  1755. B_AX_B1_IMR_ERR_USRCTL_NOINIT | \
  1756. B_AX_B1_IMR_ERR_USRCTL_RDNRLSCMD | \
  1757. B_AX_B1_IMR_ERR_USRCTL_RLSBMPLEN | \
  1758. B_AX_B1_IMR_ERR_CMDPSR_1STCMDERR | \
  1759. B_AX_B1_IMR_ERR_CMDPSR_CMDTYPE | \
  1760. B_AX_B1_IMR_ERR_CMDPSR_FRZTO | \
  1761. B_AX_B1_IMR_ERR_CMDPSR_TBLSZ | \
  1762. B_AX_B1_IMR_ERR_MPDUINFO_RECFG | \
  1763. B_AX_B1_IMR_ERR_MPDUIF_DATAERR | \
  1764. B_AX_B1_IMR_ERR_PRELD_RLSPKTSZERR | \
  1765. B_AX_B1_IMR_ERR_PRELD_ENTNUMCFG)
  1766. #define B_AX_TXPKTCTL_IMR_B1_SET_V1 (B_AX_B1_IMR_ERR_USRCTL_REINIT | \
  1767. B_AX_B1_IMR_ERR_USRCTL_NOINIT | \
  1768. B_AX_B1_IMR_ERR_CMDPSR_1STCMDERR | \
  1769. B_AX_B1_IMR_ERR_CMDPSR_CMDTYPE | \
  1770. B_AX_B1_IMR_ERR_CMDPSR_FRZTO | \
  1771. B_AX_B1_IMR_ERR_CMDPSR_TBLSZ | \
  1772. B_AX_B1_IMR_ERR_MPDUINFO_RECFG | \
  1773. B_AX_B1_IMR_ERR_MPDUIF_DATAERR | \
  1774. B_AX_B1_IMR_ERR_PRELD_RLSPKTSZERR | \
  1775. B_AX_B1_IMR_ERR_PRELD_ENTNUMCFG)
  1776. #define R_AX_TXPKTCTL_B1_ERRFLAG_ISR 0x9FBC
  1777. #define B_AX_B1_ISR_ERR_PRELD_EVT3 BIT(23)
  1778. #define B_AX_B1_ISR_ERR_PRELD_EVT2 BIT(22)
  1779. #define B_AX_B1_ISR_ERR_PRELD_ENTNUMCFG BIT(21)
  1780. #define B_AX_B1_ISR_ERR_PRELD_RLSPKTSZERR BIT(20)
  1781. #define B_AX_B1_ISR_ERR_MPDUIF_ERR1 BIT(19)
  1782. #define B_AX_B1_ISR_ERR_MPDUIF_DATAERR BIT(18)
  1783. #define B_AX_B1_ISR_ERR_MPDUINFO_ERR1 BIT(17)
  1784. #define B_AX_B1_ISR_ERR_MPDUINFO_RECFG BIT(16)
  1785. #define B_AX_B1_ISR_ERR_CMDPSR_TBLSZ BIT(11)
  1786. #define B_AX_B1_ISR_ERR_CMDPSR_FRZTO BIT(10)
  1787. #define B_AX_B1_ISR_ERR_CMDPSR_CMDTYPE BIT(9)
  1788. #define B_AX_B1_ISR_ERR_CMDPSR_1STCMDERR BIT(8)
  1789. #define B_AX_B1_ISR_ERR_USRCTL_EVT7 BIT(7)
  1790. #define B_AX_B1_ISR_ERR_USRCTL_EVT6 BIT(6)
  1791. #define B_AX_B1_ISR_ERR_USRCTL_EVT5 BIT(5)
  1792. #define B_AX_B1_ISR_ERR_USRCTL_EVT4 BIT(4)
  1793. #define B_AX_B1_ISR_ERR_USRCTL_RLSBMPLEN BIT(3)
  1794. #define B_AX_B1_ISR_ERR_USRCTL_RDNRLSCMD BIT(2)
  1795. #define B_AX_B1_ISR_ERR_USRCTL_NOINIT BIT(1)
  1796. #define B_AX_B1_ISR_ERR_USRCTL_REINIT BIT(0)
  1797. #define R_AX_AFE_CTRL1 0x0024
  1798. #define B_AX_R_SYM_WLCMAC1_P4_PC_EN BIT(4)
  1799. #define B_AX_R_SYM_WLCMAC1_P3_PC_EN BIT(3)
  1800. #define B_AX_R_SYM_WLCMAC1_P2_PC_EN BIT(2)
  1801. #define B_AX_R_SYM_WLCMAC1_P1_PC_EN BIT(1)
  1802. #define B_AX_R_SYM_WLCMAC1_PC_EN BIT(0)
  1803. #define R_AX_SYS_ISO_CTRL_EXTEND 0x0080
  1804. #define B_AX_CMAC1_FEN BIT(30)
  1805. #define B_AX_R_SYM_FEN_WLBBGLB_1 BIT(17)
  1806. #define B_AX_R_SYM_FEN_WLBBFUN_1 BIT(16)
  1807. #define B_AX_R_SYM_ISO_CMAC12PP BIT(5)
  1808. #define R_AX_CMAC_REG_START 0xC000
  1809. #define R_AX_CMAC_FUNC_EN 0xC000
  1810. #define R_AX_CMAC_FUNC_EN_C1 0xE000
  1811. #define B_AX_CMAC_CRPRT BIT(31)
  1812. #define B_AX_CMAC_EN BIT(30)
  1813. #define B_AX_CMAC_TXEN BIT(29)
  1814. #define B_AX_CMAC_RXEN BIT(28)
  1815. #define B_AX_FORCE_CMACREG_GCKEN BIT(15)
  1816. #define B_AX_PHYINTF_EN BIT(5)
  1817. #define B_AX_CMAC_DMA_EN BIT(4)
  1818. #define B_AX_PTCLTOP_EN BIT(3)
  1819. #define B_AX_SCHEDULER_EN BIT(2)
  1820. #define B_AX_TMAC_EN BIT(1)
  1821. #define B_AX_RMAC_EN BIT(0)
  1822. #define R_AX_CK_EN 0xC004
  1823. #define R_AX_CK_EN_C1 0xE004
  1824. #define B_AX_CMAC_ALLCKEN GENMASK(31, 0)
  1825. #define B_AX_CMAC_CKEN BIT(30)
  1826. #define B_AX_PHYINTF_CKEN BIT(5)
  1827. #define B_AX_CMAC_DMA_CKEN BIT(4)
  1828. #define B_AX_PTCLTOP_CKEN BIT(3)
  1829. #define B_AX_SCHEDULER_CKEN BIT(2)
  1830. #define B_AX_TMAC_CKEN BIT(1)
  1831. #define B_AX_RMAC_CKEN BIT(0)
  1832. #define R_AX_WMAC_RFMOD 0xC010
  1833. #define R_AX_WMAC_RFMOD_C1 0xE010
  1834. #define B_AX_WMAC_RFMOD_MASK GENMASK(1, 0)
  1835. #define AX_WMAC_RFMOD_20M 0
  1836. #define AX_WMAC_RFMOD_40M 1
  1837. #define AX_WMAC_RFMOD_80M 2
  1838. #define AX_WMAC_RFMOD_160M 3
  1839. #define R_AX_GID_POSITION0 0xC070
  1840. #define R_AX_GID_POSITION0_C1 0xE070
  1841. #define R_AX_GID_POSITION1 0xC074
  1842. #define R_AX_GID_POSITION1_C1 0xE074
  1843. #define R_AX_GID_POSITION2 0xC078
  1844. #define R_AX_GID_POSITION2_C1 0xE078
  1845. #define R_AX_GID_POSITION3 0xC07C
  1846. #define R_AX_GID_POSITION3_C1 0xE07C
  1847. #define R_AX_GID_POSITION_EN0 0xC080
  1848. #define R_AX_GID_POSITION_EN0_C1 0xE080
  1849. #define R_AX_GID_POSITION_EN1 0xC084
  1850. #define R_AX_GID_POSITION_EN1_C1 0xE084
  1851. #define R_AX_TX_SUB_CARRIER_VALUE 0xC088
  1852. #define R_AX_TX_SUB_CARRIER_VALUE_C1 0xE088
  1853. #define B_AX_TXSC_80M_MASK GENMASK(11, 8)
  1854. #define B_AX_TXSC_40M_MASK GENMASK(7, 4)
  1855. #define B_AX_TXSC_20M_MASK GENMASK(3, 0)
  1856. #define R_AX_PTCL_RRSR1 0xC090
  1857. #define R_AX_PTCL_RRSR1_C1 0xE090
  1858. #define B_AX_RRSR_RATE_EN_MASK GENMASK(11, 8)
  1859. #define RRSR_OFDM_CCK_EN 3
  1860. #define B_AX_RSC_MASK GENMASK(7, 6)
  1861. #define B_AX_RRSR_CCK_MASK GENMASK(3, 0)
  1862. #define R_AX_CMAC_ERR_IMR 0xC160
  1863. #define R_AX_CMAC_ERR_IMR_C1 0xE160
  1864. #define B_AX_WMAC_TX_ERR_IND_EN BIT(7)
  1865. #define B_AX_WMAC_RX_ERR_IND_EN BIT(6)
  1866. #define B_AX_TXPWR_CTRL_ERR_IND_EN BIT(5)
  1867. #define B_AX_PHYINTF_ERR_IND_EN BIT(4)
  1868. #define B_AX_DMA_TOP_ERR_IND_EN BIT(3)
  1869. #define B_AX_PTCL_TOP_ERR_IND_EN BIT(1)
  1870. #define B_AX_SCHEDULE_TOP_ERR_IND_EN BIT(0)
  1871. #define CMAC0_ERR_IMR_EN GENMASK(31, 0)
  1872. #define CMAC1_ERR_IMR_EN GENMASK(31, 0)
  1873. #define CMAC0_ERR_IMR_DIS 0
  1874. #define CMAC1_ERR_IMR_DIS 0
  1875. #define R_AX_CMAC_ERR_ISR 0xC164
  1876. #define R_AX_CMAC_ERR_ISR_C1 0xE164
  1877. #define B_AX_WMAC_TX_ERR_IND BIT(7)
  1878. #define B_AX_WMAC_RX_ERR_IND BIT(6)
  1879. #define B_AX_TXPWR_CTRL_ERR_IND BIT(5)
  1880. #define B_AX_PHYINTF_ERR_IND BIT(4)
  1881. #define B_AX_DMA_TOP_ERR_IND BIT(3)
  1882. #define B_AX_PTCL_TOP_ERR_IND BIT(1)
  1883. #define B_AX_SCHEDULE_TOP_ERR_IND BIT(0)
  1884. #define R_AX_PORT0_TSF_SYNC 0xC2A0
  1885. #define R_AX_PORT0_TSF_SYNC_C1 0xE2A0
  1886. #define R_AX_PORT1_TSF_SYNC 0xC2A4
  1887. #define R_AX_PORT1_TSF_SYNC_C1 0xE2A4
  1888. #define R_AX_PORT2_TSF_SYNC 0xC2A8
  1889. #define R_AX_PORT2_TSF_SYNC_C1 0xE2A8
  1890. #define R_AX_PORT3_TSF_SYNC 0xC2AC
  1891. #define R_AX_PORT3_TSF_SYNC_C1 0xE2AC
  1892. #define R_AX_PORT4_TSF_SYNC 0xC2B0
  1893. #define R_AX_PORT4_TSF_SYNC_C1 0xE2B0
  1894. #define B_AX_SYNC_NOW BIT(30)
  1895. #define B_AX_SYNC_ONCE BIT(29)
  1896. #define B_AX_SYNC_AUTO BIT(28)
  1897. #define B_AX_SYNC_PORT_SRC GENMASK(26, 24)
  1898. #define B_AX_SYNC_PORT_OFFSET_SIGN BIT(18)
  1899. #define B_AX_SYNC_PORT_OFFSET_VAL GENMASK(17, 0)
  1900. #define R_AX_MACID_SLEEP_0 0xC2C0
  1901. #define R_AX_MACID_SLEEP_0_C1 0xE2C0
  1902. #define B_AX_MACID31_0_SLEEP_SH 0
  1903. #define B_AX_MACID31_0_SLEEP_MASK GENMASK(31, 0)
  1904. #define R_AX_MACID_SLEEP_1 0xC2C4
  1905. #define R_AX_MACID_SLEEP_1_C1 0xE2C4
  1906. #define B_AX_MACID63_32_SLEEP_SH 0
  1907. #define B_AX_MACID63_32_SLEEP_MASK GENMASK(31, 0)
  1908. #define R_AX_MACID_SLEEP_2 0xC2C8
  1909. #define R_AX_MACID_SLEEP_2_C1 0xE2C8
  1910. #define B_AX_MACID95_64_SLEEP_SH 0
  1911. #define B_AX_MACID95_64_SLEEP_MASK GENMASK(31, 0)
  1912. #define R_AX_MACID_SLEEP_3 0xC2CC
  1913. #define R_AX_MACID_SLEEP_3_C1 0xE2CC
  1914. #define B_AX_MACID127_96_SLEEP_SH 0
  1915. #define B_AX_MACID127_96_SLEEP_MASK GENMASK(31, 0)
  1916. #define SCH_PREBKF_24US 0x18
  1917. #define R_AX_PREBKF_CFG_0 0xC338
  1918. #define R_AX_PREBKF_CFG_0_C1 0xE338
  1919. #define B_AX_PREBKF_TIME_MASK GENMASK(4, 0)
  1920. #define R_AX_PREBKF_CFG_1 0xC33C
  1921. #define R_AX_PREBKF_CFG_1_C1 0xE33C
  1922. #define B_AX_SIFS_TIMEOUT_TB_AGGR_MASK GENMASK(30, 24)
  1923. #define B_AX_SIFS_PREBKF_MASK GENMASK(23, 16)
  1924. #define B_AX_SIFS_TIMEOUT_T2_MASK GENMASK(14, 8)
  1925. #define B_AX_SIFS_MACTXEN_T1_MASK GENMASK(6, 0)
  1926. #define SIFS_MACTXEN_T1 0x47
  1927. #define SIFS_MACTXEN_T1_V1 0x41
  1928. #define R_AX_CCA_CFG_0 0xC340
  1929. #define R_AX_CCA_CFG_0_C1 0xE340
  1930. #define B_AX_BTCCA_BRK_TXOP_EN BIT(9)
  1931. #define B_AX_BTCCA_EN BIT(5)
  1932. #define B_AX_EDCCA_EN BIT(4)
  1933. #define B_AX_SEC80_EN BIT(3)
  1934. #define B_AX_SEC40_EN BIT(2)
  1935. #define B_AX_SEC20_EN BIT(1)
  1936. #define B_AX_CCA_EN BIT(0)
  1937. #define R_AX_CTN_TXEN 0xC348
  1938. #define R_AX_CTN_TXEN_C1 0xE348
  1939. #define B_AX_CTN_TXEN_TWT_1 BIT(15)
  1940. #define B_AX_CTN_TXEN_TWT_0 BIT(14)
  1941. #define B_AX_CTN_TXEN_ULQ BIT(13)
  1942. #define B_AX_CTN_TXEN_BCNQ BIT(12)
  1943. #define B_AX_CTN_TXEN_HGQ BIT(11)
  1944. #define B_AX_CTN_TXEN_CPUMGQ BIT(10)
  1945. #define B_AX_CTN_TXEN_MGQ1 BIT(9)
  1946. #define B_AX_CTN_TXEN_MGQ BIT(8)
  1947. #define B_AX_CTN_TXEN_VO_1 BIT(7)
  1948. #define B_AX_CTN_TXEN_VI_1 BIT(6)
  1949. #define B_AX_CTN_TXEN_BK_1 BIT(5)
  1950. #define B_AX_CTN_TXEN_BE_1 BIT(4)
  1951. #define B_AX_CTN_TXEN_VO_0 BIT(3)
  1952. #define B_AX_CTN_TXEN_VI_0 BIT(2)
  1953. #define B_AX_CTN_TXEN_BK_0 BIT(1)
  1954. #define B_AX_CTN_TXEN_BE_0 BIT(0)
  1955. #define B_AX_CTN_TXEN_ALL_MASK GENMASK(15, 0)
  1956. #define R_AX_MUEDCA_BE_PARAM_0 0xC350
  1957. #define R_AX_MUEDCA_BE_PARAM_0_C1 0xE350
  1958. #define B_AX_MUEDCA_BE_PARAM_0_TIMER_MASK GENMASK(31, 16)
  1959. #define B_AX_MUEDCA_BE_PARAM_0_CW_MASK GENMASK(15, 8)
  1960. #define B_AX_MUEDCA_BE_PARAM_0_AIFS_MASK GENMASK(7, 0)
  1961. #define R_AX_MUEDCA_BK_PARAM_0 0xC354
  1962. #define R_AX_MUEDCA_BK_PARAM_0_C1 0xE354
  1963. #define R_AX_MUEDCA_VI_PARAM_0 0xC358
  1964. #define R_AX_MUEDCA_VI_PARAM_0_C1 0xE358
  1965. #define R_AX_MUEDCA_VO_PARAM_0 0xC35C
  1966. #define R_AX_MUEDCA_VO_PARAM_0_C1 0xE35C
  1967. #define R_AX_MUEDCA_EN 0xC370
  1968. #define R_AX_MUEDCA_EN_C1 0xE370
  1969. #define B_AX_MUEDCA_WMM_SEL BIT(8)
  1970. #define B_AX_SET_MUEDCATIMER_TF_0 BIT(4)
  1971. #define B_AX_MUEDCA_EN_0 BIT(0)
  1972. #define R_AX_CCA_CONTROL 0xC390
  1973. #define R_AX_CCA_CONTROL_C1 0xE390
  1974. #define B_AX_TB_CHK_TX_NAV BIT(31)
  1975. #define B_AX_TB_CHK_BASIC_NAV BIT(30)
  1976. #define B_AX_TB_CHK_BTCCA BIT(29)
  1977. #define B_AX_TB_CHK_EDCCA BIT(28)
  1978. #define B_AX_TB_CHK_CCA_S80 BIT(27)
  1979. #define B_AX_TB_CHK_CCA_S40 BIT(26)
  1980. #define B_AX_TB_CHK_CCA_S20 BIT(25)
  1981. #define B_AX_TB_CHK_CCA_P20 BIT(24)
  1982. #define B_AX_SIFS_CHK_BTCCA BIT(21)
  1983. #define B_AX_SIFS_CHK_EDCCA BIT(20)
  1984. #define B_AX_SIFS_CHK_CCA_S80 BIT(19)
  1985. #define B_AX_SIFS_CHK_CCA_S40 BIT(18)
  1986. #define B_AX_SIFS_CHK_CCA_S20 BIT(17)
  1987. #define B_AX_SIFS_CHK_CCA_P20 BIT(16)
  1988. #define B_AX_CTN_CHK_TXNAV BIT(8)
  1989. #define B_AX_CTN_CHK_INTRA_NAV BIT(7)
  1990. #define B_AX_CTN_CHK_BASIC_NAV BIT(6)
  1991. #define B_AX_CTN_CHK_BTCCA BIT(5)
  1992. #define B_AX_CTN_CHK_EDCCA BIT(4)
  1993. #define B_AX_CTN_CHK_CCA_S80 BIT(3)
  1994. #define B_AX_CTN_CHK_CCA_S40 BIT(2)
  1995. #define B_AX_CTN_CHK_CCA_S20 BIT(1)
  1996. #define B_AX_CTN_CHK_CCA_P20 BIT(0)
  1997. #define R_AX_CTN_DRV_TXEN 0xC398
  1998. #define R_AX_CTN_DRV_TXEN_C1 0xE398
  1999. #define B_AX_CTN_TXEN_TWT_3 BIT(17)
  2000. #define B_AX_CTN_TXEN_TWT_2 BIT(16)
  2001. #define B_AX_CTN_TXEN_ALL_MASK_V1 GENMASK(17, 0)
  2002. #define R_AX_SCHEDULE_ERR_IMR 0xC3E8
  2003. #define R_AX_SCHEDULE_ERR_IMR_C1 0xE3E8
  2004. #define B_AX_SORT_NON_IDLE_ERR_INT_EN BIT(1)
  2005. #define R_AX_SCHEDULE_ERR_ISR 0xC3EC
  2006. #define R_AX_SCHEDULE_ERR_ISR_C1 0xE3EC
  2007. #define R_AX_SCH_DBG_SEL 0xC3F4
  2008. #define R_AX_SCH_DBG_SEL_C1 0xE3F4
  2009. #define B_AX_SCH_DBG_EN BIT(16)
  2010. #define B_AX_SCH_CFG_CMD_SEL GENMASK(15, 8)
  2011. #define B_AX_SCH_DBG_SEL_MASK GENMASK(7, 0)
  2012. #define R_AX_SCH_DBG 0xC3F8
  2013. #define R_AX_SCH_DBG_C1 0xE3F8
  2014. #define B_AX_SCHEDULER_DBG_MASK GENMASK(31, 0)
  2015. #define R_AX_SCH_EXT_CTRL 0xC3FC
  2016. #define R_AX_SCH_EXT_CTRL_C1 0xE3FC
  2017. #define B_AX_PORT_RST_TSF_ADV BIT(1)
  2018. #define R_AX_PORT_CFG_P0 0xC400
  2019. #define R_AX_PORT_CFG_P1 0xC440
  2020. #define R_AX_PORT_CFG_P2 0xC480
  2021. #define R_AX_PORT_CFG_P3 0xC4C0
  2022. #define R_AX_PORT_CFG_P4 0xC500
  2023. #define B_AX_BRK_SETUP BIT(16)
  2024. #define B_AX_TBTT_UPD_SHIFT_SEL BIT(15)
  2025. #define B_AX_BCN_DROP_ALLOW BIT(14)
  2026. #define B_AX_TBTT_PROHIB_EN BIT(13)
  2027. #define B_AX_BCNTX_EN BIT(12)
  2028. #define B_AX_NET_TYPE_MASK GENMASK(11, 10)
  2029. #define B_AX_BCN_FORCETX_EN BIT(9)
  2030. #define B_AX_TXBCN_BTCCA_EN BIT(8)
  2031. #define B_AX_BCNERR_CNT_EN BIT(7)
  2032. #define B_AX_BCN_AGRES BIT(6)
  2033. #define B_AX_TSFTR_RST BIT(5)
  2034. #define B_AX_RX_BSSID_FIT_EN BIT(4)
  2035. #define B_AX_TSF_UDT_EN BIT(3)
  2036. #define B_AX_PORT_FUNC_EN BIT(2)
  2037. #define B_AX_TXBCN_RPT_EN BIT(1)
  2038. #define B_AX_RXBCN_RPT_EN BIT(0)
  2039. #define R_AX_TBTT_PROHIB_P0 0xC404
  2040. #define R_AX_TBTT_PROHIB_P1 0xC444
  2041. #define R_AX_TBTT_PROHIB_P2 0xC484
  2042. #define R_AX_TBTT_PROHIB_P3 0xC4C4
  2043. #define R_AX_TBTT_PROHIB_P4 0xC504
  2044. #define B_AX_TBTT_HOLD_MASK GENMASK(27, 16)
  2045. #define B_AX_TBTT_SETUP_MASK GENMASK(7, 0)
  2046. #define R_AX_BCN_AREA_P0 0xC408
  2047. #define R_AX_BCN_AREA_P1 0xC448
  2048. #define R_AX_BCN_AREA_P2 0xC488
  2049. #define R_AX_BCN_AREA_P3 0xC4C8
  2050. #define R_AX_BCN_AREA_P4 0xC508
  2051. #define B_AX_BCN_MSK_AREA_MASK GENMASK(27, 16)
  2052. #define B_AX_BCN_CTN_AREA_MASK GENMASK(11, 0)
  2053. #define R_AX_BCNERLYINT_CFG_P0 0xC40C
  2054. #define R_AX_BCNERLYINT_CFG_P1 0xC44C
  2055. #define R_AX_BCNERLYINT_CFG_P2 0xC48C
  2056. #define R_AX_BCNERLYINT_CFG_P3 0xC4CC
  2057. #define R_AX_BCNERLYINT_CFG_P4 0xC50C
  2058. #define B_AX_BCNERLY_MASK GENMASK(11, 0)
  2059. #define R_AX_TBTTERLYINT_CFG_P0 0xC40E
  2060. #define R_AX_TBTTERLYINT_CFG_P1 0xC44E
  2061. #define R_AX_TBTTERLYINT_CFG_P2 0xC48E
  2062. #define R_AX_TBTTERLYINT_CFG_P3 0xC4CE
  2063. #define R_AX_TBTTERLYINT_CFG_P4 0xC50E
  2064. #define B_AX_TBTTERLY_MASK GENMASK(11, 0)
  2065. #define R_AX_TBTT_AGG_P0 0xC412
  2066. #define R_AX_TBTT_AGG_P1 0xC452
  2067. #define R_AX_TBTT_AGG_P2 0xC492
  2068. #define R_AX_TBTT_AGG_P3 0xC4D2
  2069. #define R_AX_TBTT_AGG_P4 0xC512
  2070. #define B_AX_TBTT_AGG_NUM_MASK GENMASK(15, 8)
  2071. #define R_AX_BCN_SPACE_CFG_P0 0xC414
  2072. #define R_AX_BCN_SPACE_CFG_P1 0xC454
  2073. #define R_AX_BCN_SPACE_CFG_P2 0xC494
  2074. #define R_AX_BCN_SPACE_CFG_P3 0xC4D4
  2075. #define R_AX_BCN_SPACE_CFG_P4 0xC514
  2076. #define B_AX_SUB_BCN_SPACE_MASK GENMASK(23, 16)
  2077. #define B_AX_BCN_SPACE_MASK GENMASK(15, 0)
  2078. #define R_AX_BCN_FORCETX_P0 0xC418
  2079. #define R_AX_BCN_FORCETX_P1 0xC458
  2080. #define R_AX_BCN_FORCETX_P2 0xC498
  2081. #define R_AX_BCN_FORCETX_P3 0xC4D8
  2082. #define R_AX_BCN_FORCETX_P4 0xC518
  2083. #define B_AX_FORCE_BCN_CURRCNT_MASK GENMASK(23, 16)
  2084. #define B_AX_FORCE_BCN_NUM_MASK GENMASK(15, 0)
  2085. #define B_AX_BCN_MAX_ERR_MASK GENMASK(7, 0)
  2086. #define R_AX_BCN_ERR_CNT_P0 0xC420
  2087. #define R_AX_BCN_ERR_CNT_P1 0xC460
  2088. #define R_AX_BCN_ERR_CNT_P2 0xC4A0
  2089. #define R_AX_BCN_ERR_CNT_P3 0xC4E0
  2090. #define R_AX_BCN_ERR_CNT_P4 0xC520
  2091. #define B_AX_BCN_ERR_CNT_SUM_MASK GENMASK(31, 24)
  2092. #define B_AX_BCN_ERR_CNT_NAV_MASK GENMASK(23, 16)
  2093. #define B_AX_BCN_ERR_CNT_EDCCA_MASK GENMASK(15, 0)
  2094. #define B_AX_BCN_ERR_CNT_CCA_MASK GENMASK(7, 0)
  2095. #define R_AX_BCN_ERR_FLAG_P0 0xC424
  2096. #define R_AX_BCN_ERR_FLAG_P1 0xC464
  2097. #define R_AX_BCN_ERR_FLAG_P2 0xC4A4
  2098. #define R_AX_BCN_ERR_FLAG_P3 0xC4E4
  2099. #define R_AX_BCN_ERR_FLAG_P4 0xC524
  2100. #define B_AX_BCN_ERR_FLAG_OTHERS BIT(6)
  2101. #define B_AX_BCN_ERR_FLAG_MAC BIT(5)
  2102. #define B_AX_BCN_ERR_FLAG_TXON BIT(4)
  2103. #define B_AX_BCN_ERR_FLAG_SRCHEND BIT(3)
  2104. #define B_AX_BCN_ERR_FLAG_INVALID BIT(2)
  2105. #define B_AX_BCN_ERR_FLAG_CMP BIT(1)
  2106. #define B_AX_BCN_ERR_FLAG_LOCK BIT(0)
  2107. #define R_AX_DTIM_CTRL_P0 0xC426
  2108. #define R_AX_DTIM_CTRL_P1 0xC466
  2109. #define R_AX_DTIM_CTRL_P2 0xC4A6
  2110. #define R_AX_DTIM_CTRL_P3 0xC4E6
  2111. #define R_AX_DTIM_CTRL_P4 0xC526
  2112. #define B_AX_DTIM_NUM_MASK GENMASK(15, 8)
  2113. #define B_AX_DTIM_CURRCNT_MASK GENMASK(7, 0)
  2114. #define R_AX_TBTT_SHIFT_P0 0xC428
  2115. #define R_AX_TBTT_SHIFT_P1 0xC468
  2116. #define R_AX_TBTT_SHIFT_P2 0xC4A8
  2117. #define R_AX_TBTT_SHIFT_P3 0xC4E8
  2118. #define R_AX_TBTT_SHIFT_P4 0xC528
  2119. #define B_AX_TBTT_SHIFT_OFST_MASK GENMASK(11, 0)
  2120. #define B_AX_TBTT_SHIFT_OFST_SIGN BIT(11)
  2121. #define B_AX_TBTT_SHIFT_OFST_MAG GENMASK(10, 0)
  2122. #define R_AX_BCN_CNT_TMR_P0 0xC434
  2123. #define R_AX_BCN_CNT_TMR_P1 0xC474
  2124. #define R_AX_BCN_CNT_TMR_P2 0xC4B4
  2125. #define R_AX_BCN_CNT_TMR_P3 0xC4F4
  2126. #define R_AX_BCN_CNT_TMR_P4 0xC534
  2127. #define B_AX_BCN_CNT_TMR_MASK GENMASK(31, 0)
  2128. #define R_AX_TSFTR_LOW_P0 0xC438
  2129. #define R_AX_TSFTR_LOW_P1 0xC478
  2130. #define R_AX_TSFTR_LOW_P2 0xC4B8
  2131. #define R_AX_TSFTR_LOW_P3 0xC4F8
  2132. #define R_AX_TSFTR_LOW_P4 0xC538
  2133. #define B_AX_TSFTR_LOW_MASK GENMASK(31, 0)
  2134. #define R_AX_TSFTR_HIGH_P0 0xC43C
  2135. #define R_AX_TSFTR_HIGH_P1 0xC47C
  2136. #define R_AX_TSFTR_HIGH_P2 0xC4BC
  2137. #define R_AX_TSFTR_HIGH_P3 0xC4FC
  2138. #define R_AX_TSFTR_HIGH_P4 0xC53C
  2139. #define B_AX_TSFTR_HIGH_MASK GENMASK(31, 0)
  2140. #define R_AX_MBSSID_CTRL 0xC568
  2141. #define R_AX_MBSSID_CTRL_C1 0xE568
  2142. #define B_AX_P0MB_ALL_MASK GENMASK(23, 1)
  2143. #define B_AX_P0MB_NUM_MASK GENMASK(19, 16)
  2144. #define B_AX_P0MB15_EN BIT(15)
  2145. #define B_AX_P0MB14_EN BIT(14)
  2146. #define B_AX_P0MB13_EN BIT(13)
  2147. #define B_AX_P0MB12_EN BIT(12)
  2148. #define B_AX_P0MB11_EN BIT(11)
  2149. #define B_AX_P0MB10_EN BIT(10)
  2150. #define B_AX_P0MB9_EN BIT(9)
  2151. #define B_AX_P0MB8_EN BIT(8)
  2152. #define B_AX_P0MB7_EN BIT(7)
  2153. #define B_AX_P0MB6_EN BIT(6)
  2154. #define B_AX_P0MB5_EN BIT(5)
  2155. #define B_AX_P0MB4_EN BIT(4)
  2156. #define B_AX_P0MB3_EN BIT(3)
  2157. #define B_AX_P0MB2_EN BIT(2)
  2158. #define B_AX_P0MB1_EN BIT(1)
  2159. #define R_AX_P0MB_HGQ_WINDOW_CFG_0 0xC590
  2160. #define R_AX_P0MB_HGQ_WINDOW_CFG_0_C1 0xE590
  2161. #define R_AX_PORT_HGQ_WINDOW_CFG 0xC5A0
  2162. #define R_AX_PORT_HGQ_WINDOW_CFG_C1 0xE5A0
  2163. #define R_AX_PTCL_COMMON_SETTING_0 0xC600
  2164. #define R_AX_PTCL_COMMON_SETTING_0_C1 0xE600
  2165. #define B_AX_PCIE_MODE_MASK GENMASK(15, 14)
  2166. #define B_AX_CPUMGQ_LIFETIME_EN BIT(8)
  2167. #define B_AX_MGQ_LIFETIME_EN BIT(7)
  2168. #define B_AX_LIFETIME_EN BIT(6)
  2169. #define B_AX_PTCL_TRIGGER_SS_EN_UL BIT(4)
  2170. #define B_AX_PTCL_TRIGGER_SS_EN_1 BIT(3)
  2171. #define B_AX_PTCL_TRIGGER_SS_EN_0 BIT(2)
  2172. #define B_AX_CMAC_TX_MODE_1 BIT(1)
  2173. #define B_AX_CMAC_TX_MODE_0 BIT(0)
  2174. #define R_AX_AMPDU_AGG_LIMIT 0xC610
  2175. #define B_AX_AMPDU_MAX_TIME_MASK GENMASK(31, 24)
  2176. #define B_AX_RA_TRY_RATE_AGG_LMT_MASK GENMASK(23, 16)
  2177. #define B_AX_RTS_MAX_AGG_NUM_MASK GENMASK(15, 8)
  2178. #define B_AX_MAX_AGG_NUM_MASK GENMASK(7, 0)
  2179. #define R_AX_AGG_LEN_HT_0 0xC614
  2180. #define R_AX_AGG_LEN_HT_0_C1 0xE614
  2181. #define B_AX_AMPDU_MAX_LEN_HT_MASK GENMASK(31, 16)
  2182. #define B_AX_RTS_TXTIME_TH_MASK GENMASK(15, 8)
  2183. #define B_AX_RTS_LEN_TH_MASK GENMASK(7, 0)
  2184. #define S_AX_CTS2S_TH_SEC_256B 1
  2185. #define R_AX_SIFS_SETTING 0xC624
  2186. #define R_AX_SIFS_SETTING_C1 0xE624
  2187. #define B_AX_HW_CTS2SELF_PKT_LEN_TH_MASK GENMASK(31, 24)
  2188. #define B_AX_HW_CTS2SELF_PKT_LEN_TH_TWW_MASK GENMASK(23, 18)
  2189. #define B_AX_HW_CTS2SELF_EN BIT(16)
  2190. #define B_AX_SPEC_SIFS_OFDM_PTCL_SH 8
  2191. #define B_AX_SPEC_SIFS_OFDM_PTCL_MASK GENMASK(15, 8)
  2192. #define B_AX_SPEC_SIFS_CCK_PTCL_MASK GENMASK(7, 0)
  2193. #define S_AX_CTS2S_TH_1K 4
  2194. #define R_AX_TXRATE_CHK 0xC628
  2195. #define R_AX_TXRATE_CHK_C1 0xE628
  2196. #define B_AX_DEFT_RATE_MASK GENMASK(15, 7)
  2197. #define B_AX_BAND_MODE BIT(4)
  2198. #define B_AX_MAX_TXNSS_MASK GENMASK(3, 2)
  2199. #define B_AX_RTS_LIMIT_IN_OFDM6 BIT(1)
  2200. #define B_AX_CHECK_CCK_EN BIT(0)
  2201. #define R_AX_TXCNT 0xC62C
  2202. #define R_AX_TXCNT_C1 0xE62C
  2203. #define B_AX_ADD_TXCNT_BY BIT(31)
  2204. #define B_AX_S_TXCNT_LMT_MASK GENMASK(29, 24)
  2205. #define B_AX_L_TXCNT_LMT_MASK GENMASK(21, 16)
  2206. #define R_AX_MBSSID_DROP_0 0xC63C
  2207. #define R_AX_MBSSID_DROP_0_C1 0xE63C
  2208. #define B_AX_GI_LTF_FB_SEL BIT(30)
  2209. #define B_AX_RATE_SEL_MASK GENMASK(29, 24)
  2210. #define B_AX_PORT_DROP_4_0_MASK GENMASK(20, 16)
  2211. #define B_AX_MBSSID_DROP_15_0_MASK GENMASK(15, 0)
  2212. #define R_AX_PTCLRPT_FULL_HDL 0xC660
  2213. #define R_AX_PTCLRPT_FULL_HDL_C1 0xE660
  2214. #define B_AX_RPT_LATCH_PHY_TIME_MASK GENMASK(15, 12)
  2215. #define B_AX_F2PCMD_FWWD_RLS_MODE BIT(9)
  2216. #define B_AX_F2PCMD_RPT_EN BIT(8)
  2217. #define B_AX_BCN_RPT_PATH_MASK GENMASK(7, 6)
  2218. #define B_AX_SPE_RPT_PATH_MASK GENMASK(5, 4)
  2219. #define FWD_TO_WLCPU 1
  2220. #define B_AX_TX_RPT_PATH_MASK GENMASK(3, 2)
  2221. #define B_AX_F2PCMDRPT_FULL_DROP BIT(1)
  2222. #define B_AX_NON_F2PCMDRPT_FULL_DROP BIT(0)
  2223. #define R_AX_BT_PLT 0xC67C
  2224. #define R_AX_BT_PLT_C1 0xE67C
  2225. #define B_AX_BT_PLT_PKT_CNT_MASK GENMASK(31, 16)
  2226. #define B_AX_BT_PLT_RST BIT(9)
  2227. #define B_AX_PLT_EN BIT(8)
  2228. #define B_AX_RX_PLT_GNT_LTE_RX BIT(7)
  2229. #define B_AX_RX_PLT_GNT_BT_RX BIT(6)
  2230. #define B_AX_RX_PLT_GNT_BT_TX BIT(5)
  2231. #define B_AX_RX_PLT_GNT_WL BIT(4)
  2232. #define B_AX_TX_PLT_GNT_LTE_RX BIT(3)
  2233. #define B_AX_TX_PLT_GNT_BT_RX BIT(2)
  2234. #define B_AX_TX_PLT_GNT_BT_TX BIT(1)
  2235. #define B_AX_TX_PLT_GNT_WL BIT(0)
  2236. #define R_AX_PTCL_BSS_COLOR_0 0xC6A0
  2237. #define R_AX_PTCL_BSS_COLOR_0_C1 0xE6A0
  2238. #define B_AX_BSS_COLOB_AX_PORT_3_MASK GENMASK(29, 24)
  2239. #define B_AX_BSS_COLOB_AX_PORT_2_MASK GENMASK(21, 16)
  2240. #define B_AX_BSS_COLOB_AX_PORT_1_MASK GENMASK(13, 8)
  2241. #define B_AX_BSS_COLOB_AX_PORT_0_MASK GENMASK(5, 0)
  2242. #define R_AX_PTCL_BSS_COLOR_1 0xC6A4
  2243. #define R_AX_PTCL_BSS_COLOR_1_C1 0xE6A4
  2244. #define B_AX_BSS_COLOB_AX_PORT_4_MASK GENMASK(5, 0)
  2245. #define R_AX_PTCL_IMR0 0xC6C0
  2246. #define R_AX_PTCL_IMR0_C1 0xE6C0
  2247. #define B_AX_F2PCMD_PKTID_ERR_INT_EN BIT(31)
  2248. #define B_AX_F2PCMD_RD_PKTID_ERR_INT_EN BIT(30)
  2249. #define B_AX_F2PCMD_ASSIGN_PKTID_ERR_INT_EN BIT(29)
  2250. #define B_AX_F2PCMD_USER_ALLC_ERR_INT_EN BIT(28)
  2251. #define B_AX_RX_SPF_U0_PKTID_ERR_INT_EN BIT(27)
  2252. #define B_AX_TX_SPF_U1_PKTID_ERR_INT_EN BIT(26)
  2253. #define B_AX_TX_SPF_U2_PKTID_ERR_INT_EN BIT(25)
  2254. #define B_AX_TX_SPF_U3_PKTID_ERR_INT_EN BIT(24)
  2255. #define B_AX_TX_RECORD_PKTID_ERR_INT_EN BIT(23)
  2256. #define B_AX_F2PCMD_EMPTY_ERR_INT_EN BIT(15)
  2257. #define B_AX_TWTSP_QSEL_ERR_INT_EN BIT(14)
  2258. #define B_AX_BCNQ_ORDER_ERR_INT_EN BIT(12)
  2259. #define B_AX_Q_PKTID_ERR_INT_EN BIT(11)
  2260. #define B_AX_D_PKTID_ERR_INT_EN BIT(10)
  2261. #define B_AX_TXPRT_FULL_DROP_ERR_INT_EN BIT(9)
  2262. #define B_AX_F2PCMDRPT_FULL_DROP_ERR_INT_EN BIT(8)
  2263. #define B_AX_FSM1_TIMEOUT_ERR_INT_EN BIT(1)
  2264. #define B_AX_FSM_TIMEOUT_ERR_INT_EN BIT(0)
  2265. #define B_AX_PTCL_IMR_CLR_ALL GENMASK(31, 0)
  2266. #define B_AX_PTCL_IMR_CLR (B_AX_FSM_TIMEOUT_ERR_INT_EN | \
  2267. B_AX_F2PCMDRPT_FULL_DROP_ERR_INT_EN | \
  2268. B_AX_TXPRT_FULL_DROP_ERR_INT_EN | \
  2269. B_AX_D_PKTID_ERR_INT_EN | \
  2270. B_AX_Q_PKTID_ERR_INT_EN | \
  2271. B_AX_BCNQ_ORDER_ERR_INT_EN | \
  2272. B_AX_TWTSP_QSEL_ERR_INT_EN | \
  2273. B_AX_F2PCMD_EMPTY_ERR_INT_EN | \
  2274. B_AX_TX_RECORD_PKTID_ERR_INT_EN | \
  2275. B_AX_TX_SPF_U3_PKTID_ERR_INT_EN | \
  2276. B_AX_TX_SPF_U2_PKTID_ERR_INT_EN | \
  2277. B_AX_TX_SPF_U1_PKTID_ERR_INT_EN | \
  2278. B_AX_RX_SPF_U0_PKTID_ERR_INT_EN | \
  2279. B_AX_F2PCMD_USER_ALLC_ERR_INT_EN | \
  2280. B_AX_F2PCMD_ASSIGN_PKTID_ERR_INT_EN | \
  2281. B_AX_F2PCMD_RD_PKTID_ERR_INT_EN | \
  2282. B_AX_F2PCMD_PKTID_ERR_INT_EN)
  2283. #define B_AX_PTCL_IMR_SET (B_AX_FSM_TIMEOUT_ERR_INT_EN | \
  2284. B_AX_TX_RECORD_PKTID_ERR_INT_EN | \
  2285. B_AX_F2PCMD_USER_ALLC_ERR_INT_EN)
  2286. #define B_AX_PTCL_IMR_CLR_V1 (B_AX_FSM1_TIMEOUT_ERR_INT_EN | \
  2287. B_AX_FSM_TIMEOUT_ERR_INT_EN)
  2288. #define B_AX_PTCL_IMR_SET_V1 (B_AX_FSM1_TIMEOUT_ERR_INT_EN | \
  2289. B_AX_FSM_TIMEOUT_ERR_INT_EN)
  2290. #define R_AX_PTCL_ISR0 0xC6C4
  2291. #define R_AX_PTCL_ISR0_C1 0xE6C4
  2292. #define S_AX_PTCL_TO_2MS 0x3F
  2293. #define R_AX_PTCL_FSM_MON 0xC6E8
  2294. #define R_AX_PTCL_FSM_MON_C1 0xE6E8
  2295. #define B_AX_PTCL_TX_ARB_TO_MODE BIT(6)
  2296. #define B_AX_PTCL_TX_ARB_TO_THR_MASK GENMASK(5, 0)
  2297. #define R_AX_PTCL_TX_CTN_SEL 0xC6EC
  2298. #define R_AX_PTCL_TX_CTN_SEL_C1 0xE6EC
  2299. #define B_AX_PTCL_TX_ON_STAT BIT(7)
  2300. #define R_AX_PTCL_DBG_INFO 0xC6F0
  2301. #define R_AX_PTCL_DBG_INFO_C1 0xE6F0
  2302. #define B_AX_PTCL_DBG_INFO_MASK GENMASK(31, 0)
  2303. #define R_AX_PTCL_DBG 0xC6F4
  2304. #define R_AX_PTCL_DBG_C1 0xE6F4
  2305. #define B_AX_PTCL_DBG_EN BIT(8)
  2306. #define B_AX_PTCL_DBG_SEL_MASK GENMASK(7, 0)
  2307. #define R_AX_DLE_CTRL 0xC800
  2308. #define R_AX_DLE_CTRL_C1 0xE800
  2309. #define B_AX_NO_RESERVE_PAGE_ERR_IMR BIT(23)
  2310. #define B_AX_RXDATA_FSM_HANG_ERROR_IMR BIT(15)
  2311. #define B_AX_RXSTS_FSM_HANG_ERROR_IMR BIT(14)
  2312. #define B_AX_DLE_IMR_CLR (B_AX_RXSTS_FSM_HANG_ERROR_IMR | \
  2313. B_AX_RXDATA_FSM_HANG_ERROR_IMR | \
  2314. B_AX_NO_RESERVE_PAGE_ERR_IMR)
  2315. #define B_AX_DLE_IMR_SET (B_AX_RXSTS_FSM_HANG_ERROR_IMR | \
  2316. B_AX_RXDATA_FSM_HANG_ERROR_IMR)
  2317. #define R_AX_RX_ERR_FLAG 0xC800
  2318. #define R_AX_RX_ERR_FLAG_C1 0xE800
  2319. #define B_AX_RX_GET_NO_PAGE_ERR BIT(31)
  2320. #define B_AX_RX_GET_NULL_PKT_ERR BIT(30)
  2321. #define B_AX_RX_RU0_FSM_HANG_ERR BIT(29)
  2322. #define B_AX_RX_RU1_FSM_HANG_ERR BIT(28)
  2323. #define B_AX_RX_RU2_FSM_HANG_ERR BIT(27)
  2324. #define B_AX_RX_RU3_FSM_HANG_ERR BIT(26)
  2325. #define B_AX_RX_RU4_FSM_HANG_ERR BIT(25)
  2326. #define B_AX_RX_RU5_FSM_HANG_ERR BIT(24)
  2327. #define B_AX_RX_RU6_FSM_HANG_ERR BIT(23)
  2328. #define B_AX_RX_RU7_FSM_HANG_ERR BIT(22)
  2329. #define B_AX_RX_RXSTS_FSM_HANG_ERR BIT(21)
  2330. #define B_AX_RX_CSI_FSM_HANG_ERR BIT(20)
  2331. #define B_AX_RX_TXRPT_FSM_HANG_ERR BIT(19)
  2332. #define B_AX_RX_F2PCMD_FSM_HANG_ERR BIT(18)
  2333. #define B_AX_RX_RU0_ZERO_LEN_ERR BIT(17)
  2334. #define B_AX_RX_RU1_ZERO_LEN_ERR BIT(16)
  2335. #define B_AX_RX_RU2_ZERO_LEN_ERR BIT(15)
  2336. #define B_AX_RX_RU3_ZERO_LEN_ERR BIT(14)
  2337. #define B_AX_RX_RU4_ZERO_LEN_ERR BIT(13)
  2338. #define B_AX_RX_RU5_ZERO_LEN_ERR BIT(12)
  2339. #define B_AX_RX_RU6_ZERO_LEN_ERR BIT(11)
  2340. #define B_AX_RX_RU7_ZERO_LEN_ERR BIT(10)
  2341. #define B_AX_RX_RXSTS_ZERO_LEN_ERR BIT(9)
  2342. #define B_AX_RX_CSI_ZERO_LEN_ERR BIT(8)
  2343. #define B_AX_PLE_DATA_OPT_FSM_HANG BIT(7)
  2344. #define B_AX_PLE_RXDATA_REQ_BUF_FSM_HANG BIT(6)
  2345. #define B_AX_PLE_TXRPT_REQ_BUF_FSM_HANG BIT(5)
  2346. #define B_AX_PLE_WD_OPT_FSM_HANG BIT(4)
  2347. #define B_AX_PLE_ENQ_FSM_HANG BIT(3)
  2348. #define B_AX_RXDATA_ENQUE_ORDER_ERR BIT(2)
  2349. #define B_AX_RXSTS_ENQUE_ORDER_ERR BIT(1)
  2350. #define B_AX_RX_CSI_PKT_NUM_ERR BIT(0)
  2351. #define R_AX_RXDMA_CTRL_0 0xC804
  2352. #define R_AX_RXDMA_CTRL_0_C1 0xE804
  2353. #define B_AX_RXDMA_DBGOUT_EN BIT(31)
  2354. #define B_AX_RXDMA_DBG_SEL_MASK GENMASK(30, 29)
  2355. #define B_AX_RXDMA_FIFO_DBG_SEL_MASK GENMASK(28, 25)
  2356. #define B_AX_RXDMA_DEFAULT_PAGE_MASK GENMASK(22, 21)
  2357. #define B_AX_RXDMA_BUFF_REQ_PRI_MASK GENMASK(20, 19)
  2358. #define B_AX_RXDMA_TGT_QUEID_MASK GENMASK(18, 13)
  2359. #define B_AX_RXDMA_TGT_PRID_MASK GENMASK(12, 10)
  2360. #define B_AX_RXDMA_DIS_CSI_RELEASE BIT(9)
  2361. #define B_AX_RXDMA_DIS_RXSTS_WAIT_PTR_CLR BIT(7)
  2362. #define B_AX_RXDMA_DIS_CSI_WAIT_PTR_CLR BIT(6)
  2363. #define B_AX_RXSTS_PTR_FULL_MODE BIT(5)
  2364. #define B_AX_CSI_PTR_FULL_MODE BIT(4)
  2365. #define B_AX_RU3_PTR_FULL_MODE BIT(3)
  2366. #define B_AX_RU2_PTR_FULL_MODE BIT(2)
  2367. #define B_AX_RU1_PTR_FULL_MODE BIT(1)
  2368. #define B_AX_RU0_PTR_FULL_MODE BIT(0)
  2369. #define RX_FULL_MODE (B_AX_RU0_PTR_FULL_MODE | B_AX_RU1_PTR_FULL_MODE | \
  2370. B_AX_RU2_PTR_FULL_MODE | B_AX_RU3_PTR_FULL_MODE | \
  2371. B_AX_CSI_PTR_FULL_MODE | B_AX_RXSTS_PTR_FULL_MODE)
  2372. #define R_AX_RX_CTRL0 0xC808
  2373. #define R_AX_RX_CTRL0_C1 0xE808
  2374. #define B_AX_DLE_CLOCK_FORCE_V1 BIT(31)
  2375. #define B_AX_TXDMA_CLOCK_FORCE_V1 BIT(30)
  2376. #define B_AX_RXDMA_CLOCK_FORCE_V1 BIT(29)
  2377. #define B_AX_RXDMA_DEFAULT_PAGE_V1_MASK GENMASK(28, 24)
  2378. #define B_AX_RXDMA_CSI_TGT_QUEID_MASK GENMASK(23, 18)
  2379. #define B_AX_RXDMA_CSI_TGT_PRID_MASK GENMASK(17, 15)
  2380. #define B_AX_RXDMA_DIS_CSI_RELEASE_V1 BIT(14)
  2381. #define B_AX_CSI_PTR_FULL_MODE_V1 BIT(13)
  2382. #define B_AX_RXDATA_PTR_FULL_MODE BIT(12)
  2383. #define B_AX_RXSTS_PTR_FULL_MODE_V1 BIT(11)
  2384. #define B_AX_TXRPT_FULL_RSV_DEPTH_V1_MASK GENMASK(10, 8)
  2385. #define B_AX_RXDATA_FULL_RSV_DEPTH_MASK GENMASK(7, 5)
  2386. #define B_AX_RXSTS_FULL_RSV_DEPTH_V1_MASK GENMASK(4, 2)
  2387. #define B_AX_ORDER_FIFO_MASK GENMASK(1, 0)
  2388. #define R_AX_RX_CTRL1 0xC80C
  2389. #define R_AX_RX_CTRL1_C1 0xE80C
  2390. #define B_AX_RXDMA_TXRPT_QUEUE_ID_SW_EN BIT(31)
  2391. #define B_AX_RXDMA_TXRPT_QUEUE_ID_SW_V1_MASK GENMASK(30, 25)
  2392. #define B_AX_RXDMA_F2PCMD_QUEUE_ID_SW_EN BIT(24)
  2393. #define B_AX_RXDMA_F2PCMD_QUEUE_ID_SW_V1_MASK GENMASK(23, 18)
  2394. #define B_AX_RXDMA_TXRPT_QUEUE_ID_TGT_SW_EN BIT(17)
  2395. #define B_AX_RXDMA_TXRPT_QUEUE_ID_TGT_SW_1_MASK GENMASK(16, 11)
  2396. #define B_AX_RXDMA_F2PCMD_QUEUE_ID_TGT_SW_EN BIT(10)
  2397. #define B_AX_RXDMA_F2PCMD_QUEUE_ID_TGT_SW_1_MASK GENMASK(9, 4)
  2398. #define B_AX_ORDER_FIFO_OUT BIT(3)
  2399. #define B_AX_ORDER_FIFO_EMPTY BIT(2)
  2400. #define B_AX_DBG_SEL_MASK GENMASK(1, 0)
  2401. #define R_AX_RX_CTRL2 0xC810
  2402. #define R_AX_RX_CTRL2_C1 0xE810
  2403. #define B_AX_DLE_WDE_STATE_V1_MASK GENMASK(31, 30)
  2404. #define B_AX_DLE_PLE_STATE_V1_MASK GENMASK(29, 28)
  2405. #define B_AX_DLE_REQ_BUF_STATE_MASK GENMASK(27, 26)
  2406. #define B_AX_DLE_ENQ_STATE_V1 BIT(25)
  2407. #define B_AX_RX_DBG_SEL_MASK GENMASK(24, 19)
  2408. #define B_AX_MACRX_CS_MASK GENMASK(18, 14)
  2409. #define B_AX_RXSTS_CS_MASK GENMASK(13, 9)
  2410. #define B_AX_ERR_INDICATOR BIT(5)
  2411. #define B_AX_TXRPT_CS_MASK GENMASK(4, 0)
  2412. #define R_AX_RXDMA_PKT_INFO_0 0xC814
  2413. #define R_AX_RXDMA_PKT_INFO_1 0xC818
  2414. #define R_AX_RXDMA_PKT_INFO_2 0xC81C
  2415. #define R_AX_RX_ERR_FLAG_IMR 0xC804
  2416. #define R_AX_RX_ERR_FLAG_IMR_C1 0xE804
  2417. #define B_AX_RX_GET_NULL_PKT_ERR_MSK BIT(30)
  2418. #define B_AX_RX_RU0_FSM_HANG_MSK_ERR_MSK BIT(29)
  2419. #define B_AX_RX_RU1_FSM_HANG_MSK_ERR_MSK BIT(28)
  2420. #define B_AX_RX_RU2_FSM_HANG_MSK_ERR_MSK BIT(27)
  2421. #define B_AX_RX_RU3_FSM_HANG_MSK_ERR_MSK BIT(26)
  2422. #define B_AX_RX_RU4_FSM_HANG_MSK_ERR_MSK BIT(25)
  2423. #define B_AX_RX_RU5_FSM_HANG_MSK_ERR_MSK BIT(24)
  2424. #define B_AX_RX_RU6_FSM_HANG_MSK_ERR_MSK BIT(23)
  2425. #define B_AX_RX_RU7_FSM_HANG_MSK_ERR_MSK BIT(22)
  2426. #define B_AX_RX_RXSTS_FSM_HANG_MSK_ERR_MSK BIT(21)
  2427. #define B_AX_RX_CSI_FSM_HANG_MSK_ERR_MSK BIT(20)
  2428. #define B_AX_RX_TXRPT_FSM_HANG_MSK_ERR_MSK BIT(19)
  2429. #define B_AX_RX_F2PCMD_FSM_HANG_MSK_ERR_MSK BIT(18)
  2430. #define B_AX_RX_RU0_ZERO_LEN_ERR_MSK BIT(17)
  2431. #define B_AX_RX_RU1_ZERO_LEN_ERR_MSK BIT(16)
  2432. #define B_AX_RX_RU2_ZERO_LEN_ERR_MSK BIT(15)
  2433. #define B_AX_RX_RU3_ZERO_LEN_ERR_MSK BIT(14)
  2434. #define B_AX_RX_RU4_ZERO_LEN_ERR_MSK BIT(13)
  2435. #define B_AX_RX_RU5_ZERO_LEN_ERR_MSK BIT(12)
  2436. #define B_AX_RX_RU6_ZERO_LEN_ERR_MSK BIT(11)
  2437. #define B_AX_RX_RU7_ZERO_LEN_ERR_MSK BIT(10)
  2438. #define B_AX_RX_RXSTS_ZERO_LEN_ERR_MSK BIT(9)
  2439. #define B_AX_RX_CSI_ZERO_LEN_ERR_MSK BIT(8)
  2440. #define B_AX_PLE_DATA_OPT_FSM_HANG_MSK BIT(7)
  2441. #define B_AX_PLE_RXDATA_REQ_BUF_FSM_HANG_MSK BIT(6)
  2442. #define B_AX_PLE_TXRPT_REQ_BUF_FSM_HANG_MSK BIT(5)
  2443. #define B_AX_PLE_WD_OPT_FSM_HANG_MSK BIT(4)
  2444. #define B_AX_PLE_ENQ_FSM_HANG_MSK BIT(3)
  2445. #define B_AX_RXDATA_ENQUE_ORDER_ERR_MSK BIT(2)
  2446. #define B_AX_RXSTS_ENQUE_ORDER_ERR_MSK BIT(1)
  2447. #define B_AX_RX_CSI_PKT_NUM_ERR_MSK BIT(0)
  2448. #define B_AX_RX_ERR_IMR_CLR_V1 (B_AX_RXSTS_ENQUE_ORDER_ERR_MSK | \
  2449. B_AX_RXDATA_ENQUE_ORDER_ERR_MSK | \
  2450. B_AX_RX_CSI_ZERO_LEN_ERR_MSK | \
  2451. B_AX_RX_RXSTS_ZERO_LEN_ERR_MSK | \
  2452. B_AX_RX_RU7_ZERO_LEN_ERR_MSK | \
  2453. B_AX_RX_RU6_ZERO_LEN_ERR_MSK | \
  2454. B_AX_RX_RU5_ZERO_LEN_ERR_MSK | \
  2455. B_AX_RX_RU4_ZERO_LEN_ERR_MSK | \
  2456. B_AX_RX_RU3_ZERO_LEN_ERR_MSK | \
  2457. B_AX_RX_RU2_ZERO_LEN_ERR_MSK | \
  2458. B_AX_RX_RU1_ZERO_LEN_ERR_MSK | \
  2459. B_AX_RX_RU0_ZERO_LEN_ERR_MSK | \
  2460. B_AX_RX_F2PCMD_FSM_HANG_MSK_ERR_MSK | \
  2461. B_AX_RX_TXRPT_FSM_HANG_MSK_ERR_MSK | \
  2462. B_AX_RX_CSI_FSM_HANG_MSK_ERR_MSK | \
  2463. B_AX_RX_RXSTS_FSM_HANG_MSK_ERR_MSK | \
  2464. B_AX_RX_RU7_FSM_HANG_MSK_ERR_MSK | \
  2465. B_AX_RX_RU6_FSM_HANG_MSK_ERR_MSK | \
  2466. B_AX_RX_RU5_FSM_HANG_MSK_ERR_MSK | \
  2467. B_AX_RX_RU4_FSM_HANG_MSK_ERR_MSK | \
  2468. B_AX_RX_RU3_FSM_HANG_MSK_ERR_MSK | \
  2469. B_AX_RX_RU2_FSM_HANG_MSK_ERR_MSK | \
  2470. B_AX_RX_RU1_FSM_HANG_MSK_ERR_MSK | \
  2471. B_AX_RX_RU0_FSM_HANG_MSK_ERR_MSK | \
  2472. B_AX_RX_GET_NULL_PKT_ERR_MSK)
  2473. #define B_AX_RX_ERR_IMR_SET_V1 (B_AX_RXSTS_ENQUE_ORDER_ERR_MSK | \
  2474. B_AX_RXDATA_ENQUE_ORDER_ERR_MSK | \
  2475. B_AX_RX_CSI_ZERO_LEN_ERR_MSK | \
  2476. B_AX_RX_RXSTS_ZERO_LEN_ERR_MSK | \
  2477. B_AX_RX_RU7_ZERO_LEN_ERR_MSK | \
  2478. B_AX_RX_RU6_ZERO_LEN_ERR_MSK | \
  2479. B_AX_RX_RU5_ZERO_LEN_ERR_MSK | \
  2480. B_AX_RX_RU4_ZERO_LEN_ERR_MSK | \
  2481. B_AX_RX_RU3_ZERO_LEN_ERR_MSK | \
  2482. B_AX_RX_RU2_ZERO_LEN_ERR_MSK | \
  2483. B_AX_RX_RU1_ZERO_LEN_ERR_MSK | \
  2484. B_AX_RX_RU0_ZERO_LEN_ERR_MSK | \
  2485. B_AX_RX_F2PCMD_FSM_HANG_MSK_ERR_MSK | \
  2486. B_AX_RX_TXRPT_FSM_HANG_MSK_ERR_MSK | \
  2487. B_AX_RX_CSI_FSM_HANG_MSK_ERR_MSK | \
  2488. B_AX_RX_RXSTS_FSM_HANG_MSK_ERR_MSK | \
  2489. B_AX_RX_RU7_FSM_HANG_MSK_ERR_MSK | \
  2490. B_AX_RX_RU6_FSM_HANG_MSK_ERR_MSK | \
  2491. B_AX_RX_RU5_FSM_HANG_MSK_ERR_MSK | \
  2492. B_AX_RX_RU4_FSM_HANG_MSK_ERR_MSK | \
  2493. B_AX_RX_RU3_FSM_HANG_MSK_ERR_MSK | \
  2494. B_AX_RX_RU2_FSM_HANG_MSK_ERR_MSK | \
  2495. B_AX_RX_RU1_FSM_HANG_MSK_ERR_MSK | \
  2496. B_AX_RX_RU0_FSM_HANG_MSK_ERR_MSK | \
  2497. B_AX_RX_GET_NULL_PKT_ERR_MSK)
  2498. #define R_AX_TX_ERR_FLAG_IMR 0xC870
  2499. #define R_AX_TX_ERR_FLAG_IMR_C1 0xE870
  2500. #define B_AX_TX_RU0_FSM_HANG_ERR_MSK BIT(31)
  2501. #define B_AX_TX_RU1_FSM_HANG_ERR_MSK BIT(30)
  2502. #define B_AX_TX_RU2_FSM_HANG_ERR_MSK BIT(29)
  2503. #define B_AX_TX_RU3_FSM_HANG_ERR_MSK BIT(28)
  2504. #define B_AX_TX_RU4_FSM_HANG_ERR_MSK BIT(27)
  2505. #define B_AX_TX_RU5_FSM_HANG_ERR_MSK BIT(26)
  2506. #define B_AX_TX_RU6_FSM_HANG_ERR_MSK BIT(25)
  2507. #define B_AX_TX_RU7_FSM_HANG_ERR_MSK BIT(24)
  2508. #define B_AX_TX_RU8_FSM_HANG_ERR_MSK BIT(23)
  2509. #define B_AX_TX_RU9_FSM_HANG_ERR_MSK BIT(22)
  2510. #define B_AX_TX_RU10_FSM_HANG_ERR_MSK BIT(21)
  2511. #define B_AX_TX_RU11_FSM_HANG_ERR_MSK BIT(20)
  2512. #define B_AX_TX_RU12_FSM_HANG_ERR_MSK BIT(19)
  2513. #define B_AX_TX_RU13_FSM_HANG_ERR_MSK BIT(18)
  2514. #define B_AX_TX_RU14_FSM_HANG_ERR_MSK BIT(17)
  2515. #define B_AX_TX_RU15_FSM_HANG_ERR_MSK BIT(16)
  2516. #define B_AX_TX_CSI_FSM_HANG_ERR_MSK BIT(15)
  2517. #define B_AX_TX_WD_PLD_ID_FSM_HANG_ERR_MSK BIT(14)
  2518. #define B_AX_TX_ERR_IMR_CLR_V1 (B_AX_TX_WD_PLD_ID_FSM_HANG_ERR_MSK | \
  2519. B_AX_TX_CSI_FSM_HANG_ERR_MSK | \
  2520. B_AX_TX_RU7_FSM_HANG_ERR_MSK | \
  2521. B_AX_TX_RU6_FSM_HANG_ERR_MSK | \
  2522. B_AX_TX_RU5_FSM_HANG_ERR_MSK | \
  2523. B_AX_TX_RU4_FSM_HANG_ERR_MSK | \
  2524. B_AX_TX_RU3_FSM_HANG_ERR_MSK | \
  2525. B_AX_TX_RU2_FSM_HANG_ERR_MSK | \
  2526. B_AX_TX_RU1_FSM_HANG_ERR_MSK | \
  2527. B_AX_TX_RU0_FSM_HANG_ERR_MSK)
  2528. #define B_AX_TX_ERR_IMR_SET_V1 (B_AX_TX_WD_PLD_ID_FSM_HANG_ERR_MSK | \
  2529. B_AX_TX_CSI_FSM_HANG_ERR_MSK | \
  2530. B_AX_TX_RU7_FSM_HANG_ERR_MSK | \
  2531. B_AX_TX_RU6_FSM_HANG_ERR_MSK | \
  2532. B_AX_TX_RU5_FSM_HANG_ERR_MSK | \
  2533. B_AX_TX_RU4_FSM_HANG_ERR_MSK | \
  2534. B_AX_TX_RU3_FSM_HANG_ERR_MSK | \
  2535. B_AX_TX_RU2_FSM_HANG_ERR_MSK | \
  2536. B_AX_TX_RU1_FSM_HANG_ERR_MSK | \
  2537. B_AX_TX_RU0_FSM_HANG_ERR_MSK)
  2538. #define R_AX_TCR0 0xCA00
  2539. #define R_AX_TCR0_C1 0xEA00
  2540. #define B_AX_TCR_ZLD_NUM_MASK GENMASK(31, 24)
  2541. #define B_AX_TCR_UDF_EN BIT(23)
  2542. #define B_AX_TCR_UDF_THSD_MASK GENMASK(22, 16)
  2543. #define TCR_UDF_THSD 0x6
  2544. #define B_AX_TCR_ERRSTEN_MASK GENMASK(15, 10)
  2545. #define B_AX_TCR_VHTSIGA1_TXPS BIT(9)
  2546. #define B_AX_TCR_PLCP_ERRHDL_EN BIT(8)
  2547. #define B_AX_TCR_PADSEL BIT(7)
  2548. #define B_AX_TCR_MASK_SIGBCRC BIT(6)
  2549. #define B_AX_TCR_SR_VAL15_ALLOW BIT(5)
  2550. #define B_AX_TCR_EN_EOF BIT(4)
  2551. #define B_AX_TCR_EN_SCRAM_INC BIT(3)
  2552. #define B_AX_TCR_EN_20MST BIT(2)
  2553. #define B_AX_TCR_CRC BIT(1)
  2554. #define B_AX_TCR_DISGCLK BIT(0)
  2555. #define R_AX_TCR1 0xCA04
  2556. #define R_AX_TCR1_C1 0xEA04
  2557. #define B_AX_TXDFIFO_THRESHOLD GENMASK(31, 28)
  2558. #define B_AX_TCR_CCK_LOCK_CLK BIT(27)
  2559. #define B_AX_TCR_FORCE_READ_TXDFIFO BIT(26)
  2560. #define B_AX_TCR_USTIME GENMASK(23, 16)
  2561. #define B_AX_TCR_SMOOTH_VAL BIT(15)
  2562. #define B_AX_TCR_SMOOTH_CTRL BIT(14)
  2563. #define B_AX_CS_REQ_VAL BIT(13)
  2564. #define B_AX_CS_REQ_SEL BIT(12)
  2565. #define B_AX_TCR_ZLD_USTIME_AFTERPHYTXON GENMASK(11, 8)
  2566. #define B_AX_TCR_TXTIMEOUT GENMASK(7, 0)
  2567. #define R_AX_MD_TSFT_STMP_CTL 0xCA08
  2568. #define R_AX_MD_TSFT_STMP_CTL_C1 0xEA08
  2569. #define B_AX_TSFT_OFS_MASK GENMASK(31, 16)
  2570. #define B_AX_STMP_THSD_MASK GENMASK(15, 8)
  2571. #define B_AX_UPD_HGQMD BIT(1)
  2572. #define B_AX_UPD_TIMIE BIT(0)
  2573. #define R_AX_PPWRBIT_SETTING 0xCA0C
  2574. #define R_AX_PPWRBIT_SETTING_C1 0xEA0C
  2575. #define R_AX_TXD_FIFO_CTRL 0xCA1C
  2576. #define R_AX_TXD_FIFO_CTRL_C1 0xEA1C
  2577. #define B_AX_NON_LEGACY_PPDU_ZLD_USTIMER_MASK GENMASK(28, 24)
  2578. #define B_AX_LEGACY_PPDU_ZLD_USTIMER_MASK GENMASK(20, 16)
  2579. #define B_AX_TXDFIFO_HIGH_MCS_THRE_MASK GENMASK(15, 12)
  2580. #define TXDFIFO_HIGH_MCS_THRE 0x7
  2581. #define B_AX_TXDFIFO_LOW_MCS_THRE_MASK GENMASK(11, 8)
  2582. #define TXDFIFO_LOW_MCS_THRE 0x7
  2583. #define B_AX_HIGH_MCS_PHY_RATE_MASK GENMASK(7, 4)
  2584. #define B_AX_BW_PHY_RATE_MASK GENMASK(1, 0)
  2585. #define R_AX_MACTX_DBG_SEL_CNT 0xCA20
  2586. #define R_AX_MACTX_DBG_SEL_CNT_C1 0xEA20
  2587. #define B_AX_MACTX_MPDU_CNT GENMASK(31, 24)
  2588. #define B_AX_MACTX_DMA_CNT GENMASK(23, 16)
  2589. #define B_AX_LENGTH_ERR_FLAG_U3 BIT(11)
  2590. #define B_AX_LENGTH_ERR_FLAG_U2 BIT(10)
  2591. #define B_AX_LENGTH_ERR_FLAG_U1 BIT(9)
  2592. #define B_AX_LENGTH_ERR_FLAG_U0 BIT(8)
  2593. #define B_AX_DBGSEL_MACTX_MASK GENMASK(5, 0)
  2594. #define R_AX_WMAC_TX_CTRL_DEBUG 0xCAE4
  2595. #define R_AX_WMAC_TX_CTRL_DEBUG_C1 0xEAE4
  2596. #define B_AX_TX_CTRL_DEBUG_SEL_MASK GENMASK(3, 0)
  2597. #define R_AX_WMAC_TX_INFO0_DEBUG 0xCAE8
  2598. #define R_AX_WMAC_TX_INFO0_DEBUG_C1 0xEAE8
  2599. #define B_AX_TX_CTRL_INFO_P0_MASK GENMASK(31, 0)
  2600. #define R_AX_WMAC_TX_INFO1_DEBUG 0xCAEC
  2601. #define R_AX_WMAC_TX_INFO1_DEBUG_C1 0xEAEC
  2602. #define B_AX_TX_CTRL_INFO_P1_MASK GENMASK(31, 0)
  2603. #define R_AX_RSP_CHK_SIG 0xCC00
  2604. #define R_AX_RSP_CHK_SIG_C1 0xEC00
  2605. #define B_AX_RSP_STATIC_RTS_CHK_SERV_BW_EN BIT(30)
  2606. #define B_AX_RSP_TBPPDU_CHK_PWR BIT(29)
  2607. #define B_AX_RSP_CHK_BASIC_NAV BIT(21)
  2608. #define B_AX_RSP_CHK_INTRA_NAV BIT(20)
  2609. #define B_AX_RSP_CHK_TXNAV BIT(19)
  2610. #define B_AX_TXDATA_END_PS_OPT BIT(18)
  2611. #define B_AX_CHECK_SOUNDING_SEQ BIT(17)
  2612. #define B_AX_RXBA_IGNOREA2 BIT(16)
  2613. #define B_AX_ACKTO_CCK_MASK GENMASK(15, 8)
  2614. #define B_AX_ACKTO_MASK GENMASK(7, 0)
  2615. #define R_AX_TRXPTCL_RESP_0 0xCC04
  2616. #define R_AX_TRXPTCL_RESP_0_C1 0xEC04
  2617. #define B_AX_WMAC_RESP_STBC_EN BIT(31)
  2618. #define B_AX_WMAC_RXFTM_TXACK_SC BIT(30)
  2619. #define B_AX_WMAC_RXFTM_TXACKBWEQ BIT(29)
  2620. #define B_AX_RSP_CHK_SEC_CCA_80 BIT(28)
  2621. #define B_AX_RSP_CHK_SEC_CCA_40 BIT(27)
  2622. #define B_AX_RSP_CHK_SEC_CCA_20 BIT(26)
  2623. #define B_AX_RSP_CHK_BTCCA BIT(25)
  2624. #define B_AX_RSP_CHK_EDCCA BIT(24)
  2625. #define B_AX_RSP_CHK_CCA BIT(23)
  2626. #define B_AX_WMAC_LDPC_EN BIT(22)
  2627. #define B_AX_WMAC_SGIEN BIT(21)
  2628. #define B_AX_WMAC_SPLCPEN BIT(20)
  2629. #define B_AX_WMAC_BESP_EARLY_TXBA BIT(17)
  2630. #define B_AX_WMAC_SPEC_SIFS_OFDM_MASK GENMASK(15, 8)
  2631. #define B_AX_WMAC_SPEC_SIFS_CCK_MASK GENMASK(7, 0)
  2632. #define WMAC_SPEC_SIFS_OFDM_52A 0x15
  2633. #define WMAC_SPEC_SIFS_OFDM_52B 0x11
  2634. #define WMAC_SPEC_SIFS_OFDM_52C 0x11
  2635. #define WMAC_SPEC_SIFS_CCK 0xA
  2636. #define R_AX_TRXPTCL_RRSR_CTL_0 0xCC08
  2637. #define R_AX_TRXPTCL_RRSR_CTL_0_C1 0xEC08
  2638. #define B_AX_RESP_TX_MACID_CCA_TH_EN BIT(31)
  2639. #define B_AX_RESP_TX_PWRMODE_MASK GENMASK(30, 28)
  2640. #define B_AX_FTM_RRSR_RATE_EN_MASK GENMASK(27, 24)
  2641. #define B_AX_NESS_MASK GENMASK(23, 22)
  2642. #define B_AX_WMAC_RESP_DOPPLEB_AX_EN BIT(21)
  2643. #define B_AX_WMAC_RESP_DCM_EN BIT(20)
  2644. #define B_AX_WMAC_RRSB_AX_CCK_MASK GENMASK(19, 16)
  2645. #define B_AX_WMAC_RESP_RATE_EN_MASK GENMASK(15, 12)
  2646. #define B_AX_WMAC_RESP_RSC_MASK GENMASK(11, 10)
  2647. #define B_AX_WMAC_RESP_REF_RATE_SEL BIT(9)
  2648. #define B_AX_WMAC_RESP_REF_RATE_MASK GENMASK(8, 0)
  2649. #define R_AX_MAC_LOOPBACK 0xCC20
  2650. #define R_AX_MAC_LOOPBACK_C1 0xEC20
  2651. #define B_AX_MACLBK_EN BIT(0)
  2652. #define R_AX_WMAC_NAV_CTL 0xCC80
  2653. #define R_AX_WMAC_NAV_CTL_C1 0xEC80
  2654. #define B_AX_WMAC_NAV_UPPER_EN BIT(26)
  2655. #define B_AX_WMAC_0P125US_TIMER_MASK GENMASK(25, 18)
  2656. #define B_AX_WMAC_PLCP_UP_NAV_EN BIT(17)
  2657. #define B_AX_WMAC_TF_UP_NAV_EN BIT(16)
  2658. #define B_AX_WMAC_NAV_UPPER_MASK GENMASK(15, 8)
  2659. #define NAV_12MS 0xBC
  2660. #define NAV_25MS 0xC4
  2661. #define B_AX_WMAC_RTS_RST_DUR_MASK GENMASK(7, 0)
  2662. #define R_AX_RXTRIG_TEST_USER_2 0xCCB0
  2663. #define R_AX_RXTRIG_TEST_USER_2_C1 0xECB0
  2664. #define B_AX_RXTRIG_MACID_MASK GENMASK(31, 24)
  2665. #define B_AX_RXTRIG_RU26_DIS BIT(21)
  2666. #define B_AX_RXTRIG_FCSCHK_EN BIT(20)
  2667. #define B_AX_RXTRIG_PORT_SEL_MASK GENMASK(19, 17)
  2668. #define B_AX_RXTRIG_EN BIT(16)
  2669. #define B_AX_RXTRIG_USERINFO_2_MASK GENMASK(15, 0)
  2670. #define R_AX_TRXPTCL_ERROR_INDICA_MASK 0xCCBC
  2671. #define R_AX_TRXPTCL_ERROR_INDICA_MASK_C1 0xECBC
  2672. #define B_AX_WMAC_MODE BIT(22)
  2673. #define B_AX_WMAC_TIMETOUT_THR_MASK GENMASK(21, 16)
  2674. #define B_AX_RMAC_FTM BIT(8)
  2675. #define B_AX_RMAC_CSI BIT(7)
  2676. #define B_AX_TMAC_MIMO_CTRL BIT(6)
  2677. #define B_AX_TMAC_RXTB BIT(5)
  2678. #define B_AX_TMAC_HWSIGB_GEN BIT(4)
  2679. #define B_AX_TMAC_TXPLCP BIT(3)
  2680. #define B_AX_TMAC_RESP BIT(2)
  2681. #define B_AX_TMAC_TXCTL BIT(1)
  2682. #define B_AX_TMAC_MACTX BIT(0)
  2683. #define B_AX_TMAC_IMR_CLR_V1 (B_AX_TMAC_MACTX | \
  2684. B_AX_TMAC_TXCTL | \
  2685. B_AX_TMAC_RESP | \
  2686. B_AX_TMAC_TXPLCP | \
  2687. B_AX_TMAC_HWSIGB_GEN | \
  2688. B_AX_TMAC_RXTB | \
  2689. B_AX_TMAC_MIMO_CTRL | \
  2690. B_AX_RMAC_CSI | \
  2691. B_AX_RMAC_FTM)
  2692. #define B_AX_TMAC_IMR_SET_V1 (B_AX_TMAC_MACTX | \
  2693. B_AX_TMAC_TXCTL | \
  2694. B_AX_TMAC_RESP | \
  2695. B_AX_TMAC_TXPLCP | \
  2696. B_AX_TMAC_HWSIGB_GEN | \
  2697. B_AX_TMAC_RXTB | \
  2698. B_AX_TMAC_MIMO_CTRL | \
  2699. B_AX_RMAC_FTM)
  2700. #define R_AX_TRXPTCL_ERROR_INDICA 0xCCC0
  2701. #define R_AX_TRXPTCL_ERROR_INDICA_C1 0xECC0
  2702. #define B_AX_FTM_ERROR_FLAG_CLR BIT(8)
  2703. #define B_AX_CSI_ERROR_FLAG_CLR BIT(7)
  2704. #define B_AX_MIMOCTRL_ERROR_FLAG_CLR BIT(6)
  2705. #define B_AX_RXTB_ERROR_FLAG_CLR BIT(5)
  2706. #define B_AX_HWSIGB_GEN_ERROR_FLAG_CLR BIT(4)
  2707. #define B_AX_TXPLCP_ERROR_FLAG_CLR BIT(3)
  2708. #define B_AX_RESP_ERROR_FLAG_CLR BIT(2)
  2709. #define B_AX_TXCTL_ERROR_FLAG_CLR BIT(1)
  2710. #define B_AX_MACTX_ERROR_FLAG_CLR BIT(0)
  2711. #define R_AX_WMAC_TX_TF_INFO_0 0xCCD0
  2712. #define R_AX_WMAC_TX_TF_INFO_0_C1 0xECD0
  2713. #define B_AX_WMAC_TX_TF_INFO_SEL_MASK GENMASK(2, 0)
  2714. #define R_AX_WMAC_TX_TF_INFO_1 0xCCD4
  2715. #define R_AX_WMAC_TX_TF_INFO_1_C1 0xECD4
  2716. #define B_AX_WMAC_TX_TF_INFO_P0_MASK GENMASK(31, 0)
  2717. #define R_AX_WMAC_TX_TF_INFO_2 0xCCD8
  2718. #define R_AX_WMAC_TX_TF_INFO_2_C1 0xECD8
  2719. #define B_AX_WMAC_TX_TF_INFO_P1_MASK GENMASK(31, 0)
  2720. #define R_AX_TMAC_ERR_IMR_ISR 0xCCEC
  2721. #define R_AX_TMAC_ERR_IMR_ISR_C1 0xECEC
  2722. #define B_AX_TMAC_TXPLCP_ERR_CLR BIT(19)
  2723. #define B_AX_TMAC_RESP_ERR_CLR BIT(18)
  2724. #define B_AX_TMAC_TXCTL_ERR_CLR BIT(17)
  2725. #define B_AX_TMAC_MACTX_ERR_CLR BIT(16)
  2726. #define B_AX_TMAC_TXPLCP_ERR BIT(14)
  2727. #define B_AX_TMAC_RESP_ERR BIT(13)
  2728. #define B_AX_TMAC_TXCTL_ERR BIT(12)
  2729. #define B_AX_TMAC_MACTX_ERR BIT(11)
  2730. #define B_AX_TMAC_TXPLCP_INT_EN BIT(10)
  2731. #define B_AX_TMAC_RESP_INT_EN BIT(9)
  2732. #define B_AX_TMAC_TXCTL_INT_EN BIT(8)
  2733. #define B_AX_TMAC_MACTX_INT_EN BIT(7)
  2734. #define B_AX_WMAC_INT_MODE BIT(6)
  2735. #define B_AX_TMAC_TIMETOUT_THR_MASK GENMASK(5, 0)
  2736. #define B_AX_TMAC_IMR_CLR (B_AX_TMAC_MACTX_INT_EN | \
  2737. B_AX_TMAC_TXCTL_INT_EN | \
  2738. B_AX_TMAC_RESP_INT_EN | \
  2739. B_AX_TMAC_TXPLCP_INT_EN)
  2740. #define B_AX_TMAC_IMR_SET (B_AX_TMAC_MACTX_INT_EN | \
  2741. B_AX_TMAC_TXCTL_INT_EN | \
  2742. B_AX_TMAC_RESP_INT_EN | \
  2743. B_AX_TMAC_TXPLCP_INT_EN)
  2744. #define R_AX_DBGSEL_TRXPTCL 0xCCF4
  2745. #define R_AX_DBGSEL_TRXPTCL_C1 0xECF4
  2746. #define B_AX_DBGSEL_TRXPTCL_MASK GENMASK(7, 0)
  2747. #define R_AX_PHYINFO_ERR_IMR_V1 0xCCF8
  2748. #define R_AX_PHYINFO_ERR_IMR_V1_C1 0xECF8
  2749. #define B_AX_PHYINTF_TIMEOUT_THR_MSAK_V1 GENMASK(21, 16)
  2750. #define B_AX_CSI_ON_TIMEOUT_EN BIT(5)
  2751. #define B_AX_STS_ON_TIMEOUT_EN BIT(4)
  2752. #define B_AX_DATA_ON_TIMEOUT_EN BIT(3)
  2753. #define B_AX_OFDM_CCA_TIMEOUT_EN BIT(2)
  2754. #define B_AX_CCK_CCA_TIMEOUT_EN BIT(1)
  2755. #define B_AX_PHY_TXON_TIMEOUT_EN BIT(0)
  2756. #define B_AX_PHYINFO_IMR_CLR_V1 (B_AX_PHY_TXON_TIMEOUT_EN | \
  2757. B_AX_CCK_CCA_TIMEOUT_EN | \
  2758. B_AX_OFDM_CCA_TIMEOUT_EN | \
  2759. B_AX_DATA_ON_TIMEOUT_EN | \
  2760. B_AX_STS_ON_TIMEOUT_EN | \
  2761. B_AX_CSI_ON_TIMEOUT_EN)
  2762. #define B_AX_PHYINFO_IMR_SET_V1 (B_AX_PHY_TXON_TIMEOUT_EN | \
  2763. B_AX_CCK_CCA_TIMEOUT_EN | \
  2764. B_AX_OFDM_CCA_TIMEOUT_EN | \
  2765. B_AX_DATA_ON_TIMEOUT_EN | \
  2766. B_AX_STS_ON_TIMEOUT_EN | \
  2767. B_AX_CSI_ON_TIMEOUT_EN)
  2768. #define R_AX_PHYINFO_ERR_IMR 0xCCFC
  2769. #define R_AX_PHYINFO_ERR_IMR_C1 0xECFC
  2770. #define B_AX_CSI_ON_TIMEOUT BIT(29)
  2771. #define B_AX_STS_ON_TIMEOUT BIT(28)
  2772. #define B_AX_DATA_ON_TIMEOUT BIT(27)
  2773. #define B_AX_OFDM_CCA_TIMEOUT BIT(26)
  2774. #define B_AX_CCK_CCA_TIMEOUT BIT(25)
  2775. #define B_AXC_PHY_TXON_TIMEOUT BIT(24)
  2776. #define B_AX_CSI_ON_TIMEOUT_INT_EN BIT(21)
  2777. #define B_AX_STS_ON_TIMEOUT_INT_EN BIT(20)
  2778. #define B_AX_DATA_ON_TIMEOUT_INT_EN BIT(19)
  2779. #define B_AX_OFDM_CCA_TIMEOUT_INT_EN BIT(18)
  2780. #define B_AX_CCK_CCA_TIMEOUT_INT_EN BIT(17)
  2781. #define B_AX_PHY_TXON_TIMEOUT_INT_EN BIT(16)
  2782. #define B_AX_PHYINTF_TIMEOUT_THR_MSAK GENMASK(5, 0)
  2783. #define B_AX_PHYINFO_IMR_EN_ALL (B_AX_PHY_TXON_TIMEOUT_INT_EN | \
  2784. B_AX_CCK_CCA_TIMEOUT_INT_EN | \
  2785. B_AX_OFDM_CCA_TIMEOUT_INT_EN | \
  2786. B_AX_DATA_ON_TIMEOUT_INT_EN | \
  2787. B_AX_STS_ON_TIMEOUT_INT_EN | \
  2788. B_AX_CSI_ON_TIMEOUT_INT_EN)
  2789. #define R_AX_PHYINFO_ERR_ISR 0xCCFC
  2790. #define R_AX_PHYINFO_ERR_ISR_C1 0xECFC
  2791. #define R_AX_BFMER_CTRL_0 0xCD78
  2792. #define R_AX_BFMER_CTRL_0_C1 0xED78
  2793. #define B_AX_BFMER_HE_CSI_OFFSET_MASK GENMASK(31, 24)
  2794. #define B_AX_BFMER_VHT_CSI_OFFSET_MASK GENMASK(23, 16)
  2795. #define B_AX_BFMER_HT_CSI_OFFSET_MASK GENMASK(15, 8)
  2796. #define B_AX_BFMER_NDP_BFEN BIT(2)
  2797. #define B_AX_BFMER_VHT_BFPRT_CHK BIT(0)
  2798. #define R_AX_BFMEE_RESP_OPTION 0xCD80
  2799. #define R_AX_BFMEE_RESP_OPTION_C1 0xED80
  2800. #define B_AX_BFMEE_NDP_RX_STANDBY_TIMER_MASK GENMASK(31, 24)
  2801. #define B_AX_BFMEE_BFRP_RX_STANDBY_TIMER_MASK GENMASK(23, 20)
  2802. #define BFRP_RX_STANDBY_TIMER_KEEP 0x0
  2803. #define BFRP_RX_STANDBY_TIMER_RELEASE 0x1
  2804. #define B_AX_MU_BFRPTSEG_SEL_MASK GENMASK(18, 17)
  2805. #define B_AX_BFMEE_NDP_RXSTDBY_SEL BIT(16)
  2806. #define BFRP_RX_STANDBY_TIMER 0x0
  2807. #define NDP_RX_STANDBY_TIMER 0xFF
  2808. #define B_AX_BFMEE_HE_NDPA_EN BIT(2)
  2809. #define B_AX_BFMEE_VHT_NDPA_EN BIT(1)
  2810. #define B_AX_BFMEE_HT_NDPA_EN BIT(0)
  2811. #define R_AX_TRXPTCL_RESP_CSI_CTRL_0 0xCD88
  2812. #define R_AX_TRXPTCL_RESP_CSI_CTRL_0_C1 0xED88
  2813. #define R_AX_TRXPTCL_RESP_CSI_CTRL_1 0xCD94
  2814. #define R_AX_TRXPTCL_RESP_CSI_CTRL_1_C1 0xED94
  2815. #define B_AX_BFMEE_CSISEQ_SEL BIT(29)
  2816. #define B_AX_BFMEE_BFPARAM_SEL BIT(28)
  2817. #define B_AX_BFMEE_OFDM_LEN_TH_MASK GENMASK(27, 24)
  2818. #define B_AX_BFMEE_BF_PORT_SEL BIT(23)
  2819. #define B_AX_BFMEE_USE_NSTS BIT(22)
  2820. #define B_AX_BFMEE_CSI_RATE_FB_EN BIT(21)
  2821. #define B_AX_BFMEE_CSI_GID_SEL BIT(20)
  2822. #define B_AX_BFMEE_CSI_RSC_MASK GENMASK(19, 18)
  2823. #define B_AX_BFMEE_CSI_FORCE_RETE_EN BIT(17)
  2824. #define B_AX_BFMEE_CSI_USE_NDPARATE BIT(16)
  2825. #define B_AX_BFMEE_CSI_WITHHTC_EN BIT(15)
  2826. #define B_AX_BFMEE_CSIINFO0_BF_EN BIT(14)
  2827. #define B_AX_BFMEE_CSIINFO0_STBC_EN BIT(13)
  2828. #define B_AX_BFMEE_CSIINFO0_LDPC_EN BIT(12)
  2829. #define B_AX_BFMEE_CSIINFO0_CS_MASK GENMASK(11, 10)
  2830. #define B_AX_BFMEE_CSIINFO0_CB_MASK GENMASK(9, 8)
  2831. #define B_AX_BFMEE_CSIINFO0_NG_MASK GENMASK(7, 6)
  2832. #define B_AX_BFMEE_CSIINFO0_NR_MASK GENMASK(5, 3)
  2833. #define B_AX_BFMEE_CSIINFO0_NC_MASK GENMASK(2, 0)
  2834. #define R_AX_TRXPTCL_RESP_CSI_RRSC 0xCD8C
  2835. #define R_AX_TRXPTCL_RESP_CSI_RRSC_C1 0xED8C
  2836. #define CSI_RRSC_BMAP 0x29292911
  2837. #define R_AX_TRXPTCL_RESP_CSI_RATE 0xCD90
  2838. #define R_AX_TRXPTCL_RESP_CSI_RATE_C1 0xED90
  2839. #define B_AX_BFMEE_HE_CSI_RATE_MASK GENMASK(22, 16)
  2840. #define B_AX_BFMEE_VHT_CSI_RATE_MASK GENMASK(14, 8)
  2841. #define B_AX_BFMEE_HT_CSI_RATE_MASK GENMASK(6, 0)
  2842. #define CSI_INIT_RATE_HE 0x3
  2843. #define CSI_INIT_RATE_VHT 0x3
  2844. #define CSI_INIT_RATE_HT 0x3
  2845. #define R_AX_RCR 0xCE00
  2846. #define R_AX_RCR_C1 0xEE00
  2847. #define B_AX_STOP_RX_IN BIT(11)
  2848. #define B_AX_DRV_INFO_SIZE_MASK GENMASK(10, 8)
  2849. #define B_AX_CH_EN_MASK GENMASK(3, 0)
  2850. #define R_AX_DLK_PROTECT_CTL 0xCE02
  2851. #define R_AX_DLK_PROTECT_CTL_C1 0xEE02
  2852. #define B_AX_RX_DLK_CCA_TIME_MASK GENMASK(15, 8)
  2853. #define B_AX_RX_DLK_DATA_TIME_MASK GENMASK(7, 4)
  2854. #define R_AX_PLCP_HDR_FLTR 0xCE04
  2855. #define R_AX_PLCP_HDR_FLTR_C1 0xEE04
  2856. #define B_AX_DIS_CHK_MIN_LEN BIT(8)
  2857. #define B_AX_HE_SIGB_CRC_CHK BIT(6)
  2858. #define B_AX_VHT_MU_SIGB_CRC_CHK BIT(5)
  2859. #define B_AX_VHT_SU_SIGB_CRC_CHK BIT(4)
  2860. #define B_AX_SIGA_CRC_CHK BIT(3)
  2861. #define B_AX_LSIG_PARITY_CHK_EN BIT(2)
  2862. #define B_AX_CCK_SIG_CHK BIT(1)
  2863. #define B_AX_CCK_CRC_CHK BIT(0)
  2864. #define R_AX_RX_FLTR_OPT 0xCE20
  2865. #define R_AX_RX_FLTR_OPT_C1 0xEE20
  2866. #define B_AX_UID_FILTER_MASK GENMASK(31, 24)
  2867. #define B_AX_UNSPT_FILTER_SH 22
  2868. #define B_AX_UNSPT_FILTER_MASK GENMASK(23, 22)
  2869. #define B_AX_RX_MPDU_MAX_LEN_MASK GENMASK(21, 16)
  2870. #define B_AX_RX_MPDU_MAX_LEN_SIZE 0x3f
  2871. #define B_AX_A_FTM_REQ BIT(14)
  2872. #define B_AX_A_ERR_PKT BIT(13)
  2873. #define B_AX_A_UNSUP_PKT BIT(12)
  2874. #define B_AX_A_CRC32_ERR BIT(11)
  2875. #define B_AX_A_PWR_MGNT BIT(10)
  2876. #define B_AX_A_BCN_CHK_RULE_MASK GENMASK(9, 8)
  2877. #define B_AX_A_BCN_CHK_EN BIT(7)
  2878. #define B_AX_A_MC_LIST_CAM_MATCH BIT(6)
  2879. #define B_AX_A_BC_CAM_MATCH BIT(5)
  2880. #define B_AX_A_UC_CAM_MATCH BIT(4)
  2881. #define B_AX_A_MC BIT(3)
  2882. #define B_AX_A_BC BIT(2)
  2883. #define B_AX_A_A1_MATCH BIT(1)
  2884. #define B_AX_SNIFFER_MODE BIT(0)
  2885. #define DEFAULT_AX_RX_FLTR (B_AX_A_A1_MATCH | B_AX_A_BC | B_AX_A_MC | \
  2886. B_AX_A_UC_CAM_MATCH | B_AX_A_BC_CAM_MATCH | \
  2887. B_AX_A_PWR_MGNT | B_AX_A_FTM_REQ | \
  2888. u32_encode_bits(3, B_AX_UID_FILTER_MASK) | \
  2889. B_AX_A_BCN_CHK_EN)
  2890. #define B_AX_RX_FLTR_CFG_MASK ((u32)~B_AX_RX_MPDU_MAX_LEN_MASK)
  2891. #define R_AX_CTRL_FLTR 0xCE24
  2892. #define R_AX_CTRL_FLTR_C1 0xEE24
  2893. #define R_AX_MGNT_FLTR 0xCE28
  2894. #define R_AX_MGNT_FLTR_C1 0xEE28
  2895. #define R_AX_DATA_FLTR 0xCE2C
  2896. #define R_AX_DATA_FLTR_C1 0xEE2C
  2897. #define RX_FLTR_FRAME_DROP 0x00000000
  2898. #define RX_FLTR_FRAME_TO_HOST 0x55555555
  2899. #define RX_FLTR_FRAME_TO_WLCPU 0xAAAAAAAA
  2900. #define R_AX_ADDR_CAM_CTRL 0xCE34
  2901. #define R_AX_ADDR_CAM_CTRL_C1 0xEE34
  2902. #define B_AX_ADDR_CAM_RANGE_MASK GENMASK(23, 16)
  2903. #define B_AX_ADDR_CAM_CMPLIMT_MASK GENMASK(15, 12)
  2904. #define B_AX_ADDR_CAM_CLR BIT(8)
  2905. #define B_AX_ADDR_CAM_A2_B0_CHK BIT(2)
  2906. #define B_AX_ADDR_CAM_SRCH_PERPKT BIT(1)
  2907. #define B_AX_ADDR_CAM_EN BIT(0)
  2908. #define R_AX_RESPBA_CAM_CTRL 0xCE3C
  2909. #define R_AX_RESPBA_CAM_CTRL_C1 0xEE3C
  2910. #define B_AX_SSN_SEL BIT(2)
  2911. #define B_AX_BACAM_RST_MASK GENMASK(1, 0)
  2912. #define S_AX_BACAM_RST_ALL 2
  2913. #define R_AX_PPDU_STAT 0xCE40
  2914. #define R_AX_PPDU_STAT_C1 0xEE40
  2915. #define B_AX_PPDU_STAT_RPT_TRIG BIT(8)
  2916. #define B_AX_PPDU_STAT_RPT_CRC32 BIT(5)
  2917. #define B_AX_PPDU_STAT_RPT_A1M BIT(4)
  2918. #define B_AX_APP_PLCP_HDR_RPT BIT(3)
  2919. #define B_AX_APP_RX_CNT_RPT BIT(2)
  2920. #define B_AX_APP_MAC_INFO_RPT BIT(1)
  2921. #define B_AX_PPDU_STAT_RPT_EN BIT(0)
  2922. #define R_AX_RX_SR_CTRL 0xCE4A
  2923. #define R_AX_RX_SR_CTRL_C1 0xEE4A
  2924. #define B_AX_SR_EN BIT(0)
  2925. #define R_AX_CSIRPT_OPTION 0xCE64
  2926. #define R_AX_CSIRPT_OPTION_C1 0xEE64
  2927. #define B_AX_CSIPRT_HESU_AID_EN BIT(25)
  2928. #define B_AX_CSIPRT_VHTSU_AID_EN BIT(24)
  2929. #define R_AX_RX_STATE_MONITOR 0xCEF0
  2930. #define R_AX_RX_STATE_MONITOR_C1 0xEEF0
  2931. #define B_AX_RX_STATE_MONITOR_MASK GENMASK(31, 0)
  2932. #define B_AX_STATE_CUR_MASK GENMASK(31, 16)
  2933. #define B_AX_STATE_NXT_MASK GENMASK(13, 8)
  2934. #define B_AX_STATE_UPD BIT(7)
  2935. #define B_AX_STATE_SEL_MASK GENMASK(4, 0)
  2936. #define R_AX_RMAC_ERR_ISR 0xCEF4
  2937. #define R_AX_RMAC_ERR_ISR_C1 0xEEF4
  2938. #define B_AX_RXERR_INTPS_EN BIT(31)
  2939. #define B_AX_RMAC_RX_CSI_TIMEOUT_INT_EN BIT(19)
  2940. #define B_AX_RMAC_RX_TIMEOUT_INT_EN BIT(18)
  2941. #define B_AX_RMAC_CSI_TIMEOUT_INT_EN BIT(17)
  2942. #define B_AX_RMAC_DATA_ON_TIMEOUT_INT_EN BIT(16)
  2943. #define B_AX_RMAC_CCA_TIMEOUT_INT_EN BIT(15)
  2944. #define B_AX_RMAC_DMA_TIMEOUT_INT_EN BIT(14)
  2945. #define B_AX_RMAC_DATA_ON_TO_IDLE_TIMEOUT_INT_EN BIT(13)
  2946. #define B_AX_RMAC_CCA_TO_IDLE_TIMEOUT_INT_EN BIT(12)
  2947. #define B_AX_RMAC_RX_CSI_TIMEOUT_FLAG BIT(7)
  2948. #define B_AX_RMAC_RX_TIMEOUT_FLAG BIT(6)
  2949. #define B_AX_BMAC_CSI_TIMEOUT_FLAG BIT(5)
  2950. #define B_AX_BMAC_DATA_ON_TIMEOUT_FLAG BIT(4)
  2951. #define B_AX_BMAC_CCA_TIMEOUT_FLAG BIT(3)
  2952. #define B_AX_BMAC_DMA_TIMEOUT_FLAG BIT(2)
  2953. #define B_AX_BMAC_DATA_ON_TO_IDLE_TIMEOUT_FLAG BIT(1)
  2954. #define B_AX_BMAC_CCA_TO_IDLE_TIMEOUT_FLAG BIT(0)
  2955. #define B_AX_RMAC_IMR_CLR (B_AX_RMAC_CCA_TO_IDLE_TIMEOUT_INT_EN | \
  2956. B_AX_RMAC_DATA_ON_TO_IDLE_TIMEOUT_INT_EN | \
  2957. B_AX_RMAC_DMA_TIMEOUT_INT_EN | \
  2958. B_AX_RMAC_CCA_TIMEOUT_INT_EN | \
  2959. B_AX_RMAC_DATA_ON_TIMEOUT_INT_EN | \
  2960. B_AX_RMAC_CSI_TIMEOUT_INT_EN | \
  2961. B_AX_RMAC_RX_TIMEOUT_INT_EN | \
  2962. B_AX_RMAC_RX_CSI_TIMEOUT_INT_EN)
  2963. #define B_AX_RMAC_IMR_SET (B_AX_RMAC_DMA_TIMEOUT_INT_EN | \
  2964. B_AX_RMAC_CSI_TIMEOUT_INT_EN | \
  2965. B_AX_RMAC_RX_TIMEOUT_INT_EN | \
  2966. B_AX_RMAC_RX_CSI_TIMEOUT_INT_EN)
  2967. #define R_AX_RX_ERR_IMR 0xCEF8
  2968. #define R_AX_RX_ERR_IMR_C1 0xEEF8
  2969. #define B_AX_RX_ERR_TRIG_ACT_TO_MSK BIT(9)
  2970. #define B_AX_RX_ERR_STS_ACT_TO_MSK BIT(8)
  2971. #define B_AX_RX_ERR_CSI_ACT_TO_MSK BIT(7)
  2972. #define B_AX_RX_ERR_ACT_TO_MSK BIT(6)
  2973. #define B_AX_CSI_DATAON_ASSERT_TO_MSK BIT(5)
  2974. #define B_AX_DATAON_ASSERT_TO_MSK BIT(4)
  2975. #define B_AX_CCA_ASSERT_TO_MSK BIT(3)
  2976. #define B_AX_RX_ERR_DMA_TO_MSK BIT(2)
  2977. #define B_AX_RX_ERR_DATA_TO_MSK BIT(1)
  2978. #define B_AX_RX_ERR_CCA_TO_MSK BIT(0)
  2979. #define B_AX_RMAC_IMR_CLR_V1 (B_AX_RX_ERR_CCA_TO_MSK | \
  2980. B_AX_RX_ERR_DATA_TO_MSK | \
  2981. B_AX_RX_ERR_DMA_TO_MSK | \
  2982. B_AX_CCA_ASSERT_TO_MSK | \
  2983. B_AX_DATAON_ASSERT_TO_MSK | \
  2984. B_AX_CSI_DATAON_ASSERT_TO_MSK | \
  2985. B_AX_RX_ERR_ACT_TO_MSK | \
  2986. B_AX_RX_ERR_CSI_ACT_TO_MSK | \
  2987. B_AX_RX_ERR_STS_ACT_TO_MSK | \
  2988. B_AX_RX_ERR_TRIG_ACT_TO_MSK)
  2989. #define B_AX_RMAC_IMR_SET_V1 (B_AX_RX_ERR_CCA_TO_MSK | \
  2990. B_AX_RX_ERR_DATA_TO_MSK | \
  2991. B_AX_RX_ERR_DMA_TO_MSK | \
  2992. B_AX_CCA_ASSERT_TO_MSK | \
  2993. B_AX_DATAON_ASSERT_TO_MSK | \
  2994. B_AX_CSI_DATAON_ASSERT_TO_MSK | \
  2995. B_AX_RX_ERR_ACT_TO_MSK | \
  2996. B_AX_RX_ERR_CSI_ACT_TO_MSK | \
  2997. B_AX_RX_ERR_STS_ACT_TO_MSK | \
  2998. B_AX_RX_ERR_TRIG_ACT_TO_MSK)
  2999. #define R_AX_RMAC_PLCP_MON 0xCEF8
  3000. #define R_AX_RMAC_PLCP_MON_C1 0xEEF8
  3001. #define B_AX_RMAC_PLCP_MON_MASK GENMASK(31, 0)
  3002. #define B_AX_PCLP_MON_SEL_MASK GENMASK(31, 28)
  3003. #define B_AX_PCLP_MON_CONT_MASK GENMASK(27, 0)
  3004. #define R_AX_RX_DEBUG_SELECT 0xCEFC
  3005. #define R_AX_RX_DEBUG_SELECT_C1 0xEEFC
  3006. #define B_AX_DEBUG_SEL_MASK GENMASK(7, 0)
  3007. #define R_AX_PWR_RATE_CTRL 0xD200
  3008. #define R_AX_PWR_RATE_CTRL_C1 0xF200
  3009. #define B_AX_PWR_REF GENMASK(27, 10)
  3010. #define B_AX_FORCE_PWR_BY_RATE_EN BIT(9)
  3011. #define B_AX_FORCE_PWR_BY_RATE_VALUE_MASK GENMASK(8, 0)
  3012. #define R_AX_PWR_RATE_OFST_CTRL 0xD204
  3013. #define R_AX_PWR_COEXT_CTRL 0xD220
  3014. #define B_AX_TXAGC_BT_EN BIT(1)
  3015. #define B_AX_TXAGC_BT_MASK GENMASK(11, 3)
  3016. #define R_AX_PWR_SWING_OTHER_CTRL0 0xD230
  3017. #define R_AX_PWR_SWING_OTHER_CTRL0_C1 0xF230
  3018. #define B_AX_CFIR_BY_RATE_OFF_MASK GENMASK(17, 0)
  3019. #define R_AX_PWR_UL_CTRL0 0xD240
  3020. #define R_AX_PWR_UL_CTRL2 0xD248
  3021. #define B_AX_PWR_UL_CFO_MASK GENMASK(2, 0)
  3022. #define B_AX_PWR_UL_CTRL2_MASK 0x07700007
  3023. #define R_AX_PWR_NORM_FORCE1 0xD260
  3024. #define R_AX_PWR_NORM_FORCE1_C1 0xF260
  3025. #define B_AX_TXAGC_BF_PWR_BOOST_FORCE_VAL_EN BIT(29)
  3026. #define B_AX_TXAGC_BF_PWR_BOOST_FORCE_VAL_MASK GENMASK(28, 24)
  3027. #define B_AX_FORCE_HE_ER_SU_EN_EN BIT(23)
  3028. #define B_AX_FORCE_HE_ER_SU_EN_VALUE BIT(22)
  3029. #define B_AX_FORCE_MACID_CCA_TH_EN_EN BIT(21)
  3030. #define B_AX_FORCE_MACID_CCA_TH_EN_VALUE BIT(20)
  3031. #define B_AX_FORCE_BT_GRANT_EN BIT(19)
  3032. #define B_AX_FORCE_BT_GRANT_VALUE BIT(18)
  3033. #define B_AX_FORCE_RX_LTE_EN BIT(17)
  3034. #define B_AX_FORCE_RX_LTE_VALUE BIT(16)
  3035. #define B_AX_FORCE_TXBF_EN_EN BIT(15)
  3036. #define B_AX_FORCE_TXBF_EN_VALUE BIT(14)
  3037. #define B_AX_FORCE_TXSC_EN BIT(13)
  3038. #define B_AX_FORCE_TXSC_VALUE_MASK GENMASK(12, 9)
  3039. #define B_AX_FORCE_NTX_EN BIT(6)
  3040. #define B_AX_FORCE_NTX_VALUE BIT(5)
  3041. #define B_AX_FORCE_PWR_MODE_EN BIT(3)
  3042. #define B_AX_FORCE_PWR_MODE_VALUE_MASK GENMASK(2, 0)
  3043. #define R_AX_PWR_UL_TB_CTRL 0xD288
  3044. #define B_AX_PWR_UL_TB_CTRL_EN BIT(31)
  3045. #define R_AX_PWR_UL_TB_1T 0xD28C
  3046. #define B_AX_PWR_UL_TB_1T_MASK GENMASK(4, 0)
  3047. #define B_AX_PWR_UL_TB_1T_V1_MASK GENMASK(7, 0)
  3048. #define B_AX_PWR_UL_TB_1T_NORM_BW160 GENMASK(31, 24)
  3049. #define R_AX_PWR_UL_TB_2T 0xD290
  3050. #define B_AX_PWR_UL_TB_2T_MASK GENMASK(4, 0)
  3051. #define B_AX_PWR_UL_TB_2T_V1_MASK GENMASK(7, 0)
  3052. #define B_AX_PWR_UL_TB_2T_NORM_BW160 GENMASK(31, 24)
  3053. #define R_AX_PWR_BY_RATE_TABLE0 0xD2C0
  3054. #define R_AX_PWR_BY_RATE_TABLE6 0xD2D8
  3055. #define R_AX_PWR_BY_RATE_TABLE10 0xD2E8
  3056. #define R_AX_PWR_BY_RATE R_AX_PWR_BY_RATE_TABLE0
  3057. #define R_AX_PWR_BY_RATE_1SS_MAX R_AX_PWR_BY_RATE_TABLE6
  3058. #define R_AX_PWR_BY_RATE_MAX R_AX_PWR_BY_RATE_TABLE10
  3059. #define R_AX_PWR_LMT_TABLE0 0xD2EC
  3060. #define R_AX_PWR_LMT_TABLE9 0xD310
  3061. #define R_AX_PWR_LMT_TABLE19 0xD338
  3062. #define R_AX_PWR_LMT R_AX_PWR_LMT_TABLE0
  3063. #define R_AX_PWR_LMT_1SS_MAX R_AX_PWR_LMT_TABLE9
  3064. #define R_AX_PWR_LMT_MAX R_AX_PWR_LMT_TABLE19
  3065. #define R_AX_PWR_RU_LMT_TABLE0 0xD33C
  3066. #define R_AX_PWR_RU_LMT_TABLE5 0xD350
  3067. #define R_AX_PWR_RU_LMT_TABLE11 0xD368
  3068. #define R_AX_PWR_RU_LMT R_AX_PWR_RU_LMT_TABLE0
  3069. #define R_AX_PWR_RU_LMT_1SS_MAX R_AX_PWR_RU_LMT_TABLE5
  3070. #define R_AX_PWR_RU_LMT_MAX R_AX_PWR_RU_LMT_TABLE11
  3071. #define R_AX_PWR_MACID_LMT_TABLE0 0xD36C
  3072. #define R_AX_PWR_MACID_LMT_TABLE127 0xD568
  3073. #define R_AX_PATH_COM0 0xD800
  3074. #define AX_PATH_COM0_DFVAL 0x00000000
  3075. #define AX_PATH_COM0_PATHA 0x08889880
  3076. #define AX_PATH_COM0_PATHB 0x11111900
  3077. #define AX_PATH_COM0_PATHAB 0x19999980
  3078. #define R_AX_PATH_COM1 0xD804
  3079. #define B_AX_PATH_COM1_NORM_1STS GENMASK(31, 28)
  3080. #define AX_PATH_COM1_DFVAL 0x00000000
  3081. #define AX_PATH_COM1_PATHA 0x13111111
  3082. #define AX_PATH_COM1_PATHB 0x23222222
  3083. #define AX_PATH_COM1_PATHAB 0x33333333
  3084. #define R_AX_PATH_COM2 0xD808
  3085. #define B_AX_PATH_COM2_RESP_1STS_PATH GENMASK(7, 4)
  3086. #define AX_PATH_COM2_DFVAL 0x00000000
  3087. #define AX_PATH_COM2_PATHA 0x01209313
  3088. #define AX_PATH_COM2_PATHB 0x01209323
  3089. #define AX_PATH_COM2_PATHAB 0x01209333
  3090. #define R_AX_PATH_COM3 0xD80C
  3091. #define AX_PATH_COM3_DFVAL 0x49249249
  3092. #define R_AX_PATH_COM4 0xD810
  3093. #define AX_PATH_COM4_DFVAL 0x1C9C9C49
  3094. #define R_AX_PATH_COM5 0xD814
  3095. #define AX_PATH_COM5_DFVAL 0x39393939
  3096. #define R_AX_PATH_COM6 0xD818
  3097. #define AX_PATH_COM6_DFVAL 0x39393939
  3098. #define R_AX_PATH_COM7 0xD81C
  3099. #define AX_PATH_COM7_DFVAL 0x39393939
  3100. #define AX_PATH_COM7_PATHA 0x39393939
  3101. #define AX_PATH_COM7_PATHB 0x39383939
  3102. #define AX_PATH_COM7_PATHAB 0x39393939
  3103. #define R_AX_PATH_COM8 0xD820
  3104. #define AX_PATH_COM8_DFVAL 0x00000000
  3105. #define AX_PATH_COM8_PATHA 0x00003939
  3106. #define AX_PATH_COM8_PATHB 0x00003938
  3107. #define AX_PATH_COM8_PATHAB 0x00003939
  3108. #define R_AX_PATH_COM9 0xD824
  3109. #define AX_PATH_COM9_DFVAL 0x000007C0
  3110. #define R_AX_PATH_COM10 0xD828
  3111. #define AX_PATH_COM10_DFVAL 0xE0000000
  3112. #define R_AX_PATH_COM11 0xD82C
  3113. #define AX_PATH_COM11_DFVAL 0x00000000
  3114. #define R_P80_AT_HIGH_FREQ_BB_WRP 0xD848
  3115. #define B_P80_AT_HIGH_FREQ_BB_WRP BIT(28)
  3116. #define R_AX_TSSI_CTRL_HEAD 0xD908
  3117. #define R_AX_BANDEDGE_CFG 0xD94C
  3118. #define B_AX_BANDEDGE_CFG_IDX_MASK GENMASK(31, 30)
  3119. #define R_AX_TSSI_CTRL_TAIL 0xD95C
  3120. #define R_AX_TXPWR_IMR 0xD9E0
  3121. #define R_AX_TXPWR_IMR_C1 0xF9E0
  3122. #define R_AX_TXPWR_ISR 0xD9E4
  3123. #define R_AX_TXPWR_ISR_C1 0xF9E4
  3124. #define R_AX_BTC_CFG 0xDA00
  3125. #define B_AX_BTC_EN BIT(31)
  3126. #define B_AX_EN_EXT_BT_PINMUX BIT(29)
  3127. #define B_AX_BTC_RST BIT(28)
  3128. #define B_AX_BTC_DBG_SRC_SEL BIT(27)
  3129. #define B_AX_BTC_MODE_MASK GENMASK(25, 24)
  3130. #define B_AX_INV_WL_ACT2 BIT(17)
  3131. #define B_AX_BTG_LNA1_GAIN_SEL BIT(16)
  3132. #define B_AX_COEX_DLY_CLK_MASK GENMASK(15, 8)
  3133. #define B_AX_IGN_GNT_BT2_RX BIT(7)
  3134. #define B_AX_IGN_GNT_BT2_TX BIT(6)
  3135. #define B_AX_IGN_GNT_BT2 BIT(5)
  3136. #define B_AX_BTC_DBG_SEL_MASK GENMASK(4, 3)
  3137. #define B_AX_DIS_BTC_CLK_G BIT(2)
  3138. #define B_AX_GNT_WL_RX_CTRL BIT(1)
  3139. #define B_AX_WL_SRC BIT(0)
  3140. #define R_AX_RTK_MODE_CFG_V1 0xDA04
  3141. #define R_AX_RTK_MODE_CFG_V1_C1 0xFA04
  3142. #define B_AX_BT_BLE_EN_V1 BIT(24)
  3143. #define B_AX_BT_ULTRA_EN BIT(16)
  3144. #define B_AX_BT_L_RX_ULTRA_MASK GENMASK(15, 14)
  3145. #define B_AX_BT_L_TX_ULTRA_MASK GENMASK(13, 12)
  3146. #define B_AX_BT_H_RX_ULTRA_MASK GENMASK(11, 10)
  3147. #define B_AX_BT_H_TX_ULTRA_MASK GENMASK(9, 8)
  3148. #define B_AX_SAMPLE_CLK_MASK GENMASK(7, 0)
  3149. #define R_AX_WL_PRI_MSK 0xDA10
  3150. #define B_AX_PTA_WL_PRI_MASK_BCNQ BIT(8)
  3151. #define R_AX_BT_CNT_CFG 0xDA10
  3152. #define R_AX_BT_CNT_CFG_C1 0xFA10
  3153. #define B_AX_BT_CNT_RST_V1 BIT(1)
  3154. #define B_AX_BT_CNT_EN BIT(0)
  3155. #define R_BTC_BT_CNT_HIGH 0xDA14
  3156. #define R_BTC_BT_CNT_LOW 0xDA18
  3157. #define R_AX_BTC_FUNC_EN 0xDA20
  3158. #define R_AX_BTC_FUNC_EN_C1 0xFA20
  3159. #define B_AX_PTA_WL_TX_EN BIT(1)
  3160. #define B_AX_PTA_EDCCA_EN BIT(0)
  3161. #define R_BTC_COEX_WL_REQ 0xDA24
  3162. #define B_BTC_TX_BCN_HI BIT(22)
  3163. #define B_BTC_RSP_ACK_HI BIT(10)
  3164. #define R_BTC_BREAK_TABLE 0xDA2C
  3165. #define BTC_BREAK_PARAM 0xf0ffffff
  3166. #define R_BTC_BT_COEX_MSK_TABLE 0xDA30
  3167. #define B_BTC_PRI_MASK_RXCCK_V1 BIT(28)
  3168. #define B_BTC_PRI_MASK_TX_RESP_V1 BIT(3)
  3169. #define R_AX_BT_COEX_CFG_2 0xDA34
  3170. #define R_AX_BT_COEX_CFG_2_C1 0xFA34
  3171. #define B_AX_GNT_BT_BYPASS_PRIORITY BIT(12)
  3172. #define B_AX_GNT_BT_POLARITY BIT(8)
  3173. #define B_AX_TIMER_MASK GENMASK(7, 0)
  3174. #define MAC_AX_CSR_RATE 80
  3175. #define R_AX_CSR_MODE 0xDA40
  3176. #define R_AX_CSR_MODE_C1 0xFA40
  3177. #define B_AX_BT_CNT_RST BIT(16)
  3178. #define B_AX_BT_STAT_DELAY_MASK GENMASK(15, 12)
  3179. #define MAC_AX_CSR_DELAY 0
  3180. #define B_AX_BT_TRX_INIT_DETECT_MASK GENMASK(11, 8)
  3181. #define MAC_AX_CSR_TRX_TO 4
  3182. #define B_AX_BT_PRI_DETECT_TO_MASK GENMASK(7, 4)
  3183. #define MAC_AX_CSR_PRI_TO 5
  3184. #define B_AX_WL_ACT_MSK BIT(3)
  3185. #define B_AX_STATIS_BT_EN BIT(2)
  3186. #define B_AX_WL_ACT_MASK_ENABLE BIT(1)
  3187. #define B_AX_ENHANCED_BT BIT(0)
  3188. #define R_AX_BT_BREAK_TABLE 0xDA44
  3189. #define R_AX_BT_STAST_HIGH 0xDA44
  3190. #define B_AX_STATIS_BT_HI_RX_MASK GENMASK(31, 16)
  3191. #define B_AX_STATIS_BT_HI_TX_MASK GENMASK(15, 0)
  3192. #define R_AX_BT_STAST_LOW 0xDA48
  3193. #define B_AX_STATIS_BT_LO_TX_1_MASK GENMASK(15, 0)
  3194. #define B_AX_STATIS_BT_LO_RX_1_MASK GENMASK(31, 16)
  3195. #define R_AX_GNT_SW_CTRL 0xDA48
  3196. #define R_AX_GNT_SW_CTRL_C1 0xFA48
  3197. #define B_AX_WL_ACT2_VAL BIT(21)
  3198. #define B_AX_WL_ACT2_SWCTRL BIT(20)
  3199. #define B_AX_WL_ACT_VAL BIT(19)
  3200. #define B_AX_WL_ACT_SWCTRL BIT(18)
  3201. #define B_AX_GNT_BT_RX_VAL BIT(17)
  3202. #define B_AX_GNT_BT_RX_SWCTRL BIT(16)
  3203. #define B_AX_GNT_BT_TX_VAL BIT(15)
  3204. #define B_AX_GNT_BT_TX_SWCTRL BIT(14)
  3205. #define B_AX_GNT_WL_RX_VAL BIT(13)
  3206. #define B_AX_GNT_WL_RX_SWCTRL BIT(12)
  3207. #define B_AX_GNT_WL_TX_VAL BIT(11)
  3208. #define B_AX_GNT_WL_TX_SWCTRL BIT(10)
  3209. #define B_AX_GNT_BT_RFC_S1_VAL BIT(9)
  3210. #define B_AX_GNT_BT_RFC_S1_SWCTRL BIT(8)
  3211. #define B_AX_GNT_WL_RFC_S1_VAL BIT(7)
  3212. #define B_AX_GNT_WL_RFC_S1_SWCTRL BIT(6)
  3213. #define B_AX_GNT_BT_RFC_S0_VAL BIT(5)
  3214. #define B_AX_GNT_BT_RFC_S0_SWCTRL BIT(4)
  3215. #define B_AX_GNT_WL_RFC_S0_VAL BIT(3)
  3216. #define B_AX_GNT_WL_RFC_S0_SWCTRL BIT(2)
  3217. #define B_AX_GNT_WL_BB_VAL BIT(1)
  3218. #define B_AX_GNT_WL_BB_SWCTRL BIT(0)
  3219. #define R_AX_GNT_VAL 0x0054
  3220. #define B_AX_GNT_BT_RFC_S1_STA BIT(5)
  3221. #define B_AX_GNT_WL_RFC_S1_STA BIT(4)
  3222. #define B_AX_GNT_BT_RFC_S0_STA BIT(3)
  3223. #define B_AX_GNT_WL_RFC_S0_STA BIT(2)
  3224. #define R_AX_GNT_VAL_V1 0xDA4C
  3225. #define B_AX_GNT_BT_RFC_S1 BIT(4)
  3226. #define B_AX_GNT_BT_RFC_S0 BIT(3)
  3227. #define B_AX_GNT_WL_RFC_S1 BIT(2)
  3228. #define B_AX_GNT_WL_RFC_S0 BIT(1)
  3229. #define R_AX_TDMA_MODE 0xDA4C
  3230. #define R_AX_TDMA_MODE_C1 0xFA4C
  3231. #define B_AX_R_BT_CMD_RPT_MASK GENMASK(31, 16)
  3232. #define B_AX_R_RPT_FROM_BT_MASK GENMASK(15, 8)
  3233. #define B_AX_BT_HID_ISR_SET_MASK GENMASK(7, 6)
  3234. #define B_AX_TDMA_BT_START_NOTIFY BIT(5)
  3235. #define B_AX_ENABLE_TDMA_FW_MODE BIT(4)
  3236. #define B_AX_ENABLE_PTA_TDMA_MODE BIT(3)
  3237. #define B_AX_ENABLE_COEXIST_TAB_IN_TDMA BIT(2)
  3238. #define B_AX_GPIO2_GPIO3_EXANGE_OR_NO_BT_CCA BIT(1)
  3239. #define B_AX_RTK_BT_ENABLE BIT(0)
  3240. #define R_AX_BT_COEX_CFG_5 0xDA6C
  3241. #define R_AX_BT_COEX_CFG_5_C1 0xFA6C
  3242. #define B_AX_BT_TIME_MASK GENMASK(31, 6)
  3243. #define B_AX_BT_RPT_SAMPLE_RATE_MASK GENMASK(5, 0)
  3244. #define MAC_AX_RTK_RATE 5
  3245. #define R_AX_LTE_CTRL 0xDAF0
  3246. #define R_AX_LTE_WDATA 0xDAF4
  3247. #define R_AX_LTE_RDATA 0xDAF8
  3248. #define R_AX_MACID_ANT_TABLE 0xDC00
  3249. #define R_AX_MACID_ANT_TABLE_LAST 0xDDFC
  3250. #define CMAC1_START_ADDR 0xE000
  3251. #define CMAC1_END_ADDR 0xFFFF
  3252. #define R_AX_CMAC_REG_END 0xFFFF
  3253. #define R_AX_LTE_SW_CFG_1 0x0038
  3254. #define R_AX_LTE_SW_CFG_1_C1 0x2038
  3255. #define B_AX_GNT_BT_RFC_S1_SW_VAL BIT(31)
  3256. #define B_AX_GNT_BT_RFC_S1_SW_CTRL BIT(30)
  3257. #define B_AX_GNT_WL_RFC_S1_SW_VAL BIT(29)
  3258. #define B_AX_GNT_WL_RFC_S1_SW_CTRL BIT(28)
  3259. #define B_AX_GNT_BT_BB_S1_SW_VAL BIT(27)
  3260. #define B_AX_GNT_BT_BB_S1_SW_CTRL BIT(26)
  3261. #define B_AX_GNT_WL_BB_S1_SW_VAL BIT(25)
  3262. #define B_AX_GNT_WL_BB_S1_SW_CTRL BIT(24)
  3263. #define B_AX_BT_SW_CTRL_WL_PRIORITY BIT(19)
  3264. #define B_AX_WL_SW_CTRL_WL_PRIORITY BIT(18)
  3265. #define B_AX_LTE_PATTERN_2_EN BIT(17)
  3266. #define B_AX_LTE_PATTERN_1_EN BIT(16)
  3267. #define B_AX_GNT_BT_RFC_S0_SW_VAL BIT(15)
  3268. #define B_AX_GNT_BT_RFC_S0_SW_CTRL BIT(14)
  3269. #define B_AX_GNT_WL_RFC_S0_SW_VAL BIT(13)
  3270. #define B_AX_GNT_WL_RFC_S0_SW_CTRL BIT(12)
  3271. #define B_AX_GNT_BT_BB_S0_SW_VAL BIT(11)
  3272. #define B_AX_GNT_BT_BB_S0_SW_CTRL BIT(10)
  3273. #define B_AX_GNT_WL_BB_S0_SW_VAL BIT(9)
  3274. #define B_AX_GNT_WL_BB_S0_SW_CTRL BIT(8)
  3275. #define B_AX_LTECOEX_FUN_EN BIT(7)
  3276. #define B_AX_LTECOEX_3WIRE_CTRL_MUX BIT(6)
  3277. #define B_AX_LTECOEX_OP_MODE_SEL_MASK GENMASK(5, 4)
  3278. #define B_AX_LTECOEX_UART_MUX BIT(3)
  3279. #define B_AX_LTECOEX_UART_MODE_SEL_MASK GENMASK(2, 0)
  3280. #define R_AX_LTE_SW_CFG_2 0x003C
  3281. #define R_AX_LTE_SW_CFG_2_C1 0x203C
  3282. #define B_AX_WL_RX_CTRL BIT(8)
  3283. #define B_AX_GNT_WL_RX_SW_VAL BIT(7)
  3284. #define B_AX_GNT_WL_RX_SW_CTRL BIT(6)
  3285. #define B_AX_GNT_WL_TX_SW_VAL BIT(5)
  3286. #define B_AX_GNT_WL_TX_SW_CTRL BIT(4)
  3287. #define B_AX_GNT_BT_RX_SW_VAL BIT(3)
  3288. #define B_AX_GNT_BT_RX_SW_CTRL BIT(2)
  3289. #define B_AX_GNT_BT_TX_SW_VAL BIT(1)
  3290. #define B_AX_GNT_BT_TX_SW_CTRL BIT(0)
  3291. #define R_BE_SYS_CLK_CTRL 0x0008
  3292. #define B_BE_CPU_CLK_EN BIT(14)
  3293. #define B_BE_SYMR_BE_CLK_EN BIT(13)
  3294. #define B_BE_MAC_CLK_EN BIT(11)
  3295. #define B_BE_EXT_32K_EN BIT(8)
  3296. #define B_BE_WL_CLK_TEST BIT(7)
  3297. #define B_BE_LOADER_CLK_EN BIT(5)
  3298. #define B_BE_ANA_CLK_DIVISION_2 BIT(1)
  3299. #define B_BE_CNTD16V_EN BIT(0)
  3300. #define R_BE_PLATFORM_ENABLE 0x0088
  3301. #define B_BE_HOLD_AFTER_RESET BIT(11)
  3302. #define B_BE_SYM_WLPLT_MEM_MUX_EN BIT(10)
  3303. #define B_BE_WCPU_WARM_EN BIT(9)
  3304. #define B_BE_SPIC_EN BIT(8)
  3305. #define B_BE_UART_EN BIT(7)
  3306. #define B_BE_IDDMA_EN BIT(6)
  3307. #define B_BE_IPSEC_EN BIT(5)
  3308. #define B_BE_HIOE_EN BIT(4)
  3309. #define B_BE_APB_WRAP_EN BIT(2)
  3310. #define B_BE_WCPU_EN BIT(1)
  3311. #define B_BE_PLATFORM_EN BIT(0)
  3312. #define R_BE_HALT_H2C_CTRL 0x0160
  3313. #define B_BE_HALT_H2C_TRIGGER BIT(0)
  3314. #define R_BE_HALT_C2H_CTRL 0x0164
  3315. #define B_BE_HALT_C2H_TRIGGER BIT(0)
  3316. #define R_BE_HALT_H2C 0x0168
  3317. #define B_BE_HALT_H2C_MASK GENMASK(31, 0)
  3318. #define R_BE_HALT_C2H 0x016C
  3319. #define B_BE_HALT_C2H_ERROR_SENARIO_MASK GENMASK(31, 28)
  3320. #define B_BE_ERROR_CODE_MASK GENMASK(15, 0)
  3321. #define R_BE_SYS_CFG5 0x0170
  3322. #define B_BE_WDT_DATACPU_WAKE_PCIE_EN BIT(12)
  3323. #define B_BE_WDT_DATACPU_WAKE_USB_EN BIT(11)
  3324. #define B_BE_WDT_WAKE_PCIE_EN BIT(10)
  3325. #define B_BE_WDT_WAKE_USB_EN BIT(9)
  3326. #define B_BE_SYM_DIS_HC_ACCESS_MAC BIT(8)
  3327. #define B_BE_LPS_STATUS BIT(3)
  3328. #define B_BE_HCI_TXDMA_BUSY BIT(2)
  3329. #define R_BE_SECURE_BOOT_MALLOC_INFO 0x0184
  3330. #define R_BE_WCPU_FW_CTRL 0x01E0
  3331. #define B_BE_RUN_ENV_MASK GENMASK(31, 30)
  3332. #define B_BE_WCPU_FWDL_STATUS_MASK GENMASK(29, 26)
  3333. #define B_BE_WDT_PLT_RST_EN BIT(17)
  3334. #define B_BE_FW_SEC_AUTH_DONE BIT(14)
  3335. #define B_BE_FW_CPU_UTIL_STS_EN BIT(13)
  3336. #define B_BE_BBMCU1_FWDL_EN BIT(12)
  3337. #define B_BE_BBMCU0_FWDL_EN BIT(11)
  3338. #define B_BE_DATACPU_FWDL_EN BIT(10)
  3339. #define B_BE_WLANCPU_FWDL_EN BIT(9)
  3340. #define B_BE_WCPU_ROM_CUT_GET BIT(8)
  3341. #define B_BE_WCPU_ROM_CUT_VAL_MASK GENMASK(7, 4)
  3342. #define B_BE_FW_BOOT_MODE_MASK GENMASK(3, 2)
  3343. #define B_BE_H2C_PATH_RDY BIT(1)
  3344. #define B_BE_DLFW_PATH_RDY BIT(0)
  3345. #define R_BE_BOOT_REASON 0x01E6
  3346. #define B_BE_BOOT_REASON_MASK GENMASK(2, 0)
  3347. #define R_BE_LDM 0x01E8
  3348. #define B_BE_EN_32K BIT(31)
  3349. #define B_BE_LDM_MASK GENMASK(30, 0)
  3350. #define R_BE_UDM0 0x01F0
  3351. #define B_BE_UDM0_SEND2RA_CNT_MASK GENMASK(31, 28)
  3352. #define B_BE_UDM0_TX_RPT_CNT_MASK GENMASK(27, 24)
  3353. #define B_BE_UDM0_FS_CODE_MASK GENMASK(23, 8)
  3354. #define B_BE_NULL_POINTER_INDC BIT(7)
  3355. #define B_BE_ROM_ASSERT_INDC BIT(6)
  3356. #define B_BE_RAM_ASSERT_INDC BIT(5)
  3357. #define B_BE_FW_IMAGE_TYPE BIT(4)
  3358. #define B_BE_UDM0_TRAP_LOOP_CTRL BIT(2)
  3359. #define B_BE_UDM0_SEND_HALTC2H_CTRL BIT(1)
  3360. #define B_BE_UDM0_DBG_MODE_CTRL BIT(0)
  3361. #define R_BE_UDM1 0x01F4
  3362. #define B_BE_UDM1_ERROR_ADDR_MASK GENMASK(31, 16)
  3363. #define B_BE_UDM1_HALMAC_C2H_ENQ_CNT_MASK GENMASK(15, 12)
  3364. #define B_BE_UDM1_HALMAC_H2C_DEQ_CNT_MASK GENMASK(11, 8)
  3365. #define B_BE_UDM1_WCPU_C2H_ENQ_CNT_MASK GENMASK(7, 4)
  3366. #define B_BE_UDM1_WCPU_H2C_DEQ_CNT_MASK GENMASK(3, 0)
  3367. #define R_BE_UDM2 0x01F8
  3368. #define B_BE_UDM2_EPC_RA_MASK GENMASK(31, 0)
  3369. #define R_BE_DCPU_PLATFORM_ENABLE 0x0888
  3370. #define B_BE_DCPU_SYM_DPLT_MEM_MUX_EN BIT(10)
  3371. #define B_BE_DCPU_WARM_EN BIT(9)
  3372. #define B_BE_DCPU_UART_EN BIT(7)
  3373. #define B_BE_DCPU_IDDMA_EN BIT(6)
  3374. #define B_BE_DCPU_APB_WRAP_EN BIT(2)
  3375. #define B_BE_DCPU_EN BIT(1)
  3376. #define B_BE_DCPU_PLATFORM_EN BIT(0)
  3377. #define R_BE_FILTER_MODEL_ADDR 0x0C04
  3378. #define R_BE_PLE_DBG_FUN_INTF_CTL 0x9110
  3379. #define B_BE_PLE_DFI_ACTIVE BIT(31)
  3380. #define B_BE_PLE_DFI_TRGSEL_MASK GENMASK(19, 16)
  3381. #define B_BE_PLE_DFI_ADDR_MASK GENMASK(15, 0)
  3382. #define R_BE_PLE_DBG_FUN_INTF_DATA 0x9114
  3383. #define B_BE_PLE_DFI_DATA_MASK GENMASK(31, 0)
  3384. #define R_BE_PORT_0_TSF_SYNC 0x102A0
  3385. #define R_BE_PORT_0_TSF_SYNC_C1 0x142A0
  3386. #define B_BE_P0_SYNC_NOW_P BIT(30)
  3387. #define B_BE_P0_SYNC_ONCE_P BIT(29)
  3388. #define B_BE_P0_AUTO_SYNC BIT(28)
  3389. #define B_BE_P0_SYNC_PORT_SRC_SEL_MASK GENMASK(26, 24)
  3390. #define B_BE_P0_TSFTR_SYNC_OFFSET_MASK GENMASK(18, 0)
  3391. #define R_BE_PORT_CFG_P0 0x10400
  3392. #define R_BE_PORT_CFG_P0_C1 0x14400
  3393. #define B_BE_BCN_ERLY_SORT_EN_P0 BIT(18)
  3394. #define B_BE_PROHIB_END_CAL_EN_P0 BIT(17)
  3395. #define B_BE_BRK_SETUP_P0 BIT(16)
  3396. #define B_BE_TBTT_UPD_SHIFT_SEL_P0 BIT(15)
  3397. #define B_BE_BCN_DROP_ALLOW_P0 BIT(14)
  3398. #define B_BE_TBTT_PROHIB_EN_P0 BIT(13)
  3399. #define B_BE_BCNTX_EN_P0 BIT(12)
  3400. #define B_BE_NET_TYPE_P0_MASK GENMASK(11, 10)
  3401. #define B_BE_BCN_FORCETX_EN_P0 BIT(9)
  3402. #define B_BE_TXBCN_BTCCA_EN_P0 BIT(8)
  3403. #define B_BE_BCNERR_CNT_EN_P0 BIT(7)
  3404. #define B_BE_BCN_AGRES_P0 BIT(6)
  3405. #define B_BE_TSFTR_RST_P0 BIT(5)
  3406. #define B_BE_RX_BSSID_FIT_EN_P0 BIT(4)
  3407. #define B_BE_TSF_UDT_EN_P0 BIT(3)
  3408. #define B_BE_PORT_FUNC_EN_P0 BIT(2)
  3409. #define B_BE_TXBCN_RPT_EN_P0 BIT(1)
  3410. #define B_BE_RXBCN_RPT_EN_P0 BIT(0)
  3411. #define R_BE_TBTT_PROHIB_P0 0x10404
  3412. #define R_BE_TBTT_PROHIB_P0_C1 0x14404
  3413. #define B_BE_TBTT_HOLD_P0_MASK GENMASK(27, 16)
  3414. #define B_BE_TBTT_SETUP_P0_MASK GENMASK(7, 0)
  3415. #define R_BE_BCN_AREA_P0 0x10408
  3416. #define R_BE_BCN_AREA_P0_C1 0x14408
  3417. #define B_BE_BCN_MSK_AREA_P0_MSK 0xfff
  3418. #define B_BE_BCN_CTN_AREA_P0_MASK GENMASK(11, 0)
  3419. #define R_BE_BCNERLYINT_CFG_P0 0x1040C
  3420. #define R_BE_BCNERLYINT_CFG_P0_C1 0x1440C
  3421. #define B_BE_BCNERLY_P0_MASK GENMASK(11, 0)
  3422. #define R_BE_TBTTERLYINT_CFG_P0 0x1040E
  3423. #define R_BE_TBTTERLYINT_CFG_P0_C1 0x1440E
  3424. #define B_BE_TBTTERLY_P0_MASK GENMASK(11, 0)
  3425. #define R_BE_TBTT_AGG_P0 0x10412
  3426. #define R_BE_TBTT_AGG_P0_C1 0x14412
  3427. #define B_BE_TBTT_AGG_NUM_P0_MASK GENMASK(15, 8)
  3428. #define R_BE_BCN_SPACE_CFG_P0 0x10414
  3429. #define R_BE_BCN_SPACE_CFG_P0_C1 0x14414
  3430. #define B_BE_SUB_BCN_SPACE_P0_MASK GENMASK(23, 16)
  3431. #define B_BE_BCN_SPACE_P0_MASK GENMASK(15, 0)
  3432. #define R_BE_BCN_FORCETX_P0 0x10418
  3433. #define R_BE_BCN_FORCETX_P0_C1 0x14418
  3434. #define B_BE_FORCE_BCN_NUM_P0_MASK GENMASK(15, 8)
  3435. #define B_BE_BCN_MAX_ERR_P0_MASK GENMASK(7, 0)
  3436. #define R_BE_BCN_ERR_CNT_P0 0x10420
  3437. #define R_BE_BCN_ERR_CNT_P0_C1 0x14420
  3438. #define B_BE_BCN_ERR_CNT_SUM_P0_MASK GENMASK(31, 24)
  3439. #define B_BE_BCN_ERR_CNT_NAV_P0_MASK GENMASK(23, 16)
  3440. #define B_BE_BCN_ERR_CNT_EDCCA_P0_MASK GENMASK(15, 8)
  3441. #define B_BE_BCN_ERR_CNT_CCA_P0_MASK GENMASK(7, 0)
  3442. #define R_BE_BCN_ERR_FLAG_P0 0x10424
  3443. #define R_BE_BCN_ERR_FLAG_P0_C1 0x14424
  3444. #define B_BE_BCN_ERR_FLAG_SRCHEND_P0 BIT(3)
  3445. #define B_BE_BCN_ERR_FLAG_INVALID_P0 BIT(2)
  3446. #define B_BE_BCN_ERR_FLAG_CMP_P0 BIT(1)
  3447. #define B_BE_BCN_ERR_FLAG_LOCK_P0 BIT(0)
  3448. #define R_BE_DTIM_CTRL_P0 0x10426
  3449. #define R_BE_DTIM_CTRL_P0_C1 0x14426
  3450. #define B_BE_DTIM_NUM_P0_MASK GENMASK(15, 8)
  3451. #define B_BE_DTIM_CURRCNT_P0_MASK GENMASK(7, 0)
  3452. #define R_BE_TBTT_SHIFT_P0 0x10428
  3453. #define R_BE_TBTT_SHIFT_P0_C1 0x14428
  3454. #define B_BE_TBTT_SHIFT_OFST_P0_SH 0
  3455. #define B_BE_TBTT_SHIFT_OFST_P0_MSK 0xfff
  3456. #define R_BE_BCN_CNT_TMR_P0 0x10434
  3457. #define R_BE_BCN_CNT_TMR_P0_C1 0x14434
  3458. #define B_BE_BCN_CNT_TMR_P0_MASK GENMASK(31, 0)
  3459. #define R_BE_TSFTR_LOW_P0 0x10438
  3460. #define R_BE_TSFTR_LOW_P0_C1 0x14438
  3461. #define B_BE_TSFTR_LOW_P0_MASK GENMASK(31, 0)
  3462. #define R_BE_TSFTR_HIGH_P0 0x1043C
  3463. #define R_BE_TSFTR_HIGH_P0_C1 0x1443C
  3464. #define B_BE_TSFTR_HIGH_P0_MASK GENMASK(31, 0)
  3465. #define R_BE_MBSSID_CTRL 0x10568
  3466. #define R_BE_MBSSID_CTRL_C1 0x14568
  3467. #define B_BE_MBSSID_MODE_SEL BIT(20)
  3468. #define B_BE_P0MB_NUM_MASK GENMASK(19, 16)
  3469. #define B_BE_P0MB15_EN BIT(15)
  3470. #define B_BE_P0MB14_EN BIT(14)
  3471. #define B_BE_P0MB13_EN BIT(13)
  3472. #define B_BE_P0MB12_EN BIT(12)
  3473. #define B_BE_P0MB11_EN BIT(11)
  3474. #define B_BE_P0MB10_EN BIT(10)
  3475. #define B_BE_P0MB9_EN BIT(9)
  3476. #define B_BE_P0MB8_EN BIT(8)
  3477. #define B_BE_P0MB7_EN BIT(7)
  3478. #define B_BE_P0MB6_EN BIT(6)
  3479. #define B_BE_P0MB5_EN BIT(5)
  3480. #define B_BE_P0MB4_EN BIT(4)
  3481. #define B_BE_P0MB3_EN BIT(3)
  3482. #define B_BE_P0MB2_EN BIT(2)
  3483. #define B_BE_P0MB1_EN BIT(1)
  3484. #define R_BE_P0MB_HGQ_WINDOW_CFG_0 0x10590
  3485. #define R_BE_P0MB_HGQ_WINDOW_CFG_0_C1 0x14590
  3486. #define R_BE_PORT_HGQ_WINDOW_CFG 0x105A0
  3487. #define R_BE_PORT_HGQ_WINDOW_CFG_C1 0x145A0
  3488. #define R_BE_MBSSID_DROP_0 0x1083C
  3489. #define R_BE_MBSSID_DROP_0_C1 0x1483C
  3490. #define B_BE_GI_LTF_FB_SEL BIT(30)
  3491. #define B_BE_RATE_SEL_MASK GENMASK(29, 24)
  3492. #define B_BE_PORT_DROP_4_0_MASK GENMASK(20, 16)
  3493. #define B_BE_MBSSID_DROP_15_0_MASK GENMASK(15, 0)
  3494. #define R_BE_PTCL_BSS_COLOR_0 0x108A0
  3495. #define R_BE_PTCL_BSS_COLOR_0_C1 0x148A0
  3496. #define B_BE_BSS_COLOB_BE_PORT_3_MASK GENMASK(29, 24)
  3497. #define B_BE_BSS_COLOB_BE_PORT_2_MASK GENMASK(21, 16)
  3498. #define B_BE_BSS_COLOB_BE_PORT_1_MASK GENMASK(13, 8)
  3499. #define B_BE_BSS_COLOB_BE_PORT_0_MASK GENMASK(5, 0)
  3500. #define R_BE_PTCL_BSS_COLOR_1 0x108A4
  3501. #define R_BE_PTCL_BSS_COLOR_1_C1 0x148A4
  3502. #define B_BE_BSS_COLOB_BE_PORT_4_MASK GENMASK(5, 0)
  3503. #define R_BE_WMTX_MOREDATA_TSFT_STMP_CTL 0x10E08
  3504. #define R_BE_WMTX_MOREDATA_TSFT_STMP_CTL_C1 0x14E08
  3505. #define B_BE_TSFT_OFS_MASK GENMASK(31, 16)
  3506. #define B_BE_STMP_THSD_MASK GENMASK(15, 8)
  3507. #define B_BE_UPD_HGQMD BIT(1)
  3508. #define B_BE_UPD_TIMIE BIT(0)
  3509. #define R_BE_RX_FLTR_OPT 0x11420
  3510. #define R_BE_RX_FLTR_OPT_C1 0x15420
  3511. #define B_BE_UID_FILTER_MASK GENMASK(31, 24)
  3512. #define B_BE_UNSPT_TYPE BIT(22)
  3513. #define B_BE_RX_MPDU_MAX_LEN_MASK GENMASK(21, 16)
  3514. #define B_BE_A_FTM_REQ BIT(14)
  3515. #define B_BE_A_ERR_PKT BIT(13)
  3516. #define B_BE_A_UNSUP_PKT BIT(12)
  3517. #define B_BE_A_CRC32_ERR BIT(11)
  3518. #define B_BE_A_BCN_CHK_RULE_MASK GENMASK(9, 8)
  3519. #define B_BE_A_BCN_CHK_EN BIT(7)
  3520. #define B_BE_A_MC_LIST_CAM_MATCH BIT(6)
  3521. #define B_BE_A_BC_CAM_MATCH BIT(5)
  3522. #define B_BE_A_UC_CAM_MATCH BIT(4)
  3523. #define B_BE_A_MC BIT(3)
  3524. #define B_BE_A_BC BIT(2)
  3525. #define B_BE_A_A1_MATCH BIT(1)
  3526. #define B_BE_SNIFFER_MODE BIT(0)
  3527. #define RR_MOD 0x00
  3528. #define RR_MOD_V1 0x10000
  3529. #define RR_MOD_IQK GENMASK(19, 4)
  3530. #define RR_MOD_DPK GENMASK(19, 5)
  3531. #define RR_MOD_MASK GENMASK(19, 16)
  3532. #define RR_MOD_DCK GENMASK(14, 10)
  3533. #define RR_MOD_RGM GENMASK(13, 4)
  3534. #define RR_MOD_RXB GENMASK(9, 5)
  3535. #define RR_MOD_V_DOWN 0x0
  3536. #define RR_MOD_V_STANDBY 0x1
  3537. #define RR_TXAGC 0x10001
  3538. #define RR_MOD_V_TX 0x2
  3539. #define RR_MOD_V_RX 0x3
  3540. #define RR_MOD_V_TXIQK 0x4
  3541. #define RR_MOD_V_DPK 0x5
  3542. #define RR_MOD_V_RXK1 0x6
  3543. #define RR_MOD_V_RXK2 0x7
  3544. #define RR_MOD_NBW GENMASK(15, 14)
  3545. #define RR_MOD_M_RXG GENMASK(13, 4)
  3546. #define RR_MOD_M_RXBB GENMASK(9, 5)
  3547. #define RR_MOD_LO_SEL BIT(1)
  3548. #define RR_MODOPT 0x01
  3549. #define RR_MODOPT_M_TXPWR GENMASK(5, 0)
  3550. #define RR_WLSEL 0x02
  3551. #define RR_WLSEL_AG GENMASK(18, 16)
  3552. #define RR_RSV1 0x05
  3553. #define RR_RSV1_RST BIT(0)
  3554. #define RR_BBDC 0x10005
  3555. #define RR_BBDC_SEL BIT(0)
  3556. #define RR_DTXLOK 0x08
  3557. #define RR_RSV2 0x09
  3558. #define RR_LOKVB 0x0a
  3559. #define RR_LOKVB_COI GENMASK(19, 14)
  3560. #define RR_LOKVB_COQ GENMASK(9, 4)
  3561. #define RR_TXIG 0x11
  3562. #define RR_TXIG_TG GENMASK(16, 12)
  3563. #define RR_TXIG_GR1 GENMASK(6, 4)
  3564. #define RR_TXIG_GR0 GENMASK(1, 0)
  3565. #define RR_CHTR 0x17
  3566. #define RR_CHTR_MOD GENMASK(11, 10)
  3567. #define RR_CHTR_TXRX GENMASK(9, 0)
  3568. #define RR_CFGCH 0x18
  3569. #define RR_CFGCH_V1 0x10018
  3570. #define RR_CFGCH_BAND1 GENMASK(17, 16)
  3571. #define CFGCH_BAND1_2G 0
  3572. #define CFGCH_BAND1_5G 1
  3573. #define CFGCH_BAND1_6G 3
  3574. #define RR_CFGCH_POW_LCK BIT(15)
  3575. #define RR_CFGCH_TRX_AH BIT(14)
  3576. #define RR_CFGCH_BCN BIT(13)
  3577. #define RR_CFGCH_BW2 BIT(12)
  3578. #define RR_CFGCH_BAND0 GENMASK(9, 8)
  3579. #define CFGCH_BAND0_2G 0
  3580. #define CFGCH_BAND0_5G 1
  3581. #define CFGCH_BAND0_6G 0
  3582. #define RR_CFGCH_BW GENMASK(11, 10)
  3583. #define RR_CFGCH_CH GENMASK(7, 0)
  3584. #define CFGCH_BW_20M 3
  3585. #define CFGCH_BW_40M 2
  3586. #define CFGCH_BW_80M 1
  3587. #define CFGCH_BW_160M 0
  3588. #define RR_APK 0x19
  3589. #define RR_APK_MOD GENMASK(5, 4)
  3590. #define RR_BTC 0x1a
  3591. #define RR_BTC_TXBB GENMASK(14, 12)
  3592. #define RR_BTC_RXBB GENMASK(11, 10)
  3593. #define RR_RCKC 0x1b
  3594. #define RR_RCKC_CA GENMASK(14, 10)
  3595. #define RR_RCKS 0x1c
  3596. #define RR_RCKO 0x1d
  3597. #define RR_RCKO_OFF GENMASK(13, 9)
  3598. #define RR_RXKPLL 0x1e
  3599. #define RR_RXKPLL_OFF GENMASK(5, 0)
  3600. #define RR_RXKPLL_POW BIT(19)
  3601. #define RR_RSV4 0x1f
  3602. #define RR_RSV4_AGH GENMASK(17, 16)
  3603. #define RR_RSV4_PLLCH GENMASK(9, 0)
  3604. #define RR_RXK 0x20
  3605. #define RR_RXK_SEL2G BIT(8)
  3606. #define RR_RXK_SEL5G BIT(7)
  3607. #define RR_RXK_PLLEN BIT(5)
  3608. #define RR_LUTWA 0x33
  3609. #define RR_LUTWA_MASK GENMASK(9, 0)
  3610. #define RR_LUTWA_M1 GENMASK(7, 0)
  3611. #define RR_LUTWA_M2 GENMASK(4, 0)
  3612. #define RR_LUTWD1 0x3e
  3613. #define RR_LUTWD0 0x3f
  3614. #define RR_LUTWD0_MB GENMASK(11, 6)
  3615. #define RR_LUTWD0_LB GENMASK(5, 0)
  3616. #define RR_TM 0x42
  3617. #define RR_TM_TRI BIT(19)
  3618. #define RR_TM_VAL GENMASK(6, 1)
  3619. #define RR_TM2 0x43
  3620. #define RR_TM2_OFF GENMASK(19, 16)
  3621. #define RR_TXG1 0x51
  3622. #define RR_TXG1_ATT2 BIT(19)
  3623. #define RR_TXG1_ATT1 BIT(11)
  3624. #define RR_TXG2 0x52
  3625. #define RR_TXG2_ATT0 BIT(11)
  3626. #define RR_BSPAD 0x54
  3627. #define RR_TXGA 0x55
  3628. #define RR_TXGA_TRK_EN BIT(7)
  3629. #define RR_TXGA_LOK_EXT GENMASK(4, 0)
  3630. #define RR_TXGA_LOK_EN BIT(0)
  3631. #define RR_TXGA_V1 0x10055
  3632. #define RR_TXGA_V1_TRK_EN BIT(7)
  3633. #define RR_GAINTX 0x56
  3634. #define RR_GAINTX_ALL GENMASK(15, 0)
  3635. #define RR_GAINTX_PAD GENMASK(9, 5)
  3636. #define RR_GAINTX_BB GENMASK(4, 0)
  3637. #define RR_TXMO 0x58
  3638. #define RR_TXMO_COI GENMASK(19, 15)
  3639. #define RR_TXMO_COQ GENMASK(14, 10)
  3640. #define RR_TXMO_FII GENMASK(9, 6)
  3641. #define RR_TXMO_FIQ GENMASK(5, 2)
  3642. #define RR_TXA 0x5d
  3643. #define RR_TXA_TRK GENMASK(19, 14)
  3644. #define RR_TXRSV 0x5c
  3645. #define RR_TXRSV_GAPK BIT(19)
  3646. #define RR_BIAS 0x5e
  3647. #define RR_BIAS_GAPK BIT(19)
  3648. #define RR_TXAC 0x5f
  3649. #define RR_TXAC_IQG GENMASK(3, 0)
  3650. #define RR_BIASA 0x60
  3651. #define RR_BIASA_TXG GENMASK(15, 12)
  3652. #define RR_BIASA_TXA GENMASK(19, 16)
  3653. #define RR_BIASA_A GENMASK(2, 0)
  3654. #define RR_BIASA2 0x63
  3655. #define RR_BIASA2_LB GENMASK(4, 2)
  3656. #define RR_TXATANK 0x64
  3657. #define RR_TXATANK_LBSW2 GENMASK(17, 15)
  3658. #define RR_TXATANK_LBSW GENMASK(16, 15)
  3659. #define RR_TXA2 0x65
  3660. #define RR_TXA2_LDO GENMASK(19, 16)
  3661. #define RR_TRXIQ 0x66
  3662. #define RR_RSV6 0x6d
  3663. #define RR_TXVBUF 0x7c
  3664. #define RR_TXVBUF_DACEN BIT(5)
  3665. #define RR_TXPOW 0x7f
  3666. #define RR_TXPOW_TXA BIT(8)
  3667. #define RR_TXPOW_TXAS BIT(7)
  3668. #define RR_TXPOW_TXG BIT(1)
  3669. #define RR_RXPOW 0x80
  3670. #define RR_RXPOW_IQK GENMASK(17, 16)
  3671. #define RR_RXBB 0x83
  3672. #define RR_RXBB_VOBUF GENMASK(15, 12)
  3673. #define RR_RXBB_C2G GENMASK(16, 10)
  3674. #define RR_RXBB_C2 GENMASK(11, 8)
  3675. #define RR_RXBB_C1G GENMASK(9, 8)
  3676. #define RR_RXBB_FATT GENMASK(7, 0)
  3677. #define RR_RXBB_ATTR GENMASK(7, 4)
  3678. #define RR_RXBB_ATTC GENMASK(2, 0)
  3679. #define RR_RXG 0x84
  3680. #define RR_RXG_IQKMOD GENMASK(19, 16)
  3681. #define RR_XGLNA2 0x85
  3682. #define RR_XGLNA2_SW GENMASK(1, 0)
  3683. #define RR_RXAE 0x89
  3684. #define RR_RXAE_IQKMOD GENMASK(3, 0)
  3685. #define RR_RXA 0x8a
  3686. #define RR_RXA_DPK GENMASK(9, 8)
  3687. #define RR_RXA_LNA 0x8b
  3688. #define RR_RXA2 0x8c
  3689. #define RR_RAA2_SATT GENMASK(15, 13)
  3690. #define RR_RAA2_SWATT GENMASK(15, 9)
  3691. #define RR_RXA2_C1 GENMASK(12, 10)
  3692. #define RR_RXA2_C2 GENMASK(9, 3)
  3693. #define RR_RXA2_CC2 GENMASK(8, 7)
  3694. #define RR_RXA2_IATT GENMASK(7, 4)
  3695. #define RR_RXA2_HATT GENMASK(6, 0)
  3696. #define RR_RXA2_ATT GENMASK(3, 0)
  3697. #define RR_RXIQGEN 0x8d
  3698. #define RR_RXIQGEN_ATTL GENMASK(12, 8)
  3699. #define RR_RXIQGEN_ATTH GENMASK(14, 13)
  3700. #define RR_RXBB2 0x8f
  3701. #define RR_RXBB2_DAC_EN BIT(13)
  3702. #define RR_RXBB2_CKT BIT(12)
  3703. #define RR_EN_TIA_IDA GENMASK(11, 10)
  3704. #define RR_RXBB2_IDAC GENMASK(11, 9)
  3705. #define RR_RXBB2_EBW GENMASK(6, 5)
  3706. #define RR_XALNA2 0x90
  3707. #define RR_XALNA2_SW2 GENMASK(9, 8)
  3708. #define RR_XALNA2_SW GENMASK(1, 0)
  3709. #define RR_DCK 0x92
  3710. #define RR_DCK_S1 GENMASK(19, 16)
  3711. #define RR_DCK_TIA GENMASK(15, 9)
  3712. #define RR_DCK_DONE GENMASK(7, 5)
  3713. #define RR_DCK_FINE BIT(1)
  3714. #define RR_DCK_LV BIT(0)
  3715. #define RR_DCK1 0x93
  3716. #define RR_DCK1_S1 GENMASK(19, 16)
  3717. #define RR_DCK1_TIA GENMASK(15, 9)
  3718. #define RR_DCK1_DONE BIT(5)
  3719. #define RR_DCK1_CLR GENMASK(3, 0)
  3720. #define RR_DCK1_SEL BIT(3)
  3721. #define RR_DCK2 0x94
  3722. #define RR_DCK2_CYCLE GENMASK(7, 2)
  3723. #define RR_DCKC 0x95
  3724. #define RR_DCKC_CHK BIT(3)
  3725. #define RR_IQGEN 0x97
  3726. #define RR_IQGEN_BIAS GENMASK(11, 8)
  3727. #define RR_TXIQK 0x98
  3728. #define RR_TXIQK_ATT2 GENMASK(15, 12)
  3729. #define RR_TXIQK_ATT1 GENMASK(6, 0)
  3730. #define RR_TIA 0x9e
  3731. #define RR_TIA_N6 BIT(8)
  3732. #define RR_MIXER 0x9f
  3733. #define RR_MIXER_GN GENMASK(4, 3)
  3734. #define RR_POW 0xa0
  3735. #define RR_POW_SYN GENMASK(3, 2)
  3736. #define RR_LOGEN 0xa3
  3737. #define RR_LOGEN_RPT GENMASK(19, 16)
  3738. #define RR_SX 0xaf
  3739. #define RR_IBD 0xc9
  3740. #define RR_IBD_VAL GENMASK(4, 0)
  3741. #define RR_LDO 0xb1
  3742. #define RR_LDO_SEL GENMASK(8, 6)
  3743. #define RR_VCO 0xb2
  3744. #define RR_VCO_SEL GENMASK(9, 8)
  3745. #define RR_VCI 0xb3
  3746. #define RR_VCI_ON BIT(7)
  3747. #define RR_LPF 0xb7
  3748. #define RR_LPF_BUSY BIT(8)
  3749. #define RR_XTALX2 0xb8
  3750. #define RR_MALSEL 0xbe
  3751. #define RR_SYNFB 0xc5
  3752. #define RR_SYNFB_LK BIT(15)
  3753. #define RR_AACK 0xca
  3754. #define RR_LCKST 0xcf
  3755. #define RR_LCKST_BIN BIT(0)
  3756. #define RR_LCK_TRG 0xd3
  3757. #define RR_LCK_TRGSEL BIT(8)
  3758. #define RR_LCK_ST BIT(4)
  3759. #define RR_MMD 0xd5
  3760. #define RR_MMD_RST_EN BIT(8)
  3761. #define RR_MMD_RST_SYN BIT(6)
  3762. #define RR_IQKPLL 0xdc
  3763. #define RR_IQKPLL_MOD GENMASK(9, 8)
  3764. #define RR_SYNLUT 0xdd
  3765. #define RR_SYNLUT_MOD BIT(4)
  3766. #define RR_RCKD 0xde
  3767. #define RR_RCKD_POW GENMASK(19, 13)
  3768. #define RR_RCKD_BW BIT(2)
  3769. #define RR_TXADBG 0xde
  3770. #define RR_LUTDBG 0xdf
  3771. #define RR_LUTDBG_TIA BIT(12)
  3772. #define RR_LUTDBG_LOK BIT(2)
  3773. #define RR_LUTPLL 0xec
  3774. #define RR_CAL_RW BIT(19)
  3775. #define RR_LUTWE2 0xee
  3776. #define RR_LUTWE2_RTXBW BIT(2)
  3777. #define RR_LUTWE2_DIS BIT(6)
  3778. #define RR_LUTWE 0xef
  3779. #define RR_LUTWE_LOK BIT(2)
  3780. #define RR_RFC 0xf0
  3781. #define RR_WCAL BIT(16)
  3782. #define RR_RFC_CKEN BIT(1)
  3783. #define R_UPD_P0 0x0000
  3784. #define R_RSTB_WATCH_DOG 0x000C
  3785. #define B_P0_RSTB_WATCH_DOG BIT(0)
  3786. #define B_P1_RSTB_WATCH_DOG BIT(1)
  3787. #define B_UPD_P0_EN BIT(31)
  3788. #define R_ANAPAR_PW15 0x030C
  3789. #define B_ANAPAR_PW15 GENMASK(31, 24)
  3790. #define B_ANAPAR_PW15_H GENMASK(27, 24)
  3791. #define B_ANAPAR_PW15_H2 GENMASK(27, 26)
  3792. #define R_ANAPAR 0x032C
  3793. #define B_ANAPAR_15 GENMASK(31, 16)
  3794. #define B_ANAPAR_ADCCLK BIT(30)
  3795. #define B_ANAPAR_FLTRST BIT(22)
  3796. #define B_ANAPAR_CRXBB GENMASK(18, 16)
  3797. #define B_ANAPAR_EN BIT(16)
  3798. #define B_ANAPAR_14 GENMASK(15, 0)
  3799. #define R_RFE_E_A2 0x0334
  3800. #define R_RFE_O_SEL_A2 0x0338
  3801. #define R_RFE_SEL0_A2 0x033C
  3802. #define B_RFE_SEL0_MASK GENMASK(1, 0)
  3803. #define R_RFE_SEL32_A2 0x0340
  3804. #define R_CIRST 0x035c
  3805. #define B_CIRST_SYN GENMASK(11, 10)
  3806. #define R_SWSI_DATA_V1 0x0370
  3807. #define B_SWSI_DATA_VAL_V1 GENMASK(19, 0)
  3808. #define B_SWSI_DATA_ADDR_V1 GENMASK(27, 20)
  3809. #define B_SWSI_DATA_PATH_V1 GENMASK(30, 28)
  3810. #define B_SWSI_DATA_BIT_MASK_EN_V1 BIT(31)
  3811. #define R_SWSI_BIT_MASK_V1 0x0374
  3812. #define B_SWSI_BIT_MASK_V1 GENMASK(19, 0)
  3813. #define R_SWSI_READ_ADDR_V1 0x0378
  3814. #define B_SWSI_READ_ADDR_ADDR_V1 GENMASK(7, 0)
  3815. #define B_SWSI_READ_ADDR_PATH_V1 GENMASK(10, 8)
  3816. #define B_SWSI_READ_ADDR_V1 GENMASK(10, 0)
  3817. #define R_UPD_CLK_ADC 0x0700
  3818. #define B_UPD_CLK_ADC_VAL GENMASK(26, 25)
  3819. #define B_UPD_CLK_ADC_ON BIT(24)
  3820. #define B_ENABLE_CCK BIT(5)
  3821. #define R_RSTB_ASYNC 0x0704
  3822. #define B_RSTB_ASYNC_ALL BIT(1)
  3823. #define R_P0_ANT_SW 0x0728
  3824. #define B_P0_HW_ANTSW_DIS_BY_GNT_BT BIT(12)
  3825. #define B_P0_TRSW_TX_EXTEND GENMASK(3, 0)
  3826. #define R_MAC_PIN_SEL 0x0734
  3827. #define B_CH_IDX_SEG0 GENMASK(23, 16)
  3828. #define R_PLCP_HISTOGRAM 0x0738
  3829. #define B_STS_PARSING_TIME GENMASK(19, 16)
  3830. #define B_STS_DIS_TRIG_BY_FAIL BIT(3)
  3831. #define B_STS_DIS_TRIG_BY_BRK BIT(2)
  3832. #define R_PHY_STS_BITMAP_ADDR_START R_PHY_STS_BITMAP_SEARCH_FAIL
  3833. #define B_PHY_STS_BITMAP_ADDR_MASK GENMASK(6, 2)
  3834. #define R_PHY_STS_BITMAP_SEARCH_FAIL 0x073C
  3835. #define B_PHY_STS_BITMAP_MSK_52A 0x337cff3f
  3836. #define R_PHY_STS_BITMAP_R2T 0x0740
  3837. #define R_PHY_STS_BITMAP_CCA_SPOOF 0x0744
  3838. #define R_PHY_STS_BITMAP_OFDM_BRK 0x0748
  3839. #define R_PHY_STS_BITMAP_CCK_BRK 0x074C
  3840. #define R_PHY_STS_BITMAP_DL_MU_SPOOF 0x0750
  3841. #define R_PHY_STS_BITMAP_HE_MU 0x0754
  3842. #define R_PHY_STS_BITMAP_VHT_MU 0x0758
  3843. #define R_PHY_STS_BITMAP_UL_TB_SPOOF 0x075C
  3844. #define R_PHY_STS_BITMAP_TRIGBASE 0x0760
  3845. #define R_PHY_STS_BITMAP_CCK 0x0764
  3846. #define R_PHY_STS_BITMAP_LEGACY 0x0768
  3847. #define R_PHY_STS_BITMAP_HT 0x076C
  3848. #define R_PHY_STS_BITMAP_VHT 0x0770
  3849. #define R_PHY_STS_BITMAP_HE 0x0774
  3850. #define R_PMAC_GNT 0x0980
  3851. #define B_PMAC_GNT_TXEN BIT(0)
  3852. #define B_PMAC_GNT_RXEN BIT(16)
  3853. #define B_PMAC_GNT_P1 GENMASK(20, 17)
  3854. #define B_PMAC_GNT_P2 GENMASK(29, 26)
  3855. #define R_PMAC_RX_CFG1 0x0988
  3856. #define B_PMAC_OPT1_MSK GENMASK(11, 0)
  3857. #define R_PMAC_RXMOD 0x0994
  3858. #define B_PMAC_RXMOD_MSK GENMASK(7, 4)
  3859. #define R_MAC_SEL 0x09A4
  3860. #define B_MAC_SEL_OFDM_TRI_FILTER BIT(31)
  3861. #define B_MAC_SEL_PWR_EN BIT(16)
  3862. #define B_MAC_SEL_DPD_EN BIT(10)
  3863. #define B_MAC_SEL_MOD GENMASK(4, 2)
  3864. #define R_PMAC_TX_CTRL 0x09C0
  3865. #define B_PMAC_TXEN_DIS BIT(0)
  3866. #define R_PMAC_TX_PRD 0x09C4
  3867. #define B_PMAC_TX_PRD_MSK GENMASK(31, 8)
  3868. #define B_PMAC_CTX_EN BIT(0)
  3869. #define B_PMAC_PTX_EN BIT(4)
  3870. #define R_PMAC_TX_CNT 0x09C8
  3871. #define B_PMAC_TX_CNT_MSK GENMASK(31, 0)
  3872. #define R_P80_AT_HIGH_FREQ 0x09D8
  3873. #define B_P80_AT_HIGH_FREQ BIT(26)
  3874. #define R_DBCC_80P80_SEL_EVM_RPT 0x0A10
  3875. #define B_DBCC_80P80_SEL_EVM_RPT_EN BIT(0)
  3876. #define R_CCX 0x0C00
  3877. #define B_CCX_EDCCA_OPT_MSK GENMASK(6, 4)
  3878. #define B_CCX_EDCCA_OPT_MSK_V1 GENMASK(7, 4)
  3879. #define B_MEASUREMENT_TRIG_MSK BIT(2)
  3880. #define B_CCX_TRIG_OPT_MSK BIT(1)
  3881. #define B_CCX_EN_MSK BIT(0)
  3882. #define R_IFS_COUNTER 0x0C28
  3883. #define B_IFS_CLM_PERIOD_MSK GENMASK(31, 16)
  3884. #define B_IFS_CLM_COUNTER_UNIT_MSK GENMASK(15, 14)
  3885. #define B_IFS_COUNTER_CLR_MSK BIT(13)
  3886. #define B_IFS_COLLECT_EN BIT(12)
  3887. #define R_IFS_T1 0x0C2C
  3888. #define B_IFS_T1_TH_HIGH_MSK GENMASK(31, 16)
  3889. #define B_IFS_T1_EN_MSK BIT(15)
  3890. #define B_IFS_T1_TH_LOW_MSK GENMASK(14, 0)
  3891. #define R_IFS_T2 0x0C30
  3892. #define B_IFS_T2_TH_HIGH_MSK GENMASK(31, 16)
  3893. #define B_IFS_T2_EN_MSK BIT(15)
  3894. #define B_IFS_T2_TH_LOW_MSK GENMASK(14, 0)
  3895. #define R_IFS_T3 0x0C34
  3896. #define B_IFS_T3_TH_HIGH_MSK GENMASK(31, 16)
  3897. #define B_IFS_T3_EN_MSK BIT(15)
  3898. #define B_IFS_T3_TH_LOW_MSK GENMASK(14, 0)
  3899. #define R_IFS_T4 0x0C38
  3900. #define B_IFS_T4_TH_HIGH_MSK GENMASK(31, 16)
  3901. #define B_IFS_T4_EN_MSK BIT(15)
  3902. #define B_IFS_T4_TH_LOW_MSK GENMASK(14, 0)
  3903. #define R_PD_CTRL 0x0C3C
  3904. #define B_PD_HIT_DIS BIT(9)
  3905. #define R_IOQ_IQK_DPK 0x0C60
  3906. #define B_IOQ_IQK_DPK_EN BIT(1)
  3907. #define R_GNT_BT_WGT_EN 0x0C6C
  3908. #define B_GNT_BT_WGT_EN BIT(21)
  3909. #define R_PD_ARBITER_OFF 0x0C80
  3910. #define B_PD_ARBITER_OFF BIT(31)
  3911. #define R_SNDCCA_A1 0x0C9C
  3912. #define B_SNDCCA_A1_EN GENMASK(19, 12)
  3913. #define R_SNDCCA_A2 0x0CA0
  3914. #define B_SNDCCA_A2_VAL GENMASK(19, 12)
  3915. #define R_RXHT_MCS_LIMIT 0x0D18
  3916. #define B_RXHT_MCS_LIMIT GENMASK(9, 8)
  3917. #define R_RXVHT_MCS_LIMIT 0x0D18
  3918. #define B_RXVHT_MCS_LIMIT GENMASK(22, 21)
  3919. #define R_P0_EN_SOUND_WO_NDP 0x0D7C
  3920. #define B_P0_EN_SOUND_WO_NDP BIT(1)
  3921. #define R_RXHE 0x0D80
  3922. #define B_RXHETB_MAX_NSS GENMASK(25, 23)
  3923. #define B_RXHE_MAX_NSS GENMASK(16, 14)
  3924. #define B_RXHE_USER_MAX GENMASK(13, 6)
  3925. #define R_SPOOF_ASYNC_RST 0x0D84
  3926. #define B_SPOOF_ASYNC_RST BIT(15)
  3927. #define R_NDP_BRK0 0xDA0
  3928. #define R_NDP_BRK1 0xDA4
  3929. #define B_NDP_RU_BRK BIT(0)
  3930. #define R_BRK_ASYNC_RST_EN_1 0x0DC0
  3931. #define R_BRK_ASYNC_RST_EN_2 0x0DC4
  3932. #define R_BRK_ASYNC_RST_EN_3 0x0DC8
  3933. #define R_S0_HW_SI_DIS 0x1200
  3934. #define B_S0_HW_SI_DIS_W_R_TRIG GENMASK(30, 28)
  3935. #define R_P0_RXCK 0x12A0
  3936. #define B_P0_RXCK_ADJ GENMASK(31, 23)
  3937. #define B_P0_RXCK_BW3 BIT(30)
  3938. #define B_P0_TXCK_ALL GENMASK(19, 12)
  3939. #define B_P0_RXCK_ON BIT(19)
  3940. #define B_P0_RXCK_VAL GENMASK(18, 16)
  3941. #define B_P0_TXCK_ON BIT(15)
  3942. #define B_P0_TXCK_VAL GENMASK(14, 12)
  3943. #define R_P0_RFMODE 0x12AC
  3944. #define B_P0_RFMODE_ORI_TXRX_FTM_TX GENMASK(31, 4)
  3945. #define B_P0_RFMODE_MUX GENMASK(11, 4)
  3946. #define R_P0_RFMODE_ORI_RX 0x12AC
  3947. #define B_P0_RFMODE_ORI_RX_ALL GENMASK(23, 12)
  3948. #define R_P0_RFMODE_FTM_RX 0x12B0
  3949. #define B_P0_RFMODE_FTM_RX GENMASK(11, 0)
  3950. #define R_P0_NRBW 0x12B8
  3951. #define B_P0_NRBW_DBG BIT(30)
  3952. #define R_S0_RXDC 0x12D4
  3953. #define B_S0_RXDC_I GENMASK(25, 16)
  3954. #define B_S0_RXDC_Q GENMASK(31, 26)
  3955. #define R_S0_RXDC2 0x12D8
  3956. #define B_S0_RXDC2_SEL GENMASK(9, 8)
  3957. #define B_S0_RXDC2_AVG GENMASK(7, 6)
  3958. #define B_S0_RXDC2_MEN GENMASK(5, 4)
  3959. #define B_S0_RXDC2_Q2 GENMASK(3, 0)
  3960. #define R_CFO_COMP_SEG0_L 0x1384
  3961. #define R_CFO_COMP_SEG0_H 0x1388
  3962. #define R_CFO_COMP_SEG0_CTRL 0x138C
  3963. #define R_DBG32_D 0x1730
  3964. #define R_SWSI_V1 0x174C
  3965. #define B_SWSI_W_BUSY_V1 BIT(24)
  3966. #define B_SWSI_R_BUSY_V1 BIT(25)
  3967. #define B_SWSI_R_DATA_DONE_V1 BIT(26)
  3968. #define R_TX_COUNTER 0x1A40
  3969. #define R_IFS_CLM_TX_CNT 0x1ACC
  3970. #define R_IFS_CLM_TX_CNT_V1 0x0ECC
  3971. #define B_IFS_CLM_EDCCA_EXCLUDE_CCA_FA_MSK GENMASK(31, 16)
  3972. #define B_IFS_CLM_TX_CNT_MSK GENMASK(15, 0)
  3973. #define R_IFS_CLM_CCA 0x1AD0
  3974. #define R_IFS_CLM_CCA_V1 0x0ED0
  3975. #define B_IFS_CLM_OFDMCCA_EXCLUDE_FA_MSK GENMASK(31, 16)
  3976. #define B_IFS_CLM_CCKCCA_EXCLUDE_FA_MSK GENMASK(15, 0)
  3977. #define R_IFS_CLM_FA 0x1AD4
  3978. #define R_IFS_CLM_FA_V1 0x0ED4
  3979. #define B_IFS_CLM_OFDM_FA_MSK GENMASK(31, 16)
  3980. #define B_IFS_CLM_CCK_FA_MSK GENMASK(15, 0)
  3981. #define R_IFS_HIS 0x1AD8
  3982. #define R_IFS_HIS_V1 0x0ED8
  3983. #define B_IFS_T4_HIS_MSK GENMASK(31, 24)
  3984. #define B_IFS_T3_HIS_MSK GENMASK(23, 16)
  3985. #define B_IFS_T2_HIS_MSK GENMASK(15, 8)
  3986. #define B_IFS_T1_HIS_MSK GENMASK(7, 0)
  3987. #define R_IFS_AVG_L 0x1ADC
  3988. #define R_IFS_AVG_L_V1 0x0EDC
  3989. #define B_IFS_T2_AVG_MSK GENMASK(31, 16)
  3990. #define B_IFS_T1_AVG_MSK GENMASK(15, 0)
  3991. #define R_IFS_AVG_H 0x1AE0
  3992. #define R_IFS_AVG_H_V1 0x0EE0
  3993. #define B_IFS_T4_AVG_MSK GENMASK(31, 16)
  3994. #define B_IFS_T3_AVG_MSK GENMASK(15, 0)
  3995. #define R_IFS_CCA_L 0x1AE4
  3996. #define R_IFS_CCA_L_V1 0x0EE4
  3997. #define B_IFS_T2_CCA_MSK GENMASK(31, 16)
  3998. #define B_IFS_T1_CCA_MSK GENMASK(15, 0)
  3999. #define R_IFS_CCA_H 0x1AE8
  4000. #define R_IFS_CCA_H_V1 0x0EE8
  4001. #define B_IFS_T4_CCA_MSK GENMASK(31, 16)
  4002. #define B_IFS_T3_CCA_MSK GENMASK(15, 0)
  4003. #define R_IFSCNT 0x1AEC
  4004. #define R_IFSCNT_V1 0x0EEC
  4005. #define B_IFSCNT_DONE_MSK BIT(16)
  4006. #define B_IFSCNT_TOTAL_CNT_MSK GENMASK(15, 0)
  4007. #define R_TXAGC_TP 0x1C04
  4008. #define B_TXAGC_TP GENMASK(2, 0)
  4009. #define R_TSSI_THER 0x1C10
  4010. #define B_TSSI_THER GENMASK(29, 24)
  4011. #define R_TSSI_CWRPT 0x1C18
  4012. #define B_TSSI_CWRPT_RDY BIT(16)
  4013. #define B_TSSI_CWRPT GENMASK(8, 0)
  4014. #define R_TXAGC_BTP 0x1CA0
  4015. #define B_TXAGC_BTP GENMASK(31, 24)
  4016. #define R_TXAGC_BB 0x1C60
  4017. #define B_TXAGC_BB_OFT GENMASK(31, 16)
  4018. #define B_TXAGC_BB GENMASK(31, 24)
  4019. #define B_TXAGC_RF GENMASK(5, 0)
  4020. #define R_PATH0_TXPWR 0x1C78
  4021. #define B_PATH0_TXPWR GENMASK(8, 0)
  4022. #define R_S0_ADDCK 0x1E00
  4023. #define B_S0_ADDCK_I GENMASK(9, 0)
  4024. #define B_S0_ADDCK_Q GENMASK(19, 10)
  4025. #define R_ADC_FIFO 0x20fc
  4026. #define B_ADC_FIFO_RST GENMASK(31, 24)
  4027. #define B_ADC_FIFO_RXK GENMASK(31, 16)
  4028. #define B_ADC_FIFO_A3 BIT(28)
  4029. #define B_ADC_FIFO_A2 BIT(24)
  4030. #define B_ADC_FIFO_A1 BIT(20)
  4031. #define B_ADC_FIFO_A0 BIT(16)
  4032. #define R_TXFIR0 0x2300
  4033. #define B_TXFIR_C01 GENMASK(23, 0)
  4034. #define R_TXFIR2 0x2304
  4035. #define B_TXFIR_C23 GENMASK(23, 0)
  4036. #define R_TXFIR4 0x2308
  4037. #define B_TXFIR_C45 GENMASK(23, 0)
  4038. #define R_TXFIR6 0x230c
  4039. #define B_TXFIR_C67 GENMASK(23, 0)
  4040. #define R_TXFIR8 0x2310
  4041. #define B_TXFIR_C89 GENMASK(23, 0)
  4042. #define R_TXFIRA 0x2314
  4043. #define B_TXFIR_CAB GENMASK(23, 0)
  4044. #define R_TXFIRC 0x2318
  4045. #define B_TXFIR_CCD GENMASK(23, 0)
  4046. #define R_TXFIRE 0x231c
  4047. #define B_TXFIR_CEF GENMASK(23, 0)
  4048. #define R_11B_RX_V1 0x2320
  4049. #define B_11B_RXCCA_DIS_V1 BIT(0)
  4050. #define R_RPL_OFST 0x2340
  4051. #define B_RPL_OFST_MASK GENMASK(14, 8)
  4052. #define R_RXCCA 0x2344
  4053. #define B_RXCCA_DIS BIT(31)
  4054. #define R_RXCCA_V1 0x2320
  4055. #define B_RXCCA_DIS_V1 BIT(0)
  4056. #define R_RXSC 0x237C
  4057. #define B_RXSC_EN BIT(0)
  4058. #define R_RX_RPL_OFST 0x23AC
  4059. #define B_RX_RPL_OFST_CCK_MASK GENMASK(6, 0)
  4060. #define R_RXSCOBC 0x23B0
  4061. #define B_RXSCOBC_TH GENMASK(18, 0)
  4062. #define R_RXSCOCCK 0x23B4
  4063. #define B_RXSCOCCK_TH GENMASK(18, 0)
  4064. #define R_P80_AT_HIGH_FREQ_RU_ALLOC 0x2410
  4065. #define B_P80_AT_HIGH_FREQ_RU_ALLOC_PHY1 BIT(14)
  4066. #define B_P80_AT_HIGH_FREQ_RU_ALLOC_PHY0 BIT(13)
  4067. #define R_DBCC_80P80_SEL_EVM_RPT2 0x2A10
  4068. #define B_DBCC_80P80_SEL_EVM_RPT2_EN BIT(0)
  4069. #define R_P1_EN_SOUND_WO_NDP 0x2D7C
  4070. #define B_P1_EN_SOUND_WO_NDP BIT(1)
  4071. #define R_S1_HW_SI_DIS 0x3200
  4072. #define B_S1_HW_SI_DIS_W_R_TRIG GENMASK(30, 28)
  4073. #define R_P1_RXCK 0x32A0
  4074. #define B_P1_RXCK_BW3 BIT(30)
  4075. #define B_P1_TXCK_ALL GENMASK(19, 12)
  4076. #define B_P1_RXCK_ON BIT(19)
  4077. #define B_P1_RXCK_VAL GENMASK(18, 16)
  4078. #define R_P1_RFMODE 0x32AC
  4079. #define B_P1_RFMODE_ORI_TXRX_FTM_TX GENMASK(31, 4)
  4080. #define B_P1_RFMODE_MUX GENMASK(11, 4)
  4081. #define R_P1_RFMODE_ORI_RX 0x32AC
  4082. #define B_P1_RFMODE_ORI_RX_ALL GENMASK(23, 12)
  4083. #define R_P1_RFMODE_FTM_RX 0x32B0
  4084. #define B_P1_RFMODE_FTM_RX GENMASK(11, 0)
  4085. #define R_P1_DBGMOD 0x32B8
  4086. #define B_P1_DBGMOD_ON BIT(30)
  4087. #define R_S1_RXDC 0x32D4
  4088. #define B_S1_RXDC_I GENMASK(25, 16)
  4089. #define B_S1_RXDC_Q GENMASK(31, 26)
  4090. #define R_S1_RXDC2 0x32D8
  4091. #define B_S1_RXDC2_EN GENMASK(5, 4)
  4092. #define B_S1_RXDC2_SEL GENMASK(9, 8)
  4093. #define B_S1_RXDC2_Q2 GENMASK(3, 0)
  4094. #define R_TXAGC_BB_S1 0x3C60
  4095. #define B_TXAGC_BB_S1_OFT GENMASK(31, 16)
  4096. #define B_TXAGC_BB_S1 GENMASK(31, 24)
  4097. #define R_PATH1_TXPWR 0x3C78
  4098. #define B_PATH1_TXPWR GENMASK(8, 0)
  4099. #define R_S1_ADDCK 0x3E00
  4100. #define B_S1_ADDCK_I GENMASK(9, 0)
  4101. #define B_S1_ADDCK_Q GENMASK(19, 10)
  4102. #define R_MUIC 0x40F8
  4103. #define B_MUIC_EN BIT(0)
  4104. #define R_DCFO 0x4264
  4105. #define B_DCFO GENMASK(7, 0)
  4106. #define R_SEG0CSI 0x42AC
  4107. #define R_SEG0CSI_V1 0x42B0
  4108. #define B_SEG0CSI_IDX GENMASK(10, 0)
  4109. #define R_SEG0CSI_EN 0x42C4
  4110. #define R_SEG0CSI_EN_V1 0x42C8
  4111. #define B_SEG0CSI_EN BIT(23)
  4112. #define R_BSS_CLR_MAP 0x43ac
  4113. #define R_BSS_CLR_MAP_V1 0x43B0
  4114. #define B_BSS_CLR_MAP_VLD0 BIT(28)
  4115. #define B_BSS_CLR_MAP_TGT GENMASK(27, 22)
  4116. #define B_BSS_CLR_MAP_STAID GENMASK(21, 11)
  4117. #define R_CFO_TRK0 0x4404
  4118. #define R_CFO_TRK1 0x440C
  4119. #define B_CFO_TRK_MSK GENMASK(14, 10)
  4120. #define R_T2F_GI_COMB 0x4424
  4121. #define B_T2F_GI_COMB_EN BIT(2)
  4122. #define R_BT_DYN_DC_EST_EN 0x441C
  4123. #define R_BT_DYN_DC_EST_EN_V1 0x4420
  4124. #define B_BT_DYN_DC_EST_EN_MSK BIT(31)
  4125. #define R_ASSIGN_SBD_OPT_V1 0x4440
  4126. #define B_ASSIGN_SBD_OPT_EN_V1 BIT(31)
  4127. #define R_ASSIGN_SBD_OPT 0x4450
  4128. #define B_ASSIGN_SBD_OPT_EN BIT(24)
  4129. #define R_DCFO_COMP_S0 0x448C
  4130. #define B_DCFO_COMP_S0_MSK GENMASK(11, 0)
  4131. #define R_DCFO_WEIGHT 0x4490
  4132. #define B_DCFO_WEIGHT_MSK GENMASK(27, 24)
  4133. #define R_DCFO_OPT 0x4494
  4134. #define B_DCFO_OPT_EN BIT(29)
  4135. #define B_TXSHAPE_TRIANGULAR_CFG GENMASK(25, 24)
  4136. #define R_BANDEDGE 0x4498
  4137. #define B_BANDEDGE_EN BIT(30)
  4138. #define R_DPD_BF 0x44a0
  4139. #define B_DPD_BF_OFDM GENMASK(16, 12)
  4140. #define B_DPD_BF_SCA GENMASK(6, 0)
  4141. #define R_TXPATH_SEL 0x458C
  4142. #define B_TXPATH_SEL_MSK GENMASK(31, 28)
  4143. #define R_TXPWR 0x4594
  4144. #define B_TXPWR_MSK GENMASK(30, 22)
  4145. #define R_TXNSS_MAP 0x45B4
  4146. #define B_TXNSS_MAP_MSK GENMASK(20, 17)
  4147. #define R_PCOEFF0_V1 0x45BC
  4148. #define B_PCOEFF01_MSK_V1 GENMASK(23, 0)
  4149. #define R_PCOEFF2_V1 0x45CC
  4150. #define B_PCOEFF23_MSK_V1 GENMASK(23, 0)
  4151. #define R_PCOEFF4_V1 0x45D0
  4152. #define B_PCOEFF45_MSK_V1 GENMASK(23, 0)
  4153. #define R_PCOEFF6_V1 0x45D4
  4154. #define B_PCOEFF67_MSK_V1 GENMASK(23, 0)
  4155. #define R_PCOEFF8_V1 0x45D8
  4156. #define B_PCOEFF89_MSK_V1 GENMASK(23, 0)
  4157. #define R_PCOEFFA_V1 0x45C0
  4158. #define B_PCOEFFAB_MSK_V1 GENMASK(23, 0)
  4159. #define R_PCOEFFC_V1 0x45C4
  4160. #define B_PCOEFFCD_MSK_V1 GENMASK(23, 0)
  4161. #define R_PCOEFFE_V1 0x45C8
  4162. #define B_PCOEFFEF_MSK_V1 GENMASK(23, 0)
  4163. #define R_PATH0_IB_PKPW 0x4628
  4164. #define B_PATH0_IB_PKPW_MSK GENMASK(11, 6)
  4165. #define R_PATH0_LNA_ERR1 0x462C
  4166. #define B_PATH0_LNA_ERR_G1_A_MSK GENMASK(29, 24)
  4167. #define B_PATH0_LNA_ERR_G0_G_MSK GENMASK(17, 12)
  4168. #define B_PATH0_LNA_ERR_G0_A_MSK GENMASK(11, 6)
  4169. #define R_PATH0_LNA_ERR2 0x4630
  4170. #define B_PATH0_LNA_ERR_G2_G_MSK GENMASK(23, 18)
  4171. #define B_PATH0_LNA_ERR_G2_A_MSK GENMASK(17, 12)
  4172. #define B_PATH0_LNA_ERR_G1_G_MSK GENMASK(5, 0)
  4173. #define R_PATH0_LNA_ERR3 0x4634
  4174. #define B_PATH0_LNA_ERR_G4_G_MSK GENMASK(29, 24)
  4175. #define B_PATH0_LNA_ERR_G4_A_MSK GENMASK(23, 18)
  4176. #define B_PATH0_LNA_ERR_G3_G_MSK GENMASK(11, 6)
  4177. #define B_PATH0_LNA_ERR_G3_A_MSK GENMASK(5, 0)
  4178. #define R_PATH0_LNA_ERR4 0x4638
  4179. #define B_PATH0_LNA_ERR_G6_A_MSK GENMASK(29, 24)
  4180. #define B_PATH0_LNA_ERR_G5_G_MSK GENMASK(17, 12)
  4181. #define B_PATH0_LNA_ERR_G5_A_MSK GENMASK(11, 6)
  4182. #define R_PATH0_LNA_ERR5 0x463C
  4183. #define B_PATH0_LNA_ERR_G6_G_MSK GENMASK(5, 0)
  4184. #define R_PATH0_TIA_ERR_G0 0x4640
  4185. #define B_PATH0_TIA_ERR_G0_G_MSK GENMASK(23, 18)
  4186. #define B_PATH0_TIA_ERR_G0_A_MSK GENMASK(17, 12)
  4187. #define R_PATH0_TIA_ERR_G1 0x4644
  4188. #define B_PATH0_TIA_ERR_G1_SEL GENMASK(31, 30)
  4189. #define B_PATH0_TIA_ERR_G1_G_MSK GENMASK(11, 6)
  4190. #define B_PATH0_TIA_ERR_G1_A_MSK GENMASK(5, 0)
  4191. #define R_PATH0_IB_PBK 0x4650
  4192. #define B_PATH0_IB_PBK_MSK GENMASK(14, 10)
  4193. #define R_PATH0_RXB_INIT 0x4658
  4194. #define B_PATH0_RXB_INIT_IDX_MSK GENMASK(9, 5)
  4195. #define R_PATH0_LNA_INIT 0x4668
  4196. #define R_PATH0_LNA_INIT_V1 0x472C
  4197. #define B_PATH0_LNA_INIT_IDX_MSK GENMASK(26, 24)
  4198. #define R_PATH0_BTG 0x466C
  4199. #define B_PATH0_BTG_SHEN GENMASK(18, 17)
  4200. #define R_PATH0_TIA_INIT 0x4674
  4201. #define B_PATH0_TIA_INIT_IDX_MSK BIT(17)
  4202. #define R_PATH0_P20_FOLLOW_BY_PAGCUGC 0x46A0
  4203. #define R_PATH0_P20_FOLLOW_BY_PAGCUGC_V1 0x4C24
  4204. #define R_PATH0_P20_FOLLOW_BY_PAGCUGC_V2 0x46E8
  4205. #define B_PATH0_P20_FOLLOW_BY_PAGCUGC_EN_MSK BIT(5)
  4206. #define R_PATH0_S20_FOLLOW_BY_PAGCUGC 0x46A4
  4207. #define R_PATH0_S20_FOLLOW_BY_PAGCUGC_V1 0x4C28
  4208. #define R_PATH0_S20_FOLLOW_BY_PAGCUGC_V2 0x46EC
  4209. #define B_PATH0_S20_FOLLOW_BY_PAGCUGC_EN_MSK BIT(5)
  4210. #define R_PATH0_RXB_INIT_V1 0x46A8
  4211. #define B_PATH0_RXB_INIT_IDX_MSK_V1 GENMASK(14, 10)
  4212. #define R_PATH0_G_LNA6_OP1DB_V1 0x4688
  4213. #define B_PATH0_G_LNA6_OP1DB_V1 GENMASK(31, 24)
  4214. #define R_PATH0_G_TIA0_LNA6_OP1DB_V1 0x4694
  4215. #define B_PATH0_G_TIA0_LNA6_OP1DB_V1 GENMASK(7, 0)
  4216. #define R_PATH0_G_TIA1_LNA6_OP1DB_V1 0x4694
  4217. #define B_PATH0_R_G_OFST_MASK GENMASK(23, 16)
  4218. #define B_PATH0_G_TIA1_LNA6_OP1DB_V1 GENMASK(15, 8)
  4219. #define R_CDD_EVM_CHK_EN 0x46C0
  4220. #define B_CDD_EVM_CHK_EN BIT(0)
  4221. #define R_PATH0_BAND_SEL_V1 0x4738
  4222. #define B_PATH0_BAND_SEL_MSK_V1 BIT(17)
  4223. #define R_PATH0_BT_SHARE_V1 0x4738
  4224. #define B_PATH0_BT_SHARE_V1 BIT(19)
  4225. #define R_PATH0_BTG_PATH_V1 0x4738
  4226. #define B_PATH0_BTG_PATH_V1 BIT(22)
  4227. #define R_P0_NBIIDX 0x469C
  4228. #define B_P0_NBIIDX_VAL GENMASK(11, 0)
  4229. #define B_P0_NBIIDX_NOTCH_EN BIT(12)
  4230. #define R_P0_BACKOFF_IBADC_V1 0x469C
  4231. #define B_P0_BACKOFF_IBADC_V1 GENMASK(31, 26)
  4232. #define B_P0_NBIIDX_NOTCH_EN_V1 BIT(12)
  4233. #define R_P1_MODE 0x4718
  4234. #define B_P1_MODE_SEL GENMASK(31, 30)
  4235. #define R_P0_AGC_CTL 0x4730
  4236. #define B_P0_AGC_EN BIT(31)
  4237. #define R_PATH1_LNA_INIT 0x473C
  4238. #define R_PATH1_LNA_INIT_V1 0x4A80
  4239. #define B_PATH1_LNA_INIT_IDX_MSK GENMASK(26, 24)
  4240. #define R_PATH0_TIA_INIT_V1 0x473C
  4241. #define B_PATH0_TIA_INIT_IDX_MSK_V1 BIT(9)
  4242. #define R_PATH1_TIA_INIT 0x4748
  4243. #define B_PATH1_TIA_INIT_IDX_MSK BIT(17)
  4244. #define R_PATH1_BTG 0x4740
  4245. #define B_PATH1_BTG_SHEN GENMASK(18, 17)
  4246. #define R_PATH1_RXB_INIT 0x472C
  4247. #define B_PATH1_RXB_INIT_IDX_MSK GENMASK(9, 5)
  4248. #define R_PATH1_G_LNA6_OP1DB_V1 0x476C
  4249. #define B_PATH1_G_LNA6_OP1DB_V1 GENMASK(31, 24)
  4250. #define R_PATH1_P20_FOLLOW_BY_PAGCUGC 0x4774
  4251. #define R_PATH1_P20_FOLLOW_BY_PAGCUGC_V1 0x4CE8
  4252. #define R_PATH1_P20_FOLLOW_BY_PAGCUGC_V2 0x47A8
  4253. #define B_PATH1_P20_FOLLOW_BY_PAGCUGC_EN_MSK BIT(5)
  4254. #define R_PATH1_S20_FOLLOW_BY_PAGCUGC 0x4778
  4255. #define R_PATH1_S20_FOLLOW_BY_PAGCUGC_V1 0x4CEC
  4256. #define R_PATH1_S20_FOLLOW_BY_PAGCUGC_V2 0x47AC
  4257. #define B_PATH1_S20_FOLLOW_BY_PAGCUGC_EN_MSK BIT(5)
  4258. #define R_PATH1_G_TIA0_LNA6_OP1DB_V1 0x4778
  4259. #define B_PATH1_G_TIA0_LNA6_OP1DB_V1 GENMASK(7, 0)
  4260. #define R_PATH1_G_TIA1_LNA6_OP1DB_V1 0x4778
  4261. #define B_PATH1_G_TIA1_LNA6_OP1DB_V1 GENMASK(15, 8)
  4262. #define R_PATH1_BAND_SEL_V1 0x4AA4
  4263. #define B_PATH1_BAND_SEL_MSK_V1 BIT(17)
  4264. #define R_PATH1_BT_SHARE_V1 0x4AA4
  4265. #define B_PATH1_BT_SHARE_V1 BIT(19)
  4266. #define R_PATH1_BTG_PATH_V1 0x4AA4
  4267. #define B_PATH1_BTG_PATH_V1 BIT(22)
  4268. #define R_P1_NBIIDX 0x4770
  4269. #define B_P1_NBIIDX_VAL GENMASK(11, 0)
  4270. #define B_P1_NBIIDX_NOTCH_EN BIT(12)
  4271. #define R_PKT_CTRL 0x47D4
  4272. #define B_PKT_POP_EN BIT(8)
  4273. #define R_SEG0R_PD 0x481C
  4274. #define R_SEG0R_PD_V1 0x4860
  4275. #define R_SEG0R_PD_V2 0x6A74
  4276. #define R_SEG0R_EDCCA_LVL 0x4840
  4277. #define R_SEG0R_EDCCA_LVL_V1 0x4884
  4278. #define B_SEG0R_PPDU_LVL_MSK GENMASK(31, 24)
  4279. #define B_SEG0R_EDCCA_LVL_P_MSK GENMASK(15, 8)
  4280. #define B_SEG0R_EDCCA_LVL_A_MSK GENMASK(7, 0)
  4281. #define B_SEG0R_PD_SPATIAL_REUSE_EN_MSK_V1 BIT(30)
  4282. #define B_SEG0R_PD_SPATIAL_REUSE_EN_MSK BIT(29)
  4283. #define B_SEG0R_PD_LOWER_BOUND_MSK GENMASK(10, 6)
  4284. #define R_2P4G_BAND 0x4970
  4285. #define B_2P4G_BAND_SEL BIT(1)
  4286. #define R_FC0_BW 0x4974
  4287. #define R_FC0_BW_V1 0x49C0
  4288. #define B_FC0_BW_SET GENMASK(31, 30)
  4289. #define B_ANT_RX_BT_SEG0 GENMASK(25, 22)
  4290. #define B_ANT_RX_1RCCA_SEG1 GENMASK(21, 18)
  4291. #define B_ANT_RX_1RCCA_SEG0 GENMASK(17, 14)
  4292. #define B_FC0_BW_INV GENMASK(6, 0)
  4293. #define R_Q_MATRIX_00 0x497C
  4294. #define B_Q_MATRIX_00_IMAGINARY GENMASK(15, 0)
  4295. #define B_Q_MATRIX_00_REAL GENMASK(31, 16)
  4296. #define R_CHBW_MOD 0x4978
  4297. #define R_CHBW_MOD_V1 0x49C4
  4298. #define B_BT_SHARE BIT(14)
  4299. #define B_CHBW_MOD_SBW GENMASK(13, 12)
  4300. #define B_CHBW_MOD_PRICH GENMASK(11, 8)
  4301. #define B_ANT_RX_SEG0 GENMASK(3, 0)
  4302. #define R_Q_MATRIX_11 0x4988
  4303. #define B_Q_MATRIX_11_IMAGINARY GENMASK(15, 0)
  4304. #define B_Q_MATRIX_11_REAL GENMASK(31, 16)
  4305. #define R_CUSTOMIZE_Q_MATRIX 0x498C
  4306. #define B_CUSTOMIZE_Q_MATRIX_EN BIT(0)
  4307. #define R_P0_RPL1 0x49B0
  4308. #define B_P0_RPL1_41_MASK GENMASK(31, 24)
  4309. #define B_P0_RPL1_40_MASK GENMASK(23, 16)
  4310. #define B_P0_RPL1_20_MASK GENMASK(15, 8)
  4311. #define B_P0_RPL1_MASK (B_P0_RPL1_41_MASK | B_P0_RPL1_40_MASK | B_P0_RPL1_20_MASK)
  4312. #define B_P0_RPL1_SHIFT 8
  4313. #define B_P0_RPL1_BIAS_MASK GENMASK(7, 0)
  4314. #define R_P0_RPL2 0x49B4
  4315. #define B_P0_RTL2_8A_MASK GENMASK(31, 24)
  4316. #define B_P0_RTL2_81_MASK GENMASK(23, 16)
  4317. #define B_P0_RTL2_80_MASK GENMASK(15, 8)
  4318. #define B_P0_RTL2_42_MASK GENMASK(7, 0)
  4319. #define R_P0_RPL3 0x49B8
  4320. #define B_P0_RTL3_89_MASK GENMASK(31, 24)
  4321. #define B_P0_RTL3_84_MASK GENMASK(23, 16)
  4322. #define B_P0_RTL3_83_MASK GENMASK(15, 8)
  4323. #define B_P0_RTL3_82_MASK GENMASK(7, 0)
  4324. #define R_PD_BOOST_EN 0x49E8
  4325. #define B_PD_BOOST_EN BIT(7)
  4326. #define R_P1_BACKOFF_IBADC_V1 0x49F0
  4327. #define B_P1_BACKOFF_IBADC_V1 GENMASK(31, 26)
  4328. #define R_P1_RPL1 0x4A00
  4329. #define R_P1_RPL2 0x4A04
  4330. #define R_P1_RPL3 0x4A08
  4331. #define R_BK_FC0_INV_V1 0x4A1C
  4332. #define B_BK_FC0_INV_MSK_V1 GENMASK(18, 0)
  4333. #define R_CCK_FC0_INV_V1 0x4A20
  4334. #define B_CCK_FC0_INV_MSK_V1 GENMASK(18, 0)
  4335. #define R_PATH1_RXB_INIT_V1 0x4A5C
  4336. #define B_PATH1_RXB_INIT_IDX_MSK_V1 GENMASK(14, 10)
  4337. #define R_P1_AGC_CTL 0x4A9C
  4338. #define B_P1_AGC_EN BIT(31)
  4339. #define R_PATH1_TIA_INIT_V1 0x4AA8
  4340. #define B_PATH1_TIA_INIT_IDX_MSK_V1 BIT(9)
  4341. #define R_P0_AGC_RSVD 0x4ACC
  4342. #define R_PATH0_RXBB_V1 0x4AD4
  4343. #define B_PATH0_RXBB_MSK_V1 GENMASK(31, 0)
  4344. #define R_P1_AGC_RSVD 0x4AD8
  4345. #define R_PATH1_RXBB_V1 0x4AE0
  4346. #define B_PATH1_RXBB_MSK_V1 GENMASK(31, 0)
  4347. #define R_PATH0_BT_BACKOFF_V1 0x4AE4
  4348. #define B_PATH0_BT_BACKOFF_V1 GENMASK(23, 0)
  4349. #define R_PATH1_BT_BACKOFF_V1 0x4AEC
  4350. #define B_PATH1_BT_BACKOFF_V1 GENMASK(23, 0)
  4351. #define R_DCFO_COMP_S0_V2 0x4B20
  4352. #define B_DCFO_COMP_S0_MSK_V2 GENMASK(13, 0)
  4353. #define R_PATH0_TX_CFR 0x4B30
  4354. #define B_PATH0_TX_CFR_LGC1 GENMASK(19, 10)
  4355. #define B_PATH0_TX_CFR_LGC0 GENMASK(9, 0)
  4356. #define R_PATH0_TX_POLAR_CLIPPING 0x4B3C
  4357. #define B_PATH0_TX_POLAR_CLIPPING_LGC1 GENMASK(19, 16)
  4358. #define B_PATH0_TX_POLAR_CLIPPING_LGC0 GENMASK(15, 12)
  4359. #define R_PATH0_FRC_FIR_TYPE_V1 0x4C00
  4360. #define B_PATH0_FRC_FIR_TYPE_MSK_V1 GENMASK(1, 0)
  4361. #define R_PATH0_NOTCH 0x4C14
  4362. #define B_PATH0_NOTCH_EN BIT(12)
  4363. #define B_PATH0_NOTCH_VAL GENMASK(11, 0)
  4364. #define R_PATH0_NOTCH2 0x4C20
  4365. #define B_PATH0_NOTCH2_EN BIT(12)
  4366. #define B_PATH0_NOTCH2_VAL GENMASK(11, 0)
  4367. #define R_PATH0_5MDET 0x4C4C
  4368. #define R_PATH0_5MDET_V1 0x46F8
  4369. #define B_PATH0_5MDET_EN BIT(12)
  4370. #define B_PATH0_5MDET_SB2 BIT(8)
  4371. #define B_PATH0_5MDET_SB0 BIT(6)
  4372. #define B_PATH0_5MDET_TH GENMASK(5, 0)
  4373. #define R_PATH1_FRC_FIR_TYPE_V1 0x4CC4
  4374. #define B_PATH1_FRC_FIR_TYPE_MSK_V1 GENMASK(1, 0)
  4375. #define R_PATH1_NOTCH 0x4CD8
  4376. #define B_PATH1_NOTCH_EN BIT(12)
  4377. #define B_PATH1_NOTCH_VAL GENMASK(11, 0)
  4378. #define R_PATH1_NOTCH2 0x4CE4
  4379. #define B_PATH1_NOTCH2_EN BIT(12)
  4380. #define B_PATH1_NOTCH2_VAL GENMASK(11, 0)
  4381. #define R_PATH1_5MDET 0x4D10
  4382. #define R_PATH1_5MDET_V1 0x47B8
  4383. #define B_PATH1_5MDET_EN BIT(12)
  4384. #define B_PATH1_5MDET_SB2 BIT(8)
  4385. #define B_PATH1_5MDET_SB0 BIT(6)
  4386. #define B_PATH1_5MDET_TH GENMASK(5, 0)
  4387. #define R_RPL_BIAS_COMP 0x4DF0
  4388. #define B_RPL_BIAS_COMP_MASK GENMASK(7, 0)
  4389. #define R_RPL_PATHAB 0x4E0C
  4390. #define B_RPL_PATHB_MASK GENMASK(23, 16)
  4391. #define B_RPL_PATHA_MASK GENMASK(15, 8)
  4392. #define R_RSSI_M_PATHAB 0x4E2C
  4393. #define B_RSSI_M_PATHB_MASK GENMASK(15, 8)
  4394. #define B_RSSI_M_PATHA_MASK GENMASK(7, 0)
  4395. #define R_FC0_V1 0x4E30
  4396. #define B_FC0_MSK_V1 GENMASK(12, 0)
  4397. #define R_RX_BW40_2XFFT_EN_V1 0x4E30
  4398. #define B_RX_BW40_2XFFT_EN_MSK_V1 BIT(26)
  4399. #define R_DCFO_COMP_S0_V1 0x4A40
  4400. #define B_DCFO_COMP_S0_V1_MSK GENMASK(13, 0)
  4401. #define R_BMODE_PDTH_V1 0x4B64
  4402. #define R_BMODE_PDTH_V2 0x6708
  4403. #define B_BMODE_PDTH_LOWER_BOUND_MSK_V1 GENMASK(31, 24)
  4404. #define R_BMODE_PDTH_EN_V1 0x4B74
  4405. #define R_BMODE_PDTH_EN_V2 0x6718
  4406. #define B_BMODE_PDTH_LIMIT_EN_MSK_V1 BIT(30)
  4407. #define R_CFO_COMP_SEG1_L 0x5384
  4408. #define R_CFO_COMP_SEG1_H 0x5388
  4409. #define R_CFO_COMP_SEG1_CTRL 0x538C
  4410. #define B_CFO_COMP_VALID_BIT BIT(29)
  4411. #define B_CFO_COMP_WEIGHT_MSK GENMASK(27, 24)
  4412. #define B_CFO_COMP_VAL_MSK GENMASK(11, 0)
  4413. #define R_TSSI_PA_K1 0x5600
  4414. #define R_TSSI_PA_K2 0x5604
  4415. #define R_P0_TSSI_ALIM1 0x5630
  4416. #define B_P0_TSSI_ALIM1 GENMASK(29, 0)
  4417. #define B_P0_TSSI_ALIM11 GENMASK(29, 20)
  4418. #define B_P0_TSSI_ALIM12 GENMASK(19, 10)
  4419. #define B_P0_TSSI_ALIM13 GENMASK(9, 0)
  4420. #define R_P0_TSSI_ALIM3 0x5634
  4421. #define B_P0_TSSI_ALIM31 GENMASK(9, 0)
  4422. #define R_TSSI_PA_K5 0x5638
  4423. #define R_P0_TSSI_ALIM2 0x563c
  4424. #define B_P0_TSSI_ALIM2 GENMASK(29, 0)
  4425. #define R_P0_TSSI_ALIM4 0x5640
  4426. #define R_TSSI_PA_K8 0x5644
  4427. #define R_P0_TSSI_ADC_CLK 0x566c
  4428. #define B_P0_TSSI_ADC_CLK GENMASK(17, 16)
  4429. #define R_UPD_CLK 0x5670
  4430. #define B_DAC_VAL BIT(31)
  4431. #define B_ACK_VAL GENMASK(30, 29)
  4432. #define B_DPD_DIS BIT(14)
  4433. #define B_DPD_GDIS BIT(13)
  4434. #define B_IQK_RFC_ON BIT(1)
  4435. #define R_TXPWRB 0x56CC
  4436. #define B_TXPWRB_ON BIT(28)
  4437. #define B_TXPWRB_VAL GENMASK(27, 19)
  4438. #define R_DPD_OFT_EN 0x5800
  4439. #define B_DPD_OFT_EN BIT(28)
  4440. #define B_DPD_TSSI_CW GENMASK(26, 18)
  4441. #define B_DPD_PWR_CW GENMASK(17, 9)
  4442. #define B_DPD_REF GENMASK(8, 0)
  4443. #define R_P0_TSSIC 0x5814
  4444. #define B_P0_TSSIC_BYPASS BIT(11)
  4445. #define R_DPD_OFT_ADDR 0x5804
  4446. #define B_DPD_OFT_ADDR GENMASK(31, 27)
  4447. #define R_TXPWRB_H 0x580c
  4448. #define B_TXPWRB_RDY BIT(15)
  4449. #define R_P0_TMETER 0x5810
  4450. #define B_P0_TMETER GENMASK(15, 10)
  4451. #define B_P0_TMETER_DIS BIT(16)
  4452. #define B_P0_TMETER_TRK BIT(24)
  4453. #define R_P1_TSSIC 0x7814
  4454. #define B_P1_TSSIC_BYPASS BIT(11)
  4455. #define R_P0_TSSI_TRK 0x5818
  4456. #define B_P0_TSSI_TRK_EN BIT(30)
  4457. #define B_P0_TSSI_RFC GENMASK(28, 27)
  4458. #define B_P0_TSSI_OFT_EN BIT(28)
  4459. #define B_P0_TSSI_OFT GENMASK(7, 0)
  4460. #define R_P0_TSSI_AVG 0x5820
  4461. #define B_P0_TSSI_EN BIT(31)
  4462. #define B_P0_TSSI_AVG GENMASK(15, 12)
  4463. #define R_P0_RFCTM 0x5864
  4464. #define B_P0_RFCTM_EN BIT(29)
  4465. #define B_P0_RFCTM_VAL GENMASK(25, 20)
  4466. #define R_P0_RFCTM_RDY BIT(26)
  4467. #define R_P0_TRSW 0x5868
  4468. #define B_P0_BT_FORCE_ANTIDX_EN BIT(12)
  4469. #define B_P0_TRSW_X BIT(2)
  4470. #define B_P0_TRSW_A BIT(1)
  4471. #define B_P0_TX_ANT_SEL BIT(1)
  4472. #define B_P0_TRSW_B BIT(0)
  4473. #define B_P0_ANT_TRAIN_EN BIT(0)
  4474. #define B_P0_TRSW_SO_A2 GENMASK(7, 5)
  4475. #define R_P0_ANTSEL 0x586C
  4476. #define B_P0_ANTSEL_SW_5G BIT(25)
  4477. #define B_P0_ANTSEL_SW_2G BIT(23)
  4478. #define B_P0_ANTSEL_BTG_TRX BIT(21)
  4479. #define B_P0_ANTSEL_CGCS_CTRL BIT(17)
  4480. #define B_P0_ANTSEL_HW_CTRL BIT(16)
  4481. #define B_P0_ANTSEL_TX_ORI GENMASK(15, 12)
  4482. #define B_P0_ANTSEL_RX_ALT GENMASK(11, 8)
  4483. #define B_P0_ANTSEL_RX_ORI GENMASK(7, 4)
  4484. #define R_RFSW_CTRL_ANT0_BASE 0x5870
  4485. #define B_RFSW_CTRL_ANT_MAPPING GENMASK(15, 0)
  4486. #define R_RFE_SEL0_BASE 0x5880
  4487. #define B_RFE_SEL0_SRC_MASK GENMASK(3, 0)
  4488. #define R_RFE_SEL32_BASE 0x5884
  4489. #define RFE_SEL0_SRC_ANTSEL_0 8
  4490. #define R_RFE_INV0 0x5890
  4491. #define R_P0_RFM 0x5894
  4492. #define B_P0_RFM_DIS_WL BIT(7)
  4493. #define B_P0_RFM_TX_OPT BIT(6)
  4494. #define B_P0_RFM_BT_EN BIT(5)
  4495. #define B_P0_RFM_OUT GENMASK(4, 0)
  4496. #define R_P0_PATH_RST 0x58AC
  4497. #define R_P0_TXDPD 0x58D4
  4498. #define B_P0_TXDPD GENMASK(31, 28)
  4499. #define R_P0_TXPW_RSTB 0x58DC
  4500. #define B_P0_TXPW_RSTB_MANON BIT(30)
  4501. #define B_P0_TXPW_RSTB_TSSI BIT(31)
  4502. #define R_P0_TSSI_MV_AVG 0x58E4
  4503. #define B_P0_TSSI_MV_MIX GENMASK(19, 11)
  4504. #define B_P0_TSSI_MV_AVG GENMASK(13, 11)
  4505. #define B_P0_TSSI_MV_CLR BIT(14)
  4506. #define R_TXGAIN_SCALE 0x58F0
  4507. #define B_TXGAIN_SCALE_EN BIT(19)
  4508. #define B_TXGAIN_SCALE_OFT GENMASK(31, 24)
  4509. #define R_P0_DAC_COMP_POST_DPD_EN 0x58F8
  4510. #define B_P0_DAC_COMP_POST_DPD_EN BIT(31)
  4511. #define R_P0_TSSI_BASE 0x5C00
  4512. #define R_S0_DACKI 0x5E00
  4513. #define B_S0_DACKI_AR GENMASK(31, 28)
  4514. #define B_S0_DACKI_EN BIT(3)
  4515. #define R_S0_DACKI2 0x5E30
  4516. #define B_S0_DACKI2_K GENMASK(21, 12)
  4517. #define R_S0_DACKI7 0x5E44
  4518. #define B_S0_DACKI7_K GENMASK(15, 8)
  4519. #define R_S0_DACKI8 0x5E48
  4520. #define B_S0_DACKI8_K GENMASK(15, 8)
  4521. #define R_S0_DACKQ 0x5E50
  4522. #define B_S0_DACKQ_AR GENMASK(31, 28)
  4523. #define B_S0_DACKQ_EN BIT(3)
  4524. #define R_S0_DACKQ2 0x5E80
  4525. #define B_S0_DACKQ2_K GENMASK(21, 12)
  4526. #define R_S0_DACKQ7 0x5E94
  4527. #define B_S0_DACKQ7_K GENMASK(15, 8)
  4528. #define R_S0_DACKQ8 0x5E98
  4529. #define B_S0_DACKQ8_K GENMASK(15, 8)
  4530. #define R_RPL_BIAS_COMP1 0x6DF0
  4531. #define B_RPL_BIAS_COMP1_MASK GENMASK(7, 0)
  4532. #define R_P1_TSSI_ALIM1 0x7630
  4533. #define B_P1_TSSI_ALIM1 GENMASK(29, 0)
  4534. #define B_P1_TSSI_ALIM11 GENMASK(29, 20)
  4535. #define B_P1_TSSI_ALIM12 GENMASK(19, 10)
  4536. #define B_P1_TSSI_ALIM13 GENMASK(9, 0)
  4537. #define R_P1_TSSI_ALIM3 0x7634
  4538. #define B_P1_TSSI_ALIM31 GENMASK(9, 0)
  4539. #define R_P1_TSSI_ALIM2 0x763c
  4540. #define B_P1_TSSI_ALIM2 GENMASK(29, 0)
  4541. #define R_P1_TSSI_ADC_CLK 0x766c
  4542. #define B_P1_TSSI_ADC_CLK GENMASK(17, 16)
  4543. #define R_P1_TSSIC 0x7814
  4544. #define B_P1_TSSIC_BYPASS BIT(11)
  4545. #define R_P1_TMETER 0x7810
  4546. #define B_P1_TMETER GENMASK(15, 10)
  4547. #define B_P1_TMETER_DIS BIT(16)
  4548. #define B_P1_TMETER_TRK BIT(24)
  4549. #define R_P1_TSSI_TRK 0x7818
  4550. #define B_P1_TSSI_TRK_EN BIT(30)
  4551. #define B_P1_TSSI_RFC GENMASK(28, 27)
  4552. #define B_P1_TSSI_OFT_EN BIT(28)
  4553. #define B_P1_TSSI_OFT GENMASK(7, 0)
  4554. #define R_P1_TSSI_AVG 0x7820
  4555. #define B_P1_TSSI_EN BIT(31)
  4556. #define B_P1_TSSI_AVG GENMASK(15, 12)
  4557. #define R_P1_RFCTM 0x7864
  4558. #define R_P1_RFCTM_RDY BIT(26)
  4559. #define B_P1_RFCTM_VAL GENMASK(25, 20)
  4560. #define B_P1_RFCTM_DEL GENMASK(19, 11)
  4561. #define R_P1_PATH_RST 0x78AC
  4562. #define R_P1_TXPW_RSTB 0x78DC
  4563. #define B_P1_TXPW_RSTB_MANON BIT(30)
  4564. #define B_P1_TXPW_RSTB_TSSI BIT(31)
  4565. #define R_P1_TSSI_MV_AVG 0x78E4
  4566. #define B_P1_TSSI_MV_MIX GENMASK(19, 11)
  4567. #define B_P1_TSSI_MV_AVG GENMASK(13, 11)
  4568. #define B_P1_TSSI_MV_CLR BIT(14)
  4569. #define R_P1_DAC_COMP_POST_DPD_EN 0x78F8
  4570. #define B_P1_DAC_COMP_POST_DPD_EN BIT(31)
  4571. #define R_TSSI_THOF 0x7C00
  4572. #define R_S1_DACKI 0x7E00
  4573. #define B_S1_DACKI_AR GENMASK(31, 28)
  4574. #define B_S1_DACKI_EN BIT(3)
  4575. #define R_S1_DACKI2 0x7E30
  4576. #define B_S1_DACKI2_K GENMASK(21, 12)
  4577. #define R_S1_DACKI7 0x7E44
  4578. #define B_S1_DACKI_K GENMASK(15, 8)
  4579. #define R_S1_DACKI8 0x7E48
  4580. #define B_S1_DACKI8_K GENMASK(15, 8)
  4581. #define R_S1_DACKQ 0x7E50
  4582. #define B_S1_DACKQ_AR GENMASK(31, 28)
  4583. #define B_S1_DACKQ_EN BIT(3)
  4584. #define R_S1_DACKQ2 0x7E80
  4585. #define B_S1_DACKQ2_K GENMASK(21, 12)
  4586. #define R_S1_DACKQ7 0x7E94
  4587. #define B_S1_DACKQ7_K GENMASK(15, 8)
  4588. #define R_S1_DACKQ8 0x7E98
  4589. #define B_S1_DACKQ8_K GENMASK(15, 8)
  4590. #define R_NCTL_CFG 0x8000
  4591. #define B_NCTL_CFG_SPAGE GENMASK(2, 1)
  4592. #define R_NCTL_RPT 0x8008
  4593. #define B_NCTL_RPT_FLG BIT(26)
  4594. #define R_NCTL_N1 0x8010
  4595. #define B_NCTL_N1_CIP GENMASK(7, 0)
  4596. #define R_NCTL_N2 0x8014
  4597. #define R_IQK_COM 0x8018
  4598. #define R_IQK_DIF 0x801C
  4599. #define B_IQK_DIF_TRX GENMASK(1, 0)
  4600. #define R_IQK_DIF1 0x8020
  4601. #define B_IQK_DIF1_TXPI GENMASK(19, 0)
  4602. #define R_IQK_DIF2 0x8024
  4603. #define B_IQK_DIF2_RXPI GENMASK(19, 0)
  4604. #define R_IQK_DIF4 0x802C
  4605. #define B_IQK_DIF4_RXT GENMASK(27, 16)
  4606. #define B_IQK_DIF4_TXT GENMASK(11, 0)
  4607. #define IQK_DF4_TXT_8_25MHZ 0x021
  4608. #define R_IQK_CFG 0x8034
  4609. #define B_IQK_CFG_SET GENMASK(5, 4)
  4610. #define R_IQK_RXA 0x8044
  4611. #define B_IQK_RXAGC GENMASK(15, 13)
  4612. #define R_TPG_SEL 0x8068
  4613. #define R_TPG_MOD 0x806C
  4614. #define B_TPG_MOD_F GENMASK(2, 1)
  4615. #define R_MDPK_SYNC 0x8070
  4616. #define B_MDPK_SYNC_SEL BIT(31)
  4617. #define B_MDPK_SYNC_MAN GENMASK(31, 28)
  4618. #define B_MDPK_SYNC_DMAN GENMASK(30, 28)
  4619. #define R_MDPK_RX_DCK 0x8074
  4620. #define B_MDPK_RX_DCK_EN BIT(31)
  4621. #define R_KIP_MOD 0x8078
  4622. #define B_KIP_MOD GENMASK(19, 0)
  4623. #define R_NCTL_RW 0x8080
  4624. #define R_KIP_SYSCFG 0x8088
  4625. #define R_KIP_CLK 0x808C
  4626. #define R_DPK_IDL 0x809C
  4627. #define B_DPK_IDL_SEL GENMASK(10, 9)
  4628. #define B_DPK_IDL BIT(8)
  4629. #define R_LDL_NORM 0x80A0
  4630. #define B_LDL_NORM_MA BIT(16)
  4631. #define B_LDL_NORM_PN GENMASK(12, 8)
  4632. #define B_LDL_NORM_OP GENMASK(1, 0)
  4633. #define R_DPK_CTL 0x80B0
  4634. #define B_DPK_CTL_EN BIT(28)
  4635. #define R_DPK_CFG 0x80B8
  4636. #define B_DPK_CFG_IDX GENMASK(14, 12)
  4637. #define R_DPK_CFG2 0x80BC
  4638. #define B_DPK_CFG2_ST BIT(14)
  4639. #define R_DPK_CFG3 0x80C0
  4640. #define R_KPATH_CFG 0x80D0
  4641. #define B_KPATH_CFG_ED GENMASK(21, 20)
  4642. #define R_KIP_RPT1 0x80D4
  4643. #define B_KIP_RPT1_SEL GENMASK(21, 16)
  4644. #define B_KIP_RPT1_SEL_V1 GENMASK(19, 16)
  4645. #define R_SRAM_IQRX 0x80D8
  4646. #define R_IDL_MPA 0x80DC
  4647. #define B_IDL_DN BIT(31)
  4648. #define B_IDL_MD530 BIT(1)
  4649. #define B_IDL_MD500 BIT(0)
  4650. #define R_GAPK 0x80E0
  4651. #define B_GAPK_ADR BIT(0)
  4652. #define R_SRAM_IQRX2 0x80E8
  4653. #define R_DPK_MPA 0x80EC
  4654. #define B_DPK_MPA_T0 BIT(10)
  4655. #define B_DPK_MPA_T1 BIT(9)
  4656. #define B_DPK_MPA_T2 BIT(8)
  4657. #define R_DPK_WR 0x80F4
  4658. #define B_DPK_WR_ST BIT(29)
  4659. #define R_DPK_TRK 0x80f0
  4660. #define B_DPK_TRK_DIS BIT(31)
  4661. #define R_RPT_COM 0x80FC
  4662. #define B_PRT_COM_SYNERR BIT(30)
  4663. #define B_PRT_COM_DCI GENMASK(27, 16)
  4664. #define B_PRT_COM_CORV GENMASK(15, 8)
  4665. #define B_RPT_COM_RDY GENMASK(15, 0)
  4666. #define B_PRT_COM_DCQ GENMASK(11, 0)
  4667. #define B_PRT_COM_RXOV BIT(8)
  4668. #define B_PRT_COM_GL GENMASK(7, 4)
  4669. #define B_PRT_COM_CORI GENMASK(7, 0)
  4670. #define B_PRT_COM_RXBB GENMASK(5, 0)
  4671. #define B_PRT_COM_RXBB_V1 GENMASK(4, 0)
  4672. #define B_PRT_COM_DONE BIT(0)
  4673. #define R_COEF_SEL 0x8104
  4674. #define B_COEF_SEL_IQC BIT(0)
  4675. #define B_COEF_SEL_MDPD BIT(8)
  4676. #define R_CFIR_SYS 0x8120
  4677. #define R_IQK_RES 0x8124
  4678. #define B_IQK_RES_K BIT(28)
  4679. #define B_IQK_RES_TXCFIR GENMASK(11, 8)
  4680. #define B_IQK_RES_RXCFIR GENMASK(3, 0)
  4681. #define R_TXIQC 0x8138
  4682. #define R_RXIQC 0x813c
  4683. #define B_RXIQC_BYPASS BIT(0)
  4684. #define B_RXIQC_BYPASS2 BIT(2)
  4685. #define B_RXIQC_NEWP GENMASK(19, 8)
  4686. #define B_RXIQC_NEWX GENMASK(31, 20)
  4687. #define R_KIP 0x8140
  4688. #define B_KIP_DBCC BIT(0)
  4689. #define B_KIP_RFGAIN BIT(8)
  4690. #define R_RFGAIN 0x8144
  4691. #define B_RFGAIN_PAD GENMASK(4, 0)
  4692. #define B_RFGAIN_TXBB GENMASK(12, 8)
  4693. #define R_RFGAIN_BND 0x8148
  4694. #define B_RFGAIN_BND GENMASK(4, 0)
  4695. #define R_CFIR_MAP 0x8150
  4696. #define R_CFIR_LUT 0x8154
  4697. #define B_CFIR_LUT_SEL BIT(8)
  4698. #define B_CFIR_LUT_SET BIT(4)
  4699. #define B_CFIR_LUT_G3 BIT(3)
  4700. #define B_CFIR_LUT_G2 BIT(2)
  4701. #define B_CFIR_LUT_GP_V1 GENMASK(2, 0)
  4702. #define B_CFIR_LUT_GP GENMASK(1, 0)
  4703. #define R_DPK_GN 0x819C
  4704. #define B_DPK_GN_EN GENMASK(17, 16)
  4705. #define B_DPK_GN_AG GENMASK(9, 0)
  4706. #define R_DPD_V1 0x81a0
  4707. #define B_DPD_LBK BIT(7)
  4708. #define R_DPD_CH0 0x81AC
  4709. #define R_DPD_BND 0x81B4
  4710. #define B_DPD_BND_1 GENMASK(24, 16)
  4711. #define B_DPD_BND_0 GENMASK(8, 0)
  4712. #define R_DPD_CH0A 0x81BC
  4713. #define B_DPD_MEN GENMASK(31, 28)
  4714. #define B_DPD_ORDER GENMASK(26, 24)
  4715. #define B_DPD_ORDER_V1 GENMASK(26, 25)
  4716. #define B_DPD_CFG GENMASK(22, 0)
  4717. #define B_DPD_SEL GENMASK(13, 8)
  4718. #define R_TXAGC_RFK 0x81C4
  4719. #define B_TXAGC_RFK_CH0 GENMASK(5, 0)
  4720. #define R_DPD_COM 0x81C8
  4721. #define B_DPD_COM_OF BIT(15)
  4722. #define R_KIP_IQP 0x81CC
  4723. #define B_KIP_IQP_SW GENMASK(13, 12)
  4724. #define B_KIP_IQP_IQSW GENMASK(5, 0)
  4725. #define R_KIP_RPT 0x81D4
  4726. #define B_KIP_RPT_SEL GENMASK(21, 16)
  4727. #define R_W_COEF 0x81D8
  4728. #define R_LOAD_COEF 0x81DC
  4729. #define B_LOAD_COEF_MDPD BIT(16)
  4730. #define B_LOAD_COEF_CFIR GENMASK(1, 0)
  4731. #define B_LOAD_COEF_DI BIT(1)
  4732. #define B_LOAD_COEF_AUTO BIT(0)
  4733. #define R_DPK_GL 0x81F0
  4734. #define B_DPK_GL_A0 GENMASK(31, 28)
  4735. #define B_DPK_GL_A1 GENMASK(17, 0)
  4736. #define R_RPT_PER 0x81FC
  4737. #define B_RPT_PER_KSET GENMASK(31, 29)
  4738. #define B_RPT_PER_TSSI GENMASK(28, 16)
  4739. #define B_RPT_PER_OF GENMASK(15, 8)
  4740. #define B_RPT_PER_TH GENMASK(5, 0)
  4741. #define R_IQRSN 0x8220
  4742. #define B_IQRSN_K1 BIT(28)
  4743. #define B_IQRSN_K2 BIT(16)
  4744. #define R_RXCFIR_P0C0 0x8D40
  4745. #define R_RXCFIR_P0C1 0x8D84
  4746. #define R_RXCFIR_P0C2 0x8DC8
  4747. #define R_RXCFIR_P0C3 0x8E0C
  4748. #define R_TXCFIR_P0C0 0x8F50
  4749. #define R_TXCFIR_P0C1 0x8F84
  4750. #define R_TXCFIR_P0C2 0x8FB8
  4751. #define R_TXCFIR_P0C3 0x8FEC
  4752. #define R_RXCFIR_P1C0 0x9140
  4753. #define R_RXCFIR_P1C1 0x9184
  4754. #define R_RXCFIR_P1C2 0x91C8
  4755. #define R_RXCFIR_P1C3 0x920C
  4756. #define R_TXCFIR_P1C0 0x9350
  4757. #define R_TXCFIR_P1C1 0x9384
  4758. #define R_TXCFIR_P1C2 0x93B8
  4759. #define R_TXCFIR_P1C3 0x93EC
  4760. #define R_IQKINF 0x9FE0
  4761. #define B_IQKINF_VER GENMASK(31, 24)
  4762. #define B_IQKINF_FAIL_RXGRP GENMASK(23, 16)
  4763. #define B_IQKINF_FAIL_TXGRP GENMASK(15, 8)
  4764. #define B_IQKINF_FAIL GENMASK(3, 0)
  4765. #define B_IQKINF_F_RX BIT(3)
  4766. #define B_IQKINF_FTX BIT(2)
  4767. #define B_IQKINF_FFIN BIT(1)
  4768. #define B_IQKINF_FCOR BIT(0)
  4769. #define R_IQKCH 0x9FE4
  4770. #define B_IQKCH_CH GENMASK(15, 8)
  4771. #define B_IQKCH_BW GENMASK(7, 4)
  4772. #define B_IQKCH_BAND GENMASK(3, 0)
  4773. #define R_IQKINF2 0x9FE8
  4774. #define B_IQKINF2_FCNT GENMASK(23, 16)
  4775. #define B_IQKINF2_KCNT GENMASK(15, 8)
  4776. #define B_IQKINF2_NCTLV GENMASK(7, 0)
  4777. #define R_DCOF0 0xC000
  4778. #define B_DCOF0_RST BIT(17)
  4779. #define B_DCOF0_V GENMASK(4, 1)
  4780. #define R_DCOF1 0xC004
  4781. #define B_DCOF1_RST BIT(17)
  4782. #define B_DCOF1_S BIT(0)
  4783. #define R_DCOF8 0xC020
  4784. #define B_DCOF8_V GENMASK(4, 1)
  4785. #define R_DCOF9 0xC024
  4786. #define B_DCOF9_RST BIT(17)
  4787. #define R_DACK_S0P0 0xC040
  4788. #define B_DACK_S0P0_OK BIT(31)
  4789. #define R_DACK_BIAS00 0xc048
  4790. #define B_DACK_BIAS00 GENMASK(11, 2)
  4791. #define R_DACK_S0P2 0xC05C
  4792. #define B_DACK_S0M0 GENMASK(31, 24)
  4793. #define B_DACK_S0P2_OK BIT(2)
  4794. #define R_DACK_DADCK00 0xC060
  4795. #define B_DACK_DADCK00 GENMASK(31, 24)
  4796. #define R_DACK_S0P1 0xC064
  4797. #define B_DACK_S0P1_OK BIT(31)
  4798. #define R_DACK_BIAS01 0xC06C
  4799. #define B_DACK_BIAS01 GENMASK(11, 2)
  4800. #define R_DACK_S0P3 0xC080
  4801. #define B_DACK_S0M1 GENMASK(31, 24)
  4802. #define B_DACK_S0P3_OK BIT(2)
  4803. #define R_DACK_DADCK01 0xC084
  4804. #define B_DACK_DADCK01 GENMASK(31, 24)
  4805. #define R_DRCK_FH 0xC094
  4806. #define B_DRCK_LAT BIT(9)
  4807. #define R_DRCK 0xC0C4
  4808. #define B_DRCK_MUL GENMASK(21, 17)
  4809. #define B_DRCK_IDLE BIT(9)
  4810. #define B_DRCK_EN BIT(6)
  4811. #define B_DRCK_VAL GENMASK(4, 0)
  4812. #define R_DRCK_RES 0xC0C8
  4813. #define B_DRCK_RES GENMASK(19, 15)
  4814. #define B_DRCK_POL BIT(3)
  4815. #define R_DRCK_V1 0xC0CC
  4816. #define B_DRCK_V1_SEL BIT(9)
  4817. #define B_DRCK_V1_KICK BIT(6)
  4818. #define B_DRCK_V1_CV GENMASK(4, 0)
  4819. #define R_DRCK_RS 0xC0D0
  4820. #define B_DRCK_RS_LPS GENMASK(19, 15)
  4821. #define B_DRCK_RS_DONE BIT(3)
  4822. #define R_PATH0_SAMPL_DLY_T_V1 0xC0D4
  4823. #define B_PATH0_SAMPL_DLY_T_MSK_V1 GENMASK(27, 26)
  4824. #define R_P0_CFCH_BW0 0xC0D4
  4825. #define B_P0_CFCH_BW0 GENMASK(27, 26)
  4826. #define B_P0_CFCH_EN GENMASK(14, 11)
  4827. #define B_P0_CFCH_CTL GENMASK(10, 7)
  4828. #define R_P0_CFCH_BW1 0xC0D8
  4829. #define B_P0_CFCH_EX BIT(13)
  4830. #define B_P0_CFCH_BW1 GENMASK(8, 5)
  4831. #define R_WDADC 0xC0E4
  4832. #define B_WDADC_SEL GENMASK(5, 4)
  4833. #define R_ADCMOD 0xC0E8
  4834. #define B_ADCMOD_LP GENMASK(31, 16)
  4835. #define R_DCIM 0xC0EC
  4836. #define B_DCIM_FR GENMASK(14, 13)
  4837. #define R_ADDCK0D 0xC0F0
  4838. #define B_ADDCK0D_VAL2 GENMASK(31, 26)
  4839. #define B_ADDCK0D_VAL GENMASK(25, 16)
  4840. #define B_ADDCK_DS BIT(16)
  4841. #define R_ADDCK0 0xC0F4
  4842. #define B_ADDCK0_TRG BIT(11)
  4843. #define B_ADDCK0_IQ BIT(10)
  4844. #define B_ADDCK0 GENMASK(9, 8)
  4845. #define B_ADDCK0_MAN GENMASK(5, 4)
  4846. #define B_ADDCK0_EN BIT(4)
  4847. #define B_ADDCK0_VAL GENMASK(3, 0)
  4848. #define B_ADDCK0_RST BIT(2)
  4849. #define R_ADDCK0_RL 0xC0F8
  4850. #define B_ADDCK0_RLS GENMASK(29, 28)
  4851. #define B_ADDCK0_RL1 GENMASK(27, 18)
  4852. #define B_ADDCK0_RL0 GENMASK(17, 8)
  4853. #define R_ADDCKR0 0xC0FC
  4854. #define B_ADDCKR0_A0 GENMASK(19, 10)
  4855. #define B_ADDCKR0_DC GENMASK(15, 4)
  4856. #define B_ADDCKR0_A1 GENMASK(9, 0)
  4857. #define R_DACK10 0xC100
  4858. #define B_DACK10 GENMASK(4, 1)
  4859. #define R_DACK1_K 0xc104
  4860. #define B_DACK1_EN BIT(0)
  4861. #define R_DACK11 0xC120
  4862. #define B_DACK11 GENMASK(4, 1)
  4863. #define R_DACK_S1P0 0xC140
  4864. #define B_DACK_S1P0_OK BIT(31)
  4865. #define R_DACK_BIAS10 0xC148
  4866. #define B_DACK_BIAS10 GENMASK(11, 2)
  4867. #define R_DACK10S 0xC15C
  4868. #define B_DACK10S GENMASK(31, 24)
  4869. #define R_DACK_S1P2 0xC15C
  4870. #define B_DACK_S1P2_OK BIT(2)
  4871. #define R_DACK_DADCK10 0xC160
  4872. #define B_DACK_DADCK10 GENMASK(31, 24)
  4873. #define R_DACK_S1P1 0xC164
  4874. #define B_DACK_S1P1_OK BIT(31)
  4875. #define R_DACK_BIAS11 0xC16C
  4876. #define B_DACK_BIAS11 GENMASK(11, 2)
  4877. #define R_DACK11S 0xC180
  4878. #define B_DACK11S GENMASK(31, 24)
  4879. #define R_DACK_S1P3 0xC180
  4880. #define B_DACK_S1P3_OK BIT(2)
  4881. #define R_DACK_DADCK11 0xC184
  4882. #define B_DACK_DADCK11 GENMASK(31, 24)
  4883. #define R_PATH1_SAMPL_DLY_T_V1 0xC1D4
  4884. #define B_PATH1_SAMPL_DLY_T_MSK_V1 GENMASK(27, 26)
  4885. #define R_PATH0_BW_SEL_V1 0xC0D8
  4886. #define B_PATH0_BW_SEL_MSK_V1 GENMASK(8, 5)
  4887. #define R_PATH1_BW_SEL_V1 0xC1D8
  4888. #define B_PATH1_BW_SEL_EX BIT(13)
  4889. #define B_PATH1_BW_SEL_MSK_V1 GENMASK(8, 5)
  4890. #define R_ADDCK1D 0xC1F0
  4891. #define B_ADDCK1D_VAL2 GENMASK(31, 26)
  4892. #define B_ADDCK1D_VAL GENMASK(25, 16)
  4893. #define R_ADDCK1 0xC1F4
  4894. #define B_ADDCK1_TRG BIT(11)
  4895. #define B_ADDCK1 GENMASK(9, 8)
  4896. #define B_ADDCK1_MAN GENMASK(5, 4)
  4897. #define B_ADDCK1_EN BIT(4)
  4898. #define B_ADDCK1_RST BIT(2)
  4899. #define R_ADDCK1_RL 0xC1F8
  4900. #define B_ADDCK1_RLS GENMASK(29, 28)
  4901. #define B_ADDCK1_RL1 GENMASK(27, 18)
  4902. #define B_ADDCK1_RL0 GENMASK(17, 8)
  4903. #define R_ADDCKR1 0xC1fC
  4904. #define B_ADDCKR1_A0 GENMASK(19, 10)
  4905. #define B_ADDCKR1_A1 GENMASK(9, 0)
  4906. #define R_DACKN0_CTL 0xC210
  4907. #define B_DACKN0_EN BIT(0)
  4908. #define B_DACKN0_V GENMASK(21, 14)
  4909. #define R_DACKN1_CTL 0xC224
  4910. #define B_DACKN1_V GENMASK(21, 14)
  4911. /* WiFi CPU local domain */
  4912. #define R_AX_WDT_CTRL 0x0040
  4913. #define B_AX_WDT_EN BIT(31)
  4914. #define B_AX_WDT_OPT_RESET_PLATFORM_EN BIT(29)
  4915. #define B_AX_IO_HANG_IMR BIT(27)
  4916. #define B_AX_IO_HANG_CMAC_RDATA_EN BIT(26)
  4917. #define B_AX_IO_HANG_DMAC_EN BIT(25)
  4918. #define B_AX_WDT_CLR BIT(16)
  4919. #define B_AX_WDT_COUNT_MASK GENMASK(15, 0)
  4920. #define WDT_CTRL_ALL_DIS 0
  4921. #define R_AX_WDT_STATUS 0x0044
  4922. #define B_AX_FS_WDT_INT BIT(8)
  4923. #define B_AX_FS_WDT_INT_MSK BIT(0)
  4924. #endif