diff options
Diffstat (limited to 'board/ti/am57xx')
-rw-r--r-- | board/ti/am57xx/board.c | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c index 7e7056cf71..3d15cb1dbf 100644 --- a/board/ti/am57xx/board.c +++ b/board/ti/am57xx/board.c @@ -223,11 +223,39 @@ static const u32 beagle_x15_emif2_ddr3_ext_phy_ctrl_const_regs[] = { 0x0 }; +static const struct emif_regs am571x_emif1_ddr3_666mhz_emif_regs = { + .sdram_config_init = 0x61863332, + .sdram_config = 0x61863332, + .sdram_config2 = 0x08000000, + .ref_ctrl = 0x0000514d, + .ref_ctrl_final = 0x0000144a, + .sdram_tim1 = 0xd333887c, + .sdram_tim2 = 0x40b37fe3, + .sdram_tim3 = 0x409f8ada, + .read_idle_ctrl = 0x00050000, + .zq_config = 0x5007190b, + .temp_alert_config = 0x00000000, + .emif_ddr_phy_ctlr_1_init = 0x0024400f, + .emif_ddr_phy_ctlr_1 = 0x0e24400f, + .emif_ddr_ext_phy_ctrl_1 = 0x10040100, + .emif_ddr_ext_phy_ctrl_2 = 0x00910091, + .emif_ddr_ext_phy_ctrl_3 = 0x00950095, + .emif_ddr_ext_phy_ctrl_4 = 0x009b009b, + .emif_ddr_ext_phy_ctrl_5 = 0x009e009e, + .emif_rd_wr_lvl_rmp_win = 0x00000000, + .emif_rd_wr_lvl_rmp_ctl = 0x80000000, + .emif_rd_wr_lvl_ctl = 0x00000000, + .emif_rd_wr_exec_thresh = 0x00000305 +}; + void emif_get_reg_dump(u32 emif_nr, const struct emif_regs **regs) { switch (emif_nr) { case 1: - *regs = &beagle_x15_emif1_ddr3_532mhz_emif_regs; + if (board_is_am571x_idk()) + *regs = &am571x_emif1_ddr3_666mhz_emif_regs; + else + *regs = &beagle_x15_emif1_ddr3_532mhz_emif_regs; break; case 2: *regs = &beagle_x15_emif2_ddr3_532mhz_emif_regs; @@ -513,7 +541,10 @@ void vcores_init(void) void hw_data_init(void) { *prcm = &dra7xx_prcm; - *dplls_data = &dra7xx_dplls; + if (is_dra72x()) + *dplls_data = &dra72x_dplls; + else + *dplls_data = &dra7xx_dplls; *ctrl = &dra7xx_ctrl; } |