SDK : ti-processor-sdk-linux-rt-am57xx-evm-06.00.00.07
Using DDR : EM6HE16EWAKG-12IH
--------------------------------------------------------------------------------
The board is a custom board.
I can't boot after changing the AM5718's DDR memory.
The board.c file has been modified using the EMIF RegisterConfiguration.
Is there anything else I want to change?
--------------------------------------------------------------------------------
emif configuration data
| /* ========================================================================= | |||
| * Copyright (C) 2017 Texas Instruments Incorporated | |||
| * | |||
| * All rights reserved. Property of Texas Instruments Incorporated. | |||
| * Restricted rights to use, duplicate or disclose this code are | |||
| * granted through contract. | |||
| * | |||
| * The program may not be used without the written permission | |||
| * of Texas Instruments Incorporated or against the terms and conditions | |||
| * stipulated in the agreement under which this program has been | |||
| * supplied. | |||
| * ========================================================================= */ | |||
| /* | |||
| * AM571x_DDR3L_666MHz_TI_AM574x_EVM_config.c | |||
| * Created on: 12/12/2019 | |||
| * Created with: EMIF_RegisterConfig_v2.0.2 | |||
| */ | |||
| #include "emif4d5_wrapper.h" | |||
| const struct dpll_params AM571x_DDR3L_666MHz_TI_AM574x_EVM_pll_params = { | |||
| .m = 333, | |||
| .n = 4, | |||
| .m2 = 2, | |||
| .m4_h11 = 8 | |||
| }; | |||
| const struct ctrl_ioregs AM571x_DDR3L_666MHz_TI_AM574x_EVM_ctrl_ioregs = { | |||
| .ctrl_ddr3ch = 0x60606060, | |||
| .ctrl_ddrch = 0x40404040, | |||
| .ctrl_ddrio_0 = 0x00094A40, | |||
| .ctrl_ddrio_1 = 0x00000000, | |||
| .ctrl_emif_sdram_config_ext = 0x0001C123 | |||
| }; | |||
| const struct dmm_lisa_map_regs AM571x_DDR3L_666MHz_TI_AM574x_EVM_dmm_regs = { | |||
| .dmm_lisa_map_0 = 0x00000000, | |||
| .dmm_lisa_map_1 = 0x00000000, | |||
| .dmm_lisa_map_2 = 0x80600100, | |||
| .dmm_lisa_map_3 = 0xFF020100, | |||
| .is_ma_present = 0x1 | |||
| }; | |||
| const struct emif_regs AM571x_DDR3L_666MHz_TI_AM574x_EVM_emif_regs = { | |||
| .sdram_config_init = 0x61862B32, | |||
| .sdram_config = 0x61862B32, | |||
| .sdram_config2 = 0x00000000, | |||
| .ref_ctrl = 0x0000514D, | |||
| .ref_ctrl_final = 0x0000144A, | |||
| .sdram_tim1 = 0xD3337834, | |||
| .sdram_tim2 = 0x30B37FE3, | |||
| .sdram_tim3 = 0x409F8AD8, | |||
| .read_idle_ctrl = 0x00050000, | |||
| .zq_config = 0x5007190B, | |||
| .temp_alert_config = 0x00000000, | |||
| .emif_rd_wr_lvl_rmp_ctl = 0x80000000, | |||
| .emif_rd_wr_lvl_ctl = 0x00000000, | |||
| .emif_ddr_phy_ctlr_1_init = 0x0824400E, | |||
| .emif_ddr_phy_ctlr_1 = 0x0E24400E, | |||
| .emif_rd_wr_exec_thresh = 0x00000305, | |||
| .emif_ecc_ctrl_reg = 0xC0000001, | |||
| .emif_ecc_address_range_1 = 0x3FFF0000, | |||
| .emif_ecc_address_range_2 = 0x00000000, | |||
| }; | |||
| /* | |||
| * DLL Ratio Values are an estimate based on trace lengths. Either | |||
| * software leveling or hardware leveling should be performed to | |||
| * determine final DLL values. | |||
| */ | |||
| const unsigned int AM571x_DDR3L_666MHz_TI_AM574x_EVM_emif1_ext_phy_regs [] = { | |||
| 0x04040100, | // EMIF1_EXT_PHY_CTRL_1 | ||
| 0x006B006B, | // EMIF1_EXT_PHY_CTRL_2 | ||
| 0x006B006B, | // EMIF1_EXT_PHY_CTRL_3 | ||
| 0x006B006B, | // EMIF1_EXT_PHY_CTRL_4 | ||
| 0x006B006B, | // EMIF1_EXT_PHY_CTRL_5 | ||
| 0x006B006B, | // EMIF1_EXT_PHY_CTRL_6 | ||
| 0x002F002F, | // EMIF1_EXT_PHY_CTRL_7 | ||
| 0x002F002F, | // EMIF1_EXT_PHY_CTRL_8 | ||
| 0x002F002F, | // EMIF1_EXT_PHY_CTRL_9 | ||
| 0x002F002F, | // EMIF1_EXT_PHY_CTRL_10 | ||
| 0x002F002F, | // EMIF1_EXT_PHY_CTRL_11 | ||
| 0x00600060, | // EMIF1_EXT_PHY_CTRL_12 | ||
| 0x00600060, | // EMIF1_EXT_PHY_CTRL_13 | ||
| 0x00600060, | // EMIF1_EXT_PHY_CTRL_14 | ||
| 0x00600060, | // EMIF1_EXT_PHY_CTRL_15 | ||
| 0x00600060, | // EMIF1_EXT_PHY_CTRL_16 | ||
| 0x00400040, | // EMIF1_EXT_PHY_CTRL_17 | ||
| 0x00400040, | // EMIF1_EXT_PHY_CTRL_18 | ||
| 0x00400040, | // EMIF1_EXT_PHY_CTRL_19 | ||
| 0x00400040, | // EMIF1_EXT_PHY_CTRL_20 | ||
| 0x00400040, | // EMIF1_EXT_PHY_CTRL_21 | ||
| 0x00800080, | // EMIF1_EXT_PHY_CTRL_22 | ||
| 0x00800080, | // EMIF1_EXT_PHY_CTRL_23 | ||
| 0x40010080, | // EMIF1_EXT_PHY_CTRL_24 | ||
| 0x08102040, | // EMIF1_EXT_PHY_CTRL_25 | ||
| 0x00000000, | // EMIF1_EXT_PHY_CTRL_26 | ||
| 0x00000000, | // EMIF1_EXT_PHY_CTRL_27 | ||
| 0x00000000, | // EMIF1_EXT_PHY_CTRL_28 | ||
| 0x00000000, | // EMIF1_EXT_PHY_CTRL_29 | ||
| 0x00000000, | // EMIF1_EXT_PHY_CTRL_30 | ||
| 0x00000000, | // EMIF1_EXT_PHY_CTRL_31 | ||
| 0x00000000, | // EMIF1_EXT_PHY_CTRL_32 | ||
| 0x00000000, | // EMIF1_EXT_PHY_CTRL_33 | ||
| 0x00000000, | // EMIF1_EXT_PHY_CTRL_34 | ||
| 0x00000000, | // EMIF1_EXT_PHY_CTRL_35 | ||
| 0x00000077 | // EMIF1_EXT_PHY_CTRL_36 | ||
| }; | |||
| struct emif_cfg AM571x_DDR3L_666MHz_TI_AM574x_EVM = { | |||
| .platform = "AM571x_DDR3L_666MHz_TI_AM574x_EVM", | |||
| .EMIF2_DEFINED = 0, | |||
| .pll_regs = &AM571x_DDR3L_666MHz_TI_AM574x_EVM_pll_params, | |||
| .ctrl_regs = &AM571x_DDR3L_666MHz_TI_AM574x_EVM_ctrl_ioregs, | |||
| .dmm_regs = &AM571x_DDR3L_666MHz_TI_AM574x_EVM_dmm_regs, | |||
| .regs = &AM571x_DDR3L_666MHz_TI_AM574x_EVM_emif_regs, | |||
| .phy_regs1 = AM571x_DDR3L_666MHz_TI_AM574x_EVM_emif1_ext_phy_regs, | |||
| }; |