| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724 |
- /* Copyright Statement:
- *
- * This software/firmware and related documentation ("MediaTek Software") are
- * protected under relevant copyright laws. The information contained herein
- * is confidential and proprietary to MediaTek Inc. and/or its licensors.
- * Without the prior written permission of MediaTek inc. and/or its licensors,
- * any reproduction, modification, use or disclosure of MediaTek Software,
- * and information contained herein, in whole or in part, shall be strictly prohibited.
- */
- /* MediaTek Inc. (C) 2015. All rights reserved.
- *
- * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
- * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
- * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER ON
- * AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
- * NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
- * SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
- * SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES TO LOOK ONLY TO SUCH
- * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
- * THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
- * CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
- * SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
- * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND
- * CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
- * AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
- * OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY RECEIVER TO
- * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
- */
- #include <mtk_dcm.h>
- #include <debug.h>
- #include <stdlib.h>
- #include <string.h>
- #include <sys/types.h>
- #include <arch/arm.h>
- #include <arch/arm/mmu.h>
- #include <arch/ops.h>
- #include <target/board.h>
- #include <platform/mt_reg_base.h>
- #include <platform/mt_typedefs.h>
- #include <platform/sync_write.h>
- #include <mtk_dcm_autogen.h>
- #define IOMEM(a) (a)
- #define __raw_readl(addr) DRV_Reg32(addr)
- extern unsigned long mt_secure_call(unsigned long, unsigned long, unsigned long, unsigned long);
- #define MTK_SIP_KERNEL_MCSI_NS_ACCESS 0x8200028B
- #define mcsi_reg_read(offset) \
- mt_secure_call(MTK_SIP_KERNEL_MCSI_NS_ACCESS, 0, offset, 0)
- #define mcsi_reg_write(val, offset) \
- mt_secure_call(MTK_SIP_KERNEL_MCSI_NS_ACCESS, 1, offset, val)
- #define reg_read(addr) __raw_readl(addr)
- #define reg_write(addr, val) mt_reg_sync_writel((val), ((void *)addr))
- #define MCUSYS_SMC_WRITE(addr, val) reg_write(addr, val)
- #define MCSI_SMC_WRITE(addr, val) mcsi_reg_write(val, (addr##_PHYS & 0xFFFF))
- #define MCSI_SMC_READ(addr) mcsi_reg_read(addr##_PHYS & 0xFFFF)
- #define INFRACFG_AO_INFRA_BUS_DCM_REG0_MASK ((0x1 << 0) | \
- (0x1 << 1) | \
- (0x1 << 3) | \
- (0x1 << 4) | \
- (0x1f << 5) | \
- (0x1 << 20) | \
- (0x1 << 23) | \
- (0x1 << 30))
- #define INFRACFG_AO_INFRA_BUS_DCM_REG0_ON ((0x1 << 0) | \
- (0x1 << 1) | \
- (0x0 << 3) | \
- (0x0 << 4) | \
- (0x10 << 5) | \
- (0x1 << 20) | \
- (0x1 << 23) | \
- (0x1 << 30))
- #define INFRACFG_AO_INFRA_BUS_DCM_REG0_OFF ((0x0 << 0) | \
- (0x0 << 1) | \
- (0x0 << 3) | \
- (0x0 << 4) | \
- (0x10 << 5) | \
- (0x0 << 20) | \
- (0x0 << 23) | \
- (0x0 << 30))
- #if 0
- static unsigned int infracfg_ao_infra_dcm_rg_sfsel_get(void)
- {
- return (reg_read(INFRA_BUS_DCM_CTRL) >> 10) & 0x1f;
- }
- #endif
- static void infracfg_ao_infra_dcm_rg_sfsel_set(unsigned int val)
- {
- reg_write(INFRA_BUS_DCM_CTRL,
- (reg_read(INFRA_BUS_DCM_CTRL) &
- ~(0x1f << 10)) |
- (val & 0x1f) << 10);
- }
- bool dcm_infracfg_ao_infra_bus_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(INFRA_BUS_DCM_CTRL) &
- INFRACFG_AO_INFRA_BUS_DCM_REG0_MASK) ==
- (unsigned int) INFRACFG_AO_INFRA_BUS_DCM_REG0_ON);
- return ret;
- }
- void dcm_infracfg_ao_infra_bus_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'infracfg_ao_infra_bus_dcm'" */
- infracfg_ao_infra_dcm_rg_sfsel_set(0x1);
- reg_write(INFRA_BUS_DCM_CTRL,
- (reg_read(INFRA_BUS_DCM_CTRL) &
- ~INFRACFG_AO_INFRA_BUS_DCM_REG0_MASK) |
- INFRACFG_AO_INFRA_BUS_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'infracfg_ao_infra_bus_dcm'" */
- infracfg_ao_infra_dcm_rg_sfsel_set(0x1);
- reg_write(INFRA_BUS_DCM_CTRL,
- (reg_read(INFRA_BUS_DCM_CTRL) &
- ~INFRACFG_AO_INFRA_BUS_DCM_REG0_MASK) |
- INFRACFG_AO_INFRA_BUS_DCM_REG0_OFF);
- }
- }
- #define INFRACFG_AO_INFRA_EMI_LOCAL_DCM_REG0_MASK ((0x1 << 27))
- #define INFRACFG_AO_INFRA_EMI_LOCAL_DCM_REG0_ON ((0x1 << 27))
- #define INFRACFG_AO_INFRA_EMI_LOCAL_DCM_REG0_OFF ((0x0 << 27))
- bool dcm_infracfg_ao_infra_emi_local_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(MEM_DCM_CTRL) &
- INFRACFG_AO_INFRA_EMI_LOCAL_DCM_REG0_MASK) ==
- (unsigned int) INFRACFG_AO_INFRA_EMI_LOCAL_DCM_REG0_ON);
- return ret;
- }
- void dcm_infracfg_ao_infra_emi_local_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'infracfg_ao_infra_emi_local_dcm'" */
- reg_write(MEM_DCM_CTRL,
- (reg_read(MEM_DCM_CTRL) &
- ~INFRACFG_AO_INFRA_EMI_LOCAL_DCM_REG0_MASK) |
- INFRACFG_AO_INFRA_EMI_LOCAL_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'infracfg_ao_infra_emi_local_dcm'" */
- reg_write(MEM_DCM_CTRL,
- (reg_read(MEM_DCM_CTRL) &
- ~INFRACFG_AO_INFRA_EMI_LOCAL_DCM_REG0_MASK) |
- INFRACFG_AO_INFRA_EMI_LOCAL_DCM_REG0_OFF);
- }
- }
- #define INFRACFG_AO_INFRA_RX_P2P_DCM_REG0_MASK ((0xf << 0))
- #define INFRACFG_AO_INFRA_RX_P2P_DCM_REG0_ON ((0x0 << 0))
- #define INFRACFG_AO_INFRA_RX_P2P_DCM_REG0_OFF ((0xf << 0))
- bool dcm_infracfg_ao_infra_rx_p2p_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(P2P_RX_CLK_ON) &
- INFRACFG_AO_INFRA_RX_P2P_DCM_REG0_MASK) ==
- (unsigned int) INFRACFG_AO_INFRA_RX_P2P_DCM_REG0_ON);
- return ret;
- }
- void dcm_infracfg_ao_infra_rx_p2p_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'infracfg_ao_infra_rx_p2p_dcm'" */
- reg_write(P2P_RX_CLK_ON,
- (reg_read(P2P_RX_CLK_ON) &
- ~INFRACFG_AO_INFRA_RX_P2P_DCM_REG0_MASK) |
- INFRACFG_AO_INFRA_RX_P2P_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'infracfg_ao_infra_rx_p2p_dcm'" */
- reg_write(P2P_RX_CLK_ON,
- (reg_read(P2P_RX_CLK_ON) &
- ~INFRACFG_AO_INFRA_RX_P2P_DCM_REG0_MASK) |
- INFRACFG_AO_INFRA_RX_P2P_DCM_REG0_OFF);
- }
- }
- #define INFRACFG_AO_PERI_BUS_DCM_REG0_MASK ((0x1 << 0) | \
- (0x1 << 1) | \
- (0x1 << 3) | \
- (0x1 << 4) | \
- (0x1f << 5) | \
- (0x1f << 15) | \
- (0x1 << 20) | \
- (0x1 << 21))
- #define INFRACFG_AO_PERI_BUS_DCM_REG0_ON ((0x1 << 0) | \
- (0x1 << 1) | \
- (0x0 << 3) | \
- (0x0 << 4) | \
- (0x1f << 5) | \
- (0x1f << 15) | \
- (0x1 << 20) | \
- (0x1 << 21))
- #define INFRACFG_AO_PERI_BUS_DCM_REG0_OFF ((0x0 << 0) | \
- (0x0 << 1) | \
- (0x0 << 3) | \
- (0x0 << 4) | \
- (0x1f << 5) | \
- (0x0 << 15) | \
- (0x0 << 20) | \
- (0x0 << 21))
- #if 0
- static unsigned int infracfg_ao_peri_dcm_rg_sfsel_get(void)
- {
- return (reg_read(PERI_BUS_DCM_CTRL) >> 10) & 0x1f;
- }
- #endif
- static void infracfg_ao_peri_dcm_rg_sfsel_set(unsigned int val)
- {
- reg_write(PERI_BUS_DCM_CTRL,
- (reg_read(PERI_BUS_DCM_CTRL) &
- ~(0x1f << 10)) |
- (val & 0x1f) << 10);
- }
- bool dcm_infracfg_ao_peri_bus_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(PERI_BUS_DCM_CTRL) &
- INFRACFG_AO_PERI_BUS_DCM_REG0_MASK) ==
- (unsigned int) INFRACFG_AO_PERI_BUS_DCM_REG0_ON);
- return ret;
- }
- void dcm_infracfg_ao_peri_bus_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'infracfg_ao_peri_bus_dcm'" */
- infracfg_ao_peri_dcm_rg_sfsel_set(0x0);
- reg_write(PERI_BUS_DCM_CTRL,
- (reg_read(PERI_BUS_DCM_CTRL) &
- ~INFRACFG_AO_PERI_BUS_DCM_REG0_MASK) |
- INFRACFG_AO_PERI_BUS_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'infracfg_ao_peri_bus_dcm'" */
- infracfg_ao_peri_dcm_rg_sfsel_set(0x1f);
- reg_write(PERI_BUS_DCM_CTRL,
- (reg_read(PERI_BUS_DCM_CTRL) &
- ~INFRACFG_AO_PERI_BUS_DCM_REG0_MASK) |
- INFRACFG_AO_PERI_BUS_DCM_REG0_OFF);
- }
- }
- #define INFRACFG_AO_PERI_MODULE_DCM_REG0_MASK ((0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30))
- #define INFRACFG_AO_PERI_MODULE_DCM_REG0_ON ((0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30))
- #define INFRACFG_AO_PERI_MODULE_DCM_REG0_OFF ((0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30))
- bool dcm_infracfg_ao_peri_module_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(PERI_BUS_DCM_CTRL) &
- INFRACFG_AO_PERI_MODULE_DCM_REG0_MASK) ==
- (unsigned int) INFRACFG_AO_PERI_MODULE_DCM_REG0_ON);
- return ret;
- }
- void dcm_infracfg_ao_peri_module_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'infracfg_ao_peri_module_dcm'" */
- reg_write(PERI_BUS_DCM_CTRL,
- (reg_read(PERI_BUS_DCM_CTRL) &
- ~INFRACFG_AO_PERI_MODULE_DCM_REG0_MASK) |
- INFRACFG_AO_PERI_MODULE_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'infracfg_ao_peri_module_dcm'" */
- reg_write(PERI_BUS_DCM_CTRL,
- (reg_read(PERI_BUS_DCM_CTRL) &
- ~INFRACFG_AO_PERI_MODULE_DCM_REG0_MASK) |
- INFRACFG_AO_PERI_MODULE_DCM_REG0_OFF);
- }
- }
- #define EMI_DCM_EMI_GROUP_REG0_MASK ((0xff << 24))
- #define EMI_DCM_EMI_GROUP_REG1_MASK ((0xff << 24))
- #define EMI_DCM_EMI_GROUP_REG0_ON ((0x0 << 24))
- #define EMI_DCM_EMI_GROUP_REG1_ON ((0x0 << 24))
- #define EMI_DCM_EMI_GROUP_REG0_OFF ((0xff << 24))
- #define EMI_DCM_EMI_GROUP_REG1_OFF ((0xff << 24))
- bool dcm_emi_dcm_emi_group_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(EMI_CONM) &
- EMI_DCM_EMI_GROUP_REG0_MASK) ==
- (unsigned int) EMI_DCM_EMI_GROUP_REG0_ON);
- ret &= ((reg_read(EMI_CONN) &
- EMI_DCM_EMI_GROUP_REG1_MASK) ==
- (unsigned int) EMI_DCM_EMI_GROUP_REG1_ON);
- return ret;
- }
- void dcm_emi_dcm_emi_group(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'emi_dcm_emi_group'" */
- reg_write(EMI_CONM,
- (reg_read(EMI_CONM) &
- ~EMI_DCM_EMI_GROUP_REG0_MASK) |
- EMI_DCM_EMI_GROUP_REG0_ON);
- reg_write(EMI_CONN,
- (reg_read(EMI_CONN) &
- ~EMI_DCM_EMI_GROUP_REG1_MASK) |
- EMI_DCM_EMI_GROUP_REG1_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'emi_dcm_emi_group'" */
- reg_write(EMI_CONM,
- (reg_read(EMI_CONM) &
- ~EMI_DCM_EMI_GROUP_REG0_MASK) |
- EMI_DCM_EMI_GROUP_REG0_OFF);
- reg_write(EMI_CONN,
- (reg_read(EMI_CONN) &
- ~EMI_DCM_EMI_GROUP_REG1_MASK) |
- EMI_DCM_EMI_GROUP_REG1_OFF);
- }
- }
- #define DRAMC_CH0_TOP0_DDRPHY_REG0_MASK ((0x1 << 8) | \
- (0x1 << 9) | \
- (0x1 << 10) | \
- (0x1 << 11) | \
- (0x1 << 12) | \
- (0x1 << 13) | \
- (0x1 << 14) | \
- (0x1 << 15) | \
- (0x1 << 16) | \
- (0x1 << 17) | \
- (0x1 << 19))
- #define DRAMC_CH0_TOP0_DDRPHY_REG1_MASK ((0x1 << 6) | \
- (0x1 << 7) | \
- (0x1 << 26))
- #define DRAMC_CH0_TOP0_DDRPHY_REG2_MASK ((0x1 << 26) | \
- (0x1 << 27))
- #define DRAMC_CH0_TOP0_DDRPHY_REG3_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG4_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG5_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG6_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG7_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG8_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG9_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG10_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG11_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG12_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG13_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG14_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG0_ON ((0x0 << 8) | \
- (0x0 << 9) | \
- (0x0 << 10) | \
- (0x0 << 11) | \
- (0x0 << 12) | \
- (0x0 << 13) | \
- (0x0 << 14) | \
- (0x0 << 15) | \
- (0x0 << 16) | \
- (0x0 << 17) | \
- (0x0 << 19))
- #define DRAMC_CH0_TOP0_DDRPHY_REG1_ON ((0x0 << 6) | \
- (0x0 << 7) | \
- (0x0 << 26))
- #define DRAMC_CH0_TOP0_DDRPHY_REG2_ON ((0x0 << 26) | \
- (0x0 << 27))
- #define DRAMC_CH0_TOP0_DDRPHY_REG3_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG4_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG5_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG6_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG7_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG8_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG9_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG10_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG11_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG12_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG13_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG14_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG0_OFF ((0x1 << 8) | \
- (0x1 << 9) | \
- (0x1 << 10) | \
- (0x1 << 11) | \
- (0x1 << 12) | \
- (0x1 << 13) | \
- (0x1 << 14) | \
- (0x1 << 15) | \
- (0x1 << 16) | \
- (0x1 << 17) | \
- (0x1 << 19))
- #define DRAMC_CH0_TOP0_DDRPHY_REG1_OFF ((0x1 << 6) | \
- (0x1 << 7) | \
- (0x0 << 26))
- #define DRAMC_CH0_TOP0_DDRPHY_REG2_OFF ((0x1 << 26) | \
- (0x1 << 27))
- #define DRAMC_CH0_TOP0_DDRPHY_REG3_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG4_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG5_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG6_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG7_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG8_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG9_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG10_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG11_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG12_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG13_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP0_DDRPHY_REG14_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #if 0
- static unsigned int dramc_ch0_top0_rg_mem_dcm_idle_fsel_get(void)
- {
- return (reg_read(DRAMC_CH0_TOP0_MISC_CG_CTRL2) >> 21) & 0x1f;
- }
- #endif
- static void dramc_ch0_top0_rg_mem_dcm_idle_fsel_set(unsigned int val)
- {
- reg_write(DRAMC_CH0_TOP0_MISC_CG_CTRL2,
- (reg_read(DRAMC_CH0_TOP0_MISC_CG_CTRL2) &
- ~(0x1f << 21)) |
- (val & 0x1f) << 21);
- }
- bool dcm_dramc_ch0_top0_ddrphy_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(DRAMC_CH0_TOP0_MISC_CG_CTRL0) &
- DRAMC_CH0_TOP0_DDRPHY_REG0_MASK) ==
- (unsigned int) DRAMC_CH0_TOP0_DDRPHY_REG0_ON);
- ret &= ((reg_read(DRAMC_CH0_TOP0_MISC_CG_CTRL2) &
- DRAMC_CH0_TOP0_DDRPHY_REG1_MASK) ==
- (unsigned int) DRAMC_CH0_TOP0_DDRPHY_REG1_ON);
- ret &= ((reg_read(DRAMC_CH0_TOP0_MISC_CTRL3) &
- DRAMC_CH0_TOP0_DDRPHY_REG2_MASK) ==
- (unsigned int) DRAMC_CH0_TOP0_DDRPHY_REG2_ON);
- ret &= ((reg_read(DRAMC_CH0_TOP0_SHU1_B0_DQ8) &
- DRAMC_CH0_TOP0_DDRPHY_REG3_MASK) ==
- (unsigned int) DRAMC_CH0_TOP0_DDRPHY_REG3_ON);
- ret &= ((reg_read(DRAMC_CH0_TOP0_SHU1_B1_DQ8) &
- DRAMC_CH0_TOP0_DDRPHY_REG4_MASK) ==
- (unsigned int) DRAMC_CH0_TOP0_DDRPHY_REG4_ON);
- ret &= ((reg_read(DRAMC_CH0_TOP0_SHU1_CA_CMD8) &
- DRAMC_CH0_TOP0_DDRPHY_REG5_MASK) ==
- (unsigned int) DRAMC_CH0_TOP0_DDRPHY_REG5_ON);
- ret &= ((reg_read(DRAMC_CH0_TOP0_SHU2_B0_DQ8) &
- DRAMC_CH0_TOP0_DDRPHY_REG6_MASK) ==
- (unsigned int) DRAMC_CH0_TOP0_DDRPHY_REG6_ON);
- ret &= ((reg_read(DRAMC_CH0_TOP0_SHU2_B1_DQ8) &
- DRAMC_CH0_TOP0_DDRPHY_REG7_MASK) ==
- (unsigned int) DRAMC_CH0_TOP0_DDRPHY_REG7_ON);
- ret &= ((reg_read(DRAMC_CH0_TOP0_SHU2_CA_CMD8) &
- DRAMC_CH0_TOP0_DDRPHY_REG8_MASK) ==
- (unsigned int) DRAMC_CH0_TOP0_DDRPHY_REG8_ON);
- ret &= ((reg_read(DRAMC_CH0_TOP0_SHU3_B0_DQ8) &
- DRAMC_CH0_TOP0_DDRPHY_REG9_MASK) ==
- (unsigned int) DRAMC_CH0_TOP0_DDRPHY_REG9_ON);
- ret &= ((reg_read(DRAMC_CH0_TOP0_SHU3_B1_DQ8) &
- DRAMC_CH0_TOP0_DDRPHY_REG10_MASK) ==
- (unsigned int) DRAMC_CH0_TOP0_DDRPHY_REG10_ON);
- ret &= ((reg_read(DRAMC_CH0_TOP0_SHU3_CA_CMD8) &
- DRAMC_CH0_TOP0_DDRPHY_REG11_MASK) ==
- (unsigned int) DRAMC_CH0_TOP0_DDRPHY_REG11_ON);
- ret &= ((reg_read(DRAMC_CH0_TOP0_SHU4_B0_DQ8) &
- DRAMC_CH0_TOP0_DDRPHY_REG12_MASK) ==
- (unsigned int) DRAMC_CH0_TOP0_DDRPHY_REG12_ON);
- ret &= ((reg_read(DRAMC_CH0_TOP0_SHU4_B1_DQ8) &
- DRAMC_CH0_TOP0_DDRPHY_REG13_MASK) ==
- (unsigned int) DRAMC_CH0_TOP0_DDRPHY_REG13_ON);
- ret &= ((reg_read(DRAMC_CH0_TOP0_SHU4_CA_CMD8) &
- DRAMC_CH0_TOP0_DDRPHY_REG14_MASK) ==
- (unsigned int) DRAMC_CH0_TOP0_DDRPHY_REG14_ON);
- return ret;
- }
- void dcm_dramc_ch0_top0_ddrphy(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'dramc_ch0_top0_ddrphy'" */
- dramc_ch0_top0_rg_mem_dcm_idle_fsel_set(0x8);
- reg_write(DRAMC_CH0_TOP0_MISC_CG_CTRL0,
- (reg_read(DRAMC_CH0_TOP0_MISC_CG_CTRL0) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG0_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG0_ON);
- reg_write(DRAMC_CH0_TOP0_MISC_CG_CTRL2,
- (reg_read(DRAMC_CH0_TOP0_MISC_CG_CTRL2) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG1_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG1_ON);
- reg_write(DRAMC_CH0_TOP0_MISC_CTRL3,
- (reg_read(DRAMC_CH0_TOP0_MISC_CTRL3) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG2_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG2_ON);
- reg_write(DRAMC_CH0_TOP0_SHU1_B0_DQ8,
- (reg_read(DRAMC_CH0_TOP0_SHU1_B0_DQ8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG3_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG3_ON);
- reg_write(DRAMC_CH0_TOP0_SHU1_B1_DQ8,
- (reg_read(DRAMC_CH0_TOP0_SHU1_B1_DQ8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG4_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG4_ON);
- reg_write(DRAMC_CH0_TOP0_SHU1_CA_CMD8,
- (reg_read(DRAMC_CH0_TOP0_SHU1_CA_CMD8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG5_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG5_ON);
- reg_write(DRAMC_CH0_TOP0_SHU2_B0_DQ8,
- (reg_read(DRAMC_CH0_TOP0_SHU2_B0_DQ8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG6_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG6_ON);
- reg_write(DRAMC_CH0_TOP0_SHU2_B1_DQ8,
- (reg_read(DRAMC_CH0_TOP0_SHU2_B1_DQ8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG7_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG7_ON);
- reg_write(DRAMC_CH0_TOP0_SHU2_CA_CMD8,
- (reg_read(DRAMC_CH0_TOP0_SHU2_CA_CMD8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG8_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG8_ON);
- reg_write(DRAMC_CH0_TOP0_SHU3_B0_DQ8,
- (reg_read(DRAMC_CH0_TOP0_SHU3_B0_DQ8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG9_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG9_ON);
- reg_write(DRAMC_CH0_TOP0_SHU3_B1_DQ8,
- (reg_read(DRAMC_CH0_TOP0_SHU3_B1_DQ8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG10_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG10_ON);
- reg_write(DRAMC_CH0_TOP0_SHU3_CA_CMD8,
- (reg_read(DRAMC_CH0_TOP0_SHU3_CA_CMD8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG11_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG11_ON);
- reg_write(DRAMC_CH0_TOP0_SHU4_B0_DQ8,
- (reg_read(DRAMC_CH0_TOP0_SHU4_B0_DQ8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG12_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG12_ON);
- reg_write(DRAMC_CH0_TOP0_SHU4_B1_DQ8,
- (reg_read(DRAMC_CH0_TOP0_SHU4_B1_DQ8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG13_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG13_ON);
- reg_write(DRAMC_CH0_TOP0_SHU4_CA_CMD8,
- (reg_read(DRAMC_CH0_TOP0_SHU4_CA_CMD8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG14_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG14_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'dramc_ch0_top0_ddrphy'" */
- dramc_ch0_top0_rg_mem_dcm_idle_fsel_set(0x0);
- reg_write(DRAMC_CH0_TOP0_MISC_CG_CTRL0,
- (reg_read(DRAMC_CH0_TOP0_MISC_CG_CTRL0) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG0_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG0_OFF);
- reg_write(DRAMC_CH0_TOP0_MISC_CG_CTRL2,
- (reg_read(DRAMC_CH0_TOP0_MISC_CG_CTRL2) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG1_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG1_OFF);
- reg_write(DRAMC_CH0_TOP0_MISC_CTRL3,
- (reg_read(DRAMC_CH0_TOP0_MISC_CTRL3) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG2_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG2_OFF);
- reg_write(DRAMC_CH0_TOP0_SHU1_B0_DQ8,
- (reg_read(DRAMC_CH0_TOP0_SHU1_B0_DQ8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG3_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG3_OFF);
- reg_write(DRAMC_CH0_TOP0_SHU1_B1_DQ8,
- (reg_read(DRAMC_CH0_TOP0_SHU1_B1_DQ8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG4_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG4_OFF);
- reg_write(DRAMC_CH0_TOP0_SHU1_CA_CMD8,
- (reg_read(DRAMC_CH0_TOP0_SHU1_CA_CMD8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG5_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG5_OFF);
- reg_write(DRAMC_CH0_TOP0_SHU2_B0_DQ8,
- (reg_read(DRAMC_CH0_TOP0_SHU2_B0_DQ8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG6_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG6_OFF);
- reg_write(DRAMC_CH0_TOP0_SHU2_B1_DQ8,
- (reg_read(DRAMC_CH0_TOP0_SHU2_B1_DQ8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG7_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG7_OFF);
- reg_write(DRAMC_CH0_TOP0_SHU2_CA_CMD8,
- (reg_read(DRAMC_CH0_TOP0_SHU2_CA_CMD8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG8_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG8_OFF);
- reg_write(DRAMC_CH0_TOP0_SHU3_B0_DQ8,
- (reg_read(DRAMC_CH0_TOP0_SHU3_B0_DQ8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG9_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG9_OFF);
- reg_write(DRAMC_CH0_TOP0_SHU3_B1_DQ8,
- (reg_read(DRAMC_CH0_TOP0_SHU3_B1_DQ8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG10_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG10_OFF);
- reg_write(DRAMC_CH0_TOP0_SHU3_CA_CMD8,
- (reg_read(DRAMC_CH0_TOP0_SHU3_CA_CMD8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG11_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG11_OFF);
- reg_write(DRAMC_CH0_TOP0_SHU4_B0_DQ8,
- (reg_read(DRAMC_CH0_TOP0_SHU4_B0_DQ8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG12_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG12_OFF);
- reg_write(DRAMC_CH0_TOP0_SHU4_B1_DQ8,
- (reg_read(DRAMC_CH0_TOP0_SHU4_B1_DQ8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG13_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG13_OFF);
- reg_write(DRAMC_CH0_TOP0_SHU4_CA_CMD8,
- (reg_read(DRAMC_CH0_TOP0_SHU4_CA_CMD8) &
- ~DRAMC_CH0_TOP0_DDRPHY_REG14_MASK) |
- DRAMC_CH0_TOP0_DDRPHY_REG14_OFF);
- }
- }
- #define DRAMC_CH0_TOP1_DRAMC_DCM_REG0_MASK ((0x1 << 0) | \
- (0x1 << 1) | \
- (0x1 << 2) | \
- (0x1 << 26) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP1_DRAMC_DCM_REG1_MASK ((0x1 << 31))
- #define DRAMC_CH0_TOP1_DRAMC_DCM_REG0_ON ((0x1 << 0) | \
- (0x1 << 1) | \
- (0x1 << 2) | \
- (0x0 << 26) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH0_TOP1_DRAMC_DCM_REG1_ON ((0x1 << 31))
- #define DRAMC_CH0_TOP1_DRAMC_DCM_REG0_OFF ((0x0 << 0) | \
- (0x0 << 1) | \
- (0x0 << 2) | \
- (0x1 << 26) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH0_TOP1_DRAMC_DCM_REG1_OFF ((0x0 << 31))
- bool dcm_dramc_ch0_top1_dramc_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(DRAMC_CH0_TOP1_DRAMC_PD_CTRL) &
- DRAMC_CH0_TOP1_DRAMC_DCM_REG0_MASK) ==
- (unsigned int) DRAMC_CH0_TOP1_DRAMC_DCM_REG0_ON);
- ret &= ((reg_read(DRAMC_CH0_TOP1_CLKAR) &
- DRAMC_CH0_TOP1_DRAMC_DCM_REG1_MASK) ==
- (unsigned int) DRAMC_CH0_TOP1_DRAMC_DCM_REG1_ON);
- return ret;
- }
- void dcm_dramc_ch0_top1_dramc_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'dramc_ch0_top1_dramc_dcm'" */
- reg_write(DRAMC_CH0_TOP1_DRAMC_PD_CTRL,
- (reg_read(DRAMC_CH0_TOP1_DRAMC_PD_CTRL) &
- ~DRAMC_CH0_TOP1_DRAMC_DCM_REG0_MASK) |
- DRAMC_CH0_TOP1_DRAMC_DCM_REG0_ON);
- reg_write(DRAMC_CH0_TOP1_CLKAR,
- (reg_read(DRAMC_CH0_TOP1_CLKAR) &
- ~DRAMC_CH0_TOP1_DRAMC_DCM_REG1_MASK) |
- DRAMC_CH0_TOP1_DRAMC_DCM_REG1_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'dramc_ch0_top1_dramc_dcm'" */
- reg_write(DRAMC_CH0_TOP1_DRAMC_PD_CTRL,
- (reg_read(DRAMC_CH0_TOP1_DRAMC_PD_CTRL) &
- ~DRAMC_CH0_TOP1_DRAMC_DCM_REG0_MASK) |
- DRAMC_CH0_TOP1_DRAMC_DCM_REG0_OFF);
- reg_write(DRAMC_CH0_TOP1_CLKAR,
- (reg_read(DRAMC_CH0_TOP1_CLKAR) &
- ~DRAMC_CH0_TOP1_DRAMC_DCM_REG1_MASK) |
- DRAMC_CH0_TOP1_DRAMC_DCM_REG1_OFF);
- }
- }
- #define CHN0_EMI_DCM_EMI_GROUP_REG0_MASK ((0xff << 24))
- #define CHN0_EMI_DCM_EMI_GROUP_REG0_ON ((0x0 << 24))
- #define CHN0_EMI_DCM_EMI_GROUP_REG0_OFF ((0xff << 24))
- bool dcm_chn0_emi_dcm_emi_group_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(CHN0_EMI_CHN_EMI_CONB) &
- CHN0_EMI_DCM_EMI_GROUP_REG0_MASK) ==
- (unsigned int) CHN0_EMI_DCM_EMI_GROUP_REG0_ON);
- return ret;
- }
- void dcm_chn0_emi_dcm_emi_group(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'chn0_emi_dcm_emi_group'" */
- reg_write(CHN0_EMI_CHN_EMI_CONB,
- (reg_read(CHN0_EMI_CHN_EMI_CONB) &
- ~CHN0_EMI_DCM_EMI_GROUP_REG0_MASK) |
- CHN0_EMI_DCM_EMI_GROUP_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'chn0_emi_dcm_emi_group'" */
- reg_write(CHN0_EMI_CHN_EMI_CONB,
- (reg_read(CHN0_EMI_CHN_EMI_CONB) &
- ~CHN0_EMI_DCM_EMI_GROUP_REG0_MASK) |
- CHN0_EMI_DCM_EMI_GROUP_REG0_OFF);
- }
- }
- #define DRAMC_CH1_TOP0_DDRPHY_REG0_MASK ((0x1 << 8) | \
- (0x1 << 9) | \
- (0x1 << 10) | \
- (0x1 << 11) | \
- (0x1 << 12) | \
- (0x1 << 13) | \
- (0x1 << 14) | \
- (0x1 << 15) | \
- (0x1 << 16) | \
- (0x1 << 17) | \
- (0x1 << 19))
- #define DRAMC_CH1_TOP0_DDRPHY_REG1_MASK ((0x1 << 6) | \
- (0x1 << 7) | \
- (0x1 << 26))
- #define DRAMC_CH1_TOP0_DDRPHY_REG2_MASK ((0x1 << 26) | \
- (0x1 << 27))
- #define DRAMC_CH1_TOP0_DDRPHY_REG3_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG4_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG5_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG6_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG7_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG8_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG9_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG10_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG11_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG12_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG13_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG14_MASK ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG0_ON ((0x0 << 8) | \
- (0x0 << 9) | \
- (0x0 << 10) | \
- (0x0 << 11) | \
- (0x0 << 12) | \
- (0x0 << 13) | \
- (0x0 << 14) | \
- (0x0 << 15) | \
- (0x0 << 16) | \
- (0x0 << 17) | \
- (0x0 << 19))
- #define DRAMC_CH1_TOP0_DDRPHY_REG1_ON ((0x0 << 6) | \
- (0x0 << 7) | \
- (0x0 << 26))
- #define DRAMC_CH1_TOP0_DDRPHY_REG2_ON ((0x0 << 26) | \
- (0x0 << 27))
- #define DRAMC_CH1_TOP0_DDRPHY_REG3_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG4_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG5_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG6_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG7_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG8_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG9_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG10_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG11_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG12_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG13_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG14_ON ((0x0 << 19) | \
- (0x0 << 20) | \
- (0x0 << 22) | \
- (0x0 << 23) | \
- (0x0 << 24) | \
- (0x0 << 25) | \
- (0x0 << 26) | \
- (0x0 << 27) | \
- (0x0 << 28) | \
- (0x0 << 29) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG0_OFF ((0x1 << 8) | \
- (0x1 << 9) | \
- (0x1 << 10) | \
- (0x1 << 11) | \
- (0x1 << 12) | \
- (0x1 << 13) | \
- (0x1 << 14) | \
- (0x1 << 15) | \
- (0x1 << 16) | \
- (0x1 << 17) | \
- (0x1 << 19))
- #define DRAMC_CH1_TOP0_DDRPHY_REG1_OFF ((0x1 << 6) | \
- (0x1 << 7) | \
- (0x0 << 26))
- #define DRAMC_CH1_TOP0_DDRPHY_REG2_OFF ((0x1 << 26) | \
- (0x1 << 27))
- #define DRAMC_CH1_TOP0_DDRPHY_REG3_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG4_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG5_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG6_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG7_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG8_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG9_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG10_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG11_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG12_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG13_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP0_DDRPHY_REG14_OFF ((0x1 << 19) | \
- (0x1 << 20) | \
- (0x1 << 22) | \
- (0x1 << 23) | \
- (0x1 << 24) | \
- (0x1 << 25) | \
- (0x1 << 26) | \
- (0x1 << 27) | \
- (0x1 << 28) | \
- (0x1 << 29) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #if 0
- static unsigned int dramc_ch1_top0_rg_mem_dcm_idle_fsel_get(void)
- {
- return (reg_read(DRAMC_CH1_TOP0_MISC_CG_CTRL2) >> 21) & 0x1f;
- }
- #endif
- static void dramc_ch1_top0_rg_mem_dcm_idle_fsel_set(unsigned int val)
- {
- reg_write(DRAMC_CH1_TOP0_MISC_CG_CTRL2,
- (reg_read(DRAMC_CH1_TOP0_MISC_CG_CTRL2) &
- ~(0x1f << 21)) |
- (val & 0x1f) << 21);
- }
- bool dcm_dramc_ch1_top0_ddrphy_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(DRAMC_CH1_TOP0_MISC_CG_CTRL0) &
- DRAMC_CH1_TOP0_DDRPHY_REG0_MASK) ==
- (unsigned int) DRAMC_CH1_TOP0_DDRPHY_REG0_ON);
- ret &= ((reg_read(DRAMC_CH1_TOP0_MISC_CG_CTRL2) &
- DRAMC_CH1_TOP0_DDRPHY_REG1_MASK) ==
- (unsigned int) DRAMC_CH1_TOP0_DDRPHY_REG1_ON);
- ret &= ((reg_read(DRAMC_CH1_TOP0_MISC_CTRL3) &
- DRAMC_CH1_TOP0_DDRPHY_REG2_MASK) ==
- (unsigned int) DRAMC_CH1_TOP0_DDRPHY_REG2_ON);
- ret &= ((reg_read(DRAMC_CH1_TOP0_SHU1_B0_DQ8) &
- DRAMC_CH1_TOP0_DDRPHY_REG3_MASK) ==
- (unsigned int) DRAMC_CH1_TOP0_DDRPHY_REG3_ON);
- ret &= ((reg_read(DRAMC_CH1_TOP0_SHU1_B1_DQ8) &
- DRAMC_CH1_TOP0_DDRPHY_REG4_MASK) ==
- (unsigned int) DRAMC_CH1_TOP0_DDRPHY_REG4_ON);
- ret &= ((reg_read(DRAMC_CH1_TOP0_SHU1_CA_CMD8) &
- DRAMC_CH1_TOP0_DDRPHY_REG5_MASK) ==
- (unsigned int) DRAMC_CH1_TOP0_DDRPHY_REG5_ON);
- ret &= ((reg_read(DRAMC_CH1_TOP0_SHU2_B0_DQ8) &
- DRAMC_CH1_TOP0_DDRPHY_REG6_MASK) ==
- (unsigned int) DRAMC_CH1_TOP0_DDRPHY_REG6_ON);
- ret &= ((reg_read(DRAMC_CH1_TOP0_SHU2_B1_DQ8) &
- DRAMC_CH1_TOP0_DDRPHY_REG7_MASK) ==
- (unsigned int) DRAMC_CH1_TOP0_DDRPHY_REG7_ON);
- ret &= ((reg_read(DRAMC_CH1_TOP0_SHU2_CA_CMD8) &
- DRAMC_CH1_TOP0_DDRPHY_REG8_MASK) ==
- (unsigned int) DRAMC_CH1_TOP0_DDRPHY_REG8_ON);
- ret &= ((reg_read(DRAMC_CH1_TOP0_SHU3_B0_DQ8) &
- DRAMC_CH1_TOP0_DDRPHY_REG9_MASK) ==
- (unsigned int) DRAMC_CH1_TOP0_DDRPHY_REG9_ON);
- ret &= ((reg_read(DRAMC_CH1_TOP0_SHU3_B1_DQ8) &
- DRAMC_CH1_TOP0_DDRPHY_REG10_MASK) ==
- (unsigned int) DRAMC_CH1_TOP0_DDRPHY_REG10_ON);
- ret &= ((reg_read(DRAMC_CH1_TOP0_SHU3_CA_CMD8) &
- DRAMC_CH1_TOP0_DDRPHY_REG11_MASK) ==
- (unsigned int) DRAMC_CH1_TOP0_DDRPHY_REG11_ON);
- ret &= ((reg_read(DRAMC_CH1_TOP0_SHU4_B0_DQ8) &
- DRAMC_CH1_TOP0_DDRPHY_REG12_MASK) ==
- (unsigned int) DRAMC_CH1_TOP0_DDRPHY_REG12_ON);
- ret &= ((reg_read(DRAMC_CH1_TOP0_SHU4_B1_DQ8) &
- DRAMC_CH1_TOP0_DDRPHY_REG13_MASK) ==
- (unsigned int) DRAMC_CH1_TOP0_DDRPHY_REG13_ON);
- ret &= ((reg_read(DRAMC_CH1_TOP0_SHU4_CA_CMD8) &
- DRAMC_CH1_TOP0_DDRPHY_REG14_MASK) ==
- (unsigned int) DRAMC_CH1_TOP0_DDRPHY_REG14_ON);
- return ret;
- }
- void dcm_dramc_ch1_top0_ddrphy(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'dramc_ch1_top0_ddrphy'" */
- dramc_ch1_top0_rg_mem_dcm_idle_fsel_set(0x8);
- reg_write(DRAMC_CH1_TOP0_MISC_CG_CTRL0,
- (reg_read(DRAMC_CH1_TOP0_MISC_CG_CTRL0) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG0_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG0_ON);
- reg_write(DRAMC_CH1_TOP0_MISC_CG_CTRL2,
- (reg_read(DRAMC_CH1_TOP0_MISC_CG_CTRL2) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG1_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG1_ON);
- reg_write(DRAMC_CH1_TOP0_MISC_CTRL3,
- (reg_read(DRAMC_CH1_TOP0_MISC_CTRL3) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG2_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG2_ON);
- reg_write(DRAMC_CH1_TOP0_SHU1_B0_DQ8,
- (reg_read(DRAMC_CH1_TOP0_SHU1_B0_DQ8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG3_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG3_ON);
- reg_write(DRAMC_CH1_TOP0_SHU1_B1_DQ8,
- (reg_read(DRAMC_CH1_TOP0_SHU1_B1_DQ8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG4_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG4_ON);
- reg_write(DRAMC_CH1_TOP0_SHU1_CA_CMD8,
- (reg_read(DRAMC_CH1_TOP0_SHU1_CA_CMD8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG5_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG5_ON);
- reg_write(DRAMC_CH1_TOP0_SHU2_B0_DQ8,
- (reg_read(DRAMC_CH1_TOP0_SHU2_B0_DQ8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG6_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG6_ON);
- reg_write(DRAMC_CH1_TOP0_SHU2_B1_DQ8,
- (reg_read(DRAMC_CH1_TOP0_SHU2_B1_DQ8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG7_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG7_ON);
- reg_write(DRAMC_CH1_TOP0_SHU2_CA_CMD8,
- (reg_read(DRAMC_CH1_TOP0_SHU2_CA_CMD8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG8_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG8_ON);
- reg_write(DRAMC_CH1_TOP0_SHU3_B0_DQ8,
- (reg_read(DRAMC_CH1_TOP0_SHU3_B0_DQ8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG9_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG9_ON);
- reg_write(DRAMC_CH1_TOP0_SHU3_B1_DQ8,
- (reg_read(DRAMC_CH1_TOP0_SHU3_B1_DQ8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG10_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG10_ON);
- reg_write(DRAMC_CH1_TOP0_SHU3_CA_CMD8,
- (reg_read(DRAMC_CH1_TOP0_SHU3_CA_CMD8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG11_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG11_ON);
- reg_write(DRAMC_CH1_TOP0_SHU4_B0_DQ8,
- (reg_read(DRAMC_CH1_TOP0_SHU4_B0_DQ8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG12_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG12_ON);
- reg_write(DRAMC_CH1_TOP0_SHU4_B1_DQ8,
- (reg_read(DRAMC_CH1_TOP0_SHU4_B1_DQ8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG13_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG13_ON);
- reg_write(DRAMC_CH1_TOP0_SHU4_CA_CMD8,
- (reg_read(DRAMC_CH1_TOP0_SHU4_CA_CMD8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG14_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG14_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'dramc_ch1_top0_ddrphy'" */
- dramc_ch1_top0_rg_mem_dcm_idle_fsel_set(0x0);
- reg_write(DRAMC_CH1_TOP0_MISC_CG_CTRL0,
- (reg_read(DRAMC_CH1_TOP0_MISC_CG_CTRL0) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG0_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG0_OFF);
- reg_write(DRAMC_CH1_TOP0_MISC_CG_CTRL2,
- (reg_read(DRAMC_CH1_TOP0_MISC_CG_CTRL2) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG1_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG1_OFF);
- reg_write(DRAMC_CH1_TOP0_MISC_CTRL3,
- (reg_read(DRAMC_CH1_TOP0_MISC_CTRL3) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG2_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG2_OFF);
- reg_write(DRAMC_CH1_TOP0_SHU1_B0_DQ8,
- (reg_read(DRAMC_CH1_TOP0_SHU1_B0_DQ8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG3_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG3_OFF);
- reg_write(DRAMC_CH1_TOP0_SHU1_B1_DQ8,
- (reg_read(DRAMC_CH1_TOP0_SHU1_B1_DQ8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG4_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG4_OFF);
- reg_write(DRAMC_CH1_TOP0_SHU1_CA_CMD8,
- (reg_read(DRAMC_CH1_TOP0_SHU1_CA_CMD8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG5_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG5_OFF);
- reg_write(DRAMC_CH1_TOP0_SHU2_B0_DQ8,
- (reg_read(DRAMC_CH1_TOP0_SHU2_B0_DQ8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG6_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG6_OFF);
- reg_write(DRAMC_CH1_TOP0_SHU2_B1_DQ8,
- (reg_read(DRAMC_CH1_TOP0_SHU2_B1_DQ8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG7_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG7_OFF);
- reg_write(DRAMC_CH1_TOP0_SHU2_CA_CMD8,
- (reg_read(DRAMC_CH1_TOP0_SHU2_CA_CMD8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG8_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG8_OFF);
- reg_write(DRAMC_CH1_TOP0_SHU3_B0_DQ8,
- (reg_read(DRAMC_CH1_TOP0_SHU3_B0_DQ8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG9_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG9_OFF);
- reg_write(DRAMC_CH1_TOP0_SHU3_B1_DQ8,
- (reg_read(DRAMC_CH1_TOP0_SHU3_B1_DQ8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG10_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG10_OFF);
- reg_write(DRAMC_CH1_TOP0_SHU3_CA_CMD8,
- (reg_read(DRAMC_CH1_TOP0_SHU3_CA_CMD8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG11_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG11_OFF);
- reg_write(DRAMC_CH1_TOP0_SHU4_B0_DQ8,
- (reg_read(DRAMC_CH1_TOP0_SHU4_B0_DQ8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG12_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG12_OFF);
- reg_write(DRAMC_CH1_TOP0_SHU4_B1_DQ8,
- (reg_read(DRAMC_CH1_TOP0_SHU4_B1_DQ8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG13_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG13_OFF);
- reg_write(DRAMC_CH1_TOP0_SHU4_CA_CMD8,
- (reg_read(DRAMC_CH1_TOP0_SHU4_CA_CMD8) &
- ~DRAMC_CH1_TOP0_DDRPHY_REG14_MASK) |
- DRAMC_CH1_TOP0_DDRPHY_REG14_OFF);
- }
- }
- #define DRAMC_CH1_TOP1_DRAMC_DCM_REG0_MASK ((0x1 << 0) | \
- (0x1 << 1) | \
- (0x1 << 2) | \
- (0x1 << 26) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP1_DRAMC_DCM_REG1_MASK ((0x1 << 31))
- #define DRAMC_CH1_TOP1_DRAMC_DCM_REG0_ON ((0x1 << 0) | \
- (0x1 << 1) | \
- (0x1 << 2) | \
- (0x0 << 26) | \
- (0x1 << 30) | \
- (0x1 << 31))
- #define DRAMC_CH1_TOP1_DRAMC_DCM_REG1_ON ((0x1 << 31))
- #define DRAMC_CH1_TOP1_DRAMC_DCM_REG0_OFF ((0x0 << 0) | \
- (0x0 << 1) | \
- (0x0 << 2) | \
- (0x1 << 26) | \
- (0x0 << 30) | \
- (0x0 << 31))
- #define DRAMC_CH1_TOP1_DRAMC_DCM_REG1_OFF ((0x0 << 31))
- bool dcm_dramc_ch1_top1_dramc_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(DRAMC_CH1_TOP1_DRAMC_PD_CTRL) &
- DRAMC_CH1_TOP1_DRAMC_DCM_REG0_MASK) ==
- (unsigned int) DRAMC_CH1_TOP1_DRAMC_DCM_REG0_ON);
- ret &= ((reg_read(DRAMC_CH1_TOP1_CLKAR) &
- DRAMC_CH1_TOP1_DRAMC_DCM_REG1_MASK) ==
- (unsigned int) DRAMC_CH1_TOP1_DRAMC_DCM_REG1_ON);
- return ret;
- }
- void dcm_dramc_ch1_top1_dramc_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'dramc_ch1_top1_dramc_dcm'" */
- reg_write(DRAMC_CH1_TOP1_DRAMC_PD_CTRL,
- (reg_read(DRAMC_CH1_TOP1_DRAMC_PD_CTRL) &
- ~DRAMC_CH1_TOP1_DRAMC_DCM_REG0_MASK) |
- DRAMC_CH1_TOP1_DRAMC_DCM_REG0_ON);
- reg_write(DRAMC_CH1_TOP1_CLKAR,
- (reg_read(DRAMC_CH1_TOP1_CLKAR) &
- ~DRAMC_CH1_TOP1_DRAMC_DCM_REG1_MASK) |
- DRAMC_CH1_TOP1_DRAMC_DCM_REG1_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'dramc_ch1_top1_dramc_dcm'" */
- reg_write(DRAMC_CH1_TOP1_DRAMC_PD_CTRL,
- (reg_read(DRAMC_CH1_TOP1_DRAMC_PD_CTRL) &
- ~DRAMC_CH1_TOP1_DRAMC_DCM_REG0_MASK) |
- DRAMC_CH1_TOP1_DRAMC_DCM_REG0_OFF);
- reg_write(DRAMC_CH1_TOP1_CLKAR,
- (reg_read(DRAMC_CH1_TOP1_CLKAR) &
- ~DRAMC_CH1_TOP1_DRAMC_DCM_REG1_MASK) |
- DRAMC_CH1_TOP1_DRAMC_DCM_REG1_OFF);
- }
- }
- #define CHN1_EMI_DCM_EMI_GROUP_REG0_MASK ((0xff << 24))
- #define CHN1_EMI_DCM_EMI_GROUP_REG0_ON ((0x0 << 24))
- #define CHN1_EMI_DCM_EMI_GROUP_REG0_OFF ((0xff << 24))
- bool dcm_chn1_emi_dcm_emi_group_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(CHN1_EMI_CHN_EMI_CONB) &
- CHN1_EMI_DCM_EMI_GROUP_REG0_MASK) ==
- (unsigned int) CHN1_EMI_DCM_EMI_GROUP_REG0_ON);
- return ret;
- }
- void dcm_chn1_emi_dcm_emi_group(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'chn1_emi_dcm_emi_group'" */
- reg_write(CHN1_EMI_CHN_EMI_CONB,
- (reg_read(CHN1_EMI_CHN_EMI_CONB) &
- ~CHN1_EMI_DCM_EMI_GROUP_REG0_MASK) |
- CHN1_EMI_DCM_EMI_GROUP_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'chn1_emi_dcm_emi_group'" */
- reg_write(CHN1_EMI_CHN_EMI_CONB,
- (reg_read(CHN1_EMI_CHN_EMI_CONB) &
- ~CHN1_EMI_DCM_EMI_GROUP_REG0_MASK) |
- CHN1_EMI_DCM_EMI_GROUP_REG0_OFF);
- }
- }
- #define MP0_CPUCFG_MP0_RGU_DCM_REG0_MASK ((0x1 << 0))
- #define MP0_CPUCFG_MP0_RGU_DCM_REG0_ON ((0x1 << 0))
- #define MP0_CPUCFG_MP0_RGU_DCM_REG0_OFF ((0x0 << 0))
- bool dcm_mp0_cpucfg_mp0_rgu_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(MP0_CPUCFG_MP0_RGU_DCM_CONFIG) &
- MP0_CPUCFG_MP0_RGU_DCM_REG0_MASK) ==
- (unsigned int) MP0_CPUCFG_MP0_RGU_DCM_REG0_ON);
- return ret;
- }
- void dcm_mp0_cpucfg_mp0_rgu_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'mp0_cpucfg_mp0_rgu_dcm'" */
- reg_write(MP0_CPUCFG_MP0_RGU_DCM_CONFIG,
- (reg_read(MP0_CPUCFG_MP0_RGU_DCM_CONFIG) &
- ~MP0_CPUCFG_MP0_RGU_DCM_REG0_MASK) |
- MP0_CPUCFG_MP0_RGU_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'mp0_cpucfg_mp0_rgu_dcm'" */
- reg_write(MP0_CPUCFG_MP0_RGU_DCM_CONFIG,
- (reg_read(MP0_CPUCFG_MP0_RGU_DCM_CONFIG) &
- ~MP0_CPUCFG_MP0_RGU_DCM_REG0_MASK) |
- MP0_CPUCFG_MP0_RGU_DCM_REG0_OFF);
- }
- }
- #define MP1_CPUCFG_MP1_RGU_DCM_REG0_MASK ((0x1 << 0))
- #define MP1_CPUCFG_MP1_RGU_DCM_REG0_ON ((0x1 << 0))
- #define MP1_CPUCFG_MP1_RGU_DCM_REG0_OFF ((0x0 << 0))
- bool dcm_mp1_cpucfg_mp1_rgu_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(MP1_CPUCFG_MP1_RGU_DCM_CONFIG) &
- MP1_CPUCFG_MP1_RGU_DCM_REG0_MASK) ==
- (unsigned int) MP1_CPUCFG_MP1_RGU_DCM_REG0_ON);
- return ret;
- }
- void dcm_mp1_cpucfg_mp1_rgu_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'mp1_cpucfg_mp1_rgu_dcm'" */
- reg_write(MP1_CPUCFG_MP1_RGU_DCM_CONFIG,
- (reg_read(MP1_CPUCFG_MP1_RGU_DCM_CONFIG) &
- ~MP1_CPUCFG_MP1_RGU_DCM_REG0_MASK) |
- MP1_CPUCFG_MP1_RGU_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'mp1_cpucfg_mp1_rgu_dcm'" */
- reg_write(MP1_CPUCFG_MP1_RGU_DCM_CONFIG,
- (reg_read(MP1_CPUCFG_MP1_RGU_DCM_CONFIG) &
- ~MP1_CPUCFG_MP1_RGU_DCM_REG0_MASK) |
- MP1_CPUCFG_MP1_RGU_DCM_REG0_OFF);
- }
- }
- #define MCU_MISCCFG_ADB400_DCM_REG0_MASK ((0x1 << 0) | \
- (0x1 << 1) | \
- (0x1 << 2) | \
- (0x1 << 5) | \
- (0x1 << 6))
- #define MCU_MISCCFG_ADB400_DCM_REG0_ON ((0x1 << 0) | \
- (0x1 << 1) | \
- (0x1 << 2) | \
- (0x1 << 5) | \
- (0x1 << 6))
- #define MCU_MISCCFG_ADB400_DCM_REG0_OFF ((0x0 << 0) | \
- (0x0 << 1) | \
- (0x0 << 2) | \
- (0x0 << 5) | \
- (0x0 << 6))
- bool dcm_mcu_misccfg_adb400_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(CCI_ADB400_DCM_CONFIG) &
- MCU_MISCCFG_ADB400_DCM_REG0_MASK) ==
- (unsigned int) MCU_MISCCFG_ADB400_DCM_REG0_ON);
- return ret;
- }
- void dcm_mcu_misccfg_adb400_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'mcu_misccfg_adb400_dcm'" */
- reg_write(CCI_ADB400_DCM_CONFIG,
- (reg_read(CCI_ADB400_DCM_CONFIG) &
- ~MCU_MISCCFG_ADB400_DCM_REG0_MASK) |
- MCU_MISCCFG_ADB400_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'mcu_misccfg_adb400_dcm'" */
- reg_write(CCI_ADB400_DCM_CONFIG,
- (reg_read(CCI_ADB400_DCM_CONFIG) &
- ~MCU_MISCCFG_ADB400_DCM_REG0_MASK) |
- MCU_MISCCFG_ADB400_DCM_REG0_OFF);
- }
- }
- #define MCU_MISCCFG_BUS_ARM_PLL_DIVIDER_DCM_REG0_MASK ((0x1 << 11) | \
- (0x1 << 24) | \
- (0x1 << 25))
- #define MCU_MISCCFG_BUS_ARM_PLL_DIVIDER_DCM_REG0_ON ((0x1 << 11) | \
- (0x1 << 24) | \
- (0x1 << 25))
- #define MCU_MISCCFG_BUS_ARM_PLL_DIVIDER_DCM_REG0_OFF ((0x0 << 11) | \
- (0x0 << 24) | \
- (0x0 << 25))
- bool dcm_mcu_misccfg_bus_arm_pll_divider_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(BUS_PLL_DIVIDER_CFG) &
- MCU_MISCCFG_BUS_ARM_PLL_DIVIDER_DCM_REG0_MASK) ==
- (unsigned int) MCU_MISCCFG_BUS_ARM_PLL_DIVIDER_DCM_REG0_ON);
- return ret;
- }
- void dcm_mcu_misccfg_bus_arm_pll_divider_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'mcu_misccfg_bus_arm_pll_divider_dcm'" */
- reg_write(BUS_PLL_DIVIDER_CFG,
- (reg_read(BUS_PLL_DIVIDER_CFG) &
- ~MCU_MISCCFG_BUS_ARM_PLL_DIVIDER_DCM_REG0_MASK) |
- MCU_MISCCFG_BUS_ARM_PLL_DIVIDER_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'mcu_misccfg_bus_arm_pll_divider_dcm'" */
- reg_write(BUS_PLL_DIVIDER_CFG,
- (reg_read(BUS_PLL_DIVIDER_CFG) &
- ~MCU_MISCCFG_BUS_ARM_PLL_DIVIDER_DCM_REG0_MASK) |
- MCU_MISCCFG_BUS_ARM_PLL_DIVIDER_DCM_REG0_OFF);
- }
- }
- #define MCU_MISCCFG_BUS_SYNC_DCM_REG0_MASK ((0x1 << 0))
- #define MCU_MISCCFG_BUS_SYNC_DCM_REG0_ON ((0x1 << 0))
- #define MCU_MISCCFG_BUS_SYNC_DCM_REG0_OFF ((0x0 << 0))
- #define MCU_MISCCFG_BUS_SYNC_DCM_REG0_TOG_MASK ((0x1 << 1))
- #define MCU_MISCCFG_BUS_SYNC_DCM_REG0_TOG1 ((0x1 << 1))
- #define MCU_MISCCFG_BUS_SYNC_DCM_REG0_TOG0 ((0x1 << 1))
- #if 0
- static unsigned int mcu_misccfg_cci_sync_dcm_div_sel_get(void)
- {
- return (reg_read(SYNC_DCM_CONFIG) >> 2) & 0x7f;
- }
- #endif
- static void mcu_misccfg_cci_sync_dcm_div_sel_set(unsigned int val)
- {
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~(0x7f << 2)) |
- (val & 0x7f) << 2);
- }
- bool dcm_mcu_misccfg_bus_sync_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(SYNC_DCM_CONFIG) &
- MCU_MISCCFG_BUS_SYNC_DCM_REG0_MASK) ==
- (unsigned int) MCU_MISCCFG_BUS_SYNC_DCM_REG0_ON);
- return ret;
- }
- void dcm_mcu_misccfg_bus_sync_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'mcu_misccfg_bus_sync_dcm'" */
- #if 0
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~MCU_MISCCFG_BUS_SYNC_DCM_REG0_TOG_MASK) |
- MCU_MISCCFG_BUS_SYNC_DCM_REG0_TOG0);
- mcu_misccfg_cci_sync_dcm_div_sel_set(0x0);
- #endif
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~MCU_MISCCFG_BUS_SYNC_DCM_REG0_MASK) |
- MCU_MISCCFG_BUS_SYNC_DCM_REG0_ON);
- #if 0
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~MCU_MISCCFG_BUS_SYNC_DCM_REG0_TOG_MASK) |
- MCU_MISCCFG_BUS_SYNC_DCM_REG0_TOG1);
- #endif
- } else {
- /* TINFO = "Turn OFF DCM 'mcu_misccfg_bus_sync_dcm'" */
- #if 0
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~MCU_MISCCFG_BUS_SYNC_DCM_REG0_TOG_MASK) |
- MCU_MISCCFG_BUS_SYNC_DCM_REG0_TOG0);
- mcu_misccfg_cci_sync_dcm_div_sel_set(0x1);
- #endif
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~MCU_MISCCFG_BUS_SYNC_DCM_REG0_MASK) |
- MCU_MISCCFG_BUS_SYNC_DCM_REG0_OFF);
- #if 0
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~MCU_MISCCFG_BUS_SYNC_DCM_REG0_TOG_MASK) |
- MCU_MISCCFG_BUS_SYNC_DCM_REG0_TOG1);
- #endif
- }
- }
- #define MCU_MISCCFG_BUS_CLOCK_DCM_REG0_MASK ((0x1 << 8))
- #define MCU_MISCCFG_BUS_CLOCK_DCM_REG0_ON ((0x1 << 8))
- #define MCU_MISCCFG_BUS_CLOCK_DCM_REG0_OFF ((0x0 << 8))
- bool dcm_mcu_misccfg_bus_clock_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(CCI_CLK_CTRL) &
- MCU_MISCCFG_BUS_CLOCK_DCM_REG0_MASK) ==
- (unsigned int) MCU_MISCCFG_BUS_CLOCK_DCM_REG0_ON);
- return ret;
- }
- void dcm_mcu_misccfg_bus_clock_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'mcu_misccfg_bus_clock_dcm'" */
- reg_write(CCI_CLK_CTRL,
- (reg_read(CCI_CLK_CTRL) &
- ~MCU_MISCCFG_BUS_CLOCK_DCM_REG0_MASK) |
- MCU_MISCCFG_BUS_CLOCK_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'mcu_misccfg_bus_clock_dcm'" */
- reg_write(CCI_CLK_CTRL,
- (reg_read(CCI_CLK_CTRL) &
- ~MCU_MISCCFG_BUS_CLOCK_DCM_REG0_MASK) |
- MCU_MISCCFG_BUS_CLOCK_DCM_REG0_OFF);
- }
- }
- #define MCU_MISCCFG_BUS_FABRIC_DCM_REG0_MASK ((0x1 << 0) | \
- (0x1 << 1) | \
- (0x1 << 4) | \
- (0x1 << 5) | \
- (0x1 << 6) | \
- (0x1 << 7) | \
- (0x1 << 8) | \
- (0x1 << 9) | \
- (0x1 << 10) | \
- (0x1 << 11) | \
- (0x1 << 12) | \
- (0x1 << 16) | \
- (0x1 << 18) | \
- (0x1 << 19) | \
- (0x1 << 22) | \
- (0x1 << 23))
- #define MCU_MISCCFG_BUS_FABRIC_DCM_REG0_ON ((0x1 << 0) | \
- (0x1 << 1) | \
- (0x1 << 4) | \
- (0x1 << 5) | \
- (0x1 << 6) | \
- (0x1 << 7) | \
- (0x1 << 8) | \
- (0x1 << 9) | \
- (0x1 << 10) | \
- (0x1 << 11) | \
- (0x1 << 12) | \
- (0x1 << 16) | \
- (0x1 << 18) | \
- (0x1 << 19) | \
- (0x1 << 22) | \
- (0x1 << 23))
- #define MCU_MISCCFG_BUS_FABRIC_DCM_REG0_OFF ((0x0 << 0) | \
- (0x0 << 1) | \
- (0x0 << 4) | \
- (0x0 << 5) | \
- (0x0 << 6) | \
- (0x0 << 7) | \
- (0x0 << 8) | \
- (0x0 << 9) | \
- (0x0 << 10) | \
- (0x0 << 11) | \
- (0x0 << 12) | \
- (0x0 << 16) | \
- (0x0 << 18) | \
- (0x0 << 19) | \
- (0x0 << 22) | \
- (0x0 << 23))
- bool dcm_mcu_misccfg_bus_fabric_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(BUS_FABRIC_DCM_CTRL) &
- MCU_MISCCFG_BUS_FABRIC_DCM_REG0_MASK) ==
- (unsigned int) MCU_MISCCFG_BUS_FABRIC_DCM_REG0_ON);
- return ret;
- }
- void dcm_mcu_misccfg_bus_fabric_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'mcu_misccfg_bus_fabric_dcm'" */
- reg_write(BUS_FABRIC_DCM_CTRL,
- (reg_read(BUS_FABRIC_DCM_CTRL) &
- ~MCU_MISCCFG_BUS_FABRIC_DCM_REG0_MASK) |
- MCU_MISCCFG_BUS_FABRIC_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'mcu_misccfg_bus_fabric_dcm'" */
- reg_write(BUS_FABRIC_DCM_CTRL,
- (reg_read(BUS_FABRIC_DCM_CTRL) &
- ~MCU_MISCCFG_BUS_FABRIC_DCM_REG0_MASK) |
- MCU_MISCCFG_BUS_FABRIC_DCM_REG0_OFF);
- }
- }
- #define MCU_MISCCFG_GIC_SYNC_DCM_REG0_MASK ((0x1 << 0) | \
- (0x1 << 1))
- #define MCU_MISCCFG_GIC_SYNC_DCM_REG0_ON ((0x1 << 0) | \
- (0x1 << 1))
- #define MCU_MISCCFG_GIC_SYNC_DCM_REG0_OFF ((0x0 << 0) | \
- (0x0 << 1))
- bool dcm_mcu_misccfg_gic_sync_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(MP_GIC_RGU_SYNC_DCM) &
- MCU_MISCCFG_GIC_SYNC_DCM_REG0_MASK) ==
- (unsigned int) MCU_MISCCFG_GIC_SYNC_DCM_REG0_ON);
- return ret;
- }
- void dcm_mcu_misccfg_gic_sync_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'mcu_misccfg_gic_sync_dcm'" */
- reg_write(MP_GIC_RGU_SYNC_DCM,
- (reg_read(MP_GIC_RGU_SYNC_DCM) &
- ~MCU_MISCCFG_GIC_SYNC_DCM_REG0_MASK) |
- MCU_MISCCFG_GIC_SYNC_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'mcu_misccfg_gic_sync_dcm'" */
- reg_write(MP_GIC_RGU_SYNC_DCM,
- (reg_read(MP_GIC_RGU_SYNC_DCM) &
- ~MCU_MISCCFG_GIC_SYNC_DCM_REG0_MASK) |
- MCU_MISCCFG_GIC_SYNC_DCM_REG0_OFF);
- }
- }
- #define MCU_MISCCFG_L2_SHARED_DCM_REG0_MASK ((0x1 << 0))
- #define MCU_MISCCFG_L2_SHARED_DCM_REG0_ON ((0x1 << 0))
- #define MCU_MISCCFG_L2_SHARED_DCM_REG0_OFF ((0x0 << 0))
- bool dcm_mcu_misccfg_l2_shared_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(L2C_SRAM_CTRL) &
- MCU_MISCCFG_L2_SHARED_DCM_REG0_MASK) ==
- (unsigned int) MCU_MISCCFG_L2_SHARED_DCM_REG0_ON);
- return ret;
- }
- void dcm_mcu_misccfg_l2_shared_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'mcu_misccfg_l2_shared_dcm'" */
- reg_write(L2C_SRAM_CTRL,
- (reg_read(L2C_SRAM_CTRL) &
- ~MCU_MISCCFG_L2_SHARED_DCM_REG0_MASK) |
- MCU_MISCCFG_L2_SHARED_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'mcu_misccfg_l2_shared_dcm'" */
- reg_write(L2C_SRAM_CTRL,
- (reg_read(L2C_SRAM_CTRL) &
- ~MCU_MISCCFG_L2_SHARED_DCM_REG0_MASK) |
- MCU_MISCCFG_L2_SHARED_DCM_REG0_OFF);
- }
- }
- #define MCU_MISCCFG_MP0_ARM_PLL_DIVIDER_DCM_REG0_MASK ((0x1 << 11) | \
- (0x1 << 24) | \
- (0x1 << 25))
- #define MCU_MISCCFG_MP0_ARM_PLL_DIVIDER_DCM_REG0_ON ((0x1 << 11) | \
- (0x1 << 24) | \
- (0x1 << 25))
- #define MCU_MISCCFG_MP0_ARM_PLL_DIVIDER_DCM_REG0_OFF ((0x0 << 11) | \
- (0x0 << 24) | \
- (0x0 << 25))
- bool dcm_mcu_misccfg_mp0_arm_pll_divider_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(MP0_PLL_DIVIDER_CFG) &
- MCU_MISCCFG_MP0_ARM_PLL_DIVIDER_DCM_REG0_MASK) ==
- (unsigned int) MCU_MISCCFG_MP0_ARM_PLL_DIVIDER_DCM_REG0_ON);
- return ret;
- }
- void dcm_mcu_misccfg_mp0_arm_pll_divider_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'mcu_misccfg_mp0_arm_pll_divider_dcm'" */
- reg_write(MP0_PLL_DIVIDER_CFG,
- (reg_read(MP0_PLL_DIVIDER_CFG) &
- ~MCU_MISCCFG_MP0_ARM_PLL_DIVIDER_DCM_REG0_MASK) |
- MCU_MISCCFG_MP0_ARM_PLL_DIVIDER_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'mcu_misccfg_mp0_arm_pll_divider_dcm'" */
- reg_write(MP0_PLL_DIVIDER_CFG,
- (reg_read(MP0_PLL_DIVIDER_CFG) &
- ~MCU_MISCCFG_MP0_ARM_PLL_DIVIDER_DCM_REG0_MASK) |
- MCU_MISCCFG_MP0_ARM_PLL_DIVIDER_DCM_REG0_OFF);
- }
- }
- #define MCU_MISCCFG_MP0_STALL_DCM_REG0_MASK ((0x1 << 7))
- #define MCU_MISCCFG_MP0_STALL_DCM_REG0_ON ((0x1 << 7))
- #define MCU_MISCCFG_MP0_STALL_DCM_REG0_OFF ((0x0 << 7))
- #if 0
- static unsigned int mcu_misccfg_mp0_sync_dcm_stall_wr_del_sel_get(void)
- {
- return (reg_read(SYNC_DCM_CLUSTER_CONFIG) >> 0) & 0x1f;
- }
- static void mcu_misccfg_mp0_sync_dcm_stall_wr_del_sel_set(unsigned int val)
- {
- reg_write(SYNC_DCM_CLUSTER_CONFIG,
- (reg_read(SYNC_DCM_CLUSTER_CONFIG) &
- ~(0x1f << 0)) |
- (val & 0x1f) << 0);
- }
- #endif
- bool dcm_mcu_misccfg_mp0_stall_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(SYNC_DCM_CLUSTER_CONFIG) &
- MCU_MISCCFG_MP0_STALL_DCM_REG0_MASK) ==
- (unsigned int) MCU_MISCCFG_MP0_STALL_DCM_REG0_ON);
- return ret;
- }
- void dcm_mcu_misccfg_mp0_stall_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'mcu_misccfg_mp0_stall_dcm'" */
- #if 0
- mcu_misccfg_mp0_sync_dcm_stall_wr_del_sel_set(0x0);
- #endif
- reg_write(SYNC_DCM_CLUSTER_CONFIG,
- (reg_read(SYNC_DCM_CLUSTER_CONFIG) &
- ~MCU_MISCCFG_MP0_STALL_DCM_REG0_MASK) |
- MCU_MISCCFG_MP0_STALL_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'mcu_misccfg_mp0_stall_dcm'" */
- #if 0
- mcu_misccfg_mp0_sync_dcm_stall_wr_del_sel_set(0x1);
- #endif
- reg_write(SYNC_DCM_CLUSTER_CONFIG,
- (reg_read(SYNC_DCM_CLUSTER_CONFIG) &
- ~MCU_MISCCFG_MP0_STALL_DCM_REG0_MASK) |
- MCU_MISCCFG_MP0_STALL_DCM_REG0_OFF);
- }
- }
- #define MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_MASK ((0x1 << 9))
- #define MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_ON ((0x1 << 9))
- #define MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_OFF ((0x0 << 9))
- #define MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_TOG_MASK ((0x1 << 10))
- #define MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_TOG1 ((0x1 << 10))
- #define MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_TOG0 ((0x1 << 10))
- #if 0
- static unsigned int mcu_misccfg_mp0_sync_dcm_div_sel_lo_get(void)
- {
- return (reg_read(SYNC_DCM_CONFIG) >> 11) & 0xf;
- }
- #endif
- #if 0
- static unsigned int mcu_misccfg_mp0_sync_dcm_div_sel_hi_get(void)
- {
- return (reg_read(SYNC_DCM_CONFIG) >> 25) & 0x7;
- }
- #endif
- static void mcu_misccfg_mp0_sync_dcm_div_sel_lo_set(unsigned int val)
- {
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~(0xf << 11)) |
- (val & 0xf) << 11);
- }
- static void mcu_misccfg_mp0_sync_dcm_div_sel_hi_set(unsigned int val)
- {
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~(0x7 << 25)) |
- (val & 0x7) << 25);
- }
- bool dcm_mcu_misccfg_mp0_sync_dcm_enable_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(SYNC_DCM_CONFIG) &
- MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_MASK) ==
- (unsigned int) MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_ON);
- return ret;
- }
- void dcm_mcu_misccfg_mp0_sync_dcm_enable(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'mcu_misccfg_mp0_sync_dcm_enable'" */
- #if 0
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_TOG_MASK) |
- MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_TOG0);
- mcu_misccfg_mp0_sync_dcm_div_sel_lo_set(0x0);
- mcu_misccfg_mp0_sync_dcm_div_sel_hi_set(0x0);
- #endif
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_MASK) |
- MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_ON);
- #if 0
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_TOG_MASK) |
- MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_TOG1);
- #endif
- } else {
- /* TINFO = "Turn OFF DCM 'mcu_misccfg_mp0_sync_dcm_enable'" */
- #if 0
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_TOG_MASK) |
- MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_TOG0);
- mcu_misccfg_mp0_sync_dcm_div_sel_lo_set(0x1);
- mcu_misccfg_mp0_sync_dcm_div_sel_hi_set(0x0);
- #endif
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_MASK) |
- MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_OFF);
- #if 0
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_TOG_MASK) |
- MCU_MISCCFG_MP0_SYNC_DCM_ENABLE_REG0_TOG1);
- #endif
- }
- }
- #define MCU_MISCCFG_MP1_ARM_PLL_DIVIDER_DCM_REG0_MASK ((0x1 << 11) | \
- (0x1 << 24) | \
- (0x1 << 25))
- #define MCU_MISCCFG_MP1_ARM_PLL_DIVIDER_DCM_REG0_ON ((0x1 << 11) | \
- (0x1 << 24) | \
- (0x1 << 25))
- #define MCU_MISCCFG_MP1_ARM_PLL_DIVIDER_DCM_REG0_OFF ((0x0 << 11) | \
- (0x0 << 24) | \
- (0x0 << 25))
- bool dcm_mcu_misccfg_mp1_arm_pll_divider_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(MP1_PLL_DIVIDER_CFG) &
- MCU_MISCCFG_MP1_ARM_PLL_DIVIDER_DCM_REG0_MASK) ==
- (unsigned int) MCU_MISCCFG_MP1_ARM_PLL_DIVIDER_DCM_REG0_ON);
- return ret;
- }
- void dcm_mcu_misccfg_mp1_arm_pll_divider_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'mcu_misccfg_mp1_arm_pll_divider_dcm'" */
- reg_write(MP1_PLL_DIVIDER_CFG,
- (reg_read(MP1_PLL_DIVIDER_CFG) &
- ~MCU_MISCCFG_MP1_ARM_PLL_DIVIDER_DCM_REG0_MASK) |
- MCU_MISCCFG_MP1_ARM_PLL_DIVIDER_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'mcu_misccfg_mp1_arm_pll_divider_dcm'" */
- reg_write(MP1_PLL_DIVIDER_CFG,
- (reg_read(MP1_PLL_DIVIDER_CFG) &
- ~MCU_MISCCFG_MP1_ARM_PLL_DIVIDER_DCM_REG0_MASK) |
- MCU_MISCCFG_MP1_ARM_PLL_DIVIDER_DCM_REG0_OFF);
- }
- }
- #define MCU_MISCCFG_MP1_STALL_DCM_REG0_MASK ((0x1 << 15))
- #define MCU_MISCCFG_MP1_STALL_DCM_REG0_ON ((0x1 << 15))
- #define MCU_MISCCFG_MP1_STALL_DCM_REG0_OFF ((0x0 << 15))
- #if 0
- static unsigned int mcu_misccfg_mp1_sync_dcm_stall_wr_del_sel_get(void)
- {
- return (reg_read(SYNC_DCM_CLUSTER_CONFIG) >> 8) & 0x1f;
- }
- static void mcu_misccfg_mp1_sync_dcm_stall_wr_del_sel_set(unsigned int val)
- {
- reg_write(SYNC_DCM_CLUSTER_CONFIG,
- (reg_read(SYNC_DCM_CLUSTER_CONFIG) &
- ~(0x1f << 8)) |
- (val & 0x1f) << 8);
- }
- #endif
- bool dcm_mcu_misccfg_mp1_stall_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(SYNC_DCM_CLUSTER_CONFIG) &
- MCU_MISCCFG_MP1_STALL_DCM_REG0_MASK) ==
- (unsigned int) MCU_MISCCFG_MP1_STALL_DCM_REG0_ON);
- return ret;
- }
- void dcm_mcu_misccfg_mp1_stall_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'mcu_misccfg_mp1_stall_dcm'" */
- #if 0
- mcu_misccfg_mp1_sync_dcm_stall_wr_del_sel_set(0x0);
- #endif
- reg_write(SYNC_DCM_CLUSTER_CONFIG,
- (reg_read(SYNC_DCM_CLUSTER_CONFIG) &
- ~MCU_MISCCFG_MP1_STALL_DCM_REG0_MASK) |
- MCU_MISCCFG_MP1_STALL_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'mcu_misccfg_mp1_stall_dcm'" */
- #if 0
- mcu_misccfg_mp1_sync_dcm_stall_wr_del_sel_set(0x1);
- #endif
- reg_write(SYNC_DCM_CLUSTER_CONFIG,
- (reg_read(SYNC_DCM_CLUSTER_CONFIG) &
- ~MCU_MISCCFG_MP1_STALL_DCM_REG0_MASK) |
- MCU_MISCCFG_MP1_STALL_DCM_REG0_OFF);
- }
- }
- #define MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_MASK ((0x1 << 16))
- #define MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_ON ((0x1 << 16))
- #define MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_OFF ((0x0 << 16))
- #define MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_TOG_MASK ((0x1 << 17))
- #define MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_TOG1 ((0x1 << 17))
- #define MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_TOG0 ((0x1 << 17))
- #if 0
- static unsigned int mcu_misccfg_mp1_sync_dcm_div_sel_get(void)
- {
- return (reg_read(SYNC_DCM_CONFIG) >> 18) & 0x7f;
- }
- #endif
- static void mcu_misccfg_mp1_sync_dcm_div_sel_set(unsigned int val)
- {
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~(0x7f << 18)) |
- (val & 0x7f) << 18);
- }
- bool dcm_mcu_misccfg_mp1_sync_dcm_enable_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(SYNC_DCM_CONFIG) &
- MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_MASK) ==
- (unsigned int) MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_ON);
- return ret;
- }
- void dcm_mcu_misccfg_mp1_sync_dcm_enable(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'mcu_misccfg_mp1_sync_dcm_enable'" */
- #if 0
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_TOG_MASK) |
- MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_TOG0);
- mcu_misccfg_mp1_sync_dcm_div_sel_set(0x0);
- #endif
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_MASK) |
- MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_ON);
- #if 0
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_TOG_MASK) |
- MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_TOG1);
- #endif
- } else {
- /* TINFO = "Turn OFF DCM 'mcu_misccfg_mp1_sync_dcm_enable'" */
- #if 0
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_TOG_MASK) |
- MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_TOG0);
- mcu_misccfg_mp1_sync_dcm_div_sel_set(0x1);
- #endif
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_MASK) |
- MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_OFF);
- #if 0
- reg_write(SYNC_DCM_CONFIG,
- (reg_read(SYNC_DCM_CONFIG) &
- ~MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_TOG_MASK) |
- MCU_MISCCFG_MP1_SYNC_DCM_ENABLE_REG0_TOG1);
- #endif
- }
- }
- #define MCU_MISCCFG_MP_STALL_DCM_REG0_MASK ((0xf << 24))
- #define MCU_MISCCFG_MP_STALL_DCM_REG0_ON ((0x6 << 24))
- #define MCU_MISCCFG_MP_STALL_DCM_REG0_OFF ((0xf << 24))
- bool dcm_mcu_misccfg_mp_stall_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(SYNC_DCM_CLUSTER_CONFIG) &
- MCU_MISCCFG_MP_STALL_DCM_REG0_MASK) ==
- (unsigned int) MCU_MISCCFG_MP_STALL_DCM_REG0_ON);
- return ret;
- }
- void dcm_mcu_misccfg_mp_stall_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'mcu_misccfg_mp_stall_dcm'" */
- reg_write(SYNC_DCM_CLUSTER_CONFIG,
- (reg_read(SYNC_DCM_CLUSTER_CONFIG) &
- ~MCU_MISCCFG_MP_STALL_DCM_REG0_MASK) |
- MCU_MISCCFG_MP_STALL_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'mcu_misccfg_mp_stall_dcm'" */
- reg_write(SYNC_DCM_CLUSTER_CONFIG,
- (reg_read(SYNC_DCM_CLUSTER_CONFIG) &
- ~MCU_MISCCFG_MP_STALL_DCM_REG0_MASK) |
- MCU_MISCCFG_MP_STALL_DCM_REG0_OFF);
- }
- }
- #define MCU_MISCCFG_MCU_MISC_DCM_REG0_MASK ((0x1 << 0) | \
- (0x1 << 1))
- #define MCU_MISCCFG_MCU_MISC_DCM_REG0_ON ((0x1 << 0) | \
- (0x1 << 1))
- #define MCU_MISCCFG_MCU_MISC_DCM_REG0_OFF ((0x0 << 0) | \
- (0x0 << 1))
- bool dcm_mcu_misccfg_mcu_misc_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(MCU_MISC_DCM_CTRL) &
- MCU_MISCCFG_MCU_MISC_DCM_REG0_MASK) ==
- (unsigned int) MCU_MISCCFG_MCU_MISC_DCM_REG0_ON);
- return ret;
- }
- void dcm_mcu_misccfg_mcu_misc_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'mcu_misccfg_mcu_misc_dcm'" */
- reg_write(MCU_MISC_DCM_CTRL,
- (reg_read(MCU_MISC_DCM_CTRL) &
- ~MCU_MISCCFG_MCU_MISC_DCM_REG0_MASK) |
- MCU_MISCCFG_MCU_MISC_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'mcu_misccfg_mcu_misc_dcm'" */
- reg_write(MCU_MISC_DCM_CTRL,
- (reg_read(MCU_MISC_DCM_CTRL) &
- ~MCU_MISCCFG_MCU_MISC_DCM_REG0_MASK) |
- MCU_MISCCFG_MCU_MISC_DCM_REG0_OFF);
- }
- }
- #define MCU_MISC1CFG_MCSIA_DCM_REG0_MASK ((0xffff << 16))
- #define MCU_MISC1CFG_MCSIA_DCM_REG0_ON ((0xffff << 16))
- #define MCU_MISC1CFG_MCSIA_DCM_REG0_OFF ((0x0 << 16))
- bool dcm_mcu_misc1cfg_mcsia_dcm_is_on(void)
- {
- bool ret = true;
- ret &= ((reg_read(MCSIA_DCM_EN) &
- MCU_MISC1CFG_MCSIA_DCM_REG0_MASK) ==
- (unsigned int) MCU_MISC1CFG_MCSIA_DCM_REG0_ON);
- return ret;
- }
- void dcm_mcu_misc1cfg_mcsia_dcm(int on)
- {
- if (on) {
- /* TINFO = "Turn ON DCM 'mcu_misc1cfg_mcsia_dcm'" */
- reg_write(MCSIA_DCM_EN,
- (reg_read(MCSIA_DCM_EN) &
- ~MCU_MISC1CFG_MCSIA_DCM_REG0_MASK) |
- MCU_MISC1CFG_MCSIA_DCM_REG0_ON);
- } else {
- /* TINFO = "Turn OFF DCM 'mcu_misc1cfg_mcsia_dcm'" */
- reg_write(MCSIA_DCM_EN,
- (reg_read(MCSIA_DCM_EN) &
- ~MCU_MISC1CFG_MCSIA_DCM_REG0_MASK) |
- MCU_MISC1CFG_MCSIA_DCM_REG0_OFF);
- }
- }
|