- CPU OC for Erista (does NOT work out of the box)
- DRAM Bus voltage for Erista - Mariko DRAM timing customization
This commit is contained in:
@@ -16,6 +16,162 @@
|
||||
* from GCC preprocessor output
|
||||
*/
|
||||
|
||||
struct MarikoCustomizedTable {
|
||||
struct {
|
||||
uint32_t emc_rc;
|
||||
uint32_t emc_rfc;
|
||||
uint32_t emc_rfcpb;
|
||||
uint32_t emc_ras;
|
||||
uint32_t emc_rp;
|
||||
uint32_t emc_r2w;
|
||||
uint32_t emc_w2r;
|
||||
uint32_t emc_r2p;
|
||||
uint32_t emc_w2p;
|
||||
uint32_t emc_trtm;
|
||||
uint32_t emc_twtm;
|
||||
uint32_t emc_tratm;
|
||||
uint32_t emc_twatm;
|
||||
uint32_t emc_rd_rcd;
|
||||
uint32_t emc_wr_rcd;
|
||||
uint32_t emc_rrd;
|
||||
uint32_t emc_wdv;
|
||||
uint32_t emc_wsv;
|
||||
uint32_t emc_wev;
|
||||
uint32_t emc_wdv_mask;
|
||||
uint32_t emc_quse;
|
||||
uint32_t emc_quse_width;
|
||||
uint32_t emc_ibdly;
|
||||
uint32_t emc_obdly;
|
||||
uint32_t emc_einput;
|
||||
uint32_t emc_einput_duration;
|
||||
uint32_t emc_qrst;
|
||||
uint32_t emc_qsafe;
|
||||
uint32_t emc_rdv;
|
||||
uint32_t emc_rdv_mask;
|
||||
uint32_t emc_rdv_early;
|
||||
uint32_t emc_rdv_early_mask;
|
||||
uint32_t emc_refresh;
|
||||
uint32_t emc_pre_refresh_req_cnt;
|
||||
uint32_t emc_pdex2wr;
|
||||
uint32_t emc_pdex2rd;
|
||||
uint32_t emc_act2pden;
|
||||
uint32_t emc_rw2pden;
|
||||
uint32_t emc_cke2pden;
|
||||
uint32_t emc_pdex2mrr;
|
||||
uint32_t emc_txsr;
|
||||
uint32_t emc_txsrdll;
|
||||
uint32_t emc_tcke;
|
||||
uint32_t emc_tckesr;
|
||||
uint32_t emc_tpd;
|
||||
uint32_t emc_tfaw;
|
||||
uint32_t emc_trpab;
|
||||
uint32_t emc_tclkstop;
|
||||
uint32_t emc_trefbw;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dq_rank1_4;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dq_rank1_5;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dqs_rank0_0;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dqs_rank0_1;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dqs_rank0_3;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dqs_rank0_4;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dqs_rank0_5;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dqs_rank1_0;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dqs_rank1_1;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dqs_rank1_3;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dqs_rank1_4;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dqs_rank1_5;
|
||||
uint32_t emc_pmacro_ddll_long_cmd_0;
|
||||
uint32_t emc_pmacro_ddll_long_cmd_1;
|
||||
uint32_t emc_pmacro_ddll_long_cmd_2;
|
||||
uint32_t emc_pmacro_ddll_long_cmd_3;
|
||||
uint32_t emc_pmacro_ddll_long_cmd_4;
|
||||
uint32_t emc_zcal_wait_cnt;
|
||||
uint32_t emc_mrs_wait_cnt;
|
||||
uint32_t emc_mrs_wait_cnt2;
|
||||
uint32_t emc_auto_cal_channel;
|
||||
uint32_t emc_pmacro_dll_cfg_2;
|
||||
uint32_t emc_pmacro_autocal_cfg_common;
|
||||
uint32_t emc_dyn_self_ref_control;
|
||||
uint32_t emc_qpop;
|
||||
uint32_t emc_pmacro_cmd_pad_tx_ctrl;
|
||||
uint32_t emc_tr_timing_0;
|
||||
uint32_t emc_tr_rdv;
|
||||
uint32_t emc_tr_qpop;
|
||||
uint32_t emc_tr_rdv_mask;
|
||||
uint32_t emc_tr_qsafe;
|
||||
uint32_t emc_tr_qrst;
|
||||
uint32_t emc_training_vref_settle;
|
||||
} common;
|
||||
|
||||
struct {
|
||||
uint32_t emc_pmacro_ob_ddll_long_dq_rank0_0;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dq_rank0_1;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dq_rank0_2;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dq_rank0_3;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dq_rank0_4;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dq_rank0_5;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dq_rank1_0;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dq_rank1_1;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dq_rank1_2;
|
||||
uint32_t emc_pmacro_ob_ddll_long_dq_rank1_3;
|
||||
} trim_regs;
|
||||
|
||||
struct {
|
||||
uint32_t rl;
|
||||
} dram_timings;
|
||||
|
||||
struct {
|
||||
uint32_t mc_emem_arb_cfg;
|
||||
uint32_t mc_emem_arb_timing_rcd;
|
||||
uint32_t mc_emem_arb_timing_rp;
|
||||
uint32_t mc_emem_arb_timing_rc;
|
||||
uint32_t mc_emem_arb_timing_ras;
|
||||
uint32_t mc_emem_arb_timing_faw;
|
||||
uint32_t mc_emem_arb_timing_wap2pre;
|
||||
uint32_t mc_emem_arb_timing_r2w;
|
||||
uint32_t mc_emem_arb_timing_w2r;
|
||||
uint32_t mc_emem_arb_timing_rfcpb;
|
||||
uint32_t mc_emem_arb_da_turns;
|
||||
uint32_t mc_emem_arb_da_covers;
|
||||
uint32_t mc_emem_arb_misc0;
|
||||
} burst_mc_regs;
|
||||
|
||||
struct {
|
||||
uint32_t mc_mll_mpcorer_ptsa_rate;
|
||||
uint32_t mc_ptsa_grant_decrement;
|
||||
uint32_t mc_latency_allowance_xusb_0;
|
||||
uint32_t mc_latency_allowance_xusb_1;
|
||||
uint32_t mc_latency_allowance_tsec_0;
|
||||
uint32_t mc_latency_allowance_sdmmca_0;
|
||||
uint32_t mc_latency_allowance_sdmmcaa_0;
|
||||
uint32_t mc_latency_allowance_sdmmc_0;
|
||||
uint32_t mc_latency_allowance_sdmmcab_0;
|
||||
uint32_t mc_latency_allowance_ppcs_1;
|
||||
uint32_t mc_latency_allowance_mpcore_0;
|
||||
uint32_t mc_latency_allowance_hc_0;
|
||||
uint32_t mc_latency_allowance_hc_1;
|
||||
uint32_t mc_latency_allowance_avpc_0;
|
||||
uint32_t mc_latency_allowance_gpu_0;
|
||||
uint32_t mc_latency_allowance_gpu2_0;
|
||||
uint32_t mc_latency_allowance_nvenc_0;
|
||||
uint32_t mc_latency_allowance_nvdec_0;
|
||||
uint32_t mc_latency_allowance_vic_0;
|
||||
uint32_t mc_latency_allowance_vi2_0;
|
||||
uint32_t mc_latency_allowance_isp2_1;
|
||||
} la_scale_regs;
|
||||
|
||||
uint32_t pllm_ss_ctrl1;
|
||||
uint32_t pllm_ss_ctrl2;
|
||||
uint32_t pllmb_ss_ctrl1;
|
||||
uint32_t pllmb_ss_ctrl2;
|
||||
uint32_t pllmb_divm;
|
||||
uint32_t pllmb_divn;
|
||||
uint32_t min_mrs_wait;
|
||||
uint32_t emc_mrw;
|
||||
uint32_t emc_mrw2;
|
||||
uint32_t emc_cfg_2;
|
||||
uint32_t latency;
|
||||
};
|
||||
|
||||
struct MarikoMtcTable {
|
||||
uint32_t rev;
|
||||
char dvfs_ver[60];
|
||||
@@ -2370,4 +2526,4 @@ struct EristaMtcTable {
|
||||
uint32_t latency;
|
||||
};
|
||||
|
||||
static_assert(sizeof(EristaMtcTable) == 0x1340);
|
||||
static_assert(sizeof(EristaMtcTable) == 0x1340);
|
||||
|
||||
Reference in New Issue
Block a user