1*77b55e8cSThomas Abraham #ifndef __DMC_H__ 2*77b55e8cSThomas Abraham #define __DMC_H__ 3*77b55e8cSThomas Abraham 4*77b55e8cSThomas Abraham #ifndef __ASSEMBLY__ 5*77b55e8cSThomas Abraham struct exynos4_dmc { 6*77b55e8cSThomas Abraham unsigned int concontrol; 7*77b55e8cSThomas Abraham unsigned int memcontrol; 8*77b55e8cSThomas Abraham unsigned int memconfig0; 9*77b55e8cSThomas Abraham unsigned int memconfig1; 10*77b55e8cSThomas Abraham unsigned int directcmd; 11*77b55e8cSThomas Abraham unsigned int prechconfig; 12*77b55e8cSThomas Abraham unsigned int phycontrol0; 13*77b55e8cSThomas Abraham unsigned int phycontrol1; 14*77b55e8cSThomas Abraham unsigned int phycontrol2; 15*77b55e8cSThomas Abraham unsigned int phycontrol3; 16*77b55e8cSThomas Abraham unsigned int pwrdnconfig; 17*77b55e8cSThomas Abraham unsigned char res1[0x4]; 18*77b55e8cSThomas Abraham unsigned int timingref; 19*77b55e8cSThomas Abraham unsigned int timingrow; 20*77b55e8cSThomas Abraham unsigned int timingdata; 21*77b55e8cSThomas Abraham unsigned int timingpower; 22*77b55e8cSThomas Abraham unsigned int phystatus; 23*77b55e8cSThomas Abraham unsigned int phyzqcontrol; 24*77b55e8cSThomas Abraham unsigned int chip0status; 25*77b55e8cSThomas Abraham unsigned int chip1status; 26*77b55e8cSThomas Abraham unsigned int arefstatus; 27*77b55e8cSThomas Abraham unsigned int mrstatus; 28*77b55e8cSThomas Abraham unsigned int phytest0; 29*77b55e8cSThomas Abraham unsigned int phytest1; 30*77b55e8cSThomas Abraham unsigned int qoscontrol0; 31*77b55e8cSThomas Abraham unsigned int qosconfig0; 32*77b55e8cSThomas Abraham unsigned int qoscontrol1; 33*77b55e8cSThomas Abraham unsigned int qosconfig1; 34*77b55e8cSThomas Abraham unsigned int qoscontrol2; 35*77b55e8cSThomas Abraham unsigned int qosconfig2; 36*77b55e8cSThomas Abraham unsigned int qoscontrol3; 37*77b55e8cSThomas Abraham unsigned int qosconfig3; 38*77b55e8cSThomas Abraham unsigned int qoscontrol4; 39*77b55e8cSThomas Abraham unsigned int qosconfig4; 40*77b55e8cSThomas Abraham unsigned int qoscontrol5; 41*77b55e8cSThomas Abraham unsigned int qosconfig5; 42*77b55e8cSThomas Abraham unsigned int qoscontrol6; 43*77b55e8cSThomas Abraham unsigned int qosconfig6; 44*77b55e8cSThomas Abraham unsigned int qoscontrol7; 45*77b55e8cSThomas Abraham unsigned int qosconfig7; 46*77b55e8cSThomas Abraham unsigned int qoscontrol8; 47*77b55e8cSThomas Abraham unsigned int qosconfig8; 48*77b55e8cSThomas Abraham unsigned int qoscontrol9; 49*77b55e8cSThomas Abraham unsigned int qosconfig9; 50*77b55e8cSThomas Abraham unsigned int qoscontrol10; 51*77b55e8cSThomas Abraham unsigned int qosconfig10; 52*77b55e8cSThomas Abraham unsigned int qoscontrol11; 53*77b55e8cSThomas Abraham unsigned int qosconfig11; 54*77b55e8cSThomas Abraham unsigned int qoscontrol12; 55*77b55e8cSThomas Abraham unsigned int qosconfig12; 56*77b55e8cSThomas Abraham unsigned int qoscontrol13; 57*77b55e8cSThomas Abraham unsigned int qosconfig13; 58*77b55e8cSThomas Abraham unsigned int qoscontrol14; 59*77b55e8cSThomas Abraham unsigned int qosconfig14; 60*77b55e8cSThomas Abraham unsigned int qoscontrol15; 61*77b55e8cSThomas Abraham unsigned int qosconfig15; 62*77b55e8cSThomas Abraham unsigned int qostimeout0; 63*77b55e8cSThomas Abraham unsigned int qostimeout1; 64*77b55e8cSThomas Abraham unsigned char res2[0x8]; 65*77b55e8cSThomas Abraham unsigned int ivcontrol; 66*77b55e8cSThomas Abraham unsigned char res3[0x8]; 67*77b55e8cSThomas Abraham unsigned int perevconfig; 68*77b55e8cSThomas Abraham unsigned char res4[0xDF00]; 69*77b55e8cSThomas Abraham unsigned int pmnc_ppc_a; 70*77b55e8cSThomas Abraham unsigned char res5[0xC]; 71*77b55e8cSThomas Abraham unsigned int cntens_ppc_a; 72*77b55e8cSThomas Abraham unsigned char res6[0xC]; 73*77b55e8cSThomas Abraham unsigned int cntenc_ppc_a; 74*77b55e8cSThomas Abraham unsigned char res7[0xC]; 75*77b55e8cSThomas Abraham unsigned int intens_ppc_a; 76*77b55e8cSThomas Abraham unsigned char res8[0xC]; 77*77b55e8cSThomas Abraham unsigned int intenc_ppc_a; 78*77b55e8cSThomas Abraham unsigned char res9[0xC]; 79*77b55e8cSThomas Abraham unsigned int flag_ppc_a; 80*77b55e8cSThomas Abraham unsigned char res10[0xAC]; 81*77b55e8cSThomas Abraham unsigned int ccnt_ppc_a; 82*77b55e8cSThomas Abraham unsigned char res11[0xC]; 83*77b55e8cSThomas Abraham unsigned int pmcnt0_ppc_a; 84*77b55e8cSThomas Abraham unsigned char res12[0xC]; 85*77b55e8cSThomas Abraham unsigned int pmcnt1_ppc_a; 86*77b55e8cSThomas Abraham unsigned char res13[0xC]; 87*77b55e8cSThomas Abraham unsigned int pmcnt2_ppc_a; 88*77b55e8cSThomas Abraham unsigned char res14[0xC]; 89*77b55e8cSThomas Abraham unsigned int pmcnt3_ppc_a; 90*77b55e8cSThomas Abraham unsigned char res15[0xEBC]; 91*77b55e8cSThomas Abraham unsigned int pmnc_ppc_m; 92*77b55e8cSThomas Abraham unsigned char res16[0xC]; 93*77b55e8cSThomas Abraham unsigned int cntens_ppc_m; 94*77b55e8cSThomas Abraham unsigned char res17[0xC]; 95*77b55e8cSThomas Abraham unsigned int cntenc_ppc_m; 96*77b55e8cSThomas Abraham unsigned char res18[0xC]; 97*77b55e8cSThomas Abraham unsigned int intens_ppc_m; 98*77b55e8cSThomas Abraham unsigned char res19[0xC]; 99*77b55e8cSThomas Abraham unsigned int intenc_ppc_m; 100*77b55e8cSThomas Abraham unsigned char res20[0xC]; 101*77b55e8cSThomas Abraham unsigned int flag_ppc_m; 102*77b55e8cSThomas Abraham unsigned char res21[0xAC]; 103*77b55e8cSThomas Abraham unsigned int ccnt_ppc_m; 104*77b55e8cSThomas Abraham unsigned char res22[0xC]; 105*77b55e8cSThomas Abraham unsigned int pmcnt0_ppc_m; 106*77b55e8cSThomas Abraham unsigned char res23[0xC]; 107*77b55e8cSThomas Abraham unsigned int pmcnt1_ppc_m; 108*77b55e8cSThomas Abraham unsigned char res24[0xC]; 109*77b55e8cSThomas Abraham unsigned int pmcnt2_ppc_m; 110*77b55e8cSThomas Abraham unsigned char res25[0xC]; 111*77b55e8cSThomas Abraham unsigned int pmcnt3_ppc_m; 112*77b55e8cSThomas Abraham }; 113*77b55e8cSThomas Abraham 114*77b55e8cSThomas Abraham struct exynos5_dmc { 115*77b55e8cSThomas Abraham unsigned int concontrol; 116*77b55e8cSThomas Abraham unsigned int memcontrol; 117*77b55e8cSThomas Abraham unsigned int memconfig0; 118*77b55e8cSThomas Abraham unsigned int memconfig1; 119*77b55e8cSThomas Abraham unsigned int directcmd; 120*77b55e8cSThomas Abraham unsigned int prechconfig; 121*77b55e8cSThomas Abraham unsigned int phycontrol0; 122*77b55e8cSThomas Abraham unsigned char res1[0xc]; 123*77b55e8cSThomas Abraham unsigned int pwrdnconfig; 124*77b55e8cSThomas Abraham unsigned int timingpzq; 125*77b55e8cSThomas Abraham unsigned int timingref; 126*77b55e8cSThomas Abraham unsigned int timingrow; 127*77b55e8cSThomas Abraham unsigned int timingdata; 128*77b55e8cSThomas Abraham unsigned int timingpower; 129*77b55e8cSThomas Abraham unsigned int phystatus; 130*77b55e8cSThomas Abraham unsigned char res2[0x4]; 131*77b55e8cSThomas Abraham unsigned int chipstatus_ch0; 132*77b55e8cSThomas Abraham unsigned int chipstatus_ch1; 133*77b55e8cSThomas Abraham unsigned char res3[0x4]; 134*77b55e8cSThomas Abraham unsigned int mrstatus; 135*77b55e8cSThomas Abraham unsigned char res4[0x8]; 136*77b55e8cSThomas Abraham unsigned int qoscontrol0; 137*77b55e8cSThomas Abraham unsigned char resr5[0x4]; 138*77b55e8cSThomas Abraham unsigned int qoscontrol1; 139*77b55e8cSThomas Abraham unsigned char res6[0x4]; 140*77b55e8cSThomas Abraham unsigned int qoscontrol2; 141*77b55e8cSThomas Abraham unsigned char res7[0x4]; 142*77b55e8cSThomas Abraham unsigned int qoscontrol3; 143*77b55e8cSThomas Abraham unsigned char res8[0x4]; 144*77b55e8cSThomas Abraham unsigned int qoscontrol4; 145*77b55e8cSThomas Abraham unsigned char res9[0x4]; 146*77b55e8cSThomas Abraham unsigned int qoscontrol5; 147*77b55e8cSThomas Abraham unsigned char res10[0x4]; 148*77b55e8cSThomas Abraham unsigned int qoscontrol6; 149*77b55e8cSThomas Abraham unsigned char res11[0x4]; 150*77b55e8cSThomas Abraham unsigned int qoscontrol7; 151*77b55e8cSThomas Abraham unsigned char res12[0x4]; 152*77b55e8cSThomas Abraham unsigned int qoscontrol8; 153*77b55e8cSThomas Abraham unsigned char res13[0x4]; 154*77b55e8cSThomas Abraham unsigned int qoscontrol9; 155*77b55e8cSThomas Abraham unsigned char res14[0x4]; 156*77b55e8cSThomas Abraham unsigned int qoscontrol10; 157*77b55e8cSThomas Abraham unsigned char res15[0x4]; 158*77b55e8cSThomas Abraham unsigned int qoscontrol11; 159*77b55e8cSThomas Abraham unsigned char res16[0x4]; 160*77b55e8cSThomas Abraham unsigned int qoscontrol12; 161*77b55e8cSThomas Abraham unsigned char res17[0x4]; 162*77b55e8cSThomas Abraham unsigned int qoscontrol13; 163*77b55e8cSThomas Abraham unsigned char res18[0x4]; 164*77b55e8cSThomas Abraham unsigned int qoscontrol14; 165*77b55e8cSThomas Abraham unsigned char res19[0x4]; 166*77b55e8cSThomas Abraham unsigned int qoscontrol15; 167*77b55e8cSThomas Abraham unsigned char res20[0x14]; 168*77b55e8cSThomas Abraham unsigned int ivcontrol; 169*77b55e8cSThomas Abraham unsigned int wrtra_config; 170*77b55e8cSThomas Abraham unsigned int rdlvl_config; 171*77b55e8cSThomas Abraham unsigned char res21[0x8]; 172*77b55e8cSThomas Abraham unsigned int brbrsvconfig; 173*77b55e8cSThomas Abraham unsigned int brbqosconfig; 174*77b55e8cSThomas Abraham unsigned int membaseconfig0; 175*77b55e8cSThomas Abraham unsigned int membaseconfig1; 176*77b55e8cSThomas Abraham unsigned char res22[0xc]; 177*77b55e8cSThomas Abraham unsigned int wrlvl_config; 178*77b55e8cSThomas Abraham unsigned char res23[0xc]; 179*77b55e8cSThomas Abraham unsigned int perevcontrol; 180*77b55e8cSThomas Abraham unsigned int perev0config; 181*77b55e8cSThomas Abraham unsigned int perev1config; 182*77b55e8cSThomas Abraham unsigned int perev2config; 183*77b55e8cSThomas Abraham unsigned int perev3config; 184*77b55e8cSThomas Abraham unsigned char res24[0xdebc]; 185*77b55e8cSThomas Abraham unsigned int pmnc_ppc_a; 186*77b55e8cSThomas Abraham unsigned char res25[0xc]; 187*77b55e8cSThomas Abraham unsigned int cntens_ppc_a; 188*77b55e8cSThomas Abraham unsigned char res26[0xc]; 189*77b55e8cSThomas Abraham unsigned int cntenc_ppc_a; 190*77b55e8cSThomas Abraham unsigned char res27[0xc]; 191*77b55e8cSThomas Abraham unsigned int intens_ppc_a; 192*77b55e8cSThomas Abraham unsigned char res28[0xc]; 193*77b55e8cSThomas Abraham unsigned int intenc_ppc_a; 194*77b55e8cSThomas Abraham unsigned char res29[0xc]; 195*77b55e8cSThomas Abraham unsigned int flag_ppc_a; 196*77b55e8cSThomas Abraham unsigned char res30[0xac]; 197*77b55e8cSThomas Abraham unsigned int ccnt_ppc_a; 198*77b55e8cSThomas Abraham unsigned char res31[0xc]; 199*77b55e8cSThomas Abraham unsigned int pmcnt0_ppc_a; 200*77b55e8cSThomas Abraham unsigned char res32[0xc]; 201*77b55e8cSThomas Abraham unsigned int pmcnt1_ppc_a; 202*77b55e8cSThomas Abraham unsigned char res33[0xc]; 203*77b55e8cSThomas Abraham unsigned int pmcnt2_ppc_a; 204*77b55e8cSThomas Abraham unsigned char res34[0xc]; 205*77b55e8cSThomas Abraham unsigned int pmcnt3_ppc_a; 206*77b55e8cSThomas Abraham }; 207*77b55e8cSThomas Abraham 208*77b55e8cSThomas Abraham struct exynos5420_dmc { 209*77b55e8cSThomas Abraham unsigned int concontrol; 210*77b55e8cSThomas Abraham unsigned int memcontrol; 211*77b55e8cSThomas Abraham unsigned int cgcontrol; 212*77b55e8cSThomas Abraham unsigned char res500[0x4]; 213*77b55e8cSThomas Abraham unsigned int directcmd; 214*77b55e8cSThomas Abraham unsigned int prechconfig0; 215*77b55e8cSThomas Abraham unsigned int phycontrol0; 216*77b55e8cSThomas Abraham unsigned int prechconfig1; 217*77b55e8cSThomas Abraham unsigned char res1[0x8]; 218*77b55e8cSThomas Abraham unsigned int pwrdnconfig; 219*77b55e8cSThomas Abraham unsigned int timingpzq; 220*77b55e8cSThomas Abraham unsigned int timingref; 221*77b55e8cSThomas Abraham unsigned int timingrow0; 222*77b55e8cSThomas Abraham unsigned int timingdata0; 223*77b55e8cSThomas Abraham unsigned int timingpower0; 224*77b55e8cSThomas Abraham unsigned int phystatus; 225*77b55e8cSThomas Abraham unsigned int etctiming; 226*77b55e8cSThomas Abraham unsigned int chipstatus; 227*77b55e8cSThomas Abraham unsigned char res3[0x8]; 228*77b55e8cSThomas Abraham unsigned int mrstatus; 229*77b55e8cSThomas Abraham unsigned char res4[0x8]; 230*77b55e8cSThomas Abraham unsigned int qoscontrol0; 231*77b55e8cSThomas Abraham unsigned char resr5[0x4]; 232*77b55e8cSThomas Abraham unsigned int qoscontrol1; 233*77b55e8cSThomas Abraham unsigned char res6[0x4]; 234*77b55e8cSThomas Abraham unsigned int qoscontrol2; 235*77b55e8cSThomas Abraham unsigned char res7[0x4]; 236*77b55e8cSThomas Abraham unsigned int qoscontrol3; 237*77b55e8cSThomas Abraham unsigned char res8[0x4]; 238*77b55e8cSThomas Abraham unsigned int qoscontrol4; 239*77b55e8cSThomas Abraham unsigned char res9[0x4]; 240*77b55e8cSThomas Abraham unsigned int qoscontrol5; 241*77b55e8cSThomas Abraham unsigned char res10[0x4]; 242*77b55e8cSThomas Abraham unsigned int qoscontrol6; 243*77b55e8cSThomas Abraham unsigned char res11[0x4]; 244*77b55e8cSThomas Abraham unsigned int qoscontrol7; 245*77b55e8cSThomas Abraham unsigned char res12[0x4]; 246*77b55e8cSThomas Abraham unsigned int qoscontrol8; 247*77b55e8cSThomas Abraham unsigned char res13[0x4]; 248*77b55e8cSThomas Abraham unsigned int qoscontrol9; 249*77b55e8cSThomas Abraham unsigned char res14[0x4]; 250*77b55e8cSThomas Abraham unsigned int qoscontrol10; 251*77b55e8cSThomas Abraham unsigned char res15[0x4]; 252*77b55e8cSThomas Abraham unsigned int qoscontrol11; 253*77b55e8cSThomas Abraham unsigned char res16[0x4]; 254*77b55e8cSThomas Abraham unsigned int qoscontrol12; 255*77b55e8cSThomas Abraham unsigned char res17[0x4]; 256*77b55e8cSThomas Abraham unsigned int qoscontrol13; 257*77b55e8cSThomas Abraham unsigned char res18[0x4]; 258*77b55e8cSThomas Abraham unsigned int qoscontrol14; 259*77b55e8cSThomas Abraham unsigned char res19[0x4]; 260*77b55e8cSThomas Abraham unsigned int qoscontrol15; 261*77b55e8cSThomas Abraham unsigned char res20[0x4]; 262*77b55e8cSThomas Abraham unsigned int timing_set_sw; 263*77b55e8cSThomas Abraham unsigned int timingrow1; 264*77b55e8cSThomas Abraham unsigned int timingdata1; 265*77b55e8cSThomas Abraham unsigned int timingpower1; 266*77b55e8cSThomas Abraham unsigned char res300[0x4]; 267*77b55e8cSThomas Abraham unsigned int wrtra_config; 268*77b55e8cSThomas Abraham unsigned int rdlvl_config; 269*77b55e8cSThomas Abraham unsigned char res21[0x4]; 270*77b55e8cSThomas Abraham unsigned int brbrsvcontrol; 271*77b55e8cSThomas Abraham unsigned int brbrsvconfig; 272*77b55e8cSThomas Abraham unsigned int brbqosconfig; 273*77b55e8cSThomas Abraham unsigned char res301[0x14]; 274*77b55e8cSThomas Abraham unsigned int wrlvl_config0; 275*77b55e8cSThomas Abraham unsigned int wrlvl_config1; 276*77b55e8cSThomas Abraham unsigned int wrlvl_status; 277*77b55e8cSThomas Abraham unsigned char res23[0x4]; 278*77b55e8cSThomas Abraham unsigned int ppcclockon; 279*77b55e8cSThomas Abraham unsigned int perevconfig0; 280*77b55e8cSThomas Abraham unsigned int perevconfig1; 281*77b55e8cSThomas Abraham unsigned int perevconfig2; 282*77b55e8cSThomas Abraham unsigned int perevconfig3; 283*77b55e8cSThomas Abraham unsigned char res24[0xc]; 284*77b55e8cSThomas Abraham unsigned int control_io_rdata; 285*77b55e8cSThomas Abraham unsigned char res240[0xc]; 286*77b55e8cSThomas Abraham unsigned int cacal_config0; 287*77b55e8cSThomas Abraham unsigned int cacal_config1; 288*77b55e8cSThomas Abraham unsigned int cacal_status; 289*77b55e8cSThomas Abraham unsigned char res302[0xa4]; 290*77b55e8cSThomas Abraham unsigned int bp_control0; 291*77b55e8cSThomas Abraham unsigned int bp_config0_r; 292*77b55e8cSThomas Abraham unsigned int bp_config0_w; 293*77b55e8cSThomas Abraham unsigned char res303[0x4]; 294*77b55e8cSThomas Abraham unsigned int bp_control1; 295*77b55e8cSThomas Abraham unsigned int bp_config1_r; 296*77b55e8cSThomas Abraham unsigned int bp_config1_w; 297*77b55e8cSThomas Abraham unsigned char res304[0x4]; 298*77b55e8cSThomas Abraham unsigned int bp_control2; 299*77b55e8cSThomas Abraham unsigned int bp_config2_r; 300*77b55e8cSThomas Abraham unsigned int bp_config2_w; 301*77b55e8cSThomas Abraham unsigned char res305[0x4]; 302*77b55e8cSThomas Abraham unsigned int bp_control3; 303*77b55e8cSThomas Abraham unsigned int bp_config3_r; 304*77b55e8cSThomas Abraham unsigned int bp_config3_w; 305*77b55e8cSThomas Abraham unsigned char res306[0xddb4]; 306*77b55e8cSThomas Abraham unsigned int pmnc_ppc; 307*77b55e8cSThomas Abraham unsigned char res25[0xc]; 308*77b55e8cSThomas Abraham unsigned int cntens_ppc; 309*77b55e8cSThomas Abraham unsigned char res26[0xc]; 310*77b55e8cSThomas Abraham unsigned int cntenc_ppc; 311*77b55e8cSThomas Abraham unsigned char res27[0xc]; 312*77b55e8cSThomas Abraham unsigned int intens_ppc; 313*77b55e8cSThomas Abraham unsigned char res28[0xc]; 314*77b55e8cSThomas Abraham unsigned int intenc_ppc; 315*77b55e8cSThomas Abraham unsigned char res29[0xc]; 316*77b55e8cSThomas Abraham unsigned int flag_ppc; 317*77b55e8cSThomas Abraham unsigned char res30[0xac]; 318*77b55e8cSThomas Abraham unsigned int ccnt_ppc; 319*77b55e8cSThomas Abraham unsigned char res31[0xc]; 320*77b55e8cSThomas Abraham unsigned int pmcnt0_ppc; 321*77b55e8cSThomas Abraham unsigned char res32[0xc]; 322*77b55e8cSThomas Abraham unsigned int pmcnt1_ppc; 323*77b55e8cSThomas Abraham unsigned char res33[0xc]; 324*77b55e8cSThomas Abraham unsigned int pmcnt2_ppc; 325*77b55e8cSThomas Abraham unsigned char res34[0xc]; 326*77b55e8cSThomas Abraham unsigned int pmcnt3_ppc; 327*77b55e8cSThomas Abraham }; 328*77b55e8cSThomas Abraham 329*77b55e8cSThomas Abraham struct exynos5_phy_control { 330*77b55e8cSThomas Abraham unsigned int phy_con0; 331*77b55e8cSThomas Abraham unsigned int phy_con1; 332*77b55e8cSThomas Abraham unsigned int phy_con2; 333*77b55e8cSThomas Abraham unsigned int phy_con3; 334*77b55e8cSThomas Abraham unsigned int phy_con4; 335*77b55e8cSThomas Abraham unsigned char res1[4]; 336*77b55e8cSThomas Abraham unsigned int phy_con6; 337*77b55e8cSThomas Abraham unsigned char res2[4]; 338*77b55e8cSThomas Abraham unsigned int phy_con8; 339*77b55e8cSThomas Abraham unsigned int phy_con9; 340*77b55e8cSThomas Abraham unsigned int phy_con10; 341*77b55e8cSThomas Abraham unsigned char res3[4]; 342*77b55e8cSThomas Abraham unsigned int phy_con12; 343*77b55e8cSThomas Abraham unsigned int phy_con13; 344*77b55e8cSThomas Abraham unsigned int phy_con14; 345*77b55e8cSThomas Abraham unsigned int phy_con15; 346*77b55e8cSThomas Abraham unsigned int phy_con16; 347*77b55e8cSThomas Abraham unsigned char res4[4]; 348*77b55e8cSThomas Abraham unsigned int phy_con17; 349*77b55e8cSThomas Abraham unsigned int phy_con18; 350*77b55e8cSThomas Abraham unsigned int phy_con19; 351*77b55e8cSThomas Abraham unsigned int phy_con20; 352*77b55e8cSThomas Abraham unsigned int phy_con21; 353*77b55e8cSThomas Abraham unsigned int phy_con22; 354*77b55e8cSThomas Abraham unsigned int phy_con23; 355*77b55e8cSThomas Abraham unsigned int phy_con24; 356*77b55e8cSThomas Abraham unsigned int phy_con25; 357*77b55e8cSThomas Abraham unsigned int phy_con26; 358*77b55e8cSThomas Abraham unsigned int phy_con27; 359*77b55e8cSThomas Abraham unsigned int phy_con28; 360*77b55e8cSThomas Abraham unsigned int phy_con29; 361*77b55e8cSThomas Abraham unsigned int phy_con30; 362*77b55e8cSThomas Abraham unsigned int phy_con31; 363*77b55e8cSThomas Abraham unsigned int phy_con32; 364*77b55e8cSThomas Abraham unsigned int phy_con33; 365*77b55e8cSThomas Abraham unsigned int phy_con34; 366*77b55e8cSThomas Abraham unsigned int phy_con35; 367*77b55e8cSThomas Abraham unsigned int phy_con36; 368*77b55e8cSThomas Abraham unsigned int phy_con37; 369*77b55e8cSThomas Abraham unsigned int phy_con38; 370*77b55e8cSThomas Abraham unsigned int phy_con39; 371*77b55e8cSThomas Abraham unsigned int phy_con40; 372*77b55e8cSThomas Abraham unsigned int phy_con41; 373*77b55e8cSThomas Abraham unsigned int phy_con42; 374*77b55e8cSThomas Abraham }; 375*77b55e8cSThomas Abraham 376*77b55e8cSThomas Abraham struct exynos5420_phy_control { 377*77b55e8cSThomas Abraham unsigned int phy_con0; 378*77b55e8cSThomas Abraham unsigned int phy_con1; 379*77b55e8cSThomas Abraham unsigned int phy_con2; 380*77b55e8cSThomas Abraham unsigned int phy_con3; 381*77b55e8cSThomas Abraham unsigned int phy_con4; 382*77b55e8cSThomas Abraham unsigned int phy_con5; 383*77b55e8cSThomas Abraham unsigned int phy_con6; 384*77b55e8cSThomas Abraham unsigned char res2[0x4]; 385*77b55e8cSThomas Abraham unsigned int phy_con8; 386*77b55e8cSThomas Abraham unsigned char res5[0x4]; 387*77b55e8cSThomas Abraham unsigned int phy_con10; 388*77b55e8cSThomas Abraham unsigned int phy_con11; 389*77b55e8cSThomas Abraham unsigned int phy_con12; 390*77b55e8cSThomas Abraham unsigned int phy_con13; 391*77b55e8cSThomas Abraham unsigned int phy_con14; 392*77b55e8cSThomas Abraham unsigned int phy_con15; 393*77b55e8cSThomas Abraham unsigned int phy_con16; 394*77b55e8cSThomas Abraham unsigned char res4[0x4]; 395*77b55e8cSThomas Abraham unsigned int phy_con17; 396*77b55e8cSThomas Abraham unsigned int phy_con18; 397*77b55e8cSThomas Abraham unsigned int phy_con19; 398*77b55e8cSThomas Abraham unsigned int phy_con20; 399*77b55e8cSThomas Abraham unsigned int phy_con21; 400*77b55e8cSThomas Abraham unsigned int phy_con22; 401*77b55e8cSThomas Abraham unsigned int phy_con23; 402*77b55e8cSThomas Abraham unsigned int phy_con24; 403*77b55e8cSThomas Abraham unsigned int phy_con25; 404*77b55e8cSThomas Abraham unsigned int phy_con26; 405*77b55e8cSThomas Abraham unsigned int phy_con27; 406*77b55e8cSThomas Abraham unsigned int phy_con28; 407*77b55e8cSThomas Abraham unsigned int phy_con29; 408*77b55e8cSThomas Abraham unsigned int phy_con30; 409*77b55e8cSThomas Abraham unsigned int phy_con31; 410*77b55e8cSThomas Abraham unsigned int phy_con32; 411*77b55e8cSThomas Abraham unsigned int phy_con33; 412*77b55e8cSThomas Abraham unsigned int phy_con34; 413*77b55e8cSThomas Abraham unsigned char res6[0x8]; 414*77b55e8cSThomas Abraham unsigned int phy_con37; 415*77b55e8cSThomas Abraham unsigned char res7[0x4]; 416*77b55e8cSThomas Abraham unsigned int phy_con39; 417*77b55e8cSThomas Abraham unsigned int phy_con40; 418*77b55e8cSThomas Abraham unsigned int phy_con41; 419*77b55e8cSThomas Abraham unsigned int phy_con42; 420*77b55e8cSThomas Abraham }; 421*77b55e8cSThomas Abraham 422*77b55e8cSThomas Abraham struct exynos5420_tzasc { 423*77b55e8cSThomas Abraham unsigned char res1[0xf00]; 424*77b55e8cSThomas Abraham unsigned int membaseconfig0; 425*77b55e8cSThomas Abraham unsigned int membaseconfig1; 426*77b55e8cSThomas Abraham unsigned char res2[0x8]; 427*77b55e8cSThomas Abraham unsigned int memconfig0; 428*77b55e8cSThomas Abraham unsigned int memconfig1; 429*77b55e8cSThomas Abraham }; 430*77b55e8cSThomas Abraham 431*77b55e8cSThomas Abraham enum ddr_mode { 432*77b55e8cSThomas Abraham DDR_MODE_DDR2, 433*77b55e8cSThomas Abraham DDR_MODE_DDR3, 434*77b55e8cSThomas Abraham DDR_MODE_LPDDR2, 435*77b55e8cSThomas Abraham DDR_MODE_LPDDR3, 436*77b55e8cSThomas Abraham 437*77b55e8cSThomas Abraham DDR_MODE_COUNT, 438*77b55e8cSThomas Abraham }; 439*77b55e8cSThomas Abraham 440*77b55e8cSThomas Abraham enum mem_manuf { 441*77b55e8cSThomas Abraham MEM_MANUF_AUTODETECT, 442*77b55e8cSThomas Abraham MEM_MANUF_ELPIDA, 443*77b55e8cSThomas Abraham MEM_MANUF_SAMSUNG, 444*77b55e8cSThomas Abraham 445*77b55e8cSThomas Abraham MEM_MANUF_COUNT, 446*77b55e8cSThomas Abraham }; 447*77b55e8cSThomas Abraham 448*77b55e8cSThomas Abraham /* CONCONTROL register fields */ 449*77b55e8cSThomas Abraham #define CONCONTROL_DFI_INIT_START_SHIFT 28 450*77b55e8cSThomas Abraham #define CONCONTROL_RD_FETCH_SHIFT 12 451*77b55e8cSThomas Abraham #define CONCONTROL_RD_FETCH_MASK (0x7 << CONCONTROL_RD_FETCH_SHIFT) 452*77b55e8cSThomas Abraham #define CONCONTROL_AREF_EN_SHIFT 5 453*77b55e8cSThomas Abraham #define CONCONTROL_UPDATE_MODE (1 << 3) 454*77b55e8cSThomas Abraham 455*77b55e8cSThomas Abraham /* PRECHCONFIG register field */ 456*77b55e8cSThomas Abraham #define PRECHCONFIG_TP_CNT_SHIFT 24 457*77b55e8cSThomas Abraham 458*77b55e8cSThomas Abraham /* PWRDNCONFIG register field */ 459*77b55e8cSThomas Abraham #define PWRDNCONFIG_DPWRDN_CYC_SHIFT 0 460*77b55e8cSThomas Abraham #define PWRDNCONFIG_DSREF_CYC_SHIFT 16 461*77b55e8cSThomas Abraham 462*77b55e8cSThomas Abraham /* PHY_CON0 register fields */ 463*77b55e8cSThomas Abraham #define PHY_CON0_T_WRRDCMD_SHIFT 17 464*77b55e8cSThomas Abraham #define PHY_CON0_T_WRRDCMD_MASK (0x7 << PHY_CON0_T_WRRDCMD_SHIFT) 465*77b55e8cSThomas Abraham #define PHY_CON0_CTRL_DDR_MODE_SHIFT 11 466*77b55e8cSThomas Abraham #define PHY_CON0_CTRL_DDR_MODE_MASK 0x3 467*77b55e8cSThomas Abraham 468*77b55e8cSThomas Abraham /* PHY_CON1 register fields */ 469*77b55e8cSThomas Abraham #define PHY_CON1_RDLVL_RDDATA_ADJ_SHIFT 0 470*77b55e8cSThomas Abraham 471*77b55e8cSThomas Abraham /* PHY_CON4 rgister fields */ 472*77b55e8cSThomas Abraham #define PHY_CON10_CTRL_OFFSETR3 (1 << 24) 473*77b55e8cSThomas Abraham 474*77b55e8cSThomas Abraham /* PHY_CON12 register fields */ 475*77b55e8cSThomas Abraham #define PHY_CON12_CTRL_START_POINT_SHIFT 24 476*77b55e8cSThomas Abraham #define PHY_CON12_CTRL_INC_SHIFT 16 477*77b55e8cSThomas Abraham #define PHY_CON12_CTRL_FORCE_SHIFT 8 478*77b55e8cSThomas Abraham #define PHY_CON12_CTRL_START_SHIFT 6 479*77b55e8cSThomas Abraham #define PHY_CON12_CTRL_START_MASK (1 << PHY_CON12_CTRL_START_SHIFT) 480*77b55e8cSThomas Abraham #define PHY_CON12_CTRL_DLL_ON_SHIFT 5 481*77b55e8cSThomas Abraham #define PHY_CON12_CTRL_DLL_ON_MASK (1 << PHY_CON12_CTRL_DLL_ON_SHIFT) 482*77b55e8cSThomas Abraham #define PHY_CON12_CTRL_REF_SHIFT 1 483*77b55e8cSThomas Abraham 484*77b55e8cSThomas Abraham /* PHY_CON16 register fields */ 485*77b55e8cSThomas Abraham #define PHY_CON16_ZQ_MODE_DDS_SHIFT 24 486*77b55e8cSThomas Abraham #define PHY_CON16_ZQ_MODE_DDS_MASK (0x7 << PHY_CON16_ZQ_MODE_DDS_SHIFT) 487*77b55e8cSThomas Abraham 488*77b55e8cSThomas Abraham #define PHY_CON16_ZQ_MODE_TERM_SHIFT 21 489*77b55e8cSThomas Abraham #define PHY_CON16_ZQ_MODE_TERM_MASK (0x7 << PHY_CON16_ZQ_MODE_TERM_SHIFT) 490*77b55e8cSThomas Abraham 491*77b55e8cSThomas Abraham #define PHY_CON16_ZQ_MODE_NOTERM_MASK (1 << 19) 492*77b55e8cSThomas Abraham 493*77b55e8cSThomas Abraham /* PHY_CON42 register fields */ 494*77b55e8cSThomas Abraham #define PHY_CON42_CTRL_BSTLEN_SHIFT 8 495*77b55e8cSThomas Abraham #define PHY_CON42_CTRL_BSTLEN_MASK (0xff << PHY_CON42_CTRL_BSTLEN_SHIFT) 496*77b55e8cSThomas Abraham 497*77b55e8cSThomas Abraham #define PHY_CON42_CTRL_RDLAT_SHIFT 0 498*77b55e8cSThomas Abraham #define PHY_CON42_CTRL_RDLAT_MASK (0x1f << PHY_CON42_CTRL_RDLAT_SHIFT) 499*77b55e8cSThomas Abraham 500*77b55e8cSThomas Abraham #endif 501*77b55e8cSThomas Abraham #endif 502