camera.h 168 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737
  1. /* Copyright (C) 2018 RDA Technologies Limited and/or its affiliates("RDA").
  2. * All rights reserved.
  3. *
  4. * This software is supplied "AS IS" without any warranties.
  5. * RDA assumes no responsibility or liability for the use of the software,
  6. * conveys no license or title under any patent, copyright, or mask work
  7. * right to the product. RDA reserves the right to make changes in the
  8. * software without notification. RDA also make no representation or
  9. * warranty that such application will be suitable for the specified use
  10. * without further testing or modification.
  11. */
  12. #ifndef _CAMERA_H_
  13. #define _CAMERA_H_
  14. // Auto generated by dtools(see dtools.txt for its version).
  15. // Don't edit it manually!
  16. #define FIFORAM_SIZE (80)
  17. #define REG_CAMERA_BASE (0x04404000)
  18. typedef volatile struct
  19. {
  20. uint32_t ctrl; // 0x00000000
  21. uint32_t status; // 0x00000004
  22. uint32_t data; // 0x00000008
  23. uint32_t irq_mask; // 0x0000000c
  24. uint32_t irq_clear; // 0x00000010
  25. uint32_t irq_cause; // 0x00000014
  26. uint32_t cmd_set; // 0x00000018
  27. uint32_t cmd_clr; // 0x0000001c
  28. uint32_t dstwincol; // 0x00000020
  29. uint32_t dstwinrow; // 0x00000024
  30. uint32_t scl_config; // 0x00000028
  31. uint32_t spi_camera_reg0; // 0x0000002c
  32. uint32_t spi_camera_reg1; // 0x00000030
  33. uint32_t spi_camera_reg2; // 0x00000034
  34. uint32_t spi_camera_reg3; // 0x00000038
  35. uint32_t spi_camera_reg4; // 0x0000003c
  36. uint32_t spi_camera_reg5; // 0x00000040
  37. uint32_t spi_camera_reg6; // 0x00000044
  38. uint32_t spi_camera_obs0; // 0x00000048
  39. uint32_t spi_camera_obs1; // 0x0000004c
  40. uint32_t csi_config_reg0; // 0x00000050
  41. uint32_t csi_config_reg1; // 0x00000054
  42. uint32_t csi_config_reg2; // 0x00000058
  43. uint32_t csi_config_reg3; // 0x0000005c
  44. uint32_t csi_config_reg4; // 0x00000060
  45. uint32_t csi_config_reg5; // 0x00000064
  46. uint32_t csi_config_reg6; // 0x00000068
  47. uint32_t csi_config_reg7; // 0x0000006c
  48. uint32_t csi_obs4; // 0x00000070
  49. uint32_t csi_obs5; // 0x00000074
  50. uint32_t csi_obs6; // 0x00000078
  51. uint32_t csi_obs7; // 0x0000007c
  52. uint32_t csi_enable; // 0x00000080
  53. uint32_t csi_config_reg8; // 0x00000084
  54. uint32_t __136[222]; // 0x00000088
  55. struct // 0x00000400
  56. { //
  57. uint32_t ramdata; // 0x00000000
  58. } fiforam[80]; //
  59. uint32_t __1344[176]; // 0x00000540
  60. uint32_t soft_reset; // 0x00000800
  61. uint32_t __2052[17]; // 0x00000804
  62. uint32_t awb_x1_min; // 0x00000848
  63. uint32_t awb_x1_max; // 0x0000084c
  64. uint32_t awb_y1_min; // 0x00000850
  65. uint32_t awb_y1_max; // 0x00000854
  66. uint32_t awb_x2_min; // 0x00000858
  67. uint32_t awb_x2_max; // 0x0000085c
  68. uint32_t awb_y2_min; // 0x00000860
  69. uint32_t awb_y2_max; // 0x00000864
  70. uint32_t awb_x3_min; // 0x00000868
  71. uint32_t awb_x3_max; // 0x0000086c
  72. uint32_t awb_y3_min; // 0x00000870
  73. uint32_t awb_y3_max; // 0x00000874
  74. uint32_t awb_x4_min; // 0x00000878
  75. uint32_t awb_x4_max; // 0x0000087c
  76. uint32_t awb_y4_min; // 0x00000880
  77. uint32_t awb_y4_max; // 0x00000884
  78. uint32_t awb_x5_min; // 0x00000888
  79. uint32_t awb_x5_max; // 0x0000088c
  80. uint32_t awb_y5_min; // 0x00000890
  81. uint32_t awb_y5_max; // 0x00000894
  82. uint32_t awb_skin_x1_min; // 0x00000898
  83. uint32_t awb_skin_x1_max; // 0x0000089c
  84. uint32_t awb_skin_y1_min; // 0x000008a0
  85. uint32_t awb_skin_y1_max; // 0x000008a4
  86. uint32_t awb_skin_x2_min; // 0x000008a8
  87. uint32_t awb_skin_x2_max; // 0x000008ac
  88. uint32_t awb_skin_y2_min; // 0x000008b0
  89. uint32_t awb_skin_y2_max; // 0x000008b4
  90. uint32_t awb_ctd_msb; // 0x000008b8
  91. uint32_t int_dif_thr_mid; // 0x000008bc
  92. uint32_t lb_soft_rstn; // 0x000008c0
  93. uint32_t vsync_end_high; // 0x000008c4
  94. uint32_t vsync_end_low; // 0x000008c8
  95. uint32_t line_numl; // 0x000008cc
  96. uint32_t pix_numl; // 0x000008d0
  97. uint32_t pix_line_numh; // 0x000008d4
  98. uint32_t lb_ctrl; // 0x000008d8
  99. uint32_t data_format; // 0x000008dc
  100. uint32_t lb_enable; // 0x000008e0
  101. uint32_t vh_inv; // 0x000008e4
  102. uint32_t line_cnt_l; // 0x000008e8
  103. uint32_t line_cnt_h; // 0x000008ec
  104. uint32_t num_check; // 0x000008f0
  105. uint32_t dci_ctrl_reg; // 0x000008f4
  106. uint32_t dci_ofst_reg; // 0x000008f8
  107. uint32_t dci_hist_reg; // 0x000008fc
  108. uint32_t ae_sw_ctrl_reg; // 0x00000900
  109. uint32_t ae_thr_reg; // 0x00000904
  110. uint32_t ae_misc_ctrl_reg; // 0x00000908
  111. uint32_t csup_xx_reg; // 0x0000090c
  112. uint32_t contr_ythr_reg; // 0x00000910
  113. uint32_t contr_yave_offset_reg; // 0x00000914
  114. uint32_t contr_ku_lo_reg; // 0x00000918
  115. uint32_t contr_kl_lo_reg; // 0x0000091c
  116. uint32_t contr_ku_mid_reg; // 0x00000920
  117. uint32_t contr_kl_mid_reg; // 0x00000924
  118. uint32_t contr_ku_hi_reg; // 0x00000928
  119. uint32_t contr_kl_hi_reg; // 0x0000092c
  120. uint32_t luma_offset_lo_reg; // 0x00000930
  121. uint32_t luma_offset_mid_reg; // 0x00000934
  122. uint32_t luma_offset_hi_reg; // 0x00000938
  123. uint32_t u_gain_lo_reg; // 0x0000093c
  124. uint32_t v_gain_lo_reg; // 0x00000940
  125. uint32_t u_gain_mid_reg; // 0x00000944
  126. uint32_t v_gain_mid_reg; // 0x00000948
  127. uint32_t u_gain_hi_reg; // 0x0000094c
  128. uint32_t v_gain_hi_reg; // 0x00000950
  129. uint32_t again_sel_th0_reg; // 0x00000954
  130. uint32_t awb_cc_type_ctrl_reg; // 0x00000958
  131. uint32_t awb_cc_type_th_reg; // 0x0000095c
  132. uint32_t isp_wrapper_ctrl_1; // 0x00000960
  133. uint32_t top_dummy; // 0x00000964
  134. uint32_t left_dummy; // 0x00000968
  135. uint32_t isp_wrapper_ctrl_2; // 0x0000096c
  136. uint32_t line_num_l_reg; // 0x00000970
  137. uint32_t pix_num_l_reg; // 0x00000974
  138. uint32_t v_dummy; // 0x00000978
  139. uint32_t scg; // 0x0000097c
  140. uint32_t y_gamma_b0; // 0x00000980
  141. uint32_t y_gamma_b1; // 0x00000984
  142. uint32_t y_gamma_b2; // 0x00000988
  143. uint32_t y_gamma_b4; // 0x0000098c
  144. uint32_t y_gamma_b6; // 0x00000990
  145. uint32_t y_gamma_b8; // 0x00000994
  146. uint32_t y_gamma_b10; // 0x00000998
  147. uint32_t y_gamma_b12; // 0x0000099c
  148. uint32_t y_gamma_b16; // 0x000009a0
  149. uint32_t y_gamma_b20; // 0x000009a4
  150. uint32_t y_gamma_b24; // 0x000009a8
  151. uint32_t y_gamma_b28; // 0x000009ac
  152. uint32_t y_gamma_b32; // 0x000009b0
  153. uint32_t r_awb_gain_in; // 0x000009b4
  154. uint32_t g_awb_gain_in; // 0x000009b8
  155. uint32_t b_awb_gain_in; // 0x000009bc
  156. uint32_t r_drc_gain_in; // 0x000009c0
  157. uint32_t gr_drc_gain_in; // 0x000009c4
  158. uint32_t gb_drc_gain_in; // 0x000009c8
  159. uint32_t b_drc_gain_in; // 0x000009cc
  160. uint32_t ae_ctrl; // 0x000009d0
  161. uint32_t ae_ctrl2; // 0x000009d4
  162. uint32_t ae_ctrl3; // 0x000009d8
  163. uint32_t ae_ctrl4; // 0x000009dc
  164. uint32_t ae_win_start; // 0x000009e0
  165. uint32_t ae_win_width; // 0x000009e4
  166. uint32_t ae_win_height; // 0x000009e8
  167. uint32_t exp_init; // 0x000009ec
  168. uint32_t exp_ceil_init; // 0x000009f0
  169. uint32_t ae_exp_1e; // 0x000009f4
  170. uint32_t ae_diff_thr; // 0x000009f8
  171. uint32_t ae_bh_sel; // 0x000009fc
  172. uint32_t awb_ctrl; // 0x00000a00
  173. uint32_t awb_ctrl2; // 0x00000a04
  174. uint32_t awb_y_max; // 0x00000a08
  175. uint32_t awb_stop; // 0x00000a0c
  176. uint32_t awb_algo; // 0x00000a10
  177. uint32_t awb_ctrl3; // 0x00000a14
  178. uint32_t awb_ctrl4; // 0x00000a18
  179. uint32_t dig_gain_in; // 0x00000a1c
  180. uint32_t y_init_thr; // 0x00000a20
  181. uint32_t y_ave_target; // 0x00000a24
  182. uint32_t y_lmt_offset; // 0x00000a28
  183. uint32_t again_sel_th2; // 0x00000a2c
  184. uint32_t yave_target_chg1; // 0x00000a30
  185. uint32_t image_eff_reg; // 0x00000a34
  186. uint32_t ywave_out; // 0x00000a38
  187. uint32_t ae_bright_hist; // 0x00000a3c
  188. uint32_t yave_out; // 0x00000a40
  189. uint32_t exp_out; // 0x00000a44
  190. uint32_t misc_out; // 0x00000a48
  191. uint32_t awb_debug_out; // 0x00000a4c
  192. uint32_t mono_color; // 0x00000a50
  193. uint32_t r_awb_gain; // 0x00000a54
  194. uint32_t b_awb_gain; // 0x00000a58
  195. uint32_t misc_status; // 0x00000a5c
  196. uint32_t yave_contr; // 0x00000a60
  197. uint32_t gamma_type; // 0x00000a64
  198. uint32_t blc_line; // 0x00000a68
  199. uint32_t lsc_xx; // 0x00000a6c
  200. uint32_t lsc_blc_gain_th; // 0x00000a70
  201. uint32_t blc_ctrl; // 0x00000a74
  202. uint32_t blc_init; // 0x00000a78
  203. uint32_t blc_offset; // 0x00000a7c
  204. uint32_t blc_thr; // 0x00000a80
  205. uint32_t lsc_xy_cent; // 0x00000a84
  206. uint32_t cnr_dif_thr; // 0x00000a88
  207. uint32_t cnr_thr; // 0x00000a8c
  208. uint32_t gamma_ctrl; // 0x00000a90
  209. uint32_t bayer_gamma_b0; // 0x00000a94
  210. uint32_t bayer_gamma_b1; // 0x00000a98
  211. uint32_t bayer_gamma_b2; // 0x00000a9c
  212. uint32_t bayer_gamma_b3; // 0x00000aa0
  213. uint32_t bayer_gamma_b4; // 0x00000aa4
  214. uint32_t bayer_gamma_b6; // 0x00000aa8
  215. uint32_t bayer_gamma_b8; // 0x00000aac
  216. uint32_t bayer_gamma_b10; // 0x00000ab0
  217. uint32_t bayer_gamma_b12; // 0x00000ab4
  218. uint32_t bayer_gamma_b16; // 0x00000ab8
  219. uint32_t bayer_gamma_b20; // 0x00000abc
  220. uint32_t bayer_gamma_b24; // 0x00000ac0
  221. uint32_t bayer_gamma_b28; // 0x00000ac4
  222. uint32_t bayer_gamma_b32; // 0x00000ac8
  223. uint32_t bayer_gamma_b36; // 0x00000acc
  224. uint32_t bayer_gamma_b40; // 0x00000ad0
  225. uint32_t bayer_gamma_b48; // 0x00000ad4
  226. uint32_t bayer_gamma_b56; // 0x00000ad8
  227. uint32_t bayer_gamma_b64; // 0x00000adc
  228. uint32_t blc_out0; // 0x00000ae0
  229. uint32_t blc_out1; // 0x00000ae4
  230. uint32_t dpc_ctrl_0; // 0x00000ae8
  231. uint32_t dpc_ctrl_1; // 0x00000aec
  232. uint32_t y_thr_lo; // 0x00000af0
  233. uint32_t y_thr_mid; // 0x00000af4
  234. uint32_t y_thr_hi; // 0x00000af8
  235. uint32_t intp_cfa_hv; // 0x00000afc
  236. uint32_t manual_adj; // 0x00000b00
  237. uint32_t dpc_int_thr_lo; // 0x00000b04
  238. uint32_t dpc_int_thr_hi; // 0x00000b08
  239. uint32_t again_sel_th1; // 0x00000b0c
  240. uint32_t dpc_nr_lf_str_lo; // 0x00000b10
  241. uint32_t dpc_nr_hf_str_lo; // 0x00000b14
  242. uint32_t dpc_nr_area_thr_lo; // 0x00000b18
  243. uint32_t dpc_nr_lf_str_mid; // 0x00000b1c
  244. uint32_t dpc_nr_hf_str_mid; // 0x00000b20
  245. uint32_t dpc_nr_area_thr_mid; // 0x00000b24
  246. uint32_t dpc_nr_lf_str_hi; // 0x00000b28
  247. uint32_t dpc_nr_hf_str_hi; // 0x00000b2c
  248. uint32_t dpc_nr_area_thr_hi; // 0x00000b30
  249. uint32_t intp_ctrl; // 0x00000b34
  250. uint32_t intp_cfa_h_thr; // 0x00000b38
  251. uint32_t intp_cfa_v_thr; // 0x00000b3c
  252. uint32_t intp_grgb_sel_lmt; // 0x00000b40
  253. uint32_t intp_gf_lmt_thr; // 0x00000b44
  254. uint32_t cc_r_offset; // 0x00000b48
  255. uint32_t cc_g_offset; // 0x00000b4c
  256. uint32_t cc_b_offset; // 0x00000b50
  257. uint32_t cc_00; // 0x00000b54
  258. uint32_t cc_01; // 0x00000b58
  259. uint32_t cc_10; // 0x00000b5c
  260. uint32_t cc_11; // 0x00000b60
  261. uint32_t cc_20; // 0x00000b64
  262. uint32_t cc_21; // 0x00000b68
  263. uint32_t cc_r_offset_post; // 0x00000b6c
  264. uint32_t cc_g_offset_post; // 0x00000b70
  265. uint32_t cc_b_offset_post; // 0x00000b74
  266. uint32_t cc2_r_offset; // 0x00000b78
  267. uint32_t cc2_g_offset; // 0x00000b7c
  268. uint32_t cc2_b_offset; // 0x00000b80
  269. uint32_t cc2_00; // 0x00000b84
  270. uint32_t cc2_01; // 0x00000b88
  271. uint32_t cc2_10; // 0x00000b8c
  272. uint32_t cc2_11; // 0x00000b90
  273. uint32_t cc2_20; // 0x00000b94
  274. uint32_t cc2_21; // 0x00000b98
  275. uint32_t sharp_lmt; // 0x00000b9c
  276. uint32_t sharp_mode; // 0x00000ba0
  277. uint32_t sharp_gain_str_lo; // 0x00000ba4
  278. uint32_t sharp_nr_area_thr_lo; // 0x00000ba8
  279. uint32_t sharp_gain_str_mid; // 0x00000bac
  280. uint32_t sharp_nr_area_thr_mid; // 0x00000bb0
  281. uint32_t sharp_gain_str_hi; // 0x00000bb4
  282. uint32_t sharp_nr_area_thr_hi; // 0x00000bb8
  283. uint32_t ynr_ctrl_reg; // 0x00000bbc
  284. uint32_t ynr_lf_method_str; // 0x00000bc0
  285. uint32_t ynr_lf_str_lo; // 0x00000bc4
  286. uint32_t ynr_hf_str_lo; // 0x00000bc8
  287. uint32_t ynr_area_thr_lo; // 0x00000bcc
  288. uint32_t ynr_lf_str_mid; // 0x00000bd0
  289. uint32_t ynr_hf_str_mid; // 0x00000bd4
  290. uint32_t ynr_area_thr_mid; // 0x00000bd8
  291. uint32_t ynr_lf_str_hi; // 0x00000bdc
  292. uint32_t ynr_hf_str_hi; // 0x00000be0
  293. uint32_t ynr_area_thr_hi; // 0x00000be4
  294. uint32_t hue_sin_reg; // 0x00000be8
  295. uint32_t hue_cos_reg; // 0x00000bec
  296. uint32_t cnr_1d_ctrl_reg; // 0x00000bf0
  297. uint32_t cnr_xx_reg; // 0x00000bf4
  298. uint32_t in5_low_th_reg; // 0x00000bf8
  299. uint32_t in5_high_th_reg; // 0x00000bfc
  300. uint32_t __3072[72]; // 0x00000c00
  301. uint32_t p2_up_r_reg; // 0x00000d20
  302. uint32_t p2_up_g_reg; // 0x00000d24
  303. uint32_t p2_up_b_reg; // 0x00000d28
  304. uint32_t p2_down_r_reg; // 0x00000d2c
  305. uint32_t p2_down_g_reg; // 0x00000d30
  306. uint32_t p2_down_b_reg; // 0x00000d34
  307. uint32_t p2_left_r_reg; // 0x00000d38
  308. uint32_t p2_left_g_reg; // 0x00000d3c
  309. uint32_t p2_left_b_reg; // 0x00000d40
  310. uint32_t p2_right_r_reg; // 0x00000d44
  311. uint32_t p2_right_g_reg; // 0x00000d48
  312. uint32_t p2_right_b_reg; // 0x00000d4c
  313. uint32_t p4_q1_r_reg; // 0x00000d50
  314. uint32_t p4_q1_g_reg; // 0x00000d54
  315. uint32_t p4_q1_b_reg; // 0x00000d58
  316. uint32_t p4_q2_r_reg; // 0x00000d5c
  317. uint32_t p4_q2_g_reg; // 0x00000d60
  318. uint32_t p4_q2_b_reg; // 0x00000d64
  319. uint32_t p4_q3_r_reg; // 0x00000d68
  320. uint32_t p4_q3_g_reg; // 0x00000d6c
  321. uint32_t p4_q3_b_reg; // 0x00000d70
  322. uint32_t p4_q4_r_reg; // 0x00000d74
  323. uint32_t p4_q4_g_reg; // 0x00000d78
  324. uint32_t p4_q4_b_reg; // 0x00000d7c
  325. uint32_t ae_e00_sta_reg; // 0x00000d80
  326. uint32_t ae_e00_num_reg; // 0x00000d84
  327. uint32_t ae_e01_sta_reg; // 0x00000d88
  328. uint32_t ae_e01_num_reg; // 0x00000d8c
  329. uint32_t ae_e02_sta_reg; // 0x00000d90
  330. uint32_t ae_e02_num_reg; // 0x00000d94
  331. uint32_t ae_e1_sta_reg; // 0x00000d98
  332. uint32_t ae_e1_num_reg; // 0x00000d9c
  333. uint32_t ae_e2_sta_reg; // 0x00000da0
  334. uint32_t ae_e2_num_reg; // 0x00000da4
  335. uint32_t ae_e3_sta_reg; // 0x00000da8
  336. uint32_t ae_e3_num_reg; // 0x00000dac
  337. uint32_t ae_e4_sta_reg; // 0x00000db0
  338. uint32_t ae_e4_num_reg; // 0x00000db4
  339. uint32_t ae_e5_sta_reg; // 0x00000db8
  340. uint32_t ae_e5_num_reg; // 0x00000dbc
  341. uint32_t ae_e6_sta_reg; // 0x00000dc0
  342. uint32_t ae_e6_num_reg; // 0x00000dc4
  343. uint32_t ae_e7_sta_reg; // 0x00000dc8
  344. uint32_t ae_e7_num_reg; // 0x00000dcc
  345. uint32_t ae_e8_sta_reg; // 0x00000dd0
  346. uint32_t ae_e8_num_reg; // 0x00000dd4
  347. uint32_t ae_e9_sta_reg; // 0x00000dd8
  348. uint32_t ae_e9_num_reg; // 0x00000ddc
  349. uint32_t ae_ea_sta_reg; // 0x00000de0
  350. uint32_t ae_ea_num_reg; // 0x00000de4
  351. uint32_t ae_eb_sta_reg; // 0x00000de8
  352. uint32_t ae_eb_num_reg; // 0x00000dec
  353. uint32_t ae_ec_sta_reg; // 0x00000df0
  354. uint32_t ae_ec_num_reg; // 0x00000df4
  355. uint32_t ae_ed_sta_reg; // 0x00000df8
  356. uint32_t ae_ed_num_reg; // 0x00000dfc
  357. uint32_t bayer_gamma2_b0; // 0x00000e00
  358. uint32_t bayer_gamma2_b1; // 0x00000e04
  359. uint32_t bayer_gamma2_b2; // 0x00000e08
  360. uint32_t bayer_gamma2_b3; // 0x00000e0c
  361. uint32_t bayer_gamma2_b4; // 0x00000e10
  362. uint32_t bayer_gamma2_b6; // 0x00000e14
  363. uint32_t bayer_gamma2_b8; // 0x00000e18
  364. uint32_t bayer_gamma2_b10; // 0x00000e1c
  365. uint32_t bayer_gamma2_b12; // 0x00000e20
  366. uint32_t bayer_gamma2_b16; // 0x00000e24
  367. uint32_t bayer_gamma2_b20; // 0x00000e28
  368. uint32_t bayer_gamma2_b24; // 0x00000e2c
  369. uint32_t bayer_gamma2_b28; // 0x00000e30
  370. uint32_t bayer_gamma2_b32; // 0x00000e34
  371. uint32_t bayer_gamma2_b36; // 0x00000e38
  372. uint32_t bayer_gamma2_b40; // 0x00000e3c
  373. uint32_t bayer_gamma2_b48; // 0x00000e40
  374. uint32_t bayer_gamma2_b56; // 0x00000e44
  375. uint32_t bayer_gamma2_b64; // 0x00000e48
  376. uint32_t y_thr7_lo_reg; // 0x00000e4c
  377. uint32_t y_thr7_mid_reg; // 0x00000e50
  378. uint32_t y_thr7_hi_reg; // 0x00000e54
  379. uint32_t dpa_new_ctrl_reg; // 0x00000e58
  380. uint32_t dpa_new_ctrl_hi_reg; // 0x00000e5c
  381. uint32_t ae_index_gap; // 0x00000e60
  382. uint32_t awb_calc_height_reg; // 0x00000e64
  383. uint32_t drc_r_clp_value_reg; // 0x00000e68
  384. uint32_t drc_gr_clp_value_reg; // 0x00000e6c
  385. uint32_t drc_gb_clp_value_reg; // 0x00000e70
  386. uint32_t drc_b_clp_value_reg; // 0x00000e74
  387. uint32_t sepia_cr_reg; // 0x00000e78
  388. uint32_t sepia_cb_reg; // 0x00000e7c
  389. uint32_t csup_y_min_hi_reg; // 0x00000e80
  390. uint32_t csup_gain_hi_reg; // 0x00000e84
  391. uint32_t csup_y_max_low_reg; // 0x00000e88
  392. uint32_t csup_gain_low_reg; // 0x00000e8c
  393. uint32_t ae_dk_hist_thr_reg; // 0x00000e90
  394. uint32_t ae_br_hist_thr_reg; // 0x00000e94
  395. uint32_t hist_bp_level_reg; // 0x00000e98
  396. uint32_t outdoor_th_reg; // 0x00000e9c
  397. uint32_t awb_rgain_low_reg; // 0x00000ea0
  398. uint32_t awb_rgain_high_reg; // 0x00000ea4
  399. uint32_t awb_bgain_low_reg; // 0x00000ea8
  400. uint32_t awb_bgain_high_reg; // 0x00000eac
  401. uint32_t awb_calc_start_reg; // 0x00000eb0
  402. uint32_t awb_calc_width_reg; // 0x00000eb4
  403. uint32_t hist_dp_level_reg; // 0x00000eb8
  404. uint32_t awb_y_fmin; // 0x00000ebc
  405. uint32_t awb_y_fmax; // 0x00000ec0
  406. uint32_t awb_cb_fmin; // 0x00000ec4
  407. uint32_t awb_cb_fmax; // 0x00000ec8
  408. uint32_t awb_cr_fmin; // 0x00000ecc
  409. uint32_t awb_cr_fmax; // 0x00000ed0
  410. uint32_t awb_y_fmin2; // 0x00000ed4
  411. uint32_t awb_y_fmax2; // 0x00000ed8
  412. uint32_t awb_cb_fmin2; // 0x00000edc
  413. uint32_t awb_cb_fmax2; // 0x00000ee0
  414. uint32_t awb_cr_fmin2; // 0x00000ee4
  415. uint32_t awb_cr_fmax2; // 0x00000ee8
  416. uint32_t ae_use_mean; // 0x00000eec
  417. uint32_t ae_weight_sta; // 0x00000ef0
  418. uint32_t ae_qwidth; // 0x00000ef4
  419. uint32_t ae_qheight; // 0x00000ef8
  420. uint32_t ae_win_sta; // 0x00000efc
  421. uint32_t ae_width; // 0x00000f00
  422. uint32_t ae_height; // 0x00000f04
  423. uint32_t sw_update; // 0x00000f08
  424. uint32_t awb_ctrl5; // 0x00000f0c
  425. uint32_t awb_ctrl6; // 0x00000f10
  426. uint32_t sca_reg; // 0x00000f14
  427. uint32_t ae_ee_sta_reg; // 0x00000f18
  428. uint32_t ae_ee_num_reg; // 0x00000f1c
  429. uint32_t ae_ef_sta_reg; // 0x00000f20
  430. uint32_t ae_ef_num_reg; // 0x00000f24
  431. uint32_t ae_thr_big_reg; // 0x00000f28
  432. uint32_t sharp_gain_minus_low; // 0x00000f2c
  433. uint32_t sharp_gain_minus_mid; // 0x00000f30
  434. uint32_t sharp_gain_minus_hi; // 0x00000f34
  435. uint32_t sharp_mode_mid_hi; // 0x00000f38
  436. uint32_t fw_version_reg; // 0x00000f3c
  437. uint32_t awb_y_min_reg; // 0x00000f40
  438. uint32_t y_red_coef_reg; // 0x00000f44
  439. uint32_t y_blue_coef_reg; // 0x00000f48
  440. uint32_t cb_red_coef_reg; // 0x00000f4c
  441. uint32_t cr_blue_coef_reg; // 0x00000f50
  442. uint32_t hist_vbp_level_reg; // 0x00000f54
  443. uint32_t hist_vdp_level_reg; // 0x00000f58
  444. uint32_t __3932[40]; // 0x00000f5c
  445. } HWP_CAMERA_T;
  446. #define hwp_camera ((HWP_CAMERA_T *)REG_ACCESS_ADDRESS(REG_CAMERA_BASE))
  447. // ctrl
  448. typedef union {
  449. uint32_t v;
  450. struct
  451. {
  452. uint32_t enable : 1; // [0]
  453. uint32_t dctenable : 1; // [1]
  454. uint32_t buf_enable : 1; // [2]
  455. uint32_t rgb_rfirst : 1; // [3]
  456. uint32_t dataformat : 2; // [5:4]
  457. uint32_t cfg_cam_c2cse : 2; // [7:6]
  458. uint32_t reset_pol : 1; // [8]
  459. uint32_t pwdn_pol : 1; // [9]
  460. uint32_t vsync_pol : 1; // [10]
  461. uint32_t href_pol : 1; // [11]
  462. uint32_t pixclk_pol : 1; // [12]
  463. uint32_t __13_13 : 1; // [13]
  464. uint32_t vsync_drop : 1; // [14]
  465. uint32_t __15_15 : 1; // [15]
  466. uint32_t decimfrm : 2; // [17:16]
  467. uint32_t decimcol : 2; // [19:18]
  468. uint32_t decimrow : 2; // [21:20]
  469. uint32_t __23_22 : 2; // [23:22]
  470. uint32_t reorder : 3; // [26:24]
  471. uint32_t __27_27 : 1; // [27]
  472. uint32_t cropen : 1; // [28]
  473. uint32_t __29_29 : 1; // [29]
  474. uint32_t bist_mode : 1; // [30]
  475. uint32_t test : 1; // [31]
  476. } b;
  477. } REG_CAMERA_CTRL_T;
  478. // status
  479. typedef union {
  480. uint32_t v;
  481. struct
  482. {
  483. uint32_t ovfl : 1; // [0], read only
  484. uint32_t vsync_r : 1; // [1], read only
  485. uint32_t vsync_f : 1; // [2], read only
  486. uint32_t dma_done : 1; // [3], read only
  487. uint32_t fifo_empty : 1; // [4], read only
  488. uint32_t spi_ovfl : 1; // [5], read only
  489. uint32_t __31_6 : 26; // [31:6]
  490. } b;
  491. } REG_CAMERA_STATUS_T;
  492. // irq_mask
  493. typedef union {
  494. uint32_t v;
  495. struct
  496. {
  497. uint32_t ovfl : 1; // [0]
  498. uint32_t vsync_r : 1; // [1]
  499. uint32_t vsync_f : 1; // [2]
  500. uint32_t dma_done : 1; // [3]
  501. uint32_t __31_4 : 28; // [31:4]
  502. } b;
  503. } REG_CAMERA_IRQ_MASK_T;
  504. // irq_clear
  505. typedef union {
  506. uint32_t v;
  507. struct
  508. {
  509. uint32_t ovfl : 1; // [0]
  510. uint32_t vsync_r : 1; // [1]
  511. uint32_t vsync_f : 1; // [2]
  512. uint32_t dma_done : 1; // [3]
  513. uint32_t __31_4 : 28; // [31:4]
  514. } b;
  515. } REG_CAMERA_IRQ_CLEAR_T;
  516. // irq_cause
  517. typedef union {
  518. uint32_t v;
  519. struct
  520. {
  521. uint32_t ovfl : 1; // [0], read only
  522. uint32_t vsync_r : 1; // [1], read only
  523. uint32_t vsync_f : 1; // [2], read only
  524. uint32_t dma_done : 1; // [3], read only
  525. uint32_t __31_4 : 28; // [31:4]
  526. } b;
  527. } REG_CAMERA_IRQ_CAUSE_T;
  528. // cmd_set
  529. typedef union {
  530. uint32_t v;
  531. struct
  532. {
  533. uint32_t pwdn : 1; // [0], write set
  534. uint32_t __3_1 : 3; // [3:1]
  535. uint32_t reset : 1; // [4], write set
  536. uint32_t __7_5 : 3; // [7:5]
  537. uint32_t fifo_reset : 1; // [8], write set
  538. uint32_t __31_9 : 23; // [31:9]
  539. } b;
  540. } REG_CAMERA_CMD_SET_T;
  541. // cmd_clr
  542. typedef union {
  543. uint32_t v;
  544. struct
  545. {
  546. uint32_t pwdn : 1; // [0], write clear
  547. uint32_t __3_1 : 3; // [3:1]
  548. uint32_t reset : 1; // [4], write clear
  549. uint32_t __31_5 : 27; // [31:5]
  550. } b;
  551. } REG_CAMERA_CMD_CLR_T;
  552. // dstwincol
  553. typedef union {
  554. uint32_t v;
  555. struct
  556. {
  557. uint32_t dstwincolstart : 12; // [11:0]
  558. uint32_t __15_12 : 4; // [15:12]
  559. uint32_t dstwincolend : 12; // [27:16]
  560. uint32_t __31_28 : 4; // [31:28]
  561. } b;
  562. } REG_CAMERA_DSTWINCOL_T;
  563. // dstwinrow
  564. typedef union {
  565. uint32_t v;
  566. struct
  567. {
  568. uint32_t dstwinrowstart : 12; // [11:0]
  569. uint32_t __15_12 : 4; // [15:12]
  570. uint32_t dstwinrowend : 12; // [27:16]
  571. uint32_t __31_28 : 4; // [31:28]
  572. } b;
  573. } REG_CAMERA_DSTWINROW_T;
  574. // scl_config
  575. typedef union {
  576. uint32_t v;
  577. struct
  578. {
  579. uint32_t scale_en : 1; // [0]
  580. uint32_t __3_1 : 3; // [3:1]
  581. uint32_t data_out_swap : 1; // [4]
  582. uint32_t __7_5 : 3; // [7:5]
  583. uint32_t scale_col : 2; // [9:8]
  584. uint32_t __15_10 : 6; // [15:10]
  585. uint32_t scale_row : 2; // [17:16]
  586. uint32_t __31_18 : 14; // [31:18]
  587. } b;
  588. } REG_CAMERA_SCL_CONFIG_T;
  589. // spi_camera_reg0
  590. typedef union {
  591. uint32_t v;
  592. struct
  593. {
  594. uint32_t camera_spi_slave_en : 1; // [0]
  595. uint32_t camera_spi_master_en : 1; // [1]
  596. uint32_t yuv_out_format : 3; // [4:2]
  597. uint32_t overflow_rstn_only_vsync_low : 1; // [5]
  598. uint32_t overflow_observe_only_vsync_low : 1; // [6]
  599. uint32_t overflow_rstn_en : 1; // [7]
  600. uint32_t big_end_dis : 1; // [8]
  601. uint32_t overflow_inv : 1; // [9]
  602. uint32_t href_inv : 1; // [10]
  603. uint32_t vsync_inv : 1; // [11]
  604. uint32_t block_num_per_line : 10; // [21:12]
  605. uint32_t line_num_per_frame : 10; // [31:22]
  606. } b;
  607. } REG_CAMERA_SPI_CAMERA_REG0_T;
  608. // spi_camera_reg1
  609. typedef union {
  610. uint32_t v;
  611. struct
  612. {
  613. uint32_t camera_clk_div_num : 16; // [15:0]
  614. uint32_t cts_spi_master_reg : 1; // [16]
  615. uint32_t ssn_cm_inv : 1; // [17]
  616. uint32_t sck_cm_inv : 1; // [18]
  617. uint32_t ssn_spi_oenb_dr : 1; // [19]
  618. uint32_t ssn_spi_oenb_reg : 1; // [20]
  619. uint32_t sck_spi_oenb_dr : 1; // [21]
  620. uint32_t sck_spi_oenb_reg : 1; // [22]
  621. uint32_t __28_23 : 6; // [28:23]
  622. uint32_t sdo_spi_swap : 1; // [29]
  623. uint32_t clk_inv : 1; // [30]
  624. uint32_t sck_ddr_en : 1; // [31]
  625. } b;
  626. } REG_CAMERA_SPI_CAMERA_REG1_T;
  627. // spi_camera_reg2
  628. typedef union {
  629. uint32_t v;
  630. struct
  631. {
  632. uint32_t ssn_wait_length : 8; // [7:0]
  633. uint32_t init_wait_length : 8; // [15:8]
  634. uint32_t word_num_per_block : 8; // [23:16]
  635. uint32_t ssn_cs_delay : 2; // [25:24]
  636. uint32_t data_receive_choose_bit : 2; // [27:26]
  637. uint32_t ready_cs_inv : 1; // [28]
  638. uint32_t ssn_cs_inv : 1; // [29]
  639. uint32_t __30_30 : 1; // [30]
  640. uint32_t eco_bypass_isp : 1; // [31]
  641. } b;
  642. } REG_CAMERA_SPI_CAMERA_REG2_T;
  643. // spi_camera_reg3
  644. typedef union {
  645. uint32_t v;
  646. struct
  647. {
  648. uint32_t line_wait_length : 16; // [15:0]
  649. uint32_t block_wait_length : 8; // [23:16]
  650. uint32_t ssn_high_length : 8; // [31:24]
  651. } b;
  652. } REG_CAMERA_SPI_CAMERA_REG3_T;
  653. // spi_camera_reg4
  654. typedef union {
  655. uint32_t v;
  656. struct
  657. {
  658. uint32_t camera_spi_master_en_2 : 1; // [0]
  659. uint32_t sdo_line_choose_bit : 2; // [2:1]
  660. uint32_t data_size_choose_bit : 1; // [3]
  661. uint32_t image_height_choose_bit : 1; // [4]
  662. uint32_t image_width_choose_bit : 1; // [5]
  663. uint32_t block_num_per_packet : 10; // [15:6]
  664. uint32_t spi_data0_phase_sel : 2; // [17:16]
  665. uint32_t spi_data1_phase_sel : 2; // [19:18]
  666. uint32_t __31_20 : 12; // [31:20]
  667. } b;
  668. } REG_CAMERA_SPI_CAMERA_REG4_T;
  669. // spi_camera_reg5
  670. typedef union {
  671. uint32_t v;
  672. struct
  673. {
  674. uint32_t sync_code : 24; // [23:0]
  675. uint32_t __31_24 : 8; // [31:24]
  676. } b;
  677. } REG_CAMERA_SPI_CAMERA_REG5_T;
  678. // spi_camera_reg6
  679. typedef union {
  680. uint32_t v;
  681. struct
  682. {
  683. uint32_t packet_id_data_start : 8; // [7:0]
  684. uint32_t packet_id_line_start : 8; // [15:8]
  685. uint32_t packet_id_frame_end : 8; // [23:16]
  686. uint32_t packet_id_frame_start : 8; // [31:24]
  687. } b;
  688. } REG_CAMERA_SPI_CAMERA_REG6_T;
  689. // spi_camera_obs0
  690. typedef union {
  691. uint32_t v;
  692. struct
  693. {
  694. uint32_t line_id_15_0_ : 16; // [15:0], read only
  695. uint32_t data_id_7_0_ : 8; // [23:16], read only
  696. uint32_t observe_data_size_wrong : 1; // [24], read only
  697. uint32_t observe_image_height_wrong : 1; // [25], read only
  698. uint32_t observe_image_width_wrong : 1; // [26], read only
  699. uint32_t observe_line_num_wrong : 1; // [27], read only
  700. uint32_t observe_data_id_wrong : 1; // [28], read only
  701. uint32_t __31_29 : 3; // [31:29]
  702. } b;
  703. } REG_CAMERA_SPI_CAMERA_OBS0_T;
  704. // spi_camera_obs1
  705. typedef union {
  706. uint32_t v;
  707. struct
  708. {
  709. uint32_t image_height : 16; // [15:0], read only
  710. uint32_t image_width : 16; // [31:16], read only
  711. } b;
  712. } REG_CAMERA_SPI_CAMERA_OBS1_T;
  713. // csi_config_reg0
  714. typedef union {
  715. uint32_t v;
  716. struct
  717. {
  718. uint32_t num_d_term_en : 8; // [7:0]
  719. uint32_t cur_frame_line_num : 13; // [20:8]
  720. uint32_t data_lp_in_choose_bit : 2; // [22:21]
  721. uint32_t clk_lp_inv : 1; // [23]
  722. uint32_t trail_data_wrong_choose_bit : 1; // [24]
  723. uint32_t sync_bypass : 1; // [25]
  724. uint32_t rdata_bit_inv_en : 1; // [26]
  725. uint32_t hs_sync_find_en : 1; // [27]
  726. uint32_t line_packet_enable : 1; // [28]
  727. uint32_t ecc_bypass : 1; // [29]
  728. uint32_t data_lane_choose_bit : 1; // [30]
  729. uint32_t csi_module_enable : 1; // [31]
  730. } b;
  731. } REG_CAMERA_CSI_CONFIG_REG0_T;
  732. // csi_config_reg1
  733. typedef union {
  734. uint32_t v;
  735. struct
  736. {
  737. uint32_t num_hs_settle : 8; // [7:0]
  738. uint32_t lp_data_length_choose_bit : 3; // [10:8]
  739. uint32_t data_clk_lp_posedge_choose : 3; // [13:11]
  740. uint32_t clk_lp_ck_inv : 1; // [14]
  741. uint32_t rclr_mask_en : 1; // [15]
  742. uint32_t rinc_mask_en : 1; // [16]
  743. uint32_t hs_enable_mask_en : 1; // [17]
  744. uint32_t den_csi_inv_bit : 1; // [18]
  745. uint32_t hsync_csi_inv_bit : 1; // [19]
  746. uint32_t vsync_csi_inv_bit : 1; // [20]
  747. uint32_t hs_data2_enable_reg : 1; // [21]
  748. uint32_t hs_data1_enable_reg : 1; // [22]
  749. uint32_t hs_data1_enable_choose_bit : 1; // [23]
  750. uint32_t hs_data1_enable_dr : 1; // [24]
  751. uint32_t data2_terminal_enable_reg : 1; // [25]
  752. uint32_t data1_terminal_enable_reg : 1; // [26]
  753. uint32_t data1_terminal_enable_dr : 1; // [27]
  754. uint32_t lp_data_interrupt_clr : 1; // [28]
  755. uint32_t lp_cmd_interrupt_clr : 1; // [29]
  756. uint32_t lp_data_clr : 1; // [30]
  757. uint32_t lp_cmd_clr : 1; // [31]
  758. } b;
  759. } REG_CAMERA_CSI_CONFIG_REG1_T;
  760. // csi_config_reg2
  761. typedef union {
  762. uint32_t v;
  763. struct
  764. {
  765. uint32_t num_hs_settle_clk : 16; // [15:0]
  766. uint32_t num_c_term_en : 16; // [31:16]
  767. } b;
  768. } REG_CAMERA_CSI_CONFIG_REG2_T;
  769. // csi_config_reg3
  770. typedef union {
  771. uint32_t v;
  772. struct
  773. {
  774. uint32_t __5_0 : 6; // [5:0]
  775. uint32_t clk_lp_in_choose_bit : 2; // [7:6]
  776. uint32_t pu_lprx_reg : 1; // [8]
  777. uint32_t pu_hsrx_reg : 1; // [9]
  778. uint32_t pu_dr : 1; // [10]
  779. uint32_t data_pnsw_reg : 1; // [11]
  780. uint32_t hs_clk_enable_reg : 1; // [12]
  781. uint32_t hs_clk_enable_choose_bit : 1; // [13]
  782. uint32_t hs_clk_enable_dr : 1; // [14]
  783. uint32_t clk_terminal_enable_reg : 1; // [15]
  784. uint32_t clk_terminal_enable_dr : 1; // [16]
  785. uint32_t observe_reg_5_low8_choose : 1; // [17]
  786. uint32_t ecc_error_flag_reg : 1; // [18]
  787. uint32_t ecc_error_dr : 1; // [19]
  788. uint32_t csi_channel_sel : 1; // [20]
  789. uint32_t two_lane_bit_reverse : 1; // [21]
  790. uint32_t data2_lane_bit_reverse : 1; // [22]
  791. uint32_t data1_lane_bit_reverse : 1; // [23]
  792. uint32_t data2_hs_no_mask : 1; // [24]
  793. uint32_t data1_hs_no_mask : 1; // [25]
  794. uint32_t pu_lprx_d2_reg : 1; // [26]
  795. uint32_t pu_lprx_d1_reg : 1; // [27]
  796. uint32_t __28_28 : 1; // [28]
  797. uint32_t clk_edge_sel : 1; // [29]
  798. uint32_t clk_x2_sel : 1; // [30]
  799. uint32_t single_data_lane_en : 1; // [31]
  800. } b;
  801. } REG_CAMERA_CSI_CONFIG_REG3_T;
  802. // csi_config_reg4
  803. typedef union {
  804. uint32_t v;
  805. struct
  806. {
  807. uint32_t num_hs_clk_useful : 31; // [30:0]
  808. uint32_t num_hs_clk_useful_en : 1; // [31]
  809. } b;
  810. } REG_CAMERA_CSI_CONFIG_REG4_T;
  811. // csi_config_reg5
  812. typedef union {
  813. uint32_t v;
  814. struct
  815. {
  816. uint32_t vc_id_set : 2; // [1:0]
  817. uint32_t data_lp_inv : 1; // [2]
  818. uint32_t fifo_rclr_8809p_reg : 1; // [3]
  819. uint32_t fifo_wclr_8809p_reg : 1; // [4]
  820. uint32_t hs_sync_16bit_8809p_mode : 1; // [5]
  821. uint32_t d_term_small_8809p_en : 1; // [6]
  822. uint32_t data_line_inv_8809p_en : 1; // [7]
  823. uint32_t hs_enable_8809p_mode : 1; // [8]
  824. uint32_t sp_to_trail_8809p_en : 1; // [9]
  825. uint32_t trail_wrong_8809p_bypass : 1; // [10]
  826. uint32_t rinc_trail_8809p_bypass : 1; // [11]
  827. uint32_t hs_data_enable_8809p_mode : 1; // [12]
  828. uint32_t hs_clk_enable_8809p_mode : 1; // [13]
  829. uint32_t data_type_re_check_en : 1; // [14]
  830. uint32_t sync_id_reg : 8; // [22:15]
  831. uint32_t sync_id_dr : 1; // [23]
  832. uint32_t csi_observe_choose_bit : 5; // [28:24]
  833. uint32_t crc_error_flag_reg : 1; // [29]
  834. uint32_t crc_error_flag_dr : 1; // [30]
  835. uint32_t csi_rinc_new_mode_dis : 1; // [31]
  836. } b;
  837. } REG_CAMERA_CSI_CONFIG_REG5_T;
  838. // csi_config_reg6
  839. typedef union {
  840. uint32_t v;
  841. struct
  842. {
  843. uint32_t data_type_dp_reg : 6; // [5:0]
  844. uint32_t data_type_le_reg : 6; // [11:6]
  845. uint32_t data_type_ls_reg : 6; // [17:12]
  846. uint32_t data_type_fe_reg : 6; // [23:18]
  847. uint32_t data_type_fs_reg : 6; // [29:24]
  848. uint32_t data_type_dp_dr : 1; // [30]
  849. uint32_t data_type_dr : 1; // [31]
  850. } b;
  851. } REG_CAMERA_CSI_CONFIG_REG6_T;
  852. // csi_config_reg7
  853. typedef union {
  854. uint32_t v;
  855. struct
  856. {
  857. uint32_t __1_0 : 2; // [1:0]
  858. uint32_t data_lane_16bits_mode : 1; // [2]
  859. uint32_t terminal_2_hs_exchage_8809p : 1; // [3]
  860. uint32_t terminal_1_hs_exchage_8809p : 1; // [4]
  861. uint32_t data2_terminal_enable_8809p_dr : 1; // [5]
  862. uint32_t hs_data2_enable_8809p_dr : 1; // [6]
  863. uint32_t csi_dout_test_8809p_en : 1; // [7]
  864. uint32_t csi_dout_test_8809p : 8; // [15:8]
  865. uint32_t num_d_term_en : 8; // [23:16]
  866. uint32_t num_hs_settle : 8; // [31:24]
  867. } b;
  868. } REG_CAMERA_CSI_CONFIG_REG7_T;
  869. // csi_obs4
  870. typedef union {
  871. uint32_t v;
  872. struct
  873. {
  874. uint32_t hs_data_state : 14; // [13:0]
  875. uint32_t phy_data_state : 15; // [28:14]
  876. uint32_t fifo_wfull_almost : 1; // [29]
  877. uint32_t fifo_wfull : 1; // [30]
  878. uint32_t fifo_wempty : 1; // [31]
  879. } b;
  880. } REG_CAMERA_CSI_OBS4_T;
  881. // csi_obs5
  882. typedef union {
  883. uint32_t v;
  884. struct
  885. {
  886. uint32_t csi_observe_reg_5_low : 8; // [7:0], read only
  887. uint32_t lp_data_interrupt_flag : 1; // [8], read only
  888. uint32_t lp_cmd_interrupt_flag : 1; // [9], read only
  889. uint32_t phy_clk_state : 9; // [18:10], read only
  890. uint32_t fifo_rcount : 9; // [27:19], read only
  891. uint32_t crc_error : 1; // [28], read only
  892. uint32_t err_ecc_corrected_flag : 1; // [29], read only
  893. uint32_t err_data_corrected_flag : 1; // [30], read only
  894. uint32_t err_data_zero_flag : 1; // [31], read only
  895. } b;
  896. } REG_CAMERA_CSI_OBS5_T;
  897. // csi_enable
  898. typedef union {
  899. uint32_t v;
  900. struct
  901. {
  902. uint32_t csi_enable : 1; // [0]
  903. uint32_t __31_1 : 31; // [31:1]
  904. } b;
  905. } REG_CAMERA_CSI_ENABLE_T;
  906. // csi_config_reg8
  907. typedef union {
  908. uint32_t v;
  909. struct
  910. {
  911. uint32_t dly_sel_clkn_reg : 4; // [3:0]
  912. uint32_t dly_sel_clkp_reg : 4; // [7:4]
  913. uint32_t dly_sel_data2_reg : 4; // [11:8]
  914. uint32_t dly_sel_data1_reg : 4; // [15:12]
  915. uint32_t vth_sel : 1; // [16]
  916. uint32_t __31_17 : 15; // [31:17]
  917. } b;
  918. } REG_CAMERA_CSI_CONFIG_REG8_T;
  919. // soft_reset
  920. typedef union {
  921. uint32_t v;
  922. struct
  923. {
  924. uint32_t dsp_reset : 1; // [0]
  925. uint32_t __31_1 : 31; // [31:1]
  926. } b;
  927. } REG_CAMERA_SOFT_RESET_T;
  928. // awb_x1_min
  929. typedef union {
  930. uint32_t v;
  931. struct
  932. {
  933. uint32_t awb_x1_min : 8; // [7:0]
  934. uint32_t __31_8 : 24; // [31:8]
  935. } b;
  936. } REG_CAMERA_AWB_X1_MIN_T;
  937. // awb_x1_max
  938. typedef union {
  939. uint32_t v;
  940. struct
  941. {
  942. uint32_t awb_x1_max : 8; // [7:0]
  943. uint32_t __31_8 : 24; // [31:8]
  944. } b;
  945. } REG_CAMERA_AWB_X1_MAX_T;
  946. // awb_y1_min
  947. typedef union {
  948. uint32_t v;
  949. struct
  950. {
  951. uint32_t awb_y1_min : 8; // [7:0]
  952. uint32_t __31_8 : 24; // [31:8]
  953. } b;
  954. } REG_CAMERA_AWB_Y1_MIN_T;
  955. // awb_y1_max
  956. typedef union {
  957. uint32_t v;
  958. struct
  959. {
  960. uint32_t awb_y1_max : 8; // [7:0]
  961. uint32_t __31_8 : 24; // [31:8]
  962. } b;
  963. } REG_CAMERA_AWB_Y1_MAX_T;
  964. // awb_x2_min
  965. typedef union {
  966. uint32_t v;
  967. struct
  968. {
  969. uint32_t awb_x2_min : 8; // [7:0]
  970. uint32_t __31_8 : 24; // [31:8]
  971. } b;
  972. } REG_CAMERA_AWB_X2_MIN_T;
  973. // awb_x2_max
  974. typedef union {
  975. uint32_t v;
  976. struct
  977. {
  978. uint32_t awb_x2_max : 8; // [7:0]
  979. uint32_t __31_8 : 24; // [31:8]
  980. } b;
  981. } REG_CAMERA_AWB_X2_MAX_T;
  982. // awb_y2_min
  983. typedef union {
  984. uint32_t v;
  985. struct
  986. {
  987. uint32_t awb_y2_min : 8; // [7:0]
  988. uint32_t __31_8 : 24; // [31:8]
  989. } b;
  990. } REG_CAMERA_AWB_Y2_MIN_T;
  991. // awb_y2_max
  992. typedef union {
  993. uint32_t v;
  994. struct
  995. {
  996. uint32_t awb_y2_max : 8; // [7:0]
  997. uint32_t __31_8 : 24; // [31:8]
  998. } b;
  999. } REG_CAMERA_AWB_Y2_MAX_T;
  1000. // awb_x3_min
  1001. typedef union {
  1002. uint32_t v;
  1003. struct
  1004. {
  1005. uint32_t awb_x3_min : 8; // [7:0]
  1006. uint32_t __31_8 : 24; // [31:8]
  1007. } b;
  1008. } REG_CAMERA_AWB_X3_MIN_T;
  1009. // awb_x3_max
  1010. typedef union {
  1011. uint32_t v;
  1012. struct
  1013. {
  1014. uint32_t awb_x3_max : 8; // [7:0]
  1015. uint32_t __31_8 : 24; // [31:8]
  1016. } b;
  1017. } REG_CAMERA_AWB_X3_MAX_T;
  1018. // awb_y3_min
  1019. typedef union {
  1020. uint32_t v;
  1021. struct
  1022. {
  1023. uint32_t awb_y3_min : 8; // [7:0]
  1024. uint32_t __31_8 : 24; // [31:8]
  1025. } b;
  1026. } REG_CAMERA_AWB_Y3_MIN_T;
  1027. // awb_y3_max
  1028. typedef union {
  1029. uint32_t v;
  1030. struct
  1031. {
  1032. uint32_t awb_y3_max : 8; // [7:0]
  1033. uint32_t __31_8 : 24; // [31:8]
  1034. } b;
  1035. } REG_CAMERA_AWB_Y3_MAX_T;
  1036. // awb_x4_min
  1037. typedef union {
  1038. uint32_t v;
  1039. struct
  1040. {
  1041. uint32_t awb_x4_min : 8; // [7:0]
  1042. uint32_t __31_8 : 24; // [31:8]
  1043. } b;
  1044. } REG_CAMERA_AWB_X4_MIN_T;
  1045. // awb_x4_max
  1046. typedef union {
  1047. uint32_t v;
  1048. struct
  1049. {
  1050. uint32_t awb_x4_max : 8; // [7:0]
  1051. uint32_t __31_8 : 24; // [31:8]
  1052. } b;
  1053. } REG_CAMERA_AWB_X4_MAX_T;
  1054. // awb_y4_min
  1055. typedef union {
  1056. uint32_t v;
  1057. struct
  1058. {
  1059. uint32_t awb_y4_min : 8; // [7:0]
  1060. uint32_t __31_8 : 24; // [31:8]
  1061. } b;
  1062. } REG_CAMERA_AWB_Y4_MIN_T;
  1063. // awb_y4_max
  1064. typedef union {
  1065. uint32_t v;
  1066. struct
  1067. {
  1068. uint32_t awb_y4_max : 8; // [7:0]
  1069. uint32_t __31_8 : 24; // [31:8]
  1070. } b;
  1071. } REG_CAMERA_AWB_Y4_MAX_T;
  1072. // awb_x5_min
  1073. typedef union {
  1074. uint32_t v;
  1075. struct
  1076. {
  1077. uint32_t awb_x5_min : 8; // [7:0]
  1078. uint32_t __31_8 : 24; // [31:8]
  1079. } b;
  1080. } REG_CAMERA_AWB_X5_MIN_T;
  1081. // awb_x5_max
  1082. typedef union {
  1083. uint32_t v;
  1084. struct
  1085. {
  1086. uint32_t awb_x5_max : 8; // [7:0]
  1087. uint32_t __31_8 : 24; // [31:8]
  1088. } b;
  1089. } REG_CAMERA_AWB_X5_MAX_T;
  1090. // awb_y5_min
  1091. typedef union {
  1092. uint32_t v;
  1093. struct
  1094. {
  1095. uint32_t awb_y5_min : 8; // [7:0]
  1096. uint32_t __31_8 : 24; // [31:8]
  1097. } b;
  1098. } REG_CAMERA_AWB_Y5_MIN_T;
  1099. // awb_y5_max
  1100. typedef union {
  1101. uint32_t v;
  1102. struct
  1103. {
  1104. uint32_t awb_y5_max : 8; // [7:0]
  1105. uint32_t __31_8 : 24; // [31:8]
  1106. } b;
  1107. } REG_CAMERA_AWB_Y5_MAX_T;
  1108. // awb_skin_x1_min
  1109. typedef union {
  1110. uint32_t v;
  1111. struct
  1112. {
  1113. uint32_t awb_skin_x1_min : 8; // [7:0]
  1114. uint32_t __31_8 : 24; // [31:8]
  1115. } b;
  1116. } REG_CAMERA_AWB_SKIN_X1_MIN_T;
  1117. // awb_skin_x1_max
  1118. typedef union {
  1119. uint32_t v;
  1120. struct
  1121. {
  1122. uint32_t awb_skin_x1_max : 8; // [7:0]
  1123. uint32_t __31_8 : 24; // [31:8]
  1124. } b;
  1125. } REG_CAMERA_AWB_SKIN_X1_MAX_T;
  1126. // awb_skin_y1_min
  1127. typedef union {
  1128. uint32_t v;
  1129. struct
  1130. {
  1131. uint32_t awb_skin_y1_min : 8; // [7:0]
  1132. uint32_t __31_8 : 24; // [31:8]
  1133. } b;
  1134. } REG_CAMERA_AWB_SKIN_Y1_MIN_T;
  1135. // awb_skin_y1_max
  1136. typedef union {
  1137. uint32_t v;
  1138. struct
  1139. {
  1140. uint32_t awb_skin_y1_max : 8; // [7:0]
  1141. uint32_t __31_8 : 24; // [31:8]
  1142. } b;
  1143. } REG_CAMERA_AWB_SKIN_Y1_MAX_T;
  1144. // awb_skin_x2_min
  1145. typedef union {
  1146. uint32_t v;
  1147. struct
  1148. {
  1149. uint32_t awb_skin_x2_min : 8; // [7:0]
  1150. uint32_t __31_8 : 24; // [31:8]
  1151. } b;
  1152. } REG_CAMERA_AWB_SKIN_X2_MIN_T;
  1153. // awb_skin_x2_max
  1154. typedef union {
  1155. uint32_t v;
  1156. struct
  1157. {
  1158. uint32_t awb_skin_x2_max : 8; // [7:0]
  1159. uint32_t __31_8 : 24; // [31:8]
  1160. } b;
  1161. } REG_CAMERA_AWB_SKIN_X2_MAX_T;
  1162. // awb_skin_y2_min
  1163. typedef union {
  1164. uint32_t v;
  1165. struct
  1166. {
  1167. uint32_t awb_skin_y2_min : 8; // [7:0]
  1168. uint32_t __31_8 : 24; // [31:8]
  1169. } b;
  1170. } REG_CAMERA_AWB_SKIN_Y2_MIN_T;
  1171. // awb_skin_y2_max
  1172. typedef union {
  1173. uint32_t v;
  1174. struct
  1175. {
  1176. uint32_t awb_skin_y2_max : 8; // [7:0]
  1177. uint32_t __31_8 : 24; // [31:8]
  1178. } b;
  1179. } REG_CAMERA_AWB_SKIN_Y2_MAX_T;
  1180. // awb_ctd_msb
  1181. typedef union {
  1182. uint32_t v;
  1183. struct
  1184. {
  1185. uint32_t awb_x1_min_msb : 1; // [0]
  1186. uint32_t awb_x1_max_msb : 1; // [1]
  1187. uint32_t awb_y5_min_msb : 1; // [2]
  1188. uint32_t awb_y5_max_msb : 1; // [3]
  1189. uint32_t awb_adj_mode : 2; // [5:4]
  1190. uint32_t awb_ratio_mode : 2; // [7:6]
  1191. uint32_t __31_8 : 24; // [31:8]
  1192. } b;
  1193. } REG_CAMERA_AWB_CTD_MSB_T;
  1194. // int_dif_thr_mid
  1195. typedef union {
  1196. uint32_t v;
  1197. struct
  1198. {
  1199. uint32_t int_dif_thr_mid : 8; // [7:0]
  1200. uint32_t __31_8 : 24; // [31:8]
  1201. } b;
  1202. } REG_CAMERA_INT_DIF_THR_MID_T;
  1203. // lb_soft_rstn
  1204. typedef union {
  1205. uint32_t v;
  1206. struct
  1207. {
  1208. uint32_t lb_soft_rstn : 1; // [0]
  1209. uint32_t __31_1 : 31; // [31:1]
  1210. } b;
  1211. } REG_CAMERA_LB_SOFT_RSTN_T;
  1212. // vsync_end_high
  1213. typedef union {
  1214. uint32_t v;
  1215. struct
  1216. {
  1217. uint32_t vsync_end_high : 8; // [7:0]
  1218. uint32_t __31_8 : 24; // [31:8]
  1219. } b;
  1220. } REG_CAMERA_VSYNC_END_HIGH_T;
  1221. // vsync_end_low
  1222. typedef union {
  1223. uint32_t v;
  1224. struct
  1225. {
  1226. uint32_t vsync_end_low : 8; // [7:0]
  1227. uint32_t __31_8 : 24; // [31:8]
  1228. } b;
  1229. } REG_CAMERA_VSYNC_END_LOW_T;
  1230. // line_numl
  1231. typedef union {
  1232. uint32_t v;
  1233. struct
  1234. {
  1235. uint32_t line_numl : 8; // [7:0]
  1236. uint32_t __31_8 : 24; // [31:8]
  1237. } b;
  1238. } REG_CAMERA_LINE_NUML_T;
  1239. // pix_numl
  1240. typedef union {
  1241. uint32_t v;
  1242. struct
  1243. {
  1244. uint32_t pix_numl : 8; // [7:0]
  1245. uint32_t __31_8 : 24; // [31:8]
  1246. } b;
  1247. } REG_CAMERA_PIX_NUML_T;
  1248. // pix_line_numh
  1249. typedef union {
  1250. uint32_t v;
  1251. struct
  1252. {
  1253. uint32_t line_numh : 1; // [0]
  1254. uint32_t pix_numh_rsvd : 3; // [3:1]
  1255. uint32_t pix_numh : 2; // [5:4]
  1256. uint32_t line_numh_rsvd : 2; // [7:6]
  1257. uint32_t __31_8 : 24; // [31:8]
  1258. } b;
  1259. } REG_CAMERA_PIX_LINE_NUMH_T;
  1260. // lb_ctrl
  1261. typedef union {
  1262. uint32_t v;
  1263. struct
  1264. {
  1265. uint32_t low_order : 1; // [0]
  1266. uint32_t use_fb_reg : 1; // [1]
  1267. uint32_t not_cvp_reg : 1; // [2]
  1268. uint32_t first_byte_reg : 3; // [5:3]
  1269. uint32_t __31_6 : 26; // [31:6]
  1270. } b;
  1271. } REG_CAMERA_LB_CTRL_T;
  1272. // data_format
  1273. typedef union {
  1274. uint32_t v;
  1275. struct
  1276. {
  1277. uint32_t data_format : 2; // [1:0]
  1278. uint32_t __31_2 : 30; // [31:2]
  1279. } b;
  1280. } REG_CAMERA_DATA_FORMAT_T;
  1281. // lb_enable
  1282. typedef union {
  1283. uint32_t v;
  1284. struct
  1285. {
  1286. uint32_t lb_enable : 1; // [0]
  1287. uint32_t __31_1 : 31; // [31:1]
  1288. } b;
  1289. } REG_CAMERA_LB_ENABLE_T;
  1290. // vh_inv
  1291. typedef union {
  1292. uint32_t v;
  1293. struct
  1294. {
  1295. uint32_t hsync_inv : 1; // [0]
  1296. uint32_t vsync_inv : 1; // [1]
  1297. uint32_t __31_2 : 30; // [31:2]
  1298. } b;
  1299. } REG_CAMERA_VH_INV_T;
  1300. // line_cnt_l
  1301. typedef union {
  1302. uint32_t v;
  1303. struct
  1304. {
  1305. uint32_t line_cnt_l : 8; // [7:0], read only
  1306. uint32_t __31_8 : 24; // [31:8]
  1307. } b;
  1308. } REG_CAMERA_LINE_CNT_L_T;
  1309. // line_cnt_h
  1310. typedef union {
  1311. uint32_t v;
  1312. struct
  1313. {
  1314. uint32_t line_cnt_h : 2; // [1:0], read only
  1315. uint32_t __31_2 : 30; // [31:2]
  1316. } b;
  1317. } REG_CAMERA_LINE_CNT_H_T;
  1318. // num_check
  1319. typedef union {
  1320. uint32_t v;
  1321. struct
  1322. {
  1323. uint32_t line_num_check : 1; // [0], read only
  1324. uint32_t byte_num_check : 1; // [1], read only
  1325. uint32_t __3_2 : 2; // [3:2]
  1326. uint32_t line_num_clear : 1; // [4]
  1327. uint32_t byte_num_clear : 1; // [5]
  1328. uint32_t __31_6 : 26; // [31:6]
  1329. } b;
  1330. } REG_CAMERA_NUM_CHECK_T;
  1331. // dci_ctrl_reg
  1332. typedef union {
  1333. uint32_t v;
  1334. struct
  1335. {
  1336. uint32_t kl_low_light_fix : 1; // [0]
  1337. uint32_t kl_reg_fix : 1; // [1]
  1338. uint32_t ku_low_light_fix : 1; // [2]
  1339. uint32_t ku_reg_fix : 1; // [3]
  1340. uint32_t hofst : 2; // [5:4]
  1341. uint32_t vbh_sel : 2; // [7:6]
  1342. uint32_t __31_8 : 24; // [31:8]
  1343. } b;
  1344. } REG_CAMERA_DCI_CTRL_REG_T;
  1345. // dci_ofst_reg
  1346. typedef union {
  1347. uint32_t v;
  1348. struct
  1349. {
  1350. uint32_t kl_ofstx1 : 4; // [3:0]
  1351. uint32_t ku_ofstx1 : 4; // [7:4]
  1352. uint32_t __31_8 : 24; // [31:8]
  1353. } b;
  1354. } REG_CAMERA_DCI_OFST_REG_T;
  1355. // dci_hist_reg
  1356. typedef union {
  1357. uint32_t v;
  1358. struct
  1359. {
  1360. uint32_t dk_histx1 : 4; // [3:0]
  1361. uint32_t br_histx1 : 4; // [7:4]
  1362. uint32_t __31_8 : 24; // [31:8]
  1363. } b;
  1364. } REG_CAMERA_DCI_HIST_REG_T;
  1365. // ae_sw_ctrl_reg
  1366. typedef union {
  1367. uint32_t v;
  1368. struct
  1369. {
  1370. uint32_t nexp_sw_in : 4; // [3:0]
  1371. uint32_t __6_4 : 3; // [6:4]
  1372. uint32_t ae_ext_adj_start : 1; // [7]
  1373. uint32_t __31_8 : 24; // [31:8]
  1374. } b;
  1375. } REG_CAMERA_AE_SW_CTRL_REG_T;
  1376. // ae_thr_reg
  1377. typedef union {
  1378. uint32_t v;
  1379. struct
  1380. {
  1381. uint32_t thr_dark : 4; // [3:0]
  1382. uint32_t thr_bright : 4; // [7:4]
  1383. uint32_t __31_8 : 24; // [31:8]
  1384. } b;
  1385. } REG_CAMERA_AE_THR_REG_T;
  1386. // ae_misc_ctrl_reg
  1387. typedef union {
  1388. uint32_t v;
  1389. struct
  1390. {
  1391. uint32_t ofst_dec_low_sel : 2; // [1:0]
  1392. uint32_t ofst_dec_high_sel : 2; // [3:2]
  1393. uint32_t force_adj1 : 1; // [4]
  1394. uint32_t force_adj2 : 1; // [5]
  1395. uint32_t force_adj3 : 1; // [6]
  1396. uint32_t index_ofst_no_step : 1; // [7]
  1397. uint32_t __31_8 : 24; // [31:8]
  1398. } b;
  1399. } REG_CAMERA_AE_MISC_CTRL_REG_T;
  1400. // csup_xx_reg
  1401. typedef union {
  1402. uint32_t v;
  1403. struct
  1404. {
  1405. uint32_t x_low : 4; // [3:0]
  1406. uint32_t x_high : 4; // [7:4]
  1407. uint32_t __31_8 : 24; // [31:8]
  1408. } b;
  1409. } REG_CAMERA_CSUP_XX_REG_T;
  1410. // contr_ythr_reg
  1411. typedef union {
  1412. uint32_t v;
  1413. struct
  1414. {
  1415. uint32_t csup_gain_low_th_h : 1; // [0]
  1416. uint32_t csup_gain_high_th : 3; // [3:1]
  1417. uint32_t fixed_contr_ythr : 4; // [7:4]
  1418. uint32_t __31_8 : 24; // [31:8]
  1419. } b;
  1420. } REG_CAMERA_CONTR_YTHR_REG_T;
  1421. // contr_yave_offset_reg
  1422. typedef union {
  1423. uint32_t v;
  1424. struct
  1425. {
  1426. uint32_t yave_offset_reg : 6; // [5:0]
  1427. uint32_t ythr_sel : 1; // [6]
  1428. uint32_t yave_offset_sign : 1; // [7]
  1429. uint32_t __31_8 : 24; // [31:8]
  1430. } b;
  1431. } REG_CAMERA_CONTR_YAVE_OFFSET_REG_T;
  1432. // contr_ku_lo_reg
  1433. typedef union {
  1434. uint32_t v;
  1435. struct
  1436. {
  1437. uint32_t ku : 7; // [6:0]
  1438. uint32_t ku_sign : 1; // [7]
  1439. uint32_t __31_8 : 24; // [31:8]
  1440. } b;
  1441. } REG_CAMERA_CONTR_KU_LO_REG_T;
  1442. // contr_kl_lo_reg
  1443. typedef union {
  1444. uint32_t v;
  1445. struct
  1446. {
  1447. uint32_t kl : 7; // [6:0]
  1448. uint32_t kl_sign : 1; // [7]
  1449. uint32_t __31_8 : 24; // [31:8]
  1450. } b;
  1451. } REG_CAMERA_CONTR_KL_LO_REG_T;
  1452. // contr_ku_mid_reg
  1453. typedef union {
  1454. uint32_t v;
  1455. struct
  1456. {
  1457. uint32_t ku : 7; // [6:0]
  1458. uint32_t ku_sign : 1; // [7]
  1459. uint32_t __31_8 : 24; // [31:8]
  1460. } b;
  1461. } REG_CAMERA_CONTR_KU_MID_REG_T;
  1462. // contr_kl_mid_reg
  1463. typedef union {
  1464. uint32_t v;
  1465. struct
  1466. {
  1467. uint32_t kl : 7; // [6:0]
  1468. uint32_t kl_sign : 1; // [7]
  1469. uint32_t __31_8 : 24; // [31:8]
  1470. } b;
  1471. } REG_CAMERA_CONTR_KL_MID_REG_T;
  1472. // contr_ku_hi_reg
  1473. typedef union {
  1474. uint32_t v;
  1475. struct
  1476. {
  1477. uint32_t ku : 7; // [6:0]
  1478. uint32_t ku_sign : 1; // [7]
  1479. uint32_t __31_8 : 24; // [31:8]
  1480. } b;
  1481. } REG_CAMERA_CONTR_KU_HI_REG_T;
  1482. // contr_kl_hi_reg
  1483. typedef union {
  1484. uint32_t v;
  1485. struct
  1486. {
  1487. uint32_t kl : 7; // [6:0]
  1488. uint32_t kl_sign : 1; // [7]
  1489. uint32_t __31_8 : 24; // [31:8]
  1490. } b;
  1491. } REG_CAMERA_CONTR_KL_HI_REG_T;
  1492. // luma_offset_lo_reg
  1493. typedef union {
  1494. uint32_t v;
  1495. struct
  1496. {
  1497. uint32_t offset : 6; // [5:0]
  1498. uint32_t algo_sel : 1; // [6]
  1499. uint32_t offset_sign : 1; // [7]
  1500. uint32_t __31_8 : 24; // [31:8]
  1501. } b;
  1502. } REG_CAMERA_LUMA_OFFSET_LO_REG_T;
  1503. // luma_offset_mid_reg
  1504. typedef union {
  1505. uint32_t v;
  1506. struct
  1507. {
  1508. uint32_t offset : 6; // [5:0]
  1509. uint32_t algo_sel : 1; // [6]
  1510. uint32_t offset_sign : 1; // [7]
  1511. uint32_t __31_8 : 24; // [31:8]
  1512. } b;
  1513. } REG_CAMERA_LUMA_OFFSET_MID_REG_T;
  1514. // luma_offset_hi_reg
  1515. typedef union {
  1516. uint32_t v;
  1517. struct
  1518. {
  1519. uint32_t offset : 6; // [5:0]
  1520. uint32_t algo_sel : 1; // [6]
  1521. uint32_t offset_sign : 1; // [7]
  1522. uint32_t __31_8 : 24; // [31:8]
  1523. } b;
  1524. } REG_CAMERA_LUMA_OFFSET_HI_REG_T;
  1525. // u_gain_lo_reg
  1526. typedef union {
  1527. uint32_t v;
  1528. struct
  1529. {
  1530. uint32_t u_gain_lo_reg : 8; // [7:0]
  1531. uint32_t __31_8 : 24; // [31:8]
  1532. } b;
  1533. } REG_CAMERA_U_GAIN_LO_REG_T;
  1534. // v_gain_lo_reg
  1535. typedef union {
  1536. uint32_t v;
  1537. struct
  1538. {
  1539. uint32_t v_gain_lo_reg : 8; // [7:0]
  1540. uint32_t __31_8 : 24; // [31:8]
  1541. } b;
  1542. } REG_CAMERA_V_GAIN_LO_REG_T;
  1543. // u_gain_mid_reg
  1544. typedef union {
  1545. uint32_t v;
  1546. struct
  1547. {
  1548. uint32_t u_gain_mid_reg : 8; // [7:0]
  1549. uint32_t __31_8 : 24; // [31:8]
  1550. } b;
  1551. } REG_CAMERA_U_GAIN_MID_REG_T;
  1552. // v_gain_mid_reg
  1553. typedef union {
  1554. uint32_t v;
  1555. struct
  1556. {
  1557. uint32_t v_gain_mid_reg : 8; // [7:0]
  1558. uint32_t __31_8 : 24; // [31:8]
  1559. } b;
  1560. } REG_CAMERA_V_GAIN_MID_REG_T;
  1561. // u_gain_hi_reg
  1562. typedef union {
  1563. uint32_t v;
  1564. struct
  1565. {
  1566. uint32_t u_gain_hi_reg : 8; // [7:0]
  1567. uint32_t __31_8 : 24; // [31:8]
  1568. } b;
  1569. } REG_CAMERA_U_GAIN_HI_REG_T;
  1570. // v_gain_hi_reg
  1571. typedef union {
  1572. uint32_t v;
  1573. struct
  1574. {
  1575. uint32_t v_gain_hi_reg : 8; // [7:0]
  1576. uint32_t __31_8 : 24; // [31:8]
  1577. } b;
  1578. } REG_CAMERA_V_GAIN_HI_REG_T;
  1579. // again_sel_th0_reg
  1580. typedef union {
  1581. uint32_t v;
  1582. struct
  1583. {
  1584. uint32_t contr_gain_low_th : 3; // [2:0]
  1585. uint32_t again_sel_th0_rsvd : 1; // [3]
  1586. uint32_t contr_gain_hi_th : 3; // [6:4]
  1587. uint32_t __31_7 : 25; // [31:7]
  1588. } b;
  1589. } REG_CAMERA_AGAIN_SEL_TH0_REG_T;
  1590. // awb_cc_type_ctrl_reg
  1591. typedef union {
  1592. uint32_t v;
  1593. struct
  1594. {
  1595. uint32_t cc_type_mode : 4; // [3:0]
  1596. uint32_t cc_gain_hi_th : 3; // [6:4]
  1597. uint32_t luma_first : 1; // [7]
  1598. uint32_t __31_8 : 24; // [31:8]
  1599. } b;
  1600. } REG_CAMERA_AWB_CC_TYPE_CTRL_REG_T;
  1601. // awb_cc_type_th_reg
  1602. typedef union {
  1603. uint32_t v;
  1604. struct
  1605. {
  1606. uint32_t r_big_th : 4; // [3:0]
  1607. uint32_t b_big_th : 4; // [7:4]
  1608. uint32_t __31_8 : 24; // [31:8]
  1609. } b;
  1610. } REG_CAMERA_AWB_CC_TYPE_TH_REG_T;
  1611. // isp_wrapper_ctrl_1
  1612. typedef union {
  1613. uint32_t v;
  1614. struct
  1615. {
  1616. uint32_t pout_mode : 2; // [1:0]
  1617. uint32_t yuv_mode : 2; // [3:2]
  1618. uint32_t vsync_toggle : 1; // [4]
  1619. uint32_t mipi_rstn : 1; // [5]
  1620. uint32_t hsync_fix : 1; // [6]
  1621. uint32_t __31_7 : 25; // [31:7]
  1622. } b;
  1623. } REG_CAMERA_ISP_WRAPPER_CTRL_1_T;
  1624. // top_dummy
  1625. typedef union {
  1626. uint32_t v;
  1627. struct
  1628. {
  1629. uint32_t top_dummy : 7; // [6:0]
  1630. uint32_t __31_7 : 25; // [31:7]
  1631. } b;
  1632. } REG_CAMERA_TOP_DUMMY_T;
  1633. // left_dummy
  1634. typedef union {
  1635. uint32_t v;
  1636. struct
  1637. {
  1638. uint32_t left_dummy : 8; // [7:0]
  1639. uint32_t __31_8 : 24; // [31:8]
  1640. } b;
  1641. } REG_CAMERA_LEFT_DUMMY_T;
  1642. // isp_wrapper_ctrl_2
  1643. typedef union {
  1644. uint32_t v;
  1645. struct
  1646. {
  1647. uint32_t rgb_mode_reg : 3; // [2:0]
  1648. uint32_t sub_mode : 1; // [3]
  1649. uint32_t mon_mode_reg : 1; // [4]
  1650. uint32_t oclk_inv_reg : 1; // [5]
  1651. uint32_t isp_out_en : 1; // [6]
  1652. uint32_t __31_7 : 25; // [31:7]
  1653. } b;
  1654. } REG_CAMERA_ISP_WRAPPER_CTRL_2_T;
  1655. // line_num_l_reg
  1656. typedef union {
  1657. uint32_t v;
  1658. struct
  1659. {
  1660. uint32_t line_num_l_reg : 6; // [5:0]
  1661. uint32_t __31_6 : 26; // [31:6]
  1662. } b;
  1663. } REG_CAMERA_LINE_NUM_L_REG_T;
  1664. // pix_num_l_reg
  1665. typedef union {
  1666. uint32_t v;
  1667. struct
  1668. {
  1669. uint32_t pix_num_l_reg : 7; // [6:0]
  1670. uint32_t csi_mon_reg : 1; // [7]
  1671. uint32_t __31_8 : 24; // [31:8]
  1672. } b;
  1673. } REG_CAMERA_PIX_NUM_L_REG_T;
  1674. // v_dummy
  1675. typedef union {
  1676. uint32_t v;
  1677. struct
  1678. {
  1679. uint32_t vbot_dummy_reg : 4; // [3:0]
  1680. uint32_t vtop_dummy_reg : 4; // [7:4]
  1681. uint32_t __31_8 : 24; // [31:8]
  1682. } b;
  1683. } REG_CAMERA_V_DUMMY_T;
  1684. // scg
  1685. typedef union {
  1686. uint32_t v;
  1687. struct
  1688. {
  1689. uint32_t kukl_sel : 1; // [0]
  1690. uint32_t reg94_rd_sel : 1; // [1]
  1691. uint32_t bayer_out_sel : 1; // [2]
  1692. uint32_t csup_en : 1; // [3]
  1693. uint32_t y_gamma_en : 2; // [5:4]
  1694. uint32_t yuv_sdi_en : 1; // [6]
  1695. uint32_t reg92_rd_sel : 1; // [7]
  1696. uint32_t __31_8 : 24; // [31:8]
  1697. } b;
  1698. } REG_CAMERA_SCG_T;
  1699. // y_gamma_b0
  1700. typedef union {
  1701. uint32_t v;
  1702. struct
  1703. {
  1704. uint32_t y_gamma_b0 : 8; // [7:0]
  1705. uint32_t __31_8 : 24; // [31:8]
  1706. } b;
  1707. } REG_CAMERA_Y_GAMMA_B0_T;
  1708. // y_gamma_b1
  1709. typedef union {
  1710. uint32_t v;
  1711. struct
  1712. {
  1713. uint32_t y_gamma_b1 : 8; // [7:0]
  1714. uint32_t __31_8 : 24; // [31:8]
  1715. } b;
  1716. } REG_CAMERA_Y_GAMMA_B1_T;
  1717. // y_gamma_b2
  1718. typedef union {
  1719. uint32_t v;
  1720. struct
  1721. {
  1722. uint32_t y_gamma_b2 : 8; // [7:0]
  1723. uint32_t __31_8 : 24; // [31:8]
  1724. } b;
  1725. } REG_CAMERA_Y_GAMMA_B2_T;
  1726. // y_gamma_b4
  1727. typedef union {
  1728. uint32_t v;
  1729. struct
  1730. {
  1731. uint32_t y_gamma_b4 : 8; // [7:0]
  1732. uint32_t __31_8 : 24; // [31:8]
  1733. } b;
  1734. } REG_CAMERA_Y_GAMMA_B4_T;
  1735. // y_gamma_b6
  1736. typedef union {
  1737. uint32_t v;
  1738. struct
  1739. {
  1740. uint32_t y_gamma_b6 : 8; // [7:0]
  1741. uint32_t __31_8 : 24; // [31:8]
  1742. } b;
  1743. } REG_CAMERA_Y_GAMMA_B6_T;
  1744. // y_gamma_b8
  1745. typedef union {
  1746. uint32_t v;
  1747. struct
  1748. {
  1749. uint32_t y_gamma_b8 : 8; // [7:0]
  1750. uint32_t __31_8 : 24; // [31:8]
  1751. } b;
  1752. } REG_CAMERA_Y_GAMMA_B8_T;
  1753. // y_gamma_b10
  1754. typedef union {
  1755. uint32_t v;
  1756. struct
  1757. {
  1758. uint32_t y_gamma_b10 : 8; // [7:0]
  1759. uint32_t __31_8 : 24; // [31:8]
  1760. } b;
  1761. } REG_CAMERA_Y_GAMMA_B10_T;
  1762. // y_gamma_b12
  1763. typedef union {
  1764. uint32_t v;
  1765. struct
  1766. {
  1767. uint32_t y_gamma_b12 : 8; // [7:0]
  1768. uint32_t __31_8 : 24; // [31:8]
  1769. } b;
  1770. } REG_CAMERA_Y_GAMMA_B12_T;
  1771. // y_gamma_b16
  1772. typedef union {
  1773. uint32_t v;
  1774. struct
  1775. {
  1776. uint32_t y_gamma_b16 : 8; // [7:0]
  1777. uint32_t __31_8 : 24; // [31:8]
  1778. } b;
  1779. } REG_CAMERA_Y_GAMMA_B16_T;
  1780. // y_gamma_b20
  1781. typedef union {
  1782. uint32_t v;
  1783. struct
  1784. {
  1785. uint32_t y_gamma_b20 : 8; // [7:0]
  1786. uint32_t __31_8 : 24; // [31:8]
  1787. } b;
  1788. } REG_CAMERA_Y_GAMMA_B20_T;
  1789. // y_gamma_b24
  1790. typedef union {
  1791. uint32_t v;
  1792. struct
  1793. {
  1794. uint32_t y_gamma_b24 : 8; // [7:0]
  1795. uint32_t __31_8 : 24; // [31:8]
  1796. } b;
  1797. } REG_CAMERA_Y_GAMMA_B24_T;
  1798. // y_gamma_b28
  1799. typedef union {
  1800. uint32_t v;
  1801. struct
  1802. {
  1803. uint32_t y_gamma_b28 : 8; // [7:0]
  1804. uint32_t __31_8 : 24; // [31:8]
  1805. } b;
  1806. } REG_CAMERA_Y_GAMMA_B28_T;
  1807. // y_gamma_b32
  1808. typedef union {
  1809. uint32_t v;
  1810. struct
  1811. {
  1812. uint32_t y_gamma_b32 : 8; // [7:0]
  1813. uint32_t __31_8 : 24; // [31:8]
  1814. } b;
  1815. } REG_CAMERA_Y_GAMMA_B32_T;
  1816. // r_awb_gain_in
  1817. typedef union {
  1818. uint32_t v;
  1819. struct
  1820. {
  1821. uint32_t r_awb_gain_in : 8; // [7:0]
  1822. uint32_t __31_8 : 24; // [31:8]
  1823. } b;
  1824. } REG_CAMERA_R_AWB_GAIN_IN_T;
  1825. // g_awb_gain_in
  1826. typedef union {
  1827. uint32_t v;
  1828. struct
  1829. {
  1830. uint32_t g_awb_gain_in : 8; // [7:0]
  1831. uint32_t __31_8 : 24; // [31:8]
  1832. } b;
  1833. } REG_CAMERA_G_AWB_GAIN_IN_T;
  1834. // b_awb_gain_in
  1835. typedef union {
  1836. uint32_t v;
  1837. struct
  1838. {
  1839. uint32_t b_awb_gain_in : 8; // [7:0]
  1840. uint32_t __31_8 : 24; // [31:8]
  1841. } b;
  1842. } REG_CAMERA_B_AWB_GAIN_IN_T;
  1843. // r_drc_gain_in
  1844. typedef union {
  1845. uint32_t v;
  1846. struct
  1847. {
  1848. uint32_t r_drc_gain_in : 8; // [7:0]
  1849. uint32_t __31_8 : 24; // [31:8]
  1850. } b;
  1851. } REG_CAMERA_R_DRC_GAIN_IN_T;
  1852. // gr_drc_gain_in
  1853. typedef union {
  1854. uint32_t v;
  1855. struct
  1856. {
  1857. uint32_t gr_drc_gain_in : 8; // [7:0]
  1858. uint32_t __31_8 : 24; // [31:8]
  1859. } b;
  1860. } REG_CAMERA_GR_DRC_GAIN_IN_T;
  1861. // gb_drc_gain_in
  1862. typedef union {
  1863. uint32_t v;
  1864. struct
  1865. {
  1866. uint32_t gb_drc_gain_in : 8; // [7:0]
  1867. uint32_t __31_8 : 24; // [31:8]
  1868. } b;
  1869. } REG_CAMERA_GB_DRC_GAIN_IN_T;
  1870. // b_drc_gain_in
  1871. typedef union {
  1872. uint32_t v;
  1873. struct
  1874. {
  1875. uint32_t b_drc_gain_in : 8; // [7:0]
  1876. uint32_t __31_8 : 24; // [31:8]
  1877. } b;
  1878. } REG_CAMERA_B_DRC_GAIN_IN_T;
  1879. // ae_ctrl
  1880. typedef union {
  1881. uint32_t v;
  1882. struct
  1883. {
  1884. uint32_t ana_gain_in : 6; // [5:0]
  1885. uint32_t ae_update_en : 1; // [6]
  1886. uint32_t ae_en : 1; // [7]
  1887. uint32_t __31_8 : 24; // [31:8]
  1888. } b;
  1889. } REG_CAMERA_AE_CTRL_T;
  1890. // ae_ctrl2
  1891. typedef union {
  1892. uint32_t v;
  1893. struct
  1894. {
  1895. uint32_t awb_adj_sel : 2; // [1:0]
  1896. uint32_t gap_ae : 1; // [2]
  1897. uint32_t gap_be : 1; // [3]
  1898. uint32_t ae_action_period : 3; // [6:4]
  1899. uint32_t yave_mon_sel : 1; // [7]
  1900. uint32_t __31_8 : 24; // [31:8]
  1901. } b;
  1902. } REG_CAMERA_AE_CTRL2_T;
  1903. // ae_ctrl3
  1904. typedef union {
  1905. uint32_t v;
  1906. struct
  1907. {
  1908. uint32_t yave_use_mean : 2; // [1:0]
  1909. uint32_t yave_diff_thr_reg : 2; // [3:2]
  1910. uint32_t yave_sel : 2; // [5:4]
  1911. uint32_t yave_plus_bh_mode : 1; // [6]
  1912. uint32_t ywave_plus_bh_mode : 1; // [7]
  1913. uint32_t __31_8 : 24; // [31:8]
  1914. } b;
  1915. } REG_CAMERA_AE_CTRL3_T;
  1916. // ae_ctrl4
  1917. typedef union {
  1918. uint32_t v;
  1919. struct
  1920. {
  1921. uint32_t ae_hist_big_en : 1; // [0]
  1922. uint32_t ae_hist_too_big_en : 1; // [1]
  1923. uint32_t hist_ofst0 : 2; // [3:2]
  1924. uint32_t index_ofst0 : 2; // [5:4]
  1925. uint32_t index_ofst1 : 2; // [7:6]
  1926. uint32_t __31_8 : 24; // [31:8]
  1927. } b;
  1928. } REG_CAMERA_AE_CTRL4_T;
  1929. // ae_win_start
  1930. typedef union {
  1931. uint32_t v;
  1932. struct
  1933. {
  1934. uint32_t pcnt_left : 4; // [3:0]
  1935. uint32_t lcnt_top : 4; // [7:4]
  1936. uint32_t __31_8 : 24; // [31:8]
  1937. } b;
  1938. } REG_CAMERA_AE_WIN_START_T;
  1939. // ae_win_width
  1940. typedef union {
  1941. uint32_t v;
  1942. struct
  1943. {
  1944. uint32_t ae_win_width : 8; // [7:0]
  1945. uint32_t __31_8 : 24; // [31:8]
  1946. } b;
  1947. } REG_CAMERA_AE_WIN_WIDTH_T;
  1948. // ae_win_height
  1949. typedef union {
  1950. uint32_t v;
  1951. struct
  1952. {
  1953. uint32_t ae_win_height : 8; // [7:0]
  1954. uint32_t __31_8 : 24; // [31:8]
  1955. } b;
  1956. } REG_CAMERA_AE_WIN_HEIGHT_T;
  1957. // exp_init
  1958. typedef union {
  1959. uint32_t v;
  1960. struct
  1961. {
  1962. uint32_t exp_init : 8; // [7:0]
  1963. uint32_t __31_8 : 24; // [31:8]
  1964. } b;
  1965. } REG_CAMERA_EXP_INIT_T;
  1966. // exp_ceil_init
  1967. typedef union {
  1968. uint32_t v;
  1969. struct
  1970. {
  1971. uint32_t exp_ceil_init : 4; // [3:0]
  1972. uint32_t __31_4 : 28; // [31:4]
  1973. } b;
  1974. } REG_CAMERA_EXP_CEIL_INIT_T;
  1975. // ae_exp_1e
  1976. typedef union {
  1977. uint32_t v;
  1978. struct
  1979. {
  1980. uint32_t ae_exp_1e : 8; // [7:0]
  1981. uint32_t __31_8 : 24; // [31:8]
  1982. } b;
  1983. } REG_CAMERA_AE_EXP_1E_T;
  1984. // ae_diff_thr
  1985. typedef union {
  1986. uint32_t v;
  1987. struct
  1988. {
  1989. uint32_t thr2_dark : 4; // [3:0]
  1990. uint32_t thr2_bright : 4; // [7:4]
  1991. uint32_t __31_8 : 24; // [31:8]
  1992. } b;
  1993. } REG_CAMERA_AE_DIFF_THR_T;
  1994. // ae_bh_sel
  1995. typedef union {
  1996. uint32_t v;
  1997. struct
  1998. {
  1999. uint32_t bh_factor_indoor : 3; // [2:0]
  2000. uint32_t bh_factor_outdoor : 3; // [5:3]
  2001. uint32_t bh_mean_sel : 2; // [7:6]
  2002. uint32_t __31_8 : 24; // [31:8]
  2003. } b;
  2004. } REG_CAMERA_AE_BH_SEL_T;
  2005. // awb_ctrl
  2006. typedef union {
  2007. uint32_t v;
  2008. struct
  2009. {
  2010. uint32_t awb_sw_mon_en : 1; // [0]
  2011. uint32_t fast_2x : 1; // [1]
  2012. uint32_t fast_4x : 1; // [2]
  2013. uint32_t awb_action_period : 3; // [5:3]
  2014. uint32_t awb_update_en : 1; // [6]
  2015. uint32_t awb_en : 1; // [7]
  2016. uint32_t __31_8 : 24; // [31:8]
  2017. } b;
  2018. } REG_CAMERA_AWB_CTRL_T;
  2019. // awb_ctrl2
  2020. typedef union {
  2021. uint32_t v;
  2022. struct
  2023. {
  2024. uint32_t awb_mon_sel : 3; // [2:0]
  2025. uint32_t awb_vld_sel : 1; // [3]
  2026. uint32_t awb_vld_mode : 3; // [6:4]
  2027. uint32_t awb_adj : 1; // [7], read only
  2028. uint32_t __31_8 : 24; // [31:8]
  2029. } b;
  2030. } REG_CAMERA_AWB_CTRL2_T;
  2031. // awb_y_max
  2032. typedef union {
  2033. uint32_t v;
  2034. struct
  2035. {
  2036. uint32_t awb_y_max : 8; // [7:0]
  2037. uint32_t __31_8 : 24; // [31:8]
  2038. } b;
  2039. } REG_CAMERA_AWB_Y_MAX_T;
  2040. // awb_stop
  2041. typedef union {
  2042. uint32_t v;
  2043. struct
  2044. {
  2045. uint32_t awb_stop_cb_neg_level : 2; // [1:0]
  2046. uint32_t awb_stop_cb_pos_level : 2; // [3:2]
  2047. uint32_t awb_stop_cr_neg_level : 2; // [5:4]
  2048. uint32_t awb_stop_cr_pos_level : 2; // [7:6]
  2049. uint32_t __31_8 : 24; // [31:8]
  2050. } b;
  2051. } REG_CAMERA_AWB_STOP_T;
  2052. // awb_algo
  2053. typedef union {
  2054. uint32_t v;
  2055. struct
  2056. {
  2057. uint32_t awb_algo : 8; // [7:0]
  2058. uint32_t __31_8 : 24; // [31:8]
  2059. } b;
  2060. } REG_CAMERA_AWB_ALGO_T;
  2061. // awb_ctrl3
  2062. typedef union {
  2063. uint32_t v;
  2064. struct
  2065. {
  2066. uint32_t cr_ofst_lt1x : 1; // [0]
  2067. uint32_t cr_ofst_gt1x : 1; // [1]
  2068. uint32_t cb_ofst_lt1x : 1; // [2]
  2069. uint32_t cb_ofst_gt1x : 1; // [3]
  2070. uint32_t awb_sum_vld_sel : 1; // [4]
  2071. uint32_t awb_stop_sel_reg : 1; // [5]
  2072. uint32_t awb_skin_sel : 1; // [6]
  2073. uint32_t awb_algo_mode : 1; // [7]
  2074. uint32_t __31_8 : 24; // [31:8]
  2075. } b;
  2076. } REG_CAMERA_AWB_CTRL3_T;
  2077. // awb_ctrl4
  2078. typedef union {
  2079. uint32_t v;
  2080. struct
  2081. {
  2082. uint32_t awb_ctrl4 : 8; // [7:0]
  2083. uint32_t __31_8 : 24; // [31:8]
  2084. } b;
  2085. } REG_CAMERA_AWB_CTRL4_T;
  2086. // dig_gain_in
  2087. typedef union {
  2088. uint32_t v;
  2089. struct
  2090. {
  2091. uint32_t dig_gain_in : 8; // [7:0]
  2092. uint32_t __31_8 : 24; // [31:8]
  2093. } b;
  2094. } REG_CAMERA_DIG_GAIN_IN_T;
  2095. // y_init_thr
  2096. typedef union {
  2097. uint32_t v;
  2098. struct
  2099. {
  2100. uint32_t y_init_mode : 1; // [0]
  2101. uint32_t y_low_en : 1; // [1]
  2102. uint32_t y_high_en : 1; // [2]
  2103. uint32_t y_low_thr : 5; // [7:3]
  2104. uint32_t __31_8 : 24; // [31:8]
  2105. } b;
  2106. } REG_CAMERA_Y_INIT_THR_T;
  2107. // y_ave_target
  2108. typedef union {
  2109. uint32_t v;
  2110. struct
  2111. {
  2112. uint32_t y_ave_target : 8; // [7:0]
  2113. uint32_t __31_8 : 24; // [31:8]
  2114. } b;
  2115. } REG_CAMERA_Y_AVE_TARGET_T;
  2116. // y_lmt_offset
  2117. typedef union {
  2118. uint32_t v;
  2119. struct
  2120. {
  2121. uint32_t y_low_limit : 3; // [2:0]
  2122. uint32_t y_lmt_ofst : 1; // [3]
  2123. uint32_t y_high_limit : 3; // [6:4]
  2124. uint32_t __31_7 : 25; // [31:7]
  2125. } b;
  2126. } REG_CAMERA_Y_LMT_OFFSET_T;
  2127. // again_sel_th2
  2128. typedef union {
  2129. uint32_t v;
  2130. struct
  2131. {
  2132. uint32_t ynr_gain_low_th : 3; // [2:0]
  2133. uint32_t again_sel_th2 : 1; // [3]
  2134. uint32_t ynr_gain_hi_th : 3; // [6:4]
  2135. uint32_t __31_7 : 25; // [31:7]
  2136. } b;
  2137. } REG_CAMERA_AGAIN_SEL_TH2_T;
  2138. // yave_target_chg1
  2139. typedef union {
  2140. uint32_t v;
  2141. struct
  2142. {
  2143. uint32_t yave_target_ofst_l : 4; // [3:0]
  2144. uint32_t yave_target_ofst_h : 4; // [7:4]
  2145. uint32_t __31_8 : 24; // [31:8]
  2146. } b;
  2147. } REG_CAMERA_YAVE_TARGET_CHG1_T;
  2148. // image_eff_reg
  2149. typedef union {
  2150. uint32_t v;
  2151. struct
  2152. {
  2153. uint32_t grey_en : 1; // [0]
  2154. uint32_t sepia_en : 1; // [1]
  2155. uint32_t negative_en : 1; // [2]
  2156. uint32_t color_bar_en : 1; // [3]
  2157. uint32_t image_eff_rsvd : 1; // [4]
  2158. uint32_t reg93_sel : 1; // [5]
  2159. uint32_t reg94_sel : 1; // [6]
  2160. uint32_t sharp_mon : 1; // [7]
  2161. uint32_t __31_8 : 24; // [31:8]
  2162. } b;
  2163. } REG_CAMERA_IMAGE_EFF_REG_T;
  2164. // ywave_out
  2165. typedef union {
  2166. uint32_t v;
  2167. struct
  2168. {
  2169. uint32_t ywave_out : 8; // [7:0], read only
  2170. uint32_t __31_8 : 24; // [31:8]
  2171. } b;
  2172. } REG_CAMERA_YWAVE_OUT_T;
  2173. // ae_bright_hist
  2174. typedef union {
  2175. uint32_t v;
  2176. struct
  2177. {
  2178. uint32_t ae_bright_hist : 8; // [7:0], read only
  2179. uint32_t __31_8 : 24; // [31:8]
  2180. } b;
  2181. } REG_CAMERA_AE_BRIGHT_HIST_T;
  2182. // yave_out
  2183. typedef union {
  2184. uint32_t v;
  2185. struct
  2186. {
  2187. uint32_t yave_out : 8; // [7:0], read only
  2188. uint32_t __31_8 : 24; // [31:8]
  2189. } b;
  2190. } REG_CAMERA_YAVE_OUT_T;
  2191. // exp_out
  2192. typedef union {
  2193. uint32_t v;
  2194. struct
  2195. {
  2196. uint32_t exp_out : 8; // [7:0], read only
  2197. uint32_t __31_8 : 24; // [31:8]
  2198. } b;
  2199. } REG_CAMERA_EXP_OUT_T;
  2200. // misc_out
  2201. typedef union {
  2202. uint32_t v;
  2203. struct
  2204. {
  2205. uint32_t exp_out_h : 3; // [2:0], read only
  2206. uint32_t awb_ok : 1; // [3], read only
  2207. uint32_t nexp_sel : 2; // [5:4], read only
  2208. uint32_t fixed_0 : 1; // [6], read only
  2209. uint32_t ae_ok : 1; // [7], read only
  2210. uint32_t __31_8 : 24; // [31:8]
  2211. } b;
  2212. } REG_CAMERA_MISC_OUT_T;
  2213. // awb_debug_out
  2214. typedef union {
  2215. uint32_t v;
  2216. struct
  2217. {
  2218. uint32_t awb_crgt : 2; // [1:0], read only
  2219. uint32_t awb_cbgt : 2; // [3:2], read only
  2220. uint32_t awb_crsum_sign : 1; // [4], read only
  2221. uint32_t awb_cbsum_sign : 1; // [5], read only
  2222. uint32_t awb_cbcr : 1; // [6], read only
  2223. uint32_t awb_sum_vld : 1; // [7], read only
  2224. uint32_t __31_8 : 24; // [31:8]
  2225. } b;
  2226. } REG_CAMERA_AWB_DEBUG_OUT_T;
  2227. // mono_color
  2228. typedef union {
  2229. uint32_t v;
  2230. struct
  2231. {
  2232. uint32_t mono_color : 8; // [7:0], read only
  2233. uint32_t __31_8 : 24; // [31:8]
  2234. } b;
  2235. } REG_CAMERA_MONO_COLOR_T;
  2236. // r_awb_gain
  2237. typedef union {
  2238. uint32_t v;
  2239. struct
  2240. {
  2241. uint32_t r_awb_gain : 8; // [7:0], read only
  2242. uint32_t __31_8 : 24; // [31:8]
  2243. } b;
  2244. } REG_CAMERA_R_AWB_GAIN_T;
  2245. // b_awb_gain
  2246. typedef union {
  2247. uint32_t v;
  2248. struct
  2249. {
  2250. uint32_t b_awb_gain : 8; // [7:0], read only
  2251. uint32_t __31_8 : 24; // [31:8]
  2252. } b;
  2253. } REG_CAMERA_B_AWB_GAIN_T;
  2254. // misc_status
  2255. typedef union {
  2256. uint32_t v;
  2257. struct
  2258. {
  2259. uint32_t ana_gain_out : 6; // [5:0], read only
  2260. uint32_t cc_type : 1; // [6], read only
  2261. uint32_t is_outdoor : 1; // [7], read only
  2262. uint32_t __31_8 : 24; // [31:8]
  2263. } b;
  2264. } REG_CAMERA_MISC_STATUS_T;
  2265. // yave_contr
  2266. typedef union {
  2267. uint32_t v;
  2268. struct
  2269. {
  2270. uint32_t yave_contr : 8; // [7:0], read only
  2271. uint32_t __31_8 : 24; // [31:8]
  2272. } b;
  2273. } REG_CAMERA_YAVE_CONTR_T;
  2274. // gamma_type
  2275. typedef union {
  2276. uint32_t v;
  2277. struct
  2278. {
  2279. uint32_t gamma_type_mode : 3; // [2:0]
  2280. uint32_t gamma_gain_hi_th : 3; // [5:3]
  2281. uint32_t vgas : 2; // [7:6]
  2282. uint32_t __31_8 : 24; // [31:8]
  2283. } b;
  2284. } REG_CAMERA_GAMMA_TYPE_T;
  2285. // blc_line
  2286. typedef union {
  2287. uint32_t v;
  2288. struct
  2289. {
  2290. uint32_t blc_line : 8; // [7:0]
  2291. uint32_t __31_8 : 24; // [31:8]
  2292. } b;
  2293. } REG_CAMERA_BLC_LINE_T;
  2294. // lsc_xx
  2295. typedef union {
  2296. uint32_t v;
  2297. struct
  2298. {
  2299. uint32_t x_low : 4; // [3:0]
  2300. uint32_t x_high : 4; // [7:4]
  2301. uint32_t __31_8 : 24; // [31:8]
  2302. } b;
  2303. } REG_CAMERA_LSC_XX_T;
  2304. // lsc_blc_gain_th
  2305. typedef union {
  2306. uint32_t v;
  2307. struct
  2308. {
  2309. uint32_t lsc_gain_low_th : 3; // [2:0]
  2310. uint32_t lsc_gain_hi_th : 3; // [5:3]
  2311. uint32_t csup_gain_low_th : 2; // [7:6]
  2312. uint32_t __31_8 : 24; // [31:8]
  2313. } b;
  2314. } REG_CAMERA_LSC_BLC_GAIN_TH_T;
  2315. // blc_ctrl
  2316. typedef union {
  2317. uint32_t v;
  2318. struct
  2319. {
  2320. uint32_t blc_out_mode : 2; // [1:0]
  2321. uint32_t line_init_h : 1; // [2]
  2322. uint32_t blc_ofst_sign : 1; // [3]
  2323. uint32_t blc_mode : 2; // [5:4]
  2324. uint32_t blc_sel : 1; // [6]
  2325. uint32_t blc_en : 1; // [7]
  2326. uint32_t __31_8 : 24; // [31:8]
  2327. } b;
  2328. } REG_CAMERA_BLC_CTRL_T;
  2329. // blc_init
  2330. typedef union {
  2331. uint32_t v;
  2332. struct
  2333. {
  2334. uint32_t blc00_ofst : 4; // [3:0]
  2335. uint32_t blc01_ofst : 4; // [7:4]
  2336. uint32_t __31_8 : 24; // [31:8]
  2337. } b;
  2338. } REG_CAMERA_BLC_INIT_T;
  2339. // blc_offset
  2340. typedef union {
  2341. uint32_t v;
  2342. struct
  2343. {
  2344. uint32_t blc10_ofst : 4; // [3:0]
  2345. uint32_t blc11_ofst : 4; // [7:4]
  2346. uint32_t __31_8 : 24; // [31:8]
  2347. } b;
  2348. } REG_CAMERA_BLC_OFFSET_T;
  2349. // blc_thr
  2350. typedef union {
  2351. uint32_t v;
  2352. struct
  2353. {
  2354. uint32_t blc_thr : 6; // [5:0]
  2355. uint32_t __31_6 : 26; // [31:6]
  2356. } b;
  2357. } REG_CAMERA_BLC_THR_T;
  2358. // lsc_xy_cent
  2359. typedef union {
  2360. uint32_t v;
  2361. struct
  2362. {
  2363. uint32_t y_cent : 4; // [3:0]
  2364. uint32_t x_cent : 4; // [7:4]
  2365. uint32_t __31_8 : 24; // [31:8]
  2366. } b;
  2367. } REG_CAMERA_LSC_XY_CENT_T;
  2368. // cnr_dif_thr
  2369. typedef union {
  2370. uint32_t v;
  2371. struct
  2372. {
  2373. uint32_t cnr_v_en : 1; // [0]
  2374. uint32_t cnr_h_en : 1; // [1]
  2375. uint32_t vcnr_sel : 1; // [2]
  2376. uint32_t edge_mon : 1; // [3]
  2377. uint32_t awb_skin_mode : 3; // [6:4]
  2378. uint32_t gamma_type : 1; // [7], read only
  2379. uint32_t __31_8 : 24; // [31:8]
  2380. } b;
  2381. } REG_CAMERA_CNR_DIF_THR_T;
  2382. // cnr_thr
  2383. typedef union {
  2384. uint32_t v;
  2385. struct
  2386. {
  2387. uint32_t cnr_thr_v : 3; // [2:0]
  2388. uint32_t edge_en_v : 1; // [3]
  2389. uint32_t cnr_thr_h : 3; // [6:4]
  2390. uint32_t edge_en_h : 1; // [7]
  2391. uint32_t __31_8 : 24; // [31:8]
  2392. } b;
  2393. } REG_CAMERA_CNR_THR_T;
  2394. // gamma_ctrl
  2395. typedef union {
  2396. uint32_t v;
  2397. struct
  2398. {
  2399. uint32_t gamma_p_id : 1; // [0]
  2400. uint32_t gamma_l_id : 1; // [1]
  2401. uint32_t gamma_en_non_outdoor : 1; // [2]
  2402. uint32_t gamma_en_outdoor : 1; // [3]
  2403. uint32_t lsc_p_id : 1; // [4]
  2404. uint32_t lsc_l_id : 1; // [5]
  2405. uint32_t lsc_en_non_outdoor : 1; // [6]
  2406. uint32_t lsc_en_outdoor : 1; // [7]
  2407. uint32_t __31_8 : 24; // [31:8]
  2408. } b;
  2409. } REG_CAMERA_GAMMA_CTRL_T;
  2410. // bayer_gamma_b0
  2411. typedef union {
  2412. uint32_t v;
  2413. struct
  2414. {
  2415. uint32_t bayer_gamma_b0 : 8; // [7:0]
  2416. uint32_t __31_8 : 24; // [31:8]
  2417. } b;
  2418. } REG_CAMERA_BAYER_GAMMA_B0_T;
  2419. // bayer_gamma_b1
  2420. typedef union {
  2421. uint32_t v;
  2422. struct
  2423. {
  2424. uint32_t bayer_gamma_b1 : 8; // [7:0]
  2425. uint32_t __31_8 : 24; // [31:8]
  2426. } b;
  2427. } REG_CAMERA_BAYER_GAMMA_B1_T;
  2428. // bayer_gamma_b2
  2429. typedef union {
  2430. uint32_t v;
  2431. struct
  2432. {
  2433. uint32_t bayer_gamma_b2 : 8; // [7:0]
  2434. uint32_t __31_8 : 24; // [31:8]
  2435. } b;
  2436. } REG_CAMERA_BAYER_GAMMA_B2_T;
  2437. // bayer_gamma_b3
  2438. typedef union {
  2439. uint32_t v;
  2440. struct
  2441. {
  2442. uint32_t bayer_gamma_b3 : 8; // [7:0]
  2443. uint32_t __31_8 : 24; // [31:8]
  2444. } b;
  2445. } REG_CAMERA_BAYER_GAMMA_B3_T;
  2446. // bayer_gamma_b4
  2447. typedef union {
  2448. uint32_t v;
  2449. struct
  2450. {
  2451. uint32_t bayer_gamma_b4 : 8; // [7:0]
  2452. uint32_t __31_8 : 24; // [31:8]
  2453. } b;
  2454. } REG_CAMERA_BAYER_GAMMA_B4_T;
  2455. // bayer_gamma_b6
  2456. typedef union {
  2457. uint32_t v;
  2458. struct
  2459. {
  2460. uint32_t bayer_gamma_b6 : 8; // [7:0]
  2461. uint32_t __31_8 : 24; // [31:8]
  2462. } b;
  2463. } REG_CAMERA_BAYER_GAMMA_B6_T;
  2464. // bayer_gamma_b8
  2465. typedef union {
  2466. uint32_t v;
  2467. struct
  2468. {
  2469. uint32_t bayer_gamma_b8 : 8; // [7:0]
  2470. uint32_t __31_8 : 24; // [31:8]
  2471. } b;
  2472. } REG_CAMERA_BAYER_GAMMA_B8_T;
  2473. // bayer_gamma_b10
  2474. typedef union {
  2475. uint32_t v;
  2476. struct
  2477. {
  2478. uint32_t bayer_gamma_b10 : 8; // [7:0]
  2479. uint32_t __31_8 : 24; // [31:8]
  2480. } b;
  2481. } REG_CAMERA_BAYER_GAMMA_B10_T;
  2482. // bayer_gamma_b12
  2483. typedef union {
  2484. uint32_t v;
  2485. struct
  2486. {
  2487. uint32_t bayer_gamma_b12 : 8; // [7:0]
  2488. uint32_t __31_8 : 24; // [31:8]
  2489. } b;
  2490. } REG_CAMERA_BAYER_GAMMA_B12_T;
  2491. // bayer_gamma_b16
  2492. typedef union {
  2493. uint32_t v;
  2494. struct
  2495. {
  2496. uint32_t bayer_gamma_b16 : 8; // [7:0]
  2497. uint32_t __31_8 : 24; // [31:8]
  2498. } b;
  2499. } REG_CAMERA_BAYER_GAMMA_B16_T;
  2500. // bayer_gamma_b20
  2501. typedef union {
  2502. uint32_t v;
  2503. struct
  2504. {
  2505. uint32_t bayer_gamma_b20 : 8; // [7:0]
  2506. uint32_t __31_8 : 24; // [31:8]
  2507. } b;
  2508. } REG_CAMERA_BAYER_GAMMA_B20_T;
  2509. // bayer_gamma_b24
  2510. typedef union {
  2511. uint32_t v;
  2512. struct
  2513. {
  2514. uint32_t bayer_gamma_b24 : 8; // [7:0]
  2515. uint32_t __31_8 : 24; // [31:8]
  2516. } b;
  2517. } REG_CAMERA_BAYER_GAMMA_B24_T;
  2518. // bayer_gamma_b28
  2519. typedef union {
  2520. uint32_t v;
  2521. struct
  2522. {
  2523. uint32_t bayer_gamma_b28 : 8; // [7:0]
  2524. uint32_t __31_8 : 24; // [31:8]
  2525. } b;
  2526. } REG_CAMERA_BAYER_GAMMA_B28_T;
  2527. // bayer_gamma_b32
  2528. typedef union {
  2529. uint32_t v;
  2530. struct
  2531. {
  2532. uint32_t bayer_gamma_b32 : 8; // [7:0]
  2533. uint32_t __31_8 : 24; // [31:8]
  2534. } b;
  2535. } REG_CAMERA_BAYER_GAMMA_B32_T;
  2536. // bayer_gamma_b36
  2537. typedef union {
  2538. uint32_t v;
  2539. struct
  2540. {
  2541. uint32_t bayer_gamma_b36 : 8; // [7:0]
  2542. uint32_t __31_8 : 24; // [31:8]
  2543. } b;
  2544. } REG_CAMERA_BAYER_GAMMA_B36_T;
  2545. // bayer_gamma_b40
  2546. typedef union {
  2547. uint32_t v;
  2548. struct
  2549. {
  2550. uint32_t bayer_gamma_b40 : 8; // [7:0]
  2551. uint32_t __31_8 : 24; // [31:8]
  2552. } b;
  2553. } REG_CAMERA_BAYER_GAMMA_B40_T;
  2554. // bayer_gamma_b48
  2555. typedef union {
  2556. uint32_t v;
  2557. struct
  2558. {
  2559. uint32_t bayer_gamma_b48 : 8; // [7:0]
  2560. uint32_t __31_8 : 24; // [31:8]
  2561. } b;
  2562. } REG_CAMERA_BAYER_GAMMA_B48_T;
  2563. // bayer_gamma_b56
  2564. typedef union {
  2565. uint32_t v;
  2566. struct
  2567. {
  2568. uint32_t bayer_gamma_b56 : 8; // [7:0]
  2569. uint32_t __31_8 : 24; // [31:8]
  2570. } b;
  2571. } REG_CAMERA_BAYER_GAMMA_B56_T;
  2572. // bayer_gamma_b64
  2573. typedef union {
  2574. uint32_t v;
  2575. struct
  2576. {
  2577. uint32_t bayer_gamma_b64 : 8; // [7:0]
  2578. uint32_t __31_8 : 24; // [31:8]
  2579. } b;
  2580. } REG_CAMERA_BAYER_GAMMA_B64_T;
  2581. // blc_out0
  2582. typedef union {
  2583. uint32_t v;
  2584. struct
  2585. {
  2586. uint32_t blc_out0 : 8; // [7:0], read only
  2587. uint32_t __31_8 : 24; // [31:8]
  2588. } b;
  2589. } REG_CAMERA_BLC_OUT0_T;
  2590. // blc_out1
  2591. typedef union {
  2592. uint32_t v;
  2593. struct
  2594. {
  2595. uint32_t blc_out1 : 8; // [7:0], read only
  2596. uint32_t __31_8 : 24; // [31:8]
  2597. } b;
  2598. } REG_CAMERA_BLC_OUT1_T;
  2599. // dpc_ctrl_0
  2600. typedef union {
  2601. uint32_t v;
  2602. struct
  2603. {
  2604. uint32_t dpc_on : 1; // [0]
  2605. uint32_t adp_med_sel : 1; // [1]
  2606. uint32_t ana_gain_cmp : 2; // [3:2]
  2607. uint32_t rsvd : 1; // [4]
  2608. uint32_t nrf_gaus_sel : 1; // [5]
  2609. uint32_t bayer_nr_on : 1; // [6]
  2610. uint32_t cc_on : 1; // [7]
  2611. uint32_t __31_8 : 24; // [31:8]
  2612. } b;
  2613. } REG_CAMERA_DPC_CTRL_0_T;
  2614. // dpc_ctrl_1
  2615. typedef union {
  2616. uint32_t v;
  2617. struct
  2618. {
  2619. uint32_t int_flg_cmp : 2; // [1:0]
  2620. uint32_t abs_sign_all_cmp : 2; // [3:2]
  2621. uint32_t int_dif_sel : 1; // [4]
  2622. uint32_t __31_5 : 27; // [31:5]
  2623. } b;
  2624. } REG_CAMERA_DPC_CTRL_1_T;
  2625. // y_thr_lo
  2626. typedef union {
  2627. uint32_t v;
  2628. struct
  2629. {
  2630. uint32_t y_thr_lo : 8; // [7:0]
  2631. uint32_t __31_8 : 24; // [31:8]
  2632. } b;
  2633. } REG_CAMERA_Y_THR_LO_T;
  2634. // y_thr_mid
  2635. typedef union {
  2636. uint32_t v;
  2637. struct
  2638. {
  2639. uint32_t y_thr_mid : 8; // [7:0]
  2640. uint32_t __31_8 : 24; // [31:8]
  2641. } b;
  2642. } REG_CAMERA_Y_THR_MID_T;
  2643. // y_thr_hi
  2644. typedef union {
  2645. uint32_t v;
  2646. struct
  2647. {
  2648. uint32_t y_thr_hi : 8; // [7:0]
  2649. uint32_t __31_8 : 24; // [31:8]
  2650. } b;
  2651. } REG_CAMERA_Y_THR_HI_T;
  2652. // intp_cfa_hv
  2653. typedef union {
  2654. uint32_t v;
  2655. struct
  2656. {
  2657. uint32_t cfa_v_thr_l : 3; // [2:0]
  2658. uint32_t rsvd1 : 1; // [3]
  2659. uint32_t cfa_h_thr_l : 3; // [6:4]
  2660. uint32_t rsvd2 : 1; // [7]
  2661. uint32_t __31_8 : 24; // [31:8]
  2662. } b;
  2663. } REG_CAMERA_INTP_CFA_HV_T;
  2664. // manual_adj
  2665. typedef union {
  2666. uint32_t v;
  2667. struct
  2668. {
  2669. uint32_t b_gain_adj : 1; // [0]
  2670. uint32_t g_gain_adj : 1; // [1]
  2671. uint32_t r_gain_adj : 1; // [2]
  2672. uint32_t ana_gain_adj : 1; // [3]
  2673. uint32_t adj_direction : 1; // [4]
  2674. uint32_t index_manual_adj : 1; // [5]
  2675. uint32_t in_capture_awb : 1; // [6]
  2676. uint32_t in_capture_ae : 1; // [7]
  2677. uint32_t __31_8 : 24; // [31:8]
  2678. } b;
  2679. } REG_CAMERA_MANUAL_ADJ_T;
  2680. // dpc_int_thr_lo
  2681. typedef union {
  2682. uint32_t v;
  2683. struct
  2684. {
  2685. uint32_t dpc_int_thr_lo : 8; // [7:0]
  2686. uint32_t __31_8 : 24; // [31:8]
  2687. } b;
  2688. } REG_CAMERA_DPC_INT_THR_LO_T;
  2689. // dpc_int_thr_hi
  2690. typedef union {
  2691. uint32_t v;
  2692. struct
  2693. {
  2694. uint32_t dpc_int_thr_hi : 8; // [7:0]
  2695. uint32_t __31_8 : 24; // [31:8]
  2696. } b;
  2697. } REG_CAMERA_DPC_INT_THR_HI_T;
  2698. // again_sel_th1
  2699. typedef union {
  2700. uint32_t v;
  2701. struct
  2702. {
  2703. uint32_t bnr_gain_low_th : 3; // [2:0]
  2704. uint32_t again_sel_th1_rsvd : 1; // [3]
  2705. uint32_t bnr_gain_hi_th : 3; // [6:4]
  2706. uint32_t __31_7 : 25; // [31:7]
  2707. } b;
  2708. } REG_CAMERA_AGAIN_SEL_TH1_T;
  2709. // dpc_nr_lf_str_lo
  2710. typedef union {
  2711. uint32_t v;
  2712. struct
  2713. {
  2714. uint32_t dpc_nr_lf_str_lo : 8; // [7:0]
  2715. uint32_t __31_8 : 24; // [31:8]
  2716. } b;
  2717. } REG_CAMERA_DPC_NR_LF_STR_LO_T;
  2718. // dpc_nr_hf_str_lo
  2719. typedef union {
  2720. uint32_t v;
  2721. struct
  2722. {
  2723. uint32_t dpc_nr_hf_str_lo : 8; // [7:0]
  2724. uint32_t __31_8 : 24; // [31:8]
  2725. } b;
  2726. } REG_CAMERA_DPC_NR_HF_STR_LO_T;
  2727. // dpc_nr_area_thr_lo
  2728. typedef union {
  2729. uint32_t v;
  2730. struct
  2731. {
  2732. uint32_t dpc_nr_area_thr_lo : 8; // [7:0]
  2733. uint32_t __31_8 : 24; // [31:8]
  2734. } b;
  2735. } REG_CAMERA_DPC_NR_AREA_THR_LO_T;
  2736. // dpc_nr_lf_str_mid
  2737. typedef union {
  2738. uint32_t v;
  2739. struct
  2740. {
  2741. uint32_t dpc_nr_lf_str_mid : 8; // [7:0]
  2742. uint32_t __31_8 : 24; // [31:8]
  2743. } b;
  2744. } REG_CAMERA_DPC_NR_LF_STR_MID_T;
  2745. // dpc_nr_hf_str_mid
  2746. typedef union {
  2747. uint32_t v;
  2748. struct
  2749. {
  2750. uint32_t dpc_nr_hf_str_mid : 8; // [7:0]
  2751. uint32_t __31_8 : 24; // [31:8]
  2752. } b;
  2753. } REG_CAMERA_DPC_NR_HF_STR_MID_T;
  2754. // dpc_nr_area_thr_mid
  2755. typedef union {
  2756. uint32_t v;
  2757. struct
  2758. {
  2759. uint32_t dpc_nr_area_thr_mid : 8; // [7:0]
  2760. uint32_t __31_8 : 24; // [31:8]
  2761. } b;
  2762. } REG_CAMERA_DPC_NR_AREA_THR_MID_T;
  2763. // dpc_nr_lf_str_hi
  2764. typedef union {
  2765. uint32_t v;
  2766. struct
  2767. {
  2768. uint32_t dpc_nr_lf_str_hi : 8; // [7:0]
  2769. uint32_t __31_8 : 24; // [31:8]
  2770. } b;
  2771. } REG_CAMERA_DPC_NR_LF_STR_HI_T;
  2772. // dpc_nr_hf_str_hi
  2773. typedef union {
  2774. uint32_t v;
  2775. struct
  2776. {
  2777. uint32_t dpc_nr_hf_str_hi : 8; // [7:0]
  2778. uint32_t __31_8 : 24; // [31:8]
  2779. } b;
  2780. } REG_CAMERA_DPC_NR_HF_STR_HI_T;
  2781. // dpc_nr_area_thr_hi
  2782. typedef union {
  2783. uint32_t v;
  2784. struct
  2785. {
  2786. uint32_t dpc_nr_area_thr_hi : 8; // [7:0]
  2787. uint32_t __31_8 : 24; // [31:8]
  2788. } b;
  2789. } REG_CAMERA_DPC_NR_AREA_THR_HI_T;
  2790. // intp_ctrl
  2791. typedef union {
  2792. uint32_t v;
  2793. struct
  2794. {
  2795. uint32_t pid_inv_en : 1; // [0]
  2796. uint32_t lid_inv_en : 1; // [1]
  2797. uint32_t gfilter_en : 1; // [2]
  2798. uint32_t gfilter3_en : 1; // [3]
  2799. uint32_t gfliter5_en : 1; // [4]
  2800. uint32_t sort_sel : 3; // [7:5]
  2801. uint32_t __31_8 : 24; // [31:8]
  2802. } b;
  2803. } REG_CAMERA_INTP_CTRL_T;
  2804. // intp_cfa_h_thr
  2805. typedef union {
  2806. uint32_t v;
  2807. struct
  2808. {
  2809. uint32_t intp_cfa_h_thr : 8; // [7:0]
  2810. uint32_t __31_8 : 24; // [31:8]
  2811. } b;
  2812. } REG_CAMERA_INTP_CFA_H_THR_T;
  2813. // intp_cfa_v_thr
  2814. typedef union {
  2815. uint32_t v;
  2816. struct
  2817. {
  2818. uint32_t intp_cfa_v_thr : 8; // [7:0]
  2819. uint32_t __31_8 : 24; // [31:8]
  2820. } b;
  2821. } REG_CAMERA_INTP_CFA_V_THR_T;
  2822. // intp_grgb_sel_lmt
  2823. typedef union {
  2824. uint32_t v;
  2825. struct
  2826. {
  2827. uint32_t intp_grgb_sel_lmt : 8; // [7:0]
  2828. uint32_t __31_8 : 24; // [31:8]
  2829. } b;
  2830. } REG_CAMERA_INTP_GRGB_SEL_LMT_T;
  2831. // intp_gf_lmt_thr
  2832. typedef union {
  2833. uint32_t v;
  2834. struct
  2835. {
  2836. uint32_t intp_gf_lmt_thr : 8; // [7:0]
  2837. uint32_t __31_8 : 24; // [31:8]
  2838. } b;
  2839. } REG_CAMERA_INTP_GF_LMT_THR_T;
  2840. // cc_r_offset
  2841. typedef union {
  2842. uint32_t v;
  2843. struct
  2844. {
  2845. uint32_t cc_r_offset : 8; // [7:0]
  2846. uint32_t __31_8 : 24; // [31:8]
  2847. } b;
  2848. } REG_CAMERA_CC_R_OFFSET_T;
  2849. // cc_g_offset
  2850. typedef union {
  2851. uint32_t v;
  2852. struct
  2853. {
  2854. uint32_t cc_g_offset : 8; // [7:0]
  2855. uint32_t __31_8 : 24; // [31:8]
  2856. } b;
  2857. } REG_CAMERA_CC_G_OFFSET_T;
  2858. // cc_b_offset
  2859. typedef union {
  2860. uint32_t v;
  2861. struct
  2862. {
  2863. uint32_t cc_b_offset : 8; // [7:0]
  2864. uint32_t __31_8 : 24; // [31:8]
  2865. } b;
  2866. } REG_CAMERA_CC_B_OFFSET_T;
  2867. // cc_00
  2868. typedef union {
  2869. uint32_t v;
  2870. struct
  2871. {
  2872. uint32_t cc_00 : 8; // [7:0]
  2873. uint32_t __31_8 : 24; // [31:8]
  2874. } b;
  2875. } REG_CAMERA_CC_00_T;
  2876. // cc_01
  2877. typedef union {
  2878. uint32_t v;
  2879. struct
  2880. {
  2881. uint32_t cc_01 : 8; // [7:0]
  2882. uint32_t __31_8 : 24; // [31:8]
  2883. } b;
  2884. } REG_CAMERA_CC_01_T;
  2885. // cc_10
  2886. typedef union {
  2887. uint32_t v;
  2888. struct
  2889. {
  2890. uint32_t cc_10 : 8; // [7:0]
  2891. uint32_t __31_8 : 24; // [31:8]
  2892. } b;
  2893. } REG_CAMERA_CC_10_T;
  2894. // cc_11
  2895. typedef union {
  2896. uint32_t v;
  2897. struct
  2898. {
  2899. uint32_t cc_11 : 8; // [7:0]
  2900. uint32_t __31_8 : 24; // [31:8]
  2901. } b;
  2902. } REG_CAMERA_CC_11_T;
  2903. // cc_20
  2904. typedef union {
  2905. uint32_t v;
  2906. struct
  2907. {
  2908. uint32_t cc_20 : 8; // [7:0]
  2909. uint32_t __31_8 : 24; // [31:8]
  2910. } b;
  2911. } REG_CAMERA_CC_20_T;
  2912. // cc_21
  2913. typedef union {
  2914. uint32_t v;
  2915. struct
  2916. {
  2917. uint32_t cc_21 : 8; // [7:0]
  2918. uint32_t __31_8 : 24; // [31:8]
  2919. } b;
  2920. } REG_CAMERA_CC_21_T;
  2921. // cc_r_offset_post
  2922. typedef union {
  2923. uint32_t v;
  2924. struct
  2925. {
  2926. uint32_t cc_r_offset_post : 8; // [7:0]
  2927. uint32_t __31_8 : 24; // [31:8]
  2928. } b;
  2929. } REG_CAMERA_CC_R_OFFSET_POST_T;
  2930. // cc_g_offset_post
  2931. typedef union {
  2932. uint32_t v;
  2933. struct
  2934. {
  2935. uint32_t cc_g_offset_post : 8; // [7:0]
  2936. uint32_t __31_8 : 24; // [31:8]
  2937. } b;
  2938. } REG_CAMERA_CC_G_OFFSET_POST_T;
  2939. // cc_b_offset_post
  2940. typedef union {
  2941. uint32_t v;
  2942. struct
  2943. {
  2944. uint32_t cc_b_offset_post : 8; // [7:0]
  2945. uint32_t __31_8 : 24; // [31:8]
  2946. } b;
  2947. } REG_CAMERA_CC_B_OFFSET_POST_T;
  2948. // cc2_r_offset
  2949. typedef union {
  2950. uint32_t v;
  2951. struct
  2952. {
  2953. uint32_t cc2_r_offset : 8; // [7:0]
  2954. uint32_t __31_8 : 24; // [31:8]
  2955. } b;
  2956. } REG_CAMERA_CC2_R_OFFSET_T;
  2957. // cc2_g_offset
  2958. typedef union {
  2959. uint32_t v;
  2960. struct
  2961. {
  2962. uint32_t cc2_g_offset : 8; // [7:0]
  2963. uint32_t __31_8 : 24; // [31:8]
  2964. } b;
  2965. } REG_CAMERA_CC2_G_OFFSET_T;
  2966. // cc2_b_offset
  2967. typedef union {
  2968. uint32_t v;
  2969. struct
  2970. {
  2971. uint32_t cc2_b_offset : 8; // [7:0]
  2972. uint32_t __31_8 : 24; // [31:8]
  2973. } b;
  2974. } REG_CAMERA_CC2_B_OFFSET_T;
  2975. // cc2_00
  2976. typedef union {
  2977. uint32_t v;
  2978. struct
  2979. {
  2980. uint32_t cc2_00 : 8; // [7:0]
  2981. uint32_t __31_8 : 24; // [31:8]
  2982. } b;
  2983. } REG_CAMERA_CC2_00_T;
  2984. // cc2_01
  2985. typedef union {
  2986. uint32_t v;
  2987. struct
  2988. {
  2989. uint32_t cc2_01 : 8; // [7:0]
  2990. uint32_t __31_8 : 24; // [31:8]
  2991. } b;
  2992. } REG_CAMERA_CC2_01_T;
  2993. // cc2_10
  2994. typedef union {
  2995. uint32_t v;
  2996. struct
  2997. {
  2998. uint32_t cc2_10 : 8; // [7:0]
  2999. uint32_t __31_8 : 24; // [31:8]
  3000. } b;
  3001. } REG_CAMERA_CC2_10_T;
  3002. // cc2_11
  3003. typedef union {
  3004. uint32_t v;
  3005. struct
  3006. {
  3007. uint32_t cc2_11 : 8; // [7:0]
  3008. uint32_t __31_8 : 24; // [31:8]
  3009. } b;
  3010. } REG_CAMERA_CC2_11_T;
  3011. // cc2_20
  3012. typedef union {
  3013. uint32_t v;
  3014. struct
  3015. {
  3016. uint32_t cc2_20 : 8; // [7:0]
  3017. uint32_t __31_8 : 24; // [31:8]
  3018. } b;
  3019. } REG_CAMERA_CC2_20_T;
  3020. // cc2_21
  3021. typedef union {
  3022. uint32_t v;
  3023. struct
  3024. {
  3025. uint32_t cc2_21 : 8; // [7:0]
  3026. uint32_t __31_8 : 24; // [31:8]
  3027. } b;
  3028. } REG_CAMERA_CC2_21_T;
  3029. // sharp_lmt
  3030. typedef union {
  3031. uint32_t v;
  3032. struct
  3033. {
  3034. uint32_t sharp_lmt : 7; // [6:0]
  3035. uint32_t sharp_final_h : 1; // [7]
  3036. uint32_t __31_8 : 24; // [31:8]
  3037. } b;
  3038. } REG_CAMERA_SHARP_LMT_T;
  3039. // sharp_mode
  3040. typedef union {
  3041. uint32_t v;
  3042. struct
  3043. {
  3044. uint32_t sharp_cmp_gap_lo : 4; // [3:0]
  3045. uint32_t sharp_final : 2; // [5:4]
  3046. uint32_t sharp_sel : 1; // [6]
  3047. uint32_t rgb_test_pattern : 1; // [7]
  3048. uint32_t __31_8 : 24; // [31:8]
  3049. } b;
  3050. } REG_CAMERA_SHARP_MODE_T;
  3051. // sharp_gain_str_lo
  3052. typedef union {
  3053. uint32_t v;
  3054. struct
  3055. {
  3056. uint32_t sharp_gain_str_lo : 8; // [7:0]
  3057. uint32_t __31_8 : 24; // [31:8]
  3058. } b;
  3059. } REG_CAMERA_SHARP_GAIN_STR_LO_T;
  3060. // sharp_nr_area_thr_lo
  3061. typedef union {
  3062. uint32_t v;
  3063. struct
  3064. {
  3065. uint32_t sharp_nr_area_thr_lo : 7; // [6:0]
  3066. uint32_t __31_7 : 25; // [31:7]
  3067. } b;
  3068. } REG_CAMERA_SHARP_NR_AREA_THR_LO_T;
  3069. // sharp_gain_str_mid
  3070. typedef union {
  3071. uint32_t v;
  3072. struct
  3073. {
  3074. uint32_t sharp_gain_str_mid : 8; // [7:0]
  3075. uint32_t __31_8 : 24; // [31:8]
  3076. } b;
  3077. } REG_CAMERA_SHARP_GAIN_STR_MID_T;
  3078. // sharp_nr_area_thr_mid
  3079. typedef union {
  3080. uint32_t v;
  3081. struct
  3082. {
  3083. uint32_t sharp_nr_area_thr_mid : 7; // [6:0]
  3084. uint32_t __31_7 : 25; // [31:7]
  3085. } b;
  3086. } REG_CAMERA_SHARP_NR_AREA_THR_MID_T;
  3087. // sharp_gain_str_hi
  3088. typedef union {
  3089. uint32_t v;
  3090. struct
  3091. {
  3092. uint32_t sharp_gain_str_hi : 8; // [7:0]
  3093. uint32_t __31_8 : 24; // [31:8]
  3094. } b;
  3095. } REG_CAMERA_SHARP_GAIN_STR_HI_T;
  3096. // sharp_nr_area_thr_hi
  3097. typedef union {
  3098. uint32_t v;
  3099. struct
  3100. {
  3101. uint32_t sharp_nr_area_thr_hi : 7; // [6:0]
  3102. uint32_t __31_7 : 25; // [31:7]
  3103. } b;
  3104. } REG_CAMERA_SHARP_NR_AREA_THR_HI_T;
  3105. // ynr_ctrl_reg
  3106. typedef union {
  3107. uint32_t v;
  3108. struct
  3109. {
  3110. uint32_t ynr_on : 1; // [0]
  3111. uint32_t ynr_edge_methode : 2; // [2:1]
  3112. uint32_t sharp_on : 1; // [3]
  3113. uint32_t sharp_plus_mode : 2; // [5:4]
  3114. uint32_t y_ae_sel : 2; // [7:6]
  3115. uint32_t __31_8 : 24; // [31:8]
  3116. } b;
  3117. } REG_CAMERA_YNR_CTRL_REG_T;
  3118. // ynr_lf_method_str
  3119. typedef union {
  3120. uint32_t v;
  3121. struct
  3122. {
  3123. uint32_t ynr_lf_method_str : 8; // [7:0]
  3124. uint32_t __31_8 : 24; // [31:8]
  3125. } b;
  3126. } REG_CAMERA_YNR_LF_METHOD_STR_T;
  3127. // ynr_lf_str_lo
  3128. typedef union {
  3129. uint32_t v;
  3130. struct
  3131. {
  3132. uint32_t ynr_lf_str_lo : 8; // [7:0]
  3133. uint32_t __31_8 : 24; // [31:8]
  3134. } b;
  3135. } REG_CAMERA_YNR_LF_STR_LO_T;
  3136. // ynr_hf_str_lo
  3137. typedef union {
  3138. uint32_t v;
  3139. struct
  3140. {
  3141. uint32_t ynr_hf_str_lo : 8; // [7:0]
  3142. uint32_t __31_8 : 24; // [31:8]
  3143. } b;
  3144. } REG_CAMERA_YNR_HF_STR_LO_T;
  3145. // ynr_area_thr_lo
  3146. typedef union {
  3147. uint32_t v;
  3148. struct
  3149. {
  3150. uint32_t ynr_area_thr_lo : 8; // [7:0]
  3151. uint32_t __31_8 : 24; // [31:8]
  3152. } b;
  3153. } REG_CAMERA_YNR_AREA_THR_LO_T;
  3154. // ynr_lf_str_mid
  3155. typedef union {
  3156. uint32_t v;
  3157. struct
  3158. {
  3159. uint32_t ynr_lf_str_mid : 8; // [7:0]
  3160. uint32_t __31_8 : 24; // [31:8]
  3161. } b;
  3162. } REG_CAMERA_YNR_LF_STR_MID_T;
  3163. // ynr_hf_str_mid
  3164. typedef union {
  3165. uint32_t v;
  3166. struct
  3167. {
  3168. uint32_t ynr_hf_str_mid : 8; // [7:0]
  3169. uint32_t __31_8 : 24; // [31:8]
  3170. } b;
  3171. } REG_CAMERA_YNR_HF_STR_MID_T;
  3172. // ynr_area_thr_mid
  3173. typedef union {
  3174. uint32_t v;
  3175. struct
  3176. {
  3177. uint32_t ynr_area_thr_mid : 8; // [7:0]
  3178. uint32_t __31_8 : 24; // [31:8]
  3179. } b;
  3180. } REG_CAMERA_YNR_AREA_THR_MID_T;
  3181. // ynr_lf_str_hi
  3182. typedef union {
  3183. uint32_t v;
  3184. struct
  3185. {
  3186. uint32_t ynr_lf_str_hi : 8; // [7:0]
  3187. uint32_t __31_8 : 24; // [31:8]
  3188. } b;
  3189. } REG_CAMERA_YNR_LF_STR_HI_T;
  3190. // ynr_hf_str_hi
  3191. typedef union {
  3192. uint32_t v;
  3193. struct
  3194. {
  3195. uint32_t ynr_hf_str_hi : 8; // [7:0]
  3196. uint32_t __31_8 : 24; // [31:8]
  3197. } b;
  3198. } REG_CAMERA_YNR_HF_STR_HI_T;
  3199. // ynr_area_thr_hi
  3200. typedef union {
  3201. uint32_t v;
  3202. struct
  3203. {
  3204. uint32_t ynr_area_thr_hi : 8; // [7:0]
  3205. uint32_t __31_8 : 24; // [31:8]
  3206. } b;
  3207. } REG_CAMERA_YNR_AREA_THR_HI_T;
  3208. // hue_sin_reg
  3209. typedef union {
  3210. uint32_t v;
  3211. struct
  3212. {
  3213. uint32_t hue_sin_reg : 8; // [7:0]
  3214. uint32_t __31_8 : 24; // [31:8]
  3215. } b;
  3216. } REG_CAMERA_HUE_SIN_REG_T;
  3217. // hue_cos_reg
  3218. typedef union {
  3219. uint32_t v;
  3220. struct
  3221. {
  3222. uint32_t hue_cosx_reg : 7; // [6:0]
  3223. uint32_t sin_sign_reg : 1; // [7]
  3224. uint32_t __31_8 : 24; // [31:8]
  3225. } b;
  3226. } REG_CAMERA_HUE_COS_REG_T;
  3227. // cnr_1d_ctrl_reg
  3228. typedef union {
  3229. uint32_t v;
  3230. struct
  3231. {
  3232. uint32_t cnr_dif_thr_mid : 4; // [3:0]
  3233. uint32_t cnr_1d_on : 1; // [4]
  3234. uint32_t satur_on : 1; // [5]
  3235. uint32_t hue_on : 1; // [6]
  3236. uint32_t __31_7 : 25; // [31:7]
  3237. } b;
  3238. } REG_CAMERA_CNR_1D_CTRL_REG_T;
  3239. // cnr_xx_reg
  3240. typedef union {
  3241. uint32_t v;
  3242. struct
  3243. {
  3244. uint32_t cnr_dif_thr_low : 4; // [3:0]
  3245. uint32_t cnr_dif_thr_high : 4; // [7:4]
  3246. uint32_t __31_8 : 24; // [31:8]
  3247. } b;
  3248. } REG_CAMERA_CNR_XX_REG_T;
  3249. // in5_low_th_reg
  3250. typedef union {
  3251. uint32_t v;
  3252. struct
  3253. {
  3254. uint32_t in5_low_th_reg : 8; // [7:0]
  3255. uint32_t __31_8 : 24; // [31:8]
  3256. } b;
  3257. } REG_CAMERA_IN5_LOW_TH_REG_T;
  3258. // in5_high_th_reg
  3259. typedef union {
  3260. uint32_t v;
  3261. struct
  3262. {
  3263. uint32_t in5_high_th_reg : 8; // [7:0]
  3264. uint32_t __31_8 : 24; // [31:8]
  3265. } b;
  3266. } REG_CAMERA_IN5_HIGH_TH_REG_T;
  3267. // p2_up_r_reg
  3268. typedef union {
  3269. uint32_t v;
  3270. struct
  3271. {
  3272. uint32_t p2_up_r_reg : 8; // [7:0]
  3273. uint32_t __31_8 : 24; // [31:8]
  3274. } b;
  3275. } REG_CAMERA_P2_UP_R_REG_T;
  3276. // p2_up_g_reg
  3277. typedef union {
  3278. uint32_t v;
  3279. struct
  3280. {
  3281. uint32_t p2_up_g_reg : 8; // [7:0]
  3282. uint32_t __31_8 : 24; // [31:8]
  3283. } b;
  3284. } REG_CAMERA_P2_UP_G_REG_T;
  3285. // p2_up_b_reg
  3286. typedef union {
  3287. uint32_t v;
  3288. struct
  3289. {
  3290. uint32_t p2_up_b_reg : 8; // [7:0]
  3291. uint32_t __31_8 : 24; // [31:8]
  3292. } b;
  3293. } REG_CAMERA_P2_UP_B_REG_T;
  3294. // p2_down_r_reg
  3295. typedef union {
  3296. uint32_t v;
  3297. struct
  3298. {
  3299. uint32_t p2_down_r_reg : 8; // [7:0]
  3300. uint32_t __31_8 : 24; // [31:8]
  3301. } b;
  3302. } REG_CAMERA_P2_DOWN_R_REG_T;
  3303. // p2_down_g_reg
  3304. typedef union {
  3305. uint32_t v;
  3306. struct
  3307. {
  3308. uint32_t p2_down_g_reg : 8; // [7:0]
  3309. uint32_t __31_8 : 24; // [31:8]
  3310. } b;
  3311. } REG_CAMERA_P2_DOWN_G_REG_T;
  3312. // p2_down_b_reg
  3313. typedef union {
  3314. uint32_t v;
  3315. struct
  3316. {
  3317. uint32_t p2_down_b_reg : 8; // [7:0]
  3318. uint32_t __31_8 : 24; // [31:8]
  3319. } b;
  3320. } REG_CAMERA_P2_DOWN_B_REG_T;
  3321. // p2_left_r_reg
  3322. typedef union {
  3323. uint32_t v;
  3324. struct
  3325. {
  3326. uint32_t p2_left_r_reg : 8; // [7:0]
  3327. uint32_t __31_8 : 24; // [31:8]
  3328. } b;
  3329. } REG_CAMERA_P2_LEFT_R_REG_T;
  3330. // p2_left_g_reg
  3331. typedef union {
  3332. uint32_t v;
  3333. struct
  3334. {
  3335. uint32_t p2_left_g_reg : 8; // [7:0]
  3336. uint32_t __31_8 : 24; // [31:8]
  3337. } b;
  3338. } REG_CAMERA_P2_LEFT_G_REG_T;
  3339. // p2_left_b_reg
  3340. typedef union {
  3341. uint32_t v;
  3342. struct
  3343. {
  3344. uint32_t p2_left_b_reg : 8; // [7:0]
  3345. uint32_t __31_8 : 24; // [31:8]
  3346. } b;
  3347. } REG_CAMERA_P2_LEFT_B_REG_T;
  3348. // p2_right_r_reg
  3349. typedef union {
  3350. uint32_t v;
  3351. struct
  3352. {
  3353. uint32_t p2_right_r_reg : 8; // [7:0]
  3354. uint32_t __31_8 : 24; // [31:8]
  3355. } b;
  3356. } REG_CAMERA_P2_RIGHT_R_REG_T;
  3357. // p2_right_g_reg
  3358. typedef union {
  3359. uint32_t v;
  3360. struct
  3361. {
  3362. uint32_t p2_right_g_reg : 8; // [7:0]
  3363. uint32_t __31_8 : 24; // [31:8]
  3364. } b;
  3365. } REG_CAMERA_P2_RIGHT_G_REG_T;
  3366. // p2_right_b_reg
  3367. typedef union {
  3368. uint32_t v;
  3369. struct
  3370. {
  3371. uint32_t p2_right_b_reg : 8; // [7:0]
  3372. uint32_t __31_8 : 24; // [31:8]
  3373. } b;
  3374. } REG_CAMERA_P2_RIGHT_B_REG_T;
  3375. // p4_q1_r_reg
  3376. typedef union {
  3377. uint32_t v;
  3378. struct
  3379. {
  3380. uint32_t p4_q1_r_reg : 8; // [7:0]
  3381. uint32_t __31_8 : 24; // [31:8]
  3382. } b;
  3383. } REG_CAMERA_P4_Q1_R_REG_T;
  3384. // p4_q1_g_reg
  3385. typedef union {
  3386. uint32_t v;
  3387. struct
  3388. {
  3389. uint32_t p4_q1_g_reg : 8; // [7:0]
  3390. uint32_t __31_8 : 24; // [31:8]
  3391. } b;
  3392. } REG_CAMERA_P4_Q1_G_REG_T;
  3393. // p4_q1_b_reg
  3394. typedef union {
  3395. uint32_t v;
  3396. struct
  3397. {
  3398. uint32_t p4_q1_b_reg : 8; // [7:0]
  3399. uint32_t __31_8 : 24; // [31:8]
  3400. } b;
  3401. } REG_CAMERA_P4_Q1_B_REG_T;
  3402. // p4_q2_r_reg
  3403. typedef union {
  3404. uint32_t v;
  3405. struct
  3406. {
  3407. uint32_t p4_q2_r_reg : 8; // [7:0]
  3408. uint32_t __31_8 : 24; // [31:8]
  3409. } b;
  3410. } REG_CAMERA_P4_Q2_R_REG_T;
  3411. // p4_q2_g_reg
  3412. typedef union {
  3413. uint32_t v;
  3414. struct
  3415. {
  3416. uint32_t p4_q2_g_reg : 8; // [7:0]
  3417. uint32_t __31_8 : 24; // [31:8]
  3418. } b;
  3419. } REG_CAMERA_P4_Q2_G_REG_T;
  3420. // p4_q2_b_reg
  3421. typedef union {
  3422. uint32_t v;
  3423. struct
  3424. {
  3425. uint32_t p4_q2_b_reg : 8; // [7:0]
  3426. uint32_t __31_8 : 24; // [31:8]
  3427. } b;
  3428. } REG_CAMERA_P4_Q2_B_REG_T;
  3429. // p4_q3_r_reg
  3430. typedef union {
  3431. uint32_t v;
  3432. struct
  3433. {
  3434. uint32_t p4_q3_r_reg : 8; // [7:0]
  3435. uint32_t __31_8 : 24; // [31:8]
  3436. } b;
  3437. } REG_CAMERA_P4_Q3_R_REG_T;
  3438. // p4_q3_g_reg
  3439. typedef union {
  3440. uint32_t v;
  3441. struct
  3442. {
  3443. uint32_t p4_q3_g_reg : 8; // [7:0]
  3444. uint32_t __31_8 : 24; // [31:8]
  3445. } b;
  3446. } REG_CAMERA_P4_Q3_G_REG_T;
  3447. // p4_q3_b_reg
  3448. typedef union {
  3449. uint32_t v;
  3450. struct
  3451. {
  3452. uint32_t p4_q3_b_reg : 8; // [7:0]
  3453. uint32_t __31_8 : 24; // [31:8]
  3454. } b;
  3455. } REG_CAMERA_P4_Q3_B_REG_T;
  3456. // p4_q4_r_reg
  3457. typedef union {
  3458. uint32_t v;
  3459. struct
  3460. {
  3461. uint32_t p4_q4_r_reg : 8; // [7:0]
  3462. uint32_t __31_8 : 24; // [31:8]
  3463. } b;
  3464. } REG_CAMERA_P4_Q4_R_REG_T;
  3465. // p4_q4_g_reg
  3466. typedef union {
  3467. uint32_t v;
  3468. struct
  3469. {
  3470. uint32_t p4_q4_g_reg : 8; // [7:0]
  3471. uint32_t __31_8 : 24; // [31:8]
  3472. } b;
  3473. } REG_CAMERA_P4_Q4_G_REG_T;
  3474. // p4_q4_b_reg
  3475. typedef union {
  3476. uint32_t v;
  3477. struct
  3478. {
  3479. uint32_t p4_q4_b_reg : 8; // [7:0]
  3480. uint32_t __31_8 : 24; // [31:8]
  3481. } b;
  3482. } REG_CAMERA_P4_Q4_B_REG_T;
  3483. // ae_e00_sta_reg
  3484. typedef union {
  3485. uint32_t v;
  3486. struct
  3487. {
  3488. uint32_t ae_e00_sta_line : 6; // [5:0]
  3489. uint32_t __31_6 : 26; // [31:6]
  3490. } b;
  3491. } REG_CAMERA_AE_E00_STA_REG_T;
  3492. // ae_e00_num_reg
  3493. typedef union {
  3494. uint32_t v;
  3495. struct
  3496. {
  3497. uint32_t ae_e00_num : 4; // [3:0]
  3498. uint32_t ae_e00_interval : 2; // [5:4]
  3499. uint32_t __31_6 : 26; // [31:6]
  3500. } b;
  3501. } REG_CAMERA_AE_E00_NUM_REG_T;
  3502. // ae_e01_sta_reg
  3503. typedef union {
  3504. uint32_t v;
  3505. struct
  3506. {
  3507. uint32_t ae_e01_sta_line : 6; // [5:0]
  3508. uint32_t __31_6 : 26; // [31:6]
  3509. } b;
  3510. } REG_CAMERA_AE_E01_STA_REG_T;
  3511. // ae_e01_num_reg
  3512. typedef union {
  3513. uint32_t v;
  3514. struct
  3515. {
  3516. uint32_t ae_e01_num : 4; // [3:0]
  3517. uint32_t ae_e01_interval : 3; // [6:4]
  3518. uint32_t __31_7 : 25; // [31:7]
  3519. } b;
  3520. } REG_CAMERA_AE_E01_NUM_REG_T;
  3521. // ae_e02_sta_reg
  3522. typedef union {
  3523. uint32_t v;
  3524. struct
  3525. {
  3526. uint32_t ae_e02_sta_line : 7; // [6:0]
  3527. uint32_t __31_7 : 25; // [31:7]
  3528. } b;
  3529. } REG_CAMERA_AE_E02_STA_REG_T;
  3530. // ae_e02_num_reg
  3531. typedef union {
  3532. uint32_t v;
  3533. struct
  3534. {
  3535. uint32_t ae_e02_num : 4; // [3:0]
  3536. uint32_t ae_e02_interval : 4; // [7:4]
  3537. uint32_t __31_8 : 24; // [31:8]
  3538. } b;
  3539. } REG_CAMERA_AE_E02_NUM_REG_T;
  3540. // ae_e1_sta_reg
  3541. typedef union {
  3542. uint32_t v;
  3543. struct
  3544. {
  3545. uint32_t ae_e1_sta_gain : 6; // [5:0]
  3546. uint32_t __31_6 : 26; // [31:6]
  3547. } b;
  3548. } REG_CAMERA_AE_E1_STA_REG_T;
  3549. // ae_e1_num_reg
  3550. typedef union {
  3551. uint32_t v;
  3552. struct
  3553. {
  3554. uint32_t ae_e1_num_reg : 4; // [3:0]
  3555. uint32_t __31_4 : 28; // [31:4]
  3556. } b;
  3557. } REG_CAMERA_AE_E1_NUM_REG_T;
  3558. // ae_e2_sta_reg
  3559. typedef union {
  3560. uint32_t v;
  3561. struct
  3562. {
  3563. uint32_t ae_e2_sta_gain : 6; // [5:0]
  3564. uint32_t __31_6 : 26; // [31:6]
  3565. } b;
  3566. } REG_CAMERA_AE_E2_STA_REG_T;
  3567. // ae_e2_num_reg
  3568. typedef union {
  3569. uint32_t v;
  3570. struct
  3571. {
  3572. uint32_t ae_e2_num_reg : 4; // [3:0]
  3573. uint32_t __31_4 : 28; // [31:4]
  3574. } b;
  3575. } REG_CAMERA_AE_E2_NUM_REG_T;
  3576. // ae_e3_sta_reg
  3577. typedef union {
  3578. uint32_t v;
  3579. struct
  3580. {
  3581. uint32_t ae_e3_sta_gain : 6; // [5:0]
  3582. uint32_t __31_6 : 26; // [31:6]
  3583. } b;
  3584. } REG_CAMERA_AE_E3_STA_REG_T;
  3585. // ae_e3_num_reg
  3586. typedef union {
  3587. uint32_t v;
  3588. struct
  3589. {
  3590. uint32_t ae_e3_num_reg : 4; // [3:0]
  3591. uint32_t __31_4 : 28; // [31:4]
  3592. } b;
  3593. } REG_CAMERA_AE_E3_NUM_REG_T;
  3594. // ae_e4_sta_reg
  3595. typedef union {
  3596. uint32_t v;
  3597. struct
  3598. {
  3599. uint32_t ae_e4_sta_gain : 6; // [5:0]
  3600. uint32_t __31_6 : 26; // [31:6]
  3601. } b;
  3602. } REG_CAMERA_AE_E4_STA_REG_T;
  3603. // ae_e4_num_reg
  3604. typedef union {
  3605. uint32_t v;
  3606. struct
  3607. {
  3608. uint32_t ae_e4_num_reg : 5; // [4:0]
  3609. uint32_t __31_5 : 27; // [31:5]
  3610. } b;
  3611. } REG_CAMERA_AE_E4_NUM_REG_T;
  3612. // ae_e5_sta_reg
  3613. typedef union {
  3614. uint32_t v;
  3615. struct
  3616. {
  3617. uint32_t ae_e5_sta_gain : 6; // [5:0]
  3618. uint32_t __31_6 : 26; // [31:6]
  3619. } b;
  3620. } REG_CAMERA_AE_E5_STA_REG_T;
  3621. // ae_e5_num_reg
  3622. typedef union {
  3623. uint32_t v;
  3624. struct
  3625. {
  3626. uint32_t ae_e5_num_reg : 5; // [4:0]
  3627. uint32_t __31_5 : 27; // [31:5]
  3628. } b;
  3629. } REG_CAMERA_AE_E5_NUM_REG_T;
  3630. // ae_e6_sta_reg
  3631. typedef union {
  3632. uint32_t v;
  3633. struct
  3634. {
  3635. uint32_t ae_e6_sta_gain : 6; // [5:0]
  3636. uint32_t __31_6 : 26; // [31:6]
  3637. } b;
  3638. } REG_CAMERA_AE_E6_STA_REG_T;
  3639. // ae_e6_num_reg
  3640. typedef union {
  3641. uint32_t v;
  3642. struct
  3643. {
  3644. uint32_t ae_e6_num_reg : 4; // [3:0]
  3645. uint32_t __31_4 : 28; // [31:4]
  3646. } b;
  3647. } REG_CAMERA_AE_E6_NUM_REG_T;
  3648. // ae_e7_sta_reg
  3649. typedef union {
  3650. uint32_t v;
  3651. struct
  3652. {
  3653. uint32_t ae_e7_sta_gain : 6; // [5:0]
  3654. uint32_t __31_6 : 26; // [31:6]
  3655. } b;
  3656. } REG_CAMERA_AE_E7_STA_REG_T;
  3657. // ae_e7_num_reg
  3658. typedef union {
  3659. uint32_t v;
  3660. struct
  3661. {
  3662. uint32_t ae_e7_num_reg : 4; // [3:0]
  3663. uint32_t __31_4 : 28; // [31:4]
  3664. } b;
  3665. } REG_CAMERA_AE_E7_NUM_REG_T;
  3666. // ae_e8_sta_reg
  3667. typedef union {
  3668. uint32_t v;
  3669. struct
  3670. {
  3671. uint32_t ae_e8_sta_gain : 6; // [5:0]
  3672. uint32_t __31_6 : 26; // [31:6]
  3673. } b;
  3674. } REG_CAMERA_AE_E8_STA_REG_T;
  3675. // ae_e8_num_reg
  3676. typedef union {
  3677. uint32_t v;
  3678. struct
  3679. {
  3680. uint32_t ae_e8_num_reg : 4; // [3:0]
  3681. uint32_t __31_4 : 28; // [31:4]
  3682. } b;
  3683. } REG_CAMERA_AE_E8_NUM_REG_T;
  3684. // ae_e9_sta_reg
  3685. typedef union {
  3686. uint32_t v;
  3687. struct
  3688. {
  3689. uint32_t ae_e9_sta_gain : 6; // [5:0]
  3690. uint32_t __31_6 : 26; // [31:6]
  3691. } b;
  3692. } REG_CAMERA_AE_E9_STA_REG_T;
  3693. // ae_e9_num_reg
  3694. typedef union {
  3695. uint32_t v;
  3696. struct
  3697. {
  3698. uint32_t ae_e9_num_reg : 4; // [3:0]
  3699. uint32_t __31_4 : 28; // [31:4]
  3700. } b;
  3701. } REG_CAMERA_AE_E9_NUM_REG_T;
  3702. // ae_ea_sta_reg
  3703. typedef union {
  3704. uint32_t v;
  3705. struct
  3706. {
  3707. uint32_t ae_ea_sta_gain : 6; // [5:0]
  3708. uint32_t __31_6 : 26; // [31:6]
  3709. } b;
  3710. } REG_CAMERA_AE_EA_STA_REG_T;
  3711. // ae_ea_num_reg
  3712. typedef union {
  3713. uint32_t v;
  3714. struct
  3715. {
  3716. uint32_t ae_ea_num_reg : 4; // [3:0]
  3717. uint32_t __31_4 : 28; // [31:4]
  3718. } b;
  3719. } REG_CAMERA_AE_EA_NUM_REG_T;
  3720. // ae_eb_sta_reg
  3721. typedef union {
  3722. uint32_t v;
  3723. struct
  3724. {
  3725. uint32_t ae_eb_sta_gain : 6; // [5:0]
  3726. uint32_t __31_6 : 26; // [31:6]
  3727. } b;
  3728. } REG_CAMERA_AE_EB_STA_REG_T;
  3729. // ae_eb_num_reg
  3730. typedef union {
  3731. uint32_t v;
  3732. struct
  3733. {
  3734. uint32_t ae_eb_num_reg : 4; // [3:0]
  3735. uint32_t __31_4 : 28; // [31:4]
  3736. } b;
  3737. } REG_CAMERA_AE_EB_NUM_REG_T;
  3738. // ae_ec_sta_reg
  3739. typedef union {
  3740. uint32_t v;
  3741. struct
  3742. {
  3743. uint32_t ae_ec_sta_gain : 6; // [5:0]
  3744. uint32_t __31_6 : 26; // [31:6]
  3745. } b;
  3746. } REG_CAMERA_AE_EC_STA_REG_T;
  3747. // ae_ec_num_reg
  3748. typedef union {
  3749. uint32_t v;
  3750. struct
  3751. {
  3752. uint32_t ae_ec_num_reg : 4; // [3:0]
  3753. uint32_t __31_4 : 28; // [31:4]
  3754. } b;
  3755. } REG_CAMERA_AE_EC_NUM_REG_T;
  3756. // ae_ed_sta_reg
  3757. typedef union {
  3758. uint32_t v;
  3759. struct
  3760. {
  3761. uint32_t ae_ed_sta_gain : 6; // [5:0]
  3762. uint32_t __31_6 : 26; // [31:6]
  3763. } b;
  3764. } REG_CAMERA_AE_ED_STA_REG_T;
  3765. // ae_ed_num_reg
  3766. typedef union {
  3767. uint32_t v;
  3768. struct
  3769. {
  3770. uint32_t ae_ed_num_reg : 4; // [3:0]
  3771. uint32_t __31_4 : 28; // [31:4]
  3772. } b;
  3773. } REG_CAMERA_AE_ED_NUM_REG_T;
  3774. // bayer_gamma2_b0
  3775. typedef union {
  3776. uint32_t v;
  3777. struct
  3778. {
  3779. uint32_t bayer_gamma2_b0 : 8; // [7:0]
  3780. uint32_t __31_8 : 24; // [31:8]
  3781. } b;
  3782. } REG_CAMERA_BAYER_GAMMA2_B0_T;
  3783. // bayer_gamma2_b1
  3784. typedef union {
  3785. uint32_t v;
  3786. struct
  3787. {
  3788. uint32_t bayer_gamma2_b1 : 8; // [7:0]
  3789. uint32_t __31_8 : 24; // [31:8]
  3790. } b;
  3791. } REG_CAMERA_BAYER_GAMMA2_B1_T;
  3792. // bayer_gamma2_b2
  3793. typedef union {
  3794. uint32_t v;
  3795. struct
  3796. {
  3797. uint32_t bayer_gamma2_b2 : 8; // [7:0]
  3798. uint32_t __31_8 : 24; // [31:8]
  3799. } b;
  3800. } REG_CAMERA_BAYER_GAMMA2_B2_T;
  3801. // bayer_gamma2_b3
  3802. typedef union {
  3803. uint32_t v;
  3804. struct
  3805. {
  3806. uint32_t bayer_gamma2_b3 : 8; // [7:0]
  3807. uint32_t __31_8 : 24; // [31:8]
  3808. } b;
  3809. } REG_CAMERA_BAYER_GAMMA2_B3_T;
  3810. // bayer_gamma2_b4
  3811. typedef union {
  3812. uint32_t v;
  3813. struct
  3814. {
  3815. uint32_t bayer_gamma2_b4 : 8; // [7:0]
  3816. uint32_t __31_8 : 24; // [31:8]
  3817. } b;
  3818. } REG_CAMERA_BAYER_GAMMA2_B4_T;
  3819. // bayer_gamma2_b6
  3820. typedef union {
  3821. uint32_t v;
  3822. struct
  3823. {
  3824. uint32_t bayer_gamma2_b6 : 8; // [7:0]
  3825. uint32_t __31_8 : 24; // [31:8]
  3826. } b;
  3827. } REG_CAMERA_BAYER_GAMMA2_B6_T;
  3828. // bayer_gamma2_b8
  3829. typedef union {
  3830. uint32_t v;
  3831. struct
  3832. {
  3833. uint32_t bayer_gamma2_b8 : 8; // [7:0]
  3834. uint32_t __31_8 : 24; // [31:8]
  3835. } b;
  3836. } REG_CAMERA_BAYER_GAMMA2_B8_T;
  3837. // bayer_gamma2_b10
  3838. typedef union {
  3839. uint32_t v;
  3840. struct
  3841. {
  3842. uint32_t bayer_gamma2_b10 : 8; // [7:0]
  3843. uint32_t __31_8 : 24; // [31:8]
  3844. } b;
  3845. } REG_CAMERA_BAYER_GAMMA2_B10_T;
  3846. // bayer_gamma2_b12
  3847. typedef union {
  3848. uint32_t v;
  3849. struct
  3850. {
  3851. uint32_t bayer_gamma2_b12 : 8; // [7:0]
  3852. uint32_t __31_8 : 24; // [31:8]
  3853. } b;
  3854. } REG_CAMERA_BAYER_GAMMA2_B12_T;
  3855. // bayer_gamma2_b16
  3856. typedef union {
  3857. uint32_t v;
  3858. struct
  3859. {
  3860. uint32_t bayer_gamma2_b16 : 8; // [7:0]
  3861. uint32_t __31_8 : 24; // [31:8]
  3862. } b;
  3863. } REG_CAMERA_BAYER_GAMMA2_B16_T;
  3864. // bayer_gamma2_b20
  3865. typedef union {
  3866. uint32_t v;
  3867. struct
  3868. {
  3869. uint32_t bayer_gamma2_b20 : 8; // [7:0]
  3870. uint32_t __31_8 : 24; // [31:8]
  3871. } b;
  3872. } REG_CAMERA_BAYER_GAMMA2_B20_T;
  3873. // bayer_gamma2_b24
  3874. typedef union {
  3875. uint32_t v;
  3876. struct
  3877. {
  3878. uint32_t bayer_gamma2_b24 : 8; // [7:0]
  3879. uint32_t __31_8 : 24; // [31:8]
  3880. } b;
  3881. } REG_CAMERA_BAYER_GAMMA2_B24_T;
  3882. // bayer_gamma2_b28
  3883. typedef union {
  3884. uint32_t v;
  3885. struct
  3886. {
  3887. uint32_t bayer_gamma2_b28 : 8; // [7:0]
  3888. uint32_t __31_8 : 24; // [31:8]
  3889. } b;
  3890. } REG_CAMERA_BAYER_GAMMA2_B28_T;
  3891. // bayer_gamma2_b32
  3892. typedef union {
  3893. uint32_t v;
  3894. struct
  3895. {
  3896. uint32_t bayer_gamma2_b32 : 8; // [7:0]
  3897. uint32_t __31_8 : 24; // [31:8]
  3898. } b;
  3899. } REG_CAMERA_BAYER_GAMMA2_B32_T;
  3900. // bayer_gamma2_b36
  3901. typedef union {
  3902. uint32_t v;
  3903. struct
  3904. {
  3905. uint32_t bayer_gamma2_b36 : 8; // [7:0]
  3906. uint32_t __31_8 : 24; // [31:8]
  3907. } b;
  3908. } REG_CAMERA_BAYER_GAMMA2_B36_T;
  3909. // bayer_gamma2_b40
  3910. typedef union {
  3911. uint32_t v;
  3912. struct
  3913. {
  3914. uint32_t bayer_gamma2_b40 : 8; // [7:0]
  3915. uint32_t __31_8 : 24; // [31:8]
  3916. } b;
  3917. } REG_CAMERA_BAYER_GAMMA2_B40_T;
  3918. // bayer_gamma2_b48
  3919. typedef union {
  3920. uint32_t v;
  3921. struct
  3922. {
  3923. uint32_t bayer_gamma2_b48 : 8; // [7:0]
  3924. uint32_t __31_8 : 24; // [31:8]
  3925. } b;
  3926. } REG_CAMERA_BAYER_GAMMA2_B48_T;
  3927. // bayer_gamma2_b56
  3928. typedef union {
  3929. uint32_t v;
  3930. struct
  3931. {
  3932. uint32_t bayer_gamma2_b56 : 8; // [7:0]
  3933. uint32_t __31_8 : 24; // [31:8]
  3934. } b;
  3935. } REG_CAMERA_BAYER_GAMMA2_B56_T;
  3936. // bayer_gamma2_b64
  3937. typedef union {
  3938. uint32_t v;
  3939. struct
  3940. {
  3941. uint32_t bayer_gamma2_b64 : 8; // [7:0]
  3942. uint32_t __31_8 : 24; // [31:8]
  3943. } b;
  3944. } REG_CAMERA_BAYER_GAMMA2_B64_T;
  3945. // y_thr7_lo_reg
  3946. typedef union {
  3947. uint32_t v;
  3948. struct
  3949. {
  3950. uint32_t y_thr7_lo_reg : 8; // [7:0]
  3951. uint32_t __31_8 : 24; // [31:8]
  3952. } b;
  3953. } REG_CAMERA_Y_THR7_LO_REG_T;
  3954. // y_thr7_mid_reg
  3955. typedef union {
  3956. uint32_t v;
  3957. struct
  3958. {
  3959. uint32_t y_thr7_mid_reg : 8; // [7:0]
  3960. uint32_t __31_8 : 24; // [31:8]
  3961. } b;
  3962. } REG_CAMERA_Y_THR7_MID_REG_T;
  3963. // y_thr7_hi_reg
  3964. typedef union {
  3965. uint32_t v;
  3966. struct
  3967. {
  3968. uint32_t y_thr7_hi_reg : 8; // [7:0]
  3969. uint32_t __31_8 : 24; // [31:8]
  3970. } b;
  3971. } REG_CAMERA_Y_THR7_HI_REG_T;
  3972. // dpa_new_ctrl_reg
  3973. typedef union {
  3974. uint32_t v;
  3975. struct
  3976. {
  3977. uint32_t inflg_ctrl_reg_0 : 1; // [0]
  3978. uint32_t inflg_ctrl_reg_1 : 1; // [1]
  3979. uint32_t inflg_ctrl_reg_2 : 1; // [2]
  3980. uint32_t __31_3 : 29; // [31:3]
  3981. } b;
  3982. } REG_CAMERA_DPA_NEW_CTRL_REG_T;
  3983. // dpa_new_ctrl_hi_reg
  3984. typedef union {
  3985. uint32_t v;
  3986. struct
  3987. {
  3988. uint32_t inflg_ctrl_reg0_h : 1; // [0]
  3989. uint32_t inflg_ctrl_reg1_h : 1; // [1]
  3990. uint32_t inflg_ctrl_reg2_h : 1; // [2]
  3991. uint32_t threshold_rsvd : 2; // [4:3]
  3992. uint32_t __31_5 : 27; // [31:5]
  3993. } b;
  3994. } REG_CAMERA_DPA_NEW_CTRL_HI_REG_T;
  3995. // ae_index_gap
  3996. typedef union {
  3997. uint32_t v;
  3998. struct
  3999. {
  4000. uint32_t gap_2e : 1; // [0]
  4001. uint32_t gap_3e : 1; // [1]
  4002. uint32_t gap_4e : 1; // [2]
  4003. uint32_t gap_5e : 1; // [3]
  4004. uint32_t gap_6e : 1; // [4]
  4005. uint32_t gap_7e : 1; // [5]
  4006. uint32_t gap_8e : 1; // [6]
  4007. uint32_t gap_9e : 1; // [7]
  4008. uint32_t __31_8 : 24; // [31:8]
  4009. } b;
  4010. } REG_CAMERA_AE_INDEX_GAP_T;
  4011. // awb_calc_height_reg
  4012. typedef union {
  4013. uint32_t v;
  4014. struct
  4015. {
  4016. uint32_t awb_calc_height_reg : 8; // [7:0]
  4017. uint32_t __31_8 : 24; // [31:8]
  4018. } b;
  4019. } REG_CAMERA_AWB_CALC_HEIGHT_REG_T;
  4020. // drc_r_clp_value_reg
  4021. typedef union {
  4022. uint32_t v;
  4023. struct
  4024. {
  4025. uint32_t drc_r_clp_value_reg : 6; // [5:0]
  4026. uint32_t __31_6 : 26; // [31:6]
  4027. } b;
  4028. } REG_CAMERA_DRC_R_CLP_VALUE_REG_T;
  4029. // drc_gr_clp_value_reg
  4030. typedef union {
  4031. uint32_t v;
  4032. struct
  4033. {
  4034. uint32_t drc_gr_clp_value_reg : 6; // [5:0]
  4035. uint32_t __31_6 : 26; // [31:6]
  4036. } b;
  4037. } REG_CAMERA_DRC_GR_CLP_VALUE_REG_T;
  4038. // drc_gb_clp_value_reg
  4039. typedef union {
  4040. uint32_t v;
  4041. struct
  4042. {
  4043. uint32_t drc_gb_clp_value_reg : 6; // [5:0]
  4044. uint32_t __31_6 : 26; // [31:6]
  4045. } b;
  4046. } REG_CAMERA_DRC_GB_CLP_VALUE_REG_T;
  4047. // drc_b_clp_value_reg
  4048. typedef union {
  4049. uint32_t v;
  4050. struct
  4051. {
  4052. uint32_t drc_b_clp_value_reg : 6; // [5:0]
  4053. uint32_t __31_6 : 26; // [31:6]
  4054. } b;
  4055. } REG_CAMERA_DRC_B_CLP_VALUE_REG_T;
  4056. // sepia_cr_reg
  4057. typedef union {
  4058. uint32_t v;
  4059. struct
  4060. {
  4061. uint32_t sepia_cr_reg : 8; // [7:0]
  4062. uint32_t __31_8 : 24; // [31:8]
  4063. } b;
  4064. } REG_CAMERA_SEPIA_CR_REG_T;
  4065. // sepia_cb_reg
  4066. typedef union {
  4067. uint32_t v;
  4068. struct
  4069. {
  4070. uint32_t sepia_cb_reg : 8; // [7:0]
  4071. uint32_t __31_8 : 24; // [31:8]
  4072. } b;
  4073. } REG_CAMERA_SEPIA_CB_REG_T;
  4074. // csup_y_min_hi_reg
  4075. typedef union {
  4076. uint32_t v;
  4077. struct
  4078. {
  4079. uint32_t csup_y_min_hi_reg : 8; // [7:0]
  4080. uint32_t __31_8 : 24; // [31:8]
  4081. } b;
  4082. } REG_CAMERA_CSUP_Y_MIN_HI_REG_T;
  4083. // csup_gain_hi_reg
  4084. typedef union {
  4085. uint32_t v;
  4086. struct
  4087. {
  4088. uint32_t csup_gain_hi_reg : 8; // [7:0]
  4089. uint32_t __31_8 : 24; // [31:8]
  4090. } b;
  4091. } REG_CAMERA_CSUP_GAIN_HI_REG_T;
  4092. // csup_y_max_low_reg
  4093. typedef union {
  4094. uint32_t v;
  4095. struct
  4096. {
  4097. uint32_t csup_y_max_low_reg : 8; // [7:0]
  4098. uint32_t __31_8 : 24; // [31:8]
  4099. } b;
  4100. } REG_CAMERA_CSUP_Y_MAX_LOW_REG_T;
  4101. // csup_gain_low_reg
  4102. typedef union {
  4103. uint32_t v;
  4104. struct
  4105. {
  4106. uint32_t csup_gain_low_reg : 8; // [7:0]
  4107. uint32_t __31_8 : 24; // [31:8]
  4108. } b;
  4109. } REG_CAMERA_CSUP_GAIN_LOW_REG_T;
  4110. // ae_dk_hist_thr_reg
  4111. typedef union {
  4112. uint32_t v;
  4113. struct
  4114. {
  4115. uint32_t ae_dk_hist_thr_reg : 8; // [7:0]
  4116. uint32_t __31_8 : 24; // [31:8]
  4117. } b;
  4118. } REG_CAMERA_AE_DK_HIST_THR_REG_T;
  4119. // ae_br_hist_thr_reg
  4120. typedef union {
  4121. uint32_t v;
  4122. struct
  4123. {
  4124. uint32_t ae_br_hist_thr_reg : 8; // [7:0]
  4125. uint32_t __31_8 : 24; // [31:8]
  4126. } b;
  4127. } REG_CAMERA_AE_BR_HIST_THR_REG_T;
  4128. // hist_bp_level_reg
  4129. typedef union {
  4130. uint32_t v;
  4131. struct
  4132. {
  4133. uint32_t hist_bp_level_reg : 8; // [7:0]
  4134. uint32_t __31_8 : 24; // [31:8]
  4135. } b;
  4136. } REG_CAMERA_HIST_BP_LEVEL_REG_T;
  4137. // outdoor_th_reg
  4138. typedef union {
  4139. uint32_t v;
  4140. struct
  4141. {
  4142. uint32_t outdoor_th : 4; // [3:0]
  4143. uint32_t non_outdoor_th : 4; // [7:4]
  4144. uint32_t __31_8 : 24; // [31:8]
  4145. } b;
  4146. } REG_CAMERA_OUTDOOR_TH_REG_T;
  4147. // awb_rgain_low_reg
  4148. typedef union {
  4149. uint32_t v;
  4150. struct
  4151. {
  4152. uint32_t __1_0 : 2; // [1:0]
  4153. uint32_t awb_rgain_low_reg : 6; // [7:2]
  4154. uint32_t __31_8 : 24; // [31:8]
  4155. } b;
  4156. } REG_CAMERA_AWB_RGAIN_LOW_REG_T;
  4157. // awb_rgain_high_reg
  4158. typedef union {
  4159. uint32_t v;
  4160. struct
  4161. {
  4162. uint32_t __1_0 : 2; // [1:0]
  4163. uint32_t awb_rgain_high_reg : 6; // [7:2]
  4164. uint32_t __31_8 : 24; // [31:8]
  4165. } b;
  4166. } REG_CAMERA_AWB_RGAIN_HIGH_REG_T;
  4167. // awb_bgain_low_reg
  4168. typedef union {
  4169. uint32_t v;
  4170. struct
  4171. {
  4172. uint32_t __1_0 : 2; // [1:0]
  4173. uint32_t awb_bgain_low_reg : 6; // [7:2]
  4174. uint32_t __31_8 : 24; // [31:8]
  4175. } b;
  4176. } REG_CAMERA_AWB_BGAIN_LOW_REG_T;
  4177. // awb_bgain_high_reg
  4178. typedef union {
  4179. uint32_t v;
  4180. struct
  4181. {
  4182. uint32_t __1_0 : 2; // [1:0]
  4183. uint32_t awb_bgain_high_reg : 6; // [7:2]
  4184. uint32_t __31_8 : 24; // [31:8]
  4185. } b;
  4186. } REG_CAMERA_AWB_BGAIN_HIGH_REG_T;
  4187. // awb_calc_start_reg
  4188. typedef union {
  4189. uint32_t v;
  4190. struct
  4191. {
  4192. uint32_t awb_win_y_start : 4; // [3:0]
  4193. uint32_t awb_win_x_start : 4; // [7:4]
  4194. uint32_t __31_8 : 24; // [31:8]
  4195. } b;
  4196. } REG_CAMERA_AWB_CALC_START_REG_T;
  4197. // awb_calc_width_reg
  4198. typedef union {
  4199. uint32_t v;
  4200. struct
  4201. {
  4202. uint32_t awb_calc_width_reg : 8; // [7:0]
  4203. uint32_t __31_8 : 24; // [31:8]
  4204. } b;
  4205. } REG_CAMERA_AWB_CALC_WIDTH_REG_T;
  4206. // hist_dp_level_reg
  4207. typedef union {
  4208. uint32_t v;
  4209. struct
  4210. {
  4211. uint32_t hist_dp_level_reg : 8; // [7:0]
  4212. uint32_t __31_8 : 24; // [31:8]
  4213. } b;
  4214. } REG_CAMERA_HIST_DP_LEVEL_REG_T;
  4215. // awb_y_fmin
  4216. typedef union {
  4217. uint32_t v;
  4218. struct
  4219. {
  4220. uint32_t awb_y_fmin : 8; // [7:0]
  4221. uint32_t __31_8 : 24; // [31:8]
  4222. } b;
  4223. } REG_CAMERA_AWB_Y_FMIN_T;
  4224. // awb_y_fmax
  4225. typedef union {
  4226. uint32_t v;
  4227. struct
  4228. {
  4229. uint32_t awb_y_fmax : 8; // [7:0]
  4230. uint32_t __31_8 : 24; // [31:8]
  4231. } b;
  4232. } REG_CAMERA_AWB_Y_FMAX_T;
  4233. // awb_cb_fmin
  4234. typedef union {
  4235. uint32_t v;
  4236. struct
  4237. {
  4238. uint32_t awb_cb_fmin : 8; // [7:0]
  4239. uint32_t __31_8 : 24; // [31:8]
  4240. } b;
  4241. } REG_CAMERA_AWB_CB_FMIN_T;
  4242. // awb_cb_fmax
  4243. typedef union {
  4244. uint32_t v;
  4245. struct
  4246. {
  4247. uint32_t awb_cb_fmax : 8; // [7:0]
  4248. uint32_t __31_8 : 24; // [31:8]
  4249. } b;
  4250. } REG_CAMERA_AWB_CB_FMAX_T;
  4251. // awb_cr_fmin
  4252. typedef union {
  4253. uint32_t v;
  4254. struct
  4255. {
  4256. uint32_t awb_cr_fmin : 8; // [7:0]
  4257. uint32_t __31_8 : 24; // [31:8]
  4258. } b;
  4259. } REG_CAMERA_AWB_CR_FMIN_T;
  4260. // awb_cr_fmax
  4261. typedef union {
  4262. uint32_t v;
  4263. struct
  4264. {
  4265. uint32_t awb_cr_fmax : 8; // [7:0]
  4266. uint32_t __31_8 : 24; // [31:8]
  4267. } b;
  4268. } REG_CAMERA_AWB_CR_FMAX_T;
  4269. // awb_y_fmin2
  4270. typedef union {
  4271. uint32_t v;
  4272. struct
  4273. {
  4274. uint32_t awb_y_fmin2 : 8; // [7:0]
  4275. uint32_t __31_8 : 24; // [31:8]
  4276. } b;
  4277. } REG_CAMERA_AWB_Y_FMIN2_T;
  4278. // awb_y_fmax2
  4279. typedef union {
  4280. uint32_t v;
  4281. struct
  4282. {
  4283. uint32_t awb_y_fmax2 : 8; // [7:0]
  4284. uint32_t __31_8 : 24; // [31:8]
  4285. } b;
  4286. } REG_CAMERA_AWB_Y_FMAX2_T;
  4287. // awb_cb_fmin2
  4288. typedef union {
  4289. uint32_t v;
  4290. struct
  4291. {
  4292. uint32_t awb_cb_fmin2 : 8; // [7:0]
  4293. uint32_t __31_8 : 24; // [31:8]
  4294. } b;
  4295. } REG_CAMERA_AWB_CB_FMIN2_T;
  4296. // awb_cb_fmax2
  4297. typedef union {
  4298. uint32_t v;
  4299. struct
  4300. {
  4301. uint32_t awb_cb_fmax2 : 8; // [7:0]
  4302. uint32_t __31_8 : 24; // [31:8]
  4303. } b;
  4304. } REG_CAMERA_AWB_CB_FMAX2_T;
  4305. // awb_cr_fmin2
  4306. typedef union {
  4307. uint32_t v;
  4308. struct
  4309. {
  4310. uint32_t awb_cr_fmin2 : 8; // [7:0]
  4311. uint32_t __31_8 : 24; // [31:8]
  4312. } b;
  4313. } REG_CAMERA_AWB_CR_FMIN2_T;
  4314. // awb_cr_fmax2
  4315. typedef union {
  4316. uint32_t v;
  4317. struct
  4318. {
  4319. uint32_t awb_cr_fmax2 : 8; // [7:0]
  4320. uint32_t __31_8 : 24; // [31:8]
  4321. } b;
  4322. } REG_CAMERA_AWB_CR_FMAX2_T;
  4323. // ae_use_mean
  4324. typedef union {
  4325. uint32_t v;
  4326. struct
  4327. {
  4328. uint32_t ycave_use_mean : 2; // [1:0]
  4329. uint32_t ywave_use_mean : 2; // [3:2]
  4330. uint32_t yave_weight_mode : 1; // [4]
  4331. uint32_t nexp_out_sel_reg : 1; // [5]
  4332. uint32_t ae_ext_adj_val_reg : 1; // [6]
  4333. uint32_t ae_ext_adj_on_reg : 1; // [7]
  4334. uint32_t __31_8 : 24; // [31:8]
  4335. } b;
  4336. } REG_CAMERA_AE_USE_MEAN_T;
  4337. // ae_weight_sta
  4338. typedef union {
  4339. uint32_t v;
  4340. struct
  4341. {
  4342. uint32_t ywave_pcnt_left : 4; // [3:0]
  4343. uint32_t ywave_lcnt_top : 4; // [7:4]
  4344. uint32_t __31_8 : 24; // [31:8]
  4345. } b;
  4346. } REG_CAMERA_AE_WEIGHT_STA_T;
  4347. // ae_qwidth
  4348. typedef union {
  4349. uint32_t v;
  4350. struct
  4351. {
  4352. uint32_t qwidth : 8; // [7:0]
  4353. uint32_t __31_8 : 24; // [31:8]
  4354. } b;
  4355. } REG_CAMERA_AE_QWIDTH_T;
  4356. // ae_qheight
  4357. typedef union {
  4358. uint32_t v;
  4359. struct
  4360. {
  4361. uint32_t qheight : 7; // [6:0]
  4362. uint32_t ywave_sel : 1; // [7]
  4363. uint32_t __31_8 : 24; // [31:8]
  4364. } b;
  4365. } REG_CAMERA_AE_QHEIGHT_T;
  4366. // ae_win_sta
  4367. typedef union {
  4368. uint32_t v;
  4369. struct
  4370. {
  4371. uint32_t yave_pcnt_sta : 4; // [3:0]
  4372. uint32_t yave_lcnt_sta : 4; // [7:4]
  4373. uint32_t __31_8 : 24; // [31:8]
  4374. } b;
  4375. } REG_CAMERA_AE_WIN_STA_T;
  4376. // ae_width
  4377. typedef union {
  4378. uint32_t v;
  4379. struct
  4380. {
  4381. uint32_t width : 8; // [7:0]
  4382. uint32_t __31_8 : 24; // [31:8]
  4383. } b;
  4384. } REG_CAMERA_AE_WIDTH_T;
  4385. // ae_height
  4386. typedef union {
  4387. uint32_t v;
  4388. struct
  4389. {
  4390. uint32_t height : 8; // [7:0]
  4391. uint32_t __31_8 : 24; // [31:8]
  4392. } b;
  4393. } REG_CAMERA_AE_HEIGHT_T;
  4394. // sw_update
  4395. typedef union {
  4396. uint32_t v;
  4397. struct
  4398. {
  4399. uint32_t cc_type_sw : 1; // [0]
  4400. uint32_t is_outdoor_sw : 1; // [1]
  4401. uint32_t gamma_type_sw : 1; // [2]
  4402. uint32_t sw_update_rsvd : 1; // [3]
  4403. uint32_t is_outdoor_mode : 3; // [6:4]
  4404. uint32_t awb_outdoor_en : 1; // [7]
  4405. uint32_t __31_8 : 24; // [31:8]
  4406. } b;
  4407. } REG_CAMERA_SW_UPDATE_T;
  4408. // awb_ctrl5
  4409. typedef union {
  4410. uint32_t v;
  4411. struct
  4412. {
  4413. uint32_t r_low_non_a : 8; // [7:0]
  4414. uint32_t __31_8 : 24; // [31:8]
  4415. } b;
  4416. } REG_CAMERA_AWB_CTRL5_T;
  4417. // awb_ctrl6
  4418. typedef union {
  4419. uint32_t v;
  4420. struct
  4421. {
  4422. uint32_t awb_stop_h : 4; // [3:0]
  4423. uint32_t awb_adj_again : 2; // [5:4]
  4424. uint32_t awb_algo_en : 1; // [6]
  4425. uint32_t check_r_low : 1; // [7]
  4426. uint32_t __31_8 : 24; // [31:8]
  4427. } b;
  4428. } REG_CAMERA_AWB_CTRL6_T;
  4429. // sca_reg
  4430. typedef union {
  4431. uint32_t v;
  4432. struct
  4433. {
  4434. uint32_t sca_mode : 3; // [2:0]
  4435. uint32_t __31_3 : 29; // [31:3]
  4436. } b;
  4437. } REG_CAMERA_SCA_REG_T;
  4438. // ae_ee_sta_reg
  4439. typedef union {
  4440. uint32_t v;
  4441. struct
  4442. {
  4443. uint32_t ae_ee_sta_gain : 6; // [5:0]
  4444. uint32_t __31_6 : 26; // [31:6]
  4445. } b;
  4446. } REG_CAMERA_AE_EE_STA_REG_T;
  4447. // ae_ee_num_reg
  4448. typedef union {
  4449. uint32_t v;
  4450. struct
  4451. {
  4452. uint32_t ae_ee_num_reg : 4; // [3:0]
  4453. uint32_t __31_4 : 28; // [31:4]
  4454. } b;
  4455. } REG_CAMERA_AE_EE_NUM_REG_T;
  4456. // ae_ef_sta_reg
  4457. typedef union {
  4458. uint32_t v;
  4459. struct
  4460. {
  4461. uint32_t ae_ef_sta_gain : 6; // [5:0]
  4462. uint32_t __31_6 : 26; // [31:6]
  4463. } b;
  4464. } REG_CAMERA_AE_EF_STA_REG_T;
  4465. // ae_ef_num_reg
  4466. typedef union {
  4467. uint32_t v;
  4468. struct
  4469. {
  4470. uint32_t ae_ef_num_reg : 4; // [3:0]
  4471. uint32_t __31_4 : 28; // [31:4]
  4472. } b;
  4473. } REG_CAMERA_AE_EF_NUM_REG_T;
  4474. // ae_thr_big_reg
  4475. typedef union {
  4476. uint32_t v;
  4477. struct
  4478. {
  4479. uint32_t ae_thr_big_dark : 4; // [3:0]
  4480. uint32_t ae_thr_big_bright : 4; // [7:4]
  4481. uint32_t __31_8 : 24; // [31:8]
  4482. } b;
  4483. } REG_CAMERA_AE_THR_BIG_REG_T;
  4484. // sharp_gain_minus_low
  4485. typedef union {
  4486. uint32_t v;
  4487. struct
  4488. {
  4489. uint32_t sharp_gain_minus_low : 8; // [7:0]
  4490. uint32_t __31_8 : 24; // [31:8]
  4491. } b;
  4492. } REG_CAMERA_SHARP_GAIN_MINUS_LOW_T;
  4493. // sharp_gain_minus_mid
  4494. typedef union {
  4495. uint32_t v;
  4496. struct
  4497. {
  4498. uint32_t sharp_gain_minus_mid : 8; // [7:0]
  4499. uint32_t __31_8 : 24; // [31:8]
  4500. } b;
  4501. } REG_CAMERA_SHARP_GAIN_MINUS_MID_T;
  4502. // sharp_gain_minus_hi
  4503. typedef union {
  4504. uint32_t v;
  4505. struct
  4506. {
  4507. uint32_t sharp_gain_minus_hi : 8; // [7:0]
  4508. uint32_t __31_8 : 24; // [31:8]
  4509. } b;
  4510. } REG_CAMERA_SHARP_GAIN_MINUS_HI_T;
  4511. // sharp_mode_mid_hi
  4512. typedef union {
  4513. uint32_t v;
  4514. struct
  4515. {
  4516. uint32_t sharp_cmp_gap_mid : 4; // [3:0]
  4517. uint32_t sharp_cmp_gap_hi : 4; // [7:4]
  4518. uint32_t __31_8 : 24; // [31:8]
  4519. } b;
  4520. } REG_CAMERA_SHARP_MODE_MID_HI_T;
  4521. // fw_version_reg
  4522. typedef union {
  4523. uint32_t v;
  4524. struct
  4525. {
  4526. uint32_t fw_version : 8; // [7:0]
  4527. uint32_t __31_8 : 24; // [31:8]
  4528. } b;
  4529. } REG_CAMERA_FW_VERSION_REG_T;
  4530. // awb_y_min_reg
  4531. typedef union {
  4532. uint32_t v;
  4533. struct
  4534. {
  4535. uint32_t awb_y_min : 8; // [7:0]
  4536. uint32_t __31_8 : 24; // [31:8]
  4537. } b;
  4538. } REG_CAMERA_AWB_Y_MIN_REG_T;
  4539. // y_red_coef_reg
  4540. typedef union {
  4541. uint32_t v;
  4542. struct
  4543. {
  4544. uint32_t y_red_coef : 8; // [7:0]
  4545. uint32_t __31_8 : 24; // [31:8]
  4546. } b;
  4547. } REG_CAMERA_Y_RED_COEF_REG_T;
  4548. // y_blue_coef_reg
  4549. typedef union {
  4550. uint32_t v;
  4551. struct
  4552. {
  4553. uint32_t y_blue_coef : 8; // [7:0]
  4554. uint32_t __31_8 : 24; // [31:8]
  4555. } b;
  4556. } REG_CAMERA_Y_BLUE_COEF_REG_T;
  4557. // cb_red_coef_reg
  4558. typedef union {
  4559. uint32_t v;
  4560. struct
  4561. {
  4562. uint32_t cb_red_coef : 8; // [7:0]
  4563. uint32_t __31_8 : 24; // [31:8]
  4564. } b;
  4565. } REG_CAMERA_CB_RED_COEF_REG_T;
  4566. // cr_blue_coef_reg
  4567. typedef union {
  4568. uint32_t v;
  4569. struct
  4570. {
  4571. uint32_t cr_blue_coef : 8; // [7:0]
  4572. uint32_t __31_8 : 24; // [31:8]
  4573. } b;
  4574. } REG_CAMERA_CR_BLUE_COEF_REG_T;
  4575. // hist_vbp_level_reg
  4576. typedef union {
  4577. uint32_t v;
  4578. struct
  4579. {
  4580. uint32_t hist_vbp_level : 8; // [7:0]
  4581. uint32_t __31_8 : 24; // [31:8]
  4582. } b;
  4583. } REG_CAMERA_HIST_VBP_LEVEL_REG_T;
  4584. // hist_vdp_level_reg
  4585. typedef union {
  4586. uint32_t v;
  4587. struct
  4588. {
  4589. uint32_t hist_vdp_level : 8; // [7:0]
  4590. uint32_t __31_8 : 24; // [31:8]
  4591. } b;
  4592. } REG_CAMERA_HIST_VDP_LEVEL_REG_T;
  4593. // ctrl
  4594. #define CAMERA_ENABLE_ENABLE (1 << 0)
  4595. #define CAMERA_ENABLE_DISABLE (0 << 0)
  4596. #define CAMERA_DCTENABLE (1 << 1)
  4597. #define CAMERA_BUF_ENABLE (1 << 2)
  4598. #define CAMERA_RGB_RFIRST (1 << 3)
  4599. #define CAMERA_DATAFORMAT(n) (((n)&0x3) << 4)
  4600. #define CAMERA_DATAFORMAT_RGB565 (0 << 4)
  4601. #define CAMERA_DATAFORMAT_YUV422 (1 << 4)
  4602. #define CAMERA_DATAFORMAT_JPEG (2 << 4)
  4603. #define CAMERA_DATAFORMAT_RESERVE (3 << 4)
  4604. #define CAMERA_CFG_CAM_C2CSE(n) (((n)&0x3) << 6)
  4605. #define CAMERA_RESET_POL_INVERT (1 << 8)
  4606. #define CAMERA_RESET_POL_NORMAL (0 << 8)
  4607. #define CAMERA_PWDN_POL_INVERT (1 << 9)
  4608. #define CAMERA_PWDN_POL_NORMAL (0 << 9)
  4609. #define CAMERA_VSYNC_POL_INVERT (1 << 10)
  4610. #define CAMERA_VSYNC_POL_NORMAL (0 << 10)
  4611. #define CAMERA_HREF_POL_INVERT (1 << 11)
  4612. #define CAMERA_HREF_POL_NORMAL (0 << 11)
  4613. #define CAMERA_PIXCLK_POL_INVERT (1 << 12)
  4614. #define CAMERA_PIXCLK_POL_NORMAL (0 << 12)
  4615. #define CAMERA_VSYNC_DROP_DROP (1 << 14)
  4616. #define CAMERA_VSYNC_DROP_NORMAL (0 << 14)
  4617. #define CAMERA_DECIMFRM(n) (((n)&0x3) << 16)
  4618. #define CAMERA_DECIMFRM_ORIGINAL (0 << 16)
  4619. #define CAMERA_DECIMFRM_DIV_2 (1 << 16)
  4620. #define CAMERA_DECIMFRM_DIV_3 (2 << 16)
  4621. #define CAMERA_DECIMFRM_DIV_4 (3 << 16)
  4622. #define CAMERA_DECIMCOL(n) (((n)&0x3) << 18)
  4623. #define CAMERA_DECIMCOL_ORIGINAL (0 << 18)
  4624. #define CAMERA_DECIMCOL_DIV_2 (1 << 18)
  4625. #define CAMERA_DECIMCOL_DIV_3 (2 << 18)
  4626. #define CAMERA_DECIMCOL_DIV_4 (3 << 18)
  4627. #define CAMERA_DECIMROW(n) (((n)&0x3) << 20)
  4628. #define CAMERA_DECIMROW_ORIGINAL (0 << 20)
  4629. #define CAMERA_DECIMROW_DIV_2 (1 << 20)
  4630. #define CAMERA_DECIMROW_DIV_3 (2 << 20)
  4631. #define CAMERA_DECIMROW_DIV_4 (3 << 20)
  4632. #define CAMERA_REORDER(n) (((n)&0x7) << 24)
  4633. #define CAMERA_CROPEN_ENABLE (1 << 28)
  4634. #define CAMERA_CROPEN_DISABLE (0 << 28)
  4635. #define CAMERA_BIST_MODE_BIST (1 << 30)
  4636. #define CAMERA_BIST_MODE_NORMAL (0 << 30)
  4637. #define CAMERA_TEST_TEST (1 << 31)
  4638. #define CAMERA_TEST_NORMAL (0 << 31)
  4639. #define CAMERA_ENABLE_V_ENABLE (1)
  4640. #define CAMERA_ENABLE_V_DISABLE (0)
  4641. #define CAMERA_DATAFORMAT_V_RGB565 (0)
  4642. #define CAMERA_DATAFORMAT_V_YUV422 (1)
  4643. #define CAMERA_DATAFORMAT_V_JPEG (2)
  4644. #define CAMERA_DATAFORMAT_V_RESERVE (3)
  4645. #define CAMERA_RESET_POL_V_INVERT (1)
  4646. #define CAMERA_RESET_POL_V_NORMAL (0)
  4647. #define CAMERA_PWDN_POL_V_INVERT (1)
  4648. #define CAMERA_PWDN_POL_V_NORMAL (0)
  4649. #define CAMERA_VSYNC_POL_V_INVERT (1)
  4650. #define CAMERA_VSYNC_POL_V_NORMAL (0)
  4651. #define CAMERA_HREF_POL_V_INVERT (1)
  4652. #define CAMERA_HREF_POL_V_NORMAL (0)
  4653. #define CAMERA_PIXCLK_POL_V_INVERT (1)
  4654. #define CAMERA_PIXCLK_POL_V_NORMAL (0)
  4655. #define CAMERA_VSYNC_DROP_V_DROP (1)
  4656. #define CAMERA_VSYNC_DROP_V_NORMAL (0)
  4657. #define CAMERA_DECIMFRM_V_ORIGINAL (0)
  4658. #define CAMERA_DECIMFRM_V_DIV_2 (1)
  4659. #define CAMERA_DECIMFRM_V_DIV_3 (2)
  4660. #define CAMERA_DECIMFRM_V_DIV_4 (3)
  4661. #define CAMERA_DECIMCOL_V_ORIGINAL (0)
  4662. #define CAMERA_DECIMCOL_V_DIV_2 (1)
  4663. #define CAMERA_DECIMCOL_V_DIV_3 (2)
  4664. #define CAMERA_DECIMCOL_V_DIV_4 (3)
  4665. #define CAMERA_DECIMROW_V_ORIGINAL (0)
  4666. #define CAMERA_DECIMROW_V_DIV_2 (1)
  4667. #define CAMERA_DECIMROW_V_DIV_3 (2)
  4668. #define CAMERA_DECIMROW_V_DIV_4 (3)
  4669. #define CAMERA_CROPEN_V_ENABLE (1)
  4670. #define CAMERA_CROPEN_V_DISABLE (0)
  4671. #define CAMERA_BIST_MODE_V_BIST (1)
  4672. #define CAMERA_BIST_MODE_V_NORMAL (0)
  4673. #define CAMERA_TEST_V_TEST (1)
  4674. #define CAMERA_TEST_V_NORMAL (0)
  4675. // status
  4676. #define CAMERA_OVFL (1 << 0)
  4677. #define CAMERA_VSYNC_R (1 << 1)
  4678. #define CAMERA_VSYNC_F (1 << 2)
  4679. #define CAMERA_DMA_DONE (1 << 3)
  4680. #define CAMERA_FIFO_EMPTY (1 << 4)
  4681. #define CAMERA_SPI_OVFL (1 << 5)
  4682. // irq_mask
  4683. #define CAMERA_OVFL (1 << 0)
  4684. #define CAMERA_VSYNC_R (1 << 1)
  4685. #define CAMERA_VSYNC_F (1 << 2)
  4686. #define CAMERA_DMA_DONE (1 << 3)
  4687. // irq_clear
  4688. #define CAMERA_OVFL (1 << 0)
  4689. #define CAMERA_VSYNC_R (1 << 1)
  4690. #define CAMERA_VSYNC_F (1 << 2)
  4691. #define CAMERA_DMA_DONE (1 << 3)
  4692. // irq_cause
  4693. #define CAMERA_OVFL (1 << 0)
  4694. #define CAMERA_VSYNC_R (1 << 1)
  4695. #define CAMERA_VSYNC_F (1 << 2)
  4696. #define CAMERA_DMA_DONE (1 << 3)
  4697. // cmd_set
  4698. #define CAMERA_PWDN (1 << 0)
  4699. #define CAMERA_RESET (1 << 4)
  4700. #define CAMERA_FIFO_RESET (1 << 8)
  4701. // cmd_clr
  4702. #define CAMERA_PWDN (1 << 0)
  4703. #define CAMERA_RESET (1 << 4)
  4704. // dstwincol
  4705. #define CAMERA_DSTWINCOLSTART(n) (((n)&0xfff) << 0)
  4706. #define CAMERA_DSTWINCOLEND(n) (((n)&0xfff) << 16)
  4707. // dstwinrow
  4708. #define CAMERA_DSTWINROWSTART(n) (((n)&0xfff) << 0)
  4709. #define CAMERA_DSTWINROWEND(n) (((n)&0xfff) << 16)
  4710. // scl_config
  4711. #define CAMERA_SCALE_EN (1 << 0)
  4712. #define CAMERA_DATA_OUT_SWAP (1 << 4)
  4713. #define CAMERA_SCALE_COL(n) (((n)&0x3) << 8)
  4714. #define CAMERA_SCALE_ROW(n) (((n)&0x3) << 16)
  4715. // spi_camera_reg0
  4716. #define CAMERA_CAMERA_SPI_SLAVE_EN (1 << 0)
  4717. #define CAMERA_CAMERA_SPI_MASTER_EN (1 << 1)
  4718. #define CAMERA_YUV_OUT_FORMAT(n) (((n)&0x7) << 2)
  4719. #define CAMERA_OVERFLOW_RSTN_ONLY_VSYNC_LOW (1 << 5)
  4720. #define CAMERA_OVERFLOW_OBSERVE_ONLY_VSYNC_LOW (1 << 6)
  4721. #define CAMERA_OVERFLOW_RSTN_EN (1 << 7)
  4722. #define CAMERA_BIG_END_DIS (1 << 8)
  4723. #define CAMERA_OVERFLOW_INV (1 << 9)
  4724. #define CAMERA_HREF_INV (1 << 10)
  4725. #define CAMERA_SPI_CAMERA_REG0_VSYNC_INV (1 << 11)
  4726. #define CAMERA_BLOCK_NUM_PER_LINE(n) (((n)&0x3ff) << 12)
  4727. #define CAMERA_LINE_NUM_PER_FRAME(n) (((n)&0x3ff) << 22)
  4728. // spi_camera_reg1
  4729. #define CAMERA_CAMERA_CLK_DIV_NUM(n) (((n)&0xffff) << 0)
  4730. #define CAMERA_CTS_SPI_MASTER_REG (1 << 16)
  4731. #define CAMERA_SSN_CM_INV (1 << 17)
  4732. #define CAMERA_SCK_CM_INV (1 << 18)
  4733. #define CAMERA_SSN_SPI_OENB_DR (1 << 19)
  4734. #define CAMERA_SSN_SPI_OENB_REG (1 << 20)
  4735. #define CAMERA_SCK_SPI_OENB_DR (1 << 21)
  4736. #define CAMERA_SCK_SPI_OENB_REG (1 << 22)
  4737. #define CAMERA_SDO_SPI_SWAP (1 << 29)
  4738. #define CAMERA_CLK_INV (1 << 30)
  4739. #define CAMERA_SCK_DDR_EN (1 << 31)
  4740. // spi_camera_reg2
  4741. #define CAMERA_SSN_WAIT_LENGTH(n) (((n)&0xff) << 0)
  4742. #define CAMERA_INIT_WAIT_LENGTH(n) (((n)&0xff) << 8)
  4743. #define CAMERA_WORD_NUM_PER_BLOCK(n) (((n)&0xff) << 16)
  4744. #define CAMERA_SSN_CS_DELAY(n) (((n)&0x3) << 24)
  4745. #define CAMERA_DATA_RECEIVE_CHOOSE_BIT(n) (((n)&0x3) << 26)
  4746. #define CAMERA_READY_CS_INV (1 << 28)
  4747. #define CAMERA_SSN_CS_INV (1 << 29)
  4748. #define CAMERA_ECO_BYPASS_ISP (1 << 31)
  4749. // spi_camera_reg3
  4750. #define CAMERA_LINE_WAIT_LENGTH(n) (((n)&0xffff) << 0)
  4751. #define CAMERA_BLOCK_WAIT_LENGTH(n) (((n)&0xff) << 16)
  4752. #define CAMERA_SSN_HIGH_LENGTH(n) (((n)&0xff) << 24)
  4753. // spi_camera_reg4
  4754. #define CAMERA_CAMERA_SPI_MASTER_EN_2 (1 << 0)
  4755. #define CAMERA_SDO_LINE_CHOOSE_BIT(n) (((n)&0x3) << 1)
  4756. #define CAMERA_DATA_SIZE_CHOOSE_BIT (1 << 3)
  4757. #define CAMERA_IMAGE_HEIGHT_CHOOSE_BIT (1 << 4)
  4758. #define CAMERA_IMAGE_WIDTH_CHOOSE_BIT (1 << 5)
  4759. #define CAMERA_BLOCK_NUM_PER_PACKET(n) (((n)&0x3ff) << 6)
  4760. #define CAMERA_SPI_DATA0_PHASE_SEL(n) (((n)&0x3) << 16)
  4761. #define CAMERA_SPI_DATA1_PHASE_SEL(n) (((n)&0x3) << 18)
  4762. // spi_camera_reg5
  4763. #define CAMERA_SYNC_CODE(n) (((n)&0xffffff) << 0)
  4764. // spi_camera_reg6
  4765. #define CAMERA_PACKET_ID_DATA_START(n) (((n)&0xff) << 0)
  4766. #define CAMERA_PACKET_ID_LINE_START(n) (((n)&0xff) << 8)
  4767. #define CAMERA_PACKET_ID_FRAME_END(n) (((n)&0xff) << 16)
  4768. #define CAMERA_PACKET_ID_FRAME_START(n) (((n)&0xff) << 24)
  4769. // spi_camera_obs0
  4770. #define CAMERA_LINE_ID_15_0_(n) (((n)&0xffff) << 0)
  4771. #define CAMERA_DATA_ID_7_0_(n) (((n)&0xff) << 16)
  4772. #define CAMERA_OBSERVE_DATA_SIZE_WRONG (1 << 24)
  4773. #define CAMERA_OBSERVE_IMAGE_HEIGHT_WRONG (1 << 25)
  4774. #define CAMERA_OBSERVE_IMAGE_WIDTH_WRONG (1 << 26)
  4775. #define CAMERA_OBSERVE_LINE_NUM_WRONG (1 << 27)
  4776. #define CAMERA_OBSERVE_DATA_ID_WRONG (1 << 28)
  4777. // spi_camera_obs1
  4778. #define CAMERA_IMAGE_HEIGHT(n) (((n)&0xffff) << 0)
  4779. #define CAMERA_IMAGE_WIDTH(n) (((n)&0xffff) << 16)
  4780. // csi_config_reg0
  4781. #define CAMERA_CSI_CONFIG_REG0_NUM_D_TERM_EN(n) (((n)&0xff) << 0)
  4782. #define CAMERA_CUR_FRAME_LINE_NUM(n) (((n)&0x1fff) << 8)
  4783. #define CAMERA_DATA_LP_IN_CHOOSE_BIT(n) (((n)&0x3) << 21)
  4784. #define CAMERA_CLK_LP_INV (1 << 23)
  4785. #define CAMERA_TRAIL_DATA_WRONG_CHOOSE_BIT (1 << 24)
  4786. #define CAMERA_SYNC_BYPASS (1 << 25)
  4787. #define CAMERA_RDATA_BIT_INV_EN (1 << 26)
  4788. #define CAMERA_HS_SYNC_FIND_EN (1 << 27)
  4789. #define CAMERA_LINE_PACKET_ENABLE (1 << 28)
  4790. #define CAMERA_ECC_BYPASS (1 << 29)
  4791. #define CAMERA_DATA_LANE_CHOOSE_BIT (1 << 30)
  4792. #define CAMERA_CSI_MODULE_ENABLE (1 << 31)
  4793. // csi_config_reg1
  4794. #define CAMERA_CSI_CONFIG_REG1_NUM_HS_SETTLE(n) (((n)&0xff) << 0)
  4795. #define CAMERA_LP_DATA_LENGTH_CHOOSE_BIT(n) (((n)&0x7) << 8)
  4796. #define CAMERA_DATA_CLK_LP_POSEDGE_CHOOSE(n) (((n)&0x7) << 11)
  4797. #define CAMERA_CLK_LP_CK_INV (1 << 14)
  4798. #define CAMERA_RCLR_MASK_EN (1 << 15)
  4799. #define CAMERA_RINC_MASK_EN (1 << 16)
  4800. #define CAMERA_HS_ENABLE_MASK_EN (1 << 17)
  4801. #define CAMERA_DEN_CSI_INV_BIT (1 << 18)
  4802. #define CAMERA_HSYNC_CSI_INV_BIT (1 << 19)
  4803. #define CAMERA_VSYNC_CSI_INV_BIT (1 << 20)
  4804. #define CAMERA_HS_DATA2_ENABLE_REG (1 << 21)
  4805. #define CAMERA_HS_DATA1_ENABLE_REG (1 << 22)
  4806. #define CAMERA_HS_DATA1_ENABLE_CHOOSE_BIT (1 << 23)
  4807. #define CAMERA_HS_DATA1_ENABLE_DR (1 << 24)
  4808. #define CAMERA_DATA2_TERMINAL_ENABLE_REG (1 << 25)
  4809. #define CAMERA_DATA1_TERMINAL_ENABLE_REG (1 << 26)
  4810. #define CAMERA_DATA1_TERMINAL_ENABLE_DR (1 << 27)
  4811. #define CAMERA_LP_DATA_INTERRUPT_CLR (1 << 28)
  4812. #define CAMERA_LP_CMD_INTERRUPT_CLR (1 << 29)
  4813. #define CAMERA_LP_DATA_CLR (1 << 30)
  4814. #define CAMERA_LP_CMD_CLR (1 << 31)
  4815. // csi_config_reg2
  4816. #define CAMERA_NUM_HS_SETTLE_CLK(n) (((n)&0xffff) << 0)
  4817. #define CAMERA_NUM_C_TERM_EN(n) (((n)&0xffff) << 16)
  4818. // csi_config_reg3
  4819. #define CAMERA_CLK_LP_IN_CHOOSE_BIT(n) (((n)&0x3) << 6)
  4820. #define CAMERA_PU_LPRX_REG (1 << 8)
  4821. #define CAMERA_PU_HSRX_REG (1 << 9)
  4822. #define CAMERA_PU_DR (1 << 10)
  4823. #define CAMERA_DATA_PNSW_REG (1 << 11)
  4824. #define CAMERA_HS_CLK_ENABLE_REG (1 << 12)
  4825. #define CAMERA_HS_CLK_ENABLE_CHOOSE_BIT (1 << 13)
  4826. #define CAMERA_HS_CLK_ENABLE_DR (1 << 14)
  4827. #define CAMERA_CLK_TERMINAL_ENABLE_REG (1 << 15)
  4828. #define CAMERA_CLK_TERMINAL_ENABLE_DR (1 << 16)
  4829. #define CAMERA_OBSERVE_REG_5_LOW8_CHOOSE (1 << 17)
  4830. #define CAMERA_ECC_ERROR_FLAG_REG (1 << 18)
  4831. #define CAMERA_ECC_ERROR_DR (1 << 19)
  4832. #define CAMERA_CSI_CHANNEL_SEL (1 << 20)
  4833. #define CAMERA_TWO_LANE_BIT_REVERSE (1 << 21)
  4834. #define CAMERA_DATA2_LANE_BIT_REVERSE (1 << 22)
  4835. #define CAMERA_DATA1_LANE_BIT_REVERSE (1 << 23)
  4836. #define CAMERA_DATA2_HS_NO_MASK (1 << 24)
  4837. #define CAMERA_DATA1_HS_NO_MASK (1 << 25)
  4838. #define CAMERA_PU_LPRX_D2_REG (1 << 26)
  4839. #define CAMERA_PU_LPRX_D1_REG (1 << 27)
  4840. #define CAMERA_CLK_EDGE_SEL (1 << 29)
  4841. #define CAMERA_CLK_X2_SEL (1 << 30)
  4842. #define CAMERA_SINGLE_DATA_LANE_EN (1 << 31)
  4843. // csi_config_reg4
  4844. #define CAMERA_NUM_HS_CLK_USEFUL(n) (((n)&0x7fffffff) << 0)
  4845. #define CAMERA_NUM_HS_CLK_USEFUL_EN (1 << 31)
  4846. // csi_config_reg5
  4847. #define CAMERA_VC_ID_SET(n) (((n)&0x3) << 0)
  4848. #define CAMERA_DATA_LP_INV (1 << 2)
  4849. #define CAMERA_FIFO_RCLR_8809P_REG (1 << 3)
  4850. #define CAMERA_FIFO_WCLR_8809P_REG (1 << 4)
  4851. #define CAMERA_HS_SYNC_16BIT_8809P_MODE (1 << 5)
  4852. #define CAMERA_D_TERM_SMALL_8809P_EN (1 << 6)
  4853. #define CAMERA_DATA_LINE_INV_8809P_EN (1 << 7)
  4854. #define CAMERA_HS_ENABLE_8809P_MODE (1 << 8)
  4855. #define CAMERA_SP_TO_TRAIL_8809P_EN (1 << 9)
  4856. #define CAMERA_TRAIL_WRONG_8809P_BYPASS (1 << 10)
  4857. #define CAMERA_RINC_TRAIL_8809P_BYPASS (1 << 11)
  4858. #define CAMERA_HS_DATA_ENABLE_8809P_MODE (1 << 12)
  4859. #define CAMERA_HS_CLK_ENABLE_8809P_MODE (1 << 13)
  4860. #define CAMERA_DATA_TYPE_RE_CHECK_EN (1 << 14)
  4861. #define CAMERA_SYNC_ID_REG(n) (((n)&0xff) << 15)
  4862. #define CAMERA_SYNC_ID_DR (1 << 23)
  4863. #define CAMERA_CSI_OBSERVE_CHOOSE_BIT(n) (((n)&0x1f) << 24)
  4864. #define CAMERA_CRC_ERROR_FLAG_REG (1 << 29)
  4865. #define CAMERA_CRC_ERROR_FLAG_DR (1 << 30)
  4866. #define CAMERA_CSI_RINC_NEW_MODE_DIS (1 << 31)
  4867. // csi_config_reg6
  4868. #define CAMERA_DATA_TYPE_DP_REG(n) (((n)&0x3f) << 0)
  4869. #define CAMERA_DATA_TYPE_LE_REG(n) (((n)&0x3f) << 6)
  4870. #define CAMERA_DATA_TYPE_LS_REG(n) (((n)&0x3f) << 12)
  4871. #define CAMERA_DATA_TYPE_FE_REG(n) (((n)&0x3f) << 18)
  4872. #define CAMERA_DATA_TYPE_FS_REG(n) (((n)&0x3f) << 24)
  4873. #define CAMERA_DATA_TYPE_DP_DR (1 << 30)
  4874. #define CAMERA_DATA_TYPE_DR (1 << 31)
  4875. // csi_config_reg7
  4876. #define CAMERA_DATA_LANE_16BITS_MODE (1 << 2)
  4877. #define CAMERA_TERMINAL_2_HS_EXCHAGE_8809P (1 << 3)
  4878. #define CAMERA_TERMINAL_1_HS_EXCHAGE_8809P (1 << 4)
  4879. #define CAMERA_DATA2_TERMINAL_ENABLE_8809P_DR (1 << 5)
  4880. #define CAMERA_HS_DATA2_ENABLE_8809P_DR (1 << 6)
  4881. #define CAMERA_CSI_DOUT_TEST_8809P_EN (1 << 7)
  4882. #define CAMERA_CSI_DOUT_TEST_8809P(n) (((n)&0xff) << 8)
  4883. #define CAMERA_CSI_CONFIG_REG7_NUM_D_TERM_EN(n) (((n)&0xff) << 16)
  4884. #define CAMERA_CSI_CONFIG_REG7_NUM_HS_SETTLE(n) (((n)&0xff) << 24)
  4885. // csi_obs4
  4886. #define CAMERA_HS_DATA_STATE(n) (((n)&0x3fff) << 0)
  4887. #define CAMERA_PHY_DATA_STATE(n) (((n)&0x7fff) << 14)
  4888. #define CAMERA_FIFO_WFULL_ALMOST (1 << 29)
  4889. #define CAMERA_FIFO_WFULL (1 << 30)
  4890. #define CAMERA_FIFO_WEMPTY (1 << 31)
  4891. // csi_obs5
  4892. #define CAMERA_CSI_OBSERVE_REG_5_LOW(n) (((n)&0xff) << 0)
  4893. #define CAMERA_LP_DATA_INTERRUPT_FLAG (1 << 8)
  4894. #define CAMERA_LP_CMD_INTERRUPT_FLAG (1 << 9)
  4895. #define CAMERA_PHY_CLK_STATE(n) (((n)&0x1ff) << 10)
  4896. #define CAMERA_FIFO_RCOUNT(n) (((n)&0x1ff) << 19)
  4897. #define CAMERA_CRC_ERROR (1 << 28)
  4898. #define CAMERA_ERR_ECC_CORRECTED_FLAG (1 << 29)
  4899. #define CAMERA_ERR_DATA_CORRECTED_FLAG (1 << 30)
  4900. #define CAMERA_ERR_DATA_ZERO_FLAG (1 << 31)
  4901. // csi_enable
  4902. #define CAMERA_CSI_ENABLE (1 << 0)
  4903. // csi_config_reg8
  4904. #define CAMERA_DLY_SEL_CLKN_REG(n) (((n)&0xf) << 0)
  4905. #define CAMERA_DLY_SEL_CLKP_REG(n) (((n)&0xf) << 4)
  4906. #define CAMERA_DLY_SEL_DATA2_REG(n) (((n)&0xf) << 8)
  4907. #define CAMERA_DLY_SEL_DATA1_REG(n) (((n)&0xf) << 12)
  4908. #define CAMERA_VTH_SEL (1 << 16)
  4909. // soft_reset
  4910. #define CAMERA_DSP_RESET (1 << 0)
  4911. // awb_x1_min
  4912. #define CAMERA_AWB_X1_MIN(n) (((n)&0xff) << 0)
  4913. // awb_x1_max
  4914. #define CAMERA_AWB_X1_MAX(n) (((n)&0xff) << 0)
  4915. // awb_y1_min
  4916. #define CAMERA_AWB_Y1_MIN(n) (((n)&0xff) << 0)
  4917. // awb_y1_max
  4918. #define CAMERA_AWB_Y1_MAX(n) (((n)&0xff) << 0)
  4919. // awb_x2_min
  4920. #define CAMERA_AWB_X2_MIN(n) (((n)&0xff) << 0)
  4921. // awb_x2_max
  4922. #define CAMERA_AWB_X2_MAX(n) (((n)&0xff) << 0)
  4923. // awb_y2_min
  4924. #define CAMERA_AWB_Y2_MIN(n) (((n)&0xff) << 0)
  4925. // awb_y2_max
  4926. #define CAMERA_AWB_Y2_MAX(n) (((n)&0xff) << 0)
  4927. // awb_x3_min
  4928. #define CAMERA_AWB_X3_MIN(n) (((n)&0xff) << 0)
  4929. // awb_x3_max
  4930. #define CAMERA_AWB_X3_MAX(n) (((n)&0xff) << 0)
  4931. // awb_y3_min
  4932. #define CAMERA_AWB_Y3_MIN(n) (((n)&0xff) << 0)
  4933. // awb_y3_max
  4934. #define CAMERA_AWB_Y3_MAX(n) (((n)&0xff) << 0)
  4935. // awb_x4_min
  4936. #define CAMERA_AWB_X4_MIN(n) (((n)&0xff) << 0)
  4937. // awb_x4_max
  4938. #define CAMERA_AWB_X4_MAX(n) (((n)&0xff) << 0)
  4939. // awb_y4_min
  4940. #define CAMERA_AWB_Y4_MIN(n) (((n)&0xff) << 0)
  4941. // awb_y4_max
  4942. #define CAMERA_AWB_Y4_MAX(n) (((n)&0xff) << 0)
  4943. // awb_x5_min
  4944. #define CAMERA_AWB_X5_MIN(n) (((n)&0xff) << 0)
  4945. // awb_x5_max
  4946. #define CAMERA_AWB_X5_MAX(n) (((n)&0xff) << 0)
  4947. // awb_y5_min
  4948. #define CAMERA_AWB_Y5_MIN(n) (((n)&0xff) << 0)
  4949. // awb_y5_max
  4950. #define CAMERA_AWB_Y5_MAX(n) (((n)&0xff) << 0)
  4951. // awb_skin_x1_min
  4952. #define CAMERA_AWB_SKIN_X1_MIN(n) (((n)&0xff) << 0)
  4953. // awb_skin_x1_max
  4954. #define CAMERA_AWB_SKIN_X1_MAX(n) (((n)&0xff) << 0)
  4955. // awb_skin_y1_min
  4956. #define CAMERA_AWB_SKIN_Y1_MIN(n) (((n)&0xff) << 0)
  4957. // awb_skin_y1_max
  4958. #define CAMERA_AWB_SKIN_Y1_MAX(n) (((n)&0xff) << 0)
  4959. // awb_skin_x2_min
  4960. #define CAMERA_AWB_SKIN_X2_MIN(n) (((n)&0xff) << 0)
  4961. // awb_skin_x2_max
  4962. #define CAMERA_AWB_SKIN_X2_MAX(n) (((n)&0xff) << 0)
  4963. // awb_skin_y2_min
  4964. #define CAMERA_AWB_SKIN_Y2_MIN(n) (((n)&0xff) << 0)
  4965. // awb_skin_y2_max
  4966. #define CAMERA_AWB_SKIN_Y2_MAX(n) (((n)&0xff) << 0)
  4967. // awb_ctd_msb
  4968. #define CAMERA_AWB_X1_MIN_MSB (1 << 0)
  4969. #define CAMERA_AWB_X1_MAX_MSB (1 << 1)
  4970. #define CAMERA_AWB_Y5_MIN_MSB (1 << 2)
  4971. #define CAMERA_AWB_Y5_MAX_MSB (1 << 3)
  4972. #define CAMERA_AWB_ADJ_MODE(n) (((n)&0x3) << 4)
  4973. #define CAMERA_AWB_RATIO_MODE(n) (((n)&0x3) << 6)
  4974. // int_dif_thr_mid
  4975. #define CAMERA_INT_DIF_THR_MID(n) (((n)&0xff) << 0)
  4976. // lb_soft_rstn
  4977. #define CAMERA_LB_SOFT_RSTN (1 << 0)
  4978. // vsync_end_high
  4979. #define CAMERA_VSYNC_END_HIGH(n) (((n)&0xff) << 0)
  4980. // vsync_end_low
  4981. #define CAMERA_VSYNC_END_LOW(n) (((n)&0xff) << 0)
  4982. // line_numl
  4983. #define CAMERA_LINE_NUML(n) (((n)&0xff) << 0)
  4984. // pix_numl
  4985. #define CAMERA_PIX_NUML(n) (((n)&0xff) << 0)
  4986. // pix_line_numh
  4987. #define CAMERA_LINE_NUMH (1 << 0)
  4988. #define CAMERA_PIX_NUMH_RSVD(n) (((n)&0x7) << 1)
  4989. #define CAMERA_PIX_NUMH(n) (((n)&0x3) << 4)
  4990. #define CAMERA_LINE_NUMH_RSVD(n) (((n)&0x3) << 6)
  4991. // lb_ctrl
  4992. #define CAMERA_LOW_ORDER (1 << 0)
  4993. #define CAMERA_USE_FB_REG (1 << 1)
  4994. #define CAMERA_NOT_CVP_REG (1 << 2)
  4995. #define CAMERA_FIRST_BYTE_REG(n) (((n)&0x7) << 3)
  4996. // data_format
  4997. #define CAMERA_DATA_FORMAT(n) (((n)&0x3) << 0)
  4998. // lb_enable
  4999. #define CAMERA_LB_ENABLE (1 << 0)
  5000. // vh_inv
  5001. #define CAMERA_HSYNC_INV (1 << 0)
  5002. #define CAMERA_VH_INV_VSYNC_INV (1 << 1)
  5003. // line_cnt_l
  5004. #define CAMERA_LINE_CNT_L(n) (((n)&0xff) << 0)
  5005. // line_cnt_h
  5006. #define CAMERA_LINE_CNT_H(n) (((n)&0x3) << 0)
  5007. // num_check
  5008. #define CAMERA_LINE_NUM_CHECK (1 << 0)
  5009. #define CAMERA_BYTE_NUM_CHECK (1 << 1)
  5010. #define CAMERA_LINE_NUM_CLEAR (1 << 4)
  5011. #define CAMERA_BYTE_NUM_CLEAR (1 << 5)
  5012. // dci_ctrl_reg
  5013. #define CAMERA_KL_LOW_LIGHT_FIX (1 << 0)
  5014. #define CAMERA_KL_REG_FIX (1 << 1)
  5015. #define CAMERA_KU_LOW_LIGHT_FIX (1 << 2)
  5016. #define CAMERA_KU_REG_FIX (1 << 3)
  5017. #define CAMERA_HOFST(n) (((n)&0x3) << 4)
  5018. #define CAMERA_VBH_SEL(n) (((n)&0x3) << 6)
  5019. // dci_ofst_reg
  5020. #define CAMERA_KL_OFSTX1(n) (((n)&0xf) << 0)
  5021. #define CAMERA_KU_OFSTX1(n) (((n)&0xf) << 4)
  5022. // dci_hist_reg
  5023. #define CAMERA_DK_HISTX1(n) (((n)&0xf) << 0)
  5024. #define CAMERA_BR_HISTX1(n) (((n)&0xf) << 4)
  5025. // ae_sw_ctrl_reg
  5026. #define CAMERA_NEXP_SW_IN(n) (((n)&0xf) << 0)
  5027. #define CAMERA_AE_EXT_ADJ_START (1 << 7)
  5028. // ae_thr_reg
  5029. #define CAMERA_THR_DARK(n) (((n)&0xf) << 0)
  5030. #define CAMERA_THR_BRIGHT(n) (((n)&0xf) << 4)
  5031. // ae_misc_ctrl_reg
  5032. #define CAMERA_OFST_DEC_LOW_SEL(n) (((n)&0x3) << 0)
  5033. #define CAMERA_OFST_DEC_HIGH_SEL(n) (((n)&0x3) << 2)
  5034. #define CAMERA_FORCE_ADJ1 (1 << 4)
  5035. #define CAMERA_FORCE_ADJ2 (1 << 5)
  5036. #define CAMERA_FORCE_ADJ3 (1 << 6)
  5037. #define CAMERA_INDEX_OFST_NO_STEP (1 << 7)
  5038. // csup_xx_reg
  5039. #define CAMERA_X_LOW(n) (((n)&0xf) << 0)
  5040. #define CAMERA_X_HIGH(n) (((n)&0xf) << 4)
  5041. // contr_ythr_reg
  5042. #define CAMERA_CSUP_GAIN_LOW_TH_H (1 << 0)
  5043. #define CAMERA_CSUP_GAIN_HIGH_TH(n) (((n)&0x7) << 1)
  5044. #define CAMERA_FIXED_CONTR_YTHR(n) (((n)&0xf) << 4)
  5045. // contr_yave_offset_reg
  5046. #define CAMERA_YAVE_OFFSET_REG(n) (((n)&0x3f) << 0)
  5047. #define CAMERA_YTHR_SEL (1 << 6)
  5048. #define CAMERA_YAVE_OFFSET_SIGN (1 << 7)
  5049. // contr_ku_lo_reg
  5050. #define CAMERA_KU(n) (((n)&0x7f) << 0)
  5051. #define CAMERA_KU_SIGN (1 << 7)
  5052. // contr_kl_lo_reg
  5053. #define CAMERA_KL(n) (((n)&0x7f) << 0)
  5054. #define CAMERA_KL_SIGN (1 << 7)
  5055. // contr_ku_mid_reg
  5056. #define CAMERA_KU(n) (((n)&0x7f) << 0)
  5057. #define CAMERA_KU_SIGN (1 << 7)
  5058. // contr_kl_mid_reg
  5059. #define CAMERA_KL(n) (((n)&0x7f) << 0)
  5060. #define CAMERA_KL_SIGN (1 << 7)
  5061. // contr_ku_hi_reg
  5062. #define CAMERA_KU(n) (((n)&0x7f) << 0)
  5063. #define CAMERA_KU_SIGN (1 << 7)
  5064. // contr_kl_hi_reg
  5065. #define CAMERA_KL(n) (((n)&0x7f) << 0)
  5066. #define CAMERA_KL_SIGN (1 << 7)
  5067. // luma_offset_lo_reg
  5068. #define CAMERA_OFFSET(n) (((n)&0x3f) << 0)
  5069. #define CAMERA_ALGO_SEL (1 << 6)
  5070. #define CAMERA_OFFSET_SIGN (1 << 7)
  5071. // luma_offset_mid_reg
  5072. #define CAMERA_OFFSET(n) (((n)&0x3f) << 0)
  5073. #define CAMERA_ALGO_SEL (1 << 6)
  5074. #define CAMERA_OFFSET_SIGN (1 << 7)
  5075. // luma_offset_hi_reg
  5076. #define CAMERA_OFFSET(n) (((n)&0x3f) << 0)
  5077. #define CAMERA_ALGO_SEL (1 << 6)
  5078. #define CAMERA_OFFSET_SIGN (1 << 7)
  5079. // u_gain_lo_reg
  5080. #define CAMERA_U_GAIN_LO_REG(n) (((n)&0xff) << 0)
  5081. // v_gain_lo_reg
  5082. #define CAMERA_V_GAIN_LO_REG(n) (((n)&0xff) << 0)
  5083. // u_gain_mid_reg
  5084. #define CAMERA_U_GAIN_MID_REG(n) (((n)&0xff) << 0)
  5085. // v_gain_mid_reg
  5086. #define CAMERA_V_GAIN_MID_REG(n) (((n)&0xff) << 0)
  5087. // u_gain_hi_reg
  5088. #define CAMERA_U_GAIN_HI_REG(n) (((n)&0xff) << 0)
  5089. // v_gain_hi_reg
  5090. #define CAMERA_V_GAIN_HI_REG(n) (((n)&0xff) << 0)
  5091. // again_sel_th0_reg
  5092. #define CAMERA_CONTR_GAIN_LOW_TH(n) (((n)&0x7) << 0)
  5093. #define CAMERA_AGAIN_SEL_TH0_RSVD (1 << 3)
  5094. #define CAMERA_CONTR_GAIN_HI_TH(n) (((n)&0x7) << 4)
  5095. // awb_cc_type_ctrl_reg
  5096. #define CAMERA_CC_TYPE_MODE(n) (((n)&0xf) << 0)
  5097. #define CAMERA_CC_GAIN_HI_TH(n) (((n)&0x7) << 4)
  5098. #define CAMERA_LUMA_FIRST (1 << 7)
  5099. // awb_cc_type_th_reg
  5100. #define CAMERA_R_BIG_TH(n) (((n)&0xf) << 0)
  5101. #define CAMERA_B_BIG_TH(n) (((n)&0xf) << 4)
  5102. // isp_wrapper_ctrl_1
  5103. #define CAMERA_POUT_MODE(n) (((n)&0x3) << 0)
  5104. #define CAMERA_YUV_MODE(n) (((n)&0x3) << 2)
  5105. #define CAMERA_VSYNC_TOGGLE (1 << 4)
  5106. #define CAMERA_MIPI_RSTN (1 << 5)
  5107. #define CAMERA_HSYNC_FIX (1 << 6)
  5108. // top_dummy
  5109. #define CAMERA_TOP_DUMMY(n) (((n)&0x7f) << 0)
  5110. // left_dummy
  5111. #define CAMERA_LEFT_DUMMY(n) (((n)&0xff) << 0)
  5112. // isp_wrapper_ctrl_2
  5113. #define CAMERA_RGB_MODE_REG(n) (((n)&0x7) << 0)
  5114. #define CAMERA_SUB_MODE (1 << 3)
  5115. #define CAMERA_MON_MODE_REG (1 << 4)
  5116. #define CAMERA_OCLK_INV_REG (1 << 5)
  5117. #define CAMERA_ISP_OUT_EN (1 << 6)
  5118. // line_num_l_reg
  5119. #define CAMERA_LINE_NUM_L_REG(n) (((n)&0x3f) << 0)
  5120. // pix_num_l_reg
  5121. #define CAMERA_PIX_NUM_L_REG(n) (((n)&0x7f) << 0)
  5122. #define CAMERA_CSI_MON_REG (1 << 7)
  5123. // v_dummy
  5124. #define CAMERA_VBOT_DUMMY_REG(n) (((n)&0xf) << 0)
  5125. #define CAMERA_VTOP_DUMMY_REG(n) (((n)&0xf) << 4)
  5126. // scg
  5127. #define CAMERA_KUKL_SEL (1 << 0)
  5128. #define CAMERA_REG94_RD_SEL (1 << 1)
  5129. #define CAMERA_BAYER_OUT_SEL (1 << 2)
  5130. #define CAMERA_CSUP_EN (1 << 3)
  5131. #define CAMERA_Y_GAMMA_EN(n) (((n)&0x3) << 4)
  5132. #define CAMERA_YUV_SDI_EN (1 << 6)
  5133. #define CAMERA_REG92_RD_SEL (1 << 7)
  5134. // y_gamma_b0
  5135. #define CAMERA_Y_GAMMA_B0(n) (((n)&0xff) << 0)
  5136. // y_gamma_b1
  5137. #define CAMERA_Y_GAMMA_B1(n) (((n)&0xff) << 0)
  5138. // y_gamma_b2
  5139. #define CAMERA_Y_GAMMA_B2(n) (((n)&0xff) << 0)
  5140. // y_gamma_b4
  5141. #define CAMERA_Y_GAMMA_B4(n) (((n)&0xff) << 0)
  5142. // y_gamma_b6
  5143. #define CAMERA_Y_GAMMA_B6(n) (((n)&0xff) << 0)
  5144. // y_gamma_b8
  5145. #define CAMERA_Y_GAMMA_B8(n) (((n)&0xff) << 0)
  5146. // y_gamma_b10
  5147. #define CAMERA_Y_GAMMA_B10(n) (((n)&0xff) << 0)
  5148. // y_gamma_b12
  5149. #define CAMERA_Y_GAMMA_B12(n) (((n)&0xff) << 0)
  5150. // y_gamma_b16
  5151. #define CAMERA_Y_GAMMA_B16(n) (((n)&0xff) << 0)
  5152. // y_gamma_b20
  5153. #define CAMERA_Y_GAMMA_B20(n) (((n)&0xff) << 0)
  5154. // y_gamma_b24
  5155. #define CAMERA_Y_GAMMA_B24(n) (((n)&0xff) << 0)
  5156. // y_gamma_b28
  5157. #define CAMERA_Y_GAMMA_B28(n) (((n)&0xff) << 0)
  5158. // y_gamma_b32
  5159. #define CAMERA_Y_GAMMA_B32(n) (((n)&0xff) << 0)
  5160. // r_awb_gain_in
  5161. #define CAMERA_R_AWB_GAIN_IN(n) (((n)&0xff) << 0)
  5162. // g_awb_gain_in
  5163. #define CAMERA_G_AWB_GAIN_IN(n) (((n)&0xff) << 0)
  5164. // b_awb_gain_in
  5165. #define CAMERA_B_AWB_GAIN_IN(n) (((n)&0xff) << 0)
  5166. // r_drc_gain_in
  5167. #define CAMERA_R_DRC_GAIN_IN(n) (((n)&0xff) << 0)
  5168. // gr_drc_gain_in
  5169. #define CAMERA_GR_DRC_GAIN_IN(n) (((n)&0xff) << 0)
  5170. // gb_drc_gain_in
  5171. #define CAMERA_GB_DRC_GAIN_IN(n) (((n)&0xff) << 0)
  5172. // b_drc_gain_in
  5173. #define CAMERA_B_DRC_GAIN_IN(n) (((n)&0xff) << 0)
  5174. // ae_ctrl
  5175. #define CAMERA_ANA_GAIN_IN(n) (((n)&0x3f) << 0)
  5176. #define CAMERA_AE_UPDATE_EN (1 << 6)
  5177. #define CAMERA_AE_EN (1 << 7)
  5178. // ae_ctrl2
  5179. #define CAMERA_AWB_ADJ_SEL(n) (((n)&0x3) << 0)
  5180. #define CAMERA_GAP_AE (1 << 2)
  5181. #define CAMERA_GAP_BE (1 << 3)
  5182. #define CAMERA_AE_ACTION_PERIOD(n) (((n)&0x7) << 4)
  5183. #define CAMERA_YAVE_MON_SEL (1 << 7)
  5184. // ae_ctrl3
  5185. #define CAMERA_YAVE_USE_MEAN(n) (((n)&0x3) << 0)
  5186. #define CAMERA_YAVE_DIFF_THR_REG(n) (((n)&0x3) << 2)
  5187. #define CAMERA_YAVE_SEL(n) (((n)&0x3) << 4)
  5188. #define CAMERA_YAVE_PLUS_BH_MODE (1 << 6)
  5189. #define CAMERA_YWAVE_PLUS_BH_MODE (1 << 7)
  5190. // ae_ctrl4
  5191. #define CAMERA_AE_HIST_BIG_EN (1 << 0)
  5192. #define CAMERA_AE_HIST_TOO_BIG_EN (1 << 1)
  5193. #define CAMERA_HIST_OFST0(n) (((n)&0x3) << 2)
  5194. #define CAMERA_INDEX_OFST0(n) (((n)&0x3) << 4)
  5195. #define CAMERA_INDEX_OFST1(n) (((n)&0x3) << 6)
  5196. // ae_win_start
  5197. #define CAMERA_PCNT_LEFT(n) (((n)&0xf) << 0)
  5198. #define CAMERA_LCNT_TOP(n) (((n)&0xf) << 4)
  5199. // ae_win_width
  5200. #define CAMERA_AE_WIN_WIDTH(n) (((n)&0xff) << 0)
  5201. // ae_win_height
  5202. #define CAMERA_AE_WIN_HEIGHT(n) (((n)&0xff) << 0)
  5203. // exp_init
  5204. #define CAMERA_EXP_INIT(n) (((n)&0xff) << 0)
  5205. // exp_ceil_init
  5206. #define CAMERA_EXP_CEIL_INIT(n) (((n)&0xf) << 0)
  5207. // ae_exp_1e
  5208. #define CAMERA_AE_EXP_1E(n) (((n)&0xff) << 0)
  5209. // ae_diff_thr
  5210. #define CAMERA_THR2_DARK(n) (((n)&0xf) << 0)
  5211. #define CAMERA_THR2_BRIGHT(n) (((n)&0xf) << 4)
  5212. // ae_bh_sel
  5213. #define CAMERA_BH_FACTOR_INDOOR(n) (((n)&0x7) << 0)
  5214. #define CAMERA_BH_FACTOR_OUTDOOR(n) (((n)&0x7) << 3)
  5215. #define CAMERA_BH_MEAN_SEL(n) (((n)&0x3) << 6)
  5216. // awb_ctrl
  5217. #define CAMERA_AWB_SW_MON_EN (1 << 0)
  5218. #define CAMERA_FAST_2X (1 << 1)
  5219. #define CAMERA_FAST_4X (1 << 2)
  5220. #define CAMERA_AWB_ACTION_PERIOD(n) (((n)&0x7) << 3)
  5221. #define CAMERA_AWB_UPDATE_EN (1 << 6)
  5222. #define CAMERA_AWB_EN (1 << 7)
  5223. // awb_ctrl2
  5224. #define CAMERA_AWB_MON_SEL(n) (((n)&0x7) << 0)
  5225. #define CAMERA_AWB_VLD_SEL (1 << 3)
  5226. #define CAMERA_AWB_VLD_MODE(n) (((n)&0x7) << 4)
  5227. #define CAMERA_AWB_ADJ (1 << 7)
  5228. // awb_y_max
  5229. #define CAMERA_AWB_Y_MAX(n) (((n)&0xff) << 0)
  5230. // awb_stop
  5231. #define CAMERA_AWB_STOP_CB_NEG_LEVEL(n) (((n)&0x3) << 0)
  5232. #define CAMERA_AWB_STOP_CB_POS_LEVEL(n) (((n)&0x3) << 2)
  5233. #define CAMERA_AWB_STOP_CR_NEG_LEVEL(n) (((n)&0x3) << 4)
  5234. #define CAMERA_AWB_STOP_CR_POS_LEVEL(n) (((n)&0x3) << 6)
  5235. // awb_algo
  5236. #define CAMERA_AWB_ALGO(n) (((n)&0xff) << 0)
  5237. // awb_ctrl3
  5238. #define CAMERA_CR_OFST_LT1X (1 << 0)
  5239. #define CAMERA_CR_OFST_GT1X (1 << 1)
  5240. #define CAMERA_CB_OFST_LT1X (1 << 2)
  5241. #define CAMERA_CB_OFST_GT1X (1 << 3)
  5242. #define CAMERA_AWB_SUM_VLD_SEL (1 << 4)
  5243. #define CAMERA_AWB_STOP_SEL_REG (1 << 5)
  5244. #define CAMERA_AWB_SKIN_SEL (1 << 6)
  5245. #define CAMERA_AWB_ALGO_MODE (1 << 7)
  5246. // awb_ctrl4
  5247. #define CAMERA_AWB_CTRL4(n) (((n)&0xff) << 0)
  5248. // dig_gain_in
  5249. #define CAMERA_DIG_GAIN_IN(n) (((n)&0xff) << 0)
  5250. // y_init_thr
  5251. #define CAMERA_Y_INIT_MODE (1 << 0)
  5252. #define CAMERA_Y_LOW_EN (1 << 1)
  5253. #define CAMERA_Y_HIGH_EN (1 << 2)
  5254. #define CAMERA_Y_LOW_THR(n) (((n)&0x1f) << 3)
  5255. // y_ave_target
  5256. #define CAMERA_Y_AVE_TARGET(n) (((n)&0xff) << 0)
  5257. // y_lmt_offset
  5258. #define CAMERA_Y_LOW_LIMIT(n) (((n)&0x7) << 0)
  5259. #define CAMERA_Y_LMT_OFST (1 << 3)
  5260. #define CAMERA_Y_HIGH_LIMIT(n) (((n)&0x7) << 4)
  5261. // again_sel_th2
  5262. #define CAMERA_YNR_GAIN_LOW_TH(n) (((n)&0x7) << 0)
  5263. #define CAMERA_AGAIN_SEL_TH2 (1 << 3)
  5264. #define CAMERA_YNR_GAIN_HI_TH(n) (((n)&0x7) << 4)
  5265. // yave_target_chg1
  5266. #define CAMERA_YAVE_TARGET_OFST_L(n) (((n)&0xf) << 0)
  5267. #define CAMERA_YAVE_TARGET_OFST_H(n) (((n)&0xf) << 4)
  5268. // image_eff_reg
  5269. #define CAMERA_GREY_EN (1 << 0)
  5270. #define CAMERA_SEPIA_EN (1 << 1)
  5271. #define CAMERA_NEGATIVE_EN (1 << 2)
  5272. #define CAMERA_COLOR_BAR_EN (1 << 3)
  5273. #define CAMERA_IMAGE_EFF_RSVD (1 << 4)
  5274. #define CAMERA_REG93_SEL (1 << 5)
  5275. #define CAMERA_REG94_SEL (1 << 6)
  5276. #define CAMERA_SHARP_MON (1 << 7)
  5277. // ywave_out
  5278. #define CAMERA_YWAVE_OUT(n) (((n)&0xff) << 0)
  5279. // ae_bright_hist
  5280. #define CAMERA_AE_BRIGHT_HIST(n) (((n)&0xff) << 0)
  5281. // yave_out
  5282. #define CAMERA_YAVE_OUT(n) (((n)&0xff) << 0)
  5283. // exp_out
  5284. #define CAMERA_EXP_OUT(n) (((n)&0xff) << 0)
  5285. // misc_out
  5286. #define CAMERA_EXP_OUT_H(n) (((n)&0x7) << 0)
  5287. #define CAMERA_AWB_OK (1 << 3)
  5288. #define CAMERA_NEXP_SEL(n) (((n)&0x3) << 4)
  5289. #define CAMERA_FIXED_0 (1 << 6)
  5290. #define CAMERA_AE_OK (1 << 7)
  5291. // awb_debug_out
  5292. #define CAMERA_AWB_CRGT(n) (((n)&0x3) << 0)
  5293. #define CAMERA_AWB_CBGT(n) (((n)&0x3) << 2)
  5294. #define CAMERA_AWB_CRSUM_SIGN (1 << 4)
  5295. #define CAMERA_AWB_CBSUM_SIGN (1 << 5)
  5296. #define CAMERA_AWB_CBCR (1 << 6)
  5297. #define CAMERA_AWB_SUM_VLD (1 << 7)
  5298. // mono_color
  5299. #define CAMERA_MONO_COLOR(n) (((n)&0xff) << 0)
  5300. // r_awb_gain
  5301. #define CAMERA_R_AWB_GAIN(n) (((n)&0xff) << 0)
  5302. // b_awb_gain
  5303. #define CAMERA_B_AWB_GAIN(n) (((n)&0xff) << 0)
  5304. // misc_status
  5305. #define CAMERA_ANA_GAIN_OUT(n) (((n)&0x3f) << 0)
  5306. #define CAMERA_CC_TYPE (1 << 6)
  5307. #define CAMERA_IS_OUTDOOR (1 << 7)
  5308. // yave_contr
  5309. #define CAMERA_YAVE_CONTR(n) (((n)&0xff) << 0)
  5310. // gamma_type
  5311. #define CAMERA_GAMMA_TYPE_MODE(n) (((n)&0x7) << 0)
  5312. #define CAMERA_GAMMA_GAIN_HI_TH(n) (((n)&0x7) << 3)
  5313. #define CAMERA_VGAS(n) (((n)&0x3) << 6)
  5314. // blc_line
  5315. #define CAMERA_BLC_LINE(n) (((n)&0xff) << 0)
  5316. // lsc_xx
  5317. #define CAMERA_X_LOW(n) (((n)&0xf) << 0)
  5318. #define CAMERA_X_HIGH(n) (((n)&0xf) << 4)
  5319. // lsc_blc_gain_th
  5320. #define CAMERA_LSC_GAIN_LOW_TH(n) (((n)&0x7) << 0)
  5321. #define CAMERA_LSC_GAIN_HI_TH(n) (((n)&0x7) << 3)
  5322. #define CAMERA_CSUP_GAIN_LOW_TH(n) (((n)&0x3) << 6)
  5323. // blc_ctrl
  5324. #define CAMERA_BLC_OUT_MODE(n) (((n)&0x3) << 0)
  5325. #define CAMERA_LINE_INIT_H (1 << 2)
  5326. #define CAMERA_BLC_OFST_SIGN (1 << 3)
  5327. #define CAMERA_BLC_MODE(n) (((n)&0x3) << 4)
  5328. #define CAMERA_BLC_SEL (1 << 6)
  5329. #define CAMERA_BLC_EN (1 << 7)
  5330. // blc_init
  5331. #define CAMERA_BLC00_OFST(n) (((n)&0xf) << 0)
  5332. #define CAMERA_BLC01_OFST(n) (((n)&0xf) << 4)
  5333. // blc_offset
  5334. #define CAMERA_BLC10_OFST(n) (((n)&0xf) << 0)
  5335. #define CAMERA_BLC11_OFST(n) (((n)&0xf) << 4)
  5336. // blc_thr
  5337. #define CAMERA_BLC_THR(n) (((n)&0x3f) << 0)
  5338. // lsc_xy_cent
  5339. #define CAMERA_Y_CENT(n) (((n)&0xf) << 0)
  5340. #define CAMERA_X_CENT(n) (((n)&0xf) << 4)
  5341. // cnr_dif_thr
  5342. #define CAMERA_CNR_V_EN (1 << 0)
  5343. #define CAMERA_CNR_H_EN (1 << 1)
  5344. #define CAMERA_VCNR_SEL (1 << 2)
  5345. #define CAMERA_EDGE_MON (1 << 3)
  5346. #define CAMERA_AWB_SKIN_MODE(n) (((n)&0x7) << 4)
  5347. #define CAMERA_GAMMA_TYPE (1 << 7)
  5348. // cnr_thr
  5349. #define CAMERA_CNR_THR_V(n) (((n)&0x7) << 0)
  5350. #define CAMERA_EDGE_EN_V (1 << 3)
  5351. #define CAMERA_CNR_THR_H(n) (((n)&0x7) << 4)
  5352. #define CAMERA_EDGE_EN_H (1 << 7)
  5353. // gamma_ctrl
  5354. #define CAMERA_GAMMA_P_ID (1 << 0)
  5355. #define CAMERA_GAMMA_L_ID (1 << 1)
  5356. #define CAMERA_GAMMA_EN_NON_OUTDOOR (1 << 2)
  5357. #define CAMERA_GAMMA_EN_OUTDOOR (1 << 3)
  5358. #define CAMERA_LSC_P_ID (1 << 4)
  5359. #define CAMERA_LSC_L_ID (1 << 5)
  5360. #define CAMERA_LSC_EN_NON_OUTDOOR (1 << 6)
  5361. #define CAMERA_LSC_EN_OUTDOOR (1 << 7)
  5362. // bayer_gamma_b0
  5363. #define CAMERA_BAYER_GAMMA_B0(n) (((n)&0xff) << 0)
  5364. // bayer_gamma_b1
  5365. #define CAMERA_BAYER_GAMMA_B1(n) (((n)&0xff) << 0)
  5366. // bayer_gamma_b2
  5367. #define CAMERA_BAYER_GAMMA_B2(n) (((n)&0xff) << 0)
  5368. // bayer_gamma_b3
  5369. #define CAMERA_BAYER_GAMMA_B3(n) (((n)&0xff) << 0)
  5370. // bayer_gamma_b4
  5371. #define CAMERA_BAYER_GAMMA_B4(n) (((n)&0xff) << 0)
  5372. // bayer_gamma_b6
  5373. #define CAMERA_BAYER_GAMMA_B6(n) (((n)&0xff) << 0)
  5374. // bayer_gamma_b8
  5375. #define CAMERA_BAYER_GAMMA_B8(n) (((n)&0xff) << 0)
  5376. // bayer_gamma_b10
  5377. #define CAMERA_BAYER_GAMMA_B10(n) (((n)&0xff) << 0)
  5378. // bayer_gamma_b12
  5379. #define CAMERA_BAYER_GAMMA_B12(n) (((n)&0xff) << 0)
  5380. // bayer_gamma_b16
  5381. #define CAMERA_BAYER_GAMMA_B16(n) (((n)&0xff) << 0)
  5382. // bayer_gamma_b20
  5383. #define CAMERA_BAYER_GAMMA_B20(n) (((n)&0xff) << 0)
  5384. // bayer_gamma_b24
  5385. #define CAMERA_BAYER_GAMMA_B24(n) (((n)&0xff) << 0)
  5386. // bayer_gamma_b28
  5387. #define CAMERA_BAYER_GAMMA_B28(n) (((n)&0xff) << 0)
  5388. // bayer_gamma_b32
  5389. #define CAMERA_BAYER_GAMMA_B32(n) (((n)&0xff) << 0)
  5390. // bayer_gamma_b36
  5391. #define CAMERA_BAYER_GAMMA_B36(n) (((n)&0xff) << 0)
  5392. // bayer_gamma_b40
  5393. #define CAMERA_BAYER_GAMMA_B40(n) (((n)&0xff) << 0)
  5394. // bayer_gamma_b48
  5395. #define CAMERA_BAYER_GAMMA_B48(n) (((n)&0xff) << 0)
  5396. // bayer_gamma_b56
  5397. #define CAMERA_BAYER_GAMMA_B56(n) (((n)&0xff) << 0)
  5398. // bayer_gamma_b64
  5399. #define CAMERA_BAYER_GAMMA_B64(n) (((n)&0xff) << 0)
  5400. // blc_out0
  5401. #define CAMERA_BLC_OUT0(n) (((n)&0xff) << 0)
  5402. // blc_out1
  5403. #define CAMERA_BLC_OUT1(n) (((n)&0xff) << 0)
  5404. // dpc_ctrl_0
  5405. #define CAMERA_DPC_ON (1 << 0)
  5406. #define CAMERA_ADP_MED_SEL (1 << 1)
  5407. #define CAMERA_ANA_GAIN_CMP(n) (((n)&0x3) << 2)
  5408. #define CAMERA_RSVD (1 << 4)
  5409. #define CAMERA_NRF_GAUS_SEL (1 << 5)
  5410. #define CAMERA_BAYER_NR_ON (1 << 6)
  5411. #define CAMERA_CC_ON (1 << 7)
  5412. // dpc_ctrl_1
  5413. #define CAMERA_INT_FLG_CMP(n) (((n)&0x3) << 0)
  5414. #define CAMERA_ABS_SIGN_ALL_CMP(n) (((n)&0x3) << 2)
  5415. #define CAMERA_INT_DIF_SEL (1 << 4)
  5416. // y_thr_lo
  5417. #define CAMERA_Y_THR_LO(n) (((n)&0xff) << 0)
  5418. // y_thr_mid
  5419. #define CAMERA_Y_THR_MID(n) (((n)&0xff) << 0)
  5420. // y_thr_hi
  5421. #define CAMERA_Y_THR_HI(n) (((n)&0xff) << 0)
  5422. // intp_cfa_hv
  5423. #define CAMERA_CFA_V_THR_L(n) (((n)&0x7) << 0)
  5424. #define CAMERA_RSVD1 (1 << 3)
  5425. #define CAMERA_CFA_H_THR_L(n) (((n)&0x7) << 4)
  5426. #define CAMERA_RSVD2 (1 << 7)
  5427. // manual_adj
  5428. #define CAMERA_B_GAIN_ADJ (1 << 0)
  5429. #define CAMERA_G_GAIN_ADJ (1 << 1)
  5430. #define CAMERA_R_GAIN_ADJ (1 << 2)
  5431. #define CAMERA_ANA_GAIN_ADJ (1 << 3)
  5432. #define CAMERA_ADJ_DIRECTION (1 << 4)
  5433. #define CAMERA_INDEX_MANUAL_ADJ (1 << 5)
  5434. #define CAMERA_IN_CAPTURE_AWB (1 << 6)
  5435. #define CAMERA_IN_CAPTURE_AE (1 << 7)
  5436. // dpc_int_thr_lo
  5437. #define CAMERA_DPC_INT_THR_LO(n) (((n)&0xff) << 0)
  5438. // dpc_int_thr_hi
  5439. #define CAMERA_DPC_INT_THR_HI(n) (((n)&0xff) << 0)
  5440. // again_sel_th1
  5441. #define CAMERA_BNR_GAIN_LOW_TH(n) (((n)&0x7) << 0)
  5442. #define CAMERA_AGAIN_SEL_TH1_RSVD (1 << 3)
  5443. #define CAMERA_BNR_GAIN_HI_TH(n) (((n)&0x7) << 4)
  5444. // dpc_nr_lf_str_lo
  5445. #define CAMERA_DPC_NR_LF_STR_LO(n) (((n)&0xff) << 0)
  5446. // dpc_nr_hf_str_lo
  5447. #define CAMERA_DPC_NR_HF_STR_LO(n) (((n)&0xff) << 0)
  5448. // dpc_nr_area_thr_lo
  5449. #define CAMERA_DPC_NR_AREA_THR_LO(n) (((n)&0xff) << 0)
  5450. // dpc_nr_lf_str_mid
  5451. #define CAMERA_DPC_NR_LF_STR_MID(n) (((n)&0xff) << 0)
  5452. // dpc_nr_hf_str_mid
  5453. #define CAMERA_DPC_NR_HF_STR_MID(n) (((n)&0xff) << 0)
  5454. // dpc_nr_area_thr_mid
  5455. #define CAMERA_DPC_NR_AREA_THR_MID(n) (((n)&0xff) << 0)
  5456. // dpc_nr_lf_str_hi
  5457. #define CAMERA_DPC_NR_LF_STR_HI(n) (((n)&0xff) << 0)
  5458. // dpc_nr_hf_str_hi
  5459. #define CAMERA_DPC_NR_HF_STR_HI(n) (((n)&0xff) << 0)
  5460. // dpc_nr_area_thr_hi
  5461. #define CAMERA_DPC_NR_AREA_THR_HI(n) (((n)&0xff) << 0)
  5462. // intp_ctrl
  5463. #define CAMERA_PID_INV_EN (1 << 0)
  5464. #define CAMERA_LID_INV_EN (1 << 1)
  5465. #define CAMERA_GFILTER_EN (1 << 2)
  5466. #define CAMERA_GFILTER3_EN (1 << 3)
  5467. #define CAMERA_GFLITER5_EN (1 << 4)
  5468. #define CAMERA_SORT_SEL(n) (((n)&0x7) << 5)
  5469. // intp_cfa_h_thr
  5470. #define CAMERA_INTP_CFA_H_THR(n) (((n)&0xff) << 0)
  5471. // intp_cfa_v_thr
  5472. #define CAMERA_INTP_CFA_V_THR(n) (((n)&0xff) << 0)
  5473. // intp_grgb_sel_lmt
  5474. #define CAMERA_INTP_GRGB_SEL_LMT(n) (((n)&0xff) << 0)
  5475. // intp_gf_lmt_thr
  5476. #define CAMERA_INTP_GF_LMT_THR(n) (((n)&0xff) << 0)
  5477. // cc_r_offset
  5478. #define CAMERA_CC_R_OFFSET(n) (((n)&0xff) << 0)
  5479. // cc_g_offset
  5480. #define CAMERA_CC_G_OFFSET(n) (((n)&0xff) << 0)
  5481. // cc_b_offset
  5482. #define CAMERA_CC_B_OFFSET(n) (((n)&0xff) << 0)
  5483. // cc_00
  5484. #define CAMERA_CC_00(n) (((n)&0xff) << 0)
  5485. // cc_01
  5486. #define CAMERA_CC_01(n) (((n)&0xff) << 0)
  5487. // cc_10
  5488. #define CAMERA_CC_10(n) (((n)&0xff) << 0)
  5489. // cc_11
  5490. #define CAMERA_CC_11(n) (((n)&0xff) << 0)
  5491. // cc_20
  5492. #define CAMERA_CC_20(n) (((n)&0xff) << 0)
  5493. // cc_21
  5494. #define CAMERA_CC_21(n) (((n)&0xff) << 0)
  5495. // cc_r_offset_post
  5496. #define CAMERA_CC_R_OFFSET_POST(n) (((n)&0xff) << 0)
  5497. // cc_g_offset_post
  5498. #define CAMERA_CC_G_OFFSET_POST(n) (((n)&0xff) << 0)
  5499. // cc_b_offset_post
  5500. #define CAMERA_CC_B_OFFSET_POST(n) (((n)&0xff) << 0)
  5501. // cc2_r_offset
  5502. #define CAMERA_CC2_R_OFFSET(n) (((n)&0xff) << 0)
  5503. // cc2_g_offset
  5504. #define CAMERA_CC2_G_OFFSET(n) (((n)&0xff) << 0)
  5505. // cc2_b_offset
  5506. #define CAMERA_CC2_B_OFFSET(n) (((n)&0xff) << 0)
  5507. // cc2_00
  5508. #define CAMERA_CC2_00(n) (((n)&0xff) << 0)
  5509. // cc2_01
  5510. #define CAMERA_CC2_01(n) (((n)&0xff) << 0)
  5511. // cc2_10
  5512. #define CAMERA_CC2_10(n) (((n)&0xff) << 0)
  5513. // cc2_11
  5514. #define CAMERA_CC2_11(n) (((n)&0xff) << 0)
  5515. // cc2_20
  5516. #define CAMERA_CC2_20(n) (((n)&0xff) << 0)
  5517. // cc2_21
  5518. #define CAMERA_CC2_21(n) (((n)&0xff) << 0)
  5519. // sharp_lmt
  5520. #define CAMERA_SHARP_LMT(n) (((n)&0x7f) << 0)
  5521. #define CAMERA_SHARP_FINAL_H (1 << 7)
  5522. // sharp_mode
  5523. #define CAMERA_SHARP_CMP_GAP_LO(n) (((n)&0xf) << 0)
  5524. #define CAMERA_SHARP_FINAL(n) (((n)&0x3) << 4)
  5525. #define CAMERA_SHARP_SEL (1 << 6)
  5526. #define CAMERA_RGB_TEST_PATTERN (1 << 7)
  5527. // sharp_gain_str_lo
  5528. #define CAMERA_SHARP_GAIN_STR_LO(n) (((n)&0xff) << 0)
  5529. // sharp_nr_area_thr_lo
  5530. #define CAMERA_SHARP_NR_AREA_THR_LO(n) (((n)&0x7f) << 0)
  5531. // sharp_gain_str_mid
  5532. #define CAMERA_SHARP_GAIN_STR_MID(n) (((n)&0xff) << 0)
  5533. // sharp_nr_area_thr_mid
  5534. #define CAMERA_SHARP_NR_AREA_THR_MID(n) (((n)&0x7f) << 0)
  5535. // sharp_gain_str_hi
  5536. #define CAMERA_SHARP_GAIN_STR_HI(n) (((n)&0xff) << 0)
  5537. // sharp_nr_area_thr_hi
  5538. #define CAMERA_SHARP_NR_AREA_THR_HI(n) (((n)&0x7f) << 0)
  5539. // ynr_ctrl_reg
  5540. #define CAMERA_YNR_ON (1 << 0)
  5541. #define CAMERA_YNR_EDGE_METHODE(n) (((n)&0x3) << 1)
  5542. #define CAMERA_SHARP_ON (1 << 3)
  5543. #define CAMERA_SHARP_PLUS_MODE(n) (((n)&0x3) << 4)
  5544. #define CAMERA_Y_AE_SEL(n) (((n)&0x3) << 6)
  5545. // ynr_lf_method_str
  5546. #define CAMERA_YNR_LF_METHOD_STR(n) (((n)&0xff) << 0)
  5547. // ynr_lf_str_lo
  5548. #define CAMERA_YNR_LF_STR_LO(n) (((n)&0xff) << 0)
  5549. // ynr_hf_str_lo
  5550. #define CAMERA_YNR_HF_STR_LO(n) (((n)&0xff) << 0)
  5551. // ynr_area_thr_lo
  5552. #define CAMERA_YNR_AREA_THR_LO(n) (((n)&0xff) << 0)
  5553. // ynr_lf_str_mid
  5554. #define CAMERA_YNR_LF_STR_MID(n) (((n)&0xff) << 0)
  5555. // ynr_hf_str_mid
  5556. #define CAMERA_YNR_HF_STR_MID(n) (((n)&0xff) << 0)
  5557. // ynr_area_thr_mid
  5558. #define CAMERA_YNR_AREA_THR_MID(n) (((n)&0xff) << 0)
  5559. // ynr_lf_str_hi
  5560. #define CAMERA_YNR_LF_STR_HI(n) (((n)&0xff) << 0)
  5561. // ynr_hf_str_hi
  5562. #define CAMERA_YNR_HF_STR_HI(n) (((n)&0xff) << 0)
  5563. // ynr_area_thr_hi
  5564. #define CAMERA_YNR_AREA_THR_HI(n) (((n)&0xff) << 0)
  5565. // hue_sin_reg
  5566. #define CAMERA_HUE_SIN_REG(n) (((n)&0xff) << 0)
  5567. // hue_cos_reg
  5568. #define CAMERA_HUE_COSX_REG(n) (((n)&0x7f) << 0)
  5569. #define CAMERA_SIN_SIGN_REG (1 << 7)
  5570. // cnr_1d_ctrl_reg
  5571. #define CAMERA_CNR_DIF_THR_MID(n) (((n)&0xf) << 0)
  5572. #define CAMERA_CNR_1D_ON (1 << 4)
  5573. #define CAMERA_SATUR_ON (1 << 5)
  5574. #define CAMERA_HUE_ON (1 << 6)
  5575. // cnr_xx_reg
  5576. #define CAMERA_CNR_DIF_THR_LOW(n) (((n)&0xf) << 0)
  5577. #define CAMERA_CNR_DIF_THR_HIGH(n) (((n)&0xf) << 4)
  5578. // in5_low_th_reg
  5579. #define CAMERA_IN5_LOW_TH_REG(n) (((n)&0xff) << 0)
  5580. // in5_high_th_reg
  5581. #define CAMERA_IN5_HIGH_TH_REG(n) (((n)&0xff) << 0)
  5582. // p2_up_r_reg
  5583. #define CAMERA_P2_UP_R_REG(n) (((n)&0xff) << 0)
  5584. // p2_up_g_reg
  5585. #define CAMERA_P2_UP_G_REG(n) (((n)&0xff) << 0)
  5586. // p2_up_b_reg
  5587. #define CAMERA_P2_UP_B_REG(n) (((n)&0xff) << 0)
  5588. // p2_down_r_reg
  5589. #define CAMERA_P2_DOWN_R_REG(n) (((n)&0xff) << 0)
  5590. // p2_down_g_reg
  5591. #define CAMERA_P2_DOWN_G_REG(n) (((n)&0xff) << 0)
  5592. // p2_down_b_reg
  5593. #define CAMERA_P2_DOWN_B_REG(n) (((n)&0xff) << 0)
  5594. // p2_left_r_reg
  5595. #define CAMERA_P2_LEFT_R_REG(n) (((n)&0xff) << 0)
  5596. // p2_left_g_reg
  5597. #define CAMERA_P2_LEFT_G_REG(n) (((n)&0xff) << 0)
  5598. // p2_left_b_reg
  5599. #define CAMERA_P2_LEFT_B_REG(n) (((n)&0xff) << 0)
  5600. // p2_right_r_reg
  5601. #define CAMERA_P2_RIGHT_R_REG(n) (((n)&0xff) << 0)
  5602. // p2_right_g_reg
  5603. #define CAMERA_P2_RIGHT_G_REG(n) (((n)&0xff) << 0)
  5604. // p2_right_b_reg
  5605. #define CAMERA_P2_RIGHT_B_REG(n) (((n)&0xff) << 0)
  5606. // p4_q1_r_reg
  5607. #define CAMERA_P4_Q1_R_REG(n) (((n)&0xff) << 0)
  5608. // p4_q1_g_reg
  5609. #define CAMERA_P4_Q1_G_REG(n) (((n)&0xff) << 0)
  5610. // p4_q1_b_reg
  5611. #define CAMERA_P4_Q1_B_REG(n) (((n)&0xff) << 0)
  5612. // p4_q2_r_reg
  5613. #define CAMERA_P4_Q2_R_REG(n) (((n)&0xff) << 0)
  5614. // p4_q2_g_reg
  5615. #define CAMERA_P4_Q2_G_REG(n) (((n)&0xff) << 0)
  5616. // p4_q2_b_reg
  5617. #define CAMERA_P4_Q2_B_REG(n) (((n)&0xff) << 0)
  5618. // p4_q3_r_reg
  5619. #define CAMERA_P4_Q3_R_REG(n) (((n)&0xff) << 0)
  5620. // p4_q3_g_reg
  5621. #define CAMERA_P4_Q3_G_REG(n) (((n)&0xff) << 0)
  5622. // p4_q3_b_reg
  5623. #define CAMERA_P4_Q3_B_REG(n) (((n)&0xff) << 0)
  5624. // p4_q4_r_reg
  5625. #define CAMERA_P4_Q4_R_REG(n) (((n)&0xff) << 0)
  5626. // p4_q4_g_reg
  5627. #define CAMERA_P4_Q4_G_REG(n) (((n)&0xff) << 0)
  5628. // p4_q4_b_reg
  5629. #define CAMERA_P4_Q4_B_REG(n) (((n)&0xff) << 0)
  5630. // ae_e00_sta_reg
  5631. #define CAMERA_AE_E00_STA_LINE(n) (((n)&0x3f) << 0)
  5632. // ae_e00_num_reg
  5633. #define CAMERA_AE_E00_NUM(n) (((n)&0xf) << 0)
  5634. #define CAMERA_AE_E00_INTERVAL(n) (((n)&0x3) << 4)
  5635. // ae_e01_sta_reg
  5636. #define CAMERA_AE_E01_STA_LINE(n) (((n)&0x3f) << 0)
  5637. // ae_e01_num_reg
  5638. #define CAMERA_AE_E01_NUM(n) (((n)&0xf) << 0)
  5639. #define CAMERA_AE_E01_INTERVAL(n) (((n)&0x7) << 4)
  5640. // ae_e02_sta_reg
  5641. #define CAMERA_AE_E02_STA_LINE(n) (((n)&0x7f) << 0)
  5642. // ae_e02_num_reg
  5643. #define CAMERA_AE_E02_NUM(n) (((n)&0xf) << 0)
  5644. #define CAMERA_AE_E02_INTERVAL(n) (((n)&0xf) << 4)
  5645. // ae_e1_sta_reg
  5646. #define CAMERA_AE_E1_STA_GAIN(n) (((n)&0x3f) << 0)
  5647. // ae_e1_num_reg
  5648. #define CAMERA_AE_E1_NUM_REG(n) (((n)&0xf) << 0)
  5649. // ae_e2_sta_reg
  5650. #define CAMERA_AE_E2_STA_GAIN(n) (((n)&0x3f) << 0)
  5651. // ae_e2_num_reg
  5652. #define CAMERA_AE_E2_NUM_REG(n) (((n)&0xf) << 0)
  5653. // ae_e3_sta_reg
  5654. #define CAMERA_AE_E3_STA_GAIN(n) (((n)&0x3f) << 0)
  5655. // ae_e3_num_reg
  5656. #define CAMERA_AE_E3_NUM_REG(n) (((n)&0xf) << 0)
  5657. // ae_e4_sta_reg
  5658. #define CAMERA_AE_E4_STA_GAIN(n) (((n)&0x3f) << 0)
  5659. // ae_e4_num_reg
  5660. #define CAMERA_AE_E4_NUM_REG(n) (((n)&0x1f) << 0)
  5661. // ae_e5_sta_reg
  5662. #define CAMERA_AE_E5_STA_GAIN(n) (((n)&0x3f) << 0)
  5663. // ae_e5_num_reg
  5664. #define CAMERA_AE_E5_NUM_REG(n) (((n)&0x1f) << 0)
  5665. // ae_e6_sta_reg
  5666. #define CAMERA_AE_E6_STA_GAIN(n) (((n)&0x3f) << 0)
  5667. // ae_e6_num_reg
  5668. #define CAMERA_AE_E6_NUM_REG(n) (((n)&0xf) << 0)
  5669. // ae_e7_sta_reg
  5670. #define CAMERA_AE_E7_STA_GAIN(n) (((n)&0x3f) << 0)
  5671. // ae_e7_num_reg
  5672. #define CAMERA_AE_E7_NUM_REG(n) (((n)&0xf) << 0)
  5673. // ae_e8_sta_reg
  5674. #define CAMERA_AE_E8_STA_GAIN(n) (((n)&0x3f) << 0)
  5675. // ae_e8_num_reg
  5676. #define CAMERA_AE_E8_NUM_REG(n) (((n)&0xf) << 0)
  5677. // ae_e9_sta_reg
  5678. #define CAMERA_AE_E9_STA_GAIN(n) (((n)&0x3f) << 0)
  5679. // ae_e9_num_reg
  5680. #define CAMERA_AE_E9_NUM_REG(n) (((n)&0xf) << 0)
  5681. // ae_ea_sta_reg
  5682. #define CAMERA_AE_EA_STA_GAIN(n) (((n)&0x3f) << 0)
  5683. // ae_ea_num_reg
  5684. #define CAMERA_AE_EA_NUM_REG(n) (((n)&0xf) << 0)
  5685. // ae_eb_sta_reg
  5686. #define CAMERA_AE_EB_STA_GAIN(n) (((n)&0x3f) << 0)
  5687. // ae_eb_num_reg
  5688. #define CAMERA_AE_EB_NUM_REG(n) (((n)&0xf) << 0)
  5689. // ae_ec_sta_reg
  5690. #define CAMERA_AE_EC_STA_GAIN(n) (((n)&0x3f) << 0)
  5691. // ae_ec_num_reg
  5692. #define CAMERA_AE_EC_NUM_REG(n) (((n)&0xf) << 0)
  5693. // ae_ed_sta_reg
  5694. #define CAMERA_AE_ED_STA_GAIN(n) (((n)&0x3f) << 0)
  5695. // ae_ed_num_reg
  5696. #define CAMERA_AE_ED_NUM_REG(n) (((n)&0xf) << 0)
  5697. // bayer_gamma2_b0
  5698. #define CAMERA_BAYER_GAMMA2_B0(n) (((n)&0xff) << 0)
  5699. // bayer_gamma2_b1
  5700. #define CAMERA_BAYER_GAMMA2_B1(n) (((n)&0xff) << 0)
  5701. // bayer_gamma2_b2
  5702. #define CAMERA_BAYER_GAMMA2_B2(n) (((n)&0xff) << 0)
  5703. // bayer_gamma2_b3
  5704. #define CAMERA_BAYER_GAMMA2_B3(n) (((n)&0xff) << 0)
  5705. // bayer_gamma2_b4
  5706. #define CAMERA_BAYER_GAMMA2_B4(n) (((n)&0xff) << 0)
  5707. // bayer_gamma2_b6
  5708. #define CAMERA_BAYER_GAMMA2_B6(n) (((n)&0xff) << 0)
  5709. // bayer_gamma2_b8
  5710. #define CAMERA_BAYER_GAMMA2_B8(n) (((n)&0xff) << 0)
  5711. // bayer_gamma2_b10
  5712. #define CAMERA_BAYER_GAMMA2_B10(n) (((n)&0xff) << 0)
  5713. // bayer_gamma2_b12
  5714. #define CAMERA_BAYER_GAMMA2_B12(n) (((n)&0xff) << 0)
  5715. // bayer_gamma2_b16
  5716. #define CAMERA_BAYER_GAMMA2_B16(n) (((n)&0xff) << 0)
  5717. // bayer_gamma2_b20
  5718. #define CAMERA_BAYER_GAMMA2_B20(n) (((n)&0xff) << 0)
  5719. // bayer_gamma2_b24
  5720. #define CAMERA_BAYER_GAMMA2_B24(n) (((n)&0xff) << 0)
  5721. // bayer_gamma2_b28
  5722. #define CAMERA_BAYER_GAMMA2_B28(n) (((n)&0xff) << 0)
  5723. // bayer_gamma2_b32
  5724. #define CAMERA_BAYER_GAMMA2_B32(n) (((n)&0xff) << 0)
  5725. // bayer_gamma2_b36
  5726. #define CAMERA_BAYER_GAMMA2_B36(n) (((n)&0xff) << 0)
  5727. // bayer_gamma2_b40
  5728. #define CAMERA_BAYER_GAMMA2_B40(n) (((n)&0xff) << 0)
  5729. // bayer_gamma2_b48
  5730. #define CAMERA_BAYER_GAMMA2_B48(n) (((n)&0xff) << 0)
  5731. // bayer_gamma2_b56
  5732. #define CAMERA_BAYER_GAMMA2_B56(n) (((n)&0xff) << 0)
  5733. // bayer_gamma2_b64
  5734. #define CAMERA_BAYER_GAMMA2_B64(n) (((n)&0xff) << 0)
  5735. // y_thr7_lo_reg
  5736. #define CAMERA_Y_THR7_LO_REG(n) (((n)&0xff) << 0)
  5737. // y_thr7_mid_reg
  5738. #define CAMERA_Y_THR7_MID_REG(n) (((n)&0xff) << 0)
  5739. // y_thr7_hi_reg
  5740. #define CAMERA_Y_THR7_HI_REG(n) (((n)&0xff) << 0)
  5741. // dpa_new_ctrl_reg
  5742. #define CAMERA_INFLG_CTRL_REG_0 (1 << 0)
  5743. #define CAMERA_INFLG_CTRL_REG_1 (1 << 1)
  5744. #define CAMERA_INFLG_CTRL_REG_2 (1 << 2)
  5745. // dpa_new_ctrl_hi_reg
  5746. #define CAMERA_INFLG_CTRL_REG0_H (1 << 0)
  5747. #define CAMERA_INFLG_CTRL_REG1_H (1 << 1)
  5748. #define CAMERA_INFLG_CTRL_REG2_H (1 << 2)
  5749. #define CAMERA_THRESHOLD_RSVD(n) (((n)&0x3) << 3)
  5750. // ae_index_gap
  5751. #define CAMERA_GAP_2E (1 << 0)
  5752. #define CAMERA_GAP_3E (1 << 1)
  5753. #define CAMERA_GAP_4E (1 << 2)
  5754. #define CAMERA_GAP_5E (1 << 3)
  5755. #define CAMERA_GAP_6E (1 << 4)
  5756. #define CAMERA_GAP_7E (1 << 5)
  5757. #define CAMERA_GAP_8E (1 << 6)
  5758. #define CAMERA_GAP_9E (1 << 7)
  5759. // awb_calc_height_reg
  5760. #define CAMERA_AWB_CALC_HEIGHT_REG(n) (((n)&0xff) << 0)
  5761. // drc_r_clp_value_reg
  5762. #define CAMERA_DRC_R_CLP_VALUE_REG(n) (((n)&0x3f) << 0)
  5763. // drc_gr_clp_value_reg
  5764. #define CAMERA_DRC_GR_CLP_VALUE_REG(n) (((n)&0x3f) << 0)
  5765. // drc_gb_clp_value_reg
  5766. #define CAMERA_DRC_GB_CLP_VALUE_REG(n) (((n)&0x3f) << 0)
  5767. // drc_b_clp_value_reg
  5768. #define CAMERA_DRC_B_CLP_VALUE_REG(n) (((n)&0x3f) << 0)
  5769. // sepia_cr_reg
  5770. #define CAMERA_SEPIA_CR_REG(n) (((n)&0xff) << 0)
  5771. // sepia_cb_reg
  5772. #define CAMERA_SEPIA_CB_REG(n) (((n)&0xff) << 0)
  5773. // csup_y_min_hi_reg
  5774. #define CAMERA_CSUP_Y_MIN_HI_REG(n) (((n)&0xff) << 0)
  5775. // csup_gain_hi_reg
  5776. #define CAMERA_CSUP_GAIN_HI_REG(n) (((n)&0xff) << 0)
  5777. // csup_y_max_low_reg
  5778. #define CAMERA_CSUP_Y_MAX_LOW_REG(n) (((n)&0xff) << 0)
  5779. // csup_gain_low_reg
  5780. #define CAMERA_CSUP_GAIN_LOW_REG(n) (((n)&0xff) << 0)
  5781. // ae_dk_hist_thr_reg
  5782. #define CAMERA_AE_DK_HIST_THR_REG(n) (((n)&0xff) << 0)
  5783. // ae_br_hist_thr_reg
  5784. #define CAMERA_AE_BR_HIST_THR_REG(n) (((n)&0xff) << 0)
  5785. // hist_bp_level_reg
  5786. #define CAMERA_HIST_BP_LEVEL_REG(n) (((n)&0xff) << 0)
  5787. // outdoor_th_reg
  5788. #define CAMERA_OUTDOOR_TH(n) (((n)&0xf) << 0)
  5789. #define CAMERA_NON_OUTDOOR_TH(n) (((n)&0xf) << 4)
  5790. // awb_rgain_low_reg
  5791. #define CAMERA_AWB_RGAIN_LOW_REG(n) (((n)&0x3f) << 2)
  5792. // awb_rgain_high_reg
  5793. #define CAMERA_AWB_RGAIN_HIGH_REG(n) (((n)&0x3f) << 2)
  5794. // awb_bgain_low_reg
  5795. #define CAMERA_AWB_BGAIN_LOW_REG(n) (((n)&0x3f) << 2)
  5796. // awb_bgain_high_reg
  5797. #define CAMERA_AWB_BGAIN_HIGH_REG(n) (((n)&0x3f) << 2)
  5798. // awb_calc_start_reg
  5799. #define CAMERA_AWB_WIN_Y_START(n) (((n)&0xf) << 0)
  5800. #define CAMERA_AWB_WIN_X_START(n) (((n)&0xf) << 4)
  5801. // awb_calc_width_reg
  5802. #define CAMERA_AWB_CALC_WIDTH_REG(n) (((n)&0xff) << 0)
  5803. // hist_dp_level_reg
  5804. #define CAMERA_HIST_DP_LEVEL_REG(n) (((n)&0xff) << 0)
  5805. // awb_y_fmin
  5806. #define CAMERA_AWB_Y_FMIN(n) (((n)&0xff) << 0)
  5807. // awb_y_fmax
  5808. #define CAMERA_AWB_Y_FMAX(n) (((n)&0xff) << 0)
  5809. // awb_cb_fmin
  5810. #define CAMERA_AWB_CB_FMIN(n) (((n)&0xff) << 0)
  5811. // awb_cb_fmax
  5812. #define CAMERA_AWB_CB_FMAX(n) (((n)&0xff) << 0)
  5813. // awb_cr_fmin
  5814. #define CAMERA_AWB_CR_FMIN(n) (((n)&0xff) << 0)
  5815. // awb_cr_fmax
  5816. #define CAMERA_AWB_CR_FMAX(n) (((n)&0xff) << 0)
  5817. // awb_y_fmin2
  5818. #define CAMERA_AWB_Y_FMIN2(n) (((n)&0xff) << 0)
  5819. // awb_y_fmax2
  5820. #define CAMERA_AWB_Y_FMAX2(n) (((n)&0xff) << 0)
  5821. // awb_cb_fmin2
  5822. #define CAMERA_AWB_CB_FMIN2(n) (((n)&0xff) << 0)
  5823. // awb_cb_fmax2
  5824. #define CAMERA_AWB_CB_FMAX2(n) (((n)&0xff) << 0)
  5825. // awb_cr_fmin2
  5826. #define CAMERA_AWB_CR_FMIN2(n) (((n)&0xff) << 0)
  5827. // awb_cr_fmax2
  5828. #define CAMERA_AWB_CR_FMAX2(n) (((n)&0xff) << 0)
  5829. // ae_use_mean
  5830. #define CAMERA_YCAVE_USE_MEAN(n) (((n)&0x3) << 0)
  5831. #define CAMERA_YWAVE_USE_MEAN(n) (((n)&0x3) << 2)
  5832. #define CAMERA_YAVE_WEIGHT_MODE (1 << 4)
  5833. #define CAMERA_NEXP_OUT_SEL_REG (1 << 5)
  5834. #define CAMERA_AE_EXT_ADJ_VAL_REG (1 << 6)
  5835. #define CAMERA_AE_EXT_ADJ_ON_REG (1 << 7)
  5836. // ae_weight_sta
  5837. #define CAMERA_YWAVE_PCNT_LEFT(n) (((n)&0xf) << 0)
  5838. #define CAMERA_YWAVE_LCNT_TOP(n) (((n)&0xf) << 4)
  5839. // ae_qwidth
  5840. #define CAMERA_QWIDTH(n) (((n)&0xff) << 0)
  5841. // ae_qheight
  5842. #define CAMERA_QHEIGHT(n) (((n)&0x7f) << 0)
  5843. #define CAMERA_YWAVE_SEL (1 << 7)
  5844. // ae_win_sta
  5845. #define CAMERA_YAVE_PCNT_STA(n) (((n)&0xf) << 0)
  5846. #define CAMERA_YAVE_LCNT_STA(n) (((n)&0xf) << 4)
  5847. // ae_width
  5848. #define CAMERA_WIDTH(n) (((n)&0xff) << 0)
  5849. // ae_height
  5850. #define CAMERA_HEIGHT(n) (((n)&0xff) << 0)
  5851. // sw_update
  5852. #define CAMERA_CC_TYPE_SW (1 << 0)
  5853. #define CAMERA_IS_OUTDOOR_SW (1 << 1)
  5854. #define CAMERA_GAMMA_TYPE_SW (1 << 2)
  5855. #define CAMERA_SW_UPDATE_RSVD (1 << 3)
  5856. #define CAMERA_IS_OUTDOOR_MODE(n) (((n)&0x7) << 4)
  5857. #define CAMERA_AWB_OUTDOOR_EN (1 << 7)
  5858. // awb_ctrl5
  5859. #define CAMERA_R_LOW_NON_A(n) (((n)&0xff) << 0)
  5860. // awb_ctrl6
  5861. #define CAMERA_AWB_STOP_H(n) (((n)&0xf) << 0)
  5862. #define CAMERA_AWB_ADJ_AGAIN(n) (((n)&0x3) << 4)
  5863. #define CAMERA_AWB_ALGO_EN (1 << 6)
  5864. #define CAMERA_CHECK_R_LOW (1 << 7)
  5865. // sca_reg
  5866. #define CAMERA_SCA_MODE(n) (((n)&0x7) << 0)
  5867. // ae_ee_sta_reg
  5868. #define CAMERA_AE_EE_STA_GAIN(n) (((n)&0x3f) << 0)
  5869. // ae_ee_num_reg
  5870. #define CAMERA_AE_EE_NUM_REG(n) (((n)&0xf) << 0)
  5871. // ae_ef_sta_reg
  5872. #define CAMERA_AE_EF_STA_GAIN(n) (((n)&0x3f) << 0)
  5873. // ae_ef_num_reg
  5874. #define CAMERA_AE_EF_NUM_REG(n) (((n)&0xf) << 0)
  5875. // ae_thr_big_reg
  5876. #define CAMERA_AE_THR_BIG_DARK(n) (((n)&0xf) << 0)
  5877. #define CAMERA_AE_THR_BIG_BRIGHT(n) (((n)&0xf) << 4)
  5878. // sharp_gain_minus_low
  5879. #define CAMERA_SHARP_GAIN_MINUS_LOW(n) (((n)&0xff) << 0)
  5880. // sharp_gain_minus_mid
  5881. #define CAMERA_SHARP_GAIN_MINUS_MID(n) (((n)&0xff) << 0)
  5882. // sharp_gain_minus_hi
  5883. #define CAMERA_SHARP_GAIN_MINUS_HI(n) (((n)&0xff) << 0)
  5884. // sharp_mode_mid_hi
  5885. #define CAMERA_SHARP_CMP_GAP_MID(n) (((n)&0xf) << 0)
  5886. #define CAMERA_SHARP_CMP_GAP_HI(n) (((n)&0xf) << 4)
  5887. // fw_version_reg
  5888. #define CAMERA_FW_VERSION(n) (((n)&0xff) << 0)
  5889. // awb_y_min_reg
  5890. #define CAMERA_AWB_Y_MIN(n) (((n)&0xff) << 0)
  5891. // y_red_coef_reg
  5892. #define CAMERA_Y_RED_COEF(n) (((n)&0xff) << 0)
  5893. // y_blue_coef_reg
  5894. #define CAMERA_Y_BLUE_COEF(n) (((n)&0xff) << 0)
  5895. // cb_red_coef_reg
  5896. #define CAMERA_CB_RED_COEF(n) (((n)&0xff) << 0)
  5897. // cr_blue_coef_reg
  5898. #define CAMERA_CR_BLUE_COEF(n) (((n)&0xff) << 0)
  5899. // hist_vbp_level_reg
  5900. #define CAMERA_HIST_VBP_LEVEL(n) (((n)&0xff) << 0)
  5901. // hist_vdp_level_reg
  5902. #define CAMERA_HIST_VDP_LEVEL(n) (((n)&0xff) << 0)
  5903. #endif // _CAMERA_H_