writel_relaxed(val, base);
if (para->type == SUNXI_DRAM_TYPE_LPDDR4) {
- if (para->tpr3 & 0x1f1f1f1f)
- val = (para->tpr3 >> (i * 8)) & 0x1f;
+ if (para->tpr1 & 0x1f1f1f1f)
+ val = (para->tpr1 >> (i * 8)) & 0x1f;
else
val = 4;
}
u32 *ptr;
if (para->tpr10 & BIT(31)) {
- val = para->tpr2;
+ val = para->tpr0;
} else {
val = ((para->tpr10 << 1) & 0x1e) |
((para->tpr10 << 5) & 0x1e00) |
mctl_mr_write_lpddr4(12, para->mr12);
mctl_mr_write_lpddr4(13, para->mr13);
mctl_mr_write_lpddr4(14, para->mr14);
- mctl_mr_write_lpddr4(22, para->tpr1);
+ mctl_mr_write_lpddr4(22, para->mr22);
break;
}
#elif defined(CONFIG_SUNXI_DRAM_LPDDR4)
.type = SUNXI_DRAM_TYPE_LPDDR4,
#endif
- /* TODO: Populate from config */
.dx_odt = CONFIG_DRAM_SUNXI_DX_ODT,
.dx_dri = CONFIG_DRAM_SUNXI_DX_DRI,
.ca_dri = CONFIG_DRAM_SUNXI_CA_DRI,
.mr12 = CONFIG_DRAM_SUNXI_MR12,
.mr13 = CONFIG_DRAM_SUNXI_MR13,
.mr14 = CONFIG_DRAM_SUNXI_MR14,
+ .mr22 = CONFIG_DRAM_SUNXI_MR22,
+ .tpr0 = CONFIG_DRAM_SUNXI_TPR0,
.tpr1 = CONFIG_DRAM_SUNXI_TPR1,
.tpr2 = CONFIG_DRAM_SUNXI_TPR2,
- .tpr3 = CONFIG_DRAM_SUNXI_TPR3,
.tpr6 = CONFIG_DRAM_SUNXI_TPR6,
.tpr10 = CONFIG_DRAM_SUNXI_TPR10,
.tpr11 = CONFIG_DRAM_SUNXI_TPR11,
CONFIG_DRAM_SUNXI_MR11=0x4
CONFIG_DRAM_SUNXI_MR12=0x72
CONFIG_DRAM_SUNXI_MR14=0x7
-CONFIG_DRAM_SUNXI_TPR1=0x26
-CONFIG_DRAM_SUNXI_TPR2=0x6060606
-CONFIG_DRAM_SUNXI_TPR3=0x84040404
+CONFIG_DRAM_SUNXI_MR22=0x26
+CONFIG_DRAM_SUNXI_TPR0=0x6060606
+CONFIG_DRAM_SUNXI_TPR1=0x84040404
CONFIG_DRAM_SUNXI_TPR6=0x48000000
CONFIG_DRAM_SUNXI_TPR10=0x273333
CONFIG_DRAM_SUNXI_TPR11=0x231d151c