This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM6548: uboot got Read DQS Gate training failed

Part Number: AM6548
Other Parts Discussed in Thread: TPS62360

Hi Ti,

We are trying to bringup our EVM board with ISSI 512MB DDR4.

However, we met "Read DQS Gate training failed" and uboot boot failed.

Log is as below:

SYSFW ABI: 3.1 (firmware rev 0x0014 '20.8.5--v2020.08b (Terrific Lla')
Reading on-board EEPROM at 0x50 failed 1
tps62360_regulator_set_value: 1090000
i2c_write: error waiting for data ACK (status=0x116)
Current ddr identify pin value: 0
read_dqs_training:ERROR: Read DQS Gate training failed
DRAM init failed: -22

resetting ...

U-Boot SPL 2020.01-dirty (Mar 03 2021 - 10:35:19 +0800)
SYSFW ABI: 3.1 (firmware rev 0x0014 '20.8.5--v2020.08b (Terrific Lla')
Reading on-board EEPROM at 0x50 failed 1
tps62360_regulator_set_value: 1090000
i2c_write: error waiting for data ACK (status=0x116)
Current ddr identify pin value: 0
read_dqs_training:ERROR: Read DQS Gate training failed
DRAM init failed: -22

resetting ...

Could you provide any hint how to solve this issue?

Thanks.

Eric

  • Eric,

    Is this your own PCB design or a TI EVM?

    Did you modify the configuration using this tool:

    AM65x/DRA80xM EMIF Tools (Rev. B)

    Thanks,

    Kyle

  • Hi 

    We use our EVM board to test. After we modify parameter of EMIF, the error message has been fixed.

    However, we still met some problem.

    There is only 512MB ddr on our evm board, and we got the error message "reserving fdt memory region failed (addr=9e800000 size=1800000)".

    I found the setting in dts file is related to this.

    reserved-memory {
    #address-cells = <2>;
    #size-cells = <2>;
    ranges;
    secure_ddr: secure_ddr@9e800000 {
    reg = <0 0x9e800000 0 0x01800000>; /* for OP-TEE */
    alignment = <0x1000>;
    no-map;
    };
    };

    I'm not sure if this is necessary.

    Could you let us know if this need to be modified?

    The log is as below.


    U-Boot SPL 2020.01-dirty (Mar 08 2021 - 13:56:23 +0800)
    SYSFW ABI: 3.1 (firmware rev 0x0014 '20.8.5--v2020.08b (Terrific Lla')
    Reading on-board EEPROM at 0x50 failed 1
    tps62360_regulator_set_value: 1090000
    i2c_write: error waiting for data ACK (status=0x116)
    am654_ddrss_ctrl_configuration: DDR controller register configuration started
    am654_ddrss_ctrl_configuration: DDR controller configuration completed
    am654_ddrss_phy_configuration: DDR phy register configuration completed
    Current ddr identify pin value: 0
    Trying to boot from MMC2
    tps62360_regulator_set_value: 1240000
    i2c_write: error waiting for data ACK (status=0x116)
    Starting ATF on ARM64 core...

    NOTICE: BL31: v2.3():07.01.00.004-1-g52c334fc3-dirty
    NOTICE: BL31: Built : 04:16:36, Nov 26 2020

    U-Boot SPL 2020.01-dirty (Mar 08 2021 - 13:54:36 +0800)
    SYSFW ABI: 3.1 (firmware rev 0x0014 '20.8.5--v2020.08b (Terrific Lla')
    Reading on-board EEPROM at 0x50 failed 1
    Trying to boot from MMC2


    U-Boot 2020.01-dirty (Mar 08 2021 - 13:54:36 +0800)

    SoC: AM65X SR2.0
    Model: Texas Instruments AM654 Base Board
    Reading on-board EEPROM at 0x50 failed 1
    Board: AM6-COMPROCEVM rev E3
    DRAM: 512 MiB
    MMC: sdhci@4f80000: 0, sdhci@4fa0000: 1
    Loading Environment from MMC... OK
    In: serial
    Out: serial
    Err: serial
    Reading on-board EEPROM at 0x50 failed 1
    Eric:board_late_init ...
    Eric:identify_pin_detect enter
    Eric: identify_pin_detect
    Eric: dm_gpio_is_valid error!!
    Net:
    Warning: ethernet@46000000 using MAC address from ROM
    eth0: ethernet@46000000
    Hit any key to stop autoboot: 0
    switch to partitions #0, OK
    mmc1 is current device
    SD/MMC found on device 1
    ERROR: reserving fdt memory region failed (addr=9e800000 size=1800000)
    13795336 bytes read in 586 ms (22.5 MiB/s)
    ERROR: reserving fdt memory region failed (addr=9e800000 size=1800000)
    65786 bytes read in 18 ms (3.5 MiB/s)
    ## Flattened Device Tree blob at 88000000
    Booting using the fdt blob at 0x88000000
    ERROR: reserving fdt memory region failed (addr=9e800000 size=1800000)
    Loading Device Tree to 000000008feec000, end 000000008fffffff ... OK

    Starting kernel ...

    [ 0.000000] 000: printk: bootconsole [ns16550a0] enabled
    [ 0.000000] 000: Reserved memory: created DMA memory pool at 0x00000000a0000000, size 1 MiB
    [ 0.000000] 000: OF: reserved mem: initialized node r5f-dma-memory@a0000000, compatible id shared-dma-pool
    [ 0.000000] 000: Reserved memory: created DMA memory pool at 0x00000000a0100000, size 15 MiB
    [ 0.000000] 000: OF: reserved mem: initialized node r5f-memory@a0100000, compatible id shared-dma-pool

    Thanks.

    Eric

  • Hi ,

    I tried the same setting 512MB ddr on Ti AM654 SR1.0 EVM board, and also get the error message below:

    ERROR: reserving fdt memory region failed (addr=9e800000 size=1800000)

    I didn't modify dts files and only modify evm.c to set the ram_size as 0x200000000.

    int dram_init(void)
    {
    #ifdef CONFIG_PHYS_64BIT
    gd->ram_size = 0x20000000;//ERIC*
    #else
    gd->ram_size = 0x80000000;
    #endif

    return 0;
    }

    int dram_init_banksize(void)
    {
    /* Bank 0 declares the memory available in the DDR low region */
    gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
    gd->bd->bi_dram[0].size = 0x20000000;
    gd->ram_size = 0x20000000;

    #if 0//def CONFIG_PHYS_64BIT
    /* Bank 1 declares the memory available in the DDR high region */
    gd->bd->bi_dram[1].start = CONFIG_SYS_SDRAM_BASE1;
    gd->bd->bi_dram[1].size = 0x80000000;
    gd->ram_size = 0x100000000;
    #endif

    return 0;
    }

    Could you help to check this?

    Thanks.