123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497 |
- #ifndef __DMC_H__
- #define __DMC_H__
- #ifndef __ASSEMBLY__
- struct exynos4_dmc {
- unsigned int concontrol;
- unsigned int memcontrol;
- unsigned int memconfig0;
- unsigned int memconfig1;
- unsigned int directcmd;
- unsigned int prechconfig;
- unsigned int phycontrol0;
- unsigned int phycontrol1;
- unsigned int phycontrol2;
- unsigned int phycontrol3;
- unsigned int pwrdnconfig;
- unsigned char res1[0x4];
- unsigned int timingref;
- unsigned int timingrow;
- unsigned int timingdata;
- unsigned int timingpower;
- unsigned int phystatus;
- unsigned int phyzqcontrol;
- unsigned int chip0status;
- unsigned int chip1status;
- unsigned int arefstatus;
- unsigned int mrstatus;
- unsigned int phytest0;
- unsigned int phytest1;
- unsigned int qoscontrol0;
- unsigned int qosconfig0;
- unsigned int qoscontrol1;
- unsigned int qosconfig1;
- unsigned int qoscontrol2;
- unsigned int qosconfig2;
- unsigned int qoscontrol3;
- unsigned int qosconfig3;
- unsigned int qoscontrol4;
- unsigned int qosconfig4;
- unsigned int qoscontrol5;
- unsigned int qosconfig5;
- unsigned int qoscontrol6;
- unsigned int qosconfig6;
- unsigned int qoscontrol7;
- unsigned int qosconfig7;
- unsigned int qoscontrol8;
- unsigned int qosconfig8;
- unsigned int qoscontrol9;
- unsigned int qosconfig9;
- unsigned int qoscontrol10;
- unsigned int qosconfig10;
- unsigned int qoscontrol11;
- unsigned int qosconfig11;
- unsigned int qoscontrol12;
- unsigned int qosconfig12;
- unsigned int qoscontrol13;
- unsigned int qosconfig13;
- unsigned int qoscontrol14;
- unsigned int qosconfig14;
- unsigned int qoscontrol15;
- unsigned int qosconfig15;
- unsigned int qostimeout0;
- unsigned int qostimeout1;
- unsigned char res2[0x8];
- unsigned int ivcontrol;
- unsigned char res3[0x8];
- unsigned int perevconfig;
- unsigned char res4[0xDF00];
- unsigned int pmnc_ppc_a;
- unsigned char res5[0xC];
- unsigned int cntens_ppc_a;
- unsigned char res6[0xC];
- unsigned int cntenc_ppc_a;
- unsigned char res7[0xC];
- unsigned int intens_ppc_a;
- unsigned char res8[0xC];
- unsigned int intenc_ppc_a;
- unsigned char res9[0xC];
- unsigned int flag_ppc_a;
- unsigned char res10[0xAC];
- unsigned int ccnt_ppc_a;
- unsigned char res11[0xC];
- unsigned int pmcnt0_ppc_a;
- unsigned char res12[0xC];
- unsigned int pmcnt1_ppc_a;
- unsigned char res13[0xC];
- unsigned int pmcnt2_ppc_a;
- unsigned char res14[0xC];
- unsigned int pmcnt3_ppc_a;
- unsigned char res15[0xEBC];
- unsigned int pmnc_ppc_m;
- unsigned char res16[0xC];
- unsigned int cntens_ppc_m;
- unsigned char res17[0xC];
- unsigned int cntenc_ppc_m;
- unsigned char res18[0xC];
- unsigned int intens_ppc_m;
- unsigned char res19[0xC];
- unsigned int intenc_ppc_m;
- unsigned char res20[0xC];
- unsigned int flag_ppc_m;
- unsigned char res21[0xAC];
- unsigned int ccnt_ppc_m;
- unsigned char res22[0xC];
- unsigned int pmcnt0_ppc_m;
- unsigned char res23[0xC];
- unsigned int pmcnt1_ppc_m;
- unsigned char res24[0xC];
- unsigned int pmcnt2_ppc_m;
- unsigned char res25[0xC];
- unsigned int pmcnt3_ppc_m;
- };
- struct exynos5_dmc {
- unsigned int concontrol;
- unsigned int memcontrol;
- unsigned int memconfig0;
- unsigned int memconfig1;
- unsigned int directcmd;
- unsigned int prechconfig;
- unsigned int phycontrol0;
- unsigned char res1[0xc];
- unsigned int pwrdnconfig;
- unsigned int timingpzq;
- unsigned int timingref;
- unsigned int timingrow;
- unsigned int timingdata;
- unsigned int timingpower;
- unsigned int phystatus;
- unsigned char res2[0x4];
- unsigned int chipstatus_ch0;
- unsigned int chipstatus_ch1;
- unsigned char res3[0x4];
- unsigned int mrstatus;
- unsigned char res4[0x8];
- unsigned int qoscontrol0;
- unsigned char resr5[0x4];
- unsigned int qoscontrol1;
- unsigned char res6[0x4];
- unsigned int qoscontrol2;
- unsigned char res7[0x4];
- unsigned int qoscontrol3;
- unsigned char res8[0x4];
- unsigned int qoscontrol4;
- unsigned char res9[0x4];
- unsigned int qoscontrol5;
- unsigned char res10[0x4];
- unsigned int qoscontrol6;
- unsigned char res11[0x4];
- unsigned int qoscontrol7;
- unsigned char res12[0x4];
- unsigned int qoscontrol8;
- unsigned char res13[0x4];
- unsigned int qoscontrol9;
- unsigned char res14[0x4];
- unsigned int qoscontrol10;
- unsigned char res15[0x4];
- unsigned int qoscontrol11;
- unsigned char res16[0x4];
- unsigned int qoscontrol12;
- unsigned char res17[0x4];
- unsigned int qoscontrol13;
- unsigned char res18[0x4];
- unsigned int qoscontrol14;
- unsigned char res19[0x4];
- unsigned int qoscontrol15;
- unsigned char res20[0x14];
- unsigned int ivcontrol;
- unsigned int wrtra_config;
- unsigned int rdlvl_config;
- unsigned char res21[0x8];
- unsigned int brbrsvconfig;
- unsigned int brbqosconfig;
- unsigned int membaseconfig0;
- unsigned int membaseconfig1;
- unsigned char res22[0xc];
- unsigned int wrlvl_config;
- unsigned char res23[0xc];
- unsigned int perevcontrol;
- unsigned int perev0config;
- unsigned int perev1config;
- unsigned int perev2config;
- unsigned int perev3config;
- unsigned char res24[0xdebc];
- unsigned int pmnc_ppc_a;
- unsigned char res25[0xc];
- unsigned int cntens_ppc_a;
- unsigned char res26[0xc];
- unsigned int cntenc_ppc_a;
- unsigned char res27[0xc];
- unsigned int intens_ppc_a;
- unsigned char res28[0xc];
- unsigned int intenc_ppc_a;
- unsigned char res29[0xc];
- unsigned int flag_ppc_a;
- unsigned char res30[0xac];
- unsigned int ccnt_ppc_a;
- unsigned char res31[0xc];
- unsigned int pmcnt0_ppc_a;
- unsigned char res32[0xc];
- unsigned int pmcnt1_ppc_a;
- unsigned char res33[0xc];
- unsigned int pmcnt2_ppc_a;
- unsigned char res34[0xc];
- unsigned int pmcnt3_ppc_a;
- };
- struct exynos5420_dmc {
- unsigned int concontrol;
- unsigned int memcontrol;
- unsigned int cgcontrol;
- unsigned char res500[0x4];
- unsigned int directcmd;
- unsigned int prechconfig0;
- unsigned int phycontrol0;
- unsigned int prechconfig1;
- unsigned char res1[0x8];
- unsigned int pwrdnconfig;
- unsigned int timingpzq;
- unsigned int timingref;
- unsigned int timingrow0;
- unsigned int timingdata0;
- unsigned int timingpower0;
- unsigned int phystatus;
- unsigned int etctiming;
- unsigned int chipstatus;
- unsigned char res3[0x8];
- unsigned int mrstatus;
- unsigned char res4[0x8];
- unsigned int qoscontrol0;
- unsigned char resr5[0x4];
- unsigned int qoscontrol1;
- unsigned char res6[0x4];
- unsigned int qoscontrol2;
- unsigned char res7[0x4];
- unsigned int qoscontrol3;
- unsigned char res8[0x4];
- unsigned int qoscontrol4;
- unsigned char res9[0x4];
- unsigned int qoscontrol5;
- unsigned char res10[0x4];
- unsigned int qoscontrol6;
- unsigned char res11[0x4];
- unsigned int qoscontrol7;
- unsigned char res12[0x4];
- unsigned int qoscontrol8;
- unsigned char res13[0x4];
- unsigned int qoscontrol9;
- unsigned char res14[0x4];
- unsigned int qoscontrol10;
- unsigned char res15[0x4];
- unsigned int qoscontrol11;
- unsigned char res16[0x4];
- unsigned int qoscontrol12;
- unsigned char res17[0x4];
- unsigned int qoscontrol13;
- unsigned char res18[0x4];
- unsigned int qoscontrol14;
- unsigned char res19[0x4];
- unsigned int qoscontrol15;
- unsigned char res20[0x4];
- unsigned int timing_set_sw;
- unsigned int timingrow1;
- unsigned int timingdata1;
- unsigned int timingpower1;
- unsigned char res300[0x4];
- unsigned int wrtra_config;
- unsigned int rdlvl_config;
- unsigned char res21[0x4];
- unsigned int brbrsvcontrol;
- unsigned int brbrsvconfig;
- unsigned int brbqosconfig;
- unsigned char res301[0x14];
- unsigned int wrlvl_config0;
- unsigned int wrlvl_config1;
- unsigned int wrlvl_status;
- unsigned char res23[0x4];
- unsigned int ppcclockon;
- unsigned int perevconfig0;
- unsigned int perevconfig1;
- unsigned int perevconfig2;
- unsigned int perevconfig3;
- unsigned char res24[0xc];
- unsigned int control_io_rdata;
- unsigned char res240[0xc];
- unsigned int cacal_config0;
- unsigned int cacal_config1;
- unsigned int cacal_status;
- unsigned char res302[0xa4];
- unsigned int bp_control0;
- unsigned int bp_config0_r;
- unsigned int bp_config0_w;
- unsigned char res303[0x4];
- unsigned int bp_control1;
- unsigned int bp_config1_r;
- unsigned int bp_config1_w;
- unsigned char res304[0x4];
- unsigned int bp_control2;
- unsigned int bp_config2_r;
- unsigned int bp_config2_w;
- unsigned char res305[0x4];
- unsigned int bp_control3;
- unsigned int bp_config3_r;
- unsigned int bp_config3_w;
- unsigned char res306[0xddb4];
- unsigned int pmnc_ppc;
- unsigned char res25[0xc];
- unsigned int cntens_ppc;
- unsigned char res26[0xc];
- unsigned int cntenc_ppc;
- unsigned char res27[0xc];
- unsigned int intens_ppc;
- unsigned char res28[0xc];
- unsigned int intenc_ppc;
- unsigned char res29[0xc];
- unsigned int flag_ppc;
- unsigned char res30[0xac];
- unsigned int ccnt_ppc;
- unsigned char res31[0xc];
- unsigned int pmcnt0_ppc;
- unsigned char res32[0xc];
- unsigned int pmcnt1_ppc;
- unsigned char res33[0xc];
- unsigned int pmcnt2_ppc;
- unsigned char res34[0xc];
- unsigned int pmcnt3_ppc;
- };
- struct exynos5_phy_control {
- unsigned int phy_con0;
- unsigned int phy_con1;
- unsigned int phy_con2;
- unsigned int phy_con3;
- unsigned int phy_con4;
- unsigned char res1[4];
- unsigned int phy_con6;
- unsigned char res2[4];
- unsigned int phy_con8;
- unsigned int phy_con9;
- unsigned int phy_con10;
- unsigned char res3[4];
- unsigned int phy_con12;
- unsigned int phy_con13;
- unsigned int phy_con14;
- unsigned int phy_con15;
- unsigned int phy_con16;
- unsigned char res4[4];
- unsigned int phy_con17;
- unsigned int phy_con18;
- unsigned int phy_con19;
- unsigned int phy_con20;
- unsigned int phy_con21;
- unsigned int phy_con22;
- unsigned int phy_con23;
- unsigned int phy_con24;
- unsigned int phy_con25;
- unsigned int phy_con26;
- unsigned int phy_con27;
- unsigned int phy_con28;
- unsigned int phy_con29;
- unsigned int phy_con30;
- unsigned int phy_con31;
- unsigned int phy_con32;
- unsigned int phy_con33;
- unsigned int phy_con34;
- unsigned int phy_con35;
- unsigned int phy_con36;
- unsigned int phy_con37;
- unsigned int phy_con38;
- unsigned int phy_con39;
- unsigned int phy_con40;
- unsigned int phy_con41;
- unsigned int phy_con42;
- };
- struct exynos5420_phy_control {
- unsigned int phy_con0;
- unsigned int phy_con1;
- unsigned int phy_con2;
- unsigned int phy_con3;
- unsigned int phy_con4;
- unsigned int phy_con5;
- unsigned int phy_con6;
- unsigned char res2[0x4];
- unsigned int phy_con8;
- unsigned char res5[0x4];
- unsigned int phy_con10;
- unsigned int phy_con11;
- unsigned int phy_con12;
- unsigned int phy_con13;
- unsigned int phy_con14;
- unsigned int phy_con15;
- unsigned int phy_con16;
- unsigned char res4[0x4];
- unsigned int phy_con17;
- unsigned int phy_con18;
- unsigned int phy_con19;
- unsigned int phy_con20;
- unsigned int phy_con21;
- unsigned int phy_con22;
- unsigned int phy_con23;
- unsigned int phy_con24;
- unsigned int phy_con25;
- unsigned int phy_con26;
- unsigned int phy_con27;
- unsigned int phy_con28;
- unsigned int phy_con29;
- unsigned int phy_con30;
- unsigned int phy_con31;
- unsigned int phy_con32;
- unsigned int phy_con33;
- unsigned int phy_con34;
- unsigned char res6[0x8];
- unsigned int phy_con37;
- unsigned char res7[0x4];
- unsigned int phy_con39;
- unsigned int phy_con40;
- unsigned int phy_con41;
- unsigned int phy_con42;
- };
- struct exynos5420_tzasc {
- unsigned char res1[0xf00];
- unsigned int membaseconfig0;
- unsigned int membaseconfig1;
- unsigned char res2[0x8];
- unsigned int memconfig0;
- unsigned int memconfig1;
- };
- enum ddr_mode {
- DDR_MODE_DDR2,
- DDR_MODE_DDR3,
- DDR_MODE_LPDDR2,
- DDR_MODE_LPDDR3,
- DDR_MODE_COUNT,
- };
- enum mem_manuf {
- MEM_MANUF_AUTODETECT,
- MEM_MANUF_ELPIDA,
- MEM_MANUF_SAMSUNG,
- MEM_MANUF_COUNT,
- };
- /* CONCONTROL register fields */
- #define CONCONTROL_DFI_INIT_START_SHIFT 28
- #define CONCONTROL_RD_FETCH_SHIFT 12
- #define CONCONTROL_RD_FETCH_MASK (0x7 << CONCONTROL_RD_FETCH_SHIFT)
- #define CONCONTROL_AREF_EN_SHIFT 5
- /* PRECHCONFIG register field */
- #define PRECHCONFIG_TP_CNT_SHIFT 24
- /* PWRDNCONFIG register field */
- #define PWRDNCONFIG_DPWRDN_CYC_SHIFT 0
- #define PWRDNCONFIG_DSREF_CYC_SHIFT 16
- /* PHY_CON0 register fields */
- #define PHY_CON0_T_WRRDCMD_SHIFT 17
- #define PHY_CON0_T_WRRDCMD_MASK (0x7 << PHY_CON0_T_WRRDCMD_SHIFT)
- #define PHY_CON0_CTRL_DDR_MODE_SHIFT 11
- #define PHY_CON0_CTRL_DDR_MODE_MASK 0x3
- /* PHY_CON1 register fields */
- #define PHY_CON1_RDLVL_RDDATA_ADJ_SHIFT 0
- /* PHY_CON12 register fields */
- #define PHY_CON12_CTRL_START_POINT_SHIFT 24
- #define PHY_CON12_CTRL_INC_SHIFT 16
- #define PHY_CON12_CTRL_FORCE_SHIFT 8
- #define PHY_CON12_CTRL_START_SHIFT 6
- #define PHY_CON12_CTRL_START_MASK (1 << PHY_CON12_CTRL_START_SHIFT)
- #define PHY_CON12_CTRL_DLL_ON_SHIFT 5
- #define PHY_CON12_CTRL_DLL_ON_MASK (1 << PHY_CON12_CTRL_DLL_ON_SHIFT)
- #define PHY_CON12_CTRL_REF_SHIFT 1
- /* PHY_CON16 register fields */
- #define PHY_CON16_ZQ_MODE_DDS_SHIFT 24
- #define PHY_CON16_ZQ_MODE_DDS_MASK (0x7 << PHY_CON16_ZQ_MODE_DDS_SHIFT)
- #define PHY_CON16_ZQ_MODE_TERM_SHIFT 21
- #define PHY_CON16_ZQ_MODE_TERM_MASK (0x7 << PHY_CON16_ZQ_MODE_TERM_SHIFT)
- #define PHY_CON16_ZQ_MODE_NOTERM_MASK (1 << 19)
- /* PHY_CON42 register fields */
- #define PHY_CON42_CTRL_BSTLEN_SHIFT 8
- #define PHY_CON42_CTRL_BSTLEN_MASK (0xff << PHY_CON42_CTRL_BSTLEN_SHIFT)
- #define PHY_CON42_CTRL_RDLAT_SHIFT 0
- #define PHY_CON42_CTRL_RDLAT_MASK (0x1f << PHY_CON42_CTRL_RDLAT_SHIFT)
- #endif
- #endif
|